@dexto/core 1.6.1 → 1.6.3
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/dist/agent/DextoAgent.cjs +54 -0
- package/dist/agent/DextoAgent.d.ts +12 -1
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +54 -0
- package/dist/agent/agent-options.d.ts +6 -1
- package/dist/agent/agent-options.d.ts.map +1 -1
- package/dist/events/index.d.ts +9 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/llm/executor/provider-options.cjs +223 -28
- package/dist/llm/executor/provider-options.d.ts +3 -37
- package/dist/llm/executor/provider-options.d.ts.map +1 -1
- package/dist/llm/executor/provider-options.js +227 -27
- package/dist/llm/executor/stream-processor.cjs +54 -31
- package/dist/llm/executor/stream-processor.d.ts +9 -2
- package/dist/llm/executor/stream-processor.d.ts.map +1 -1
- package/dist/llm/executor/stream-processor.js +52 -29
- package/dist/llm/executor/turn-executor.cjs +63 -41
- package/dist/llm/executor/turn-executor.d.ts +2 -2
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +53 -31
- package/dist/llm/formatters/vercel.cjs +15 -3
- package/dist/llm/formatters/vercel.d.ts +1 -0
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +15 -3
- package/dist/llm/index.cjs +8 -0
- package/dist/llm/index.d.ts +2 -1
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +7 -0
- package/dist/llm/providers/local/schemas.d.ts +2 -2
- package/dist/llm/providers/openrouter-model-registry.cjs +66 -11
- package/dist/llm/providers/openrouter-model-registry.d.ts +26 -0
- package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -1
- package/dist/llm/providers/openrouter-model-registry.js +65 -11
- package/dist/{utils/user-info.cjs → llm/reasoning/anthropic-betas.cjs} +9 -8
- package/dist/llm/reasoning/anthropic-betas.d.ts +3 -0
- package/dist/llm/reasoning/anthropic-betas.d.ts.map +1 -0
- package/dist/llm/reasoning/anthropic-betas.js +7 -0
- package/dist/llm/reasoning/anthropic-thinking.cjs +79 -0
- package/dist/llm/reasoning/anthropic-thinking.d.ts +15 -0
- package/dist/llm/reasoning/anthropic-thinking.d.ts.map +1 -0
- package/dist/llm/reasoning/anthropic-thinking.js +52 -0
- package/dist/llm/reasoning/openai-reasoning-effort.cjs +86 -0
- package/dist/llm/reasoning/openai-reasoning-effort.d.ts +5 -0
- package/dist/llm/reasoning/openai-reasoning-effort.d.ts.map +1 -0
- package/dist/llm/reasoning/openai-reasoning-effort.js +61 -0
- package/dist/llm/reasoning/profile.cjs +113 -0
- package/dist/llm/reasoning/profile.d.ts +13 -0
- package/dist/llm/reasoning/profile.d.ts.map +1 -0
- package/dist/llm/reasoning/profile.js +92 -0
- package/dist/llm/reasoning/profiles/anthropic.cjs +61 -0
- package/dist/llm/reasoning/profiles/anthropic.d.ts +8 -0
- package/dist/llm/reasoning/profiles/anthropic.d.ts.map +1 -0
- package/dist/llm/reasoning/profiles/anthropic.js +45 -0
- package/dist/llm/reasoning/profiles/bedrock.cjs +54 -0
- package/dist/llm/reasoning/profiles/bedrock.d.ts +3 -0
- package/dist/llm/reasoning/profiles/bedrock.d.ts.map +1 -0
- package/dist/llm/reasoning/profiles/bedrock.js +36 -0
- package/dist/llm/reasoning/profiles/google.cjs +45 -0
- package/dist/llm/reasoning/profiles/google.d.ts +9 -0
- package/dist/llm/reasoning/profiles/google.d.ts.map +1 -0
- package/dist/llm/reasoning/profiles/google.js +21 -0
- package/dist/llm/reasoning/profiles/openai-compatible.cjs +39 -0
- package/dist/llm/reasoning/profiles/openai-compatible.d.ts +3 -0
- package/dist/llm/reasoning/profiles/openai-compatible.d.ts.map +1 -0
- package/dist/llm/reasoning/profiles/openai-compatible.js +16 -0
- package/dist/llm/reasoning/profiles/openai.cjs +41 -0
- package/dist/llm/reasoning/profiles/openai.d.ts +3 -0
- package/dist/llm/reasoning/profiles/openai.d.ts.map +1 -0
- package/dist/llm/reasoning/profiles/openai.js +18 -0
- package/dist/llm/reasoning/profiles/openrouter.cjs +83 -0
- package/dist/llm/reasoning/profiles/openrouter.d.ts +10 -0
- package/dist/llm/reasoning/profiles/openrouter.d.ts.map +1 -0
- package/dist/llm/reasoning/profiles/openrouter.js +59 -0
- package/dist/llm/reasoning/profiles/shared.cjs +80 -0
- package/dist/llm/reasoning/profiles/shared.d.ts +25 -0
- package/dist/llm/reasoning/profiles/shared.d.ts.map +1 -0
- package/dist/llm/reasoning/profiles/shared.js +53 -0
- package/dist/llm/reasoning/profiles/vertex.cjs +46 -0
- package/dist/llm/reasoning/profiles/vertex.d.ts +3 -0
- package/dist/llm/reasoning/profiles/vertex.d.ts.map +1 -0
- package/dist/llm/reasoning/profiles/vertex.js +23 -0
- package/dist/llm/registry/auto-update.cjs +18 -0
- package/dist/llm/registry/auto-update.d.ts.map +1 -1
- package/dist/llm/registry/auto-update.js +18 -0
- package/dist/llm/registry/index.cjs +126 -26
- package/dist/llm/registry/index.d.ts +48 -4
- package/dist/llm/registry/index.d.ts.map +1 -1
- package/dist/llm/registry/index.js +136 -28
- package/dist/llm/registry/models.generated.cjs +5198 -59
- package/dist/llm/registry/models.generated.d.ts +1893 -76
- package/dist/llm/registry/models.generated.d.ts.map +1 -1
- package/dist/llm/registry/models.generated.js +5196 -58
- package/dist/llm/registry/sync.cjs +72 -1
- package/dist/llm/registry/sync.d.ts +21 -1
- package/dist/llm/registry/sync.d.ts.map +1 -1
- package/dist/llm/registry/sync.js +72 -1
- package/dist/llm/resolver.cjs +13 -1
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +13 -1
- package/dist/llm/schemas.cjs +75 -14
- package/dist/llm/schemas.d.ts +80 -23
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +75 -14
- package/dist/llm/services/factory.cjs +55 -8
- package/dist/llm/services/factory.d.ts +1 -1
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +58 -8
- package/dist/llm/services/vercel.cjs +1 -1
- package/dist/llm/services/vercel.js +1 -1
- package/dist/llm/types.d.ts +9 -0
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/prompts/index.cjs +9 -0
- package/dist/prompts/index.d.ts +1 -0
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +10 -0
- package/dist/prompts/prompt-manager.cjs +2 -0
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +2 -0
- package/dist/prompts/providers/config-prompt-provider.cjs +11 -1
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.js +11 -1
- package/dist/prompts/schemas.cjs +2 -2
- package/dist/prompts/schemas.js +2 -2
- package/dist/prompts/types.d.ts +6 -2
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +1 -1
- package/dist/tools/tool-manager.cjs +88 -2
- package/dist/tools/tool-manager.d.ts +15 -1
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +88 -2
- package/dist/utils/service-initializer.d.ts +1 -0
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/package.json +7 -5
- package/dist/utils/schema-metadata.cjs +0 -235
- package/dist/utils/schema-metadata.d.ts +0 -82
- package/dist/utils/schema-metadata.d.ts.map +0 -1
- package/dist/utils/schema-metadata.js +0 -208
- package/dist/utils/user-info.d.ts +0 -2
- package/dist/utils/user-info.d.ts.map +0 -1
- package/dist/utils/user-info.js +0 -7
|
@@ -105,7 +105,7 @@ class StreamProcessor {
|
|
|
105
105
|
case "reasoning-delta":
|
|
106
106
|
this.reasoningText += event.text;
|
|
107
107
|
if (event.providerMetadata) {
|
|
108
|
-
this.
|
|
108
|
+
this.mergeReasoningMetadata(event.providerMetadata);
|
|
109
109
|
}
|
|
110
110
|
if (this.streaming) {
|
|
111
111
|
this.eventBus.emit("llm:chunk", {
|
|
@@ -262,10 +262,8 @@ class StreamProcessor {
|
|
|
262
262
|
this.logger.info("LLM response complete", {
|
|
263
263
|
finishReason: event.finishReason,
|
|
264
264
|
contentLength: this.accumulatedText.length,
|
|
265
|
-
content: this.accumulatedText,
|
|
266
265
|
...this.reasoningText && {
|
|
267
|
-
reasoningLength: this.reasoningText.length
|
|
268
|
-
reasoning: this.reasoningText
|
|
266
|
+
reasoningLength: this.reasoningText.length
|
|
269
267
|
},
|
|
270
268
|
usage,
|
|
271
269
|
provider: this.config.provider,
|
|
@@ -286,15 +284,8 @@ class StreamProcessor {
|
|
|
286
284
|
}
|
|
287
285
|
const hasContent = this.accumulatedText || this.reasoningText;
|
|
288
286
|
if (this.finishReason !== "tool-calls" || hasContent) {
|
|
289
|
-
this.
|
|
290
|
-
content: this.accumulatedText,
|
|
291
|
-
...this.reasoningText && { reasoning: this.reasoningText },
|
|
292
|
-
provider: this.config.provider,
|
|
293
|
-
model: this.config.model,
|
|
287
|
+
this.emitLLMResponse({
|
|
294
288
|
tokenUsage: usage,
|
|
295
|
-
...this.config.estimatedInputTokens !== void 0 && {
|
|
296
|
-
estimatedInputTokens: this.config.estimatedInputTokens
|
|
297
|
-
},
|
|
298
289
|
finishReason: this.finishReason
|
|
299
290
|
});
|
|
300
291
|
}
|
|
@@ -341,7 +332,7 @@ class StreamProcessor {
|
|
|
341
332
|
}
|
|
342
333
|
case "error": {
|
|
343
334
|
const err = event.error instanceof Error ? event.error : new Error(String(event.error));
|
|
344
|
-
this.logger.error(
|
|
335
|
+
this.logger.error("LLM error", { error: err });
|
|
345
336
|
this.eventBus.emit("llm:error", {
|
|
346
337
|
error: err
|
|
347
338
|
});
|
|
@@ -351,15 +342,8 @@ class StreamProcessor {
|
|
|
351
342
|
this.logger.debug("Stream aborted, emitting partial response");
|
|
352
343
|
this.finishReason = "cancelled";
|
|
353
344
|
await this.persistCancelledToolResults();
|
|
354
|
-
this.
|
|
355
|
-
content: this.accumulatedText,
|
|
356
|
-
...this.reasoningText && { reasoning: this.reasoningText },
|
|
357
|
-
provider: this.config.provider,
|
|
358
|
-
model: this.config.model,
|
|
345
|
+
this.emitLLMResponse({
|
|
359
346
|
tokenUsage: this.actualTokens,
|
|
360
|
-
...this.config.estimatedInputTokens !== void 0 && {
|
|
361
|
-
estimatedInputTokens: this.config.estimatedInputTokens
|
|
362
|
-
},
|
|
363
347
|
finishReason: "cancelled"
|
|
364
348
|
});
|
|
365
349
|
return {
|
|
@@ -375,15 +359,8 @@ class StreamProcessor {
|
|
|
375
359
|
this.logger.debug("Stream cancelled, emitting partial response");
|
|
376
360
|
this.finishReason = "cancelled";
|
|
377
361
|
await this.persistCancelledToolResults();
|
|
378
|
-
this.
|
|
379
|
-
content: this.accumulatedText,
|
|
380
|
-
...this.reasoningText && { reasoning: this.reasoningText },
|
|
381
|
-
provider: this.config.provider,
|
|
382
|
-
model: this.config.model,
|
|
362
|
+
this.emitLLMResponse({
|
|
383
363
|
tokenUsage: this.actualTokens,
|
|
384
|
-
...this.config.estimatedInputTokens !== void 0 && {
|
|
385
|
-
estimatedInputTokens: this.config.estimatedInputTokens
|
|
386
|
-
},
|
|
387
364
|
finishReason: "cancelled"
|
|
388
365
|
});
|
|
389
366
|
return {
|
|
@@ -441,6 +418,52 @@ class StreamProcessor {
|
|
|
441
418
|
}
|
|
442
419
|
return metadata;
|
|
443
420
|
}
|
|
421
|
+
getReasoningResponseFields() {
|
|
422
|
+
return {
|
|
423
|
+
...this.config.reasoningVariant !== void 0 && {
|
|
424
|
+
reasoningVariant: this.config.reasoningVariant
|
|
425
|
+
},
|
|
426
|
+
...this.config.reasoningBudgetTokens !== void 0 && {
|
|
427
|
+
reasoningBudgetTokens: this.config.reasoningBudgetTokens
|
|
428
|
+
}
|
|
429
|
+
};
|
|
430
|
+
}
|
|
431
|
+
emitLLMResponse(config) {
|
|
432
|
+
this.eventBus.emit("llm:response", {
|
|
433
|
+
content: this.accumulatedText,
|
|
434
|
+
...this.reasoningText && { reasoning: this.reasoningText },
|
|
435
|
+
provider: this.config.provider,
|
|
436
|
+
model: this.config.model,
|
|
437
|
+
...this.getReasoningResponseFields(),
|
|
438
|
+
tokenUsage: config.tokenUsage,
|
|
439
|
+
...this.config.estimatedInputTokens !== void 0 && {
|
|
440
|
+
estimatedInputTokens: this.config.estimatedInputTokens
|
|
441
|
+
},
|
|
442
|
+
finishReason: config.finishReason
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
mergeReasoningMetadata(providerMetadata) {
|
|
446
|
+
if (!this.reasoningMetadata) {
|
|
447
|
+
this.reasoningMetadata = providerMetadata;
|
|
448
|
+
return;
|
|
449
|
+
}
|
|
450
|
+
const isRecord = (value) => !!value && typeof value === "object" && !Array.isArray(value);
|
|
451
|
+
const previous = this.reasoningMetadata;
|
|
452
|
+
const merged = { ...previous, ...providerMetadata };
|
|
453
|
+
const previousOpenRouter = previous["openrouter"];
|
|
454
|
+
const nextOpenRouter = providerMetadata["openrouter"];
|
|
455
|
+
if (isRecord(previousOpenRouter) && isRecord(nextOpenRouter)) {
|
|
456
|
+
const previousDetails = previousOpenRouter["reasoning_details"];
|
|
457
|
+
const nextDetails = nextOpenRouter["reasoning_details"];
|
|
458
|
+
const combinedDetails = Array.isArray(previousDetails) && Array.isArray(nextDetails) ? [...previousDetails, ...nextDetails] : Array.isArray(nextDetails) ? nextDetails : Array.isArray(previousDetails) ? previousDetails : void 0;
|
|
459
|
+
merged["openrouter"] = {
|
|
460
|
+
...previousOpenRouter,
|
|
461
|
+
...nextOpenRouter,
|
|
462
|
+
...combinedDetails ? { reasoning_details: combinedDetails } : {}
|
|
463
|
+
};
|
|
464
|
+
}
|
|
465
|
+
this.reasoningMetadata = merged;
|
|
466
|
+
}
|
|
444
467
|
async createAssistantMessage() {
|
|
445
468
|
await this.contextManager.addAssistantMessage("", [], {});
|
|
446
469
|
return this.getLastMessageId();
|
|
@@ -80,10 +80,10 @@ var import_ai = require("ai");
|
|
|
80
80
|
var import_api = require("@opentelemetry/api");
|
|
81
81
|
var import_stream_processor = require("./stream-processor.js");
|
|
82
82
|
var import_provider_options = require("./provider-options.js");
|
|
83
|
-
var
|
|
83
|
+
var import_types3 = require("../../logger/v2/types.js");
|
|
84
84
|
var import_defer = require("../../utils/defer.js");
|
|
85
85
|
var import_DextoRuntimeError = require("../../errors/DextoRuntimeError.js");
|
|
86
|
-
var
|
|
86
|
+
var import_types5 = require("../../errors/types.js");
|
|
87
87
|
var import_error_codes = require("../error-codes.js");
|
|
88
88
|
var import_error_conversion = require("../../utils/error-conversion.js");
|
|
89
89
|
const toolSupportCache = /* @__PURE__ */ new Map();
|
|
@@ -101,7 +101,7 @@ class TurnExecutor {
|
|
|
101
101
|
this.messageQueue = messageQueue;
|
|
102
102
|
this.modelLimits = modelLimits;
|
|
103
103
|
this.externalSignal = externalSignal;
|
|
104
|
-
this.logger = logger.createChild(
|
|
104
|
+
this.logger = logger.createChild(import_types3.DextoLogComponent.EXECUTOR);
|
|
105
105
|
this.stepAbortController = new AbortController();
|
|
106
106
|
this.compactionStrategy = compactionStrategy;
|
|
107
107
|
}
|
|
@@ -121,11 +121,17 @@ class TurnExecutor {
|
|
|
121
121
|
* Get StreamProcessor config from TurnExecutor state.
|
|
122
122
|
* @param estimatedInputTokens Optional estimated input tokens for analytics
|
|
123
123
|
*/
|
|
124
|
-
getStreamProcessorConfig(estimatedInputTokens) {
|
|
124
|
+
getStreamProcessorConfig(estimatedInputTokens, reasoning) {
|
|
125
125
|
return {
|
|
126
126
|
provider: this.llmContext.provider,
|
|
127
127
|
model: this.llmContext.model,
|
|
128
|
-
...estimatedInputTokens !== void 0 && { estimatedInputTokens }
|
|
128
|
+
...estimatedInputTokens !== void 0 && { estimatedInputTokens },
|
|
129
|
+
...reasoning?.reasoningVariant !== void 0 && {
|
|
130
|
+
reasoningVariant: reasoning.reasoningVariant
|
|
131
|
+
},
|
|
132
|
+
...reasoning?.reasoningBudgetTokens !== void 0 && {
|
|
133
|
+
reasoningBudgetTokens: reasoning.reasoningBudgetTokens
|
|
134
|
+
}
|
|
129
135
|
};
|
|
130
136
|
}
|
|
131
137
|
/**
|
|
@@ -221,43 +227,59 @@ class TurnExecutor {
|
|
|
221
227
|
}
|
|
222
228
|
this.logger.debug(`Step ${stepCount}: Starting`);
|
|
223
229
|
const tools = supportsTools ? await this.createTools() : {};
|
|
230
|
+
const providerOptions = (0, import_provider_options.buildProviderOptions)({
|
|
231
|
+
provider: this.llmContext.provider,
|
|
232
|
+
model: this.llmContext.model,
|
|
233
|
+
reasoning: this.config.reasoning
|
|
234
|
+
});
|
|
235
|
+
this.logger.debug("LLM request options", {
|
|
236
|
+
provider: this.llmContext.provider,
|
|
237
|
+
model: this.llmContext.model,
|
|
238
|
+
requestedReasoning: {
|
|
239
|
+
variant: this.config.reasoning?.variant,
|
|
240
|
+
budgetTokens: this.config.reasoning?.budgetTokens
|
|
241
|
+
},
|
|
242
|
+
providerOptions
|
|
243
|
+
});
|
|
244
|
+
const reasoningVariant = this.config.reasoning?.variant;
|
|
245
|
+
const reasoningBudgetTokens = (0, import_provider_options.getEffectiveReasoningBudgetTokens)(providerOptions);
|
|
246
|
+
const reasoningForStream = reasoningVariant !== void 0 || reasoningBudgetTokens !== void 0 ? {
|
|
247
|
+
...reasoningVariant !== void 0 && { reasoningVariant },
|
|
248
|
+
...reasoningBudgetTokens !== void 0 && { reasoningBudgetTokens }
|
|
249
|
+
} : void 0;
|
|
224
250
|
const streamProcessor = new import_stream_processor.StreamProcessor(
|
|
225
251
|
this.contextManager,
|
|
226
252
|
this.eventBus,
|
|
227
253
|
this.resourceManager,
|
|
228
254
|
this.stepAbortController.signal,
|
|
229
|
-
this.getStreamProcessorConfig(estimatedTokens),
|
|
255
|
+
this.getStreamProcessorConfig(estimatedTokens, reasoningForStream),
|
|
230
256
|
this.logger,
|
|
231
257
|
streaming,
|
|
232
258
|
this.toolCallMetadata
|
|
233
259
|
);
|
|
234
|
-
const
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
this.logger.error("Stream error", { error });
|
|
258
|
-
}
|
|
259
|
-
};
|
|
260
|
-
const result = await streamProcessor.process(() => (0, import_ai.streamText)(streamOptions));
|
|
260
|
+
const result = await streamProcessor.process(
|
|
261
|
+
() => (0, import_ai.streamText)({
|
|
262
|
+
model: this.model,
|
|
263
|
+
stopWhen: (0, import_ai.stepCountIs)(1),
|
|
264
|
+
tools,
|
|
265
|
+
abortSignal: this.stepAbortController.signal,
|
|
266
|
+
messages: prepared.formattedMessages,
|
|
267
|
+
...this.config.maxOutputTokens !== void 0 && {
|
|
268
|
+
maxOutputTokens: this.config.maxOutputTokens
|
|
269
|
+
},
|
|
270
|
+
...this.config.temperature !== void 0 && {
|
|
271
|
+
temperature: this.config.temperature
|
|
272
|
+
},
|
|
273
|
+
// Provider-specific options (caching, reasoning, etc.)
|
|
274
|
+
...providerOptions !== void 0 && {
|
|
275
|
+
providerOptions
|
|
276
|
+
},
|
|
277
|
+
// Log stream-level errors (tool errors, API errors during streaming)
|
|
278
|
+
onError: (error) => {
|
|
279
|
+
this.logger.error("Stream error", { error });
|
|
280
|
+
}
|
|
281
|
+
})
|
|
282
|
+
);
|
|
261
283
|
lastStepTokens = result.usage;
|
|
262
284
|
lastFinishReason = result.finishReason;
|
|
263
285
|
lastText = result.text;
|
|
@@ -868,8 +890,8 @@ class TurnExecutor {
|
|
|
868
890
|
}
|
|
869
891
|
return new import_DextoRuntimeError.DextoRuntimeError(
|
|
870
892
|
import_error_codes.LLMErrorCode.INSUFFICIENT_CREDITS,
|
|
871
|
-
|
|
872
|
-
|
|
893
|
+
import_types5.ErrorScope.LLM,
|
|
894
|
+
import_types5.ErrorType.PAYMENT_REQUIRED,
|
|
873
895
|
`Insufficient Dexto credits${balance !== void 0 ? `. Balance: $${balance.toFixed(2)}` : ""}`,
|
|
874
896
|
{
|
|
875
897
|
sessionId: this.sessionId,
|
|
@@ -885,8 +907,8 @@ class TurnExecutor {
|
|
|
885
907
|
if (status === 429) {
|
|
886
908
|
return new import_DextoRuntimeError.DextoRuntimeError(
|
|
887
909
|
import_error_codes.LLMErrorCode.RATE_LIMIT_EXCEEDED,
|
|
888
|
-
|
|
889
|
-
|
|
910
|
+
import_types5.ErrorScope.LLM,
|
|
911
|
+
import_types5.ErrorType.RATE_LIMIT,
|
|
890
912
|
`Rate limit exceeded${body ? ` - ${body}` : ""}`,
|
|
891
913
|
{
|
|
892
914
|
sessionId: this.sessionId,
|
|
@@ -901,8 +923,8 @@ class TurnExecutor {
|
|
|
901
923
|
if (status === 408) {
|
|
902
924
|
return new import_DextoRuntimeError.DextoRuntimeError(
|
|
903
925
|
import_error_codes.LLMErrorCode.GENERATION_FAILED,
|
|
904
|
-
|
|
905
|
-
|
|
926
|
+
import_types5.ErrorScope.LLM,
|
|
927
|
+
import_types5.ErrorType.TIMEOUT,
|
|
906
928
|
`Provider timed out${body ? ` - ${body}` : ""}`,
|
|
907
929
|
{
|
|
908
930
|
sessionId: this.sessionId,
|
|
@@ -915,8 +937,8 @@ class TurnExecutor {
|
|
|
915
937
|
}
|
|
916
938
|
return new import_DextoRuntimeError.DextoRuntimeError(
|
|
917
939
|
import_error_codes.LLMErrorCode.GENERATION_FAILED,
|
|
918
|
-
|
|
919
|
-
|
|
940
|
+
import_types5.ErrorScope.LLM,
|
|
941
|
+
import_types5.ErrorType.THIRD_PARTY,
|
|
920
942
|
`Provider error ${status}${body ? ` - ${body}` : ""}`,
|
|
921
943
|
{
|
|
922
944
|
sessionId: this.sessionId,
|
|
@@ -2,11 +2,11 @@ import { LanguageModel, type ModelMessage } from 'ai';
|
|
|
2
2
|
import { ContextManager } from '../../context/manager.js';
|
|
3
3
|
import { ToolManager } from '../../tools/tool-manager.js';
|
|
4
4
|
import { ExecutorResult } from './types.js';
|
|
5
|
+
import type { LLMReasoningConfig, LLMContext } from '../types.js';
|
|
5
6
|
import type { Logger } from '../../logger/v2/types.js';
|
|
6
7
|
import type { SessionEventBus } from '../../events/index.js';
|
|
7
8
|
import type { ResourceManager } from '../../resources/index.js';
|
|
8
9
|
import { DynamicContributorContext } from '../../systemPrompt/types.js';
|
|
9
|
-
import { LLMContext } from '../types.js';
|
|
10
10
|
import type { MessageQueueService } from '../../session/message-queue.js';
|
|
11
11
|
import type { CompactionStrategy } from '../../context/compaction/types.js';
|
|
12
12
|
import type { ModelLimits } from '../../context/compaction/overflow.js';
|
|
@@ -51,7 +51,7 @@ export declare class TurnExecutor {
|
|
|
51
51
|
maxOutputTokens?: number | undefined;
|
|
52
52
|
temperature?: number | undefined;
|
|
53
53
|
baseURL?: string | undefined;
|
|
54
|
-
|
|
54
|
+
reasoning?: LLMReasoningConfig | undefined;
|
|
55
55
|
}, llmContext: LLMContext, logger: Logger, messageQueue: MessageQueueService, modelLimits?: ModelLimits | undefined, externalSignal?: AbortSignal | undefined, compactionStrategy?: CompactionStrategy | null);
|
|
56
56
|
/**
|
|
57
57
|
* Get StreamProcessor config from TurnExecutor state.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-executor.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/turn-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAMb,KAAK,YAAY,EAEpB,MAAM,IAAI,CAAC;AAEZ,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"turn-executor.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/turn-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAMb,KAAK,YAAY,EAEpB,MAAM,IAAI,CAAC;AAEZ,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAER,kBAAkB,EAClB,UAAU,EAGb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAQ1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAcxE;;;;;;;;;;;GAWG;AACH,qBAAa,YAAY;IAsBjB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,UAAU;IAElB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,cAAc,CAAC;IAvC3B,OAAO,CAAC,MAAM,CAAS;IACvB;;;OAGG;IACH,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,kBAAkB,CAAmC;IAC7D;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAOpB;gBAGQ,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC,EAC5C,QAAQ,EAAE,eAAe,EACzB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAE7B,SAAS,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;KAC9C,EACO,UAAU,EAAE,UAAU,EAC9B,MAAM,EAAE,MAAM,EACN,YAAY,EAAE,mBAAmB,EACjC,WAAW,CAAC,EAAE,WAAW,YAAA,EACzB,cAAc,CAAC,EAAE,WAAW,YAAA,EACpC,kBAAkB,GAAE,kBAAkB,GAAG,IAAW;IAcxD;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAiBhC;;;;;;OAMG;IACG,OAAO,CACT,kBAAkB,EAAE,yBAAyB,EAC7C,SAAS,GAAE,OAAc,GAC1B,OAAO,CAAC,cAAc,CAAC;IAsV1B;;;OAGG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;YACW,oBAAoB;IAmBlC;;;;;;OAMG;YACW,mBAAmB;IA0EjC;;;;;;;OAOG;YACW,WAAW;IAgIzB;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAuF9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAU;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAU;IAE/C;;;;;;;;;;;OAWG;YACW,mBAAmB;IAkDjC;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;;OAGG;IACH,OAAO,CAAC,OAAO;IAYf;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAO/B;;;;;;;;;;;OAWG;YACW,cAAc;IAwF5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,qBAAqB;IAK7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAyF3B"}
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "ai";
|
|
12
12
|
import { trace } from "@opentelemetry/api";
|
|
13
13
|
import { StreamProcessor } from "./stream-processor.js";
|
|
14
|
-
import { buildProviderOptions } from "./provider-options.js";
|
|
14
|
+
import { buildProviderOptions, getEffectiveReasoningBudgetTokens } from "./provider-options.js";
|
|
15
15
|
import { DextoLogComponent } from "../../logger/v2/types.js";
|
|
16
16
|
import { defer } from "../../utils/defer.js";
|
|
17
17
|
import { DextoRuntimeError } from "../../errors/DextoRuntimeError.js";
|
|
@@ -53,11 +53,17 @@ class TurnExecutor {
|
|
|
53
53
|
* Get StreamProcessor config from TurnExecutor state.
|
|
54
54
|
* @param estimatedInputTokens Optional estimated input tokens for analytics
|
|
55
55
|
*/
|
|
56
|
-
getStreamProcessorConfig(estimatedInputTokens) {
|
|
56
|
+
getStreamProcessorConfig(estimatedInputTokens, reasoning) {
|
|
57
57
|
return {
|
|
58
58
|
provider: this.llmContext.provider,
|
|
59
59
|
model: this.llmContext.model,
|
|
60
|
-
...estimatedInputTokens !== void 0 && { estimatedInputTokens }
|
|
60
|
+
...estimatedInputTokens !== void 0 && { estimatedInputTokens },
|
|
61
|
+
...reasoning?.reasoningVariant !== void 0 && {
|
|
62
|
+
reasoningVariant: reasoning.reasoningVariant
|
|
63
|
+
},
|
|
64
|
+
...reasoning?.reasoningBudgetTokens !== void 0 && {
|
|
65
|
+
reasoningBudgetTokens: reasoning.reasoningBudgetTokens
|
|
66
|
+
}
|
|
61
67
|
};
|
|
62
68
|
}
|
|
63
69
|
/**
|
|
@@ -153,43 +159,59 @@ class TurnExecutor {
|
|
|
153
159
|
}
|
|
154
160
|
this.logger.debug(`Step ${stepCount}: Starting`);
|
|
155
161
|
const tools = supportsTools ? await this.createTools() : {};
|
|
162
|
+
const providerOptions = buildProviderOptions({
|
|
163
|
+
provider: this.llmContext.provider,
|
|
164
|
+
model: this.llmContext.model,
|
|
165
|
+
reasoning: this.config.reasoning
|
|
166
|
+
});
|
|
167
|
+
this.logger.debug("LLM request options", {
|
|
168
|
+
provider: this.llmContext.provider,
|
|
169
|
+
model: this.llmContext.model,
|
|
170
|
+
requestedReasoning: {
|
|
171
|
+
variant: this.config.reasoning?.variant,
|
|
172
|
+
budgetTokens: this.config.reasoning?.budgetTokens
|
|
173
|
+
},
|
|
174
|
+
providerOptions
|
|
175
|
+
});
|
|
176
|
+
const reasoningVariant = this.config.reasoning?.variant;
|
|
177
|
+
const reasoningBudgetTokens = getEffectiveReasoningBudgetTokens(providerOptions);
|
|
178
|
+
const reasoningForStream = reasoningVariant !== void 0 || reasoningBudgetTokens !== void 0 ? {
|
|
179
|
+
...reasoningVariant !== void 0 && { reasoningVariant },
|
|
180
|
+
...reasoningBudgetTokens !== void 0 && { reasoningBudgetTokens }
|
|
181
|
+
} : void 0;
|
|
156
182
|
const streamProcessor = new StreamProcessor(
|
|
157
183
|
this.contextManager,
|
|
158
184
|
this.eventBus,
|
|
159
185
|
this.resourceManager,
|
|
160
186
|
this.stepAbortController.signal,
|
|
161
|
-
this.getStreamProcessorConfig(estimatedTokens),
|
|
187
|
+
this.getStreamProcessorConfig(estimatedTokens, reasoningForStream),
|
|
162
188
|
this.logger,
|
|
163
189
|
streaming,
|
|
164
190
|
this.toolCallMetadata
|
|
165
191
|
);
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
this.logger.error("Stream error", { error });
|
|
190
|
-
}
|
|
191
|
-
};
|
|
192
|
-
const result = await streamProcessor.process(() => streamText(streamOptions));
|
|
192
|
+
const result = await streamProcessor.process(
|
|
193
|
+
() => streamText({
|
|
194
|
+
model: this.model,
|
|
195
|
+
stopWhen: stepCountIs(1),
|
|
196
|
+
tools,
|
|
197
|
+
abortSignal: this.stepAbortController.signal,
|
|
198
|
+
messages: prepared.formattedMessages,
|
|
199
|
+
...this.config.maxOutputTokens !== void 0 && {
|
|
200
|
+
maxOutputTokens: this.config.maxOutputTokens
|
|
201
|
+
},
|
|
202
|
+
...this.config.temperature !== void 0 && {
|
|
203
|
+
temperature: this.config.temperature
|
|
204
|
+
},
|
|
205
|
+
// Provider-specific options (caching, reasoning, etc.)
|
|
206
|
+
...providerOptions !== void 0 && {
|
|
207
|
+
providerOptions
|
|
208
|
+
},
|
|
209
|
+
// Log stream-level errors (tool errors, API errors during streaming)
|
|
210
|
+
onError: (error) => {
|
|
211
|
+
this.logger.error("Stream error", { error });
|
|
212
|
+
}
|
|
213
|
+
})
|
|
214
|
+
);
|
|
193
215
|
lastStepTokens = result.usage;
|
|
194
216
|
lastFinishReason = result.finishReason;
|
|
195
217
|
lastText = result.text;
|
|
@@ -113,7 +113,15 @@ class VercelMessageFormatter {
|
|
|
113
113
|
}
|
|
114
114
|
break;
|
|
115
115
|
case "assistant":
|
|
116
|
-
formatted.push({
|
|
116
|
+
formatted.push({
|
|
117
|
+
role: "assistant",
|
|
118
|
+
...this.formatAssistantMessage(msg, {
|
|
119
|
+
// OpenAI/OpenRouter reasoning items can require strict output-item replay.
|
|
120
|
+
// Keep those providers on "no reasoning replay" to avoid invalid_request errors.
|
|
121
|
+
// For other providers we continue to round-trip reasoning where available.
|
|
122
|
+
includeReasoning: this.shouldRoundTripReasoning(context)
|
|
123
|
+
})
|
|
124
|
+
});
|
|
117
125
|
if (msg.toolCalls && msg.toolCalls.length > 0) {
|
|
118
126
|
for (const toolCall of msg.toolCalls) {
|
|
119
127
|
pendingToolCalls.set(toolCall.id, toolCall.function.name);
|
|
@@ -166,10 +174,14 @@ class VercelMessageFormatter {
|
|
|
166
174
|
formatSystemPrompt() {
|
|
167
175
|
return null;
|
|
168
176
|
}
|
|
177
|
+
shouldRoundTripReasoning(context) {
|
|
178
|
+
return context.provider !== "openai" && context.provider !== "openai-compatible" && context.provider !== "openrouter" && context.provider !== "dexto-nova";
|
|
179
|
+
}
|
|
169
180
|
// Helper to format Assistant messages (with optional tool calls and reasoning)
|
|
170
|
-
formatAssistantMessage(msg) {
|
|
181
|
+
formatAssistantMessage(msg, config) {
|
|
171
182
|
const contentParts = [];
|
|
172
|
-
|
|
183
|
+
const includeReasoning = config?.includeReasoning ?? false;
|
|
184
|
+
if (includeReasoning && msg.reasoning) {
|
|
173
185
|
const reasoningPart = {
|
|
174
186
|
type: "reasoning",
|
|
175
187
|
text: msg.reasoning,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/formatters/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAiD,MAAM,IAAI,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAiC,MAAM,wBAAwB,CAAC;AAE7F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAmBvD;;;;;;;;;;GAUG;AACH,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAG1B;;;;;;OAMG;IACH,MAAM,CACF,OAAO,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,EACpC,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC5B,YAAY,EAAE;
|
|
1
|
+
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/formatters/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAiD,MAAM,IAAI,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAiC,MAAM,wBAAwB,CAAC;AAE7F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAmBvD;;;;;;;;;;GAUG;AACH,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAG1B;;;;;;OAMG;IACH,MAAM,CACF,OAAO,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,EACpC,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC5B,YAAY,EAAE;IA8JjB;;;;;;OAMG;IACH,kBAAkB,IAAI,IAAI;IAI1B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,sBAAsB;IAmG9B,OAAO,CAAC,iBAAiB;CAoE5B"}
|
|
@@ -91,7 +91,15 @@ class VercelMessageFormatter {
|
|
|
91
91
|
}
|
|
92
92
|
break;
|
|
93
93
|
case "assistant":
|
|
94
|
-
formatted.push({
|
|
94
|
+
formatted.push({
|
|
95
|
+
role: "assistant",
|
|
96
|
+
...this.formatAssistantMessage(msg, {
|
|
97
|
+
// OpenAI/OpenRouter reasoning items can require strict output-item replay.
|
|
98
|
+
// Keep those providers on "no reasoning replay" to avoid invalid_request errors.
|
|
99
|
+
// For other providers we continue to round-trip reasoning where available.
|
|
100
|
+
includeReasoning: this.shouldRoundTripReasoning(context)
|
|
101
|
+
})
|
|
102
|
+
});
|
|
95
103
|
if (msg.toolCalls && msg.toolCalls.length > 0) {
|
|
96
104
|
for (const toolCall of msg.toolCalls) {
|
|
97
105
|
pendingToolCalls.set(toolCall.id, toolCall.function.name);
|
|
@@ -144,10 +152,14 @@ class VercelMessageFormatter {
|
|
|
144
152
|
formatSystemPrompt() {
|
|
145
153
|
return null;
|
|
146
154
|
}
|
|
155
|
+
shouldRoundTripReasoning(context) {
|
|
156
|
+
return context.provider !== "openai" && context.provider !== "openai-compatible" && context.provider !== "openrouter" && context.provider !== "dexto-nova";
|
|
157
|
+
}
|
|
147
158
|
// Helper to format Assistant messages (with optional tool calls and reasoning)
|
|
148
|
-
formatAssistantMessage(msg) {
|
|
159
|
+
formatAssistantMessage(msg, config) {
|
|
149
160
|
const contentParts = [];
|
|
150
|
-
|
|
161
|
+
const includeReasoning = config?.includeReasoning ?? false;
|
|
162
|
+
if (includeReasoning && msg.reasoning) {
|
|
151
163
|
const reasoningPart = {
|
|
152
164
|
type: "reasoning",
|
|
153
165
|
text: msg.reasoning,
|
package/dist/llm/index.cjs
CHANGED
|
@@ -19,13 +19,16 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
|
|
|
19
19
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
20
|
var llm_exports = {};
|
|
21
21
|
__export(llm_exports, {
|
|
22
|
+
getCachedOpenRouterModelsWithInfo: () => import_openrouter_model_registry.getCachedOpenRouterModelsWithInfo,
|
|
22
23
|
getLlmRegistryAutoUpdateStatus: () => import_auto_update.getLlmRegistryAutoUpdateStatus,
|
|
24
|
+
getOpenRouterModelCacheInfo: () => import_openrouter_model_registry.getOpenRouterModelCacheInfo,
|
|
23
25
|
getOpenRouterModelContextLength: () => import_openrouter_model_registry.getOpenRouterModelContextLength,
|
|
24
26
|
getOpenRouterModelInfo: () => import_openrouter_model_registry.getOpenRouterModelInfo,
|
|
25
27
|
loadLlmRegistryCache: () => import_auto_update.loadLlmRegistryCache,
|
|
26
28
|
lookupOpenRouterModel: () => import_openrouter_model_registry.lookupOpenRouterModel,
|
|
27
29
|
refreshLlmRegistryCache: () => import_auto_update.refreshLlmRegistryCache,
|
|
28
30
|
refreshOpenRouterModelCache: () => import_openrouter_model_registry.refreshOpenRouterModelCache,
|
|
31
|
+
scheduleOpenRouterModelRefresh: () => import_openrouter_model_registry.scheduleOpenRouterModelRefresh,
|
|
29
32
|
startLlmRegistryAutoUpdate: () => import_auto_update.startLlmRegistryAutoUpdate
|
|
30
33
|
});
|
|
31
34
|
module.exports = __toCommonJS(llm_exports);
|
|
@@ -35,6 +38,7 @@ __reExport(llm_exports, require("./registry/index.js"), module.exports);
|
|
|
35
38
|
__reExport(llm_exports, require("./curation.js"), module.exports);
|
|
36
39
|
__reExport(llm_exports, require("./validation.js"), module.exports);
|
|
37
40
|
__reExport(llm_exports, require("./types.js"), module.exports);
|
|
41
|
+
__reExport(llm_exports, require("./reasoning/profile.js"), module.exports);
|
|
38
42
|
__reExport(llm_exports, require("./services/index.js"), module.exports);
|
|
39
43
|
__reExport(llm_exports, require("./schemas.js"), module.exports);
|
|
40
44
|
var import_openrouter_model_registry = require("./providers/openrouter-model-registry.js");
|
|
@@ -42,13 +46,16 @@ var import_auto_update = require("./registry/auto-update.js");
|
|
|
42
46
|
__reExport(llm_exports, require("./providers/local/index.js"), module.exports);
|
|
43
47
|
// Annotate the CommonJS export names for ESM import in node:
|
|
44
48
|
0 && (module.exports = {
|
|
49
|
+
getCachedOpenRouterModelsWithInfo,
|
|
45
50
|
getLlmRegistryAutoUpdateStatus,
|
|
51
|
+
getOpenRouterModelCacheInfo,
|
|
46
52
|
getOpenRouterModelContextLength,
|
|
47
53
|
getOpenRouterModelInfo,
|
|
48
54
|
loadLlmRegistryCache,
|
|
49
55
|
lookupOpenRouterModel,
|
|
50
56
|
refreshLlmRegistryCache,
|
|
51
57
|
refreshOpenRouterModelCache,
|
|
58
|
+
scheduleOpenRouterModelRefresh,
|
|
52
59
|
startLlmRegistryAutoUpdate,
|
|
53
60
|
...require("./errors.js"),
|
|
54
61
|
...require("./error-codes.js"),
|
|
@@ -56,6 +63,7 @@ __reExport(llm_exports, require("./providers/local/index.js"), module.exports);
|
|
|
56
63
|
...require("./curation.js"),
|
|
57
64
|
...require("./validation.js"),
|
|
58
65
|
...require("./types.js"),
|
|
66
|
+
...require("./reasoning/profile.js"),
|
|
59
67
|
...require("./services/index.js"),
|
|
60
68
|
...require("./schemas.js"),
|
|
61
69
|
...require("./providers/local/index.js")
|
package/dist/llm/index.d.ts
CHANGED
|
@@ -4,9 +4,10 @@ export * from './registry/index.js';
|
|
|
4
4
|
export * from './curation.js';
|
|
5
5
|
export * from './validation.js';
|
|
6
6
|
export * from './types.js';
|
|
7
|
+
export * from './reasoning/profile.js';
|
|
7
8
|
export * from './services/index.js';
|
|
8
9
|
export * from './schemas.js';
|
|
9
|
-
export { lookupOpenRouterModel, refreshOpenRouterModelCache, getOpenRouterModelContextLength, getOpenRouterModelInfo, type LookupStatus, type OpenRouterModelInfo, } from './providers/openrouter-model-registry.js';
|
|
10
|
+
export { getCachedOpenRouterModelsWithInfo, lookupOpenRouterModel, scheduleOpenRouterModelRefresh, refreshOpenRouterModelCache, getOpenRouterModelCacheInfo, getOpenRouterModelContextLength, getOpenRouterModelInfo, type LookupStatus, type OpenRouterModelInfo, } from './providers/openrouter-model-registry.js';
|
|
10
11
|
export { startLlmRegistryAutoUpdate, refreshLlmRegistryCache, loadLlmRegistryCache, getLlmRegistryAutoUpdateStatus, type LlmRegistryAutoUpdateStatus, } from './registry/auto-update.js';
|
|
11
12
|
export * from './providers/local/index.js';
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/llm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,OAAO,EACH,qBAAqB,EACrB,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,KAAK,YAAY,EACjB,KAAK,mBAAmB,GAC3B,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EACH,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,8BAA8B,EAC9B,KAAK,2BAA2B,GACnC,MAAM,2BAA2B,CAAC;AAGnC,cAAc,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,OAAO,EACH,iCAAiC,EACjC,qBAAqB,EACrB,8BAA8B,EAC9B,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,KAAK,YAAY,EACjB,KAAK,mBAAmB,GAC3B,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EACH,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,8BAA8B,EAC9B,KAAK,2BAA2B,GACnC,MAAM,2BAA2B,CAAC;AAGnC,cAAc,4BAA4B,CAAC"}
|
package/dist/llm/index.js
CHANGED
|
@@ -5,11 +5,15 @@ export * from "./registry/index.js";
|
|
|
5
5
|
export * from "./curation.js";
|
|
6
6
|
export * from "./validation.js";
|
|
7
7
|
export * from "./types.js";
|
|
8
|
+
export * from "./reasoning/profile.js";
|
|
8
9
|
export * from "./services/index.js";
|
|
9
10
|
export * from "./schemas.js";
|
|
10
11
|
import {
|
|
12
|
+
getCachedOpenRouterModelsWithInfo,
|
|
11
13
|
lookupOpenRouterModel,
|
|
14
|
+
scheduleOpenRouterModelRefresh,
|
|
12
15
|
refreshOpenRouterModelCache,
|
|
16
|
+
getOpenRouterModelCacheInfo,
|
|
13
17
|
getOpenRouterModelContextLength,
|
|
14
18
|
getOpenRouterModelInfo
|
|
15
19
|
} from "./providers/openrouter-model-registry.js";
|
|
@@ -21,12 +25,15 @@ import {
|
|
|
21
25
|
} from "./registry/auto-update.js";
|
|
22
26
|
export * from "./providers/local/index.js";
|
|
23
27
|
export {
|
|
28
|
+
getCachedOpenRouterModelsWithInfo,
|
|
24
29
|
getLlmRegistryAutoUpdateStatus,
|
|
30
|
+
getOpenRouterModelCacheInfo,
|
|
25
31
|
getOpenRouterModelContextLength,
|
|
26
32
|
getOpenRouterModelInfo,
|
|
27
33
|
loadLlmRegistryCache,
|
|
28
34
|
lookupOpenRouterModel,
|
|
29
35
|
refreshLlmRegistryCache,
|
|
30
36
|
refreshOpenRouterModelCache,
|
|
37
|
+
scheduleOpenRouterModelRefresh,
|
|
31
38
|
startLlmRegistryAutoUpdate
|
|
32
39
|
};
|