laohuang 0.4.2 → 0.5.0

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 (113) hide show
  1. package/README.md +10 -6
  2. package/dist/agent.d.ts +7 -27
  3. package/dist/agent.js +53 -567
  4. package/dist/agent.js.map +1 -1
  5. package/dist/capabilities.d.ts +19 -0
  6. package/dist/capabilities.js +29 -0
  7. package/dist/capabilities.js.map +1 -0
  8. package/dist/cli.d.ts +9 -6
  9. package/dist/cli.js +83 -70
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands.d.ts +20 -3
  12. package/dist/commands.js +39 -38
  13. package/dist/commands.js.map +1 -1
  14. package/dist/keybindings/default-keybindings.d.ts +2 -0
  15. package/dist/keybindings/default-keybindings.js +10 -0
  16. package/dist/keybindings/default-keybindings.js.map +1 -0
  17. package/dist/keybindings/hints.d.ts +3 -0
  18. package/dist/keybindings/hints.js +7 -0
  19. package/dist/keybindings/hints.js.map +1 -0
  20. package/dist/keybindings/key-id.d.ts +20 -0
  21. package/dist/keybindings/key-id.js +11 -0
  22. package/dist/keybindings/key-id.js.map +1 -0
  23. package/dist/keybindings/key-parser.d.ts +7 -0
  24. package/dist/keybindings/key-parser.js +92 -0
  25. package/dist/keybindings/key-parser.js.map +1 -0
  26. package/dist/keybindings/keybindings.d.ts +21 -0
  27. package/dist/keybindings/keybindings.js +65 -0
  28. package/dist/keybindings/keybindings.js.map +1 -0
  29. package/dist/routing.d.ts +2 -57
  30. package/dist/routing.js +3 -161
  31. package/dist/routing.js.map +1 -1
  32. package/dist/runtime/agent-step-runner.d.ts +51 -0
  33. package/dist/runtime/agent-step-runner.js +361 -0
  34. package/dist/runtime/agent-step-runner.js.map +1 -0
  35. package/dist/runtime/agent-turn-loop.d.ts +36 -0
  36. package/dist/runtime/agent-turn-loop.js +71 -0
  37. package/dist/runtime/agent-turn-loop.js.map +1 -0
  38. package/dist/runtime/guard-policy.d.ts +21 -0
  39. package/dist/runtime/guard-policy.js +93 -0
  40. package/dist/runtime/guard-policy.js.map +1 -0
  41. package/dist/runtime/history-committer.d.ts +34 -0
  42. package/dist/runtime/history-committer.js +77 -0
  43. package/dist/runtime/history-committer.js.map +1 -0
  44. package/dist/runtime/human-intent-router.d.ts +5 -0
  45. package/dist/runtime/human-intent-router.js +38 -0
  46. package/dist/runtime/human-intent-router.js.map +1 -0
  47. package/dist/runtime/model-runtime.d.ts +33 -0
  48. package/dist/runtime/model-runtime.js +70 -0
  49. package/dist/runtime/model-runtime.js.map +1 -0
  50. package/dist/runtime/queue-bridge.d.ts +11 -0
  51. package/dist/runtime/queue-bridge.js +2 -0
  52. package/dist/runtime/queue-bridge.js.map +1 -0
  53. package/dist/runtime/queue-dispatcher.d.ts +45 -0
  54. package/dist/runtime/queue-dispatcher.js +120 -0
  55. package/dist/runtime/queue-dispatcher.js.map +1 -0
  56. package/dist/runtime/runtime-events.d.ts +26 -0
  57. package/dist/runtime/runtime-events.js +21 -0
  58. package/dist/runtime/runtime-events.js.map +1 -0
  59. package/dist/runtime/session-action-protocol.d.ts +10 -0
  60. package/dist/runtime/session-action-protocol.js +64 -0
  61. package/dist/runtime/session-action-protocol.js.map +1 -0
  62. package/dist/runtime/session-action.d.ts +42 -0
  63. package/dist/runtime/session-action.js +3 -0
  64. package/dist/runtime/session-action.js.map +1 -0
  65. package/dist/runtime/task-lifecycle.d.ts +73 -0
  66. package/dist/runtime/task-lifecycle.js +267 -0
  67. package/dist/runtime/task-lifecycle.js.map +1 -0
  68. package/dist/runtime/tool-runtime.d.ts +33 -0
  69. package/dist/runtime/tool-runtime.js +89 -0
  70. package/dist/runtime/tool-runtime.js.map +1 -0
  71. package/dist/runtime/user-intent.d.ts +48 -0
  72. package/dist/runtime/user-intent.js +17 -0
  73. package/dist/runtime/user-intent.js.map +1 -0
  74. package/dist/session.d.ts +19 -9
  75. package/dist/session.js +119 -169
  76. package/dist/session.js.map +1 -1
  77. package/dist/terminal/editor.d.ts +16 -5
  78. package/dist/terminal/editor.js +99 -4
  79. package/dist/terminal/editor.js.map +1 -1
  80. package/dist/terminal/input.d.ts +2 -0
  81. package/dist/terminal/input.js +32 -7
  82. package/dist/terminal/input.js.map +1 -1
  83. package/dist/terminal/ui.d.ts +32 -21
  84. package/dist/terminal/ui.js +413 -252
  85. package/dist/terminal/ui.js.map +1 -1
  86. package/dist/tools.d.ts +7 -0
  87. package/dist/tools.js.map +1 -1
  88. package/dist/tui/components.d.ts +5 -0
  89. package/dist/tui/components.js +12 -0
  90. package/dist/tui/components.js.map +1 -0
  91. package/dist/tui/focus-manager.d.ts +7 -0
  92. package/dist/tui/focus-manager.js +13 -0
  93. package/dist/tui/focus-manager.js.map +1 -0
  94. package/dist/tui/overlay-manager.d.ts +12 -0
  95. package/dist/tui/overlay-manager.js +27 -0
  96. package/dist/tui/overlay-manager.js.map +1 -0
  97. package/dist/ui/display-actions.d.ts +23 -0
  98. package/dist/ui/display-actions.js +15 -0
  99. package/dist/ui/display-actions.js.map +1 -0
  100. package/dist/ui/display-policy.d.ts +38 -0
  101. package/dist/ui/display-policy.js +97 -0
  102. package/dist/ui/display-policy.js.map +1 -0
  103. package/dist/ui/frame-builder.d.ts +39 -0
  104. package/dist/ui/frame-builder.js +111 -0
  105. package/dist/ui/frame-builder.js.map +1 -0
  106. package/dist/ui/transcript-store.d.ts +35 -0
  107. package/dist/ui/transcript-store.js +172 -0
  108. package/dist/ui/transcript-store.js.map +1 -0
  109. package/dist/ui-state.js +6 -6
  110. package/dist/ui-state.js.map +1 -1
  111. package/dist/web.js +14 -1
  112. package/dist/web.js.map +1 -1
  113. package/package.json +2 -2
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /** Feature capabilities exposed by an agent runtime implementation. */
2
+ export interface RuntimeCapabilities {
3
+ readonly streaming: boolean;
4
+ readonly cancellation: boolean;
5
+ readonly queuedInput: boolean;
6
+ readonly commands: boolean;
7
+ readonly tools: boolean;
8
+ readonly reasoning: boolean;
9
+ }
10
+ export declare const DEFAULT_RUNTIME_CAPABILITIES: RuntimeCapabilities;
11
+ export type RuntimeCapability = keyof RuntimeCapabilities;
12
+ export declare const ACTION_CAPABILITIES: {
13
+ readonly cancel: "cancellation";
14
+ readonly toggle_tool_output: "tools";
15
+ readonly select_model: "commands";
16
+ readonly toggle_thinking: "reasoning";
17
+ readonly cycle_thinking: "reasoning";
18
+ };
19
+ export declare function unavailableActionNotice(action: keyof typeof ACTION_CAPABILITIES): string;
@@ -0,0 +1,29 @@
1
+ /** Feature capabilities exposed by an agent runtime implementation. */
2
+ export const DEFAULT_RUNTIME_CAPABILITIES = {
3
+ streaming: true,
4
+ cancellation: true,
5
+ queuedInput: true,
6
+ commands: true,
7
+ tools: true,
8
+ reasoning: false,
9
+ };
10
+ export const ACTION_CAPABILITIES = {
11
+ cancel: "cancellation",
12
+ toggle_tool_output: "tools",
13
+ select_model: "commands",
14
+ toggle_thinking: "reasoning",
15
+ cycle_thinking: "reasoning",
16
+ };
17
+ export function unavailableActionNotice(action) {
18
+ if (action === "select_model") {
19
+ return "Model selection is unavailable for this runtime.";
20
+ }
21
+ if (action === "toggle_thinking" || action === "cycle_thinking") {
22
+ return "Thinking controls are unavailable for this runtime.";
23
+ }
24
+ if (action === "toggle_tool_output") {
25
+ return "Tool output controls are unavailable for this runtime.";
26
+ }
27
+ return "Cancellation is unavailable for this runtime.";
28
+ }
29
+ //# sourceMappingURL=capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAWvE,MAAM,CAAC,MAAM,4BAA4B,GAAwB;IAC/D,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,KAAK;CACjB,CAAC;AAIF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,cAAc;IACtB,kBAAkB,EAAE,OAAO;IAC3B,YAAY,EAAE,UAAU;IACxB,eAAe,EAAE,WAAW;IAC5B,cAAc,EAAE,WAAW;CACnB,CAAC;AAEX,MAAM,UAAU,uBAAuB,CAAC,MAAwC;IAC9E,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC9B,OAAO,kDAAkD,CAAC;IAC5D,CAAC;IACD,IAAI,MAAM,KAAK,iBAAiB,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QAChE,OAAO,qDAAqD,CAAC;IAC/D,CAAC;IACD,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;QACpC,OAAO,wDAAwD,CAAC;IAClE,CAAC;IACD,OAAO,+CAA+C,CAAC;AACzD,CAAC"}
package/dist/cli.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  /** Command-line interface and subcommands for laoHuangCode. */
3
3
  import { type ClientConnectionSettings } from "./client.ts";
4
- import { type QueueStatus } from "./commands.ts";
4
+ import { type CommandResult, type QueueStatus } from "./commands.ts";
5
5
  import { type InputFn as PromptFn } from "./model-selection.ts";
6
- import { type Submission } from "./session.ts";
7
- import { PlainEventSink, TerminalUI } from "./terminal/ui.ts";
6
+ import type { SessionAction } from "./runtime/session-action.ts";
7
+ import { SessionState, type Submission } from "./session.ts";
8
+ import { PlainEventSink, TerminalUI, type SubmitOptions } from "./terminal/ui.ts";
8
9
  export declare const VERSION: string;
9
10
  type InputFn = (prompt: string) => string | Promise<string>;
10
11
  type OutputFn = (message: string) => void;
@@ -45,10 +46,12 @@ export declare function runRepl(agent: ReplAgentLike, options?: {
45
46
  }): Promise<void>;
46
47
  /** Minimal structural view of AgentSession the REPL loops rely on. */
47
48
  export interface SessionReplSession {
49
+ readonly state: SessionState;
48
50
  readonly eventBus: {
49
51
  flush(): Promise<unknown>;
50
52
  };
51
53
  submitInput(content: string): Promise<Submission>;
54
+ submitAction(action: SessionAction): Promise<Submission | CommandResult | boolean>;
52
55
  queueStatus(): QueueStatus;
53
56
  publishNotice(text: string, options?: {
54
57
  style?: string;
@@ -66,20 +69,20 @@ export interface SessionUiLike {
66
69
  showGoodbye?(): void;
67
70
  showError?(message: string): void;
68
71
  prompt?(): string | Promise<string>;
69
- run?(onSubmit: (text: string) => void): void | Promise<void>;
72
+ run?(onSubmit: (text: string, options?: SubmitOptions) => void): void | Promise<void>;
70
73
  requestExit?(): void;
71
74
  close?(): void;
72
75
  startEventRenderer?(): void;
73
76
  stopEventRenderer?(): void;
74
77
  flushEventRenderer?(): void;
75
78
  }
76
- export type CommandHandler = (command: string) => boolean | Promise<boolean>;
79
+ export type CommandHandler = (command: string) => CommandResult | Promise<CommandResult>;
77
80
  /** Keep accepting input while AgentSession executes in the background. */
78
81
  export declare function runSessionRepl(session: SessionReplSession, options: {
79
82
  commandHandler?: CommandHandler | undefined;
80
83
  ui: SessionUiLike;
81
84
  /** Override for driving a UI whose run() does not read real stdin. */
82
- runUi?: ((onSubmit: (text: string) => void) => void | Promise<void>) | undefined;
85
+ runUi?: ((onSubmit: (text: string, options?: SubmitOptions) => void) => void | Promise<void>) | undefined;
83
86
  }): Promise<boolean>;
84
87
  /** Run the same event-driven session with append-only plain output. */
85
88
  export declare function runPlainSessionRepl(session: SessionReplSession, options: {
package/dist/cli.js CHANGED
@@ -12,6 +12,8 @@ import { EventProjector } from "./events.js";
12
12
  import { ModelSelector } from "./model-selection.js";
13
13
  import { getProvider, providerNames } from "./providers.js";
14
14
  import { findProjectRoot } from "./project-instructions.js";
15
+ import { routeHumanIntent } from "./runtime/human-intent-router.js";
16
+ import { makeCancelIntent, makeFollowUpIntent, makePromptIntent, } from "./runtime/user-intent.js";
15
17
  import { SmallModelSemanticClassifier, } from "./semantic-classifier.js";
16
18
  import { AgentSession } from "./session.js";
17
19
  import { BufferedInputKind, EditorState, InputActionKind, RawInputDecoder, StdinBuffer, TerminalInputFilter, inputAction, } from "./terminal/editor.js";
@@ -436,40 +438,42 @@ function suggestCommand(ui, name) {
436
438
  * Shared input routing for the session REPLs. Returns false only for /exit,
437
439
  * which the persistent loop reports back to the terminal instead.
438
440
  */
439
- async function handleSessionInput(session, commandHandler, ui, userInput) {
440
- if (userInput === "/exit") {
441
- await session.submitInput(userInput);
442
- return false;
443
- }
441
+ async function handleSessionInput(session, commandHandler, ui, userInput, options = {}) {
444
442
  if (!userInput) {
445
443
  return true;
446
444
  }
447
- if (userInput.startsWith("/")) {
448
- if (userInput === "/cancel") {
449
- const submission = await session.submitInput(userInput);
450
- if (submission.taskId === null) {
451
- session.publishNotice("No active task to cancel.");
452
- }
453
- return true;
454
- }
455
- await session.submitInput(userInput);
456
- if (commandHandler !== undefined && (await commandHandler(userInput))) {
457
- return true;
458
- }
459
- const commandName = userInput.split(/\s/)[0] ?? userInput;
460
- const suggestion = suggestCommand(ui, commandName);
461
- const suffix = suggestion ? ` Did you mean ${suggestion}?` : "";
462
- session.publishNotice(`Unknown command: ${commandName}.${suffix}`);
463
- return true;
464
- }
445
+ const intent = options.strategy === "follow_up"
446
+ ? makeFollowUpIntent(userInput, "editor")
447
+ : makePromptIntent(userInput, "editor");
448
+ let action;
449
+ let result;
465
450
  let submission;
466
451
  try {
467
- submission = await session.submitInput(userInput);
452
+ action = routeHumanIntent(intent, session.state);
453
+ if (action.type === "exit") {
454
+ return false;
455
+ }
456
+ result = await session.submitAction(action);
468
457
  }
469
458
  catch (error) {
470
459
  session.publishNotice(`Error: ${errorMessage(error)}`, { style: "bold red" });
471
460
  return true;
472
461
  }
462
+ if (isCommandResult(result)) {
463
+ return handleCommandResult(session, ui, result);
464
+ }
465
+ if (typeof result === "boolean") {
466
+ if (action.type === "command") {
467
+ const commandResult = result
468
+ ? { status: "handled" }
469
+ : commandHandler === undefined
470
+ ? { status: "not_found", command: action.name }
471
+ : await commandHandler(action.text ?? [action.name, ...action.arguments].join(" "));
472
+ return handleCommandResult(session, ui, commandResult);
473
+ }
474
+ return true;
475
+ }
476
+ submission = result;
473
477
  if (submission.queued) {
474
478
  const status = session.queueStatus();
475
479
  session.publishNotice(`Message queued (pending ${status.pending ?? 0} · held ${status.held ?? 0}).`);
@@ -481,6 +485,30 @@ async function handleSessionInput(session, commandHandler, ui, userInput) {
481
485
  }
482
486
  return true;
483
487
  }
488
+ function isCommandResult(value) {
489
+ return (typeof value === "object" &&
490
+ value !== null &&
491
+ "status" in value &&
492
+ typeof value.status === "string");
493
+ }
494
+ async function handleCommandResult(session, ui, result) {
495
+ if (result.status === "handled" || result.status === "blocked") {
496
+ return true;
497
+ }
498
+ if (result.status === "exit_requested") {
499
+ return false;
500
+ }
501
+ if (result.status === "error") {
502
+ session.publishNotice(`Invalid command: ${errorMessage(result.error)}`, {
503
+ style: "bold red",
504
+ });
505
+ return true;
506
+ }
507
+ const suggestion = suggestCommand(ui, result.command);
508
+ const suffix = suggestion ? ` Did you mean ${suggestion}?` : "";
509
+ session.publishNotice(`Unknown command: ${result.command}.${suffix}`);
510
+ return true;
511
+ }
484
512
  /** Keep accepting input while AgentSession executes in the background. */
485
513
  export async function runSessionRepl(session, options) {
486
514
  if (options.runUi !== undefined || typeof options.ui.run === "function") {
@@ -558,7 +586,7 @@ function startCoordinator(session, commandHandler, ui) {
558
586
  if (item === null || stopping) {
559
587
  return;
560
588
  }
561
- await handleSessionInput(session, commandHandler, ui, item);
589
+ await handleSessionInput(session, commandHandler, ui, item.text, item.options ?? {});
562
590
  }
563
591
  catch (error) {
564
592
  errors.push(error);
@@ -569,9 +597,9 @@ function startCoordinator(session, commandHandler, ui) {
569
597
  }
570
598
  })();
571
599
  return {
572
- submit(text) {
600
+ submit(request) {
573
601
  unfinished += 1;
574
- queue.push(text);
602
+ queue.push(request);
575
603
  wake?.();
576
604
  },
577
605
  stop() {
@@ -622,18 +650,19 @@ async function waitForDrain(isDrained, timeoutMs) {
622
650
  /** Drive a single-renderer terminal without writing outside its layout. */
623
651
  async function runPersistentSessionRepl(session, options) {
624
652
  const { commandHandler, ui } = options;
625
- const runUi = options.runUi ?? ((onSubmit) => ui.run(onSubmit));
653
+ const runUi = options.runUi ??
654
+ ((onSubmit) => ui.run(onSubmit));
626
655
  ui.showWelcome?.();
627
656
  const coordinator = startCoordinator(session, commandHandler, ui);
628
657
  let cleanShutdown = false;
629
658
  try {
630
- const enqueue = (userInput) => {
659
+ const enqueue = (userInput, submitOptions = {}) => {
631
660
  // Exit is a local UI operation and should not wait behind a slow
632
661
  // semantic classification of an earlier queued message.
633
662
  if (userInput === "/exit") {
634
663
  void (async () => {
635
664
  try {
636
- await session.submitInput(userInput);
665
+ await handleSessionInput(session, commandHandler, ui, userInput, submitOptions);
637
666
  }
638
667
  catch (error) {
639
668
  try {
@@ -649,7 +678,7 @@ async function runPersistentSessionRepl(session, options) {
649
678
  ui.requestExit?.();
650
679
  return;
651
680
  }
652
- coordinator.submit(userInput);
681
+ coordinator.submit({ text: userInput, options: submitOptions });
653
682
  };
654
683
  await runUi(enqueue);
655
684
  }
@@ -712,43 +741,10 @@ export async function runPlainSessionRepl(session, options) {
712
741
  }
713
742
  throw error;
714
743
  }
715
- if (userInput === "/exit") {
716
- await session.submitInput(userInput);
744
+ const keepGoing = await handleSessionInput(session, commandHandler, null, userInput);
745
+ if (!keepGoing) {
717
746
  break;
718
747
  }
719
- if (!userInput) {
720
- continue;
721
- }
722
- if (userInput.startsWith("/")) {
723
- if (userInput === "/cancel") {
724
- const submission = await session.submitInput(userInput);
725
- if (submission.taskId === null) {
726
- session.publishNotice("No active task to cancel.");
727
- }
728
- continue;
729
- }
730
- await session.submitInput(userInput);
731
- if (commandHandler !== undefined && (await commandHandler(userInput))) {
732
- continue;
733
- }
734
- session.publishNotice(`Unknown command: ${userInput.split(/\s/)[0] ?? userInput}`);
735
- continue;
736
- }
737
- let submission;
738
- try {
739
- submission = await session.submitInput(userInput);
740
- }
741
- catch (error) {
742
- session.publishNotice(`Error: ${errorMessage(error)}`);
743
- continue;
744
- }
745
- if (submission.queued) {
746
- const status = session.queueStatus();
747
- session.publishNotice(`Message queued (pending ${status.pending ?? 0} · held ${status.held ?? 0}).`);
748
- }
749
- else if (submission.rejected) {
750
- session.publishNotice(`Message rejected: ${submission.reason}`);
751
- }
752
748
  }
753
749
  }
754
750
  finally {
@@ -1169,7 +1165,11 @@ export async function main(argv, options = {}) {
1169
1165
  // session.ts asserts at compile time that CodingAgent satisfies its
1170
1166
  // AgentRunnerLike contract (run(userInput, TaskContext)), so the agent can
1171
1167
  // be handed to the session directly — no adapter needed.
1172
- const runtime = new AgentSession(agent, { semanticClassifier });
1168
+ let commandDispatcher;
1169
+ const runtime = new AgentSession(agent, {
1170
+ semanticClassifier,
1171
+ commandDispatcher: (command) => commandDispatcher?.(command) ?? { status: "not_found", command },
1172
+ });
1173
1173
  const plainSink = terminalUi === null ? new PlainEventSink(outputFn) : null;
1174
1174
  const sessionSink = terminalUi ?? plainSink;
1175
1175
  let replInputFn = inputFn;
@@ -1240,18 +1240,31 @@ export async function main(argv, options = {}) {
1240
1240
  if (terminalUi !== null) {
1241
1241
  terminalUi.setCommandRegistry(commands.registry);
1242
1242
  terminalUi.setCancelCallback(() => {
1243
- void commands.handle("/cancel");
1243
+ const action = routeHumanIntent(makeCancelIntent("keyboard", "editor"), runtime.state);
1244
+ void runtime.submitAction(action);
1245
+ });
1246
+ terminalUi.setKeyActionCallback((action) => {
1247
+ if (action === "select_model") {
1248
+ void commandDispatcher?.("/model");
1249
+ return;
1250
+ }
1251
+ if (action === "clear_screen") {
1252
+ void commandDispatcher?.("/clear");
1253
+ return;
1254
+ }
1255
+ runtime.publishNotice(`Key action is unavailable: ${action}.`);
1244
1256
  });
1245
1257
  terminalUi.setRuntimeRunningCallback(() => runtime.activeTask !== null);
1246
1258
  }
1247
1259
  const handleCommand = async (command) => {
1248
- const handled = await commands.handle(command);
1260
+ const result = await commands.execute(command);
1249
1261
  semanticClassifier.configure({
1250
1262
  client: agent.client,
1251
1263
  model: agent.model,
1252
1264
  });
1253
- return handled;
1265
+ return result;
1254
1266
  };
1267
+ commandDispatcher = handleCommand;
1255
1268
  let cleanShutdown = false;
1256
1269
  try {
1257
1270
  if (terminalUi !== null && terminalDriver !== null) {