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/README.md CHANGED
@@ -35,10 +35,10 @@ It gives you a practical toolkit to build and run agent workflows:
35
35
  - Optional web search tool with provider selection (`brave`, `serper`, or `tavily`)
36
36
  - MCP server support via `stdio`, `streamable-http`, and `sse`
37
37
  - MCP server `instructions` support: server-provided instructions are appended to the agent system prompt
38
- - MCP channel notification support through `hooman daemon --channels`
38
+ - MCP channel notifications: `hooman daemon` subscribes to servers that advertise `hooman/channel`
39
39
  - Skill discovery from local `~/.hooman/skills` folders
40
40
  - Bundled prompt harness toggles (`behaviour`, `communication`, `execution`, `engineering`, `guardrails`)
41
- - Built-in subagent runner tools (`research`, `plan`) with configurable concurrency
41
+ - Built-in research sub-agent runner (`research`) with configurable concurrency
42
42
  - Toolkit-oriented architecture with configurable tools, prompts, memory, and transports
43
43
  - Interactive terminal UI for chat and configuration
44
44
 
@@ -78,7 +78,7 @@ Recommended first run:
78
78
  For the best experience, set up both:
79
79
 
80
80
  1. **MCP servers** for on-demand tools in `chat` / `exec` (task APIs, messaging, schedulers, etc.).
81
- 2. **MCP channels** for event-driven automation with `hooman daemon --channels` (notifications become agent prompts).
81
+ 2. **MCP channels** for event-driven automation with `hooman daemon` (notifications become agent prompts).
82
82
 
83
83
  Suggested MCP servers from this ecosystem:
84
84
 
@@ -138,6 +138,12 @@ Skip interactive tool approval (allows every tool call; use only when you trust
138
138
  hooman exec "Summarize this repo" --yolo
139
139
  ```
140
140
 
141
+ Start in **ask** mode (narrower tool surface, no plan lifecycle tools; see [Session mode](#session-mode)):
142
+
143
+ ```bash
144
+ hooman exec "Map the architecture" --mode ask
145
+ ```
146
+
141
147
  ### `hooman chat`
142
148
 
143
149
  Start an interactive stateful chat session.
@@ -149,7 +155,7 @@ hooman chat
149
155
  Optional initial prompt:
150
156
 
151
157
  ```bash
152
- hooman chat "Help me plan the next task"
158
+ hooman chat "Help me prioritize the next task"
153
159
  ```
154
160
 
155
161
  Resume or pin a session id:
@@ -164,24 +170,47 @@ Skip the in-chat tool approval UI (same semantics as `exec --yolo`):
164
170
  hooman chat --yolo
165
171
  ```
166
172
 
173
+ Start in ask mode:
174
+
175
+ ```bash
176
+ hooman chat --mode ask
177
+ ```
178
+
179
+ ### Session mode
180
+
181
+ `exec`, `chat`, and `daemon` accept **`-m` / `--mode`** with:
182
+
183
+ - **`default`** (default): normal tool surface and approvals.
184
+ - **`ask`**: read-oriented, narrower surface (similar to interactive **plan** mode) but **without** `enter_plan_mode` / `exit_plan_mode`.
185
+
186
+ In **`chat`**, `/mode` can also switch to **plan** (includes plan tools and a plan document workflow). **ACP** sessions can set `hooman.sessionMode` to `default`, `plan`, or `ask`.
187
+
167
188
  ### `hooman daemon`
168
189
 
169
- Run a long-lived daemon that subscribes to MCP servers advertising the fixed `hooman/channel` capability and feeds each received notification into the agent as a queued prompt.
190
+ Run a long-lived daemon that **always** subscribes to MCP servers advertising the `hooman/channel` capability and feeds each received notification into the agent as a queued prompt.
170
191
 
171
192
  ```bash
172
- hooman daemon --channels
193
+ hooman daemon
173
194
  ```
174
195
 
175
196
  Resume or pin a session id:
176
197
 
177
198
  ```bash
178
- hooman daemon --session my-daemon --channels
199
+ hooman daemon --session my-daemon
179
200
  ```
180
201
 
181
202
  Skip remote channel permission relay and allow every tool call from daemon turns (same risk profile as `exec` / `chat` with `--yolo`):
182
203
 
183
204
  ```bash
184
- hooman daemon --channels --yolo
205
+ hooman daemon --yolo
206
+ ```
207
+
208
+ Optional `--mode ask` matches `exec` / `chat` (narrow surface without plan lifecycle tools).
209
+
210
+ Log raw notification payloads:
211
+
212
+ ```bash
213
+ hooman daemon --debug
185
214
  ```
186
215
 
187
216
  ### Feature Flags
@@ -244,6 +273,7 @@ ACP notes:
244
273
  - ACP loads MCP servers passed on `session/new` and `session/load`, in addition to Hooman's local `mcp.json`
245
274
  - ACP `session/new` and `session/load` support `_meta.userId` and `_meta.systemPrompt`
246
275
  - when `_meta.systemPrompt` is provided, it is appended to the agent system prompt with a section break
276
+ - session configuration includes `hooman.sessionMode` (`default`, `plan`, or `ask`); see [Session mode](#session-mode)
247
277
 
248
278
  ## Configuration Layout
249
279
 
@@ -550,7 +580,7 @@ Uses the Vercel AI SDK xAI provider (`@ai-sdk/xai`) on top of Strands `VercelMod
550
580
 
551
581
  - MCP server `instructions` from the protocol `initialize` response are appended to Hooman's system prompt, after local `instructions.md` and session-specific prompt overrides.
552
582
  - Hooman reads these instructions automatically from connected MCP servers when building the agent.
553
- - `hooman daemon --channels` subscribes to MCP servers that advertise the experimental `hooman/channel` capability.
583
+ - `hooman daemon` subscribes to MCP servers that advertise the experimental `hooman/channel` capability (always on; there is no opt-out flag).
554
584
  - Hooman also reads `hooman/user`, `hooman/session`, and `hooman/thread` capability paths so daemon turns preserve origin metadata from the source channel.
555
585
  - When a matching notification is received, Hooman uses `params.content` as the prompt if it is a string; otherwise it JSON-stringifies the notification params and sends that to the agent.
556
586
  - Daemon mode processes notifications sequentially and reuses the same agent session over time.
@@ -11,7 +11,12 @@ import { inferToolKind } from "./utils/tool-kind.js";
11
11
  import { toolResultToAcpContent } from "./utils/tool-result-content.js";
12
12
  import { createAcpToolApprovalHook } from "./approvals.js";
13
13
  import { replayConversationHistory } from "./sessions/replay.js";
14
- import { applySessionConfigOption, buildSessionConfigOptions, } from "./sessions/config-options.js";
14
+ import { applySessionConfigOption, buildSessionConfigOptions, HOOMAN_SESSION_MODE_CONFIG_ID, HOOMAN_YOLO_CONFIG_ID, } from "./sessions/config-options.js";
15
+ import { applySessionMode } from "../core/agent/sync-tool-registry-mode.js";
16
+ import { copyAgentAppState } from "../core/state/agent-app-state.js";
17
+ import { getModeState, normalizeSessionMode, } from "../core/state/session-mode.js";
18
+ import { ENTER_PLAN_MODE_TOOL, EXIT_PLAN_MODE_TOOL, } from "../core/state/tool-approvals.js";
19
+ import { isYoloEnabled } from "../core/state/yolo.js";
15
20
  import { extractAcpClientSystemPrompt } from "./meta/system-prompt.js";
16
21
  import { extractAcpClientUserId } from "./meta/user-id.js";
17
22
  import { deriveSessionTitleFromEcho } from "./sessions/title.js";
@@ -161,9 +166,23 @@ export class AcpAgent {
161
166
  if (!rec) {
162
167
  throw RequestError.invalidParams({ sessionId: params.sessionId });
163
168
  }
164
- applySessionConfigOption(rec.config, params);
165
- rec.agentStale = true;
166
- return { configOptions: buildSessionConfigOptions(rec.config) };
169
+ applySessionConfigOption(rec.config, params, rec.agent);
170
+ if (params.configId === HOOMAN_YOLO_CONFIG_ID) {
171
+ await patchSessionMeta(this.#acpRoot, params.sessionId, {
172
+ yolo: isYoloEnabled(rec.agent),
173
+ });
174
+ }
175
+ else if (params.configId === HOOMAN_SESSION_MODE_CONFIG_ID) {
176
+ await patchSessionMeta(this.#acpRoot, params.sessionId, {
177
+ sessionMode: getModeState(rec.agent).mode,
178
+ });
179
+ }
180
+ else {
181
+ rec.agentStale = true;
182
+ }
183
+ return {
184
+ configOptions: buildSessionConfigOptions(rec.config, rec.agent),
185
+ };
167
186
  }
168
187
  async extMethod(method, _params) {
169
188
  throw RequestError.methodNotFound(method);
@@ -235,7 +254,7 @@ export class AcpAgent {
235
254
  const config = bootConfig;
236
255
  const availableModeIds = new Set([DEFAULT_MODE_ID]);
237
256
  const hookOff = agent.addHook(BeforeToolCallEvent, createAcpToolApprovalHook(this.#connection, sessionId, () => this.#sessions.get(sessionId)?.streamedToolCallIds ??
238
- EMPTY_STREAMED_TOOL_CALL_IDS, () => this.#sessions.get(sessionId)?.config.yolo ?? false));
257
+ EMPTY_STREAMED_TOOL_CALL_IDS));
239
258
  this.#sessions.set(sessionId, {
240
259
  cwd: params.cwd,
241
260
  agent,
@@ -271,7 +290,7 @@ export class AcpAgent {
271
290
  ],
272
291
  },
273
292
  models: null,
274
- configOptions: buildSessionConfigOptions(config),
293
+ configOptions: buildSessionConfigOptions(config, agent),
275
294
  };
276
295
  }
277
296
  async loadSession(params) {
@@ -301,6 +320,8 @@ export class AcpAgent {
301
320
  const { config: bootConfig, agent, mcp: { manager }, } = await bootstrap("acp", {
302
321
  userId: bootstrapUserId,
303
322
  sessionId: params.sessionId,
323
+ yolo: existing.yolo === true,
324
+ sessionMode: normalizeSessionMode(existing.sessionMode),
304
325
  acp: {
305
326
  mcpServers,
306
327
  ...(clientSystemPrompt ? { systemPrompt: clientSystemPrompt } : {}),
@@ -315,7 +336,7 @@ export class AcpAgent {
315
336
  await replayConversationHistory(this.#connection, params.sessionId, agent.messages);
316
337
  const availableModeIds = new Set([DEFAULT_MODE_ID]);
317
338
  const hookOff = agent.addHook(BeforeToolCallEvent, createAcpToolApprovalHook(this.#connection, params.sessionId, () => this.#sessions.get(params.sessionId)?.streamedToolCallIds ??
318
- EMPTY_STREAMED_TOOL_CALL_IDS, () => this.#sessions.get(params.sessionId)?.config.yolo ?? false));
339
+ EMPTY_STREAMED_TOOL_CALL_IDS));
319
340
  this.#sessions.set(params.sessionId, {
320
341
  cwd: params.cwd,
321
342
  agent,
@@ -359,7 +380,7 @@ export class AcpAgent {
359
380
  ],
360
381
  },
361
382
  models: null,
362
- configOptions: buildSessionConfigOptions(config),
383
+ configOptions: buildSessionConfigOptions(config, agent),
363
384
  };
364
385
  }
365
386
  async cancel(params) {
@@ -390,6 +411,8 @@ export class AcpAgent {
390
411
  const { config: bootConfig, agent, mcp: { manager }, } = await bootstrap("acp", {
391
412
  userId: bootstrapUserId,
392
413
  sessionId,
414
+ yolo: isYoloEnabled(rec.agent),
415
+ sessionMode: getModeState(rec.agent).mode,
393
416
  acp: {
394
417
  mcpServers,
395
418
  ...(meta.systemPrompt ? { systemPrompt: meta.systemPrompt } : {}),
@@ -400,8 +423,10 @@ export class AcpAgent {
400
423
  for (const md of messageSnapshot) {
401
424
  agent.messages.push(Message.fromJSON(md));
402
425
  }
426
+ copyAgentAppState(rec.agent, agent);
427
+ applySessionMode(agent);
403
428
  const hookOff = agent.addHook(BeforeToolCallEvent, createAcpToolApprovalHook(this.#connection, sessionId, () => this.#sessions.get(sessionId)?.streamedToolCallIds ??
404
- EMPTY_STREAMED_TOOL_CALL_IDS, () => this.#sessions.get(sessionId)?.config.yolo ?? false));
429
+ EMPTY_STREAMED_TOOL_CALL_IDS));
405
430
  const oldHookOff = rec.hookOff;
406
431
  const oldMcpDisconnect = rec.mcpDisconnect;
407
432
  rec.agent = agent;
@@ -500,6 +525,20 @@ export class AcpAgent {
500
525
  content: toolResultToAcpContent(ev.result),
501
526
  },
502
527
  });
528
+ if (ev.result.status === "success" &&
529
+ (ev.toolUse.name === ENTER_PLAN_MODE_TOOL ||
530
+ ev.toolUse.name === EXIT_PLAN_MODE_TOOL)) {
531
+ await patchSessionMeta(this.#acpRoot, params.sessionId, {
532
+ sessionMode: getModeState(rec.agent).mode,
533
+ });
534
+ await this.#connection.sessionUpdate({
535
+ sessionId: params.sessionId,
536
+ update: {
537
+ sessionUpdate: "config_option_update",
538
+ configOptions: buildSessionConfigOptions(rec.config, rec.agent),
539
+ },
540
+ });
541
+ }
503
542
  }
504
543
  else if (ev.type === "agentResultEvent") {
505
544
  stopReason = toAcpStopReason(ev.result.stopReason);
@@ -1 +1 @@
1
- {"version":3,"file":"acp-agent.js","sourceRoot":"","sources":["../../src/acp/acp-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acp-agent.js","sourceRoot":"","sources":["../../src/acp/acp-agent.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,4 @@ import type { AgentSideConnection } from "@agentclientprotocol/sdk";
2
2
  import { BeforeToolCallEvent, type HookCallback } from "@strands-agents/sdk";
3
3
  export declare function createAcpToolApprovalHook(connection: AgentSideConnection, sessionId: string,
4
4
  /** Tool calls already announced via model stream (`tool_call` pending). */
5
- streamPrimedToolCallIds?: () => ReadonlySet<string>, yoloEnabled?: () => boolean): HookCallback<BeforeToolCallEvent>;
5
+ streamPrimedToolCallIds?: () => ReadonlySet<string>): HookCallback<BeforeToolCallEvent>;
@@ -1,9 +1,10 @@
1
1
  import { INTERNAL_ALWAYS_ALLOWED, allowToolForSession, isToolSessionAllowed, } from "../core/state/tool-approvals.js";
2
+ import { isYoloEnabled } from "../core/state/yolo.js";
2
3
  import { inferToolKind, toolDisplayTitle } from "./utils/tool-kind.js";
3
4
  import { toolCallLocationsFromInput } from "./utils/tool-locations.js";
4
5
  export function createAcpToolApprovalHook(connection, sessionId,
5
6
  /** Tool calls already announced via model stream (`tool_call` pending). */
6
- streamPrimedToolCallIds, yoloEnabled) {
7
+ streamPrimedToolCallIds) {
7
8
  return async function onBeforeToolCall(event) {
8
9
  const name = event.toolUse.name;
9
10
  const title = toolDisplayTitle(name, event.tool);
@@ -38,9 +39,9 @@ streamPrimedToolCallIds, yoloEnabled) {
38
39
  },
39
40
  });
40
41
  }
41
- if (yoloEnabled?.() ||
42
+ if (isYoloEnabled(event.agent) ||
42
43
  INTERNAL_ALWAYS_ALLOWED.has(name) ||
43
- isToolSessionAllowed(event.agent, name)) {
44
+ isToolSessionAllowed(event.agent, name, event.toolUse.input)) {
44
45
  await connection.sessionUpdate({
45
46
  sessionId,
46
47
  update: {
@@ -1 +1 @@
1
- {"version":3,"file":"approvals.js","sourceRoot":"","sources":["../../src/acp/approvals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approvals.js","sourceRoot":"","sources":["../../src/acp/approvals.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import type { SessionConfigOption, SetSessionConfigOptionRequest } from "@agentclientprotocol/sdk";
2
+ import type { Agent } from "@strands-agents/sdk";
2
3
  import type { Config } from "../../core/config.js";
3
4
  import type { SessionConfig } from "../../core/session-config.js";
5
+ export declare const HOOMAN_SESSION_MODE_CONFIG_ID: "hooman.sessionMode";
4
6
  export declare const HOOMAN_LTM_CONFIG_ID: "hooman.longTermMemory";
5
7
  export declare const HOOMAN_WIKI_CONFIG_ID: "hooman.wiki";
6
8
  export declare const HOOMAN_MODEL_CONFIG_ID: "hooman.model";
7
- export declare const HOOMAN_YOLO_CONFIG_ID: "hooman.yolo";
8
- export declare function buildSessionConfigOptions(config: Config | SessionConfig): SessionConfigOption[];
9
- export declare function applySessionConfigOption(config: SessionConfig, params: SetSessionConfigOptionRequest): void;
9
+ /** Same key as agent {@link YOLO_STATE_KEY}. */
10
+ export declare const HOOMAN_YOLO_CONFIG_ID = "hooman.yolo";
11
+ export declare function buildSessionConfigOptions(config: Config | SessionConfig, agent: Agent): SessionConfigOption[];
12
+ export declare function applySessionConfigOption(config: SessionConfig, params: SetSessionConfigOptionRequest, agent: Agent): void;
@@ -1,11 +1,41 @@
1
1
  import { RequestError } from "@agentclientprotocol/sdk";
2
+ import { applySessionMode } from "../../core/agent/sync-tool-registry-mode.js";
3
+ import { getModeState, SessionModeSchema, setSessionMode, } from "../../core/state/session-mode.js";
4
+ import { YOLO_STATE_KEY, isYoloEnabled, setYoloEnabled, } from "../../core/state/yolo.js";
5
+ export const HOOMAN_SESSION_MODE_CONFIG_ID = "hooman.sessionMode";
2
6
  export const HOOMAN_LTM_CONFIG_ID = "hooman.longTermMemory";
3
7
  export const HOOMAN_WIKI_CONFIG_ID = "hooman.wiki";
4
8
  export const HOOMAN_MODEL_CONFIG_ID = "hooman.model";
5
- export const HOOMAN_YOLO_CONFIG_ID = "hooman.yolo";
6
- export function buildSessionConfigOptions(config) {
9
+ /** Same key as agent {@link YOLO_STATE_KEY}. */
10
+ export const HOOMAN_YOLO_CONFIG_ID = YOLO_STATE_KEY;
11
+ export function buildSessionConfigOptions(config, agent) {
7
12
  const defaultLlm = config.llms.find((m) => m.default) ?? config.llms[0];
8
13
  return [
14
+ {
15
+ type: "select",
16
+ id: HOOMAN_SESSION_MODE_CONFIG_ID,
17
+ name: "Session mode",
18
+ description: "Default: full tools. Plan: narrowed tools plus plan file workflow. Ask: same narrowed tools without enter/exit plan.",
19
+ category: "mode",
20
+ currentValue: getModeState(agent).mode,
21
+ options: [
22
+ {
23
+ value: "default",
24
+ name: "Default",
25
+ description: "Standard behaviour with the full tool surface.",
26
+ },
27
+ {
28
+ value: "plan",
29
+ name: "Plan",
30
+ description: "Planning phase with read-only exploration tools and a plan document.",
31
+ },
32
+ {
33
+ value: "ask",
34
+ name: "Ask",
35
+ description: "Like plan mode’s narrowed tools for Q&A and exploration, without plan-mode tools.",
36
+ },
37
+ ],
38
+ },
9
39
  {
10
40
  type: "select",
11
41
  id: HOOMAN_MODEL_CONFIG_ID,
@@ -48,7 +78,7 @@ export function buildSessionConfigOptions(config) {
48
78
  name: "Auto-approve tools",
49
79
  description: "When enabled, tool calls run without interactive ACP approval prompts for this session.",
50
80
  category: "_hooman",
51
- currentValue: "yolo" in config && config.yolo ? "on" : "off",
81
+ currentValue: isYoloEnabled(agent) ? "on" : "off",
52
82
  options: [
53
83
  { value: "on", name: "On" },
54
84
  { value: "off", name: "Off" },
@@ -56,19 +86,29 @@ export function buildSessionConfigOptions(config) {
56
86
  },
57
87
  ];
58
88
  }
59
- export function applySessionConfigOption(config, params) {
89
+ export function applySessionConfigOption(config, params, agent) {
60
90
  if ("type" in params && params.type === "boolean") {
61
91
  throw RequestError.invalidParams({
62
92
  message: "Boolean session config options are not supported.",
63
93
  });
64
94
  }
65
- if (params.configId !== HOOMAN_LTM_CONFIG_ID &&
95
+ if (params.configId !== HOOMAN_SESSION_MODE_CONFIG_ID &&
96
+ params.configId !== HOOMAN_LTM_CONFIG_ID &&
66
97
  params.configId !== HOOMAN_WIKI_CONFIG_ID &&
67
98
  params.configId !== HOOMAN_MODEL_CONFIG_ID &&
68
99
  params.configId !== HOOMAN_YOLO_CONFIG_ID) {
69
100
  throw RequestError.invalidParams({ configId: params.configId });
70
101
  }
71
102
  const value = params.value;
103
+ if (params.configId === HOOMAN_SESSION_MODE_CONFIG_ID) {
104
+ const parsed = SessionModeSchema.safeParse(value);
105
+ if (!parsed.success) {
106
+ throw RequestError.invalidParams({ value });
107
+ }
108
+ setSessionMode(agent, parsed.data);
109
+ applySessionMode(agent);
110
+ return;
111
+ }
72
112
  if (params.configId === HOOMAN_MODEL_CONFIG_ID) {
73
113
  if (typeof value !== "string" ||
74
114
  !config.llms.some((m) => m.name === value)) {
@@ -96,7 +136,7 @@ export function applySessionConfigOption(config, params) {
96
136
  return;
97
137
  }
98
138
  if (params.configId === HOOMAN_YOLO_CONFIG_ID) {
99
- config.setYolo(value === "on");
139
+ setYoloEnabled(agent, value === "on");
100
140
  return;
101
141
  }
102
142
  config.update({
@@ -1 +1 @@
1
- {"version":3,"file":"config-options.js","sourceRoot":"","sources":["../../../src/acp/sessions/config-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-options.js","sourceRoot":"","sources":["../../../src/acp/sessions/config-options.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { SessionInfo } from "@agentclientprotocol/sdk";
2
2
  import type { MessageData } from "@strands-agents/sdk";
3
3
  import type { NamedMcpTransport } from "../../core/mcp/config.js";
4
+ import type { SessionMode } from "../../core/state/session-mode.js";
4
5
  export type SessionMetaFile = {
5
6
  cwd: string;
6
7
  createdAt: string;
@@ -12,6 +13,13 @@ export type SessionMetaFile = {
12
13
  systemPrompt?: string | null;
13
14
  /** Session-scoped MCP servers requested by the ACP client. */
14
15
  mcpServers?: NamedMcpTransport[];
16
+ /**
17
+ * Auto-approve tools without ACP permission prompts (`hooman.yolo` on agent appState).
18
+ * Persisted so loadSession restores the same behaviour.
19
+ */
20
+ yolo?: boolean;
21
+ /** Persisted session planning mode (`hooman.sessionMode` / agent appState `mode`). */
22
+ sessionMode?: SessionMode;
15
23
  };
16
24
  export declare function sessionDir(root: string, sessionId: string): string;
17
25
  export declare function writeSessionMeta(root: string, sessionId: string, meta: SessionMetaFile): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/acp/sessions/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/acp/sessions/store.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,7 @@ type ChatAppProps = {
10
10
  manager: McpManager;
11
11
  registry: Registry;
12
12
  initialPrompt?: string;
13
- yolo?: boolean;
14
13
  onExit: () => void;
15
14
  };
16
- export declare function ChatApp({ agent, config, sessionId, manager, registry, initialPrompt, yolo, onExit, }: ChatAppProps): React.JSX.Element;
15
+ export declare function ChatApp({ agent, config, sessionId, manager, registry, initialPrompt, onExit, }: ChatAppProps): React.JSX.Element;
17
16
  export {};