@theokit/sdk 4.16.0 → 4.16.2

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/dist/index.cjs CHANGED
@@ -6019,6 +6019,44 @@ var init_router = __esm({
6019
6019
  }
6020
6020
  });
6021
6021
 
6022
+ // src/internal/local-agent/real-local-run-provider.ts
6023
+ var real_local_run_provider_exports = {};
6024
+ __export(real_local_run_provider_exports, {
6025
+ detectPrimaryProvider: () => detectPrimaryProvider,
6026
+ inferProviderFromApiKey: () => inferProviderFromApiKey
6027
+ });
6028
+ function inferProviderFromApiKey(apiKey) {
6029
+ if (apiKey === void 0 || apiKey.length === 0) return void 0;
6030
+ const byPrefix = [
6031
+ { provider: "openrouter", prefix: "sk-or-" },
6032
+ { provider: "anthropic", prefix: "sk-ant-" },
6033
+ { provider: "openai", prefix: "sk-" }
6034
+ ];
6035
+ for (const { provider, prefix } of byPrefix) {
6036
+ if (apiKey.startsWith(prefix) && getProviderProfile(provider) !== void 0) {
6037
+ return provider;
6038
+ }
6039
+ }
6040
+ return void 0;
6041
+ }
6042
+ function detectPrimaryProvider() {
6043
+ if (process.env.ANTHROPIC_API_KEY !== void 0 && process.env.ANTHROPIC_API_KEY.length > 0) {
6044
+ return "anthropic";
6045
+ }
6046
+ if (process.env.OPENAI_API_KEY !== void 0 && process.env.OPENAI_API_KEY.length > 0) {
6047
+ return "openai";
6048
+ }
6049
+ if (process.env.OPENROUTER_API_KEY !== void 0 && process.env.OPENROUTER_API_KEY.length > 0) {
6050
+ return "openrouter";
6051
+ }
6052
+ return "openai";
6053
+ }
6054
+ var init_real_local_run_provider = __esm({
6055
+ "src/internal/local-agent/real-local-run-provider.ts"() {
6056
+ init_providers();
6057
+ }
6058
+ });
6059
+
6022
6060
  // src/internal/session/compact-session.ts
6023
6061
  var compact_session_exports = {};
6024
6062
  __export(compact_session_exports, {
@@ -6081,13 +6119,20 @@ function buildDefaultSummarizer(opts) {
6081
6119
  const { compressConversationWindow: compressConversationWindow2 } = await Promise.resolve().then(() => (init_compression_summarizer(), compression_summarizer_exports));
6082
6120
  const { resolveCompressionModel: resolveCompressionModel2 } = await Promise.resolve().then(() => (init_compression_model_registry(), compression_model_registry_exports));
6083
6121
  const { resolveProviderChain: resolveProviderChain2 } = await Promise.resolve().then(() => (init_router(), router_exports));
6122
+ const { inferProviderFromApiKey: inferProviderFromApiKey2, detectPrimaryProvider: detectPrimaryProvider2 } = await Promise.resolve().then(() => (init_real_local_run_provider(), real_local_run_provider_exports));
6123
+ const keyProvider = inferProviderFromApiKey2(opts.apiKey);
6124
+ const modelPrefix = opts.agentModel.includes("/") ? opts.agentModel.slice(0, opts.agentModel.indexOf("/")) : void 0;
6125
+ const provider = keyProvider ?? modelPrefix ?? detectPrimaryProvider2();
6084
6126
  let model;
6085
- try {
6086
- model = resolveCompressionModel2(opts.agentModel);
6087
- } catch {
6127
+ if (keyProvider !== void 0 && keyProvider !== modelPrefix) {
6088
6128
  model = opts.agentModel;
6129
+ } else {
6130
+ try {
6131
+ model = resolveCompressionModel2(opts.agentModel);
6132
+ } catch {
6133
+ model = opts.agentModel;
6134
+ }
6089
6135
  }
6090
- const provider = model.includes("/") ? model.slice(0, model.indexOf("/")) : "openai";
6091
6136
  const callLlm = async (m, system, user) => {
6092
6137
  const chain = resolveProviderChain2({
6093
6138
  primary: provider,
@@ -18133,35 +18178,7 @@ function registerPluginProviderProfiles(entries) {
18133
18178
 
18134
18179
  // src/internal/local-agent/real-local-run.ts
18135
18180
  init_async_local_storage();
18136
-
18137
- // src/internal/local-agent/real-local-run-provider.ts
18138
- init_providers();
18139
- function inferProviderFromApiKey(apiKey) {
18140
- if (apiKey === void 0 || apiKey.length === 0) return void 0;
18141
- const byPrefix = [
18142
- { provider: "openrouter", prefix: "sk-or-" },
18143
- { provider: "anthropic", prefix: "sk-ant-" },
18144
- { provider: "openai", prefix: "sk-" }
18145
- ];
18146
- for (const { provider, prefix } of byPrefix) {
18147
- if (apiKey.startsWith(prefix) && getProviderProfile(provider) !== void 0) {
18148
- return provider;
18149
- }
18150
- }
18151
- return void 0;
18152
- }
18153
- function detectPrimaryProvider() {
18154
- if (process.env.ANTHROPIC_API_KEY !== void 0 && process.env.ANTHROPIC_API_KEY.length > 0) {
18155
- return "anthropic";
18156
- }
18157
- if (process.env.OPENAI_API_KEY !== void 0 && process.env.OPENAI_API_KEY.length > 0) {
18158
- return "openai";
18159
- }
18160
- if (process.env.OPENROUTER_API_KEY !== void 0 && process.env.OPENROUTER_API_KEY.length > 0) {
18161
- return "openrouter";
18162
- }
18163
- return "openai";
18164
- }
18181
+ init_real_local_run_provider();
18165
18182
 
18166
18183
  // src/a2a/subagent.ts
18167
18184
  init_agent_factory_registry();
@@ -21484,7 +21501,11 @@ var Agent = class _Agent {
21484
21501
  * @public
21485
21502
  */
21486
21503
  static async compact(agentId, options = {}) {
21487
- const reg = getRegisteredAgent(agentId);
21504
+ let reg = getRegisteredAgent(agentId);
21505
+ if (reg === void 0) {
21506
+ await hydrateRegistryFromDisk(process.cwd());
21507
+ reg = getRegisteredAgent(agentId);
21508
+ }
21488
21509
  if (reg === void 0 || reg.runtime !== "local") {
21489
21510
  throw new exports.UnknownAgentError(`No local agent "${agentId}" registered \u2014 compact targets local sessions.`);
21490
21511
  }