@xdevops/issue-auto-finish 1.0.96 → 1.0.97

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 (41) hide show
  1. package/dist/{PtyRunner-UD3M7GNM.js → PtyRunner-XMWDMH3L.js} +2 -2
  2. package/dist/ai-runner/AIRunner.d.ts +0 -4
  3. package/dist/ai-runner/AIRunner.d.ts.map +1 -1
  4. package/dist/ai-runner/PlanFileResolver.d.ts +0 -1
  5. package/dist/ai-runner/PlanFileResolver.d.ts.map +1 -1
  6. package/dist/ai-runner/PtyRunner.d.ts.map +1 -1
  7. package/dist/{ai-runner-6OQYGU56.js → ai-runner-S2ATTGWX.js} +2 -2
  8. package/dist/{analyze-LZHS3MHW.js → analyze-DAVYPBHK.js} +2 -2
  9. package/dist/{braindump-7QDUYUZW.js → braindump-A4R3A4QT.js} +2 -2
  10. package/dist/{chunk-AFGUFM6H.js → chunk-2XACBKPB.js} +2 -2
  11. package/dist/{chunk-P6KYWBMT.js → chunk-BPVRMZU4.js} +9 -9
  12. package/dist/{chunk-SJSVO46Z.js → chunk-HD6V7KPE.js} +43 -102
  13. package/dist/chunk-HD6V7KPE.js.map +1 -0
  14. package/dist/{chunk-W553OKAJ.js → chunk-OPWP73PW.js} +31 -66
  15. package/dist/{chunk-W553OKAJ.js.map → chunk-OPWP73PW.js.map} +1 -1
  16. package/dist/{chunk-75ANI33A.js → chunk-SNSEW7DS.js} +1 -1
  17. package/dist/cli.js +5 -5
  18. package/dist/hooks/HookInjector.d.ts +0 -6
  19. package/dist/hooks/HookInjector.d.ts.map +1 -1
  20. package/dist/index.js +4 -4
  21. package/dist/{init-Q4DTX6JN.js → init-OD7CLRWK.js} +2 -2
  22. package/dist/lib.js +2 -2
  23. package/dist/orchestrator/steps/PhaseHelpers.d.ts +1 -1
  24. package/dist/orchestrator/steps/PhaseHelpers.d.ts.map +1 -1
  25. package/dist/orchestrator/steps/SetupStep.d.ts +0 -7
  26. package/dist/orchestrator/steps/SetupStep.d.ts.map +1 -1
  27. package/dist/{restart-CEFVMQLL.js → restart-JVVOYC6C.js} +2 -2
  28. package/dist/run.js +4 -4
  29. package/dist/{start-JYVFJZCL.js → start-INU24RRG.js} +2 -2
  30. package/package.json +1 -1
  31. package/dist/chunk-SJSVO46Z.js.map +0 -1
  32. /package/dist/{PtyRunner-UD3M7GNM.js.map → PtyRunner-XMWDMH3L.js.map} +0 -0
  33. /package/dist/{ai-runner-6OQYGU56.js.map → ai-runner-S2ATTGWX.js.map} +0 -0
  34. /package/dist/{analyze-LZHS3MHW.js.map → analyze-DAVYPBHK.js.map} +0 -0
  35. /package/dist/{braindump-7QDUYUZW.js.map → braindump-A4R3A4QT.js.map} +0 -0
  36. /package/dist/{chunk-AFGUFM6H.js.map → chunk-2XACBKPB.js.map} +0 -0
  37. /package/dist/{chunk-P6KYWBMT.js.map → chunk-BPVRMZU4.js.map} +0 -0
  38. /package/dist/{chunk-75ANI33A.js.map → chunk-SNSEW7DS.js.map} +0 -0
  39. /package/dist/{init-Q4DTX6JN.js.map → init-OD7CLRWK.js.map} +0 -0
  40. /package/dist/{restart-CEFVMQLL.js.map → restart-JVVOYC6C.js.map} +0 -0
  41. /package/dist/{start-JYVFJZCL.js.map → start-INU24RRG.js.map} +0 -0
@@ -12,7 +12,7 @@ import {
12
12
  isTuiNoise,
13
13
  parseInteractiveDialog,
14
14
  stripAnsi
15
- } from "./chunk-SJSVO46Z.js";
15
+ } from "./chunk-HD6V7KPE.js";
16
16
  import "./chunk-TFEPHOVE.js";
17
17
  import "./chunk-G7QI5WDI.js";
18
18
  import "./chunk-2RWGZPNF.js";
@@ -32,4 +32,4 @@ export {
32
32
  parseInteractiveDialog,
33
33
  stripAnsi
34
34
  };
35
- //# sourceMappingURL=PtyRunner-UD3M7GNM.js.map
35
+ //# sourceMappingURL=PtyRunner-XMWDMH3L.js.map
@@ -39,10 +39,6 @@ export interface RunOptions {
39
39
  /** When PTY output matches this regex, immediately signal task completion (skip debounce).
40
40
  * Used by native plan mode to detect the plan confirmation dialog. */
41
41
  completionSignal?: RegExp;
42
- /** Hook event name that should trigger completion when detected via HookEventWatcher.
43
- * Used as a fallback when completionSignal regex fails to match PTY output.
44
- * A grace period (5s) is applied to let the primary signal match first. */
45
- completionHookEvent?: string;
46
42
  onStreamEvent?: (event: StreamEvent) => void;
47
43
  onInputRequired?: (request: InputRequest) => Promise<string>;
48
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AIRunner.d.ts","sourceRoot":"","sources":["../../src/ai-runner/AIRunner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,eAAe,GAAG,oBAAoB,GAAG,SAAS,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAC9B,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,uGAAuG;IACvG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;2EACuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;gFAE4E;IAC5E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IACpC;oFACgF;IAChF,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,IAAI,IAAI,CAAC;IAChB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,gFAAgF;IAChF,kBAAkB,CAAC,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;CACrD"}
1
+ {"version":3,"file":"AIRunner.d.ts","sourceRoot":"","sources":["../../src/ai-runner/AIRunner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,eAAe,GAAG,oBAAoB,GAAG,SAAS,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAC9B,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,uGAAuG;IACvG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;2EACuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IACpC;oFACgF;IAChF,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,IAAI,IAAI,CAAC;IAChB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,gFAAgF;IAChF,kBAAkB,CAAC,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;CACrD"}
@@ -41,7 +41,6 @@ export declare class PlanFileResolver {
41
41
  static buildContentHint(issueIid: number, issueTitle?: string): string;
42
42
  private listFiles;
43
43
  private findNewFiles;
44
- private isMetadataFile;
45
44
  /**
46
45
  * Fallback: if no new files found (rare case — plan might have overwritten
47
46
  * an existing file), find the most recently modified file.
@@ -1 +1 @@
1
- {"version":3,"file":"PlanFileResolver.d.ts","sourceRoot":"","sources":["../../src/ai-runner/PlanFileResolver.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAaD;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,WAAW,CAAkC;gBAEzC,QAAQ,CAAC,EAAE,MAAM;IAI7B,0FAA0F;IAC1F,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB;IAKrD,2EAA2E;IAC3E,kBAAkB,IAAI,IAAI;IAQ1B;;;;OAIG;IACH,qBAAqB,IAAI,OAAO;IAShC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAuCtD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAMtE,OAAO,CAAC,SAAS;IAwBjB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;IAKtB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,aAAa;CActB"}
1
+ {"version":3,"file":"PlanFileResolver.d.ts","sourceRoot":"","sources":["../../src/ai-runner/PlanFileResolver.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAQD;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,WAAW,CAAkC;gBAEzC,QAAQ,CAAC,EAAE,MAAM;IAI7B,0FAA0F;IAC1F,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB;IAKrD,2EAA2E;IAC3E,kBAAkB,IAAI,IAAI;IAQ1B;;;;OAIG;IACH,qBAAqB,IAAI,OAAO;IAShC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAqCtD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAMtE,OAAO,CAAC,SAAS;IAwBjB,OAAO,CAAC,YAAY;IAUpB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,aAAa;CActB"}
@@ -1 +1 @@
1
- {"version":3,"file":"PtyRunner.d.ts","sourceRoot":"","sources":["../../src/ai-runner/PtyRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PtyRunner.d.ts","sourceRoot":"","sources":["../../src/ai-runner/PtyRunner.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import "./chunk-MSL7ROVK.js";
2
2
  import {
3
3
  PlanFileResolver,
4
4
  PtyRunner
5
- } from "./chunk-SJSVO46Z.js";
5
+ } from "./chunk-HD6V7KPE.js";
6
6
  import {
7
7
  SdkRunner
8
8
  } from "./chunk-R32Q3RGK.js";
@@ -54,4 +54,4 @@ export {
54
54
  usesDeterministicPlanCopy,
55
55
  validateRunnerRegistry
56
56
  };
57
- //# sourceMappingURL=ai-runner-6OQYGU56.js.map
57
+ //# sourceMappingURL=ai-runner-S2ATTGWX.js.map
@@ -1,5 +1,5 @@
1
1
  import "./chunk-MSL7ROVK.js";
2
- import "./chunk-SJSVO46Z.js";
2
+ import "./chunk-HD6V7KPE.js";
3
3
  import "./chunk-R32Q3RGK.js";
4
4
  import {
5
5
  analyze
@@ -77,4 +77,4 @@ async function analyzeCommand(opts) {
77
77
  export {
78
78
  analyzeCommand
79
79
  };
80
- //# sourceMappingURL=analyze-LZHS3MHW.js.map
80
+ //# sourceMappingURL=analyze-DAVYPBHK.js.map
@@ -15,7 +15,7 @@ import {
15
15
  GitOperations
16
16
  } from "./chunk-GPZX4DSY.js";
17
17
  import "./chunk-MSL7ROVK.js";
18
- import "./chunk-SJSVO46Z.js";
18
+ import "./chunk-HD6V7KPE.js";
19
19
  import "./chunk-R32Q3RGK.js";
20
20
  import "./chunk-ACVOOHAR.js";
21
21
  import "./chunk-B7TVVODN.js";
@@ -209,4 +209,4 @@ ${bold("\u786E\u8BA4\u6267\u884C\uFF1F")} (${green("y")}=\u786E\u8BA4 / ${red("q
209
209
  export {
210
210
  braindumpCommand
211
211
  };
212
- //# sourceMappingURL=braindump-7QDUYUZW.js.map
212
+ //# sourceMappingURL=braindump-A4R3A4QT.js.map
@@ -469,7 +469,7 @@ function createSetupRouter(deps = {}) {
469
469
  sse.write({ step: "analyzing", message: "Running AI analysis..." });
470
470
  try {
471
471
  const { loadConfig } = await import("./config-23TBYFP5.js");
472
- const { createAIRunner } = await import("./ai-runner-6OQYGU56.js");
472
+ const { createAIRunner } = await import("./ai-runner-S2ATTGWX.js");
473
473
  const config = loadConfig();
474
474
  const runner = createAIRunner(config.ai);
475
475
  const knowledge = await analyze({ workDir, aiRunner: runner });
@@ -549,4 +549,4 @@ function createSetupRouter(deps = {}) {
549
549
  export {
550
550
  createSetupRouter
551
551
  };
552
- //# sourceMappingURL=chunk-AFGUFM6H.js.map
552
+ //# sourceMappingURL=chunk-2XACBKPB.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-5M5SB6ZA.js";
5
5
  import {
6
6
  createSetupRouter
7
- } from "./chunk-AFGUFM6H.js";
7
+ } from "./chunk-2XACBKPB.js";
8
8
  import {
9
9
  buildLockNoteBody,
10
10
  buildReleaseNoteBody,
@@ -38,7 +38,7 @@ import {
38
38
  setE2eOverride,
39
39
  setNoteSyncOverride,
40
40
  validatePhaseRegistry
41
- } from "./chunk-W553OKAJ.js";
41
+ } from "./chunk-OPWP73PW.js";
42
42
  import {
43
43
  AsyncMutex,
44
44
  BaseTracker,
@@ -2458,7 +2458,7 @@ function createKnowledgeRouter(deps) {
2458
2458
  heartbeat = setInterval(() => {
2459
2459
  sendProgress({ step: "analyzing", current: 2, total, message: "AI \u5206\u6790\u4E2D...", elapsed: Date.now() - aiStart });
2460
2460
  }, 3e3);
2461
- const { createAIRunner: createAIRunner2 } = await import("./ai-runner-6OQYGU56.js");
2461
+ const { createAIRunner: createAIRunner2 } = await import("./ai-runner-S2ATTGWX.js");
2462
2462
  const runner = createAIRunner2(config.ai);
2463
2463
  const { analyze } = await import("./KnowledgeAnalyzer-MTTTSSHX.js");
2464
2464
  const knowledge = await analyze({ workDir, aiRunner: runner, syncToProject: config.sync.knowledgeToProject });
@@ -2503,7 +2503,7 @@ function createKnowledgeRouter(deps) {
2503
2503
  (async () => {
2504
2504
  try {
2505
2505
  sendProgress({ step: "collecting", current: 1, total, message: "\u68C0\u6D4B\u53D8\u66F4\u5E76\u6536\u96C6\u4FE1\u606F..." });
2506
- const { createAIRunner: createAIRunner2 } = await import("./ai-runner-6OQYGU56.js");
2506
+ const { createAIRunner: createAIRunner2 } = await import("./ai-runner-S2ATTGWX.js");
2507
2507
  const { analyzeIncremental } = await import("./KnowledgeAnalyzer-MTTTSSHX.js");
2508
2508
  const runner = createAIRunner2(config.ai);
2509
2509
  sendProgress({ step: "analyzing", current: 2, total, message: "\u589E\u91CF\u5206\u6790\u4E2D..." });
@@ -2787,7 +2787,7 @@ function createDomainModelRouter(deps) {
2787
2787
  }
2788
2788
  (async () => {
2789
2789
  try {
2790
- const { createAIRunner: createAIRunner2 } = await import("./ai-runner-6OQYGU56.js");
2790
+ const { createAIRunner: createAIRunner2 } = await import("./ai-runner-S2ATTGWX.js");
2791
2791
  const runner = createAIRunner2(config.ai);
2792
2792
  const model = await analyzer.analyze({
2793
2793
  workDir: config.project.workDir,
@@ -3001,7 +3001,7 @@ function createSystemUseCaseRouter(deps) {
3001
3001
  }
3002
3002
  (async () => {
3003
3003
  try {
3004
- const { createAIRunner: createAIRunner2 } = await import("./ai-runner-6OQYGU56.js");
3004
+ const { createAIRunner: createAIRunner2 } = await import("./ai-runner-S2ATTGWX.js");
3005
3005
  const runner = createAIRunner2(config.ai);
3006
3006
  const model = await analyzer.analyze({
3007
3007
  workDir: config.project.workDir,
@@ -3191,7 +3191,7 @@ function createSystemUseCaseRouter(deps) {
3191
3191
  res.status(404).json({ error: "No domain model loaded \u2014 run domain analysis first" });
3192
3192
  return;
3193
3193
  }
3194
- const { createAIRunner: createAIRunner2 } = await import("./ai-runner-6OQYGU56.js");
3194
+ const { createAIRunner: createAIRunner2 } = await import("./ai-runner-S2ATTGWX.js");
3195
3195
  const runner = createAIRunner2(config.ai);
3196
3196
  const associations = await analyzer.suggestDomainAssociations(
3197
3197
  useCaseModel,
@@ -8883,7 +8883,7 @@ async function main() {
8883
8883
  let sharedTerminalManager;
8884
8884
  if (config.ai.mode === "pty") {
8885
8885
  const { TerminalManager: TerminalManager2 } = await import("./TerminalManager-RT2N7N5R.js");
8886
- const { PtyRunner } = await import("./PtyRunner-UD3M7GNM.js");
8886
+ const { PtyRunner } = await import("./PtyRunner-XMWDMH3L.js");
8887
8887
  const { registerAIRunner: regRunner, getPtyProfile } = await import("./AIRunnerRegistry-CFDNWSXC.js");
8888
8888
  const allPtyAgents = /* @__PURE__ */ new Set([
8889
8889
  config.pty.defaultAgent,
@@ -9303,4 +9303,4 @@ function migrateKnowledgeDir(srcDir, destDir) {
9303
9303
  export {
9304
9304
  main
9305
9305
  };
9306
- //# sourceMappingURL=chunk-P6KYWBMT.js.map
9306
+ //# sourceMappingURL=chunk-BPVRMZU4.js.map
@@ -24,9 +24,6 @@ var PLAN_DIRS = {
24
24
  "claude-internal": path.join(os.homedir(), ".claude-internal", "plans"),
25
25
  "codebuddy": path.join(os.homedir(), ".codebuddy", "plans")
26
26
  };
27
- var PLAN_METADATA_PATTERNS = [
28
- /^00-plan-status\.md$/
29
- ];
30
27
  var PlanFileResolver = class _PlanFileResolver {
31
28
  plansDir;
32
29
  beforeFiles = /* @__PURE__ */ new Map();
@@ -85,7 +82,6 @@ var PlanFileResolver = class _PlanFileResolver {
85
82
  });
86
83
  return this.fallbackByMtime(afterFiles, contentHint);
87
84
  }
88
- candidates.sort((a, b) => b.mtime - a.mtime);
89
85
  if (candidates.length === 1) {
90
86
  return this.readCandidate(candidates[0].path, candidates[0].mtime);
91
87
  }
@@ -93,6 +89,7 @@ var PlanFileResolver = class _PlanFileResolver {
93
89
  const matched = this.matchByContent(candidates, contentHint);
94
90
  if (matched) return matched;
95
91
  }
92
+ candidates.sort((a, b) => b.mtime - a.mtime);
96
93
  logger2.info("Multiple new plan files found, using most recent", {
97
94
  count: candidates.length,
98
95
  selected: path.basename(candidates[0].path)
@@ -131,16 +128,12 @@ var PlanFileResolver = class _PlanFileResolver {
131
128
  findNewFiles(afterFiles) {
132
129
  const candidates = [];
133
130
  for (const [filePath, mtime] of afterFiles) {
134
- if (!this.beforeFiles.has(filePath) && !this.isMetadataFile(filePath)) {
131
+ if (!this.beforeFiles.has(filePath)) {
135
132
  candidates.push({ path: filePath, mtime });
136
133
  }
137
134
  }
138
135
  return candidates;
139
136
  }
140
- isMetadataFile(filePath) {
141
- const basename = path.basename(filePath);
142
- return PLAN_METADATA_PATTERNS.some((pattern) => pattern.test(basename));
143
- }
144
137
  /**
145
138
  * Fallback: if no new files found (rare case — plan might have overwritten
146
139
  * an existing file), find the most recently modified file.
@@ -171,27 +164,21 @@ var PlanFileResolver = class _PlanFileResolver {
171
164
  return this.readCandidate(newestPath, newestMtime);
172
165
  }
173
166
  matchByContent(candidates, contentHint) {
174
- const matches = [];
175
167
  for (const candidate of candidates) {
176
168
  try {
177
169
  const content = fs.readFileSync(candidate.path, "utf-8");
178
170
  if (this.contentMatches(content, contentHint)) {
179
- matches.push({ sourcePath: candidate.path, content });
171
+ logger2.info("Plan file matched by content", {
172
+ file: path.basename(candidate.path),
173
+ hint: contentHint.slice(0, 50)
174
+ });
175
+ return { sourcePath: candidate.path, content };
180
176
  }
181
177
  } catch {
182
178
  continue;
183
179
  }
184
180
  }
185
- if (matches.length === 0) return null;
186
- matches.sort((a, b) => b.content.length - a.content.length);
187
- const best = matches[0];
188
- logger2.info("Plan file matched by content", {
189
- file: path.basename(best.sourcePath),
190
- hint: contentHint.slice(0, 50),
191
- matchCount: matches.length,
192
- size: best.content.length
193
- });
194
- return best;
181
+ return null;
195
182
  }
196
183
  contentMatches(content, hint) {
197
184
  const parts = hint.split("|");
@@ -510,7 +497,7 @@ var HookInjector = class {
510
497
  { name: "compact-restore.sh", content: buildCompactRestoreScript(eventsFile, contextFile) },
511
498
  { name: "post-tool-use.sh", content: buildPostToolUseScript(eventsFile, manifestFile, expected) },
512
499
  { name: "post-artifact.sh", content: buildPostArtifactScript(manifestFile, expected) },
513
- { name: "exit-plan-mode.sh", content: buildExitPlanModeScript(eventsFile, ctx.planDir, ctx.phaseExpectedArtifacts?.[0] ?? ctx.expectedArtifacts[0]) },
500
+ { name: "exit-plan-mode.sh", content: buildExitPlanModeScript(eventsFile) },
514
501
  { name: "permission.sh", content: buildPermissionScript(eventsFile) },
515
502
  { name: "protect-files.sh", content: buildProtectFilesScript(eventsFile, ctx.phaseName, ctx.planDir) },
516
503
  { name: "stop.sh", content: buildStopScript(eventsFile, ctx.planDir, phaseExpected) },
@@ -742,9 +729,8 @@ if echo "$EXPECTED" | tr ',' '\\n' | grep -qx "$BASENAME"; then
742
729
  "$(date -u +%FT%TZ)" "$BASENAME" "$FILE_PATH" "$BYTES" >> ${quote(manifestFile)}
743
730
  fi
744
731
 
745
- BYTES_EVT=$(wc -c < "$FILE_PATH" 2>/dev/null || echo 0)
746
- printf '{"ts":"%s","event":"artifact_write","file":"%s","path":"%s","bytes":%s}\\n' \\
747
- "$(date -u +%FT%TZ)" "$BASENAME" "$FILE_PATH" "$BYTES_EVT" >> ${quote(eventsFile)}
732
+ printf '{"ts":"%s","event":"artifact_write","file":"%s","path":"%s","bytes":0}\\n' \\
733
+ "$(date -u +%FT%TZ)" "$BASENAME" "$FILE_PATH" >> ${quote(eventsFile)}
748
734
  exit 0
749
735
  `;
750
736
  }
@@ -766,23 +752,11 @@ fi
766
752
  exit 0
767
753
  `;
768
754
  }
769
- function buildExitPlanModeScript(eventsFile, planDir, planArtifact) {
755
+ function buildExitPlanModeScript(eventsFile) {
770
756
  return `#!/bin/bash
771
757
  set -euo pipefail
772
758
  INPUT=$(cat)
773
759
 
774
- PLAN_DIR=${quote(planDir)}
775
- PLAN_ARTIFACT=${quote(planArtifact ?? "01-plan.md")}
776
-
777
- PLAN_CONTENT=$(echo "$INPUT" | jq -r '.tool_input.plan // empty')
778
- if [ -n "$PLAN_CONTENT" ]; then
779
- mkdir -p "$PLAN_DIR"
780
- printf '%s' "$PLAN_CONTENT" > "$PLAN_DIR/$PLAN_ARTIFACT"
781
- BYTES=$(wc -c < "$PLAN_DIR/$PLAN_ARTIFACT")
782
- printf '{"ts":"%s","event":"plan_captured","file":"%s","path":"%s/%s","bytes":%s}\\n' \\
783
- "$(date -u +%FT%TZ)" "$PLAN_ARTIFACT" "$PLAN_DIR" "$PLAN_ARTIFACT" "$BYTES" >> ${quote(eventsFile)}
784
- fi
785
-
786
760
  printf '{"ts":"%s","event":"exit_plan_mode"}\\n' "$(date -u +%FT%TZ)" >> ${quote(eventsFile)}
787
761
 
788
762
  echo '{"hookSpecificOutput":{"hookEventName":"PermissionRequest","decision":{"behavior":"allow"}}}'
@@ -1476,8 +1450,7 @@ var PtyRunner = class {
1476
1450
  const planResult = await this.detectCompletion(sessionId, {
1477
1451
  ...options,
1478
1452
  completionSignal: PLAN_CONFIRM_RE,
1479
- artifactCheck: planArtifactCheck,
1480
- completionHookEvent: "exit_plan_mode"
1453
+ artifactCheck: planArtifactCheck
1481
1454
  }, options.onStreamEvent, continueSession);
1482
1455
  if (planResult.timedOut) {
1483
1456
  logger6.warn("Native plan mode: plan phase timed out", {
@@ -1486,56 +1459,41 @@ var PtyRunner = class {
1486
1459
  });
1487
1460
  return this.buildRunResult(planResult, sessionId);
1488
1461
  }
1489
- const artifactPaths = options.artifactPaths ?? [];
1490
- const MIN_PLAN_BYTES = 50;
1491
- const hookHandled = artifactPaths.length > 0 && artifactPaths.every((p) => {
1492
- try {
1493
- return fs4.existsSync(p) && fs4.statSync(p).size >= MIN_PLAN_BYTES;
1494
- } catch {
1495
- return false;
1496
- }
1497
- });
1498
- if (hookHandled) {
1499
- logger6.info("Native plan mode: plan captured by ExitPlanMode hook", {
1462
+ logger6.info("Native plan mode: resolving plan file from CLI storage", { sessionId });
1463
+ const resolved = resolver.resolve(contentHint);
1464
+ if (!resolved) {
1465
+ logger6.error("Native plan mode: no plan file found in CLI storage", { sessionId, workDir });
1466
+ return {
1467
+ success: false,
1468
+ output: planResult.output,
1469
+ errorMessage: "Plan \u9636\u6BB5\u5B8C\u6210\u4F46\u672A\u5728 CLI \u8BA1\u5212\u76EE\u5F55\u4E2D\u627E\u5230\u8BA1\u5212\u6587\u4EF6",
1500
1470
  sessionId,
1501
- artifactPaths
1502
- });
1503
- } else {
1504
- logger6.info("Native plan mode: resolving plan file from CLI storage (fallback)", { sessionId });
1505
- const resolved = resolver.resolve(contentHint);
1506
- if (!resolved) {
1507
- logger6.error("Native plan mode: no plan file found in CLI storage", { sessionId, workDir });
1508
- return {
1509
- success: false,
1510
- output: planResult.output,
1511
- errorMessage: "Plan \u9636\u6BB5\u5B8C\u6210\u4F46\u672A\u5728 CLI \u8BA1\u5212\u76EE\u5F55\u4E2D\u627E\u5230\u8BA1\u5212\u6587\u4EF6",
1512
- sessionId,
1513
- exitCode: null
1514
- };
1515
- }
1516
- if (artifactPaths.length > 0) {
1517
- for (const targetPath of artifactPaths) {
1518
- const targetDir = path3.dirname(targetPath);
1519
- if (!fs4.existsSync(targetDir)) {
1520
- fs4.mkdirSync(targetDir, { recursive: true });
1521
- }
1522
- fs4.writeFileSync(targetPath, resolved.content, "utf-8");
1523
- logger6.info("Plan file copied to artifact path", {
1524
- source: path3.basename(resolved.sourcePath),
1525
- target: targetPath,
1526
- size: resolved.content.length
1527
- });
1471
+ exitCode: null
1472
+ };
1473
+ }
1474
+ const artifactPaths = options.artifactPaths ?? [];
1475
+ if (artifactPaths.length > 0) {
1476
+ for (const targetPath of artifactPaths) {
1477
+ const targetDir = path3.dirname(targetPath);
1478
+ if (!fs4.existsSync(targetDir)) {
1479
+ fs4.mkdirSync(targetDir, { recursive: true });
1528
1480
  }
1529
- } else {
1530
- logger6.warn("Native plan mode: no artifactPaths specified, plan file not copied", {
1531
- sessionId,
1532
- resolvedFile: resolved.sourcePath
1481
+ fs4.writeFileSync(targetPath, resolved.content, "utf-8");
1482
+ logger6.info("Plan file copied to artifact path", {
1483
+ source: path3.basename(resolved.sourcePath),
1484
+ target: targetPath,
1485
+ size: resolved.content.length
1533
1486
  });
1534
1487
  }
1488
+ } else {
1489
+ logger6.warn("Native plan mode: no artifactPaths specified, plan file not copied", {
1490
+ sessionId,
1491
+ resolvedFile: resolved.sourcePath
1492
+ });
1535
1493
  }
1536
- logger6.info("Native plan mode completed", {
1494
+ logger6.info("Native plan mode completed (deterministic copy)", {
1537
1495
  sessionId,
1538
- hookHandled,
1496
+ planSource: path3.basename(resolved.sourcePath),
1539
1497
  artifactsCopied: artifactPaths.length
1540
1498
  });
1541
1499
  return this.buildRunResult(planResult, sessionId);
@@ -1656,7 +1614,6 @@ var PtyRunner = class {
1656
1614
  const dialogClassifier = new DialogClassifier();
1657
1615
  let hookWatcher;
1658
1616
  let hookSub;
1659
- let completionHookGraceTimer;
1660
1617
  const hookInjector = new HookInjector();
1661
1618
  const eventsFilePath = hookInjector.getEventsFilePath(options.workDir);
1662
1619
  if (fs4.existsSync(eventsFilePath)) {
@@ -1697,21 +1654,6 @@ var PtyRunner = class {
1697
1654
  });
1698
1655
  }
1699
1656
  }
1700
- if (options.completionHookEvent && event.event === options.completionHookEvent && hasSubstantiveOutput && !resolved && !completionHookGraceTimer) {
1701
- logger6.info("Completion hook event detected, starting grace period", {
1702
- sessionId,
1703
- event: event.event
1704
- });
1705
- completionHookGraceTimer = setTimeout(() => {
1706
- if (!resolved) {
1707
- logger6.info("Completion hook event grace period elapsed, finishing", {
1708
- sessionId,
1709
- event: event.event
1710
- });
1711
- finish({ output: outputLines.join(""), timedOut: false });
1712
- }
1713
- }, 5e3);
1714
- }
1715
1657
  });
1716
1658
  hookWatcher.start();
1717
1659
  }
@@ -1993,7 +1935,6 @@ var PtyRunner = class {
1993
1935
  clearInterval(idleCheck);
1994
1936
  if (debounceTimer) clearTimeout(debounceTimer);
1995
1937
  if (dialogQuiesceTimer) clearTimeout(dialogQuiesceTimer);
1996
- if (completionHookGraceTimer) clearTimeout(completionHookGraceTimer);
1997
1938
  subscription.dispose();
1998
1939
  hookSub?.dispose();
1999
1940
  hookWatcher?.stop();
@@ -2020,4 +1961,4 @@ export {
2020
1961
  InputWaitController,
2021
1962
  PtyRunner
2022
1963
  };
2023
- //# sourceMappingURL=chunk-SJSVO46Z.js.map
1964
+ //# sourceMappingURL=chunk-HD6V7KPE.js.map