@wukonglabs/wukong 0.0.9 → 0.0.11

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 (65) hide show
  1. package/dist/cli/exit-codes.js +12 -16
  2. package/dist/cli/exit-codes.js.map +1 -1
  3. package/dist/cli/help.js +4 -8
  4. package/dist/cli/help.js.map +1 -1
  5. package/dist/cli/session-commands.js +1 -4
  6. package/dist/cli/session-commands.js.map +1 -1
  7. package/dist/cli/summary.js +2 -6
  8. package/dist/cli/summary.js.map +1 -1
  9. package/dist/cli/workspace-commands.js +1 -4
  10. package/dist/cli/workspace-commands.js.map +1 -1
  11. package/dist/index.js +373 -121
  12. package/dist/index.js.map +1 -1
  13. package/dist/sigint-handler.d.ts +62 -0
  14. package/dist/sigint-handler.d.ts.map +1 -0
  15. package/dist/sigint-handler.js +62 -0
  16. package/dist/sigint-handler.js.map +1 -0
  17. package/dist/tui/app.d.ts +57 -0
  18. package/dist/tui/app.d.ts.map +1 -0
  19. package/dist/tui/app.js +268 -0
  20. package/dist/tui/app.js.map +1 -0
  21. package/dist/tui/header.d.ts +24 -0
  22. package/dist/tui/header.d.ts.map +1 -0
  23. package/dist/tui/header.js +26 -0
  24. package/dist/tui/header.js.map +1 -0
  25. package/dist/tui/permission-card.d.ts +27 -0
  26. package/dist/tui/permission-card.d.ts.map +1 -0
  27. package/dist/tui/permission-card.js +75 -0
  28. package/dist/tui/permission-card.js.map +1 -0
  29. package/dist/tui/plan-panel.d.ts +31 -0
  30. package/dist/tui/plan-panel.d.ts.map +1 -0
  31. package/dist/tui/plan-panel.js +30 -0
  32. package/dist/tui/plan-panel.js.map +1 -0
  33. package/dist/tui/response-panel.d.ts +49 -0
  34. package/dist/tui/response-panel.d.ts.map +1 -0
  35. package/dist/tui/response-panel.js +14 -0
  36. package/dist/tui/response-panel.js.map +1 -0
  37. package/dist/tui/run-ink.d.ts +22 -0
  38. package/dist/tui/run-ink.d.ts.map +1 -0
  39. package/dist/tui/run-ink.js +21 -0
  40. package/dist/tui/run-ink.js.map +1 -0
  41. package/dist/tui/should-use-tui.d.ts +25 -0
  42. package/dist/tui/should-use-tui.d.ts.map +1 -0
  43. package/dist/tui/should-use-tui.js +29 -0
  44. package/dist/tui/should-use-tui.js.map +1 -0
  45. package/dist/tui/text-input.d.ts +61 -0
  46. package/dist/tui/text-input.d.ts.map +1 -0
  47. package/dist/tui/text-input.js +318 -0
  48. package/dist/tui/text-input.js.map +1 -0
  49. package/dist/tui/thinking-panel.d.ts +32 -0
  50. package/dist/tui/thinking-panel.d.ts.map +1 -0
  51. package/dist/tui/thinking-panel.js +14 -0
  52. package/dist/tui/thinking-panel.js.map +1 -0
  53. package/dist/tui/tool-cards.d.ts +30 -0
  54. package/dist/tui/tool-cards.d.ts.map +1 -0
  55. package/dist/tui/tool-cards.js +37 -0
  56. package/dist/tui/tool-cards.js.map +1 -0
  57. package/dist/tui/use-input-history.d.ts +40 -0
  58. package/dist/tui/use-input-history.d.ts.map +1 -0
  59. package/dist/tui/use-input-history.js +123 -0
  60. package/dist/tui/use-input-history.js.map +1 -0
  61. package/dist/tui/use-plan-state.d.ts +4 -0
  62. package/dist/tui/use-plan-state.d.ts.map +1 -0
  63. package/dist/tui/use-plan-state.js +77 -0
  64. package/dist/tui/use-plan-state.js.map +1 -0
  65. package/package.json +9 -4
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * SIGINT graceful shutdown handler(§3.3 M3)。
3
+ *
4
+ * ## 两次 Ctrl+C 语义
5
+ *
6
+ * - **首次 Ctrl+C**:标记 abort(agent 在下个 step 边界检查到后优雅退出),
7
+ * 提示用户"再按一次立即退出"。
8
+ * - **二次 Ctrl+C**(在 `resetTimeoutMs` 窗口内):`process.exit(130)`(标准 SIGINT 退出码)。
9
+ * - **超时重置**:首次后超过 `resetTimeoutMs`(默认 3 秒)未收到二次,重置状态。
10
+ *
11
+ * ## 两条路径
12
+ *
13
+ * - **readline 路径**:Ctrl+C 走 OS SIGINT → `process.on('SIGINT')` → `requestAbort()`
14
+ * - **TUI 路径(Ink raw mode)**:Ink 拦截 Ctrl+C 不产生 SIGINT → TextInput 的 `onAbort` → `requestAbort()`
15
+ *
16
+ * 两条路径共用同一个 `AbortController` 状态机,保证语义一致。
17
+ *
18
+ * ## CI 模式
19
+ *
20
+ * CI 模式(`--yes` / `--json` / `CI=true` / 非 TTY)不安装此 handler,
21
+ * 保持 Node.js 默认行为(单次 SIGINT 即退)。参见 §1.3 能力分层。
22
+ */
23
+ export interface AbortControllerOptions {
24
+ /** 首次中断回调(标记 abort,提示用户) */
25
+ onFirstAbort: () => void;
26
+ /** 二次中断回调(清理后退出);调用后 handler 会 process.exit(130) */
27
+ onSecondAbort?: () => void;
28
+ /** 首次后多久重置状态(默认 3000ms) */
29
+ resetTimeoutMs?: number;
30
+ /** 是否安装 process SIGINT listener(readline 路径需要,TUI 路径不需要) */
31
+ installProcessHandler?: boolean;
32
+ }
33
+ export interface AbortController {
34
+ /** agent 在 step 边界调用,返回 true 表示收到中断请求 */
35
+ shouldAbort: () => boolean;
36
+ /** 触发中断请求(首次标记 + 提示,二次退出);由 UI 或 SIGINT handler 调用 */
37
+ requestAbort: () => void;
38
+ /** 卸载 process SIGINT listener(若安装了) */
39
+ uninstall: () => void;
40
+ /** 当前是否处于"已首次中断"状态 */
41
+ isFirstAbortReceived: () => boolean;
42
+ }
43
+ /**
44
+ * 创建 abort 状态机 + 可选安装 process SIGINT listener。
45
+ *
46
+ * 返回的 AbortController 供:
47
+ * - agent 通过 `shouldAbort()` 在 step 边界检查
48
+ * - UI(TUI TextInput)或 SIGINT handler 通过 `requestAbort()` 触发
49
+ */
50
+ export declare function createAbortController(options: AbortControllerOptions): AbortController;
51
+ /**
52
+ * 兼容旧 API(已废弃,新代码用 createAbortController)。
53
+ *
54
+ * 保留是因为 readline 路径只需要 SIGINT listener,不需要 UI 触发。
55
+ */
56
+ export declare function installGracefulShutdown(options: AbortControllerOptions): InstalledHandler;
57
+ export interface InstalledHandler {
58
+ uninstall: () => void;
59
+ isFirstSigintReceived: () => boolean;
60
+ requestAbort: () => void;
61
+ }
62
+ //# sourceMappingURL=sigint-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sigint-handler.d.ts","sourceRoot":"","sources":["../src/sigint-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,sBAAsB;IACrC,4BAA4B;IAC5B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,2BAA2B;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,sDAAsD;IACtD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,uCAAuC;IACvC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,sBAAsB;IACtB,oBAAoB,EAAE,MAAM,OAAO,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CA6CtF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,gBAAgB,CAQzF;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,qBAAqB,EAAE,MAAM,OAAO,CAAC;IACrC,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * 创建 abort 状态机 + 可选安装 process SIGINT listener。
3
+ *
4
+ * 返回的 AbortController 供:
5
+ * - agent 通过 `shouldAbort()` 在 step 边界检查
6
+ * - UI(TUI TextInput)或 SIGINT handler 通过 `requestAbort()` 触发
7
+ */
8
+ export function createAbortController(options) {
9
+ const { onFirstAbort, onSecondAbort, resetTimeoutMs = 3000, installProcessHandler = true } = options;
10
+ let firstReceived = false;
11
+ let resetTimer = null;
12
+ const requestAbort = () => {
13
+ if (!firstReceived) {
14
+ firstReceived = true;
15
+ onFirstAbort();
16
+ resetTimer = setTimeout(() => {
17
+ firstReceived = false;
18
+ resetTimer = null;
19
+ }, resetTimeoutMs);
20
+ return;
21
+ }
22
+ if (resetTimer) {
23
+ clearTimeout(resetTimer);
24
+ resetTimer = null;
25
+ }
26
+ onSecondAbort?.();
27
+ process.exit(130); // 128 + SIGINT(2) = 130
28
+ };
29
+ const sigintListener = () => requestAbort();
30
+ if (installProcessHandler) {
31
+ process.on('SIGINT', sigintListener);
32
+ }
33
+ return {
34
+ shouldAbort: () => firstReceived,
35
+ requestAbort,
36
+ uninstall: () => {
37
+ if (installProcessHandler) {
38
+ process.removeListener('SIGINT', sigintListener);
39
+ }
40
+ if (resetTimer) {
41
+ clearTimeout(resetTimer);
42
+ resetTimer = null;
43
+ }
44
+ },
45
+ isFirstAbortReceived: () => firstReceived,
46
+ };
47
+ }
48
+ /**
49
+ * 兼容旧 API(已废弃,新代码用 createAbortController)。
50
+ *
51
+ * 保留是因为 readline 路径只需要 SIGINT listener,不需要 UI 触发。
52
+ */
53
+ export function installGracefulShutdown(options) {
54
+ const controller = createAbortController(options);
55
+ return {
56
+ uninstall: controller.uninstall,
57
+ isFirstSigintReceived: controller.isFirstAbortReceived,
58
+ // 暴露 requestAbort 便于测试
59
+ requestAbort: controller.requestAbort,
60
+ };
61
+ }
62
+ //# sourceMappingURL=sigint-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sigint-handler.js","sourceRoot":"","sources":["../src/sigint-handler.ts"],"names":[],"mappings":"AA4CA;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IACnE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,GAAG,IAAI,EAAE,qBAAqB,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAErG,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,UAAU,GAA0B,IAAI,CAAC;IAE7C,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,IAAI,CAAC;YACrB,YAAY,EAAE,CAAC;YACf,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC3B,aAAa,GAAG,KAAK,CAAC;gBACtB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC,EAAE,cAAc,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,YAAY,CAAC,UAAU,CAAC,CAAC;YACzB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,aAAa,EAAE,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAwB;IAC7C,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC;IAE5C,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACL,WAAW,EAAE,GAAG,EAAE,CAAC,aAAa;QAChC,YAAY;QACZ,SAAS,EAAE,GAAG,EAAE;YACd,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,YAAY,CAAC,UAAU,CAAC,CAAC;gBACzB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QACD,oBAAoB,EAAE,GAAG,EAAE,CAAC,aAAa;KAC1C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAA+B;IACrE,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO;QACL,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,qBAAqB,EAAE,UAAU,CAAC,oBAAoB;QACtD,uBAAuB;QACvB,YAAY,EAAE,UAAU,CAAC,YAAY;KACtC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * TUI 主壳 —— 组合 Header / PlanPanel / ThinkingPanel / ToolCards / ResponsePanel / TextInput。
3
+ *
4
+ * ## 职责
5
+ *
6
+ * 1. 持有 TUI 状态(输入、流式文本、thinking、活跃 tool call、step、cache 命中率)
7
+ * 2. 订阅 EventBus:tool_call_start/end、step_start、cache_stat、plan_update(PlanPanel 自行订阅)
8
+ * 3. 接收 onStream 的 content_delta + thinking_delta(通过 streamSinkRef 桥接)
9
+ * 4. 调用 sendMessage 跑 agent;完成后落 lastCompleted
10
+ *
11
+ * ## M2-M5 增强
12
+ *
13
+ * - M2:Header 加 step counter + cache 命中率
14
+ * - M3:ToolCards 独立组件,>5 个折叠
15
+ * - M4:PlanPanel 订阅 plan_update
16
+ * - M5:ThinkingPanel 订阅 thinking_delta(通过 onStream 桥接)
17
+ */
18
+ import React from 'react';
19
+ import { CompletedRun } from './response-panel.js';
20
+ import type { EventBus, StreamEvent, ToolAuthorizer } from '@wukonglabs/wukong-agent-sdk';
21
+ /** 流式 sink:App 在 sendMessage 前设置,runInteractive 包成 onStream 传给 agent */
22
+ export type StreamSink = (event: StreamEvent) => void;
23
+ /** 可变引用(避免依赖 React 的 MutableRefObject 类型,便于非 hook 代码创建) */
24
+ export interface SinkRef {
25
+ current: StreamSink | null;
26
+ }
27
+ export interface AppHandlers {
28
+ /** 发送消息给 agent;返回 run 的结果 */
29
+ sendMessage: (input: string) => Promise<CompletedRun>;
30
+ /** EventBus 订阅(用于 tool_call 等事件) */
31
+ eventBus: EventBus;
32
+ /** 清空当前 session 历史 */
33
+ clearSession: () => Promise<void>;
34
+ /** 最大 step 数(用于 Header 显示);可选 */
35
+ maxSteps?: number;
36
+ /**
37
+ * 触发中断请求(§3.3 M3):TextInput 的 Ctrl+C 调用此方法。
38
+ * 由 index.ts 注入 abortController.requestAbort,实现两次 Ctrl+C 语义。
39
+ */
40
+ requestAbort?: () => void;
41
+ /** 查询当前是否已收到首次中断(用于 App 显示提示) */
42
+ isAbortRequested?: () => boolean;
43
+ /** 工具授权器(§3.6);交互模式注入,CI 模式不需要 */
44
+ authorizer?: ToolAuthorizer;
45
+ }
46
+ export interface AppProps {
47
+ model: string;
48
+ sessionUuidShort: string;
49
+ workspaceRoot: string;
50
+ handlers: AppHandlers;
51
+ /** 初始历史(从持久化文件读取) */
52
+ initialHistory?: string[];
53
+ /** 由 index.ts 创建的 mutable ref;App 在每次 sendMessage 前写入 sink */
54
+ streamSinkRef: SinkRef;
55
+ }
56
+ export declare function App({ model, sessionUuidShort, workspaceRoot, handlers, initialHistory, streamSinkRef, }: AppProps): React.ReactElement;
57
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,OAAO,EAAgC,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQjF,OAAO,KAAK,EAEV,QAAQ,EACR,WAAW,EAGX,cAAc,EACf,MAAM,8BAA8B,CAAC;AAEtC,wEAAwE;AACxE,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEtD,2DAA2D;AAC3D,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CAC5B;AAsDD,MAAM,WAAW,WAAW;IAC1B,6BAA6B;IAC7B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACtD,oCAAoC;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,sBAAsB;IACtB,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,kCAAkC;IAClC,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,qBAAqB;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,8DAA8D;IAC9D,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,GAAG,CAAC,EAClB,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,cAAmB,EACnB,aAAa,GACd,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,CAuR/B"}
@@ -0,0 +1,268 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * TUI 主壳 —— 组合 Header / PlanPanel / ThinkingPanel / ToolCards / ResponsePanel / TextInput。
4
+ *
5
+ * ## 职责
6
+ *
7
+ * 1. 持有 TUI 状态(输入、流式文本、thinking、活跃 tool call、step、cache 命中率)
8
+ * 2. 订阅 EventBus:tool_call_start/end、step_start、cache_stat、plan_update(PlanPanel 自行订阅)
9
+ * 3. 接收 onStream 的 content_delta + thinking_delta(通过 streamSinkRef 桥接)
10
+ * 4. 调用 sendMessage 跑 agent;完成后落 lastCompleted
11
+ *
12
+ * ## M2-M5 增强
13
+ *
14
+ * - M2:Header 加 step counter + cache 命中率
15
+ * - M3:ToolCards 独立组件,>5 个折叠
16
+ * - M4:PlanPanel 订阅 plan_update
17
+ * - M5:ThinkingPanel 订阅 thinking_delta(通过 onStream 桥接)
18
+ */
19
+ import { useState, useCallback, useEffect, useRef } from 'react';
20
+ import { Box, Text, Static, useApp, useStdout } from 'ink';
21
+ import { Header } from './header.js';
22
+ import { ResponsePanel } from './response-panel.js';
23
+ import { ToolCards } from './tool-cards.js';
24
+ import { PlanPanel } from './plan-panel.js';
25
+ import { ThinkingPanel } from './thinking-panel.js';
26
+ import { TextInput } from './text-input.js';
27
+ import { useInputHistory } from './use-input-history.js';
28
+ import { usePlanState } from './use-plan-state.js';
29
+ import { PermissionCard } from './permission-card.js';
30
+ /** 取文本末尾 N 行(限制动态区流式文本高度,避免超过终端高度触发重绘故障) */
31
+ function tailLines(text, maxLines) {
32
+ const lines = text.split('\n');
33
+ if (lines.length <= maxLines)
34
+ return text;
35
+ return lines.slice(lines.length - maxLines).join('\n');
36
+ }
37
+ /**
38
+ * 动态区高度硬约束(总和 ≤ 12 行)。
39
+ *
40
+ * 背景:Ink 的动态区通过"光标上移 N 行 + 清行 + 重画"实现就地更新;
41
+ * 当动态区总高度超过终端可视高度时,"上移 N 行"会推到 scrollback 里,
42
+ * 部分终端(如 vscode 内嵌终端)在 scrollback 区里执行"清行"会渲染出
43
+ * 贯穿终端全宽的空线框,视觉上就是"满屏空白线"。
44
+ *
45
+ * 修复:把动态区的每个组件都压到极限低高度,总和 ≤ 12 行,基本能容纳
46
+ * 到任何终端(包括 vscode 20 行的小终端)的可视区内。
47
+ *
48
+ * 分配:
49
+ * Header 1 行(去掉了 borderStyle)
50
+ * PlanPanel 最多 4 行(1 摘要 + 3 todo)
51
+ * Thinking 1 行(永远折叠为摘要)
52
+ * ToolCards 最多 6 行(1 头 + 2 卡片 × 最多 2 行 + 1 折叠提示;done 卡压成 1 行)
53
+ * Response 最多 3 行(streamingText tail)
54
+ * TextInput 1-2 行
55
+ * 快捷键提示 1 行
56
+ * marginTop 1 行
57
+ * ─────────
58
+ * 合计 ≤ 19 行(vscode 内嵌终端最小约 20 行,勉强留余量)
59
+ *
60
+ * 注:tools/thinking 现在会保留到用户下一次提交才清空(而不是 run 结束就清),
61
+ * 便于用户回看本轮"用了什么工具、思考了什么"。折叠靠 maxVisible 保证不会
62
+ * 让 tools 数量爆炸击穿高度上限。
63
+ */
64
+ const RESPONSE_TAIL_LINES = 3;
65
+ const PLAN_MAX_VISIBLE = 3;
66
+ const TOOLS_MAX_VISIBLE = 2;
67
+ export function App({ model, sessionUuidShort, workspaceRoot, handlers, initialHistory = [], streamSinkRef, }) {
68
+ const { exit } = useApp();
69
+ const { write } = useStdout();
70
+ const [input, setInput] = useState('');
71
+ const [streamingText, setStreamingText] = useState('');
72
+ const [streaming, setStreaming] = useState(false);
73
+ const [thinkingText, setThinkingText] = useState('');
74
+ const [thinkingStreaming, setThinkingStreaming] = useState(false);
75
+ // 注:动态区高度硬约束下,thinking 永远折叠为 1 行摘要,不再支持 t 键展开。
76
+ // 完整 thinking 内容在 stream 完成后可通过 session trace 查看。
77
+ const [busy, setBusy] = useState(false);
78
+ const [activeTools, setActiveTools] = useState([]);
79
+ const [history, setHistory] = useState([]);
80
+ const historyIdRef = useRef(0);
81
+ const [error, setError] = useState(undefined);
82
+ const [lastDurationMs, setLastDurationMs] = useState(undefined);
83
+ const [lastCompleted, setLastCompleted] = useState(undefined);
84
+ const [currentStep, setCurrentStep] = useState(0);
85
+ const [cacheHitRate, setCacheHitRate] = useState(undefined);
86
+ const [abortRequested, setAbortRequested] = useState(false);
87
+ const [exiting, setExiting] = useState(false);
88
+ const [pendingAuth, setPendingAuth] = useState(null);
89
+ // §3.6:把 authorizer 的 uiCallback 桥接到 PermissionCard
90
+ // 当 authorizer.requestAuthorization 调 uiCallback 时,设置 pendingAuth + 返回 promise
91
+ // PermissionCard 的 onSubmit resolve promise,清 pendingAuth
92
+ useEffect(() => {
93
+ if (!handlers.authorizer)
94
+ return;
95
+ handlers.authorizer.setUiCallback(async (request) => {
96
+ return new Promise((resolve) => {
97
+ setPendingAuth({ request, resolve });
98
+ });
99
+ });
100
+ return () => {
101
+ // 卸载时清掉 uiCallback(避免 stale)
102
+ handlers.authorizer?.setUiCallback(async () => ({ approved: true, decision: 'once' }));
103
+ };
104
+ }, [handlers.authorizer]);
105
+ const handleAuthSubmit = useCallback((result) => {
106
+ setPendingAuth((prev) => {
107
+ prev?.resolve(result);
108
+ return null;
109
+ });
110
+ }, []);
111
+ const inputHistory = useInputHistory(initialHistory);
112
+ const todos = usePlanState(handlers.eventBus);
113
+ // §3.3 M3:Ctrl+C 处理(由 TextInput 触发)
114
+ const handleAbort = useCallback(() => {
115
+ handlers.requestAbort?.();
116
+ // 标记状态以显示提示(首次中断后展示)
117
+ if (handlers.isAbortRequested?.()) {
118
+ setAbortRequested(true);
119
+ }
120
+ else {
121
+ // requestAbort 可能已触发首次,下次再查
122
+ setAbortRequested(true);
123
+ }
124
+ }, [handlers]);
125
+ // ── 订阅 EventBus ──
126
+ useEffect(() => {
127
+ const unsub = handlers.eventBus.on((event) => {
128
+ switch (event.type) {
129
+ case 'step_start':
130
+ setCurrentStep(event.data.step);
131
+ break;
132
+ case 'cache_stat':
133
+ setCacheHitRate(event.data.cumulativeHitRate);
134
+ break;
135
+ case 'tool_call_start': {
136
+ const tool = {
137
+ toolCallId: event.data.toolCallId,
138
+ name: event.data.name,
139
+ step: event.data.step,
140
+ startedAt: Date.now(),
141
+ };
142
+ setActiveTools((prev) => [...prev, tool]);
143
+ break;
144
+ }
145
+ case 'tool_call_end': {
146
+ // 只更新为已完成状态,保留在列表中直到下一轮 run 开始时清空。
147
+ // 这样用户能看到本轮 run 中触发过的所有工具(含耗时/结果预览),
148
+ // 而不是"闪一下就没了"。清空点见 handleSubmit 里 setActiveTools([])。
149
+ setActiveTools((prev) => prev.map((t) => t.toolCallId === event.data.toolCallId
150
+ ? {
151
+ ...t,
152
+ endedAt: Date.now(),
153
+ success: event.data.success,
154
+ resultPreview: event.data.resultPreview,
155
+ }
156
+ : t));
157
+ break;
158
+ }
159
+ default:
160
+ break;
161
+ }
162
+ });
163
+ return unsub;
164
+ }, [handlers.eventBus]);
165
+ // ── 提交输入 ──
166
+ const handleSubmit = useCallback(async (value) => {
167
+ if (exiting)
168
+ return;
169
+ const trimmed = value.trim();
170
+ if (!trimmed)
171
+ return;
172
+ // §3.3 M3:若已请求中断,不再接受新输入(等当前 run 退出)
173
+ if (abortRequested)
174
+ return;
175
+ // 内置命令
176
+ if (trimmed.toLowerCase() === 'exit' || trimmed.toLowerCase() === 'quit') {
177
+ setExiting(true);
178
+ write('\n👋 再见!\n');
179
+ exit();
180
+ return;
181
+ }
182
+ if (trimmed.toLowerCase() === 'clear') {
183
+ await handlers.clearSession();
184
+ setHistory([]);
185
+ return;
186
+ }
187
+ // 把用户输入固化到滚动历史(Static),不参与后续重绘
188
+ setHistory((prev) => [
189
+ ...prev,
190
+ { id: historyIdRef.current++, kind: 'user', text: trimmed },
191
+ ]);
192
+ setBusy(true);
193
+ setError(undefined);
194
+ setStreamingText('');
195
+ setStreaming(false);
196
+ setThinkingText('');
197
+ setThinkingStreaming(false);
198
+ // 新 run 开始时清空上一轮的 tools / 完成提示;这样上一轮的过程感会一直保留到用户
199
+ // 下一次提交为止,而不是运行完立刻消失(见 tool_call_end 分支的注释)。
200
+ setActiveTools([]);
201
+ setLastCompleted(undefined);
202
+ setCurrentStep(0);
203
+ setCacheHitRate(undefined);
204
+ // 设置流式 sink,让 index.ts 的 onStream 把 content_delta + thinking_delta 推进来
205
+ streamSinkRef.current = (event) => {
206
+ if (event.type === 'content_delta' && event.content) {
207
+ setStreamingText((prev) => prev + event.content);
208
+ setStreaming(true);
209
+ }
210
+ else if (event.type === 'thinking_delta' && event.thinking) {
211
+ setThinkingText((prev) => prev + event.thinking);
212
+ setThinkingStreaming(true);
213
+ }
214
+ else if (event.type === 'done') {
215
+ setStreaming(false);
216
+ setThinkingStreaming(false);
217
+ }
218
+ else if (event.type === 'error') {
219
+ setStreaming(false);
220
+ setThinkingStreaming(false);
221
+ setError(event.error ?? '流式错误');
222
+ }
223
+ };
224
+ try {
225
+ const completed = await handlers.sendMessage(trimmed);
226
+ // 固化助手响应到滚动历史(Static),清空动态区的流式/思考文本
227
+ setHistory((prev) => [
228
+ ...prev,
229
+ {
230
+ id: historyIdRef.current++,
231
+ kind: 'assistant',
232
+ text: completed.response,
233
+ stats: {
234
+ steps: completed.steps,
235
+ totalTokens: completed.totalTokens,
236
+ durationMs: completed.durationMs,
237
+ },
238
+ },
239
+ ]);
240
+ setLastDurationMs(completed.durationMs);
241
+ setLastCompleted(completed);
242
+ setStreamingText('');
243
+ setStreaming(false);
244
+ // 不清 thinkingText / activeTools / lastCompleted:让"本轮响应已完成 + thinking 摘要
245
+ // + 触发过的工具卡片"保留到用户下一次提交(handleSubmit 顶部统一清空)。
246
+ // 这样用户 run 结束后仍能看到明确的完成信号,而不是动态区突然清空、疑似渲染卡住。
247
+ setThinkingStreaming(false);
248
+ setCurrentStep(0);
249
+ }
250
+ catch (err) {
251
+ setError(err instanceof Error ? err.message : String(err));
252
+ }
253
+ finally {
254
+ streamSinkRef.current = null;
255
+ setBusy(false);
256
+ }
257
+ }, [exiting, handlers, exit, write, streamSinkRef]);
258
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Static, { items: history, children: (item) => _jsx(HistoryEntry, { item: item }, item.id) }), _jsxs(Box, { flexDirection: "column", children: [_jsx(Header, { model: model, sessionUuidShort: sessionUuidShort, workspaceRoot: workspaceRoot, busy: busy, lastDurationMs: lastDurationMs, currentStep: currentStep, maxSteps: handlers.maxSteps, cacheHitRate: cacheHitRate }), _jsx(PlanPanel, { todos: todos, maxVisible: PLAN_MAX_VISIBLE }), _jsx(ThinkingPanel, { thinking: thinkingText, streaming: thinkingStreaming, expanded: false }), _jsx(ToolCards, { tools: activeTools, maxVisible: TOOLS_MAX_VISIBLE }), _jsx(ResponsePanel, { streamingText: tailLines(streamingText, RESPONSE_TAIL_LINES), streaming: streaming, activeTools: [], lastCompleted: lastCompleted, error: error }), abortRequested && (_jsx(Box, { children: _jsx(Text, { color: "yellow", children: "\u26A0\uFE0F \u5DF2\u8BF7\u6C42\u4E2D\u65AD,\u7B49\u5F53\u524D\u6B65\u9AA4\u5B8C\u6210\u540E\u9000\u51FA;\u518D\u6309 Ctrl+C \u7ACB\u5373\u9000\u51FA" }) })), pendingAuth ? (_jsx(Box, { marginTop: 1, children: _jsx(PermissionCard, { request: pendingAuth.request, onSubmit: handleAuthSubmit }) })) : (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(TextInput, { value: input, onChange: setInput, onSubmit: handleSubmit, multiline: true, history: inputHistory, placeholder: "\u8F93\u5165\u6D88\u606F(Enter \u53D1\u9001,Shift+Enter \u6362\u884C,Ctrl+R \u53CD\u67E5\u5386\u53F2,exit \u9000\u51FA)", disabled: busy || abortRequested, onAbort: handleAbort }), _jsx(Text, { dimColor: true, children: "[Enter: \u53D1\u9001] [Shift+Enter: \u6362\u884C] [Ctrl+C: \u4E2D\u65AD/\u9000\u51FA] [Ctrl+R: \u53CD\u67E5\u5386\u53F2] [Ctrl+L: \u6E05\u5C4F]" })] }))] })] }));
259
+ }
260
+ /** 渲染一条已固化的对话记录(用于 Static) */
261
+ function HistoryEntry({ item }) {
262
+ if (item.kind === 'user') {
263
+ return (_jsxs(Box, { children: [_jsx(Text, { color: "green", children: '> ' }), _jsx(Text, { children: item.text })] }));
264
+ }
265
+ const s = item.stats;
266
+ return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Text, { color: "cyan", bold: true, children: "Wukong:" }), _jsx(Text, { children: item.text }), s && (_jsxs(Text, { dimColor: true, children: [' [步骤: ', s.steps, ' | Token: ', s.totalTokens.prompt + s.totalTokens.completion, ' (prompt=', s.totalTokens.prompt, ', completion=', s.totalTokens.completion, ')', ' | 耗时: ', (s.durationMs / 1000).toFixed(1), "s", ']'] }))] }));
267
+ }
268
+ //# sourceMappingURL=app.js.map