Skip to content

Commit 4a0cd00

Browse files
committed
Merge remote-tracking branch 'origin/main' into feat-ai-sre-sync-test
2 parents 05d2424 + 054129e commit 4a0cd00

140 files changed

Lines changed: 69807 additions & 55267 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/api-review/mapping.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ modules:
6868
providers: [event]
6969
repos:
7070
- name: fc-event
71-
paths: [cmd/server/controller/incident, logic/incident, model/incident, structs]
71+
paths: [cmd/server/controller/incident, cmd/server/controller/post_incident, logic/incident, logic/post_incident, model/incident, model/post_incident, structs]
7272
# 3-level sidebar. Each subgroup is matched by path_prefixes in order;
7373
# the first subgroup whose prefix matches wins. Operations not matched by
7474
# any subgroup trigger a generator warning.

api-reference/monitors.openapi.en.json

Lines changed: 50 additions & 236 deletions
Large diffs are not rendered by default.

api-reference/monitors.openapi.zh.json

Lines changed: 50 additions & 236 deletions
Large diffs are not rendered by default.

api-reference/on-call.openapi.en.json

Lines changed: 12953 additions & 10134 deletions
Large diffs are not rendered by default.

api-reference/on-call.openapi.zh.json

Lines changed: 12922 additions & 10103 deletions
Large diffs are not rendered by default.

api-reference/openapi.en.json

Lines changed: 19603 additions & 16924 deletions
Large diffs are not rendered by default.

api-reference/openapi.zh.json

Lines changed: 19556 additions & 16877 deletions
Large diffs are not rendered by default.

api-reference/platform.openapi.en.json

Lines changed: 90 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1140,12 +1140,12 @@
11401140
"post": {
11411141
"operationId": "memberResetInfo",
11421142
"summary": "Reset member info",
1143-
"description": "Batch-update multiple profile fields of the current member.",
1143+
"description": "Identify a member and reset the specified profile fields.",
11441144
"tags": [
11451145
"Platform/Members"
11461146
],
11471147
"x-mint": {
1148-
"content": "## Restrictions\n\n| Aspect | Value |\n| ------ | ----- |\n| Rate limits | **1,000 requests/minute**; **50 requests/second** per account |\n| Permissions | None — any valid `app_key` can call this operation |",
1148+
"content": "## Restrictions\n\n| Aspect | Value |\n| ------ | ----- |\n| Rate limits | **300 requests/minute**; **20 requests/second** per account |\n| Permissions | None — any valid `app_key` can call this operation |\n\n## Usage\n\n- Identify the member with one of `member_id`, `member_name`, `email`, `phone`, or `ref_id`. If multiple identifiers are present, the server checks them in that order.\n- When identifying or updating a member by `phone`, include `country_code` when the number needs country-specific parsing.\n- Put the profile fields to write under `updates`: `member_name`, `password`, `phone`, `country_code`, `email`, `avatar`, `locale`, `time_zone`, or `ref_id`.\n- Members provisioned by SSO cannot be changed when SSO marks them as externally managed.",
11491149
"href": "/en/api-reference/platform/members/member-reset-info",
11501150
"metadata": {
11511151
"sidebarTitle": "Reset member info"
@@ -1200,9 +1200,11 @@
12001200
},
12011201
"example": {
12021202
"member_id": 2476444212131,
1203-
"member_name": "Alice",
1204-
"locale": "zh-CN",
1205-
"time_zone": "Asia/Shanghai"
1203+
"updates": {
1204+
"member_name": "Alice Chen",
1205+
"locale": "zh-CN",
1206+
"time_zone": "Asia/Shanghai"
1207+
}
12061208
}
12071209
}
12081210
}
@@ -3122,70 +3124,114 @@
31223124
},
31233125
"MemberResetInfoRequest": {
31243126
"type": "object",
3125-
"description": "Reset member info request",
3127+
"description": "Reset member info request. Top-level fields identify the member, and updates contains the profile fields to write.",
31263128
"required": [
3127-
"member_id"
3129+
"updates"
3130+
],
3131+
"anyOf": [
3132+
{
3133+
"required": [
3134+
"member_id"
3135+
]
3136+
},
3137+
{
3138+
"required": [
3139+
"member_name"
3140+
]
3141+
},
3142+
{
3143+
"required": [
3144+
"email"
3145+
]
3146+
},
3147+
{
3148+
"required": [
3149+
"phone"
3150+
]
3151+
},
3152+
{
3153+
"required": [
3154+
"ref_id"
3155+
]
3156+
}
31283157
],
31293158
"properties": {
31303159
"member_id": {
31313160
"type": "integer",
31323161
"format": "uint64",
3133-
"description": "Member ID of the member to update"
3162+
"description": "Member ID used to identify the member."
31343163
},
31353164
"member_name": {
3136-
"type": [
3137-
"string",
3138-
"null"
3139-
],
3165+
"type": "string",
3166+
"description": "Member name used to identify the member."
3167+
},
3168+
"email": {
3169+
"type": "string",
3170+
"description": "Email address used to identify the member."
3171+
},
3172+
"phone": {
3173+
"type": "string",
3174+
"description": "Phone number used to identify the member. Include country_code when the number is not in E.164 format."
3175+
},
3176+
"country_code": {
3177+
"type": "string",
3178+
"description": "Country or region code used to parse phone."
3179+
},
3180+
"ref_id": {
3181+
"type": "string",
3182+
"description": "External reference ID used to identify the member."
3183+
},
3184+
"updates": {
3185+
"$ref": "#/components/schemas/MemberResetInfoUpdates"
3186+
}
3187+
}
3188+
},
3189+
"MemberResetInfoUpdates": {
3190+
"type": "object",
3191+
"description": "Member profile fields to write. Omitted fields remain unchanged.",
3192+
"properties": {
3193+
"member_name": {
3194+
"type": "string",
31403195
"minLength": 2,
31413196
"maxLength": 39,
3142-
"description": "Display name"
3197+
"description": "New display name."
31433198
},
3144-
"email": {
3145-
"type": [
3146-
"string",
3147-
"null"
3148-
],
3149-
"description": "Email address"
3199+
"password": {
3200+
"type": "string",
3201+
"description": "New login password in the encrypted format accepted by the backend."
31503202
},
31513203
"phone": {
3152-
"type": [
3153-
"string",
3154-
"null"
3155-
],
3156-
"description": "Phone number"
3204+
"type": "string",
3205+
"description": "New phone number. Include country_code when the number is not in E.164 format."
31573206
},
31583207
"country_code": {
3159-
"type": [
3160-
"string",
3161-
"null"
3162-
],
3163-
"description": "Country code"
3208+
"type": "string",
3209+
"description": "Country or region code for the new phone number."
3210+
},
3211+
"email": {
3212+
"type": "string",
3213+
"description": "New email address."
31643214
},
31653215
"avatar": {
3166-
"type": [
3167-
"string",
3168-
"null"
3169-
],
3170-
"description": "Avatar URL"
3216+
"type": "string",
3217+
"maxLength": 499,
3218+
"description": "New avatar URL."
31713219
},
31723220
"locale": {
3173-
"type": [
3174-
"string",
3175-
"null"
3176-
],
3221+
"type": "string",
31773222
"enum": [
31783223
"zh-CN",
31793224
"en-US"
31803225
],
3181-
"description": "Locale"
3226+
"description": "New locale preference."
31823227
},
31833228
"time_zone": {
3184-
"type": [
3185-
"string",
3186-
"null"
3187-
],
3188-
"description": "Time zone"
3229+
"type": "string",
3230+
"description": "New IANA time zone name, such as Asia/Shanghai."
3231+
},
3232+
"ref_id": {
3233+
"type": "string",
3234+
"description": "New external reference ID."
31893235
}
31903236
}
31913237
},

api-reference/platform.openapi.zh.json

Lines changed: 90 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1140,12 +1140,12 @@
11401140
"post": {
11411141
"operationId": "memberResetInfo",
11421142
"summary": "重置成员信息",
1143-
"description": "批量更新当前成员的多个资料字段",
1143+
"description": "通过成员标识定位成员,并重置指定资料字段",
11441144
"tags": [
11451145
"平台/成员管理"
11461146
],
11471147
"x-mint": {
1148-
"content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **1,000 次/分钟**;**50 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |",
1148+
"content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **300 次/分钟**;**20 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- 使用 `member_id`、`member_name`、`email`、`phone` 或 `ref_id` 中任一字段定位成员;如果同时传多个字段,服务端按上述顺序匹配。\n- 使用 `phone` 定位或更新手机号时,可同时传 `country_code` 辅助解析。\n- `updates` 承载要写入的新资料,支持 `member_name`、`password`、`phone`、`country_code`、`email`、`avatar`、`locale`、`time_zone`、`ref_id`。\n- 由 SSO 托管且不可编辑的成员不能通过此接口修改。",
11491149
"href": "/zh/api-reference/platform/members/member-reset-info",
11501150
"metadata": {
11511151
"sidebarTitle": "重置成员信息"
@@ -1200,9 +1200,11 @@
12001200
},
12011201
"example": {
12021202
"member_id": 2476444212131,
1203-
"member_name": "Alice",
1204-
"locale": "zh-CN",
1205-
"time_zone": "Asia/Shanghai"
1203+
"updates": {
1204+
"member_name": "Alice Chen",
1205+
"locale": "zh-CN",
1206+
"time_zone": "Asia/Shanghai"
1207+
}
12061208
}
12071209
}
12081210
}
@@ -3122,70 +3124,114 @@
31223124
},
31233125
"MemberResetInfoRequest": {
31243126
"type": "object",
3125-
"description": "重置成员信息请求",
3127+
"description": "重置成员信息请求。外层字段用于定位成员,updates 用于传入要写入的新资料。",
31263128
"required": [
3127-
"member_id"
3129+
"updates"
3130+
],
3131+
"anyOf": [
3132+
{
3133+
"required": [
3134+
"member_id"
3135+
]
3136+
},
3137+
{
3138+
"required": [
3139+
"member_name"
3140+
]
3141+
},
3142+
{
3143+
"required": [
3144+
"email"
3145+
]
3146+
},
3147+
{
3148+
"required": [
3149+
"phone"
3150+
]
3151+
},
3152+
{
3153+
"required": [
3154+
"ref_id"
3155+
]
3156+
}
31283157
],
31293158
"properties": {
31303159
"member_id": {
31313160
"type": "integer",
31323161
"format": "uint64",
3133-
"description": "要更新的成员 ID"
3162+
"description": "用于定位成员的成员 ID"
31343163
},
31353164
"member_name": {
3136-
"type": [
3137-
"string",
3138-
"null"
3139-
],
3165+
"type": "string",
3166+
"description": "用于定位成员的成员名称。"
3167+
},
3168+
"email": {
3169+
"type": "string",
3170+
"description": "用于定位成员的邮箱地址。"
3171+
},
3172+
"phone": {
3173+
"type": "string",
3174+
"description": "用于定位成员的手机号;如不是 E.164 格式,可同时传 country_code。"
3175+
},
3176+
"country_code": {
3177+
"type": "string",
3178+
"description": "手机号对应的国家或地区区号,用于解析 phone。"
3179+
},
3180+
"ref_id": {
3181+
"type": "string",
3182+
"description": "用于定位成员的外部引用 ID。"
3183+
},
3184+
"updates": {
3185+
"$ref": "#/components/schemas/MemberResetInfoUpdates"
3186+
}
3187+
}
3188+
},
3189+
"MemberResetInfoUpdates": {
3190+
"type": "object",
3191+
"description": "要写入的成员资料字段。未传的字段保持不变。",
3192+
"properties": {
3193+
"member_name": {
3194+
"type": "string",
31403195
"minLength": 2,
31413196
"maxLength": 39,
3142-
"description": "显示名称"
3197+
"description": "新的显示名称。"
31433198
},
3144-
"email": {
3145-
"type": [
3146-
"string",
3147-
"null"
3148-
],
3149-
"description": "邮箱地址"
3199+
"password": {
3200+
"type": "string",
3201+
"description": "按前端加密格式传入的新登录密码。"
31503202
},
31513203
"phone": {
3152-
"type": [
3153-
"string",
3154-
"null"
3155-
],
3156-
"description": "手机号"
3204+
"type": "string",
3205+
"description": "新的手机号;如不是 E.164 格式,可同时传 country_code。"
31573206
},
31583207
"country_code": {
3159-
"type": [
3160-
"string",
3161-
"null"
3162-
],
3163-
"description": "国家区号"
3208+
"type": "string",
3209+
"description": "新手机号对应的国家或地区区号。"
3210+
},
3211+
"email": {
3212+
"type": "string",
3213+
"description": "新的邮箱地址。"
31643214
},
31653215
"avatar": {
3166-
"type": [
3167-
"string",
3168-
"null"
3169-
],
3170-
"description": "头像 URL"
3216+
"type": "string",
3217+
"maxLength": 499,
3218+
"description": "新的头像 URL。"
31713219
},
31723220
"locale": {
3173-
"type": [
3174-
"string",
3175-
"null"
3176-
],
3221+
"type": "string",
31773222
"enum": [
31783223
"zh-CN",
31793224
"en-US"
31803225
],
3181-
"description": "语言"
3226+
"description": "新的语言偏好。"
31823227
},
31833228
"time_zone": {
3184-
"type": [
3185-
"string",
3186-
"null"
3187-
],
3188-
"description": "时区"
3229+
"type": "string",
3230+
"description": "新的 IANA 时区名称,例如 Asia/Shanghai。"
3231+
},
3232+
"ref_id": {
3233+
"type": "string",
3234+
"description": "新的外部引用 ID。"
31893235
}
31903236
}
31913237
},

api-reference/safari.openapi.en.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -657,7 +657,7 @@
657657
}
658658
],
659659
"x-mint": {
660-
"content": "## Restrictions\n\n| Aspect | Value |\n| ------ | ----- |\n| Rate limits | **300 requests/minute**; **20 requests/second** per account |\n| Permissions | Valid `app_key`; management operations require the caller to manage the target rule |\n\n## Usage\n\n- A caller may create personal rules and rules for any team in the current account; `team_id` is immutable after creation.\n- `cron_expr` is evaluated in `timezone` if provided, else the caller's member timezone, else the account timezone, else UTC.\n- `http_post_trigger_enabled=true` creates and enables an HTTP POST trigger; the response's `http_post_token` is a one-time value returned only on creation — save it immediately.\n- `oncall_incident_trigger_enabled=true` requires at least one `oncall_incident_channel_ids` entry and one `oncall_incident_severities` value; matching incidents run with `trigger_kind=oncall_incident`.\n- Every call is recorded in the account audit log.\n",
660+
"content": "## Restrictions\n\n| Aspect | Value |\n| ------ | ----- |\n| Rate limits | **300 requests/minute**; **20 requests/second** per account |\n| Permissions | Valid `app_key`; management operations require the caller to manage the target rule |\n\n## Usage\n\n- A caller may create personal rules and rules for any team in the current account; `team_id` is immutable after creation.\n- `cron_expr` is evaluated in `timezone` if provided, else the caller's member timezone, else the account timezone, else the server default (Asia/Shanghai).\n- `http_post_trigger_enabled=true` creates and enables an HTTP POST trigger; the response's `http_post_token` is a one-time value returned only on creation — save it immediately.\n- `oncall_incident_trigger_enabled=true` requires at least one `oncall_incident_channel_ids` entry and one `oncall_incident_severities` value; matching incidents run with `trigger_kind=oncall_incident`.\n- Every call is recorded in the account audit log.\n",
661661
"href": "/en/api-reference/ai-sre/automations/automation-rule-write-create",
662662
"metadata": {
663663
"sidebarTitle": "Create Automation rule"
@@ -3807,7 +3807,7 @@
38073807
},
38083808
"timezone": {
38093809
"type": "string",
3810-
"description": "IANA timezone `cron_expr` is evaluated in, e.g. `Asia/Shanghai`. Must be a timezone name loadable by the server; an invalid value is rejected. Defaults to the caller's member timezone, then the account timezone, then UTC when omitted."
3810+
"description": "IANA timezone `cron_expr` is evaluated in, e.g. `Asia/Shanghai`. Must be a timezone name loadable by the server; an invalid value is rejected. Defaults to the caller's member timezone, then the account timezone, then the server default (Asia/Shanghai) when omitted."
38113811
},
38123812
"schedule_trigger_enabled": {
38133813
"type": [

0 commit comments

Comments
 (0)