@qvac/harness 1.0.0-rc.1 → 1.0.0-rc.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.
Files changed (796) hide show
  1. package/CHANGELOG.md +1168 -1
  2. package/NOTICE.md +16 -0
  3. package/README.md +278 -471
  4. package/dist-lib/index.d.ts +101 -169
  5. package/dist-lib/index.js +423 -1506
  6. package/dist-lib/lib/addon-seal.bare.d.ts +1 -0
  7. package/dist-lib/lib/addon-seal.bare.js +3 -0
  8. package/dist-lib/lib/addon-seal.node.d.ts +1 -0
  9. package/dist-lib/lib/addon-seal.node.js +1 -0
  10. package/dist-lib/lib/agent/delegate.d.ts +83 -0
  11. package/dist-lib/lib/agent/delegate.js +261 -0
  12. package/dist-lib/lib/agent/follow.d.ts +32 -0
  13. package/dist-lib/lib/agent/follow.js +162 -0
  14. package/dist-lib/lib/agent/index.d.ts +37 -0
  15. package/dist-lib/lib/agent/index.js +42 -0
  16. package/dist-lib/lib/agent/plan.d.ts +6 -0
  17. package/dist-lib/lib/agent/plan.js +74 -0
  18. package/dist-lib/lib/agent/resolve.d.ts +3 -0
  19. package/dist-lib/lib/agent/resolve.js +78 -0
  20. package/dist-lib/lib/{capabilities → agent}/tool-names.d.ts +0 -1
  21. package/dist-lib/lib/{capabilities → agent}/tool-names.js +0 -1
  22. package/dist-lib/lib/{capabilities → agent}/tool-selection.d.ts +3 -6
  23. package/dist-lib/lib/{capabilities → agent}/tool-selection.js +9 -1
  24. package/dist-lib/lib/agent/tools.d.ts +14 -0
  25. package/dist-lib/lib/agent/tools.js +16 -0
  26. package/dist-lib/lib/agent/transfer.d.ts +7 -0
  27. package/dist-lib/lib/agent/transfer.js +26 -0
  28. package/dist-lib/lib/capabilities/agent-ports.d.ts +3 -0
  29. package/dist-lib/lib/capabilities/agent-ports.js +9 -0
  30. package/dist-lib/lib/capabilities/completion-engine/actors/answering.d.ts +1 -1
  31. package/dist-lib/lib/capabilities/completion-engine/actors/answering.js +25 -9
  32. package/dist-lib/lib/capabilities/completion-engine/actors/batching.d.ts +3 -0
  33. package/dist-lib/lib/capabilities/completion-engine/actors/batching.js +90 -0
  34. package/dist-lib/lib/capabilities/completion-engine/actors/direct-search.d.ts +2 -1
  35. package/dist-lib/lib/capabilities/completion-engine/actors/direct-search.js +14 -5
  36. package/dist-lib/lib/capabilities/completion-engine/actors/execute.d.ts +5 -3
  37. package/dist-lib/lib/capabilities/completion-engine/actors/execute.js +8 -3
  38. package/dist-lib/lib/capabilities/completion-engine/actors/executing.d.ts +29 -2
  39. package/dist-lib/lib/capabilities/completion-engine/actors/executing.js +100 -40
  40. package/dist-lib/lib/capabilities/completion-engine/actors/execution-plan.d.ts +11 -10
  41. package/dist-lib/lib/capabilities/completion-engine/actors/execution-plan.js +28 -21
  42. package/dist-lib/lib/capabilities/completion-engine/actors/finishing.js +2 -2
  43. package/dist-lib/lib/capabilities/completion-engine/actors/inspect-prepare.d.ts +4 -0
  44. package/dist-lib/lib/capabilities/completion-engine/actors/inspect-prepare.js +67 -0
  45. package/dist-lib/lib/capabilities/completion-engine/actors/inspecting.d.ts +10 -3
  46. package/dist-lib/lib/capabilities/completion-engine/actors/inspecting.js +14 -11
  47. package/dist-lib/lib/capabilities/completion-engine/actors/loading-skill.d.ts +7 -3
  48. package/dist-lib/lib/capabilities/completion-engine/actors/loading-skill.js +30 -31
  49. package/dist-lib/lib/capabilities/completion-engine/actors/preparing.d.ts +3 -2
  50. package/dist-lib/lib/capabilities/completion-engine/actors/preparing.js +86 -102
  51. package/dist-lib/lib/capabilities/completion-engine/actors/rejecting.d.ts +1 -1
  52. package/dist-lib/lib/capabilities/completion-engine/actors/rejecting.js +24 -7
  53. package/dist-lib/lib/capabilities/completion-engine/actors/rejection.d.ts +4 -2
  54. package/dist-lib/lib/capabilities/completion-engine/actors/rejection.js +8 -8
  55. package/dist-lib/lib/capabilities/completion-engine/actors/resolving.d.ts +1 -1
  56. package/dist-lib/lib/capabilities/completion-engine/actors/resolving.js +73 -15
  57. package/dist-lib/lib/capabilities/completion-engine/actors/retrieving.d.ts +10 -0
  58. package/dist-lib/lib/capabilities/completion-engine/actors/retrieving.js +56 -0
  59. package/dist-lib/lib/capabilities/completion-engine/actors/run-prepare.d.ts +4 -0
  60. package/dist-lib/lib/capabilities/completion-engine/actors/run-prepare.js +74 -0
  61. package/dist-lib/lib/capabilities/completion-engine/actors/skill-step.d.ts +2 -0
  62. package/dist-lib/lib/capabilities/completion-engine/actors/skill-step.js +76 -0
  63. package/dist-lib/lib/capabilities/completion-engine/actors/stream.d.ts +2 -2
  64. package/dist-lib/lib/capabilities/completion-engine/actors/stream.js +2 -1
  65. package/dist-lib/lib/capabilities/completion-engine/actors/streaming.d.ts +1 -1
  66. package/dist-lib/lib/capabilities/completion-engine/actors/streaming.js +84 -26
  67. package/dist-lib/lib/capabilities/completion-engine/actors/wrap-up.d.ts +1 -1
  68. package/dist-lib/lib/capabilities/completion-engine/actors/wrap-up.js +16 -6
  69. package/dist-lib/lib/capabilities/completion-engine/actors.d.ts +11 -0
  70. package/dist-lib/lib/capabilities/completion-engine/actors.js +216 -0
  71. package/dist-lib/lib/capabilities/completion-engine/driver.d.ts +12 -5
  72. package/dist-lib/lib/capabilities/completion-engine/driver.js +118 -33
  73. package/dist-lib/lib/capabilities/completion-engine/durable.d.ts +2 -1
  74. package/dist-lib/lib/capabilities/completion-engine/durable.js +6 -4
  75. package/dist-lib/lib/capabilities/completion-engine/engine.d.ts +65 -0
  76. package/dist-lib/lib/{machine → capabilities/completion-engine}/engine.js +67 -130
  77. package/dist-lib/lib/capabilities/completion-engine/index.d.ts +30 -0
  78. package/dist-lib/lib/capabilities/completion-engine/index.js +44 -0
  79. package/dist-lib/lib/capabilities/completion-engine/loop.d.ts +58 -0
  80. package/dist-lib/lib/capabilities/completion-engine/loop.js +62 -0
  81. package/dist-lib/lib/capabilities/completion-engine/metrics.d.ts +4 -0
  82. package/dist-lib/lib/capabilities/completion-engine/metrics.js +46 -0
  83. package/dist-lib/lib/capabilities/completion-engine/operations.d.ts +5 -2
  84. package/dist-lib/lib/capabilities/completion-engine/operations.js +84 -15
  85. package/dist-lib/lib/capabilities/completion-engine/ports.d.ts +25 -2
  86. package/dist-lib/lib/capabilities/completion-engine/ports.js +25 -16
  87. package/dist-lib/lib/capabilities/completion-engine/prepare-step.d.ts +26 -0
  88. package/dist-lib/lib/{machine → capabilities/completion-engine}/replay-output.d.ts +1 -1
  89. package/dist-lib/lib/{machine → capabilities/completion-engine}/replay-output.js +1 -1
  90. package/dist-lib/lib/capabilities/{completion-loop → completion-engine}/round.d.ts +24 -4
  91. package/dist-lib/lib/capabilities/{completion-loop → completion-engine}/round.js +242 -27
  92. package/dist-lib/lib/capabilities/completion-engine/session.d.ts +19 -12
  93. package/dist-lib/lib/capabilities/completion-engine/session.js +12 -6
  94. package/dist-lib/lib/capabilities/completion-engine/splice.d.ts +2 -0
  95. package/dist-lib/lib/capabilities/completion-engine/splice.js +7 -0
  96. package/dist-lib/lib/capabilities/completion-engine/stages.d.ts +23 -0
  97. package/dist-lib/lib/capabilities/completion-engine/tool-caller.d.ts +10 -0
  98. package/dist-lib/lib/capabilities/completion-engine/tool-caller.js +151 -0
  99. package/dist-lib/lib/capabilities/completion-engine/tool-execution.d.ts +77 -0
  100. package/dist-lib/lib/capabilities/{completion-loop → completion-engine}/tool-execution.js +74 -25
  101. package/dist-lib/lib/capabilities/{completion-loop → completion-engine}/turns.d.ts +8 -4
  102. package/dist-lib/lib/capabilities/completion-engine/turns.js +225 -0
  103. package/dist-lib/lib/capabilities/enhance.d.ts +1 -1
  104. package/dist-lib/lib/capabilities/enhance.js +3 -2
  105. package/dist-lib/lib/capabilities/invoke.d.ts +1 -1
  106. package/dist-lib/lib/capabilities/preview-model-source.d.ts +1 -10
  107. package/dist-lib/lib/capabilities/preview-model-source.js +3 -1
  108. package/dist-lib/lib/capabilities/sdk-tool.d.ts +10 -0
  109. package/dist-lib/lib/capabilities/sdk-tool.js +130 -0
  110. package/dist-lib/lib/capabilities/skill-entry.d.ts +8 -0
  111. package/dist-lib/lib/capabilities/skill-entry.js +14 -0
  112. package/dist-lib/lib/capabilities/tool-plan.d.ts +6 -5
  113. package/dist-lib/lib/capabilities/tool-plan.js +16 -10
  114. package/dist-lib/lib/capabilities/tool-turns.d.ts +29 -4
  115. package/dist-lib/lib/capabilities/tool-turns.js +120 -10
  116. package/dist-lib/lib/capabilities/usage-breakdown.d.ts +1 -1
  117. package/dist-lib/lib/capabilities/usage-breakdown.js +4 -1
  118. package/dist-lib/lib/connect.d.ts +6 -0
  119. package/dist-lib/lib/connect.js +153 -65
  120. package/dist-lib/lib/context-window.d.ts +4 -2
  121. package/dist-lib/lib/context-window.js +27 -16
  122. package/dist-lib/lib/contract/agent.d.ts +65 -0
  123. package/dist-lib/lib/{capabilities/types.d.ts → contract/completion.d.ts} +140 -26
  124. package/dist-lib/lib/contract/exec.d.ts +134 -0
  125. package/dist-lib/lib/{hooks/types.d.ts → contract/hooks.d.ts} +62 -10
  126. package/dist-lib/lib/contract/index.d.ts +5 -0
  127. package/dist-lib/lib/contract/knowledge.d.ts +60 -0
  128. package/dist-lib/lib/contract/knowledge.js +1 -0
  129. package/dist-lib/lib/contract/models.d.ts +56 -0
  130. package/dist-lib/lib/contract/models.js +1 -0
  131. package/dist-lib/lib/contract/run.d.ts +142 -0
  132. package/dist-lib/lib/contract/run.js +1 -0
  133. package/dist-lib/lib/contract/sandbox.d.ts +29 -0
  134. package/dist-lib/lib/contract/sandbox.js +1 -0
  135. package/dist-lib/lib/contract/skill-readiness.d.ts +14 -0
  136. package/dist-lib/lib/contract/skill-readiness.js +1 -0
  137. package/dist-lib/lib/{capabilities/voice.d.ts → contract/speech.d.ts} +11 -16
  138. package/dist-lib/lib/contract/speech.js +1 -0
  139. package/dist-lib/lib/contract-types.d.ts +43 -16
  140. package/dist-lib/lib/docx/index.d.ts +0 -1
  141. package/dist-lib/lib/docx/index.js +15 -24
  142. package/dist-lib/lib/embeddings/index.d.ts +63 -0
  143. package/dist-lib/lib/embeddings/index.js +267 -0
  144. package/dist-lib/lib/fold/index.d.ts +50 -0
  145. package/dist-lib/lib/fold/index.js +123 -0
  146. package/dist-lib/lib/{tools/exec/adapters/python/guarded-fetch.d.ts → guarded-fetch.d.ts} +5 -12
  147. package/dist-lib/lib/{tools/exec/adapters/python/guarded-fetch.js → guarded-fetch.js} +12 -34
  148. package/dist-lib/lib/helpers/completion-params.d.ts +3 -0
  149. package/dist-lib/lib/helpers/completion-params.js +12 -0
  150. package/dist-lib/lib/helpers/copy.d.ts +1 -0
  151. package/dist-lib/lib/helpers/copy.js +5 -0
  152. package/dist-lib/lib/helpers/drain.d.ts +5 -0
  153. package/dist-lib/lib/helpers/drain.js +19 -0
  154. package/dist-lib/lib/{machine/errors.d.ts → helpers/engine-error.d.ts} +6 -9
  155. package/dist-lib/lib/{machine/errors.js → helpers/engine-error.js} +9 -25
  156. package/dist-lib/lib/helpers/failure-result.d.ts +21 -0
  157. package/dist-lib/lib/helpers/failure-result.js +39 -0
  158. package/dist-lib/lib/helpers/head-tail.d.ts +7 -0
  159. package/dist-lib/lib/helpers/head-tail.js +19 -0
  160. package/dist-lib/lib/helpers/image-settings.d.ts +2 -0
  161. package/dist-lib/lib/helpers/image-settings.js +19 -0
  162. package/dist-lib/lib/helpers/mcp-methods.d.ts +2 -0
  163. package/dist-lib/lib/helpers/mcp-methods.js +14 -0
  164. package/dist-lib/lib/helpers/race-abort.d.ts +1 -1
  165. package/dist-lib/lib/helpers/race-abort.js +1 -1
  166. package/dist-lib/lib/helpers/repeated-reply.d.ts +2 -0
  167. package/dist-lib/lib/helpers/repeated-reply.js +63 -0
  168. package/dist-lib/lib/helpers/run-outcome.d.ts +5 -4
  169. package/dist-lib/lib/helpers/run-outcome.js +11 -9
  170. package/dist-lib/lib/{machine → helpers}/stable-stringify.js +1 -1
  171. package/dist-lib/lib/helpers/tool-call-markup.d.ts +1 -0
  172. package/dist-lib/lib/helpers/tool-call-markup.js +9 -5
  173. package/dist-lib/lib/helpers/tool-label.d.ts +2 -2
  174. package/dist-lib/lib/helpers/tool-label.js +3 -3
  175. package/dist-lib/lib/hooks/built-in/arg-repair.d.ts +1 -1
  176. package/dist-lib/lib/hooks/built-in/arg-repair.js +109 -19
  177. package/dist-lib/lib/hooks/built-in/egress.d.ts +1 -1
  178. package/dist-lib/lib/hooks/built-in/egress.js +13 -21
  179. package/dist-lib/lib/hooks/built-in/sandbox.d.ts +1 -1
  180. package/dist-lib/lib/hooks/built-in/skill-catalog.d.ts +1 -1
  181. package/dist-lib/lib/hooks/index.d.ts +48 -0
  182. package/dist-lib/lib/hooks/index.js +130 -0
  183. package/dist-lib/lib/hooks/run.d.ts +9 -6
  184. package/dist-lib/lib/hooks/run.js +113 -48
  185. package/dist-lib/lib/{completion-lifecycle.d.ts → lifecycle/completion-run.d.ts} +1 -1
  186. package/dist-lib/lib/{completion-lifecycle.js → lifecycle/completion-run.js} +1 -1
  187. package/dist-lib/lib/lifecycle/index.d.ts +83 -0
  188. package/dist-lib/lib/lifecycle/index.js +335 -0
  189. package/dist-lib/lib/{harness-lifecycle.js → lifecycle/machine.js} +2 -2
  190. package/dist-lib/lib/machine/completion/actions/completion.d.ts +11 -2
  191. package/dist-lib/lib/machine/completion/actions/completion.js +98 -14
  192. package/dist-lib/lib/machine/completion/actions/prepare.d.ts +9 -0
  193. package/dist-lib/lib/machine/completion/actions/prepare.js +30 -0
  194. package/dist-lib/lib/machine/completion/actions/tools.d.ts +10 -1
  195. package/dist-lib/lib/machine/completion/actions/tools.js +79 -7
  196. package/dist-lib/lib/machine/completion/context.d.ts +7 -2
  197. package/dist-lib/lib/machine/completion/context.js +29 -5
  198. package/dist-lib/lib/machine/completion/guards/retry.d.ts +1 -0
  199. package/dist-lib/lib/machine/completion/guards/retry.js +6 -3
  200. package/dist-lib/lib/machine/completion/implementations.d.ts +38 -12
  201. package/dist-lib/lib/machine/completion/implementations.js +81 -31
  202. package/dist-lib/lib/machine/completion/machine.d.ts +140 -63
  203. package/dist-lib/lib/machine/completion/machine.js +194 -58
  204. package/dist-lib/lib/machine/completion/ports.d.ts +7 -55
  205. package/dist-lib/lib/machine/completion/ports.js +1 -224
  206. package/dist-lib/lib/machine/completion/rules.d.ts +20 -19
  207. package/dist-lib/lib/machine/completion/rules.js +73 -52
  208. package/dist-lib/lib/machine/completion/types.d.ts +110 -187
  209. package/dist-lib/lib/machine/completion/version.d.ts +1 -0
  210. package/dist-lib/lib/machine/completion/version.js +1 -0
  211. package/dist-lib/lib/machine/definition.d.ts +23 -0
  212. package/dist-lib/lib/machine/definition.js +76 -0
  213. package/dist-lib/lib/machine/index.d.ts +463 -20
  214. package/dist-lib/lib/machine/index.js +15 -11
  215. package/dist-lib/lib/models/llm-presets.d.ts +1 -0
  216. package/dist-lib/lib/models/model-catalog-constants.d.ts +3 -1
  217. package/dist-lib/lib/models/model-catalog-constants.js +9 -1
  218. package/dist-lib/lib/models/model-catalog.d.ts +31 -4
  219. package/dist-lib/lib/models/model-catalog.js +89 -8
  220. package/dist-lib/lib/models/model-fit.d.ts +55 -0
  221. package/dist-lib/lib/models/model-fit.js +102 -0
  222. package/dist-lib/lib/models/model-handle.d.ts +4 -0
  223. package/dist-lib/lib/models/model-handle.js +8 -1
  224. package/dist-lib/lib/models/model-list.d.ts +4 -0
  225. package/dist-lib/lib/models/model-pool.d.ts +35 -10
  226. package/dist-lib/lib/models/model-pool.js +63 -14
  227. package/dist-lib/lib/models/music-catalog.d.ts +1 -1
  228. package/dist-lib/lib/models/music-catalog.js +8 -1
  229. package/dist-lib/lib/models/sdk-faults.d.ts +2 -0
  230. package/dist-lib/lib/models/sdk-faults.js +18 -0
  231. package/dist-lib/lib/models/tts-model-default.js +3 -3
  232. package/dist-lib/lib/office/engine/codes.d.ts +62 -0
  233. package/dist-lib/lib/office/engine/codes.js +61 -0
  234. package/dist-lib/lib/office/engine/docx/document.d.ts +216 -0
  235. package/dist-lib/lib/office/engine/docx/document.js +1152 -0
  236. package/dist-lib/lib/office/engine/docx/index.d.ts +7 -0
  237. package/dist-lib/lib/office/engine/docx/index.js +8 -0
  238. package/dist-lib/lib/office/engine/docx/styles.d.ts +31 -0
  239. package/dist-lib/lib/office/engine/docx/styles.js +173 -0
  240. package/dist-lib/lib/office/engine/docx/template.d.ts +18 -0
  241. package/dist-lib/lib/office/engine/docx/template.js +133 -0
  242. package/dist-lib/lib/office/engine/docx/text.d.ts +55 -0
  243. package/dist-lib/lib/office/engine/docx/text.js +538 -0
  244. package/dist-lib/lib/office/engine/drawingml/chart.d.ts +63 -0
  245. package/dist-lib/lib/office/engine/drawingml/chart.js +539 -0
  246. package/dist-lib/lib/office/engine/drawingml/text.d.ts +35 -0
  247. package/dist-lib/lib/office/engine/drawingml/text.js +352 -0
  248. package/dist-lib/lib/office/engine/errors.d.ts +6 -0
  249. package/dist-lib/lib/office/engine/errors.js +12 -0
  250. package/dist-lib/lib/office/engine/image.d.ts +8 -0
  251. package/dist-lib/lib/office/engine/image.js +48 -0
  252. package/dist-lib/lib/office/engine/index.d.ts +12 -0
  253. package/dist-lib/lib/office/engine/index.js +7 -0
  254. package/dist-lib/lib/office/engine/opc/content-types.d.ts +17 -0
  255. package/dist-lib/lib/office/engine/opc/content-types.js +74 -0
  256. package/dist-lib/lib/office/engine/opc/media.d.ts +13 -0
  257. package/dist-lib/lib/office/engine/opc/media.js +11 -0
  258. package/dist-lib/lib/office/engine/opc/package.d.ts +51 -0
  259. package/dist-lib/lib/office/engine/opc/package.js +324 -0
  260. package/dist-lib/lib/office/engine/opc/paths.d.ts +7 -0
  261. package/dist-lib/lib/office/engine/opc/paths.js +46 -0
  262. package/dist-lib/lib/office/engine/opc/properties.d.ts +7 -0
  263. package/dist-lib/lib/office/engine/opc/properties.js +75 -0
  264. package/dist-lib/lib/office/engine/opc/relationships.d.ts +23 -0
  265. package/dist-lib/lib/office/engine/opc/relationships.js +65 -0
  266. package/dist-lib/lib/office/engine/opc/zip.d.ts +15 -0
  267. package/dist-lib/lib/office/engine/opc/zip.js +264 -0
  268. package/dist-lib/lib/office/engine/pptx/fit.d.ts +12 -0
  269. package/dist-lib/lib/office/engine/pptx/fit.js +37 -0
  270. package/dist-lib/lib/office/engine/pptx/index.d.ts +8 -0
  271. package/dist-lib/lib/office/engine/pptx/index.js +8 -0
  272. package/dist-lib/lib/office/engine/pptx/inherit.d.ts +29 -0
  273. package/dist-lib/lib/office/engine/pptx/inherit.js +155 -0
  274. package/dist-lib/lib/office/engine/pptx/notes.d.ts +5 -0
  275. package/dist-lib/lib/office/engine/pptx/notes.js +85 -0
  276. package/dist-lib/lib/office/engine/pptx/presentation.d.ts +54 -0
  277. package/dist-lib/lib/office/engine/pptx/presentation.js +749 -0
  278. package/dist-lib/lib/office/engine/pptx/read.d.ts +9 -0
  279. package/dist-lib/lib/office/engine/pptx/read.js +66 -0
  280. package/dist-lib/lib/office/engine/pptx/shapes.d.ts +52 -0
  281. package/dist-lib/lib/office/engine/pptx/shapes.js +276 -0
  282. package/dist-lib/lib/office/engine/pptx/slides.d.ts +27 -0
  283. package/dist-lib/lib/office/engine/pptx/slides.js +123 -0
  284. package/dist-lib/lib/office/engine/pptx/template.d.ts +20 -0
  285. package/dist-lib/lib/office/engine/pptx/template.js +391 -0
  286. package/dist-lib/lib/office/engine/pptx/types.d.ts +120 -0
  287. package/dist-lib/lib/office/engine/pptx/types.js +1 -0
  288. package/dist-lib/lib/office/engine/units.d.ts +3 -0
  289. package/dist-lib/lib/office/engine/units.js +12 -0
  290. package/dist-lib/lib/office/engine/utf8.d.ts +2 -0
  291. package/dist-lib/lib/office/engine/utf8.js +103 -0
  292. package/dist-lib/lib/office/engine/xlsx/formula.d.ts +49 -0
  293. package/dist-lib/lib/office/engine/xlsx/formula.js +381 -0
  294. package/dist-lib/lib/office/engine/xlsx/index.d.ts +8 -0
  295. package/dist-lib/lib/office/engine/xlsx/index.js +8 -0
  296. package/dist-lib/lib/office/engine/xlsx/refs.d.ts +22 -0
  297. package/dist-lib/lib/office/engine/xlsx/refs.js +82 -0
  298. package/dist-lib/lib/office/engine/xlsx/reshape.d.ts +21 -0
  299. package/dist-lib/lib/office/engine/xlsx/reshape.js +424 -0
  300. package/dist-lib/lib/office/engine/xlsx/sheet.d.ts +108 -0
  301. package/dist-lib/lib/office/engine/xlsx/sheet.js +662 -0
  302. package/dist-lib/lib/office/engine/xlsx/strings.d.ts +15 -0
  303. package/dist-lib/lib/office/engine/xlsx/strings.js +93 -0
  304. package/dist-lib/lib/office/engine/xlsx/styles.d.ts +38 -0
  305. package/dist-lib/lib/office/engine/xlsx/styles.js +369 -0
  306. package/dist-lib/lib/office/engine/xlsx/template.d.ts +7 -0
  307. package/dist-lib/lib/office/engine/xlsx/template.js +54 -0
  308. package/dist-lib/lib/office/engine/xlsx/workbook.d.ts +161 -0
  309. package/dist-lib/lib/office/engine/xlsx/workbook.js +850 -0
  310. package/dist-lib/lib/office/engine/xlsx/write.d.ts +2 -0
  311. package/dist-lib/lib/office/engine/xlsx/write.js +42 -0
  312. package/dist-lib/lib/office/engine/xml.d.ts +45 -0
  313. package/dist-lib/lib/office/engine/xml.js +258 -0
  314. package/dist-lib/lib/office/extract.d.ts +9 -0
  315. package/dist-lib/lib/office/extract.js +19 -0
  316. package/dist-lib/lib/office/index.d.ts +1 -1
  317. package/dist-lib/lib/office/index.js +74 -19
  318. package/dist-lib/lib/plugins/addons.d.ts +2 -0
  319. package/dist-lib/lib/plugins/addons.js +12 -0
  320. package/dist-lib/lib/plugins/context.d.ts +16 -0
  321. package/dist-lib/lib/plugins/context.js +48 -0
  322. package/dist-lib/lib/plugins/index.d.ts +3 -0
  323. package/dist-lib/lib/plugins/index.js +1 -0
  324. package/dist-lib/lib/plugins/registry.d.ts +116 -0
  325. package/dist-lib/lib/plugins/registry.js +505 -0
  326. package/dist-lib/lib/plugins/runtime.d.ts +27 -0
  327. package/dist-lib/lib/plugins/runtime.js +143 -0
  328. package/dist-lib/lib/plugins/scope.d.ts +17 -0
  329. package/dist-lib/lib/plugins/scope.js +55 -0
  330. package/dist-lib/lib/prompt.d.ts +2 -5
  331. package/dist-lib/lib/prompt.js +9 -0
  332. package/dist-lib/lib/residency/completion-runtime.d.ts +52 -0
  333. package/dist-lib/lib/{capabilities → residency}/completion-runtime.js +22 -15
  334. package/dist-lib/lib/residency/index.d.ts +148 -0
  335. package/dist-lib/lib/residency/index.js +539 -0
  336. package/dist-lib/lib/run-log/boundary.d.ts +17 -0
  337. package/dist-lib/lib/run-log/boundary.js +58 -0
  338. package/dist-lib/lib/run-log/history-codec.d.ts +7 -6
  339. package/dist-lib/lib/run-log/history-codec.js +175 -46
  340. package/dist-lib/lib/run-log/index.d.ts +46 -0
  341. package/dist-lib/lib/run-log/index.js +40 -0
  342. package/dist-lib/lib/run-log/inspect.d.ts +53 -0
  343. package/dist-lib/lib/{run-log-inspect.js → run-log/inspect.js} +196 -139
  344. package/dist-lib/lib/run-log/live.d.ts +37 -0
  345. package/dist-lib/lib/run-log/live.js +195 -0
  346. package/dist-lib/lib/run-log/persisted-actor.d.ts +1 -6
  347. package/dist-lib/lib/run-log/persisted-actor.js +4 -3
  348. package/dist-lib/lib/run-log/protocol-types.d.ts +37 -14
  349. package/dist-lib/lib/run-log/protocol.d.ts +1 -2
  350. package/dist-lib/lib/run-log/protocol.js +45 -40
  351. package/dist-lib/lib/{run-log-redact.d.ts → run-log/redact.d.ts} +3 -2
  352. package/dist-lib/lib/{run-log-redact.js → run-log/redact.js} +101 -16
  353. package/dist-lib/lib/run-log/replay.d.ts +3 -2
  354. package/dist-lib/lib/run-log/replay.js +7 -6
  355. package/dist-lib/lib/run-log/request-codec.d.ts +17 -0
  356. package/dist-lib/lib/run-log/request-codec.js +87 -0
  357. package/dist-lib/lib/run-log/run-journal.d.ts +14 -8
  358. package/dist-lib/lib/run-log/run-journal.js +100 -75
  359. package/dist-lib/lib/sdk-loader.d.ts +2 -7
  360. package/dist-lib/lib/sdk-loader.js +8 -15
  361. package/dist-lib/lib/sdk-storage.js +3 -1
  362. package/dist-lib/lib/serve.js +139 -38
  363. package/dist-lib/lib/skills-host/index.d.ts +59 -0
  364. package/dist-lib/lib/skills-host/index.js +268 -0
  365. package/dist-lib/lib/spawn.d.ts +37 -3
  366. package/dist-lib/lib/spawn.js +7 -3
  367. package/dist-lib/lib/spill.d.ts +11 -0
  368. package/dist-lib/lib/spill.js +82 -0
  369. package/dist-lib/lib/tools/{exec/adapters/python → attachments}/output-policy.d.ts +2 -3
  370. package/dist-lib/lib/tools/{exec/adapters/python/attachments.d.ts → attachments/staging.d.ts} +2 -2
  371. package/dist-lib/lib/tools/{exec/adapters/python/attachments.js → attachments/staging.js} +3 -3
  372. package/dist-lib/lib/tools/catalog.d.ts +1 -1
  373. package/dist-lib/lib/tools/catalog.js +1 -1
  374. package/dist-lib/lib/tools/create-documents.d.ts +1 -1
  375. package/dist-lib/lib/tools/edit-documents.d.ts +1 -1
  376. package/dist-lib/lib/tools/exec/adapters/shell/shell-adapter.d.ts +5 -7
  377. package/dist-lib/lib/tools/exec/adapters/shell/shell-adapter.js +3 -2
  378. package/dist-lib/lib/tools/exec/bare-runtime.js +2 -4
  379. package/dist-lib/lib/tools/exec/python-source.d.ts +6 -0
  380. package/dist-lib/lib/tools/exec/python-source.js +243 -0
  381. package/dist-lib/lib/tools/exec/runner.d.ts +24 -45
  382. package/dist-lib/lib/tools/exec/runner.js +68 -34
  383. package/dist-lib/lib/tools/exec/scope.d.ts +2 -0
  384. package/dist-lib/lib/tools/exec/scope.js +33 -2
  385. package/dist-lib/lib/tools/exec/shell-guidance.d.ts +11 -9
  386. package/dist-lib/lib/tools/exec/shell-guidance.js +28 -57
  387. package/dist-lib/lib/tools/exec/video-tools.d.ts +0 -1
  388. package/dist-lib/lib/tools/exec/video-tools.js +0 -5
  389. package/dist-lib/lib/tools/exec.d.ts +7 -14
  390. package/dist-lib/lib/tools/exec.js +181 -457
  391. package/dist-lib/lib/tools/file-glob.d.ts +1 -1
  392. package/dist-lib/lib/tools/file-glob.js +1 -0
  393. package/dist-lib/lib/tools/fs/scope.d.ts +1 -0
  394. package/dist-lib/lib/tools/fs/scope.js +8 -3
  395. package/dist-lib/lib/tools/grep.d.ts +1 -1
  396. package/dist-lib/lib/tools/grep.js +1 -0
  397. package/dist-lib/lib/tools/http-request.d.ts +1 -1
  398. package/dist-lib/lib/tools/http-request.js +1 -0
  399. package/dist-lib/lib/tools/index.d.ts +21 -0
  400. package/dist-lib/lib/tools/index.js +46 -0
  401. package/dist-lib/lib/tools/office/ops.d.ts +13 -0
  402. package/dist-lib/lib/tools/office/ops.js +100 -0
  403. package/dist-lib/lib/tools/office.d.ts +12 -0
  404. package/dist-lib/lib/tools/office.js +486 -0
  405. package/dist-lib/lib/tools/operations/compile.d.ts +3 -3
  406. package/dist-lib/lib/tools/operations/compile.js +2 -1
  407. package/dist-lib/lib/tools/operations/decoders.js +1 -1
  408. package/dist-lib/lib/tools/operations/manifest.d.ts +1 -1
  409. package/dist-lib/lib/tools/outbound-guard.d.ts +3 -1
  410. package/dist-lib/lib/tools/outbound-guard.js +4 -0
  411. package/dist-lib/lib/tools/pdf/build.d.ts +43 -0
  412. package/dist-lib/lib/tools/pdf/build.js +150 -0
  413. package/dist-lib/lib/tools/pdf/images.d.ts +7 -0
  414. package/dist-lib/lib/tools/pdf/images.js +82 -0
  415. package/dist-lib/lib/tools/pdf/request.d.ts +63 -0
  416. package/dist-lib/lib/tools/pdf/request.js +335 -0
  417. package/dist-lib/lib/tools/pdf.d.ts +6 -0
  418. package/dist-lib/lib/tools/pdf.js +303 -0
  419. package/dist-lib/lib/tools/read-files.d.ts +1 -1
  420. package/dist-lib/lib/tools/read-files.js +5 -1
  421. package/dist-lib/lib/tools/skill.d.ts +2 -4
  422. package/dist-lib/lib/tools/skill.js +20 -22
  423. package/dist-lib/lib/tools/skills/auth-resolver.d.ts +1 -1
  424. package/dist-lib/lib/tools/skills/catalog.d.ts +9 -2
  425. package/dist-lib/lib/tools/skills/catalog.js +7 -7
  426. package/dist-lib/lib/tools/skills/cli-schema.js +1 -1
  427. package/dist-lib/lib/tools/skills/frontmatter-parser.d.ts +1 -0
  428. package/dist-lib/lib/tools/skills/frontmatter-parser.js +1 -0
  429. package/dist-lib/lib/tools/skills/mention.d.ts +1 -2
  430. package/dist-lib/lib/tools/skills/mention.js +0 -3
  431. package/dist-lib/lib/tools/skills/scope-key.d.ts +2 -1
  432. package/dist-lib/lib/tools/skills/scope-key.js +2 -3
  433. package/dist-lib/lib/tools/skills/skill-state.d.ts +2 -2
  434. package/dist-lib/lib/tools/skills/skill-state.js +11 -28
  435. package/dist-lib/lib/tools/toolsets.d.ts +3 -7
  436. package/dist-lib/lib/tools/toolsets.js +5 -9
  437. package/dist-lib/lib/tools/web-fetch.d.ts +1 -1
  438. package/dist-lib/lib/tools/web-fetch.js +42 -6
  439. package/dist-lib/lib/web-fetch/embedded-state.js +1 -1
  440. package/dist-lib/lib/web-fetch/extract.js +1 -1
  441. package/dist-lib/lib/web-fetch/images.js +1 -1
  442. package/dist-lib/lib/web-fetch/video.js +1 -1
  443. package/dist-lib/lib/wire.d.ts +8 -0
  444. package/dist-lib/lib/wire.js +112 -2
  445. package/dist-lib/plugins/code-mode/index.d.ts +16 -0
  446. package/dist-lib/plugins/code-mode/index.js +43 -0
  447. package/dist-lib/plugins/coding/index.d.ts +15 -0
  448. package/dist-lib/plugins/coding/index.js +42 -0
  449. package/dist-lib/plugins/coding/jobs.d.ts +24 -0
  450. package/dist-lib/plugins/coding/jobs.js +144 -0
  451. package/dist-lib/plugins/coding/session.d.ts +51 -0
  452. package/dist-lib/plugins/coding/session.js +263 -0
  453. package/dist-lib/plugins/coding/write-file.d.ts +3 -0
  454. package/dist-lib/plugins/coding/write-file.js +52 -0
  455. package/dist-lib/plugins/command-hooks/index.d.ts +88 -0
  456. package/dist-lib/plugins/command-hooks/index.js +338 -0
  457. package/dist-lib/plugins/external-agents/acp.d.ts +27 -0
  458. package/dist-lib/plugins/external-agents/acp.js +264 -0
  459. package/dist-lib/plugins/external-agents/cli.d.ts +3 -0
  460. package/dist-lib/plugins/external-agents/cli.js +199 -0
  461. package/dist-lib/plugins/external-agents/index.d.ts +25 -0
  462. package/dist-lib/plugins/external-agents/index.js +54 -0
  463. package/dist-lib/plugins/external-agents/process.d.ts +19 -0
  464. package/dist-lib/plugins/external-agents/process.js +92 -0
  465. package/dist-lib/plugins/external-agents/targets.d.ts +32 -0
  466. package/dist-lib/plugins/external-agents/targets.js +66 -0
  467. package/dist-lib/{lib/tools → plugins/image}/edit-image.d.ts +3 -2
  468. package/dist-lib/{lib/tools → plugins/image}/edit-image.js +7 -2
  469. package/dist-lib/{lib/tools → plugins/image}/generate-image.d.ts +6 -12
  470. package/dist-lib/{lib/tools → plugins/image}/generate-image.js +6 -7
  471. package/dist-lib/plugins/image/index.d.ts +25 -0
  472. package/dist-lib/plugins/image/index.js +76 -0
  473. package/dist-lib/plugins/knowledge/index.d.ts +21 -0
  474. package/dist-lib/plugins/knowledge/index.js +47 -0
  475. package/dist-lib/plugins/knowledge/search-tool.d.ts +4 -0
  476. package/dist-lib/plugins/knowledge/search-tool.js +38 -0
  477. package/dist-lib/plugins/knowledge/store.d.ts +42 -0
  478. package/dist-lib/plugins/knowledge/store.js +332 -0
  479. package/dist-lib/plugins/lsp/index.d.ts +32 -0
  480. package/dist-lib/plugins/lsp/index.js +77 -0
  481. package/dist-lib/plugins/lsp/pool.d.ts +24 -0
  482. package/dist-lib/plugins/lsp/pool.js +73 -0
  483. package/dist-lib/plugins/lsp/rpc.d.ts +37 -0
  484. package/dist-lib/plugins/lsp/rpc.js +145 -0
  485. package/dist-lib/plugins/lsp/server.d.ts +55 -0
  486. package/dist-lib/plugins/lsp/server.js +192 -0
  487. package/dist-lib/plugins/lsp/tool.d.ts +12 -0
  488. package/dist-lib/plugins/lsp/tool.js +366 -0
  489. package/dist-lib/plugins/mcp/call.d.ts +17 -0
  490. package/dist-lib/{lib/tools/mcp-call.js → plugins/mcp/call.js} +92 -84
  491. package/dist-lib/plugins/mcp/index.d.ts +21 -0
  492. package/dist-lib/plugins/mcp/index.js +85 -0
  493. package/dist-lib/{lib/tools → plugins}/mcp/protocol.d.ts +9 -16
  494. package/dist-lib/{lib/tools → plugins}/mcp/protocol.js +3 -16
  495. package/dist-lib/plugins/mcp/server.d.ts +23 -0
  496. package/dist-lib/plugins/mcp/server.js +108 -0
  497. package/dist-lib/{lib/tools → plugins/music}/generate-music.d.ts +6 -15
  498. package/dist-lib/{lib/tools → plugins/music}/generate-music.js +7 -8
  499. package/dist-lib/plugins/music/index.d.ts +24 -0
  500. package/dist-lib/plugins/music/index.js +48 -0
  501. package/dist-lib/{lib/tools/exec → plugins}/obsidian/cli-process.d.ts +2 -2
  502. package/dist-lib/{lib/tools/exec → plugins}/obsidian/cli-process.js +2 -2
  503. package/dist-lib/{lib/tools/exec → plugins}/obsidian/cli.d.ts +1 -1
  504. package/dist-lib/{lib/tools/exec → plugins}/obsidian/cli.js +7 -7
  505. package/dist-lib/{lib/tools/exec → plugins}/obsidian/command.js +1 -1
  506. package/dist-lib/{lib/tools/exec → plugins}/obsidian/guidance.d.ts +0 -1
  507. package/dist-lib/{lib/tools/exec → plugins}/obsidian/guidance.js +0 -7
  508. package/dist-lib/plugins/obsidian/index.d.ts +26 -0
  509. package/dist-lib/plugins/obsidian/index.js +138 -0
  510. package/dist-lib/{lib/tools/skills/obsidian-readiness.d.ts → plugins/obsidian/readiness.d.ts} +1 -0
  511. package/dist-lib/{lib/tools/skills/obsidian-readiness.js → plugins/obsidian/readiness.js} +7 -0
  512. package/dist-lib/plugins/python/guarded-fetch.d.ts +13 -0
  513. package/dist-lib/plugins/python/guarded-fetch.js +32 -0
  514. package/dist-lib/plugins/python/index.d.ts +18 -0
  515. package/dist-lib/plugins/python/index.js +19 -0
  516. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/interrupt-timer.js +2 -2
  517. package/dist-lib/plugins/python/language.d.ts +8 -0
  518. package/dist-lib/plugins/python/language.js +377 -0
  519. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/loader.d.ts +1 -0
  520. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/loader.js +8 -1
  521. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/memfs.js +3 -3
  522. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/module-distributions.js +0 -3
  523. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/pyodide.js +4 -4
  524. package/dist-lib/plugins/python/python-adapter.d.ts +41 -0
  525. package/dist-lib/plugins/python/python-adapter.js +515 -0
  526. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/run-session.d.ts +1 -2
  527. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/run-session.js +10 -99
  528. package/dist-lib/plugins/python/shell-redirect.d.ts +8 -0
  529. package/dist-lib/plugins/python/shell-redirect.js +25 -0
  530. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/wheels.js +4 -3
  531. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/worker/active.js +1 -1
  532. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/worker/client.d.ts +1 -0
  533. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/worker/client.js +6 -3
  534. package/dist-lib/plugins/python/worker/entry.d.ts +1 -0
  535. package/dist-lib/plugins/python/worker/entry.js +9 -0
  536. package/dist-lib/plugins/python/worker/interrupt-deadline.d.ts +1 -0
  537. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/worker/interrupt-deadline.js +1 -1
  538. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/worker/serve.js +2 -2
  539. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/worker/spawn.d.ts +1 -0
  540. package/dist-lib/{lib/tools/exec/adapters → plugins}/python/worker/spawn.js +7 -0
  541. package/dist-lib/plugins/quickjs/index.d.ts +20 -0
  542. package/dist-lib/plugins/quickjs/index.js +25 -0
  543. package/dist-lib/plugins/quickjs/language.d.ts +3 -0
  544. package/dist-lib/plugins/quickjs/language.js +59 -0
  545. package/dist-lib/plugins/quickjs/runtime.d.ts +38 -0
  546. package/dist-lib/plugins/quickjs/runtime.js +421 -0
  547. package/dist-lib/plugins/quickjs/text-decoder.d.ts +1 -0
  548. package/dist-lib/plugins/quickjs/text-decoder.js +15 -0
  549. package/dist-lib/plugins/run-report/brand.d.ts +1 -0
  550. package/dist-lib/plugins/run-report/brand.js +1 -0
  551. package/dist-lib/plugins/run-report/flow-view.d.ts +6 -0
  552. package/dist-lib/plugins/run-report/flow-view.js +53 -0
  553. package/dist-lib/plugins/run-report/flow.d.ts +33 -0
  554. package/dist-lib/plugins/run-report/flow.js +201 -0
  555. package/dist-lib/plugins/run-report/index.d.ts +17 -0
  556. package/dist-lib/plugins/run-report/index.js +27 -0
  557. package/dist-lib/plugins/run-report/layout.d.ts +39 -0
  558. package/dist-lib/plugins/run-report/layout.js +175 -0
  559. package/dist-lib/plugins/run-report/meaning.d.ts +6 -0
  560. package/dist-lib/plugins/run-report/meaning.js +43 -0
  561. package/dist-lib/plugins/run-report/model.d.ts +86 -0
  562. package/dist-lib/plugins/run-report/model.js +387 -0
  563. package/dist-lib/plugins/run-report/page.d.ts +13 -0
  564. package/dist-lib/plugins/run-report/page.js +234 -0
  565. package/dist-lib/plugins/run-report/script.d.ts +1 -0
  566. package/dist-lib/plugins/run-report/script.js +661 -0
  567. package/dist-lib/plugins/run-report/story.d.ts +48 -0
  568. package/dist-lib/plugins/run-report/story.js +188 -0
  569. package/dist-lib/plugins/run-report/style.d.ts +1 -0
  570. package/dist-lib/plugins/run-report/style.js +410 -0
  571. package/dist-lib/plugins/run-report/why.d.ts +28 -0
  572. package/dist-lib/plugins/run-report/why.js +170 -0
  573. package/dist-lib/plugins/sandbox-macos/index.d.ts +48 -0
  574. package/dist-lib/plugins/sandbox-macos/index.js +175 -0
  575. package/dist-lib/plugins/sandbox-vm/index.d.ts +24 -0
  576. package/dist-lib/plugins/sandbox-vm/index.js +27 -0
  577. package/dist-lib/plugins/sandbox-vm/vm-shell.d.ts +46 -0
  578. package/dist-lib/plugins/sandbox-vm/vm-shell.js +106 -0
  579. package/dist-lib/{lib → plugins/speech}/audio-transcode-bare.js +2 -2
  580. package/dist-lib/plugins/speech/index.d.ts +17 -0
  581. package/dist-lib/plugins/speech/index.js +24 -0
  582. package/dist-lib/plugins/speech/speech-engine.d.ts +23 -0
  583. package/dist-lib/plugins/speech/speech-engine.js +55 -0
  584. package/dist-lib/plugins/speech/speech-runtime.d.ts +22 -0
  585. package/dist-lib/plugins/speech/speech-runtime.js +212 -0
  586. package/dist-lib/{lib/capabilities → plugins/speech}/speech-text.d.ts +1 -0
  587. package/dist-lib/{lib/capabilities → plugins/speech}/speech-text.js +10 -3
  588. package/dist-lib/plugins/speech/voice-lane.d.ts +2 -0
  589. package/dist-lib/plugins/speech/voice-lane.js +9 -0
  590. package/dist-lib/plugins/speech/voice.d.ts +17 -0
  591. package/dist-lib/{lib/capabilities → plugins/speech}/voice.js +27 -25
  592. package/dist-lib/plugins/translation/index.d.ts +22 -0
  593. package/dist-lib/plugins/translation/index.js +63 -0
  594. package/dist-lib/{lib/models → plugins/translation}/nmt-catalog.d.ts +0 -1
  595. package/dist-lib/{lib/models → plugins/translation}/nmt-catalog.js +0 -3
  596. package/dist-lib/{lib/tools → plugins/translation}/translate.d.ts +14 -6
  597. package/dist-lib/{lib/tools → plugins/translation}/translate.js +14 -8
  598. package/dist-lib/plugins/walkie-talkie/crew.d.ts +27 -0
  599. package/dist-lib/plugins/walkie-talkie/crew.js +103 -0
  600. package/dist-lib/plugins/walkie-talkie/index.d.ts +127 -0
  601. package/dist-lib/plugins/walkie-talkie/index.js +340 -0
  602. package/dist-lib/plugins/walkie-talkie/wire.d.ts +67 -0
  603. package/dist-lib/plugins/walkie-talkie/wire.js +136 -0
  604. package/dist-lib/plugins/weather/geocode.d.ts +25 -0
  605. package/dist-lib/plugins/weather/geocode.js +101 -0
  606. package/dist-lib/plugins/weather/index.d.ts +15 -0
  607. package/dist-lib/plugins/weather/index.js +17 -0
  608. package/dist-lib/plugins/weather/lookup.d.ts +6 -0
  609. package/dist-lib/plugins/weather/lookup.js +169 -0
  610. package/dist-lib/{lib/tools/weather-lookup → plugins/weather}/place.js +5 -1
  611. package/dist-lib/plugins/web-search/engine-registry.d.ts +44 -0
  612. package/dist-lib/plugins/web-search/engine-registry.js +17 -0
  613. package/dist-lib/{lib → plugins}/web-search/engines/aol.d.ts +1 -0
  614. package/dist-lib/{lib → plugins}/web-search/engines/aol.js +5 -3
  615. package/dist-lib/{lib → plugins}/web-search/engines/bing.d.ts +1 -0
  616. package/dist-lib/{lib → plugins}/web-search/engines/bing.js +9 -4
  617. package/dist-lib/{lib → plugins}/web-search/engines/brave.d.ts +1 -0
  618. package/dist-lib/{lib → plugins}/web-search/engines/brave.js +5 -3
  619. package/dist-lib/{lib → plugins}/web-search/engines/duckduckgo.d.ts +1 -0
  620. package/dist-lib/{lib → plugins}/web-search/engines/duckduckgo.js +5 -2
  621. package/dist-lib/{lib → plugins}/web-search/engines/google.d.ts +1 -0
  622. package/dist-lib/{lib → plugins}/web-search/engines/google.js +6 -4
  623. package/dist-lib/{lib → plugins}/web-search/engines/wikipedia.d.ts +1 -0
  624. package/dist-lib/{lib → plugins}/web-search/engines/wikipedia.js +5 -3
  625. package/dist-lib/{lib → plugins}/web-search/engines/yahoo.d.ts +1 -0
  626. package/dist-lib/{lib → plugins}/web-search/engines/yahoo.js +5 -3
  627. package/dist-lib/{lib → plugins}/web-search/fetch-html.js +1 -1
  628. package/dist-lib/plugins/web-search/index.d.ts +18 -0
  629. package/dist-lib/plugins/web-search/index.js +33 -0
  630. package/dist-lib/{lib → plugins}/web-search/orchestrator.d.ts +3 -1
  631. package/dist-lib/{lib → plugins}/web-search/orchestrator.js +5 -5
  632. package/dist-lib/plugins/web-search/tool.d.ts +3 -0
  633. package/dist-lib/{lib/tools/web-search.js → plugins/web-search/tool.js} +18 -14
  634. package/dist-lib/plugins/web-search/types.js +1 -0
  635. package/dist-lib/schema/generate.js +5 -2
  636. package/dist-lib/schema/harness.js +158 -7
  637. package/dist-lib/spec/bind.js +20 -4
  638. package/dist-lib/spec/calls.js +4 -0
  639. package/dist-lib/spec/hrpc/hrpc.json +52 -0
  640. package/dist-lib/spec/hrpc/index.js +51 -3
  641. package/dist-lib/spec/hrpc/messages.js +595 -17
  642. package/dist-lib/spec/hyperschema/index.js +595 -17
  643. package/dist-lib/spec/hyperschema/schema.json +464 -1
  644. package/dist-lib/spec/hyperschema/types.d.ts +113 -2
  645. package/package.json +261 -484
  646. package/patches/{@qvac%2Finference@0.20.0.patch → @qvac%2Finference@0.21.0.patch} +8 -8
  647. package/scripts/addon-externals.cjs +386 -0
  648. package/scripts/addon-externals.d.ts +30 -0
  649. package/wheels/manifest.json +1 -160
  650. package/worker/harness-sidecar.mjs +80 -59
  651. package/dist-lib/lib/capabilities/completion-engine/actors/inspect-preload.d.ts +0 -3
  652. package/dist-lib/lib/capabilities/completion-engine/actors/inspect-preload.js +0 -75
  653. package/dist-lib/lib/capabilities/completion-engine/actors/preload-failure.d.ts +0 -9
  654. package/dist-lib/lib/capabilities/completion-engine/actors/preload-failure.js +0 -11
  655. package/dist-lib/lib/capabilities/completion-engine/actors/preloading.d.ts +0 -3
  656. package/dist-lib/lib/capabilities/completion-engine/actors/preloading.js +0 -114
  657. package/dist-lib/lib/capabilities/completion-loop/index.d.ts +0 -80
  658. package/dist-lib/lib/capabilities/completion-loop/index.js +0 -158
  659. package/dist-lib/lib/capabilities/completion-loop/metrics.d.ts +0 -5
  660. package/dist-lib/lib/capabilities/completion-loop/metrics.js +0 -29
  661. package/dist-lib/lib/capabilities/completion-loop/tool-execution.d.ts +0 -60
  662. package/dist-lib/lib/capabilities/completion-loop/turns.js +0 -112
  663. package/dist-lib/lib/capabilities/completion-runtime.d.ts +0 -46
  664. package/dist-lib/lib/capabilities/completion.d.ts +0 -18
  665. package/dist-lib/lib/capabilities/completion.js +0 -22
  666. package/dist-lib/lib/helpers/recovery-required.d.ts +0 -1
  667. package/dist-lib/lib/helpers/recovery-required.js +0 -1
  668. package/dist-lib/lib/hooks/built-in/index.d.ts +0 -4
  669. package/dist-lib/lib/hooks/built-in/index.js +0 -4
  670. package/dist-lib/lib/hooks/pipeline.d.ts +0 -24
  671. package/dist-lib/lib/hooks/pipeline.js +0 -74
  672. package/dist-lib/lib/hooks/registry.d.ts +0 -2
  673. package/dist-lib/lib/hooks/registry.js +0 -7
  674. package/dist-lib/lib/machine/completion/actions/skills.d.ts +0 -9
  675. package/dist-lib/lib/machine/completion/actions/skills.js +0 -83
  676. package/dist-lib/lib/machine/engine.d.ts +0 -93
  677. package/dist-lib/lib/machine/guards.d.ts +0 -2
  678. package/dist-lib/lib/machine/guards.js +0 -6
  679. package/dist-lib/lib/office/pptx.d.ts +0 -1
  680. package/dist-lib/lib/office/pptx.js +0 -26
  681. package/dist-lib/lib/office/python.d.ts +0 -8
  682. package/dist-lib/lib/office/python.js +0 -32
  683. package/dist-lib/lib/office/xlsx.d.ts +0 -1
  684. package/dist-lib/lib/office/xlsx.js +0 -26
  685. package/dist-lib/lib/run-log-inspect.d.ts +0 -25
  686. package/dist-lib/lib/run-log-protocol.d.ts +0 -2
  687. package/dist-lib/lib/run-log-protocol.js +0 -1
  688. package/dist-lib/lib/tool-call-display.d.ts +0 -1
  689. package/dist-lib/lib/tools/exec/adapters/adapter.d.ts +0 -31
  690. package/dist-lib/lib/tools/exec/adapters/python/create-effect.d.ts +0 -7
  691. package/dist-lib/lib/tools/exec/adapters/python/create-effect.js +0 -318
  692. package/dist-lib/lib/tools/exec/adapters/python/python-adapter.d.ts +0 -89
  693. package/dist-lib/lib/tools/exec/adapters/python/python-adapter.js +0 -1371
  694. package/dist-lib/lib/tools/exec/adapters/python/worker/entry.js +0 -3
  695. package/dist-lib/lib/tools/exec/obsidian/route.d.ts +0 -17
  696. package/dist-lib/lib/tools/exec/obsidian/route.js +0 -91
  697. package/dist-lib/lib/tools/mcp-call.d.ts +0 -14
  698. package/dist-lib/lib/tools/rag-search.d.ts +0 -2
  699. package/dist-lib/lib/tools/rag-search.js +0 -105
  700. package/dist-lib/lib/tools/weather-lookup.d.ts +0 -8
  701. package/dist-lib/lib/tools/weather-lookup.js +0 -122
  702. package/dist-lib/lib/tools/web-search.d.ts +0 -6
  703. package/dist-lib/lib/web-search/engine-registry.d.ts +0 -7
  704. package/dist-lib/lib/web-search/engine-registry.js +0 -17
  705. package/wheels/cffi-2.0.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl +0 -0
  706. package/wheels/cryptography-47.0.0-cp314-abi3-pyemscripten_2026_0_wasm32.whl +0 -0
  707. package/wheels/defusedxml-0.7.1-py2.py3-none-any.whl +0 -0
  708. package/wheels/et_xmlfile-2.0.0-py3-none-any.whl +0 -0
  709. package/wheels/fonttools-4.62.1-py3-none-any.whl +0 -0
  710. package/wheels/fpdf2-2.8.8-py3-none-any.whl +0 -0
  711. package/wheels/lxml-6.0.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl +0 -0
  712. package/wheels/openpyxl-3.1.5-py2.py3-none-any.whl +0 -0
  713. package/wheels/pillow-12.2.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl +0 -0
  714. package/wheels/pycparser-3.0-py3-none-any.whl +0 -0
  715. package/wheels/pypdf-6.15.0-py3-none-any.whl +0 -0
  716. package/wheels/python_docx-1.2.0-py3-none-any.whl +0 -0
  717. package/wheels/python_pptx-1.0.2-py3-none-any.whl +0 -0
  718. package/wheels/six-1.17.0-py2.py3-none-any.whl +0 -0
  719. package/wheels/typing_extensions-4.15.0-py3-none-any.whl +0 -0
  720. package/wheels/xlsxwriter-3.2.9-py3-none-any.whl +0 -0
  721. /package/dist-lib/lib/{tools/skills → agent}/tool-grants.d.ts +0 -0
  722. /package/dist-lib/lib/{tools/skills → agent}/tool-grants.js +0 -0
  723. /package/dist-lib/lib/capabilities/{types.js → completion-engine/prepare-step.js} +0 -0
  724. /package/dist-lib/lib/{hooks/types.js → capabilities/completion-engine/stages.js} +0 -0
  725. /package/dist-lib/lib/{tool-call-display.js → contract/agent.js} +0 -0
  726. /package/dist-lib/lib/{tools/exec/adapters/adapter.js → contract/completion.js} +0 -0
  727. /package/dist-lib/lib/{tools/exec/adapters/python/worker/entry.d.ts → contract/exec.js} +0 -0
  728. /package/dist-lib/lib/{tools/exec/adapters/python/worker/interrupt-deadline.d.ts → contract/hooks.js} +0 -0
  729. /package/dist-lib/lib/{web-search/types.js → contract/index.js} +0 -0
  730. /package/dist-lib/lib/{capabilities/completion-engine → helpers}/abort-polyfill.d.ts +0 -0
  731. /package/dist-lib/lib/{capabilities/completion-engine → helpers}/abort-polyfill.js +0 -0
  732. /package/dist-lib/lib/{web-search → helpers}/html-helpers.d.ts +0 -0
  733. /package/dist-lib/lib/{web-search → helpers}/html-helpers.js +0 -0
  734. /package/dist-lib/lib/{tools → helpers}/model-args.d.ts +0 -0
  735. /package/dist-lib/lib/{tools → helpers}/model-args.js +0 -0
  736. /package/dist-lib/lib/{machine → helpers}/stable-stringify.d.ts +0 -0
  737. /package/dist-lib/lib/{web-search → helpers}/user-agents.d.ts +0 -0
  738. /package/dist-lib/lib/{web-search → helpers}/user-agents.js +0 -0
  739. /package/dist-lib/lib/{harness-lifecycle.d.ts → lifecycle/machine.d.ts} +0 -0
  740. /package/dist-lib/lib/tools/{exec/adapters/python → attachments}/output-policy.js +0 -0
  741. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/command.d.ts +0 -0
  742. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/note-name.d.ts +0 -0
  743. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/note-name.js +0 -0
  744. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/output.d.ts +0 -0
  745. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/output.js +0 -0
  746. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/safe-path.d.ts +0 -0
  747. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/safe-path.js +0 -0
  748. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/vault-create.d.ts +0 -0
  749. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/vault-create.js +0 -0
  750. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/vault-fs.d.ts +0 -0
  751. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/vault-fs.js +0 -0
  752. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/vault-paths.d.ts +0 -0
  753. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/vault-paths.js +0 -0
  754. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/vault-read.d.ts +0 -0
  755. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/vault-read.js +0 -0
  756. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/vault-write.d.ts +0 -0
  757. /package/dist-lib/{lib/tools/exec → plugins}/obsidian/vault-write.js +0 -0
  758. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/deadline-state.d.ts +0 -0
  759. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/deadline-state.js +0 -0
  760. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/distributions.d.ts +0 -0
  761. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/distributions.js +0 -0
  762. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/interrupt-timer.d.ts +0 -0
  763. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/memfs.d.ts +0 -0
  764. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/module-distributions.d.ts +0 -0
  765. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/named-hosts.d.ts +0 -0
  766. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/named-hosts.js +0 -0
  767. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/net-shim.d.ts +0 -0
  768. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/net-shim.js +0 -0
  769. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/pyodide.d.ts +0 -0
  770. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/wheels.d.ts +0 -0
  771. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/worker/active.d.ts +0 -0
  772. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/worker/protocol.d.ts +0 -0
  773. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/worker/protocol.js +0 -0
  774. /package/dist-lib/{lib/tools/exec/adapters → plugins}/python/worker/serve.d.ts +0 -0
  775. /package/dist-lib/{lib/capabilities → plugins/speech}/audio-resample.d.ts +0 -0
  776. /package/dist-lib/{lib/capabilities → plugins/speech}/audio-resample.js +0 -0
  777. /package/dist-lib/{lib → plugins/speech}/audio-transcode-bare.d.ts +0 -0
  778. /package/dist-lib/{lib → plugins/speech}/audio-transcode-node.d.ts +0 -0
  779. /package/dist-lib/{lib → plugins/speech}/audio-transcode-node.js +0 -0
  780. /package/dist-lib/{lib/capabilities → plugins/speech}/speech-lexicon.d.ts +0 -0
  781. /package/dist-lib/{lib/capabilities → plugins/speech}/speech-lexicon.js +0 -0
  782. /package/dist-lib/{lib → plugins/speech}/wav-encode.d.ts +0 -0
  783. /package/dist-lib/{lib → plugins/speech}/wav-encode.js +0 -0
  784. /package/dist-lib/{lib/tools/weather-lookup → plugins/weather}/place.d.ts +0 -0
  785. /package/dist-lib/{lib/tools/weather-lookup → plugins/weather}/report.d.ts +0 -0
  786. /package/dist-lib/{lib/tools/weather-lookup → plugins/weather}/report.js +0 -0
  787. /package/dist-lib/{lib → plugins}/web-search/fetch-html.d.ts +0 -0
  788. /package/dist-lib/{lib → plugins}/web-search/format-results.d.ts +0 -0
  789. /package/dist-lib/{lib → plugins}/web-search/format-results.js +0 -0
  790. /package/dist-lib/{lib → plugins}/web-search/merge-results.d.ts +0 -0
  791. /package/dist-lib/{lib → plugins}/web-search/merge-results.js +0 -0
  792. /package/dist-lib/{lib → plugins}/web-search/types.d.ts +0 -0
  793. /package/dist-lib/{lib → plugins}/web-search/url-helpers.d.ts +0 -0
  794. /package/dist-lib/{lib → plugins}/web-search/url-helpers.js +0 -0
  795. /package/dist-lib/{lib → plugins}/web-search/url-normalize.d.ts +0 -0
  796. /package/dist-lib/{lib → plugins}/web-search/url-normalize.js +0 -0
@@ -1,10 +1,13 @@
1
- import { TOOL_CONTINUATION_NUDGE } from './capabilities/tool-turns.js';
2
1
  export const TOOL_RESULT_TRUNCATION_MARKER = '\n[tool result truncated for context]\n';
3
- function isTurnBoundary(message) {
4
- return message.role === 'user' && message.content !== TOOL_CONTINUATION_NUDGE;
2
+ const TOOL_SEARCH_RESULT = '{"tool_search":';
3
+ const compactedSources = new WeakMap();
4
+ export function compactedFrom(message) {
5
+ return compactedSources.get(message);
5
6
  }
6
- export function contextCandidates(history) {
7
- const { prefix, turns } = splitTurns(history);
7
+ export function contextCandidates(history, ...nudges) {
8
+ const isBoundary = (message) => message.role === 'user' &&
9
+ !nudges.some((nudge) => message.content === nudge || message.content.startsWith(`${nudge}\nPlan:\n`));
10
+ const { prefix, turns } = splitTurns(history, isBoundary);
8
11
  if (!turns.length) {
9
12
  return [{ history, droppedTurns: 0 }];
10
13
  }
@@ -13,18 +16,18 @@ export function contextCandidates(history) {
13
16
  history: droppedTurns ? [...prefix, ...turns.slice(droppedTurns).flat()] : history,
14
17
  droppedTurns
15
18
  }));
16
- appendToolCompactions(candidates);
19
+ appendToolCompactions(candidates, isBoundary);
17
20
  return candidates;
18
21
  }
19
- function splitTurns(history) {
20
- const firstUser = history.findIndex(isTurnBoundary);
22
+ function splitTurns(history, isBoundary) {
23
+ const firstUser = history.findIndex(isBoundary);
21
24
  if (firstUser === -1) {
22
25
  return { prefix: history, turns: [] };
23
26
  }
24
27
  const prefix = history.slice(0, firstUser);
25
28
  const starts = [];
26
29
  for (const [i, message] of history.entries()) {
27
- if (i >= firstUser && isTurnBoundary(message)) {
30
+ if (i >= firstUser && isBoundary(message)) {
28
31
  starts.push(i);
29
32
  }
30
33
  }
@@ -44,12 +47,12 @@ function dropCounts(max) {
44
47
  }
45
48
  return counts;
46
49
  }
47
- function appendToolCompactions(candidates) {
50
+ function appendToolCompactions(candidates, isBoundary) {
48
51
  const last = candidates[candidates.length - 1];
49
52
  if (!last) {
50
53
  return;
51
54
  }
52
- const tools = compactableTools(last.history);
55
+ const tools = compactableTools(last.history, isBoundary);
53
56
  let history = last.history;
54
57
  while (true) {
55
58
  const selected = longestTool(tools);
@@ -61,8 +64,8 @@ function appendToolCompactions(candidates) {
61
64
  candidates.push({ history, droppedTurns: last.droppedTurns });
62
65
  }
63
66
  }
64
- function compactableTools(history) {
65
- const newestUser = history.findLastIndex(isTurnBoundary);
67
+ function compactableTools(history, isBoundary) {
68
+ const newestUser = history.findLastIndex(isBoundary);
66
69
  if (newestUser === -1) {
67
70
  return [];
68
71
  }
@@ -72,7 +75,10 @@ function compactableTools(history) {
72
75
  continue;
73
76
  if (message.content.length <= TOOL_RESULT_TRUNCATION_MARKER.length)
74
77
  continue;
75
- tools.push({ index, original: message.content, target: message.content.length });
78
+ if (message.content.startsWith(TOOL_SEARCH_RESULT)) {
79
+ continue;
80
+ }
81
+ tools.push({ index, source: message, target: message.content.length });
76
82
  }
77
83
  return tools;
78
84
  }
@@ -81,7 +87,7 @@ function longestTool(tools) {
81
87
  .filter((tool) => tool.target > TOOL_RESULT_TRUNCATION_MARKER.length)
82
88
  .sort((a, b) => b.target - a.target)[0];
83
89
  }
84
- function compactContent(content, target) {
90
+ export function compactContent(content, target) {
85
91
  const retained = target - TOOL_RESULT_TRUNCATION_MARKER.length;
86
92
  const head = Math.ceil(retained / 2);
87
93
  const tail = Math.floor(retained / 2);
@@ -90,5 +96,10 @@ function compactContent(content, target) {
90
96
  function compactTool(selected, message, index) {
91
97
  if (index !== selected.index)
92
98
  return message;
93
- return { ...message, content: compactContent(selected.original, selected.target) };
99
+ const compacted = {
100
+ ...message,
101
+ content: compactContent(selected.source.content, selected.target)
102
+ };
103
+ compactedSources.set(compacted, selected.source);
104
+ return compacted;
94
105
  }
@@ -0,0 +1,65 @@
1
+ import type { LlmGenerationParams } from '../models/llm-presets.ts';
2
+ import type { DriveRoot } from '../tools/fs/scope.ts';
3
+ import type { CliValidator } from '../tools/skills/cli-schema-types.ts';
4
+ import type { AgentConfig, ResponseFormat, ToolDefinition } from './completion.ts';
5
+ import type { Message } from './run.ts';
6
+ export type { LlmGenerationParams };
7
+ export interface AgentSkill {
8
+ readonly name: string;
9
+ readonly description: string;
10
+ readonly tools: readonly string[];
11
+ readonly cliValidator?: CliValidator;
12
+ }
13
+ export interface SystemPromptParts {
14
+ text: string;
15
+ bioChars: number;
16
+ skillsChars: number;
17
+ }
18
+ export interface SkillActivation {
19
+ skillsSelected: boolean;
20
+ enabledSkills: ReadonlyArray<string>;
21
+ mention: string | null;
22
+ loadedSkills: ReadonlySet<string>;
23
+ }
24
+ export interface AgentPolicy {
25
+ readonly sandbox: boolean;
26
+ readonly skipApprovals: boolean;
27
+ }
28
+ export interface AgentPorts<Skill extends AgentSkill = AgentSkill> {
29
+ generationParams(model: string | undefined, reasoning: boolean | undefined, thinking: boolean | undefined): LlmGenerationParams | undefined;
30
+ systemPrompt(input: {
31
+ bio: string | null | undefined;
32
+ toolNames: readonly string[];
33
+ skills: readonly Skill[];
34
+ }): SystemPromptParts;
35
+ mention(messages: readonly Message[], skills: readonly Skill[]): Skill | null;
36
+ implicitSkill(messages: readonly Message[], skills: readonly Skill[]): Skill | null;
37
+ }
38
+ export interface AgentRequest<Skill extends AgentSkill = AgentSkill> {
39
+ readonly agent: AgentConfig | undefined;
40
+ readonly model: string | undefined;
41
+ readonly thinkingDefault?: string | undefined;
42
+ readonly generationParams?: LlmGenerationParams | undefined;
43
+ readonly responseFormat?: ResponseFormat | undefined;
44
+ readonly messages: readonly Message[];
45
+ readonly tools: readonly ToolDefinition[];
46
+ readonly skills: readonly Skill[];
47
+ readonly loadedSkills: ReadonlySet<string>;
48
+ readonly fsRoots: readonly DriveRoot[];
49
+ readonly fsWriteRoots: readonly DriveRoot[];
50
+ readonly planning?: boolean;
51
+ readonly planMode?: boolean;
52
+ }
53
+ export interface ResolvedAgent<Skill extends AgentSkill = AgentSkill> {
54
+ readonly enabled: ToolDefinition[];
55
+ readonly system: SystemPromptParts;
56
+ readonly activation: SkillActivation;
57
+ readonly activeSkills: Skill[];
58
+ readonly mention: Skill | null;
59
+ readonly preload: Skill | null;
60
+ readonly grantedOps: Map<string, CliValidator[]>;
61
+ readonly writableRoots: DriveRoot[];
62
+ readonly generationParams: LlmGenerationParams | undefined;
63
+ readonly policy: AgentPolicy;
64
+ select(loadedSkills: ReadonlySet<string>): ToolDefinition[];
65
+ }
@@ -1,15 +1,27 @@
1
- import type { CompletionFinal, Tool as SdkTool, ToolDialect } from '@qvac/sdk';
1
+ import type { CompletionFinal, Tool as SdkTool, ToolCallWithCall, ToolDialect } from '@qvac/sdk';
2
2
  import type { AbortSignal as BareAbortSignal } from 'bare-abort-controller';
3
3
  import type { TextEvent } from '../helpers/thinking.ts';
4
4
  import type { LlmGenerationParams } from '../models/llm-presets.ts';
5
+ import type { CapabilityProfile } from '../models/model-catalog-constants.ts';
5
6
  import type { DriveRoot } from '../tools/fs/scope.ts';
6
- import type { CliValidator } from '../tools/skills/cli-schema.ts';
7
- import type { Toolset } from '../tools/toolsets.ts';
8
- import type { ToolCallDisplay } from '../tool-call-display.ts';
9
- import type { UsageBreakdown } from './usage-breakdown.ts';
10
- import type { Message, ResourceDescriptor, RunBackendUse, RunBudget, RunLifecycleEvent, ToolActivityEvent, ToolDecision, ToolEffect } from '../machine/index.ts';
11
- export type { Message, ResourceDescriptor, RunBackendUse, RunBudget, RunLifecycleEvent, ToolActivityEvent, ToolDecision, ToolEffect };
12
- export interface Agent {
7
+ import type { CliValidator } from '../tools/skills/cli-schema-types.ts';
8
+ import type { UsageBreakdown } from '../capabilities/usage-breakdown.ts';
9
+ import type { KnowledgeGrant } from './knowledge.ts';
10
+ import type { GoalStatus, HookRejection, Message, ResourceDescriptor, RoundSpeed, RunBackendUse, RunBudget, RunLifecycleEvent, ToolActivityEvent, ToolCallDisplay, ToolDecision, ToolEffect, ToolSpeed, TrustedSource, TrustedSourceFacts } from './run.ts';
11
+ export type { CliValidator, DriveRoot, LlmGenerationParams };
12
+ export interface OutboundGuard {
13
+ facts(origin: TrustedSourceFacts['origin'], text: string): TrustedSourceFacts;
14
+ check(toolName: string, args: Record<string, unknown>, options: {
15
+ readonly sources: readonly TrustedSource[];
16
+ readonly sourceFacts?: readonly TrustedSourceFacts[];
17
+ readonly externalWrite?: boolean;
18
+ }): string | null;
19
+ }
20
+ export interface AgentHandoff {
21
+ id: string;
22
+ description: string;
23
+ }
24
+ export interface AgentConfig {
13
25
  id?: string;
14
26
  name?: string;
15
27
  bio?: string;
@@ -28,6 +40,9 @@ export interface Agent {
28
40
  approvalMode?: 'ask' | 'skip-all' | null;
29
41
  disabledToolsets?: string[] | null;
30
42
  sandboxMode?: boolean | null;
43
+ handoffs?: AgentHandoff[] | null;
44
+ plan?: boolean | null;
45
+ model?: string | null;
31
46
  }
32
47
  export interface ImageSettings {
33
48
  modelChoice?: string;
@@ -49,6 +64,7 @@ export type ApproveFn = (call: {
49
64
  effect?: ToolEffect;
50
65
  intent?: string | null;
51
66
  display?: ToolCallDisplay | null;
67
+ quote?: string | null;
52
68
  }) => Promise<boolean>;
53
69
  export type ToolActivityFn = (entry: ToolActivityEvent) => void;
54
70
  export interface AttachInput {
@@ -81,29 +97,45 @@ export type FetchAttachmentFn = (query: {
81
97
  export type ProgressFn = (update: {
82
98
  percentage: number;
83
99
  } | null) => void;
84
- export type RagSearchFn = (input: {
85
- query: string;
86
- limit?: number;
87
- }) => Promise<RagSearchResult>;
88
- export interface RagSearchResult {
89
- enabled: boolean;
90
- indexEmpty: boolean;
91
- hasKnowledge: boolean;
92
- pendingReferenced?: boolean;
93
- errorMessage?: string | null;
94
- hits: ReadonlyArray<{
95
- content: string;
96
- metadataJson?: string | null;
97
- score: number;
98
- }>;
99
- }
100
100
  export type AskUserFn = (question: {
101
101
  question: string;
102
102
  options?: string[];
103
103
  }) => Promise<string | null>;
104
+ export interface ToolFetchInit {
105
+ method?: string;
106
+ headers?: Record<string, string> | [string, string][];
107
+ body?: string | Uint8Array | ArrayBuffer;
108
+ signal?: BareAbortSignal;
109
+ redirect?: 'follow' | 'manual' | 'error';
110
+ }
111
+ export interface ToolFetchResponse {
112
+ readonly status: number;
113
+ readonly ok: boolean;
114
+ readonly url: string;
115
+ readonly redirected: boolean;
116
+ readonly headers: {
117
+ get(name: string): string | null;
118
+ has(name: string): boolean;
119
+ entries(): IterableIterator<[string, string]>;
120
+ };
121
+ text(): Promise<string>;
122
+ json(): Promise<unknown>;
123
+ arrayBuffer(): Promise<ArrayBuffer>;
124
+ bytes(): Promise<Uint8Array>;
125
+ }
126
+ export type ToolFetch = (input: string | URL, init?: ToolFetchInit) => Promise<ToolFetchResponse>;
127
+ export interface SpillSink {
128
+ write(text: string): void;
129
+ close(): Promise<string | null>;
130
+ }
131
+ export interface ToolSpill {
132
+ readonly dir: string;
133
+ sink(stream: string): SpillSink;
134
+ }
104
135
  export interface ToolExecuteContext {
105
136
  agentId?: string | null | undefined;
106
137
  skills?: readonly string[] | undefined;
138
+ skillsLoadedThisTurn?: readonly string[] | undefined;
107
139
  runId?: string;
108
140
  callId?: string;
109
141
  ctxSize?: number | undefined;
@@ -114,7 +146,6 @@ export interface ToolExecuteContext {
114
146
  }[] | undefined;
115
147
  attach?: AttachFn | undefined;
116
148
  fetchAttachment?: FetchAttachmentFn | undefined;
117
- ragSearch?: RagSearchFn | undefined;
118
149
  progress?: ProgressFn | undefined;
119
150
  askUser?: AskUserFn | undefined;
120
151
  signal?: BareAbortSignal | undefined;
@@ -127,6 +158,20 @@ export interface ToolExecuteContext {
127
158
  sandboxMode?: boolean | undefined;
128
159
  toolNames?: readonly string[] | undefined;
129
160
  approval?: ToolDecision | undefined;
161
+ fetch?: ToolFetch | undefined;
162
+ knowledge?: KnowledgeGrant | undefined;
163
+ spill?: ToolSpill | undefined;
164
+ planMode?: boolean | undefined;
165
+ callTool?: CallTool | undefined;
166
+ history?: readonly Message[] | undefined;
167
+ }
168
+ export interface CallTool {
169
+ (name: string, args: unknown): Promise<unknown>;
170
+ readonly names: readonly string[];
171
+ }
172
+ export type Toolset = 'web-search' | 'knowledge' | 'files' | 'exec' | 'http-request' | 'mcp-call' | 'image' | 'music' | 'coding' | 'team';
173
+ export interface ToolsetScoped {
174
+ toolset?: string | null;
130
175
  }
131
176
  export type ToolParameterType = 'string' | 'number' | 'boolean' | 'object' | 'integer' | 'array' | 'null';
132
177
  export interface ToolParameterSchema {
@@ -137,6 +182,7 @@ export interface ToolParameterSchema {
137
182
  items?: ToolParameterSchema;
138
183
  properties?: Record<string, ToolParameterSchema>;
139
184
  required?: string[];
185
+ default?: unknown;
140
186
  }
141
187
  export interface ToolParameters {
142
188
  type: 'object';
@@ -147,6 +193,7 @@ export interface ToolPromptDefinition {
147
193
  description?: string;
148
194
  parameters?: ToolParameters;
149
195
  }
196
+ export type AddonLoaders = Readonly<Record<string, () => Promise<unknown>>>;
150
197
  export interface ToolDefinition {
151
198
  name: string;
152
199
  policyVersion?: string;
@@ -163,8 +210,17 @@ export interface ToolDefinition {
163
210
  validate?: (args: Record<string, unknown>, ctx?: ToolExecuteContext) => string | null;
164
211
  effect: (args: Record<string, unknown>, ctx?: ToolExecuteContext) => ToolEffect;
165
212
  resource?: (args: Record<string, unknown>, ctx?: ToolExecuteContext) => ResourceDescriptor | null;
213
+ quote?: (args: Record<string, unknown>, ctx?: ToolExecuteContext) => string | null;
214
+ egress?: (args: Record<string, unknown>) => string | readonly string[] | null;
166
215
  compiled?: true;
216
+ endsRun?: true;
217
+ concurrent?: true;
218
+ callsTools?: true;
219
+ defer?: true;
220
+ group?: string;
221
+ minCapabilityProfile?: CapabilityProfile;
167
222
  landedWrite?: (args: Record<string, unknown>, output: unknown) => string | null;
223
+ addons?: AddonLoaders;
168
224
  execute: (args: Record<string, unknown>, ctx?: ToolExecuteContext) => Promise<unknown>;
169
225
  }
170
226
  export interface ToolCallEvent {
@@ -199,11 +255,15 @@ export interface MetricsEvent {
199
255
  type: 'metrics';
200
256
  totalTokens: number;
201
257
  durationMs: number;
258
+ modelMs?: number | undefined;
259
+ toolMs?: number | undefined;
202
260
  timeToFirstToken?: number | undefined;
203
261
  tokensPerSecond?: number | undefined;
204
262
  promptTokensPerSecond?: number | undefined;
205
263
  promptTokens?: number | undefined;
206
264
  cacheTokens?: number | undefined;
265
+ rounds?: RoundSpeed[] | undefined;
266
+ tools?: ToolSpeed[] | undefined;
207
267
  ctxSize?: number | undefined;
208
268
  backends?: RunBackendUse[] | undefined;
209
269
  usage?: UsageBreakdown | undefined;
@@ -227,6 +287,44 @@ export interface InferenceCallEvent {
227
287
  type: 'inference-call';
228
288
  call: InferenceCall;
229
289
  }
290
+ export type TransferEvent = {
291
+ type: 'transfer';
292
+ from: string;
293
+ to: string;
294
+ reason: string;
295
+ };
296
+ export interface RunInput {
297
+ mode: 'steer' | 'follow-up';
298
+ text: string;
299
+ id?: string;
300
+ }
301
+ export interface InputEvent {
302
+ type: 'input';
303
+ id?: string;
304
+ text: string;
305
+ round: number;
306
+ }
307
+ export interface InputRejectedEvent {
308
+ type: 'input-rejected';
309
+ reason: string;
310
+ }
311
+ export interface GoalEvent {
312
+ type: 'goal';
313
+ status: GoalStatus;
314
+ turn: number;
315
+ round: number;
316
+ text?: string;
317
+ }
318
+ export type FoldEvent = {
319
+ type: 'fold';
320
+ phase: 'start';
321
+ } | {
322
+ type: 'fold';
323
+ phase: 'done';
324
+ summary: string;
325
+ throughId: string;
326
+ foldedTurns: number;
327
+ };
230
328
  export interface InferenceSentEvent {
231
329
  type: 'inference-sent';
232
330
  round: number;
@@ -242,10 +340,11 @@ export interface InferenceTokens {
242
340
  cached?: number | undefined;
243
341
  timeToFirstToken?: number | undefined;
244
342
  }
245
- export type CompletionEvent = (RunLifecycleEvent | TextEvent | ToolCallEvent | ToolResultEvent | ToolActivityEvent | ErrorEvent | AbortedEvent | MetricsEvent | InferenceCallEvent | InferenceSentEvent) & {
343
+ export type CompletionEvent = (RunLifecycleEvent | TextEvent | ToolCallEvent | ToolResultEvent | ToolActivityEvent | ErrorEvent | AbortedEvent | MetricsEvent | InferenceCallEvent | InferenceSentEvent | TransferEvent | InputEvent | InputRejectedEvent | GoalEvent | FoldEvent) & {
246
344
  runId?: string;
247
345
  round?: number;
248
346
  callId?: string;
347
+ agent?: string;
249
348
  };
250
349
  export interface CompletionSdkResult {
251
350
  requestId?: string;
@@ -279,9 +378,24 @@ export interface CompletionSdk {
279
378
  cancel?(params: {
280
379
  requestId: string;
281
380
  }): Promise<void>;
381
+ deleteCache?(params: {
382
+ kvCacheKey: string;
383
+ }): Promise<{
384
+ success: boolean;
385
+ }>;
282
386
  }
283
387
  export interface RoundModelLease {
284
388
  modelId: string;
389
+ ctxSize?: number | undefined;
285
390
  sdk?: CompletionSdk;
286
391
  release: () => void;
287
392
  }
393
+ export interface ResolvedCall {
394
+ call: ToolCallWithCall;
395
+ tool?: ToolDefinition;
396
+ args: Record<string, unknown>;
397
+ rawCall?: string;
398
+ intent?: string;
399
+ rejection?: HookRejection;
400
+ permission?: 'allow' | 'ask';
401
+ }
@@ -0,0 +1,134 @@
1
+ import type { AbortSignal as BareAbortSignal } from 'bare-abort-controller';
2
+ import type { AskUserFn, AttachFn, FetchAttachmentFn, RunBudget, ToolDecision, ToolEffect, ToolExecuteContext, ToolParameterSchema, ToolSpill } from './index.ts';
3
+ export interface ExecAttachment {
4
+ readonly attachmentId: string;
5
+ readonly fileName: string;
6
+ readonly byteLength: number;
7
+ }
8
+ export interface RejectedOutput {
9
+ readonly name: string;
10
+ readonly reason: string;
11
+ }
12
+ export interface ExecResult {
13
+ readonly stdout: string;
14
+ readonly stderr: string;
15
+ readonly exitCode: number;
16
+ readonly attachments?: readonly ExecAttachment[];
17
+ readonly missingOutputs?: readonly string[];
18
+ readonly rejectedOutputs?: readonly RejectedOutput[];
19
+ }
20
+ export interface SpawnOptions {
21
+ cwd?: string;
22
+ shell?: boolean;
23
+ detached?: boolean;
24
+ stdio?: [string, string, string] | string;
25
+ env?: Record<string, string>;
26
+ }
27
+ export interface Child {
28
+ readonly pid?: number;
29
+ readonly stdout: {
30
+ on(event: 'data', handler: (chunk: Buffer | string) => void): void;
31
+ } | null;
32
+ readonly stderr: {
33
+ on(event: 'data', handler: (chunk: Buffer | string) => void): void;
34
+ } | null;
35
+ kill(signum?: number | string): void;
36
+ on(event: 'exit', handler: (code: number | null, signal?: string | null) => void): void;
37
+ on(event: 'error', handler: (err: Error) => void): void;
38
+ }
39
+ export type SpawnFn = (command: string, opts?: SpawnOptions) => Child;
40
+ export type KillProcess = (pid: number, signal: string) => void;
41
+ export interface ShellRuntime {
42
+ readonly spawn: SpawnFn;
43
+ readonly killProcess?: KillProcess;
44
+ }
45
+ export interface ExecutionOptions {
46
+ readonly cwd?: string;
47
+ readonly env?: Readonly<Record<string, string>>;
48
+ readonly timeoutMs?: number;
49
+ readonly maxOutputChars?: number;
50
+ readonly signal?: BareAbortSignal;
51
+ readonly spill?: ToolSpill;
52
+ }
53
+ export interface ExecutionContext {
54
+ readonly attach?: AttachFn;
55
+ readonly fetchAttachment?: FetchAttachmentFn;
56
+ readonly turnImages?: readonly {
57
+ path: string;
58
+ }[];
59
+ readonly runBudget?: RunBudget;
60
+ readonly sandboxMode?: boolean;
61
+ readonly toolNames?: readonly string[];
62
+ readonly approval?: ToolDecision;
63
+ readonly askUser?: AskUserFn;
64
+ readonly writeRoots?: readonly string[];
65
+ readonly deniedRoots?: readonly string[];
66
+ }
67
+ export interface ExecutionPlan {
68
+ run(options: ExecutionOptions): Promise<ExecResult> | ExecResult;
69
+ }
70
+ export interface ExecutionAdapter {
71
+ resolve(args: Record<string, unknown>, ctx?: ExecutionContext): ExecutionPlan | null;
72
+ }
73
+ export interface FallbackExecutionAdapter {
74
+ resolve(args: Record<string, unknown>, ctx?: ExecutionContext): ExecutionPlan;
75
+ }
76
+ export interface ExecShell extends FallbackExecutionAdapter {
77
+ readonly name: string;
78
+ }
79
+ export interface ExecError {
80
+ error: string;
81
+ }
82
+ export interface ExecLanguageWording {
83
+ readonly runs: string;
84
+ readonly guide: string;
85
+ readonly command: string;
86
+ readonly language: string;
87
+ readonly properties: Readonly<Record<string, ToolParameterSchema>>;
88
+ }
89
+ export interface ExecLanguageText extends ExecLanguageWording {
90
+ readonly workdir: string;
91
+ readonly download: string;
92
+ readonly prompt: ExecLanguageWording;
93
+ }
94
+ export interface ExecScope {
95
+ readonly sandbox: boolean;
96
+ }
97
+ export interface ExecValidateScope extends ExecScope {
98
+ readonly trusted: boolean;
99
+ readonly toolNames?: readonly string[] | undefined;
100
+ }
101
+ export interface LanguageRun {
102
+ readonly args: Record<string, unknown>;
103
+ readonly trusted: boolean;
104
+ }
105
+ export interface LanguageCall {
106
+ readonly args: Record<string, unknown>;
107
+ readonly bundled?: {
108
+ readonly label: string;
109
+ load(skillsDir: string | undefined): LanguageRun | ExecError;
110
+ };
111
+ }
112
+ export interface ExecLanguage extends ExecutionAdapter {
113
+ readonly name: string;
114
+ readonly text: ExecLanguageText;
115
+ call(args: Record<string, unknown>): LanguageCall | ExecError | null;
116
+ effect(args: Record<string, unknown>): ToolEffect;
117
+ scope(args: Record<string, unknown>, scope: ExecScope): string | null;
118
+ validate(args: Record<string, unknown>, scope: ExecValidateScope): string | null;
119
+ label(args: Record<string, unknown>, scope: ExecScope): string;
120
+ online(scope: ExecScope): boolean;
121
+ redirect(args: Record<string, unknown>, scope: ExecScope): string | null;
122
+ strays(args: Record<string, unknown>): string | null;
123
+ }
124
+ export interface ExecRouteOptions {
125
+ readonly timeoutMs?: number;
126
+ readonly maxOutputChars?: number;
127
+ readonly signal?: BareAbortSignal;
128
+ readonly runtime: () => Promise<ShellRuntime>;
129
+ }
130
+ export interface ExecRoute {
131
+ readonly name: string;
132
+ claims(command: string): boolean;
133
+ run(command: string, ctx: ToolExecuteContext | undefined, options: ExecRouteOptions): Promise<ExecResult>;
134
+ }
@@ -1,8 +1,7 @@
1
- import type { HookRejection } from '../machine/index.ts';
2
1
  import type { AbortSignal as BareAbortSignal } from 'bare-abort-controller';
3
- import type { ToolExecutionOutcome } from '../tool-call-display.ts';
4
- import type { Message, ResourceDescriptor, ToolDefinition, ToolEffect } from '../capabilities/completion.ts';
5
- export type HookPhase = 'runStart' | 'preToolCall' | 'postToolCall' | 'runEnd' | 'runPause' | 'runResume';
2
+ import type { ToolDefinition } from './completion.ts';
3
+ import type { HookRejection, Message, ResourceDescriptor, ToolEffect, ToolExecutionOutcome } from './run.ts';
4
+ export type HookPhase = 'runStart' | 'preToolCall' | 'postToolCall' | 'runEnd' | 'runPause' | 'runResume' | 'promptSubmit' | 'toolFailure' | 'stop' | 'preFold';
6
5
  export interface RunStartPayload {
7
6
  readonly phase: 'runStart';
8
7
  readonly runId: string;
@@ -19,6 +18,9 @@ export interface PreToolCallPayload {
19
18
  readonly skillNames?: readonly string[];
20
19
  readonly parameters?: ToolDefinition['parameters'];
21
20
  readonly sandboxMode?: boolean;
21
+ readonly egress?: ToolDefinition['egress'];
22
+ readonly effect: ToolEffect;
23
+ readonly resource: ResourceDescriptor | null;
22
24
  args: Record<string, unknown>;
23
25
  }
24
26
  export interface PostToolCallPayload {
@@ -52,18 +54,68 @@ export interface RunLifecyclePayload {
52
54
  readonly runId: string;
53
55
  readonly agentId: string | null;
54
56
  }
55
- export type HookContext = RunLifecyclePayload | RunStartPayload | PreToolCallPayload | PostToolCallPayload | RunEndPayload;
56
- export type { HookRejection };
57
- export interface PreToolCallResult {
57
+ export interface PromptSubmitPayload {
58
+ readonly phase: 'promptSubmit';
59
+ readonly runId: string;
60
+ readonly agentId: string | null;
61
+ readonly mode: 'prompt' | 'steer' | 'follow-up';
62
+ readonly text: string;
63
+ }
64
+ export interface ToolFailurePayload {
65
+ readonly phase: 'toolFailure';
66
+ readonly runId: string;
67
+ readonly callId: string;
68
+ readonly toolName: string;
69
+ readonly agentId: string | null;
58
70
  readonly args: Record<string, unknown>;
71
+ readonly executed: boolean;
72
+ readonly outcome: ToolExecutionOutcome;
73
+ readonly result: unknown;
74
+ }
75
+ export interface StopPayload {
76
+ readonly phase: 'stop';
77
+ readonly runId: string;
78
+ readonly agentId: string | null;
79
+ readonly round: number;
80
+ readonly response: string;
81
+ }
82
+ export interface PreFoldPayload {
83
+ readonly phase: 'preFold';
84
+ readonly runId: string;
85
+ readonly agentId: string | null;
86
+ readonly messages: ReadonlyArray<Message>;
87
+ }
88
+ export type HookContext = RunLifecyclePayload | RunStartPayload | PreToolCallPayload | PostToolCallPayload | RunEndPayload | PromptSubmitPayload | ToolFailurePayload | StopPayload | PreFoldPayload;
89
+ export interface PreToolCallResult {
90
+ readonly args?: Record<string, unknown>;
91
+ readonly permission?: 'allow' | 'deny' | 'ask';
92
+ readonly reason?: string;
59
93
  }
60
94
  export interface PostToolCallResult {
61
- readonly result: unknown;
95
+ readonly result?: unknown;
96
+ readonly context?: string;
97
+ }
98
+ export interface ContextResult {
99
+ readonly context: string;
100
+ }
101
+ export interface HaltResult {
102
+ readonly halt: string;
103
+ }
104
+ export interface ContinueResult {
105
+ readonly continue: string;
106
+ }
107
+ export interface InstructionsResult {
108
+ readonly instructions: string;
62
109
  }
63
110
  export type HookRejectionResult = Omit<HookRejection, 'hook' | 'phase'>;
64
- export type HookResult = PreToolCallResult | PostToolCallResult | HookRejectionResult | void;
111
+ export type HookResult = PreToolCallResult | PostToolCallResult | ContextResult | HaltResult | ContinueResult | InstructionsResult | HookRejectionResult | void;
112
+ export interface HookRunOptions {
113
+ readonly signal?: BareAbortSignal | undefined;
114
+ }
65
115
  export interface HarnessHook {
66
116
  readonly name?: string;
67
117
  readonly phase: HookPhase;
68
- run(ctx: HookContext): Promise<HookResult> | HookResult;
118
+ readonly matcher?: string;
119
+ readonly timeoutMs?: number;
120
+ run(ctx: HookContext, options?: HookRunOptions): Promise<HookResult> | HookResult;
69
121
  }
@@ -0,0 +1,5 @@
1
+ export type * from './agent.ts';
2
+ export type * from './completion.ts';
3
+ export type * from './hooks.ts';
4
+ export type * from './run.ts';
5
+ export type * from './skill-readiness.ts';