@theokit/sdk 4.14.0 → 4.14.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/CHANGELOG.md +6 -0
- package/dist/cron.cjs +77 -65
- package/dist/cron.cjs.map +1 -1
- package/dist/cron.js +77 -65
- package/dist/cron.js.map +1 -1
- package/dist/eval.cjs +77 -65
- package/dist/eval.cjs.map +1 -1
- package/dist/eval.js +77 -65
- package/dist/eval.js.map +1 -1
- package/dist/index.cjs +80 -65
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +80 -65
- package/dist/index.js.map +1 -1
- package/dist/internal/llm/openai.d.ts +28 -0
- package/dist/internal/providers/builtin/cohere.d.ts +3 -1
- package/dist/models.cjs +59 -54
- package/dist/models.cjs.map +1 -1
- package/dist/models.js +59 -54
- package/dist/models.js.map +1 -1
- package/dist/provider-catalog.json +143 -467
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -758,13 +758,13 @@ function setAgentFacade(facade) {
|
|
|
758
758
|
globalThis[FACADE_KEY] = facade;
|
|
759
759
|
}
|
|
760
760
|
function getAgentFacade() {
|
|
761
|
-
const
|
|
762
|
-
if (
|
|
761
|
+
const registered2 = globalThis[FACADE_KEY];
|
|
762
|
+
if (registered2 === void 0) {
|
|
763
763
|
throw new Error(
|
|
764
764
|
"internal: Agent facade not registered. The `agent.ts` module must be loaded before internal subsystems (LocalAgent.runUntil/fork, eval, scorers, cron) invoke it."
|
|
765
765
|
);
|
|
766
766
|
}
|
|
767
|
-
return
|
|
767
|
+
return registered2;
|
|
768
768
|
}
|
|
769
769
|
var FACADE_KEY;
|
|
770
770
|
var init_agent_factory_registry = __esm({
|
|
@@ -13247,6 +13247,9 @@ function getCatalogCapabilities(providerId) {
|
|
|
13247
13247
|
_capabilitiesCache = {};
|
|
13248
13248
|
for (const entry of Object.values(catalog)) {
|
|
13249
13249
|
_capabilitiesCache[entry.id] = entry.capabilities;
|
|
13250
|
+
for (const alias of entry.aliases ?? []) {
|
|
13251
|
+
if (_capabilitiesCache[alias] === void 0) _capabilitiesCache[alias] = entry.capabilities;
|
|
13252
|
+
}
|
|
13250
13253
|
}
|
|
13251
13254
|
}
|
|
13252
13255
|
return _capabilitiesCache[providerId];
|
|
@@ -14082,11 +14085,22 @@ var DEEPINFRA = openAiCompatibleProfile({
|
|
|
14082
14085
|
hostname: "api.deepinfra.com"
|
|
14083
14086
|
});
|
|
14084
14087
|
|
|
14088
|
+
// src/internal/providers/builtin/gemini.ts
|
|
14089
|
+
var GEMINI = {
|
|
14090
|
+
name: "gemini",
|
|
14091
|
+
apiMode: "chat_completions",
|
|
14092
|
+
envVars: ["OPENROUTER_API_KEY"],
|
|
14093
|
+
authType: "api_key",
|
|
14094
|
+
baseUrl: "https://openrouter.ai/api",
|
|
14095
|
+
hostname: "openrouter.ai",
|
|
14096
|
+
fallbackModels: ["google/gemini-2.0-flash-001"]
|
|
14097
|
+
};
|
|
14098
|
+
|
|
14085
14099
|
// src/internal/providers/builtin/google.ts
|
|
14086
14100
|
var GOOGLE = openAiCompatibleProfile({
|
|
14087
14101
|
name: "google",
|
|
14088
14102
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta/openai",
|
|
14089
|
-
envVars: ["GOOGLE_API_KEY", "GEMINI_API_KEY"],
|
|
14103
|
+
envVars: ["GOOGLE_API_KEY", "GEMINI_API_KEY", "GOOGLE_GENERATIVE_AI_API_KEY"],
|
|
14090
14104
|
fallbackModels: ["gemini-2.5-pro", "gemini-2.5-flash"],
|
|
14091
14105
|
hostname: "generativelanguage.googleapis.com"
|
|
14092
14106
|
});
|
|
@@ -14100,56 +14114,6 @@ var GROQ = openAiCompatibleProfile({
|
|
|
14100
14114
|
hostname: "api.groq.com"
|
|
14101
14115
|
});
|
|
14102
14116
|
|
|
14103
|
-
// src/internal/providers/builtin/mistral.ts
|
|
14104
|
-
var MISTRAL = openAiCompatibleProfile({
|
|
14105
|
-
name: "mistral",
|
|
14106
|
-
baseUrl: "https://api.mistral.ai/v1",
|
|
14107
|
-
envVars: ["MISTRAL_API_KEY"],
|
|
14108
|
-
fallbackModels: ["mistral-large-latest", "codestral-latest"],
|
|
14109
|
-
hostname: "api.mistral.ai"
|
|
14110
|
-
});
|
|
14111
|
-
|
|
14112
|
-
// src/internal/providers/builtin/perplexity.ts
|
|
14113
|
-
var PERPLEXITY = openAiCompatibleProfile({
|
|
14114
|
-
name: "perplexity",
|
|
14115
|
-
baseUrl: "https://api.perplexity.ai",
|
|
14116
|
-
chatCompletionsPath: "/chat/completions",
|
|
14117
|
-
envVars: ["PERPLEXITY_API_KEY"],
|
|
14118
|
-
fallbackModels: ["sonar-pro", "sonar"],
|
|
14119
|
-
hostname: "api.perplexity.ai"
|
|
14120
|
-
});
|
|
14121
|
-
|
|
14122
|
-
// src/internal/providers/builtin/together.ts
|
|
14123
|
-
var TOGETHER = openAiCompatibleProfile({
|
|
14124
|
-
name: "together",
|
|
14125
|
-
aliases: ["togetherai"],
|
|
14126
|
-
baseUrl: "https://api.together.xyz/v1",
|
|
14127
|
-
envVars: ["TOGETHER_API_KEY"],
|
|
14128
|
-
fallbackModels: ["Qwen/Qwen2.5-7B-Instruct-Turbo"],
|
|
14129
|
-
hostname: "api.together.xyz"
|
|
14130
|
-
});
|
|
14131
|
-
|
|
14132
|
-
// src/internal/providers/builtin/xai.ts
|
|
14133
|
-
var XAI = openAiCompatibleProfile({
|
|
14134
|
-
name: "xai",
|
|
14135
|
-
aliases: ["grok"],
|
|
14136
|
-
baseUrl: "https://api.x.ai/v1",
|
|
14137
|
-
envVars: ["XAI_API_KEY"],
|
|
14138
|
-
fallbackModels: ["grok-4.5", "grok-4.3"],
|
|
14139
|
-
hostname: "api.x.ai"
|
|
14140
|
-
});
|
|
14141
|
-
|
|
14142
|
-
// src/internal/providers/builtin/gemini.ts
|
|
14143
|
-
var GEMINI = {
|
|
14144
|
-
name: "gemini",
|
|
14145
|
-
apiMode: "chat_completions",
|
|
14146
|
-
envVars: ["OPENROUTER_API_KEY"],
|
|
14147
|
-
authType: "api_key",
|
|
14148
|
-
baseUrl: "https://openrouter.ai/api",
|
|
14149
|
-
hostname: "openrouter.ai",
|
|
14150
|
-
fallbackModels: ["google/gemini-2.0-flash-001"]
|
|
14151
|
-
};
|
|
14152
|
-
|
|
14153
14117
|
// src/internal/providers/builtin/llamacpp.ts
|
|
14154
14118
|
var LLAMACPP = {
|
|
14155
14119
|
name: "llamacpp",
|
|
@@ -14176,6 +14140,15 @@ var LMSTUDIO = {
|
|
|
14176
14140
|
fallbackModels: ["loaded-model"]
|
|
14177
14141
|
};
|
|
14178
14142
|
|
|
14143
|
+
// src/internal/providers/builtin/mistral.ts
|
|
14144
|
+
var MISTRAL = openAiCompatibleProfile({
|
|
14145
|
+
name: "mistral",
|
|
14146
|
+
baseUrl: "https://api.mistral.ai/v1",
|
|
14147
|
+
envVars: ["MISTRAL_API_KEY"],
|
|
14148
|
+
fallbackModels: ["mistral-large-latest", "codestral-latest"],
|
|
14149
|
+
hostname: "api.mistral.ai"
|
|
14150
|
+
});
|
|
14151
|
+
|
|
14179
14152
|
// src/internal/providers/builtin/ollama.ts
|
|
14180
14153
|
var OLLAMA = {
|
|
14181
14154
|
name: "ollama",
|
|
@@ -14570,6 +14543,26 @@ var OPENROUTER = {
|
|
|
14570
14543
|
extraHeaders: { "HTTP-Referer": "https://usetheo.dev", "X-Title": "theokit" }
|
|
14571
14544
|
};
|
|
14572
14545
|
|
|
14546
|
+
// src/internal/providers/builtin/perplexity.ts
|
|
14547
|
+
var PERPLEXITY = openAiCompatibleProfile({
|
|
14548
|
+
name: "perplexity",
|
|
14549
|
+
baseUrl: "https://api.perplexity.ai",
|
|
14550
|
+
chatCompletionsPath: "/chat/completions",
|
|
14551
|
+
envVars: ["PERPLEXITY_API_KEY"],
|
|
14552
|
+
fallbackModels: ["sonar-pro", "sonar"],
|
|
14553
|
+
hostname: "api.perplexity.ai"
|
|
14554
|
+
});
|
|
14555
|
+
|
|
14556
|
+
// src/internal/providers/builtin/together.ts
|
|
14557
|
+
var TOGETHER = openAiCompatibleProfile({
|
|
14558
|
+
name: "together",
|
|
14559
|
+
aliases: ["togetherai"],
|
|
14560
|
+
baseUrl: "https://api.together.xyz/v1",
|
|
14561
|
+
envVars: ["TOGETHER_API_KEY"],
|
|
14562
|
+
fallbackModels: ["Qwen/Qwen2.5-7B-Instruct-Turbo"],
|
|
14563
|
+
hostname: "api.together.xyz"
|
|
14564
|
+
});
|
|
14565
|
+
|
|
14573
14566
|
// src/internal/providers/builtin/vertex.ts
|
|
14574
14567
|
var VERTEX = {
|
|
14575
14568
|
name: "vertex",
|
|
@@ -14601,11 +14594,26 @@ function stripVertexPrefix(modelId) {
|
|
|
14601
14594
|
return modelId.replace(/^vertex\/(anthropic|google)\//, "");
|
|
14602
14595
|
}
|
|
14603
14596
|
|
|
14597
|
+
// src/internal/providers/builtin/xai.ts
|
|
14598
|
+
var XAI = openAiCompatibleProfile({
|
|
14599
|
+
name: "xai",
|
|
14600
|
+
aliases: ["grok"],
|
|
14601
|
+
baseUrl: "https://api.x.ai/v1",
|
|
14602
|
+
envVars: ["XAI_API_KEY"],
|
|
14603
|
+
fallbackModels: ["grok-4.5", "grok-4.3"],
|
|
14604
|
+
hostname: "api.x.ai"
|
|
14605
|
+
});
|
|
14606
|
+
|
|
14604
14607
|
// src/internal/providers/builtin/index.ts
|
|
14605
|
-
var
|
|
14608
|
+
var _registeredState = (() => {
|
|
14609
|
+
const g = globalThis;
|
|
14610
|
+
const sym = /* @__PURE__ */ Symbol.for("theokit-sdk.providers.builtins-registered");
|
|
14611
|
+
if (g[sym] === void 0) g[sym] = { done: false };
|
|
14612
|
+
return g[sym];
|
|
14613
|
+
})();
|
|
14606
14614
|
function registerBuiltins() {
|
|
14607
|
-
if (
|
|
14608
|
-
|
|
14615
|
+
if (_registeredState.done) return;
|
|
14616
|
+
_registeredState.done = true;
|
|
14609
14617
|
registerProvider(ANTHROPIC);
|
|
14610
14618
|
registerProvider(OPENAI);
|
|
14611
14619
|
registerProvider(OPENAI_CHATGPT);
|
|
@@ -15775,11 +15783,18 @@ var StreamSuppressionBuffer = class {
|
|
|
15775
15783
|
};
|
|
15776
15784
|
|
|
15777
15785
|
// src/internal/llm/openai.ts
|
|
15786
|
+
function deriveChatPath(baseUrl) {
|
|
15787
|
+
try {
|
|
15788
|
+
return /\/v\d+[a-z]*(\/|$)/.test(new URL(baseUrl).pathname) ? "/chat/completions" : "/v1/chat/completions";
|
|
15789
|
+
} catch {
|
|
15790
|
+
return "/v1/chat/completions";
|
|
15791
|
+
}
|
|
15792
|
+
}
|
|
15778
15793
|
var OpenAIClient = class {
|
|
15779
15794
|
constructor(options) {
|
|
15780
15795
|
this.options = options;
|
|
15781
|
-
this.baseUrl = options.baseUrl ?? "https://api.openai.com";
|
|
15782
|
-
this.chatPath = options.chatCompletionsPath ?? (
|
|
15796
|
+
this.baseUrl = (options.baseUrl ?? "https://api.openai.com").replace(/\/+$/, "");
|
|
15797
|
+
this.chatPath = options.chatCompletionsPath ?? deriveChatPath(this.baseUrl);
|
|
15783
15798
|
this.fetchImpl = options.fetch ?? fetch;
|
|
15784
15799
|
}
|
|
15785
15800
|
options;
|
|
@@ -17250,12 +17265,12 @@ function resolveMcpCwd(configCwd) {
|
|
|
17250
17265
|
|
|
17251
17266
|
// src/internal/providers/register-plugin-providers.ts
|
|
17252
17267
|
function registerPluginProviderProfiles(entries) {
|
|
17253
|
-
let
|
|
17268
|
+
let registered2 = 0;
|
|
17254
17269
|
for (const entry of entries) {
|
|
17255
17270
|
registerProvider(entry.profile);
|
|
17256
|
-
|
|
17271
|
+
registered2 += 1;
|
|
17257
17272
|
}
|
|
17258
|
-
return
|
|
17273
|
+
return registered2;
|
|
17259
17274
|
}
|
|
17260
17275
|
|
|
17261
17276
|
// src/internal/local-agent/real-local-run.ts
|
|
@@ -17580,12 +17595,12 @@ var pluginProvidersAnnounced = false;
|
|
|
17580
17595
|
function resolveRunProvider(options) {
|
|
17581
17596
|
registerBuiltins();
|
|
17582
17597
|
const profiles = options.pluginManager?.aggregated.providerProfiles ?? [];
|
|
17583
|
-
const
|
|
17584
|
-
if (
|
|
17598
|
+
const registered2 = registerPluginProviderProfiles(profiles);
|
|
17599
|
+
if (registered2 > 0 && !pluginProvidersAnnounced) {
|
|
17585
17600
|
pluginProvidersAnnounced = true;
|
|
17586
17601
|
const names = profiles.map((e) => e.profile.name).join(", ");
|
|
17587
17602
|
process.stderr.write(
|
|
17588
|
-
`[theokit-sdk] registered ${
|
|
17603
|
+
`[theokit-sdk] registered ${registered2} plugin provider profile(s): ${names}
|
|
17589
17604
|
`
|
|
17590
17605
|
);
|
|
17591
17606
|
}
|