@bf-meishijian/aip 0.0.31 → 0.0.33
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.
- package/README.md +17 -19
- package/dist/aip-submit-outcome/SKILL.md +20 -47
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +5 -3
- package/dist/cli.js.map +1 -1
- package/dist/coding-run-manager.d.ts +3 -3
- package/dist/coding-run-manager.d.ts.map +1 -1
- package/dist/coding-run-manager.js +63 -50
- package/dist/coding-run-manager.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +8 -3
- package/dist/daemon.js.map +1 -1
- package/dist/delivery-tools.d.ts.map +1 -1
- package/dist/delivery-tools.js +4 -2
- package/dist/delivery-tools.js.map +1 -1
- package/dist/diagnostics.d.ts +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +1 -1
- package/dist/diagnostics.js.map +1 -1
- package/dist/general-run-client.d.ts.map +1 -1
- package/dist/general-run-manager.d.ts.map +1 -1
- package/dist/general-run-manager.js +0 -1
- package/dist/general-run-manager.js.map +1 -1
- package/dist/general-run-tools.d.ts +1 -1
- package/dist/general-run-tools.d.ts.map +1 -1
- package/dist/general-run-tools.js +1 -1
- package/dist/general-run-tools.js.map +1 -1
- package/dist/generated/qa-schemas.js +1123 -0
- package/dist/handoff-cli.d.ts +2 -0
- package/dist/handoff-cli.d.ts.map +1 -0
- package/dist/handoff-cli.js +86 -0
- package/dist/handoff-cli.js.map +1 -0
- package/dist/host-log.d.ts +2 -0
- package/dist/host-log.d.ts.map +1 -1
- package/dist/host-log.js +5 -2
- package/dist/host-log.js.map +1 -1
- package/dist/host-shell.d.ts +2 -0
- package/dist/host-shell.d.ts.map +1 -0
- package/dist/host-shell.js +11 -0
- package/dist/host-shell.js.map +1 -0
- package/dist/host-status.d.ts.map +1 -1
- package/dist/live-employee.js +2 -2
- package/dist/live-employee.js.map +1 -1
- package/dist/local-employee-runtime.d.ts +1 -1
- package/dist/local-employee-runtime.d.ts.map +1 -1
- package/dist/local-employee-runtime.js +1 -1
- package/dist/local-employee-runtime.js.map +1 -1
- package/dist/local-handoff-workspace.d.ts +8 -1
- package/dist/local-handoff-workspace.d.ts.map +1 -1
- package/dist/local-handoff-workspace.js +14 -34
- package/dist/local-handoff-workspace.js.map +1 -1
- package/dist/merge-requests.d.ts +2 -0
- package/dist/merge-requests.d.ts.map +1 -1
- package/dist/merge-requests.js +60 -26
- package/dist/merge-requests.js.map +1 -1
- package/dist/outcome-cli.d.ts +1 -0
- package/dist/outcome-cli.d.ts.map +1 -1
- package/dist/outcome-cli.js +43 -54
- package/dist/outcome-cli.js.map +1 -1
- package/dist/pi-message-queue.d.ts +5 -0
- package/dist/pi-message-queue.d.ts.map +1 -1
- package/dist/pi-message-queue.js +21 -0
- package/dist/pi-message-queue.js.map +1 -1
- package/dist/pi-model-service.d.ts.map +1 -1
- package/dist/platform-client.d.ts +6 -0
- package/dist/platform-client.d.ts.map +1 -1
- package/dist/platform-client.js +18 -2
- package/dist/platform-client.js.map +1 -1
- package/dist/project-facts.d.ts.map +1 -1
- package/dist/project-facts.js +5 -0
- package/dist/project-facts.js.map +1 -1
- package/dist/qa-ajv.js +9 -0
- package/dist/qa-contract.d.ts +1 -1
- package/dist/qa-contract.d.ts.map +1 -1
- package/dist/qa-contract.js +18 -90
- package/dist/qa-contract.js.map +1 -1
- package/dist/qa-http-validation.js +5 -133
- package/dist/qa-project-checkout.d.ts +6 -2
- package/dist/qa-project-checkout.d.ts.map +1 -1
- package/dist/qa-project-checkout.js +19 -12
- package/dist/qa-project-checkout.js.map +1 -1
- package/dist/qa-session-manager.d.ts +3 -6
- package/dist/qa-session-manager.d.ts.map +1 -1
- package/dist/qa-session-manager.js +116 -90
- package/dist/qa-session-manager.js.map +1 -1
- package/dist/qa-tool-arguments.js +336 -0
- package/dist/stage-delivery.js +6 -4
- package/dist/state.d.ts +2 -2
- package/dist/state.js +2 -2
- package/dist/test-cli.d.ts.map +1 -1
- package/dist/test-cli.js +1 -3
- package/dist/test-cli.js.map +1 -1
- package/dist/test-executor.d.ts +2 -2
- package/dist/test-executor.d.ts.map +1 -1
- package/dist/test-executor.js +14 -9
- package/dist/test-executor.js.map +1 -1
- package/dist/test-reports.d.ts +13 -1
- package/dist/test-reports.d.ts.map +1 -1
- package/dist/tool-dispatch.d.ts.map +1 -1
- package/dist/tool-dispatch.js +3 -0
- package/dist/tool-dispatch.js.map +1 -1
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -6,33 +6,31 @@
|
|
|
6
6
|
|
|
7
7
|
## 提交已有成果
|
|
8
8
|
|
|
9
|
-
`aip outcome`
|
|
9
|
+
`aip outcome` 用于已有本地成果和已本地接管的原工单。建单、预览与接收只需用户登录,不要求研发 Host 在线。新建输入包含真实摘要、项目及业务归属,不选择执行目标或知识处理。
|
|
10
10
|
|
|
11
11
|
```sh
|
|
12
|
+
aip outcome requirements --workspace ID
|
|
12
13
|
aip outcome create --workspace ID --input outcome.json
|
|
13
14
|
aip outcome show --workspace ID --work-item ID
|
|
14
|
-
aip outcome execution --workspace ID --work-item ID
|
|
15
15
|
aip outcome preview --workspace ID --work-item ID
|
|
16
|
-
aip outcome recovery --workspace ID --work-item ID --input recovery.json
|
|
17
16
|
aip outcome complete --workspace ID --work-item ID --input completion.json
|
|
18
17
|
```
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
complete 输入仅为 `previewId` 与可选 `idempotencyKey`。成功后固定材料已接收,工单回到平台待关闭,仍为 ACTIVE;不自动执行、归档、放弃知识或关单。已有工单直接复用,不重复建单。未知结果保留同一请求标识,先查询真实状态。
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
| `CLOSE` | 接收后关闭 |
|
|
21
|
+
后续通过同一套通用节点操作:
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
aip handoff show --workspace ID --work-item ID
|
|
25
|
+
aip handoff next --workspace ID --work-item ID --input next.json
|
|
26
|
+
aip handoff execution --workspace ID --work-item ID
|
|
27
|
+
aip handoff recovery --workspace ID --work-item ID --input check.json
|
|
28
|
+
aip handoff start --workspace ID --work-item ID --input start.json
|
|
29
|
+
```
|
|
32
30
|
|
|
33
|
-
|
|
31
|
+
next 只把工单放到 target:DEVELOPMENT、REVIEW、DEPLOYMENT、QA、ACCEPTANCE、RELEASE_PREPARATION、KNOWLEDGE_ORGANIZATION 或 REQUIREMENT_CLOSURE,并以 show 返回的 `pipeline.visit.id` 作为 expectedVisitId;不启动任何执行。没有工作区时,除关闭确认外都先放到准备工作区,准备完成后进入所选节点。start 以 `visitId` 启动当前待启动的访问,同一请求可带 execution、employeeId 和 recovery;启动条件不满足时返回原因,修正后可再次启动。已有会话开发恢复需在开发节点显式 CHECK,再把真实恢复选择放进 start.recovery。知识选择、提案审核、实际上线日期及真正关单均使用节点的原有明确动作。
|
|
34
32
|
|
|
35
|
-
`aip outcome skill` 输出随
|
|
33
|
+
`aip outcome skill` 输出随 Runtime 分发的完整指南。以上命令支持 `aip --local`;CLI 不自动进行 Git、MR、合并或上线。
|
|
36
34
|
|
|
37
35
|
## 本地存储回收
|
|
38
36
|
|
|
@@ -59,7 +57,7 @@ Host 按 profile 独立回收自己管理的 Runtime 和工作目录,不清理
|
|
|
59
57
|
|
|
60
58
|
npm 仅作为手动安装入口,要求 Node.js >=24。平台 Runtime 在 npm 中使用 `optionalDependencies`,以跳过其他系统的包;当前系统对应、与 CLI 匹配的 Runtime 是必需的。npm 安装 CLI 成功不代表 Host 已安装成功,必须继续执行 `aip host install` 与 `aip doctor`。若 Runtime 被 npm 跳过,按错误中的包名和版本从安装 CLI 的同一 Registry 补装,不混用版本。
|
|
61
59
|
|
|
62
|
-
`0.0.
|
|
60
|
+
从 `0.0.32` 起,npm 支持 macOS Apple Silicon 和 Windows x64。执行 `npm install -g @bf-meishijian/aip` 安装当前稳定版,再执行 `aip host install` 安装 Host。发布新版本时,先发布这两个平台的同版本 Runtime,确认都可下载后再将 CLI 的 `latest` 指向该版本。
|
|
63
61
|
|
|
64
62
|
本地 Docker 验收环境的一条命令如下。
|
|
65
63
|
|
|
@@ -158,7 +156,7 @@ PLATFORM_WEB_URL=http://10.254.208.127:4173
|
|
|
158
156
|
|
|
159
157
|
Host 管理的开发、部署及 QA 仓库使用 SSH 拉取和推送。平台根据已配置 GitLab 返回的真实 SSH 地址下发,支持独立 SSH 主机名及端口;无需设置全局 Git URL 映射。运行 Host 的系统用户须有可用 SSH 密钥和仓库权限,并完成正常的 SSH 主机身份验证。已有 Host 仓库在核对项目后更新 origin 与显式推送地址,保留分支和修改;失败不会退回 HTTPS。平台 API 与云端源码同步仍使用各自的现有认证。
|
|
160
158
|
|
|
161
|
-
开发阶段产出 `release_checklist.md`,测试期间随修复维护。人工验收通过后恢复原开发会话,先读取测试交接和最新分支代码,核实清单后提交 MR
|
|
159
|
+
开发阶段产出 `release_checklist.md`,测试期间随修复维护。人工验收通过后恢复原开发会话,先读取测试交接和最新分支代码,核实清单后提交 MR。配置发布分支时,Runtime 直接以远端发布分支为 MR 来源。留空时,Runtime 推送工单开发分支后准备 MR。平台用自己的读取权限核实、登记和查询状态。
|
|
162
160
|
|
|
163
161
|
Runtime 的 MR 提交能力复用 [GitLab CLI glab](https://docs.gitlab.com/cli/api/)。运行 Runtime 的系统用户需要已安装 `glab`、能从 Runtime 的 `PATH` 找到它,并已通过 [glab auth login](https://docs.gitlab.com/cli/auth/login/) 登录对应 GitLab(或使用 glab 官方支持的凭证环境变量)。该身份需具备项目 MR 创建权限,Git 推送仍使用本机 Git 凭证。不读取平台全局 Token,也不把 Token 传入 Agent 参数。缺少 glab、登录失效、权限不足或网络失败时会返回中文处理提示,不降级使用平台写权限。
|
|
164
162
|
|
|
@@ -169,7 +167,7 @@ aip mr submit --work-item BAOFU-91 --project scf-member --description-file ./mr-
|
|
|
169
167
|
aip mr register --work-item BAOFU-91 --project scf-member --iid 128
|
|
170
168
|
```
|
|
171
169
|
|
|
172
|
-
`submit` 可用 `--title`
|
|
170
|
+
`submit` 可用 `--title` 指定标题;说明文件应包含任务目的、本项目变更、测试与验收结果、发布注意事项、跨项目依赖、风险回滚及上线清单/测试报告入口。已有打开的同向 MR 时复用。无差异时可登记同向已合并的 MR,找不到则登记无需 MR。`register` 用于登记已由其他工具创建的同向 MR,不推送分支。
|
|
173
171
|
|
|
174
172
|
MR 创建成功但平台登记失败时,Runtime 保存待登记结果。重试同一命令会登记原 MR,即使原 MR 后来已合并或关闭,也不会因登记失败重复创建。登记成功后平台保留 MR 历史及当前关联。
|
|
175
173
|
|
|
@@ -1,68 +1,41 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: aip-submit-outcome
|
|
3
|
-
description: 将已有本地开发、探索或验证成果提交到 AI Platform,或交回已本地接管的工单;通过 aip CLI
|
|
3
|
+
description: 将已有本地开发、探索或验证成果提交到 AI Platform,或交回已本地接管的工单;通过 aip CLI 获取要求、建成果工单、采集并接收材料到待关闭,后续通过通用节点入口继续或独立关单。只有需求且希望平台研发时,引导平台标准建单入口。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# 提交已有成果
|
|
7
7
|
|
|
8
8
|
适用于用户说“帮我在 AIP 建单”“把这次成果交回平台”等已有成果场景。探索结论也属于成果,不要求代码修改、MR 或上线。仅使用 MCP 知识及数据库工具时无需建单;只有需求、希望平台协助研发时,引导平台需求讨论与标准建单,不创建成果工单。
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## 使用边界
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
适用于用户已有本地开发、探索或验证成果,以及已完成本地接管的原平台工单。只有需求、希望平台开始研发时使用标准建单入口。使用当前登录账号;未登录运行 `aip login`,本地平台使用 `aip --local`。账号、项目、领域与工作区均使用平台已有配置,不猜测 ID,不创建重复工单。
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
2. 检查用户已有成果、仓库状态和真实材料。仅补齐当前动作必需材料;未执行的测试、MR、部署与未上线事实如实记录。没有结果事实或仓库载体时,先说明具体缺项。
|
|
16
|
-
3. 展示工作摘要、工作区、项目/主项目、领域与业务线、材料、已做/未做事项、推送目标及下表中的回传去向。领域必须在建单前确认;业务线暂缺时明确说明可以建单和交付到知识整理节点,但开始整理或关单前必须补齐,不提供“不适用”选项。归属与交付选择一起取得一次确认;已有明确的同范围确认不重复询问。用户确认后连续完成以下步骤,不再要求用户到 Web 重复提交。
|
|
14
|
+
## 准备并接收材料
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
| 验收确认 | `ACCEPTANCE` | 进入待验收,等待人工确认 |
|
|
25
|
-
| 上线准备 | `RELEASE_PREPARATION` | 从开发成果开始上线准备 |
|
|
26
|
-
| 知识整理 | `KNOWLEDGE_ORGANIZATION` | 接收成果,进入既有知识整理与提案审核 |
|
|
27
|
-
| 接收后关闭 | `CLOSE` | 接收成果并关闭,材料保留在工单 |
|
|
16
|
+
1. 运行 `aip outcome requirements` 读取可访问工作区,再带 `--workspace ID` 读取材料规则、项目及业务归属候选。
|
|
17
|
+
2. 检查已有仓库和真实成果,展示工作摘要、项目与主项目、领域和业务线、材料、已做与未做事项、提交及推送目标,取得一次明确确认。已有同范围授权时连续执行,不重复确认。
|
|
18
|
+
3. 已有工单先运行 `aip outcome show --workspace ID --work-item ID`,复用原工单。原平台工单须先停止执行并完成本地接管;CLI 不绕过执行权或权限。新成果的 create JSON 使用 `title`、`summary`、`projectIds`、`primaryProjectId`、`domainIds`、`businessLineIds`,可提供 `sourceReferences`。领域不能为空,业务线暂缺可后续补齐;不在建单或接收时选择知识整理、上线日期或执行节点。
|
|
19
|
+
4. 新成果使用 `aip outcome create --workspace ID --input outcome.json` 获取工单号。按返回规则提交并推送关联项目的 `aip/<工单号>` 分支;主项目承载实际存在的材料,次项目只提供分支与提交。不得覆盖他人修改、强推或把材料提交冒充实际发布代码。
|
|
20
|
+
5. 使用 `aip outcome preview --workspace ID --work-item ID` 查看项目分支与材料,核对差异和真实缺项。确认接收时会重新采集分支的最新已推送内容,预览后推送的更新也会纳入;重复同一接收请求保留首次成功结果。接收只要求当前材料动作所需的真实输入,不因缺少员工、Host 离线、未验收、未合并或无上线日期而伪造事实。
|
|
21
|
+
6. complete JSON 仅包含返回的 `previewId`,可显式提供 `idempotencyKey`。运行 `aip outcome complete --workspace ID --work-item ID --input completion.json`。
|
|
28
22
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
## 建成果工单与交付
|
|
32
|
-
|
|
33
|
-
若已经有工单,先 `aip outcome show --workspace ID --work-item ID`,复用该工单;不要重复建单。原平台工单须已完成本地接管;CLI 不能绕过平台执行停止和执行权校验。前六项继续执行和后两项收尾均通过下面的 complete 提交。
|
|
34
|
-
|
|
35
|
-
新成果创建 JSON 输入文件,字段为:`title`、`summary`、`projectIds`、`primaryProjectId`、`domainIds`、`businessLineIds`、`organizeKnowledge`。`organizeKnowledge` 仅保存建单时归档偏好,实际回传去向由 complete 的 `target` 确定。ID 来自前一步候选;`domainIds` 不能为空,`businessLineIds` 可暂为空。需要知识整理时可提供已确认的 `primaryDomainId`,也可在知识整理节点补选。原成果提交/MR 等记录在 `sourceReferences`;仅真实已上线才填写 `actualLaunchDate`(YYYY-MM-DD),不能将补材料的提交冒充原上线提交。
|
|
36
|
-
|
|
37
|
-
执行:
|
|
38
|
-
|
|
39
|
-
```sh
|
|
40
|
-
aip outcome create --workspace ID --input outcome.json
|
|
23
|
+
```json
|
|
24
|
+
{"previewId":"平台返回的预览ID"}
|
|
41
25
|
```
|
|
42
26
|
|
|
43
|
-
|
|
27
|
+
两种本地路径均只确认接收材料,回到平台的待关闭节点,工单仍为 ACTIVE。接收不等于验收通过、已关闭、已经上线或已放弃知识;不自动归档,也不启动研发、QA 或其他员工。结果未知时保留原请求标识并先查询状态,不自动重放有副作用动作。
|
|
44
28
|
|
|
45
|
-
|
|
29
|
+
## 后续使用通用节点操作
|
|
46
30
|
|
|
47
|
-
|
|
48
|
-
aip outcome preview --workspace ID --work-item ID
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
检查固定提交、采集文件和具体缺项。缺少当前动作必需材料时修正后重新预览。complete 的 JSON 输入包括返回的 `previewId`、已确认的 `target` 及适用的 `primaryDomainId`、`actualLaunchDate`;complete 不再使用 `organizeKnowledge`。例如接收后关闭:
|
|
52
|
-
|
|
53
|
-
```json
|
|
54
|
-
{ "previewId": "平台返回的预览 ID", "target": "CLOSE" }
|
|
55
|
-
```
|
|
31
|
+
接收完成后,用户可在平台待关闭页选择知识处理并真正关单,或明确进入其他节点。CLI 使用 `aip handoff show --workspace ID --work-item ID` 查看当前节点(`pipeline.visit`)和权限,`aip handoff next --workspace ID --work-item ID --input next.json` 只把工单放到所选节点,输入 target 和 expectedVisitId(show 返回的 `pipeline.visit.id`)。target 为 DEVELOPMENT、REVIEW、DEPLOYMENT、QA、ACCEPTANCE、RELEASE_PREPARATION、KNOWLEDGE_ORGANIZATION 或 REQUIREMENT_CLOSURE;最后一项只进入关闭工作台。没有工作区时,其他节点都先放到准备工作区,准备完成后进入所选节点。
|
|
56
32
|
|
|
57
|
-
|
|
33
|
+
需要执行时,使用 `aip handoff execution --workspace ID --work-item ID` 读取可用配置。无 Run 时在启动请求中提供 `execution`(codingAgentId、teamId、providerId、modelId、thinkingLevel),审查/部署节点尚未配置员工时提供 employeeId。放置和刷新不创建 Run 或执行。QA 和知识使用各自配置入口。
|
|
58
34
|
|
|
59
|
-
已有 Run
|
|
35
|
+
已有 Run 的开发节点启动返回 CODING_RECOVERY_REQUIRED(执行视图显示 recovery)时,先显式运行 `aip handoff recovery --workspace ID --work-item ID --input recovery.json`,输入 action=CHECK、当前 expectedTurnId;根据真实返回选择 RESUME 或 NEW_SESSION,将 action、expectedTurnId、commandId、idempotencyKey 放进启动请求的 recovery。旧执行停止确认必须基于事实,不能无依据填写 oldExecutionStopped=true。
|
|
60
36
|
|
|
61
|
-
|
|
62
|
-
aip outcome complete --workspace ID --work-item ID --input completion.json
|
|
63
|
-
aip outcome show --workspace ID --work-item ID
|
|
64
|
-
```
|
|
37
|
+
最后使用 `aip handoff start --workspace ID --work-item ID --input start.json`,传当前待启动访问的 visitId 及上述配置,才开始任务;启动条件不满足时返回原因,修正后再次启动。未执行的验证继续保持原事实。知识整理和关闭仍通过原有明确动作,提案审核不被交付确认预先批准;实际上线日期只在真正关单时按原适用范围确认,不合成日期。
|
|
65
38
|
|
|
66
|
-
|
|
39
|
+
## 输出结果
|
|
67
40
|
|
|
68
|
-
|
|
41
|
+
返回工单链接、本次实际采集的提交与接收状态,明确待关闭仍未关闭、当前知识选择和未完成事项。缺少后续输入时给出节点内补齐入口,不把缺配置或失败标记为通过。
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,0BAA0B,CAAC;AAyBlC,wBAAsB,IAAI,CAAC,IAAI,WAAwB,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,0BAA0B,CAAC;AAyBlC,wBAAsB,IAAI,CAAC,IAAI,WAAwB,0BA4BtD"}
|
package/dist/cli.js
CHANGED
|
@@ -22,6 +22,8 @@ export async function main(args = process.argv.slice(2)) {
|
|
|
22
22
|
}
|
|
23
23
|
if (command === "test")
|
|
24
24
|
return withWorkspaceUse(async () => (await import("./test-cli.js")).testCli(subcommand, rest));
|
|
25
|
+
if (command === "handoff")
|
|
26
|
+
return (await import("./handoff-cli.js")).handoffCli(subcommand, rest);
|
|
25
27
|
if (command === "outcome")
|
|
26
28
|
return (await import("./outcome-cli.js")).outcomeCli(subcommand, rest);
|
|
27
29
|
if (command === "mr")
|
|
@@ -55,7 +57,7 @@ export async function main(args = process.argv.slice(2)) {
|
|
|
55
57
|
process.stdout.write(help());
|
|
56
58
|
}
|
|
57
59
|
async function mergeRequest(action, args) {
|
|
58
|
-
const { findMergeRequestContext, prepareMergeRequest, registerMergeRequest } = await import("./merge-requests.js");
|
|
60
|
+
const { findMergeRequestContext, pendingMergeRequestFile, prepareMergeRequest, registerMergeRequest, } = await import("./merge-requests.js");
|
|
59
61
|
if (action !== "submit" && action !== "register")
|
|
60
62
|
throw new Error(`用法:${aipCommand()} mr submit|register --work-item KEY --project NAME`);
|
|
61
63
|
const workItem = option(args, "--work-item");
|
|
@@ -70,7 +72,7 @@ async function mergeRequest(action, args) {
|
|
|
70
72
|
const descriptionFile = option(args, "--description-file");
|
|
71
73
|
const iid = action === "register" ? Number(option(args, "--iid")) : undefined;
|
|
72
74
|
const runRoot = join(paths().runWorktrees, context.runId);
|
|
73
|
-
const pendingFile =
|
|
75
|
+
const pendingFile = pendingMergeRequestFile(runRoot, project);
|
|
74
76
|
const result = await prepareMergeRequest({
|
|
75
77
|
project,
|
|
76
78
|
cwd: join(runRoot, basename(project.name).replace(/[^a-zA-Z0-9._-]/gu, "-") || "project"),
|
|
@@ -363,7 +365,7 @@ function print(value) {
|
|
|
363
365
|
process.stdout.write(`${JSON.stringify(value, null, 2)}\n`);
|
|
364
366
|
}
|
|
365
367
|
function help() {
|
|
366
|
-
return `用法(云端默认 default,本地使用 --local):\n aip [--local] login [--platform URL] [--verification-web WEB_URL]\n aip version\n aip [--local] update\n aip [--local] logout\n aip [--local] host install [--prepared-runtime PATH]\n aip [--local] host register|start|stop|restart|status\n aip [--local] provider login|logout chatgpt|claude\n aip [--local] doctor\n aip [--local] outcome requirements|create|show|
|
|
368
|
+
return `用法(云端默认 default,本地使用 --local):\n aip [--local] login [--platform URL] [--verification-web WEB_URL]\n aip version\n aip [--local] update\n aip [--local] logout\n aip [--local] host install [--prepared-runtime PATH]\n aip [--local] host register|start|stop|restart|status\n aip [--local] provider login|logout chatgpt|claude\n aip [--local] doctor\n aip [--local] outcome requirements|create|show|preview|complete|skill\n aip [--local] handoff show|execution|next|recovery|start\n aip [--local] mr submit --work-item KEY --project NAME --description-file PATH [--title TITLE]\n aip [--local] mr register --work-item KEY --project NAME --iid NUMBER\n`;
|
|
367
369
|
}
|
|
368
370
|
if (isEntrypoint()) {
|
|
369
371
|
main().catch((error) => {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ interface HostIdentity {
|
|
|
13
13
|
interface RunInput {
|
|
14
14
|
sessionRecovery?: {
|
|
15
15
|
mode: "RESUME" | "NEW_SESSION";
|
|
16
|
+
hostChanged?: boolean;
|
|
16
17
|
expectedSessionId: string | null;
|
|
17
18
|
lastEventSequence: number;
|
|
18
19
|
context: string;
|
|
@@ -27,7 +28,6 @@ interface RunInput {
|
|
|
27
28
|
projects: Array<{
|
|
28
29
|
projectId: string;
|
|
29
30
|
branch: string;
|
|
30
|
-
commitSha: string;
|
|
31
31
|
}>;
|
|
32
32
|
};
|
|
33
33
|
deliveryRequirements: import("@ai-platform/api-contracts").CodingDeliveryRequirements;
|
|
@@ -90,7 +90,7 @@ interface RunInput {
|
|
|
90
90
|
requirement: {
|
|
91
91
|
title: string;
|
|
92
92
|
source: MaterialSource;
|
|
93
|
-
};
|
|
93
|
+
} | null;
|
|
94
94
|
prototypeFiles?: Array<{
|
|
95
95
|
path: string;
|
|
96
96
|
source: MaterialSource;
|
|
@@ -105,8 +105,8 @@ interface RunInput {
|
|
|
105
105
|
repositoryUrl: string;
|
|
106
106
|
sshRepositoryUrl?: string | null;
|
|
107
107
|
baselineCommit: string;
|
|
108
|
-
initialCommit?: string;
|
|
109
108
|
baselineBranch: string;
|
|
109
|
+
releaseBranch?: string | null;
|
|
110
110
|
devBranch: string;
|
|
111
111
|
testBranch: string;
|
|
112
112
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coding-run-manager.d.ts","sourceRoot":"","sources":["../src/coding-run-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,+BAA+B,EAC/B,6BAA6B,EAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"coding-run-manager.d.ts","sourceRoot":"","sources":["../src/coding-run-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,9 @@ import { deliveryTools } from "./delivery-tools.js";
|
|
|
6
6
|
import { execGitFile as execFileAsync, gitFailure, missingGitRef } from "./git-process.js";
|
|
7
7
|
import { ensureSshOrigin, gitTransportUrl, matchesRepository, SSH_ACCESS_HINT, } from "./git-transport.js";
|
|
8
8
|
import { logGitPreparationFailure, logHostEvent, redactHostText } from "./host-log.js";
|
|
9
|
-
import { inspectHandoffWorkspace,
|
|
9
|
+
import { inspectHandoffWorkspace, synchronizeRemoteWorkspace } from "./local-handoff-workspace.js";
|
|
10
10
|
import { localModelUsage } from "./local-model-usage.js";
|
|
11
|
-
import {
|
|
11
|
+
import { worktreeTreeHash } from "./project-facts.js";
|
|
12
12
|
import { isProviderLoginRequired } from "./provider-auth-error.js";
|
|
13
13
|
export { redactHostText } from "./host-log.js";
|
|
14
14
|
export { worktreeTreeHash } from "./project-facts.js";
|
|
@@ -288,6 +288,9 @@ export class CodingRunManager {
|
|
|
288
288
|
await mkdir(runRoot, { recursive: true, mode: 0o700 });
|
|
289
289
|
const stateFile = join(local.runState, `${runId}.json`);
|
|
290
290
|
const storedState = await readJson(stateFile);
|
|
291
|
+
const newDeploymentRequest = deploymentSession &&
|
|
292
|
+
Boolean(input.deploymentRequestId) &&
|
|
293
|
+
input.deploymentRequestId !== storedState?.deploymentRequestId;
|
|
291
294
|
for (const project of input.projects)
|
|
292
295
|
project.devBranch ||=
|
|
293
296
|
storedState?.mrContext?.projects.find((p) => p.id === project.id)?.devBranch ||
|
|
@@ -317,23 +320,34 @@ export class CodingRunManager {
|
|
|
317
320
|
const transferNotes = input.transferContinuation && !storedState?.prepared
|
|
318
321
|
? await inspectPriorTransferWorkspaces(local.runWorktrees, input.transferWorkspaces?.priorRunIds ?? [], input.projects)
|
|
319
322
|
: [];
|
|
323
|
+
const pendingLocalIntake = !input.discussionTurn &&
|
|
324
|
+
input.localIntake &&
|
|
325
|
+
storedState?.appliedLocalIntake !== input.localIntake.id
|
|
326
|
+
? input.localIntake
|
|
327
|
+
: undefined;
|
|
328
|
+
if (pendingLocalIntake) {
|
|
329
|
+
for (const project of input.projects) {
|
|
330
|
+
const accepted = pendingLocalIntake.projects.find((fact) => fact.projectId === project.id);
|
|
331
|
+
if (!accepted || accepted.branch !== project.devBranch)
|
|
332
|
+
throw new Error("LOCAL_INTAKE_PROJECT_MISMATCH");
|
|
333
|
+
}
|
|
334
|
+
}
|
|
320
335
|
logHostEvent("workspace_preparation_started", { runId, turnId, phase: input.phase });
|
|
336
|
+
if (!input.discussionTurn && deploymentSession && (newDeploymentRequest || pendingLocalIntake))
|
|
337
|
+
await prepareProjects(local.repositoryCache, developmentRoot, input.workItem.key, input.projects, false, true);
|
|
338
|
+
const newSessionOnDifferentHost = input.sessionRecovery?.mode === "NEW_SESSION" && input.sessionRecovery.hostChanged;
|
|
321
339
|
const cwd = input.discussionTurn
|
|
322
340
|
? input.projects.length === 1
|
|
323
341
|
? join(runRoot, safeName(input.projects[0].name))
|
|
324
342
|
: runRoot
|
|
325
343
|
: deploymentSession
|
|
326
344
|
? await prepareDeploymentProjects(runRoot, input.projects, input.deploymentConfiguration)
|
|
327
|
-
: await prepareProjects(local.repositoryCache, runRoot, input.workItem.key, input.projects, input.sessionRecovery ? recoveryWorkspacePresent : Boolean(storedState?.prepared),
|
|
345
|
+
: await prepareProjects(local.repositoryCache, runRoot, input.workItem.key, input.projects, input.sessionRecovery ? recoveryWorkspacePresent : Boolean(storedState?.prepared), Boolean(pendingLocalIntake) ||
|
|
346
|
+
input.transferContinuation === true ||
|
|
347
|
+
input.sessionRecovery?.mode === "NEW_SESSION", pendingLocalIntake ? undefined : input.transferWorkspaces?.uninitializedProjectIds, Boolean(input.sessionRecovery) && !newSessionOnDifferentHost && !pendingLocalIntake);
|
|
328
348
|
let appliedLocalIntake = storedState?.appliedLocalIntake;
|
|
329
|
-
if (
|
|
330
|
-
|
|
331
|
-
const accepted = input.localIntake.projects.find((fact) => fact.projectId === project.id);
|
|
332
|
-
if (!accepted || accepted.branch !== project.devBranch)
|
|
333
|
-
throw new Error("LOCAL_INTAKE_PROJECT_MISMATCH");
|
|
334
|
-
await synchronizeLocalIntake(join(developmentRoot, safeName(project.name)), accepted.commitSha);
|
|
335
|
-
}
|
|
336
|
-
appliedLocalIntake = input.localIntake.id;
|
|
349
|
+
if (pendingLocalIntake) {
|
|
350
|
+
appliedLocalIntake = pendingLocalIntake.id;
|
|
337
351
|
await writeSecureJson(stateFile, { ...storedState, appliedLocalIntake });
|
|
338
352
|
}
|
|
339
353
|
const preparationBaselines = storedState?.preparationBaselines ?? {};
|
|
@@ -350,13 +364,10 @@ export class CodingRunManager {
|
|
|
350
364
|
const deliveryInputHash = createHash("sha256")
|
|
351
365
|
.update(JSON.stringify([
|
|
352
366
|
input.primaryProjectId,
|
|
353
|
-
input.requirement
|
|
367
|
+
input.requirement?.source.contentHash,
|
|
354
368
|
input.technicalDesign?.source.contentHash,
|
|
355
369
|
]))
|
|
356
370
|
.digest("hex");
|
|
357
|
-
const newDeploymentRequest = deploymentSession &&
|
|
358
|
-
Boolean(input.deploymentRequestId) &&
|
|
359
|
-
input.deploymentRequestId !== storedState?.deploymentRequestId;
|
|
360
371
|
const deploymentRequestId = deploymentSession
|
|
361
372
|
? input.deploymentRequestId
|
|
362
373
|
: storedState?.deploymentRequestId;
|
|
@@ -381,9 +392,7 @@ export class CodingRunManager {
|
|
|
381
392
|
? input.sessionRecovery.mode === "NEW_SESSION"
|
|
382
393
|
? undefined
|
|
383
394
|
: (input.sessionRecovery.expectedSessionId ?? phaseSessions[sessionPhase])
|
|
384
|
-
:
|
|
385
|
-
? undefined
|
|
386
|
-
: phaseSessions[sessionPhase];
|
|
395
|
+
: phaseSessions[sessionPhase];
|
|
387
396
|
let lastEventSequence = Math.max(storedState?.lastEventSequence ?? 0, input.sessionRecovery?.lastEventSequence ?? 0);
|
|
388
397
|
const observed = {
|
|
389
398
|
userIntervened: input.autoContinueEnabled === false,
|
|
@@ -720,14 +729,35 @@ function eventEmitter(client, host, runId, turnId, initialSequence = 0, persistS
|
|
|
720
729
|
if (error instanceof PlatformClientError &&
|
|
721
730
|
error.status === 409 &&
|
|
722
731
|
error.code === "CODING_EVENT_TURN_STALE") {
|
|
723
|
-
|
|
732
|
+
// 平台已切换轮次后拒收的旧轮事件:只记标识,便于核对时间线缺口,不重试、不放行。
|
|
733
|
+
logHostEvent("coding_event_turn_stale", {
|
|
734
|
+
runId,
|
|
735
|
+
turnId,
|
|
736
|
+
sequence: event.sequence,
|
|
737
|
+
kind,
|
|
738
|
+
...(typeof payload.toolName === "string" ? { toolName: payload.toolName } : {}),
|
|
739
|
+
...(typeof payload.activityKey === "string"
|
|
740
|
+
? { activityKey: payload.activityKey }
|
|
741
|
+
: {}),
|
|
742
|
+
});
|
|
743
|
+
if ([
|
|
744
|
+
"PREPARATION_COMPLETED",
|
|
745
|
+
"EXECUTION_STARTED",
|
|
746
|
+
"EXECUTION_PAUSED",
|
|
747
|
+
"CONVERSATION_COMPLETED",
|
|
748
|
+
].includes(kind))
|
|
724
749
|
throw error;
|
|
725
750
|
return;
|
|
726
751
|
}
|
|
727
752
|
process.stderr.write(`[local-coding-host] 事件上报失败:${redact(error instanceof Error ? error.message : String(error))}\n`);
|
|
728
753
|
if (attempt === EVENT_APPEND_MAX_ATTEMPTS) {
|
|
729
754
|
process.stderr.write(`[local-coding-host] 事件上报放弃:${event.kind} sequence=${event.sequence} attempts=${attempt}\n`);
|
|
730
|
-
if ([
|
|
755
|
+
if ([
|
|
756
|
+
"PREPARATION_COMPLETED",
|
|
757
|
+
"EXECUTION_STARTED",
|
|
758
|
+
"EXECUTION_PAUSED",
|
|
759
|
+
"CONVERSATION_COMPLETED",
|
|
760
|
+
].includes(kind))
|
|
731
761
|
throw error;
|
|
732
762
|
return;
|
|
733
763
|
}
|
|
@@ -1190,8 +1220,6 @@ const repositoryPreparations = new Map();
|
|
|
1190
1220
|
export async function prepareProjects(cacheRoot, runRoot, workItemKey, projects, resume, verifyRemote = false, uninitializedProjectIds = [], preserveExisting = false) {
|
|
1191
1221
|
await mkdir(cacheRoot, { recursive: true, mode: 0o700 });
|
|
1192
1222
|
for (const project of projects) {
|
|
1193
|
-
if (project.initialCommit && !/^[a-f0-9]{40,64}$/u.test(project.initialCommit))
|
|
1194
|
-
throw new Error("LOCAL_INTAKE_COMMIT_INVALID");
|
|
1195
1223
|
const mirror = join(cacheRoot, `${project.id}.git`);
|
|
1196
1224
|
// 多个 Run 共享镜像仓库:仅串行此仓库的 clone/fetch/worktree 元数据操作。
|
|
1197
1225
|
const previous = repositoryPreparations.get(mirror);
|
|
@@ -1279,30 +1307,13 @@ export async function prepareProjects(cacheRoot, runRoot, workItemKey, projects,
|
|
|
1279
1307
|
]).catch((error) => {
|
|
1280
1308
|
throw gitFailure(`CODING_REPOSITORY_ACCESS_FAILED:${SSH_ACCESS_HINT}`, error);
|
|
1281
1309
|
});
|
|
1282
|
-
if (project.initialCommit) {
|
|
1283
|
-
await execFileAsync("git", ["fetch", "origin", project.initialCommit], {
|
|
1284
|
-
cwd: target,
|
|
1285
|
-
});
|
|
1286
|
-
// 仅初始化刚创建的目录;预览后远端的新提交不属于本次接收。
|
|
1287
|
-
await execFileAsync("git", ["reset", "--hard", project.initialCommit], {
|
|
1288
|
-
cwd: target,
|
|
1289
|
-
});
|
|
1290
|
-
}
|
|
1291
1310
|
}
|
|
1292
1311
|
else {
|
|
1293
1312
|
if (localExists || (verifyRemote && !uninitializedProjectIds.includes(project.id)))
|
|
1294
1313
|
throw new Error(localExists
|
|
1295
1314
|
? "CODING_BRANCH_NOT_PUBLISHED:本机工单分支尚未推送,请检查并同步后再继续。"
|
|
1296
1315
|
: "CODING_BRANCH_INITIALIZATION_UNCONFIRMED:远端尚无工单分支,原工作区初始化状态未确认,请检查后再继续。");
|
|
1297
|
-
|
|
1298
|
-
await execFileAsync("git", [
|
|
1299
|
-
"--git-dir",
|
|
1300
|
-
mirror,
|
|
1301
|
-
"fetch",
|
|
1302
|
-
"origin",
|
|
1303
|
-
project.initialCommit,
|
|
1304
|
-
]);
|
|
1305
|
-
const startingPoint = project.initialCommit ?? `refs/remotes/origin/${project.baselineBranch}`;
|
|
1316
|
+
const startingPoint = `refs/remotes/origin/${project.baselineBranch}`;
|
|
1306
1317
|
await execFileAsync("git", ["--git-dir", mirror, "cat-file", "-e", startingPoint]).catch((error) => {
|
|
1307
1318
|
throw gitFailure("CODING_BASELINE_BRANCH_UNAVAILABLE", error);
|
|
1308
1319
|
});
|
|
@@ -1325,12 +1336,7 @@ export async function prepareProjects(cacheRoot, runRoot, workItemKey, projects,
|
|
|
1325
1336
|
usedAt: new Date().toISOString(),
|
|
1326
1337
|
});
|
|
1327
1338
|
await validateWorktree(mirror, target, expectedBranch, resume || existingWorktree, project.repositoryUrl, project.sshRepositoryUrl);
|
|
1328
|
-
if (existingWorktree &&
|
|
1329
|
-
const { stdout: head } = await execFileAsync("git", ["rev-parse", "HEAD"], { cwd: target });
|
|
1330
|
-
if (head.trim() !== project.initialCommit)
|
|
1331
|
-
throw new Error("LOCAL_INTAKE_WORKTREE_DIVERGED:已有工作区与预览提交不同,请先核对,未覆盖任何修改。");
|
|
1332
|
-
}
|
|
1333
|
-
if (existingWorktree && verifyRemote && !(project.initialCommit && !resume))
|
|
1339
|
+
if (existingWorktree && verifyRemote)
|
|
1334
1340
|
await synchronizeRemoteWorkspace(target, expectedBranch);
|
|
1335
1341
|
logHostEvent("repository_preparation_completed", { projectId: project.id, workItemKey });
|
|
1336
1342
|
}
|
|
@@ -1389,6 +1395,16 @@ function executionInstructions(input, runRoot) {
|
|
|
1389
1395
|
phase: input.phase,
|
|
1390
1396
|
executionPurpose: input.executionPurpose ?? null,
|
|
1391
1397
|
discussionOnly: input.conversationContext?.discussionOnly ?? false,
|
|
1398
|
+
...(input.executionPurpose === "RELEASE"
|
|
1399
|
+
? {
|
|
1400
|
+
mergeRequests: input.projects.map((project) => ({
|
|
1401
|
+
project: project.name,
|
|
1402
|
+
sourceBranch: project.releaseBranch ?? project.devBranch,
|
|
1403
|
+
targetBranch: project.baselineBranch,
|
|
1404
|
+
remoteReleaseBranch: Boolean(project.releaseBranch),
|
|
1405
|
+
})),
|
|
1406
|
+
}
|
|
1407
|
+
: {}),
|
|
1392
1408
|
...(input.phase === "DEPLOYMENT"
|
|
1393
1409
|
? { deploymentConfiguration: input.deploymentConfiguration ?? null }
|
|
1394
1410
|
: {}),
|
|
@@ -1426,7 +1442,7 @@ async function workspaceFingerprint(runRoot, input) {
|
|
|
1426
1442
|
export function initialPrompt(input, runRoot, _responsible = true, materialRoot = runRoot) {
|
|
1427
1443
|
const directory = deliveryDirectory(materialRoot, input);
|
|
1428
1444
|
const projects = input.projects
|
|
1429
|
-
.map((p) => `- ${p.name}: ${join(runRoot, safeName(p.name))}(开发分支 ${p.devBranch}
|
|
1445
|
+
.map((p) => `- ${p.name}: ${join(runRoot, safeName(p.name))}(开发分支 ${p.devBranch},基准分支 ${p.baselineBranch}${input.phase === "DEPLOYMENT" ? `;测试分支 ${p.testBranch}` : ""})${p.id === input.primaryProjectId ? "(主项目)" : ""}`)
|
|
1430
1446
|
.join("\n");
|
|
1431
1447
|
return `工单:${input.workItem.key} ${input.workItem.title}。\n当前阶段:${input.executionPurpose === "RELEASE" ? "RELEASE" : input.phase}。\n项目:\n${projects}\n输入材料:${input.materialPreparation.inputPaths.map((path) => join(directory, path)).join("、")}。\n交付目录:${directory}。${input.inputConflict ? "正式输入材料已更新。" : ""}\n${executionInstructions(input, materialRoot)}`;
|
|
1432
1448
|
}
|
|
@@ -1442,9 +1458,6 @@ async function exists(path) {
|
|
|
1442
1458
|
return false;
|
|
1443
1459
|
}
|
|
1444
1460
|
}
|
|
1445
|
-
async function captureProjectRevisions(runRoot, projects, key, primaryProjectId) {
|
|
1446
|
-
return collectProjectFacts(runRoot, projects, key, primaryProjectId);
|
|
1447
|
-
}
|
|
1448
1461
|
/** 检查失败命令自己的已知工作区,不从空准备结果推测初始化状态。 */
|
|
1449
1462
|
export async function inspectWorkspaceInitialization(runId, input) {
|
|
1450
1463
|
const local = paths();
|