@theokit/sdk 4.14.0 → 4.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -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/eval.cjs
CHANGED
|
@@ -751,13 +751,13 @@ function setAgentFacade(facade) {
|
|
|
751
751
|
globalThis[FACADE_KEY] = facade;
|
|
752
752
|
}
|
|
753
753
|
function getAgentFacade() {
|
|
754
|
-
const
|
|
755
|
-
if (
|
|
754
|
+
const registered2 = globalThis[FACADE_KEY];
|
|
755
|
+
if (registered2 === void 0) {
|
|
756
756
|
throw new Error(
|
|
757
757
|
"internal: Agent facade not registered. The `agent.ts` module must be loaded before internal subsystems (LocalAgent.runUntil/fork, eval, scorers, cron) invoke it."
|
|
758
758
|
);
|
|
759
759
|
}
|
|
760
|
-
return
|
|
760
|
+
return registered2;
|
|
761
761
|
}
|
|
762
762
|
var FACADE_KEY;
|
|
763
763
|
var init_agent_factory_registry = __esm({
|
|
@@ -11481,11 +11481,22 @@ var DEEPINFRA = openAiCompatibleProfile({
|
|
|
11481
11481
|
hostname: "api.deepinfra.com"
|
|
11482
11482
|
});
|
|
11483
11483
|
|
|
11484
|
+
// src/internal/providers/builtin/gemini.ts
|
|
11485
|
+
var GEMINI = {
|
|
11486
|
+
name: "gemini",
|
|
11487
|
+
apiMode: "chat_completions",
|
|
11488
|
+
envVars: ["OPENROUTER_API_KEY"],
|
|
11489
|
+
authType: "api_key",
|
|
11490
|
+
baseUrl: "https://openrouter.ai/api",
|
|
11491
|
+
hostname: "openrouter.ai",
|
|
11492
|
+
fallbackModels: ["google/gemini-2.0-flash-001"]
|
|
11493
|
+
};
|
|
11494
|
+
|
|
11484
11495
|
// src/internal/providers/builtin/google.ts
|
|
11485
11496
|
var GOOGLE = openAiCompatibleProfile({
|
|
11486
11497
|
name: "google",
|
|
11487
11498
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta/openai",
|
|
11488
|
-
envVars: ["GOOGLE_API_KEY", "GEMINI_API_KEY"],
|
|
11499
|
+
envVars: ["GOOGLE_API_KEY", "GEMINI_API_KEY", "GOOGLE_GENERATIVE_AI_API_KEY"],
|
|
11489
11500
|
fallbackModels: ["gemini-2.5-pro", "gemini-2.5-flash"],
|
|
11490
11501
|
hostname: "generativelanguage.googleapis.com"
|
|
11491
11502
|
});
|
|
@@ -11499,56 +11510,6 @@ var GROQ = openAiCompatibleProfile({
|
|
|
11499
11510
|
hostname: "api.groq.com"
|
|
11500
11511
|
});
|
|
11501
11512
|
|
|
11502
|
-
// src/internal/providers/builtin/mistral.ts
|
|
11503
|
-
var MISTRAL = openAiCompatibleProfile({
|
|
11504
|
-
name: "mistral",
|
|
11505
|
-
baseUrl: "https://api.mistral.ai/v1",
|
|
11506
|
-
envVars: ["MISTRAL_API_KEY"],
|
|
11507
|
-
fallbackModels: ["mistral-large-latest", "codestral-latest"],
|
|
11508
|
-
hostname: "api.mistral.ai"
|
|
11509
|
-
});
|
|
11510
|
-
|
|
11511
|
-
// src/internal/providers/builtin/perplexity.ts
|
|
11512
|
-
var PERPLEXITY = openAiCompatibleProfile({
|
|
11513
|
-
name: "perplexity",
|
|
11514
|
-
baseUrl: "https://api.perplexity.ai",
|
|
11515
|
-
chatCompletionsPath: "/chat/completions",
|
|
11516
|
-
envVars: ["PERPLEXITY_API_KEY"],
|
|
11517
|
-
fallbackModels: ["sonar-pro", "sonar"],
|
|
11518
|
-
hostname: "api.perplexity.ai"
|
|
11519
|
-
});
|
|
11520
|
-
|
|
11521
|
-
// src/internal/providers/builtin/together.ts
|
|
11522
|
-
var TOGETHER = openAiCompatibleProfile({
|
|
11523
|
-
name: "together",
|
|
11524
|
-
aliases: ["togetherai"],
|
|
11525
|
-
baseUrl: "https://api.together.xyz/v1",
|
|
11526
|
-
envVars: ["TOGETHER_API_KEY"],
|
|
11527
|
-
fallbackModels: ["Qwen/Qwen2.5-7B-Instruct-Turbo"],
|
|
11528
|
-
hostname: "api.together.xyz"
|
|
11529
|
-
});
|
|
11530
|
-
|
|
11531
|
-
// src/internal/providers/builtin/xai.ts
|
|
11532
|
-
var XAI = openAiCompatibleProfile({
|
|
11533
|
-
name: "xai",
|
|
11534
|
-
aliases: ["grok"],
|
|
11535
|
-
baseUrl: "https://api.x.ai/v1",
|
|
11536
|
-
envVars: ["XAI_API_KEY"],
|
|
11537
|
-
fallbackModels: ["grok-4.5", "grok-4.3"],
|
|
11538
|
-
hostname: "api.x.ai"
|
|
11539
|
-
});
|
|
11540
|
-
|
|
11541
|
-
// src/internal/providers/builtin/gemini.ts
|
|
11542
|
-
var GEMINI = {
|
|
11543
|
-
name: "gemini",
|
|
11544
|
-
apiMode: "chat_completions",
|
|
11545
|
-
envVars: ["OPENROUTER_API_KEY"],
|
|
11546
|
-
authType: "api_key",
|
|
11547
|
-
baseUrl: "https://openrouter.ai/api",
|
|
11548
|
-
hostname: "openrouter.ai",
|
|
11549
|
-
fallbackModels: ["google/gemini-2.0-flash-001"]
|
|
11550
|
-
};
|
|
11551
|
-
|
|
11552
11513
|
// src/internal/providers/builtin/llamacpp.ts
|
|
11553
11514
|
var LLAMACPP = {
|
|
11554
11515
|
name: "llamacpp",
|
|
@@ -11575,6 +11536,15 @@ var LMSTUDIO = {
|
|
|
11575
11536
|
fallbackModels: ["loaded-model"]
|
|
11576
11537
|
};
|
|
11577
11538
|
|
|
11539
|
+
// src/internal/providers/builtin/mistral.ts
|
|
11540
|
+
var MISTRAL = openAiCompatibleProfile({
|
|
11541
|
+
name: "mistral",
|
|
11542
|
+
baseUrl: "https://api.mistral.ai/v1",
|
|
11543
|
+
envVars: ["MISTRAL_API_KEY"],
|
|
11544
|
+
fallbackModels: ["mistral-large-latest", "codestral-latest"],
|
|
11545
|
+
hostname: "api.mistral.ai"
|
|
11546
|
+
});
|
|
11547
|
+
|
|
11578
11548
|
// src/internal/providers/builtin/ollama.ts
|
|
11579
11549
|
var OLLAMA = {
|
|
11580
11550
|
name: "ollama",
|
|
@@ -11969,6 +11939,26 @@ var OPENROUTER = {
|
|
|
11969
11939
|
extraHeaders: { "HTTP-Referer": "https://usetheo.dev", "X-Title": "theokit" }
|
|
11970
11940
|
};
|
|
11971
11941
|
|
|
11942
|
+
// src/internal/providers/builtin/perplexity.ts
|
|
11943
|
+
var PERPLEXITY = openAiCompatibleProfile({
|
|
11944
|
+
name: "perplexity",
|
|
11945
|
+
baseUrl: "https://api.perplexity.ai",
|
|
11946
|
+
chatCompletionsPath: "/chat/completions",
|
|
11947
|
+
envVars: ["PERPLEXITY_API_KEY"],
|
|
11948
|
+
fallbackModels: ["sonar-pro", "sonar"],
|
|
11949
|
+
hostname: "api.perplexity.ai"
|
|
11950
|
+
});
|
|
11951
|
+
|
|
11952
|
+
// src/internal/providers/builtin/together.ts
|
|
11953
|
+
var TOGETHER = openAiCompatibleProfile({
|
|
11954
|
+
name: "together",
|
|
11955
|
+
aliases: ["togetherai"],
|
|
11956
|
+
baseUrl: "https://api.together.xyz/v1",
|
|
11957
|
+
envVars: ["TOGETHER_API_KEY"],
|
|
11958
|
+
fallbackModels: ["Qwen/Qwen2.5-7B-Instruct-Turbo"],
|
|
11959
|
+
hostname: "api.together.xyz"
|
|
11960
|
+
});
|
|
11961
|
+
|
|
11972
11962
|
// src/internal/providers/builtin/vertex.ts
|
|
11973
11963
|
var VERTEX = {
|
|
11974
11964
|
name: "vertex",
|
|
@@ -12000,11 +11990,26 @@ function stripVertexPrefix(modelId) {
|
|
|
12000
11990
|
return modelId.replace(/^vertex\/(anthropic|google)\//, "");
|
|
12001
11991
|
}
|
|
12002
11992
|
|
|
11993
|
+
// src/internal/providers/builtin/xai.ts
|
|
11994
|
+
var XAI = openAiCompatibleProfile({
|
|
11995
|
+
name: "xai",
|
|
11996
|
+
aliases: ["grok"],
|
|
11997
|
+
baseUrl: "https://api.x.ai/v1",
|
|
11998
|
+
envVars: ["XAI_API_KEY"],
|
|
11999
|
+
fallbackModels: ["grok-4.5", "grok-4.3"],
|
|
12000
|
+
hostname: "api.x.ai"
|
|
12001
|
+
});
|
|
12002
|
+
|
|
12003
12003
|
// src/internal/providers/builtin/index.ts
|
|
12004
|
-
var
|
|
12004
|
+
var _registeredState = (() => {
|
|
12005
|
+
const g = globalThis;
|
|
12006
|
+
const sym = /* @__PURE__ */ Symbol.for("theokit-sdk.providers.builtins-registered");
|
|
12007
|
+
if (g[sym] === void 0) g[sym] = { done: false };
|
|
12008
|
+
return g[sym];
|
|
12009
|
+
})();
|
|
12005
12010
|
function registerBuiltins() {
|
|
12006
|
-
if (
|
|
12007
|
-
|
|
12011
|
+
if (_registeredState.done) return;
|
|
12012
|
+
_registeredState.done = true;
|
|
12008
12013
|
registerProvider(ANTHROPIC);
|
|
12009
12014
|
registerProvider(OPENAI);
|
|
12010
12015
|
registerProvider(OPENAI_CHATGPT);
|
|
@@ -13173,11 +13178,18 @@ var StreamSuppressionBuffer = class {
|
|
|
13173
13178
|
};
|
|
13174
13179
|
|
|
13175
13180
|
// src/internal/llm/openai.ts
|
|
13181
|
+
function deriveChatPath(baseUrl) {
|
|
13182
|
+
try {
|
|
13183
|
+
return /\/v\d+[a-z]*(\/|$)/.test(new URL(baseUrl).pathname) ? "/chat/completions" : "/v1/chat/completions";
|
|
13184
|
+
} catch {
|
|
13185
|
+
return "/v1/chat/completions";
|
|
13186
|
+
}
|
|
13187
|
+
}
|
|
13176
13188
|
var OpenAIClient = class {
|
|
13177
13189
|
constructor(options) {
|
|
13178
13190
|
this.options = options;
|
|
13179
|
-
this.baseUrl = options.baseUrl ?? "https://api.openai.com";
|
|
13180
|
-
this.chatPath = options.chatCompletionsPath ?? (
|
|
13191
|
+
this.baseUrl = (options.baseUrl ?? "https://api.openai.com").replace(/\/+$/, "");
|
|
13192
|
+
this.chatPath = options.chatCompletionsPath ?? deriveChatPath(this.baseUrl);
|
|
13181
13193
|
this.fetchImpl = options.fetch ?? fetch;
|
|
13182
13194
|
}
|
|
13183
13195
|
options;
|
|
@@ -14647,12 +14659,12 @@ function resolveMcpCwd(configCwd) {
|
|
|
14647
14659
|
|
|
14648
14660
|
// src/internal/providers/register-plugin-providers.ts
|
|
14649
14661
|
function registerPluginProviderProfiles(entries) {
|
|
14650
|
-
let
|
|
14662
|
+
let registered2 = 0;
|
|
14651
14663
|
for (const entry of entries) {
|
|
14652
14664
|
registerProvider(entry.profile);
|
|
14653
|
-
|
|
14665
|
+
registered2 += 1;
|
|
14654
14666
|
}
|
|
14655
|
-
return
|
|
14667
|
+
return registered2;
|
|
14656
14668
|
}
|
|
14657
14669
|
|
|
14658
14670
|
// src/internal/local-agent/real-local-run.ts
|
|
@@ -14977,12 +14989,12 @@ var pluginProvidersAnnounced = false;
|
|
|
14977
14989
|
function resolveRunProvider(options) {
|
|
14978
14990
|
registerBuiltins();
|
|
14979
14991
|
const profiles = options.pluginManager?.aggregated.providerProfiles ?? [];
|
|
14980
|
-
const
|
|
14981
|
-
if (
|
|
14992
|
+
const registered2 = registerPluginProviderProfiles(profiles);
|
|
14993
|
+
if (registered2 > 0 && !pluginProvidersAnnounced) {
|
|
14982
14994
|
pluginProvidersAnnounced = true;
|
|
14983
14995
|
const names = profiles.map((e) => e.profile.name).join(", ");
|
|
14984
14996
|
process.stderr.write(
|
|
14985
|
-
`[theokit-sdk] registered ${
|
|
14997
|
+
`[theokit-sdk] registered ${registered2} plugin provider profile(s): ${names}
|
|
14986
14998
|
`
|
|
14987
14999
|
);
|
|
14988
15000
|
}
|