@sema-agent/core 1.279.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 (849) hide show
  1. package/LICENSE +104 -0
  2. package/NOTICE.md +30 -0
  3. package/README.md +143 -0
  4. package/README.zh-CN.md +138 -0
  5. package/dist/agents/agent-definition.d.ts +3 -0
  6. package/dist/agents/agent-definition.d.ts.map +1 -0
  7. package/dist/agents/agent-definition.js +9 -0
  8. package/dist/agents/agent-definition.js.map +1 -0
  9. package/dist/agents/builtin-agents.d.ts +9 -0
  10. package/dist/agents/builtin-agents.d.ts.map +1 -0
  11. package/dist/agents/builtin-agents.js +114 -0
  12. package/dist/agents/builtin-agents.js.map +1 -0
  13. package/dist/agents/cascade.d.ts +44 -0
  14. package/dist/agents/cascade.d.ts.map +1 -0
  15. package/dist/agents/cascade.js +153 -0
  16. package/dist/agents/cascade.js.map +1 -0
  17. package/dist/agents/observer.d.ts +122 -0
  18. package/dist/agents/observer.d.ts.map +1 -0
  19. package/dist/agents/observer.js +365 -0
  20. package/dist/agents/observer.js.map +1 -0
  21. package/dist/agents/repair-loop.d.ts +49 -0
  22. package/dist/agents/repair-loop.d.ts.map +1 -0
  23. package/dist/agents/repair-loop.js +147 -0
  24. package/dist/agents/repair-loop.js.map +1 -0
  25. package/dist/agents/session-util.d.ts +3 -0
  26. package/dist/agents/session-util.d.ts.map +1 -0
  27. package/dist/agents/session-util.js +4 -0
  28. package/dist/agents/session-util.js.map +1 -0
  29. package/dist/agents/subagent-steps.d.ts +31 -0
  30. package/dist/agents/subagent-steps.d.ts.map +1 -0
  31. package/dist/agents/subagent-steps.js +167 -0
  32. package/dist/agents/subagent-steps.js.map +1 -0
  33. package/dist/agents/subagent.d.ts +152 -0
  34. package/dist/agents/subagent.d.ts.map +1 -0
  35. package/dist/agents/subagent.js +1698 -0
  36. package/dist/agents/subagent.js.map +1 -0
  37. package/dist/agents/suspend-guard.d.ts +6 -0
  38. package/dist/agents/suspend-guard.d.ts.map +1 -0
  39. package/dist/agents/suspend-guard.js +19 -0
  40. package/dist/agents/suspend-guard.js.map +1 -0
  41. package/dist/agents/teacher.d.ts +70 -0
  42. package/dist/agents/teacher.d.ts.map +1 -0
  43. package/dist/agents/teacher.js +462 -0
  44. package/dist/agents/teacher.js.map +1 -0
  45. package/dist/agents/team.d.ts +92 -0
  46. package/dist/agents/team.d.ts.map +1 -0
  47. package/dist/agents/team.js +231 -0
  48. package/dist/agents/team.js.map +1 -0
  49. package/dist/agents/tool-filter.d.ts +4 -0
  50. package/dist/agents/tool-filter.d.ts.map +1 -0
  51. package/dist/agents/tool-filter.js +18 -0
  52. package/dist/agents/tool-filter.js.map +1 -0
  53. package/dist/agents/verify.d.ts +46 -0
  54. package/dist/agents/verify.d.ts.map +1 -0
  55. package/dist/agents/verify.js +177 -0
  56. package/dist/agents/verify.js.map +1 -0
  57. package/dist/bench/metrics.d.ts +259 -0
  58. package/dist/bench/metrics.d.ts.map +1 -0
  59. package/dist/bench/metrics.js +439 -0
  60. package/dist/bench/metrics.js.map +1 -0
  61. package/dist/bin/sema-tb.d.ts +3 -0
  62. package/dist/bin/sema-tb.d.ts.map +1 -0
  63. package/dist/bin/sema-tb.js +373 -0
  64. package/dist/bin/sema-tb.js.map +1 -0
  65. package/dist/bin/tb-env.d.ts +2 -0
  66. package/dist/bin/tb-env.d.ts.map +1 -0
  67. package/dist/bin/tb-env.js +15 -0
  68. package/dist/bin/tb-env.js.map +1 -0
  69. package/dist/brain/anthropic.d.ts +16 -0
  70. package/dist/brain/anthropic.d.ts.map +1 -0
  71. package/dist/brain/anthropic.js +635 -0
  72. package/dist/brain/anthropic.js.map +1 -0
  73. package/dist/brain/circuit-breaker.d.ts +26 -0
  74. package/dist/brain/circuit-breaker.d.ts.map +1 -0
  75. package/dist/brain/circuit-breaker.js +118 -0
  76. package/dist/brain/circuit-breaker.js.map +1 -0
  77. package/dist/brain/degrading.d.ts +33 -0
  78. package/dist/brain/degrading.d.ts.map +1 -0
  79. package/dist/brain/degrading.js +175 -0
  80. package/dist/brain/degrading.js.map +1 -0
  81. package/dist/brain/errors.d.ts +14 -0
  82. package/dist/brain/errors.d.ts.map +1 -0
  83. package/dist/brain/errors.js +43 -0
  84. package/dist/brain/errors.js.map +1 -0
  85. package/dist/brain/failover.d.ts +3 -0
  86. package/dist/brain/failover.d.ts.map +1 -0
  87. package/dist/brain/failover.js +85 -0
  88. package/dist/brain/failover.js.map +1 -0
  89. package/dist/brain/model-presets.d.ts +5 -0
  90. package/dist/brain/model-presets.d.ts.map +1 -0
  91. package/dist/brain/model-presets.js +30 -0
  92. package/dist/brain/model-presets.js.map +1 -0
  93. package/dist/brain/openai.d.ts +13 -0
  94. package/dist/brain/openai.d.ts.map +1 -0
  95. package/dist/brain/openai.js +581 -0
  96. package/dist/brain/openai.js.map +1 -0
  97. package/dist/brain/reasoning.d.ts +33 -0
  98. package/dist/brain/reasoning.d.ts.map +1 -0
  99. package/dist/brain/reasoning.js +84 -0
  100. package/dist/brain/reasoning.js.map +1 -0
  101. package/dist/brain/repetition.d.ts +16 -0
  102. package/dist/brain/repetition.d.ts.map +1 -0
  103. package/dist/brain/repetition.js +96 -0
  104. package/dist/brain/repetition.js.map +1 -0
  105. package/dist/brain/request-params.d.ts +6 -0
  106. package/dist/brain/request-params.d.ts.map +1 -0
  107. package/dist/brain/request-params.js +44 -0
  108. package/dist/brain/request-params.js.map +1 -0
  109. package/dist/brain/retry.d.ts +3 -0
  110. package/dist/brain/retry.d.ts.map +1 -0
  111. package/dist/brain/retry.js +23 -0
  112. package/dist/brain/retry.js.map +1 -0
  113. package/dist/brain/routing.d.ts +7 -0
  114. package/dist/brain/routing.d.ts.map +1 -0
  115. package/dist/brain/routing.js +34 -0
  116. package/dist/brain/routing.js.map +1 -0
  117. package/dist/brain/status-sink.d.ts +27 -0
  118. package/dist/brain/status-sink.d.ts.map +1 -0
  119. package/dist/brain/status-sink.js +20 -0
  120. package/dist/brain/status-sink.js.map +1 -0
  121. package/dist/brain/stream-engine.d.ts +37 -0
  122. package/dist/brain/stream-engine.d.ts.map +1 -0
  123. package/dist/brain/stream-engine.js +295 -0
  124. package/dist/brain/stream-engine.js.map +1 -0
  125. package/dist/brain/timeout.d.ts +12 -0
  126. package/dist/brain/timeout.d.ts.map +1 -0
  127. package/dist/brain/timeout.js +34 -0
  128. package/dist/brain/timeout.js.map +1 -0
  129. package/dist/brain/tool-call-repair.d.ts +6 -0
  130. package/dist/brain/tool-call-repair.d.ts.map +1 -0
  131. package/dist/brain/tool-call-repair.js +58 -0
  132. package/dist/brain/tool-call-repair.js.map +1 -0
  133. package/dist/brain/walltime.d.ts +2 -0
  134. package/dist/brain/walltime.d.ts.map +1 -0
  135. package/dist/brain/walltime.js +2 -0
  136. package/dist/brain/walltime.js.map +1 -0
  137. package/dist/core/arg-summary.d.ts +3 -0
  138. package/dist/core/arg-summary.d.ts.map +1 -0
  139. package/dist/core/arg-summary.js +76 -0
  140. package/dist/core/arg-summary.js.map +1 -0
  141. package/dist/core/ask-question.d.ts +36 -0
  142. package/dist/core/ask-question.d.ts.map +1 -0
  143. package/dist/core/ask-question.js +171 -0
  144. package/dist/core/ask-question.js.map +1 -0
  145. package/dist/core/auto-compaction.d.ts +88 -0
  146. package/dist/core/auto-compaction.d.ts.map +1 -0
  147. package/dist/core/auto-compaction.js +253 -0
  148. package/dist/core/auto-compaction.js.map +1 -0
  149. package/dist/core/auto-mode-prompt-assets.d.ts +3 -0
  150. package/dist/core/auto-mode-prompt-assets.d.ts.map +1 -0
  151. package/dist/core/auto-mode-prompt-assets.js +3 -0
  152. package/dist/core/auto-mode-prompt-assets.js.map +1 -0
  153. package/dist/core/auto-mode-prompt.d.ts +22 -0
  154. package/dist/core/auto-mode-prompt.d.ts.map +1 -0
  155. package/dist/core/auto-mode-prompt.js +84 -0
  156. package/dist/core/auto-mode-prompt.js.map +1 -0
  157. package/dist/core/auto-mode.d.ts +35 -0
  158. package/dist/core/auto-mode.d.ts.map +1 -0
  159. package/dist/core/auto-mode.js +100 -0
  160. package/dist/core/auto-mode.js.map +1 -0
  161. package/dist/core/auto-promote.d.ts +26 -0
  162. package/dist/core/auto-promote.d.ts.map +1 -0
  163. package/dist/core/auto-promote.js +93 -0
  164. package/dist/core/auto-promote.js.map +1 -0
  165. package/dist/core/background-shell.d.ts +41 -0
  166. package/dist/core/background-shell.d.ts.map +1 -0
  167. package/dist/core/background-shell.js +21 -0
  168. package/dist/core/background-shell.js.map +1 -0
  169. package/dist/core/cache-break-detector.d.ts +29 -0
  170. package/dist/core/cache-break-detector.d.ts.map +1 -0
  171. package/dist/core/cache-break-detector.js +80 -0
  172. package/dist/core/cache-break-detector.js.map +1 -0
  173. package/dist/core/canonical-json.d.ts +3 -0
  174. package/dist/core/canonical-json.d.ts.map +1 -0
  175. package/dist/core/canonical-json.js +68 -0
  176. package/dist/core/canonical-json.js.map +1 -0
  177. package/dist/core/checkpoint-store.d.ts +257 -0
  178. package/dist/core/checkpoint-store.d.ts.map +1 -0
  179. package/dist/core/checkpoint-store.js +292 -0
  180. package/dist/core/checkpoint-store.js.map +1 -0
  181. package/dist/core/consolidate-scope.d.ts +19 -0
  182. package/dist/core/consolidate-scope.d.ts.map +1 -0
  183. package/dist/core/consolidate-scope.js +96 -0
  184. package/dist/core/consolidate-scope.js.map +1 -0
  185. package/dist/core/context-edit.d.ts +18 -0
  186. package/dist/core/context-edit.d.ts.map +1 -0
  187. package/dist/core/context-edit.js +98 -0
  188. package/dist/core/context-edit.js.map +1 -0
  189. package/dist/core/context-guard.d.ts +14 -0
  190. package/dist/core/context-guard.d.ts.map +1 -0
  191. package/dist/core/context-guard.js +110 -0
  192. package/dist/core/context-guard.js.map +1 -0
  193. package/dist/core/dynamic-recall.d.ts +33 -0
  194. package/dist/core/dynamic-recall.d.ts.map +1 -0
  195. package/dist/core/dynamic-recall.js +77 -0
  196. package/dist/core/dynamic-recall.js.map +1 -0
  197. package/dist/core/exec-gate.d.ts +30 -0
  198. package/dist/core/exec-gate.d.ts.map +1 -0
  199. package/dist/core/exec-gate.js +106 -0
  200. package/dist/core/exec-gate.js.map +1 -0
  201. package/dist/core/exec-output-tail.d.ts +15 -0
  202. package/dist/core/exec-output-tail.d.ts.map +1 -0
  203. package/dist/core/exec-output-tail.js +39 -0
  204. package/dist/core/exec-output-tail.js.map +1 -0
  205. package/dist/core/file-snapshot-store.d.ts +53 -0
  206. package/dist/core/file-snapshot-store.d.ts.map +1 -0
  207. package/dist/core/file-snapshot-store.js +244 -0
  208. package/dist/core/file-snapshot-store.js.map +1 -0
  209. package/dist/core/git-worktree-env.d.ts +16 -0
  210. package/dist/core/git-worktree-env.d.ts.map +1 -0
  211. package/dist/core/git-worktree-env.js +40 -0
  212. package/dist/core/git-worktree-env.js.map +1 -0
  213. package/dist/core/hooks.d.ts +128 -0
  214. package/dist/core/hooks.d.ts.map +1 -0
  215. package/dist/core/hooks.js +184 -0
  216. package/dist/core/hooks.js.map +1 -0
  217. package/dist/core/lsp-diagnostics.d.ts +31 -0
  218. package/dist/core/lsp-diagnostics.d.ts.map +1 -0
  219. package/dist/core/lsp-diagnostics.js +79 -0
  220. package/dist/core/lsp-diagnostics.js.map +1 -0
  221. package/dist/core/lsp-protocol.d.ts +10 -0
  222. package/dist/core/lsp-protocol.d.ts.map +1 -0
  223. package/dist/core/lsp-protocol.js +136 -0
  224. package/dist/core/lsp-protocol.js.map +1 -0
  225. package/dist/core/lsp-session.d.ts +27 -0
  226. package/dist/core/lsp-session.d.ts.map +1 -0
  227. package/dist/core/lsp-session.js +134 -0
  228. package/dist/core/lsp-session.js.map +1 -0
  229. package/dist/core/lsp.d.ts +56 -0
  230. package/dist/core/lsp.d.ts.map +1 -0
  231. package/dist/core/lsp.js +130 -0
  232. package/dist/core/lsp.js.map +1 -0
  233. package/dist/core/mcp.d.ts +108 -0
  234. package/dist/core/mcp.d.ts.map +1 -0
  235. package/dist/core/mcp.js +692 -0
  236. package/dist/core/mcp.js.map +1 -0
  237. package/dist/core/media-byte-cap.d.ts +13 -0
  238. package/dist/core/media-byte-cap.d.ts.map +1 -0
  239. package/dist/core/media-byte-cap.js +51 -0
  240. package/dist/core/media-byte-cap.js.map +1 -0
  241. package/dist/core/memory-engine/data-plane.d.ts +60 -0
  242. package/dist/core/memory-engine/data-plane.d.ts.map +1 -0
  243. package/dist/core/memory-engine/data-plane.js +198 -0
  244. package/dist/core/memory-engine/data-plane.js.map +1 -0
  245. package/dist/core/memory-engine/dual-root.d.ts +16 -0
  246. package/dist/core/memory-engine/dual-root.d.ts.map +1 -0
  247. package/dist/core/memory-engine/dual-root.js +75 -0
  248. package/dist/core/memory-engine/dual-root.js.map +1 -0
  249. package/dist/core/memory-engine/engine.d.ts +67 -0
  250. package/dist/core/memory-engine/engine.d.ts.map +1 -0
  251. package/dist/core/memory-engine/engine.js +828 -0
  252. package/dist/core/memory-engine/engine.js.map +1 -0
  253. package/dist/core/memory-engine/file-backend.d.ts +55 -0
  254. package/dist/core/memory-engine/file-backend.d.ts.map +1 -0
  255. package/dist/core/memory-engine/file-backend.js +752 -0
  256. package/dist/core/memory-engine/file-backend.js.map +1 -0
  257. package/dist/core/memory-engine/frontmatter.d.ts +13 -0
  258. package/dist/core/memory-engine/frontmatter.d.ts.map +1 -0
  259. package/dist/core/memory-engine/frontmatter.js +119 -0
  260. package/dist/core/memory-engine/frontmatter.js.map +1 -0
  261. package/dist/core/memory-engine/index.d.ts +13 -0
  262. package/dist/core/memory-engine/index.d.ts.map +1 -0
  263. package/dist/core/memory-engine/index.js +12 -0
  264. package/dist/core/memory-engine/index.js.map +1 -0
  265. package/dist/core/memory-engine/layout.d.ts +44 -0
  266. package/dist/core/memory-engine/layout.d.ts.map +1 -0
  267. package/dist/core/memory-engine/layout.js +459 -0
  268. package/dist/core/memory-engine/layout.js.map +1 -0
  269. package/dist/core/memory-engine/memory-backend-contract.d.ts +10 -0
  270. package/dist/core/memory-engine/memory-backend-contract.d.ts.map +1 -0
  271. package/dist/core/memory-engine/memory-backend-contract.js +269 -0
  272. package/dist/core/memory-engine/memory-backend-contract.js.map +1 -0
  273. package/dist/core/memory-engine/migrate.d.ts +8 -0
  274. package/dist/core/memory-engine/migrate.d.ts.map +1 -0
  275. package/dist/core/memory-engine/migrate.js +23 -0
  276. package/dist/core/memory-engine/migrate.js.map +1 -0
  277. package/dist/core/memory-engine/scan.d.ts +8 -0
  278. package/dist/core/memory-engine/scan.d.ts.map +1 -0
  279. package/dist/core/memory-engine/scan.js +49 -0
  280. package/dist/core/memory-engine/scan.js.map +1 -0
  281. package/dist/core/memory-engine/scope-contract.d.ts +44 -0
  282. package/dist/core/memory-engine/scope-contract.d.ts.map +1 -0
  283. package/dist/core/memory-engine/scope-contract.js +205 -0
  284. package/dist/core/memory-engine/scope-contract.js.map +1 -0
  285. package/dist/core/memory-engine/sync-client.d.ts +57 -0
  286. package/dist/core/memory-engine/sync-client.d.ts.map +1 -0
  287. package/dist/core/memory-engine/sync-client.js +257 -0
  288. package/dist/core/memory-engine/sync-client.js.map +1 -0
  289. package/dist/core/memory-engine/sync.d.ts +37 -0
  290. package/dist/core/memory-engine/sync.d.ts.map +1 -0
  291. package/dist/core/memory-engine/sync.js +68 -0
  292. package/dist/core/memory-engine/sync.js.map +1 -0
  293. package/dist/core/memory-engine/types.d.ts +128 -0
  294. package/dist/core/memory-engine/types.d.ts.map +1 -0
  295. package/dist/core/memory-engine/types.js +2 -0
  296. package/dist/core/memory-engine/types.js.map +1 -0
  297. package/dist/core/memory-recall.d.ts +82 -0
  298. package/dist/core/memory-recall.d.ts.map +1 -0
  299. package/dist/core/memory-recall.js +352 -0
  300. package/dist/core/memory-recall.js.map +1 -0
  301. package/dist/core/memory-vector.d.ts +4 -0
  302. package/dist/core/memory-vector.d.ts.map +1 -0
  303. package/dist/core/memory-vector.js +31 -0
  304. package/dist/core/memory-vector.js.map +1 -0
  305. package/dist/core/memory.d.ts +112 -0
  306. package/dist/core/memory.d.ts.map +1 -0
  307. package/dist/core/memory.js +512 -0
  308. package/dist/core/memory.js.map +1 -0
  309. package/dist/core/message-utils.d.ts +4 -0
  310. package/dist/core/message-utils.d.ts.map +1 -0
  311. package/dist/core/message-utils.js +7 -0
  312. package/dist/core/message-utils.js.map +1 -0
  313. package/dist/core/oracle-isolation.d.ts +16 -0
  314. package/dist/core/oracle-isolation.d.ts.map +1 -0
  315. package/dist/core/oracle-isolation.js +50 -0
  316. package/dist/core/oracle-isolation.js.map +1 -0
  317. package/dist/core/permission-rules.d.ts +35 -0
  318. package/dist/core/permission-rules.d.ts.map +1 -0
  319. package/dist/core/permission-rules.js +270 -0
  320. package/dist/core/permission-rules.js.map +1 -0
  321. package/dist/core/present-plan-tool.d.ts +8 -0
  322. package/dist/core/present-plan-tool.d.ts.map +1 -0
  323. package/dist/core/present-plan-tool.js +82 -0
  324. package/dist/core/present-plan-tool.js.map +1 -0
  325. package/dist/core/pricing.d.ts +22 -0
  326. package/dist/core/pricing.d.ts.map +1 -0
  327. package/dist/core/pricing.js +23 -0
  328. package/dist/core/pricing.js.map +1 -0
  329. package/dist/core/property-harness.d.ts +40 -0
  330. package/dist/core/property-harness.d.ts.map +1 -0
  331. package/dist/core/property-harness.js +121 -0
  332. package/dist/core/property-harness.js.map +1 -0
  333. package/dist/core/push-queue.d.ts +9 -0
  334. package/dist/core/push-queue.d.ts.map +1 -0
  335. package/dist/core/push-queue.js +41 -0
  336. package/dist/core/push-queue.js.map +1 -0
  337. package/dist/core/remote-env.d.ts +105 -0
  338. package/dist/core/remote-env.d.ts.map +1 -0
  339. package/dist/core/remote-env.js +27 -0
  340. package/dist/core/remote-env.js.map +1 -0
  341. package/dist/core/roles.d.ts +35 -0
  342. package/dist/core/roles.d.ts.map +1 -0
  343. package/dist/core/roles.js +182 -0
  344. package/dist/core/roles.js.map +1 -0
  345. package/dist/core/runner/active-skill-scope.d.ts +26 -0
  346. package/dist/core/runner/active-skill-scope.d.ts.map +1 -0
  347. package/dist/core/runner/active-skill-scope.js +116 -0
  348. package/dist/core/runner/active-skill-scope.js.map +1 -0
  349. package/dist/core/runner/assemble-result.d.ts +89 -0
  350. package/dist/core/runner/assemble-result.d.ts.map +1 -0
  351. package/dist/core/runner/assemble-result.js +141 -0
  352. package/dist/core/runner/assemble-result.js.map +1 -0
  353. package/dist/core/runner/call-cap.d.ts +38 -0
  354. package/dist/core/runner/call-cap.d.ts.map +1 -0
  355. package/dist/core/runner/call-cap.js +76 -0
  356. package/dist/core/runner/call-cap.js.map +1 -0
  357. package/dist/core/runner/grounding-signal.d.ts +2 -0
  358. package/dist/core/runner/grounding-signal.d.ts.map +1 -0
  359. package/dist/core/runner/grounding-signal.js +32 -0
  360. package/dist/core/runner/grounding-signal.js.map +1 -0
  361. package/dist/core/runner/image.d.ts +6 -0
  362. package/dist/core/runner/image.d.ts.map +1 -0
  363. package/dist/core/runner/image.js +116 -0
  364. package/dist/core/runner/image.js.map +1 -0
  365. package/dist/core/runner/memory-consolidation.d.ts +52 -0
  366. package/dist/core/runner/memory-consolidation.d.ts.map +1 -0
  367. package/dist/core/runner/memory-consolidation.js +253 -0
  368. package/dist/core/runner/memory-consolidation.js.map +1 -0
  369. package/dist/core/runner/prepare-task.d.ts +219 -0
  370. package/dist/core/runner/prepare-task.d.ts.map +1 -0
  371. package/dist/core/runner/prepare-task.js +2087 -0
  372. package/dist/core/runner/prepare-task.js.map +1 -0
  373. package/dist/core/runner/prompt-suggestions.d.ts +26 -0
  374. package/dist/core/runner/prompt-suggestions.d.ts.map +1 -0
  375. package/dist/core/runner/prompt-suggestions.js +104 -0
  376. package/dist/core/runner/prompt-suggestions.js.map +1 -0
  377. package/dist/core/runner/runtask.d.ts +53 -0
  378. package/dist/core/runner/runtask.d.ts.map +1 -0
  379. package/dist/core/runner/runtask.js +2703 -0
  380. package/dist/core/runner/runtask.js.map +1 -0
  381. package/dist/core/runner/session-rule-policy.d.ts +11 -0
  382. package/dist/core/runner/session-rule-policy.d.ts.map +1 -0
  383. package/dist/core/runner/session-rule-policy.js +76 -0
  384. package/dist/core/runner/session-rule-policy.js.map +1 -0
  385. package/dist/core/runner/strict-output-schema.d.ts +21 -0
  386. package/dist/core/runner/strict-output-schema.d.ts.map +1 -0
  387. package/dist/core/runner/strict-output-schema.js +304 -0
  388. package/dist/core/runner/strict-output-schema.js.map +1 -0
  389. package/dist/core/runner/synthetic-tools.d.ts +30 -0
  390. package/dist/core/runner/synthetic-tools.d.ts.map +1 -0
  391. package/dist/core/runner/synthetic-tools.js +124 -0
  392. package/dist/core/runner/synthetic-tools.js.map +1 -0
  393. package/dist/core/runner/tool-disclosure.d.ts +46 -0
  394. package/dist/core/runner/tool-disclosure.d.ts.map +1 -0
  395. package/dist/core/runner/tool-disclosure.js +220 -0
  396. package/dist/core/runner/tool-disclosure.js.map +1 -0
  397. package/dist/core/runner/turn-attachments.d.ts +110 -0
  398. package/dist/core/runner/turn-attachments.d.ts.map +1 -0
  399. package/dist/core/runner/turn-attachments.js +334 -0
  400. package/dist/core/runner/turn-attachments.js.map +1 -0
  401. package/dist/core/runner/usage-accounting.d.ts +19 -0
  402. package/dist/core/runner/usage-accounting.d.ts.map +1 -0
  403. package/dist/core/runner/usage-accounting.js +30 -0
  404. package/dist/core/runner/usage-accounting.js.map +1 -0
  405. package/dist/core/runtime.d.ts +4 -0
  406. package/dist/core/runtime.d.ts.map +1 -0
  407. package/dist/core/runtime.js +12 -0
  408. package/dist/core/runtime.js.map +1 -0
  409. package/dist/core/safety-axis-vocab.d.ts +10 -0
  410. package/dist/core/safety-axis-vocab.d.ts.map +1 -0
  411. package/dist/core/safety-axis-vocab.js +12 -0
  412. package/dist/core/safety-axis-vocab.js.map +1 -0
  413. package/dist/core/safety-merge-corpus.d.ts +11 -0
  414. package/dist/core/safety-merge-corpus.d.ts.map +1 -0
  415. package/dist/core/safety-merge-corpus.js +195 -0
  416. package/dist/core/safety-merge-corpus.js.map +1 -0
  417. package/dist/core/scheduler.d.ts +55 -0
  418. package/dist/core/scheduler.d.ts.map +1 -0
  419. package/dist/core/scheduler.js +32 -0
  420. package/dist/core/scheduler.js.map +1 -0
  421. package/dist/core/secret-env.d.ts +3 -0
  422. package/dist/core/secret-env.d.ts.map +1 -0
  423. package/dist/core/secret-env.js +13 -0
  424. package/dist/core/secret-env.js.map +1 -0
  425. package/dist/core/select-model.d.ts +11 -0
  426. package/dist/core/select-model.d.ts.map +1 -0
  427. package/dist/core/select-model.js +44 -0
  428. package/dist/core/select-model.js.map +1 -0
  429. package/dist/core/sensitive-path-policy.d.ts +9 -0
  430. package/dist/core/sensitive-path-policy.d.ts.map +1 -0
  431. package/dist/core/sensitive-path-policy.js +61 -0
  432. package/dist/core/sensitive-path-policy.js.map +1 -0
  433. package/dist/core/session-policy-store.d.ts +38 -0
  434. package/dist/core/session-policy-store.d.ts.map +1 -0
  435. package/dist/core/session-policy-store.js +112 -0
  436. package/dist/core/session-policy-store.js.map +1 -0
  437. package/dist/core/session-reconcile.d.ts +15 -0
  438. package/dist/core/session-reconcile.d.ts.map +1 -0
  439. package/dist/core/session-reconcile.js +48 -0
  440. package/dist/core/session-reconcile.js.map +1 -0
  441. package/dist/core/session-store.d.ts +36 -0
  442. package/dist/core/session-store.d.ts.map +1 -0
  443. package/dist/core/session-store.js +192 -0
  444. package/dist/core/session-store.js.map +1 -0
  445. package/dist/core/session.d.ts +44 -0
  446. package/dist/core/session.d.ts.map +1 -0
  447. package/dist/core/session.js +27 -0
  448. package/dist/core/session.js.map +1 -0
  449. package/dist/core/spec-contract.d.ts +58 -0
  450. package/dist/core/spec-contract.d.ts.map +1 -0
  451. package/dist/core/spec-contract.js +256 -0
  452. package/dist/core/spec-contract.js.map +1 -0
  453. package/dist/core/strategy-store.d.ts +25 -0
  454. package/dist/core/strategy-store.d.ts.map +1 -0
  455. package/dist/core/strategy-store.js +81 -0
  456. package/dist/core/strategy-store.js.map +1 -0
  457. package/dist/core/stub-env.d.ts +28 -0
  458. package/dist/core/stub-env.d.ts.map +1 -0
  459. package/dist/core/stub-env.js +61 -0
  460. package/dist/core/stub-env.js.map +1 -0
  461. package/dist/core/task-notification.d.ts +56 -0
  462. package/dist/core/task-notification.d.ts.map +1 -0
  463. package/dist/core/task-notification.js +200 -0
  464. package/dist/core/task-notification.js.map +1 -0
  465. package/dist/core/task-outcome.d.ts +27 -0
  466. package/dist/core/task-outcome.d.ts.map +1 -0
  467. package/dist/core/task-outcome.js +12 -0
  468. package/dist/core/task-outcome.js.map +1 -0
  469. package/dist/core/task-registry.d.ts +188 -0
  470. package/dist/core/task-registry.d.ts.map +1 -0
  471. package/dist/core/task-registry.js +1443 -0
  472. package/dist/core/task-registry.js.map +1 -0
  473. package/dist/core/tighten-task-spec.d.ts +6 -0
  474. package/dist/core/tighten-task-spec.d.ts.map +1 -0
  475. package/dist/core/tighten-task-spec.js +50 -0
  476. package/dist/core/tighten-task-spec.js.map +1 -0
  477. package/dist/core/tool-detach.d.ts +10 -0
  478. package/dist/core/tool-detach.d.ts.map +1 -0
  479. package/dist/core/tool-detach.js +41 -0
  480. package/dist/core/tool-detach.js.map +1 -0
  481. package/dist/core/tool-errors.d.ts +8 -0
  482. package/dist/core/tool-errors.d.ts.map +1 -0
  483. package/dist/core/tool-errors.js +132 -0
  484. package/dist/core/tool-errors.js.map +1 -0
  485. package/dist/core/tool-name-aliases.d.ts +3 -0
  486. package/dist/core/tool-name-aliases.d.ts.map +1 -0
  487. package/dist/core/tool-name-aliases.js +60 -0
  488. package/dist/core/tool-name-aliases.js.map +1 -0
  489. package/dist/core/tool-policy.d.ts +75 -0
  490. package/dist/core/tool-policy.d.ts.map +1 -0
  491. package/dist/core/tool-policy.js +363 -0
  492. package/dist/core/tool-policy.js.map +1 -0
  493. package/dist/core/tool-result-budget.d.ts +17 -0
  494. package/dist/core/tool-result-budget.d.ts.map +1 -0
  495. package/dist/core/tool-result-budget.js +103 -0
  496. package/dist/core/tool-result-budget.js.map +1 -0
  497. package/dist/core/tool-result-store.d.ts +55 -0
  498. package/dist/core/tool-result-store.d.ts.map +1 -0
  499. package/dist/core/tool-result-store.js +154 -0
  500. package/dist/core/tool-result-store.js.map +1 -0
  501. package/dist/core/tools.d.ts +6 -0
  502. package/dist/core/tools.d.ts.map +1 -0
  503. package/dist/core/tools.js +61 -0
  504. package/dist/core/tools.js.map +1 -0
  505. package/dist/core/trace.d.ts +208 -0
  506. package/dist/core/trace.d.ts.map +1 -0
  507. package/dist/core/trace.js +10 -0
  508. package/dist/core/trace.js.map +1 -0
  509. package/dist/core/types.d.ts +684 -0
  510. package/dist/core/types.d.ts.map +1 -0
  511. package/dist/core/types.js +2 -0
  512. package/dist/core/types.js.map +1 -0
  513. package/dist/core/untrusted-egress.d.ts +7 -0
  514. package/dist/core/untrusted-egress.d.ts.map +1 -0
  515. package/dist/core/untrusted-egress.js +23 -0
  516. package/dist/core/untrusted-egress.js.map +1 -0
  517. package/dist/core/untrusted-text.d.ts +5 -0
  518. package/dist/core/untrusted-text.d.ts.map +1 -0
  519. package/dist/core/untrusted-text.js +36 -0
  520. package/dist/core/untrusted-text.js.map +1 -0
  521. package/dist/core/warm-resume.d.ts +6 -0
  522. package/dist/core/warm-resume.d.ts.map +1 -0
  523. package/dist/core/warm-resume.js +11 -0
  524. package/dist/core/warm-resume.js.map +1 -0
  525. package/dist/core/with-retry.d.ts +19 -0
  526. package/dist/core/with-retry.d.ts.map +1 -0
  527. package/dist/core/with-retry.js +36 -0
  528. package/dist/core/with-retry.js.map +1 -0
  529. package/dist/core/workflow-journal-store.d.ts +16 -0
  530. package/dist/core/workflow-journal-store.d.ts.map +1 -0
  531. package/dist/core/workflow-journal-store.js +34 -0
  532. package/dist/core/workflow-journal-store.js.map +1 -0
  533. package/dist/core/workflow-run-store-contract.d.ts +6 -0
  534. package/dist/core/workflow-run-store-contract.d.ts.map +1 -0
  535. package/dist/core/workflow-run-store-contract.js +144 -0
  536. package/dist/core/workflow-run-store-contract.js.map +1 -0
  537. package/dist/core/workflow-run-store.d.ts +54 -0
  538. package/dist/core/workflow-run-store.d.ts.map +1 -0
  539. package/dist/core/workflow-run-store.js +86 -0
  540. package/dist/core/workflow-run-store.js.map +1 -0
  541. package/dist/engine/compaction/compaction.d.ts +63 -0
  542. package/dist/engine/compaction/compaction.d.ts.map +1 -0
  543. package/dist/engine/compaction/compaction.js +770 -0
  544. package/dist/engine/compaction/compaction.js.map +1 -0
  545. package/dist/engine/compaction/utils.d.ts +19 -0
  546. package/dist/engine/compaction/utils.d.ts.map +1 -0
  547. package/dist/engine/compaction/utils.js +167 -0
  548. package/dist/engine/compaction/utils.js.map +1 -0
  549. package/dist/engine/execution-env/kill-tree.d.ts +10 -0
  550. package/dist/engine/execution-env/kill-tree.d.ts.map +1 -0
  551. package/dist/engine/execution-env/kill-tree.js +143 -0
  552. package/dist/engine/execution-env/kill-tree.js.map +1 -0
  553. package/dist/engine/execution-env/node-execution-env.d.ts +98 -0
  554. package/dist/engine/execution-env/node-execution-env.d.ts.map +1 -0
  555. package/dist/engine/execution-env/node-execution-env.js +945 -0
  556. package/dist/engine/execution-env/node-execution-env.js.map +1 -0
  557. package/dist/engine/harness/agent-harness.d.ts +112 -0
  558. package/dist/engine/harness/agent-harness.d.ts.map +1 -0
  559. package/dist/engine/harness/agent-harness.js +932 -0
  560. package/dist/engine/harness/agent-harness.js.map +1 -0
  561. package/dist/engine/harness/messages.d.ts +12 -0
  562. package/dist/engine/harness/messages.d.ts.map +1 -0
  563. package/dist/engine/harness/messages.js +102 -0
  564. package/dist/engine/harness/messages.js.map +1 -0
  565. package/dist/engine/harness/types.d.ts +484 -0
  566. package/dist/engine/harness/types.d.ts.map +1 -0
  567. package/dist/engine/harness/types.js +91 -0
  568. package/dist/engine/harness/types.js.map +1 -0
  569. package/dist/engine/llm/diagnostics.d.ts +19 -0
  570. package/dist/engine/llm/diagnostics.d.ts.map +1 -0
  571. package/dist/engine/llm/diagnostics.js +28 -0
  572. package/dist/engine/llm/diagnostics.js.map +1 -0
  573. package/dist/engine/llm/event-stream.d.ts +22 -0
  574. package/dist/engine/llm/event-stream.d.ts.map +1 -0
  575. package/dist/engine/llm/event-stream.js +91 -0
  576. package/dist/engine/llm/event-stream.js.map +1 -0
  577. package/dist/engine/llm/index.d.ts +5 -0
  578. package/dist/engine/llm/index.d.ts.map +1 -0
  579. package/dist/engine/llm/index.js +5 -0
  580. package/dist/engine/llm/index.js.map +1 -0
  581. package/dist/engine/llm/types.d.ts +359 -0
  582. package/dist/engine/llm/types.d.ts.map +1 -0
  583. package/dist/engine/llm/types.js +2 -0
  584. package/dist/engine/llm/types.js.map +1 -0
  585. package/dist/engine/llm/validation.d.ts +5 -0
  586. package/dist/engine/llm/validation.d.ts.map +1 -0
  587. package/dist/engine/llm/validation.js +293 -0
  588. package/dist/engine/llm/validation.js.map +1 -0
  589. package/dist/engine/loop/agent-loop.d.ts +19 -0
  590. package/dist/engine/loop/agent-loop.d.ts.map +1 -0
  591. package/dist/engine/loop/agent-loop.js +1087 -0
  592. package/dist/engine/loop/agent-loop.js.map +1 -0
  593. package/dist/engine/loop/runtime-deps.d.ts +10 -0
  594. package/dist/engine/loop/runtime-deps.d.ts.map +1 -0
  595. package/dist/engine/loop/runtime-deps.js +19 -0
  596. package/dist/engine/loop/runtime-deps.js.map +1 -0
  597. package/dist/engine/loop/types.d.ts +209 -0
  598. package/dist/engine/loop/types.d.ts.map +1 -0
  599. package/dist/engine/loop/types.js +2 -0
  600. package/dist/engine/loop/types.js.map +1 -0
  601. package/dist/engine/lsp/frame-decoder.d.ts +3 -0
  602. package/dist/engine/lsp/frame-decoder.d.ts.map +1 -0
  603. package/dist/engine/lsp/frame-decoder.js +36 -0
  604. package/dist/engine/lsp/frame-decoder.js.map +1 -0
  605. package/dist/engine/lsp/node-lsp-manager.d.ts +49 -0
  606. package/dist/engine/lsp/node-lsp-manager.d.ts.map +1 -0
  607. package/dist/engine/lsp/node-lsp-manager.js +267 -0
  608. package/dist/engine/lsp/node-lsp-manager.js.map +1 -0
  609. package/dist/engine/lsp/stdio-lsp-transport.d.ts +32 -0
  610. package/dist/engine/lsp/stdio-lsp-transport.d.ts.map +1 -0
  611. package/dist/engine/lsp/stdio-lsp-transport.js +154 -0
  612. package/dist/engine/lsp/stdio-lsp-transport.js.map +1 -0
  613. package/dist/engine/session/import-validate.d.ts +13 -0
  614. package/dist/engine/session/import-validate.d.ts.map +1 -0
  615. package/dist/engine/session/import-validate.js +56 -0
  616. package/dist/engine/session/import-validate.js.map +1 -0
  617. package/dist/engine/session/memory-repo.d.ts +20 -0
  618. package/dist/engine/session/memory-repo.d.ts.map +1 -0
  619. package/dist/engine/session/memory-repo.js +54 -0
  620. package/dist/engine/session/memory-repo.js.map +1 -0
  621. package/dist/engine/session/memory-storage.d.ts +12 -0
  622. package/dist/engine/session/memory-storage.d.ts.map +1 -0
  623. package/dist/engine/session/memory-storage.js +16 -0
  624. package/dist/engine/session/memory-storage.js.map +1 -0
  625. package/dist/engine/session/repo-utils.d.ts +11 -0
  626. package/dist/engine/session/repo-utils.d.ts.map +1 -0
  627. package/dist/engine/session/repo-utils.js +40 -0
  628. package/dist/engine/session/repo-utils.js.map +1 -0
  629. package/dist/engine/session/session.d.ts +27 -0
  630. package/dist/engine/session/session.d.ts.map +1 -0
  631. package/dist/engine/session/session.js +197 -0
  632. package/dist/engine/session/session.js.map +1 -0
  633. package/dist/engine/session/storage-base.d.ts +30 -0
  634. package/dist/engine/session/storage-base.d.ts.map +1 -0
  635. package/dist/engine/session/storage-base.js +138 -0
  636. package/dist/engine/session/storage-base.js.map +1 -0
  637. package/dist/engine/session/timestamps.d.ts +3 -0
  638. package/dist/engine/session/timestamps.d.ts.map +1 -0
  639. package/dist/engine/session/timestamps.js +15 -0
  640. package/dist/engine/session/timestamps.js.map +1 -0
  641. package/dist/engine/session/uuid.d.ts +2 -0
  642. package/dist/engine/session/uuid.d.ts.map +1 -0
  643. package/dist/engine/session/uuid.js +50 -0
  644. package/dist/engine/session/uuid.js.map +1 -0
  645. package/dist/index.d.ts +156 -0
  646. package/dist/index.d.ts.map +1 -0
  647. package/dist/index.js +141 -0
  648. package/dist/index.js.map +1 -0
  649. package/dist/internal/harness.d.ts +19 -0
  650. package/dist/internal/harness.d.ts.map +1 -0
  651. package/dist/internal/harness.js +13 -0
  652. package/dist/internal/harness.js.map +1 -0
  653. package/dist/internal/llm.d.ts +3 -0
  654. package/dist/internal/llm.d.ts.map +1 -0
  655. package/dist/internal/llm.js +2 -0
  656. package/dist/internal/llm.js.map +1 -0
  657. package/dist/orchestration/builtin-workflows.d.ts +11 -0
  658. package/dist/orchestration/builtin-workflows.d.ts.map +1 -0
  659. package/dist/orchestration/builtin-workflows.js +134 -0
  660. package/dist/orchestration/builtin-workflows.js.map +1 -0
  661. package/dist/orchestration/dev-vm-script-runner.d.ts +5 -0
  662. package/dist/orchestration/dev-vm-script-runner.d.ts.map +1 -0
  663. package/dist/orchestration/dev-vm-script-runner.js +68 -0
  664. package/dist/orchestration/dev-vm-script-runner.js.map +1 -0
  665. package/dist/orchestration/goal.d.ts +40 -0
  666. package/dist/orchestration/goal.d.ts.map +1 -0
  667. package/dist/orchestration/goal.js +190 -0
  668. package/dist/orchestration/goal.js.map +1 -0
  669. package/dist/orchestration/run-spec.d.ts +21 -0
  670. package/dist/orchestration/run-spec.d.ts.map +1 -0
  671. package/dist/orchestration/run-spec.js +201 -0
  672. package/dist/orchestration/run-spec.js.map +1 -0
  673. package/dist/orchestration/run-workflow-tool.d.ts +80 -0
  674. package/dist/orchestration/run-workflow-tool.d.ts.map +1 -0
  675. package/dist/orchestration/run-workflow-tool.js +431 -0
  676. package/dist/orchestration/run-workflow-tool.js.map +1 -0
  677. package/dist/orchestration/workflow-governance.d.ts +30 -0
  678. package/dist/orchestration/workflow-governance.d.ts.map +1 -0
  679. package/dist/orchestration/workflow-governance.js +125 -0
  680. package/dist/orchestration/workflow-governance.js.map +1 -0
  681. package/dist/orchestration/workflow-meta.d.ts +13 -0
  682. package/dist/orchestration/workflow-meta.d.ts.map +1 -0
  683. package/dist/orchestration/workflow-meta.js +367 -0
  684. package/dist/orchestration/workflow-meta.js.map +1 -0
  685. package/dist/orchestration/workflow-observe.d.ts +18 -0
  686. package/dist/orchestration/workflow-observe.d.ts.map +1 -0
  687. package/dist/orchestration/workflow-observe.js +73 -0
  688. package/dist/orchestration/workflow-observe.js.map +1 -0
  689. package/dist/orchestration/workflow-primitives.d.ts +12 -0
  690. package/dist/orchestration/workflow-primitives.d.ts.map +1 -0
  691. package/dist/orchestration/workflow-primitives.js +56 -0
  692. package/dist/orchestration/workflow-primitives.js.map +1 -0
  693. package/dist/orchestration/workflow-sandbox-conformance.d.ts +5 -0
  694. package/dist/orchestration/workflow-sandbox-conformance.d.ts.map +1 -0
  695. package/dist/orchestration/workflow-sandbox-conformance.js +220 -0
  696. package/dist/orchestration/workflow-sandbox-conformance.js.map +1 -0
  697. package/dist/orchestration/workflow-script-runner.d.ts +39 -0
  698. package/dist/orchestration/workflow-script-runner.d.ts.map +1 -0
  699. package/dist/orchestration/workflow-script-runner.js +23 -0
  700. package/dist/orchestration/workflow-script-runner.js.map +1 -0
  701. package/dist/orchestration/workflow-script-store.d.ts +20 -0
  702. package/dist/orchestration/workflow-script-store.d.ts.map +1 -0
  703. package/dist/orchestration/workflow-script-store.js +73 -0
  704. package/dist/orchestration/workflow-script-store.js.map +1 -0
  705. package/dist/orchestration/workflow-size-guideline.d.ts +10 -0
  706. package/dist/orchestration/workflow-size-guideline.d.ts.map +1 -0
  707. package/dist/orchestration/workflow-size-guideline.js +38 -0
  708. package/dist/orchestration/workflow-size-guideline.js.map +1 -0
  709. package/dist/orchestration/workflow.d.ts +281 -0
  710. package/dist/orchestration/workflow.d.ts.map +1 -0
  711. package/dist/orchestration/workflow.js +1095 -0
  712. package/dist/orchestration/workflow.js.map +1 -0
  713. package/dist/prompts/default.d.ts +104 -0
  714. package/dist/prompts/default.d.ts.map +1 -0
  715. package/dist/prompts/default.js +397 -0
  716. package/dist/prompts/default.js.map +1 -0
  717. package/dist/prompts/supervisor.d.ts +5 -0
  718. package/dist/prompts/supervisor.d.ts.map +1 -0
  719. package/dist/prompts/supervisor.js +107 -0
  720. package/dist/prompts/supervisor.js.map +1 -0
  721. package/dist/scenarios/env.d.ts +13 -0
  722. package/dist/scenarios/env.d.ts.map +1 -0
  723. package/dist/scenarios/env.js +40 -0
  724. package/dist/scenarios/env.js.map +1 -0
  725. package/dist/scenarios/full-body.d.ts +13 -0
  726. package/dist/scenarios/full-body.d.ts.map +1 -0
  727. package/dist/scenarios/full-body.js +20 -0
  728. package/dist/scenarios/full-body.js.map +1 -0
  729. package/dist/scenarios/scenario-registry.d.ts +47 -0
  730. package/dist/scenarios/scenario-registry.d.ts.map +1 -0
  731. package/dist/scenarios/scenario-registry.js +139 -0
  732. package/dist/scenarios/scenario-registry.js.map +1 -0
  733. package/dist/scenarios/teacher-quickstart.d.ts +14 -0
  734. package/dist/scenarios/teacher-quickstart.d.ts.map +1 -0
  735. package/dist/scenarios/teacher-quickstart.js +13 -0
  736. package/dist/scenarios/teacher-quickstart.js.map +1 -0
  737. package/dist/server/http.d.ts +19 -0
  738. package/dist/server/http.d.ts.map +1 -0
  739. package/dist/server/http.js +115 -0
  740. package/dist/server/http.js.map +1 -0
  741. package/dist/stores/file/checkpoint-store.d.ts +40 -0
  742. package/dist/stores/file/checkpoint-store.d.ts.map +1 -0
  743. package/dist/stores/file/checkpoint-store.js +198 -0
  744. package/dist/stores/file/checkpoint-store.js.map +1 -0
  745. package/dist/stores/file/file-snapshot-store.d.ts +25 -0
  746. package/dist/stores/file/file-snapshot-store.d.ts.map +1 -0
  747. package/dist/stores/file/file-snapshot-store.js +313 -0
  748. package/dist/stores/file/file-snapshot-store.js.map +1 -0
  749. package/dist/stores/file/fs-atomic.d.ts +24 -0
  750. package/dist/stores/file/fs-atomic.d.ts.map +1 -0
  751. package/dist/stores/file/fs-atomic.js +276 -0
  752. package/dist/stores/file/fs-atomic.js.map +1 -0
  753. package/dist/stores/file/index.d.ts +45 -0
  754. package/dist/stores/file/index.d.ts.map +1 -0
  755. package/dist/stores/file/index.js +77 -0
  756. package/dist/stores/file/index.js.map +1 -0
  757. package/dist/stores/file/memory-store.d.ts +35 -0
  758. package/dist/stores/file/memory-store.d.ts.map +1 -0
  759. package/dist/stores/file/memory-store.js +300 -0
  760. package/dist/stores/file/memory-store.js.map +1 -0
  761. package/dist/stores/file/session-policy-store.d.ts +11 -0
  762. package/dist/stores/file/session-policy-store.d.ts.map +1 -0
  763. package/dist/stores/file/session-policy-store.js +96 -0
  764. package/dist/stores/file/session-policy-store.js.map +1 -0
  765. package/dist/stores/file/session-store.d.ts +24 -0
  766. package/dist/stores/file/session-store.d.ts.map +1 -0
  767. package/dist/stores/file/session-store.js +134 -0
  768. package/dist/stores/file/session-store.js.map +1 -0
  769. package/dist/stores/file/tool-result-store.d.ts +12 -0
  770. package/dist/stores/file/tool-result-store.d.ts.map +1 -0
  771. package/dist/stores/file/tool-result-store.js +44 -0
  772. package/dist/stores/file/tool-result-store.js.map +1 -0
  773. package/dist/stores/file/workflow-journal-store.d.ts +17 -0
  774. package/dist/stores/file/workflow-journal-store.d.ts.map +1 -0
  775. package/dist/stores/file/workflow-journal-store.js +104 -0
  776. package/dist/stores/file/workflow-journal-store.js.map +1 -0
  777. package/dist/stores/file/workflow-run-store.d.ts +41 -0
  778. package/dist/stores/file/workflow-run-store.d.ts.map +1 -0
  779. package/dist/stores/file/workflow-run-store.js +147 -0
  780. package/dist/stores/file/workflow-run-store.js.map +1 -0
  781. package/dist/stores/pg.d.ts +96 -0
  782. package/dist/stores/pg.d.ts.map +1 -0
  783. package/dist/stores/pg.js +451 -0
  784. package/dist/stores/pg.js.map +1 -0
  785. package/dist/tools/fs/encoding.d.ts +16 -0
  786. package/dist/tools/fs/encoding.d.ts.map +1 -0
  787. package/dist/tools/fs/encoding.js +44 -0
  788. package/dist/tools/fs/encoding.js.map +1 -0
  789. package/dist/tools/fs/gh-rate-limit.d.ts +3 -0
  790. package/dist/tools/fs/gh-rate-limit.d.ts.map +1 -0
  791. package/dist/tools/fs/gh-rate-limit.js +16 -0
  792. package/dist/tools/fs/gh-rate-limit.js.map +1 -0
  793. package/dist/tools/fs/index.d.ts +74 -0
  794. package/dist/tools/fs/index.d.ts.map +1 -0
  795. package/dist/tools/fs/index.js +1576 -0
  796. package/dist/tools/fs/index.js.map +1 -0
  797. package/dist/tools/fs/pdf.d.ts +47 -0
  798. package/dist/tools/fs/pdf.d.ts.map +1 -0
  799. package/dist/tools/fs/pdf.js +124 -0
  800. package/dist/tools/fs/pdf.js.map +1 -0
  801. package/dist/tools/fs/repo-map.d.ts +5 -0
  802. package/dist/tools/fs/repo-map.d.ts.map +1 -0
  803. package/dist/tools/fs/repo-map.js +209 -0
  804. package/dist/tools/fs/repo-map.js.map +1 -0
  805. package/dist/tools/fs/safety.d.ts +52 -0
  806. package/dist/tools/fs/safety.d.ts.map +1 -0
  807. package/dist/tools/fs/safety.js +314 -0
  808. package/dist/tools/fs/safety.js.map +1 -0
  809. package/dist/tools/fs/search.d.ts +57 -0
  810. package/dist/tools/fs/search.d.ts.map +1 -0
  811. package/dist/tools/fs/search.js +574 -0
  812. package/dist/tools/fs/search.js.map +1 -0
  813. package/dist/tools/gitea-issue.d.ts +14 -0
  814. package/dist/tools/gitea-issue.d.ts.map +1 -0
  815. package/dist/tools/gitea-issue.js +74 -0
  816. package/dist/tools/gitea-issue.js.map +1 -0
  817. package/dist/tools/monitor.d.ts +20 -0
  818. package/dist/tools/monitor.d.ts.map +1 -0
  819. package/dist/tools/monitor.js +90 -0
  820. package/dist/tools/monitor.js.map +1 -0
  821. package/dist/tools/scheduler-tools.d.ts +15 -0
  822. package/dist/tools/scheduler-tools.d.ts.map +1 -0
  823. package/dist/tools/scheduler-tools.js +338 -0
  824. package/dist/tools/scheduler-tools.js.map +1 -0
  825. package/dist/tools/sql-adapters.d.ts +14 -0
  826. package/dist/tools/sql-adapters.d.ts.map +1 -0
  827. package/dist/tools/sql-adapters.js +13 -0
  828. package/dist/tools/sql-adapters.js.map +1 -0
  829. package/dist/tools/sql.d.ts +11 -0
  830. package/dist/tools/sql.d.ts.map +1 -0
  831. package/dist/tools/sql.js +104 -0
  832. package/dist/tools/sql.js.map +1 -0
  833. package/dist/tools/task-list.d.ts +14 -0
  834. package/dist/tools/task-list.d.ts.map +1 -0
  835. package/dist/tools/task-list.js +318 -0
  836. package/dist/tools/task-list.js.map +1 -0
  837. package/dist/tools/todo.d.ts +3 -0
  838. package/dist/tools/todo.d.ts.map +1 -0
  839. package/dist/tools/todo.js +97 -0
  840. package/dist/tools/todo.js.map +1 -0
  841. package/dist/tools/web.d.ts +26 -0
  842. package/dist/tools/web.d.ts.map +1 -0
  843. package/dist/tools/web.js +498 -0
  844. package/dist/tools/web.js.map +1 -0
  845. package/dist/tools/worktree.d.ts +18 -0
  846. package/dist/tools/worktree.d.ts.map +1 -0
  847. package/dist/tools/worktree.js +288 -0
  848. package/dist/tools/worktree.js.map +1 -0
  849. package/package.json +68 -0
package/LICENSE ADDED
@@ -0,0 +1,104 @@
1
+ Business Source License 1.1
2
+
3
+ Parameters
4
+
5
+ Licensor: clay (github.com/clayboby)
6
+ Licensed Work: @sema-agent/core (sema-core)
7
+ (formerly published as @sema-ai/core)
8
+ The Licensed Work is (c) 2026 clay.
9
+ Additional Use Grant: You may make production use of the Licensed Work for
10
+ personal, educational, research, or other
11
+ non-commercial purposes. Commercial production use
12
+ requires a commercial license from the Licensor.
13
+ Change Date: 2030-07-13
14
+ Change License: Apache License, Version 2.0
15
+
16
+ For information about alternative licensing arrangements for the Licensed
17
+ Work, please contact the Licensor.
18
+
19
+ Notice
20
+
21
+ The Business Source License (this document, or the "License") is not an Open
22
+ Source license. However, the Licensed Work will eventually be made available
23
+ under an Open Source License, as stated in this License.
24
+
25
+ License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
26
+ "Business Source License" is a trademark of MariaDB Corporation Ab.
27
+
28
+ -----------------------------------------------------------------------------
29
+
30
+ Terms
31
+
32
+ The Licensor hereby grants you the right to copy, modify, create derivative
33
+ works, redistribute, and make non-production use of the Licensed Work. The
34
+ Licensor may make an Additional Use Grant, above, permitting limited
35
+ production use.
36
+
37
+ Effective on the Change Date, or the fourth anniversary of the first publicly
38
+ available distribution of a specific version of the Licensed Work under this
39
+ License, whichever comes first, the Licensor hereby grants you rights under
40
+ the terms of the Change License, and the rights granted in the paragraph
41
+ above terminate.
42
+
43
+ If your use of the Licensed Work does not comply with the requirements
44
+ currently in effect as described in this License, you must purchase a
45
+ commercial license from the Licensor, its affiliated entities, or authorized
46
+ resellers, or you must refrain from using the Licensed Work.
47
+
48
+ All copies of the original and modified Licensed Work, and derivative works
49
+ of the Licensed Work, are subject to this License. This License applies
50
+ separately for each version of the Licensed Work and the Change Date may vary
51
+ for each version of the Licensed Work released by Licensor.
52
+
53
+ You must conspicuously display this License on each original or modified copy
54
+ of the Licensed Work. If you receive the Licensed Work in original or
55
+ modified form from a third party, the terms and conditions set forth in this
56
+ License apply to your use of that work.
57
+
58
+ Any use of the Licensed Work in violation of this License will automatically
59
+ terminate your rights under this License for the current and all other
60
+ versions of the Licensed Work.
61
+
62
+ This License does not grant you any right in any trademark or logo of
63
+ Licensor or its affiliates (provided that you may use a trademark or logo of
64
+ Licensor as expressly required by this License).
65
+
66
+ TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
67
+ AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
68
+ EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
69
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
70
+ TITLE.
71
+
72
+ MariaDB hereby grants you permission to use this License's text to license
73
+ your works, and to refer to it using the trademark "Business Source License",
74
+ as long as you comply with the Covenants of Licensor below.
75
+
76
+ Covenants of Licensor
77
+
78
+ In consideration of the right to use this License's text and the "Business
79
+ Source License" name and trademark, Licensor covenants to MariaDB, and to all
80
+ other recipients of the licensed work to be provided by Licensor:
81
+
82
+ 1. To specify as the Change License the GPL Version 2.0 or any later version,
83
+ or a license that is compatible with GPL Version 2.0 or a later version,
84
+ where "compatible" means that software provided under the Change License can
85
+ be included in a program with software provided under GPL Version 2.0 or a
86
+ later version. Licensor may specify additional Change Licenses without
87
+ limitation.
88
+
89
+ 2. To either: (a) specify an additional grant of rights to use that does not
90
+ impose any additional restriction on the right granted in this License, as
91
+ the Additional Use Grant; or (b) insert the text "None".
92
+
93
+ 3. To specify a Change Date.
94
+
95
+ 4. Not to modify this License in any other way.
96
+
97
+ -----------------------------------------------------------------------------
98
+
99
+ Third-party notices
100
+
101
+ Versions of this package up to and including 1.277.1 were published under the
102
+ MIT License; those published copies remain governed by the license they were
103
+ distributed under. This package incorporates design and (where noted) prompt
104
+ content adapted from MIT-licensed projects — see NOTICE.md for attributions.
package/NOTICE.md ADDED
@@ -0,0 +1,30 @@
1
+ # Third-party design & content attribution
2
+
3
+ `@sema-agent/core` is licensed under the Business Source License 1.1 (BUSL-1.1; Change License: Apache-2.0, Change Date: 2030-07-13 — see LICENSE). Versions ≤1.277.1 were published under MIT. It incorporates design and (where noted) prompt content
4
+ adapted from the following MIT-licensed projects. All are reused under the MIT License.
5
+
6
+ ## openclaw — https://github.com/openclaw/openclaw (MIT)
7
+ Vendored source: the reusable agent core (`@openclaw/agent-core`) and `@openclaw/llm-core` live under
8
+ `src/vendor/` with minimal modifications; that tree has since been fully rewritten into first-party
9
+ code (design/118 de-vendoring, 2026-07-02). See `docs/vendor-history.md` for the baseline commit
10
+ and the complete modification history.
11
+
12
+ ## CodeWhale (formerly DeepSeek CLI) — https://github.com/Hmbown/CodeWhale (MIT)
13
+ Copyright (c) 2024-2025 DeepSeek CLI Contributors.
14
+ Design adapted (re-implemented in TypeScript, not copied verbatim):
15
+ - `src/core/memory.ts` — the user-memory pattern (persistent notes, a `remember` tool, the
16
+ `<user_memory>` system-prompt block, size truncation, timestamped bullets) is adapted from
17
+ CodeWhale's `crates/tui/src/memory.rs`.
18
+ - `src/prompts/default.ts` — the default system prompt distills the *universal* agent disciplines
19
+ from CodeWhale's `prompts/base.md` "Constitution" (truth, duty of action, verification, tool-use
20
+ enforcement, hierarchy of authority) and `prompts/memory_guidance.md` (memory = declarative facts).
21
+ CodeWhale's project branding and coding-/DeepSeek-specific content are not used; the text here is a
22
+ domain-neutral rewrite.
23
+ - `test/prompt-cache.test.ts` — the offline byte-prefix-cache simulation (multi-turn hit-rate guard)
24
+ is ported from CodeWhale's `crates/tui/tests/cache_guard.rs`.
25
+ - `src/brain/openai.ts` — parsing prefix-cache-hit tokens from the response usage
26
+ (`prompt_tokens_details.cached_tokens` / `prompt_cache_hit_tokens`) follows CodeWhale's `client.rs`.
27
+
28
+ ## Anthropic engineering guidance (referenced, not code)
29
+ Context-engineering and memory-tool design follow Anthropic's public engineering writing
30
+ (context engineering, memory tool + context editing, managed agents, multi-agent systems).
package/README.md ADDED
@@ -0,0 +1,143 @@
1
+ # @sema-agent/core
2
+
3
+ > **Claude Code-grade agent engine, as a library — bring your own model.**
4
+
5
+ `@sema-agent/core` is a stateless, task-oriented AI agent engine for TypeScript/Node. You supply the
6
+ LLM (any OpenAI-compatible gateway, or the Anthropic Messages API); the engine runs the entire
7
+ agent loop — model turns, native tool calls, MCP servers, session memory, automatic context
8
+ compaction, multi-agent delegation — and returns a machine-readable result.
9
+
10
+ ```ts
11
+ const res = await runner.runTask({ objective: "...", model: "main" });
12
+ ```
13
+
14
+ ## What it is / what it is not
15
+
16
+ **It is:**
17
+
18
+ - A **library** (`npm install @sema-agent/core`), embedded in your own service, CLI, or product.
19
+ One `Runner` instance, plain function calls, typed events.
20
+ - **Model-agnostic.** The "brain" is an injected streaming-completion function. Adapters ship for
21
+ OpenAI-compatible `/v1/chat/completions` endpoints (vLLM, Ollama, OpenRouter, DeepSeek, OpenAI)
22
+ and for the Anthropic Messages API. Routing, failover, and model roles are configuration.
23
+ - **Stateless by design.** A task carries its full configuration (model, prompt, tools, MCP,
24
+ skills, limits) and returns a `TaskResult`. Persistence — sessions, checkpoints, long-term
25
+ memory, workflow journals — lives behind storage interfaces you can back with files or Postgres.
26
+
27
+ **It is not:**
28
+
29
+ - Not a chat app, CLI product, or hosted service. There is no UI and no server you must run
30
+ (an optional embeddable HTTP/SSE server, `createTaskServer`, is provided).
31
+ - Not tied to any model vendor. It ships no API key, no default model, and no phone-home.
32
+ - Not a prompt-template or "chain" framework. It is a full agent runtime: the loop, the tool
33
+ harness, the safety gates, and the durability layer.
34
+
35
+ ## Highlights
36
+
37
+ - **Claude Code-parity tool surface.** The built-in agent toolset (file read/write/edit, shell with
38
+ background execution, grep/glob search, sub-agent delegation, todo/plan surfaces …) tracks the
39
+ behavior of Claude Code's tool contract, continuously verified against live probes.
40
+ - **Durable checkpoints and human-in-the-loop.** Tasks can suspend on approval gates, budget
41
+ limits, or explicit checkpoints and resume later — on another process or machine — via a
42
+ pluggable `CheckpointStore` (in-memory, file, Postgres). Task statuses are explicit:
43
+ `completed | blocked | failed | timeout | suspended | needs_review`.
44
+ - **Memory engine.** Scoped long-term memory with a pluggable `MemoryBackend`
45
+ (file-backed or Postgres), plus automatic in-context compaction that keeps long runs inside the
46
+ model's context window without losing the thread.
47
+ - **Multi-agent.** Sub-agent delegation, team discussions, deterministic `runWorkflow`
48
+ orchestration with durable journals, and opt-in observer agents that monitor and steer a run.
49
+ - **Streaming first.** Every task emits a typed `TaskEvent` stream (reasoning deltas, text deltas,
50
+ tool lifecycle, progress, diagnostics), ready to pipe into SSE via `createTaskServer`.
51
+ - **Security model built in.** Tool policies with allow/ask/deny semantics, per-principal
52
+ authorization, shell gating, and durable approval suspension — not bolted on.
53
+ - **Small and honest.** Two runtime dependencies (`typebox`, `@modelcontextprotocol/sdk`).
54
+ A deterministic vitest suite of 5,400+ tests runs fully offline (`npm test`), including a real
55
+ stdio MCP server.
56
+ - **Source-available.** BUSL-1.1: free for personal, educational, research, and non-commercial
57
+ production use; converts to Apache-2.0 on 2030-07-13. See [License](#license).
58
+
59
+ ## Quick start (60 seconds)
60
+
61
+ Requirements: Node ≥ 20 and an OpenAI-compatible gateway (streaming + function calling).
62
+
63
+ ```bash
64
+ npm install @sema-agent/core
65
+ ```
66
+
67
+ ```ts
68
+ import { Runner, createOpenAIBrain, type Model } from "@sema-agent/core";
69
+
70
+ // 1) Describe the model (points at YOUR gateway).
71
+ const model: Model = {
72
+ id: "qwen-3.5-35b", name: "Qwen3.5-35B",
73
+ api: "openai-completions", provider: "vllm",
74
+ baseUrl: "http://localhost:8000/v1", // your gateway; no trailing /chat/completions
75
+ reasoning: true, input: ["text", "image"],
76
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
77
+ contextWindow: 262144, maxTokens: 4096,
78
+ };
79
+
80
+ // 2) Build a Runner (brain = the external LLM; models = your catalog).
81
+ const runner = new Runner({
82
+ brain: createOpenAIBrain(),
83
+ models: { main: model },
84
+ });
85
+
86
+ // 3) Run a task.
87
+ const res = await runner.runTask({
88
+ objective: "Summarize the trade-offs between SSE and WebSockets in three bullet points.",
89
+ model: "main",
90
+ sessionId: "chat-42", // pass the same id to continue a conversation; omit for a fresh one
91
+ });
92
+
93
+ console.log(res.status); // "completed" | "blocked" | "failed" | "timeout" | "suspended" | "needs_review"
94
+ console.log(res.result); // final assistant text
95
+ ```
96
+
97
+ Add tools (`defineTool`, the built-in SQL tool, or task-scoped MCP servers), stream events
98
+ token-by-token, or expose the runner over HTTP + SSE — the
99
+ [SDK guide](docs/sdk/README.md) covers each step, starting with
100
+ [01 – Getting Started](docs/sdk/01-getting-started.md).
101
+
102
+ ## Documentation
103
+
104
+ | Document | What it covers |
105
+ |----------|----------------|
106
+ | [SDK Guide (index)](docs/sdk/README.md) | Entry point for the full SDK documentation, split into 10 chapters |
107
+ | [01 – Getting Started](docs/sdk/01-getting-started.md) | Installation, the 60-second integration, core concepts, runnable examples |
108
+ | [02 – Runner and Tasks](docs/sdk/02-runner-and-tasks.md) | `Runner`, `RunnerDeps`, `TaskSpec`, `TaskResult`, task status semantics |
109
+ | [03 – Brains and Models](docs/sdk/03-brains-and-models.md) | Brain contract, OpenAI/Anthropic adapters, failover, model roles, reasoning intensity |
110
+ | [04 – Tools and MCP](docs/sdk/04-tools-and-mcp.md) | `defineTool`, the SQL tool, issue-tracker tools, MCP integration |
111
+ | [05 – Streaming and the HTTP Server](docs/sdk/05-streaming-and-http-server.md) | The `TaskEvent` protocol, SSE, `createTaskServer` |
112
+ | [06 – Sessions, Memory, and Compaction](docs/sdk/06-sessions-memory-and-compaction.md) | Session stores, automatic compaction, long-term memory backends |
113
+ | [07 – Multi-Agent](docs/sdk/07-multi-agent.md) | Sub-agents, team discussions, teacher mode |
114
+ | [08 – Workflows](docs/sdk/08-workflows.md) | Deterministic `runWorkflow` orchestration and observability |
115
+ | [09 – Security and Policies](docs/sdk/09-security-and-policies.md) | Tool policies, approvals, shell gating, human-in-the-loop supervision |
116
+ | [10 – Extension Points](docs/sdk/10-extension-points.md) | Custom brains, session stores, execution environments, Postgres adapters |
117
+ | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | How the engine is put together internally |
118
+ | [docs/TESTING.md](docs/TESTING.md) | The test system and how to run it |
119
+ | [docs/REFERENCES.md](docs/REFERENCES.md) | Design lineage and external references |
120
+ | [docs/ROADMAP.md](docs/ROADMAP.md) | Where the project is heading |
121
+ | [CONTRIBUTING.md](CONTRIBUTING.md) | How to contribute |
122
+ | [SECURITY.md](SECURITY.md) | Reporting vulnerabilities |
123
+
124
+ ## Development
125
+
126
+ ```bash
127
+ npm install
128
+ npx tsc --noEmit # type-check (expect 0 errors)
129
+ npm test # vitest: full deterministic suite, offline, no gateway needed
130
+ npm run smoke # mock-brain end-to-end smoke
131
+ ```
132
+
133
+ Runnable live examples (require a reachable model gateway) live in `src/examples/`.
134
+
135
+ ## License
136
+
137
+ [BUSL-1.1](LICENSE) (Business Source License).
138
+
139
+ - **Free** for personal, educational, research, and non-commercial production use.
140
+ - **Commercial production use requires a license** from the licensor.
141
+ - On **2030-07-13** the license automatically converts to **Apache-2.0**.
142
+
143
+ See the [LICENSE](LICENSE) file for the exact terms.
@@ -0,0 +1,138 @@
1
+ # @sema-agent/core
2
+
3
+ > **Claude Code 级 agent 引擎,以库的形态交付——模型你自己带。**
4
+
5
+ `@sema-agent/core` 是一个**无状态、任务化**的 TypeScript/Node AI agent 引擎。LLM 由你提供
6
+ (任意 OpenAI 兼容网关,或 Anthropic Messages API);引擎负责完整的 agent 循环——模型轮次、
7
+ 原生工具调用、MCP 服务器、会话记忆、自动上下文压缩、多 agent 委派——并返回机器可读的结果。
8
+
9
+ ```ts
10
+ const res = await runner.runTask({ objective: "...", model: "main" });
11
+ ```
12
+
13
+ ## 它是什么 / 不是什么
14
+
15
+ **它是:**
16
+
17
+ - **一个库**(`npm install @sema-agent/core`),嵌进你自己的服务、CLI 或产品里。
18
+ 一个 `Runner` 实例、普通函数调用、带类型的事件流。
19
+ - **模型无关。**"大脑"是注入的流式补全函数。内置两类适配器:OpenAI 兼容的
20
+ `/v1/chat/completions` 端点(vLLM、Ollama、OpenRouter、DeepSeek、OpenAI)与
21
+ Anthropic Messages API。路由、故障转移、模型角色都是配置项。
22
+ - **设计上无状态。**一个任务自带全套配置(模型、提示词、工具、MCP、skill、限额),
23
+ 跑完返回一个 `TaskResult`。持久化——会话、检查点、长期记忆、workflow 日志——全部
24
+ 藏在存储接口后面,可用文件或 Postgres 落地。
25
+
26
+ **它不是:**
27
+
28
+ - 不是聊天应用、CLI 产品或托管服务。没有 UI,也没有必须部署的服务端
29
+ (可选提供一个可嵌入的 HTTP/SSE 服务器 `createTaskServer`)。
30
+ - 不绑定任何模型厂商。不带 API key、没有默认模型、不回传数据。
31
+ - 不是提示词模板或"链式"框架。它是完整的 agent 运行时:循环、工具挂载、
32
+ 安全闸门、持久化层,一个不少。
33
+
34
+ ## 核心亮点
35
+
36
+ - **Claude Code 对齐的工具面。**内置 agent 工具集(文件读/写/编辑、支持后台执行的 shell、
37
+ grep/glob 搜索、子 agent 委派、todo/plan 面……)对齐 Claude Code 的工具契约,
38
+ 并持续用活体探针验证。
39
+ - **持久化检查点与人在环。**任务可以在审批闸、预算上限或显式检查点处挂起,稍后恢复——
40
+ 甚至在另一个进程或机器上——背后是可插拔的 `CheckpointStore`(内存/文件/Postgres)。
41
+ 任务状态语义明确:`completed | blocked | failed | timeout | suspended | needs_review`。
42
+ - **记忆引擎。**带作用域的长期记忆,`MemoryBackend` 可插拔(文件或 Postgres);
43
+ 配合自动压缩,长任务不会撑爆上下文窗口,也不会丢线索。
44
+ - **多 agent。**子 agent 委派、team 讨论、确定性的 `runWorkflow` 编排(带可恢复日志),
45
+ 以及可选启用的 observer agent(旁观并引导正在运行的 agent)。
46
+ - **流式优先。**每个任务发出带类型的 `TaskEvent` 流(推理增量、文本增量、工具生命周期、
47
+ 进度、诊断),经 `createTaskServer` 可直接接 SSE。
48
+ - **内建安全模型。**工具策略的 allow/ask/deny 语义、按 principal 的授权、shell 闸门、
49
+ 可持久化的审批挂起——不是事后补丁。
50
+ - **小而诚实。**运行时依赖只有两个(`typebox`、`@modelcontextprotocol/sdk`)。
51
+ 5400+ 条确定性 vitest 测试完全离线可跑(`npm test`),其中包括一个真实的 stdio MCP 服务器。
52
+ - **源码可得。**BUSL-1.1:个人/教育/研究/非商用生产免费;2030-07-13 自动转 Apache-2.0。
53
+ 见[许可](#许可)。
54
+
55
+ ## 60 秒上手
56
+
57
+ 要求:Node ≥ 20,以及一个 OpenAI 兼容网关(流式 + function calling)。
58
+
59
+ ```bash
60
+ npm install @sema-agent/core
61
+ ```
62
+
63
+ ```ts
64
+ import { Runner, createOpenAIBrain, type Model } from "@sema-agent/core";
65
+
66
+ // 1) 描述模型(指向你自己的网关)
67
+ const model: Model = {
68
+ id: "qwen-3.5-35b", name: "Qwen3.5-35B",
69
+ api: "openai-completions", provider: "vllm",
70
+ baseUrl: "http://localhost:8000/v1", // 你的网关,结尾不带 /chat/completions
71
+ reasoning: true, input: ["text", "image"],
72
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
73
+ contextWindow: 262144, maxTokens: 4096,
74
+ };
75
+
76
+ // 2) 建 Runner(brain = 外部 LLM;models = 你的模型目录)
77
+ const runner = new Runner({
78
+ brain: createOpenAIBrain(),
79
+ models: { main: model },
80
+ });
81
+
82
+ // 3) 跑一个任务
83
+ const res = await runner.runTask({
84
+ objective: "用三个要点总结 SSE 与 WebSocket 的取舍。",
85
+ model: "main",
86
+ sessionId: "chat-42", // 传同一个 id 即继续对话;不传则开新会话
87
+ });
88
+
89
+ console.log(res.status); // "completed" | "blocked" | "failed" | "timeout" | "suspended" | "needs_review"
90
+ console.log(res.result); // 最终回复文本
91
+ ```
92
+
93
+ 接下来:挂工具(`defineTool`、内置 SQL 工具、任务级 MCP)、逐 token 消费事件流、
94
+ 或把 Runner 暴露成 HTTP + SSE 服务——[SDK 指南](docs/sdk/README.md)按主题分章覆盖,
95
+ 从 [01 – Getting Started](docs/sdk/01-getting-started.md) 读起。
96
+
97
+ ## 文档导航
98
+
99
+ | 文档 | 内容 |
100
+ |------|------|
101
+ | [SDK 指南(目录)](docs/sdk/README.md) | 完整 SDK 文档入口,按主题分 10 章 |
102
+ | [01 – Getting Started](docs/sdk/01-getting-started.md) | 安装、60 秒集成、核心概念、可运行示例 |
103
+ | [02 – Runner and Tasks](docs/sdk/02-runner-and-tasks.md) | `Runner`、`RunnerDeps`、`TaskSpec`、`TaskResult`、任务状态语义 |
104
+ | [03 – Brains and Models](docs/sdk/03-brains-and-models.md) | Brain 契约、OpenAI/Anthropic 适配器、故障转移、模型角色、推理强度 |
105
+ | [04 – Tools and MCP](docs/sdk/04-tools-and-mcp.md) | `defineTool`、SQL 工具、issue 工具、MCP 集成 |
106
+ | [05 – Streaming and the HTTP Server](docs/sdk/05-streaming-and-http-server.md) | `TaskEvent` 协议、SSE、`createTaskServer` |
107
+ | [06 – Sessions, Memory, and Compaction](docs/sdk/06-sessions-memory-and-compaction.md) | 会话存储、自动压缩、长期记忆后端 |
108
+ | [07 – Multi-Agent](docs/sdk/07-multi-agent.md) | 子 agent、team 讨论、teacher 模式 |
109
+ | [08 – Workflows](docs/sdk/08-workflows.md) | 确定性 `runWorkflow` 编排与可观测性 |
110
+ | [09 – Security and Policies](docs/sdk/09-security-and-policies.md) | 工具策略、审批、shell 闸门、人在环监督 |
111
+ | [10 – Extension Points](docs/sdk/10-extension-points.md) | 自定义 brain、会话存储、执行环境、Postgres 适配器 |
112
+ | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | 引擎内部结构 |
113
+ | [docs/TESTING.md](docs/TESTING.md) | 测试体系与运行方式 |
114
+ | [docs/REFERENCES.md](docs/REFERENCES.md) | 设计脉络与外部参考 |
115
+ | [docs/ROADMAP.md](docs/ROADMAP.md) | 项目方向 |
116
+ | [CONTRIBUTING.md](CONTRIBUTING.md) | 如何参与贡献 |
117
+ | [SECURITY.md](SECURITY.md) | 漏洞报告 |
118
+
119
+ ## 本地开发
120
+
121
+ ```bash
122
+ npm install
123
+ npx tsc --noEmit # 类型检查(应为 0 错误)
124
+ npm test # vitest:全量确定性套件,离线,无需网关
125
+ npm run smoke # mock brain 端到端冒烟
126
+ ```
127
+
128
+ 需要真实网关的活体示例在 `src/examples/`。
129
+
130
+ ## 许可
131
+
132
+ [BUSL-1.1](LICENSE)(Business Source License)。
133
+
134
+ - 个人、教育、研究及非商用生产环境**免费**。
135
+ - **商用生产环境需向许可方取得授权**。
136
+ - **2030-07-13** 自动转为 **Apache-2.0**。
137
+
138
+ 准确条款以 [LICENSE](LICENSE) 文件为准。
@@ -0,0 +1,3 @@
1
+ import type { AgentDefinition } from "../core/types.js";
2
+ export declare function defineAgent(def: AgentDefinition): AgentDefinition;
3
+ //# sourceMappingURL=agent-definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-definition.d.ts","sourceRoot":"","sources":["../../src/agents/agent-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AASxD,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,CASjE"}
@@ -0,0 +1,9 @@
1
+ export function defineAgent(def) {
2
+ if (!def.name || !def.name.trim()) {
3
+ const e = new Error("defineAgent: `name` is required and must be a non-empty string.");
4
+ e.code = "config.agent.invalid";
5
+ throw e;
6
+ }
7
+ return Object.freeze({ ...def });
8
+ }
9
+ //# sourceMappingURL=agent-definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-definition.js","sourceRoot":"","sources":["../../src/agents/agent-definition.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,WAAW,CAAC,GAAoB;IAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,iEAAiE,CAA8B,CAAC;QACpH,CAAC,CAAC,IAAI,GAAG,sBAAsB,CAAC;QAChC,MAAM,CAAC,CAAC;IACV,CAAC;IAGD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { AgentDefinition } from "../core/types.js";
2
+ export declare const EXPLORE_WHEN_TO_USE = "Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis \u2014 it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions.";
3
+ export declare const EXPLORE_WHEN_TO_USE_LEAN = "Read-only search agent for broad fan-out searches \u2014 when answering means sweeping many files, directories, or naming conventions and you only need the conclusion, not the file dumps. It reads excerpts rather than whole files, so it locates code; it doesn't review or audit it. Specify search breadth: \"medium\" for moderate exploration, \"very thorough\" for multiple locations and naming conventions.";
4
+ export declare const PLAN_WHEN_TO_USE = "Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs.";
5
+ export declare const EXPLORE_SYSTEM_PROMPT = "You are a file search specialist. You excel at thoroughly navigating and exploring codebases.\n\n=== CRITICAL: READ-ONLY MODE - NO FILE MODIFICATIONS ===\nThis is a READ-ONLY exploration task. You are STRICTLY PROHIBITED from:\n- Creating new files (no Write, touch, or file creation of any kind)\n- Modifying existing files (no Edit operations)\n- Deleting files (no rm or deletion)\n- Moving or copying files (no mv or cp)\n- Creating temporary files anywhere, including /tmp\n- Using redirect operators (>, >>, |) or heredocs to write to files\n- Running ANY commands that change system state\n\nYour role is EXCLUSIVELY to search and analyze existing code. You do NOT have access to file editing tools - attempting to edit files will fail.\n\nYour strengths:\n- Rapidly finding files using glob patterns\n- Searching code and text with powerful regex patterns\n- Reading and analyzing file contents\n\nGuidelines:\n- Use Glob for broad file pattern matching\n- Use Grep for searching file contents with regex\n- Use Read when you know the specific file path you need to read\n- Use Bash ONLY for read-only operations (ls, git status, git log, git diff, find, cat, head, tail)\n- NEVER use Bash for: mkdir, touch, rm, cp, mv, git add, git commit, npm install, pip install, or any file creation/modification\n- Adapt your search approach based on the thoroughness level specified by the caller\n- Communicate your final report directly as a regular message - do NOT attempt to create files\n\nNOTE: You are meant to be a fast agent that returns output as quickly as possible. In order to achieve this you must:\n- Make efficient use of the tools that you have at your disposal: be smart about how you search for files and implementations\n- Wherever possible you should try to spawn multiple parallel tool calls for grepping and reading files\n\nComplete the user's search request efficiently and report your findings clearly.";
6
+ export declare const PLAN_SYSTEM_PROMPT = "You are a software architect and planning specialist. Your role is to explore the codebase and design implementation plans.\n\n=== CRITICAL: READ-ONLY MODE - NO FILE MODIFICATIONS ===\nThis is a READ-ONLY planning task. You are STRICTLY PROHIBITED from:\n- Creating new files (no Write, touch, or file creation of any kind)\n- Modifying existing files (no Edit operations)\n- Deleting files (no rm or deletion)\n- Moving or copying files (no mv or cp)\n- Creating temporary files anywhere, including /tmp\n- Using redirect operators (>, >>, |) or heredocs to write to files\n- Running ANY commands that change system state\n\nYour role is EXCLUSIVELY to explore the codebase and design implementation plans. You do NOT have access to file editing tools - attempting to edit files will fail.\n\nYou will be provided with a set of requirements and optionally a perspective on how to approach the design process.\n\n## Your Process\n\n1. **Understand Requirements**: Focus on the requirements provided and apply your assigned perspective throughout the design process.\n\n2. **Explore Thoroughly**:\n - Read any files provided to you in the initial prompt\n - Find existing patterns and conventions using Glob, Grep, and Read\n - Understand the current architecture\n - Identify similar features as reference\n - Trace through relevant code paths\n - Use Bash ONLY for read-only operations (ls, git status, git log, git diff, find, cat, head, tail)\n - NEVER use Bash for: mkdir, touch, rm, cp, mv, git add, git commit, npm install, pip install, or any file creation/modification\n\n3. **Design Solution**:\n - Create implementation approach based on your assigned perspective\n - Consider trade-offs and architectural decisions\n - Follow existing patterns where appropriate\n\n4. **Detail the Plan**:\n - Provide step-by-step implementation strategy\n - Identify dependencies and sequencing\n - Anticipate potential challenges\n\n## Required Output\n\nEnd your response with:\n\n### Critical Files for Implementation\nList 3-5 files most critical for implementing this plan:\n- path/to/file1.ts\n- path/to/file2.ts\n- path/to/file3.ts\n\nREMEMBER: You can ONLY explore and plan. You CANNOT and MUST NOT write, edit, or modify any files. You do NOT have access to file editing tools.";
7
+ export declare const BUILTIN_READONLY_DENY_TOOLS: (delegationToolName?: string) => string[];
8
+ export declare function builtinAgentDefinitions(delegationToolName?: string): AgentDefinition[];
9
+ //# sourceMappingURL=builtin-agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-agents.d.ts","sourceRoot":"","sources":["../../src/agents/builtin-agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAiDxD,eAAO,MAAM,mBAAmB,mnBACikB,CAAC;AAGlmB,eAAO,MAAM,wBAAwB,4ZACiX,CAAC;AAGvZ,eAAO,MAAM,gBAAgB,uOACyM,CAAC;AAGvO,eAAO,MAAM,qBAAqB,64DAgC+C,CAAC;AAGlF,eAAO,MAAM,kBAAkB,wwEAiDkH,CAAC;AASlJ,eAAO,MAAM,2BAA2B,wBAAwB,MAAM,KAAkC,MAAM,EAO7G,CAAC;AASF,wBAAgB,uBAAuB,CAAC,kBAAkB,GAAE,MAAqC,GAAG,eAAe,EAAE,CAkBpH"}
@@ -0,0 +1,114 @@
1
+ const DEFAULT_DELEGATION_TOOL_NAME = "Agent";
2
+ export const EXPLORE_WHEN_TO_USE = 'Fast read-only search agent for locating code. Use it to find files by pattern (eg. "src/components/**/*.tsx"), grep for symbols or keywords (eg. "API endpoints"), or answer "where is X defined / which files reference Y." Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: "quick" for a single targeted lookup, "medium" for moderate exploration, or "very thorough" to search across multiple locations and naming conventions.';
3
+ export const EXPLORE_WHEN_TO_USE_LEAN = "Read-only search agent for broad fan-out searches — when answering means sweeping many files, directories, or naming conventions and you only need the conclusion, not the file dumps. It reads excerpts rather than whole files, so it locates code; it doesn't review or audit it. Specify search breadth: \"medium\" for moderate exploration, \"very thorough\" for multiple locations and naming conventions.";
4
+ export const PLAN_WHEN_TO_USE = "Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs.";
5
+ export const EXPLORE_SYSTEM_PROMPT = `You are a file search specialist. You excel at thoroughly navigating and exploring codebases.
6
+
7
+ === CRITICAL: READ-ONLY MODE - NO FILE MODIFICATIONS ===
8
+ This is a READ-ONLY exploration task. You are STRICTLY PROHIBITED from:
9
+ - Creating new files (no Write, touch, or file creation of any kind)
10
+ - Modifying existing files (no Edit operations)
11
+ - Deleting files (no rm or deletion)
12
+ - Moving or copying files (no mv or cp)
13
+ - Creating temporary files anywhere, including /tmp
14
+ - Using redirect operators (>, >>, |) or heredocs to write to files
15
+ - Running ANY commands that change system state
16
+
17
+ Your role is EXCLUSIVELY to search and analyze existing code. You do NOT have access to file editing tools - attempting to edit files will fail.
18
+
19
+ Your strengths:
20
+ - Rapidly finding files using glob patterns
21
+ - Searching code and text with powerful regex patterns
22
+ - Reading and analyzing file contents
23
+
24
+ Guidelines:
25
+ - Use Glob for broad file pattern matching
26
+ - Use Grep for searching file contents with regex
27
+ - Use Read when you know the specific file path you need to read
28
+ - Use Bash ONLY for read-only operations (ls, git status, git log, git diff, find, cat, head, tail)
29
+ - NEVER use Bash for: mkdir, touch, rm, cp, mv, git add, git commit, npm install, pip install, or any file creation/modification
30
+ - Adapt your search approach based on the thoroughness level specified by the caller
31
+ - Communicate your final report directly as a regular message - do NOT attempt to create files
32
+
33
+ NOTE: You are meant to be a fast agent that returns output as quickly as possible. In order to achieve this you must:
34
+ - Make efficient use of the tools that you have at your disposal: be smart about how you search for files and implementations
35
+ - Wherever possible you should try to spawn multiple parallel tool calls for grepping and reading files
36
+
37
+ Complete the user's search request efficiently and report your findings clearly.`;
38
+ export const PLAN_SYSTEM_PROMPT = `You are a software architect and planning specialist. Your role is to explore the codebase and design implementation plans.
39
+
40
+ === CRITICAL: READ-ONLY MODE - NO FILE MODIFICATIONS ===
41
+ This is a READ-ONLY planning task. You are STRICTLY PROHIBITED from:
42
+ - Creating new files (no Write, touch, or file creation of any kind)
43
+ - Modifying existing files (no Edit operations)
44
+ - Deleting files (no rm or deletion)
45
+ - Moving or copying files (no mv or cp)
46
+ - Creating temporary files anywhere, including /tmp
47
+ - Using redirect operators (>, >>, |) or heredocs to write to files
48
+ - Running ANY commands that change system state
49
+
50
+ Your role is EXCLUSIVELY to explore the codebase and design implementation plans. You do NOT have access to file editing tools - attempting to edit files will fail.
51
+
52
+ You will be provided with a set of requirements and optionally a perspective on how to approach the design process.
53
+
54
+ ## Your Process
55
+
56
+ 1. **Understand Requirements**: Focus on the requirements provided and apply your assigned perspective throughout the design process.
57
+
58
+ 2. **Explore Thoroughly**:
59
+ - Read any files provided to you in the initial prompt
60
+ - Find existing patterns and conventions using Glob, Grep, and Read
61
+ - Understand the current architecture
62
+ - Identify similar features as reference
63
+ - Trace through relevant code paths
64
+ - Use Bash ONLY for read-only operations (ls, git status, git log, git diff, find, cat, head, tail)
65
+ - NEVER use Bash for: mkdir, touch, rm, cp, mv, git add, git commit, npm install, pip install, or any file creation/modification
66
+
67
+ 3. **Design Solution**:
68
+ - Create implementation approach based on your assigned perspective
69
+ - Consider trade-offs and architectural decisions
70
+ - Follow existing patterns where appropriate
71
+
72
+ 4. **Detail the Plan**:
73
+ - Provide step-by-step implementation strategy
74
+ - Identify dependencies and sequencing
75
+ - Anticipate potential challenges
76
+
77
+ ## Required Output
78
+
79
+ End your response with:
80
+
81
+ ### Critical Files for Implementation
82
+ List 3-5 files most critical for implementing this plan:
83
+ - path/to/file1.ts
84
+ - path/to/file2.ts
85
+ - path/to/file3.ts
86
+
87
+ REMEMBER: You can ONLY explore and plan. You CANNOT and MUST NOT write, edit, or modify any files. You do NOT have access to file editing tools.`;
88
+ export const BUILTIN_READONLY_DENY_TOOLS = (delegationToolName = DEFAULT_DELEGATION_TOOL_NAME) => [
89
+ delegationToolName,
90
+ "Artifact",
91
+ "ExitPlanMode",
92
+ "Edit",
93
+ "Write",
94
+ "NotebookEdit",
95
+ ];
96
+ export function builtinAgentDefinitions(delegationToolName = DEFAULT_DELEGATION_TOOL_NAME) {
97
+ const denyTools = BUILTIN_READONLY_DENY_TOOLS(delegationToolName);
98
+ return [
99
+ {
100
+ name: "Explore",
101
+ whenToUse: EXPLORE_WHEN_TO_USE,
102
+ whenToUseLean: EXPLORE_WHEN_TO_USE_LEAN,
103
+ denyTools,
104
+ systemPrompt: EXPLORE_SYSTEM_PROMPT,
105
+ },
106
+ {
107
+ name: "Plan",
108
+ whenToUse: PLAN_WHEN_TO_USE,
109
+ denyTools: [...denyTools],
110
+ systemPrompt: PLAN_SYSTEM_PROMPT,
111
+ },
112
+ ];
113
+ }
114
+ //# sourceMappingURL=builtin-agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-agents.js","sourceRoot":"","sources":["../../src/agents/builtin-agents.ts"],"names":[],"mappings":"AAIA,MAAM,4BAA4B,GAAG,OAAO,CAAC;AA6C7C,MAAM,CAAC,MAAM,mBAAmB,GAC9B,+lBAA+lB,CAAC;AAGlmB,MAAM,CAAC,MAAM,wBAAwB,GACnC,oZAAoZ,CAAC;AAGvZ,MAAM,CAAC,MAAM,gBAAgB,GAC3B,oOAAoO,CAAC;AAGvO,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iFAgC4C,CAAC;AAGlF,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iJAiD+G,CAAC;AASlJ,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,qBAA6B,4BAA4B,EAAY,EAAE,CAAC;IAClH,kBAAkB;IAClB,UAAU;IACV,cAAc;IACd,MAAM;IACN,OAAO;IACP,cAAc;CACf,CAAC;AASF,MAAM,UAAU,uBAAuB,CAAC,qBAA6B,4BAA4B;IAC/F,MAAM,SAAS,GAAG,2BAA2B,CAAC,kBAAkB,CAAC,CAAC;IAClE,OAAO;QACL;YACE,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,mBAAmB;YAC9B,aAAa,EAAE,wBAAwB;YACvC,SAAS;YACT,YAAY,EAAE,qBAAqB;SAEpC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,gBAAgB;YAC3B,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC;YACzB,YAAY,EAAE,kBAAkB;SACjC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { Runner } from "../core/runner/runtask.js";
2
+ import type { ModelRef, TaskResult, TaskSpec } from "../core/types.js";
3
+ export type GateVerdict = boolean | {
4
+ pass: boolean;
5
+ diagnostics?: string;
6
+ };
7
+ export interface CascadeRung {
8
+ model: ModelRef;
9
+ overrides?: Partial<Pick<TaskSpec, "limits" | "degrade" | "systemPrompt">>;
10
+ }
11
+ export interface CascadeConfig {
12
+ ladder: CascadeRung[];
13
+ gate?: (result: TaskResult, rung: {
14
+ index: number;
15
+ model: ModelRef;
16
+ }) => GateVerdict | Promise<GateVerdict>;
17
+ maxEscalations?: number;
18
+ costCeilingMicroUsd?: number;
19
+ totalTimeoutMs?: number;
20
+ onRung?: (info: {
21
+ index: number;
22
+ model: ModelRef;
23
+ passed: boolean;
24
+ result: TaskResult;
25
+ }) => void;
26
+ }
27
+ export interface CascadeAttempt {
28
+ index: number;
29
+ model: ModelRef;
30
+ passed: boolean;
31
+ costMicroUsd: number;
32
+ status: TaskResult["status"];
33
+ errorCode?: string;
34
+ gateError?: string;
35
+ diagnostics?: string;
36
+ }
37
+ export interface CascadeRunResult extends TaskResult {
38
+ cascadeOutcome: "passed" | "exhausted";
39
+ escalated: boolean;
40
+ finalRung: number;
41
+ attempts: CascadeAttempt[];
42
+ }
43
+ export declare function runCascade(runner: Runner, spec: TaskSpec, config: CascadeConfig): Promise<CascadeRunResult>;
44
+ //# sourceMappingURL=cascade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cascade.d.ts","sourceRoot":"","sources":["../../src/agents/cascade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAwBvE,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5E,MAAM,WAAW,WAAW;IAE1B,KAAK,EAAE,QAAQ,CAAC;IAEhB,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,aAAa;IAE5B,MAAM,EAAE,WAAW,EAAE,CAAC;IActB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,QAAQ,CAAA;KAAE,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE5G,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;CAClG;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAMlD,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC;IAEvC,SAAS,EAAE,OAAO,CAAC;IAEnB,SAAS,EAAE,MAAM,CAAC;IAIlB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAoBD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,gBAAgB,CAAC,CA6K3B"}