@xdevops/issue-auto-finish 1.0.85 → 1.0.87

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.
Files changed (129) hide show
  1. package/dist/AIRunnerRegistry-II3WWSFN.js +31 -0
  2. package/dist/PtyRunner-6UGI5STW.js +22 -0
  3. package/dist/TerminalManager-RT2N7N5R.js +8 -0
  4. package/dist/ai-runner/AIRunner.d.ts +9 -1
  5. package/dist/ai-runner/AIRunner.d.ts.map +1 -1
  6. package/dist/ai-runner/AIRunnerRegistry.d.ts +37 -1
  7. package/dist/ai-runner/AIRunnerRegistry.d.ts.map +1 -1
  8. package/dist/ai-runner/PtyRunner.d.ts +114 -0
  9. package/dist/ai-runner/PtyRunner.d.ts.map +1 -0
  10. package/dist/ai-runner/index.d.ts +3 -1
  11. package/dist/ai-runner/index.d.ts.map +1 -1
  12. package/dist/{ai-runner-SVUNA3FX.js → ai-runner-HLA44WI6.js} +12 -3
  13. package/dist/{analyze-SXXPE5XL.js → analyze-ZIXNC5GN.js} +10 -8
  14. package/dist/{analyze-SXXPE5XL.js.map → analyze-ZIXNC5GN.js.map} +1 -1
  15. package/dist/{braindump-4E5SDMSZ.js → braindump-56WAY2RD.js} +10 -8
  16. package/dist/{braindump-4E5SDMSZ.js.map → braindump-56WAY2RD.js.map} +1 -1
  17. package/dist/{chunk-JINMYD56.js → chunk-2MESXJEZ.js} +3 -3
  18. package/dist/{chunk-P4O4ZXEC.js → chunk-2YQHKXLL.js} +40 -19
  19. package/dist/chunk-2YQHKXLL.js.map +1 -0
  20. package/dist/chunk-AVGZH64A.js +211 -0
  21. package/dist/chunk-AVGZH64A.js.map +1 -0
  22. package/dist/{chunk-5UPYA6KH.js → chunk-IP3QTP5A.js} +1028 -763
  23. package/dist/chunk-IP3QTP5A.js.map +1 -0
  24. package/dist/chunk-KC5S66OZ.js +177 -0
  25. package/dist/chunk-KC5S66OZ.js.map +1 -0
  26. package/dist/{chunk-4QV6D34Y.js → chunk-M5C2WILQ.js} +8 -6
  27. package/dist/{chunk-4QV6D34Y.js.map → chunk-M5C2WILQ.js.map} +1 -1
  28. package/dist/{chunk-FWEW5E3B.js → chunk-NZHKAPU6.js} +35 -5
  29. package/dist/chunk-NZHKAPU6.js.map +1 -0
  30. package/dist/{chunk-KTYPZTF4.js → chunk-O3WEV5W3.js} +10 -2
  31. package/dist/chunk-O3WEV5W3.js.map +1 -0
  32. package/dist/{chunk-K2OTLYJI.js → chunk-QZZGIZWC.js} +457 -202
  33. package/dist/chunk-QZZGIZWC.js.map +1 -0
  34. package/dist/{chunk-4LFNFRCL.js → chunk-SAMTXC4A.js} +91 -214
  35. package/dist/chunk-SAMTXC4A.js.map +1 -0
  36. package/dist/chunk-U237JSLB.js +1 -0
  37. package/dist/chunk-U237JSLB.js.map +1 -0
  38. package/dist/chunk-U6GWFTKA.js +657 -0
  39. package/dist/chunk-U6GWFTKA.js.map +1 -0
  40. package/dist/{chunk-HOFYJEJ4.js → chunk-UBQLXQ7I.js} +11 -11
  41. package/dist/cli/setup/env-metadata.d.ts.map +1 -1
  42. package/dist/cli.js +8 -7
  43. package/dist/cli.js.map +1 -1
  44. package/dist/{config-QLINHCHD.js → config-WTRSZLOC.js} +4 -3
  45. package/dist/config-WTRSZLOC.js.map +1 -0
  46. package/dist/config-schema.d.ts +17 -1
  47. package/dist/config-schema.d.ts.map +1 -1
  48. package/dist/config.d.ts +20 -0
  49. package/dist/config.d.ts.map +1 -1
  50. package/dist/errors/PhaseAbortedError.d.ts +3 -3
  51. package/dist/errors/PhaseAbortedError.d.ts.map +1 -1
  52. package/dist/errors-S3BWYA4I.js +43 -0
  53. package/dist/errors-S3BWYA4I.js.map +1 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +14 -11
  56. package/dist/{init-TDKDC6YP.js → init-QQDXGTPB.js} +7 -6
  57. package/dist/{init-TDKDC6YP.js.map → init-QQDXGTPB.js.map} +1 -1
  58. package/dist/lib.js +9 -7
  59. package/dist/lib.js.map +1 -1
  60. package/dist/orchestrator/IssueProcessingContext.d.ts +39 -21
  61. package/dist/orchestrator/IssueProcessingContext.d.ts.map +1 -1
  62. package/dist/orchestrator/PipelineOrchestrator.d.ts +10 -1
  63. package/dist/orchestrator/PipelineOrchestrator.d.ts.map +1 -1
  64. package/dist/orchestrator/steps/PhaseLoopStep.d.ts +1 -1
  65. package/dist/orchestrator/steps/PhaseLoopStep.d.ts.map +1 -1
  66. package/dist/orchestrator/steps/SetupStep.d.ts.map +1 -1
  67. package/dist/persistence/PlanPersistence.d.ts +7 -1
  68. package/dist/persistence/PlanPersistence.d.ts.map +1 -1
  69. package/dist/phases/BasePhase.d.ts +31 -42
  70. package/dist/phases/BasePhase.d.ts.map +1 -1
  71. package/dist/phases/BuildPhase.d.ts.map +1 -1
  72. package/dist/phases/PhaseFactory.d.ts +2 -3
  73. package/dist/phases/PhaseFactory.d.ts.map +1 -1
  74. package/dist/phases/PhaseOutcome.d.ts +42 -0
  75. package/dist/phases/PhaseOutcome.d.ts.map +1 -0
  76. package/dist/phases/PlanPhase.d.ts +1 -1
  77. package/dist/phases/PlanPhase.d.ts.map +1 -1
  78. package/dist/phases/ReleasePhase.d.ts +8 -18
  79. package/dist/phases/ReleasePhase.d.ts.map +1 -1
  80. package/dist/phases/UatPhase.d.ts +7 -24
  81. package/dist/phases/UatPhase.d.ts.map +1 -1
  82. package/dist/phases/VerifyPhase.d.ts +4 -4
  83. package/dist/phases/VerifyPhase.d.ts.map +1 -1
  84. package/dist/poller/IssuePoller.d.ts.map +1 -1
  85. package/dist/prompts/release-templates.d.ts.map +1 -1
  86. package/dist/prompts/templates.d.ts.map +1 -1
  87. package/dist/{restart-RNXGTDWZ.js → restart-BMILTP5X.js} +6 -5
  88. package/dist/{restart-RNXGTDWZ.js.map → restart-BMILTP5X.js.map} +1 -1
  89. package/dist/run.js +14 -11
  90. package/dist/run.js.map +1 -1
  91. package/dist/settings/ExperimentalSettings.d.ts +1 -1
  92. package/dist/settings/ExperimentalSettings.d.ts.map +1 -1
  93. package/dist/start-6QRW6IJI.js +15 -0
  94. package/dist/start-6QRW6IJI.js.map +1 -0
  95. package/dist/terminal/TerminalManager.d.ts +62 -0
  96. package/dist/terminal/TerminalManager.d.ts.map +1 -0
  97. package/dist/terminal/TerminalWebSocket.d.ts +9 -0
  98. package/dist/terminal/TerminalWebSocket.d.ts.map +1 -0
  99. package/dist/tracker/ExecutableTask.d.ts +4 -2
  100. package/dist/tracker/ExecutableTask.d.ts.map +1 -1
  101. package/dist/tracker/IssueState.d.ts +11 -1
  102. package/dist/tracker/IssueState.d.ts.map +1 -1
  103. package/dist/tracker/IssueTracker.d.ts +19 -1
  104. package/dist/tracker/IssueTracker.d.ts.map +1 -1
  105. package/dist/web/WebServer.d.ts +4 -0
  106. package/dist/web/WebServer.d.ts.map +1 -1
  107. package/dist/web/routes/terminal.d.ts +11 -0
  108. package/dist/web/routes/terminal.d.ts.map +1 -0
  109. package/dist/webhook/CommandExecutor.d.ts.map +1 -1
  110. package/package.json +7 -1
  111. package/src/web/frontend/dist/assets/index-COYziOhv.css +1 -0
  112. package/src/web/frontend/dist/assets/index-D_oTMuJU.js +151 -0
  113. package/src/web/frontend/dist/index.html +2 -2
  114. package/dist/chunk-4LFNFRCL.js.map +0 -1
  115. package/dist/chunk-5UPYA6KH.js.map +0 -1
  116. package/dist/chunk-DADQSKPL.js +0 -1
  117. package/dist/chunk-FWEW5E3B.js.map +0 -1
  118. package/dist/chunk-K2OTLYJI.js.map +0 -1
  119. package/dist/chunk-KTYPZTF4.js.map +0 -1
  120. package/dist/chunk-P4O4ZXEC.js.map +0 -1
  121. package/dist/start-27GRO4DP.js +0 -14
  122. package/src/web/frontend/dist/assets/index-C4NXoH9S.js +0 -133
  123. package/src/web/frontend/dist/assets/index-C7lorIa0.css +0 -1
  124. /package/dist/{ai-runner-SVUNA3FX.js.map → AIRunnerRegistry-II3WWSFN.js.map} +0 -0
  125. /package/dist/{chunk-DADQSKPL.js.map → PtyRunner-6UGI5STW.js.map} +0 -0
  126. /package/dist/{config-QLINHCHD.js.map → TerminalManager-RT2N7N5R.js.map} +0 -0
  127. /package/dist/{start-27GRO4DP.js.map → ai-runner-HLA44WI6.js.map} +0 -0
  128. /package/dist/{chunk-JINMYD56.js.map → chunk-2MESXJEZ.js.map} +0 -0
  129. /package/dist/{chunk-HOFYJEJ4.js.map → chunk-UBQLXQ7I.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"BasePhase.d.ts","sourceRoot":"","sources":["../../src/phases/BasePhase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BasePhase.d.ts","sourceRoot":"","sources":["../../src/phases/BasePhase.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BuildPhase.d.ts","sourceRoot":"","sources":["../../src/phases/BuildPhase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMzD,qBAAa,UAAW,SAAQ,SAAS;IACvC,QAAQ,CAAC,SAAS,EAAG,OAAO,CAAU;cAEtB,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBzF,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;CAmBjD"}
1
+ {"version":3,"file":"BuildPhase.d.ts","sourceRoot":"","sources":["../../src/phases/BuildPhase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKzD,qBAAa,UAAW,SAAQ,SAAS;IACvC,QAAQ,CAAC,SAAS,EAAG,OAAO,CAAU;cAEtB,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BzF,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;CAmBjD"}
@@ -2,9 +2,8 @@ import type { AIRunner } from '../ai-runner/index.js';
2
2
  import { GitOperations } from '../git/GitOperations.js';
3
3
  import { PlanPersistence } from '../persistence/PlanPersistence.js';
4
4
  import { Config } from '../config.js';
5
- import { ActionLifecycleManager } from '../lifecycle/ActionLifecycleManager.js';
6
- import { BasePhase, PhaseLifecycleHooks } from './BasePhase.js';
7
- type PhaseArgs = [AIRunner, GitOperations, PlanPersistence, Config, ActionLifecycleManager, PhaseLifecycleHooks];
5
+ import { BasePhase } from './BasePhase.js';
6
+ type PhaseArgs = [AIRunner, GitOperations, PlanPersistence, Config];
8
7
  export type PhaseConstructor = new (...args: PhaseArgs) => BasePhase;
9
8
  /** 注册一个阶段构造器。重复注册同一 name 会覆盖。 */
10
9
  export declare function registerPhase(name: string, ctor: PhaseConstructor): void;
@@ -1 +1 @@
1
- {"version":3,"file":"PhaseFactory.d.ts","sourceRoot":"","sources":["../../src/phases/PhaseFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAOhE,KAAK,SAAS,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,EAAE,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;AACjH,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC;AAQrE,iCAAiC;AACjC,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAExE;AAED,4BAA4B;AAC5B,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAoBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,SAAS,GAAG,SAAS,CAMvE;AAED,gDAAgD;AAChD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAKhE"}
1
+ {"version":3,"file":"PhaseFactory.d.ts","sourceRoot":"","sources":["../../src/phases/PhaseFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAO3C,KAAK,SAAS,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC;AAQrE,iCAAiC;AACjC,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAExE;AAED,4BAA4B;AAC5B,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAoBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,SAAS,GAAG,SAAS,CAMvE;AAED,gDAAgD;AAChD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAKhE"}
@@ -0,0 +1,42 @@
1
+ import type { StreamEvent, InputRequest } from '../ai-runner/index.js';
2
+ import type { VerifyReportResult } from '../verify/index.js';
3
+ export type PhaseStatus = 'completed' | 'failed' | 'running';
4
+ /**
5
+ * 阶段的统一返回类型。
6
+ *
7
+ * 编排器根据 status 驱动后续流程,不关心阶段内部是同步 AI、缓存查找还是异步执行。
8
+ */
9
+ export interface PhaseOutcome {
10
+ /** 执行状态 */
11
+ status: PhaseStatus;
12
+ /** AI 输出 / 摘要信息 */
13
+ output: string;
14
+ /** 会话 ID(用于下次 resume) */
15
+ sessionId?: string;
16
+ exitCode?: number | null;
17
+ /** 失败详情(仅 status='failed') */
18
+ error?: {
19
+ message: string;
20
+ isRetryable: boolean;
21
+ /** 完整 AI 输出(供编排器构造 AIExecutionError) */
22
+ rawOutput?: string;
23
+ };
24
+ /** 异步完成句柄(仅 status='running')— 编排器 await 此 Promise 获取最终结果 */
25
+ awaitCompletion?: Promise<PhaseOutcome>;
26
+ /** 阶段特定数据 — 编排器按需读取 */
27
+ data?: {
28
+ verifyReport?: VerifyReportResult;
29
+ hasReleaseCapability?: boolean;
30
+ [key: string]: unknown;
31
+ };
32
+ }
33
+ /**
34
+ * 编排器传入的回调 — 阶段通过回调与外部通信,而非直接依赖 eventBus/hooks。
35
+ */
36
+ export interface PhaseCallbacks {
37
+ /** AI 输出流式推送(编排器转发到 eventBus) */
38
+ onStreamEvent?: (event: StreamEvent) => void;
39
+ /** ACP 权限委托(编排器连接到 review gate) */
40
+ onInputRequired?: (request: InputRequest) => Promise<string>;
41
+ }
42
+ //# sourceMappingURL=PhaseOutcome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhaseOutcome.d.ts","sourceRoot":"","sources":["../../src/phases/PhaseOutcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,WAAW;IACX,MAAM,EAAE,WAAW,CAAC;IACpB,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8BAA8B;IAC9B,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,OAAO,CAAC;QACrB,wCAAwC;QACxC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,6DAA6D;IAC7D,eAAe,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,uBAAuB;IACvB,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,kBAAkB,CAAC;QAClC,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,mCAAmC;IACnC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D"}
@@ -1,7 +1,7 @@
1
1
  import { BasePhase, PhaseContext } from './BasePhase.js';
2
2
  export declare class PlanPhase extends BasePhase {
3
3
  readonly phaseName: "plan";
4
- protected getResultFiles(): {
4
+ getResultFiles(): {
5
5
  filename: string;
6
6
  label: string;
7
7
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"PlanPhase.d.ts","sourceRoot":"","sources":["../../src/phases/PlanPhase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKzD,qBAAa,SAAU,SAAQ,SAAS;IACtC,QAAQ,CAAC,SAAS,EAAG,MAAM,CAAU;IAErC,SAAS,CAAC,cAAc;;;;IAIxB,SAAS,CAAC,UAAU,IAAI,MAAM,GAAG,OAAO,GAAG,SAAS;IAIpD,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;CA0BjD"}
1
+ {"version":3,"file":"PlanPhase.d.ts","sourceRoot":"","sources":["../../src/phases/PlanPhase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKzD,qBAAa,SAAU,SAAQ,SAAS;IACtC,QAAQ,CAAC,SAAS,EAAG,MAAM,CAAU;IAErC,cAAc;;;;IAId,SAAS,CAAC,UAAU,IAAI,MAAM,GAAG,OAAO,GAAG,SAAS;IAIpD,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;CA0BjD"}
@@ -1,38 +1,28 @@
1
- import type { RunResult } from '../ai-runner/index.js';
2
1
  import type { PhaseContext } from './BasePhase.js';
3
2
  import { BasePhase } from './BasePhase.js';
3
+ import type { PhaseOutcome, PhaseCallbacks } from './PhaseOutcome.js';
4
4
  /**
5
- * 发布阶段的运行结果。
6
- */
7
- export interface ReleaseRunResult extends RunResult {
8
- /** AI 检测完成后是否请求 gate 暂停(等待用户批准) */
9
- gateRequested: boolean;
10
- /** 检测模式下是否发现发布能力 */
11
- hasReleaseCapability?: boolean;
12
- }
13
- /**
14
- * 发布阶段 — 单阶段双模式。
5
+ * 发布阶段 — 异步委托模型。
15
6
  *
16
7
  * 模式判定:plan 目录中是否已存在 05-release-detect.json。
17
- * - 无 → 检测模式:AI 探索目标项目的发布机制,或使用全局缓存
18
- * - 有 → 执行模式:AI 读取检测结果执行发布
8
+ * - 无 → 检测:先查全局缓存,未命中则 AI 检测
9
+ * - 有 → 执行:AI 读取检测结果执行发布
10
+ *
11
+ * 返回 `data.hasReleaseCapability`,编排器据此决定是否暂停等待审批。
19
12
  */
20
13
  export declare class ReleasePhase extends BasePhase {
21
14
  readonly phaseName: "release";
22
- private get planDir();
23
- /** 暂存当前 ctx 供 planDir getter 使用 */
24
- private currentCtx?;
25
15
  /**
26
16
  * 检测结果是否已存在(即是否处于执行模式)。
27
17
  */
28
18
  private hasDetectionResult;
29
19
  private readDetectionFile;
30
20
  private writeDetectionFile;
31
- protected getResultFiles(_ctx?: PhaseContext): Array<{
21
+ getResultFiles(_ctx?: PhaseContext): Array<{
32
22
  filename: string;
33
23
  label: string;
34
24
  }>;
35
25
  protected buildPrompt(ctx: PhaseContext): string;
36
- execute(ctx: PhaseContext): Promise<ReleaseRunResult>;
26
+ run(ctx: PhaseContext, callbacks?: PhaseCallbacks): Promise<PhaseOutcome>;
37
27
  }
38
28
  //# sourceMappingURL=ReleasePhase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReleasePhase.d.ts","sourceRoot":"","sources":["../../src/phases/ReleasePhase.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAY3C;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,mCAAmC;IACnC,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,QAAQ,CAAC,SAAS,EAAG,SAAS,CAAU;IAExC,OAAO,KAAK,OAAO,GAGlB;IAED,mCAAmC;IACnC,OAAO,CAAC,UAAU,CAAC,CAAe;IAElC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,kBAAkB;IAQ1B,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAOzF,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;IAgB1C,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA8E5D"}
1
+ {"version":3,"file":"ReleasePhase.d.ts","sourceRoot":"","sources":["../../src/phases/ReleasePhase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAStE;;;;;;;;GAQG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,QAAQ,CAAC,SAAS,EAAG,SAAS,CAAU;IAExC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,kBAAkB;IAI1B,cAAc,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAO/E,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;IAgB1C,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;CA+DhF"}
@@ -1,41 +1,24 @@
1
- import type { RunResult } from '../ai-runner/index.js';
2
1
  import { BasePhase, type PhaseContext } from './BasePhase.js';
2
+ import type { PhaseOutcome, PhaseCallbacks } from './PhaseOutcome.js';
3
3
  /**
4
- * UAT 阶段的运行结果。
5
- */
6
- export interface UatRunResult extends RunResult {
7
- /** 是否请求 gate 暂停(异步执行模式) */
8
- gateRequested: boolean;
9
- }
10
- /**
11
- * UAT/E2E 验证阶段 — 异步双模式执行。
4
+ * UAT/E2E 验证阶段 — 异步委托模型。
12
5
  *
13
6
  * 模式判定:plan 目录中是否已存在 03-uat-report.md。
14
- * - 启动模式:fire-and-forget 启动 codebuddy,返回 gateRequested
15
- * - 完成模式:验证产物并完成阶段
7
+ * - completed:验证产物并直接完成
8
+ * - running:启动异步 AI,返回 awaitCompletion Promise
16
9
  */
17
10
  export declare class UatPhase extends BasePhase {
18
11
  readonly phaseName: "uat";
19
- private currentCtx?;
20
- protected getResultFiles(_ctx?: PhaseContext): {
12
+ getResultFiles(_ctx?: PhaseContext): {
21
13
  filename: string;
22
14
  label: string;
23
15
  }[];
24
- private get planDir();
25
16
  /**
26
17
  * 检查产物是否已存在且内容足够。
27
18
  */
28
19
  private hasArtifact;
29
- execute(ctx: PhaseContext): Promise<UatRunResult>;
30
- /**
31
- * Mode 2 — 产物已就绪,验证并完成阶段。
32
- */
33
- private completeWithExistingArtifact;
34
- /**
35
- * Mode 1 — Fire-and-forget 启动 codebuddy,请求 gate 暂停。
36
- * codebuddy 的日志通过 onStreamEvent → EventBus → SSE 实时推送到前端。
37
- */
38
- private launchAsyncUat;
20
+ run(ctx: PhaseContext, callbacks?: PhaseCallbacks): Promise<PhaseOutcome>;
21
+ private launchAsync;
39
22
  protected buildPrompt(ctx: PhaseContext): string;
40
23
  }
41
24
  //# sourceMappingURL=UatPhase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UatPhase.d.ts","sourceRoot":"","sources":["../../src/phases/UatPhase.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAY9D;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,2BAA2B;IAC3B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,SAAS;IACrC,QAAQ,CAAC,SAAS,EAAG,KAAK,CAAU;IACpC,OAAO,CAAC,UAAU,CAAC,CAAe;IAElC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,YAAY;;;;IAI5C,OAAO,KAAK,OAAO,GAGlB;IAED;;OAEG;IACH,OAAO,CAAC,WAAW;IAUb,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAavD;;OAEG;YACW,4BAA4B;IAa1C;;;OAGG;YACW,cAAc;IA6C5B,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;CAyCjD"}
1
+ {"version":3,"file":"UatPhase.d.ts","sourceRoot":"","sources":["../../src/phases/UatPhase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQtE;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,SAAS;IACrC,QAAQ,CAAC,SAAS,EAAG,KAAK,CAAU;IAEpC,cAAc,CAAC,IAAI,CAAC,EAAE,YAAY;;;;IAIlC;;OAEG;IACH,OAAO,CAAC,WAAW;IAIb,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;YAsBjE,WAAW;IAgDzB,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;CAwCjD"}
@@ -1,17 +1,17 @@
1
1
  import { BasePhase, PhaseContext } from './BasePhase.js';
2
- import type { RunResult } from '../ai-runner/index.js';
3
2
  import type { VerifyReportResult } from '../verify/index.js';
4
- export interface VerifyRunResult extends RunResult {
3
+ import type { PhaseOutcome, PhaseCallbacks } from './PhaseOutcome.js';
4
+ export interface VerifyRunResult {
5
5
  verifyReport?: VerifyReportResult;
6
6
  }
7
7
  export declare class VerifyPhase extends BasePhase {
8
8
  readonly phaseName: "verify";
9
9
  private readonly reportParser;
10
- protected getResultFiles(ctx?: PhaseContext): {
10
+ getResultFiles(ctx?: PhaseContext): {
11
11
  filename: string;
12
12
  label: string;
13
13
  }[];
14
- execute(ctx: PhaseContext): Promise<VerifyRunResult>;
14
+ run(ctx: PhaseContext, callbacks?: PhaseCallbacks): Promise<PhaseOutcome>;
15
15
  protected buildPrompt(ctx: PhaseContext): string;
16
16
  private readVerifyReport;
17
17
  private readPlanFile;
@@ -1 +1 @@
1
- {"version":3,"file":"VerifyPhase.d.ts","sourceRoot":"","sources":["../../src/phases/VerifyPhase.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAED,qBAAa,WAAY,SAAQ,SAAS;IACxC,QAAQ,CAAC,SAAS,EAAG,QAAQ,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IAEzD,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,YAAY;;;;IAKrC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IA4C1D,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;IAahD,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,YAAY;CAYrB"}
1
+ {"version":3,"file":"VerifyPhase.d.ts","sourceRoot":"","sources":["../../src/phases/VerifyPhase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAED,qBAAa,WAAY,SAAQ,SAAS;IACxC,QAAQ,CAAC,SAAS,EAAG,QAAQ,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IAEzD,cAAc,CAAC,GAAG,CAAC,EAAE,YAAY;;;;IAK3B,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IA2C/E,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;IAahD,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,YAAY;CAGrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"IssuePoller.d.ts","sourceRoot":"","sources":["../../src/poller/IssuePoller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAiB,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAY/D,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAQ;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAGxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,YAAY,EACrB,YAAY,EAAE,oBAAoB,EAClC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,EAC7B,QAAQ,CAAC,EAAE,MAAM;IAUnB,KAAK,IAAI,IAAI;IAWb,IAAI,IAAI,IAAI;IAYZ,kBAAkB,IAAI,MAAM,EAAE;IAI9B,cAAc,IAAI,MAAM;IAIxB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAS5C,cAAc,IAAI,IAAI;IAKtB,eAAe,IAAI,IAAI;YAKT,QAAQ;IAgCtB,OAAO,CAAC,KAAK;IAoCb,OAAO,CAAC,uBAAuB;YAkBjB,mBAAmB;YAiCnB,mBAAmB;YA6CnB,YAAY;IAQ1B,OAAO,CAAC,eAAe;CAoBxB"}
1
+ {"version":3,"file":"IssuePoller.d.ts","sourceRoot":"","sources":["../../src/poller/IssuePoller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAiB,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAa/D,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAQ;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAGxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,YAAY,EACrB,YAAY,EAAE,oBAAoB,EAClC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,EAC7B,QAAQ,CAAC,EAAE,MAAM;IAUnB,KAAK,IAAI,IAAI;IAWb,IAAI,IAAI,IAAI;IAYZ,kBAAkB,IAAI,MAAM,EAAE;IAI9B,cAAc,IAAI,MAAM;IAIxB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAU5C,cAAc,IAAI,IAAI;IAKtB,eAAe,IAAI,IAAI;YAKT,QAAQ;IAgCtB,OAAO,CAAC,KAAK;IA6Cb,OAAO,CAAC,uBAAuB;YAkBjB,mBAAmB;YAiCnB,mBAAmB;YA8CnB,YAAY;IAQ1B,OAAO,CAAC,eAAe;CAoBxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"release-templates.d.ts","sourceRoot":"","sources":["../../src/prompts/release-templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAoD9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,mBAAmB,GAAG,MAAM,CA6C/F"}
1
+ {"version":3,"file":"release-templates.d.ts","sourceRoot":"","sources":["../../src/prompts/release-templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAgE9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,mBAAmB,GAAG,MAAM,CA6C/F"}
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/prompts/templates.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmC9D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB,CAeA;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE,eAAe,GAAG,MAAM,CAwBzE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAUzD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CASvD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAS1D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CASvD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAW/D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAYrD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAWtD;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAiBxF;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAoCD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,aAAa,EAClB,KAAK,CAAC,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAKR;AAiLD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAQzE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAa3F"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/prompts/templates.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmC9D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB,CAeA;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE,eAAe,GAAG,MAAM,CAwBzE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAUzD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CASvD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAS1D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CASvD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAW/D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAYrD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAWtD;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAiBxF;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAoCD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,aAAa,EAClB,KAAK,CAAC,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAKR;AA2LD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAQzE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAa3F"}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  startCommand
3
- } from "./chunk-JINMYD56.js";
3
+ } from "./chunk-2MESXJEZ.js";
4
4
  import {
5
5
  stopCommand
6
6
  } from "./chunk-WIEUIU6L.js";
@@ -8,11 +8,12 @@ import {
8
8
  dim,
9
9
  yellow
10
10
  } from "./chunk-B7XUZJOK.js";
11
- import "./chunk-KTYPZTF4.js";
12
- import "./chunk-FWEW5E3B.js";
11
+ import "./chunk-O3WEV5W3.js";
12
+ import "./chunk-NZHKAPU6.js";
13
13
  import "./chunk-AKXDQH25.js";
14
14
  import "./chunk-TN2SYADO.js";
15
- import "./chunk-4LFNFRCL.js";
15
+ import "./chunk-SAMTXC4A.js";
16
+ import "./chunk-AVGZH64A.js";
16
17
  import "./chunk-GF2RRYHB.js";
17
18
 
18
19
  // src/cli/commands/restart.ts
@@ -43,4 +44,4 @@ async function restartCommand(options) {
43
44
  export {
44
45
  restartCommand
45
46
  };
46
- //# sourceMappingURL=restart-RNXGTDWZ.js.map
47
+ //# sourceMappingURL=restart-BMILTP5X.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli/commands/restart.ts"],"sourcesContent":["import { stopCommand } from './stop.js';\nimport { startCommand } from './start.js';\nimport { yellow, dim } from '../utils/format.js';\n\nexport interface RestartOptions {\n config?: string;\n host: string;\n port: number;\n daemon?: boolean;\n}\n\nexport async function restartCommand(options: RestartOptions): Promise<void> {\n // Detect PM2 environment\n if (process.env.PM2_HOME || process.env.pm_id) {\n console.log(`\\n ${yellow('PM2 detected.')} Use ${dim('pm2 restart issue-auto-finish')} instead.\\n`);\n process.exitCode = 1;\n return;\n }\n\n console.log(' Stopping service...');\n await stopCommand({\n host: options.host,\n port: options.port,\n force: false,\n });\n\n if (process.exitCode === 1) {\n // Stop failed — still try to start\n process.exitCode = undefined as unknown as number;\n console.log(' Previous stop had issues, attempting start anyway...');\n }\n\n console.log(' Starting service...');\n await startCommand({\n config: options.config,\n daemon: options.daemon,\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAWA,eAAsB,eAAe,SAAwC;AAE3E,MAAI,QAAQ,IAAI,YAAY,QAAQ,IAAI,OAAO;AAC7C,YAAQ,IAAI;AAAA,IAAO,OAAO,eAAe,CAAC,QAAQ,IAAI,+BAA+B,CAAC;AAAA,CAAa;AACnG,YAAQ,WAAW;AACnB;AAAA,EACF;AAEA,UAAQ,IAAI,uBAAuB;AACnC,QAAM,YAAY;AAAA,IAChB,MAAM,QAAQ;AAAA,IACd,MAAM,QAAQ;AAAA,IACd,OAAO;AAAA,EACT,CAAC;AAED,MAAI,QAAQ,aAAa,GAAG;AAE1B,YAAQ,WAAW;AACnB,YAAQ,IAAI,wDAAwD;AAAA,EACtE;AAEA,UAAQ,IAAI,uBAAuB;AACnC,QAAM,aAAa;AAAA,IACjB,QAAQ,QAAQ;AAAA,IAChB,QAAQ,QAAQ;AAAA,EAClB,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../src/cli/commands/restart.ts"],"sourcesContent":["import { stopCommand } from './stop.js';\nimport { startCommand } from './start.js';\nimport { yellow, dim } from '../utils/format.js';\n\nexport interface RestartOptions {\n config?: string;\n host: string;\n port: number;\n daemon?: boolean;\n}\n\nexport async function restartCommand(options: RestartOptions): Promise<void> {\n // Detect PM2 environment\n if (process.env.PM2_HOME || process.env.pm_id) {\n console.log(`\\n ${yellow('PM2 detected.')} Use ${dim('pm2 restart issue-auto-finish')} instead.\\n`);\n process.exitCode = 1;\n return;\n }\n\n console.log(' Stopping service...');\n await stopCommand({\n host: options.host,\n port: options.port,\n force: false,\n });\n\n if (process.exitCode === 1) {\n // Stop failed — still try to start\n process.exitCode = undefined as unknown as number;\n console.log(' Previous stop had issues, attempting start anyway...');\n }\n\n console.log(' Starting service...');\n await startCommand({\n config: options.config,\n daemon: options.daemon,\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAWA,eAAsB,eAAe,SAAwC;AAE3E,MAAI,QAAQ,IAAI,YAAY,QAAQ,IAAI,OAAO;AAC7C,YAAQ,IAAI;AAAA,IAAO,OAAO,eAAe,CAAC,QAAQ,IAAI,+BAA+B,CAAC;AAAA,CAAa;AACnG,YAAQ,WAAW;AACnB;AAAA,EACF;AAEA,UAAQ,IAAI,uBAAuB;AACnC,QAAM,YAAY;AAAA,IAChB,MAAM,QAAQ;AAAA,IACd,MAAM,QAAQ;AAAA,IACd,OAAO;AAAA,EACT,CAAC;AAED,MAAI,QAAQ,aAAa,GAAG;AAE1B,YAAQ,WAAW;AACnB,YAAQ,IAAI,wDAAwD;AAAA,EACtE;AAEA,UAAQ,IAAI,uBAAuB;AACnC,QAAM,aAAa;AAAA,IACjB,QAAQ,QAAQ;AAAA,IAChB,QAAQ,QAAQ;AAAA,EAClB,CAAC;AACH;","names":[]}
package/dist/run.js CHANGED
@@ -1,22 +1,25 @@
1
1
  import {
2
2
  main
3
- } from "./chunk-K2OTLYJI.js";
4
- import "./chunk-4QV6D34Y.js";
5
- import "./chunk-HOFYJEJ4.js";
6
- import "./chunk-GXFG4JU6.js";
7
- import "./chunk-KTYPZTF4.js";
3
+ } from "./chunk-QZZGIZWC.js";
4
+ import "./chunk-M5C2WILQ.js";
5
+ import "./chunk-UBQLXQ7I.js";
8
6
  import "./chunk-HDFNMVRQ.js";
9
- import "./chunk-5UPYA6KH.js";
10
- import "./chunk-P4O4ZXEC.js";
7
+ import "./chunk-GXFG4JU6.js";
8
+ import "./chunk-KC5S66OZ.js";
9
+ import "./chunk-O3WEV5W3.js";
10
+ import "./chunk-IP3QTP5A.js";
11
+ import "./chunk-2YQHKXLL.js";
12
+ import "./chunk-U237JSLB.js";
13
+ import "./chunk-U6GWFTKA.js";
11
14
  import "./chunk-ACVOOHAR.js";
15
+ import "./chunk-B7TVVODN.js";
12
16
  import "./chunk-YCYVNRLF.js";
13
- import "./chunk-FWEW5E3B.js";
17
+ import "./chunk-NZHKAPU6.js";
14
18
  import "./chunk-AKXDQH25.js";
15
- import "./chunk-B7TVVODN.js";
16
19
  import "./chunk-TN2SYADO.js";
20
+ import "./chunk-SAMTXC4A.js";
21
+ import "./chunk-AVGZH64A.js";
17
22
  import "./chunk-DAX3FD2O.js";
18
- import "./chunk-DADQSKPL.js";
19
- import "./chunk-4LFNFRCL.js";
20
23
  import "./chunk-GF2RRYHB.js";
21
24
 
22
25
  // src/run.ts
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/run.ts"],"sourcesContent":["import { main } from './index.js';\n\nmain().catch((err) => {\n console.error('Fatal error', (err as Error).message, (err as Error).stack);\n process.exit(1);\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,KAAK,EAAE,MAAM,CAAC,QAAQ;AACpB,UAAQ,MAAM,eAAgB,IAAc,SAAU,IAAc,KAAK;AACzE,UAAQ,KAAK,CAAC;AAChB,CAAC;","names":[]}
1
+ {"version":3,"sources":["../src/run.ts"],"sourcesContent":["import { main } from './index.js';\n\nmain().catch((err) => {\n console.error('Fatal error', (err as Error).message, (err as Error).stack);\n process.exit(1);\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,KAAK,EAAE,MAAM,CAAC,QAAQ;AACpB,UAAQ,MAAM,eAAgB,IAAc,SAAU,IAAc,KAAK;AACzE,UAAQ,KAAK,CAAC;AAChB,CAAC;","names":[]}
@@ -1,5 +1,5 @@
1
1
  import type { Config } from '../config.js';
2
- export type ExperimentalFeature = 'brainstorm' | 'chat' | 'braindump' | 'knowledge' | 'distill' | 'analytics';
2
+ export type ExperimentalFeature = 'brainstorm' | 'chat' | 'braindump' | 'knowledge' | 'distill' | 'analytics' | 'terminal';
3
3
  export declare function getFeatureEnabled(key: ExperimentalFeature, cfg: Config): boolean;
4
4
  export declare function setFeatureOverride(key: ExperimentalFeature, value: boolean): void;
5
5
  //# sourceMappingURL=ExperimentalSettings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExperimentalSettings.d.ts","sourceRoot":"","sources":["../../src/settings/ExperimentalSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAI9G,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAEjF"}
1
+ {"version":3,"file":"ExperimentalSettings.d.ts","sourceRoot":"","sources":["../../src/settings/ExperimentalSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AAI3H,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAEjF"}
@@ -0,0 +1,15 @@
1
+ import {
2
+ startCommand
3
+ } from "./chunk-2MESXJEZ.js";
4
+ import "./chunk-B7XUZJOK.js";
5
+ import "./chunk-O3WEV5W3.js";
6
+ import "./chunk-NZHKAPU6.js";
7
+ import "./chunk-AKXDQH25.js";
8
+ import "./chunk-TN2SYADO.js";
9
+ import "./chunk-SAMTXC4A.js";
10
+ import "./chunk-AVGZH64A.js";
11
+ import "./chunk-GF2RRYHB.js";
12
+ export {
13
+ startCommand
14
+ };
15
+ //# sourceMappingURL=start-6QRW6IJI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,62 @@
1
+ import type { IPty } from 'node-pty';
2
+ export interface TerminalSession {
3
+ id: string;
4
+ pty: IPty;
5
+ issueIid?: number;
6
+ workDir: string;
7
+ createdAt: Date;
8
+ lastActivityAt: Date;
9
+ cols: number;
10
+ rows: number;
11
+ /** true = PtyRunner 管理生命周期,WS 断开不销毁、idle check 不回收 */
12
+ managed: boolean;
13
+ }
14
+ export interface TerminalSessionInfo {
15
+ id: string;
16
+ issueIid?: number;
17
+ workDir: string;
18
+ createdAt: string;
19
+ lastActivityAt: string;
20
+ cols: number;
21
+ rows: number;
22
+ pid: number;
23
+ }
24
+ export interface TerminalManagerOptions {
25
+ idleTimeoutMs: number;
26
+ maxSessions: number;
27
+ allowedBaseDirs: string[];
28
+ }
29
+ export interface CreateSessionOptions {
30
+ workDir: string;
31
+ issueIid?: number;
32
+ cols?: number;
33
+ rows?: number;
34
+ /** PTY 执行的命令,默认 'claude' */
35
+ command?: string;
36
+ /** 命令参数,默认 [] */
37
+ args?: string[];
38
+ /** true = PtyRunner 管理生命周期 */
39
+ managed?: boolean;
40
+ }
41
+ export declare class TerminalManager {
42
+ private sessions;
43
+ private idleCheckTimer;
44
+ private readonly options;
45
+ constructor(options: TerminalManagerOptions);
46
+ create(opts: CreateSessionOptions): TerminalSessionInfo;
47
+ get(id: string): TerminalSession | undefined;
48
+ list(): TerminalSessionInfo[];
49
+ write(id: string, data: string): void;
50
+ resize(id: string, cols: number, rows: number): void;
51
+ onData(id: string, callback: (data: string) => void): {
52
+ dispose: () => void;
53
+ };
54
+ onExit(id: string, callback: (exitCode: number, signal?: number) => void): void;
55
+ destroy(id: string): void;
56
+ destroyAll(): void;
57
+ findByWorkDir(workDir: string): TerminalSession | undefined;
58
+ private validateWorkDir;
59
+ private startIdleCheck;
60
+ private toInfo;
61
+ }
62
+ //# sourceMappingURL=TerminalManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalManager.d.ts","sourceRoot":"","sources":["../../src/terminal/TerminalManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAWrC,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA8BD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAErC,OAAO,EAAE,sBAAsB;IAO3C,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,mBAAmB;IAyCvD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI5C,IAAI,IAAI,mBAAmB,EAAE;IAI7B,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAOrC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAQpD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE;IAU7E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAU/E,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAYzB,UAAU,IAAI,IAAI;IAWlB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAS3D,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,MAAM;CAYf"}
@@ -0,0 +1,9 @@
1
+ import type { Server } from 'node:http';
2
+ import type { TerminalManager } from './TerminalManager.js';
3
+ export interface TerminalWebSocketOptions {
4
+ httpServer: Server;
5
+ terminalManager: TerminalManager;
6
+ isEnabled: () => boolean;
7
+ }
8
+ export declare function setupTerminalWebSocket(opts: TerminalWebSocketOptions): void;
9
+ //# sourceMappingURL=TerminalWebSocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalWebSocket.d.ts","sourceRoot":"","sources":["../../src/terminal/TerminalWebSocket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,WAAW,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAK5D,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,wBAAwB,GAAG,IAAI,CAkH3E"}
@@ -40,12 +40,14 @@ export interface ExecutableTask {
40
40
  /** 预计算的状态展示标签(由后端投影时通过 ActionLifecycleManager.resolveLabel 生成) */
41
41
  readonly displayLabel?: string;
42
42
  /** 阶段进度快照(由后端投影时预计算)。
43
- * 各阶段按定义顺序排列,status 为 pending/in_progress/completed/failed。
43
+ * 各阶段按定义顺序排列,包含真实事件时间戳。
44
44
  * 未提供时前端不渲染阶段进度列。 */
45
45
  readonly phaseProgress?: {
46
46
  name: string;
47
47
  label: string;
48
- status: 'pending' | 'in_progress' | 'completed' | 'failed';
48
+ status: 'pending' | 'in_progress' | 'completed' | 'failed' | 'gate_waiting';
49
+ startedAt?: string;
50
+ completedAt?: string;
49
51
  }[];
50
52
  }
51
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutableTask.d.ts","sourceRoot":"","sources":["../../src/tracker/ExecutableTask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAGrF;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,WAAW,GACX,SAAS,GACT,SAAS,GACT,SAAS,GACT,WAAW,GACX,QAAQ,CAAC;AAEb;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa;IACb,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAC1C,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,WAAW;IACX,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,WAAW;IACX,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,WAAW;IACX,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,WAAW;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW;IACX,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,aAAa;IACb,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,YAAY;IACZ,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,kEAAkE;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;0BAEsB;IACtB,QAAQ,CAAC,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAA;KAAE,EAAE,CAAC;CACxH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,CAkB3E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAmBrE;AAED,mDAAmD;AACnD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAgBzE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,sBAAsB,GAAG,MAAM,CAS1F;AAID,uCAAuC;AACvC,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,sBAAsB,GACzB,cAAc,CA2BhB;AAED,yCAAyC;AACzC,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC9C,cAAc,CAehB"}
1
+ {"version":3,"file":"ExecutableTask.d.ts","sourceRoot":"","sources":["../../src/tracker/ExecutableTask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAGrF;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,WAAW,GACX,SAAS,GACT,SAAS,GACT,SAAS,GACT,WAAW,GACX,QAAQ,CAAC;AAEb;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa;IACb,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAC1C,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,WAAW;IACX,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,WAAW;IACX,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,WAAW;IACX,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,WAAW;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW;IACX,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,aAAa;IACb,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,YAAY;IACZ,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,kEAAkE;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;0BAEsB;IACtB,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,cAAc,CAAC;QAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,EAAE,CAAC;CACL;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,CAkB3E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAmBrE;AAED,mDAAmD;AACnD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAgBzE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,sBAAsB,GAAG,MAAM,CAS1F;AAID,uCAAuC;AACvC,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,sBAAsB,GACzB,cAAc,CAsChB;AAED,yCAAyC;AACzC,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC9C,cAAc,CAehB"}
@@ -35,6 +35,11 @@ export interface IssueLifecycle {
35
35
  lastErrorRetryable?: boolean;
36
36
  /** 中止时的阶段名(Paused 状态下有值) */
37
37
  pausedAtPhase?: string;
38
+ /** 持久化处理锁,防止 poller 并发拾取同一 issue。向后兼容:旧记录无此字段 = 无锁 */
39
+ processingLock?: {
40
+ correlationId: string;
41
+ ts: string;
42
+ };
38
43
  }
39
44
  /** 流水线配置 */
40
45
  export interface IssuePipeline {
@@ -73,8 +78,13 @@ export interface IssueAudit {
73
78
  export interface IssueDemand {
74
79
  demandSpec?: DemandSpec;
75
80
  }
81
+ /** 阶段进度(真实事件记录,非推导) */
82
+ export interface IssuePhaseProgress {
83
+ /** 各阶段的实际进度记录,key 为阶段名 */
84
+ phaseProgress?: Record<string, PhaseProgress>;
85
+ }
76
86
  /** 完整的 IssueRecord — 持久化格式不变 */
77
- export type IssueRecord = IssueLifecycle & IssuePipeline & IssueBranch & IssueFeatureFlags & IssueDeployment & IssueResult & IssueDemand & IssueAudit;
87
+ export type IssueRecord = IssueLifecycle & IssuePipeline & IssueBranch & IssueFeatureFlags & IssueDeployment & IssueResult & IssueDemand & IssueAudit & IssuePhaseProgress;
78
88
  export type PhaseStatus = 'pending' | 'in_progress' | 'completed' | 'failed' | 'gate_waiting';
79
89
  export interface PhaseProgress {
80
90
  status: PhaseStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"IssueState.d.ts","sourceRoot":"","sources":["../../src/tracker/IssueState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IssueState.d.ts","sourceRoot":"","sources":["../../src/tracker/IssueState.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IssueRecord, IssueState } from './IssueState.js';
1
+ import { IssueRecord, IssueState, type PhaseProgress } from './IssueState.js';
2
2
  import { type PipelineDef } from '../pipeline/PipelineDefinition.js';
3
3
  import { ActionLifecycleManager } from '../lifecycle/ActionLifecycleManager.js';
4
4
  import { BaseTracker } from './BaseTracker.js';
@@ -21,9 +21,27 @@ export declare class IssueTracker extends BaseTracker<IssueRecord> {
21
21
  get(issueIid: number): IssueRecord | undefined;
22
22
  create(record: Omit<IssueRecord, 'createdAt' | 'updatedAt' | 'attempts'>): IssueRecord;
23
23
  updateState(issueIid: number, state: IssueState, extra?: Partial<IssueRecord>): void;
24
+ /** 初始化阶段进度(流水线启动时调用) */
25
+ initPhaseProgress(issueIid: number, def: PipelineDef): void;
26
+ /** 更新单个阶段的进度(原子保存 + SSE 推送) */
27
+ updatePhaseProgress(issueIid: number, phase: string, update: Partial<PhaseProgress>): void;
24
28
  markFailed(issueIid: number, error: string, failedAtState: IssueState, isRetryable?: boolean): void;
25
29
  pauseIssue(issueIid: number, currentPhase: string): void;
26
30
  resumeFromPause(issueIid: number, def: PipelineDef, clearSession: boolean): boolean;
31
+ /** 持久化锁超时阈值(默认 30 分钟,与 PHASE_TIMEOUT 一致) */
32
+ private static readonly LOCK_TIMEOUT_MS;
33
+ /**
34
+ * 获取持久化处理锁。
35
+ * - 无锁或超时锁 → 写入并返回 true
36
+ * - 有未超时锁(其他 correlationId)→ 返回 false
37
+ */
38
+ acquireProcessingLock(issueIid: number, correlationId: string): boolean;
39
+ /**
40
+ * 释放持久化处理锁。仅当 correlationId 匹配时才清除,防止旧协程误释放新锁。
41
+ */
42
+ releaseProcessingLock(issueIid: number, correlationId: string): void;
43
+ /** 强制清除持久化处理锁(管理员操作:restart/cancel/retryFromPhase) */
44
+ clearProcessingLock(issueIid: number): void;
27
45
  isProcessing(issueIid: number): boolean;
28
46
  isCompleted(issueIid: number): boolean;
29
47
  canRetry(issueIid: number, maxRetries: number): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"IssueTracker.d.ts","sourceRoot":"","sources":["../../src/tracker/IssueTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,qBAAqB,CAAC;AA4BjF,qBAAa,YAAa,SAAQ,WAAW,CAAC,WAAW,CAAC;IACxD,OAAO,CAAC,iBAAiB,CAAsC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAGxB,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,EACtD,QAAQ,CAAC,EAAE,MAAM;IAUnB;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAwDtB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,GAAG;IAIX,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI9C,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC,GAAG,WAAW;IAetF,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAmBpF,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IAcnG,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAcxD,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO;IA4BnF,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAMvC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAMvD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAKvD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAE,MAAsB,GAAG,OAAO;IASzE,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE;IASjF,YAAY,IAAI,WAAW,EAAE;IAM7B,MAAM,IAAI,WAAW,EAAE;IAIvB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAWvC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAepC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO;IA+BxE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAcxC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAWjC,wBAAwB,IAAI,MAAM;IA4ClC,2CAA2C;IAC3C,iBAAiB,IAAI,cAAc,EAAE;CAMtC"}
1
+ {"version":3,"file":"IssueTracker.d.ts","sourceRoot":"","sources":["../../src/tracker/IssueTracker.ts"],"names":[],"mappings":"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"}