@xdevops/issue-auto-finish 1.0.92 → 1.0.93

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-NYASBTRP.js → PtyRunner-XMWDMH3L.js} +4 -2
  2. package/dist/ai-runner/DialogClassifier.d.ts +44 -0
  3. package/dist/ai-runner/DialogClassifier.d.ts.map +1 -0
  4. package/dist/ai-runner/PtyRunner.d.ts +17 -0
  5. package/dist/ai-runner/PtyRunner.d.ts.map +1 -1
  6. package/dist/{ai-runner-TOHVJJ76.js → ai-runner-S2ATTGWX.js} +2 -2
  7. package/dist/{analyze-DBH4K3J7.js → analyze-DAVYPBHK.js} +2 -2
  8. package/dist/{braindump-RYI4BGMG.js → braindump-A4R3A4QT.js} +2 -2
  9. package/dist/{chunk-ENF24C44.js → chunk-2XACBKPB.js} +2 -2
  10. package/dist/{chunk-6T7ZHAV2.js → chunk-BPVRMZU4.js} +9 -9
  11. package/dist/{chunk-4XMYOXGZ.js → chunk-HD6V7KPE.js} +878 -67
  12. package/dist/chunk-HD6V7KPE.js.map +1 -0
  13. package/dist/{chunk-WZGEYHCC.js → chunk-OPWP73PW.js} +271 -716
  14. package/dist/chunk-OPWP73PW.js.map +1 -0
  15. package/dist/{chunk-2WDVTLVF.js → chunk-SNSEW7DS.js} +1 -1
  16. package/dist/cli.js +5 -5
  17. package/dist/hooks/HookInjector.d.ts +14 -0
  18. package/dist/hooks/HookInjector.d.ts.map +1 -1
  19. package/dist/index.js +4 -4
  20. package/dist/{init-UKTP7LXS.js → init-OD7CLRWK.js} +2 -2
  21. package/dist/lib.js +2 -2
  22. package/dist/{restart-5D3ZDD5L.js → restart-JVVOYC6C.js} +2 -2
  23. package/dist/run.js +4 -4
  24. package/dist/{start-IQBNXLEI.js → start-INU24RRG.js} +2 -2
  25. package/package.json +1 -1
  26. package/src/web/frontend/dist/assets/index-BrvoaFSK.css +1 -0
  27. package/src/web/frontend/dist/assets/{index-BR0UoQER.js → index-CmyxgdS_.js} +54 -54
  28. package/src/web/frontend/dist/index.html +2 -2
  29. package/dist/chunk-4XMYOXGZ.js.map +0 -1
  30. package/dist/chunk-WZGEYHCC.js.map +0 -1
  31. package/src/web/frontend/dist/assets/index-DWOHf3bd.css +0 -1
  32. /package/dist/{PtyRunner-NYASBTRP.js.map → PtyRunner-XMWDMH3L.js.map} +0 -0
  33. /package/dist/{ai-runner-TOHVJJ76.js.map → ai-runner-S2ATTGWX.js.map} +0 -0
  34. /package/dist/{analyze-DBH4K3J7.js.map → analyze-DAVYPBHK.js.map} +0 -0
  35. /package/dist/{braindump-RYI4BGMG.js.map → braindump-A4R3A4QT.js.map} +0 -0
  36. /package/dist/{chunk-ENF24C44.js.map → chunk-2XACBKPB.js.map} +0 -0
  37. /package/dist/{chunk-6T7ZHAV2.js.map → chunk-BPVRMZU4.js.map} +0 -0
  38. /package/dist/{chunk-2WDVTLVF.js.map → chunk-SNSEW7DS.js.map} +0 -0
  39. /package/dist/{init-UKTP7LXS.js.map → init-OD7CLRWK.js.map} +0 -0
  40. /package/dist/{restart-5D3ZDD5L.js.map → restart-JVVOYC6C.js.map} +0 -0
  41. /package/dist/{start-IQBNXLEI.js.map → start-INU24RRG.js.map} +0 -0
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  INTERACTIVE_NAV_HINT_RE,
3
+ InputWaitController,
3
4
  PERMISSION_DIALOG_RE,
4
5
  PLAN_CONFIRM_RE,
5
6
  PtyRunner,
@@ -11,13 +12,14 @@ import {
11
12
  isTuiNoise,
12
13
  parseInteractiveDialog,
13
14
  stripAnsi
14
- } from "./chunk-4XMYOXGZ.js";
15
+ } from "./chunk-HD6V7KPE.js";
15
16
  import "./chunk-TFEPHOVE.js";
16
17
  import "./chunk-G7QI5WDI.js";
17
18
  import "./chunk-2RWGZPNF.js";
18
19
  import "./chunk-GF2RRYHB.js";
19
20
  export {
20
21
  INTERACTIVE_NAV_HINT_RE,
22
+ InputWaitController,
21
23
  PERMISSION_DIALOG_RE,
22
24
  PLAN_CONFIRM_RE,
23
25
  PtyRunner,
@@ -30,4 +32,4 @@ export {
30
32
  parseInteractiveDialog,
31
33
  stripAnsi
32
34
  };
33
- //# sourceMappingURL=PtyRunner-NYASBTRP.js.map
35
+ //# sourceMappingURL=PtyRunner-XMWDMH3L.js.map
@@ -0,0 +1,44 @@
1
+ import type { HookEvent } from '../hooks/HookInjector.js';
2
+ import type { DialogOption } from './AIRunner.js';
3
+ export interface AskUserData {
4
+ question: string;
5
+ options: DialogOption[];
6
+ }
7
+ /**
8
+ * Dual-channel dialog classifier: combines hook events (high confidence)
9
+ * with regex detection (fallback) to identify interactive dialogs.
10
+ *
11
+ * Hook channel: PreToolUse(AskUserQuestion) provides structured question+options
12
+ * before TUI rendering. Notification(permission_prompt) suppresses false positives.
13
+ *
14
+ * Regex channel: existing parseInteractiveDialog/isInteractiveDialog logic
15
+ * as fallback for runners that don't support hooks.
16
+ */
17
+ export declare class DialogClassifier {
18
+ private recentEvents;
19
+ private handledIds;
20
+ ingestHookEvent(event: HookEvent): void;
21
+ /**
22
+ * Check if there's a pending AskUserQuestion from hooks that hasn't been
23
+ * handled yet. Returns structured data or null.
24
+ */
25
+ consumePendingAskUser(): AskUserData | null;
26
+ /**
27
+ * Whether a recent permission_prompt notification exists, indicating
28
+ * that regex-detected dialogs are likely false positives.
29
+ */
30
+ hasRecentPermissionPrompt(): boolean;
31
+ /**
32
+ * Whether a recent ask_user_question hook event exists, indicating
33
+ * that regex detection should be suppressed to avoid duplicate forwarding.
34
+ */
35
+ hasRecentAskUser(): boolean;
36
+ /**
37
+ * Whether regex-based dialog detection should be suppressed
38
+ * (either due to recent hook-based AskUser or permission_prompt).
39
+ */
40
+ shouldSuppressRegex(): boolean;
41
+ reset(): void;
42
+ private pruneExpired;
43
+ }
44
+ //# sourceMappingURL=DialogClassifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogClassifier.d.ts","sourceRoot":"","sources":["../../src/ai-runner/DialogClassifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAyB,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAclD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,UAAU,CAAqB;IAEvC,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAgBvC;;;OAGG;IACH,qBAAqB,IAAI,WAAW,GAAG,IAAI;IAmB3C;;;OAGG;IACH,yBAAyB,IAAI,OAAO;IASpC;;;OAGG;IACH,gBAAgB,IAAI,OAAO;IAQ3B;;;OAGG;IACH,mBAAmB,IAAI,OAAO;IAI9B,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,YAAY;CAIrB"}
@@ -65,6 +65,23 @@ export declare function isInteractiveDialog(stripped: string): boolean;
65
65
  export declare function containsActiveWork(stripped: string): boolean;
66
66
  /** True when the line is Claude Code TUI chrome (spinners, status bar, etc.) */
67
67
  export declare function isTuiNoise(line: string): boolean;
68
+ /**
69
+ * Manages timer pause/resume when an interactive dialog is forwarded to the
70
+ * user. Tracks cumulative wall-clock consumption so the remaining budget is
71
+ * correctly restored after the user responds.
72
+ */
73
+ export declare class InputWaitController {
74
+ private readonly totalBudgetMs;
75
+ private _waiting;
76
+ private wallClockUsedMs;
77
+ private wallClockSegmentStart;
78
+ constructor(totalBudgetMs: number);
79
+ get waiting(): boolean;
80
+ pause(): void;
81
+ resume(): void;
82
+ get remainingMs(): number;
83
+ get usedMs(): number;
84
+ }
68
85
  /**
69
86
  * AIRunner implementation that drives persistent interactive AI agent
70
87
  * terminal sessions (PTY) per issue.
@@ -1 +1 @@
1
- {"version":3,"file":"PtyRunner.d.ts","sourceRoot":"","sources":["../../src/ai-runner/PtyRunner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAe,YAAY,EAAE,MAAM,eAAe,CAAC;AAMhG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAatE,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAQD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAgCtD;AA+CD;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAkF,CAAC;AAE/G;;;sEAGsE;AACtE,eAAO,MAAM,oBAAoB,QAC8E,CAAC;AAEhH;;;yEAGyE;AACzE,eAAO,MAAM,eAAe,QAC2E,CAAC;AAMxG;mFACmF;AACnF,eAAO,MAAM,uBAAuB,QACqB,CAAC;AAQ1D,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,GAAG,IAAI,CAqC7G;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAKtE;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAU7D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAsB5D;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAwBhD;AAgCD;;;;;;;GAOG;AACH,qBAAa,SAAU,YAAW,QAAQ;IAStC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAb/B,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAqC;IAErD;kFAC8E;IAC9E,OAAO,CAAC,cAAc,CAAqB;gBAGxB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,WAAW,CAAC,EAAE,MAAM,YAAA,EACpB,YAAY,GAAE,MAAe;IAK1C,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAsFlD,OAAO,IAAI,IAAI;IASf,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAS5C,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAsBlD,0DAA0D;IAC1D,OAAO,CAAC,WAAW;IAKnB;;;;;;;;;OASG;YACW,YAAY;IAa1B,iEAAiE;IACjE,OAAO,CAAC,oBAAoB;IAO5B,iFAAiF;IACjF,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,aAAa;IA2ErB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAgHrB;;;;;;OAMG;YACW,cAAc;IA4C5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;;;;;;;;OASG;YACW,iBAAiB;IAsG/B,gDAAgD;IAChD,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,gBAAgB;CA8azB"}
1
+ {"version":3,"file":"PtyRunner.d.ts","sourceRoot":"","sources":["../../src/ai-runner/PtyRunner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAe,YAAY,EAAE,MAAM,eAAe,CAAC;AAOhG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAetE,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAQD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAgCtD;AA+CD;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAkF,CAAC;AAE/G;;;sEAGsE;AACtE,eAAO,MAAM,oBAAoB,QAC8E,CAAC;AAEhH;;;yEAGyE;AACzE,eAAO,MAAM,eAAe,QAC2E,CAAC;AAMxG;mFACmF;AACnF,eAAO,MAAM,uBAAuB,QACqB,CAAC;AAQ1D,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,GAAG,IAAI,CAqC7G;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAKtE;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAU7D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAsB5D;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAwBhD;AAMD;;;;GAIG;AACH,qBAAa,mBAAmB;IAKlB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJ1C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,qBAAqB,CAAS;gBAET,aAAa,EAAE,MAAM;IAIlD,IAAI,OAAO,IAAI,OAAO,CAA0B;IAEhD,KAAK,IAAI,IAAI;IAMb,MAAM,IAAI,IAAI;IAMd,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF;AAgCD;;;;;;;GAOG;AACH,qBAAa,SAAU,YAAW,QAAQ;IAStC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAb/B,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAqC;IAErD;kFAC8E;IAC9E,OAAO,CAAC,cAAc,CAAqB;gBAGxB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,WAAW,CAAC,EAAE,MAAM,YAAA,EACpB,YAAY,GAAE,MAAe;IAK1C,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAsFlD,OAAO,IAAI,IAAI;IASf,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAS5C,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAsBlD,0DAA0D;IAC1D,OAAO,CAAC,WAAW;IAKnB;;;;;;;;;OASG;YACW,YAAY;IAa1B,iEAAiE;IACjE,OAAO,CAAC,oBAAoB;IAO5B,iFAAiF;IACjF,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,aAAa;IA2ErB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAgHrB;;;;;;OAMG;YACW,cAAc;IA4C5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;;;;;;;;OASG;YACW,iBAAiB;IAsG/B,gDAAgD;IAChD,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,gBAAgB;CAsgBzB"}
@@ -2,7 +2,7 @@ import "./chunk-MSL7ROVK.js";
2
2
  import {
3
3
  PlanFileResolver,
4
4
  PtyRunner
5
- } from "./chunk-4XMYOXGZ.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-TOHVJJ76.js.map
57
+ //# sourceMappingURL=ai-runner-S2ATTGWX.js.map
@@ -1,5 +1,5 @@
1
1
  import "./chunk-MSL7ROVK.js";
2
- import "./chunk-4XMYOXGZ.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-DBH4K3J7.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-4XMYOXGZ.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-RYI4BGMG.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-TOHVJJ76.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-ENF24C44.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-ENF24C44.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-WZGEYHCC.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-TOHVJJ76.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-TOHVJJ76.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-TOHVJJ76.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-TOHVJJ76.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-TOHVJJ76.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-NYASBTRP.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-6T7ZHAV2.js.map
9306
+ //# sourceMappingURL=chunk-BPVRMZU4.js.map