@sema-ai/core 1.275.1

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 (962) hide show
  1. package/CHANGELOG.md +5433 -0
  2. package/LICENSE +27 -0
  3. package/NOTICE.md +30 -0
  4. package/README.md +1040 -0
  5. package/dist/agents/agent-definition.d.ts +10 -0
  6. package/dist/agents/agent-definition.d.ts.map +1 -0
  7. package/dist/agents/agent-definition.js +18 -0
  8. package/dist/agents/agent-definition.js.map +1 -0
  9. package/dist/agents/builtin-agents.d.ts +69 -0
  10. package/dist/agents/builtin-agents.d.ts.map +1 -0
  11. package/dist/agents/builtin-agents.js +177 -0
  12. package/dist/agents/builtin-agents.js.map +1 -0
  13. package/dist/agents/cascade.d.ts +101 -0
  14. package/dist/agents/cascade.d.ts.map +1 -0
  15. package/dist/agents/cascade.js +189 -0
  16. package/dist/agents/cascade.js.map +1 -0
  17. package/dist/agents/observer.d.ts +209 -0
  18. package/dist/agents/observer.d.ts.map +1 -0
  19. package/dist/agents/observer.js +495 -0
  20. package/dist/agents/observer.js.map +1 -0
  21. package/dist/agents/repair-loop.d.ts +236 -0
  22. package/dist/agents/repair-loop.d.ts.map +1 -0
  23. package/dist/agents/repair-loop.js +293 -0
  24. package/dist/agents/repair-loop.js.map +1 -0
  25. package/dist/agents/session-util.d.ts +8 -0
  26. package/dist/agents/session-util.d.ts.map +1 -0
  27. package/dist/agents/session-util.js +9 -0
  28. package/dist/agents/session-util.js.map +1 -0
  29. package/dist/agents/subagent-steps.d.ts +93 -0
  30. package/dist/agents/subagent-steps.d.ts.map +1 -0
  31. package/dist/agents/subagent-steps.js +206 -0
  32. package/dist/agents/subagent-steps.js.map +1 -0
  33. package/dist/agents/subagent.d.ts +441 -0
  34. package/dist/agents/subagent.d.ts.map +1 -0
  35. package/dist/agents/subagent.js +2492 -0
  36. package/dist/agents/subagent.js.map +1 -0
  37. package/dist/agents/suspend-guard.d.ts +35 -0
  38. package/dist/agents/suspend-guard.d.ts.map +1 -0
  39. package/dist/agents/suspend-guard.js +48 -0
  40. package/dist/agents/suspend-guard.js.map +1 -0
  41. package/dist/agents/teacher.d.ts +137 -0
  42. package/dist/agents/teacher.d.ts.map +1 -0
  43. package/dist/agents/teacher.js +575 -0
  44. package/dist/agents/teacher.js.map +1 -0
  45. package/dist/agents/team.d.ts +211 -0
  46. package/dist/agents/team.d.ts.map +1 -0
  47. package/dist/agents/team.js +293 -0
  48. package/dist/agents/team.js.map +1 -0
  49. package/dist/agents/tool-filter.d.ts +29 -0
  50. package/dist/agents/tool-filter.d.ts.map +1 -0
  51. package/dist/agents/tool-filter.js +50 -0
  52. package/dist/agents/tool-filter.js.map +1 -0
  53. package/dist/agents/verify.d.ts +177 -0
  54. package/dist/agents/verify.d.ts.map +1 -0
  55. package/dist/agents/verify.js +305 -0
  56. package/dist/agents/verify.js.map +1 -0
  57. package/dist/bench/metrics.d.ts +714 -0
  58. package/dist/bench/metrics.d.ts.map +1 -0
  59. package/dist/bench/metrics.js +618 -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 +516 -0
  64. package/dist/bin/sema-tb.js.map +1 -0
  65. package/dist/bin/tb-env.d.ts +13 -0
  66. package/dist/bin/tb-env.d.ts.map +1 -0
  67. package/dist/bin/tb-env.js +26 -0
  68. package/dist/bin/tb-env.js.map +1 -0
  69. package/dist/brain/anthropic.d.ts +46 -0
  70. package/dist/brain/anthropic.d.ts.map +1 -0
  71. package/dist/brain/anthropic.js +830 -0
  72. package/dist/brain/anthropic.js.map +1 -0
  73. package/dist/brain/circuit-breaker.d.ts +46 -0
  74. package/dist/brain/circuit-breaker.d.ts.map +1 -0
  75. package/dist/brain/circuit-breaker.js +173 -0
  76. package/dist/brain/circuit-breaker.js.map +1 -0
  77. package/dist/brain/degrading.d.ts +98 -0
  78. package/dist/brain/degrading.d.ts.map +1 -0
  79. package/dist/brain/degrading.js +249 -0
  80. package/dist/brain/degrading.js.map +1 -0
  81. package/dist/brain/errors.d.ts +31 -0
  82. package/dist/brain/errors.d.ts.map +1 -0
  83. package/dist/brain/errors.js +58 -0
  84. package/dist/brain/errors.js.map +1 -0
  85. package/dist/brain/failover.d.ts +18 -0
  86. package/dist/brain/failover.d.ts.map +1 -0
  87. package/dist/brain/failover.js +118 -0
  88. package/dist/brain/failover.js.map +1 -0
  89. package/dist/brain/model-presets.d.ts +36 -0
  90. package/dist/brain/model-presets.d.ts.map +1 -0
  91. package/dist/brain/model-presets.js +54 -0
  92. package/dist/brain/model-presets.js.map +1 -0
  93. package/dist/brain/openai.d.ts +43 -0
  94. package/dist/brain/openai.d.ts.map +1 -0
  95. package/dist/brain/openai.js +784 -0
  96. package/dist/brain/openai.js.map +1 -0
  97. package/dist/brain/reasoning.d.ts +138 -0
  98. package/dist/brain/reasoning.d.ts.map +1 -0
  99. package/dist/brain/reasoning.js +146 -0
  100. package/dist/brain/reasoning.js.map +1 -0
  101. package/dist/brain/repetition.d.ts +60 -0
  102. package/dist/brain/repetition.d.ts.map +1 -0
  103. package/dist/brain/repetition.js +121 -0
  104. package/dist/brain/repetition.js.map +1 -0
  105. package/dist/brain/request-params.d.ts +29 -0
  106. package/dist/brain/request-params.d.ts.map +1 -0
  107. package/dist/brain/request-params.js +78 -0
  108. package/dist/brain/request-params.js.map +1 -0
  109. package/dist/brain/retry.d.ts +18 -0
  110. package/dist/brain/retry.d.ts.map +1 -0
  111. package/dist/brain/retry.js +42 -0
  112. package/dist/brain/retry.js.map +1 -0
  113. package/dist/brain/routing.d.ts +19 -0
  114. package/dist/brain/routing.d.ts.map +1 -0
  115. package/dist/brain/routing.js +44 -0
  116. package/dist/brain/routing.js.map +1 -0
  117. package/dist/brain/status-sink.d.ts +46 -0
  118. package/dist/brain/status-sink.d.ts.map +1 -0
  119. package/dist/brain/status-sink.js +36 -0
  120. package/dist/brain/status-sink.js.map +1 -0
  121. package/dist/brain/stream-engine.d.ts +85 -0
  122. package/dist/brain/stream-engine.d.ts.map +1 -0
  123. package/dist/brain/stream-engine.js +391 -0
  124. package/dist/brain/stream-engine.js.map +1 -0
  125. package/dist/brain/timeout.d.ts +44 -0
  126. package/dist/brain/timeout.d.ts.map +1 -0
  127. package/dist/brain/timeout.js +41 -0
  128. package/dist/brain/timeout.js.map +1 -0
  129. package/dist/brain/tool-call-repair.d.ts +15 -0
  130. package/dist/brain/tool-call-repair.d.ts.map +1 -0
  131. package/dist/brain/tool-call-repair.js +67 -0
  132. package/dist/brain/tool-call-repair.js.map +1 -0
  133. package/dist/brain/walltime.d.ts +14 -0
  134. package/dist/brain/walltime.d.ts.map +1 -0
  135. package/dist/brain/walltime.js +14 -0
  136. package/dist/brain/walltime.js.map +1 -0
  137. package/dist/core/arg-summary.d.ts +19 -0
  138. package/dist/core/arg-summary.d.ts.map +1 -0
  139. package/dist/core/arg-summary.js +96 -0
  140. package/dist/core/arg-summary.js.map +1 -0
  141. package/dist/core/ask-question.d.ts +113 -0
  142. package/dist/core/ask-question.d.ts.map +1 -0
  143. package/dist/core/ask-question.js +246 -0
  144. package/dist/core/ask-question.js.map +1 -0
  145. package/dist/core/auto-compaction.d.ts +341 -0
  146. package/dist/core/auto-compaction.d.ts.map +1 -0
  147. package/dist/core/auto-compaction.js +495 -0
  148. package/dist/core/auto-compaction.js.map +1 -0
  149. package/dist/core/auto-promote.d.ts +126 -0
  150. package/dist/core/auto-promote.d.ts.map +1 -0
  151. package/dist/core/auto-promote.js +171 -0
  152. package/dist/core/auto-promote.js.map +1 -0
  153. package/dist/core/background-shell.d.ts +128 -0
  154. package/dist/core/background-shell.d.ts.map +1 -0
  155. package/dist/core/background-shell.js +42 -0
  156. package/dist/core/background-shell.js.map +1 -0
  157. package/dist/core/cache-break-detector.d.ts +63 -0
  158. package/dist/core/cache-break-detector.d.ts.map +1 -0
  159. package/dist/core/cache-break-detector.js +0 -0
  160. package/dist/core/cache-break-detector.js.map +1 -0
  161. package/dist/core/canonical-json.d.ts +45 -0
  162. package/dist/core/canonical-json.d.ts.map +1 -0
  163. package/dist/core/canonical-json.js +132 -0
  164. package/dist/core/canonical-json.js.map +1 -0
  165. package/dist/core/checkpoint-store.d.ts +1101 -0
  166. package/dist/core/checkpoint-store.d.ts.map +1 -0
  167. package/dist/core/checkpoint-store.js +514 -0
  168. package/dist/core/checkpoint-store.js.map +1 -0
  169. package/dist/core/consolidate-scope.d.ts +94 -0
  170. package/dist/core/consolidate-scope.d.ts.map +1 -0
  171. package/dist/core/consolidate-scope.js +158 -0
  172. package/dist/core/consolidate-scope.js.map +1 -0
  173. package/dist/core/context-edit.d.ts +82 -0
  174. package/dist/core/context-edit.d.ts.map +1 -0
  175. package/dist/core/context-edit.js +149 -0
  176. package/dist/core/context-edit.js.map +1 -0
  177. package/dist/core/context-guard.d.ts +43 -0
  178. package/dist/core/context-guard.d.ts.map +1 -0
  179. package/dist/core/context-guard.js +171 -0
  180. package/dist/core/context-guard.js.map +1 -0
  181. package/dist/core/dynamic-recall.d.ts +100 -0
  182. package/dist/core/dynamic-recall.d.ts.map +1 -0
  183. package/dist/core/dynamic-recall.js +108 -0
  184. package/dist/core/dynamic-recall.js.map +1 -0
  185. package/dist/core/exec-gate.d.ts +74 -0
  186. package/dist/core/exec-gate.d.ts.map +1 -0
  187. package/dist/core/exec-gate.js +143 -0
  188. package/dist/core/exec-gate.js.map +1 -0
  189. package/dist/core/exec-output-tail.d.ts +37 -0
  190. package/dist/core/exec-output-tail.d.ts.map +1 -0
  191. package/dist/core/exec-output-tail.js +63 -0
  192. package/dist/core/exec-output-tail.js.map +1 -0
  193. package/dist/core/file-snapshot-store.d.ts +137 -0
  194. package/dist/core/file-snapshot-store.d.ts.map +1 -0
  195. package/dist/core/file-snapshot-store.js +319 -0
  196. package/dist/core/file-snapshot-store.js.map +1 -0
  197. package/dist/core/git-worktree-env.d.ts +41 -0
  198. package/dist/core/git-worktree-env.d.ts.map +1 -0
  199. package/dist/core/git-worktree-env.js +64 -0
  200. package/dist/core/git-worktree-env.js.map +1 -0
  201. package/dist/core/hooks.d.ts +372 -0
  202. package/dist/core/hooks.d.ts.map +1 -0
  203. package/dist/core/hooks.js +269 -0
  204. package/dist/core/hooks.js.map +1 -0
  205. package/dist/core/lsp-diagnostics.d.ts +74 -0
  206. package/dist/core/lsp-diagnostics.d.ts.map +1 -0
  207. package/dist/core/lsp-diagnostics.js +125 -0
  208. package/dist/core/lsp-diagnostics.js.map +1 -0
  209. package/dist/core/lsp-protocol.d.ts +28 -0
  210. package/dist/core/lsp-protocol.d.ts.map +1 -0
  211. package/dist/core/lsp-protocol.js +179 -0
  212. package/dist/core/lsp-protocol.js.map +1 -0
  213. package/dist/core/lsp-session.d.ts +56 -0
  214. package/dist/core/lsp-session.d.ts.map +1 -0
  215. package/dist/core/lsp-session.js +185 -0
  216. package/dist/core/lsp-session.js.map +1 -0
  217. package/dist/core/lsp.d.ts +132 -0
  218. package/dist/core/lsp.d.ts.map +1 -0
  219. package/dist/core/lsp.js +147 -0
  220. package/dist/core/lsp.js.map +1 -0
  221. package/dist/core/mcp.d.ts +294 -0
  222. package/dist/core/mcp.d.ts.map +1 -0
  223. package/dist/core/mcp.js +992 -0
  224. package/dist/core/mcp.js.map +1 -0
  225. package/dist/core/media-byte-cap.d.ts +34 -0
  226. package/dist/core/media-byte-cap.d.ts.map +1 -0
  227. package/dist/core/media-byte-cap.js +76 -0
  228. package/dist/core/media-byte-cap.js.map +1 -0
  229. package/dist/core/memory-engine/data-plane.d.ts +103 -0
  230. package/dist/core/memory-engine/data-plane.d.ts.map +1 -0
  231. package/dist/core/memory-engine/data-plane.js +272 -0
  232. package/dist/core/memory-engine/data-plane.js.map +1 -0
  233. package/dist/core/memory-engine/dual-root.d.ts +40 -0
  234. package/dist/core/memory-engine/dual-root.d.ts.map +1 -0
  235. package/dist/core/memory-engine/dual-root.js +95 -0
  236. package/dist/core/memory-engine/dual-root.js.map +1 -0
  237. package/dist/core/memory-engine/engine.d.ts +161 -0
  238. package/dist/core/memory-engine/engine.d.ts.map +1 -0
  239. package/dist/core/memory-engine/engine.js +1110 -0
  240. package/dist/core/memory-engine/engine.js.map +1 -0
  241. package/dist/core/memory-engine/file-backend.d.ts +162 -0
  242. package/dist/core/memory-engine/file-backend.d.ts.map +1 -0
  243. package/dist/core/memory-engine/file-backend.js +948 -0
  244. package/dist/core/memory-engine/file-backend.js.map +1 -0
  245. package/dist/core/memory-engine/frontmatter.d.ts +24 -0
  246. package/dist/core/memory-engine/frontmatter.d.ts.map +1 -0
  247. package/dist/core/memory-engine/frontmatter.js +135 -0
  248. package/dist/core/memory-engine/frontmatter.js.map +1 -0
  249. package/dist/core/memory-engine/index.d.ts +13 -0
  250. package/dist/core/memory-engine/index.d.ts.map +1 -0
  251. package/dist/core/memory-engine/index.js +28 -0
  252. package/dist/core/memory-engine/index.js.map +1 -0
  253. package/dist/core/memory-engine/layout.d.ts +123 -0
  254. package/dist/core/memory-engine/layout.d.ts.map +1 -0
  255. package/dist/core/memory-engine/layout.js +643 -0
  256. package/dist/core/memory-engine/layout.js.map +1 -0
  257. package/dist/core/memory-engine/memory-backend-contract.d.ts +22 -0
  258. package/dist/core/memory-engine/memory-backend-contract.d.ts.map +1 -0
  259. package/dist/core/memory-engine/memory-backend-contract.js +271 -0
  260. package/dist/core/memory-engine/memory-backend-contract.js.map +1 -0
  261. package/dist/core/memory-engine/migrate.d.ts +17 -0
  262. package/dist/core/memory-engine/migrate.d.ts.map +1 -0
  263. package/dist/core/memory-engine/migrate.js +35 -0
  264. package/dist/core/memory-engine/migrate.js.map +1 -0
  265. package/dist/core/memory-engine/scan.d.ts +20 -0
  266. package/dist/core/memory-engine/scan.d.ts.map +1 -0
  267. package/dist/core/memory-engine/scan.js +84 -0
  268. package/dist/core/memory-engine/scan.js.map +1 -0
  269. package/dist/core/memory-engine/scope-contract.d.ts +104 -0
  270. package/dist/core/memory-engine/scope-contract.d.ts.map +1 -0
  271. package/dist/core/memory-engine/scope-contract.js +288 -0
  272. package/dist/core/memory-engine/scope-contract.js.map +1 -0
  273. package/dist/core/memory-engine/sync-client.d.ts +100 -0
  274. package/dist/core/memory-engine/sync-client.d.ts.map +1 -0
  275. package/dist/core/memory-engine/sync-client.js +328 -0
  276. package/dist/core/memory-engine/sync-client.js.map +1 -0
  277. package/dist/core/memory-engine/sync.d.ts +97 -0
  278. package/dist/core/memory-engine/sync.d.ts.map +1 -0
  279. package/dist/core/memory-engine/sync.js +91 -0
  280. package/dist/core/memory-engine/sync.js.map +1 -0
  281. package/dist/core/memory-engine/types.d.ts +279 -0
  282. package/dist/core/memory-engine/types.d.ts.map +1 -0
  283. package/dist/core/memory-engine/types.js +9 -0
  284. package/dist/core/memory-engine/types.js.map +1 -0
  285. package/dist/core/memory-recall.d.ts +261 -0
  286. package/dist/core/memory-recall.d.ts.map +1 -0
  287. package/dist/core/memory-recall.js +600 -0
  288. package/dist/core/memory-recall.js.map +1 -0
  289. package/dist/core/memory-vector.d.ts +24 -0
  290. package/dist/core/memory-vector.d.ts.map +1 -0
  291. package/dist/core/memory-vector.js +51 -0
  292. package/dist/core/memory-vector.js.map +1 -0
  293. package/dist/core/memory.d.ts +502 -0
  294. package/dist/core/memory.d.ts.map +1 -0
  295. package/dist/core/memory.js +881 -0
  296. package/dist/core/memory.js.map +1 -0
  297. package/dist/core/message-utils.d.ts +7 -0
  298. package/dist/core/message-utils.d.ts.map +1 -0
  299. package/dist/core/message-utils.js +10 -0
  300. package/dist/core/message-utils.js.map +1 -0
  301. package/dist/core/oracle-isolation.d.ts +85 -0
  302. package/dist/core/oracle-isolation.d.ts.map +1 -0
  303. package/dist/core/oracle-isolation.js +121 -0
  304. package/dist/core/oracle-isolation.js.map +1 -0
  305. package/dist/core/permission-rules.d.ts +102 -0
  306. package/dist/core/permission-rules.d.ts.map +1 -0
  307. package/dist/core/permission-rules.js +357 -0
  308. package/dist/core/permission-rules.js.map +1 -0
  309. package/dist/core/present-plan-tool.d.ts +28 -0
  310. package/dist/core/present-plan-tool.d.ts.map +1 -0
  311. package/dist/core/present-plan-tool.js +119 -0
  312. package/dist/core/present-plan-tool.js.map +1 -0
  313. package/dist/core/pricing.d.ts +48 -0
  314. package/dist/core/pricing.d.ts.map +1 -0
  315. package/dist/core/pricing.js +46 -0
  316. package/dist/core/pricing.js.map +1 -0
  317. package/dist/core/property-harness.d.ts +126 -0
  318. package/dist/core/property-harness.d.ts.map +1 -0
  319. package/dist/core/property-harness.js +192 -0
  320. package/dist/core/property-harness.js.map +1 -0
  321. package/dist/core/push-queue.d.ts +10 -0
  322. package/dist/core/push-queue.d.ts.map +1 -0
  323. package/dist/core/push-queue.js +42 -0
  324. package/dist/core/push-queue.js.map +1 -0
  325. package/dist/core/remote-env.d.ts +432 -0
  326. package/dist/core/remote-env.d.ts.map +1 -0
  327. package/dist/core/remote-env.js +77 -0
  328. package/dist/core/remote-env.js.map +1 -0
  329. package/dist/core/roles.d.ts +74 -0
  330. package/dist/core/roles.d.ts.map +1 -0
  331. package/dist/core/roles.js +272 -0
  332. package/dist/core/roles.js.map +1 -0
  333. package/dist/core/runner/active-skill-scope.d.ts +64 -0
  334. package/dist/core/runner/active-skill-scope.d.ts.map +1 -0
  335. package/dist/core/runner/active-skill-scope.js +197 -0
  336. package/dist/core/runner/active-skill-scope.js.map +1 -0
  337. package/dist/core/runner/assemble-result.d.ts +191 -0
  338. package/dist/core/runner/assemble-result.d.ts.map +1 -0
  339. package/dist/core/runner/assemble-result.js +250 -0
  340. package/dist/core/runner/assemble-result.js.map +1 -0
  341. package/dist/core/runner/call-cap.d.ts +130 -0
  342. package/dist/core/runner/call-cap.d.ts.map +1 -0
  343. package/dist/core/runner/call-cap.js +151 -0
  344. package/dist/core/runner/call-cap.js.map +1 -0
  345. package/dist/core/runner/grounding-signal.d.ts +12 -0
  346. package/dist/core/runner/grounding-signal.d.ts.map +1 -0
  347. package/dist/core/runner/grounding-signal.js +94 -0
  348. package/dist/core/runner/grounding-signal.js.map +1 -0
  349. package/dist/core/runner/image.d.ts +23 -0
  350. package/dist/core/runner/image.d.ts.map +1 -0
  351. package/dist/core/runner/image.js +151 -0
  352. package/dist/core/runner/image.js.map +1 -0
  353. package/dist/core/runner/memory-consolidation.d.ts +112 -0
  354. package/dist/core/runner/memory-consolidation.d.ts.map +1 -0
  355. package/dist/core/runner/memory-consolidation.js +372 -0
  356. package/dist/core/runner/memory-consolidation.js.map +1 -0
  357. package/dist/core/runner/prepare-task.d.ts +583 -0
  358. package/dist/core/runner/prepare-task.d.ts.map +1 -0
  359. package/dist/core/runner/prepare-task.js +3612 -0
  360. package/dist/core/runner/prepare-task.js.map +1 -0
  361. package/dist/core/runner/prompt-suggestions.d.ts +33 -0
  362. package/dist/core/runner/prompt-suggestions.d.ts.map +1 -0
  363. package/dist/core/runner/prompt-suggestions.js +116 -0
  364. package/dist/core/runner/prompt-suggestions.js.map +1 -0
  365. package/dist/core/runner/runtask.d.ts +274 -0
  366. package/dist/core/runner/runtask.d.ts.map +1 -0
  367. package/dist/core/runner/runtask.js +4606 -0
  368. package/dist/core/runner/runtask.js.map +1 -0
  369. package/dist/core/runner/session-rule-policy.d.ts +28 -0
  370. package/dist/core/runner/session-rule-policy.d.ts.map +1 -0
  371. package/dist/core/runner/session-rule-policy.js +110 -0
  372. package/dist/core/runner/session-rule-policy.js.map +1 -0
  373. package/dist/core/runner/strict-output-schema.d.ts +36 -0
  374. package/dist/core/runner/strict-output-schema.d.ts.map +1 -0
  375. package/dist/core/runner/strict-output-schema.js +365 -0
  376. package/dist/core/runner/strict-output-schema.js.map +1 -0
  377. package/dist/core/runner/synthetic-tools.d.ts +72 -0
  378. package/dist/core/runner/synthetic-tools.d.ts.map +1 -0
  379. package/dist/core/runner/synthetic-tools.js +203 -0
  380. package/dist/core/runner/synthetic-tools.js.map +1 -0
  381. package/dist/core/runner/tool-disclosure.d.ts +117 -0
  382. package/dist/core/runner/tool-disclosure.d.ts.map +1 -0
  383. package/dist/core/runner/tool-disclosure.js +0 -0
  384. package/dist/core/runner/tool-disclosure.js.map +1 -0
  385. package/dist/core/runner/turn-attachments.d.ts +381 -0
  386. package/dist/core/runner/turn-attachments.d.ts.map +1 -0
  387. package/dist/core/runner/turn-attachments.js +596 -0
  388. package/dist/core/runner/turn-attachments.js.map +1 -0
  389. package/dist/core/runner/usage-accounting.d.ts +35 -0
  390. package/dist/core/runner/usage-accounting.d.ts.map +1 -0
  391. package/dist/core/runner/usage-accounting.js +45 -0
  392. package/dist/core/runner/usage-accounting.js.map +1 -0
  393. package/dist/core/runtime.d.ts +9 -0
  394. package/dist/core/runtime.d.ts.map +1 -0
  395. package/dist/core/runtime.js +17 -0
  396. package/dist/core/runtime.js.map +1 -0
  397. package/dist/core/safety-axis-vocab.d.ts +33 -0
  398. package/dist/core/safety-axis-vocab.d.ts.map +1 -0
  399. package/dist/core/safety-axis-vocab.js +35 -0
  400. package/dist/core/safety-axis-vocab.js.map +1 -0
  401. package/dist/core/safety-merge-corpus.d.ts +48 -0
  402. package/dist/core/safety-merge-corpus.d.ts.map +1 -0
  403. package/dist/core/safety-merge-corpus.js +203 -0
  404. package/dist/core/safety-merge-corpus.js.map +1 -0
  405. package/dist/core/scheduler.d.ts +126 -0
  406. package/dist/core/scheduler.d.ts.map +1 -0
  407. package/dist/core/scheduler.js +54 -0
  408. package/dist/core/scheduler.js.map +1 -0
  409. package/dist/core/secret-env.d.ts +23 -0
  410. package/dist/core/secret-env.d.ts.map +1 -0
  411. package/dist/core/secret-env.js +35 -0
  412. package/dist/core/secret-env.js.map +1 -0
  413. package/dist/core/select-model.d.ts +26 -0
  414. package/dist/core/select-model.d.ts.map +1 -0
  415. package/dist/core/select-model.js +58 -0
  416. package/dist/core/select-model.js.map +1 -0
  417. package/dist/core/sensitive-path-policy.d.ts +24 -0
  418. package/dist/core/sensitive-path-policy.d.ts.map +1 -0
  419. package/dist/core/sensitive-path-policy.js +96 -0
  420. package/dist/core/sensitive-path-policy.js.map +1 -0
  421. package/dist/core/session-policy-store.d.ts +102 -0
  422. package/dist/core/session-policy-store.d.ts.map +1 -0
  423. package/dist/core/session-policy-store.js +177 -0
  424. package/dist/core/session-policy-store.js.map +1 -0
  425. package/dist/core/session-reconcile.d.ts +63 -0
  426. package/dist/core/session-reconcile.d.ts.map +1 -0
  427. package/dist/core/session-reconcile.js +71 -0
  428. package/dist/core/session-reconcile.js.map +1 -0
  429. package/dist/core/session-store.d.ts +99 -0
  430. package/dist/core/session-store.d.ts.map +1 -0
  431. package/dist/core/session-store.js +298 -0
  432. package/dist/core/session-store.js.map +1 -0
  433. package/dist/core/session.d.ts +144 -0
  434. package/dist/core/session.d.ts.map +1 -0
  435. package/dist/core/session.js +56 -0
  436. package/dist/core/session.js.map +1 -0
  437. package/dist/core/spec-contract.d.ts +147 -0
  438. package/dist/core/spec-contract.d.ts.map +1 -0
  439. package/dist/core/spec-contract.js +340 -0
  440. package/dist/core/spec-contract.js.map +1 -0
  441. package/dist/core/strategy-store.d.ts +50 -0
  442. package/dist/core/strategy-store.d.ts.map +1 -0
  443. package/dist/core/strategy-store.js +100 -0
  444. package/dist/core/strategy-store.js.map +1 -0
  445. package/dist/core/stub-env.d.ts +35 -0
  446. package/dist/core/stub-env.d.ts.map +1 -0
  447. package/dist/core/stub-env.js +69 -0
  448. package/dist/core/stub-env.js.map +1 -0
  449. package/dist/core/task-notification.d.ts +115 -0
  450. package/dist/core/task-notification.d.ts.map +1 -0
  451. package/dist/core/task-notification.js +247 -0
  452. package/dist/core/task-notification.js.map +1 -0
  453. package/dist/core/task-outcome.d.ts +80 -0
  454. package/dist/core/task-outcome.d.ts.map +1 -0
  455. package/dist/core/task-outcome.js +40 -0
  456. package/dist/core/task-outcome.js.map +1 -0
  457. package/dist/core/task-registry.d.ts +349 -0
  458. package/dist/core/task-registry.d.ts.map +1 -0
  459. package/dist/core/task-registry.js +1751 -0
  460. package/dist/core/task-registry.js.map +1 -0
  461. package/dist/core/tighten-task-spec.d.ts +27 -0
  462. package/dist/core/tighten-task-spec.d.ts.map +1 -0
  463. package/dist/core/tighten-task-spec.js +95 -0
  464. package/dist/core/tighten-task-spec.js.map +1 -0
  465. package/dist/core/tool-detach.d.ts +31 -0
  466. package/dist/core/tool-detach.d.ts.map +1 -0
  467. package/dist/core/tool-detach.js +62 -0
  468. package/dist/core/tool-detach.js.map +1 -0
  469. package/dist/core/tool-errors.d.ts +72 -0
  470. package/dist/core/tool-errors.d.ts.map +1 -0
  471. package/dist/core/tool-errors.js +194 -0
  472. package/dist/core/tool-errors.js.map +1 -0
  473. package/dist/core/tool-name-aliases.d.ts +5 -0
  474. package/dist/core/tool-name-aliases.d.ts.map +1 -0
  475. package/dist/core/tool-name-aliases.js +130 -0
  476. package/dist/core/tool-name-aliases.js.map +1 -0
  477. package/dist/core/tool-policy.d.ts +295 -0
  478. package/dist/core/tool-policy.d.ts.map +1 -0
  479. package/dist/core/tool-policy.js +567 -0
  480. package/dist/core/tool-policy.js.map +1 -0
  481. package/dist/core/tool-result-budget.d.ts +44 -0
  482. package/dist/core/tool-result-budget.d.ts.map +1 -0
  483. package/dist/core/tool-result-budget.js +140 -0
  484. package/dist/core/tool-result-budget.js.map +1 -0
  485. package/dist/core/tool-result-store.d.ts +136 -0
  486. package/dist/core/tool-result-store.d.ts.map +1 -0
  487. package/dist/core/tool-result-store.js +219 -0
  488. package/dist/core/tool-result-store.js.map +1 -0
  489. package/dist/core/tools.d.ts +14 -0
  490. package/dist/core/tools.d.ts.map +1 -0
  491. package/dist/core/tools.js +98 -0
  492. package/dist/core/tools.js.map +1 -0
  493. package/dist/core/trace.d.ts +340 -0
  494. package/dist/core/trace.d.ts.map +1 -0
  495. package/dist/core/trace.js +12 -0
  496. package/dist/core/trace.js.map +1 -0
  497. package/dist/core/types.d.ts +2828 -0
  498. package/dist/core/types.d.ts.map +1 -0
  499. package/dist/core/types.js +2 -0
  500. package/dist/core/types.js.map +1 -0
  501. package/dist/core/untrusted-egress.d.ts +32 -0
  502. package/dist/core/untrusted-egress.d.ts.map +1 -0
  503. package/dist/core/untrusted-egress.js +49 -0
  504. package/dist/core/untrusted-egress.js.map +1 -0
  505. package/dist/core/untrusted-text.d.ts +64 -0
  506. package/dist/core/untrusted-text.d.ts.map +1 -0
  507. package/dist/core/untrusted-text.js +119 -0
  508. package/dist/core/untrusted-text.js.map +1 -0
  509. package/dist/core/warm-resume.d.ts +23 -0
  510. package/dist/core/warm-resume.d.ts.map +1 -0
  511. package/dist/core/warm-resume.js +28 -0
  512. package/dist/core/warm-resume.js.map +1 -0
  513. package/dist/core/with-retry.d.ts +43 -0
  514. package/dist/core/with-retry.d.ts.map +1 -0
  515. package/dist/core/with-retry.js +59 -0
  516. package/dist/core/with-retry.js.map +1 -0
  517. package/dist/core/workflow-journal-store.d.ts +44 -0
  518. package/dist/core/workflow-journal-store.d.ts.map +1 -0
  519. package/dist/core/workflow-journal-store.js +47 -0
  520. package/dist/core/workflow-journal-store.js.map +1 -0
  521. package/dist/core/workflow-run-store-contract.d.ts +31 -0
  522. package/dist/core/workflow-run-store-contract.d.ts.map +1 -0
  523. package/dist/core/workflow-run-store-contract.js +191 -0
  524. package/dist/core/workflow-run-store-contract.js.map +1 -0
  525. package/dist/core/workflow-run-store.d.ts +149 -0
  526. package/dist/core/workflow-run-store.d.ts.map +1 -0
  527. package/dist/core/workflow-run-store.js +110 -0
  528. package/dist/core/workflow-run-store.js.map +1 -0
  529. package/dist/engine/compaction/compaction.d.ts +139 -0
  530. package/dist/engine/compaction/compaction.d.ts.map +1 -0
  531. package/dist/engine/compaction/compaction.js +1030 -0
  532. package/dist/engine/compaction/compaction.js.map +1 -0
  533. package/dist/engine/compaction/utils.d.ts +45 -0
  534. package/dist/engine/compaction/utils.d.ts.map +1 -0
  535. package/dist/engine/compaction/utils.js +203 -0
  536. package/dist/engine/compaction/utils.js.map +1 -0
  537. package/dist/engine/execution-env/kill-tree.d.ts +20 -0
  538. package/dist/engine/execution-env/kill-tree.d.ts.map +1 -0
  539. package/dist/engine/execution-env/kill-tree.js +183 -0
  540. package/dist/engine/execution-env/kill-tree.js.map +1 -0
  541. package/dist/engine/execution-env/node-execution-env.d.ts +133 -0
  542. package/dist/engine/execution-env/node-execution-env.d.ts.map +1 -0
  543. package/dist/engine/execution-env/node-execution-env.js +1031 -0
  544. package/dist/engine/execution-env/node-execution-env.js.map +1 -0
  545. package/dist/engine/harness/agent-harness.d.ts +174 -0
  546. package/dist/engine/harness/agent-harness.d.ts.map +1 -0
  547. package/dist/engine/harness/agent-harness.js +1053 -0
  548. package/dist/engine/harness/agent-harness.js.map +1 -0
  549. package/dist/engine/harness/messages.d.ts +17 -0
  550. package/dist/engine/harness/messages.d.ts.map +1 -0
  551. package/dist/engine/harness/messages.js +122 -0
  552. package/dist/engine/harness/messages.js.map +1 -0
  553. package/dist/engine/harness/types.d.ts +713 -0
  554. package/dist/engine/harness/types.d.ts.map +1 -0
  555. package/dist/engine/harness/types.js +100 -0
  556. package/dist/engine/harness/types.js.map +1 -0
  557. package/dist/engine/llm/diagnostics.d.ts +23 -0
  558. package/dist/engine/llm/diagnostics.d.ts.map +1 -0
  559. package/dist/engine/llm/diagnostics.js +32 -0
  560. package/dist/engine/llm/diagnostics.js.map +1 -0
  561. package/dist/engine/llm/event-stream.d.ts +25 -0
  562. package/dist/engine/llm/event-stream.d.ts.map +1 -0
  563. package/dist/engine/llm/event-stream.js +103 -0
  564. package/dist/engine/llm/event-stream.js.map +1 -0
  565. package/dist/engine/llm/index.d.ts +12 -0
  566. package/dist/engine/llm/index.d.ts.map +1 -0
  567. package/dist/engine/llm/index.js +12 -0
  568. package/dist/engine/llm/index.js.map +1 -0
  569. package/dist/engine/llm/types.d.ts +753 -0
  570. package/dist/engine/llm/types.d.ts.map +1 -0
  571. package/dist/engine/llm/types.js +2 -0
  572. package/dist/engine/llm/types.js.map +1 -0
  573. package/dist/engine/llm/validation.d.ts +8 -0
  574. package/dist/engine/llm/validation.d.ts.map +1 -0
  575. package/dist/engine/llm/validation.js +318 -0
  576. package/dist/engine/llm/validation.js.map +1 -0
  577. package/dist/engine/loop/agent-loop.d.ts +74 -0
  578. package/dist/engine/loop/agent-loop.d.ts.map +1 -0
  579. package/dist/engine/loop/agent-loop.js +1490 -0
  580. package/dist/engine/loop/agent-loop.js.map +1 -0
  581. package/dist/engine/loop/runtime-deps.d.ts +17 -0
  582. package/dist/engine/loop/runtime-deps.d.ts.map +1 -0
  583. package/dist/engine/loop/runtime-deps.js +21 -0
  584. package/dist/engine/loop/runtime-deps.js.map +1 -0
  585. package/dist/engine/loop/types.d.ts +609 -0
  586. package/dist/engine/loop/types.d.ts.map +1 -0
  587. package/dist/engine/loop/types.js +2 -0
  588. package/dist/engine/loop/types.js.map +1 -0
  589. package/dist/engine/lsp/frame-decoder.d.ts +16 -0
  590. package/dist/engine/lsp/frame-decoder.d.ts.map +1 -0
  591. package/dist/engine/lsp/frame-decoder.js +53 -0
  592. package/dist/engine/lsp/frame-decoder.js.map +1 -0
  593. package/dist/engine/lsp/node-lsp-manager.d.ts +105 -0
  594. package/dist/engine/lsp/node-lsp-manager.d.ts.map +1 -0
  595. package/dist/engine/lsp/node-lsp-manager.js +343 -0
  596. package/dist/engine/lsp/node-lsp-manager.js.map +1 -0
  597. package/dist/engine/lsp/stdio-lsp-transport.d.ts +37 -0
  598. package/dist/engine/lsp/stdio-lsp-transport.d.ts.map +1 -0
  599. package/dist/engine/lsp/stdio-lsp-transport.js +185 -0
  600. package/dist/engine/lsp/stdio-lsp-transport.js.map +1 -0
  601. package/dist/engine/session/import-validate.d.ts +44 -0
  602. package/dist/engine/session/import-validate.d.ts.map +1 -0
  603. package/dist/engine/session/import-validate.js +92 -0
  604. package/dist/engine/session/import-validate.js.map +1 -0
  605. package/dist/engine/session/memory-repo.d.ts +25 -0
  606. package/dist/engine/session/memory-repo.d.ts.map +1 -0
  607. package/dist/engine/session/memory-repo.js +59 -0
  608. package/dist/engine/session/memory-repo.js.map +1 -0
  609. package/dist/engine/session/memory-storage.d.ts +14 -0
  610. package/dist/engine/session/memory-storage.d.ts.map +1 -0
  611. package/dist/engine/session/memory-storage.js +17 -0
  612. package/dist/engine/session/memory-storage.js.map +1 -0
  613. package/dist/engine/session/repo-utils.d.ts +11 -0
  614. package/dist/engine/session/repo-utils.d.ts.map +1 -0
  615. package/dist/engine/session/repo-utils.js +40 -0
  616. package/dist/engine/session/repo-utils.js.map +1 -0
  617. package/dist/engine/session/session.d.ts +34 -0
  618. package/dist/engine/session/session.d.ts.map +1 -0
  619. package/dist/engine/session/session.js +227 -0
  620. package/dist/engine/session/session.js.map +1 -0
  621. package/dist/engine/session/storage-base.d.ts +38 -0
  622. package/dist/engine/session/storage-base.d.ts.map +1 -0
  623. package/dist/engine/session/storage-base.js +157 -0
  624. package/dist/engine/session/storage-base.js.map +1 -0
  625. package/dist/engine/session/timestamps.d.ts +3 -0
  626. package/dist/engine/session/timestamps.d.ts.map +1 -0
  627. package/dist/engine/session/timestamps.js +15 -0
  628. package/dist/engine/session/timestamps.js.map +1 -0
  629. package/dist/engine/session/uuid.d.ts +2 -0
  630. package/dist/engine/session/uuid.d.ts.map +1 -0
  631. package/dist/engine/session/uuid.js +50 -0
  632. package/dist/engine/session/uuid.js.map +1 -0
  633. package/dist/index.d.ts +160 -0
  634. package/dist/index.d.ts.map +1 -0
  635. package/dist/index.js +374 -0
  636. package/dist/index.js.map +1 -0
  637. package/dist/internal/harness.d.ts +26 -0
  638. package/dist/internal/harness.d.ts.map +1 -0
  639. package/dist/internal/harness.js +24 -0
  640. package/dist/internal/harness.js.map +1 -0
  641. package/dist/internal/llm.d.ts +9 -0
  642. package/dist/internal/llm.d.ts.map +1 -0
  643. package/dist/internal/llm.js +8 -0
  644. package/dist/internal/llm.js.map +1 -0
  645. package/dist/orchestration/builtin-workflows.d.ts +44 -0
  646. package/dist/orchestration/builtin-workflows.d.ts.map +1 -0
  647. package/dist/orchestration/builtin-workflows.js +165 -0
  648. package/dist/orchestration/builtin-workflows.js.map +1 -0
  649. package/dist/orchestration/dev-vm-script-runner.d.ts +24 -0
  650. package/dist/orchestration/dev-vm-script-runner.d.ts.map +1 -0
  651. package/dist/orchestration/dev-vm-script-runner.js +106 -0
  652. package/dist/orchestration/dev-vm-script-runner.js.map +1 -0
  653. package/dist/orchestration/goal.d.ts +97 -0
  654. package/dist/orchestration/goal.d.ts.map +1 -0
  655. package/dist/orchestration/goal.js +248 -0
  656. package/dist/orchestration/goal.js.map +1 -0
  657. package/dist/orchestration/run-spec.d.ts +63 -0
  658. package/dist/orchestration/run-spec.d.ts.map +1 -0
  659. package/dist/orchestration/run-spec.js +274 -0
  660. package/dist/orchestration/run-spec.js.map +1 -0
  661. package/dist/orchestration/run-workflow-tool.d.ts +187 -0
  662. package/dist/orchestration/run-workflow-tool.d.ts.map +1 -0
  663. package/dist/orchestration/run-workflow-tool.js +612 -0
  664. package/dist/orchestration/run-workflow-tool.js.map +1 -0
  665. package/dist/orchestration/workflow-governance.d.ts +70 -0
  666. package/dist/orchestration/workflow-governance.d.ts.map +1 -0
  667. package/dist/orchestration/workflow-governance.js +176 -0
  668. package/dist/orchestration/workflow-governance.js.map +1 -0
  669. package/dist/orchestration/workflow-meta.d.ts +41 -0
  670. package/dist/orchestration/workflow-meta.d.ts.map +1 -0
  671. package/dist/orchestration/workflow-meta.js +426 -0
  672. package/dist/orchestration/workflow-meta.js.map +1 -0
  673. package/dist/orchestration/workflow-observe.d.ts +77 -0
  674. package/dist/orchestration/workflow-observe.d.ts.map +1 -0
  675. package/dist/orchestration/workflow-observe.js +177 -0
  676. package/dist/orchestration/workflow-observe.js.map +1 -0
  677. package/dist/orchestration/workflow-primitives.d.ts +31 -0
  678. package/dist/orchestration/workflow-primitives.d.ts.map +1 -0
  679. package/dist/orchestration/workflow-primitives.js +104 -0
  680. package/dist/orchestration/workflow-primitives.js.map +1 -0
  681. package/dist/orchestration/workflow-sandbox-conformance.d.ts +34 -0
  682. package/dist/orchestration/workflow-sandbox-conformance.d.ts.map +1 -0
  683. package/dist/orchestration/workflow-sandbox-conformance.js +301 -0
  684. package/dist/orchestration/workflow-sandbox-conformance.js.map +1 -0
  685. package/dist/orchestration/workflow-script-runner.d.ts +127 -0
  686. package/dist/orchestration/workflow-script-runner.d.ts.map +1 -0
  687. package/dist/orchestration/workflow-script-runner.js +48 -0
  688. package/dist/orchestration/workflow-script-runner.js.map +1 -0
  689. package/dist/orchestration/workflow-script-store.d.ts +99 -0
  690. package/dist/orchestration/workflow-script-store.d.ts.map +1 -0
  691. package/dist/orchestration/workflow-script-store.js +133 -0
  692. package/dist/orchestration/workflow-script-store.js.map +1 -0
  693. package/dist/orchestration/workflow-size-guideline.d.ts +50 -0
  694. package/dist/orchestration/workflow-size-guideline.d.ts.map +1 -0
  695. package/dist/orchestration/workflow-size-guideline.js +78 -0
  696. package/dist/orchestration/workflow-size-guideline.js.map +1 -0
  697. package/dist/orchestration/workflow.d.ts +624 -0
  698. package/dist/orchestration/workflow.d.ts.map +1 -0
  699. package/dist/orchestration/workflow.js +1596 -0
  700. package/dist/orchestration/workflow.js.map +1 -0
  701. package/dist/prompts/default.d.ts +474 -0
  702. package/dist/prompts/default.d.ts.map +1 -0
  703. package/dist/prompts/default.js +676 -0
  704. package/dist/prompts/default.js.map +1 -0
  705. package/dist/prompts/supervisor.d.ts +60 -0
  706. package/dist/prompts/supervisor.d.ts.map +1 -0
  707. package/dist/prompts/supervisor.js +162 -0
  708. package/dist/prompts/supervisor.js.map +1 -0
  709. package/dist/scenarios/env.d.ts +41 -0
  710. package/dist/scenarios/env.d.ts.map +1 -0
  711. package/dist/scenarios/env.js +65 -0
  712. package/dist/scenarios/env.js.map +1 -0
  713. package/dist/scenarios/full-body.d.ts +47 -0
  714. package/dist/scenarios/full-body.d.ts.map +1 -0
  715. package/dist/scenarios/full-body.js +36 -0
  716. package/dist/scenarios/full-body.js.map +1 -0
  717. package/dist/scenarios/scenario-registry.d.ts +107 -0
  718. package/dist/scenarios/scenario-registry.d.ts.map +1 -0
  719. package/dist/scenarios/scenario-registry.js +192 -0
  720. package/dist/scenarios/scenario-registry.js.map +1 -0
  721. package/dist/scenarios/teacher-quickstart.d.ts +41 -0
  722. package/dist/scenarios/teacher-quickstart.d.ts.map +1 -0
  723. package/dist/scenarios/teacher-quickstart.js +32 -0
  724. package/dist/scenarios/teacher-quickstart.js.map +1 -0
  725. package/dist/server/http.d.ts +36 -0
  726. package/dist/server/http.d.ts.map +1 -0
  727. package/dist/server/http.js +144 -0
  728. package/dist/server/http.js.map +1 -0
  729. package/dist/stores/file/checkpoint-store.d.ts +62 -0
  730. package/dist/stores/file/checkpoint-store.d.ts.map +1 -0
  731. package/dist/stores/file/checkpoint-store.js +250 -0
  732. package/dist/stores/file/checkpoint-store.js.map +1 -0
  733. package/dist/stores/file/file-snapshot-store.d.ts +43 -0
  734. package/dist/stores/file/file-snapshot-store.d.ts.map +1 -0
  735. package/dist/stores/file/file-snapshot-store.js +374 -0
  736. package/dist/stores/file/file-snapshot-store.js.map +1 -0
  737. package/dist/stores/file/fs-atomic.d.ts +95 -0
  738. package/dist/stores/file/fs-atomic.d.ts.map +1 -0
  739. package/dist/stores/file/fs-atomic.js +415 -0
  740. package/dist/stores/file/fs-atomic.js.map +1 -0
  741. package/dist/stores/file/index.d.ts +98 -0
  742. package/dist/stores/file/index.d.ts.map +1 -0
  743. package/dist/stores/file/index.js +109 -0
  744. package/dist/stores/file/index.js.map +1 -0
  745. package/dist/stores/file/memory-store.d.ts +95 -0
  746. package/dist/stores/file/memory-store.d.ts.map +1 -0
  747. package/dist/stores/file/memory-store.js +393 -0
  748. package/dist/stores/file/memory-store.js.map +1 -0
  749. package/dist/stores/file/session-policy-store.d.ts +24 -0
  750. package/dist/stores/file/session-policy-store.d.ts.map +1 -0
  751. package/dist/stores/file/session-policy-store.js +123 -0
  752. package/dist/stores/file/session-policy-store.js.map +1 -0
  753. package/dist/stores/file/session-store.d.ts +34 -0
  754. package/dist/stores/file/session-store.d.ts.map +1 -0
  755. package/dist/stores/file/session-store.js +175 -0
  756. package/dist/stores/file/session-store.js.map +1 -0
  757. package/dist/stores/file/tool-result-store.d.ts +23 -0
  758. package/dist/stores/file/tool-result-store.d.ts.map +1 -0
  759. package/dist/stores/file/tool-result-store.js +61 -0
  760. package/dist/stores/file/tool-result-store.js.map +1 -0
  761. package/dist/stores/file/workflow-journal-store.d.ts +36 -0
  762. package/dist/stores/file/workflow-journal-store.d.ts.map +1 -0
  763. package/dist/stores/file/workflow-journal-store.js +157 -0
  764. package/dist/stores/file/workflow-journal-store.js.map +1 -0
  765. package/dist/stores/file/workflow-run-store.d.ts +58 -0
  766. package/dist/stores/file/workflow-run-store.d.ts.map +1 -0
  767. package/dist/stores/file/workflow-run-store.js +178 -0
  768. package/dist/stores/file/workflow-run-store.js.map +1 -0
  769. package/dist/stores/pg.d.ts +210 -0
  770. package/dist/stores/pg.d.ts.map +1 -0
  771. package/dist/stores/pg.js +652 -0
  772. package/dist/stores/pg.js.map +1 -0
  773. package/dist/tools/fs/encoding.d.ts +51 -0
  774. package/dist/tools/fs/encoding.d.ts.map +1 -0
  775. package/dist/tools/fs/encoding.js +74 -0
  776. package/dist/tools/fs/encoding.js.map +1 -0
  777. package/dist/tools/fs/gh-rate-limit.d.ts +19 -0
  778. package/dist/tools/fs/gh-rate-limit.d.ts.map +1 -0
  779. package/dist/tools/fs/gh-rate-limit.js +35 -0
  780. package/dist/tools/fs/gh-rate-limit.js.map +1 -0
  781. package/dist/tools/fs/index.d.ts +246 -0
  782. package/dist/tools/fs/index.d.ts.map +1 -0
  783. package/dist/tools/fs/index.js +2130 -0
  784. package/dist/tools/fs/index.js.map +1 -0
  785. package/dist/tools/fs/pdf.d.ts +106 -0
  786. package/dist/tools/fs/pdf.d.ts.map +1 -0
  787. package/dist/tools/fs/pdf.js +178 -0
  788. package/dist/tools/fs/pdf.js.map +1 -0
  789. package/dist/tools/fs/repo-map.d.ts +15 -0
  790. package/dist/tools/fs/repo-map.d.ts.map +1 -0
  791. package/dist/tools/fs/repo-map.js +251 -0
  792. package/dist/tools/fs/repo-map.js.map +1 -0
  793. package/dist/tools/fs/safety.d.ts +168 -0
  794. package/dist/tools/fs/safety.d.ts.map +1 -0
  795. package/dist/tools/fs/safety.js +479 -0
  796. package/dist/tools/fs/safety.js.map +1 -0
  797. package/dist/tools/fs/search.d.ts +118 -0
  798. package/dist/tools/fs/search.d.ts.map +1 -0
  799. package/dist/tools/fs/search.js +650 -0
  800. package/dist/tools/fs/search.js.map +1 -0
  801. package/dist/tools/gitea-issue.d.ts +39 -0
  802. package/dist/tools/gitea-issue.d.ts.map +1 -0
  803. package/dist/tools/gitea-issue.js +91 -0
  804. package/dist/tools/gitea-issue.js.map +1 -0
  805. package/dist/tools/monitor.d.ts +64 -0
  806. package/dist/tools/monitor.d.ts.map +1 -0
  807. package/dist/tools/monitor.js +135 -0
  808. package/dist/tools/monitor.js.map +1 -0
  809. package/dist/tools/scheduler-tools.d.ts +48 -0
  810. package/dist/tools/scheduler-tools.d.ts.map +1 -0
  811. package/dist/tools/scheduler-tools.js +449 -0
  812. package/dist/tools/scheduler-tools.js.map +1 -0
  813. package/dist/tools/sql-adapters.d.ts +32 -0
  814. package/dist/tools/sql-adapters.d.ts.map +1 -0
  815. package/dist/tools/sql-adapters.js +31 -0
  816. package/dist/tools/sql-adapters.js.map +1 -0
  817. package/dist/tools/sql.d.ts +36 -0
  818. package/dist/tools/sql.d.ts.map +1 -0
  819. package/dist/tools/sql.js +131 -0
  820. package/dist/tools/sql.js.map +1 -0
  821. package/dist/tools/task-list.d.ts +26 -0
  822. package/dist/tools/task-list.d.ts.map +1 -0
  823. package/dist/tools/task-list.js +352 -0
  824. package/dist/tools/task-list.js.map +1 -0
  825. package/dist/tools/todo.d.ts +11 -0
  826. package/dist/tools/todo.d.ts.map +1 -0
  827. package/dist/tools/todo.js +126 -0
  828. package/dist/tools/todo.js.map +1 -0
  829. package/dist/tools/web.d.ts +59 -0
  830. package/dist/tools/web.d.ts.map +1 -0
  831. package/dist/tools/web.js +607 -0
  832. package/dist/tools/web.js.map +1 -0
  833. package/dist/tools/worktree.d.ts +88 -0
  834. package/dist/tools/worktree.d.ts.map +1 -0
  835. package/dist/tools/worktree.js +434 -0
  836. package/dist/tools/worktree.js.map +1 -0
  837. package/docs/A1-ATTRIBUTION-ROUND1-2026-07-09.md +181 -0
  838. package/docs/AB-ORACLE-GATE-VERDICT-2026-07-10.md +100 -0
  839. package/docs/ANCHOR-GAP-INVENTORY-2026-07-09.md +143 -0
  840. package/docs/ARCHITECTURE.md +125 -0
  841. package/docs/BUGHUNT-2026-07-05-NIGHT.md +98 -0
  842. package/docs/BUILD.md +63 -0
  843. package/docs/CANCEL-ASYNC-ATTRIBUTION-2026-07-09.md +98 -0
  844. package/docs/CC-198-VS-201-DRIFT-2026-07-09.md +70 -0
  845. package/docs/CC-BASELINE-FAKE-ZERO-AUDIT-2026-07-09.md +51 -0
  846. package/docs/CC-DRIFT-198-206-AGENT-TYPES-2026-07-10.md +82 -0
  847. package/docs/CC-DRIFT-198-206-CHANGELOG-2026-07-10.md +82 -0
  848. package/docs/CC-DRIFT-198-206-REMINDERS-2026-07-10.md +96 -0
  849. package/docs/CC-DRIFT-198-206-ROADMAP-2026-07-10.md +110 -0
  850. package/docs/CC-DRIFT-198-206-TOOL-INVENTORY-2026-07-10.md +53 -0
  851. package/docs/CC-DRIFT-198-206-USAGE-CONSTANTS-2026-07-10.md +64 -0
  852. package/docs/CC-DRIFT-198-206-WORKFLOW-2026-07-10.md +83 -0
  853. package/docs/CC-PARITY-CHECKLIST.md +220 -0
  854. package/docs/CC-PARITY-DEEP-SWEEP-2026-07-07.md +149 -0
  855. package/docs/CC-SUBAGENT-PROMPT-STUDY-2026-07-09.md +219 -0
  856. package/docs/CC-TASK-REMINDER-CADENCE-STUDY-2026-07-09.md +396 -0
  857. package/docs/CC-TOOL-PARITY-SWEEP-2026-07.md +56 -0
  858. package/docs/CC-TOOL-PROMPT-DEEP-DIFF-2026-07-08.md +274 -0
  859. package/docs/CC-TOOLSURFACE-DEEP-DIVE-2026-07-07.md +197 -0
  860. package/docs/CC206-OBSERVER-ANCHORS-2026-07-11.md +463 -0
  861. package/docs/CC207-CORE-SWEEP-BACKLOG-2026-07-12.md +155 -0
  862. package/docs/CENTER-CONTROL-PLANE-SEAM.md +86 -0
  863. package/docs/CLEANUP-CONTRACT-ANCHOR-2026-07-09.md +83 -0
  864. package/docs/COLD-START-RSI-2026-07-09.md +72 -0
  865. package/docs/COMPACTION-LIVE-AUDIT-2026-07-09.md +114 -0
  866. package/docs/CONTEXT-lifecycle-extension-points-and-stop-attribution.md +71 -0
  867. package/docs/COREWARS-POLYGLOT-TRIAGE-2026-07-09.md +85 -0
  868. package/docs/DEADTARGET-OVERFULL-HBOX-2026-07-10.md +92 -0
  869. package/docs/DEADTARGET-PATH-TRACING-REVERSE-2026-07-10.md +87 -0
  870. package/docs/DEADTARGET-WINNING-AVG-COREWARS-2026-07-10.md +96 -0
  871. package/docs/DEEPSEEK-API-LIMITS-PROBE-2026-07-09.md +118 -0
  872. package/docs/DESIGN-140-MOCK-VERIFY-2026-07-11.md +79 -0
  873. package/docs/DESIGN-140-VERIFICATION-2026-07-11.md +43 -0
  874. package/docs/DESIGN-DRAFT-workflow-collab-2026-07-11.md +56 -0
  875. package/docs/DESIGN-ORACLE-GROUNDING-GATE-2026-07-10.md +167 -0
  876. package/docs/DESIGN-TFRAG-RECONCILE-SCAFFOLD-2026-07-09.md +102 -0
  877. package/docs/EXP-PA2-PE-DESIGN-2026-07-11.md +220 -0
  878. package/docs/EXT-DOGFOOD-2026-07-12.md +50 -0
  879. package/docs/FINAL-VERIFY-SURFACE-AUDIT-2026-07-09.md +44 -0
  880. package/docs/FRAG-RECON-INVESTIGATION-2026-07-09.md +183 -0
  881. package/docs/HANDOFF.md +121 -0
  882. package/docs/KNOWN-ISSUES.md +96 -0
  883. package/docs/LEGW-WINDOW-TAX-2026-07-10.md +82 -0
  884. package/docs/LIVE-PROBE-BATCH-2026-07-11.md +207 -0
  885. package/docs/M2-CERT-ATTRIBUTION-2026-07-10.md +61 -0
  886. package/docs/M25-LEG-VARIANCE-ATTRIBUTION-2026-07-10.md +81 -0
  887. package/docs/MAILMAN-TIMEOUT-ATTRIBUTION-2026-07-10.md +88 -0
  888. package/docs/MEMORY-BACKEND-DIALECT-NOTES.md +69 -0
  889. package/docs/MTEB-ESCAPE-HATCH-ATTRIBUTION-2026-07-09.md +57 -0
  890. package/docs/MTEB-LEADERBOARD-ATTRIBUTION-2026-07-10.md +134 -0
  891. package/docs/ORACLE-GATE-NEGATIVE-SAMPLE-2026-07-11.md +28 -0
  892. package/docs/PARITY-CONTEXT-TRANSACTIONS-2026-07-10.md +67 -0
  893. package/docs/PARITY-PROGRESS-MATRIX-2026-07-10.md +37 -0
  894. package/docs/PARITY-SPOT-AGENT-TYPES-2026-07-10.md +70 -0
  895. package/docs/PARITY-SPOT-REMINDERS-2026-07-10.md +144 -0
  896. package/docs/PARITY-SPOT-TOOL-INVENTORY-2026-07-10.md +61 -0
  897. package/docs/PARITY-SPOT-USAGE-CONSTANTS-2026-07-10.md +95 -0
  898. package/docs/PARITY-SPOT-WORKFLOW-2026-07-10.md +93 -0
  899. package/docs/PASSWORD-RECOVERY-PANEL-VERDICT-2026-07-10.md +62 -0
  900. package/docs/R8-R9-FINALIZE-COORDINATION-2026-07-09.md +124 -0
  901. package/docs/REPL-CODE-MODE-EVALUATION-2026-07-10.md +187 -0
  902. package/docs/REPORT-1249-TARGETED.md +48 -0
  903. package/docs/RESEARCH-3P-MEMORY-SWAP-2026-07-12.md +273 -0
  904. package/docs/ROADMAP.md +111 -0
  905. package/docs/RSI-CLOUD-DEPLOY-2026-07-06.md +289 -0
  906. package/docs/RSI-PROCESS-AI-COLDSTART-2026-07-11.md +68 -0
  907. package/docs/S18-THOROUGHNESS-AUDIT-2026-07-09.md +113 -0
  908. package/docs/SERVICE-INTEGRATION-GUIDE.md +298 -0
  909. package/docs/SUBAGENT-STREAM-RESILIENCE-PARITY-2026-07-10.md +118 -0
  910. package/docs/SWEBENCH-PRO-RECON-2026-07-11.md +31 -0
  911. package/docs/TB-EFFICIENCY-TELEMETRY-2026-07-08.md +114 -0
  912. package/docs/TB-FAILURE-AUTOPSY-2026-07-05-RERUN.md +67 -0
  913. package/docs/TB-FAIRNESS-AUDIT-2026-07-08.md +141 -0
  914. package/docs/TB-FULL-1257-2026-07-08.md +77 -0
  915. package/docs/TB-LEG-GAP-ATTRIBUTION-1261-1263-2026-07-11.md +154 -0
  916. package/docs/TB-REGRESSION-DAEMON-KILL-2026-07-08.md +58 -0
  917. package/docs/TB-RSI-CROSSCHECK-2026-07-06.md +68 -0
  918. package/docs/TB-RSI-LEDGER.md +30 -0
  919. package/docs/TB-STABLE-SET-2026-07-08.md +127 -0
  920. package/docs/TB21-RECON-2026-07-11.md +28 -0
  921. package/docs/TEST-DESIGN-BATCH-1-2-3.md +97 -0
  922. package/docs/THIRD-PARTY-INTEGRATION.md +45 -0
  923. package/docs/TOKEN-ESTIMATE-CALIBRATION-LIVE-2026-07-09.md +102 -0
  924. package/docs/audit-2026-06-10-/347/254/254/344/272/214/350/275/256-/347/251/272/347/231/275/345/214/272/344/270/216/345/277/230/346/216/245/347/272/277.md +147 -0
  925. package/docs/audit-2026-06-10-/350/256/241/347/256/227bug/346/211/253/346/217/217.md +163 -0
  926. package/docs/audit-2026-06-11-/344/277/256/345/244/215/345/244/215/345/256/241/344/270/216/345/233/236/345/275/222/344/270/223/346/211/253.md +95 -0
  927. package/docs/audit-2026-06-12-design71-P1/346/275/234/344/274/217/351/235/242/350/243/201/345/206/263/344/270/216/345/220/236/351/224/231/345/256/241/350/256/241.md +45 -0
  928. package/docs/audit-2026-06-12-/345/205/254/345/274/200/346/227/213/351/222/256/346/264/273/346/200/247/344/270/216vendored/346/255/273/350/267/257.md +63 -0
  929. package/docs/audit-2026-06-15/ADDENDUM-second-pass.md +88 -0
  930. package/docs/audit-2026-06-15/ARCHITECTURE-AND-ROADMAP.md +187 -0
  931. package/docs/audit-2026-06-15/DOC-CORRECTIONS.md +105 -0
  932. package/docs/audit-2026-06-15/INDEX.md +49 -0
  933. package/docs/audit-2026-06-15/ORCHESTRATION-STATUS.md +98 -0
  934. package/docs/audit-2026-06-15/PRODUCTION-ISSUES.md +189 -0
  935. package/docs/audit-2026-06-15/REFERENCES-literature.md +139 -0
  936. package/docs/audit-2026-06-15/VENDOR-REFACTOR-PLAN.md +96 -0
  937. package/docs/cc-probe-198/README.md +72 -0
  938. package/docs/cc-probe-198/STABILITY-AUDIT.md +118 -0
  939. package/docs/cc-probe-198/live-schema-monitor-worktree-2026-07-09.json +56 -0
  940. package/docs/cc-probe-198/mount-variants.json +536 -0
  941. package/docs/cc-probe-198/plan-mode-run.json +1 -0
  942. package/docs/cc-probe-198/probe-bash-bg.json +224 -0
  943. package/docs/cc-probe-198/probe-edit-mismatch.json +120 -0
  944. package/docs/cc-probe-198/probe-read-missing.json +62 -0
  945. package/docs/cc-probe-198/probe-search-empty.json +127 -0
  946. package/docs/cc-probe-198/probe-task-family.json +227 -0
  947. package/docs/cc-probe-198/probes.status +6 -0
  948. package/docs/cc-probe-198/raw-capture-interactive.json +948 -0
  949. package/docs/cc-probe-198/raw-capture-print.json +787 -0
  950. package/docs/cc-probe-198/raw-capture2-interactive.json +948 -0
  951. package/docs/cc-probe-198/raw-capture2-print.json +787 -0
  952. package/docs/cc-probe-198/system-prompt.txt +135 -0
  953. package/docs/cc-probe-198/tools-array.json +962 -0
  954. package/docs/durability-boundary.md +63 -0
  955. package/docs/fix-2026-06-10-/350/256/241/347/256/227bug/344/277/256/345/244/215-search/346/211/271.md +75 -0
  956. package/docs/fix-2026-06-11-/347/254/254/344/272/214/350/275/256-/344/277/256/345/244/215-search/346/211/271.md +62 -0
  957. package/docs/parity-sweep/REPORT-DYNAMIC.md +97 -0
  958. package/docs/parity-sweep/REPORT-STATIC-GGB.md +127 -0
  959. package/docs/parity-sweep/REPORT-STATIC-RWE.md +133 -0
  960. package/docs/vendor-history.md +385 -0
  961. package/docs/vendored-upstream-diff-2026-07.md +83 -0
  962. package/package.json +70 -0
@@ -0,0 +1,575 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { mapNestedSuspend, isDurablePause } from "./suspend-guard.js";
3
+ import { delimitUntrusted, inlineUntrusted } from "../core/untrusted-text.js";
4
+ /**
5
+ * Teacher mode (escalation cascade): a cheap "student" does the work; a strong "teacher" is consulted
6
+ * only when the student is *detectably* stuck or wrong, then withdraws.
7
+ *
8
+ * APPLICABILITY — teacher mode assumes the task has a **decidable verify signal**: escalation only fires
9
+ * when we can tell the student is failing (Tier 0 same-tool/same-error stuck, Tier 1 rubric verifier on
10
+ * the final output, or a `blocked`/`failed` terminal). It pays off when "wrong" is observable.
11
+ *
12
+ * It does NOT fit **open-ended completeness/quality judgement** — e.g. code-review "find ALL the bugs",
13
+ * creative quality — because there is no oracle for *completeness*: the verifier can't know how many bugs
14
+ * the code has or which one was missed, so a student that finds one obvious issue passes the rubric while
15
+ * silently missing others, and the escalation machinery idles (verified in practice: 0 escalations, the
16
+ * verifier becomes pure added cost). Such tasks are solved by **breadth + adversarial debate** (a `team`
17
+ * council), not by **depth escalation** — the two are orthogonal. See design/12 §六 for the full reasoning.
18
+ */
19
+ /** Default teacher (advisor) system prompt — returns ONLY structured JSON guidance. */
20
+ export const TEACHER_PROMPT = `You are an expert advisor to a less-capable "student" agent that got stuck.
21
+ You receive the task and the student's recent failed attempts. Your job is to help the student RECOVER,
22
+ not to do the work for it.
23
+
24
+ Return ONLY one valid JSON object (no markdown, no prose outside it):
25
+ {
26
+ "strategy": "<general approach for this CLASS of problem, 1-2 sentences>",
27
+ "correction": "<specifically what the student did wrong>",
28
+ "nextStep": "<one concrete action the student should take now>",
29
+ "takeover": <true ONLY if the student is hopelessly stuck and you must do it yourself>,
30
+ "confidence": <0=low .. 3=high, how sure you are this guidance is correct>
31
+ }
32
+
33
+ Be terse. Do NOT solve the whole task unless takeover=true. If you are unsure, set confidence=0 and takeover=false.`;
34
+ const MONITOR_PROMPT = `You judge whether a stuck-looking agent is making real progress.
35
+ Compare its two most recent turns below. Reply with ONLY one word: "stuck" or "progressing".`;
36
+ const VERIFIER_INSTRUCTION = `You verify an agent's output against its task. Be lenient: accept anything that SUBSTANTIALLY satisfies the task.`;
37
+ function verifierPrompt(objective, output, instruction = VERIFIER_INSTRUCTION) {
38
+ // design/53 §A (untrusted-data-everywhere): the student's OUTPUT is model-generated content that may
39
+ // have been shaped by untrusted input it processed — opaque-delimit it so it can't pose as instructions
40
+ // to the verifier (e.g. inject "reply pass"). Same discipline as verify.ts/team.ts; the TASK objective
41
+ // is the trusted caller spec and stays plain.
42
+ return (`${instruction}\n\nTASK:\n${objective}\n\n${delimitUntrusted("AGENT OUTPUT", output)}\n\n` +
43
+ `Does the output substantially satisfy the task? Reply with ONLY "pass" or "fail: <one concrete reason>".`);
44
+ }
45
+ /** Best-effort parse of the teacher's JSON advice; on failure, keep the raw text as a low-confidence correction. */
46
+ export function parseTeacherAdvice(text) {
47
+ const start = text.indexOf("{");
48
+ const end = text.lastIndexOf("}");
49
+ if (start !== -1 && end > start) {
50
+ try {
51
+ const o = JSON.parse(text.slice(start, end + 1));
52
+ return {
53
+ strategy: typeof o.strategy === "string" ? o.strategy : undefined,
54
+ correction: typeof o.correction === "string" ? o.correction : undefined,
55
+ nextStep: typeof o.nextStep === "string" ? o.nextStep : undefined,
56
+ takeover: o.takeover === true,
57
+ confidence: typeof o.confidence === "number" ? o.confidence : 0,
58
+ };
59
+ }
60
+ catch {
61
+ /* fall through */
62
+ }
63
+ }
64
+ return { takeover: false, confidence: 0, correction: text.trim(), raw: text };
65
+ }
66
+ /**
67
+ * Run a task with a cheap "student" model that escalates to a strong "teacher" (advisor) when it gets
68
+ * stuck or produces a wrong answer — the escalation cascade / teacher mode (design/13).
69
+ *
70
+ * The teacher runs in an isolated session (its dialogue is discarded; only its structured JSON advice
71
+ * is injected back into the student's session, so the student's prefix cache survives). Triggers:
72
+ * Tier 0 — repeated same-tool failures (aborts the stuck run early); Tier 1 — a rubric verifier on a
73
+ * completed output (catches "passes but semantically wrong"). Correction-then-takeover, with hard
74
+ * cost guards (escalation cap, teacher-spend ratio, bounded teacher turns).
75
+ */
76
+ export async function runWithTeacher(runner, studentSpec, teacher = {}) {
77
+ const store = teacher.strategyStore;
78
+ const scope = teacher.scope;
79
+ // RETRIEVAL (design/14): inject relevant past strategies into the objective (the per-task, variable
80
+ // message — keeps the stable system prefix cacheable). Strong negation preamble: they're from
81
+ // DIFFERENT past tasks and may not apply (mitigates anchoring; the student must verify before using).
82
+ let spec = studentSpec;
83
+ if (store && scope && teacher.injectStrategies !== false) {
84
+ const found = await store.find(scope, studentSpec.objective, teacher.retrieveK ?? 3);
85
+ if (found.length > 0) {
86
+ const block = `[STRATEGIES from PAST, DIFFERENT tasks — they may NOT apply. If unsure, IGNORE them and proceed normally.]\n` +
87
+ found.map((s) => `- ${s.strategy}`).join("\n");
88
+ spec = { ...studentSpec, objective: `${block}\n\n${studentSpec.objective}` };
89
+ }
90
+ }
91
+ const result = await runTeacherCore(runner, spec, teacher);
92
+ // STORAGE (design/14): only on success, only the FINAL escalation's strategy (intermediate ones
93
+ // correlate with failure), only if confident enough. `problem` is the ORIGINAL objective.
94
+ if (store && scope && result.status === "completed" && result.escalations.length > 0) {
95
+ const advice = result.escalations[result.escalations.length - 1].teacher;
96
+ if (advice.strategy && advice.confidence >= (teacher.minConfidenceToStore ?? 2)) {
97
+ await store.save({
98
+ id: randomUUID(),
99
+ problem: studentSpec.objective,
100
+ strategy: advice.strategy,
101
+ confidence: advice.confidence,
102
+ scope,
103
+ ts: new Date().toISOString(),
104
+ teacherModel: typeof teacher.model === "string" ? teacher.model : teacher.model?.id,
105
+ });
106
+ }
107
+ }
108
+ return result;
109
+ }
110
+ /** Core escalation loop (kept free of the strategy-store concern; see {@link runWithTeacher}). */
111
+ async function runTeacherCore(runner, studentSpec, teacher) {
112
+ const maxEscalations = teacher.maxEscalations ?? 3;
113
+ const spendCap = teacher.teacherSpendRatioCap ?? 0.4;
114
+ const stuckThreshold = teacher.stuckThreshold ?? 3;
115
+ const stuckHardOverride = teacher.stuckHardOverride ?? 5;
116
+ const useStuckMonitor = teacher.useStuckMonitor !== false;
117
+ const verifyOutput = teacher.verifyOutput !== false;
118
+ const takeoverAfter = teacher.takeoverAfter ?? 2;
119
+ const extSignal = studentSpec.signal;
120
+ const escalations = [];
121
+ let studentTokens = 0;
122
+ let studentTurns = 0;
123
+ let studentCost = 0;
124
+ // A-7: accumulate the AUTHORITATIVE cost/token fields too — not just tokens/turns/costUsd. Otherwise
125
+ // finalize spreads the LAST run's costMicroUsd/promptTokens/cachedTokens/outputTokens/nested while
126
+ // tokens/turns are cumulative → the same stats object is internally inconsistent (a consumer reading
127
+ // the recommended `costMicroUsd` gets only the last attempt on every escalation).
128
+ let studentCostMicro = 0;
129
+ let studentPrompt = 0;
130
+ let studentCached = 0;
131
+ let studentOutput = 0;
132
+ let studentCacheWrite = 0;
133
+ let studentCacheWriteLong = 0;
134
+ // costBreakdown sub-fields + humanReview accumulate too (mirror cascade): else the finalize spread leaks the
135
+ // LAST attempt's value while costMicroUsd is the cumulative sum → the `llmRoot+nested+compaction===total`
136
+ // identity breaks and humanReview drops earlier attempts' gate burden (systemic pattern-A sweep).
137
+ let studentLlmRootMicro = 0;
138
+ let studentCompactionMicro = 0;
139
+ let hrCount = 0;
140
+ let hrWaitMs = 0;
141
+ const hrGates = [];
142
+ let studentNestedTokens = 0;
143
+ let studentNestedTurns = 0;
144
+ let studentNestedTasks = 0;
145
+ let studentNestedCostMicro = 0;
146
+ let studentNestedCost = 0;
147
+ let teacherTokens = 0;
148
+ let teacherTasks = 0;
149
+ let teacherCost = 0;
150
+ let teacherCostMicro = 0;
151
+ let teacherHrCount = 0;
152
+ let teacherHrWaitMs = 0;
153
+ const teacherHrGates = [];
154
+ let correctionFailures = 0;
155
+ let sessionId = studentSpec.sessionId;
156
+ let objective = studentSpec.objective;
157
+ // Wrap the student's tools to capture recent tool RESULTS (the observations) — so the teacher's
158
+ // trace shows what the tools returned, not just that the student called them (teacher v1.1).
159
+ const toolLog = [];
160
+ const logTool = (name, args, result) => {
161
+ toolLog.push({ tool: name, args: JSON.stringify(args).slice(0, 200), result: result.slice(0, 600) });
162
+ while (toolLog.length > 6)
163
+ toolLog.shift();
164
+ };
165
+ // Error-signature stuck tracking (v1.2): count consecutive failures of the SAME tool with the SAME
166
+ // error — a changing error means the student is making progress, not stuck. Reset per student run.
167
+ let errorStreak = 0;
168
+ let lastErrSig = "";
169
+ const onToolFail = (name, errText) => {
170
+ const sig = `${name}|${errText.toLowerCase().replace(/\s+/g, " ").trim().slice(0, 80)}`;
171
+ errorStreak = sig === lastErrSig ? errorStreak + 1 : 1;
172
+ lastErrSig = sig;
173
+ };
174
+ const wrap = (t) => ({
175
+ ...t,
176
+ execute: async (args, ctx) => {
177
+ try {
178
+ const out = await t.execute(args, ctx);
179
+ const text = typeof out === "string"
180
+ ? out
181
+ : out && typeof out === "object" && "content" in out
182
+ ? String(out.content)
183
+ : (JSON.stringify(out) ?? ""); // JSON.stringify(undefined) is undefined → guard the .slice
184
+ logTool(t.name, args, text);
185
+ errorStreak = 0; // a successful tool call breaks the stuck streak
186
+ lastErrSig = "";
187
+ return out;
188
+ }
189
+ catch (e) {
190
+ // A tool FAILURE is exactly the observation the teacher needs — capture it + the signature.
191
+ const errText = String(e);
192
+ logTool(t.name, args, `ERROR: ${errText}`);
193
+ onToolFail(t.name, errText);
194
+ throw e;
195
+ }
196
+ },
197
+ });
198
+ const tools = studentSpec.tools?.map(wrap);
199
+ /** A cheap helper task spec (monitor/verifier): inherits the student's model unless `helperModel` set. */
200
+ const helperBase = () => teacher.helperModel
201
+ ? { model: teacher.helperModel }
202
+ : { model: studentSpec.model, modelRole: studentSpec.modelRole, roles: studentSpec.roles };
203
+ /**
204
+ * Model fields for the teacher: an explicit `teacher.model`, else the `advisor` role. When the
205
+ * student ran on an explicit model (not a role), synthesize a `default` role from it so an
206
+ * unconfigured `advisor` degrades gracefully to the student's own model (teacher == student) instead
207
+ * of failing to resolve. A configured `RunnerDeps.roles.advisor` still wins.
208
+ */
209
+ const teacherModelFields = () => {
210
+ if (teacher.model) {
211
+ return { model: teacher.model };
212
+ }
213
+ const roles = {
214
+ ...(studentSpec.model !== undefined ? { default: studentSpec.model } : {}),
215
+ ...studentSpec.roles,
216
+ };
217
+ return { modelRole: "advisor", roles: Object.keys(roles).length ? roles : undefined };
218
+ };
219
+ const runHelper = async (helperObjective) => {
220
+ const r = await runner.runTask({
221
+ ...helperBase(),
222
+ objective: helperObjective,
223
+ enableBlockedReport: false,
224
+ limits: { maxTurns: 1, timeoutSec: studentSpec.limits?.timeoutSec },
225
+ signal: extSignal,
226
+ });
227
+ await runner.sessions.release(r.sessionId).catch(() => undefined);
228
+ addStudent(r); // helper is student-tier; counts toward the cheap budget
229
+ return r.result;
230
+ };
231
+ const addStudent = (r) => {
232
+ const s = r.stats;
233
+ studentTokens += s.tokens;
234
+ studentTurns += s.turns;
235
+ studentCost += s.costUsd ?? 0;
236
+ studentCostMicro += s.costMicroUsd ?? 0;
237
+ studentPrompt += s.promptTokens ?? 0;
238
+ studentCached += s.cachedTokens ?? 0;
239
+ studentOutput += s.outputTokens ?? 0;
240
+ studentCacheWrite += s.cacheWriteTokens ?? 0;
241
+ studentCacheWriteLong += s.cacheWriteTokensLong ?? 0;
242
+ if (s.costBreakdown) {
243
+ studentLlmRootMicro += s.costBreakdown.llmRootMicroUsd;
244
+ studentCompactionMicro += s.costBreakdown.compactionMicroUsd;
245
+ }
246
+ if (s.humanReview) {
247
+ hrCount += s.humanReview.count;
248
+ hrWaitMs += s.humanReview.totalWaitMs;
249
+ hrGates.push(...s.humanReview.gates);
250
+ }
251
+ // A-7: addStudent now accumulates nested too (was only in addTeacher = asymmetric; a student that
252
+ // delegates to a subagent had its delegated cost dropped from both the spendCap ratio and the
253
+ // final stats).
254
+ if (s.nested) {
255
+ studentNestedTokens += s.nested.tokens;
256
+ studentNestedTurns += s.nested.turns;
257
+ studentNestedTasks += s.nested.tasks;
258
+ studentNestedCostMicro += s.nested.costMicroUsd ?? 0;
259
+ studentNestedCost += s.nested.costUsd ?? 0;
260
+ }
261
+ };
262
+ const addTeacher = (r) => {
263
+ teacherTokens += r.stats.tokens + (r.stats.nested?.tokens ?? 0);
264
+ teacherTasks += 1;
265
+ teacherCost += (r.stats.costUsd ?? 0) + (r.stats.nested?.costUsd ?? 0);
266
+ teacherCostMicro += (r.stats.costMicroUsd ?? 0) + (r.stats.nested?.costMicroUsd ?? 0);
267
+ if (r.stats.humanReview) {
268
+ teacherHrCount += r.stats.humanReview.count;
269
+ teacherHrWaitMs += r.stats.humanReview.totalWaitMs;
270
+ teacherHrGates.push(...r.stats.humanReview.gates);
271
+ }
272
+ };
273
+ // Run the student (or a continuation) while watching for a stuck loop; abort early if stuck.
274
+ const runStudent = async () => {
275
+ const ac = new AbortController();
276
+ const onExt = () => ac.abort();
277
+ if (extSignal) {
278
+ if (extSignal.aborted)
279
+ ac.abort();
280
+ else
281
+ extSignal.addEventListener("abort", onExt, { once: true });
282
+ }
283
+ const stream = runner.runTaskStream({ ...studentSpec, tools, objective, sessionId, signal: ac.signal });
284
+ errorStreak = 0; // independent stuck detection per student run (the wrap maintains it as tools run)
285
+ lastErrSig = "";
286
+ let grace = 0; // turns to skip the stuck check after the monitor said "progressing"
287
+ let stuck = false;
288
+ const recent = [];
289
+ let turnText = "";
290
+ let turnTools = [];
291
+ try {
292
+ for await (const ev of stream) {
293
+ if (ev.type === "text_delta") {
294
+ turnText += ev.delta;
295
+ }
296
+ else if (ev.type === "tool_start") {
297
+ turnTools.push(`${ev.toolName}(${JSON.stringify(ev.args).slice(0, 120)})`);
298
+ }
299
+ else if (ev.type === "turn_end") {
300
+ recent.push(`${turnText} ${turnTools.join(" ")}`.trim());
301
+ turnText = "";
302
+ turnTools = [];
303
+ // `errorStreak` (same tool + same error) is maintained by the tool wrapper as tools run.
304
+ if (errorStreak >= stuckHardOverride) {
305
+ stuck = true; // hard override always fires, regardless of monitor/grace
306
+ }
307
+ else if (grace > 0) {
308
+ grace--; // inside the grace window → consume one turn, don't re-check
309
+ }
310
+ else if (errorStreak >= stuckThreshold) {
311
+ if (!useStuckMonitor || (await monitorStuck(recent))) {
312
+ stuck = true;
313
+ }
314
+ else {
315
+ grace = 2; // monitor said "progressing" → suppress the check for 2 turns (design §3.1)
316
+ }
317
+ }
318
+ if (stuck) {
319
+ ac.abort();
320
+ break; // stop consuming immediately — don't drain a possibly-hung stream
321
+ }
322
+ }
323
+ }
324
+ }
325
+ finally {
326
+ if (extSignal)
327
+ extSignal.removeEventListener("abort", onExt); // never leak the listener
328
+ }
329
+ // Swallow a late rejection so the losing branch of the race below can't become an unhandled
330
+ // rejection, and so a runner failure after abort doesn't throw out of here.
331
+ const settled = stream.result().catch(() => syntheticAborted(sessionId));
332
+ // After an abort, bound how long we wait for the run to settle (loss-cutting must be prompt).
333
+ let result;
334
+ if (stuck) {
335
+ const fb = abortFallback(sessionId);
336
+ result = await Promise.race([settled, fb.promise]);
337
+ fb.cancel(); // don't leak the 10s loss-cutting timer when `settled` wins the race
338
+ }
339
+ else {
340
+ result = await settled;
341
+ }
342
+ addStudent(result);
343
+ return { result, stuck, recent };
344
+ };
345
+ /** A synthetic "aborted/failed" result for when a stuck run's stream rejects or doesn't settle. */
346
+ const syntheticAborted = (sid) => ({
347
+ taskId: sid ?? "aborted",
348
+ sessionId: sid ?? "aborted",
349
+ status: "failed",
350
+ result: "",
351
+ errorMessage: "student run did not settle promptly after stuck-abort",
352
+ stats: { turns: 0, tokens: 0 },
353
+ });
354
+ const abortFallback = (sid) => {
355
+ let timer;
356
+ const promise = new Promise((res) => {
357
+ timer = setTimeout(() => res(syntheticAborted(sid)), 10_000);
358
+ timer.unref?.(); // don't keep the event loop alive on the losing branch
359
+ });
360
+ return { promise, cancel: () => { if (timer)
361
+ clearTimeout(timer); } };
362
+ };
363
+ const monitorStuck = async (recent) => {
364
+ // design/53 §A: the student's recent turns are untrusted (model-generated) — delimit before they
365
+ // reach the stuck-monitor's prompt, so a turn can't talk the monitor into "stuck"/"progressing".
366
+ const turns = delimitUntrusted("RECENT TURNS", recent.slice(-2).join("\n---\n"));
367
+ const out = await runHelper(`${teacher.prompts?.monitor ?? MONITOR_PROMPT}\n\n${turns}`);
368
+ // Match "stuck" only as the leading token, so a verbose "not stuck / making progress" isn't a
369
+ // false positive (default to NOT stuck when ambiguous — the hard override still catches a real stall).
370
+ return /^\W*stuck\b/i.test(out.trim());
371
+ };
372
+ /** Rubric verifier with optional self-consistency (majority vote over `verifierSamples` runs). */
373
+ const verify = async (taskObjective, output) => {
374
+ const k = Math.max(1, Math.floor(teacher.verifierSamples ?? 1));
375
+ const votes = await Promise.all(Array.from({ length: k }, () => runHelper(verifierPrompt(taskObjective, output, teacher.prompts?.verifier))));
376
+ const passes = votes.filter((v) => /^\s*pass\b/i.test(v)).length;
377
+ const pass = passes * 2 > k; // strict majority
378
+ const reason = pass ? "" : (votes.find((v) => !/^\s*pass\b/i.test(v)) ?? "").replace(/^\s*fail\s*:?\s*/i, "").trim();
379
+ return { pass, reason };
380
+ };
381
+ const askTeacher = async (trace) => {
382
+ const r = await runner.runTask({
383
+ objective: trace,
384
+ ...teacherModelFields(),
385
+ systemPrompt: teacher.prompts?.teacher ?? TEACHER_PROMPT,
386
+ enableBlockedReport: false,
387
+ limits: { maxTurns: 4, timeoutSec: studentSpec.limits?.timeoutSec },
388
+ signal: extSignal,
389
+ });
390
+ await runner.sessions.release(r.sessionId).catch(() => undefined);
391
+ addTeacher(r);
392
+ return parseTeacherAdvice(r.result);
393
+ };
394
+ for (;;) {
395
+ toolLog.length = 0; // only the CURRENT attempt's tool results feed the teacher (no cross-cycle bleed)
396
+ const { result, stuck, recent } = await runStudent();
397
+ sessionId = result.sessionId;
398
+ // design/45 §11 Q6 hard boundary: a student task that suspended on a durable approval gate can't be
399
+ // taught/escalated from here — surface it to the top-level caller with the token (mapped to failed),
400
+ // don't loop or release. v1 only supports durable suspend at the top-level runTask.
401
+ if (isDurablePause(result.status)) {
402
+ return finalize(mapNestedSuspend(result));
403
+ }
404
+ // Classify the outcome.
405
+ let trigger;
406
+ let verifyReason = "";
407
+ if (stuck) {
408
+ trigger = "stuck";
409
+ }
410
+ else if (result.status === "blocked") {
411
+ trigger = "blocked";
412
+ }
413
+ else if (result.status === "failed" || result.status === "timeout") {
414
+ trigger = "failed";
415
+ }
416
+ else if (!verifyOutput) {
417
+ trigger = "success";
418
+ }
419
+ else {
420
+ // Verify against the ORIGINAL task, not the mutable `objective` — after the first correction `objective`
421
+ // is overwritten with the teacher-guidance continuation message (for the student's next run), so passing
422
+ // it here would make the verifier judge the student against the guidance text instead of the real task.
423
+ const v = await verify(studentSpec.objective, result.result);
424
+ if (v.pass) {
425
+ trigger = "success";
426
+ }
427
+ else {
428
+ trigger = "verify-fail";
429
+ verifyReason = v.reason;
430
+ }
431
+ }
432
+ if (trigger === "success") {
433
+ return finalize(result);
434
+ }
435
+ // A token-budget truncation can't be fixed by teacher advice (it's a max_tokens cap, not a
436
+ // reasoning gap) — don't waste an escalation on it; surface the informative failure to the caller.
437
+ if (trigger === "failed" &&
438
+ /truncat|max[ _-]?tokens?|maximum tokens?|token (limit|budget)|context (length|window)|no answer text|(consumed|exceeded).{0,12}budget/i.test(result.errorMessage ?? "")) {
439
+ return finalize(result);
440
+ }
441
+ // Guards: stop escalating when the cap is hit or the teacher is spending too much.
442
+ if (escalations.length >= maxEscalations) {
443
+ return finalize(result);
444
+ }
445
+ // R-6 (round-3 council): the denominator must include `studentNestedTokens` (delegated work) — the
446
+ // numerator `teacherTokens` already counts the teacher's own nested tokens (via addTeacher), so omitting
447
+ // the student's nested tokens inflates the ratio and stops escalation prematurely. Matches finalize().
448
+ const studentTotal = studentTokens + studentNestedTokens;
449
+ if (escalations.length > 0 && studentTotal > 0 && teacherTokens / studentTotal > spendCap) {
450
+ return finalize(result);
451
+ }
452
+ // Decoupled escalation decision (design/15): a custom policy can veto this escalation. Fails open
453
+ // (escalates) on a throw/error so a broken policy can't strand the student.
454
+ if (teacher.escalationPolicy) {
455
+ let go = true;
456
+ try {
457
+ go = await teacher.escalationPolicy({ trigger, attempt: escalations.length + 1, result, recent, verifyReason: verifyReason || undefined });
458
+ }
459
+ catch {
460
+ go = true;
461
+ }
462
+ if (!go) {
463
+ return finalize(result);
464
+ }
465
+ }
466
+ // Escalate to the teacher. Include the recent tool RESULTS (observations) so the teacher can give
467
+ // substantive, grounded guidance — not just process advice.
468
+ // design/53 §A: the student's turns AND the tool results it surfaced are untrusted content (tool
469
+ // output can itself carry injected text the student read) — opaque-delimit both before they enter
470
+ // the teacher's prompt. The ORIGINAL TASK is the trusted caller spec and stays plain.
471
+ const observations = toolLog.slice(-4).map((e) => `${e.tool}(${e.args}) → ${e.result}`).join("\n");
472
+ const studentTurnsText = delimitUntrusted("STUDENT RECENT TURNS", recent.slice(-4).join("\n---\n") || result.result || "(no output)");
473
+ const toolResults = delimitUntrusted("RECENT TOOL RESULTS", observations || "(no tool calls)");
474
+ const trace = `The student is stuck on this task and needs guidance.\n\nORIGINAL TASK:\n${studentSpec.objective}\n\n` +
475
+ // design/53 §6: verifyReason is the verifier helper-LLM's reply (untrusted — only regex-stripped +
476
+ // trimmed) interpolated INLINE into the trace passed as the trusted `objective`. Its siblings on this
477
+ // trace (STUDENT RECENT TURNS / RECENT TOOL RESULTS) are delimitUntrusted-wrapped; this single inline
478
+ // value gets the inline defuse (fold newlines so it can't forge a new trace line + neutralize break-out
479
+ // tags/fences) so it can't escape its parenthetical into teacher-facing instructions.
480
+ `TRIGGER: ${trigger}${verifyReason ? ` (${inlineUntrusted(verifyReason, 300)})` : ""}\n\n` +
481
+ `STUDENT'S RECENT TURNS (most recent last):\n${studentTurnsText}\n\n` +
482
+ `RECENT TOOL RESULTS (what the tools actually returned):\n${toolResults}\n\n` +
483
+ `Give your guidance as the required JSON.`;
484
+ const advice = await askTeacher(trace);
485
+ const tookOver = advice.takeover || correctionFailures >= takeoverAfter;
486
+ const record = { attempt: escalations.length + 1, trigger, teacher: advice, tookOver };
487
+ escalations.push(record);
488
+ teacher.onEscalation?.(record);
489
+ if (tookOver) {
490
+ // Teacher does the work directly on the same session, then a final verify.
491
+ const r = await runner.runTask({
492
+ // Spread studentSpec FIRST so the takeover — completing the SAME task on the SAME session — inherits the
493
+ // caller's per-task config (auth getApiKeyAndHeaders / toolPolicy / outputSchema / principal /
494
+ // durableApproval / limits / …), exactly like the student run (which spreads ...studentSpec). Listing
495
+ // fields by hand silently DROPPED auth/policy/output contract on the teacher's final-resort run (R7
496
+ // bug-hunt). The explicit fields below OVERRIDE for the takeover.
497
+ ...studentSpec,
498
+ sessionId,
499
+ objective: `Take over and complete the original task. ${advice.nextStep ?? advice.strategy ?? ""}`.trim(),
500
+ ...teacherModelFields(),
501
+ tools, // the teacher needs the same (wrapped) tools to actually do the work
502
+ enableBlockedReport: false,
503
+ signal: extSignal,
504
+ });
505
+ addTeacher(r);
506
+ // Same durable-pause hard boundary as the student path (design/45 §11 Q6): if the teacher's
507
+ // takeover run itself suspends on a durable approval gate, surface it with the token (mapped to
508
+ // failed) — never leak a raw status:"suspended" out of the orchestrator (orphaned checkpoint).
509
+ if (isDurablePause(r.status)) {
510
+ return finalize(mapNestedSuspend(r));
511
+ }
512
+ return finalize(r);
513
+ }
514
+ // Inject the structured correction and continue the student on the SAME session. Only ask the
515
+ // student to "verify against tool output" when it actually has tools — otherwise that instruction
516
+ // is nonsensical for a text-only task and confuses the model.
517
+ const verifyClause = studentSpec.tools && studentSpec.tools.length > 0
518
+ ? " First verify this guidance against the actual tool output, then continue completing the original task."
519
+ : " Then continue completing the original task.";
520
+ objective =
521
+ `[Teacher guidance] Correction: ${advice.correction ?? "(none)"}. Next step: ${advice.nextStep ?? "(none)"}.` +
522
+ (advice.strategy ? ` Strategy: ${advice.strategy}.` : "") +
523
+ verifyClause;
524
+ correctionFailures++;
525
+ }
526
+ function finalize(result) {
527
+ return {
528
+ ...result,
529
+ // Student stats are the cumulative totals across all student + helper runs — ALL cost/token fields
530
+ // accumulated (A-7), so authoritative `costMicroUsd` is no longer the last attempt while tokens are
531
+ // cumulative. cacheHitRate is re-derived from the cumulative prompt/cached totals.
532
+ stats: {
533
+ ...result.stats,
534
+ tokens: studentTokens,
535
+ turns: studentTurns,
536
+ costUsd: studentCost || undefined,
537
+ costMicroUsd: studentCostMicro || undefined,
538
+ promptTokens: studentPrompt || undefined,
539
+ totalInputTokens: studentPrompt || undefined,
540
+ cachedTokens: studentCached || undefined,
541
+ outputTokens: studentOutput || undefined,
542
+ cacheWriteTokens: studentCacheWrite || undefined,
543
+ cacheWriteTokensLong: studentCacheWriteLong || undefined,
544
+ cacheHitRate: studentPrompt > 0 ? studentCached / studentPrompt : undefined,
545
+ nested: studentNestedTokens > 0 || studentNestedTasks > 0
546
+ ? {
547
+ tokens: studentNestedTokens,
548
+ turns: studentNestedTurns,
549
+ tasks: studentNestedTasks,
550
+ costMicroUsd: studentNestedCostMicro || undefined,
551
+ costUsd: studentNestedCost || undefined,
552
+ }
553
+ : undefined,
554
+ // Cumulative breakdown (mirror cascade/assemble-result) so `llmRoot + nested + compaction` reconciles to
555
+ // the cumulative LLM total instead of describing only the last attempt; humanReview sums all attempts.
556
+ costBreakdown: {
557
+ llmRootMicroUsd: studentLlmRootMicro,
558
+ nestedSubagentMicroUsd: studentNestedCostMicro,
559
+ memoryConsolidationMicroUsd: 0,
560
+ compactionMicroUsd: studentCompactionMicro,
561
+ },
562
+ humanReview: hrCount > 0 ? { count: hrCount, totalWaitMs: hrWaitMs, gates: hrGates } : undefined,
563
+ },
564
+ escalations,
565
+ teacherStats: {
566
+ tokens: teacherTokens,
567
+ tasks: teacherTasks,
568
+ costUsd: teacherCost || undefined,
569
+ costMicroUsd: teacherCostMicro || undefined,
570
+ humanReview: teacherHrCount > 0 ? { count: teacherHrCount, totalWaitMs: teacherHrWaitMs, gates: teacherHrGates } : undefined,
571
+ },
572
+ };
573
+ }
574
+ }
575
+ //# sourceMappingURL=teacher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teacher.js","sourceRoot":"","sources":["../../src/agents/teacher.ts"],"names":[],"mappings":"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"}