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