@xdevops/issue-auto-finish 1.0.95 → 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 (39) hide show
  1. package/dist/{PtyRunner-6RSDKUMM.js → PtyRunner-XMWDMH3L.js} +2 -2
  2. package/dist/ai-runner/PlanFileResolver.d.ts +0 -1
  3. package/dist/ai-runner/PlanFileResolver.d.ts.map +1 -1
  4. package/dist/ai-runner/PtyRunner.d.ts.map +1 -1
  5. package/dist/{ai-runner-45IRCBIR.js → ai-runner-S2ATTGWX.js} +2 -2
  6. package/dist/{analyze-7TY5DYBT.js → analyze-DAVYPBHK.js} +2 -2
  7. package/dist/{braindump-FLX6HEVB.js → braindump-A4R3A4QT.js} +2 -2
  8. package/dist/{chunk-RR65A7J4.js → chunk-2XACBKPB.js} +2 -2
  9. package/dist/{chunk-527T6WEJ.js → chunk-BPVRMZU4.js} +9 -9
  10. package/dist/{chunk-36G3DPO3.js → chunk-HD6V7KPE.js} +40 -80
  11. package/dist/chunk-HD6V7KPE.js.map +1 -0
  12. package/dist/{chunk-P3YTEJU6.js → chunk-OPWP73PW.js} +31 -66
  13. package/dist/{chunk-P3YTEJU6.js.map → chunk-OPWP73PW.js.map} +1 -1
  14. package/dist/{chunk-ZDWRD4Y7.js → chunk-SNSEW7DS.js} +1 -1
  15. package/dist/cli.js +5 -5
  16. package/dist/hooks/HookInjector.d.ts +0 -6
  17. package/dist/hooks/HookInjector.d.ts.map +1 -1
  18. package/dist/index.js +4 -4
  19. package/dist/{init-O7XJLCP3.js → init-OD7CLRWK.js} +2 -2
  20. package/dist/lib.js +2 -2
  21. package/dist/orchestrator/steps/PhaseHelpers.d.ts +1 -1
  22. package/dist/orchestrator/steps/PhaseHelpers.d.ts.map +1 -1
  23. package/dist/orchestrator/steps/SetupStep.d.ts +0 -7
  24. package/dist/orchestrator/steps/SetupStep.d.ts.map +1 -1
  25. package/dist/{restart-JYSJQVH6.js → restart-JVVOYC6C.js} +2 -2
  26. package/dist/run.js +4 -4
  27. package/dist/{start-UDBD3UPK.js → start-INU24RRG.js} +2 -2
  28. package/package.json +1 -1
  29. package/dist/chunk-36G3DPO3.js.map +0 -1
  30. /package/dist/{PtyRunner-6RSDKUMM.js.map → PtyRunner-XMWDMH3L.js.map} +0 -0
  31. /package/dist/{ai-runner-45IRCBIR.js.map → ai-runner-S2ATTGWX.js.map} +0 -0
  32. /package/dist/{analyze-7TY5DYBT.js.map → analyze-DAVYPBHK.js.map} +0 -0
  33. /package/dist/{braindump-FLX6HEVB.js.map → braindump-A4R3A4QT.js.map} +0 -0
  34. /package/dist/{chunk-RR65A7J4.js.map → chunk-2XACBKPB.js.map} +0 -0
  35. /package/dist/{chunk-527T6WEJ.js.map → chunk-BPVRMZU4.js.map} +0 -0
  36. /package/dist/{chunk-ZDWRD4Y7.js.map → chunk-SNSEW7DS.js.map} +0 -0
  37. /package/dist/{init-O7XJLCP3.js.map → init-OD7CLRWK.js.map} +0 -0
  38. /package/dist/{restart-JYSJQVH6.js.map → restart-JVVOYC6C.js.map} +0 -0
  39. /package/dist/{start-UDBD3UPK.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-36G3DPO3.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-6RSDKUMM.js.map
35
+ //# sourceMappingURL=PtyRunner-XMWDMH3L.js.map
@@ -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-36G3DPO3.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-45IRCBIR.js.map
57
+ //# sourceMappingURL=ai-runner-S2ATTGWX.js.map
@@ -1,5 +1,5 @@
1
1
  import "./chunk-MSL7ROVK.js";
2
- import "./chunk-36G3DPO3.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-7TY5DYBT.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-36G3DPO3.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-FLX6HEVB.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-45IRCBIR.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-RR65A7J4.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-RR65A7J4.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-P3YTEJU6.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-45IRCBIR.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-45IRCBIR.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-45IRCBIR.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-45IRCBIR.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-45IRCBIR.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-6RSDKUMM.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-527T6WEJ.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) },
@@ -765,23 +752,11 @@ fi
765
752
  exit 0
766
753
  `;
767
754
  }
768
- function buildExitPlanModeScript(eventsFile, planDir, planArtifact) {
755
+ function buildExitPlanModeScript(eventsFile) {
769
756
  return `#!/bin/bash
770
757
  set -euo pipefail
771
758
  INPUT=$(cat)
772
759
 
773
- PLAN_DIR=${quote(planDir)}
774
- PLAN_ARTIFACT=${quote(planArtifact ?? "01-plan.md")}
775
-
776
- PLAN_CONTENT=$(echo "$INPUT" | jq -r '.tool_input.plan // empty')
777
- if [ -n "$PLAN_CONTENT" ]; then
778
- mkdir -p "$PLAN_DIR"
779
- printf '%s' "$PLAN_CONTENT" > "$PLAN_DIR/$PLAN_ARTIFACT"
780
- BYTES=$(wc -c < "$PLAN_DIR/$PLAN_ARTIFACT")
781
- printf '{"ts":"%s","event":"plan_captured","file":"%s","path":"%s/%s","bytes":%s}\\n' \\
782
- "$(date -u +%FT%TZ)" "$PLAN_ARTIFACT" "$PLAN_DIR" "$PLAN_ARTIFACT" "$BYTES" >> ${quote(eventsFile)}
783
- fi
784
-
785
760
  printf '{"ts":"%s","event":"exit_plan_mode"}\\n' "$(date -u +%FT%TZ)" >> ${quote(eventsFile)}
786
761
 
787
762
  echo '{"hookSpecificOutput":{"hookEventName":"PermissionRequest","decision":{"behavior":"allow"}}}'
@@ -1484,56 +1459,41 @@ var PtyRunner = class {
1484
1459
  });
1485
1460
  return this.buildRunResult(planResult, sessionId);
1486
1461
  }
1487
- const artifactPaths = options.artifactPaths ?? [];
1488
- const MIN_PLAN_BYTES = 50;
1489
- const hookHandled = artifactPaths.length > 0 && artifactPaths.every((p) => {
1490
- try {
1491
- return fs4.existsSync(p) && fs4.statSync(p).size >= MIN_PLAN_BYTES;
1492
- } catch {
1493
- return false;
1494
- }
1495
- });
1496
- if (hookHandled) {
1497
- 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",
1498
1470
  sessionId,
1499
- artifactPaths
1500
- });
1501
- } else {
1502
- logger6.info("Native plan mode: resolving plan file from CLI storage (fallback)", { sessionId });
1503
- const resolved = resolver.resolve(contentHint);
1504
- if (!resolved) {
1505
- logger6.error("Native plan mode: no plan file found in CLI storage", { sessionId, workDir });
1506
- return {
1507
- success: false,
1508
- output: planResult.output,
1509
- errorMessage: "Plan \u9636\u6BB5\u5B8C\u6210\u4F46\u672A\u5728 CLI \u8BA1\u5212\u76EE\u5F55\u4E2D\u627E\u5230\u8BA1\u5212\u6587\u4EF6",
1510
- sessionId,
1511
- exitCode: null
1512
- };
1513
- }
1514
- if (artifactPaths.length > 0) {
1515
- for (const targetPath of artifactPaths) {
1516
- const targetDir = path3.dirname(targetPath);
1517
- if (!fs4.existsSync(targetDir)) {
1518
- fs4.mkdirSync(targetDir, { recursive: true });
1519
- }
1520
- fs4.writeFileSync(targetPath, resolved.content, "utf-8");
1521
- logger6.info("Plan file copied to artifact path", {
1522
- source: path3.basename(resolved.sourcePath),
1523
- target: targetPath,
1524
- size: resolved.content.length
1525
- });
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 });
1526
1480
  }
1527
- } else {
1528
- logger6.warn("Native plan mode: no artifactPaths specified, plan file not copied", {
1529
- sessionId,
1530
- 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
1531
1486
  });
1532
1487
  }
1488
+ } else {
1489
+ logger6.warn("Native plan mode: no artifactPaths specified, plan file not copied", {
1490
+ sessionId,
1491
+ resolvedFile: resolved.sourcePath
1492
+ });
1533
1493
  }
1534
- logger6.info("Native plan mode completed", {
1494
+ logger6.info("Native plan mode completed (deterministic copy)", {
1535
1495
  sessionId,
1536
- hookHandled,
1496
+ planSource: path3.basename(resolved.sourcePath),
1537
1497
  artifactsCopied: artifactPaths.length
1538
1498
  });
1539
1499
  return this.buildRunResult(planResult, sessionId);
@@ -2001,4 +1961,4 @@ export {
2001
1961
  InputWaitController,
2002
1962
  PtyRunner
2003
1963
  };
2004
- //# sourceMappingURL=chunk-36G3DPO3.js.map
1964
+ //# sourceMappingURL=chunk-HD6V7KPE.js.map