@aeye/core 0.6.0 → 0.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.
@@ -1,177 +1,179 @@
1
- # @aeye/core — Tool & Agent
2
-
3
- Both are `Component`s. A **Tool** is a single callable function exposed to the model (or invoked directly). An **Agent** is plain orchestration code that composes other components — no LLM loop of its own.
4
-
5
- ## Tool
6
-
7
- ```typescript
8
- class Tool<TContext = {}, TMetadata = {}, TName extends string = string,
9
- TParams extends object = {}, TOutput = string,
10
- TRefs extends Tuple<ComponentCompatible<TContext, TMetadata>> = [],
11
- TDecoded extends unknown = TParams>
12
- implements Component<...>
13
- ```
14
-
15
- `TDecoded` is the decoded type a custom `parse` produces from the raw wire args — **any** value (a built class instance, a number, a `Date`, …), not just an object; it types `call`, `validate`, and `metadataFn`. It defaults to the wire `TParams` when no custom `parse` is supplied — `schema` always stays the wire type.
16
-
17
- ### `ToolInput` (constructor config)
18
-
19
- | Field | Type | Notes |
20
- |------|------|-------|
21
- | `name` | `TName` | Shown to the model; unique per request. |
22
- | `description` | `string` | Shown to the model. |
23
- | `descriptionFn?` | `Fn<string, [ctx]>` | Refine description from context. |
24
- | `instructions?` | `string` | Handlebars usage instructions. |
25
- | `instructionsFn?` | `Fn<string, [ctx]>` | Context-derived instructions. |
26
- | `input?` | `Fn<Record<string,any>, [ctx]>` | Variables for the instructions template. |
27
- | `schema` | `Fn<ZodType<TParams> \| undefined, [ctx]>` | **Required.** Param schema; may depend on ctx. `undefined` ⇒ unavailable. |
28
- | `strict?` | `boolean \| number` | Strict-mode policy, default `1`. See [schema doc](./aeye-core-schema.md). |
29
- | `refs?` | `TRefs` | Components passed positionally to `call`. |
30
- | `call` | `(input: TParams, refs: TRefs, ctx) => TOutput` | **Required.** Implementation (sync or async). |
31
- | `validate?` | `(input, ctx) => void \| Promise<void>` | Runs after Zod parse; throw to re-prompt. |
32
- | `maxArgsLength?` | `number` | Reject raw args string over N chars before `JSON.parse` (guards against providers that corrupt large tool args). |
33
- | `applicable?` | `(ctx) => boolean \| Promise<boolean>` | Availability check. |
34
- | `metadata?` / `metadataFn?` | `TMetadata` / fn | Execution metadata. |
35
-
36
- ### Methods
37
-
38
- ```typescript
39
- run(input?: TParams, ctx?: Context): TOutput // call directly
40
- compile(ctx): Promise<readonly [string, ToolDefinition] | undefined> // build AI tool def
41
- parse(ctx, args, schema?, descriptor?, onRepairAttempt?): Promise<...> // validate raw JSON args
42
- applicable(ctx?): Promise<boolean>
43
- metadata(input?, ctx?): TMetadata | Promise<TMetadata>
44
- ```
45
-
46
- `compile` returns `undefined` when the tool isn't applicable / has no schema for the context. `parse` validates the model's JSON `arguments` string against the (descriptor-strictified) schema and runs `validate`; it tolerates one provider misbehavior — top-level JSON-stringified fields are re-parsed and `onRepairAttempt` fires for telemetry. When a custom `parse` is supplied (it REPLACES Zod validation), core first wire-decodes the args to the conceptual shape with the request's `FormatDescriptor` (`decodeWire` — array-of-pairs→record, null→undefined, numeric-key→tuple, …), so a custom parser is provider-agnostic and never sees a model family's wire quirks.
47
-
48
- ### Basic tool
49
-
50
- ```typescript
51
- import { Tool } from '@aeye/core';
52
- import z from 'zod';
53
-
54
- const getWeather = new Tool({
55
- name: 'getWeather',
56
- description: 'Get current weather for a location',
57
- instructions: 'Use this to look up weather for {{location}}.',
58
- schema: z.object({
59
- location: z.string().describe('City name'),
60
- units: z.enum(['celsius', 'fahrenheit']).default('celsius'),
61
- }),
62
- call: async (input, _refs, _ctx) => {
63
- const data = await fetchWeather(input.location, input.units);
64
- return { temperature: data.temp, condition: data.condition };
65
- },
66
- });
67
-
68
- // Direct invocation (no model needed):
69
- const w = await getWeather.run({ location: 'Paris' }, {});
70
- ```
71
-
72
- ### Context-aware schema & applicability
73
-
74
- ```typescript
75
- const manageData = new Tool({
76
- name: 'manageData',
77
- description: 'Manage data records',
78
- schema: (ctx: Context<MyCtx, {}>) =>
79
- ctx.userRole === 'admin'
80
- ? z.object({ action: z.enum(['read', 'write', 'delete']) })
81
- : z.object({ action: z.enum(['read']) }),
82
- applicable: (ctx) => ctx.isAuthenticated,
83
- call: async (input, _refs, ctx) => ({ action: input.action, by: ctx.userRole }),
84
- });
85
- ```
86
-
87
- ### Business-logic validation
88
-
89
- ```typescript
90
- const placeOrder = new Tool({
91
- name: 'placeOrder',
92
- description: 'Place a product order',
93
- schema: z.object({ itemId: z.string(), quantity: z.number().int().min(1) }),
94
- validate: async (input) => {
95
- const inStock = await checkInventory(input.itemId);
96
- if (inStock < input.quantity) throw new Error(`Only ${inStock} available.`);
97
- },
98
- call: async (input) => ({ orderId: crypto.randomUUID(), ...input }),
99
- });
100
- ```
101
-
102
- ### Control-flow errors
103
-
104
- - `ToolInterrupt(message?)` — stop the prompt loop and return control to the caller. With `toolsComplete` a synthetic `[interrupted]` result is paired so the next round-trip is valid.
105
- - `PromptSuspend(message?)` — suspend without writing a tool result, for human-in-the-loop. See [prompts doc](./aeye-core-prompts.md#suspend--resume-human-in-the-loop). Never auto-paired.
106
-
107
- ```typescript
108
- import { PromptSuspend } from '@aeye/core';
109
-
110
- call: async (input, _refs, ctx) => {
111
- if (await needsApproval(input)) throw new PromptSuspend('awaiting approval');
112
- return performAction(input);
113
- }
114
- ```
115
-
116
- Also exported: `AnyTool`, `ToolCompatible<TContext, TMetadata>`.
117
-
118
- ## Agent
119
-
120
- ```typescript
121
- class Agent<TContext = {}, TMetadata = {}, TName extends string = string,
122
- TInput extends object = {}, TOutput = string,
123
- TRefs extends Tuple<ComponentCompatible<TContext, TMetadata>> = []>
124
- implements Component<...>
125
- ```
126
-
127
- An Agent is just typed orchestration — its `call` receives the resolved `refs` tuple positionally and wires components together however you like.
128
-
129
- ### `AgentInput`
130
-
131
- | Field | Type | Notes |
132
- |------|------|-------|
133
- | `name` | `TName` | Identifier. |
134
- | `description` | `string` | Informational. |
135
- | `refs` | `TRefs` | **Required.** Components this agent uses. |
136
- | `call` | `(input: TInput, refs: TRefs, ctx) => TOutput` | **Required.** Orchestration logic. |
137
- | `applicable?` | `(ctx) => boolean \| Promise<boolean>` | Defaults to "any ref is applicable" (or `true` when no refs). |
138
- | `metadata?` / `metadataFn?` | `TMetadata` / fn | Execution metadata. |
139
-
140
- ### Methods
141
-
142
- ```typescript
143
- run(input?: TInput, ctx?: Context): TOutput
144
- applicable(ctx?): Promise<boolean>
145
- metadata(input?, ctx?): TMetadata | Promise<TMetadata>
146
- ```
147
-
148
- ### Example
149
-
150
- ```typescript
151
- import { Agent } from '@aeye/core';
152
-
153
- const researchAgent = new Agent({
154
- name: 'researcher',
155
- description: 'Researches a topic',
156
- refs: [searchTool, summarizePrompt, analyzePrompt] as const,
157
- call: async (input: { topic: string }, [search, summarize, analyze], ctx) => {
158
- const results = await search.run({ query: input.topic, limit: 5 }, ctx);
159
- const summaries: string[] = [];
160
- for (const r of results.items) {
161
- const s = await summarize.get('result', { text: r.content }, ctx);
162
- summaries.push(s?.summary ?? '');
163
- }
164
- return await analyze.get('result', { topic: input.topic, sources: summaries }, ctx);
165
- },
166
- });
167
-
168
- const out = await researchAgent.run({ topic: 'Quantum Computing' }, { execute, messages: [] });
169
- ```
170
-
171
- ## Gotchas
172
-
173
- - Pass `refs` `as const` to keep the tuple's element types (so destructuring is correctly typed).
174
- - An Agent does **no** AI on its own — any model calls come from the prompts/tools it invokes, which need `execute`/`stream` on the forwarded `ctx`.
175
- - Tool `schema` returning `undefined` (or `applicable` false) excludes the tool from `compile()` output, so the model never sees it for that context.
176
- - `call` can be sync or async; `TOutput` flows through `Resolved<>` where the framework awaits it (e.g. tool results in prompt events).
177
- - A tool's return value is what the model sees by default (strings verbatim, otherwise `JSON.stringify`-d). To transform per-prompt what a tool result looks like to the model without changing the tool, use the prompt's [`onToolResult`](./aeye-core-prompts.md#tool-result-transformer) transformer (model-facing only; the raw result stays on `get('tools')`/`streamTools`).
1
+ # @aeye/core — Tool & Agent
2
+
3
+ Both are `Component`s. A **Tool** is a single callable function exposed to the model (or invoked directly). An **Agent** is plain orchestration code that composes other components — no LLM loop of its own.
4
+
5
+ ## Tool
6
+
7
+ ```typescript
8
+ class Tool<TContext = {}, TMetadata = {}, TName extends string = string,
9
+ TParams extends object = {}, TOutput = string,
10
+ TRefs extends Tuple<ComponentCompatible<TContext, TMetadata>> = [],
11
+ TDecoded extends unknown = TParams>
12
+ implements Component<...>
13
+ ```
14
+
15
+ `TDecoded` is the decoded type a custom `parse` produces from the raw wire args — **any** value (a built class instance, a number, a `Date`, …), not just an object; it types `call`, `validate`, and `metadataFn`. It defaults to the wire `TParams` when no custom `parse` is supplied — `schema` always stays the wire type.
16
+
17
+ ### `ToolInput` (constructor config)
18
+
19
+ | Field | Type | Notes |
20
+ |------|------|-------|
21
+ | `name` | `TName` | Shown to the model; unique per request. |
22
+ | `description` | `string` | Shown to the model. |
23
+ | `descriptionFn?` | `Fn<string, [ctx]>` | Refine description from context. |
24
+ | `instructions?` | `string` | Handlebars usage instructions. Optional: a tool without them is still offered (from its description and schema) and adds nothing to the prompt's tools section. |
25
+ | `instructionsFn?` | `Fn<string, [ctx]>` | Context-derived instructions. |
26
+ | `input?` | `Fn<Record<string,any>, [ctx]>` | Variables for the instructions template. |
27
+ | `schema` | `Fn<ZodType<TParams> \| undefined, [ctx]>` | **Required.** Param schema; may depend on ctx. `undefined` ⇒ unavailable. |
28
+ | `strict?` | `boolean \| number` | Strict-mode policy, default `1`. See [schema doc](./aeye-core-schema.md). |
29
+ | `refs?` | `TRefs` | Components passed positionally to `call`. |
30
+ | `call` | `(input: TParams, refs: TRefs, ctx) => TOutput` | **Required.** Implementation (sync or async). |
31
+ | `validate?` | `(input, ctx) => void \| Promise<void>` | Runs after Zod parse; throw to re-prompt. |
32
+ | `maxArgsLength?` | `number` | Reject raw args string over N chars before `JSON.parse` (guards against providers that corrupt large tool args). |
33
+ | `applicable?` | `(ctx) => boolean \| Promise<boolean>` | Availability check. |
34
+ | `metadata?` / `metadataFn?` | `TMetadata` / fn | Execution metadata. |
35
+
36
+ ### Methods
37
+
38
+ ```typescript
39
+ run(input?: TParams, ctx?: Context): TOutput // call directly
40
+ compile(ctx): Promise<readonly [string, ToolDefinition] | undefined> // build AI tool def
41
+ parse(ctx, args, schema?, descriptor?, onRepairAttempt?): Promise<...> // validate raw JSON args
42
+ applicable(ctx?): Promise<boolean>
43
+ metadata(input?, ctx?): TMetadata | Promise<TMetadata>
44
+ ```
45
+
46
+ `compile` returns `undefined` when the tool isn't applicable / has no schema for the context. `parse` validates the model's JSON `arguments` string against the (descriptor-strictified) schema and runs `validate`; it tolerates one provider misbehavior — top-level JSON-stringified fields are re-parsed and `onRepairAttempt` fires for telemetry. When a custom `parse` is supplied (it REPLACES Zod validation), core first wire-decodes the args to the conceptual shape with the request's `FormatDescriptor` (`decodeWire` — array-of-pairs→record, null→undefined, numeric-key→tuple, …), so a custom parser is provider-agnostic and never sees a model family's wire quirks.
47
+
48
+ A tool with `format` (free text, optionally grammar-constrained) takes `TEXT_TOOL_SCHEMA` (`{ input: string }`). Providers without free-text tools send it as that one-field function and use `describeTool(definition)` for its description, which appends the grammar for a `{ type: 'grammar' }` format.
49
+
50
+ ### Basic tool
51
+
52
+ ```typescript
53
+ import { Tool } from '@aeye/core';
54
+ import z from 'zod';
55
+
56
+ const getWeather = new Tool({
57
+ name: 'getWeather',
58
+ description: 'Get current weather for a location',
59
+ instructions: 'Use this to look up weather for {{location}}.',
60
+ schema: z.object({
61
+ location: z.string().describe('City name'),
62
+ units: z.enum(['celsius', 'fahrenheit']).default('celsius'),
63
+ }),
64
+ call: async (input, _refs, _ctx) => {
65
+ const data = await fetchWeather(input.location, input.units);
66
+ return { temperature: data.temp, condition: data.condition };
67
+ },
68
+ });
69
+
70
+ // Direct invocation (no model needed):
71
+ const w = await getWeather.run({ location: 'Paris' }, {});
72
+ ```
73
+
74
+ ### Context-aware schema & applicability
75
+
76
+ ```typescript
77
+ const manageData = new Tool({
78
+ name: 'manageData',
79
+ description: 'Manage data records',
80
+ schema: (ctx: Context<MyCtx, {}>) =>
81
+ ctx.userRole === 'admin'
82
+ ? z.object({ action: z.enum(['read', 'write', 'delete']) })
83
+ : z.object({ action: z.enum(['read']) }),
84
+ applicable: (ctx) => ctx.isAuthenticated,
85
+ call: async (input, _refs, ctx) => ({ action: input.action, by: ctx.userRole }),
86
+ });
87
+ ```
88
+
89
+ ### Business-logic validation
90
+
91
+ ```typescript
92
+ const placeOrder = new Tool({
93
+ name: 'placeOrder',
94
+ description: 'Place a product order',
95
+ schema: z.object({ itemId: z.string(), quantity: z.number().int().min(1) }),
96
+ validate: async (input) => {
97
+ const inStock = await checkInventory(input.itemId);
98
+ if (inStock < input.quantity) throw new Error(`Only ${inStock} available.`);
99
+ },
100
+ call: async (input) => ({ orderId: crypto.randomUUID(), ...input }),
101
+ });
102
+ ```
103
+
104
+ ### Control-flow errors
105
+
106
+ - `ToolInterrupt(message?)` — stop the prompt loop and return control to the caller. With `toolsComplete` a synthetic `[interrupted]` result is paired so the next round-trip is valid.
107
+ - `PromptSuspend(message?)` — suspend without writing a tool result, for human-in-the-loop. See [prompts doc](./aeye-core-prompts.md#suspend--resume-human-in-the-loop). Never auto-paired.
108
+
109
+ ```typescript
110
+ import { PromptSuspend } from '@aeye/core';
111
+
112
+ call: async (input, _refs, ctx) => {
113
+ if (await needsApproval(input)) throw new PromptSuspend('awaiting approval');
114
+ return performAction(input);
115
+ }
116
+ ```
117
+
118
+ Also exported: `AnyTool`, `ToolCompatible<TContext, TMetadata>`.
119
+
120
+ ## Agent
121
+
122
+ ```typescript
123
+ class Agent<TContext = {}, TMetadata = {}, TName extends string = string,
124
+ TInput extends object = {}, TOutput = string,
125
+ TRefs extends Tuple<ComponentCompatible<TContext, TMetadata>> = []>
126
+ implements Component<...>
127
+ ```
128
+
129
+ An Agent is just typed orchestration — its `call` receives the resolved `refs` tuple positionally and wires components together however you like.
130
+
131
+ ### `AgentInput`
132
+
133
+ | Field | Type | Notes |
134
+ |------|------|-------|
135
+ | `name` | `TName` | Identifier. |
136
+ | `description` | `string` | Informational. |
137
+ | `refs` | `TRefs` | **Required.** Components this agent uses. |
138
+ | `call` | `(input: TInput, refs: TRefs, ctx) => TOutput` | **Required.** Orchestration logic. |
139
+ | `applicable?` | `(ctx) => boolean \| Promise<boolean>` | Defaults to "any ref is applicable" (or `true` when no refs). |
140
+ | `metadata?` / `metadataFn?` | `TMetadata` / fn | Execution metadata. |
141
+
142
+ ### Methods
143
+
144
+ ```typescript
145
+ run(input?: TInput, ctx?: Context): TOutput
146
+ applicable(ctx?): Promise<boolean>
147
+ metadata(input?, ctx?): TMetadata | Promise<TMetadata>
148
+ ```
149
+
150
+ ### Example
151
+
152
+ ```typescript
153
+ import { Agent } from '@aeye/core';
154
+
155
+ const researchAgent = new Agent({
156
+ name: 'researcher',
157
+ description: 'Researches a topic',
158
+ refs: [searchTool, summarizePrompt, analyzePrompt] as const,
159
+ call: async (input: { topic: string }, [search, summarize, analyze], ctx) => {
160
+ const results = await search.run({ query: input.topic, limit: 5 }, ctx);
161
+ const summaries: string[] = [];
162
+ for (const r of results.items) {
163
+ const s = await summarize.get('result', { text: r.content }, ctx);
164
+ summaries.push(s?.summary ?? '');
165
+ }
166
+ return await analyze.get('result', { topic: input.topic, sources: summaries }, ctx);
167
+ },
168
+ });
169
+
170
+ const out = await researchAgent.run({ topic: 'Quantum Computing' }, { execute, messages: [] });
171
+ ```
172
+
173
+ ## Gotchas
174
+
175
+ - Pass `refs` `as const` to keep the tuple's element types (so destructuring is correctly typed).
176
+ - An Agent does **no** AI on its own — any model calls come from the prompts/tools it invokes, which need `execute`/`stream` on the forwarded `ctx`.
177
+ - Tool `schema` returning `undefined` (or `applicable` false) excludes the tool from `compile()` output, so the model never sees it for that context.
178
+ - `call` can be sync or async; `TOutput` flows through `Resolved<>` where the framework awaits it (e.g. tool results in prompt events).
179
+ - A tool's return value is what the model sees by default (strings verbatim, otherwise `JSON.stringify`-d). To transform per-prompt what a tool result looks like to the model without changing the tool, use the prompt's [`onToolResult`](./aeye-core-prompts.md#tool-result-transformer) transformer (model-facing only; the raw result stays on `get('tools')`/`streamTools`).
@@ -38,6 +38,7 @@ type Context<TContext, TMetadata> = TContext & {
38
38
  contextWindow?: number; // override window size for trimming
39
39
  outputRetries?: number; // default 2
40
40
  forgetRetries?: number; // context-trim retries, default 1
41
+ userTurn?: string; // user message a prompt adds with no conversation; default DEFAULT_USER_TURN ('Begin.')
41
42
  toolRetries?: number; // default 2
42
43
  instance?: Instance<any>; // current execution instance
43
44
  runner?: Runner; // override how components execute (see withEvents)
package/dist/prompt.d.ts CHANGED
@@ -245,11 +245,13 @@ export interface PromptInput<TContext = {}, TMetadata = {}, TName extends string
245
245
  *
246
246
  * `tool` is the matched Tool instance (`tool.name` discriminates which
247
247
  * tool was called); `args` is the parsed tool arguments; `ctx` is the
248
- * prompt's context. Runs once per tool call, before parsing errors are
248
+ * prompt's context; `call` is the model's tool call (its `id` pairs the
249
+ * call with the `role: 'tool'` reply and with the tool events'
250
+ * `toolCallId`). Runs once per tool call, before parsing errors are
249
251
  * only reached when the args parsed successfully (an invalid tool call
250
252
  * never reaches execution, so the interceptor isn't consulted for it).
251
253
  */
252
- onToolIntercept?: (tool: PromptTools<TTools>, args: unknown, ctx: Context<TContext, TMetadata>) => unknown | false | Promise<unknown | false>;
254
+ onToolIntercept?: (tool: PromptTools<TTools>, args: unknown, ctx: Context<TContext, TMetadata>, call: ToolCall) => unknown | false | Promise<unknown | false>;
253
255
  /**
254
256
  * Optional custom parser that REPLACES Zod validation of the model's
255
257
  * STRUCTURED OUTPUT entirely.
@@ -351,18 +353,24 @@ export type PromptTools<TTools extends AnyTool[]> = TTools extends (infer TTool)
351
353
  /**
352
354
  * Converts TTools into tool-related events:
353
355
  *
354
- * { type: 'toolStart', tool: TTool, args: any } |
355
- * { type: 'toolOutput', tool: TTool, args: any, result: TOutput, toModel: unknown } |
356
- * { type: 'toolError', tool: TTool, args: any, error: string, failure: ToolFailure }
356
+ * { type: 'toolStart', tool: TTool, toolCallId: string, args: any } |
357
+ * { type: 'toolOutput', tool: TTool, toolCallId: string, args: any, result: TOutput, toModel: unknown } |
358
+ * { type: 'toolError', tool: TTool, toolCallId: string, args: any, error: string, failure: ToolFailure }
359
+ *
360
+ * `toolCallId` is the id of the model's tool call the event is about (the id
361
+ * its `role: 'tool'` reply carries), so a consumer can tell apart two calls
362
+ * of the same tool in one batch.
357
363
  */
358
364
  export type PromptToolEvents<TTools extends Tuple<AnyTool>> = TTools extends Array<infer TTool> ? TTool extends Tool<infer t0, infer t1, infer t2, infer t3, infer TOutput, infer t4, infer t5> ? {
359
365
  type: 'toolStart';
360
366
  tool: TTool;
367
+ toolCallId: string;
361
368
  args: any;
362
369
  request: Request;
363
370
  } | {
364
371
  type: 'toolOutput';
365
372
  tool: TTool;
373
+ toolCallId: string;
366
374
  args: any;
367
375
  result: Resolved<TOutput>;
368
376
  toModel: unknown;
@@ -370,16 +378,19 @@ export type PromptToolEvents<TTools extends Tuple<AnyTool>> = TTools extends Arr
370
378
  } | {
371
379
  type: 'toolInterrupt';
372
380
  tool: TTool;
381
+ toolCallId: string;
373
382
  args: any;
374
383
  request: Request;
375
384
  } | {
376
385
  type: 'toolSuspend';
377
386
  tool: TTool;
387
+ toolCallId: string;
378
388
  args: any;
379
389
  request: Request;
380
390
  } | {
381
391
  type: 'toolError';
382
392
  tool: TTool;
393
+ toolCallId: string;
383
394
  args: any;
384
395
  error: string;
385
396
  failure: ToolFailure;
@@ -664,7 +675,8 @@ export declare class Prompt<TContext = {}, TMetadata = {}, TName extends string
664
675
  * `ToolInterrupt` cutting a parallel batch short) or a tool errored
665
676
  * before its content could be accumulated.
666
677
  *
667
- * The marker prefix (`[aborted: …]`, `[interrupted]`, `[error: …]`)
678
+ * The marker prefix (`[aborted: …]`, `[interrupted]`, `[error: …]`,
679
+ * `[not run: …]` for a valid call skipped because a sibling was invalid)
668
680
  * gives the model a clear cue and lets callers detect synthesized
669
681
  * replies by inspecting the message content if they need to
670
682
  * differentiate. Suspended tools are intentionally NOT routed
@@ -689,12 +701,22 @@ export declare class Prompt<TContext = {}, TMetadata = {}, TName extends string
689
701
  * 2. A token estimation function is provided in the context (we can estimate token counts)
690
702
  * 3. Messages already have token counts assigned (we can use these directly)
691
703
  *
704
+ * What is removed, oldest first, is whole groups: a message together with
705
+ * the `role: 'tool'` replies that follow it, so an assistant's
706
+ * `tool_calls` never lose their replies (providers reject that history).
707
+ * System messages and the last user message are always kept. Groups after
708
+ * the last user message (an agent's tool loop) are removed too when the
709
+ * earlier history is not enough, except the most recent group.
710
+ *
711
+ * `protected` so a subclass can replace it, for example to summarize the
712
+ * removed history instead of dropping it.
713
+ *
692
714
  * @param request - The original request with messages.
693
715
  * @param ctx - The context containing message history and token estimation.
694
716
  * @param usage - The current token usage.
695
717
  * @returns The trimmed array of messages.
696
718
  */
697
- private forget;
719
+ protected forget(request: Request, ctx: Context<TContext, TMetadata>, usage?: Usage): Message[];
698
720
  }
699
721
  type ToolStatus = 'ready' | 'parsed' | 'invalid' | 'executing' | 'success' | 'error' | 'interrupted' | 'suspended';
700
722
  type ToolExecution<T> = {
@@ -722,6 +744,11 @@ type ToolExecution<T> = {
722
744
  * `onToolResult` transformer changed it. Only set once the tool reaches
723
745
  * `success` (transforms run on success results only in v1). */
724
746
  toModel?: any;
747
+ /** Set when the call was valid but deliberately not run because another
748
+ * call in the same batch was invalid, such as a call to an unknown tool (the batch is skipped and
749
+ * the model retries). Its reply then tells the model to call it again,
750
+ * rather than claiming the request was cancelled. */
751
+ skipped?: boolean;
725
752
  /** Why the call failed: a `ToolInputError` the model caused (its
726
753
  * `rawArgs` keep the untruncated arguments for log post-mortems) or a
727
754
  * `ToolExecutionError` from the tool's own code. */
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}