@theokit/sdk 4.19.2 → 4.19.4

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 (40) hide show
  1. package/dist/cron.cjs +20 -25
  2. package/dist/cron.cjs.map +1 -1
  3. package/dist/cron.js +21 -26
  4. package/dist/cron.js.map +1 -1
  5. package/dist/eval.cjs +20 -25
  6. package/dist/eval.cjs.map +1 -1
  7. package/dist/eval.js +21 -26
  8. package/dist/eval.js.map +1 -1
  9. package/dist/filesystem/index.cjs +7 -2
  10. package/dist/filesystem/index.cjs.map +1 -1
  11. package/dist/filesystem/index.js +7 -2
  12. package/dist/filesystem/index.js.map +1 -1
  13. package/dist/index.cjs +20 -25
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.js +20 -25
  16. package/dist/index.js.map +1 -1
  17. package/dist/internal/persistence/index.cjs +1 -3
  18. package/dist/internal/persistence/index.cjs.map +1 -1
  19. package/dist/internal/persistence/index.js +1 -3
  20. package/dist/internal/persistence/index.js.map +1 -1
  21. package/dist/internal/security/index.cjs +7 -2
  22. package/dist/internal/security/index.cjs.map +1 -1
  23. package/dist/internal/security/index.js +8 -3
  24. package/dist/internal/security/index.js.map +1 -1
  25. package/dist/path-safety.cjs +7 -2
  26. package/dist/path-safety.cjs.map +1 -1
  27. package/dist/path-safety.js +8 -3
  28. package/dist/path-safety.js.map +1 -1
  29. package/dist/persistence.cjs +1 -3
  30. package/dist/persistence.cjs.map +1 -1
  31. package/dist/persistence.js +1 -3
  32. package/dist/persistence.js.map +1 -1
  33. package/dist/provider-catalog.json +469 -144
  34. package/dist/skills.cjs +7 -2
  35. package/dist/skills.cjs.map +1 -1
  36. package/dist/skills.js +7 -2
  37. package/dist/skills.js.map +1 -1
  38. package/dist/workflow.cjs.map +1 -1
  39. package/dist/workflow.js.map +1 -1
  40. package/package.json +13 -12
package/dist/index.js CHANGED
@@ -854,6 +854,11 @@ var init_atomic_write = __esm({
854
854
  warnedNfsDirs = /* @__PURE__ */ new Set();
855
855
  }
856
856
  });
857
+ function isInside(target, base) {
858
+ if (target === base) return true;
859
+ const prefix = base.endsWith(sep) ? base : base + sep;
860
+ return target.startsWith(prefix);
861
+ }
857
862
  function safePathJoin(base, ...parts) {
858
863
  if (base === "") {
859
864
  throw new Error("safePathJoin: base must be non-empty");
@@ -864,7 +869,7 @@ function safePathJoin(base, ...parts) {
864
869
  }
865
870
  const baseResolved = resolve(base);
866
871
  const target = resolve(base, ...parts);
867
- if (target !== baseResolved && !target.startsWith(baseResolved + sep)) {
872
+ if (!isInside(target, baseResolved)) {
868
873
  throw new PathTraversalError(parts.join("/"), target);
869
874
  }
870
875
  return target;
@@ -889,7 +894,7 @@ function assertNoSymlinkEscape(path, base) {
889
894
  }
890
895
  const resolved = realpathOfDeepestExisting(path);
891
896
  if (resolved === void 0) return;
892
- if (resolved !== baseResolved && !resolved.startsWith(baseResolved + sep)) {
897
+ if (!isInside(resolved, baseResolved)) {
893
898
  throw new PathTraversalError(`symlink ${path}`, resolved);
894
899
  }
895
900
  }
@@ -6538,9 +6543,7 @@ async function loadDriver(filePath) {
6538
6543
  }
6539
6544
  try {
6540
6545
  const mod = await (driverLoaderOverrides?.nodeSqlite?.() ?? Promise.resolve(
6541
- process.getBuiltinModule?.(
6542
- "node:sqlite"
6543
- ) ?? (() => {
6546
+ process.getBuiltinModule?.("node:sqlite") ?? (() => {
6544
6547
  throw new Error("node:sqlite built-in unavailable (Node < 22.3)");
6545
6548
  })()
6546
6549
  ));
@@ -21343,8 +21346,8 @@ async function getRegisteredAgentOrThrow(agentId) {
21343
21346
  // src/agent.ts
21344
21347
  init_errors();
21345
21348
  init_discovery();
21346
- init_agent_factory_registry();
21347
21349
  init_agent_session();
21350
+ init_agent_factory_registry();
21348
21351
  var streamObjectImport;
21349
21352
  var Agent = class _Agent {
21350
21353
  constructor() {
@@ -21636,9 +21639,7 @@ var Agent = class _Agent {
21636
21639
  reg = getRegisteredAgent(agentId);
21637
21640
  }
21638
21641
  if (reg === void 0 || reg.runtime !== "local") {
21639
- throw new UnknownAgentError(
21640
- `No local agent "${agentId}" registered \u2014 compact targets local sessions.`
21641
- );
21642
+ throw new UnknownAgentError(`No local agent "${agentId}" registered \u2014 compact targets local sessions.`);
21642
21643
  }
21643
21644
  const cwd = reg.cwd ?? process.cwd();
21644
21645
  const optModel = reg.options.model;
@@ -21648,20 +21649,16 @@ var Agent = class _Agent {
21648
21649
  const { defaultBaseDir: defaultBaseDir2, expandTilde: expandTilde2 } = await Promise.resolve().then(() => (init_session_transcript(), session_transcript_exports));
21649
21650
  const baseDir = reg.options.local?.baseDir !== void 0 ? expandTilde2(reg.options.local.baseDir) : defaultBaseDir2();
21650
21651
  const store = new FsSessionStore2({ baseDir, cwd });
21651
- return enqueueSessionWrite(
21652
- cwd,
21653
- agentId,
21654
- () => compactSessionTranscript2({
21655
- store,
21656
- loc: { cwd, agentId, model },
21657
- sessionId: agentId,
21658
- trigger: options.trigger ?? "manual",
21659
- summarize: options.summarize ?? buildDefaultSummarizer2({
21660
- agentModel: model,
21661
- ...reg.options.apiKey !== void 0 ? { apiKey: reg.options.apiKey } : {}
21662
- })
21652
+ return enqueueSessionWrite(cwd, agentId, () => compactSessionTranscript2({
21653
+ store,
21654
+ loc: { cwd, agentId, model },
21655
+ sessionId: agentId,
21656
+ trigger: options.trigger ?? "manual",
21657
+ summarize: options.summarize ?? buildDefaultSummarizer2({
21658
+ agentModel: model,
21659
+ ...reg.options.apiKey !== void 0 ? { apiKey: reg.options.apiKey } : {}
21663
21660
  })
21664
- );
21661
+ }));
21665
21662
  }
21666
21663
  /**
21667
21664
  * M51 — inject a SYNTHETIC user+assistant pair into a LOCAL session's persisted transcript WITHOUT
@@ -21678,9 +21675,7 @@ var Agent = class _Agent {
21678
21675
  reg = getRegisteredAgent(agentId);
21679
21676
  }
21680
21677
  if (reg === void 0 || reg.runtime !== "local") {
21681
- throw new UnknownAgentError(
21682
- `No local agent "${agentId}" registered \u2014 injectSessionTurn targets local sessions.`
21683
- );
21678
+ throw new UnknownAgentError(`No local agent "${agentId}" registered \u2014 injectSessionTurn targets local sessions.`);
21684
21679
  }
21685
21680
  const cwd = reg.cwd ?? process.cwd();
21686
21681
  const optModel = reg.options.model;