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