agent-accelerator 0.2.0 → 0.4.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.
- package/README.md +94 -14
- package/package.json +1 -1
- package/src/agent/agent.ts +1010 -104
- package/src/agent/context.ts +35 -0
- package/src/agent/delegation.ts +758 -40
- package/src/agent/loop.ts +811 -102
- package/src/agent/subagent.ts +59 -0
- package/src/index.ts +186 -59
- package/src/models/catalog-cache.ts +68 -25
- package/src/models/catalog.ts +101 -21
- package/src/providers/google.ts +99 -39
- package/src/providers/openai-compat.ts +140 -80
- package/src/providers/openai.ts +149 -69
- package/src/providers/openrouter.ts +106 -71
- package/src/providers/registry.ts +16 -12
- package/src/providers/shared.ts +132 -0
- package/src/providers.ts +14 -13
- package/src/session/store.ts +1285 -0
- package/src/streaming/event-stream.ts +156 -41
- package/src/tools/executor.ts +252 -16
- package/src/tools/tool.ts +147 -3
- package/src/types/agent.ts +253 -2
- package/src/types/core.ts +2 -1
- package/src/types/errors.ts +133 -0
- package/src/types/model.ts +1 -1
- package/src/types/response.ts +150 -3
- package/src/types/tool.ts +71 -0
- package/src/update-models.ts +8 -2
- package/src/utils/cache.ts +68 -1
- package/src/utils/env.ts +2 -6
- package/src/utils/headers.ts +153 -19
- package/src/utils/retry.ts +27 -13
- package/src/utils/session.ts +320 -0
- package/src/providers/openrouter-responses.ts +0 -949
- package/src/types/provider-payloads.ts +0 -352
|
@@ -1,352 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Provider wire payload and schema types for complete backwards compatibility.
|
|
3
|
-
* These types allow existing applications and tests to type-check requests
|
|
4
|
-
* and responses seamlessly.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
// ============================================================================
|
|
8
|
-
// Google AI Studio Payload Types
|
|
9
|
-
// ============================================================================
|
|
10
|
-
|
|
11
|
-
export type GoogleThinkingLevel = "OFF" | "MINIMAL" | "LOW" | "MEDIUM" | "HIGH";
|
|
12
|
-
|
|
13
|
-
export interface GoogleThinkingConfig {
|
|
14
|
-
thinkingLevel?: GoogleThinkingLevel;
|
|
15
|
-
includeThoughts?: boolean;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export type GoogleFunctionCallingMode = "AUTO" | "NONE" | "ANY";
|
|
19
|
-
|
|
20
|
-
export interface GoogleFunctionCallingConfig {
|
|
21
|
-
mode: GoogleFunctionCallingMode;
|
|
22
|
-
allowedFunctionNames?: string[];
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export interface GoogleToolConfig {
|
|
26
|
-
functionCallingConfig?: GoogleFunctionCallingConfig;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export interface GoogleFunctionDeclaration {
|
|
30
|
-
name: string;
|
|
31
|
-
description?: string;
|
|
32
|
-
parameters?: Record<string, unknown>;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export interface GoogleTool {
|
|
36
|
-
functionDeclarations?: GoogleFunctionDeclaration[];
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export interface GoogleBlob {
|
|
40
|
-
mimeType: string;
|
|
41
|
-
data: string; // base64
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export interface GooglePart {
|
|
45
|
-
text?: string;
|
|
46
|
-
inlineData?: GoogleBlob;
|
|
47
|
-
functionCall?: {
|
|
48
|
-
name: string;
|
|
49
|
-
args: Record<string, unknown>;
|
|
50
|
-
id?: string;
|
|
51
|
-
thoughtSignature?: string;
|
|
52
|
-
};
|
|
53
|
-
functionResponse?: {
|
|
54
|
-
name: string;
|
|
55
|
-
response: Record<string, unknown>;
|
|
56
|
-
id?: string;
|
|
57
|
-
};
|
|
58
|
-
thought?: boolean;
|
|
59
|
-
thoughtSignature?: string;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export interface GoogleContent {
|
|
63
|
-
role: "user" | "model" | "function";
|
|
64
|
-
parts: GooglePart[];
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export interface GoogleGenerationConfig {
|
|
68
|
-
temperature?: number;
|
|
69
|
-
topP?: number;
|
|
70
|
-
topK?: number;
|
|
71
|
-
candidateCount?: number;
|
|
72
|
-
maxOutputTokens?: number;
|
|
73
|
-
stopSequences?: string[];
|
|
74
|
-
responseMimeType?: string;
|
|
75
|
-
thinkingConfig?: GoogleThinkingConfig;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export interface GoogleCandidate {
|
|
79
|
-
content?: GoogleContent;
|
|
80
|
-
finishReason?: string;
|
|
81
|
-
index?: number;
|
|
82
|
-
safetyRatings?: Array<Record<string, unknown>>;
|
|
83
|
-
groundingMetadata?: Record<string, unknown>;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export interface GoogleUsageMetadata {
|
|
87
|
-
promptTokenCount?: number;
|
|
88
|
-
candidatesTokenCount?: number;
|
|
89
|
-
totalTokenCount?: number;
|
|
90
|
-
cachedContentTokenCount?: number;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
export interface GoogleGenerateContentRequest {
|
|
94
|
-
contents: GoogleContent[];
|
|
95
|
-
systemInstruction?: GoogleContent | { parts: GooglePart[] };
|
|
96
|
-
tools?: GoogleTool[];
|
|
97
|
-
toolConfig?: GoogleToolConfig;
|
|
98
|
-
generationConfig?: GoogleGenerationConfig;
|
|
99
|
-
cachedContent?: string;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
export interface GoogleGenerateContentResponse {
|
|
103
|
-
candidates?: GoogleCandidate[];
|
|
104
|
-
usageMetadata?: GoogleUsageMetadata;
|
|
105
|
-
modelVersion?: string;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// ============================================================================
|
|
109
|
-
// OpenRouter Payload Types
|
|
110
|
-
// ============================================================================
|
|
111
|
-
|
|
112
|
-
export interface OpenRouterProviderRouting {
|
|
113
|
-
order?: string[];
|
|
114
|
-
allow_fallbacks?: boolean;
|
|
115
|
-
require_parameters?: boolean;
|
|
116
|
-
data_collection?: "allow" | "deny";
|
|
117
|
-
ignore?: string[];
|
|
118
|
-
quantizations?: string[];
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
export interface OpenRouterReasoning {
|
|
122
|
-
effort?: "high" | "medium" | "low";
|
|
123
|
-
max_tokens?: number;
|
|
124
|
-
exclude?: boolean;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
export interface OpenRouterParameters {
|
|
128
|
-
temperature?: number;
|
|
129
|
-
top_p?: number;
|
|
130
|
-
top_k?: number;
|
|
131
|
-
max_tokens?: number;
|
|
132
|
-
seed?: number;
|
|
133
|
-
stop?: string | string[];
|
|
134
|
-
repetition_penalty?: number;
|
|
135
|
-
presence_penalty?: number;
|
|
136
|
-
frequency_penalty?: number;
|
|
137
|
-
reasoning?: OpenRouterReasoning;
|
|
138
|
-
provider?: OpenRouterProviderRouting;
|
|
139
|
-
transforms?: string[];
|
|
140
|
-
models?: string[];
|
|
141
|
-
route?: "fallback";
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
export interface OpenRouterUsage {
|
|
145
|
-
prompt_tokens?: number;
|
|
146
|
-
completion_tokens?: number;
|
|
147
|
-
total_tokens?: number;
|
|
148
|
-
cached_tokens?: number;
|
|
149
|
-
prompt_tokens_details?: {
|
|
150
|
-
cached_tokens?: number;
|
|
151
|
-
};
|
|
152
|
-
total_cost?: number;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
export interface OpenRouterChatRequest {
|
|
156
|
-
model: string;
|
|
157
|
-
messages: any[];
|
|
158
|
-
tools?: any[];
|
|
159
|
-
tool_choice?: any;
|
|
160
|
-
stream?: boolean;
|
|
161
|
-
temperature?: number;
|
|
162
|
-
top_p?: number;
|
|
163
|
-
top_k?: number;
|
|
164
|
-
max_tokens?: number;
|
|
165
|
-
seed?: number;
|
|
166
|
-
stop?: string | string[];
|
|
167
|
-
reasoning?: OpenRouterReasoning;
|
|
168
|
-
provider?: OpenRouterProviderRouting;
|
|
169
|
-
transforms?: string[];
|
|
170
|
-
models?: string[];
|
|
171
|
-
route?: "fallback";
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
export interface OpenRouterResponse {
|
|
175
|
-
id?: string;
|
|
176
|
-
model?: string;
|
|
177
|
-
choices?: Array<{
|
|
178
|
-
index?: number;
|
|
179
|
-
message?: any;
|
|
180
|
-
delta?: any;
|
|
181
|
-
finish_reason?: string;
|
|
182
|
-
}>;
|
|
183
|
-
usage?: OpenRouterUsage;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
// ============================================================================
|
|
187
|
-
// OpenAI Payload Types
|
|
188
|
-
// ============================================================================
|
|
189
|
-
|
|
190
|
-
export type OpenAIMessageRole = "system" | "user" | "assistant" | "tool";
|
|
191
|
-
export type OpenAIReasoningEffort = "low" | "medium" | "high";
|
|
192
|
-
export type OpenAIServiceTier = "auto" | "default";
|
|
193
|
-
|
|
194
|
-
export interface OpenAITextPart {
|
|
195
|
-
type: "text";
|
|
196
|
-
text: string;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
export interface OpenAIImageUrlPart {
|
|
200
|
-
type: "image_url";
|
|
201
|
-
image_url: {
|
|
202
|
-
url: string;
|
|
203
|
-
detail?: "auto" | "low" | "high";
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
export interface OpenAIInputAudioPart {
|
|
208
|
-
type: "input_audio";
|
|
209
|
-
input_audio: {
|
|
210
|
-
data: string;
|
|
211
|
-
format: "wav" | "mp3";
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
export interface OpenAIVideoUrlPart {
|
|
216
|
-
type: "video_url";
|
|
217
|
-
video_url: {
|
|
218
|
-
url: string;
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
export type OpenAIContentPart =
|
|
223
|
-
| OpenAITextPart
|
|
224
|
-
| OpenAIImageUrlPart
|
|
225
|
-
| OpenAIInputAudioPart
|
|
226
|
-
| OpenAIVideoUrlPart;
|
|
227
|
-
|
|
228
|
-
export interface OpenAIToolCall {
|
|
229
|
-
id: string;
|
|
230
|
-
type: "function";
|
|
231
|
-
function: {
|
|
232
|
-
name: string;
|
|
233
|
-
arguments: string;
|
|
234
|
-
};
|
|
235
|
-
extra_content?: {
|
|
236
|
-
google?: {
|
|
237
|
-
thought_signature?: string;
|
|
238
|
-
};
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
export interface OpenAIMessage {
|
|
243
|
-
role: OpenAIMessageRole;
|
|
244
|
-
content: string | OpenAIContentPart[];
|
|
245
|
-
name?: string;
|
|
246
|
-
tool_call_id?: string;
|
|
247
|
-
tool_calls?: OpenAIToolCall[];
|
|
248
|
-
reasoning_content?: string;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
export interface OpenAITool {
|
|
252
|
-
type: "function";
|
|
253
|
-
function: {
|
|
254
|
-
name: string;
|
|
255
|
-
description?: string;
|
|
256
|
-
parameters?: Record<string, unknown>;
|
|
257
|
-
strict?: boolean;
|
|
258
|
-
};
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
export type OpenAIToolChoice =
|
|
262
|
-
| "none"
|
|
263
|
-
| "auto"
|
|
264
|
-
| "required"
|
|
265
|
-
| { type: "function"; function: { name: string } };
|
|
266
|
-
|
|
267
|
-
export interface OpenAIUsage {
|
|
268
|
-
prompt_tokens: number;
|
|
269
|
-
completion_tokens: number;
|
|
270
|
-
total_tokens: number;
|
|
271
|
-
prompt_tokens_details?: {
|
|
272
|
-
cached_tokens?: number;
|
|
273
|
-
};
|
|
274
|
-
completion_tokens_details?: {
|
|
275
|
-
reasoning_tokens?: number;
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
export interface OpenAIChoice {
|
|
280
|
-
index: number;
|
|
281
|
-
message: {
|
|
282
|
-
role: "assistant";
|
|
283
|
-
content: string | null;
|
|
284
|
-
reasoning_content?: string;
|
|
285
|
-
tool_calls?: OpenAIToolCall[];
|
|
286
|
-
};
|
|
287
|
-
finish_reason: "stop" | "length" | "tool_calls" | "content_filter" | null;
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
export interface OpenAIDelta {
|
|
291
|
-
role?: string;
|
|
292
|
-
content?: string | null;
|
|
293
|
-
reasoning_content?: string;
|
|
294
|
-
tool_calls?: Array<{
|
|
295
|
-
index: number;
|
|
296
|
-
id?: string;
|
|
297
|
-
type?: "function";
|
|
298
|
-
function?: {
|
|
299
|
-
name?: string;
|
|
300
|
-
arguments?: string;
|
|
301
|
-
};
|
|
302
|
-
extra_content?: {
|
|
303
|
-
google?: {
|
|
304
|
-
thought_signature?: string;
|
|
305
|
-
};
|
|
306
|
-
};
|
|
307
|
-
}>;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
export interface OpenAIChunkChoice {
|
|
311
|
-
index: number;
|
|
312
|
-
delta: OpenAIDelta;
|
|
313
|
-
finish_reason: "stop" | "length" | "tool_calls" | "content_filter" | null;
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
export interface OpenAIChatCompletionRequest {
|
|
317
|
-
model: string;
|
|
318
|
-
messages: OpenAIMessage[];
|
|
319
|
-
tools?: OpenAITool[];
|
|
320
|
-
tool_choice?: OpenAIToolChoice;
|
|
321
|
-
temperature?: number;
|
|
322
|
-
top_p?: number;
|
|
323
|
-
max_tokens?: number;
|
|
324
|
-
max_completion_tokens?: number;
|
|
325
|
-
stop?: string | string[];
|
|
326
|
-
stream?: boolean;
|
|
327
|
-
stream_options?: { include_usage?: boolean };
|
|
328
|
-
reasoning_effort?: OpenAIReasoningEffort;
|
|
329
|
-
service_tier?: OpenAIServiceTier;
|
|
330
|
-
response_format?: { type: "text" | "json_object" };
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
export interface OpenAIChatCompletionResponse {
|
|
334
|
-
id: string;
|
|
335
|
-
object: string;
|
|
336
|
-
created: number;
|
|
337
|
-
model: string;
|
|
338
|
-
choices: OpenAIChoice[];
|
|
339
|
-
usage?: OpenAIUsage;
|
|
340
|
-
service_tier?: string;
|
|
341
|
-
system_fingerprint?: string;
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
export interface OpenAIChatCompletionChunk {
|
|
345
|
-
id: string;
|
|
346
|
-
object: string;
|
|
347
|
-
created: number;
|
|
348
|
-
model: string;
|
|
349
|
-
choices: OpenAIChunkChoice[];
|
|
350
|
-
usage?: OpenAIUsage;
|
|
351
|
-
system_fingerprint?: string;
|
|
352
|
-
}
|