@theokit/sdk 4.59.0 → 4.61.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 (89) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/dist/{agent-VHRX7XGW.cjs → agent-M53C3PAA.cjs} +10 -9
  3. package/dist/{agent-VHRX7XGW.cjs.map → agent-M53C3PAA.cjs.map} +1 -1
  4. package/dist/{agent-ST27RIJE.js → agent-P42GA6RM.js} +9 -8
  5. package/dist/{agent-ST27RIJE.js.map → agent-P42GA6RM.js.map} +1 -1
  6. package/dist/{chunk-KKK3FZ4A.cjs → chunk-2DG7KW4L.cjs} +3 -3
  7. package/dist/{chunk-KKK3FZ4A.cjs.map → chunk-2DG7KW4L.cjs.map} +1 -1
  8. package/dist/chunk-2UCFUSPW.cjs +468 -0
  9. package/dist/chunk-2UCFUSPW.cjs.map +1 -0
  10. package/dist/{chunk-D5NWEOCO.js → chunk-532CSLYU.js} +3 -3
  11. package/dist/{chunk-D5NWEOCO.js.map → chunk-532CSLYU.js.map} +1 -1
  12. package/dist/{chunk-7GUIET73.cjs → chunk-5IT6DUOO.cjs} +4 -4
  13. package/dist/{chunk-7GUIET73.cjs.map → chunk-5IT6DUOO.cjs.map} +1 -1
  14. package/dist/{chunk-554J7UQH.cjs → chunk-6OBIWHDR.cjs} +14 -201
  15. package/dist/chunk-6OBIWHDR.cjs.map +1 -0
  16. package/dist/{chunk-GNT35C5U.cjs → chunk-6SBW4QR2.cjs} +2 -2
  17. package/dist/{chunk-GNT35C5U.cjs.map → chunk-6SBW4QR2.cjs.map} +1 -1
  18. package/dist/{chunk-XV4IZNV4.js → chunk-FUL2I7G5.js} +2 -2
  19. package/dist/{chunk-XV4IZNV4.js.map → chunk-FUL2I7G5.js.map} +1 -1
  20. package/dist/{chunk-7LOIUIQZ.js → chunk-GQZKDGZM.js} +168 -13
  21. package/dist/chunk-GQZKDGZM.js.map +1 -0
  22. package/dist/{chunk-43GFJ5SD.cjs → chunk-P5LCASTC.cjs} +19 -4
  23. package/dist/chunk-P5LCASTC.cjs.map +1 -0
  24. package/dist/{chunk-ZA255A62.js → chunk-QEKI3YKI.js} +7 -186
  25. package/dist/chunk-QEKI3YKI.js.map +1 -0
  26. package/dist/{chunk-SMUAG2DY.cjs → chunk-R7YIVL3K.cjs} +218 -63
  27. package/dist/chunk-R7YIVL3K.cjs.map +1 -0
  28. package/dist/chunk-WCLDJSMY.js +456 -0
  29. package/dist/chunk-WCLDJSMY.js.map +1 -0
  30. package/dist/{chunk-WG7R5W6R.js → chunk-YEXA3PGR.js} +3 -3
  31. package/dist/{chunk-WG7R5W6R.js.map → chunk-YEXA3PGR.js.map} +1 -1
  32. package/dist/{chunk-IACR5LEM.js → chunk-YXGAW7BB.js} +17 -2
  33. package/dist/chunk-YXGAW7BB.js.map +1 -0
  34. package/dist/{compact-session-YHFQIXV5.cjs → compact-session-GJXJD73F.cjs} +11 -11
  35. package/dist/{compact-session-YHFQIXV5.cjs.map → compact-session-GJXJD73F.cjs.map} +1 -1
  36. package/dist/{compact-session-QGDNP45U.js → compact-session-TSMQOIHO.js} +3 -3
  37. package/dist/{compact-session-QGDNP45U.js.map → compact-session-TSMQOIHO.js.map} +1 -1
  38. package/dist/cron.cjs +9 -8
  39. package/dist/cron.js +8 -7
  40. package/dist/eval.cjs +8 -7
  41. package/dist/eval.cjs.map +1 -1
  42. package/dist/eval.js +7 -6
  43. package/dist/eval.js.map +1 -1
  44. package/dist/{index-manager-A64I7KYV.js → index-manager-AHAYJ33H.js} +4 -3
  45. package/dist/{index-manager-A64I7KYV.js.map → index-manager-AHAYJ33H.js.map} +1 -1
  46. package/dist/{index-manager-A3XPHAWF.cjs → index-manager-RHPFVFSC.cjs} +5 -4
  47. package/dist/{index-manager-A3XPHAWF.cjs.map → index-manager-RHPFVFSC.cjs.map} +1 -1
  48. package/dist/index.cjs +77 -43
  49. package/dist/index.cjs.map +1 -1
  50. package/dist/index.js +46 -12
  51. package/dist/index.js.map +1 -1
  52. package/dist/{inject-session-MLCJMYDG.cjs → inject-session-PPSO2IDD.cjs} +4 -4
  53. package/dist/{inject-session-MLCJMYDG.cjs.map → inject-session-PPSO2IDD.cjs.map} +1 -1
  54. package/dist/{inject-session-RBQZ45UM.js → inject-session-ZCQUB3IT.js} +3 -3
  55. package/dist/{inject-session-RBQZ45UM.js.map → inject-session-ZCQUB3IT.js.map} +1 -1
  56. package/dist/internal/memory/dreaming/phases.d.ts +21 -1
  57. package/dist/internal/memory/storage/chunk-markdown.d.cts +2 -0
  58. package/dist/internal/memory/storage/index.cjs +54 -0
  59. package/dist/internal/memory/storage/index.cjs.map +1 -0
  60. package/dist/internal/memory/storage/index.d.cts +18 -0
  61. package/dist/internal/memory/storage/index.d.ts +18 -0
  62. package/dist/internal/memory/storage/index.js +13 -0
  63. package/dist/internal/memory/storage/index.js.map +1 -0
  64. package/dist/internal/memory/storage/markdown-store.d.cts +77 -0
  65. package/dist/internal/memory/storage/markdown-store.d.ts +25 -1
  66. package/dist/internal/memory/storage/memory-file.d.cts +90 -0
  67. package/dist/internal/memory/storage/memory-file.d.ts +41 -5
  68. package/dist/internal/memory/storage/reader.d.cts +8 -0
  69. package/dist/internal/memory/storage/session-loader.d.cts +1 -0
  70. package/dist/internal/memory/storage/session-summary-writer.d.cts +2 -0
  71. package/dist/internal/memory/storage/threat-scan.d.cts +62 -0
  72. package/dist/internal/memory/storage/threat-scan.d.ts +62 -0
  73. package/dist/internal/memory/storage/transcript-store.d.cts +1 -0
  74. package/dist/internal/memory/storage/wiki-loader.d.cts +2 -0
  75. package/dist/internal/memory/types.d.ts +28 -0
  76. package/dist/internal/runtime/memory/select-facts.d.ts +63 -0
  77. package/dist/internal/runtime/system-prompt/sources/memory-provider.d.ts +6 -1
  78. package/dist/workflow.cjs +9 -9
  79. package/dist/workflow.js +1 -1
  80. package/docs/error-codes.md +3 -2
  81. package/docs/harness-capability-map.md +23 -7
  82. package/docs/memory-decisions.md +207 -0
  83. package/package.json +11 -1
  84. package/dist/chunk-43GFJ5SD.cjs.map +0 -1
  85. package/dist/chunk-554J7UQH.cjs.map +0 -1
  86. package/dist/chunk-7LOIUIQZ.js.map +0 -1
  87. package/dist/chunk-IACR5LEM.js.map +0 -1
  88. package/dist/chunk-SMUAG2DY.cjs.map +0 -1
  89. package/dist/chunk-ZA255A62.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -5,21 +5,22 @@ var chunkOBA6YK2R_cjs = require('./chunk-OBA6YK2R.cjs');
5
5
  var chunkGWC3HADL_cjs = require('./chunk-GWC3HADL.cjs');
6
6
  var chunkP6A3M6VD_cjs = require('./chunk-P6A3M6VD.cjs');
7
7
  require('./chunk-QDED6YO6.cjs');
8
- var chunkGNT35C5U_cjs = require('./chunk-GNT35C5U.cjs');
8
+ var chunk6SBW4QR2_cjs = require('./chunk-6SBW4QR2.cjs');
9
9
  require('./chunk-XWL6O3SW.cjs');
10
10
  require('./chunk-VTYY7XL5.cjs');
11
- var chunk7GUIET73_cjs = require('./chunk-7GUIET73.cjs');
12
- var chunkSMUAG2DY_cjs = require('./chunk-SMUAG2DY.cjs');
13
- require('./chunk-KKK3FZ4A.cjs');
14
- var chunk554J7UQH_cjs = require('./chunk-554J7UQH.cjs');
15
- require('./chunk-P6H23T43.cjs');
16
- require('./chunk-BV2MWEMV.cjs');
11
+ var chunk5IT6DUOO_cjs = require('./chunk-5IT6DUOO.cjs');
12
+ var chunkR7YIVL3K_cjs = require('./chunk-R7YIVL3K.cjs');
17
13
  var chunkNGESVVJN_cjs = require('./chunk-NGESVVJN.cjs');
14
+ require('./chunk-2DG7KW4L.cjs');
18
15
  require('./chunk-BUUUWQMB.cjs');
16
+ var chunk6OBIWHDR_cjs = require('./chunk-6OBIWHDR.cjs');
17
+ require('./chunk-P6H23T43.cjs');
18
+ require('./chunk-BV2MWEMV.cjs');
19
19
  require('./chunk-EI2Q7SJ5.cjs');
20
20
  require('./chunk-GHX4P3V2.cjs');
21
+ var chunk2UCFUSPW_cjs = require('./chunk-2UCFUSPW.cjs');
21
22
  require('./chunk-QI7WE46I.cjs');
22
- var chunk43GFJ5SD_cjs = require('./chunk-43GFJ5SD.cjs');
23
+ var chunkP5LCASTC_cjs = require('./chunk-P5LCASTC.cjs');
23
24
  require('./chunk-F3YZMOAU.cjs');
24
25
  require('./chunk-4OTIXDMU.cjs');
25
26
  require('./chunk-DQKERTND.cjs');
@@ -70,8 +71,8 @@ var fs = require('fs');
70
71
  // src/agent-factory.ts
71
72
  function createAgentFactory(common) {
72
73
  return {
73
- forSession: (agentId, overrides) => chunkSMUAG2DY_cjs.Agent.create(mergeAgentOptions(common, overrides, agentId)),
74
- getOrCreate: (agentId, overrides) => chunkSMUAG2DY_cjs.Agent.getOrCreate(agentId, mergeAgentOptions(common, overrides, agentId))
74
+ forSession: (agentId, overrides) => chunkR7YIVL3K_cjs.Agent.create(mergeAgentOptions(common, overrides, agentId)),
75
+ getOrCreate: (agentId, overrides) => chunkR7YIVL3K_cjs.Agent.getOrCreate(agentId, mergeAgentOptions(common, overrides, agentId))
75
76
  };
76
77
  }
77
78
  function mergeAgentOptions(common, overrides, agentId) {
@@ -1019,7 +1020,7 @@ function foldLayers(entries, accumulatingKeys = []) {
1019
1020
  return combined;
1020
1021
  }
1021
1022
  function diaryPath(cwd) {
1022
- return path.join(chunk554J7UQH_cjs.memoryDir(cwd), "dream-diary.md");
1023
+ return path.join(chunk2UCFUSPW_cjs.memoryDir(cwd), "dream-diary.md");
1023
1024
  }
1024
1025
  function renderDiaryEntry(entry) {
1025
1026
  const stamp = new Date(entry.timestampMs).toISOString();
@@ -1063,7 +1064,40 @@ function entryHash(entry) {
1063
1064
  // src/internal/memory/dreaming/phases.ts
1064
1065
  var DEFAULT_DEDUP_THRESHOLD = 0.95;
1065
1066
  var DEFAULT_CLUSTER_THRESHOLD = 0.75;
1067
+ var CONSOLIDATABLE_KINDS = /* @__PURE__ */ new Set(["project", "session"]);
1068
+ var ATOMIC_KINDS = /* @__PURE__ */ new Set(["user", "feedback", "reference"]);
1069
+ function dedupPolicy(fact) {
1070
+ if (fact.kind === void 0) return "exact";
1071
+ if (ATOMIC_KINDS.has(fact.kind)) return "never";
1072
+ return CONSOLIDATABLE_KINDS.has(fact.kind) ? "similar" : "never";
1073
+ }
1074
+ function normalizeForExactMatch(text) {
1075
+ return text.trim().toLowerCase().replace(/\s+/g, " ").replace(/[.!?]+$/, "");
1076
+ }
1066
1077
  async function lightPhase(facts, embedding, threshold = DEFAULT_DEDUP_THRESHOLD) {
1078
+ if (facts.length <= 1) return { kept: [...facts], duplicatesRemoved: 0 };
1079
+ const never = facts.filter((f) => dedupPolicy(f) === "never");
1080
+ const exact = facts.filter((f) => dedupPolicy(f) === "exact");
1081
+ const similar = facts.filter((f) => dedupPolicy(f) === "similar");
1082
+ const seen = /* @__PURE__ */ new Set();
1083
+ const exactKept = [];
1084
+ let removed = 0;
1085
+ for (const f of exact) {
1086
+ const key = normalizeForExactMatch(f.text);
1087
+ if (seen.has(key)) {
1088
+ removed += 1;
1089
+ continue;
1090
+ }
1091
+ seen.add(key);
1092
+ exactKept.push(f);
1093
+ }
1094
+ const sim = similar.length > 1 ? await dedupCandidates(similar, embedding, threshold) : { kept: [...similar], duplicatesRemoved: 0 };
1095
+ return {
1096
+ kept: [...never, ...exactKept, ...sim.kept],
1097
+ duplicatesRemoved: removed + sim.duplicatesRemoved
1098
+ };
1099
+ }
1100
+ async function dedupCandidates(facts, embedding, threshold) {
1067
1101
  if (facts.length <= 1) return { kept: [...facts], duplicatesRemoved: 0 };
1068
1102
  const vectors = await embedding.embed(facts.map((f) => f.text));
1069
1103
  const keptIdx = [];
@@ -1166,7 +1200,7 @@ async function runInner(options) {
1166
1200
  const now = options.now ?? Date.now;
1167
1201
  const timestampMs = now();
1168
1202
  try {
1169
- const facts = await chunk554J7UQH_cjs.readFactsFromMarkdown(options.cwd);
1203
+ const facts = await chunk2UCFUSPW_cjs.readFactsFromMarkdown(options.cwd);
1170
1204
  if (facts.length === 0) {
1171
1205
  return emptyResult("skipped");
1172
1206
  }
@@ -1200,7 +1234,7 @@ async function runInner(options) {
1200
1234
  }
1201
1235
  async function writeConsolidatedNotes(cwd, clusters, timestampMs) {
1202
1236
  if (clusters.length === 0) return 0;
1203
- const notesDir = path.join(chunk554J7UQH_cjs.memoryDir(cwd), "notes");
1237
+ const notesDir = path.join(chunk2UCFUSPW_cjs.memoryDir(cwd), "notes");
1204
1238
  await promises.mkdir(notesDir, { recursive: true });
1205
1239
  const isoSlug = new Date(timestampMs).toISOString().replace(/[^\dT]/g, "-");
1206
1240
  const file = path.join(notesDir, `dreamed-${isoSlug}.md`);
@@ -1266,8 +1300,8 @@ var Memory = {
1266
1300
  openArgs.embedding = await resolveEmbedding(opts.embedding, peer.MEMORY_EMBEDDING_ADAPTERS);
1267
1301
  return await peer.IndexManager.open(openArgs);
1268
1302
  }
1269
- const { IndexManager } = await import('./index-manager-A3XPHAWF.cjs');
1270
- openArgs.embedding = await resolveEmbedding(opts.embedding, chunkSMUAG2DY_cjs.MEMORY_EMBEDDING_ADAPTERS);
1303
+ const { IndexManager } = await import('./index-manager-RHPFVFSC.cjs');
1304
+ openArgs.embedding = await resolveEmbedding(opts.embedding, chunkR7YIVL3K_cjs.MEMORY_EMBEDDING_ADAPTERS);
1271
1305
  return await IndexManager.open(openArgs);
1272
1306
  },
1273
1307
  /**
@@ -1278,7 +1312,7 @@ var Memory = {
1278
1312
  */
1279
1313
  async runDreamingSweep(opts) {
1280
1314
  const peer = await tryLoadSdkMemoryPeer();
1281
- const catalog = peer !== null ? peer.MEMORY_EMBEDDING_ADAPTERS : chunkSMUAG2DY_cjs.MEMORY_EMBEDDING_ADAPTERS;
1315
+ const catalog = peer !== null ? peer.MEMORY_EMBEDDING_ADAPTERS : chunkR7YIVL3K_cjs.MEMORY_EMBEDDING_ADAPTERS;
1282
1316
  const sweepArgs = await buildDreamingSweepArgs(opts, catalog);
1283
1317
  const result = peer !== null ? (
1284
1318
  // biome-ignore lint/suspicious/noExplicitAny: peer is dynamically loaded — structural compat ensured by sdk-memory
@@ -1344,9 +1378,9 @@ function extractRawId(id, expectedAdapterId) {
1344
1378
  return id.slice(prefix.length);
1345
1379
  }
1346
1380
  async function readAllSqliteFacts(cwd) {
1347
- const dbPath = chunk554J7UQH_cjs.defaultIndexPath(cwd);
1381
+ const dbPath = chunk6OBIWHDR_cjs.defaultIndexPath(cwd);
1348
1382
  if (!fs.existsSync(dbPath)) return [];
1349
- const db = await chunk554J7UQH_cjs.openMemoryDb({ filePath: dbPath });
1383
+ const db = await chunk6OBIWHDR_cjs.openMemoryDb({ filePath: dbPath });
1350
1384
  try {
1351
1385
  const stmt = db.prepare("SELECT id, path, source, start_line, end_line, text FROM chunks");
1352
1386
  const rows = stmt.all();
@@ -1365,7 +1399,7 @@ function nfcEqual(a, b) {
1365
1399
  }
1366
1400
  async function migrateSqliteToLance(opts) {
1367
1401
  const cwd = opts.cwd;
1368
- const finalPath = chunk554J7UQH_cjs.lanceStoragePath(cwd);
1402
+ const finalPath = chunk6OBIWHDR_cjs.lanceStoragePath(cwd);
1369
1403
  const newPath = path.join(cwd, ".theokit", "memory", "lance-new");
1370
1404
  const rawLog = opts.logger ?? ((m) => console.log(m));
1371
1405
  const log = (m) => rawLog(chunkJTB5Q42C_cjs.redactSecrets(m));
@@ -1409,7 +1443,7 @@ async function migrateSqliteToLance(opts) {
1409
1443
  };
1410
1444
  fs.mkdirSync(newPath, { recursive: true });
1411
1445
  log(`Writing Lance index to ${newPath} ...`);
1412
- const lance = await chunk554J7UQH_cjs.LanceIndex.open({
1446
+ const lance = await chunk6OBIWHDR_cjs.LanceIndex.open({
1413
1447
  cwd,
1414
1448
  embedding: placeholderEmbedding,
1415
1449
  storagePath: newPath
@@ -1840,7 +1874,7 @@ function isBuiltAgent(m) {
1840
1874
  return typeof m.send === "function";
1841
1875
  }
1842
1876
  async function materialize(def, index) {
1843
- const { Agent: Agent2 } = await import('./agent-VHRX7XGW.cjs');
1877
+ const { Agent: Agent2 } = await import('./agent-M53C3PAA.cjs');
1844
1878
  return Agent2.create({
1845
1879
  // `AgentDefinition.model` admits the sentinel `'inherit'`, which is not a model id. Inheriting
1846
1880
  // here means "declare nothing and let the default apply" — forwarding the literal would create
@@ -1872,13 +1906,13 @@ function createSquad(options) {
1872
1906
  };
1873
1907
  }
1874
1908
  async function buildPipeline(agents, nome) {
1875
- let builder = chunkGNT35C5U_cjs.Workflow.create({ name: nome ?? "squad" });
1909
+ let builder = chunk6SBW4QR2_cjs.Workflow.create({ name: nome ?? "squad" });
1876
1910
  for (let i = 0; i < agents.length; i++) {
1877
1911
  const member = agents[i];
1878
1912
  if (member === void 0) continue;
1879
1913
  const agent = isBuiltAgent(member) ? member : await materialize(member, i);
1880
1914
  const opts = i > 0 ? { origin: { kind: "peer", from: `agent-${i - 1}` } } : void 0;
1881
- builder = builder.then(chunkGNT35C5U_cjs.agentStep(`agent-${i}`, agent, (prev) => String(prev), opts));
1915
+ builder = builder.then(chunk6SBW4QR2_cjs.agentStep(`agent-${i}`, agent, (prev) => String(prev), opts));
1882
1916
  }
1883
1917
  return builder.commit();
1884
1918
  }
@@ -1982,7 +2016,7 @@ var FIXTURE_USER = {
1982
2016
  };
1983
2017
  var FIXTURE_MODELS = [
1984
2018
  {
1985
- id: chunkSMUAG2DY_cjs.DEFAULT_AGENTIC_MODEL_ID,
2019
+ id: chunkR7YIVL3K_cjs.DEFAULT_AGENTIC_MODEL_ID,
1986
2020
  name: "Gemini 2.0 Flash",
1987
2021
  displayName: "Gemini 2.0 Flash",
1988
2022
  parameters: [
@@ -2058,7 +2092,7 @@ async function listLocalModelsViaOpenAiCompat(baseUrl) {
2058
2092
  try {
2059
2093
  response = await fetch(url, { method: "GET" });
2060
2094
  } catch (fetchErr) {
2061
- const mapped = chunk43GFJ5SD_cjs.mapOllamaTransportError({
2095
+ const mapped = chunkP5LCASTC_cjs.mapOllamaTransportError({
2062
2096
  providerId: "ollama",
2063
2097
  cause: fetchErr,
2064
2098
  endpoint: "/v1/models"
@@ -2070,8 +2104,8 @@ async function listLocalModelsViaOpenAiCompat(baseUrl) {
2070
2104
  );
2071
2105
  }
2072
2106
  if (!response.ok) {
2073
- const body = await chunk43GFJ5SD_cjs.readErrorResponseBody(response);
2074
- const mapped = chunk43GFJ5SD_cjs.mapOllamaHttpError({
2107
+ const body = await chunkP5LCASTC_cjs.readErrorResponseBody(response);
2108
+ const mapped = chunkP5LCASTC_cjs.mapOllamaHttpError({
2075
2109
  providerId: "ollama",
2076
2110
  status: response.status,
2077
2111
  body,
@@ -2185,7 +2219,7 @@ var Theokit = class {
2185
2219
  envVars: p.envVars
2186
2220
  }));
2187
2221
  },
2188
- embeddingAdapters: () => Object.entries(chunkSMUAG2DY_cjs.MEMORY_EMBEDDING_ADAPTERS).map(([id, adapter]) => ({
2222
+ embeddingAdapters: () => Object.entries(chunkR7YIVL3K_cjs.MEMORY_EMBEDDING_ADAPTERS).map(([id, adapter]) => ({
2189
2223
  id,
2190
2224
  transport: adapter.transport,
2191
2225
  defaultModel: adapter.defaultModel
@@ -2203,7 +2237,7 @@ var Theokit = class {
2203
2237
  };
2204
2238
  async function maybeListLocalModels(providerName) {
2205
2239
  chunkNIRE5CNO_cjs.registerBuiltins();
2206
- await chunk43GFJ5SD_cjs.discoverProviderPlugins();
2240
+ await chunkP5LCASTC_cjs.discoverProviderPlugins();
2207
2241
  const profile = chunkNIRE5CNO_cjs.getProviderProfile(providerName);
2208
2242
  if (profile === void 0) return void 0;
2209
2243
  if (profile.authType !== "none") return void 0;
@@ -2221,13 +2255,13 @@ async function executeCatalogRequest(request) {
2221
2255
  if (apiKey === void 0) {
2222
2256
  throw new chunkK3FW2XZD_cjs.AuthenticationError("Missing API key", { code: "missing_api_key" });
2223
2257
  }
2224
- if (chunk43GFJ5SD_cjs.shouldUseFixtureMode(apiKey)) {
2258
+ if (chunkP5LCASTC_cjs.shouldUseFixtureMode(apiKey)) {
2225
2259
  return request.fixture;
2226
2260
  }
2227
- if (!chunk43GFJ5SD_cjs.isFixtureApiKey(apiKey) && process.env.THEOKIT_API_BASE_URL === void 0) {
2261
+ if (!chunkP5LCASTC_cjs.isFixtureApiKey(apiKey) && process.env.THEOKIT_API_BASE_URL === void 0) {
2228
2262
  throw new chunkK3FW2XZD_cjs.AuthenticationError("Invalid API key", { code: "authentication_error" });
2229
2263
  }
2230
- return chunk43GFJ5SD_cjs.httpRequest(request.path, { apiKey });
2264
+ return chunkP5LCASTC_cjs.httpRequest(request.path, { apiKey });
2231
2265
  }
2232
2266
 
2233
2267
  // src/tool-blast-radius.ts
@@ -2392,47 +2426,47 @@ Object.defineProperty(exports, "GenerateObjectError", {
2392
2426
  });
2393
2427
  Object.defineProperty(exports, "Workflow", {
2394
2428
  enumerable: true,
2395
- get: function () { return chunkGNT35C5U_cjs.Workflow; }
2429
+ get: function () { return chunk6SBW4QR2_cjs.Workflow; }
2396
2430
  });
2397
2431
  Object.defineProperty(exports, "agentStep", {
2398
2432
  enumerable: true,
2399
- get: function () { return chunkGNT35C5U_cjs.agentStep; }
2433
+ get: function () { return chunk6SBW4QR2_cjs.agentStep; }
2400
2434
  });
2401
2435
  Object.defineProperty(exports, "fn", {
2402
2436
  enumerable: true,
2403
- get: function () { return chunkGNT35C5U_cjs.fn; }
2437
+ get: function () { return chunk6SBW4QR2_cjs.fn; }
2404
2438
  });
2405
2439
  Object.defineProperty(exports, "Cron", {
2406
2440
  enumerable: true,
2407
- get: function () { return chunk7GUIET73_cjs.Cron; }
2441
+ get: function () { return chunk5IT6DUOO_cjs.Cron; }
2408
2442
  });
2409
2443
  Object.defineProperty(exports, "Agent", {
2410
2444
  enumerable: true,
2411
- get: function () { return chunkSMUAG2DY_cjs.Agent; }
2445
+ get: function () { return chunkR7YIVL3K_cjs.Agent; }
2412
2446
  });
2413
2447
  Object.defineProperty(exports, "AgentBuilder", {
2414
2448
  enumerable: true,
2415
- get: function () { return chunkSMUAG2DY_cjs.AgentBuilder; }
2449
+ get: function () { return chunkR7YIVL3K_cjs.AgentBuilder; }
2416
2450
  });
2417
2451
  Object.defineProperty(exports, "Tool", {
2418
2452
  enumerable: true,
2419
- get: function () { return chunkSMUAG2DY_cjs.Tool; }
2453
+ get: function () { return chunkR7YIVL3K_cjs.Tool; }
2420
2454
  });
2421
2455
  Object.defineProperty(exports, "ToolError", {
2422
2456
  enumerable: true,
2423
- get: function () { return chunkSMUAG2DY_cjs.ToolError; }
2457
+ get: function () { return chunkR7YIVL3K_cjs.ToolError; }
2424
2458
  });
2425
2459
  Object.defineProperty(exports, "UsageAccumulator", {
2426
2460
  enumerable: true,
2427
- get: function () { return chunkSMUAG2DY_cjs.UsageAccumulator; }
2461
+ get: function () { return chunkR7YIVL3K_cjs.UsageAccumulator; }
2428
2462
  });
2429
2463
  Object.defineProperty(exports, "computeCost", {
2430
2464
  enumerable: true,
2431
- get: function () { return chunkSMUAG2DY_cjs.computeCost; }
2465
+ get: function () { return chunkR7YIVL3K_cjs.computeCost; }
2432
2466
  });
2433
2467
  Object.defineProperty(exports, "getPricingEntry", {
2434
2468
  enumerable: true,
2435
- get: function () { return chunkSMUAG2DY_cjs.getPricingEntry; }
2469
+ get: function () { return chunkR7YIVL3K_cjs.getPricingEntry; }
2436
2470
  });
2437
2471
  Object.defineProperty(exports, "emitRunEvent", {
2438
2472
  enumerable: true,