hoomanjs 1.22.2 → 1.23.1

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 (136) hide show
  1. package/README.md +39 -9
  2. package/dist/acp/acp-agent.js +48 -9
  3. package/dist/acp/acp-agent.js.map +1 -1
  4. package/dist/acp/approvals.d.ts +1 -1
  5. package/dist/acp/approvals.js +4 -3
  6. package/dist/acp/approvals.js.map +1 -1
  7. package/dist/acp/sessions/config-options.d.ts +6 -3
  8. package/dist/acp/sessions/config-options.js +46 -6
  9. package/dist/acp/sessions/config-options.js.map +1 -1
  10. package/dist/acp/sessions/store.d.ts +8 -0
  11. package/dist/acp/sessions/store.js.map +1 -1
  12. package/dist/chat/app.d.ts +1 -2
  13. package/dist/chat/app.js +209 -31
  14. package/dist/chat/app.js.map +1 -1
  15. package/dist/chat/approvals.d.ts +1 -3
  16. package/dist/chat/approvals.js +4 -3
  17. package/dist/chat/approvals.js.map +1 -1
  18. package/dist/chat/components/Composer.d.ts +3 -2
  19. package/dist/chat/components/Composer.js +5 -5
  20. package/dist/chat/components/Composer.js.map +1 -1
  21. package/dist/chat/components/PromptInput.d.ts +3 -2
  22. package/dist/chat/components/PromptInput.js +2 -1
  23. package/dist/chat/components/PromptInput.js.map +1 -1
  24. package/dist/chat/components/ScrollView.d.ts +5 -0
  25. package/dist/chat/components/ScrollView.js +8 -2
  26. package/dist/chat/components/ScrollView.js.map +1 -1
  27. package/dist/chat/components/SelectPicker.d.ts +11 -0
  28. package/dist/chat/components/SelectPicker.js +7 -0
  29. package/dist/chat/components/SelectPicker.js.map +1 -0
  30. package/dist/chat/components/SlashCommands.d.ts +2 -1
  31. package/dist/chat/components/SlashCommands.js +9 -3
  32. package/dist/chat/components/SlashCommands.js.map +1 -1
  33. package/dist/chat/components/StatusBar.d.ts +3 -1
  34. package/dist/chat/components/StatusBar.js +18 -2
  35. package/dist/chat/components/StatusBar.js.map +1 -1
  36. package/dist/chat/components/ThinkingStatus.js +1 -1
  37. package/dist/chat/components/ThinkingStatus.js.map +1 -1
  38. package/dist/chat/components/TranscriptViewport.js +1 -1
  39. package/dist/chat/components/TranscriptViewport.js.map +1 -1
  40. package/dist/chat/components/markdown/BlockRenderer.d.ts +6 -1
  41. package/dist/chat/components/markdown/BlockRenderer.js +16 -14
  42. package/dist/chat/components/markdown/BlockRenderer.js.map +1 -1
  43. package/dist/chat/components/markdown/CodeBlock.d.ts +3 -1
  44. package/dist/chat/components/markdown/CodeBlock.js +3 -3
  45. package/dist/chat/components/markdown/CodeBlock.js.map +1 -1
  46. package/dist/chat/components/markdown/MarkdownMessage.js +2 -2
  47. package/dist/chat/components/markdown/MarkdownMessage.js.map +1 -1
  48. package/dist/chat/components/markdown/MarkdownTable.d.ts +2 -1
  49. package/dist/chat/components/markdown/MarkdownTable.js +2 -2
  50. package/dist/chat/components/markdown/MarkdownTable.js.map +1 -1
  51. package/dist/chat/components/prompt-input/hooks/usePromptInputController.d.ts +1 -1
  52. package/dist/chat/components/prompt-input/hooks/usePromptInputController.js.map +1 -1
  53. package/dist/chat/components/prompt-input/usePromptInputController.d.ts +11 -1
  54. package/dist/chat/components/prompt-input/usePromptInputController.js +55 -3
  55. package/dist/chat/components/prompt-input/usePromptInputController.js.map +1 -1
  56. package/dist/chat/index.d.ts +0 -1
  57. package/dist/chat/index.js +1 -1
  58. package/dist/chat/index.js.map +1 -1
  59. package/dist/cli.js +38 -16
  60. package/dist/cli.js.map +1 -1
  61. package/dist/core/agent/index.d.ts +4 -0
  62. package/dist/core/agent/index.js +25 -6
  63. package/dist/core/agent/index.js.map +1 -1
  64. package/dist/core/agent/mode-aware-tool-registry.d.ts +10 -0
  65. package/dist/core/agent/mode-aware-tool-registry.js +21 -0
  66. package/dist/core/agent/mode-aware-tool-registry.js.map +1 -0
  67. package/dist/core/agent/sync-tool-registry-mode.d.ts +6 -0
  68. package/dist/core/agent/sync-tool-registry-mode.js +15 -0
  69. package/dist/core/agent/sync-tool-registry-mode.js.map +1 -0
  70. package/dist/core/agents/definitions.d.ts +1 -1
  71. package/dist/core/agents/definitions.js +2 -17
  72. package/dist/core/agents/definitions.js.map +1 -1
  73. package/dist/core/agents/tools.d.ts +1 -1
  74. package/dist/core/agents/tools.js +1 -1
  75. package/dist/core/index.d.ts +5 -0
  76. package/dist/core/index.js +2 -0
  77. package/dist/core/index.js.map +1 -1
  78. package/dist/core/prompts/agents/research.md +15 -14
  79. package/dist/core/prompts/modes/ask.md +21 -0
  80. package/dist/core/prompts/{agents → modes}/plan.md +6 -8
  81. package/dist/core/prompts/session-mode-appendix.d.ts +5 -0
  82. package/dist/core/prompts/session-mode-appendix.js +53 -0
  83. package/dist/core/prompts/session-mode-appendix.js.map +1 -0
  84. package/dist/core/prompts/static/planning.md +34 -0
  85. package/dist/core/prompts/static/subagents.md +2 -2
  86. package/dist/core/prompts/system.js +3 -2
  87. package/dist/core/prompts/system.js.map +1 -1
  88. package/dist/core/session-config.d.ts +0 -3
  89. package/dist/core/session-config.js +0 -7
  90. package/dist/core/session-config.js.map +1 -1
  91. package/dist/core/state/agent-app-state.d.ts +6 -0
  92. package/dist/core/state/agent-app-state.js +11 -0
  93. package/dist/core/state/agent-app-state.js.map +1 -0
  94. package/dist/core/state/plan.d.ts +23 -0
  95. package/dist/core/state/plan.js +34 -0
  96. package/dist/core/state/plan.js.map +1 -0
  97. package/dist/core/state/session-mode.d.ts +23 -0
  98. package/dist/core/state/session-mode.js +21 -0
  99. package/dist/core/state/session-mode.js.map +1 -0
  100. package/dist/core/state/tool-approvals.d.ts +13 -1
  101. package/dist/core/state/tool-approvals.js +138 -5
  102. package/dist/core/state/tool-approvals.js.map +1 -1
  103. package/dist/core/state/yolo.d.ts +12 -0
  104. package/dist/core/state/yolo.js +9 -0
  105. package/dist/core/state/yolo.js.map +1 -0
  106. package/dist/core/tools/filesystem.js +1 -19
  107. package/dist/core/tools/filesystem.js.map +1 -1
  108. package/dist/core/tools/index.d.ts +1 -0
  109. package/dist/core/tools/index.js +1 -0
  110. package/dist/core/tools/index.js.map +1 -1
  111. package/dist/core/tools/plan.d.ts +4 -0
  112. package/dist/core/tools/plan.js +113 -0
  113. package/dist/core/tools/plan.js.map +1 -0
  114. package/dist/core/tools/wiki.d.ts +2 -2
  115. package/dist/core/utils/normalize-user-path.d.ts +4 -0
  116. package/dist/core/utils/normalize-user-path.js +31 -0
  117. package/dist/core/utils/normalize-user-path.js.map +1 -0
  118. package/dist/core/utils/paths.d.ts +1 -0
  119. package/dist/core/utils/paths.js +3 -0
  120. package/dist/core/utils/paths.js.map +1 -1
  121. package/dist/daemon/approvals.d.ts +1 -3
  122. package/dist/daemon/approvals.js +4 -3
  123. package/dist/daemon/approvals.js.map +1 -1
  124. package/dist/daemon/index.d.ts +0 -1
  125. package/dist/daemon/index.js +0 -3
  126. package/dist/daemon/index.js.map +1 -1
  127. package/dist/exec/approvals.d.ts +1 -3
  128. package/dist/exec/approvals.js +4 -3
  129. package/dist/exec/approvals.js.map +1 -1
  130. package/dist/index.d.ts +3 -0
  131. package/dist/index.js +3 -0
  132. package/dist/index.js.map +1 -1
  133. package/package.json +1 -1
  134. package/dist/chat/components/ModelPicker.d.ts +0 -10
  135. package/dist/chat/components/ModelPicker.js +0 -7
  136. package/dist/chat/components/ModelPicker.js.map +0 -1
package/dist/chat/app.js CHANGED
@@ -8,7 +8,7 @@ import { takeFileToolDisplay } from "../core/state/file-tool-display.js";
8
8
  import { ChatApprovalController, createChatApprovalHandler, } from "./approvals.js";
9
9
  import { ApprovalPrompt } from "./components/ApprovalPrompt.js";
10
10
  import { Composer } from "./components/Composer.js";
11
- import { ModelPicker } from "./components/ModelPicker.js";
11
+ import { SelectPicker } from "./components/SelectPicker.js";
12
12
  import { QueuedPrompts } from "./components/QueuedPrompts.js";
13
13
  import { SlashCommands } from "./components/SlashCommands.js";
14
14
  import { StatusBar } from "./components/StatusBar.js";
@@ -16,6 +16,10 @@ import { TodoPanel } from "./components/TodoPanel.js";
16
16
  import { TranscriptViewport } from "./components/TranscriptViewport.js";
17
17
  import { getTodoViewState } from "../core/state/todos.js";
18
18
  import { isExitRequested } from "../core/state/exit-request.js";
19
+ import { copyAgentAppState } from "../core/state/agent-app-state.js";
20
+ import { getModeState, setSessionMode, } from "../core/state/session-mode.js";
21
+ import { isYoloEnabled, setYoloEnabled } from "../core/state/yolo.js";
22
+ import { applySessionMode } from "../core/agent/sync-tool-registry-mode.js";
19
23
  import { attachmentPathsToPromptBlocks } from "../core/utils/attachments.js";
20
24
  import { isMouseInput } from "./mouse.js";
21
25
  function normalizePromptSubmission(value) {
@@ -29,7 +33,7 @@ function normalizePromptSubmission(value) {
29
33
  ],
30
34
  };
31
35
  }
32
- const INPUT_HINT = "enter: queue prompt | /model: view or switch models | shift/meta+enter or \\+enter: newline | esc/ctrl+c: cancel or exit";
36
+ const INPUT_HINT = "shift/meta+enter or \\+enter: newline | esc/ctrl+c: cancel or exit";
33
37
  function nowId() {
34
38
  return `${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
35
39
  }
@@ -78,7 +82,8 @@ function currentModelLabel(config) {
78
82
  if (!active) {
79
83
  return "unknown";
80
84
  }
81
- return `${active.name} (${active.options.provider}/${active.options.model})`;
85
+ // return `${active.name} (${active.options.provider}/${active.options.model})`;
86
+ return active.name;
82
87
  }
83
88
  function parseChatCommand(text) {
84
89
  const trimmed = text.trim();
@@ -98,6 +103,33 @@ function parseChatCommand(text) {
98
103
  args: withoutSlash.slice(firstSpace + 1).trim(),
99
104
  };
100
105
  }
106
+ function parseYoloToggleArg(raw) {
107
+ const t = raw.trim().toLowerCase();
108
+ if (t === "on" ||
109
+ t === "true" ||
110
+ t === "1" ||
111
+ t === "yes" ||
112
+ t === "enable" ||
113
+ t === "enabled") {
114
+ return true;
115
+ }
116
+ if (t === "off" ||
117
+ t === "false" ||
118
+ t === "0" ||
119
+ t === "no" ||
120
+ t === "disable" ||
121
+ t === "disabled") {
122
+ return false;
123
+ }
124
+ return undefined;
125
+ }
126
+ function parseSessionModeArg(raw) {
127
+ const t = raw.trim().toLowerCase();
128
+ if (t === "default" || t === "plan" || t === "ask") {
129
+ return t;
130
+ }
131
+ return undefined;
132
+ }
101
133
  function listModelsText(config) {
102
134
  const current = currentModelName(config);
103
135
  const options = config.llms.map((entry) => {
@@ -116,6 +148,14 @@ const SLASH_COMMANDS = [
116
148
  name: "model",
117
149
  description: "Show a picker or switch to a named model for this chat session.",
118
150
  },
151
+ {
152
+ name: "yolo",
153
+ description: "Toggle auto-approve tools (picker or /yolo on|off) for this chat session.",
154
+ },
155
+ {
156
+ name: "mode",
157
+ description: "Switch session mode: Default, Plan (narrow + plan tools), or Ask (narrow, no plan tools).",
158
+ },
119
159
  ];
120
160
  function matchingSlashCommands(input) {
121
161
  const trimmed = input.trimStart();
@@ -131,7 +171,7 @@ function matchingSlashCommands(input) {
131
171
  }
132
172
  return SLASH_COMMANDS.filter((item) => item.name.startsWith(query));
133
173
  }
134
- export function ChatApp({ agent, config, sessionId, manager, registry, initialPrompt, yolo, onExit, }) {
174
+ export function ChatApp({ agent, config, sessionId, manager, registry, initialPrompt, onExit, }) {
135
175
  const { exit } = useApp();
136
176
  const { rows } = useWindowSize();
137
177
  const [currentAgent, setCurrentAgent] = useState(agent);
@@ -151,7 +191,13 @@ export function ChatApp({ agent, config, sessionId, manager, registry, initialPr
151
191
  latencyMs: 0,
152
192
  });
153
193
  const [pendingApproval, setPendingApproval] = useState(null);
154
- const [showModelPicker, setShowModelPicker] = useState(false);
194
+ const [picker, setPicker] = useState(null);
195
+ /** Forces StatusBar to re-read yolo/mode from agent when those change without a picker close or rebuild. */
196
+ const [, setSessionChromeEpoch] = useState(0);
197
+ const bumpSessionChrome = useCallback(() => {
198
+ setSessionChromeEpoch((n) => n + 1);
199
+ }, []);
200
+ const [slashHighlightIndex, setSlashHighlightIndex] = useState(0);
155
201
  const [queuedPrompts, setQueuedPrompts] = useState([]);
156
202
  const [liveReasoning, setLiveReasoning] = useState("");
157
203
  const [followRequest, setFollowRequest] = useState(0);
@@ -199,12 +245,12 @@ export function ChatApp({ agent, config, sessionId, manager, registry, initialPr
199
245
  const cleanupListener = controller.subscribe(() => {
200
246
  setPendingApproval(controller.pending);
201
247
  });
202
- const cleanupHook = currentAgent.addHook(BeforeToolCallEvent, createChatApprovalHandler(controller, { yolo }));
248
+ const cleanupHook = currentAgent.addHook(BeforeToolCallEvent, createChatApprovalHandler(controller));
203
249
  return () => {
204
250
  cleanupListener();
205
251
  cleanupHook();
206
252
  };
207
- }, [currentAgent, yolo]);
253
+ }, [currentAgent]);
208
254
  useEffect(() => {
209
255
  let active = true;
210
256
  const refresh = () => {
@@ -222,6 +268,35 @@ export function ChatApp({ agent, config, sessionId, manager, registry, initialPr
222
268
  }, [currentAgent, running]);
223
269
  const totalTools = currentAgent.tools?.length ?? 0;
224
270
  const slashCommands = useMemo(() => matchingSlashCommands(input), [input]);
271
+ useEffect(() => {
272
+ setSlashHighlightIndex((i) => {
273
+ if (slashCommands.length === 0) {
274
+ return 0;
275
+ }
276
+ return Math.min(Math.max(0, i), slashCommands.length - 1);
277
+ });
278
+ }, [slashCommands]);
279
+ const completeSlashCommand = useCallback(() => {
280
+ const cmd = slashCommands[slashHighlightIndex];
281
+ if (!cmd) {
282
+ return;
283
+ }
284
+ setInput(`/${cmd.name} `);
285
+ }, [slashCommands, slashHighlightIndex]);
286
+ const slashMenu = useMemo(() => {
287
+ if (slashCommands.length === 0) {
288
+ return undefined;
289
+ }
290
+ const hi = Math.min(slashHighlightIndex, slashCommands.length - 1);
291
+ const row = slashCommands[hi];
292
+ return {
293
+ itemCount: slashCommands.length,
294
+ highlightIndex: hi,
295
+ highlightedCommandName: row?.name ?? "",
296
+ onHighlightChange: setSlashHighlightIndex,
297
+ completeSelected: completeSlashCommand,
298
+ };
299
+ }, [slashCommands, slashHighlightIndex, completeSlashCommand]);
225
300
  const appendLine = useCallback((line) => {
226
301
  setLines((prev) => [...prev, line]);
227
302
  }, []);
@@ -252,11 +327,13 @@ export function ChatApp({ agent, config, sessionId, manager, registry, initialPr
252
327
  }, []);
253
328
  const rebuildAgent = useCallback(async () => {
254
329
  const messageSnapshot = currentAgent.messages.map((message) => message.toJSON());
255
- const { agent: nextAgent, mcp: { manager: nextManager }, } = await bootstrap("default", { sessionId }, false, config);
330
+ const { agent: nextAgent, mcp: { manager: nextManager }, } = await bootstrap("default", { sessionId, yolo: isYoloEnabled(currentAgent) }, false, config);
256
331
  nextAgent.messages.length = 0;
257
332
  for (const message of messageSnapshot) {
258
333
  nextAgent.messages.push(Message.fromJSON(message));
259
334
  }
335
+ copyAgentAppState(currentAgent, nextAgent);
336
+ applySessionMode(nextAgent);
260
337
  setCurrentAgent(nextAgent);
261
338
  setCurrentManager(nextManager);
262
339
  await currentManager.disconnect();
@@ -273,7 +350,7 @@ export function ChatApp({ agent, config, sessionId, manager, registry, initialPr
273
350
  return;
274
351
  }
275
352
  if (!args) {
276
- setShowModelPicker(true);
353
+ setPicker("model");
277
354
  return;
278
355
  }
279
356
  const match = config.llms.find((entry) => entry.name === args);
@@ -288,13 +365,6 @@ export function ChatApp({ agent, config, sessionId, manager, registry, initialPr
288
365
  return;
289
366
  }
290
367
  if (match.name === currentModelName(config)) {
291
- appendLine({
292
- id: nowId(),
293
- role: "system",
294
- title: "model",
295
- content: `Already using ${currentModelLabel(config)}.`,
296
- done: true,
297
- });
298
368
  return;
299
369
  }
300
370
  const previous = currentModelName(config);
@@ -306,13 +376,6 @@ export function ChatApp({ agent, config, sessionId, manager, registry, initialPr
306
376
  });
307
377
  try {
308
378
  await rebuildAgent();
309
- appendLine({
310
- id: nowId(),
311
- role: "system",
312
- title: "model",
313
- content: `Switched to ${currentModelLabel(config)} for this chat session.`,
314
- done: true,
315
- });
316
379
  }
317
380
  catch (error) {
318
381
  config.update({
@@ -330,6 +393,75 @@ export function ChatApp({ agent, config, sessionId, manager, registry, initialPr
330
393
  });
331
394
  }
332
395
  }, [appendLine, config, rebuildAgent]);
396
+ const handleYoloCommand = useCallback(async (args) => {
397
+ if (runningRef.current) {
398
+ appendLine({
399
+ id: nowId(),
400
+ role: "system",
401
+ title: "yolo",
402
+ content: "Wait for the active turn to finish before changing yolo mode.",
403
+ done: true,
404
+ });
405
+ return;
406
+ }
407
+ const trimmed = args.trim();
408
+ if (!trimmed) {
409
+ setPicker("yolo");
410
+ return;
411
+ }
412
+ const enabled = parseYoloToggleArg(trimmed);
413
+ if (enabled === undefined) {
414
+ appendLine({
415
+ id: nowId(),
416
+ role: "system",
417
+ title: "yolo",
418
+ content: `Unknown value "${trimmed}". Use on or off (or yes/no, true/false, enable/disable).`,
419
+ done: true,
420
+ });
421
+ return;
422
+ }
423
+ const prev = isYoloEnabled(currentAgent);
424
+ if (prev === enabled) {
425
+ return;
426
+ }
427
+ setYoloEnabled(currentAgent, enabled);
428
+ bumpSessionChrome();
429
+ }, [appendLine, bumpSessionChrome, currentAgent]);
430
+ const handleModeCommand = useCallback(async (args) => {
431
+ if (runningRef.current) {
432
+ appendLine({
433
+ id: nowId(),
434
+ role: "system",
435
+ title: "mode",
436
+ content: "Wait for the active turn to finish before switching session mode.",
437
+ done: true,
438
+ });
439
+ return;
440
+ }
441
+ const trimmed = args.trim();
442
+ if (!trimmed) {
443
+ setPicker("mode");
444
+ return;
445
+ }
446
+ const mode = parseSessionModeArg(trimmed);
447
+ if (!mode) {
448
+ appendLine({
449
+ id: nowId(),
450
+ role: "system",
451
+ title: "mode",
452
+ content: `Unknown mode "${trimmed}". Use default, plan, or ask, or open the picker with /mode.`,
453
+ done: true,
454
+ });
455
+ return;
456
+ }
457
+ const prev = getModeState(currentAgent).mode;
458
+ if (prev === mode) {
459
+ return;
460
+ }
461
+ setSessionMode(currentAgent, mode);
462
+ applySessionMode(currentAgent);
463
+ bumpSessionChrome();
464
+ }, [appendLine, bumpSessionChrome, currentAgent]);
333
465
  const runTurn = useCallback(async (prompt) => {
334
466
  const trimmed = prompt.text.trim();
335
467
  if (!trimmed && prompt.attachments.length === 0) {
@@ -581,12 +713,28 @@ export function ChatApp({ agent, config, sessionId, manager, registry, initialPr
581
713
  setInput("");
582
714
  return;
583
715
  }
716
+ if (command.name === "yolo") {
717
+ void handleYoloCommand(command.args);
718
+ setInput("");
719
+ return;
720
+ }
721
+ if (command.name === "mode") {
722
+ void handleModeCommand(command.args);
723
+ setInput("");
724
+ return;
725
+ }
584
726
  }
585
727
  if (pushPrompt(value)) {
586
728
  setFollowRequest((value) => value + 1);
587
729
  setInput("");
588
730
  }
589
- }, [handleModelCommand, pendingApproval, pushPrompt]);
731
+ }, [
732
+ handleModelCommand,
733
+ handleModeCommand,
734
+ handleYoloCommand,
735
+ pendingApproval,
736
+ pushPrompt,
737
+ ]);
590
738
  useInput((inputKey, key) => {
591
739
  if (isMouseInput(inputKey)) {
592
740
  return;
@@ -597,8 +745,8 @@ export function ChatApp({ agent, config, sessionId, manager, registry, initialPr
597
745
  setStatus("cancel requested");
598
746
  return;
599
747
  }
600
- if (showModelPicker) {
601
- setShowModelPicker(false);
748
+ if (picker) {
749
+ setPicker(null);
602
750
  return;
603
751
  }
604
752
  onExit();
@@ -606,8 +754,8 @@ export function ChatApp({ agent, config, sessionId, manager, registry, initialPr
606
754
  return;
607
755
  }
608
756
  if (key.escape) {
609
- if (showModelPicker) {
610
- setShowModelPicker(false);
757
+ if (picker) {
758
+ setPicker(null);
611
759
  return;
612
760
  }
613
761
  if (runningRef.current) {
@@ -632,12 +780,42 @@ export function ChatApp({ agent, config, sessionId, manager, registry, initialPr
632
780
  const statusLabel = running && activeTodo
633
781
  ? activeTodo.activeForm.trim() || activeTodo.content
634
782
  : status;
635
- return (_jsxs(Box, { flexDirection: "column", width: "100%", height: rows, paddingX: 1, children: [_jsx(TranscriptViewport, { lines: lines, liveReasoning: liveReasoning, followRequest: followRequest }), _jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [running && todoState.visible && todoState.todos.length > 0 ? (_jsx(TodoPanel, { todos: todoState.todos })) : null, _jsx(QueuedPrompts, { prompts: queuedPrompts }), pendingApproval ? (_jsx(ApprovalPrompt, { onDecision: (decision) => controllerRef.current.decide(decision) })) : null, !pendingApproval && showModelPicker ? (_jsx(ModelPicker, { items: config.llms.map((entry) => ({
783
+ return (_jsxs(Box, { flexDirection: "column", width: "100%", height: rows, paddingX: 1, children: [_jsx(TranscriptViewport, { lines: lines, liveReasoning: liveReasoning, followRequest: followRequest }), _jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [running && todoState.visible && todoState.todos.length > 0 ? (_jsx(TodoPanel, { todos: todoState.todos })) : null, _jsx(QueuedPrompts, { prompts: queuedPrompts }), pendingApproval ? (_jsx(ApprovalPrompt, { onDecision: (decision) => controllerRef.current.decide(decision) })) : null, !pendingApproval && picker === "model" ? (_jsx(SelectPicker, { title: "Choose model", items: config.llms.map((entry) => ({
636
784
  label: `${entry.name} • ${entry.options.provider}/${entry.options.model}${entry.default ? " • current" : ""}`,
637
785
  value: entry.name,
638
786
  })), onSelect: (name) => {
639
- setShowModelPicker(false);
787
+ setPicker(null);
640
788
  void handleModelCommand(name);
641
- } })) : null, !pendingApproval && !showModelPicker ? (_jsx(Composer, { input: input, running: running, disabled: Boolean(pendingApproval) || showModelPicker, hint: INPUT_HINT, onChange: setInput, onSubmit: onSubmit })) : null, !pendingApproval && !showModelPicker ? (_jsx(SlashCommands, { items: slashCommands })) : null, _jsx(StatusBar, { running: running, status: status, statusLabel: statusLabel, sessionId: sessionId, currentModel: currentModelLabel(config), elapsedLabel: elapsedLabel, turnCount: turnCount, totalTools: totalTools, skillsFound: skillsFound, manager: currentManager, usage: usage })] })] }));
789
+ } })) : null, !pendingApproval && picker === "yolo" ? (_jsx(SelectPicker, { title: "Auto-approve tools (yolo)", items: [
790
+ {
791
+ label: `Off • confirm each tool${!isYoloEnabled(currentAgent) ? " • current" : ""}`,
792
+ value: "off",
793
+ },
794
+ {
795
+ label: `On • run tools without prompts${isYoloEnabled(currentAgent) ? " • current" : ""}`,
796
+ value: "on",
797
+ },
798
+ ], onSelect: (v) => {
799
+ setPicker(null);
800
+ void handleYoloCommand(v);
801
+ } })) : null, !pendingApproval && picker === "mode" ? (_jsx(SelectPicker, { title: "Session mode", items: [
802
+ {
803
+ label: `Default • full tool surface${getModeState(currentAgent).mode === "default"
804
+ ? " • current"
805
+ : ""}`,
806
+ value: "default",
807
+ },
808
+ {
809
+ label: `Plan • narrow tools + plan file${getModeState(currentAgent).mode === "plan" ? " • current" : ""}`,
810
+ value: "plan",
811
+ },
812
+ {
813
+ label: `Ask • narrow tools, no plan workflow${getModeState(currentAgent).mode === "ask" ? " • current" : ""}`,
814
+ value: "ask",
815
+ },
816
+ ], onSelect: (v) => {
817
+ setPicker(null);
818
+ void handleModeCommand(v);
819
+ } })) : null, !pendingApproval && !picker ? (_jsx(SlashCommands, { items: slashCommands, highlightIndex: slashHighlightIndex })) : null, !pendingApproval && !picker ? (_jsx(Composer, { input: input, running: running, disabled: Boolean(pendingApproval), hint: INPUT_HINT, onChange: setInput, onSubmit: onSubmit, slashMenu: slashMenu })) : null, _jsx(StatusBar, { running: running, status: status, statusLabel: statusLabel, sessionId: sessionId, currentModel: currentModelLabel(config), yoloOn: isYoloEnabled(currentAgent), sessionMode: getModeState(currentAgent).mode, elapsedLabel: elapsedLabel, turnCount: turnCount, totalTools: totalTools, skillsFound: skillsFound, manager: currentManager, usage: usage })] })] }));
642
820
  }
643
821
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/chat/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/chat/app.tsx"],"names":[],"mappings":"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"}
@@ -10,6 +10,4 @@ export declare class ChatApprovalController {
10
10
  decide(decision: ApprovalDecision): void;
11
11
  private emit;
12
12
  }
13
- export declare function createChatApprovalHandler(controller: ChatApprovalController, options?: {
14
- yolo?: boolean;
15
- }): (event: BeforeToolCallEvent) => Promise<void>;
13
+ export declare function createChatApprovalHandler(controller: ChatApprovalController): (event: BeforeToolCallEvent) => Promise<void>;
@@ -1,4 +1,5 @@
1
1
  import { INTERNAL_ALWAYS_ALLOWED, allowToolForSession, isToolSessionAllowed, } from "../core/state/tool-approvals.js";
2
+ import { isYoloEnabled } from "../core/state/yolo.js";
2
3
  const INPUT_PREVIEW_LIMIT = 256;
3
4
  function previewInput(input) {
4
5
  try {
@@ -50,14 +51,14 @@ export class ChatApprovalController {
50
51
  }
51
52
  }
52
53
  }
53
- export function createChatApprovalHandler(controller, options) {
54
+ export function createChatApprovalHandler(controller) {
54
55
  return async (event) => {
55
56
  const toolName = event.toolUse.name;
56
- if (options?.yolo) {
57
+ if (isYoloEnabled(event.agent)) {
57
58
  return;
58
59
  }
59
60
  if (INTERNAL_ALWAYS_ALLOWED.has(toolName) ||
60
- isToolSessionAllowed(event.agent, toolName)) {
61
+ isToolSessionAllowed(event.agent, toolName, event.toolUse.input)) {
61
62
  return;
62
63
  }
63
64
  const decision = await controller.request(event);
@@ -1 +1 @@
1
- {"version":3,"file":"approvals.js","sourceRoot":"","sources":["../../src/chat/approvals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approvals.js","sourceRoot":"","sources":["../../src/chat/approvals.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { PromptSubmission } from "./prompt-input/hooks/usePromptInputController.js";
1
+ import type { PromptSubmission, SlashCommandMenuProps } from "./prompt-input/hooks/usePromptInputController.js";
2
2
  type ComposerProps = {
3
3
  input: string;
4
4
  running: boolean;
@@ -6,6 +6,7 @@ type ComposerProps = {
6
6
  hint: string;
7
7
  onChange: (value: string) => void;
8
8
  onSubmit: (value: PromptSubmission) => void;
9
+ slashMenu?: SlashCommandMenuProps | undefined;
9
10
  };
10
- export declare function Composer({ input, running, disabled, hint, onChange, onSubmit, }: ComposerProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function Composer({ input, running, disabled, hint, onChange, onSubmit, slashMenu, }: ComposerProps): import("react/jsx-runtime").JSX.Element;
11
12
  export {};
@@ -1,9 +1,9 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from "ink";
3
3
  import { PromptInput } from "./PromptInput.js";
4
- export function Composer({ input, running, disabled, hint, onChange, onSubmit, }) {
5
- return (_jsxs(_Fragment, { children: [_jsxs(Box, { borderStyle: "round", borderColor: "gray", paddingX: 1, children: [_jsx(Text, { color: "gray", children: "> " }), _jsx(PromptInput, { value: input, onChange: onChange, onSubmit: onSubmit, placeholder: running
6
- ? "Type a message (queued after current turn)"
7
- : "Type a message", focus: !disabled, maxVisibleLines: 4 })] }), _jsx(Box, { children: _jsx(Text, { color: "gray", children: hint }) })] }));
4
+ export function Composer({ input, running, disabled, hint, onChange, onSubmit, slashMenu, }) {
5
+ return (_jsxs(_Fragment, { children: [_jsx(Box, { borderStyle: "single", borderColor: "gray", borderTop: true, borderBottom: true, borderLeft: false, borderRight: false, paddingY: 0, paddingX: 0, children: _jsx(PromptInput, { value: input, onChange: onChange, onSubmit: onSubmit, slashMenu: slashMenu, placeholder: running
6
+ ? "type a message\u2026 (queued after current turn)"
7
+ : "type a message\u2026", focus: !disabled, maxVisibleLines: 4 }) }), _jsx(Box, { children: _jsx(Text, { color: "gray", children: hint }) })] }));
8
8
  }
9
9
  //# sourceMappingURL=Composer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../../src/chat/components/Composer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAY/C,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,QAAQ,GACM;IACd,OAAO,CACL,8BACE,MAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,aACrD,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,IAAI,GAAQ,EAChC,KAAC,WAAW,IACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EACT,OAAO;4BACL,CAAC,CAAC,4CAA4C;4BAC9C,CAAC,CAAC,gBAAgB,EAEtB,KAAK,EAAE,CAAC,QAAQ,EAChB,eAAe,EAAE,CAAC,GAClB,IACE,EAEN,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,IAAI,GAAQ,GAC5B,IACL,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../../src/chat/components/Composer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAgB/C,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,GACK;IACd,OAAO,CACL,8BACE,KAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAC,MAAM,EAClB,SAAS,QACT,YAAY,QACZ,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,KAAK,EAClB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,YAEX,KAAC,WAAW,IACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,WAAW,EACT,OAAO;wBACL,CAAC,CAAC,kDAAkD;wBACpD,CAAC,CAAC,sBAAsB,EAE5B,KAAK,EAAE,CAAC,QAAQ,EAChB,eAAe,EAAE,CAAC,GAClB,GACE,EAEN,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,IAAI,GAAQ,GAC5B,IACL,CACJ,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { type PromptSubmission } from "./prompt-input/hooks/usePromptInputController.js";
2
+ import { type PromptSubmission, type SlashCommandMenuProps } from "./prompt-input/hooks/usePromptInputController.js";
3
3
  export type PromptInputProps = {
4
4
  value: string;
5
5
  onChange: (value: string) => void;
@@ -7,5 +7,6 @@ export type PromptInputProps = {
7
7
  placeholder?: string;
8
8
  focus?: boolean;
9
9
  maxVisibleLines?: number;
10
+ slashMenu?: SlashCommandMenuProps | undefined;
10
11
  };
11
- export declare function PromptInput({ value, onChange, onSubmit, placeholder, focus, maxVisibleLines, }: PromptInputProps): React.JSX.Element;
12
+ export declare function PromptInput({ value, onChange, onSubmit, placeholder, focus, maxVisibleLines, slashMenu, }: PromptInputProps): React.JSX.Element;
@@ -2,13 +2,14 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from "ink";
3
3
  import { splitLineAtCursor } from "./prompt-input/render.js";
4
4
  import { usePromptInputController, } from "./prompt-input/hooks/usePromptInputController.js";
5
- export function PromptInput({ value, onChange, onSubmit, placeholder = "", focus = true, maxVisibleLines = 4, }) {
5
+ export function PromptInput({ value, onChange, onSubmit, placeholder = "", focus = true, maxVisibleLines = 4, slashMenu, }) {
6
6
  const { view } = usePromptInputController({
7
7
  value,
8
8
  onChange,
9
9
  onSubmit,
10
10
  focus,
11
11
  maxVisibleLines,
12
+ slashMenu,
12
13
  });
13
14
  if (view.showPlaceholder) {
14
15
  return (_jsxs(Text, { children: [focus ? _jsx(Text, { inverse: true, children: " " }) : null, placeholder ? _jsx(Text, { color: "gray", children: placeholder }) : null] }));