@strands-agents/sdk 1.17.0 → 1.19.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 (165) hide show
  1. package/README.md +4 -1
  2. package/dist/src/agent/agent-metadata.d.ts +12 -0
  3. package/dist/src/agent/agent-metadata.d.ts.map +1 -0
  4. package/dist/src/agent/agent-metadata.js +2 -0
  5. package/dist/src/agent/agent-metadata.js.map +1 -0
  6. package/dist/src/agent/agent.d.ts +14 -29
  7. package/dist/src/agent/agent.d.ts.map +1 -1
  8. package/dist/src/agent/agent.js +29 -62
  9. package/dist/src/agent/agent.js.map +1 -1
  10. package/dist/src/background-tasks/background-tasks.d.ts.map +1 -1
  11. package/dist/src/background-tasks/background-tasks.js +13 -10
  12. package/dist/src/background-tasks/background-tasks.js.map +1 -1
  13. package/dist/src/context-manager/context-manager.d.ts +27 -4
  14. package/dist/src/context-manager/context-manager.d.ts.map +1 -1
  15. package/dist/src/context-manager/context-manager.js +59 -13
  16. package/dist/src/context-manager/context-manager.js.map +1 -1
  17. package/dist/src/context-manager/methods/summarize.d.ts +6 -0
  18. package/dist/src/context-manager/methods/summarize.d.ts.map +1 -1
  19. package/dist/src/context-manager/methods/summarize.js +9 -0
  20. package/dist/src/context-manager/methods/summarize.js.map +1 -1
  21. package/dist/src/context-manager/presets.d.ts +42 -0
  22. package/dist/src/context-manager/presets.d.ts.map +1 -0
  23. package/dist/src/context-manager/presets.js +71 -0
  24. package/dist/src/context-manager/presets.js.map +1 -0
  25. package/dist/src/context-manager/retrieval-tool.d.ts.map +1 -1
  26. package/dist/src/context-manager/retrieval-tool.js +19 -1
  27. package/dist/src/context-manager/retrieval-tool.js.map +1 -1
  28. package/dist/src/context-manager/stash.d.ts.map +1 -1
  29. package/dist/src/context-manager/stash.js +10 -7
  30. package/dist/src/context-manager/stash.js.map +1 -1
  31. package/dist/src/context-manager/strategies/offload/base.d.ts +13 -7
  32. package/dist/src/context-manager/strategies/offload/base.d.ts.map +1 -1
  33. package/dist/src/context-manager/strategies/offload/base.js +46 -16
  34. package/dist/src/context-manager/strategies/offload/base.js.map +1 -1
  35. package/dist/src/context-manager/strategies/offload/summarize.d.ts.map +1 -1
  36. package/dist/src/context-manager/strategies/offload/summarize.js +11 -12
  37. package/dist/src/context-manager/strategies/offload/summarize.js.map +1 -1
  38. package/dist/src/context-manager/strategies/offload/truncate.d.ts.map +1 -1
  39. package/dist/src/context-manager/strategies/offload/truncate.js +4 -11
  40. package/dist/src/context-manager/strategies/offload/truncate.js.map +1 -1
  41. package/dist/src/context-manager/types.d.ts +11 -1
  42. package/dist/src/context-manager/types.d.ts.map +1 -1
  43. package/dist/src/conversation-manager/compression/context-compression.d.ts +13 -1
  44. package/dist/src/conversation-manager/compression/context-compression.d.ts.map +1 -1
  45. package/dist/src/conversation-manager/compression/context-compression.js +32 -5
  46. package/dist/src/conversation-manager/compression/context-compression.js.map +1 -1
  47. package/dist/src/index.d.ts +8 -0
  48. package/dist/src/index.d.ts.map +1 -1
  49. package/dist/src/index.js +1 -0
  50. package/dist/src/index.js.map +1 -1
  51. package/dist/src/interventions/registry.d.ts.map +1 -1
  52. package/dist/src/interventions/registry.js +5 -0
  53. package/dist/src/interventions/registry.js.map +1 -1
  54. package/dist/src/models/anthropic.d.ts +30 -0
  55. package/dist/src/models/anthropic.d.ts.map +1 -1
  56. package/dist/src/models/anthropic.js +338 -126
  57. package/dist/src/models/anthropic.js.map +1 -1
  58. package/dist/src/models/bedrock.d.ts +10 -0
  59. package/dist/src/models/bedrock.d.ts.map +1 -1
  60. package/dist/src/models/bedrock.js +25 -15
  61. package/dist/src/models/bedrock.js.map +1 -1
  62. package/dist/src/models/defaults.d.ts.map +1 -1
  63. package/dist/src/models/defaults.js +1 -0
  64. package/dist/src/models/defaults.js.map +1 -1
  65. package/dist/src/models/model.d.ts +12 -2
  66. package/dist/src/models/model.d.ts.map +1 -1
  67. package/dist/src/models/model.js +6 -1
  68. package/dist/src/models/model.js.map +1 -1
  69. package/dist/src/models/openai/cache.d.ts +11 -2
  70. package/dist/src/models/openai/cache.d.ts.map +1 -1
  71. package/dist/src/models/openai/cache.js +32 -6
  72. package/dist/src/models/openai/cache.js.map +1 -1
  73. package/dist/src/models/openai/chat-adapter.d.ts.map +1 -1
  74. package/dist/src/models/openai/chat-adapter.js +10 -4
  75. package/dist/src/models/openai/chat-adapter.js.map +1 -1
  76. package/dist/src/models/openai/mantle.js +1 -1
  77. package/dist/src/models/openai/mantle.js.map +1 -1
  78. package/dist/src/models/openai/responses-adapter.js +1 -1
  79. package/dist/src/models/openai/responses-adapter.js.map +1 -1
  80. package/dist/src/plugins/plugin.d.ts +1 -1
  81. package/dist/src/plugins/registry.js +1 -1
  82. package/dist/src/plugins/registry.js.map +1 -1
  83. package/dist/src/retry/model-retry-strategy.js +16 -3
  84. package/dist/src/retry/model-retry-strategy.js.map +1 -1
  85. package/dist/src/sandbox/errors.d.ts +5 -1
  86. package/dist/src/sandbox/errors.d.ts.map +1 -1
  87. package/dist/src/sandbox/errors.js +7 -1
  88. package/dist/src/sandbox/errors.js.map +1 -1
  89. package/dist/src/sandbox/stream-process.d.ts.map +1 -1
  90. package/dist/src/sandbox/stream-process.js +6 -1
  91. package/dist/src/sandbox/stream-process.js.map +1 -1
  92. package/dist/src/storage/in-memory-storage.d.ts +7 -0
  93. package/dist/src/storage/in-memory-storage.d.ts.map +1 -1
  94. package/dist/src/storage/in-memory-storage.js +16 -1
  95. package/dist/src/storage/in-memory-storage.js.map +1 -1
  96. package/dist/src/storage/local-file-storage.d.ts +9 -2
  97. package/dist/src/storage/local-file-storage.d.ts.map +1 -1
  98. package/dist/src/storage/local-file-storage.js +17 -4
  99. package/dist/src/storage/local-file-storage.js.map +1 -1
  100. package/dist/src/storage/s3-storage.d.ts +4 -0
  101. package/dist/src/storage/s3-storage.d.ts.map +1 -1
  102. package/dist/src/storage/s3-storage.js +8 -0
  103. package/dist/src/storage/s3-storage.js.map +1 -1
  104. package/dist/src/storage/search/qmd.d.ts +10 -6
  105. package/dist/src/storage/search/qmd.d.ts.map +1 -1
  106. package/dist/src/storage/search/qmd.js +4 -6
  107. package/dist/src/storage/search/qmd.js.map +1 -1
  108. package/dist/src/storage/search/types.d.ts +14 -2
  109. package/dist/src/storage/search/types.d.ts.map +1 -1
  110. package/dist/src/tsconfig.tsbuildinfo +1 -1
  111. package/dist/src/types/agent.d.ts +7 -3
  112. package/dist/src/types/agent.d.ts.map +1 -1
  113. package/dist/src/types/agent.js +6 -0
  114. package/dist/src/types/agent.js.map +1 -1
  115. package/dist/src/vended-plugins/context-offloader/search.d.ts.map +1 -1
  116. package/dist/src/vended-plugins/context-offloader/search.js +4 -2
  117. package/dist/src/vended-plugins/context-offloader/search.js.map +1 -1
  118. package/dist/src/vended-tools/handoff-to-user/handoff-to-user.d.ts +28 -0
  119. package/dist/src/vended-tools/handoff-to-user/handoff-to-user.d.ts.map +1 -0
  120. package/dist/src/vended-tools/handoff-to-user/handoff-to-user.js +45 -0
  121. package/dist/src/vended-tools/handoff-to-user/handoff-to-user.js.map +1 -0
  122. package/dist/src/vended-tools/handoff-to-user/index.d.ts +8 -0
  123. package/dist/src/vended-tools/handoff-to-user/index.d.ts.map +1 -0
  124. package/dist/src/vended-tools/handoff-to-user/index.js +6 -0
  125. package/dist/src/vended-tools/handoff-to-user/index.js.map +1 -0
  126. package/dist/src/vended-tools/handoff-to-user/types.d.ts +18 -0
  127. package/dist/src/vended-tools/handoff-to-user/types.d.ts.map +1 -0
  128. package/dist/src/vended-tools/handoff-to-user/types.js +11 -0
  129. package/dist/src/vended-tools/handoff-to-user/types.js.map +1 -0
  130. package/dist/src/vended-tools/index.d.ts +14 -3
  131. package/dist/src/vended-tools/index.d.ts.map +1 -1
  132. package/dist/src/vended-tools/index.js +14 -3
  133. package/dist/src/vended-tools/index.js.map +1 -1
  134. package/dist/src/vended-tools/notebook/index.d.ts +2 -1
  135. package/dist/src/vended-tools/notebook/index.d.ts.map +1 -1
  136. package/dist/src/vended-tools/notebook/index.js +1 -1
  137. package/dist/src/vended-tools/notebook/index.js.map +1 -1
  138. package/dist/src/vended-tools/notebook/notebook.d.ts +38 -8
  139. package/dist/src/vended-tools/notebook/notebook.d.ts.map +1 -1
  140. package/dist/src/vended-tools/notebook/notebook.js +130 -79
  141. package/dist/src/vended-tools/notebook/notebook.js.map +1 -1
  142. package/dist/src/vended-tools/shell/make-shell.d.ts.map +1 -1
  143. package/dist/src/vended-tools/shell/make-shell.js +7 -3
  144. package/dist/src/vended-tools/shell/make-shell.js.map +1 -1
  145. package/dist/src/vended-tools/shell/types.d.ts +10 -5
  146. package/dist/src/vended-tools/shell/types.d.ts.map +1 -1
  147. package/dist/src/vended-tools/shell/types.js +7 -2
  148. package/dist/src/vended-tools/shell/types.js.map +1 -1
  149. package/dist/src/vended-tools/web-fetch/extract.d.ts +23 -0
  150. package/dist/src/vended-tools/web-fetch/extract.d.ts.map +1 -0
  151. package/dist/src/vended-tools/web-fetch/extract.js +130 -0
  152. package/dist/src/vended-tools/web-fetch/extract.js.map +1 -0
  153. package/dist/src/vended-tools/web-fetch/index.d.ts +9 -0
  154. package/dist/src/vended-tools/web-fetch/index.d.ts.map +1 -0
  155. package/dist/src/vended-tools/web-fetch/index.js +7 -0
  156. package/dist/src/vended-tools/web-fetch/index.js.map +1 -0
  157. package/dist/src/vended-tools/web-fetch/types.d.ts +40 -0
  158. package/dist/src/vended-tools/web-fetch/types.d.ts.map +1 -0
  159. package/dist/src/vended-tools/web-fetch/types.js +8 -0
  160. package/dist/src/vended-tools/web-fetch/types.js.map +1 -0
  161. package/dist/src/vended-tools/web-fetch/web-fetch.d.ts +14 -0
  162. package/dist/src/vended-tools/web-fetch/web-fetch.d.ts.map +1 -0
  163. package/dist/src/vended-tools/web-fetch/web-fetch.js +175 -0
  164. package/dist/src/vended-tools/web-fetch/web-fetch.js.map +1 -0
  165. package/package.json +24 -4
@@ -1,40 +1,131 @@
1
1
  import { tool } from '../../index.js';
2
2
  import { z } from 'zod';
3
+ const DEFAULT_MAX_NOTEBOOK_SIZE_BYTES = 1_048_576; // 1 MiB
4
+ /** Modes that mutate `notebooks` state and must be persisted. */
5
+ const MUTATING_MODES = new Set(['create', 'write', 'clear']);
6
+ /** Modes that can grow state and therefore need size-cap enforcement. */
7
+ const GROWING_MODES = new Set(['create', 'write']);
3
8
  /**
4
- * Zod schema for notebook input validation.
9
+ * Creates a notebook tool with a custom name, description, and size cap.
10
+ *
11
+ * @param options - Configuration options for the tool.
12
+ * @returns A tool that manages text notebooks in agent state.
13
+ *
14
+ * @throws Error if `name` is empty or `maxNotebookSizeBytes` is not a positive integer.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const myNotebook = makeNotebook({ name: 'scratchpad', maxNotebookSizeBytes: 65536 })
19
+ * const agent = new Agent({ tools: [myNotebook] })
20
+ * ```
5
21
  */
6
- const notebookInputSchema = z
7
- .object({
8
- mode: z
9
- .enum(['create', 'list', 'read', 'write', 'clear'])
10
- .describe('The operation to perform: `create`, `list`, `read`, `write`, `clear`.'),
11
- name: z.string().optional().describe('Name of the notebook to operate on. Defaults to "default".'),
12
- newStr: z
13
- .string()
14
- .optional()
15
- .describe('Text to append, or the new string for replacement and insertion operations.'),
16
- readRange: z
17
- .array(z.number())
18
- .optional()
19
- .describe('Optional parameter of `view` command. Line range to show [start, end]. Supports negative indices.'),
20
- oldStr: z.string().optional().describe('String to replace in write mode when doing text replacement.'),
21
- insertLine: z
22
- .union([z.string(), z.number()])
23
- .optional()
24
- .describe('Line number (int) or search text (str) for insertion point in write mode.\nSupports negative indices.'),
25
- })
26
- .refine((data) => {
27
- // Validate write mode requirements
28
- if (data.mode === 'write') {
29
- const hasReplacement = data.oldStr !== undefined && data.newStr !== undefined;
30
- const hasInsertion = data.insertLine !== undefined && data.newStr !== undefined;
31
- const hasAppend = data.oldStr === undefined && data.insertLine === undefined && data.newStr !== undefined;
32
- return hasReplacement || hasInsertion || hasAppend;
22
+ export function makeNotebook({ name = 'notebook', description = 'Manages text notebooks for note-taking and documentation. Supports create, list, read, write (append, replace, or insert), and clear operations. In write mode: newStr alone appends to the end; newStr with oldStr replaces matching text; newStr with insertLine inserts at a position. A write only succeeds on a notebook that already exists: use list to check, or create to start a new one (create replaces any existing content). Notebooks persist within the agent invocation.', maxNotebookSizeBytes = DEFAULT_MAX_NOTEBOOK_SIZE_BYTES, } = {}) {
23
+ if (!name) {
24
+ throw new Error('name must be a non-empty string');
33
25
  }
34
- return true;
35
- }, {
36
- message: 'Write operation requires newStr, optionally with oldStr for replacement or insertLine for insertion',
37
- });
26
+ if (!Number.isInteger(maxNotebookSizeBytes) || maxNotebookSizeBytes < 1) {
27
+ throw new Error('maxNotebookSizeBytes must be a positive integer');
28
+ }
29
+ /**
30
+ * Zod schema for notebook input validation.
31
+ */
32
+ const notebookInputSchema = z
33
+ .object({
34
+ mode: z
35
+ .enum(['create', 'list', 'read', 'write', 'clear'])
36
+ .describe('The operation to perform: `create`, `list`, `read`, `write`, `clear`.'),
37
+ name: z.string().optional().describe('Name of the notebook to operate on. Defaults to "default".'),
38
+ newStr: z
39
+ .string()
40
+ .optional()
41
+ .describe('Text to append, or the new string for replacement and insertion operations.'),
42
+ readRange: z
43
+ .array(z.number())
44
+ .optional()
45
+ .describe('Optional parameter of `read` command. Line range to show [start, end]. Supports negative indices.'),
46
+ oldStr: z.string().optional().describe('String to replace in write mode when doing text replacement.'),
47
+ insertLine: z
48
+ .union([z.string(), z.number()])
49
+ .optional()
50
+ .describe('Line number (int) or search text (str) for insertion point in write mode.\nSupports negative indices.'),
51
+ })
52
+ .refine((data) => {
53
+ // Validate write mode requirements
54
+ if (data.mode === 'write') {
55
+ const hasReplacement = data.oldStr !== undefined && data.newStr !== undefined;
56
+ const hasInsertion = data.insertLine !== undefined && data.newStr !== undefined;
57
+ const hasAppend = data.oldStr === undefined && data.insertLine === undefined && data.newStr !== undefined;
58
+ const isAmbiguous = data.oldStr !== undefined && data.insertLine !== undefined;
59
+ return (hasReplacement || hasInsertion || hasAppend) && !isAmbiguous;
60
+ }
61
+ return true;
62
+ }, {
63
+ message: 'Write operation requires newStr, optionally with oldStr for replacement or insertLine for insertion; ' +
64
+ 'oldStr and insertLine cannot be combined',
65
+ });
66
+ return tool({
67
+ name,
68
+ description,
69
+ inputSchema: notebookInputSchema,
70
+ callback: (input, context) => {
71
+ if (!context) {
72
+ throw new Error('Tool context is required for notebook operations');
73
+ }
74
+ // Get notebooks from state, or initialize if not present
75
+ const notebooksObj = context.agent.appState.get('notebooks');
76
+ let notebooks;
77
+ if (notebooksObj == null) {
78
+ notebooks = {};
79
+ }
80
+ else if (typeof notebooksObj === 'object' && !Array.isArray(notebooksObj)) {
81
+ if (Object.values(notebooksObj).some((v) => typeof v !== 'string')) {
82
+ throw new Error('Malformed notebooks state: keys and values must be strings');
83
+ }
84
+ notebooks = notebooksObj;
85
+ }
86
+ else {
87
+ throw new Error('Malformed notebooks state: expected a plain object');
88
+ }
89
+ // Ensure default notebook exists
90
+ if (Object.keys(notebooks).length === 0) {
91
+ notebooks.default = '';
92
+ }
93
+ let result;
94
+ switch (input.mode) {
95
+ case 'create':
96
+ result = handleCreate(notebooks, input.name ?? 'default', input.newStr);
97
+ break;
98
+ case 'list':
99
+ result = handleList(notebooks);
100
+ break;
101
+ case 'read':
102
+ result = handleRead(notebooks, input.name ?? 'default', input.readRange);
103
+ break;
104
+ case 'write':
105
+ result = handleWrite(notebooks, input.name ?? 'default', input.oldStr, input.newStr, input.insertLine);
106
+ break;
107
+ case 'clear':
108
+ result = handleClear(notebooks, input.name ?? 'default');
109
+ break;
110
+ default:
111
+ throw new Error(`Unknown mode: ${input.mode}`);
112
+ }
113
+ if (GROWING_MODES.has(input.mode)) {
114
+ const notebookName = input.name ?? 'default';
115
+ const encoder = new TextEncoder();
116
+ const size = encoder.encode(notebooks[notebookName]).byteLength;
117
+ if (size > maxNotebookSizeBytes) {
118
+ throw new Error(`Notebook '${notebookName}' content (${size} bytes) would exceed maximum of ${maxNotebookSizeBytes} bytes`);
119
+ }
120
+ }
121
+ if (MUTATING_MODES.has(input.mode)) {
122
+ // Persist notebooks back to state
123
+ context.agent.appState.set('notebooks', notebooks);
124
+ }
125
+ return result;
126
+ },
127
+ });
128
+ }
38
129
  /**
39
130
  * Notebook tool for managing persistent text notebooks.
40
131
  *
@@ -55,48 +146,7 @@ const notebookInputSchema = z
55
146
  * )
56
147
  * ```
57
148
  */
58
- export const notebook = tool({
59
- name: 'notebook',
60
- description: 'Manages text notebooks for note-taking and documentation. Supports create, list, read, write (append, replace, or insert), and clear operations. In write mode: newStr alone appends to the end; newStr with oldStr replaces matching text; newStr with insertLine inserts at a position. A write only succeeds on a notebook that already exists: use list to check, or create to start a new one (create replaces any existing content). Notebooks persist within the agent invocation.',
61
- inputSchema: notebookInputSchema,
62
- callback: (input, context) => {
63
- if (!context) {
64
- throw new Error('Tool context is required for notebook operations');
65
- }
66
- // Get notebooks from state, or initialize if not present
67
- let notebooks = context.agent.appState.get('notebooks');
68
- if (!notebooks) {
69
- notebooks = {};
70
- }
71
- // Ensure default notebook exists
72
- if (Object.keys(notebooks).length === 0) {
73
- notebooks.default = '';
74
- }
75
- let result;
76
- switch (input.mode) {
77
- case 'create':
78
- result = handleCreate(notebooks, input.name ?? 'default', input.newStr);
79
- break;
80
- case 'list':
81
- result = handleList(notebooks);
82
- break;
83
- case 'read':
84
- result = handleRead(notebooks, input.name ?? 'default', input.readRange);
85
- break;
86
- case 'write':
87
- result = handleWrite(notebooks, input.name ?? 'default', input.oldStr, input.newStr, input.insertLine);
88
- break;
89
- case 'clear':
90
- result = handleClear(notebooks, input.name ?? 'default');
91
- break;
92
- default:
93
- throw new Error(`Unknown mode: ${input.mode}`);
94
- }
95
- // Persist notebooks back to state
96
- context.agent.appState.set('notebooks', notebooks);
97
- return result;
98
- },
99
- });
149
+ export const notebook = makeNotebook();
100
150
  /**
101
151
  * Handles create operation.
102
152
  */
@@ -145,12 +195,13 @@ function handleRead(notebooks, name, readRange) {
145
195
  end = lines.length + end + 1;
146
196
  }
147
197
  const selectedLines = [];
148
- for (let lineNum = start; lineNum <= end; lineNum++) {
149
- if (lineNum >= 1 && lineNum <= lines.length) {
150
- selectedLines.push(`${lineNum}: ${lines[lineNum - 1]}`);
151
- }
198
+ for (let lineNum = Math.max(start, 1); lineNum <= Math.min(end, lines.length); lineNum++) {
199
+ selectedLines.push(`${lineNum}: ${lines[lineNum - 1]}`);
200
+ }
201
+ if (selectedLines.length === 0) {
202
+ return `No lines found in range [${readRange[0]}, ${readRange[1]}]. Notebook '${name}' has ${lines.length} line(s).`;
152
203
  }
153
- return selectedLines.length > 0 ? selectedLines.join('\n') : 'No valid lines found in range';
204
+ return selectedLines.join('\n');
154
205
  }
155
206
  /**
156
207
  * Handles write operation (append, string replacement, or line insertion).
@@ -1 +1 @@
1
- {"version":3,"file":"notebook.js","sourceRoot":"","sources":["../../../../src/vended-tools/notebook/notebook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notebook.js","sourceRoot":"","sources":["../../../../src/vended-tools/notebook/notebook.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-shell.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/shell/make-shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAQ/C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;CACxB;AAgBD,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;AAC9E,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;AA6B5G;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;AAC7E,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;AAS3G;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAA"}
1
+ {"version":3,"file":"make-shell.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/shell/make-shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAQ/C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;CACxB;AAgBD,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;AAC9E,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;AAkC5G;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;AAC7E,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;AAS3G;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAA"}
@@ -40,12 +40,16 @@ export function makeShell(sandboxOrOptions, maybeOptions) {
40
40
  const sandbox = boundSandbox ?? context.agent.sandbox;
41
41
  try {
42
42
  const result = await sandbox.execute(input.command, { timeout: input.timeout ?? 120 });
43
- return { output: result.stdout, error: result.stderr };
43
+ return { output: result.stdout, error: result.stderr, exit_code: result.exitCode };
44
44
  }
45
45
  catch (err) {
46
46
  // Shell* extends Bash* so pre-rename catch clauses keep matching.
47
- if (err instanceof SandboxTimeoutError)
48
- throw new ShellTimeoutError(err.message);
47
+ if (err instanceof SandboxTimeoutError) {
48
+ // Thrown errors reach the model as `Error: <message>`, so the partial output rides in the message.
49
+ // 124 is the timeout(1) convention for a command killed by its time limit.
50
+ const partial = { output: err.stdout, error: err.stderr, exit_code: 124 };
51
+ throw new ShellTimeoutError(`${err.message}\n${JSON.stringify(partial)}`, partial);
52
+ }
49
53
  throw new ShellExecutionError(err.message);
50
54
  }
51
55
  },
@@ -1 +1 @@
1
- {"version":3,"file":"make-shell.js","sourceRoot":"","sources":["../../../../src/vended-tools/shell/make-shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,yBAAyB,EAAoB,MAAM,YAAY,CAAA;AAEhH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CACzF,CAAC,CAAA;AAQF;;;;GAIG;AACH,SAAS,gBAAgB,CACvB,gBAA6C,EAC7C,YAA+B;IAE/B,MAAM,YAAY,GAAG,gBAAgB,YAAY,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAA;IACvF,MAAM,OAAO,GAAG,gBAAgB,YAAY,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAA;IACrH,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAA;AAClC,CAAC;AAID,MAAM,UAAU,SAAS,CACvB,gBAA6C,EAC7C,YAA+B;IAE/B,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAA;IAElF,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO;QAC7B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,yBAAyB;QAC7D,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,uBAAuB,CAAmC;QAC/F,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACjC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;YAClE,CAAC;YAED,MAAM,OAAO,GAAG,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;YACrD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAA;gBACtF,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAiB,CAAA;YACvE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,kEAAkE;gBAClE,IAAI,GAAG,YAAY,mBAAmB;oBAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAChF,MAAM,IAAI,mBAAmB,CAAE,GAAa,CAAC,OAAO,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAYD,MAAM,UAAU,QAAQ,CACtB,gBAA6C,EAC7C,YAA+B;IAE/B,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAA;IAClF,OAAO,SAAS,CAAC,YAAY,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC,CAAA;AAC9E,CAAC"}
1
+ {"version":3,"file":"make-shell.js","sourceRoot":"","sources":["../../../../src/vended-tools/shell/make-shell.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,9 @@ export declare const SANDBOX_SHELL_DESCRIPTION: string;
13
13
  * type keep working; new code should catch this instead.
14
14
  */
15
15
  export declare class ShellTimeoutError extends BashTimeoutError {
16
- constructor(message: string);
16
+ /** Output captured before the command was killed, when the sandbox reported it. */
17
+ readonly partial?: ShellOutput;
18
+ constructor(message: string, partial?: ShellOutput);
17
19
  }
18
20
  /**
19
21
  * Error thrown when a sandbox-routed shell command fails.
@@ -25,9 +27,8 @@ export declare class ShellExecutionError extends BashSessionError {
25
27
  constructor(message: string);
26
28
  }
27
29
  /**
28
- * Output format for shell command execution. Structurally identical to the bash
29
- * tool's output, so pre-rename consumers keep working, but declared standalone;
30
- * mirrors the Python SDK's `ShellOutput`.
30
+ * Output format for shell command execution. Declared standalone; mirrors the
31
+ * Python SDK's `ShellOutput`.
31
32
  */
32
33
  export interface ShellOutput {
33
34
  /**
@@ -39,9 +40,13 @@ export interface ShellOutput {
39
40
  * Empty string if no errors occurred.
40
41
  */
41
42
  error: string;
43
+ /**
44
+ * Exit code of the command. Non-zero means the command failed.
45
+ */
46
+ exit_code: number;
42
47
  /**
43
48
  * Allow indexing with string keys for JSONValue compatibility.
44
49
  */
45
- [key: string]: string;
50
+ [key: string]: string | number;
46
51
  }
47
52
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/shell/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAErE,eAAO,MAAM,yBAAyB,QAE8C,CAAA;AAEpF;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;gBACzC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;gBAC3C,OAAO,EAAE,MAAM;CAI5B;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/shell/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAErE,eAAO,MAAM,yBAAyB,QAG8C,CAAA;AAEpF;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,mFAAmF;IACnF,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;gBAElB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW;CAKnD;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;gBAC3C,OAAO,EAAE,MAAM;CAI5B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAC/B"}
@@ -5,7 +5,8 @@
5
5
  * callers who caught the pre-rename error types keep working.
6
6
  */
7
7
  import { BashTimeoutError, BashSessionError } from '../bash/types.js';
8
- export const SANDBOX_SHELL_DESCRIPTION = 'Executes shell commands. Each call runs in a fresh shell; ' +
8
+ export const SANDBOX_SHELL_DESCRIPTION = 'Executes shell commands and returns output (stdout), error (stderr), and exit_code (non-zero means the ' +
9
+ 'command failed). Each call runs in a fresh shell; ' +
9
10
  'state such as variables and the working directory does not persist across calls.';
10
11
  /**
11
12
  * Error thrown when a sandbox-routed shell command exceeds its timeout.
@@ -14,9 +15,13 @@ export const SANDBOX_SHELL_DESCRIPTION = 'Executes shell commands. Each call run
14
15
  * type keep working; new code should catch this instead.
15
16
  */
16
17
  export class ShellTimeoutError extends BashTimeoutError {
17
- constructor(message) {
18
+ /** Output captured before the command was killed, when the sandbox reported it. */
19
+ partial;
20
+ constructor(message, partial) {
18
21
  super(message);
19
22
  this.name = 'ShellTimeoutError';
23
+ if (partial)
24
+ this.partial = partial;
20
25
  }
21
26
  }
22
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/vended-tools/shell/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAErE,MAAM,CAAC,MAAM,yBAAyB,GACpC,4DAA4D;IAC5D,kFAAkF,CAAA;AAEpF;;;;;GAKG;AACH,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IACrD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IACvD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/vended-tools/shell/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAErE,MAAM,CAAC,MAAM,yBAAyB,GACpC,yGAAyG;IACzG,oDAAoD;IACpD,kFAAkF,CAAA;AAEpF;;;;;GAKG;AACH,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IACrD,mFAAmF;IAC1E,OAAO,CAAc;IAE9B,YAAY,OAAe,EAAE,OAAqB;QAChD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;QAC/B,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACrC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IACvD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * HTML → markdown extraction for the web fetch tool.
3
+ *
4
+ * Delegates HTML-to-markdown conversion to turndown with ATX headings and
5
+ * fenced code blocks. Non-content elements (scripts, styles, media, forms,
6
+ * etc.) are dropped entirely. `data:` URI images are replaced with their alt
7
+ * text (or nothing) to avoid enormous blobs in the output. `javascript:`
8
+ * hrefs and src values are stripped silently.
9
+ *
10
+ * Requires `turndown` as an optional peer dependency.
11
+ */
12
+ /**
13
+ * Convert HTML to markdown suitable for a model to read.
14
+ *
15
+ * The page title, if present, is rendered as a top-level ATX heading so the
16
+ * model sees it as part of the document. Returns the original HTML string if
17
+ * conversion fails.
18
+ *
19
+ * @param html - Raw HTML string to convert.
20
+ * @returns The converted markdown string, or the original HTML if conversion failed.
21
+ */
22
+ export declare function htmlToMarkdown(html: string): Promise<string>;
23
+ //# sourceMappingURL=extract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/web-fetch/extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAyGH;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUlE"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * HTML → markdown extraction for the web fetch tool.
3
+ *
4
+ * Delegates HTML-to-markdown conversion to turndown with ATX headings and
5
+ * fenced code blocks. Non-content elements (scripts, styles, media, forms,
6
+ * etc.) are dropped entirely. `data:` URI images are replaced with their alt
7
+ * text (or nothing) to avoid enormous blobs in the output. `javascript:`
8
+ * hrefs and src values are stripped silently.
9
+ *
10
+ * Requires `turndown` as an optional peer dependency.
11
+ */
12
+ import { logger } from '../../logging/logger.js';
13
+ // Elements whose entire subtree is discarded.
14
+ const DROPPED_ELEMENTS = [
15
+ 'script',
16
+ 'style',
17
+ 'noscript',
18
+ 'template',
19
+ 'svg',
20
+ 'canvas',
21
+ 'iframe',
22
+ 'object',
23
+ 'embed',
24
+ 'video',
25
+ 'audio',
26
+ 'form',
27
+ 'input',
28
+ 'button',
29
+ 'select',
30
+ 'textarea',
31
+ 'nav',
32
+ ];
33
+ // Strip invisible characters before URL scheme detection.
34
+ function _stripInvisible(value) {
35
+ return value.replace(/^[\p{Cc}\p{Cf}\p{Zs}]+/u, '');
36
+ }
37
+ async function loadTurndown() {
38
+ try {
39
+ return (await import('turndown')).default;
40
+ }
41
+ catch (cause) {
42
+ throw new Error("web_fetch requires the 'turndown' package. Install it with: npm install turndown", { cause });
43
+ }
44
+ }
45
+ async function _createTurndownService() {
46
+ const Turndown = await loadTurndown();
47
+ const td = new Turndown({
48
+ headingStyle: 'atx',
49
+ codeBlockStyle: 'fenced',
50
+ bulletListMarker: '-',
51
+ emDelimiter: '*',
52
+ strongDelimiter: '**',
53
+ linkStyle: 'inlined',
54
+ });
55
+ // Cast needed because svg/noscript/template are absent from HTMLElementTagNameMap.
56
+ td.remove(DROPPED_ELEMENTS);
57
+ // Render the <title> as a top-level heading so it appears in the document
58
+ // body rather than being silently dropped (turndown ignores <head> elements).
59
+ td.addRule('title', {
60
+ filter: 'title',
61
+ replacement: (_content, node) => {
62
+ const text = node.textContent?.trim() ?? '';
63
+ return text ? `# ${text}\n\n` : '';
64
+ },
65
+ });
66
+ // Replace data: URI images with alt text only (they can be enormous blobs).
67
+ // Strip javascript: src values entirely.
68
+ td.addRule('safeImage', {
69
+ filter: 'img',
70
+ replacement: (_content, node) => {
71
+ const element = node;
72
+ const src = (element.getAttribute('src') ?? '').trim();
73
+ const alt = element.getAttribute('alt') ?? '';
74
+ if (!src)
75
+ return alt;
76
+ try {
77
+ const scheme = new URL(_stripInvisible(src)).protocol;
78
+ if (scheme === 'javascript:')
79
+ return '';
80
+ if (scheme === 'data:')
81
+ return alt;
82
+ }
83
+ catch {
84
+ // not an absolute URL — pass through as-is
85
+ }
86
+ return `![${alt}](${src})`;
87
+ },
88
+ });
89
+ // Strip javascript: hrefs — render link text only.
90
+ td.addRule('safeLink', {
91
+ filter: (node) => {
92
+ if (node.nodeName !== 'A')
93
+ return false;
94
+ const href = (node.getAttribute('href') ?? '').trim();
95
+ try {
96
+ return new URL(_stripInvisible(href)).protocol === 'javascript:';
97
+ }
98
+ catch {
99
+ return false;
100
+ }
101
+ },
102
+ replacement: (content) => content,
103
+ });
104
+ return td;
105
+ }
106
+ // Cache the configured service so rules are registered once across all calls.
107
+ let _turndownServicePromise = null;
108
+ /**
109
+ * Convert HTML to markdown suitable for a model to read.
110
+ *
111
+ * The page title, if present, is rendered as a top-level ATX heading so the
112
+ * model sees it as part of the document. Returns the original HTML string if
113
+ * conversion fails.
114
+ *
115
+ * @param html - Raw HTML string to convert.
116
+ * @returns The converted markdown string, or the original HTML if conversion failed.
117
+ */
118
+ export async function htmlToMarkdown(html) {
119
+ _turndownServicePromise ??= _createTurndownService();
120
+ const td = await _turndownServicePromise;
121
+ try {
122
+ const markdown = td.turndown(html).trim();
123
+ return markdown ? markdown + '\n' : '';
124
+ }
125
+ catch (error) {
126
+ logger.warn(`error=<${error}> | html_to_markdown failed, returning raw html`);
127
+ return html;
128
+ }
129
+ }
130
+ //# sourceMappingURL=extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../src/vended-tools/web-fetch/extract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Web fetch tool: fetch a URL and return clean markdown suitable for a model to read.
3
+ *
4
+ * Distinct from the http-request tool (raw API calls). See {@link webFetch}.
5
+ */
6
+ export { webFetch, makeWebFetch } from './web-fetch.js';
7
+ export type { MakeWebFetchOptions } from './types.js';
8
+ export type { WebFetchMarkdownInput, WebFetchAgenticInput } from './types.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/web-fetch/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACvD,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACrD,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Web fetch tool: fetch a URL and return clean markdown suitable for a model to read.
3
+ *
4
+ * Distinct from the http-request tool (raw API calls). See {@link webFetch}.
5
+ */
6
+ export { webFetch, makeWebFetch } from './web-fetch.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/vended-tools/web-fetch/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,40 @@
1
+ import type { Model } from '../../models/model.js';
2
+ /**
3
+ * Input parameters for the markdown mode web fetch tool.
4
+ */
5
+ export interface WebFetchMarkdownInput {
6
+ /** URL to fetch. Must be http:// or https://. */
7
+ url: string;
8
+ }
9
+ /**
10
+ * Input parameters for the agentic mode web fetch tool.
11
+ */
12
+ export interface WebFetchAgenticInput {
13
+ /** URL to fetch. Must be http:// or https://. */
14
+ url: string;
15
+ /** Question or instruction about the page content. */
16
+ prompt: string;
17
+ }
18
+ export declare const WEB_FETCH_DESCRIPTION_MARKDOWN: string;
19
+ export declare const WEB_FETCH_DESCRIPTION_AGENTIC: string;
20
+ /**
21
+ * Options for {@link makeWebFetch}.
22
+ */
23
+ export interface MakeWebFetchOptions {
24
+ /** Tool name shown to the model. Defaults to `'web_fetch'`. */
25
+ name?: string;
26
+ /** Tool description shown to the model. Defaults to a mode-appropriate description. */
27
+ description?: string;
28
+ /** Maximum response body size in bytes. Defaults to 5 MiB. */
29
+ maxBytes?: number;
30
+ /** Maximum characters of extracted content delivered to the model. Defaults to 50,000. */
31
+ maxContentChars?: number;
32
+ /**
33
+ * Optional model for the analyst agent. Only used when `mode` is `'agentic'`.
34
+ * Falls back to the host agent's model when not provided.
35
+ */
36
+ model?: Model;
37
+ /** Extraction mode. Defaults to `'agentic'`. */
38
+ mode?: 'markdown' | 'agentic';
39
+ }
40
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/web-fetch/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAElD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAA;IACX,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,8BAA8B,QAGA,CAAA;AAE3C,eAAO,MAAM,6BAA6B,QAIL,CAAA;AAErC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,gDAAgD;IAChD,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;CAC9B"}