hoomanjs 1.40.2 → 1.41.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 (135) hide show
  1. package/README.md +50 -3
  2. package/dist/acp/acp-agent.d.ts +16 -3
  3. package/dist/acp/acp-agent.js +371 -172
  4. package/dist/acp/acp-agent.js.map +1 -1
  5. package/dist/acp/commands.d.ts +6 -3
  6. package/dist/acp/commands.js +6 -24
  7. package/dist/acp/commands.js.map +1 -1
  8. package/dist/acp/meta/vscode.d.ts +10 -0
  9. package/dist/acp/meta/vscode.js +16 -0
  10. package/dist/acp/meta/vscode.js.map +1 -0
  11. package/dist/acp/questions.d.ts +18 -0
  12. package/dist/acp/questions.js +80 -0
  13. package/dist/acp/questions.js.map +1 -0
  14. package/dist/acp/session-config.d.ts +3 -1
  15. package/dist/acp/session-config.js +20 -8
  16. package/dist/acp/session-config.js.map +1 -1
  17. package/dist/acp/sessions/replay.js +117 -1
  18. package/dist/acp/sessions/replay.js.map +1 -1
  19. package/dist/acp/sessions/store.d.ts +55 -16
  20. package/dist/acp/sessions/store.js +174 -71
  21. package/dist/acp/sessions/store.js.map +1 -1
  22. package/dist/acp/utils/tool-kind.js +1 -0
  23. package/dist/acp/utils/tool-kind.js.map +1 -1
  24. package/dist/acp/utils/tool-result-content.d.ts +1 -0
  25. package/dist/acp/utils/tool-result-content.js +28 -1
  26. package/dist/acp/utils/tool-result-content.js.map +1 -1
  27. package/dist/chat/app.d.ts +3 -1
  28. package/dist/chat/app.js +65 -17
  29. package/dist/chat/app.js.map +1 -1
  30. package/dist/chat/components/BottomChrome.d.ts +12 -3
  31. package/dist/chat/components/BottomChrome.js +2 -2
  32. package/dist/chat/components/BottomChrome.js.map +1 -1
  33. package/dist/chat/components/ChromePicker.d.ts +5 -1
  34. package/dist/chat/components/ChromePicker.js +6 -2
  35. package/dist/chat/components/ChromePicker.js.map +1 -1
  36. package/dist/chat/components/QuestionPrompt.d.ts +8 -0
  37. package/dist/chat/components/QuestionPrompt.js +41 -0
  38. package/dist/chat/components/QuestionPrompt.js.map +1 -0
  39. package/dist/chat/components/StatusBar.d.ts +8 -3
  40. package/dist/chat/components/StatusBar.js +55 -26
  41. package/dist/chat/components/StatusBar.js.map +1 -1
  42. package/dist/chat/index.d.ts +2 -0
  43. package/dist/chat/index.js +1 -1
  44. package/dist/chat/index.js.map +1 -1
  45. package/dist/chat/questions.d.ts +24 -0
  46. package/dist/chat/questions.js +71 -0
  47. package/dist/chat/questions.js.map +1 -0
  48. package/dist/cli.js +9 -0
  49. package/dist/cli.js.map +1 -1
  50. package/dist/core/agent/index.d.ts +3 -0
  51. package/dist/core/agent/index.js +11 -5
  52. package/dist/core/agent/index.js.map +1 -1
  53. package/dist/core/agent/session-title-plugin.d.ts +27 -0
  54. package/dist/core/agent/session-title-plugin.js +77 -0
  55. package/dist/core/agent/session-title-plugin.js.map +1 -0
  56. package/dist/core/config.d.ts +30 -1
  57. package/dist/core/config.js +2 -0
  58. package/dist/core/config.js.map +1 -1
  59. package/dist/core/index.d.ts +12 -0
  60. package/dist/core/index.js +7 -2
  61. package/dist/core/index.js.map +1 -1
  62. package/dist/core/models/azure.js +5 -1
  63. package/dist/core/models/azure.js.map +1 -1
  64. package/dist/core/models/groq.js +5 -1
  65. package/dist/core/models/groq.js.map +1 -1
  66. package/dist/core/models/moonshot.js +5 -1
  67. package/dist/core/models/moonshot.js.map +1 -1
  68. package/dist/core/models/openai.js +6 -1
  69. package/dist/core/models/openai.js.map +1 -1
  70. package/dist/core/models/openrouter.js +5 -1
  71. package/dist/core/models/openrouter.js.map +1 -1
  72. package/dist/core/models/types.d.ts +44 -0
  73. package/dist/core/models/types.js +15 -0
  74. package/dist/core/models/types.js.map +1 -1
  75. package/dist/core/models/usage.d.ts +10 -0
  76. package/dist/core/models/usage.js +45 -0
  77. package/dist/core/models/usage.js.map +1 -0
  78. package/dist/core/models/xai.js +5 -1
  79. package/dist/core/models/xai.js.map +1 -1
  80. package/dist/core/modes/definitions.js +2 -0
  81. package/dist/core/modes/definitions.js.map +1 -1
  82. package/dist/core/prompts/static/ask-user.md +7 -0
  83. package/dist/core/prompts/static/filesystem.md +1 -1
  84. package/dist/core/prompts/system.js +5 -0
  85. package/dist/core/prompts/system.js.map +1 -1
  86. package/dist/core/sessions/generate-title.d.ts +10 -0
  87. package/dist/core/sessions/generate-title.js +113 -0
  88. package/dist/core/sessions/generate-title.js.map +1 -0
  89. package/dist/core/sessions/list-cli-sessions.js +13 -1
  90. package/dist/core/sessions/list-cli-sessions.js.map +1 -1
  91. package/dist/core/skills/built-in/hooman-config/providers.md +17 -0
  92. package/dist/core/skills/built-in/hooman-skills/SKILL.md +1 -1
  93. package/dist/core/state/session-title.d.ts +17 -0
  94. package/dist/core/state/session-title.js +15 -0
  95. package/dist/core/state/session-title.js.map +1 -0
  96. package/dist/core/state/tool-approvals.js +3 -0
  97. package/dist/core/state/tool-approvals.js.map +1 -1
  98. package/dist/core/tools/ask-user.d.ts +38 -0
  99. package/dist/core/tools/ask-user.js +62 -0
  100. package/dist/core/tools/ask-user.js.map +1 -0
  101. package/dist/core/tools/filesystem.d.ts +26 -1
  102. package/dist/core/tools/filesystem.js +44 -23
  103. package/dist/core/tools/filesystem.js.map +1 -1
  104. package/dist/core/tools/index.d.ts +1 -0
  105. package/dist/core/tools/index.js +1 -0
  106. package/dist/core/tools/index.js.map +1 -1
  107. package/dist/core/tools/shell.d.ts +41 -0
  108. package/dist/core/tools/shell.js +8 -1
  109. package/dist/core/tools/shell.js.map +1 -1
  110. package/dist/core/utils/billing.d.ts +49 -0
  111. package/dist/core/utils/billing.js +295 -0
  112. package/dist/core/utils/billing.js.map +1 -0
  113. package/dist/core/utils/edit-replace.d.ts +6 -0
  114. package/dist/core/utils/edit-replace.js +88 -6
  115. package/dist/core/utils/edit-replace.js.map +1 -1
  116. package/dist/core/utils/paths.d.ts +1 -0
  117. package/dist/core/utils/paths.js +1 -0
  118. package/dist/core/utils/paths.js.map +1 -1
  119. package/dist/core/{models → utils}/reasoning-effort.d.ts +9 -0
  120. package/dist/core/utils/reasoning-effort.js.map +1 -0
  121. package/dist/exec/questions.d.ts +9 -0
  122. package/dist/exec/questions.js +50 -0
  123. package/dist/exec/questions.js.map +1 -0
  124. package/dist/index.d.ts +5 -4
  125. package/dist/index.js +5 -4
  126. package/dist/index.js.map +1 -1
  127. package/package.json +2 -2
  128. package/dist/core/models/reasoning-effort.js.map +0 -1
  129. package/dist/core/tools/terminal-backend.d.ts +0 -41
  130. package/dist/core/tools/terminal-backend.js +0 -9
  131. package/dist/core/tools/terminal-backend.js.map +0 -1
  132. package/dist/core/tools/text-fs-backend.d.ts +0 -25
  133. package/dist/core/tools/text-fs-backend.js +0 -9
  134. package/dist/core/tools/text-fs-backend.js.map +0 -1
  135. /package/dist/core/{models → utils}/reasoning-effort.js +0 -0
@@ -0,0 +1,62 @@
1
+ import { tool } from "@strands-agents/sdk";
2
+ import { z } from "zod";
3
+ export const ASK_USER_TOOL_NAME = "ask_user";
4
+ const MIN_OPTIONS = 2;
5
+ const MAX_OPTIONS = 5;
6
+ /** Keyed by the Strands agent instance so backends are never serialized. */
7
+ const backends = new WeakMap();
8
+ export function setAskUserBackend(agent, backend) {
9
+ backends.set(agent, backend);
10
+ }
11
+ export function getAskUserBackend(agent) {
12
+ return agent ? backends.get(agent) : undefined;
13
+ }
14
+ function toJsonValue(value) {
15
+ return JSON.parse(JSON.stringify(value));
16
+ }
17
+ export function createAskUserTools() {
18
+ return [
19
+ tool({
20
+ name: ASK_USER_TOOL_NAME,
21
+ description: "Ask the user one multiple-choice question and wait for their answer. Only for decisions that are genuinely the user's to make; the user may pick an option, type a free-form answer, or dismiss.",
22
+ inputSchema: z.object({
23
+ question: z
24
+ .string()
25
+ .min(1)
26
+ .describe("The question to present to the user. Keep it short and specific."),
27
+ options: z
28
+ .array(z.string().min(1))
29
+ .min(MIN_OPTIONS)
30
+ .max(MAX_OPTIONS)
31
+ .describe(`Between ${MIN_OPTIONS} and ${MAX_OPTIONS} short answer choices, recommended option first.`),
32
+ }),
33
+ callback: async (input, context) => {
34
+ const backend = getAskUserBackend(context?.agent);
35
+ if (!backend) {
36
+ return toJsonValue({
37
+ status: "no_user_available",
38
+ message: "No interactive user is available to answer questions in this environment. Proceed with your best judgement and state the assumption you made.",
39
+ });
40
+ }
41
+ const response = await backend.ask({
42
+ question: input.question,
43
+ options: input.options,
44
+ toolUseId: context?.toolUse.toolUseId,
45
+ signal: context?.agent.cancelSignal,
46
+ });
47
+ if (response.kind === "dismissed") {
48
+ return toJsonValue({
49
+ status: "dismissed",
50
+ message: "The user dismissed the question without answering. Proceed with your best judgement, or continue with the parts of the task that do not depend on the answer.",
51
+ });
52
+ }
53
+ return toJsonValue({
54
+ status: "answered",
55
+ question: input.question,
56
+ answer: response.answer,
57
+ });
58
+ },
59
+ }),
60
+ ];
61
+ }
62
+ //# sourceMappingURL=ask-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../../src/core/tools/ask-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAE7C,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AAmCtB,4EAA4E;AAC5E,MAAM,QAAQ,GAAG,IAAI,OAAO,EAA0B,CAAC;AAEvD,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,OAAuB;IAEvB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAyB;IAEzB,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAc,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,IAAI,CAAC;YACH,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,kMAAkM;YACpM,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC;qBACR,MAAM,EAAE;qBACR,GAAG,CAAC,CAAC,CAAC;qBACN,QAAQ,CACP,kEAAkE,CACnE;gBACH,OAAO,EAAE,CAAC;qBACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qBACxB,GAAG,CAAC,WAAW,CAAC;qBAChB,GAAG,CAAC,WAAW,CAAC;qBAChB,QAAQ,CACP,WAAW,WAAW,QAAQ,WAAW,kDAAkD,CAC5F;aACJ,CAAC;YACF,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAqB,EAAE,EAAE;gBAC/C,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAClD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,WAAW,CAAC;wBACjB,MAAM,EAAE,mBAAmB;wBAC3B,OAAO,EACL,+IAA+I;qBAClJ,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS;oBACrC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY;iBACpC,CAAC,CAAC;gBACH,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAClC,OAAO,WAAW,CAAC;wBACjB,MAAM,EAAE,WAAW;wBACnB,OAAO,EACL,+JAA+J;qBAClK,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,WAAW,CAAC;oBACjB,MAAM,EAAE,UAAU;oBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC,CAAC;YACL,CAAC;SACF,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -1,4 +1,29 @@
1
1
  import { type JSONValue } from "@strands-agents/sdk";
2
+ /**
3
+ * Optional per-agent text filesystem backend.
4
+ *
5
+ * When an embedding host (e.g. an ACP client that advertises the `fs`
6
+ * capability) can read/write text files on the agent's behalf, it registers a
7
+ * backend here. The built-in filesystem tools then route text reads and writes
8
+ * through it so the agent sees unsaved editor state and the host can track
9
+ * modifications. When no backend is registered, the tools use local disk I/O.
10
+ */
11
+ export type TextFsReadOptions = {
12
+ /** 1-based line to start reading from. */
13
+ line?: number;
14
+ /** Maximum number of lines to read. */
15
+ limit?: number;
16
+ };
17
+ export type TextFsBackend = {
18
+ /** Whether the host can service text reads (`fs/read_text_file`). */
19
+ canRead: boolean;
20
+ /** Whether the host can service text writes (`fs/write_text_file`). */
21
+ canWrite: boolean;
22
+ readTextFile(path: string, options?: TextFsReadOptions): Promise<string>;
23
+ writeTextFile(path: string, content: string): Promise<void>;
24
+ };
25
+ export declare function setTextFsBackend(agent: object, backend: TextFsBackend): void;
26
+ export declare function getTextFsBackend(agent: object | undefined): TextFsBackend | undefined;
2
27
  export declare function clearReadTimeAgentInstructionState(agent: object): void;
3
28
  export declare function createFilesystemTools(): (import("@strands-agents/sdk").InvokableTool<{
4
29
  path: string;
@@ -9,7 +34,7 @@ export declare function createFilesystemTools(): (import("@strands-agents/sdk").
9
34
  paths: string[];
10
35
  offset?: number | undefined;
11
36
  limit?: number | undefined;
12
- }, JSONValue> | import("@strands-agents/sdk").InvokableTool<{
37
+ }, string> | import("@strands-agents/sdk").InvokableTool<{
13
38
  path: string;
14
39
  content: string;
15
40
  append?: boolean | undefined;
@@ -6,9 +6,16 @@ import { normalizeUserPath } from "../utils/normalize-user-path.js";
6
6
  import { resolveAgentInstructionsForFile } from "../prompts/runtime.js";
7
7
  import { setFileToolDisplay, } from "../state/file-tool-display.js";
8
8
  import { readAttachmentAsBlocksOrBase64, } from "../utils/attachments.js";
9
- import { getTextFsBackend } from "./text-fs-backend.js";
10
- import { findReplacementSpan } from "../utils/edit-replace.js";
9
+ import { findReplacementSpan, unescapeModelText, } from "../utils/edit-replace.js";
11
10
  import { z } from "zod";
11
+ /** Keyed by the Strands agent instance so backends are never serialized. */
12
+ const textFsBackends = new WeakMap();
13
+ export function setTextFsBackend(agent, backend) {
14
+ textFsBackends.set(agent, backend);
15
+ }
16
+ export function getTextFsBackend(agent) {
17
+ return agent ? textFsBackends.get(agent) : undefined;
18
+ }
12
19
  const DEFAULT_READ_LIMIT = 250;
13
20
  const DEFAULT_MAX_READ_BYTES = 1024 * 1024;
14
21
  const DEFAULT_TREE_DEPTH = 4;
@@ -27,6 +34,25 @@ const textReadState = new Map();
27
34
  function toJsonValue(value) {
28
35
  return JSON.parse(JSON.stringify(value));
29
36
  }
37
+ /**
38
+ * Render a text read as plain text (returned to the model as a text block,
39
+ * not JSON). A bracketed status line is prepended only for partial reads,
40
+ * and file-scoped AGENTS.md instructions are appended as a bracketed trailer.
41
+ */
42
+ function formatReadResult(result, agentsInstructions) {
43
+ const parts = [];
44
+ const partial = result.truncated ||
45
+ result.startLine > 1 ||
46
+ result.endLine < result.totalLines;
47
+ if (partial) {
48
+ parts.push(`[Showing lines ${result.startLine}-${result.endLine} of ${result.totalLines}. Call read_file again with offset/limit for more.]`);
49
+ }
50
+ parts.push(result.content.length > 0 ? result.content : "[File is empty]");
51
+ if (agentsInstructions) {
52
+ parts.push(`[AGENTS.md instructions for this file, from: ${agentsInstructions.loaded_paths.join(", ")}]\n${agentsInstructions.content}`);
53
+ }
54
+ return parts.join("\n\n");
55
+ }
30
56
  export function clearReadTimeAgentInstructionState(agent) {
31
57
  runtimeResolvedAgentInstructionPaths.delete(agent);
32
58
  }
@@ -364,8 +390,13 @@ function applyEdits(original, edits) {
364
390
  // cause a spurious mismatch. The tolerant matcher returns the exact span
365
391
  // present in the file, which we splice and diff for byte-accurate output.
366
392
  const oldText = normalizeLineEndings(edit.oldText);
367
- const newText = normalizeLineEndings(edit.newText);
393
+ let newText = normalizeLineEndings(edit.newText);
368
394
  const { index, text: matched } = findReplacementSpan(current, oldText);
395
+ // If the target only matched after unescaping (the model over-escaped its
396
+ // JSON tool arguments), the replacement carries the same over-escaping.
397
+ if (matched !== oldText && matched === unescapeModelText(oldText)) {
398
+ newText = unescapeModelText(newText);
399
+ }
369
400
  const previous = current;
370
401
  current =
371
402
  current.slice(0, index) + newText + current.slice(index + matched.length);
@@ -539,12 +570,10 @@ export function createFilesystemTools() {
539
570
  limit: input.limit,
540
571
  }, getTextFsBackend(context?.agent));
541
572
  const agentsInstructions = resolveReadTimeAgentInstructions(filePath, context);
542
- return toJsonValue({
543
- ...result,
544
- ...(agentsInstructions
545
- ? { agents_instructions: agentsInstructions }
546
- : {}),
547
- });
573
+ // Return plain text, not JSON: JSON-wrapping the content re-escapes
574
+ // quotes/newlines in the transcript, which nudges models into
575
+ // producing escaped edit targets that no longer match the file.
576
+ return formatReadResult(result, agentsInstructions);
548
577
  },
549
578
  }),
550
579
  tool({
@@ -553,7 +582,7 @@ export function createFilesystemTools() {
553
582
  inputSchema: schema.readMultipleFiles,
554
583
  callback: async (input, context) => {
555
584
  const backend = getTextFsBackend(context?.agent);
556
- const results = await Promise.all(input.paths.map(async (itemPath) => {
585
+ const sections = await Promise.all(input.paths.map(async (itemPath) => {
557
586
  const filePath = normalizeUserPath(itemPath);
558
587
  try {
559
588
  const readResult = await readTextFile(filePath, {
@@ -561,23 +590,15 @@ export function createFilesystemTools() {
561
590
  limit: input.limit,
562
591
  }, backend);
563
592
  const agentsInstructions = resolveReadTimeAgentInstructions(filePath, context);
564
- return {
565
- ok: true,
566
- ...readResult,
567
- ...(agentsInstructions
568
- ? { agents_instructions: agentsInstructions }
569
- : {}),
570
- };
593
+ return `==> ${filePath} <==\n${formatReadResult(readResult, agentsInstructions)}`;
571
594
  }
572
595
  catch (error) {
573
- return {
574
- path: filePath,
575
- ok: false,
576
- error: error instanceof Error ? error.message : String(error),
577
- };
596
+ return `==> ${filePath} <==\n[Error: ${error instanceof Error ? error.message : String(error)}]`;
578
597
  }
579
598
  }));
580
- return toJsonValue({ results });
599
+ // Plain text (head/tail-style per-file headers) for the same reason
600
+ // as read_file: avoid JSON-escaping file content in the transcript.
601
+ return sections.join("\n\n");
581
602
  },
582
603
  }),
583
604
  tool({
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../src/core/tools/filesystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../src/core/tools/filesystem.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export { createAskUserTools } from "./ask-user.js";
1
2
  export { createPlanTools } from "./plan.js";
2
3
  export { createFilesystemTools, clearReadTimeAgentInstructionState, } from "./filesystem.js";
3
4
  export { createGrepTools } from "./grep.js";
@@ -1,3 +1,4 @@
1
+ export { createAskUserTools } from "./ask-user.js";
1
2
  export { createPlanTools } from "./plan.js";
2
3
  export { createFilesystemTools, clearReadTimeAgentInstructionState, } from "./filesystem.js";
3
4
  export { createGrepTools } from "./grep.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,kCAAkC,GACnC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,kCAAkC,GACnC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,4 +1,45 @@
1
1
  import type { JSONValue } from "@strands-agents/sdk";
2
+ /**
3
+ * Optional per-agent terminal backend.
4
+ *
5
+ * When an embedding host (e.g. an ACP client that advertises the `terminal`
6
+ * capability) can run shell commands on the agent's behalf, it registers a
7
+ * backend here. The built-in `shell` tool then executes through it so the host
8
+ * can stream live output and embed the terminal in the tool call. When no
9
+ * backend is registered, the tool spawns commands locally.
10
+ */
11
+ export type TerminalRunRequest = {
12
+ /** ACP tool-call id, so the host can embed the live terminal in the call. */
13
+ toolUseId?: string;
14
+ /** Program to execute (already resolved to a shell binary + args). */
15
+ command: string;
16
+ args: string[];
17
+ /** Absolute working directory. */
18
+ cwd: string;
19
+ /** Timeout in milliseconds; the backend kills the command when it elapses. */
20
+ timeoutMs: number;
21
+ /** Maximum output bytes the host should retain. */
22
+ outputByteLimit?: number;
23
+ /** Aborts the command (e.g. prompt-turn cancellation). */
24
+ cancelSignal?: AbortSignal;
25
+ };
26
+ export type TerminalRunResult = {
27
+ /** Combined terminal output captured so far. */
28
+ output: string;
29
+ /** Whether the host truncated output due to byte limits. */
30
+ truncated: boolean;
31
+ /** Process exit code, or `null` when killed by a signal. */
32
+ exitCode: number | null;
33
+ /** Signal that terminated the process, or `null`. */
34
+ signal: string | null;
35
+ /** Whether the command was killed because it exceeded the timeout. */
36
+ timedOut: boolean;
37
+ };
38
+ export type TerminalBackend = {
39
+ run(request: TerminalRunRequest): Promise<TerminalRunResult>;
40
+ };
41
+ export declare function setTerminalBackend(agent: object, backend: TerminalBackend): void;
42
+ export declare function getTerminalBackend(agent: object | undefined): TerminalBackend | undefined;
2
43
  export declare function createShellTools(): import("@strands-agents/sdk").InvokableTool<{
3
44
  command: string | {
4
45
  command: string;
@@ -5,7 +5,14 @@ import { setTimeout as sleep } from "node:timers/promises";
5
5
  import { tool } from "@strands-agents/sdk";
6
6
  import { z } from "zod";
7
7
  import { getCwd } from "../utils/cwd-context.js";
8
- import { getTerminalBackend } from "./terminal-backend.js";
8
+ /** Keyed by the Strands agent instance so backends are never serialized. */
9
+ const terminalBackends = new WeakMap();
10
+ export function setTerminalBackend(agent, backend) {
11
+ terminalBackends.set(agent, backend);
12
+ }
13
+ export function getTerminalBackend(agent) {
14
+ return agent ? terminalBackends.get(agent) : undefined;
15
+ }
9
16
  const DEFAULT_TIMEOUT_SECONDS = Number.parseInt(process.env.SHELL_DEFAULT_TIMEOUT ?? "900", 10);
10
17
  const SIGKILL_TIMEOUT_MS = 200;
11
18
  const MAX_OUTPUT_CHARS = 12_000;
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/core/tools/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/core/tools/shell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { LlmBilling } from "../models/types.js";
2
+ /** Resolved per-million-token USD prices (cache tiers fall back to `inputPerM`). */
3
+ export type ResolvedBillingCosts = {
4
+ inputPerM: number;
5
+ cacheReadPerM?: number;
6
+ cacheWritePerM?: number;
7
+ outputPerM: number;
8
+ };
9
+ /**
10
+ * Billing metadata for the active model, merged from the LLM config's
11
+ * `billing` block (which wins per field) and the models.dev catalog. Fields
12
+ * that could not be resolved from either source stay `undefined` — consumers
13
+ * must not report context usage without `context` or cost without `costs`.
14
+ */
15
+ export type ResolvedLlmBilling = {
16
+ name: string;
17
+ context?: number;
18
+ costs?: ResolvedBillingCosts;
19
+ };
20
+ /**
21
+ * Resolve billing metadata for a model: config-provided `billing` fields win,
22
+ * anything missing is filled from the models.dev catalog, and the billing
23
+ * name defaults to the raw model id when no `billing` block is configured.
24
+ * Returns `null` when neither source yields a context size nor prices — in
25
+ * that case nothing billing-related should be reported or displayed.
26
+ */
27
+ export declare function resolveLlmBilling(billing: LlmBilling | null | undefined, modelId: string): Promise<ResolvedLlmBilling | null>;
28
+ /**
29
+ * USD cost of one request's token usage. Expects usage already normalized to
30
+ * the additive shape (see `toAdditiveUsage`): cache reads/writes are separate
31
+ * from `inputTokens`. Cache tiers without an explicit price fall back to the
32
+ * plain input rate.
33
+ */
34
+ export declare function computeUsageCostUsd(usage: {
35
+ inputTokens?: number;
36
+ outputTokens?: number;
37
+ cacheReadInputTokens?: number;
38
+ cacheWriteInputTokens?: number;
39
+ }, costs: ResolvedBillingCosts): number;
40
+ /**
41
+ * Context tokens occupied by a request, from its additive-shape usage: the
42
+ * full prompt (uncached input + cache reads/writes). Used as the "tokens
43
+ * currently in context" figure for context-window utilization.
44
+ */
45
+ export declare function contextTokensFromUsage(usage: {
46
+ inputTokens?: number;
47
+ cacheReadInputTokens?: number;
48
+ cacheWriteInputTokens?: number;
49
+ }): number;