@theokit/sdk 5.12.1 → 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 (193) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/dist/{agent-Cn0sphpA.d.cts → agent-DExqjqYy.d.cts} +18 -3
  3. package/dist/{agent-CVzDy_Oj.d.ts → agent-Dfw3VsIX.d.ts} +18 -3
  4. package/dist/{agent-IG7BP6GN.js → agent-T34LCGQM.js} +11 -11
  5. package/dist/{agent-IG7BP6GN.js.map → agent-T34LCGQM.js.map} +1 -1
  6. package/dist/{agent-BVKIUP7F.cjs → agent-TL4K7BTG.cjs} +12 -12
  7. package/dist/{agent-BVKIUP7F.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-Q6WT5535.cjs → chunk-2WY2OFSC.cjs} +259 -79
  15. package/dist/chunk-2WY2OFSC.cjs.map +1 -0
  16. package/dist/{chunk-HN4IKB6X.cjs → chunk-2XWAYCFM.cjs} +15 -13
  17. package/dist/chunk-2XWAYCFM.cjs.map +1 -0
  18. package/dist/{chunk-3FSBE4PS.js → chunk-3GTN4HOO.js} +10 -6
  19. package/dist/chunk-3GTN4HOO.js.map +1 -0
  20. package/dist/{chunk-VVGFZQZC.js → chunk-3LMVJTNJ.js} +9 -5
  21. package/dist/chunk-3LMVJTNJ.js.map +1 -0
  22. package/dist/{chunk-4GUFNDZR.js → chunk-3ONIVO2I.js} +3 -3
  23. package/dist/{chunk-4GUFNDZR.js.map → chunk-3ONIVO2I.js.map} +1 -1
  24. package/dist/{chunk-7WARNHWW.cjs → chunk-3UMPP553.cjs} +5 -2
  25. package/dist/chunk-3UMPP553.cjs.map +1 -0
  26. package/dist/{chunk-NWWTYBD3.cjs → chunk-4KBI37F3.cjs} +5 -5
  27. package/dist/{chunk-NWWTYBD3.cjs.map → chunk-4KBI37F3.cjs.map} +1 -1
  28. package/dist/{chunk-S46WJTDL.cjs → chunk-4TEGFMSP.cjs} +6 -6
  29. package/dist/{chunk-S46WJTDL.cjs.map → chunk-4TEGFMSP.cjs.map} +1 -1
  30. package/dist/{chunk-QISSETTG.cjs → chunk-5645PMVU.cjs} +6 -4
  31. package/dist/chunk-5645PMVU.cjs.map +1 -0
  32. package/dist/{chunk-ZLFFDPXC.js → chunk-73IITAF7.js} +36 -14
  33. package/dist/chunk-73IITAF7.js.map +1 -0
  34. package/dist/{chunk-5A4UFBHW.cjs → chunk-A77UMVMD.cjs} +15 -11
  35. package/dist/chunk-A77UMVMD.cjs.map +1 -0
  36. package/dist/{chunk-IO4RI5ZJ.cjs → chunk-BZK5QL3N.cjs} +4 -4
  37. package/dist/{chunk-IO4RI5ZJ.cjs.map → chunk-BZK5QL3N.cjs.map} +1 -1
  38. package/dist/{chunk-5HSMH2ZZ.js → chunk-CJN5CEI3.js} +4 -4
  39. package/dist/{chunk-5HSMH2ZZ.js.map → chunk-CJN5CEI3.js.map} +1 -1
  40. package/dist/{chunk-XRPMZ7TO.js → chunk-CYWOJA6B.js} +6 -4
  41. package/dist/chunk-CYWOJA6B.js.map +1 -0
  42. package/dist/{chunk-AQW54OWQ.js → chunk-DFBWYETS.js} +5 -3
  43. package/dist/chunk-DFBWYETS.js.map +1 -0
  44. package/dist/{chunk-EPANMGH7.cjs → chunk-FLDHYF5C.cjs} +11 -2
  45. package/dist/chunk-FLDHYF5C.cjs.map +1 -0
  46. package/dist/{chunk-BJ7BPLQK.js → chunk-GARVAUCU.js} +209 -29
  47. package/dist/chunk-GARVAUCU.js.map +1 -0
  48. package/dist/{chunk-YOVZMN4P.cjs → chunk-LXG6VL6R.cjs} +3 -3
  49. package/dist/{chunk-YOVZMN4P.cjs.map → chunk-LXG6VL6R.cjs.map} +1 -1
  50. package/dist/{chunk-NJBJ3CUG.js → chunk-NAVUTK6X.js} +3 -3
  51. package/dist/{chunk-NJBJ3CUG.js.map → chunk-NAVUTK6X.js.map} +1 -1
  52. package/dist/{chunk-2SFLLOMN.js → chunk-NVQSBRG6.js} +3 -3
  53. package/dist/{chunk-2SFLLOMN.js.map → chunk-NVQSBRG6.js.map} +1 -1
  54. package/dist/{chunk-FEAWEBWN.cjs → chunk-PDOXYXWX.cjs} +6 -4
  55. package/dist/chunk-PDOXYXWX.cjs.map +1 -0
  56. package/dist/{chunk-MS3TQSXU.js → chunk-QD6B6W6I.js} +6 -4
  57. package/dist/chunk-QD6B6W6I.js.map +1 -0
  58. package/dist/{chunk-NBNRQN6T.js → chunk-QGDPMM3C.js} +11 -2
  59. package/dist/chunk-QGDPMM3C.js.map +1 -0
  60. package/dist/{chunk-ZWLFHSON.cjs → chunk-R35ZJAYT.cjs} +38 -15
  61. package/dist/chunk-R35ZJAYT.cjs.map +1 -0
  62. package/dist/{chunk-4YD2WI57.cjs → chunk-R427EOZE.cjs} +19 -15
  63. package/dist/chunk-R427EOZE.cjs.map +1 -0
  64. package/dist/chunk-R5UQL2R5.cjs +18 -0
  65. package/dist/{chunk-LO6LIUZ6.cjs.map → chunk-R5UQL2R5.cjs.map} +1 -1
  66. package/dist/{chunk-TLVI2OQK.cjs → chunk-SETHRLQS.cjs} +18 -2
  67. package/dist/chunk-SETHRLQS.cjs.map +1 -0
  68. package/dist/{chunk-LSWHDOCL.cjs → chunk-SNVYOX46.cjs} +88 -72
  69. package/dist/chunk-SNVYOX46.cjs.map +1 -0
  70. package/dist/{chunk-BO3PV3OP.js → chunk-TDED5XES.js} +18 -3
  71. package/dist/chunk-TDED5XES.js.map +1 -0
  72. package/dist/{chunk-NKQVLWDF.js → chunk-ULEK4OM4.js} +3 -3
  73. package/dist/{chunk-NKQVLWDF.js.map → chunk-ULEK4OM4.js.map} +1 -1
  74. package/dist/{chunk-XJ4C4NFX.js → chunk-ZOL3L4EH.js} +63 -49
  75. package/dist/chunk-ZOL3L4EH.js.map +1 -0
  76. package/dist/{compact-session-NM56BREJ.cjs → compact-session-D2MQDB6G.cjs} +15 -15
  77. package/dist/{compact-session-NM56BREJ.cjs.map → compact-session-D2MQDB6G.cjs.map} +1 -1
  78. package/dist/{compact-session-3U2JYTVG.js → compact-session-N2PPHQO6.js} +6 -6
  79. package/dist/{compact-session-3U2JYTVG.js.map → compact-session-N2PPHQO6.js.map} +1 -1
  80. package/dist/{cron-CHn-F0fC.d.ts → cron-BubDpFJG.d.ts} +2 -2
  81. package/dist/{cron-BWDYetbq.d.cts → cron-CK2v0VWA.d.cts} +2 -2
  82. package/dist/cron.cjs +11 -11
  83. package/dist/cron.d.cts +3 -3
  84. package/dist/cron.d.ts +3 -3
  85. package/dist/cron.js +10 -10
  86. package/dist/eval.cjs +15 -15
  87. package/dist/eval.js +10 -10
  88. package/dist/{executor-HKHT4CWS.cjs → executor-5QL5AXIZ.cjs} +18 -15
  89. package/dist/executor-5QL5AXIZ.cjs.map +1 -0
  90. package/dist/{executor-3D2UDJHW.js → executor-THUXNAFR.js} +6 -3
  91. package/dist/executor-THUXNAFR.js.map +1 -0
  92. package/dist/generate-object-A5F576IT.cjs +20 -0
  93. package/dist/{generate-object-XBWD2PU7.cjs.map → generate-object-A5F576IT.cjs.map} +1 -1
  94. package/dist/{generate-object-S7MNVF2V.js → generate-object-TBDOBBYW.js} +4 -4
  95. package/dist/{generate-object-S7MNVF2V.js.map → generate-object-TBDOBBYW.js.map} +1 -1
  96. package/dist/generate-object.d.ts +14 -1
  97. package/dist/index.cjs +81 -65
  98. package/dist/index.cjs.map +1 -1
  99. package/dist/index.d.cts +36 -7
  100. package/dist/index.d.ts +36 -7
  101. package/dist/index.js +44 -28
  102. package/dist/index.js.map +1 -1
  103. package/dist/{inject-session-JVTZNQF6.cjs → inject-session-3ICZIJ2N.cjs} +4 -4
  104. package/dist/{inject-session-JVTZNQF6.cjs.map → inject-session-3ICZIJ2N.cjs.map} +1 -1
  105. package/dist/{inject-session-THABTKJY.js → inject-session-J26SHHIO.js} +3 -3
  106. package/dist/{inject-session-THABTKJY.js.map → inject-session-J26SHHIO.js.map} +1 -1
  107. package/dist/internal/agent-loop/prune-tool-results.d.ts +37 -0
  108. package/dist/internal/auth/credential-store.d.ts +1 -1
  109. package/dist/internal/auth/types.d.ts +4 -0
  110. package/dist/internal/providers/discovery.d.ts +2 -2
  111. package/dist/internal/providers/trust-gate.d.ts +35 -0
  112. package/dist/internal/runtime/plugin-loader/manifest-entry-import.d.ts +17 -0
  113. package/dist/internal/runtime/plugin-loader/workspace-plugin-trust.d.ts +16 -0
  114. package/dist/internal/runtime/skills/binary-on-path.d.ts +1 -0
  115. package/dist/internal/runtime/skills/discover-skills.d.ts +2 -0
  116. package/dist/internal/structured-output-helpers.d.ts +5 -2
  117. package/dist/mcp-auth.cjs +2 -2
  118. package/dist/mcp-auth.js +1 -1
  119. package/dist/models.cjs +11 -11
  120. package/dist/models.js +4 -4
  121. package/dist/providers.cjs +6 -6
  122. package/dist/providers.js +4 -4
  123. package/dist/sandbox/bwrap.d.cts +10 -8
  124. package/dist/sandbox/bwrap.d.ts +10 -8
  125. package/dist/sandbox/deny-read.d.cts +24 -0
  126. package/dist/sandbox/deny-read.d.ts +24 -0
  127. package/dist/sandbox/index.cjs +114 -35
  128. package/dist/sandbox/index.cjs.map +1 -1
  129. package/dist/sandbox/index.d.cts +2 -1
  130. package/dist/sandbox/index.d.ts +2 -1
  131. package/dist/sandbox/index.js +96 -21
  132. package/dist/sandbox/index.js.map +1 -1
  133. package/dist/sandbox/linux-sandbox.d.cts +16 -1
  134. package/dist/sandbox/linux-sandbox.d.ts +16 -1
  135. package/dist/sandbox/local-sandbox.d.cts +3 -1
  136. package/dist/sandbox/local-sandbox.d.ts +3 -1
  137. package/dist/sandbox/seccomp-delivery.d.cts +3 -0
  138. package/dist/sandbox/seccomp-delivery.d.ts +3 -0
  139. package/dist/sandbox/shell-escape.d.cts +14 -2
  140. package/dist/sandbox/shell-escape.d.ts +14 -2
  141. package/dist/sandbox/types.d.cts +45 -0
  142. package/dist/sandbox/types.d.ts +45 -0
  143. package/dist/{sdk-agent-4-dXI2GS.d.cts → sdk-agent-DwzHcuxy.d.cts} +28 -3
  144. package/dist/{sdk-agent-CTOJlWA_.d.ts → sdk-agent-a3fW1xUK.d.ts} +28 -3
  145. package/dist/skills.cjs +4 -4
  146. package/dist/skills.js +1 -1
  147. package/dist/stream-object-AS4YYM4B.cjs +20 -0
  148. package/dist/{stream-object-TEEK3CAX.cjs.map → stream-object-AS4YYM4B.cjs.map} +1 -1
  149. package/dist/stream-object-EKM4WGTI.js +7 -0
  150. package/dist/{stream-object-R6SMYV4R.js.map → stream-object-EKM4WGTI.js.map} +1 -1
  151. package/dist/stream-object.d.ts +14 -1
  152. package/dist/subagents-loader.d.cts +2 -2
  153. package/dist/subagents-loader.d.ts +2 -2
  154. package/dist/types/agent.d.ts +14 -1
  155. package/dist/types/run.d.ts +27 -2
  156. package/dist/workflow-as-tool.d.ts +39 -5
  157. package/dist/workflow-errors.d.ts +16 -0
  158. package/dist/workflow.cjs +31 -23
  159. package/dist/workflow.d.cts +55 -5
  160. package/dist/workflow.d.ts +55 -5
  161. package/dist/workflow.js +2 -2
  162. package/docs/adr/mutation-testing-scope.md +56 -0
  163. package/docs/error-codes.md +23 -18
  164. package/docs/harness-capability-map.md +78 -4
  165. package/package.json +1 -1
  166. package/dist/chunk-3FSBE4PS.js.map +0 -1
  167. package/dist/chunk-4YD2WI57.cjs.map +0 -1
  168. package/dist/chunk-5A4UFBHW.cjs.map +0 -1
  169. package/dist/chunk-7WARNHWW.cjs.map +0 -1
  170. package/dist/chunk-AQW54OWQ.js.map +0 -1
  171. package/dist/chunk-BJ7BPLQK.js.map +0 -1
  172. package/dist/chunk-BO3PV3OP.js.map +0 -1
  173. package/dist/chunk-EPANMGH7.cjs.map +0 -1
  174. package/dist/chunk-FEAWEBWN.cjs.map +0 -1
  175. package/dist/chunk-HN4IKB6X.cjs.map +0 -1
  176. package/dist/chunk-LO6LIUZ6.cjs +0 -18
  177. package/dist/chunk-LSWHDOCL.cjs.map +0 -1
  178. package/dist/chunk-MS3TQSXU.js.map +0 -1
  179. package/dist/chunk-NBNRQN6T.js.map +0 -1
  180. package/dist/chunk-NHOEXFZT.js.map +0 -1
  181. package/dist/chunk-Q6WT5535.cjs.map +0 -1
  182. package/dist/chunk-QISSETTG.cjs.map +0 -1
  183. package/dist/chunk-TLVI2OQK.cjs.map +0 -1
  184. package/dist/chunk-VVGFZQZC.js.map +0 -1
  185. package/dist/chunk-XJ4C4NFX.js.map +0 -1
  186. package/dist/chunk-XRPMZ7TO.js.map +0 -1
  187. package/dist/chunk-ZLFFDPXC.js.map +0 -1
  188. package/dist/chunk-ZWLFHSON.cjs.map +0 -1
  189. package/dist/executor-3D2UDJHW.js.map +0 -1
  190. package/dist/executor-HKHT4CWS.cjs.map +0 -1
  191. package/dist/generate-object-XBWD2PU7.cjs +0 -20
  192. package/dist/stream-object-R6SMYV4R.js +0 -7
  193. package/dist/stream-object-TEEK3CAX.cjs +0 -20
package/dist/index.cjs CHANGED
@@ -1,18 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var chunkHN4IKB6X_cjs = require('./chunk-HN4IKB6X.cjs');
3
+ var chunk2XWAYCFM_cjs = require('./chunk-2XWAYCFM.cjs');
4
4
  var chunkOBA6YK2R_cjs = require('./chunk-OBA6YK2R.cjs');
5
5
  var chunkAIZ6WXSL_cjs = require('./chunk-AIZ6WXSL.cjs');
6
6
  var chunk6CXRYPG7_cjs = require('./chunk-6CXRYPG7.cjs');
7
- var chunk4YD2WI57_cjs = require('./chunk-4YD2WI57.cjs');
8
- require('./chunk-FEAWEBWN.cjs');
9
- var chunkZWLFHSON_cjs = require('./chunk-ZWLFHSON.cjs');
10
- require('./chunk-TLVI2OQK.cjs');
7
+ var chunkR427EOZE_cjs = require('./chunk-R427EOZE.cjs');
8
+ require('./chunk-PDOXYXWX.cjs');
9
+ var chunkR35ZJAYT_cjs = require('./chunk-R35ZJAYT.cjs');
10
+ require('./chunk-SETHRLQS.cjs');
11
11
  require('./chunk-VTYY7XL5.cjs');
12
- var chunkIO4RI5ZJ_cjs = require('./chunk-IO4RI5ZJ.cjs');
13
- var chunkQ6WT5535_cjs = require('./chunk-Q6WT5535.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-YOVZMN4P.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 chunkLSWHDOCL_cjs = require('./chunk-LSWHDOCL.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) => chunkQ6WT5535_cjs.Agent.create(mergeAgentOptions(common, overrides, agentId)),
83
- getOrCreate: (agentId, overrides) => chunkQ6WT5535_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, chunkQ6WT5535_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 : chunkQ6WT5535_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 = chunkQ6WT5535_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-BVKIUP7F.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
@@ -1955,13 +1971,13 @@ function createSquad(options) {
1955
1971
  };
1956
1972
  }
1957
1973
  async function buildPipeline(agents, name) {
1958
- let builder = chunkZWLFHSON_cjs.Workflow.create({ name: name ?? "squad" });
1974
+ let builder = chunkR35ZJAYT_cjs.Workflow.create({ name: name ?? "squad" });
1959
1975
  for (let i = 0; i < agents.length; i++) {
1960
1976
  const member = agents[i];
1961
1977
  if (member === void 0) continue;
1962
1978
  const agent = isBuiltAgent(member) ? member : await materialize(member, i);
1963
1979
  const opts = i > 0 ? { origin: { kind: "peer", from: `agent-${i - 1}` } } : void 0;
1964
- builder = builder.then(chunkZWLFHSON_cjs.agentStep(`agent-${i}`, agent, (prev) => String(prev), opts));
1980
+ builder = builder.then(chunkR35ZJAYT_cjs.agentStep(`agent-${i}`, agent, (prev) => String(prev), opts));
1965
1981
  }
1966
1982
  return builder.commit();
1967
1983
  }
@@ -2065,7 +2081,7 @@ var FIXTURE_USER = {
2065
2081
  };
2066
2082
  var FIXTURE_MODELS = [
2067
2083
  {
2068
- id: chunkQ6WT5535_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 = chunkLSWHDOCL_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 chunkLSWHDOCL_cjs.readErrorResponseBody(response);
2157
- const mapped = chunkLSWHDOCL_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(chunkQ6WT5535_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 chunkLSWHDOCL_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 (chunkLSWHDOCL_cjs.shouldUseFixtureMode(apiKey)) {
2323
+ if (chunkSNVYOX46_cjs.shouldUseFixtureMode(apiKey)) {
2308
2324
  return request.fixture;
2309
2325
  }
2310
- if (!chunkLSWHDOCL_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 chunkLSWHDOCL_cjs.httpRequest(request.path, { apiKey });
2329
+ return chunkSNVYOX46_cjs.httpRequest(request.path, { apiKey });
2314
2330
  }
2315
2331
 
2316
2332
  // src/tool-blast-radius.ts
@@ -2459,7 +2475,7 @@ function recordWiring(input) {
2459
2475
 
2460
2476
  Object.defineProperty(exports, "StreamObjectError", {
2461
2477
  enumerable: true,
2462
- get: function () { return chunkHN4IKB6X_cjs.StreamObjectError; }
2478
+ get: function () { return chunk2XWAYCFM_cjs.StreamObjectError; }
2463
2479
  });
2464
2480
  Object.defineProperty(exports, "GOAL_CONTINUATION_MARKER", {
2465
2481
  enumerable: true,
@@ -2471,59 +2487,59 @@ Object.defineProperty(exports, "JudgeCredentialError", {
2471
2487
  });
2472
2488
  Object.defineProperty(exports, "GenerateObjectError", {
2473
2489
  enumerable: true,
2474
- get: function () { return chunk4YD2WI57_cjs.GenerateObjectError; }
2490
+ get: function () { return chunkR427EOZE_cjs.GenerateObjectError; }
2475
2491
  });
2476
2492
  Object.defineProperty(exports, "Workflow", {
2477
2493
  enumerable: true,
2478
- get: function () { return chunkZWLFHSON_cjs.Workflow; }
2494
+ get: function () { return chunkR35ZJAYT_cjs.Workflow; }
2479
2495
  });
2480
2496
  Object.defineProperty(exports, "agentStep", {
2481
2497
  enumerable: true,
2482
- get: function () { return chunkZWLFHSON_cjs.agentStep; }
2498
+ get: function () { return chunkR35ZJAYT_cjs.agentStep; }
2483
2499
  });
2484
2500
  Object.defineProperty(exports, "fn", {
2485
2501
  enumerable: true,
2486
- get: function () { return chunkZWLFHSON_cjs.fn; }
2502
+ get: function () { return chunkR35ZJAYT_cjs.fn; }
2487
2503
  });
2488
2504
  Object.defineProperty(exports, "Cron", {
2489
2505
  enumerable: true,
2490
- get: function () { return chunkIO4RI5ZJ_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 chunkQ6WT5535_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 chunkQ6WT5535_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 chunkQ6WT5535_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 chunkQ6WT5535_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 chunkQ6WT5535_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 chunkQ6WT5535_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 chunkQ6WT5535_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 chunkQ6WT5535_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 chunkQ6WT5535_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 chunkLSWHDOCL_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 chunkLSWHDOCL_cjs.normalizeUsage; }
2554
+ get: function () { return chunkSNVYOX46_cjs.normalizeUsage; }
2539
2555
  });
2540
2556
  Object.defineProperty(exports, "withCwdMutex", {
2541
2557
  enumerable: true,