@mozaik-ai/core 3.13.0 → 3.13.1
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 +188 -128
- package/dist/index.d.mts +84 -574
- package/dist/index.d.ts +84 -574
- package/dist/index.js +972 -1218
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +972 -1201
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -2
- package/tests/README.md +0 -31
package/dist/index.d.mts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import OpenAI from 'openai';
|
|
2
|
-
import Anthropic from '@anthropic-ai/sdk';
|
|
3
|
-
|
|
4
1
|
declare abstract class ContextItem {
|
|
5
2
|
abstract readonly type: string;
|
|
6
3
|
getType(): string;
|
|
7
|
-
abstract toJSON(): any;
|
|
8
4
|
}
|
|
9
5
|
|
|
10
6
|
declare class ModelContext {
|
|
@@ -22,7 +18,6 @@ declare class ModelContext {
|
|
|
22
18
|
projectId: string;
|
|
23
19
|
items: ContextItem[];
|
|
24
20
|
}): ModelContext;
|
|
25
|
-
toJSON(): any;
|
|
26
21
|
}
|
|
27
22
|
|
|
28
23
|
declare abstract class ItemContent {
|
|
@@ -37,7 +32,6 @@ declare class InputText extends ItemContent {
|
|
|
37
32
|
static rehydrate(data: {
|
|
38
33
|
text: string;
|
|
39
34
|
}): InputText;
|
|
40
|
-
toJSON(): any[];
|
|
41
35
|
}
|
|
42
36
|
|
|
43
37
|
declare class UserMessageItem extends ContextItem {
|
|
@@ -49,7 +43,6 @@ declare class UserMessageItem extends ContextItem {
|
|
|
49
43
|
static rehydrate(data: {
|
|
50
44
|
text: string;
|
|
51
45
|
}): UserMessageItem;
|
|
52
|
-
toJSON(): any;
|
|
53
46
|
}
|
|
54
47
|
|
|
55
48
|
declare class DeveloperMessageItem extends ContextItem {
|
|
@@ -57,7 +50,6 @@ declare class DeveloperMessageItem extends ContextItem {
|
|
|
57
50
|
readonly role = "developer";
|
|
58
51
|
readonly content: InputText;
|
|
59
52
|
private constructor();
|
|
60
|
-
toJSON(): any;
|
|
61
53
|
static create(text: string): DeveloperMessageItem;
|
|
62
54
|
static rehydrate(data: {
|
|
63
55
|
text: string;
|
|
@@ -71,7 +63,6 @@ declare class OutputText extends ItemContent {
|
|
|
71
63
|
static rehydrate(data: {
|
|
72
64
|
text: string;
|
|
73
65
|
}): OutputText;
|
|
74
|
-
toJSON(): any[];
|
|
75
66
|
}
|
|
76
67
|
|
|
77
68
|
declare class ModelMessageItem extends ContextItem {
|
|
@@ -82,7 +73,6 @@ declare class ModelMessageItem extends ContextItem {
|
|
|
82
73
|
static rehydrate(data: {
|
|
83
74
|
text: string;
|
|
84
75
|
}): ModelMessageItem;
|
|
85
|
-
toJSON(): any;
|
|
86
76
|
}
|
|
87
77
|
|
|
88
78
|
declare class FunctionCallItem extends ContextItem {
|
|
@@ -96,7 +86,6 @@ declare class FunctionCallItem extends ContextItem {
|
|
|
96
86
|
name: string;
|
|
97
87
|
args: string;
|
|
98
88
|
}): FunctionCallItem;
|
|
99
|
-
toJSON(): any;
|
|
100
89
|
}
|
|
101
90
|
|
|
102
91
|
declare class SummaryText extends ItemContent {
|
|
@@ -106,7 +95,6 @@ declare class SummaryText extends ItemContent {
|
|
|
106
95
|
static rehydrate(data: {
|
|
107
96
|
text: string;
|
|
108
97
|
}): SummaryText;
|
|
109
|
-
toJSON(): Record<string, any>;
|
|
110
98
|
}
|
|
111
99
|
|
|
112
100
|
declare class ReasoningItem extends ContextItem {
|
|
@@ -120,28 +108,6 @@ declare class ReasoningItem extends ContextItem {
|
|
|
120
108
|
encryptedContent: string | undefined;
|
|
121
109
|
summary: SummaryText[];
|
|
122
110
|
}): ReasoningItem;
|
|
123
|
-
toJSON(): any;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
interface ReasoningEffort<Effort extends string> {
|
|
127
|
-
setReasoningEffort(effort: Effort): void;
|
|
128
|
-
getReasoningEffort(): Effort;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
interface StreamingCapability {
|
|
132
|
-
setStreaming(streaming: boolean): void;
|
|
133
|
-
getStreaming(): boolean;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
type StructuredOutputFormat = {
|
|
137
|
-
name?: string;
|
|
138
|
-
schema: Record<string, any>;
|
|
139
|
-
strict?: boolean;
|
|
140
|
-
};
|
|
141
|
-
interface StructuredOutputCapability {
|
|
142
|
-
setStructuredOutput(format: StructuredOutputFormat | undefined): void;
|
|
143
|
-
getStructuredOutput(): StructuredOutputFormat | undefined;
|
|
144
|
-
hasStructuredOutput(): boolean;
|
|
145
111
|
}
|
|
146
112
|
|
|
147
113
|
interface FunctionTool {
|
|
@@ -154,26 +120,6 @@ interface FunctionTool {
|
|
|
154
120
|
}
|
|
155
121
|
type Tool = FunctionTool;
|
|
156
122
|
|
|
157
|
-
interface ToolCallingCapability {
|
|
158
|
-
setTools(tools: Tool[]): void;
|
|
159
|
-
getTools(): Tool[];
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
type ModelSpecification = {
|
|
163
|
-
name: string;
|
|
164
|
-
provider: string;
|
|
165
|
-
supportReasoningEffort: boolean;
|
|
166
|
-
defaultReasoningEffort: string | undefined;
|
|
167
|
-
supportStreaming: boolean;
|
|
168
|
-
contextWindowSize: number;
|
|
169
|
-
maxOutputTokens: number;
|
|
170
|
-
supportFunctionCalling: boolean;
|
|
171
|
-
supportStructuredOutput: boolean;
|
|
172
|
-
};
|
|
173
|
-
interface GenerativeModel extends ReasoningEffort<string>, ToolCallingCapability, StreamingCapability, StructuredOutputCapability {
|
|
174
|
-
readonly specification: ModelSpecification;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
123
|
declare class FunctionCallOutputItem extends ContextItem {
|
|
178
124
|
readonly type = "function_call_output";
|
|
179
125
|
readonly callId: string;
|
|
@@ -184,134 +130,6 @@ declare class FunctionCallOutputItem extends ContextItem {
|
|
|
184
130
|
callId: string;
|
|
185
131
|
output: InputText;
|
|
186
132
|
}): FunctionCallOutputItem;
|
|
187
|
-
toJSON(): any;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
interface ModelContextRepository {
|
|
191
|
-
save(context: ModelContext): Promise<void>;
|
|
192
|
-
get(id: string): Promise<ModelContext>;
|
|
193
|
-
getByProjectId(projectId: string): Promise<ModelContext[]>;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
type OpenAIReasoningEffortType = "xhigh" | "high" | "medium" | "low" | "none";
|
|
197
|
-
|
|
198
|
-
declare class Gpt54Nano implements GenerativeModel {
|
|
199
|
-
readonly specification: {
|
|
200
|
-
name: string;
|
|
201
|
-
provider: string;
|
|
202
|
-
supportReasoningEffort: boolean;
|
|
203
|
-
defaultReasoningEffort: OpenAIReasoningEffortType;
|
|
204
|
-
supportStreaming: boolean;
|
|
205
|
-
contextWindowSize: number;
|
|
206
|
-
maxOutputTokens: number;
|
|
207
|
-
supportFunctionCalling: boolean;
|
|
208
|
-
supportStructuredOutput: boolean;
|
|
209
|
-
};
|
|
210
|
-
private tools;
|
|
211
|
-
private streaming;
|
|
212
|
-
private structuredOutput;
|
|
213
|
-
private readonly effort;
|
|
214
|
-
setStreaming(streaming: boolean): void;
|
|
215
|
-
getStreaming(): boolean;
|
|
216
|
-
setTools(tools: Tool[]): void;
|
|
217
|
-
getTools(): Tool[];
|
|
218
|
-
setReasoningEffort(effort: OpenAIReasoningEffortType): void;
|
|
219
|
-
getReasoningEffort(): OpenAIReasoningEffortType;
|
|
220
|
-
setStructuredOutput(format: StructuredOutputFormat | undefined): void;
|
|
221
|
-
getStructuredOutput(): StructuredOutputFormat | undefined;
|
|
222
|
-
hasStructuredOutput(): boolean;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
declare class Gpt54 implements GenerativeModel {
|
|
226
|
-
readonly specification: {
|
|
227
|
-
name: string;
|
|
228
|
-
provider: string;
|
|
229
|
-
supportReasoningEffort: boolean;
|
|
230
|
-
defaultReasoningEffort: OpenAIReasoningEffortType;
|
|
231
|
-
supportStreaming: boolean;
|
|
232
|
-
contextWindowSize: number;
|
|
233
|
-
maxOutputTokens: number;
|
|
234
|
-
supportFunctionCalling: boolean;
|
|
235
|
-
supportStructuredOutput: boolean;
|
|
236
|
-
};
|
|
237
|
-
private tools;
|
|
238
|
-
private streaming;
|
|
239
|
-
private structuredOutput;
|
|
240
|
-
private readonly effort;
|
|
241
|
-
setStreaming(streaming: boolean): void;
|
|
242
|
-
getStreaming(): boolean;
|
|
243
|
-
setTools(tools: Tool[]): void;
|
|
244
|
-
getTools(): Tool[];
|
|
245
|
-
setReasoningEffort(effort: OpenAIReasoningEffortType): void;
|
|
246
|
-
getReasoningEffort(): OpenAIReasoningEffortType;
|
|
247
|
-
setStructuredOutput(format: StructuredOutputFormat | undefined): void;
|
|
248
|
-
getStructuredOutput(): StructuredOutputFormat | undefined;
|
|
249
|
-
hasStructuredOutput(): boolean;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
declare class Gpt54Mini implements GenerativeModel {
|
|
253
|
-
readonly specification: {
|
|
254
|
-
name: string;
|
|
255
|
-
provider: string;
|
|
256
|
-
supportReasoningEffort: boolean;
|
|
257
|
-
defaultReasoningEffort: OpenAIReasoningEffortType;
|
|
258
|
-
supportStreaming: boolean;
|
|
259
|
-
contextWindowSize: number;
|
|
260
|
-
maxOutputTokens: number;
|
|
261
|
-
supportFunctionCalling: boolean;
|
|
262
|
-
supportStructuredOutput: boolean;
|
|
263
|
-
};
|
|
264
|
-
private tools;
|
|
265
|
-
private streaming;
|
|
266
|
-
private structuredOutput;
|
|
267
|
-
private readonly effort;
|
|
268
|
-
setStreaming(streaming: boolean): void;
|
|
269
|
-
getStreaming(): boolean;
|
|
270
|
-
setReasoningEffort(effort: OpenAIReasoningEffortType): void;
|
|
271
|
-
getReasoningEffort(): OpenAIReasoningEffortType;
|
|
272
|
-
setTools(tools: Tool[]): void;
|
|
273
|
-
getTools(): Tool[];
|
|
274
|
-
setStructuredOutput(format: StructuredOutputFormat | undefined): void;
|
|
275
|
-
getStructuredOutput(): StructuredOutputFormat | undefined;
|
|
276
|
-
hasStructuredOutput(): boolean;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
declare class InputTokenDetails {
|
|
280
|
-
readonly cached_tokens: number;
|
|
281
|
-
constructor(cached_tokens: number);
|
|
282
|
-
}
|
|
283
|
-
declare class OutputTokenDetails {
|
|
284
|
-
readonly reasoning_tokens: number;
|
|
285
|
-
constructor(reasoning_tokens: number);
|
|
286
|
-
}
|
|
287
|
-
declare class TokenUsage {
|
|
288
|
-
readonly inputTokens: number;
|
|
289
|
-
readonly outputTokens: number;
|
|
290
|
-
readonly totalTokens: number;
|
|
291
|
-
readonly inputTokenDetails: InputTokenDetails;
|
|
292
|
-
readonly outputTokenDetails: OutputTokenDetails;
|
|
293
|
-
constructor(inputTokens: number, outputTokens: number, totalTokens: number, inputTokenDetails: InputTokenDetails, outputTokenDetails: OutputTokenDetails);
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
declare class InMemoryModelContextRepository implements ModelContextRepository {
|
|
297
|
-
private readonly store;
|
|
298
|
-
private readonly projectIndex;
|
|
299
|
-
save(context: ModelContext): Promise<void>;
|
|
300
|
-
get(id: string): Promise<ModelContext>;
|
|
301
|
-
getByProjectId(projectId: string): Promise<ModelContext[]>;
|
|
302
|
-
private clone;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
declare class SystemMessageItem extends ContextItem {
|
|
306
|
-
readonly type = "message";
|
|
307
|
-
readonly role = "system";
|
|
308
|
-
readonly content: InputText;
|
|
309
|
-
private constructor();
|
|
310
|
-
toJSON(): any;
|
|
311
|
-
static create(text: string): SystemMessageItem;
|
|
312
|
-
static rehydrate(data: {
|
|
313
|
-
text: string;
|
|
314
|
-
}): SystemMessageItem;
|
|
315
133
|
}
|
|
316
134
|
|
|
317
135
|
declare class SemanticEvent<T> {
|
|
@@ -335,29 +153,6 @@ declare class AgenticError extends Error {
|
|
|
335
153
|
getEnvironment(): AgenticEnvironment | undefined;
|
|
336
154
|
}
|
|
337
155
|
|
|
338
|
-
interface AgenticEnvironmentOptions {
|
|
339
|
-
silent?: boolean;
|
|
340
|
-
}
|
|
341
|
-
declare class AgenticEnvironment {
|
|
342
|
-
protected subscribers: Participant[];
|
|
343
|
-
private name?;
|
|
344
|
-
private options?;
|
|
345
|
-
private showLogs?;
|
|
346
|
-
constructor(name?: string, opts?: AgenticEnvironmentOptions);
|
|
347
|
-
subscribe(participant: Participant): void;
|
|
348
|
-
unsubscribe(participant: Participant): void;
|
|
349
|
-
deliverFunctionCall(source: Participant, item: FunctionCallItem): void;
|
|
350
|
-
deliverModelMessage(source: Participant, item: ModelMessageItem): void;
|
|
351
|
-
deliverReasoning(source: Participant, item: ReasoningItem): void;
|
|
352
|
-
deliverFunctionCallOutput(source: Participant, item: FunctionCallOutputItem): void;
|
|
353
|
-
deliverMessage(source: Participant, message: string): void;
|
|
354
|
-
deliverSemanticEvent(source: Participant, item: SemanticEvent<unknown>): void;
|
|
355
|
-
deliverError(source: Participant, error: AgenticError): void;
|
|
356
|
-
private getListeningParticipants;
|
|
357
|
-
private deliverToSubscribers;
|
|
358
|
-
private handleError;
|
|
359
|
-
}
|
|
360
|
-
|
|
361
156
|
type ParticipantClassConstructor = new (...args: any[]) => Participant;
|
|
362
157
|
declare abstract class Participant {
|
|
363
158
|
private environments;
|
|
@@ -390,395 +185,110 @@ declare abstract class Participant {
|
|
|
390
185
|
abstract onParticipantError(source: Participant, error: AgenticError): void;
|
|
391
186
|
}
|
|
392
187
|
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
name: string;
|
|
396
|
-
provider: string;
|
|
397
|
-
supportReasoningEffort: boolean;
|
|
398
|
-
defaultReasoningEffort: OpenAIReasoningEffortType;
|
|
399
|
-
supportStreaming: boolean;
|
|
400
|
-
contextWindowSize: number;
|
|
401
|
-
maxOutputTokens: number;
|
|
402
|
-
supportFunctionCalling: boolean;
|
|
403
|
-
supportStructuredOutput: boolean;
|
|
404
|
-
};
|
|
405
|
-
private tools;
|
|
406
|
-
private streaming;
|
|
407
|
-
private structuredOutput;
|
|
408
|
-
private readonly effort;
|
|
409
|
-
setStreaming(streaming: boolean): void;
|
|
410
|
-
getStreaming(): boolean;
|
|
411
|
-
setTools(tools: Tool[]): void;
|
|
412
|
-
getTools(): Tool[];
|
|
413
|
-
setReasoningEffort(effort: OpenAIReasoningEffortType): void;
|
|
414
|
-
getReasoningEffort(): OpenAIReasoningEffortType;
|
|
415
|
-
setStructuredOutput(format: StructuredOutputFormat | undefined): void;
|
|
416
|
-
getStructuredOutput(): StructuredOutputFormat | undefined;
|
|
417
|
-
hasStructuredOutput(): boolean;
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
declare class InferenceRequest {
|
|
421
|
-
readonly model: GenerativeModel;
|
|
422
|
-
readonly context: ModelContext;
|
|
423
|
-
constructor(model: GenerativeModel, context: ModelContext);
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
declare class InferenceResponse {
|
|
427
|
-
readonly contextItems: ContextItem[];
|
|
428
|
-
readonly tokenUsage?: TokenUsage;
|
|
429
|
-
constructor(contextItems: ContextItem[], tokenUsage: TokenUsage | undefined);
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
interface Endpoint {
|
|
433
|
-
infer(request: InferenceRequest): Promise<InferenceResponse>;
|
|
434
|
-
stream(request: InferenceRequest): AsyncIterable<SemanticEvent<unknown>>;
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
declare class OpenAIResponses implements Endpoint {
|
|
438
|
-
private readonly client;
|
|
439
|
-
constructor();
|
|
440
|
-
infer(inferenceRequest: InferenceRequest): Promise<InferenceResponse>;
|
|
441
|
-
stream(inferenceRequest: InferenceRequest, signal?: AbortSignal): AsyncIterable<SemanticEvent<unknown>>;
|
|
442
|
-
private buildRequest;
|
|
443
|
-
extractTokenUsage(response: OpenAI.Responses.Response): TokenUsage | undefined;
|
|
444
|
-
mapContextToRequest(context: ModelContext): any[];
|
|
445
|
-
extractContextItems(response: any): ContextItem[];
|
|
188
|
+
interface AgenticEnvironmentOptions {
|
|
189
|
+
silent?: boolean;
|
|
446
190
|
}
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
private
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
191
|
+
declare class AgenticEnvironment {
|
|
192
|
+
protected subscribers: Participant[];
|
|
193
|
+
private name?;
|
|
194
|
+
private options?;
|
|
195
|
+
private showLogs?;
|
|
196
|
+
constructor(name?: string, opts?: AgenticEnvironmentOptions);
|
|
197
|
+
subscribe(participant: Participant): void;
|
|
198
|
+
unsubscribe(participant: Participant): void;
|
|
199
|
+
deliverFunctionCall(source: Participant, item: FunctionCallItem): void;
|
|
200
|
+
deliverModelMessage(source: Participant, item: ModelMessageItem): void;
|
|
201
|
+
deliverReasoning(source: Participant, item: ReasoningItem): void;
|
|
202
|
+
deliverFunctionCallOutput(source: Participant, item: FunctionCallOutputItem): void;
|
|
203
|
+
deliverMessage(source: Participant, message: string): void;
|
|
204
|
+
deliverSemanticEvent(source: Participant, item: SemanticEvent<unknown>): void;
|
|
205
|
+
deliverError(source: Participant, error: AgenticError): void;
|
|
206
|
+
private getListeningParticipants;
|
|
207
|
+
private deliverToSubscribers;
|
|
208
|
+
private handleError;
|
|
461
209
|
}
|
|
462
210
|
|
|
463
|
-
type
|
|
211
|
+
type InferenceParams<TModel extends string> = {
|
|
212
|
+
model: TModel;
|
|
213
|
+
maxOutputTokens?: number;
|
|
214
|
+
reasoningEffort?: string;
|
|
215
|
+
tools?: Tool[];
|
|
216
|
+
streaming?: boolean;
|
|
217
|
+
structuredOutput?: StructuredOutputFormat;
|
|
218
|
+
context: ModelContext;
|
|
219
|
+
caller: Participant;
|
|
220
|
+
environment: AgenticEnvironment;
|
|
221
|
+
signal?: AbortSignal;
|
|
222
|
+
};
|
|
464
223
|
|
|
465
|
-
declare class
|
|
466
|
-
readonly
|
|
467
|
-
|
|
468
|
-
provider: string;
|
|
469
|
-
supportReasoningEffort: boolean;
|
|
470
|
-
defaultReasoningEffort: AnthropicReasoningEffortType;
|
|
471
|
-
supportStreaming: boolean;
|
|
472
|
-
contextWindowSize: number;
|
|
473
|
-
maxOutputTokens: number;
|
|
474
|
-
supportFunctionCalling: boolean;
|
|
475
|
-
supportStructuredOutput: boolean;
|
|
476
|
-
};
|
|
477
|
-
private tools;
|
|
478
|
-
private streaming;
|
|
479
|
-
private structuredOutput;
|
|
480
|
-
private readonly effort;
|
|
481
|
-
setStreaming(streaming: boolean): void;
|
|
482
|
-
getStreaming(): boolean;
|
|
483
|
-
setTools(tools: Tool[]): void;
|
|
484
|
-
getTools(): Tool[];
|
|
485
|
-
setReasoningEffort(effort: AnthropicReasoningEffortType): void;
|
|
486
|
-
getReasoningEffort(): AnthropicReasoningEffortType;
|
|
487
|
-
setStructuredOutput(format: StructuredOutputFormat | undefined): void;
|
|
488
|
-
getStructuredOutput(): StructuredOutputFormat | undefined;
|
|
489
|
-
hasStructuredOutput(): boolean;
|
|
224
|
+
declare class InputTokenDetails {
|
|
225
|
+
readonly cached_tokens: number;
|
|
226
|
+
constructor(cached_tokens: number);
|
|
490
227
|
}
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
name: string;
|
|
495
|
-
provider: string;
|
|
496
|
-
supportReasoningEffort: boolean;
|
|
497
|
-
defaultReasoningEffort: AnthropicReasoningEffortType;
|
|
498
|
-
supportStreaming: boolean;
|
|
499
|
-
contextWindowSize: number;
|
|
500
|
-
maxOutputTokens: number;
|
|
501
|
-
supportFunctionCalling: boolean;
|
|
502
|
-
supportStructuredOutput: boolean;
|
|
503
|
-
};
|
|
504
|
-
private tools;
|
|
505
|
-
private streaming;
|
|
506
|
-
private structuredOutput;
|
|
507
|
-
private readonly effort;
|
|
508
|
-
setStreaming(streaming: boolean): void;
|
|
509
|
-
getStreaming(): boolean;
|
|
510
|
-
setTools(tools: Tool[]): void;
|
|
511
|
-
getTools(): Tool[];
|
|
512
|
-
setReasoningEffort(effort: AnthropicReasoningEffortType): void;
|
|
513
|
-
getReasoningEffort(): AnthropicReasoningEffortType;
|
|
514
|
-
setStructuredOutput(format: StructuredOutputFormat | undefined): void;
|
|
515
|
-
getStructuredOutput(): StructuredOutputFormat | undefined;
|
|
516
|
-
hasStructuredOutput(): boolean;
|
|
228
|
+
declare class OutputTokenDetails {
|
|
229
|
+
readonly reasoning_tokens: number;
|
|
230
|
+
constructor(reasoning_tokens: number);
|
|
517
231
|
}
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
readonly
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
supportStreaming: boolean;
|
|
526
|
-
contextWindowSize: number;
|
|
527
|
-
maxOutputTokens: number;
|
|
528
|
-
supportFunctionCalling: boolean;
|
|
529
|
-
supportStructuredOutput: boolean;
|
|
530
|
-
};
|
|
531
|
-
private tools;
|
|
532
|
-
private streaming;
|
|
533
|
-
private structuredOutput;
|
|
534
|
-
setStreaming(streaming: boolean): void;
|
|
535
|
-
getStreaming(): boolean;
|
|
536
|
-
setTools(tools: Tool[]): void;
|
|
537
|
-
getTools(): Tool[];
|
|
538
|
-
private readonly effort;
|
|
539
|
-
setReasoningEffort(effort: AnthropicReasoningEffortType): void;
|
|
540
|
-
getReasoningEffort(): AnthropicReasoningEffortType;
|
|
541
|
-
setStructuredOutput(format: StructuredOutputFormat | undefined): void;
|
|
542
|
-
getStructuredOutput(): StructuredOutputFormat | undefined;
|
|
543
|
-
hasStructuredOutput(): boolean;
|
|
232
|
+
declare class TokenUsage {
|
|
233
|
+
readonly inputTokens: number;
|
|
234
|
+
readonly outputTokens: number;
|
|
235
|
+
readonly totalTokens: number;
|
|
236
|
+
readonly inputTokenDetails: InputTokenDetails;
|
|
237
|
+
readonly outputTokenDetails: OutputTokenDetails;
|
|
238
|
+
constructor(inputTokens: number, outputTokens: number, totalTokens: number, inputTokenDetails: InputTokenDetails, outputTokenDetails: OutputTokenDetails);
|
|
544
239
|
}
|
|
545
240
|
|
|
546
|
-
declare class
|
|
547
|
-
readonly
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
supportReasoningEffort: boolean;
|
|
551
|
-
defaultReasoningEffort: AnthropicReasoningEffortType;
|
|
552
|
-
supportStreaming: boolean;
|
|
553
|
-
contextWindowSize: number;
|
|
554
|
-
maxOutputTokens: number;
|
|
555
|
-
supportFunctionCalling: boolean;
|
|
556
|
-
supportStructuredOutput: boolean;
|
|
557
|
-
};
|
|
558
|
-
private tools;
|
|
559
|
-
private streaming;
|
|
560
|
-
private structuredOutput;
|
|
561
|
-
private readonly effort;
|
|
562
|
-
setStreaming(streaming: boolean): void;
|
|
563
|
-
getStreaming(): boolean;
|
|
564
|
-
setTools(tools: Tool[]): void;
|
|
565
|
-
getTools(): Tool[];
|
|
566
|
-
setReasoningEffort(effort: AnthropicReasoningEffortType): void;
|
|
567
|
-
getReasoningEffort(): AnthropicReasoningEffortType;
|
|
568
|
-
setStructuredOutput(format: StructuredOutputFormat | undefined): void;
|
|
569
|
-
getStructuredOutput(): StructuredOutputFormat | undefined;
|
|
570
|
-
hasStructuredOutput(): boolean;
|
|
241
|
+
declare class InferenceResponse {
|
|
242
|
+
readonly contextItems: ContextItem[];
|
|
243
|
+
readonly tokenUsage?: TokenUsage;
|
|
244
|
+
constructor(contextItems: ContextItem[], tokenUsage: TokenUsage | undefined);
|
|
571
245
|
}
|
|
572
246
|
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
* mode and is forwarded as the `reasoning_effort` request parameter.
|
|
577
|
-
*/
|
|
578
|
-
type DeepSeekReasoningEffortType = "max" | "high" | "medium" | "low" | "none";
|
|
579
|
-
|
|
580
|
-
declare class DeepSeekV4Flash implements GenerativeModel {
|
|
581
|
-
readonly specification: {
|
|
582
|
-
name: string;
|
|
583
|
-
provider: string;
|
|
584
|
-
supportReasoningEffort: boolean;
|
|
585
|
-
defaultReasoningEffort: DeepSeekReasoningEffortType;
|
|
586
|
-
supportStreaming: boolean;
|
|
587
|
-
contextWindowSize: number;
|
|
588
|
-
maxOutputTokens: number;
|
|
589
|
-
supportFunctionCalling: boolean;
|
|
590
|
-
supportStructuredOutput: boolean;
|
|
591
|
-
};
|
|
592
|
-
private tools;
|
|
593
|
-
private streaming;
|
|
594
|
-
private structuredOutput;
|
|
595
|
-
private readonly effort;
|
|
596
|
-
setStreaming(streaming: boolean): void;
|
|
597
|
-
getStreaming(): boolean;
|
|
598
|
-
setTools(tools: Tool[]): void;
|
|
599
|
-
getTools(): Tool[];
|
|
600
|
-
setReasoningEffort(effort: DeepSeekReasoningEffortType): void;
|
|
601
|
-
getReasoningEffort(): DeepSeekReasoningEffortType;
|
|
602
|
-
setStructuredOutput(format: StructuredOutputFormat | undefined): void;
|
|
603
|
-
getStructuredOutput(): StructuredOutputFormat | undefined;
|
|
604
|
-
hasStructuredOutput(): boolean;
|
|
247
|
+
interface InferenceEndpointMapper {
|
|
248
|
+
toRequest(inferenceParams: InferenceParams<ModelName>): any;
|
|
249
|
+
toResponse(response: any): InferenceResponse;
|
|
605
250
|
}
|
|
606
251
|
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
supportReasoningEffort: boolean;
|
|
612
|
-
defaultReasoningEffort: DeepSeekReasoningEffortType;
|
|
613
|
-
supportStreaming: boolean;
|
|
614
|
-
contextWindowSize: number;
|
|
615
|
-
maxOutputTokens: number;
|
|
616
|
-
supportFunctionCalling: boolean;
|
|
617
|
-
supportStructuredOutput: boolean;
|
|
618
|
-
};
|
|
619
|
-
private tools;
|
|
620
|
-
private streaming;
|
|
621
|
-
private structuredOutput;
|
|
622
|
-
private readonly effort;
|
|
623
|
-
setStreaming(streaming: boolean): void;
|
|
624
|
-
getStreaming(): boolean;
|
|
625
|
-
setTools(tools: Tool[]): void;
|
|
626
|
-
getTools(): Tool[];
|
|
627
|
-
setReasoningEffort(effort: DeepSeekReasoningEffortType): void;
|
|
628
|
-
getReasoningEffort(): DeepSeekReasoningEffortType;
|
|
629
|
-
setStructuredOutput(format: StructuredOutputFormat | undefined): void;
|
|
630
|
-
getStructuredOutput(): StructuredOutputFormat | undefined;
|
|
631
|
-
hasStructuredOutput(): boolean;
|
|
252
|
+
interface Endpoint {
|
|
253
|
+
endpointMapper: InferenceEndpointMapper;
|
|
254
|
+
infer(requestParams: InferenceParams<ModelName>): Promise<InferenceResponse>;
|
|
255
|
+
stream(requestParams: InferenceParams<ModelName>, signal?: AbortSignal): AsyncIterable<SemanticEvent<unknown>>;
|
|
632
256
|
}
|
|
633
257
|
|
|
634
|
-
|
|
635
|
-
* Native Gemini adapter on the `@google/genai` SDK (`generateContent` /
|
|
636
|
-
* `generateContentStream`). Unlike an OpenAI-compat shim this maps our
|
|
637
|
-
* domain context to Gemini's native `contents`/`parts` shape, system
|
|
638
|
-
* instruction, `functionDeclarations`, and `thinkingConfig`, and reads
|
|
639
|
-
* thought parts + native usage metadata back out. Another `ModelRuntime`
|
|
640
|
-
* — no runner or port changes.
|
|
641
|
-
*/
|
|
642
|
-
declare class GeminiGenerateContent implements Endpoint {
|
|
643
|
-
private readonly client;
|
|
644
|
-
constructor();
|
|
645
|
-
infer(inferenceRequest: InferenceRequest): Promise<InferenceResponse>;
|
|
646
|
-
stream(inferenceRequest: InferenceRequest, signal?: AbortSignal): AsyncIterable<SemanticEvent<unknown>>;
|
|
647
|
-
private buildRequest;
|
|
648
|
-
extractTokenUsage(response: any): TokenUsage | undefined;
|
|
649
|
-
mapContextToRequest(context: ModelContext): {
|
|
650
|
-
contents: any[];
|
|
651
|
-
systemInstruction?: string;
|
|
652
|
-
};
|
|
653
|
-
extractContextItems(response: any): ContextItem[];
|
|
654
|
-
private parseResponse;
|
|
655
|
-
private addPart;
|
|
656
|
-
}
|
|
258
|
+
type ModelName = "gpt-5.4" | "gpt-5.4-mini" | "gpt-5.4-nano" | "gpt-5.5" | "claude-haiku-4-5" | "claude-sonnet-4-6" | "claude-opus-4-7" | "claude-opus-4-8" | "gemini-3.5-flash" | "gemini-3.1-pro-preview" | "deepseek-v4-flash" | "deepseek-v4-pro";
|
|
657
259
|
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
* lets the model use its default thinking level.
|
|
664
|
-
*/
|
|
665
|
-
type GeminiReasoningEffortType = "high" | "medium" | "low" | "minimal" | "none";
|
|
260
|
+
type StructuredOutputFormat = {
|
|
261
|
+
name?: string;
|
|
262
|
+
schema: Record<string, any>;
|
|
263
|
+
strict?: boolean;
|
|
264
|
+
};
|
|
666
265
|
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
supportReasoningEffort: boolean;
|
|
672
|
-
defaultReasoningEffort: GeminiReasoningEffortType;
|
|
673
|
-
supportStreaming: boolean;
|
|
674
|
-
contextWindowSize: number;
|
|
675
|
-
maxOutputTokens: number;
|
|
676
|
-
supportFunctionCalling: boolean;
|
|
677
|
-
supportStructuredOutput: boolean;
|
|
678
|
-
};
|
|
679
|
-
private tools;
|
|
680
|
-
private streaming;
|
|
681
|
-
private structuredOutput;
|
|
682
|
-
private readonly effort;
|
|
683
|
-
setStreaming(streaming: boolean): void;
|
|
684
|
-
getStreaming(): boolean;
|
|
685
|
-
setTools(tools: Tool[]): void;
|
|
686
|
-
getTools(): Tool[];
|
|
687
|
-
setReasoningEffort(effort: GeminiReasoningEffortType): void;
|
|
688
|
-
getReasoningEffort(): GeminiReasoningEffortType;
|
|
689
|
-
setStructuredOutput(format: StructuredOutputFormat | undefined): void;
|
|
690
|
-
getStructuredOutput(): StructuredOutputFormat | undefined;
|
|
691
|
-
hasStructuredOutput(): boolean;
|
|
266
|
+
interface ModelContextRepository {
|
|
267
|
+
save(context: ModelContext): Promise<void>;
|
|
268
|
+
get(id: string): Promise<ModelContext>;
|
|
269
|
+
getByProjectId(projectId: string): Promise<ModelContext[]>;
|
|
692
270
|
}
|
|
693
271
|
|
|
694
|
-
declare class
|
|
695
|
-
readonly
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
contextWindowSize: number;
|
|
702
|
-
maxOutputTokens: number;
|
|
703
|
-
supportFunctionCalling: boolean;
|
|
704
|
-
supportStructuredOutput: boolean;
|
|
705
|
-
};
|
|
706
|
-
private tools;
|
|
707
|
-
private streaming;
|
|
708
|
-
private structuredOutput;
|
|
709
|
-
private readonly effort;
|
|
710
|
-
setStreaming(streaming: boolean): void;
|
|
711
|
-
getStreaming(): boolean;
|
|
712
|
-
setTools(tools: Tool[]): void;
|
|
713
|
-
getTools(): Tool[];
|
|
714
|
-
setReasoningEffort(effort: GeminiReasoningEffortType): void;
|
|
715
|
-
getReasoningEffort(): GeminiReasoningEffortType;
|
|
716
|
-
setStructuredOutput(format: StructuredOutputFormat | undefined): void;
|
|
717
|
-
getStructuredOutput(): StructuredOutputFormat | undefined;
|
|
718
|
-
hasStructuredOutput(): boolean;
|
|
272
|
+
declare class InMemoryModelContextRepository implements ModelContextRepository {
|
|
273
|
+
private readonly store;
|
|
274
|
+
private readonly projectIndex;
|
|
275
|
+
save(context: ModelContext): Promise<void>;
|
|
276
|
+
get(id: string): Promise<ModelContext>;
|
|
277
|
+
getByProjectId(projectId: string): Promise<ModelContext[]>;
|
|
278
|
+
private clone;
|
|
719
279
|
}
|
|
720
280
|
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
apiKey?: string;
|
|
731
|
-
/**
|
|
732
|
-
* Extra request-body fields merged into every `chat.completions`
|
|
733
|
-
* call. This is how provider-specific quirks are handled **without
|
|
734
|
-
* a per-provider subclass in mozaik** — the consumer supplies the
|
|
735
|
-
* vendor-only fields (e.g. DeepSeek's `{ thinking: { type } }`,
|
|
736
|
-
* safety flags, routing hints). Standard fields the runtime already
|
|
737
|
-
* sets (`model`, `messages`, `tools`, `reasoning_effort`) take
|
|
738
|
-
* precedence and are not overwritten.
|
|
739
|
-
*/
|
|
740
|
-
extraBody?: Record<string, unknown>;
|
|
741
|
-
}
|
|
742
|
-
/**
|
|
743
|
-
* Generic adapter for any **OpenAI Chat Completions**-compatible
|
|
744
|
-
* endpoint — real OpenAI, DeepSeek, Xiaomi MiMo, OpenRouter, vLLM,
|
|
745
|
-
* Ollama, etc. It speaks `/chat/completions` (not the Responses API),
|
|
746
|
-
* which is the dialect third-party OpenAI-compatible providers expose.
|
|
747
|
-
*
|
|
748
|
-
* The base URL and credential are configurable; everything else (the
|
|
749
|
-
* `ModelContext` ⇄ chat-message conversion, tool-call round-trip, token
|
|
750
|
-
* usage extraction) is provider-agnostic. Provider-specific request
|
|
751
|
-
* shaping (e.g. DeepSeek's `thinking` field) is supplied by the
|
|
752
|
-
* consumer via {@link OpenAICompatibleConfig.extraBody} — mozaik stays
|
|
753
|
-
* generic and gains no per-provider subclasses.
|
|
754
|
-
*
|
|
755
|
-
* Was `DeepSeekChatCompletions`; generalized so consumers can point it
|
|
756
|
-
* at any OpenAI-compatible endpoint.
|
|
757
|
-
*/
|
|
758
|
-
declare class OpenAIChatCompletions implements Endpoint {
|
|
759
|
-
private readonly client;
|
|
760
|
-
private readonly extraBody;
|
|
761
|
-
constructor(config?: OpenAICompatibleConfig);
|
|
762
|
-
infer(inferenceRequest: InferenceRequest): Promise<InferenceResponse>;
|
|
763
|
-
stream(inferenceRequest: InferenceRequest, signal?: AbortSignal): AsyncIterable<SemanticEvent<unknown>>;
|
|
764
|
-
buildRequest(inferenceRequest: InferenceRequest): any;
|
|
765
|
-
extractTokenUsage(response: any): TokenUsage | undefined;
|
|
766
|
-
mapContextToRequest(context: ModelContext): any[];
|
|
767
|
-
extractContextItems(response: any): ContextItem[];
|
|
281
|
+
declare class SystemMessageItem extends ContextItem {
|
|
282
|
+
readonly type = "message";
|
|
283
|
+
readonly role = "system";
|
|
284
|
+
readonly content: InputText;
|
|
285
|
+
private constructor();
|
|
286
|
+
static create(text: string): SystemMessageItem;
|
|
287
|
+
static rehydrate(data: {
|
|
288
|
+
text: string;
|
|
289
|
+
}): SystemMessageItem;
|
|
768
290
|
}
|
|
769
291
|
|
|
770
|
-
type InferenceParams = {
|
|
771
|
-
model: string;
|
|
772
|
-
reasoningEffort?: string;
|
|
773
|
-
tools?: Tool[];
|
|
774
|
-
streaming?: boolean;
|
|
775
|
-
structuredOutput?: StructuredOutputFormat;
|
|
776
|
-
context: ModelContext;
|
|
777
|
-
caller: Participant;
|
|
778
|
-
environment: AgenticEnvironment;
|
|
779
|
-
signal?: AbortSignal;
|
|
780
|
-
};
|
|
781
|
-
|
|
782
292
|
declare class BaseParticipant extends Participant {
|
|
783
293
|
onFunctionCall(item: FunctionCallItem): void;
|
|
784
294
|
onExternalFunctionCall(source: Participant, item: FunctionCallItem): void;
|
|
@@ -799,8 +309,8 @@ declare class BaseParticipant extends Participant {
|
|
|
799
309
|
onParticipantError(source: Participant, error: AgenticError): void;
|
|
800
310
|
}
|
|
801
311
|
|
|
802
|
-
declare const runInference: (inferenceParams: InferenceParams) => void;
|
|
312
|
+
declare const runInference: (inferenceParams: InferenceParams<ModelName>) => void;
|
|
803
313
|
declare const executeFunctionCall: (environment: AgenticEnvironment, functionCallItem: FunctionCallItem, tool: Tool, caller: Participant) => void;
|
|
804
314
|
declare const sendMessage: (environment: AgenticEnvironment, message: string, caller: Participant) => void;
|
|
805
315
|
|
|
806
|
-
export { AgenticEnvironment, AgenticError,
|
|
316
|
+
export { AgenticEnvironment, AgenticError, BaseParticipant, ContextItem, DeveloperMessageItem, type Endpoint, FunctionCallItem, FunctionCallOutputItem, InMemoryModelContextRepository, type InferenceParams, InferenceResponse, InputTokenDetails, ModelContext, type ModelContextRepository, ModelMessageItem, type ModelName, OutputTokenDetails, Participant, ReasoningItem, SemanticEvent, type StructuredOutputFormat, SystemMessageItem, TokenUsage, type Tool, UserMessageItem, executeFunctionCall, runInference, sendMessage };
|