@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 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/brain/openai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ import type { ThinkingLevel } from "../internal/harness.js";
2
+ /**
3
+ * Unified reasoning-intensity abstraction (design/96 S3).
4
+ *
5
+ * The intensity a caller requests IS a {@link ThinkingLevel} — we reuse the existing 7-tier vendor scale
6
+ * (`off | minimal | low | medium | high | xhigh | max`) rather than forking a parallel "fast/standard/deep"
7
+ * enum, so there is ONE knob, not two that must be kept in sync. This module is the single place that maps a
8
+ * requested intensity to what a given endpoint can ACTUALLY honor, and reports the EFFECTIVE intensity — so a
9
+ * request that can't be honored as asked ("high" on a binary enable-only provider like qwen/zai, or
10
+ * "xhigh"/"max" on an endpoint whose `reasoning_effort` only accepts up to "high") is observable rather than
11
+ * silently swallowed or 422'd (design/96 §E honesty red-line; design/46 anti-drift).
12
+ *
13
+ * The brain (openai.ts / anthropic.ts) consumes this. Surfacing the effective intensity to a task result is a
14
+ * later config-domain slice (design/96 S6); here it is a pure, tested mapping.
15
+ */
16
+ export type ReasoningIntensity = ThinkingLevel;
17
+ /** Type guard: is `v` one of the 7 {@link ThinkingLevel} tiers? (A legacy/unknown reasoning string is not.) */
18
+ export declare function isThinkingLevel(v: unknown): v is ThinkingLevel;
19
+ /** Ordinal rank of a level (`off`=0 … `max`=6). */
20
+ export declare function rankOf(level: ThinkingLevel): number;
21
+ /**
22
+ * The `reasoning_effort` tiers an OpenAI-family endpoint accepts by DEFAULT. Conservative on purpose: a value
23
+ * the endpoint rejects 422s the whole request, so we ship the set stock OpenAI takes
24
+ * (`minimal | low | medium | high`) and clamp anything higher ("xhigh"/"max") down to "high". An endpoint that
25
+ * genuinely accepts a higher tier declares it via `compat.reasoningEffortLevels`.
26
+ */
27
+ export declare const DEFAULT_EFFORT_LEVELS: readonly ThinkingLevel[];
28
+ /**
29
+ * The per-provider thinking wire format (mirrors `compat.thinkingFormat`). `"budget"` is the synthetic tag for
30
+ * Anthropic's extended-thinking budget path (no `thinkingFormat` — the anthropic brain doesn't read one), kept
31
+ * here so {@link resolveReasoning} can report ONE endpoint discriminant across both brain families.
32
+ */
33
+ export type ReasoningFormat = "openai" | "openrouter" | "deepseek" | "together" | "zai" | "qwen" | "qwen-chat-template" | "budget"
34
+ /** Anthropic `output_config.effort` (CC 2.1.198 / Fable-5 class, design/119): the tier is a named
35
+ * effort string, clamped to `compat.effortLevels` — the anthropic-side twin of the OpenAI
36
+ * `reasoning_effort` path (thinking FORM is `thinkingMode`; effort carries the intensity). */
37
+ | "effort";
38
+ /** How a requested intensity resolved against one endpoint's real capability. */
39
+ export interface ReasoningResolution {
40
+ /** The level the caller asked for. */
41
+ requested: ThinkingLevel;
42
+ /** The level actually in effect after mapping to what the endpoint accepts. */
43
+ effective: ThinkingLevel;
44
+ /**
45
+ * True when the endpoint varies behavior by intensity (effort tiers / token budget). False = binary
46
+ * enable-only (qwen / zai / qwen-chat-template, or an effort endpoint that declares
47
+ * `supportsReasoningEffort:false`): thinking is on or off and the tier is NOT honored — read this alongside
48
+ * {@link effective}, which then echoes the request as intent only.
49
+ */
50
+ graded: boolean;
51
+ /** True when {@link effective} differs from {@link requested} (the request couldn't be honored exactly). */
52
+ clamped: boolean;
53
+ }
54
+ /**
55
+ * A {@link ReasoningResolution} enriched with the endpoint discriminant, for observability (design/96 S6).
56
+ * The brain consumes only the {@link ReasoningResolution} fields to shape the request; `format`/`endpoint`
57
+ * are reported (e.g. a `reasoning.resolved` trace event) so a deployment can see WHY a tier was downgraded
58
+ * (binary provider) or clamped (effort-set cap) rather than the resolution being silently swallowed (§E honesty).
59
+ */
60
+ export interface ResolvedReasoning extends ReasoningResolution {
61
+ /** The wire format the request will use (the load-bearing reason for `graded`/`clamped`). */
62
+ format: ReasoningFormat;
63
+ /** A coarse endpoint label for the trace (`model.api` — e.g. `openai-completions`, `anthropic-messages`). */
64
+ endpoint: string;
65
+ }
66
+ /**
67
+ * Resolve a requested intensity against a model END-TO-END, dispatching on its wire format the SAME way the
68
+ * brains do — so a trace event and the actual provider request can never drift (design/96 S6). This is the
69
+ * single observability-side resolver: the runner calls it at task start to emit `reasoning.resolved`; the
70
+ * brains keep calling {@link resolveEffort}/{@link resolveBinary}/{@link reasoningBudgetShare} on the hot path.
71
+ *
72
+ * - Anthropic (`api === "anthropic-messages"`) → budget-based: the tier sets a budget share, so it's a real
73
+ * gradient (`graded:true`) and never tier-clamped (`clamped:false`); reported as `format:"budget"`.
74
+ * - Binary enable-only formats (qwen / zai / qwen-chat-template) → `graded:false` (tier not honored).
75
+ * - An effort endpoint with `supportsReasoningEffort:false` → `graded:false` (enable key only, no effort tier).
76
+ * - Otherwise effort-based → clamp DOWN to the endpoint's `reasoningEffortLevels` (default minimal|low|medium|high).
77
+ *
78
+ * `off`/falsy never enables thinking, so it resolves trivially (no clamp, graded:true) — the caller decides
79
+ * whether to emit at all.
80
+ */
81
+ export declare function resolveReasoning(requested: ThinkingLevel, model: {
82
+ api?: string;
83
+ reasoning?: boolean;
84
+ compat?: unknown;
85
+ }): ResolvedReasoning;
86
+ /**
87
+ * Resolve a requested intensity for an effort-based endpoint (`reasoning_effort` / `reasoning.effort`). Picks
88
+ * the requested tier when supported; otherwise the highest supported tier ≤ requested (clamp DOWN, never
89
+ * silently up); if none is ≤ requested (the endpoint's set is entirely higher — unusual), the lowest supported
90
+ * tier. Never returns a value outside `allowed`, so the brain can't emit a tier the endpoint would 422.
91
+ */
92
+ export declare function resolveEffort(requested: ThinkingLevel, allowed?: readonly ThinkingLevel[]): ReasoningResolution;
93
+ /**
94
+ * Resolve a requested intensity for a binary enable-only endpoint (qwen / zai / qwen-chat-template): the
95
+ * provider only takes an on/off switch, so the intensity tier is NOT honored as a gradient. `graded: false`
96
+ * is the load-bearing honesty signal.
97
+ */
98
+ export declare function resolveBinary(requested: ThinkingLevel): ReasoningResolution;
99
+ /**
100
+ * Extended-thinking budget as a FRACTION of `max_tokens` per intensity tier, for budget-based endpoints
101
+ * (Anthropic). Lets a higher intensity actually buy a larger thinking budget — before this, the budget was a
102
+ * fixed share regardless of the requested tier, so the intensity had no effect on Anthropic (design/96 §D/§E).
103
+ * The brain clamps the resulting budget to Anthropic's `[1024, max_tokens-1]` window; an explicit
104
+ * `thinkingBudgetTokens` / `thinkingBudgetShare` in config still overrides this table.
105
+ */
106
+ export declare const REASONING_BUDGET_SHARE: Record<ThinkingLevel, number>;
107
+ /** The extended-thinking budget share for a given intensity tier (see {@link REASONING_BUDGET_SHARE}). */
108
+ export declare function reasoningBudgetShare(level: ThinkingLevel): number;
109
+ /**
110
+ * design/96 §D (S4) — a user-facing NAMED reasoning tier, DISTINCT from the raw 7-tier {@link ThinkingLevel}
111
+ * ({@link ReasoningIntensity}). A profile maps it to engine flags via {@link resolveReasoningProfile}. This is
112
+ * the "ultracode" parity axis: a high tier (`ultra`) buys both a higher thinking level AND a thoroughness/
113
+ * self-verify prompt nudge.
114
+ */
115
+ export type ReasoningTier = "off" | "fast" | "standard" | "deep" | "ultra";
116
+ /** The engine flags a {@link ReasoningTier} resolves to (design/96 §D table). A profile may override the
117
+ * default; core ships sane defaults. */
118
+ export interface ReasoningProfileFlags {
119
+ /** The vendor thinking level to run at (clamped per-endpoint downstream by {@link resolveEffort}). */
120
+ thinking: ThinkingLevel;
121
+ /**
122
+ * Compose `ORCHESTRATION_AWARENESS` — a high-tier thoroughness/self-verify nudge. 🔴 NOT the `run_workflow`
123
+ * tool (that is gated by a hard sandbox, S8 §6.3); this is purely about how the model reasons. Independent
124
+ * of self-orchestration (a task can be both).
125
+ */
126
+ awarenessGuidance: boolean;
127
+ /** Advisory HINT that goal mode suits this tier. Core NEVER forces intensity→mode (constitution: the
128
+ * mapping is profile data); a profile/caller decides whether to actually run `runGoal`. */
129
+ goalSuggested: boolean;
130
+ }
131
+ /**
132
+ * design/96 §D (S4) — map a named {@link ReasoningTier} to its engine {@link ReasoningProfileFlags} (default
133
+ * mapping). G2 (clay): the intensity→capability mapping is PROFILE-layer data — core gives this primitive +
134
+ * a sane default; a profile/scenario layer calls it (and may override the table) to set a task's `thinking` +
135
+ * prompt flags. Core never forces it. Returns a fresh COPY (callers may mutate).
136
+ */
137
+ export declare function resolveReasoningProfile(tier: ReasoningTier): ReasoningProfileFlags;
138
+ //# sourceMappingURL=reasoning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning.d.ts","sourceRoot":"","sources":["../../src/brain/reasoning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAa/C,+GAA+G;AAC/G,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAE9D;AAED,mDAAmD;AACnD,wBAAgB,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAEnD;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,aAAa,EAAyC,CAAC;AAEpG;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,UAAU,GACV,KAAK,GACL,MAAM,GACN,oBAAoB,GACpB,QAAQ;AACV;;+FAE+F;GAC7F,QAAQ,CAAC;AAKb,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,SAAS,EAAE,aAAa,CAAC;IACzB,+EAA+E;IAC/E,SAAS,EAAE,aAAa,CAAC;IACzB;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB,4GAA4G;IAC5G,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,6FAA6F;IAC7F,MAAM,EAAE,eAAe,CAAC;IACxB,6GAA6G;IAC7G,QAAQ,EAAE,MAAM,CAAC;CAClB;AAWD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7D,iBAAiB,CA8BnB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,aAAa,EACxB,OAAO,GAAE,SAAS,aAAa,EAA0B,GACxD,mBAAmB,CAiBrB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,GAAG,mBAAmB,CAE3E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAQhE,CAAC;AAEF,0GAA0G;AAC1G,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAEjE;AAMD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3E;yCACyC;AACzC,MAAM,WAAW,qBAAqB;IACpC,sGAAsG;IACtG,QAAQ,EAAE,aAAa,CAAC;IACxB;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;gGAC4F;IAC5F,aAAa,EAAE,OAAO,CAAC;CACxB;AAWD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,GAAG,qBAAqB,CAElF"}
@@ -0,0 +1,146 @@
1
+ /** Ordinal rank of each tier, `off` lowest — lets us clamp a request to an endpoint's supported maximum. */
2
+ const RANK = {
3
+ off: 0,
4
+ minimal: 1,
5
+ low: 2,
6
+ medium: 3,
7
+ high: 4,
8
+ xhigh: 5,
9
+ max: 6,
10
+ };
11
+ /** Type guard: is `v` one of the 7 {@link ThinkingLevel} tiers? (A legacy/unknown reasoning string is not.) */
12
+ export function isThinkingLevel(v) {
13
+ return typeof v === "string" && Object.prototype.hasOwnProperty.call(RANK, v);
14
+ }
15
+ /** Ordinal rank of a level (`off`=0 … `max`=6). */
16
+ export function rankOf(level) {
17
+ return RANK[level];
18
+ }
19
+ /**
20
+ * The `reasoning_effort` tiers an OpenAI-family endpoint accepts by DEFAULT. Conservative on purpose: a value
21
+ * the endpoint rejects 422s the whole request, so we ship the set stock OpenAI takes
22
+ * (`minimal | low | medium | high`) and clamp anything higher ("xhigh"/"max") down to "high". An endpoint that
23
+ * genuinely accepts a higher tier declares it via `compat.reasoningEffortLevels`.
24
+ */
25
+ export const DEFAULT_EFFORT_LEVELS = ["minimal", "low", "medium", "high"];
26
+ /** The thinking formats that are binary enable-only (the intensity tier is NOT honored as a gradient). */
27
+ const BINARY_FORMATS = new Set(["qwen", "zai", "qwen-chat-template"]);
28
+ /**
29
+ * Resolve a requested intensity against a model END-TO-END, dispatching on its wire format the SAME way the
30
+ * brains do — so a trace event and the actual provider request can never drift (design/96 S6). This is the
31
+ * single observability-side resolver: the runner calls it at task start to emit `reasoning.resolved`; the
32
+ * brains keep calling {@link resolveEffort}/{@link resolveBinary}/{@link reasoningBudgetShare} on the hot path.
33
+ *
34
+ * - Anthropic (`api === "anthropic-messages"`) → budget-based: the tier sets a budget share, so it's a real
35
+ * gradient (`graded:true`) and never tier-clamped (`clamped:false`); reported as `format:"budget"`.
36
+ * - Binary enable-only formats (qwen / zai / qwen-chat-template) → `graded:false` (tier not honored).
37
+ * - An effort endpoint with `supportsReasoningEffort:false` → `graded:false` (enable key only, no effort tier).
38
+ * - Otherwise effort-based → clamp DOWN to the endpoint's `reasoningEffortLevels` (default minimal|low|medium|high).
39
+ *
40
+ * `off`/falsy never enables thinking, so it resolves trivially (no clamp, graded:true) — the caller decides
41
+ * whether to emit at all.
42
+ */
43
+ export function resolveReasoning(requested, model) {
44
+ const endpoint = model.api ?? "unknown";
45
+ const compat = (model.compat ?? {});
46
+ if (model.api === "anthropic-messages") {
47
+ // design/119 (CC 198 rebaseline): an endpoint that declares `effortLevels` carries the intensity
48
+ // as `output_config.effort` (Fable-5 class) — clamp exactly like the brain will, so the
49
+ // `reasoning.resolved` trace and the wire can never drift (§E honesty red-line).
50
+ if (compat.effortLevels && compat.effortLevels.length > 0) {
51
+ return { ...resolveEffort(requested, compat.effortLevels), format: "effort", endpoint };
52
+ }
53
+ // Budget-based: the tier buys a larger thinking budget (anthropic.ts reasoningBudgetShare), a true gradient.
54
+ return { requested, effective: requested, graded: true, clamped: false, format: "budget", endpoint };
55
+ }
56
+ const format = compat.thinkingFormat ?? "openai";
57
+ if (BINARY_FORMATS.has(format)) {
58
+ return { ...resolveBinary(requested), format, endpoint };
59
+ }
60
+ const supportsEffort = compat.supportsReasoningEffort ?? true; // absent = supported
61
+ // `openrouter` sends `reasoning: { effort }` UNCONDITIONALLY (its unified knob ignores the per-model
62
+ // `supportsReasoningEffort` flag — see applyThinking in openai.ts) — so it stays effort-graded regardless.
63
+ // For openai/deepseek/together, `supportsReasoningEffort:false` means no `reasoning_effort` is sent, so the
64
+ // tier is not honored as a gradient. Mirror applyThinking EXACTLY so this trace never drifts from the wire.
65
+ if (!supportsEffort && format !== "openrouter") {
66
+ return { requested, effective: requested, graded: false, clamped: false, format, endpoint };
67
+ }
68
+ return {
69
+ ...resolveEffort(requested, compat.reasoningEffortLevels ?? DEFAULT_EFFORT_LEVELS),
70
+ format,
71
+ endpoint,
72
+ };
73
+ }
74
+ /**
75
+ * Resolve a requested intensity for an effort-based endpoint (`reasoning_effort` / `reasoning.effort`). Picks
76
+ * the requested tier when supported; otherwise the highest supported tier ≤ requested (clamp DOWN, never
77
+ * silently up); if none is ≤ requested (the endpoint's set is entirely higher — unusual), the lowest supported
78
+ * tier. Never returns a value outside `allowed`, so the brain can't emit a tier the endpoint would 422.
79
+ */
80
+ export function resolveEffort(requested, allowed = DEFAULT_EFFORT_LEVELS) {
81
+ // An empty set is a misconfiguration (no tiers to pick from) — fall back to the conservative default
82
+ // rather than letting the request pass through unclamped (which could 422). Centralized here so every
83
+ // caller is safe, not just the brain.
84
+ if (allowed.length === 0)
85
+ allowed = DEFAULT_EFFORT_LEVELS;
86
+ if (requested === "off" || allowed.includes(requested)) {
87
+ return { requested, effective: requested, graded: true, clamped: false };
88
+ }
89
+ const reqRank = RANK[requested];
90
+ let below; // highest allowed tier ≤ requested
91
+ let lowest; // lowest allowed tier (fallback when none is ≤ requested)
92
+ for (const lvl of allowed) {
93
+ if (lowest === undefined || RANK[lvl] < RANK[lowest])
94
+ lowest = lvl;
95
+ if (RANK[lvl] <= reqRank && (below === undefined || RANK[lvl] > RANK[below]))
96
+ below = lvl;
97
+ }
98
+ const effective = below ?? lowest ?? requested;
99
+ return { requested, effective, graded: true, clamped: effective !== requested };
100
+ }
101
+ /**
102
+ * Resolve a requested intensity for a binary enable-only endpoint (qwen / zai / qwen-chat-template): the
103
+ * provider only takes an on/off switch, so the intensity tier is NOT honored as a gradient. `graded: false`
104
+ * is the load-bearing honesty signal.
105
+ */
106
+ export function resolveBinary(requested) {
107
+ return { requested, effective: requested, graded: false, clamped: false };
108
+ }
109
+ /**
110
+ * Extended-thinking budget as a FRACTION of `max_tokens` per intensity tier, for budget-based endpoints
111
+ * (Anthropic). Lets a higher intensity actually buy a larger thinking budget — before this, the budget was a
112
+ * fixed share regardless of the requested tier, so the intensity had no effect on Anthropic (design/96 §D/§E).
113
+ * The brain clamps the resulting budget to Anthropic's `[1024, max_tokens-1]` window; an explicit
114
+ * `thinkingBudgetTokens` / `thinkingBudgetShare` in config still overrides this table.
115
+ */
116
+ export const REASONING_BUDGET_SHARE = {
117
+ off: 0,
118
+ minimal: 0.1,
119
+ low: 0.25,
120
+ medium: 0.4,
121
+ high: 0.6,
122
+ xhigh: 0.75,
123
+ max: 0.9,
124
+ };
125
+ /** The extended-thinking budget share for a given intensity tier (see {@link REASONING_BUDGET_SHARE}). */
126
+ export function reasoningBudgetShare(level) {
127
+ return REASONING_BUDGET_SHARE[level];
128
+ }
129
+ /** Default tier→flags mapping (design/96 §D). `ultra` → top thinking + awareness nudge. A profile may override. */
130
+ const REASONING_PROFILE = {
131
+ off: { thinking: "off", awarenessGuidance: false, goalSuggested: false },
132
+ fast: { thinking: "low", awarenessGuidance: false, goalSuggested: false },
133
+ standard: { thinking: "medium", awarenessGuidance: false, goalSuggested: false },
134
+ deep: { thinking: "high", awarenessGuidance: false, goalSuggested: false },
135
+ ultra: { thinking: "max", awarenessGuidance: true, goalSuggested: false },
136
+ };
137
+ /**
138
+ * design/96 §D (S4) — map a named {@link ReasoningTier} to its engine {@link ReasoningProfileFlags} (default
139
+ * mapping). G2 (clay): the intensity→capability mapping is PROFILE-layer data — core gives this primitive +
140
+ * a sane default; a profile/scenario layer calls it (and may override the table) to set a task's `thinking` +
141
+ * prompt flags. Core never forces it. Returns a fresh COPY (callers may mutate).
142
+ */
143
+ export function resolveReasoningProfile(tier) {
144
+ return { ...REASONING_PROFILE[tier] };
145
+ }
146
+ //# sourceMappingURL=reasoning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning.js","sourceRoot":"","sources":["../../src/brain/reasoning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Detect **degenerate repetition** — the most common LLM failure mode: a model that gets stuck
3
+ * emitting the same character or short phrase forever (often with no punctuation), e.g. `啊啊啊啊…`
4
+ * or `the answer is the answer is the answer is…`. Brains poll this over the growing output and, on a
5
+ * hit, **cancel the stream** and mark the turn errored, so the loop doesn't keep paying for garbage and
6
+ * downstream (e.g. a team member) treats it as a failed turn rather than a real statement.
7
+ *
8
+ * Only an *exact* tail repetition trips it (character-for-character). The original header claimed
9
+ * normal code "won't false-positive" because repeated structure differs in content — **falsified in
10
+ * the field** (docs/DEADTARGET-WINNING-AVG-COREWARS-2026-07-10.md §〇-3): legitimate code repeats the
11
+ * SAME line verbatim (redcode boot blocks `mov <bootsrc, {bootdst` ×6-8, SQL fixture rows, ASCII-art
12
+ * banners), landed exactly in the rule-2 window, and the cut stream three-struck whole TB tasks dead.
13
+ * Hence two structural allowances, both bounded so true runaway loops are still caught:
14
+ * - rule 1 exempts short symbol runs (ASCII dividers) — a run of a non-letter/digit char only
15
+ * counts as degenerate past `CHAR_RUN_SYMBOL`;
16
+ * - rule 2 exempts *code-line-shaped* units (full-line repeats carrying operand/structure chars or
17
+ * indentation) unless the loop SATURATES the whole inspection window (`SATURATION_REPS`) —
18
+ * no legitimate boot block is 16+ identical lines deep inside one 400-char tail.
19
+ */
20
+ /**
21
+ * The errorMessage a brain stamps on a turn it cut off for degenerate repetition. Exported as a single
22
+ * constant so the cut-off site (the brains) and the detection site (`assembleResult`, which maps it to
23
+ * `errorCode="output.degenerate"` + salvages the turn text — design/39) agree on one machine-readable
24
+ * signal, instead of matching a duplicated magic string. Wording: the output is salvaged now, not discarded.
25
+ */
26
+ export declare const DEGENERATE_MESSAGE = "degenerate repetition detected \u2014 the model looped on the same text; output cut off at the repetition";
27
+ /**
28
+ * One detector hit — either the event that CUT a stream (`degenerate`) or a repetition that landed in
29
+ * a detection window but was SPARED by a 2e1c161 structural allowance (code-line shape / divider run).
30
+ * Spared events are the RSI raw material for judging whether the allowance is too wide or too narrow
31
+ * (clay 2026-07-10: the detector must report counts AND the detected segment, not just a boolean).
32
+ */
33
+ export interface RepetitionEvent {
34
+ /** Which rule's window the repetition landed in: rule 1 (`char-run`) or rule 2 (`unit-loop`). */
35
+ rule: "char-run" | "unit-loop";
36
+ /** Repeating-unit length in chars (1 for a char run). */
37
+ period: number;
38
+ /** How many times the unit repeated (the run length for a char run). */
39
+ reps: number;
40
+ /** Sample of the repeated unit/tail, truncated to ≤{@link SEGMENT_MAX} chars. */
41
+ segment: string;
42
+ }
43
+ /** Structured result of one detector pass over a (growing) output tail. */
44
+ export interface RepetitionInspection {
45
+ /** True ⇒ a degenerate loop tripped — the caller should cut the stream (same verdict as `looksDegenerate`). */
46
+ degenerate: boolean;
47
+ /** The event that tripped; present iff `degenerate`. */
48
+ cut?: RepetitionEvent;
49
+ /** Allowance-spared hits (at most one per rule per pass — the smallest period is the fundamental one). */
50
+ spared: RepetitionEvent[];
51
+ }
52
+ /**
53
+ * Structured detector pass: same verdict as {@link looksDegenerate}, plus WHAT hit (`cut`) and what
54
+ * the 2e1c161 allowances spared. Spared collection is bounded: at most one `char-run` and one
55
+ * `unit-loop` event per pass (rule 2 keeps the smallest period — the fundamental unit — so a p and
56
+ * its 2p/3p multiples don't report the same loop several times).
57
+ */
58
+ export declare function inspectDegenerate(text: string): RepetitionInspection;
59
+ export declare function looksDegenerate(text: string): boolean;
60
+ //# sourceMappingURL=repetition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repetition.d.ts","sourceRoot":"","sources":["../../src/brain/repetition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,8GACyE,CAAC;AAYzG;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,iGAAiG;IACjG,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC;IAC/B,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,2EAA2E;AAC3E,MAAM,WAAW,oBAAoB;IACnC,+GAA+G;IAC/G,UAAU,EAAE,OAAO,CAAC;IACpB,wDAAwD;IACxD,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,0GAA0G;IAC1G,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAuBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CA0DpE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Detect **degenerate repetition** — the most common LLM failure mode: a model that gets stuck
3
+ * emitting the same character or short phrase forever (often with no punctuation), e.g. `啊啊啊啊…`
4
+ * or `the answer is the answer is the answer is…`. Brains poll this over the growing output and, on a
5
+ * hit, **cancel the stream** and mark the turn errored, so the loop doesn't keep paying for garbage and
6
+ * downstream (e.g. a team member) treats it as a failed turn rather than a real statement.
7
+ *
8
+ * Only an *exact* tail repetition trips it (character-for-character). The original header claimed
9
+ * normal code "won't false-positive" because repeated structure differs in content — **falsified in
10
+ * the field** (docs/DEADTARGET-WINNING-AVG-COREWARS-2026-07-10.md §〇-3): legitimate code repeats the
11
+ * SAME line verbatim (redcode boot blocks `mov <bootsrc, {bootdst` ×6-8, SQL fixture rows, ASCII-art
12
+ * banners), landed exactly in the rule-2 window, and the cut stream three-struck whole TB tasks dead.
13
+ * Hence two structural allowances, both bounded so true runaway loops are still caught:
14
+ * - rule 1 exempts short symbol runs (ASCII dividers) — a run of a non-letter/digit char only
15
+ * counts as degenerate past `CHAR_RUN_SYMBOL`;
16
+ * - rule 2 exempts *code-line-shaped* units (full-line repeats carrying operand/structure chars or
17
+ * indentation) unless the loop SATURATES the whole inspection window (`SATURATION_REPS`) —
18
+ * no legitimate boot block is 16+ identical lines deep inside one 400-char tail.
19
+ */
20
+ /**
21
+ * The errorMessage a brain stamps on a turn it cut off for degenerate repetition. Exported as a single
22
+ * constant so the cut-off site (the brains) and the detection site (`assembleResult`, which maps it to
23
+ * `errorCode="output.degenerate"` + salvages the turn text — design/39) agree on one machine-readable
24
+ * signal, instead of matching a duplicated magic string. Wording: the output is salvaged now, not discarded.
25
+ */
26
+ export const DEGENERATE_MESSAGE = "degenerate repetition detected — the model looped on the same text; output cut off at the repetition";
27
+ const MIN_LEN = 64; // don't judge very short outputs
28
+ const WINDOW = 400; // only inspect the tail
29
+ const CHAR_RUN = 60; // the same single letter/digit repeated this many times at the end → degenerate
30
+ const CHAR_RUN_SYMBOL = 200; // symbol/whitespace runs are usually dividers ("====…") — need far more
31
+ const MIN_REPS = 6; // a short unit repeated this many times …
32
+ const MIN_COVER = 120; // … and covering at least this many chars at the end → degenerate
33
+ const MAX_PERIOD = 100; // longest repeating unit considered
34
+ const SATURATION_REPS = 16; // code-line-shaped units: only a window-filling loop this deep is degenerate
35
+ const SEGMENT_MAX = 120; // telemetry sample cap — enough to identify the loop, small enough for a result blob
36
+ function clipSegment(s) {
37
+ return s.length > SEGMENT_MAX ? s.slice(0, SEGMENT_MAX) : s;
38
+ }
39
+ /**
40
+ * A repetition unit that spans a full line AND looks like code — carries ≥2 operand/structure
41
+ * characters, or is indented — is treated as legitimate repeated code, not degeneration. Judged on
42
+ * the unit alone (rotations of the true line still contain its newline and structure chars).
43
+ * Prose loops ("the answer is ", "I think, ") carry at most one such char and stay caught.
44
+ */
45
+ function looksLikeCodeLineUnit(unit) {
46
+ if (!unit.includes("\n")) {
47
+ return false;
48
+ }
49
+ const structural = unit.match(/[<>{}[\]()=,;:|\\/*+~`$#@&^%_-]/g);
50
+ if (structural !== null && structural.length >= 2) {
51
+ return true;
52
+ }
53
+ return /^[ \t]{2,}/.test(unit) || /\n[ \t]{2,}/.test(unit);
54
+ }
55
+ /**
56
+ * Structured detector pass: same verdict as {@link looksDegenerate}, plus WHAT hit (`cut`) and what
57
+ * the 2e1c161 allowances spared. Spared collection is bounded: at most one `char-run` and one
58
+ * `unit-loop` event per pass (rule 2 keeps the smallest period — the fundamental unit — so a p and
59
+ * its 2p/3p multiples don't report the same loop several times).
60
+ */
61
+ export function inspectDegenerate(text) {
62
+ const spared = [];
63
+ const n = text.length;
64
+ if (n < MIN_LEN) {
65
+ return { degenerate: false, spared };
66
+ }
67
+ const tail = text.slice(-WINDOW);
68
+ const t = tail.length;
69
+ // 1) A long run of the SAME character at the very end (e.g. "aaaaaa…", "啊啊啊…"). Symbol and
70
+ // whitespace runs get the divider allowance (an 80-col "=" banner is legit ASCII art, not a loop).
71
+ let run = 1;
72
+ for (let i = t - 1; i > 0 && tail[i] === tail[i - 1]; i--) {
73
+ run++;
74
+ }
75
+ if (run >= CHAR_RUN) {
76
+ const event = { rule: "char-run", period: 1, reps: run, segment: clipSegment(tail.slice(t - run)) };
77
+ const isLetterOrDigit = /[\p{L}\p{N}]/u.test(tail[t - 1]);
78
+ if (isLetterOrDigit || run >= CHAR_RUN_SYMBOL) {
79
+ return { degenerate: true, cut: event, spared };
80
+ }
81
+ spared.push(event); // divider allowance held — record it for the RSI ledger
82
+ }
83
+ // 2) The tail is a short unit repeated many times, exactly (e.g. "ha ha ha …", a looped sentence).
84
+ const maxP = Math.min(MAX_PERIOD, t >> 2);
85
+ let sparedUnitLoop = false;
86
+ for (let p = 2; p <= maxP; p++) {
87
+ // p=1 (and any all-same-char unit) is rule 1's domain — without this skip, a symbol run under
88
+ // the divider allowance would be re-flagged here via its p≥2 multiples ("==", "===", …).
89
+ const unit = tail.slice(t - p);
90
+ if (unit === unit[0].repeat(p)) {
91
+ continue;
92
+ }
93
+ let reps = 1;
94
+ let pos = t - p;
95
+ while (pos - p >= 0 && tail.slice(pos - p, pos) === unit) {
96
+ reps++;
97
+ pos -= p;
98
+ }
99
+ if (reps >= MIN_REPS && reps * p >= MIN_COVER) {
100
+ const event = { rule: "unit-loop", period: p, reps, segment: clipSegment(unit) };
101
+ if (!looksLikeCodeLineUnit(unit)) {
102
+ return { degenerate: true, cut: event, spared };
103
+ }
104
+ // Code-shaped: legitimate verbatim repetition (boot blocks, fixtures) is 6-10 lines; only a
105
+ // loop that fills the ENTIRE inspection window this deep is degeneration. `t === WINDOW`
106
+ // ensures a full window exists (polling over a growing stream reaches it within one window).
107
+ if (t === WINDOW && reps >= SATURATION_REPS && reps * p >= t - p) {
108
+ return { degenerate: true, cut: event, spared };
109
+ }
110
+ if (!sparedUnitLoop) {
111
+ sparedUnitLoop = true; // smallest period only — larger p are multiples of the same loop
112
+ spared.push(event);
113
+ }
114
+ }
115
+ }
116
+ return { degenerate: false, spared };
117
+ }
118
+ export function looksDegenerate(text) {
119
+ return inspectDegenerate(text).degenerate;
120
+ }
121
+ //# sourceMappingURL=repetition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repetition.js","sourceRoot":"","sources":["../../src/brain/repetition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Request-parameter passthrough (design/40). A deployment can set official provider params it wants but
3
+ * core doesn't model as first-class fields (OpenAI `frequency_penalty`/`presence_penalty`/`top_p`/`seed`/
4
+ * `logit_bias`; Anthropic `top_k`/`top_p`/`stop_sequences`; …) via `Model.extraBody`, and core merges them
5
+ * into the brain's request body. Anchored at the **Model** level (not per-turn) so the serialized body
6
+ * stays byte-stable across turns → the prefix cache holds (design/9/31).
7
+ *
8
+ * Symmetric: each brain owns its structural + tuning keys (`reserved`) and ALWAYS wins — `extraBody` can
9
+ * only supply the long tail, never clobber `messages`/`tools`/`temperature`/etc. Stripping is the safety
10
+ * enforcement (the brains are standalone-usable); `prepareTask` separately warns on a collision (it has
11
+ * `onError`, the brain doesn't — council design/40).
12
+ */
13
+ /** OpenAI request-body keys core owns; `extraBody` cannot override these. */
14
+ export declare const OPENAI_RESERVED: ReadonlySet<string>;
15
+ /** Anthropic request-body keys core owns; `extraBody` cannot override these. (Note the asymmetry vs
16
+ * OpenAI — e.g. `stop`/`stop_sequences` is NOT reserved here because the Anthropic brain never sets it.) */
17
+ export declare const ANTHROPIC_RESERVED: ReadonlySet<string>;
18
+ /** Reserved set for a model's API. */
19
+ export declare function reservedFor(api: string): ReadonlySet<string>;
20
+ /**
21
+ * Merge `extraBody` into a brain's already-built request `body`, dropping any key the brain owns so core
22
+ * always wins. Returns a NEW object (passthrough keys first, then core keys) when `extraBody` is set; the
23
+ * exact `body` reference (no allocation, byte-identical serialization) when it isn't — so an existing
24
+ * deployment with no `extraBody` is unaffected.
25
+ */
26
+ export declare function applyExtraBody(body: Record<string, unknown>, extraBody: Record<string, unknown> | undefined, reserved: ReadonlySet<string>): Record<string, unknown>;
27
+ /** Names in `extraBody` that collide with a reserved (core-owned) key — for a load-time warning. */
28
+ export declare function reservedCollisions(extraBody: Record<string, unknown> | undefined, reserved: ReadonlySet<string>): string[];
29
+ //# sourceMappingURL=request-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-params.d.ts","sourceRoot":"","sources":["../../src/brain/request-params.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAgB9C,CAAC;AAEH;6GAC6G;AAC7G,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAgBjD,CAAC;AAEH,sCAAsC;AACtC,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAM5D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC9C,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AAED,oGAAoG;AACpG,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC9C,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,MAAM,EAAE,CAEV"}