openxiangda 2.0.0-alpha.113 → 2.0.0-alpha.114

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -94,3 +94,17 @@ CLI 的 `--json` 输出单个 `openxiangda.cli-result/v2` 对象;失败包含
94
94
  `OPENXIANGDA_CONFIGURATION_VALIDATOR_MISMATCH` 表示工具链与平台的校验实现不配套,应按发布说明升级对应版本;它会在构建、镜像推送和制品上传前出现。模型类型不能原地替换时,按提示设计新字段及数据转换;必需密钥缺失时配置目标环境后继续,不修改源码伪装问题已解决。
95
95
 
96
96
  MCP 的 check_app、deployment_plan、deploy_app 使用与 CLI 相同的环境与生产晋级参数规则。完整参数以[CLI](./reference/cli.md)与[MCP](./reference/mcp.md)为准。
97
+
98
+ ## 构建前运行配额
99
+
100
+ `deploy --dry-run`(MCP `deployment_plan`)会只读查询目标 TEST 的运行配额,输出 `runtimeCapacity` 的核验时间、所需增量、各配额剩余量和缺口。`sufficient: false` 表示当前不足;`null` 表示无需新增或未核验,必须结合 `basis` 与 `capacity.checked` 阅读。专用命名空间未检查不能当成资源充足。
101
+
102
+ 正式 deploy 在检查脚本和镜像构建前预检;平台缺少配套能力或无法核验时明确停止。配额快照不预留资源,实际执行再次检查。已有可验证密封候选会携带摘要和幂等键,平台识别 `existing-run` 时返回原运行,不把它当作新副本;观察或恢复原运行使用 status/retry。不要为绕过配额创建新包或切换目标环境。
103
+
104
+ ## TEST 单副本维护替换
105
+
106
+ 平台配额只允许一个后端副本时,可显式选择维护替换。它会停止当前 TEST 后端,期间应用不可用;成功后激活新版本,失败时由原 DeploymentRun 恢复旧后端。恢复尚未完成时继续占用原运行,status/logs 显示恢复阶段与首个失败,不允许用新部署或取消跳过恢复。
107
+
108
+ 先运行 `openxiangda deploy --environment test --strategy maintenance-replace --dry-run --json` 查看前驱版本、Head revision 和停止后的容量估算,再使用相同参数去掉 `--dry-run` 提交。计划不预留资源。只有已存在、身份匹配的单副本 TEST 后端才可使用;前端应用、新应用和 production 不支持。默认仍为 rolling,不会因配额不足自动停止实例。
109
+
110
+ 策略属于部署幂等请求。默认维护幂等键含策略,显式幂等键不能在不同策略之间复用。已有运行通过 status/retry 恢复;持续恢复中的运行保持 preparing/maintenance-recovery-required,平台会重试恢复,恢复失败时保留原运行与错误。
@@ -11,10 +11,10 @@ OpenXiangda 2.0 默认生成 React 应用和共享契约。普通 CRUD、标准
11
11
  以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
12
12
 
13
13
  ```bash
14
- pnpm dlx openxiangda@2.0.0-alpha.113 skill install --force
15
- pnpm dlx openxiangda@2.0.0-alpha.113 auth status --base-url <平台地址> --json
16
- pnpm dlx openxiangda@2.0.0-alpha.113 login --base-url https://platform.example.com
17
- pnpm dlx openxiangda@2.0.0-alpha.113 create my-app --base-url https://platform.example.com
14
+ pnpm dlx openxiangda@2.0.0-alpha.114 skill install --force
15
+ pnpm dlx openxiangda@2.0.0-alpha.114 auth status --base-url <平台地址> --json
16
+ pnpm dlx openxiangda@2.0.0-alpha.114 login --base-url https://platform.example.com
17
+ pnpm dlx openxiangda@2.0.0-alpha.114 create my-app --base-url https://platform.example.com
18
18
  cd my-app
19
19
  pnpm openxiangda context --json
20
20
  pnpm openxiangda dev
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "schemaVersion": "openxiangda.documentation/v1",
3
- "version": "2.0.0-alpha.113",
3
+ "version": "2.0.0-alpha.114",
4
4
  "topics": [
5
5
  {
6
6
  "id": "getting-started",
7
7
  "title": "安装与开始开发",
8
8
  "file": "getting-started.md",
9
- "sha256": "95743ccb011932f26c7e3124ecbbcbfac60bdadd03eae16a2913e09be454f29d"
9
+ "sha256": "125d4591cc2242615004e3ba09769f56ece6e68f0fc2fab5619116436b9c7271"
10
10
  },
11
11
  {
12
12
  "id": "product-design",
@@ -96,7 +96,7 @@
96
96
  "id": "delivery",
97
97
  "title": "部署、生产晋级与恢复",
98
98
  "file": "delivery.md",
99
- "sha256": "e4a9baccef3636a68db3f1930832fdd7be445cfa8641a73d8c7e555c124a5d46"
99
+ "sha256": "361cf6a12a27155647d863b2ac39aeb57b6e6b5454ced6c13d3540891202a4fc"
100
100
  },
101
101
  {
102
102
  "id": "upgrading",
@@ -114,7 +114,7 @@
114
114
  "id": "mcp",
115
115
  "title": "MCP 配置与工具参考",
116
116
  "file": "reference/mcp.md",
117
- "sha256": "2bbe7a00a054af3914c6eee3f0e46b4ec25b03fd38e875c29d545b05412bd772"
117
+ "sha256": "063f4c07f28b7d8d3c0e132d9922ac182d23f28fde1d5e91adaf6015edc17b19"
118
118
  }
119
119
  ]
120
120
  }
@@ -304,7 +304,7 @@ MCP 使用项目锁定的根包;在客户端配置下列 stdio 启动参数,
304
304
 
305
305
  ## deployment_plan
306
306
 
307
- 预览应用发布。只读预览测试部署或指定测试版本的生产晋级,不构建、上传或提交运行。
307
+ 预览应用发布。只读预览测试部署的运行配额,或指定测试版本的生产晋级;返回容量与缺口,不构建、上传或提交运行。
308
308
 
309
309
  - 只读:是
310
310
  - 可替换文件或改变远端状态:否
@@ -331,6 +331,14 @@ MCP 使用项目锁定的根包;在客户端配置下列 stdio 启动参数,
331
331
  "type": "string",
332
332
  "minLength": 1
333
333
  },
334
+ "deploymentStrategy": {
335
+ "description": "仅 TEST;显式 maintenance-replace 允许停机替换并由平台处理失败恢复,默认 rolling",
336
+ "type": "string",
337
+ "enum": [
338
+ "rolling",
339
+ "maintenance-replace"
340
+ ]
341
+ },
334
342
  "environmentId": {
335
343
  "description": "测试环境 ID,通常由平台绑定确定",
336
344
  "type": "string"
@@ -464,6 +472,14 @@ MCP 使用项目锁定的根包;在客户端配置下列 stdio 启动参数,
464
472
  "type": "string",
465
473
  "minLength": 1
466
474
  },
475
+ "deploymentStrategy": {
476
+ "description": "仅 TEST;显式 maintenance-replace 允许停机替换并由平台处理失败恢复,默认 rolling",
477
+ "type": "string",
478
+ "enum": [
479
+ "rolling",
480
+ "maintenance-replace"
481
+ ]
482
+ },
467
483
  "environmentId": {
468
484
  "description": "测试环境 ID,通常由平台绑定确定",
469
485
  "type": "string"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openxiangda",
3
- "version": "2.0.0-alpha.113",
3
+ "version": "2.0.0-alpha.114",
4
4
  "description": "OpenXiangda 2.0 的统一命令、应用 SDK、MCP 与中文 AI 技能资料。",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -56,12 +56,12 @@
56
56
  "antd-mobile": "5.42.3",
57
57
  "dayjs": "1.11.18",
58
58
  "docx-preview": "0.3.7",
59
- "openxiangda-cli": "2.0.0-alpha.186",
60
- "openxiangda-contracts": "2.0.0-alpha.94",
61
- "openxiangda-devkit-core": "2.0.0-alpha.121",
62
- "openxiangda-mcp": "2.0.0-alpha.121",
63
- "openxiangda-nest": "2.0.0-alpha.106",
64
- "openxiangda-skill-kit": "2.0.0-alpha.147",
59
+ "openxiangda-cli": "2.0.0-alpha.187",
60
+ "openxiangda-contracts": "2.0.0-alpha.95",
61
+ "openxiangda-devkit-core": "2.0.0-alpha.122",
62
+ "openxiangda-mcp": "2.0.0-alpha.122",
63
+ "openxiangda-nest": "2.0.0-alpha.107",
64
+ "openxiangda-skill-kit": "2.0.0-alpha.148",
65
65
  "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
66
66
  },
67
67
  "peerDependencies": {
@@ -4,7 +4,7 @@
4
4
  {
5
5
  "name": "openxiangda-v2",
6
6
  "description": "使用 OpenXiangda 2.0 从模糊业务想法、已有资料或具体变更出发,通过对话发现模块、完成详细产品设计,再开发、检查和交付应用。维护 1.x 应用时使用对应的 1.x 技能。",
7
- "sha256": "7979f838e218face6a20977761fbf1849e99eac155540714f65352df26eb8f66"
7
+ "sha256": "5174f61b1e25d7a30a5eb29260d22ff65c17282a52be7b3af9b5db14b6dfda18"
8
8
  }
9
9
  ]
10
10
  }
@@ -16,10 +16,10 @@ description: 使用 OpenXiangda 2.0 从模糊业务想法、已有资料或具
16
16
  未创建工作区时使用本 Skill 随根包发布的精确版本:
17
17
 
18
18
  ```bash
19
- pnpm dlx openxiangda@2.0.0-alpha.113 auth status --base-url <平台地址> --json
20
- pnpm dlx openxiangda@2.0.0-alpha.113 login --base-url <平台地址>
21
- pnpm dlx openxiangda@2.0.0-alpha.113 create <应用目录> --base-url <同一平台地址>
22
- pnpm dlx openxiangda@2.0.0-alpha.113 skill install --force
19
+ pnpm dlx openxiangda@2.0.0-alpha.114 auth status --base-url <平台地址> --json
20
+ pnpm dlx openxiangda@2.0.0-alpha.114 login --base-url <平台地址>
21
+ pnpm dlx openxiangda@2.0.0-alpha.114 create <应用目录> --base-url <同一平台地址>
22
+ pnpm dlx openxiangda@2.0.0-alpha.114 skill install --force
23
23
  ```
24
24
 
25
25
  创建前把产品要求的目标平台明确带入命令,不从旧登录态推断站点。已有工作区从原绑定恢复,平台不一致时先解决登录与目标,不改 link 文件跨站创建。
@@ -94,3 +94,17 @@ CLI 的 `--json` 输出单个 `openxiangda.cli-result/v2` 对象;失败包含
94
94
  `OPENXIANGDA_CONFIGURATION_VALIDATOR_MISMATCH` 表示工具链与平台的校验实现不配套,应按发布说明升级对应版本;它会在构建、镜像推送和制品上传前出现。模型类型不能原地替换时,按提示设计新字段及数据转换;必需密钥缺失时配置目标环境后继续,不修改源码伪装问题已解决。
95
95
 
96
96
  MCP 的 check_app、deployment_plan、deploy_app 使用与 CLI 相同的环境与生产晋级参数规则。完整参数以[CLI](cli.md)与[MCP](mcp.md)为准。
97
+
98
+ ## 构建前运行配额
99
+
100
+ `deploy --dry-run`(MCP `deployment_plan`)会只读查询目标 TEST 的运行配额,输出 `runtimeCapacity` 的核验时间、所需增量、各配额剩余量和缺口。`sufficient: false` 表示当前不足;`null` 表示无需新增或未核验,必须结合 `basis` 与 `capacity.checked` 阅读。专用命名空间未检查不能当成资源充足。
101
+
102
+ 正式 deploy 在检查脚本和镜像构建前预检;平台缺少配套能力或无法核验时明确停止。配额快照不预留资源,实际执行再次检查。已有可验证密封候选会携带摘要和幂等键,平台识别 `existing-run` 时返回原运行,不把它当作新副本;观察或恢复原运行使用 status/retry。不要为绕过配额创建新包或切换目标环境。
103
+
104
+ ## TEST 单副本维护替换
105
+
106
+ 平台配额只允许一个后端副本时,可显式选择维护替换。它会停止当前 TEST 后端,期间应用不可用;成功后激活新版本,失败时由原 DeploymentRun 恢复旧后端。恢复尚未完成时继续占用原运行,status/logs 显示恢复阶段与首个失败,不允许用新部署或取消跳过恢复。
107
+
108
+ 先运行 `openxiangda deploy --environment test --strategy maintenance-replace --dry-run --json` 查看前驱版本、Head revision 和停止后的容量估算,再使用相同参数去掉 `--dry-run` 提交。计划不预留资源。只有已存在、身份匹配的单副本 TEST 后端才可使用;前端应用、新应用和 production 不支持。默认仍为 rolling,不会因配额不足自动停止实例。
109
+
110
+ 策略属于部署幂等请求。默认维护幂等键含策略,显式幂等键不能在不同策略之间复用。已有运行通过 status/retry 恢复;持续恢复中的运行保持 preparing/maintenance-recovery-required,平台会重试恢复,恢复失败时保留原运行与错误。
@@ -11,10 +11,10 @@ OpenXiangda 2.0 默认生成 React 应用和共享契约。普通 CRUD、标准
11
11
  以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
12
12
 
13
13
  ```bash
14
- pnpm dlx openxiangda@2.0.0-alpha.113 skill install --force
15
- pnpm dlx openxiangda@2.0.0-alpha.113 auth status --base-url <平台地址> --json
16
- pnpm dlx openxiangda@2.0.0-alpha.113 login --base-url https://platform.example.com
17
- pnpm dlx openxiangda@2.0.0-alpha.113 create my-app --base-url https://platform.example.com
14
+ pnpm dlx openxiangda@2.0.0-alpha.114 skill install --force
15
+ pnpm dlx openxiangda@2.0.0-alpha.114 auth status --base-url <平台地址> --json
16
+ pnpm dlx openxiangda@2.0.0-alpha.114 login --base-url https://platform.example.com
17
+ pnpm dlx openxiangda@2.0.0-alpha.114 create my-app --base-url https://platform.example.com
18
18
  cd my-app
19
19
  pnpm openxiangda context --json
20
20
  pnpm openxiangda dev
@@ -304,7 +304,7 @@ MCP 使用项目锁定的根包;在客户端配置下列 stdio 启动参数,
304
304
 
305
305
  ## deployment_plan
306
306
 
307
- 预览应用发布。只读预览测试部署或指定测试版本的生产晋级,不构建、上传或提交运行。
307
+ 预览应用发布。只读预览测试部署的运行配额,或指定测试版本的生产晋级;返回容量与缺口,不构建、上传或提交运行。
308
308
 
309
309
  - 只读:是
310
310
  - 可替换文件或改变远端状态:否
@@ -331,6 +331,14 @@ MCP 使用项目锁定的根包;在客户端配置下列 stdio 启动参数,
331
331
  "type": "string",
332
332
  "minLength": 1
333
333
  },
334
+ "deploymentStrategy": {
335
+ "description": "仅 TEST;显式 maintenance-replace 允许停机替换并由平台处理失败恢复,默认 rolling",
336
+ "type": "string",
337
+ "enum": [
338
+ "rolling",
339
+ "maintenance-replace"
340
+ ]
341
+ },
334
342
  "environmentId": {
335
343
  "description": "测试环境 ID,通常由平台绑定确定",
336
344
  "type": "string"
@@ -464,6 +472,14 @@ MCP 使用项目锁定的根包;在客户端配置下列 stdio 启动参数,
464
472
  "type": "string",
465
473
  "minLength": 1
466
474
  },
475
+ "deploymentStrategy": {
476
+ "description": "仅 TEST;显式 maintenance-replace 允许停机替换并由平台处理失败恢复,默认 rolling",
477
+ "type": "string",
478
+ "enum": [
479
+ "rolling",
480
+ "maintenance-replace"
481
+ ]
482
+ },
467
483
  "environmentId": {
468
484
  "description": "测试环境 ID,通常由平台绑定确定",
469
485
  "type": "string"