hoomanjs 1.34.0 → 1.35.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.
- package/README.md +43 -7
- package/dist/acp/acp-agent.js +2 -16
- package/dist/acp/acp-agent.js.map +1 -1
- package/dist/acp/sessions/store.d.ts +0 -2
- package/dist/acp/sessions/store.js.map +1 -1
- package/dist/acp/utils/tool-kind.js +10 -2
- package/dist/acp/utils/tool-kind.js.map +1 -1
- package/dist/chat/app.d.ts +2 -1
- package/dist/chat/app.js +89 -4
- package/dist/chat/app.js.map +1 -1
- package/dist/chat/components/BottomChrome.d.ts +6 -2
- package/dist/chat/components/BottomChrome.js +2 -2
- package/dist/chat/components/BottomChrome.js.map +1 -1
- package/dist/chat/components/ChromePicker.d.ts +7 -2
- package/dist/chat/components/ChromePicker.js +8 -1
- package/dist/chat/components/ChromePicker.js.map +1 -1
- package/dist/chat/components/StatusBar.d.ts +1 -2
- package/dist/chat/components/StatusBar.js +3 -12
- package/dist/chat/components/StatusBar.js.map +1 -1
- package/dist/chat/components/ToolEvent.js +1 -1
- package/dist/chat/components/ToolEvent.js.map +1 -1
- package/dist/chat/index.d.ts +2 -1
- package/dist/chat/index.js +7 -0
- package/dist/chat/index.js.map +1 -1
- package/dist/cli.js +120 -4
- package/dist/cli.js.map +1 -1
- package/dist/configure/app.js +5 -5
- package/dist/configure/app.js.map +1 -1
- package/dist/core/agent/index.d.ts +13 -3
- package/dist/core/agent/index.js +79 -12
- package/dist/core/agent/index.js.map +1 -1
- package/dist/core/config.d.ts +9 -7
- package/dist/core/config.js +102 -13
- package/dist/core/config.js.map +1 -1
- package/dist/core/index.d.ts +1 -2
- package/dist/core/index.js +6 -7
- package/dist/core/index.js.map +1 -1
- package/dist/core/mcp/config.d.ts +7 -1
- package/dist/core/mcp/config.js +41 -8
- package/dist/core/mcp/config.js.map +1 -1
- package/dist/core/memory/index.d.ts +1 -0
- package/dist/core/memory/index.js +1 -0
- package/dist/core/memory/index.js.map +1 -1
- package/dist/core/memory/model-extractor.js.map +1 -0
- package/dist/core/modes/definitions.js +6 -2
- package/dist/core/modes/definitions.js.map +1 -1
- package/dist/core/prompts/agents/research.md +8 -4
- package/dist/core/prompts/agents/review.md +26 -0
- package/dist/core/prompts/agents/test-investigator.md +26 -0
- package/dist/core/prompts/modes/ask.md +1 -1
- package/dist/core/prompts/modes/plan.md +1 -1
- package/dist/core/prompts/runtime.js +2 -30
- package/dist/core/prompts/runtime.js.map +1 -1
- package/dist/core/prompts/static/subagents.md +12 -8
- package/dist/core/prompts/system.js +1 -1
- package/dist/core/prompts/system.js.map +1 -1
- package/dist/core/runtime-config.d.ts +16 -0
- package/dist/core/runtime-config.js +44 -0
- package/dist/core/runtime-config.js.map +1 -0
- package/dist/core/session-config.js +2 -1
- package/dist/core/session-config.js.map +1 -1
- package/dist/core/sessions/flat-file-storage.js.map +1 -0
- package/dist/core/sessions/lazy-session-manager.js.map +1 -0
- package/dist/core/sessions/list-cli-sessions.d.ts +12 -0
- package/dist/core/sessions/list-cli-sessions.js +174 -0
- package/dist/core/sessions/list-cli-sessions.js.map +1 -0
- package/dist/core/skills/built-in/hooman-config/SKILL.md +12 -9
- package/dist/core/state/tool-approvals.js +4 -3
- package/dist/core/state/tool-approvals.js.map +1 -1
- package/dist/core/subagents/index.d.ts +2 -3
- package/dist/core/subagents/index.js +2 -3
- package/dist/core/subagents/index.js.map +1 -1
- package/dist/core/subagents/registry.d.ts +22 -0
- package/dist/core/subagents/registry.js +96 -0
- package/dist/core/subagents/registry.js.map +1 -0
- package/dist/core/subagents/tool.d.ts +6 -14
- package/dist/core/subagents/tool.js +73 -53
- package/dist/core/subagents/tool.js.map +1 -1
- package/dist/core/utils/discover-files.d.ts +12 -0
- package/dist/core/utils/discover-files.js +47 -0
- package/dist/core/utils/discover-files.js.map +1 -0
- package/dist/index.d.ts +5 -5
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/acp/meta/system-prompt.d.ts +0 -12
- package/dist/acp/meta/system-prompt.js +0 -41
- package/dist/acp/meta/system-prompt.js.map +0 -1
- package/dist/core/context/flat-file-storage.js.map +0 -1
- package/dist/core/context/index.d.ts +0 -22
- package/dist/core/context/index.js +0 -74
- package/dist/core/context/index.js.map +0 -1
- package/dist/core/context/lazy-session-manager.js.map +0 -1
- package/dist/core/context/model-extractor.js.map +0 -1
- package/dist/core/subagents/research.d.ts +0 -16
- package/dist/core/subagents/research.js +0 -58
- package/dist/core/subagents/research.js.map +0 -1
- package/dist/core/subagents/runner.d.ts +0 -37
- package/dist/core/subagents/runner.js +0 -273
- package/dist/core/subagents/runner.js.map +0 -1
- /package/dist/core/{context → memory}/model-extractor.d.ts +0 -0
- /package/dist/core/{context → memory}/model-extractor.js +0 -0
- /package/dist/core/{context → sessions}/flat-file-storage.d.ts +0 -0
- /package/dist/core/{context → sessions}/flat-file-storage.js +0 -0
- /package/dist/core/{context → sessions}/lazy-session-manager.d.ts +0 -0
- /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
|
|
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.
|
|
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`
|
|
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
|
-
"
|
|
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
|
package/dist/acp/acp-agent.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
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
|
-
["
|
|
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,
|
|
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"}
|
package/dist/chat/app.d.ts
CHANGED
|
@@ -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 = "
|
|
38
|
-
const INPUT_HINT_WITH_STEERING = "enter on empty input: steer active turn with queued prompts |
|
|
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,
|
|
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
|