@theokit/sdk 5.13.0 → 5.14.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.
Files changed (107) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/{agent-iW5kPpfT.d.cts → agent-DExqjqYy.d.cts} +9 -1
  3. package/dist/{agent-DSMuwADp.d.ts → agent-Dfw3VsIX.d.ts} +9 -1
  4. package/dist/{agent-5DSDDH7K.js → agent-T34LCGQM.js} +11 -11
  5. package/dist/{agent-5DSDDH7K.js.map → agent-T34LCGQM.js.map} +1 -1
  6. package/dist/{agent-WOMRT3KX.cjs → agent-TL4K7BTG.cjs} +12 -12
  7. package/dist/{agent-WOMRT3KX.cjs.map → agent-TL4K7BTG.cjs.map} +1 -1
  8. package/dist/auth/index.cjs +17 -16
  9. package/dist/auth/index.cjs.map +1 -1
  10. package/dist/auth/index.js +5 -4
  11. package/dist/auth/index.js.map +1 -1
  12. package/dist/{chunk-NHOEXFZT.js → chunk-2HXTNVLM.js} +5 -2
  13. package/dist/chunk-2HXTNVLM.js.map +1 -0
  14. package/dist/{chunk-KL7ZUMK3.cjs → chunk-2WY2OFSC.cjs} +146 -77
  15. package/dist/chunk-2WY2OFSC.cjs.map +1 -0
  16. package/dist/{chunk-3FSBE4PS.js → chunk-3GTN4HOO.js} +10 -6
  17. package/dist/chunk-3GTN4HOO.js.map +1 -0
  18. package/dist/{chunk-XOYNB3YN.js → chunk-3ONIVO2I.js} +3 -3
  19. package/dist/{chunk-XOYNB3YN.js.map → chunk-3ONIVO2I.js.map} +1 -1
  20. package/dist/{chunk-7WARNHWW.cjs → chunk-3UMPP553.cjs} +5 -2
  21. package/dist/chunk-3UMPP553.cjs.map +1 -0
  22. package/dist/{chunk-NWWTYBD3.cjs → chunk-4KBI37F3.cjs} +5 -5
  23. package/dist/{chunk-NWWTYBD3.cjs.map → chunk-4KBI37F3.cjs.map} +1 -1
  24. package/dist/{chunk-S46WJTDL.cjs → chunk-4TEGFMSP.cjs} +6 -6
  25. package/dist/{chunk-S46WJTDL.cjs.map → chunk-4TEGFMSP.cjs.map} +1 -1
  26. package/dist/{chunk-QISSETTG.cjs → chunk-5645PMVU.cjs} +6 -4
  27. package/dist/chunk-5645PMVU.cjs.map +1 -0
  28. package/dist/{chunk-5A4UFBHW.cjs → chunk-A77UMVMD.cjs} +15 -11
  29. package/dist/chunk-A77UMVMD.cjs.map +1 -0
  30. package/dist/{chunk-47EACDOC.cjs → chunk-BZK5QL3N.cjs} +4 -4
  31. package/dist/{chunk-47EACDOC.cjs.map → chunk-BZK5QL3N.cjs.map} +1 -1
  32. package/dist/{chunk-5HSMH2ZZ.js → chunk-CJN5CEI3.js} +4 -4
  33. package/dist/{chunk-5HSMH2ZZ.js.map → chunk-CJN5CEI3.js.map} +1 -1
  34. package/dist/{chunk-JX4LB6XO.js → chunk-GARVAUCU.js} +93 -24
  35. package/dist/chunk-GARVAUCU.js.map +1 -0
  36. package/dist/{chunk-DVP3YMDA.cjs → chunk-LXG6VL6R.cjs} +3 -3
  37. package/dist/{chunk-DVP3YMDA.cjs.map → chunk-LXG6VL6R.cjs.map} +1 -1
  38. package/dist/{chunk-ZTP6ZACR.js → chunk-NAVUTK6X.js} +3 -3
  39. package/dist/{chunk-ZTP6ZACR.js.map → chunk-NAVUTK6X.js.map} +1 -1
  40. package/dist/{chunk-2SFLLOMN.js → chunk-NVQSBRG6.js} +3 -3
  41. package/dist/{chunk-2SFLLOMN.js.map → chunk-NVQSBRG6.js.map} +1 -1
  42. package/dist/{chunk-MS3TQSXU.js → chunk-QD6B6W6I.js} +6 -4
  43. package/dist/chunk-QD6B6W6I.js.map +1 -0
  44. package/dist/chunk-R5UQL2R5.cjs +18 -0
  45. package/dist/{chunk-LO6LIUZ6.cjs.map → chunk-R5UQL2R5.cjs.map} +1 -1
  46. package/dist/{chunk-4UYHP6NF.cjs → chunk-SNVYOX46.cjs} +28 -28
  47. package/dist/{chunk-4UYHP6NF.cjs.map → chunk-SNVYOX46.cjs.map} +1 -1
  48. package/dist/{chunk-NKQVLWDF.js → chunk-ULEK4OM4.js} +3 -3
  49. package/dist/{chunk-NKQVLWDF.js.map → chunk-ULEK4OM4.js.map} +1 -1
  50. package/dist/{chunk-2PRGRYEQ.js → chunk-ZOL3L4EH.js} +4 -4
  51. package/dist/{chunk-2PRGRYEQ.js.map → chunk-ZOL3L4EH.js.map} +1 -1
  52. package/dist/{compact-session-B7P6EU3Z.cjs → compact-session-D2MQDB6G.cjs} +15 -15
  53. package/dist/{compact-session-B7P6EU3Z.cjs.map → compact-session-D2MQDB6G.cjs.map} +1 -1
  54. package/dist/{compact-session-5HMX6KYT.js → compact-session-N2PPHQO6.js} +6 -6
  55. package/dist/{compact-session-5HMX6KYT.js.map → compact-session-N2PPHQO6.js.map} +1 -1
  56. package/dist/{cron-DdKzwJqK.d.ts → cron-BubDpFJG.d.ts} +2 -2
  57. package/dist/{cron-BvxrLW5J.d.cts → cron-CK2v0VWA.d.cts} +2 -2
  58. package/dist/cron.cjs +11 -11
  59. package/dist/cron.d.cts +3 -3
  60. package/dist/cron.d.ts +3 -3
  61. package/dist/cron.js +10 -10
  62. package/dist/eval.cjs +10 -10
  63. package/dist/eval.js +9 -9
  64. package/dist/index.cjs +69 -53
  65. package/dist/index.cjs.map +1 -1
  66. package/dist/index.d.cts +9 -6
  67. package/dist/index.d.ts +9 -6
  68. package/dist/index.js +38 -22
  69. package/dist/index.js.map +1 -1
  70. package/dist/{inject-session-WOH7TPDX.cjs → inject-session-3ICZIJ2N.cjs} +4 -4
  71. package/dist/{inject-session-WOH7TPDX.cjs.map → inject-session-3ICZIJ2N.cjs.map} +1 -1
  72. package/dist/{inject-session-75L3NCNL.js → inject-session-J26SHHIO.js} +3 -3
  73. package/dist/{inject-session-75L3NCNL.js.map → inject-session-J26SHHIO.js.map} +1 -1
  74. package/dist/internal/agent-loop/prune-tool-results.d.ts +37 -0
  75. package/dist/internal/auth/credential-store.d.ts +1 -1
  76. package/dist/internal/auth/types.d.ts +4 -0
  77. package/dist/internal/runtime/skills/binary-on-path.d.ts +1 -0
  78. package/dist/internal/runtime/skills/discover-skills.d.ts +2 -0
  79. package/dist/mcp-auth.cjs +2 -2
  80. package/dist/mcp-auth.js +1 -1
  81. package/dist/models.cjs +11 -11
  82. package/dist/models.js +4 -4
  83. package/dist/providers.cjs +6 -6
  84. package/dist/providers.js +4 -4
  85. package/dist/{sdk-agent-4-dXI2GS.d.cts → sdk-agent-DwzHcuxy.d.cts} +28 -3
  86. package/dist/{sdk-agent-CTOJlWA_.d.ts → sdk-agent-a3fW1xUK.d.ts} +28 -3
  87. package/dist/skills.cjs +4 -4
  88. package/dist/skills.js +1 -1
  89. package/dist/subagents-loader.d.cts +2 -2
  90. package/dist/subagents-loader.d.ts +2 -2
  91. package/dist/types/agent.d.ts +6 -0
  92. package/dist/types/run.d.ts +27 -2
  93. package/dist/workflow.d.cts +1 -1
  94. package/dist/workflow.d.ts +1 -1
  95. package/docs/adr/mutation-testing-scope.md +56 -0
  96. package/docs/error-codes.md +8 -6
  97. package/docs/harness-capability-map.md +29 -1
  98. package/package.json +1 -1
  99. package/dist/chunk-3FSBE4PS.js.map +0 -1
  100. package/dist/chunk-5A4UFBHW.cjs.map +0 -1
  101. package/dist/chunk-7WARNHWW.cjs.map +0 -1
  102. package/dist/chunk-JX4LB6XO.js.map +0 -1
  103. package/dist/chunk-KL7ZUMK3.cjs.map +0 -1
  104. package/dist/chunk-LO6LIUZ6.cjs +0 -18
  105. package/dist/chunk-MS3TQSXU.js.map +0 -1
  106. package/dist/chunk-NHOEXFZT.js.map +0 -1
  107. package/dist/chunk-QISSETTG.cjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -9,10 +9,10 @@ require('./chunk-PDOXYXWX.cjs');
9
9
  var chunkR35ZJAYT_cjs = require('./chunk-R35ZJAYT.cjs');
10
10
  require('./chunk-SETHRLQS.cjs');
11
11
  require('./chunk-VTYY7XL5.cjs');
12
- var chunk47EACDOC_cjs = require('./chunk-47EACDOC.cjs');
13
- var chunkKL7ZUMK3_cjs = require('./chunk-KL7ZUMK3.cjs');
12
+ var chunkBZK5QL3N_cjs = require('./chunk-BZK5QL3N.cjs');
13
+ var chunk2WY2OFSC_cjs = require('./chunk-2WY2OFSC.cjs');
14
14
  var chunkL7JPXZ2C_cjs = require('./chunk-L7JPXZ2C.cjs');
15
- require('./chunk-DVP3YMDA.cjs');
15
+ require('./chunk-LXG6VL6R.cjs');
16
16
  require('./chunk-BUUUWQMB.cjs');
17
17
  require('./chunk-CWQPQTUZ.cjs');
18
18
  require('./chunk-7YUPSBDV.cjs');
@@ -22,7 +22,7 @@ require('./chunk-GHX4P3V2.cjs');
22
22
  require('./chunk-RS7YQR4X.cjs');
23
23
  var chunkSDZ4XDWS_cjs = require('./chunk-SDZ4XDWS.cjs');
24
24
  var chunk6OCJWGVD_cjs = require('./chunk-6OCJWGVD.cjs');
25
- var chunk4UYHP6NF_cjs = require('./chunk-4UYHP6NF.cjs');
25
+ var chunkSNVYOX46_cjs = require('./chunk-SNVYOX46.cjs');
26
26
  require('./chunk-SXH37C7X.cjs');
27
27
  require('./chunk-YJNYDJ2T.cjs');
28
28
  require('./chunk-NP362THY.cjs');
@@ -39,7 +39,7 @@ require('./chunk-YSTXFWQE.cjs');
39
39
  require('./chunk-FRITRLZQ.cjs');
40
40
  require('./chunk-H7HD6RXO.cjs');
41
41
  require('./chunk-NINIJCHU.cjs');
42
- var chunk7WARNHWW_cjs = require('./chunk-7WARNHWW.cjs');
42
+ var chunk3UMPP553_cjs = require('./chunk-3UMPP553.cjs');
43
43
  require('./chunk-SWALPLFQ.cjs');
44
44
  require('./chunk-IJ7M6GOG.cjs');
45
45
  require('./chunk-3KIUY67P.cjs');
@@ -59,13 +59,13 @@ require('./chunk-WDVG5R2Q.cjs');
59
59
  var chunkYQ3XC6C2_cjs = require('./chunk-YQ3XC6C2.cjs');
60
60
  require('./chunk-6XQLTQB6.cjs');
61
61
  var chunkKX5QXLBS_cjs = require('./chunk-KX5QXLBS.cjs');
62
- require('./chunk-NWWTYBD3.cjs');
62
+ require('./chunk-4KBI37F3.cjs');
63
63
  var chunk3EE6LVWT_cjs = require('./chunk-3EE6LVWT.cjs');
64
- require('./chunk-LO6LIUZ6.cjs');
65
- var chunkS46WJTDL_cjs = require('./chunk-S46WJTDL.cjs');
64
+ require('./chunk-R5UQL2R5.cjs');
65
+ var chunk4TEGFMSP_cjs = require('./chunk-4TEGFMSP.cjs');
66
66
  require('./chunk-NVXXWAU7.cjs');
67
- require('./chunk-5A4UFBHW.cjs');
68
- require('./chunk-QISSETTG.cjs');
67
+ require('./chunk-A77UMVMD.cjs');
68
+ require('./chunk-5645PMVU.cjs');
69
69
  require('./chunk-IOFMRS6T.cjs');
70
70
  require('./chunk-EHD25JBZ.cjs');
71
71
  var chunkCEGU5AVD_cjs = require('./chunk-CEGU5AVD.cjs');
@@ -79,8 +79,8 @@ var os = require('os');
79
79
  // src/agent-factory.ts
80
80
  function createAgentFactory(common) {
81
81
  return {
82
- forSession: (agentId, overrides) => chunkKL7ZUMK3_cjs.Agent.create(mergeAgentOptions(common, overrides, agentId)),
83
- getOrCreate: (agentId, overrides) => chunkKL7ZUMK3_cjs.Agent.getOrCreate(agentId, mergeAgentOptions(common, overrides, agentId))
82
+ forSession: (agentId, overrides) => chunk2WY2OFSC_cjs.Agent.create(mergeAgentOptions(common, overrides, agentId)),
83
+ getOrCreate: (agentId, overrides) => chunk2WY2OFSC_cjs.Agent.getOrCreate(agentId, mergeAgentOptions(common, overrides, agentId))
84
84
  };
85
85
  }
86
86
  function mergeAgentOptions(common, overrides, agentId) {
@@ -571,8 +571,8 @@ var Provider = class _Provider {
571
571
  * `.plugins(Provider.builtins())` once, then pick a `provider/model` id. @public
572
572
  */
573
573
  static builtins() {
574
- chunkS46WJTDL_cjs.registerBuiltins();
575
- return chunkS46WJTDL_cjs.listProviders().map((profile) => defineProvider(profile));
574
+ chunk4TEGFMSP_cjs.registerBuiltins();
575
+ return chunk4TEGFMSP_cjs.listProviders().map((profile) => defineProvider(profile));
576
576
  }
577
577
  /**
578
578
  * The builtin serving `modelId`, or `undefined` when none does.
@@ -601,7 +601,7 @@ async function resolveBody(skill) {
601
601
  }
602
602
  const source = skill.source;
603
603
  const skillDir = path.dirname(source);
604
- const body = chunk7WARNHWW_cjs.stripSkillFrontmatter(await promises.readFile(source, "utf8"));
604
+ const body = chunk3UMPP553_cjs.stripSkillFrontmatter(await promises.readFile(source, "utf8"));
605
605
  const instructions = body.replaceAll(SKILL_DIR_PLACEHOLDER, skillDir);
606
606
  const references = await readReferences(skillDir);
607
607
  return references === void 0 ? { instructions } : { instructions, references };
@@ -624,6 +624,14 @@ async function readReferences(skillDir) {
624
624
  }
625
625
  return Object.keys(refs).length > 0 ? refs : void 0;
626
626
  }
627
+ function readNamed(skills, name) {
628
+ const skill = skills.find((s) => s.name === name);
629
+ if (skill === void 0) {
630
+ const available = skills.map((s) => s.name).join(", ");
631
+ return `Skill "${name}" not found. Available skills: ${available.length > 0 ? available : "(none)"}.`;
632
+ }
633
+ return renderSkill(skill);
634
+ }
627
635
  var SkillReadInputSchema = zod.z.object({
628
636
  name: zod.z.string().min(1, "skill_read: `name` is required.")
629
637
  });
@@ -639,7 +647,9 @@ async function renderSkill(skill) {
639
647
  }
640
648
  return parts.join("\n");
641
649
  }
642
- function defineSkillReadTool(skills) {
650
+ function defineSkillReadTool(source) {
651
+ if (typeof source === "function") return lazySkillReadTool(source);
652
+ const skills = source;
643
653
  const seen = /* @__PURE__ */ new Set();
644
654
  for (const skill of skills) {
645
655
  if (seen.has(skill.name)) {
@@ -660,12 +670,18 @@ function defineSkillReadTool(skills) {
660
670
  // promise: parse and the not-found answer stay exactly as synchronous as they were.
661
671
  handler: (input) => {
662
672
  const { name } = SkillReadInputSchema.parse(input);
663
- const skill = skills.find((s) => s.name === name);
664
- if (skill === void 0) {
665
- const available = skills.map((s) => s.name).join(", ");
666
- return `Skill "${name}" not found. Available skills: ${available.length > 0 ? available : "(none)"}.`;
667
- }
668
- return renderSkill(skill);
673
+ return readNamed(skills, name);
674
+ }
675
+ };
676
+ }
677
+ function lazySkillReadTool(source) {
678
+ const fixed = defineSkillReadTool([]);
679
+ return {
680
+ ...fixed,
681
+ handler: async (input) => {
682
+ const { name } = SkillReadInputSchema.parse(input);
683
+ const skills = await source();
684
+ return readNamed(skills, name);
669
685
  }
670
686
  };
671
687
  }
@@ -1284,7 +1300,7 @@ var Memory = {
1284
1300
  return await peer.IndexManager.open(openArgs);
1285
1301
  }
1286
1302
  const { IndexManager } = await import('./index-manager-HO456AVW.cjs');
1287
- openArgs.embedding = await resolveEmbedding(opts.embedding, chunkKL7ZUMK3_cjs.MEMORY_EMBEDDING_ADAPTERS);
1303
+ openArgs.embedding = await resolveEmbedding(opts.embedding, chunk2WY2OFSC_cjs.MEMORY_EMBEDDING_ADAPTERS);
1288
1304
  return await IndexManager.open(openArgs);
1289
1305
  },
1290
1306
  /**
@@ -1295,7 +1311,7 @@ var Memory = {
1295
1311
  */
1296
1312
  async runDreamingSweep(opts) {
1297
1313
  const peer = await tryLoadSdkMemoryPeer();
1298
- const catalog = peer !== null ? peer.MEMORY_EMBEDDING_ADAPTERS : chunkKL7ZUMK3_cjs.MEMORY_EMBEDDING_ADAPTERS;
1314
+ const catalog = peer !== null ? peer.MEMORY_EMBEDDING_ADAPTERS : chunk2WY2OFSC_cjs.MEMORY_EMBEDDING_ADAPTERS;
1299
1315
  const sweepArgs = await buildDreamingSweepArgs(opts, catalog);
1300
1316
  const result = peer !== null ? (
1301
1317
  // biome-ignore lint/suspicious/noExplicitAny: peer is dynamically loaded — structural compat ensured by sdk-memory
@@ -1906,7 +1922,7 @@ function guardSessionDestruction(sessionId, live) {
1906
1922
  // src/session-messages.ts
1907
1923
  async function readSessionMessages2(options) {
1908
1924
  const cwd = options.cwd ?? process.cwd();
1909
- const baseDir = chunkKL7ZUMK3_cjs.resolveSessionDir({ sessionDir: options.sessionDir });
1925
+ const baseDir = chunk2WY2OFSC_cjs.resolveSessionDir({ sessionDir: options.sessionDir });
1910
1926
  return chunkMSW7LB2V_cjs.readSessionMessages(new chunk6OCJWGVD_cjs.FsSessionStore({ baseDir, cwd }), options.sessionId);
1911
1927
  }
1912
1928
 
@@ -1923,7 +1939,7 @@ function isBuiltAgent(m) {
1923
1939
  return typeof m.send === "function";
1924
1940
  }
1925
1941
  async function materialize(def, index) {
1926
- const { Agent: Agent2 } = await import('./agent-WOMRT3KX.cjs');
1942
+ const { Agent: Agent2 } = await import('./agent-TL4K7BTG.cjs');
1927
1943
  return Agent2.create({
1928
1944
  // `AgentDefinition.model` admits the sentinel `'inherit'`, which is not a model id. Inheriting
1929
1945
  // here means "declare nothing and let the default apply" — forwarding the literal would create
@@ -2065,7 +2081,7 @@ var FIXTURE_USER = {
2065
2081
  };
2066
2082
  var FIXTURE_MODELS = [
2067
2083
  {
2068
- id: chunkKL7ZUMK3_cjs.DEFAULT_AGENTIC_MODEL_ID,
2084
+ id: chunk2WY2OFSC_cjs.DEFAULT_AGENTIC_MODEL_ID,
2069
2085
  name: "Gemini 2.0 Flash",
2070
2086
  displayName: "Gemini 2.0 Flash",
2071
2087
  parameters: [
@@ -2141,7 +2157,7 @@ async function listLocalModelsViaOpenAiCompat(baseUrl) {
2141
2157
  try {
2142
2158
  response = await fetch(url, { method: "GET" });
2143
2159
  } catch (fetchErr) {
2144
- const mapped = chunk4UYHP6NF_cjs.mapOllamaTransportError({
2160
+ const mapped = chunkSNVYOX46_cjs.mapOllamaTransportError({
2145
2161
  providerId: "ollama",
2146
2162
  cause: fetchErr,
2147
2163
  endpoint: "/v1/models"
@@ -2153,8 +2169,8 @@ async function listLocalModelsViaOpenAiCompat(baseUrl) {
2153
2169
  );
2154
2170
  }
2155
2171
  if (!response.ok) {
2156
- const body = await chunk4UYHP6NF_cjs.readErrorResponseBody(response);
2157
- const mapped = chunk4UYHP6NF_cjs.mapOllamaHttpError({
2172
+ const body = await chunkSNVYOX46_cjs.readErrorResponseBody(response);
2173
+ const mapped = chunkSNVYOX46_cjs.mapOllamaHttpError({
2158
2174
  providerId: "ollama",
2159
2175
  status: response.status,
2160
2176
  body,
@@ -2217,9 +2233,9 @@ var Theokit = class {
2217
2233
  });
2218
2234
  },
2219
2235
  capabilities: (providerOrModelId) => {
2220
- chunkS46WJTDL_cjs.registerBuiltins();
2236
+ chunk4TEGFMSP_cjs.registerBuiltins();
2221
2237
  const providerId = providerOrModelId.includes("/") ? providerOrModelId.split("/")[0] ?? providerOrModelId : providerOrModelId;
2222
- return chunkS46WJTDL_cjs.getCatalogCapabilities(providerId);
2238
+ return chunk4TEGFMSP_cjs.getCatalogCapabilities(providerId);
2223
2239
  }
2224
2240
  };
2225
2241
  /**
@@ -2258,8 +2274,8 @@ var Theokit = class {
2258
2274
  */
2259
2275
  static inspect = {
2260
2276
  builtinProviders: () => {
2261
- chunkS46WJTDL_cjs.registerBuiltins();
2262
- return chunkS46WJTDL_cjs.listProviders().map((p) => ({
2277
+ chunk4TEGFMSP_cjs.registerBuiltins();
2278
+ return chunk4TEGFMSP_cjs.listProviders().map((p) => ({
2263
2279
  name: p.name,
2264
2280
  apiMode: p.apiMode,
2265
2281
  authType: p.authType,
@@ -2268,7 +2284,7 @@ var Theokit = class {
2268
2284
  envVars: p.envVars
2269
2285
  }));
2270
2286
  },
2271
- embeddingAdapters: () => Object.entries(chunkKL7ZUMK3_cjs.MEMORY_EMBEDDING_ADAPTERS).map(([id, adapter]) => ({
2287
+ embeddingAdapters: () => Object.entries(chunk2WY2OFSC_cjs.MEMORY_EMBEDDING_ADAPTERS).map(([id, adapter]) => ({
2272
2288
  id,
2273
2289
  transport: adapter.transport,
2274
2290
  defaultModel: adapter.defaultModel
@@ -2285,9 +2301,9 @@ var Theokit = class {
2285
2301
  // and may be promoted onto Theokit once the agent.ts cycle is broken.
2286
2302
  };
2287
2303
  async function maybeListLocalModels(providerName) {
2288
- chunkS46WJTDL_cjs.registerBuiltins();
2289
- await chunk4UYHP6NF_cjs.discoverProviderPlugins();
2290
- const profile = chunkS46WJTDL_cjs.getProviderProfile(providerName);
2304
+ chunk4TEGFMSP_cjs.registerBuiltins();
2305
+ await chunkSNVYOX46_cjs.discoverProviderPlugins();
2306
+ const profile = chunk4TEGFMSP_cjs.getProviderProfile(providerName);
2291
2307
  if (profile === void 0) return void 0;
2292
2308
  if (profile.authType !== "none") return void 0;
2293
2309
  const baseUrl = resolveLocalProviderBaseUrl(profile.name, profile.baseUrl);
@@ -2304,13 +2320,13 @@ async function executeCatalogRequest(request) {
2304
2320
  if (apiKey === void 0) {
2305
2321
  throw new chunkCEGU5AVD_cjs.AuthenticationError("Missing API key", { code: "missing_api_key" });
2306
2322
  }
2307
- if (chunk4UYHP6NF_cjs.shouldUseFixtureMode(apiKey)) {
2323
+ if (chunkSNVYOX46_cjs.shouldUseFixtureMode(apiKey)) {
2308
2324
  return request.fixture;
2309
2325
  }
2310
- if (!chunk4UYHP6NF_cjs.isFixtureApiKey(apiKey) && process.env.THEOKIT_API_BASE_URL === void 0) {
2326
+ if (!chunkSNVYOX46_cjs.isFixtureApiKey(apiKey) && process.env.THEOKIT_API_BASE_URL === void 0) {
2311
2327
  throw new chunkCEGU5AVD_cjs.AuthenticationError("Invalid API key", { code: "authentication_error" });
2312
2328
  }
2313
- return chunk4UYHP6NF_cjs.httpRequest(request.path, { apiKey });
2329
+ return chunkSNVYOX46_cjs.httpRequest(request.path, { apiKey });
2314
2330
  }
2315
2331
 
2316
2332
  // src/tool-blast-radius.ts
@@ -2487,43 +2503,43 @@ Object.defineProperty(exports, "fn", {
2487
2503
  });
2488
2504
  Object.defineProperty(exports, "Cron", {
2489
2505
  enumerable: true,
2490
- get: function () { return chunk47EACDOC_cjs.Cron; }
2506
+ get: function () { return chunkBZK5QL3N_cjs.Cron; }
2491
2507
  });
2492
2508
  Object.defineProperty(exports, "Agent", {
2493
2509
  enumerable: true,
2494
- get: function () { return chunkKL7ZUMK3_cjs.Agent; }
2510
+ get: function () { return chunk2WY2OFSC_cjs.Agent; }
2495
2511
  });
2496
2512
  Object.defineProperty(exports, "AgentBuilder", {
2497
2513
  enumerable: true,
2498
- get: function () { return chunkKL7ZUMK3_cjs.AgentBuilder; }
2514
+ get: function () { return chunk2WY2OFSC_cjs.AgentBuilder; }
2499
2515
  });
2500
2516
  Object.defineProperty(exports, "Tool", {
2501
2517
  enumerable: true,
2502
- get: function () { return chunkKL7ZUMK3_cjs.Tool; }
2518
+ get: function () { return chunk2WY2OFSC_cjs.Tool; }
2503
2519
  });
2504
2520
  Object.defineProperty(exports, "ToolError", {
2505
2521
  enumerable: true,
2506
- get: function () { return chunkKL7ZUMK3_cjs.ToolError; }
2522
+ get: function () { return chunk2WY2OFSC_cjs.ToolError; }
2507
2523
  });
2508
2524
  Object.defineProperty(exports, "UsageAccumulator", {
2509
2525
  enumerable: true,
2510
- get: function () { return chunkKL7ZUMK3_cjs.UsageAccumulator; }
2526
+ get: function () { return chunk2WY2OFSC_cjs.UsageAccumulator; }
2511
2527
  });
2512
2528
  Object.defineProperty(exports, "computeCost", {
2513
2529
  enumerable: true,
2514
- get: function () { return chunkKL7ZUMK3_cjs.computeCost; }
2530
+ get: function () { return chunk2WY2OFSC_cjs.computeCost; }
2515
2531
  });
2516
2532
  Object.defineProperty(exports, "getPricingEntry", {
2517
2533
  enumerable: true,
2518
- get: function () { return chunkKL7ZUMK3_cjs.getPricingEntry; }
2534
+ get: function () { return chunk2WY2OFSC_cjs.getPricingEntry; }
2519
2535
  });
2520
2536
  Object.defineProperty(exports, "managedSettingsPathFor", {
2521
2537
  enumerable: true,
2522
- get: function () { return chunkKL7ZUMK3_cjs.managedSettingsPathFor; }
2538
+ get: function () { return chunk2WY2OFSC_cjs.managedSettingsPathFor; }
2523
2539
  });
2524
2540
  Object.defineProperty(exports, "readManagedSettings", {
2525
2541
  enumerable: true,
2526
- get: function () { return chunkKL7ZUMK3_cjs.readManagedSettings; }
2542
+ get: function () { return chunk2WY2OFSC_cjs.readManagedSettings; }
2527
2543
  });
2528
2544
  Object.defineProperty(exports, "emitRunEvent", {
2529
2545
  enumerable: true,
@@ -2531,11 +2547,11 @@ Object.defineProperty(exports, "emitRunEvent", {
2531
2547
  });
2532
2548
  Object.defineProperty(exports, "inferApiMode", {
2533
2549
  enumerable: true,
2534
- get: function () { return chunk4UYHP6NF_cjs.inferApiMode; }
2550
+ get: function () { return chunkSNVYOX46_cjs.inferApiMode; }
2535
2551
  });
2536
2552
  Object.defineProperty(exports, "normalizeUsage", {
2537
2553
  enumerable: true,
2538
- get: function () { return chunk4UYHP6NF_cjs.normalizeUsage; }
2554
+ get: function () { return chunkSNVYOX46_cjs.normalizeUsage; }
2539
2555
  });
2540
2556
  Object.defineProperty(exports, "withCwdMutex", {
2541
2557
  enumerable: true,