@bf-meishijian/aip 0.0.31 → 0.0.32
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 +16 -18
- package/dist/aip-submit-outcome/SKILL.md +20 -47
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/coding-run-manager.d.ts +2 -3
- package/dist/coding-run-manager.d.ts.map +1 -1
- package/dist/coding-run-manager.js +52 -49
- 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 +2 -0
- 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/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 +5 -3
- 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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
`aip outcome skill` 输出随 CLI 分发的 `aip-submit-outcome/SKILL.md`,可按所用 Agent 的 Skill 机制安装。Skill 指导收集适用材料与一次确认;CLI 不自动执行 Git、MR、合并或上线。完整输入说明见该 Skill。以上命令均支持 `aip --local`。
|
|
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
|
+
```
|
|
30
|
+
|
|
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。知识选择、提案审核、实际上线日期及真正关单均使用节点的原有明确动作。
|
|
32
|
+
|
|
33
|
+
`aip outcome skill` 输出随 Runtime 分发的完整指南。以上命令支持 `aip --local`;CLI 不自动进行 Git、MR、合并或上线。
|
|
36
34
|
|
|
37
35
|
## 本地存储回收
|
|
38
36
|
|
|
@@ -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")
|
|
@@ -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,7 +105,6 @@ interface RunInput {
|
|
|
105
105
|
repositoryUrl: string;
|
|
106
106
|
sshRepositoryUrl?: string | null;
|
|
107
107
|
baselineCommit: string;
|
|
108
|
-
initialCommit?: string;
|
|
109
108
|
baselineBranch: string;
|
|
110
109
|
devBranch: string;
|
|
111
110
|
testBranch: string;
|
|
@@ -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
|
}
|
|
@@ -1442,9 +1448,6 @@ async function exists(path) {
|
|
|
1442
1448
|
return false;
|
|
1443
1449
|
}
|
|
1444
1450
|
}
|
|
1445
|
-
async function captureProjectRevisions(runRoot, projects, key, primaryProjectId) {
|
|
1446
|
-
return collectProjectFacts(runRoot, projects, key, primaryProjectId);
|
|
1447
|
-
}
|
|
1448
1451
|
/** 检查失败命令自己的已知工作区,不从空准备结果推测初始化状态。 */
|
|
1449
1452
|
export async function inspectWorkspaceInitialization(runId, input) {
|
|
1450
1453
|
const local = paths();
|