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