hoomanjs 1.34.0 → 1.35.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 (106) hide show
  1. package/README.md +43 -7
  2. package/dist/acp/acp-agent.js +2 -16
  3. package/dist/acp/acp-agent.js.map +1 -1
  4. package/dist/acp/sessions/store.d.ts +0 -2
  5. package/dist/acp/sessions/store.js.map +1 -1
  6. package/dist/acp/utils/tool-kind.js +10 -2
  7. package/dist/acp/utils/tool-kind.js.map +1 -1
  8. package/dist/chat/app.d.ts +2 -1
  9. package/dist/chat/app.js +89 -4
  10. package/dist/chat/app.js.map +1 -1
  11. package/dist/chat/components/BottomChrome.d.ts +6 -2
  12. package/dist/chat/components/BottomChrome.js +2 -2
  13. package/dist/chat/components/BottomChrome.js.map +1 -1
  14. package/dist/chat/components/ChromePicker.d.ts +7 -2
  15. package/dist/chat/components/ChromePicker.js +8 -1
  16. package/dist/chat/components/ChromePicker.js.map +1 -1
  17. package/dist/chat/components/StatusBar.d.ts +1 -2
  18. package/dist/chat/components/StatusBar.js +3 -12
  19. package/dist/chat/components/StatusBar.js.map +1 -1
  20. package/dist/chat/components/ToolEvent.js +1 -1
  21. package/dist/chat/components/ToolEvent.js.map +1 -1
  22. package/dist/chat/index.d.ts +2 -1
  23. package/dist/chat/index.js +7 -0
  24. package/dist/chat/index.js.map +1 -1
  25. package/dist/cli.js +120 -4
  26. package/dist/cli.js.map +1 -1
  27. package/dist/configure/app.js +5 -5
  28. package/dist/configure/app.js.map +1 -1
  29. package/dist/core/agent/index.d.ts +13 -3
  30. package/dist/core/agent/index.js +79 -12
  31. package/dist/core/agent/index.js.map +1 -1
  32. package/dist/core/config.d.ts +9 -7
  33. package/dist/core/config.js +102 -13
  34. package/dist/core/config.js.map +1 -1
  35. package/dist/core/index.d.ts +1 -2
  36. package/dist/core/index.js +6 -7
  37. package/dist/core/index.js.map +1 -1
  38. package/dist/core/mcp/config.d.ts +7 -1
  39. package/dist/core/mcp/config.js +41 -8
  40. package/dist/core/mcp/config.js.map +1 -1
  41. package/dist/core/memory/index.d.ts +1 -0
  42. package/dist/core/memory/index.js +1 -0
  43. package/dist/core/memory/index.js.map +1 -1
  44. package/dist/core/memory/model-extractor.js.map +1 -0
  45. package/dist/core/modes/definitions.js +6 -2
  46. package/dist/core/modes/definitions.js.map +1 -1
  47. package/dist/core/prompts/agents/research.md +8 -4
  48. package/dist/core/prompts/agents/review.md +26 -0
  49. package/dist/core/prompts/agents/test-investigator.md +26 -0
  50. package/dist/core/prompts/modes/ask.md +1 -1
  51. package/dist/core/prompts/modes/plan.md +1 -1
  52. package/dist/core/prompts/runtime.js +2 -30
  53. package/dist/core/prompts/runtime.js.map +1 -1
  54. package/dist/core/prompts/static/subagents.md +12 -8
  55. package/dist/core/prompts/system.js +1 -1
  56. package/dist/core/prompts/system.js.map +1 -1
  57. package/dist/core/runtime-config.d.ts +16 -0
  58. package/dist/core/runtime-config.js +44 -0
  59. package/dist/core/runtime-config.js.map +1 -0
  60. package/dist/core/session-config.js +2 -1
  61. package/dist/core/session-config.js.map +1 -1
  62. package/dist/core/sessions/flat-file-storage.js.map +1 -0
  63. package/dist/core/sessions/lazy-session-manager.js.map +1 -0
  64. package/dist/core/sessions/list-cli-sessions.d.ts +12 -0
  65. package/dist/core/sessions/list-cli-sessions.js +174 -0
  66. package/dist/core/sessions/list-cli-sessions.js.map +1 -0
  67. package/dist/core/skills/built-in/hooman-config/SKILL.md +12 -9
  68. package/dist/core/state/tool-approvals.js +4 -3
  69. package/dist/core/state/tool-approvals.js.map +1 -1
  70. package/dist/core/subagents/index.d.ts +2 -3
  71. package/dist/core/subagents/index.js +2 -3
  72. package/dist/core/subagents/index.js.map +1 -1
  73. package/dist/core/subagents/registry.d.ts +22 -0
  74. package/dist/core/subagents/registry.js +96 -0
  75. package/dist/core/subagents/registry.js.map +1 -0
  76. package/dist/core/subagents/tool.d.ts +6 -14
  77. package/dist/core/subagents/tool.js +73 -53
  78. package/dist/core/subagents/tool.js.map +1 -1
  79. package/dist/core/utils/discover-files.d.ts +12 -0
  80. package/dist/core/utils/discover-files.js +47 -0
  81. package/dist/core/utils/discover-files.js.map +1 -0
  82. package/dist/index.d.ts +5 -5
  83. package/dist/index.js +4 -3
  84. package/dist/index.js.map +1 -1
  85. package/package.json +1 -1
  86. package/dist/acp/meta/system-prompt.d.ts +0 -12
  87. package/dist/acp/meta/system-prompt.js +0 -41
  88. package/dist/acp/meta/system-prompt.js.map +0 -1
  89. package/dist/core/context/flat-file-storage.js.map +0 -1
  90. package/dist/core/context/index.d.ts +0 -22
  91. package/dist/core/context/index.js +0 -74
  92. package/dist/core/context/index.js.map +0 -1
  93. package/dist/core/context/lazy-session-manager.js.map +0 -1
  94. package/dist/core/context/model-extractor.js.map +0 -1
  95. package/dist/core/subagents/research.d.ts +0 -16
  96. package/dist/core/subagents/research.js +0 -58
  97. package/dist/core/subagents/research.js.map +0 -1
  98. package/dist/core/subagents/runner.d.ts +0 -37
  99. package/dist/core/subagents/runner.js +0 -273
  100. package/dist/core/subagents/runner.js.map +0 -1
  101. /package/dist/core/{context → memory}/model-extractor.d.ts +0 -0
  102. /package/dist/core/{context → memory}/model-extractor.js +0 -0
  103. /package/dist/core/{context → sessions}/flat-file-storage.d.ts +0 -0
  104. /package/dist/core/{context → sessions}/flat-file-storage.js +0 -0
  105. /package/dist/core/{context → sessions}/lazy-session-manager.d.ts +0 -0
  106. /package/dist/core/{context → sessions}/lazy-session-manager.js +0 -0
package/README.md CHANGED
@@ -38,7 +38,7 @@ It gives you a practical toolkit to build and run agent workflows:
38
38
  - MCP channel notifications: `hooman daemon` subscribes to servers that advertise `hooman/channel`
39
39
  - Runtime skills via Strands `AgentSkills`, loading bundled built-in skills plus local `~/.hooman/skills`
40
40
  - Bundled prompt harness toggles (`behaviour`, `communication`, `execution`, `guardrails`); coding guidance ships as the built-in `hooman-coding` skill
41
- - Built-in research sub-agent runner (`research`) with configurable concurrency
41
+ - Built-in read-only subagent tools (`subagent_research`, `subagent_review`, `subagent_test_investigator`)
42
42
  - Built-in `grep` tool backed by ripgrep (`rg`), with runtime bootstrap when `rg` is not available on PATH
43
43
  - Toolkit-oriented architecture with configurable tools, prompts, and transports
44
44
  - Interactive terminal UI for chat and configuration
@@ -231,6 +231,15 @@ Log raw notification payloads:
231
231
  hooman daemon --debug
232
232
  ```
233
233
 
234
+ ### `hooman config`
235
+
236
+ Print the effective runtime `config.json` for the current working directory in
237
+ the same shape as `config.json`, with credential-like values redacted.
238
+
239
+ ```bash
240
+ hooman config
241
+ ```
242
+
234
243
  ### Feature Flags
235
244
 
236
245
  Runtime tool and prompt switches are controlled from `config.json`:
@@ -251,12 +260,11 @@ Runtime tool and prompt switches are controlled from `config.json`:
251
260
  - `tools.filesystem.enabled`
252
261
  - `tools.shell.enabled`
253
262
  - `tools.sleep.enabled`
254
- - `tools.agents.enabled` (enables built-in `run_subagents` tool)
255
- - `tools.agents.concurrency` (defaults to `3` when omitted on load; a freshly generated default `config.json` uses `2`)
263
+ - `tools.subagents.enabled` (enables built-in subagent tools)
256
264
 
257
265
  ### `/config`
258
266
 
259
- The configuration workflow is launched from inside a `chat` session with the `/config` slash command (there is no separate top-level `configure` command). It takes over the terminal on the alternate screen buffer while open, and restores the chat session on exit. Any config changes are picked up when the session re-bootstraps.
267
+ The interactive configuration workflow is launched from inside a `chat` session with the `/config` slash command (there is no separate top-level `configure` command). It takes over the terminal on the alternate screen buffer while open, and restores the chat session on exit. Any config changes are picked up when the session re-bootstraps.
260
268
 
261
269
  ```text
262
270
  /config
@@ -284,8 +292,7 @@ ACP notes:
284
292
 
285
293
  - ACP sessions are stored under the active Hooman data directory in `acp-sessions/`
286
294
  - ACP loads MCP servers passed on `session/new` and `session/load`, in addition to Hooman's local `mcp.json`
287
- - ACP `session/new` and `session/load` support `_meta.userId` and `_meta.systemPrompt`
288
- - when `_meta.systemPrompt` is provided, it is appended to the agent system prompt with a section break
295
+ - ACP `session/new` and `session/load` support `_meta.userId`
289
296
  - session configuration includes `hooman.sessionMode` (`agent`, `plan`, or `ask`); see [Session mode](#session-mode)
290
297
 
291
298
  ## Configuration Layout
@@ -307,6 +314,33 @@ Important files and folders:
307
314
  - `sessions/` - persisted session data
308
315
  - `acp-sessions/` - persisted ACP session metadata and message snapshots
309
316
 
317
+ ### Repo-local runtime overlays
318
+
319
+ At runtime, Hooman resolves configuration in this order:
320
+
321
+ 1. `~/.hooman/config.json` and `~/.hooman/mcp.json`
322
+ 2. `<git-root>/config.json` and `<git-root>/mcp.json` (if present)
323
+ 3. matching files in nested directories from git root to current working directory
324
+
325
+ Nearest files win when keys overlap.
326
+
327
+ For app config (`config.json`):
328
+
329
+ - plain objects are deep-merged
330
+ - scalar values are overridden by the nearest file
331
+ - `providers` and `llms` are merged by `name` (nearest entry with the same name replaces inherited entries)
332
+
333
+ For MCP config (`mcp.json`):
334
+
335
+ - `mcpServers` is merged by server name (nearest entry with the same name wins)
336
+
337
+ Notes:
338
+
339
+ - Runtime overlays apply to `chat`, `exec`, `daemon`, and `acp` bootstraps.
340
+ - `hooman config` prints only the merged effective `config.json` shape with credential-like values redacted.
341
+ - The `/config` UI and `hooman mcp auth/logout/auth-status` still target home config (`~/.hooman/*`) directly.
342
+ - Keep secrets in home config unless you explicitly want project-scoped credentials.
343
+
310
344
  `grep` tool binary resolution order:
311
345
 
312
346
  1. Use system `rg` when available.
@@ -358,7 +392,7 @@ The on-disk shape uses a reusable **`providers`** array plus a non-empty **`llms
358
392
  "filesystem": { "enabled": true },
359
393
  "shell": { "enabled": true },
360
394
  "sleep": { "enabled": true },
361
- "agents": { "enabled": true, "concurrency": 2 }
395
+ "subagents": { "enabled": true }
362
396
  },
363
397
  "compaction": {
364
398
  "ratio": 0.75,
@@ -464,6 +498,8 @@ Detailed design notes for planned OAuth-enabled remote MCP support live in [docs
464
498
  }
465
499
  ```
466
500
 
501
+ At runtime, project-local `mcp.json` files are merged on top of `~/.hooman/mcp.json` from git root to current directory. On name conflicts, the nearest `mcpServers.<name>` entry wins.
502
+
467
503
  ### Example stdio server
468
504
 
469
505
  ```json
@@ -17,7 +17,6 @@ import { copyAgentAppState } from "../core/state/agent-app-state.js";
17
17
  import { getModeState } from "../core/state/session-mode.js";
18
18
  import { ENTER_PLAN_MODE_TOOL, EXIT_PLAN_MODE_TOOL, } from "../core/state/tool-approvals.js";
19
19
  import { isYoloEnabled } from "../core/state/yolo.js";
20
- import { extractAcpClientSystemPrompt } from "./meta/system-prompt.js";
21
20
  import { extractAcpClientUserId } from "./meta/user-id.js";
22
21
  import { deriveSessionTitleFromEcho } from "./sessions/title.js";
23
22
  import { acpPromptEchoText, acpPromptToInvokeArgs } from "./prompt-invoke.js";
@@ -230,7 +229,6 @@ export class AcpAgent {
230
229
  assertAbsolutePath(params.cwd, "cwd");
231
230
  const sessionId = crypto.randomUUID();
232
231
  const clientUserId = extractAcpClientUserId(params._meta) ?? null;
233
- const clientSystemPrompt = extractAcpClientSystemPrompt(params._meta) ?? null;
234
232
  const bootstrapUserId = clientUserId ?? sessionId;
235
233
  const mcpServers = normalizeAcpSessionMcpServers(params.mcpServers);
236
234
  const now = new Date().toISOString();
@@ -240,7 +238,6 @@ export class AcpAgent {
240
238
  updatedAt: now,
241
239
  title: null,
242
240
  userId: clientUserId,
243
- systemPrompt: clientSystemPrompt,
244
241
  mcpServers,
245
242
  };
246
243
  await writeSessionMeta(this.#acpRoot, sessionId, meta);
@@ -253,7 +250,6 @@ export class AcpAgent {
253
250
  ],
254
251
  acp: {
255
252
  mcpServers,
256
- ...(clientSystemPrompt ? { systemPrompt: clientSystemPrompt } : {}),
257
253
  },
258
254
  }, false, createSessionConfig());
259
255
  const config = bootConfig;
@@ -308,13 +304,8 @@ export class AcpAgent {
308
304
  }
309
305
  assertAbsolutePath(params.cwd, "cwd");
310
306
  const fromRequest = extractAcpClientUserId(params._meta);
311
- const requestedSystemPrompt = extractAcpClientSystemPrompt(params._meta);
312
307
  const storedUserId = existing.userId ?? null;
313
- const storedSystemPrompt = existing.systemPrompt ?? null;
314
308
  const clientUserId = fromRequest !== undefined ? fromRequest : storedUserId;
315
- const clientSystemPrompt = requestedSystemPrompt !== undefined
316
- ? requestedSystemPrompt
317
- : storedSystemPrompt;
318
309
  const bootstrapUserId = clientUserId ?? params.sessionId;
319
310
  const mcpServers = params.mcpServers.length > 0
320
311
  ? normalizeAcpSessionMcpServers(params.mcpServers)
@@ -323,14 +314,13 @@ export class AcpAgent {
323
314
  userId: bootstrapUserId,
324
315
  sessionId: params.sessionId,
325
316
  yolo: existing.yolo === true,
326
- sessionMode: existing.sessionMode ?? "agent",
317
+ mode: existing.sessionMode ?? "agent",
327
318
  createInterventions: () => [
328
319
  createAcpToolApprovalIntervention(this.#connection, params.sessionId, () => this.#sessions.get(params.sessionId)?.streamedToolCallIds ??
329
320
  EMPTY_STREAMED_TOOL_CALL_IDS),
330
321
  ],
331
322
  acp: {
332
323
  mcpServers,
333
- ...(clientSystemPrompt ? { systemPrompt: clientSystemPrompt } : {}),
334
324
  },
335
325
  }, false, createSessionConfig());
336
326
  const config = bootConfig;
@@ -366,9 +356,6 @@ export class AcpAgent {
366
356
  cwd: params.cwd,
367
357
  updatedAt: new Date().toISOString(),
368
358
  ...(fromRequest !== undefined ? { userId: fromRequest || null } : {}),
369
- ...(requestedSystemPrompt !== undefined
370
- ? { systemPrompt: requestedSystemPrompt || null }
371
- : {}),
372
359
  mcpServers,
373
360
  });
374
361
  return {
@@ -415,14 +402,13 @@ export class AcpAgent {
415
402
  userId: bootstrapUserId,
416
403
  sessionId,
417
404
  yolo: isYoloEnabled(rec.agent),
418
- sessionMode: getModeState(rec.agent).mode,
405
+ mode: getModeState(rec.agent).mode,
419
406
  createInterventions: () => [
420
407
  createAcpToolApprovalIntervention(this.#connection, sessionId, () => this.#sessions.get(sessionId)?.streamedToolCallIds ??
421
408
  EMPTY_STREAMED_TOOL_CALL_IDS),
422
409
  ],
423
410
  acp: {
424
411
  mcpServers,
425
- ...(meta.systemPrompt ? { systemPrompt: meta.systemPrompt } : {}),
426
412
  },
427
413
  }, false, rec.config);
428
414
  const config = bootConfig;
@@ -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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"}
@@ -9,8 +9,6 @@ export type SessionMetaFile = {
9
9
  title?: string | null;
10
10
  /** Logical user from ACP client `_meta` (see `extractAcpClientUserId`). */
11
11
  userId?: string | null;
12
- /** Session-level system prompt from ACP client `_meta`. */
13
- systemPrompt?: string | null;
14
12
  /** Session-scoped MCP servers requested by the ACP client. */
15
13
  mcpServers?: NamedMcpTransport[];
16
14
  /**
@@ -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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"}
@@ -1,4 +1,4 @@
1
- import { INTERNAL_ALWAYS_ALLOWED } from "../../core/state/tool-approvals.js";
1
+ import { ENTER_PLAN_MODE_TOOL, EXIT_PLAN_MODE_TOOL, INTERNAL_ALWAYS_ALLOWED, } from "../../core/state/tool-approvals.js";
2
2
  const KNOWN_TOOL_KINDS = new Map([
3
3
  ["read_file", "read"],
4
4
  ["read_multiple_files", "read"],
@@ -15,11 +15,19 @@ const KNOWN_TOOL_KINDS = new Map([
15
15
  ["bye", "other"],
16
16
  ["fetch", "fetch"],
17
17
  ["web_search", "search"],
18
+ ["skills", "other"],
19
+ ["retrieve_offloaded_content", "read"],
20
+ ["search_memory", "search"],
21
+ ["strands_structured_output", "other"],
18
22
  ["think", "think"],
19
- ["run_subagents", "other"],
23
+ ["subagent_research", "other"],
24
+ ["subagent_review", "other"],
25
+ ["subagent_test_investigator", "other"],
20
26
  ["update_todos", "other"],
21
27
  ["get_current_time", "other"],
22
28
  ["convert_time", "other"],
29
+ [ENTER_PLAN_MODE_TOOL, "other"],
30
+ [EXIT_PLAN_MODE_TOOL, "other"],
23
31
  ]);
24
32
  export { INTERNAL_ALWAYS_ALLOWED };
25
33
  export function inferToolKind(toolName) {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-kind.js","sourceRoot":"","sources":["../../../src/acp/utils/tool-kind.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAmB;IACjD,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAC/B,CAAC,YAAY,EAAE,MAAM,CAAC;IACtB,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAC5B,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,eAAe,EAAE,MAAM,CAAC;IACzB,CAAC,OAAO,EAAE,SAAS,CAAC;IACpB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,KAAK,EAAE,OAAO,CAAC;IAChB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,YAAY,EAAE,QAAQ,CAAC;IACxB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,eAAe,EAAE,OAAO,CAAC;IAC1B,CAAC,cAAc,EAAE,OAAO,CAAC;IACzB,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAC7B,CAAC,cAAc,EAAE,OAAO,CAAC;CAC1B,CAAC,CAAC;AAEH,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,IAAsB;IAEtB,MAAM,IAAI,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACvC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC/B,OAAO,GAAG,QAAQ,KAAK,IAAI,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"tool-kind.js","sourceRoot":"","sources":["../../../src/acp/utils/tool-kind.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAmB;IACjD,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAC/B,CAAC,YAAY,EAAE,MAAM,CAAC;IACtB,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAC5B,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,eAAe,EAAE,MAAM,CAAC;IACzB,CAAC,OAAO,EAAE,SAAS,CAAC;IACpB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,KAAK,EAAE,OAAO,CAAC;IAChB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,YAAY,EAAE,QAAQ,CAAC;IACxB,CAAC,QAAQ,EAAE,OAAO,CAAC;IACnB,CAAC,4BAA4B,EAAE,MAAM,CAAC;IACtC,CAAC,eAAe,EAAE,QAAQ,CAAC;IAC3B,CAAC,2BAA2B,EAAE,OAAO,CAAC;IACtC,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,mBAAmB,EAAE,OAAO,CAAC;IAC9B,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAC5B,CAAC,4BAA4B,EAAE,OAAO,CAAC;IACvC,CAAC,cAAc,EAAE,OAAO,CAAC;IACzB,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAC7B,CAAC,cAAc,EAAE,OAAO,CAAC;IACzB,CAAC,oBAAoB,EAAE,OAAO,CAAC;IAC/B,CAAC,mBAAmB,EAAE,OAAO,CAAC;CAC/B,CAAC,CAAC;AAEH,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,IAAsB;IAEtB,MAAM,IAAI,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACvC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC/B,OAAO,GAAG,QAAQ,KAAK,IAAI,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -16,7 +16,8 @@ type ChatAppProps = {
16
16
  prompt?: string;
17
17
  onExit: () => void;
18
18
  onNewSession: () => void;
19
+ onResumeSession: (sessionId: string) => void;
19
20
  onConfigure: () => void;
20
21
  };
21
- export declare function ChatApp({ agent, config, sessionId, manager, registry, approvals, steering, prompt, onExit, onNewSession, onConfigure, }: ChatAppProps): React.JSX.Element;
22
+ export declare function ChatApp({ agent, config, sessionId, manager, registry, approvals, steering, prompt, onExit, onNewSession, onResumeSession, onConfigure, }: ChatAppProps): React.JSX.Element;
22
23
  export {};
package/dist/chat/app.js CHANGED
@@ -20,6 +20,7 @@ import { attachmentPathsToPromptBlocks } from "../core/utils/attachments.js";
20
20
  import { isMouseInput } from "./mouse.js";
21
21
  import { readBundledPrompt } from "../core/prompts/bundled.js";
22
22
  import { runWithAgentMemoryScope } from "../core/memory/index.js";
23
+ import { listCliSessions } from "../core/sessions/list-cli-sessions.js";
23
24
  function emptyTurnUsage() {
24
25
  return { ...createEmptyUsage(), latencyMs: 0 };
25
26
  }
@@ -34,12 +35,39 @@ function normalizePromptSubmission(value) {
34
35
  ],
35
36
  };
36
37
  }
37
- const INPUT_HINT = "pgup/pgdn: scroll | shift/meta+enter or \\+enter: newline | esc/ctrl+c: cancel or exit";
38
- const INPUT_HINT_WITH_STEERING = "enter on empty input: steer active turn with queued prompts | pgup/pgdn: scroll | shift/meta+enter or \\+enter: newline | esc/ctrl+c: cancel or exit";
38
+ const INPUT_HINT = "shift/meta+enter or \\+enter: newline | esc/ctrl+c: cancel or exit";
39
+ const INPUT_HINT_WITH_STEERING = "enter on empty input: steer active turn with queued prompts | shift/meta+enter or \\+enter: newline | esc/ctrl+c: cancel or exit";
39
40
  const INIT_AGENTS_PROMPT = readBundledPrompt("static", "init.md");
40
41
  function nowId() {
41
42
  return `${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
42
43
  }
44
+ function shortSessionId(sessionId) {
45
+ const parts = sessionId.split("-");
46
+ return parts.length > 1 ? (parts[parts.length - 1] ?? sessionId) : sessionId;
47
+ }
48
+ function formatSessionAge(isoTimestamp) {
49
+ const date = new Date(isoTimestamp);
50
+ const deltaMs = Date.now() - date.getTime();
51
+ if (!Number.isFinite(deltaMs)) {
52
+ return "unknown";
53
+ }
54
+ if (deltaMs < 60_000) {
55
+ return "just now";
56
+ }
57
+ const minutes = Math.floor(deltaMs / 60_000);
58
+ if (minutes < 60) {
59
+ return `${minutes}m ago`;
60
+ }
61
+ const hours = Math.floor(minutes / 60);
62
+ if (hours < 24) {
63
+ return `${hours}h ago`;
64
+ }
65
+ const days = Math.floor(hours / 24);
66
+ if (days < 30) {
67
+ return `${days}d ago`;
68
+ }
69
+ return date.toISOString().slice(0, 10);
70
+ }
43
71
  function stringifyUnknown(value) {
44
72
  try {
45
73
  return JSON.stringify(value, null, 2);
@@ -263,6 +291,10 @@ const SLASH_COMMANDS = [
263
291
  name: "new",
264
292
  description: "Start a new chat session.",
265
293
  },
294
+ {
295
+ name: "sessions",
296
+ description: "Browse and resume saved sessions.",
297
+ },
266
298
  {
267
299
  name: "yolo",
268
300
  description: "Auto-approve tools (on|off).",
@@ -282,7 +314,7 @@ function matchingSlashCommands(input) {
282
314
  }
283
315
  return SLASH_COMMANDS.filter((item) => item.name.startsWith(query));
284
316
  }
285
- export function ChatApp({ agent, config, sessionId, manager, registry, approvals, steering, prompt, onExit, onNewSession, onConfigure, }) {
317
+ export function ChatApp({ agent, config, sessionId, manager, registry, approvals, steering, prompt, onExit, onNewSession, onResumeSession, onConfigure, }) {
286
318
  const { exit } = useApp();
287
319
  const windowSize = useWindowSize();
288
320
  const [input, setInput] = useState("");
@@ -304,6 +336,7 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
304
336
  const [slashHighlightIndex, setSlashHighlightIndex] = useState(0);
305
337
  const [queuedPrompts, setQueuedPrompts] = useState([]);
306
338
  const [mcpNeedsAttention, setMcpNeedsAttention] = useState(false);
339
+ const [sessionItems, setSessionItems] = useState([]);
307
340
  const [todoState, setTodoState] = useState(() => getTodoViewState(agent));
308
341
  const mountedRef = useRef(true);
309
342
  const runningRef = useRef(false);
@@ -742,6 +775,49 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
742
775
  onConfigure();
743
776
  exit();
744
777
  }, [appendLine, exit, onConfigure]);
778
+ const handleSessionsCommand = useCallback(async () => {
779
+ if (runningRef.current) {
780
+ appendLine({
781
+ id: nowId(),
782
+ role: "system",
783
+ title: "sessions",
784
+ content: "Wait for the active turn to finish before switching sessions.",
785
+ done: true,
786
+ });
787
+ return;
788
+ }
789
+ const rows = await listCliSessions({ cwd: process.cwd() });
790
+ const filtered = rows.filter((row) => row.sessionId !== sessionId);
791
+ if (filtered.length === 0) {
792
+ appendLine({
793
+ id: nowId(),
794
+ role: "system",
795
+ title: "sessions",
796
+ content: "No saved sessions found for this directory.",
797
+ done: true,
798
+ });
799
+ return;
800
+ }
801
+ setSessionItems(filtered.map((row) => ({
802
+ value: row.sessionId,
803
+ label: `${row.title} • ${formatSessionAge(row.updatedAt)} • ${shortSessionId(row.sessionId)}`,
804
+ })));
805
+ setPicker("sessions");
806
+ }, [appendLine, sessionId]);
807
+ const handleResumeSessionCommand = useCallback((nextSessionId) => {
808
+ if (runningRef.current) {
809
+ appendLine({
810
+ id: nowId(),
811
+ role: "system",
812
+ title: "sessions",
813
+ content: "Wait for the active turn to finish before switching sessions.",
814
+ done: true,
815
+ });
816
+ return;
817
+ }
818
+ onResumeSession(nextSessionId);
819
+ exit();
820
+ }, [appendLine, exit, onResumeSession]);
745
821
  const runTurn = useCallback(async (prompt) => {
746
822
  const trimmed = prompt.text.trim();
747
823
  if (!trimmed && prompt.attachments.length === 0) {
@@ -1072,6 +1148,11 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
1072
1148
  setInput("");
1073
1149
  return;
1074
1150
  }
1151
+ if (command.name === "sessions") {
1152
+ void handleSessionsCommand();
1153
+ setInput("");
1154
+ return;
1155
+ }
1075
1156
  }
1076
1157
  if (pushPrompt(value)) {
1077
1158
  setInput("");
@@ -1083,6 +1164,7 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
1083
1164
  handleConfigCommand,
1084
1165
  handleModeCommand,
1085
1166
  handleNewCommand,
1167
+ handleSessionsCommand,
1086
1168
  handleYoloCommand,
1087
1169
  pendingApproval,
1088
1170
  pushPrompt,
@@ -1154,7 +1236,7 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
1154
1236
  // composer pinned to the bottom). Once any line exists the region collapses to
1155
1237
  // its natural height and finished lines flow into the terminal scrollback.
1156
1238
  const isEmpty = lines.length === 0;
1157
- return (_jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsx(Static, { items: committedLines, children: (line) => (_jsx(Box, { paddingX: 1, children: _jsx(TranscriptLine, { line: line, assistantName: config.name }) }, line.id)) }), _jsxs(Box, { flexDirection: "column", width: "100%", paddingX: 1, ...(isEmpty ? { height: Math.max(1, windowSize.rows - 1) } : {}), children: [isEmpty ? (_jsx(Box, { flexDirection: "column", flexGrow: 1, justifyContent: "center", children: _jsx(EmptyChatBanner, {}) })) : null, _jsx(LiveTranscript, { lines: liveLines, assistantName: config.name }), _jsx(BottomChrome, { config: config, running: running, status: status, sessionId: sessionId, currentModel: currentModelLabel(config), yoloOn: isYoloEnabled(agent), sessionMode: getModeState(agent).mode, elapsedLabel: elapsedLabel, turnCount: turnCount, totalTools: totalTools, skillsFound: skillsFound, manager: manager, mcpNeedsAttention: mcpNeedsAttention, usage: usage, todoState: todoState, queuedPrompts: queuedPrompts, pendingApproval: Boolean(pendingApproval), picker: picker, slashCommands: slashCommands, slashHighlightIndex: slashHighlightIndex, input: input, inputHint: inputHint, slashMenu: slashMenu, onApprovalDecision: (decision) => approvals.decide(decision), onModelSelect: (name) => {
1239
+ return (_jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsx(Static, { items: committedLines, children: (line) => (_jsx(Box, { paddingX: 1, children: _jsx(TranscriptLine, { line: line, assistantName: config.name }) }, line.id)) }), _jsxs(Box, { flexDirection: "column", width: "100%", paddingX: 1, ...(isEmpty ? { height: Math.max(1, windowSize.rows - 1) } : {}), children: [isEmpty ? (_jsx(Box, { flexDirection: "column", flexGrow: 1, justifyContent: "center", children: _jsx(EmptyChatBanner, {}) })) : null, _jsx(LiveTranscript, { lines: liveLines, assistantName: config.name }), _jsx(BottomChrome, { config: config, running: running, status: status, currentModel: currentModelLabel(config), yoloOn: isYoloEnabled(agent), sessionMode: getModeState(agent).mode, elapsedLabel: elapsedLabel, turnCount: turnCount, totalTools: totalTools, skillsFound: skillsFound, manager: manager, mcpNeedsAttention: mcpNeedsAttention, usage: usage, todoState: todoState, queuedPrompts: queuedPrompts, pendingApproval: Boolean(pendingApproval), picker: picker, sessionItems: sessionItems, slashCommands: slashCommands, slashHighlightIndex: slashHighlightIndex, input: input, inputHint: inputHint, slashMenu: slashMenu, onApprovalDecision: (decision) => approvals.decide(decision), onModelSelect: (name) => {
1158
1240
  setPicker(null);
1159
1241
  void handleModelCommand(name);
1160
1242
  }, onYoloSelect: (value) => {
@@ -1163,6 +1245,9 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
1163
1245
  }, onModeSelect: (value) => {
1164
1246
  setPicker(null);
1165
1247
  void handleModeCommand(value);
1248
+ }, onSessionSelect: (value) => {
1249
+ setPicker(null);
1250
+ handleResumeSessionCommand(value);
1166
1251
  }, onInputChange: setInput, onSubmit: onSubmit })] })] }));
1167
1252
  }
1168
1253
  //# sourceMappingURL=app.js.map