@openrouter/agent 0.1.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/README.md +367 -0
  2. package/esm/api-shape-helpers/claude-message.d.ts +218 -0
  3. package/esm/api-shape-helpers/claude-message.d.ts.map +1 -0
  4. package/esm/api-shape-helpers/claude-message.js +6 -0
  5. package/esm/api-shape-helpers/claude-message.js.map +1 -0
  6. package/esm/index.d.ts +22 -0
  7. package/esm/index.d.ts.map +1 -0
  8. package/esm/index.js +27 -0
  9. package/esm/index.js.map +1 -0
  10. package/esm/inner-loop/call-model.d.ts +67 -0
  11. package/esm/inner-loop/call-model.d.ts.map +1 -0
  12. package/esm/inner-loop/call-model.js +116 -0
  13. package/esm/inner-loop/call-model.js.map +1 -0
  14. package/esm/lib/anthropic-compat.d.ts +51 -0
  15. package/esm/lib/anthropic-compat.d.ts.map +1 -0
  16. package/esm/lib/anthropic-compat.js +216 -0
  17. package/esm/lib/anthropic-compat.js.map +1 -0
  18. package/esm/lib/anthropic-compat.test.d.ts +2 -0
  19. package/esm/lib/anthropic-compat.test.d.ts.map +1 -0
  20. package/esm/lib/anthropic-compat.test.js +668 -0
  21. package/esm/lib/anthropic-compat.test.js.map +1 -0
  22. package/esm/lib/async-params.d.ts +107 -0
  23. package/esm/lib/async-params.d.ts.map +1 -0
  24. package/esm/lib/async-params.js +94 -0
  25. package/esm/lib/async-params.js.map +1 -0
  26. package/esm/lib/chat-compat.d.ts +46 -0
  27. package/esm/lib/chat-compat.d.ts.map +1 -0
  28. package/esm/lib/chat-compat.js +111 -0
  29. package/esm/lib/chat-compat.js.map +1 -0
  30. package/esm/lib/chat-compat.test.d.ts +2 -0
  31. package/esm/lib/chat-compat.test.d.ts.map +1 -0
  32. package/esm/lib/chat-compat.test.js +405 -0
  33. package/esm/lib/chat-compat.test.js.map +1 -0
  34. package/esm/lib/claude-constants.d.ts +22 -0
  35. package/esm/lib/claude-constants.d.ts.map +1 -0
  36. package/esm/lib/claude-constants.js +20 -0
  37. package/esm/lib/claude-constants.js.map +1 -0
  38. package/esm/lib/claude-type-guards.d.ts +10 -0
  39. package/esm/lib/claude-type-guards.d.ts.map +1 -0
  40. package/esm/lib/claude-type-guards.js +68 -0
  41. package/esm/lib/claude-type-guards.js.map +1 -0
  42. package/esm/lib/conversation-state.d.ts +61 -0
  43. package/esm/lib/conversation-state.d.ts.map +1 -0
  44. package/esm/lib/conversation-state.js +230 -0
  45. package/esm/lib/conversation-state.js.map +1 -0
  46. package/esm/lib/model-result.d.ts +370 -0
  47. package/esm/lib/model-result.d.ts.map +1 -0
  48. package/esm/lib/model-result.js +1483 -0
  49. package/esm/lib/model-result.js.map +1 -0
  50. package/esm/lib/next-turn-params.d.ts +30 -0
  51. package/esm/lib/next-turn-params.d.ts.map +1 -0
  52. package/esm/lib/next-turn-params.js +129 -0
  53. package/esm/lib/next-turn-params.js.map +1 -0
  54. package/esm/lib/reusable-stream.d.ts +39 -0
  55. package/esm/lib/reusable-stream.d.ts.map +1 -0
  56. package/esm/lib/reusable-stream.js +192 -0
  57. package/esm/lib/reusable-stream.js.map +1 -0
  58. package/esm/lib/stop-conditions.d.ts +80 -0
  59. package/esm/lib/stop-conditions.d.ts.map +1 -0
  60. package/esm/lib/stop-conditions.js +104 -0
  61. package/esm/lib/stop-conditions.js.map +1 -0
  62. package/esm/lib/stream-transformers.d.ts +109 -0
  63. package/esm/lib/stream-transformers.d.ts.map +1 -0
  64. package/esm/lib/stream-transformers.js +856 -0
  65. package/esm/lib/stream-transformers.js.map +1 -0
  66. package/esm/lib/stream-type-guards.d.ts +29 -0
  67. package/esm/lib/stream-type-guards.d.ts.map +1 -0
  68. package/esm/lib/stream-type-guards.js +85 -0
  69. package/esm/lib/stream-type-guards.js.map +1 -0
  70. package/esm/lib/tool-context.d.ts +68 -0
  71. package/esm/lib/tool-context.d.ts.map +1 -0
  72. package/esm/lib/tool-context.js +188 -0
  73. package/esm/lib/tool-context.js.map +1 -0
  74. package/esm/lib/tool-event-broadcaster.d.ts +44 -0
  75. package/esm/lib/tool-event-broadcaster.d.ts.map +1 -0
  76. package/esm/lib/tool-event-broadcaster.js +162 -0
  77. package/esm/lib/tool-event-broadcaster.js.map +1 -0
  78. package/esm/lib/tool-executor.d.ts +73 -0
  79. package/esm/lib/tool-executor.d.ts.map +1 -0
  80. package/esm/lib/tool-executor.js +267 -0
  81. package/esm/lib/tool-executor.js.map +1 -0
  82. package/esm/lib/tool-orchestrator.d.ts +50 -0
  83. package/esm/lib/tool-orchestrator.d.ts.map +1 -0
  84. package/esm/lib/tool-orchestrator.js +180 -0
  85. package/esm/lib/tool-orchestrator.js.map +1 -0
  86. package/esm/lib/tool-types.d.ts +572 -0
  87. package/esm/lib/tool-types.d.ts.map +1 -0
  88. package/esm/lib/tool-types.js +80 -0
  89. package/esm/lib/tool-types.js.map +1 -0
  90. package/esm/lib/tool.d.ts +108 -0
  91. package/esm/lib/tool.d.ts.map +1 -0
  92. package/esm/lib/tool.js +84 -0
  93. package/esm/lib/tool.js.map +1 -0
  94. package/esm/lib/turn-context.d.ts +50 -0
  95. package/esm/lib/turn-context.d.ts.map +1 -0
  96. package/esm/lib/turn-context.js +61 -0
  97. package/esm/lib/turn-context.js.map +1 -0
  98. package/package.json +125 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-result.js","sourceRoot":"","sources":["../../src/lib/model-result.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type * as models from '@openrouter/sdk/models';
2
+ import type { NextTurnParamsContext, ParsedToolCall, Tool } from './tool-types.js';
3
+ /**
4
+ * Build a NextTurnParamsContext from the current request
5
+ * Extracts relevant fields that can be modified by nextTurnParams functions
6
+ *
7
+ * @param request - The current ResponsesRequest
8
+ * @returns Context object with current parameter values
9
+ */
10
+ export declare function buildNextTurnParamsContext(request: models.ResponsesRequest): NextTurnParamsContext;
11
+ /**
12
+ * Execute nextTurnParams functions for all called tools
13
+ * Composes functions when multiple tools modify the same parameter
14
+ *
15
+ * @param toolCalls - Tool calls that were executed in this turn
16
+ * @param tools - All available tools
17
+ * @param currentRequest - The current request
18
+ * @returns Object with computed parameter values
19
+ */
20
+ export declare function executeNextTurnParamsFunctions(toolCalls: ParsedToolCall<Tool>[], tools: readonly Tool[], currentRequest: models.ResponsesRequest): Promise<Partial<NextTurnParamsContext>>;
21
+ /**
22
+ * Apply computed nextTurnParams to the current request
23
+ * Returns a new request object with updated parameters
24
+ *
25
+ * @param request - The current request
26
+ * @param computedParams - Computed parameter values from nextTurnParams functions
27
+ * @returns New request with updated parameters
28
+ */
29
+ export declare function applyNextTurnParamsToRequest(request: models.ResponsesRequest, computedParams: Partial<NextTurnParamsContext>): models.ResponsesRequest;
30
+ //# sourceMappingURL=next-turn-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-turn-params.d.ts","sourceRoot":"","sources":["../../src/lib/next-turn-params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AASnF;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,CAAC,gBAAgB,GAC/B,qBAAqB,CAWvB;AAED;;;;;;;;GAQG;AACH,wBAAsB,8BAA8B,CAClD,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,EACjC,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,cAAc,EAAE,MAAM,CAAC,gBAAgB,GACtC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CA2CzC;AAwED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAChC,cAAc,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAC7C,MAAM,CAAC,gBAAgB,CAKzB"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Type guard to check if a value is a Record<string, unknown>
3
+ */
4
+ function isRecord(value) {
5
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
6
+ }
7
+ /**
8
+ * Build a NextTurnParamsContext from the current request
9
+ * Extracts relevant fields that can be modified by nextTurnParams functions
10
+ *
11
+ * @param request - The current ResponsesRequest
12
+ * @returns Context object with current parameter values
13
+ */
14
+ export function buildNextTurnParamsContext(request) {
15
+ return {
16
+ input: request.input ?? [],
17
+ model: request.model ?? '',
18
+ models: request.models ?? [],
19
+ temperature: request.temperature ?? null,
20
+ maxOutputTokens: request.maxOutputTokens ?? null,
21
+ topP: request.topP ?? null,
22
+ topK: request.topK,
23
+ instructions: request.instructions ?? null,
24
+ };
25
+ }
26
+ /**
27
+ * Execute nextTurnParams functions for all called tools
28
+ * Composes functions when multiple tools modify the same parameter
29
+ *
30
+ * @param toolCalls - Tool calls that were executed in this turn
31
+ * @param tools - All available tools
32
+ * @param currentRequest - The current request
33
+ * @returns Object with computed parameter values
34
+ */
35
+ export async function executeNextTurnParamsFunctions(toolCalls, tools, currentRequest) {
36
+ // Build initial context from current request
37
+ const context = buildNextTurnParamsContext(currentRequest);
38
+ // Collect all nextTurnParams functions from tools (in tools array order)
39
+ const result = {};
40
+ const workingContext = {
41
+ ...context,
42
+ };
43
+ for (const tool of tools) {
44
+ if (!tool.function.nextTurnParams) {
45
+ continue;
46
+ }
47
+ // Find tool calls for this tool
48
+ const callsForTool = toolCalls.filter((tc) => tc.name === tool.function.name);
49
+ for (const call of callsForTool) {
50
+ // For each parameter function in this tool's nextTurnParams
51
+ // We need to process each key individually to maintain type safety
52
+ const nextParams = tool.function.nextTurnParams;
53
+ // Validate that call.arguments is a record using type guard
54
+ if (!isRecord(call.arguments)) {
55
+ const typeStr = Array.isArray(call.arguments) ? 'array' : typeof call.arguments;
56
+ throw new Error(`Tool call arguments for ${tool.function.name} must be an object, got ${typeStr}`);
57
+ }
58
+ // Process each parameter key with proper typing
59
+ await processNextTurnParamsForCall(nextParams, call.arguments, workingContext, result, tool.function.name);
60
+ }
61
+ }
62
+ return result;
63
+ }
64
+ /**
65
+ * Process nextTurnParams for a single tool call with full type safety
66
+ */
67
+ async function processNextTurnParamsForCall(nextParams, params, workingContext, result, toolName) {
68
+ // Type-safe processing for each known parameter key
69
+ // We iterate through keys and use runtime checks instead of casts
70
+ for (const paramKey of Object.keys(nextParams)) {
71
+ const fn = nextParams[paramKey];
72
+ if (typeof fn !== 'function') {
73
+ continue;
74
+ }
75
+ // Validate that paramKey is actually a key of NextTurnParamsContext
76
+ if (!isValidNextTurnParamKey(paramKey)) {
77
+ if (process.env['NODE_ENV'] !== 'production') {
78
+ console.warn(`Invalid nextTurnParams key "${paramKey}" in tool "${toolName}". ` +
79
+ `Valid keys: input, model, models, temperature, maxOutputTokens, topP, topK, instructions`);
80
+ }
81
+ continue;
82
+ }
83
+ // Execute the function and await the result
84
+ const newValue = await Promise.resolve(fn(params, workingContext));
85
+ // Update both result and workingContext to enable composition
86
+ // Later tools will see modifications made by earlier tools
87
+ setNextTurnParam(result, paramKey, newValue);
88
+ setNextTurnParam(workingContext, paramKey, newValue);
89
+ }
90
+ }
91
+ /**
92
+ * Type guard to check if a string is a valid NextTurnParamsContext key
93
+ */
94
+ function isValidNextTurnParamKey(key) {
95
+ const validKeys = new Set([
96
+ 'input',
97
+ 'model',
98
+ 'models',
99
+ 'temperature',
100
+ 'maxOutputTokens',
101
+ 'topP',
102
+ 'topK',
103
+ 'instructions',
104
+ ]);
105
+ return validKeys.has(key);
106
+ }
107
+ /**
108
+ * Type-safe setter for NextTurnParamsContext
109
+ * This wrapper is needed because TypeScript doesn't properly narrow the type
110
+ * after the type guard, even though we've validated the key
111
+ */
112
+ function setNextTurnParam(target, key, value) {
113
+ target[key] = value;
114
+ }
115
+ /**
116
+ * Apply computed nextTurnParams to the current request
117
+ * Returns a new request object with updated parameters
118
+ *
119
+ * @param request - The current request
120
+ * @param computedParams - Computed parameter values from nextTurnParams functions
121
+ * @returns New request with updated parameters
122
+ */
123
+ export function applyNextTurnParamsToRequest(request, computedParams) {
124
+ return {
125
+ ...request,
126
+ ...computedParams,
127
+ };
128
+ }
129
+ //# sourceMappingURL=next-turn-params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-turn-params.js","sourceRoot":"","sources":["../../src/lib/next-turn-params.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * A reusable readable stream that allows multiple consumers to read from the same source stream
3
+ * concurrently while it's actively streaming, without forcing consumers to wait for full buffering.
4
+ *
5
+ * Key features:
6
+ * - Multiple concurrent consumers with independent read positions
7
+ * - New consumers can attach while streaming is active
8
+ * - Efficient memory management with automatic cleanup
9
+ * - Each consumer can read at their own pace
10
+ */
11
+ export declare class ReusableReadableStream<T> {
12
+ private sourceStream;
13
+ private buffer;
14
+ private consumers;
15
+ private nextConsumerId;
16
+ private sourceReader;
17
+ private sourceComplete;
18
+ private sourceError;
19
+ private pumpStarted;
20
+ constructor(sourceStream: ReadableStream<T>);
21
+ /**
22
+ * Create a new consumer that can independently iterate over the stream.
23
+ * Multiple consumers can be created and will all receive the same data.
24
+ */
25
+ createConsumer(): AsyncIterableIterator<T>;
26
+ /**
27
+ * Start pumping data from the source stream into the buffer
28
+ */
29
+ private startPump;
30
+ /**
31
+ * Notify all waiting consumers that new data is available
32
+ */
33
+ private notifyAllConsumers;
34
+ /**
35
+ * Cancel the source stream and all consumers
36
+ */
37
+ cancel(): Promise<void>;
38
+ }
39
+ //# sourceMappingURL=reusable-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reusable-stream.d.ts","sourceRoot":"","sources":["../../src/lib/reusable-stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,qBAAa,sBAAsB,CAAC,CAAC;IASvB,OAAO,CAAC,YAAY;IARhC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,WAAW,CAAS;gBAER,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;IAEnD;;;OAGG;IACH,cAAc,IAAI,qBAAqB,CAAC,CAAC,CAAC;IAgH1C;;OAEG;IACH,OAAO,CAAC,SAAS;IAmCjB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB9B"}
@@ -0,0 +1,192 @@
1
+ /**
2
+ * A reusable readable stream that allows multiple consumers to read from the same source stream
3
+ * concurrently while it's actively streaming, without forcing consumers to wait for full buffering.
4
+ *
5
+ * Key features:
6
+ * - Multiple concurrent consumers with independent read positions
7
+ * - New consumers can attach while streaming is active
8
+ * - Efficient memory management with automatic cleanup
9
+ * - Each consumer can read at their own pace
10
+ */
11
+ export class ReusableReadableStream {
12
+ constructor(sourceStream) {
13
+ this.sourceStream = sourceStream;
14
+ this.buffer = [];
15
+ this.consumers = new Map();
16
+ this.nextConsumerId = 0;
17
+ this.sourceReader = null;
18
+ this.sourceComplete = false;
19
+ this.sourceError = null;
20
+ this.pumpStarted = false;
21
+ }
22
+ /**
23
+ * Create a new consumer that can independently iterate over the stream.
24
+ * Multiple consumers can be created and will all receive the same data.
25
+ */
26
+ createConsumer() {
27
+ const consumerId = this.nextConsumerId++;
28
+ const state = {
29
+ position: 0,
30
+ waitingPromise: null,
31
+ cancelled: false,
32
+ };
33
+ this.consumers.set(consumerId, state);
34
+ // Start pumping the source stream if not already started
35
+ if (!this.pumpStarted) {
36
+ this.startPump();
37
+ }
38
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
39
+ const self = this;
40
+ return {
41
+ async next() {
42
+ const consumer = self.consumers.get(consumerId);
43
+ if (!consumer) {
44
+ return {
45
+ done: true,
46
+ value: undefined,
47
+ };
48
+ }
49
+ if (consumer.cancelled) {
50
+ return {
51
+ done: true,
52
+ value: undefined,
53
+ };
54
+ }
55
+ // If we have buffered data at this position, return it
56
+ if (consumer.position < self.buffer.length) {
57
+ const value = self.buffer[consumer.position];
58
+ consumer.position++;
59
+ // Note: We don't clean up buffer to allow sequential/reusable access
60
+ return {
61
+ done: false,
62
+ value,
63
+ };
64
+ }
65
+ // If source is complete and we've read everything, we're done
66
+ if (self.sourceComplete) {
67
+ self.consumers.delete(consumerId);
68
+ return {
69
+ done: true,
70
+ value: undefined,
71
+ };
72
+ }
73
+ // If source had an error, propagate it
74
+ if (self.sourceError) {
75
+ self.consumers.delete(consumerId);
76
+ throw self.sourceError;
77
+ }
78
+ // Set up the waiting promise FIRST to avoid race condition
79
+ // where source completes after the check but before promise is set
80
+ const waitPromise = new Promise((resolve, reject) => {
81
+ consumer.waitingPromise = {
82
+ resolve,
83
+ reject,
84
+ };
85
+ // Immediately check if we should resolve after setting up the promise
86
+ // This handles the case where data arrived or source completed
87
+ // between our initial checks and promise creation
88
+ if (self.sourceComplete || self.sourceError || consumer.position < self.buffer.length) {
89
+ resolve();
90
+ }
91
+ });
92
+ await waitPromise;
93
+ // Clear the promise reference after it resolves
94
+ consumer.waitingPromise = null;
95
+ // Recursively try again after waking up
96
+ return this.next();
97
+ },
98
+ async return() {
99
+ const consumer = self.consumers.get(consumerId);
100
+ if (consumer) {
101
+ consumer.cancelled = true;
102
+ self.consumers.delete(consumerId);
103
+ }
104
+ return {
105
+ done: true,
106
+ value: undefined,
107
+ };
108
+ },
109
+ async throw(e) {
110
+ const consumer = self.consumers.get(consumerId);
111
+ if (consumer) {
112
+ consumer.cancelled = true;
113
+ self.consumers.delete(consumerId);
114
+ }
115
+ throw e;
116
+ },
117
+ [Symbol.asyncIterator]() {
118
+ return this;
119
+ },
120
+ };
121
+ }
122
+ /**
123
+ * Start pumping data from the source stream into the buffer
124
+ */
125
+ startPump() {
126
+ if (this.pumpStarted) {
127
+ return;
128
+ }
129
+ this.pumpStarted = true;
130
+ this.sourceReader = this.sourceStream.getReader();
131
+ void (async () => {
132
+ try {
133
+ while (true) {
134
+ const result = await this.sourceReader.read();
135
+ if (result.done) {
136
+ this.sourceComplete = true;
137
+ this.notifyAllConsumers();
138
+ break;
139
+ }
140
+ // Add to buffer
141
+ this.buffer.push(result.value);
142
+ // Notify waiting consumers
143
+ this.notifyAllConsumers();
144
+ }
145
+ }
146
+ catch (error) {
147
+ this.sourceError = error instanceof Error ? error : new Error(String(error));
148
+ this.notifyAllConsumers();
149
+ }
150
+ finally {
151
+ if (this.sourceReader) {
152
+ this.sourceReader.releaseLock();
153
+ }
154
+ }
155
+ })();
156
+ }
157
+ /**
158
+ * Notify all waiting consumers that new data is available
159
+ */
160
+ notifyAllConsumers() {
161
+ for (const consumer of this.consumers.values()) {
162
+ if (consumer.waitingPromise) {
163
+ if (this.sourceError) {
164
+ consumer.waitingPromise.reject(this.sourceError);
165
+ }
166
+ else {
167
+ consumer.waitingPromise.resolve();
168
+ }
169
+ consumer.waitingPromise = null;
170
+ }
171
+ }
172
+ }
173
+ /**
174
+ * Cancel the source stream and all consumers
175
+ */
176
+ async cancel() {
177
+ // Cancel all consumers
178
+ for (const consumer of this.consumers.values()) {
179
+ consumer.cancelled = true;
180
+ if (consumer.waitingPromise) {
181
+ consumer.waitingPromise.resolve();
182
+ }
183
+ }
184
+ this.consumers.clear();
185
+ // Cancel the source stream
186
+ if (this.sourceReader) {
187
+ await this.sourceReader.cancel();
188
+ this.sourceReader.releaseLock();
189
+ }
190
+ }
191
+ }
192
+ //# sourceMappingURL=reusable-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reusable-stream.js","sourceRoot":"","sources":["../../src/lib/reusable-stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import type { StepResult, StopCondition, Tool } from './tool-types.js';
2
+ /**
3
+ * Stop condition that checks if step count equals or exceeds a specific number
4
+ * @param stepCount - The number of steps to allow before stopping
5
+ * @returns StopCondition that returns true when steps.length >= stepCount
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * stopWhen: stepCountIs(5) // Stop after 5 steps
10
+ * ```
11
+ */
12
+ export declare function stepCountIs(stepCount: number): StopCondition;
13
+ /**
14
+ * Stop condition that checks if any step contains a tool call with the given name
15
+ * @param toolName - The name of the tool to check for
16
+ * @returns StopCondition that returns true if the tool was called in any step
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * stopWhen: hasToolCall('search') // Stop when search tool is called
21
+ * ```
22
+ */
23
+ export declare function hasToolCall(toolName: string): StopCondition;
24
+ /**
25
+ * Evaluates an array of stop conditions
26
+ * Returns true if ANY condition returns true (OR logic)
27
+ * @param options - Object containing stopConditions and steps
28
+ * @returns Promise<boolean> indicating if execution should stop
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const shouldStop = await isStopConditionMet({
33
+ * stopConditions: [stepCountIs(5), hasToolCall('search')],
34
+ * steps: allSteps
35
+ * });
36
+ * ```
37
+ */
38
+ export declare function isStopConditionMet<TTools extends readonly Tool[]>(options: {
39
+ readonly stopConditions: ReadonlyArray<StopCondition<TTools>>;
40
+ readonly steps: ReadonlyArray<StepResult<TTools>>;
41
+ }): Promise<boolean>;
42
+ /**
43
+ * Stop when total token usage exceeds a threshold
44
+ * OpenRouter-specific helper using usage data
45
+ *
46
+ * @param maxTokens - Maximum total tokens to allow
47
+ * @returns StopCondition that returns true when token usage exceeds threshold
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * stopWhen: maxTokensUsed(10000) // Stop when total tokens exceed 10,000
52
+ * ```
53
+ */
54
+ export declare function maxTokensUsed(maxTokens: number): StopCondition;
55
+ /**
56
+ * Stop when total cost exceeds a threshold
57
+ * OpenRouter-specific helper using cost data
58
+ *
59
+ * @param maxCostInDollars - Maximum cost in dollars to allow
60
+ * @returns StopCondition that returns true when cost exceeds threshold
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * stopWhen: maxCost(0.50) // Stop when total cost exceeds $0.50
65
+ * ```
66
+ */
67
+ export declare function maxCost(maxCostInDollars: number): StopCondition;
68
+ /**
69
+ * Stop when a specific finish reason is encountered
70
+ *
71
+ * @param reason - The finish reason to check for
72
+ * @returns StopCondition that returns true when finish reason matches
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * stopWhen: finishReasonIs('length') // Stop when context length limit is hit
77
+ * ```
78
+ */
79
+ export declare function finishReasonIs(reason: string): StopCondition;
80
+ //# sourceMappingURL=stop-conditions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop-conditions.d.ts","sourceRoot":"","sources":["../../src/lib/stop-conditions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvE;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAE5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAM3D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,SAAS,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE;IAChF,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;CACnD,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAQ9D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,gBAAgB,EAAE,MAAM,GAAG,aAAa,CAQ/D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAI5D"}