agentfootprint 9.6.0 → 9.7.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 (98) hide show
  1. package/AGENTS.md +1 -1
  2. package/CLAUDE.md +1 -1
  3. package/ai-instructions/claude-code/SKILL.md +1 -1
  4. package/dist/adapters/code/agentcore.js +294 -0
  5. package/dist/adapters/code/agentcore.js.map +1 -0
  6. package/dist/adapters/code/local.js +200 -0
  7. package/dist/adapters/code/local.js.map +1 -0
  8. package/dist/core/Agent.js +132 -0
  9. package/dist/core/Agent.js.map +1 -1
  10. package/dist/core/RunnerBase.js +67 -0
  11. package/dist/core/RunnerBase.js.map +1 -1
  12. package/dist/core/agent/stages/toolCalls.js +90 -0
  13. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  14. package/dist/core/codeRunnerTool.js +252 -0
  15. package/dist/core/codeRunnerTool.js.map +1 -0
  16. package/dist/core/toolSessions.js +396 -0
  17. package/dist/core/toolSessions.js.map +1 -0
  18. package/dist/core/tools.js.map +1 -1
  19. package/dist/doors/providers.js +13 -0
  20. package/dist/doors/providers.js.map +1 -1
  21. package/dist/esm/adapters/code/agentcore.d.ts +133 -0
  22. package/dist/esm/adapters/code/agentcore.js +290 -0
  23. package/dist/esm/adapters/code/agentcore.js.map +1 -0
  24. package/dist/esm/adapters/code/local.d.ts +99 -0
  25. package/dist/esm/adapters/code/local.js +196 -0
  26. package/dist/esm/adapters/code/local.js.map +1 -0
  27. package/dist/esm/adapters/types.d.ts +87 -0
  28. package/dist/esm/core/Agent.d.ts +65 -0
  29. package/dist/esm/core/Agent.js +133 -1
  30. package/dist/esm/core/Agent.js.map +1 -1
  31. package/dist/esm/core/RunnerBase.d.ts +51 -0
  32. package/dist/esm/core/RunnerBase.js +67 -0
  33. package/dist/esm/core/RunnerBase.js.map +1 -1
  34. package/dist/esm/core/agent/stages/toolCalls.d.ts +31 -0
  35. package/dist/esm/core/agent/stages/toolCalls.js +90 -0
  36. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  37. package/dist/esm/core/agent/types.d.ts +23 -2
  38. package/dist/esm/core/codeRunnerTool.d.ts +120 -0
  39. package/dist/esm/core/codeRunnerTool.js +247 -0
  40. package/dist/esm/core/codeRunnerTool.js.map +1 -0
  41. package/dist/esm/core/toolSessions.d.ts +318 -0
  42. package/dist/esm/core/toolSessions.js +389 -0
  43. package/dist/esm/core/toolSessions.js.map +1 -0
  44. package/dist/esm/core/tools.d.ts +60 -0
  45. package/dist/esm/core/tools.js.map +1 -1
  46. package/dist/esm/doors/providers.d.ts +7 -0
  47. package/dist/esm/doors/providers.js +10 -0
  48. package/dist/esm/doors/providers.js.map +1 -1
  49. package/dist/esm/events/payloads.d.ts +50 -0
  50. package/dist/esm/events/registry.d.ts +9 -1
  51. package/dist/esm/events/registry.js +8 -0
  52. package/dist/esm/events/registry.js.map +1 -1
  53. package/dist/esm/index.d.ts +2 -0
  54. package/dist/esm/index.js +5 -0
  55. package/dist/esm/index.js.map +1 -1
  56. package/dist/esm/lib/mcp/mcpServe.js +37 -1
  57. package/dist/esm/lib/mcp/mcpServe.js.map +1 -1
  58. package/dist/esm/lib/trace-toolpack/traceToolpack.js +15 -1
  59. package/dist/esm/lib/trace-toolpack/traceToolpack.js.map +1 -1
  60. package/dist/events/registry.js +8 -0
  61. package/dist/events/registry.js.map +1 -1
  62. package/dist/index.js +14 -1
  63. package/dist/index.js.map +1 -1
  64. package/dist/lib/mcp/mcpServe.js +37 -1
  65. package/dist/lib/mcp/mcpServe.js.map +1 -1
  66. package/dist/lib/trace-toolpack/traceToolpack.js +15 -1
  67. package/dist/lib/trace-toolpack/traceToolpack.js.map +1 -1
  68. package/dist/types/adapters/code/agentcore.d.ts +134 -0
  69. package/dist/types/adapters/code/agentcore.d.ts.map +1 -0
  70. package/dist/types/adapters/code/local.d.ts +100 -0
  71. package/dist/types/adapters/code/local.d.ts.map +1 -0
  72. package/dist/types/adapters/types.d.ts +87 -0
  73. package/dist/types/adapters/types.d.ts.map +1 -1
  74. package/dist/types/core/Agent.d.ts +65 -0
  75. package/dist/types/core/Agent.d.ts.map +1 -1
  76. package/dist/types/core/RunnerBase.d.ts +51 -0
  77. package/dist/types/core/RunnerBase.d.ts.map +1 -1
  78. package/dist/types/core/agent/stages/toolCalls.d.ts +31 -0
  79. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  80. package/dist/types/core/agent/types.d.ts +23 -2
  81. package/dist/types/core/agent/types.d.ts.map +1 -1
  82. package/dist/types/core/codeRunnerTool.d.ts +121 -0
  83. package/dist/types/core/codeRunnerTool.d.ts.map +1 -0
  84. package/dist/types/core/toolSessions.d.ts +319 -0
  85. package/dist/types/core/toolSessions.d.ts.map +1 -0
  86. package/dist/types/core/tools.d.ts +60 -0
  87. package/dist/types/core/tools.d.ts.map +1 -1
  88. package/dist/types/doors/providers.d.ts +7 -0
  89. package/dist/types/doors/providers.d.ts.map +1 -1
  90. package/dist/types/events/payloads.d.ts +50 -0
  91. package/dist/types/events/payloads.d.ts.map +1 -1
  92. package/dist/types/events/registry.d.ts +9 -1
  93. package/dist/types/events/registry.d.ts.map +1 -1
  94. package/dist/types/index.d.ts +2 -0
  95. package/dist/types/index.d.ts.map +1 -1
  96. package/dist/types/lib/mcp/mcpServe.d.ts.map +1 -1
  97. package/dist/types/lib/trace-toolpack/traceToolpack.d.ts.map +1 -1
  98. package/package.json +1 -1
@@ -176,6 +176,82 @@ function buildToolCallsHandler(deps) {
176
176
  // that THROWS on use (never undefined) — so a tool can't silently no-op.
177
177
  const credentials = deps.credentialProvider ?? (0, types_js_1.unconfiguredCredentialProvider)();
178
178
  const hasCredentials = deps.credentialProvider !== undefined;
179
+ /**
180
+ * Every teardown scope an Agent run can honour (9.7.0).
181
+ *
182
+ * All four are real here and each has a firing site: `'call'` in this loop,
183
+ * `'run'` at `Agent.run`'s non-pause terminals, `'session'` at
184
+ * `agent.closeToolSessions(...)`, `'shutdown'` at `agent.shutdown()`. A door
185
+ * that cannot honour one declares a shorter list rather than accepting the
186
+ * registration and never firing it.
187
+ */
188
+ const AGENT_TEARDOWN_SCOPES = ['call', 'run', 'session', 'shutdown'];
189
+ /**
190
+ * The identity + teardown half of a `ToolExecutionContext`.
191
+ *
192
+ * Built per call, from the run accessor rather than from a captured value.
193
+ * Every field is ABSENT when the fact is absent: a tool branching on
194
+ * `ctx.sessionId` must be able to tell "not session-bound" from "bound to
195
+ * something I made up".
196
+ */
197
+ const sessionContext = (scope, toolName, toolCallId) => {
198
+ const facts = deps.currentRun?.();
199
+ return {
200
+ ...(facts?.runId !== undefined && { runId: facts.runId }),
201
+ ...(facts?.sessionId !== undefined && { sessionId: facts.sessionId }),
202
+ ...(facts?.identity !== undefined && { identity: facts.identity }),
203
+ teardownScopes: AGENT_TEARDOWN_SCOPES,
204
+ onTeardown: (cleanup, options) => {
205
+ const scopeAsked = options?.scope ?? 'run';
206
+ if (!AGENT_TEARDOWN_SCOPES.includes(scopeAsked)) {
207
+ // Named, not swallowed: an accepted registration that can never fire
208
+ // is a leaked resource wearing the shape of a tidy one.
209
+ throw new Error(`tool '${toolName}': onTeardown scope '${scopeAsked}' is not honoured here. ` +
210
+ `This door supports: ${AGENT_TEARDOWN_SCOPES.join(', ')}. ` +
211
+ 'Read `ctx.teardownScopes` and pick one of those.');
212
+ }
213
+ const tier = deps.toolSessions?.();
214
+ if (!tier)
215
+ return;
216
+ const filed = tier.register({
217
+ tool: toolName,
218
+ toolCallId,
219
+ ...(facts?.runId !== undefined && { runId: facts.runId }),
220
+ ...(facts?.sessionId !== undefined && { sessionId: facts.sessionId }),
221
+ }, cleanup, options);
222
+ // Emitted HERE, not from the tier, because here there is still a stage
223
+ // to be stamped with: a start and a reuse happen inside `tool.execute`,
224
+ // so they ride the ordinary scope channel and carry the real
225
+ // `runtimeStageId`. Only the CLOSE fires after the last stage
226
+ // committed, and only that one wears the `tool-teardown#0` pseudo-stage.
227
+ //
228
+ // `keyHash`, never the key: the key composes tenant, principal and the
229
+ // hosting sessionId, and publishing it would put a user identifier into
230
+ // every exporter's payload.
231
+ (0, typedEmit_js_1.typedEmit)(scope, filed.outcome === 'started'
232
+ ? 'agentfootprint.tools.session_started'
233
+ : 'agentfootprint.tools.session_reused', {
234
+ tool: toolName,
235
+ scope: scopeAsked,
236
+ keyHash: filed.keyHash,
237
+ ...(options?.runnerId !== undefined && { runnerId: options.runnerId }),
238
+ ...(options?.label !== undefined && { label: options.label }),
239
+ ...(filed.outcome === 'reused' && { calls: filed.calls }),
240
+ });
241
+ },
242
+ };
243
+ };
244
+ /**
245
+ * Fire the `'call'`-scoped cleanups this tool call registered.
246
+ *
247
+ * Runs when `execute` SETTLES — resolve or throw — because a tool that threw
248
+ * halfway may well have opened the thing it was about to close. Deliberately
249
+ * NOT on the pause path: a paused call has not settled, it is waiting for a
250
+ * person, and its resources are exactly what the resume needs.
251
+ */
252
+ const endCall = async (toolCallId) => {
253
+ await deps.toolSessions?.().fireCall(toolCallId);
254
+ };
179
255
  /**
180
256
  * The conversation the check-in gate judges — the run history with a synthetic
181
257
  * `system` frame in front of it.
@@ -342,10 +418,15 @@ function buildToolCallsHandler(deps) {
342
418
  credentials: reportingCredentials(credentials, scope, toolName),
343
419
  hasCredentials,
344
420
  ...(resolvedCredential && { credential: resolvedCredential }),
421
+ ...sessionContext(scope, toolName, toolCallId),
345
422
  });
423
+ await endCall(toolCallId);
346
424
  return { result, executed: true };
347
425
  }
348
426
  catch (err) {
427
+ // Settled by throwing is still settled — a tool that opened a session and
428
+ // then failed must not keep it.
429
+ await endCall(toolCallId);
349
430
  if ((0, pause_js_1.isPauseRequest)(err)) {
350
431
  return {
351
432
  result: `tool '${toolName}' requested a pause while resuming an approved check-in, which is not supported`,
@@ -795,10 +876,16 @@ function buildToolCallsHandler(deps) {
795
876
  credentials: reportingCredentials(credentials, scope, tc.name),
796
877
  hasCredentials,
797
878
  ...(resolvedCredential && { credential: resolvedCredential }),
879
+ ...sessionContext(scope, tc.name, tc.id),
798
880
  });
881
+ await endCall(tc.id);
799
882
  }
800
883
  catch (err) {
801
884
  if ((0, pause_js_1.isPauseRequest)(err)) {
885
+ // A pause has NOT settled this call — it is waiting for a
886
+ // person, and the resources it opened are what the resume
887
+ // needs. No `'call'` teardown here, deliberately.
888
+ //
802
889
  // Commit partial state so resume() can find history intact.
803
890
  scope.history = newHistory;
804
891
  scope.pausedToolCallId = tc.id;
@@ -818,6 +905,9 @@ function buildToolCallsHandler(deps) {
818
905
  : { data: err.data }),
819
906
  };
820
907
  }
908
+ // A tool that threw still RAN, and may have opened the thing it
909
+ // was about to close.
910
+ await endCall(tc.id);
821
911
  error = true;
822
912
  result = err instanceof Error ? err.message : String(err);
823
913
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toolCalls.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/toolCalls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolCalls.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/toolCalls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ /**
3
+ * codeRunnerTool — the tool that turns a {@link CodeRunner} into something an
4
+ * LLM can call, holding ONE session per isolation key.
5
+ *
6
+ * Pattern: Factory over `defineTool` + the 9.7.0 tool-session contract.
7
+ * Role: the first consumer of `ctx.onTeardown` — and the proof it works.
8
+ * Emits: nothing directly; the teardown tier reports
9
+ * `agentfootprint.tools.session_started` / `_reused` / `_closed` /
10
+ * `_close_failed`.
11
+ *
12
+ * ── The doctrine: summarize prose, compute data ─────────────────────────────
13
+ * A tool that hands the model 40,000 rows has not given it data; it has spent
14
+ * the window. The motivating failure is real and measured: a production request
15
+ * of 879,073 tokens, almost all of it one tool result pasted into the prompt.
16
+ * (Since 9.6.0 that shape at least fails by NAME —
17
+ * `ContextWindowExceededError` — instead of as a vendor 400. This is the other
18
+ * half: not failing better, but not needing to.)
19
+ *
20
+ * With a code runner the model writes an aggregation, the RUNNER holds the
21
+ * rows, and what comes back is the number. Prose gets summarized; data gets
22
+ * computed.
23
+ *
24
+ * ── Why the session must be keyed, and keyed WIDELY ENOUGH ──────────────────
25
+ * The session is the whole value: a code interpreter costs seconds to start and
26
+ * milliseconds to invoke. But a session holds a filesystem, an environment and
27
+ * half-run state, so the thing it is keyed on IS the isolation boundary. A
28
+ * standing agent serving many people from one process, holding one session in a
29
+ * module map, gives person B person A's files.
30
+ *
31
+ * So the key comes from `toolSessionKey(ctx, scope)` — one exported
32
+ * implementation, composing tenant + principal + (session | run). Never a bare
33
+ * `sessionId`: that is caller data, and anyone who can reach the host can put
34
+ * someone else's there.
35
+ *
36
+ * ── Degradation is REFUSED, never silent ────────────────────────────────────
37
+ * Ask for `scope: 'session'` at a door with no session and this throws, naming
38
+ * the door. It does not quietly fall back. Falling back to a WIDER key is the
39
+ * cross-binding bug itself; falling back to a NARROWER one is a silent 30×
40
+ * latency change nobody sees until the bill.
41
+ *
42
+ * @example a session per run, on a local dev machine
43
+ * const agent = Agent.create({ provider })
44
+ * .tool(codeRunnerTool({ runner: localCodeRunner() }))
45
+ * .build();
46
+ *
47
+ * @example a session per hosted conversation, on a real sandbox
48
+ * const runner = agentCoreCodeRunner({ region, identifier: 'aws.codeinterpreter.v1' });
49
+ * const agent = Agent.create({ provider })
50
+ * .tool(codeRunnerTool({ runner, scope: 'session', language: 'python' }))
51
+ * .build();
52
+ * // the composition root says when a session is over:
53
+ * conversation.onClose(() => void agent.closeToolSessions({ sessionId }));
54
+ */
55
+ Object.defineProperty(exports, "__esModule", { value: true });
56
+ exports.codeRunnerTool = exports.toolSessionsOf = exports.TOOL_SESSIONS = void 0;
57
+ const tools_js_1 = require("./tools.js");
58
+ const toolSessions_js_1 = require("./toolSessions.js");
59
+ const DEFAULT_MAX_OUTPUT_CHARS = 4_000;
60
+ /**
61
+ * The per-tool session map, riding the `Tool` under a REGISTRY symbol.
62
+ *
63
+ * `Symbol.for`, not a unique symbol: this package ships CJS and ESM, and a tool
64
+ * built through one entry point must be readable through the other. The same
65
+ * move `INNER_RUN_RECORDS` makes for `flowchartAsTool({ keepRecord })` — and
66
+ * deliberately a DIFFERENT symbol, so one tool can carry both (spreading a tool
67
+ * preserves symbol keys, which is why `{...tool, [SYM]: store}` composes).
68
+ *
69
+ * Invisible to the LLM, invisible to `Tool`'s shape, reachable by a test and by
70
+ * whatever inspector comes next.
71
+ */
72
+ exports.TOOL_SESSIONS = Symbol.for('agentfootprint.tools.sessions');
73
+ /** Read the live-session map off a candidate, or `undefined` when it holds none. */
74
+ function toolSessionsOf(candidate) {
75
+ if (candidate === null || typeof candidate !== 'object')
76
+ return undefined;
77
+ const held = candidate[exports.TOOL_SESSIONS];
78
+ return held instanceof Map ? held : undefined;
79
+ }
80
+ exports.toolSessionsOf = toolSessionsOf;
81
+ function codeRunnerTool(options) {
82
+ const name = options.name ?? 'run_code';
83
+ const scope = options.scope ?? 'run';
84
+ const language = options.language ?? 'python';
85
+ const maxOutputChars = options.maxOutputChars ?? DEFAULT_MAX_OUTPUT_CHARS;
86
+ /**
87
+ * Live sessions by isolation key.
88
+ *
89
+ * A `Map` and not a closure variable, because two keys are two sandboxes: one
90
+ * variable would be exactly the cross-binding this whole feature exists to
91
+ * prevent. Entries are removed by the teardown the tool registers alongside
92
+ * them, so the map cannot outlive what it points at.
93
+ */
94
+ const sessions = new Map();
95
+ /** In-flight starts, so two parallel tool calls under one key open ONE session. */
96
+ const starting = new Map();
97
+ const tool = (0, tools_js_1.defineTool)({
98
+ name,
99
+ description: options.description ?? describe(scope, language),
100
+ inputSchema: {
101
+ type: 'object',
102
+ properties: {
103
+ code: {
104
+ type: 'string',
105
+ description: `${language} source to execute. Print what you want back — stdout is the result. ` +
106
+ 'Compute over big data here rather than asking for it to be pasted back to you.',
107
+ },
108
+ },
109
+ required: ['code'],
110
+ },
111
+ ...(options.checkIn !== undefined && { checkIn: options.checkIn }),
112
+ ...(options.needs && { needs: options.needs }),
113
+ execute: async (args, ctx) => {
114
+ const key = requireKey(ctx, scope, name);
115
+ const session = await acquire(key, ctx);
116
+ const result = await session.execute({
117
+ code: args.code,
118
+ language,
119
+ ...(options.timeoutMs !== undefined && { timeoutMs: options.timeoutMs }),
120
+ ...(ctx.signal && { signal: ctx.signal }),
121
+ });
122
+ return render(result, maxOutputChars);
123
+ },
124
+ });
125
+ /** Get the session for `key`, opening one if this is the first call. */
126
+ const acquire = async (key, ctx) => {
127
+ const live = sessions.get(key);
128
+ if (live) {
129
+ // A reuse re-registers under the SAME (tool, scope, key). The tier keeps
130
+ // the FIRST cleanup — it is the one holding this handle — and treats the
131
+ // repeat as a touch, which is how the idle sweep and the LRU bound learn
132
+ // this session is still in use. Registering only once would make a busy
133
+ // session look as cold as an abandoned one.
134
+ register(key, live, ctx);
135
+ return live;
136
+ }
137
+ // Two parallel tool calls in one iteration must not open two sandboxes.
138
+ const inFlight = starting.get(key);
139
+ if (inFlight)
140
+ return inFlight;
141
+ const opening = options.runner
142
+ .start({ key, language, ...(ctx.signal && { signal: ctx.signal }) })
143
+ .then((opened) => {
144
+ sessions.set(key, opened);
145
+ register(key, opened, ctx);
146
+ return opened;
147
+ })
148
+ .finally(() => {
149
+ starting.delete(key);
150
+ });
151
+ starting.set(key, opening);
152
+ return opening;
153
+ };
154
+ const register = (key, session, ctx) => {
155
+ ctx.onTeardown?.(async () => {
156
+ // Drop the entry FIRST: if `stop()` throws, the map must not keep
157
+ // handing out a session the runtime has already given up on.
158
+ sessions.delete(key);
159
+ await session.stop();
160
+ }, { scope, key, runnerId: options.runner.id, label: language });
161
+ };
162
+ // The live map rides the Tool under a registry symbol — see TOOL_SESSIONS.
163
+ return { ...tool, [exports.TOOL_SESSIONS]: sessions };
164
+ }
165
+ exports.codeRunnerTool = codeRunnerTool;
166
+ /**
167
+ * Derive the isolation key, or REFUSE by name.
168
+ *
169
+ * The three refusals are the security surface of this tool, so each says what
170
+ * is missing, why it matters, and the one-line fix. None of them degrades
171
+ * quietly: a fallback to a wider key is the cross-binding bug, and a fallback
172
+ * to a narrower one silently multiplies latency and cost.
173
+ */
174
+ function requireKey(ctx, scope, name) {
175
+ const supported = ctx.teardownScopes;
176
+ if (supported !== undefined && !supported.includes(scope)) {
177
+ throw new Error(`${name}: this tool holds a '${scope}'-scoped code session, and the door it is running ` +
178
+ `behind honours ${supported.length === 0 ? 'no teardown scopes' : supported.join(', ')}. ` +
179
+ 'A session nothing will ever close is a sandbox left running. Either run this tool ' +
180
+ `inside an Agent, or build it with scope: '${supported[0] ?? 'call'}'.`);
181
+ }
182
+ const key = (0, toolSessions_js_1.toolSessionKey)(ctx, scope);
183
+ if (key)
184
+ return key;
185
+ if (scope === 'session') {
186
+ throw new Error(`${name}: scope 'session' needs a hosting session, and this run has no sessionId. ` +
187
+ 'Pass one — `agent.run({ message, sessionId })`, which `standingAgent` does from ' +
188
+ "`HostRequest.sessionId` — or build this tool with scope: 'run'. It is not silently " +
189
+ 'narrowed, because a session-scoped interpreter and a run-scoped one differ by about ' +
190
+ '30x in start-up cost, and by everything in what persists between turns.');
191
+ }
192
+ throw new Error(`${name}: scope 'run' needs a run, and this call has no runId — it is being served ` +
193
+ 'outside an Agent (over `mcpServe`, or from a script). A served call is one call, not a ' +
194
+ "turn, so nothing would ever end the session. Build this tool with scope: 'call' for " +
195
+ 'that door.');
196
+ }
197
+ /** The description the model reads when the caller did not write one. */
198
+ function describe(scope, language) {
199
+ const persistence = scope === 'call'
200
+ ? 'Each call runs in a fresh environment — nothing carries over, so include everything you need.'
201
+ : scope === 'run'
202
+ ? 'State persists across calls within this turn: variables and files you create stay available.'
203
+ : 'State persists across the whole conversation: variables and files you create stay available in later turns.';
204
+ return (`Execute ${language} code and return its output. ${persistence} ` +
205
+ 'Use this to COMPUTE over data rather than asking for the data itself — fetch, filter, ' +
206
+ 'aggregate and print the answer, so a large result never has to travel through this ' +
207
+ 'conversation. Print what you want to see; stdout is what you get back.');
208
+ }
209
+ /**
210
+ * Render a `CodeResult` for the model.
211
+ *
212
+ * TRUNCATION IS ALWAYS STATED. A slice the model cannot see is a silent
213
+ * success: it goes on to reason over a fragment of a table believing it has the
214
+ * table. The marker is deliberately plain text in the result body, not
215
+ * metadata, because the result body is the only channel the model reads.
216
+ */
217
+ function render(result, maxOutputChars) {
218
+ const parts = [];
219
+ const stdout = clip(result.stdout, maxOutputChars, result.truncated?.stdout === true);
220
+ const stderr = clip(result.stderr, maxOutputChars, result.truncated?.stderr === true);
221
+ if (stdout.text.length > 0)
222
+ parts.push(stdout.text);
223
+ if (stderr.text.length > 0)
224
+ parts.push(`stderr:\n${stderr.text}`);
225
+ if (!result.ok) {
226
+ parts.push(`[exit ${result.exitCode ?? 'non-zero'}] the code did not complete successfully — read ` +
227
+ 'stderr above and fix it.');
228
+ }
229
+ for (const artifact of result.artifacts ?? []) {
230
+ parts.push(`[artifact: ${artifact.name}, ${artifact.bytes} bytes${artifact.uri ? `, ${artifact.uri}` : ''}]`);
231
+ }
232
+ if (parts.length === 0) {
233
+ // "Nothing was printed" and "this returned nothing" are different facts and
234
+ // only one of them tells the model what to do next.
235
+ parts.push('(the code ran and printed nothing — print the value you want returned)');
236
+ }
237
+ return parts.join('\n');
238
+ }
239
+ /** Clip to the tool's ceiling, and SAY SO — including a cut the runner made. */
240
+ function clip(text, max, alreadyCutUpstream) {
241
+ const cutHere = text.length > max;
242
+ const shown = cutHere ? text.slice(0, max) : text;
243
+ if (!cutHere && !alreadyCutUpstream)
244
+ return { text: shown };
245
+ const of = cutHere ? text.length : undefined;
246
+ return {
247
+ text: `${shown}\n[truncated: showing ${shown.length}${of !== undefined ? ` of ${of}` : ''} ` +
248
+ 'characters. Re-run printing a summary, a slice, or an aggregate instead of the whole ' +
249
+ 'value.]',
250
+ };
251
+ }
252
+ //# sourceMappingURL=codeRunnerTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeRunnerTool.js","sourceRoot":"","sources":["../../src/core/codeRunnerTool.ts"],"names":[],"mappings":"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"}