@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,596 @@
1
+ import { PRESENT_PLAN_TOOL_NAME } from "../present-plan-tool.js";
2
+ import { delimitUntrusted } from "../untrusted-text.js";
3
+ /**
4
+ * design/133 §R3 — turn-boundary attachment seam: the PURE producer layer (CC `getContextAttachments`
5
+ * parity). This module is the single home of the CC-parity cadence judgment + reminder copy (提示词主权批:
6
+ * harness 语料归 core); it holds NO harness handle, does NO I/O, and never injects anything itself — the
7
+ * run loop (runtask onTurnBoundary) is the ONLY steerer. That split exists so every trigger window is
8
+ * offline-testable and the injection gate/ordering stays at the one arbitration point the engine already has.
9
+ *
10
+ * F3 (wrapper semantics): a {@link TurnAttachment} carries the BODY ONLY — no `<system-reminder>` shell.
11
+ * The steerer wraps each body exactly once at a single call site, so double-wrap/no-wrap can't drift
12
+ * per-producer.
13
+ */
14
+ /** CC-verbatim cadence constants (CC attachments.ts:254-262). */
15
+ export const TODO_REMINDER_CONFIG = {
16
+ TURNS_SINCE_WRITE: 10,
17
+ TURNS_BETWEEN_REMINDERS: 10,
18
+ };
19
+ export const PLAN_MODE_ATTACHMENT_CONFIG = {
20
+ TURNS_BETWEEN_ATTACHMENTS: 5,
21
+ FULL_REMINDER_EVERY_N_ATTACHMENTS: 5,
22
+ };
23
+ /** F5: per-boundary stat scan upper bound — at most this many most-recently-read files are stat'ed. */
24
+ export const CHANGED_FILES_MAX = 20;
25
+ /**
26
+ * F5 (记档 known limitation): `ReadEntry.lastReadAt` is wall-clock (Date.now) while `FileInfo.mtimeMs`
27
+ * is the fs clock — a cross-clock comparison (CC getChangedFiles is the same shape: its readFileState
28
+ * timestamp is also wall-clock). The 2s epsilon absorbs ordinary skew/mtime granularity; git-checkout /
29
+ * formatter storms remain a documented false-positive source (hash-confirm 抗假阳 = v2).
30
+ */
31
+ export const CHANGED_FILES_MTIME_EPS_MS = 2000;
32
+ /** Per-boundary payload byte cap over the whole bundle (weak-model context economics). */
33
+ export const ATTACHMENT_BYTE_CAP = 8 * 1024;
34
+ /** H4 thin-projection bounds: the reducer stores at most this many items / chars per item, so the
35
+ * run-local snapshot is structurally bounded no matter how large the model's list grows. */
36
+ const PROJECTION_ITEMS_MAX = 50;
37
+ const PROJECTION_CONTENT_MAX = 80;
38
+ export function createAttachmentState() {
39
+ return {
40
+ lastTodoReminderTurn: 0,
41
+ lastTaskReminderTurn: 0,
42
+ planAttachmentCount: 0,
43
+ lastPlanReminderTurn: 0,
44
+ surfacedMtime: new Map(),
45
+ postCompactPending: false,
46
+ };
47
+ }
48
+ /**
49
+ * H4 — thin-projection reducer over a tool's RAW `result.details` (NOT the wire `structuredFrom`
50
+ * projection and its 4×16K caps: a huge todo list must shrink into a bounded snapshot here, never
51
+ * disarm the reminder by being dropped wholesale). Only the first-party discriminants `todo` /
52
+ * `task` / `task-list` are recognized — every other card type (subagent `agent`/`fork`/`task-output`,
53
+ * bash, fs, mcp, …) is structurally ignored, which is also the child-isolation contract: a subagent's
54
+ * own todo state never reaches the parent's onToolEnd, and its delegation-card types don't parse here.
55
+ *
56
+ * task #51 F3 (窗口复位/投影摄入拆分, 复审 confirmed): this reducer is PROJECTION INGEST ONLY — it
57
+ * never touches the write windows. CC's window anchor is the tool_use block's PRESENCE in the
58
+ * transcript (qFm/BFm match the block by name, :480217-480219/:480253-480254, with no execution-
59
+ * outcome check), so the run loop stamps the windows on INITIATION via {@link stampWriteAnchor}
60
+ * (inside {@link advanceCadenceClock}'s message walk); ingest stays success-only — a failed write
61
+ * has no trustworthy `details`, exactly like CC's reminder body rendering from the authoritative
62
+ * store rather than from tool results.
63
+ *
64
+ * Idempotent (same event twice ⇒ same state) and commutative across DISTINCT task ids (F10); two
65
+ * whole-list writes (TodoWrite / TaskList) racing in one batch are last-write-wins by nature — the
66
+ * later list IS the truer snapshot, documented rather than fought.
67
+ */
68
+ export function reduceToolEnd(state, details) {
69
+ if (details === null || typeof details !== "object")
70
+ return;
71
+ const d = details;
72
+ if (d.type === "todo") {
73
+ const newTodos = d.newTodos;
74
+ if (!Array.isArray(newTodos))
75
+ return;
76
+ const shaped = newTodos.flatMap((t) => {
77
+ const item = t;
78
+ return item && typeof item === "object" && typeof item.content === "string" && typeof item.status === "string"
79
+ ? [{ content: item.content.slice(0, PROJECTION_CONTENT_MAX), status: item.status }]
80
+ : [];
81
+ });
82
+ // P2#10 (CC TodoWriteTool.ts:69 parity): an all-completed write CLEARS the snapshot — a later
83
+ // reminder still sends the gentle base copy, but never regurgitates finished items (pure noise
84
+ // for a weak model). Applied todo-family only: the task registry keeps completed tasks visible.
85
+ const allDone = shaped.length > 0 && shaped.every((t) => t.status === "completed");
86
+ state.todo = allDone
87
+ ? { statusCounts: {}, items: [] }
88
+ : {
89
+ statusCounts: countStatuses(shaped),
90
+ items: shaped.slice(0, PROJECTION_ITEMS_MAX),
91
+ };
92
+ }
93
+ else if (d.type === "task") {
94
+ const map = state.taskItems ?? (state.taskItems = new Map());
95
+ const deleted = d.deleted;
96
+ if (typeof deleted === "string")
97
+ map.delete(deleted);
98
+ const task = d.task;
99
+ if (task !== null && typeof task === "object") {
100
+ const t = task;
101
+ if (typeof t.id === "string") {
102
+ map.set(t.id, {
103
+ content: typeof t.subject === "string" ? t.subject.slice(0, PROJECTION_CONTENT_MAX) : "",
104
+ status: typeof t.status === "string" ? t.status : "pending",
105
+ });
106
+ }
107
+ }
108
+ // 口径① (CC 198 pretty.js:480254 — `a.name === bD || a.name === hF`): only the WRITE tools reset
109
+ // the engagement window, and that reset happens at INITIATION in the run loop's message walk
110
+ // (F3, stampWriteAnchor) — a TaskGet READ emits this same `task` card shape, its snapshot is
111
+ // ingested above, and the "haven't been used recently" clock keeps running through it.
112
+ }
113
+ else if (d.type === "task-list") {
114
+ const tasks = d.tasks;
115
+ if (!Array.isArray(tasks))
116
+ return;
117
+ // A full-list read is the authoritative snapshot at its time: replace (deletions included).
118
+ const map = new Map();
119
+ for (const raw of tasks) {
120
+ const t = raw;
121
+ if (t && typeof t === "object" && typeof t.id === "string") {
122
+ map.set(t.id, {
123
+ content: typeof t.subject === "string" ? t.subject.slice(0, PROJECTION_CONTENT_MAX) : "",
124
+ status: typeof t.status === "string" ? t.status : "pending",
125
+ });
126
+ }
127
+ }
128
+ state.taskItems = map;
129
+ // 口径①: a TaskList READ refreshes the projection (the authoritative snapshot at its time,
130
+ // deletions included) but is NOT engagement — CC's qFm (:480254) never resets on it.
131
+ }
132
+ }
133
+ /**
134
+ * task #51 F3 (发起锚) — reset a write window at the cadence-clock value of the write tool_use block
135
+ * (INCLUSIVE of that block). CC's qFm/BFm anchor is the tool_use block's presence in the transcript
136
+ * (:480217-480219/:480253-480254) with NO execution-outcome check — a failed, policy-blocked, or
137
+ * suspended call still resets the 10-unit window. Callers: {@link advanceCadenceClock}'s message walk
138
+ * (the transcript-anchor moment) and the durable-resume gated-write replay (leg-local clock).
139
+ */
140
+ export function stampWriteAnchor(state, family, clock) {
141
+ if (family === "task")
142
+ state.taskLastWriteTurn = clock;
143
+ else
144
+ state.todoLastWriteTurn = clock;
145
+ }
146
+ /**
147
+ * 口径④ cadence clock, task #51 F1 (复审 HIGH, 锚核坐实 2026-07-10) — CC's cadence unit is the
148
+ * per-content-block assistant TRANSCRIPT ENTRY, not the physical turn. CC 198 mints ONE
149
+ * `{type:"assistant"}` entry PER content block: the streaming layer at `content_block_stop`
150
+ * (pretty.js:593011-593038 — `content: pnn([Pr],…)` single-block array, `rn.push` per block) and the
151
+ * `tgf` normalizer (:597284 — `content.map` → one single-block entry each). The reminder counters
152
+ * BFm/qFm (:480210-480226/:480246-480262) then tick `r++`/`o++` once per non-`_or` entry, and `_or`
153
+ * (:599513-599517) applied to a single-block entry degenerates to "is this block thinking/
154
+ * redacted_thinking" — so the 10/10 windows consume ONE unit per NON-THINKING CONTENT BLOCK. A
155
+ * `[text, tool_use]` turn costs 2 units, a parallel-k tool batch costs k(+lead) — live probe
156
+ * (bench/probes/task51-cadence-live, real CC 2.1.198 + stub API): `[text, tool_use]×N` fires the
157
+ * task_reminder at request #7, block-exact, where a turn-level clock predicts #11-12.
158
+ *
159
+ * Applied by the run loop once per completed assistant MESSAGE; returns the advanced clock. CC edge
160
+ * semantics kept verbatim: non-array content → `_or` false → counted as ONE entry; an empty array is
161
+ * vacuously all-thinking (`.every`) → 0. sema folds `redacted_thinking` into `{type:"thinking",
162
+ * redacted:true}` (brain/anthropic.ts B2) so matching "thinking" covers both; the literal
163
+ * "redacted_thinking" arm serves CC-shape inputs. `stats.turns` is untouched — it has unrelated
164
+ * consumers (limits/budget/telemetry) whose physical-turn semantics must not drift.
165
+ *
166
+ * F3 write anchors ride the SAME walk: a toolCall block whose name resolves (alias-aware, F2) to a
167
+ * write family stamps that window at the block's inclusive clock value — CC-exact: same-message
168
+ * leading text blocks sit BEFORE the anchor (they consumed budget but are not part of the
169
+ * since-write distance), later sibling blocks count toward it; the LAST write block wins, matching
170
+ * qFm's tail-first scan.
171
+ */
172
+ export function advanceCadenceClock(state, clock, content, writeFamilyOf) {
173
+ if (!Array.isArray(content))
174
+ return clock + 1; // CC _or: non-array content is substantive — one entry
175
+ for (const b of content) {
176
+ const t = b?.type;
177
+ if (t === "thinking" || t === "redacted_thinking")
178
+ continue;
179
+ clock += 1;
180
+ if (t === "toolCall") {
181
+ const name = b.name;
182
+ const family = typeof name === "string" ? writeFamilyOf(name) : undefined;
183
+ if (family !== undefined)
184
+ stampWriteAnchor(state, family, clock);
185
+ }
186
+ }
187
+ return clock;
188
+ }
189
+ /**
190
+ * task #51 F4 (压缩交互, 复审 confirmed) — rebase every reminder window to the CURRENT cadence clock
191
+ * when a compaction LANDS. CC's windows are recomputed per request by BACKWARD TRANSCRIPT SCAN
192
+ * (BFm/qFm): compaction removes the write tool_use anchors and the reminder attachment entries, so
193
+ * both counters find nothing (t=-1/n=-1) and only count post-compaction entries — the windows
194
+ * effectively RESET, needing another 10 non-thinking entries before the next fire. sema's stateful
195
+ * windows would otherwise survive compaction and fire at the first post-compact boundary where CC
196
+ * stays silent. Setting all four fields to `clock` makes each window measure distance from the
197
+ * compaction point — arithmetic-identical to CC's anchor loss. (If a messagesToKeep-style preserved
198
+ * segment is ever implemented, a recent anchor inside the kept tail would survive in CC — refine
199
+ * this to check the preserved segment then; recorded caveat.)
200
+ */
201
+ export function rebaseCadenceWindows(state, clock) {
202
+ state.taskLastWriteTurn = clock;
203
+ state.todoLastWriteTurn = clock;
204
+ state.lastTaskReminderTurn = clock;
205
+ state.lastTodoReminderTurn = clock;
206
+ }
207
+ function countStatuses(items) {
208
+ const counts = {};
209
+ for (const t of items)
210
+ counts[t.status] = (counts[t.status] ?? 0) + 1;
211
+ return counts;
212
+ }
213
+ /** 空态零分配: nothing due returns this shared frozen array — the common case allocates nothing. */
214
+ const EMPTY = Object.freeze([]);
215
+ /**
216
+ * Compute every reminder due at this clean turn boundary. Pure decision + render — no I/O; the only
217
+ * mutation is the window bookkeeping on the state the caller owns (reminder turns, surfacedMtime),
218
+ * done HERE because the caller only invokes this once per boundary after its injection gate passed —
219
+ * splitting "decide" from "mark sent" would just invite a drift between the two.
220
+ *
221
+ * Returns attachments in EVIDENCE-STRENGTH order (todo/task → plan_mode → budget_usd →
222
+ * background_tasks → tools_delta → agent_listing → mcp_instructions → changed_files), which is also the §R3 MED-6
223
+ * truncation order read backwards: under the 8KB cap changed_files is sacrificed first, the todo/task
224
+ * list last. The G1 members ([482] + 续批) are registry/engine ground truth (strong), but the
225
+ * todo/plan lane keeps priority: it carries the run's own work-tracking state, which the model can
226
+ * least afford to lose.
227
+ */
228
+ export function collectDueAttachments(state, inp) {
229
+ let out;
230
+ // ① todo/task family — one reminder per boundary; task family wins when both tool sets are mounted
231
+ // (CC isTodoV2 branch: the task tools supersede TodoWrite as the tracking surface).
232
+ // 口径③ kill-switch (CC r2o "off", pretty.js:479167 → :480232/:480268): mode "off" silences this
233
+ // lane ONLY — CC's nudge gate never touches the other attachment producers.
234
+ // 口径④/F1 cadence clock (CC per-block entries :593011/:597284 → BFm/qFm :480210/:480248): the
235
+ // 10/10 windows run on NON-THINKING CONTENT BLOCKS — `cadenceTurn ?? turn`, see AttachmentInputs.
236
+ if (inp.config.todoReminderMode !== "off" && inp.config.todoReminder && (inp.todoMounted || inp.taskListMounted)) {
237
+ const cadenceNow = inp.cadenceTurn ?? inp.turn;
238
+ if (inp.taskListMounted) {
239
+ const lastWrite = state.taskLastWriteTurn ?? 0;
240
+ if (cadenceNow - lastWrite >= TODO_REMINDER_CONFIG.TURNS_SINCE_WRITE &&
241
+ cadenceNow - state.lastTaskReminderTurn >= TODO_REMINDER_CONFIG.TURNS_BETWEEN_REMINDERS) {
242
+ state.lastTaskReminderTurn = cadenceNow;
243
+ (out ??= []).push({ source: "task_reminder", body: renderTaskReminder(state) });
244
+ }
245
+ }
246
+ else {
247
+ const lastWrite = state.todoLastWriteTurn ?? 0;
248
+ if (cadenceNow - lastWrite >= TODO_REMINDER_CONFIG.TURNS_SINCE_WRITE &&
249
+ cadenceNow - state.lastTodoReminderTurn >= TODO_REMINDER_CONFIG.TURNS_BETWEEN_REMINDERS) {
250
+ state.lastTodoReminderTurn = cadenceNow;
251
+ (out ??= []).push({ source: "todo_reminder", body: renderTodoReminder(state) });
252
+ }
253
+ }
254
+ }
255
+ // ② plan_mode — CC cadence: ALWAYS attach at the first boundary in plan mode (count 0), then every
256
+ // 5 assistant turns; 1st/6th/11th… are full, the rest sparse. Deliberate CC deviation (记档): CC
257
+ // counts HUMAN turns — an autonomous run has exactly one, so the reminder would never recur; we
258
+ // count assistant turns so a long plan phase keeps re-surfacing the read-only constraint.
259
+ if (inp.config.planModeReminder && inp.planActive) {
260
+ const due = state.planAttachmentCount === 0 ||
261
+ inp.turn - state.lastPlanReminderTurn >= PLAN_MODE_ATTACHMENT_CONFIG.TURNS_BETWEEN_ATTACHMENTS;
262
+ if (due) {
263
+ state.planAttachmentCount += 1;
264
+ state.lastPlanReminderTurn = inp.turn;
265
+ const full = state.planAttachmentCount % PLAN_MODE_ATTACHMENT_CONFIG.FULL_REMINDER_EVERY_N_ATTACHMENTS === 1;
266
+ (out ??= []).push({ source: "plan_mode", body: full ? PLAN_MODE_FULL_BODY : PLAN_MODE_SPARSE_BODY });
267
+ }
268
+ }
269
+ // ③ budget_usd (SR-3, CC QFm :480424-480428) — CC-exact cadence: NO window, NO threshold ladder;
270
+ // while the task carries a $ ceiling and the deployment opted in, EVERY collected boundary carries
271
+ // the one-line progress readout (CC mounts it per attachment cycle on the main agent, :479243-479245).
272
+ // Engine-accounting ground truth (the same numbers the budget gate enforces) — rides before the
273
+ // registry snapshots in the cap order; at ~40 bytes it never meaningfully competes for budget.
274
+ if (inp.config.budgetUsd && inp.budgetUsd !== undefined) {
275
+ (out ??= []).push({ source: "budget_usd", body: renderBudgetUsd(inp.budgetUsd.used, inp.budgetUsd.total) });
276
+ }
277
+ // ④ background_tasks (G1 [482], CC /compact parity) — fires ONLY at the first collected boundary
278
+ // after a compaction landed (the run loop arms `postCompactPending`; a post-compact model lost its
279
+ // in-context awareness of running children — re-surface them ONCE). Registry ground truth = strong
280
+ // evidence, so it rides before changed_files in the cap order. The latch is consumed here whether
281
+ // or not anything renders (BG2: an empty registry is a quiet no-op, not a deferred nag).
282
+ if (inp.config.backgroundTasks && state.postCompactPending) {
283
+ state.postCompactPending = false;
284
+ if (inp.backgroundTasks !== undefined && inp.backgroundTasks.length > 0) {
285
+ (out ??= []).push({ source: "background_tasks", body: renderBackgroundTasks(inp.backgroundTasks) });
286
+ }
287
+ }
288
+ // ⑤ tools_delta (G1, CC deferred-tools boundary notice) — announce tools materialized since the
289
+ // last announcement. Input is pre-diffed (newly-added only); consumption is CALLER-owned on cap
290
+ // survival (see AttachmentInputs.newTools), so this producer holds no window state.
291
+ if (inp.config.toolsDelta && inp.newTools !== undefined && inp.newTools.length > 0) {
292
+ (out ??= []).push({ source: "tools_delta", body: renderToolsDelta(inp.newTools) });
293
+ }
294
+ // ⑤b agent_listing (G1 续批, CC agent_listing_delta) — first collected boundary announces the full
295
+ // roster (CC isInitial), later boundaries announce only roster drift. MED-3①: the render is PURE;
296
+ // the announced-set advance is CALLER-owned via commitAgentListing on intact cap survival
297
+ // (tools_delta discipline) — a cap-clipped/dropped block re-announces at the next quiet boundary.
298
+ if (inp.config.agentListing && inp.agentListing !== undefined) {
299
+ const body = renderAgentListingDelta(state, inp.agentListing, inp.agentToolName ?? "Agent");
300
+ if (body !== undefined)
301
+ (out ??= []).push({ source: "agent_listing", body });
302
+ }
303
+ // ⑤c mcp_instructions (G1 续批, CC mcp_instructions_delta) — pre-diffed input (the mcp.ts onclose
304
+ // hook / a future dynamic-connect face fill the pending lists); consumption is CALLER-owned on
305
+ // intact cap survival (newTools discipline), so this producer holds no window state either.
306
+ if (inp.config.mcpInstructions && inp.mcpInstructions !== undefined) {
307
+ const body = renderMcpInstructionsDelta(inp.mcpInstructions.added, inp.mcpInstructions.removed);
308
+ if (body !== undefined)
309
+ (out ??= []).push({ source: "mcp_instructions", body });
310
+ }
311
+ // ⑥ changed_files — weakest evidence (mtime heuristics), so it rides last and is capped first.
312
+ let pendingSurfaced;
313
+ if (inp.config.changedFiles && inp.changedFiles !== undefined && inp.changedFiles.length > 0) {
314
+ const fresh = inp.changedFiles.filter((c) => state.surfacedMtime.get(c.path) !== c.mtimeMs);
315
+ if (fresh.length > 0) {
316
+ pendingSurfaced = fresh;
317
+ (out ??= []).push({ source: "changed_files", body: renderChangedFiles(fresh.map((c) => c.path)) });
318
+ }
319
+ }
320
+ if (out === undefined)
321
+ return EMPTY;
322
+ const capped = capAttachments(out);
323
+ // LOW-A (1.251 三镜头): mark surfaced ONLY when the changed_files block actually rode the payload —
324
+ // a block starved out by the byte cap was never seen, and must resurface at the next quiet
325
+ // boundary. A TRUNCATED block still marks all of its batch (the model saw "changed + partial
326
+ // list"; per-path diffing of the clipped body isn't worth the machinery — recorded trade-off).
327
+ if (pendingSurfaced !== undefined && capped.some((a) => a.source === "changed_files")) {
328
+ for (const c of pendingSurfaced)
329
+ state.surfacedMtime.set(c.path, c.mtimeMs);
330
+ }
331
+ return capped;
332
+ }
333
+ // ---------------------------------------------------------------------------
334
+ // Rendering (CC-verbatim copy where a CC counterpart exists)
335
+ // ---------------------------------------------------------------------------
336
+ /** CC 2.1.198 verbatim (the trailing \n included). The old trailing sentence "Make sure that you
337
+ * NEVER mention this reminder to the user" is GONE in CC198 (zero bundle hits + live-capture double
338
+ * confirmation — bench/cc-parity-toolsuite/G1-tail-skills-taskreminder-cc198-capture-2026-07-08.md). */
339
+ const TODO_REMINDER_BASE = `The TodoWrite tool hasn't been used recently. If you're working on tasks that would benefit from tracking progress, consider using the TodoWrite tool to track progress. Also consider cleaning up the todo list if has become stale and no longer matches what you are working on. Only use it if it's relevant to the current work. This is just a gentle reminder - ignore if not applicable.\n`;
340
+ /** CC 2.1.198 verbatim with the tool-name interpolations resolved (sema mounts the same
341
+ * CC names: TaskCreate / TaskUpdate). Same dropped-sentence note as TODO_REMINDER_BASE. */
342
+ const TASK_REMINDER_BASE = `The task tools haven't been used recently. If you're working on tasks that would benefit from tracking progress, consider using TaskCreate to add new tasks and TaskUpdate to update task status (set to in_progress when starting, completed when done). Also consider cleaning up the task list if it has become stale. Only use these if relevant to the current work. This is just a gentle reminder - ignore if not applicable.\n`;
343
+ function renderTodoReminder(state) {
344
+ const items = state.todo?.items ?? [];
345
+ let message = TODO_REMINDER_BASE;
346
+ if (items.length > 0) {
347
+ // CC list shape: `${i+1}. [${status}] ${content}` wrapped in [ ] (messages.ts:3663-3671).
348
+ const todoItems = items.map((t, i) => `${i + 1}. [${t.status}] ${t.content}`).join("\n");
349
+ message += `\n\nHere are the existing contents of your todo list:\n\n[${todoItems}]`;
350
+ }
351
+ return message;
352
+ }
353
+ function renderTaskReminder(state) {
354
+ // Numeric-id sort = creation order (ids are a counter); render-side cap keeps the body bounded
355
+ // even though the id-keyed map itself grows with the real task count.
356
+ const entries = [...(state.taskItems ?? new Map())]
357
+ .sort((a, b) => Number(a[0]) - Number(b[0]))
358
+ .slice(0, PROJECTION_ITEMS_MAX);
359
+ let message = TASK_REMINDER_BASE;
360
+ if (entries.length > 0) {
361
+ // CC list shape: `#${id}. [${status}] ${subject}` (messages.ts:3684-3691).
362
+ const taskItems = entries.map(([id, t]) => `#${id}. [${t.status}] ${t.content}`).join("\n");
363
+ message += `\n\nHere are the existing tasks:\n\n${taskItems}`;
364
+ }
365
+ return message;
366
+ }
367
+ /**
368
+ * SR-3 — CC 2.1.198 VERBATIM template (bundle pretty.js:600225, the `budget_usd` attachment renderer):
369
+ * `USD budget: $${used}/$${total}; $${remaining} remaining`
370
+ * `remaining = total − used` is computed producer-side in CC (QFm :480427 `n = e - t`) and re-derived
371
+ * here from the two inputs — one fewer number to drift. CC interpolates RAW JS numbers (sy() is a
372
+ * float accumulator; no rounding anywhere in QFm or the renderer), kept verbatim: sema's inputs come
373
+ * from integer micro-USD ÷ 1e6, so they render with ≤6 decimals by construction.
374
+ */
375
+ export function renderBudgetUsd(used, total) {
376
+ return `USD budget: $${used}/$${total}; $${total - used} remaining`;
377
+ }
378
+ /**
379
+ * SR-7 — CC 2.1.198 VERBATIM inner text (bundle pretty.js:698391-698398, `F6c`): the aggregated
380
+ * orphaned-background-task notice a restarted/resumed leg injects ONCE (CC's own `<system-reminder>`
381
+ * wrapper is added by the caller — sema's single-wrap-point discipline, F3). Line shape CC-exact:
382
+ * `- ${description || "(no description)"} (task ${id})` — `||` kept (an EMPTY description also reads
383
+ * "(no description)", CC-same). Consumed by the runtask durable-resume path, NOT a boundary producer:
384
+ * the trigger is the resume itself (CC gate `CLAUDE_CODE_RESUME_INTERRUPTED_TURN`, :707384), not a
385
+ * cadence window.
386
+ */
387
+ export function renderOrphanedBackgroundTasks(tasks) {
388
+ return (`The container was restarted. The following background tasks were running and are now stopped:\n` +
389
+ tasks.map((t) => `- ${t.description || "(no description)"} (task ${t.id})`).join("\n") +
390
+ `\nRe-create them if still needed.`);
391
+ }
392
+ /** List-only v1 (no snippet — ReadEntry stores a hash, not content); the copy carries the two
393
+ * load-bearing instructions: this may be intentional (do NOT blindly revert) and re-read first. */
394
+ function renderChangedFiles(paths) {
395
+ return ("Note: the following files you previously read were modified externally (possibly by you via an earlier " +
396
+ "bash command, a linter/formatter, or another writer) after your last read. This may well be intentional " +
397
+ "— do NOT blindly revert these changes. Re-read a file before editing it if you need its current content:\n" +
398
+ paths.map((p) => `- ${p}`).join("\n"));
399
+ }
400
+ /**
401
+ * G1 [482] — post-compact background-task announce. The per-task status phrase is CC 2.1.198
402
+ * VERBATIM (bundle pretty.js:416478-416484, the `vbl` attachment renderer):
403
+ * completed → "completed in background" · killed → "stopped" · running → "still running in
404
+ * background" · anything else → the raw status (CC's own fallback arm). Line shape mirrors CC's
405
+ * `Task "${description}" ${phrase}` with the sema task_id prefixed so the model can address the
406
+ * task via TaskOutput/TaskStop. The header is sema-authored (CC's renderer is a UI panel with no
407
+ * model-facing header; ours IS the model-facing lane).
408
+ */
409
+ function renderBackgroundTasks(tasks) {
410
+ // Render-side bounds (H4 discipline): descriptions are MODEL-authored (Bash `description` param) and
411
+ // the registry stores them raw — clip per line and cap the list so the body stays structurally
412
+ // bounded before the bundle byte cap even looks at it.
413
+ const lines = tasks.slice(0, PROJECTION_ITEMS_MAX).map((t) => {
414
+ const phrase = t.status === "completed"
415
+ ? "completed in background"
416
+ : t.status === "killed"
417
+ ? "stopped"
418
+ : t.status === "running"
419
+ ? "still running in background"
420
+ : t.status;
421
+ return `- [${t.id}] Task "${(t.description ?? "background task").slice(0, PROJECTION_CONTENT_MAX)}" ${phrase}`;
422
+ });
423
+ return ("Context was compacted. Background tasks from before the compaction (check output with TaskOutput, " +
424
+ "terminate with TaskStop):\n" +
425
+ lines.join("\n"));
426
+ }
427
+ /**
428
+ * G1 — deferred-tool materialization announce (design/36 boundary notice). CC 2.1.198 template
429
+ * (bundle pretty.js:599148, `deferred_tools_delta` case) verbatim reads: "The following deferred
430
+ * tools are now available via ${ToolSearch}. Their schemas are NOT loaded — calling them directly
431
+ * will fail with InputValidationError. Use ${ToolSearch} with query \"select:<name>[,...]\" to load
432
+ * tool schemas before calling them:" — but CC announces DISCOVERABLE tools (schemas still deferred),
433
+ * while sema announces MATERIALIZED tools (tool_search already ran setTools; schemas ARE live), so
434
+ * the middle clause is inverted to match sema's actual contract. Same CC shape: lead sentence +
435
+ * name list.
436
+ */
437
+ export function renderToolsDelta(names) {
438
+ return ("The following deferred tools are now available. Their full schemas are loaded — call them " +
439
+ "directly like any other tool:\n" +
440
+ names.map((n) => `- ${n}`).join("\n"));
441
+ }
442
+ /** CC 2.1.198 verbatim (bundle pretty.js:599221, `agent_listing_delta` isInitial+showConcurrencyNote arm). */
443
+ export const AGENT_CONCURRENCY_NOTE = "When you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.";
444
+ /** CC-verbatim ambient-context tail (CC 2.1.198 `Emr`, pretty.js:599992 — resolved by the 2026-07-10
445
+ * parity spot audit, PARITY-SPOT-AGENT-TYPES F5 / PARITY-SPOT-REMINDERS SR-V1). CC appends it after BOTH
446
+ * removal lists (agent types :599211, mcp instructions :599240) so the model treats the drift notice as
447
+ * background, not something to announce. */
448
+ export const AMBIENT_CONTEXT_NOTE = "This is ambient context — do not narrate it to the user unless they ask or it is directly relevant to their request.";
449
+ /** CC-verbatim initial-roster header (interpolated tool name) — single-sourced here for the renderer
450
+ * AND the run loop's resume transcript probe (MED-3②: "was the listing ever delivered?"). */
451
+ export function agentListingInitialHeader(toolName) {
452
+ return `Available agent types for the ${toolName} tool:`;
453
+ }
454
+ /** CC-verbatim roster-drift header — same single-source rationale as {@link agentListingInitialHeader}. */
455
+ export function agentListingDeltaHeader(toolName) {
456
+ return `New agent types are now available for the ${toolName} tool:`;
457
+ }
458
+ /**
459
+ * G1 续批 — agent-type roster announce (CC 2.1.198 `agent_listing_delta`, bundle pretty.js:599199-599223,
460
+ * headers VERBATIM with the tool name interpolated — byte-identical to CC under the default "Agent").
461
+ * First call (no announced map) = CC `isInitial`: full roster under "Available agent types…", plus the
462
+ * concurrency note when more than one type is offered (考据档 showConcurrencyNote semantics). Later
463
+ * calls announce only drift: adds under "New agent types are now available…", removals under "The
464
+ * following agent types are no longer available:" + `- <name>` lines, followed by the CC-verbatim
465
+ * {@link AMBIENT_CONTEXT_NOTE} (CC `Emr`, pretty.js:599211/599992). Name-keyed like CC: a description
466
+ * change on an existing name is not re-announced. Lines carry a `(Tools: …)` tail when the entry
467
+ * provides one (CC `tIl`/`gHm`, pretty.js:453014-453031 — the model needs each type's tool boundary
468
+ * to pick a type; PARITY-SPOT-AGENT-TYPES F3).
469
+ *
470
+ * 1.256 复审 MED-3①: PURE — never mutates `state`. The announced-set advance is CALLER-owned via
471
+ * {@link commitAgentListing}, committed ONLY when the rendered block survived the byte cap INTACT
472
+ * (tools_delta/mcp_instructions discipline — a cap-clipped/dropped block previously advanced the
473
+ * announced map anyway, losing the roster announcement forever).
474
+ */
475
+ export function renderAgentListingDelta(state, entries, toolName) {
476
+ // CC `tIl` line shape (pretty.js:453031): `- type: whenToUse (Tools: …)` — the tools tail only when the
477
+ // entry precomputed one (deployments hand-building entries without it keep the old shape).
478
+ const line = (e) => {
479
+ const base = e.description ? `- ${e.name}: ${e.description}` : `- ${e.name}`;
480
+ return e.tools !== undefined ? `${base} (Tools: ${e.tools})` : base;
481
+ };
482
+ const announced = state.announcedAgentTypes;
483
+ if (announced === undefined) {
484
+ if (entries.length === 0)
485
+ return undefined;
486
+ const blocks = [`${agentListingInitialHeader(toolName)}\n${entries.map(line).join("\n")}`];
487
+ if (entries.length > 1)
488
+ blocks.push(AGENT_CONCURRENCY_NOTE);
489
+ return blocks.join("\n\n");
490
+ }
491
+ const added = entries.filter((e) => !announced.has(e.name));
492
+ const removed = [...announced.keys()].filter((n) => !entries.some((e) => e.name === n));
493
+ if (added.length === 0 && removed.length === 0)
494
+ return undefined;
495
+ const blocks = [];
496
+ if (added.length > 0)
497
+ blocks.push(`${agentListingDeltaHeader(toolName)}\n${added.map(line).join("\n")}`);
498
+ if (removed.length > 0) {
499
+ blocks.push(`The following agent types are no longer available:\n${removed.map((n) => `- ${n}`).join("\n")}`);
500
+ blocks.push(AMBIENT_CONTEXT_NOTE); // CC :599211 — appended as its own block after the removal list
501
+ }
502
+ return blocks.join("\n\n");
503
+ }
504
+ /**
505
+ * MED-3① commit half of {@link renderAgentListingDelta}: mark the CURRENT roster as announced. The run
506
+ * loop calls this only when the `agent_listing` block survived the capped bundle INTACT (body equality
507
+ * against a re-render — same predicate as the tools_delta drain); a clipped/dropped block leaves the
508
+ * announced map untouched so the next quiet boundary re-announces. Snapshotting `entries` wholesale is
509
+ * equivalent to add/remove bookkeeping (the diff is name-keyed; descriptions are never re-diffed).
510
+ */
511
+ export function commitAgentListing(state, entries) {
512
+ state.announcedAgentTypes = new Map(entries.map((e) => [e.name, e.description]));
513
+ }
514
+ /**
515
+ * G1 续批 — MCP server-instruction delta (CC 2.1.198 `mcp_instructions_delta`, bundle
516
+ * pretty.js:599225-599248, headers VERBATIM). Deliberate CC deviations (recorded):
517
+ * - added instruction text is UNTRUSTED server-controlled text → each block rides inside a
518
+ * `delimitUntrusted` fence (CC injects the raw block; sema's external-inlet posture is fencing —
519
+ * the text is additionally already `sanitizeUntrustedText`-neutralized at the mcp.ts producer).
520
+ * The disconnect list is followed by the CC-verbatim {@link AMBIENT_CONTEXT_NOTE} (CC `Emr`,
521
+ * pretty.js:599240/599992 — resolved by the 2026-07-10 parity spot audit).
522
+ * Removal names are `\n`-joined WITHOUT a `- ` prefix (CC-exact; the agent-listing removal list DOES
523
+ * carry the prefix — the asymmetry is CC's, kept verbatim). Exported for the run loop's
524
+ * intact-survival consumption check (tools_delta discipline).
525
+ */
526
+ export function renderMcpInstructionsDelta(added, removed) {
527
+ const blocks = [];
528
+ if (added.length > 0) {
529
+ blocks.push(`# MCP Server Instructions\n\nThe following MCP servers have provided instructions for how to use their tools and resources:\n\n${added
530
+ .map((a) => delimitUntrusted(`MCP server "${a.server}" instructions`, a.text))
531
+ .join("\n\n")}`);
532
+ }
533
+ if (removed.length > 0) {
534
+ blocks.push(`The following MCP servers have disconnected. Their instructions above no longer apply:\n${removed.join("\n")}`);
535
+ blocks.push(AMBIENT_CONTEXT_NOTE); // CC :599240 — same ambient tail as the agent-type removal arm
536
+ }
537
+ return blocks.length > 0 ? blocks.join("\n\n") : undefined;
538
+ }
539
+ /** Full reminder — CC messages.ts:3407 opening sentence verbatim (including CC's own "supercedes"
540
+ * spelling); the tail is adapted to sema's exit mechanism (ExitPlanMode → human plan review; CC's
541
+ * plan-file clauses have no sema counterpart). */
542
+ const PLAN_MODE_FULL_BODY = `Plan mode is active. The user indicated that they do not want you to execute yet -- you MUST NOT make any edits, run any non-readonly tools (including changing configs or making commits), or otherwise make any changes to the system. This supercedes any other instructions you have received. Instead, you should: research and analyze with read-only tools, and when you have formed a concrete plan, present it with the ${PRESENT_PLAN_TOOL_NAME} tool for approval. That tool inherently requests plan approval — never ask for approval via plain text.`;
543
+ /** Sparse reminder — CC's sparse shape minus the plan-file clause sema doesn't have. */
544
+ const PLAN_MODE_SPARSE_BODY = `Plan mode still active (see full instructions earlier in conversation). Read-only: no edits, commits, or config changes. When your plan is ready, present it with the ${PRESENT_PLAN_TOOL_NAME} tool for approval. Never ask about plan approval via plain text.`;
545
+ // ---------------------------------------------------------------------------
546
+ // Byte cap (§R3 MED-6: truncation order by EVIDENCE STRENGTH)
547
+ // ---------------------------------------------------------------------------
548
+ const TRUNCATION_MARKER = "\n…[truncated]";
549
+ /** A stub smaller than this is useless to the model — drop the attachment instead of keeping noise. */
550
+ const MIN_KEEP_BYTES = 160;
551
+ /**
552
+ * Enforce {@link ATTACHMENT_BYTE_CAP} over the bundle. Budget is granted in evidence-strength order
553
+ * (todo/task first, changed_files last) so under pressure changed_files is truncated/dropped FIRST and
554
+ * the todo/task list LAST (§R3 MED-6 — the r2 draft had this backwards, ranking by "actionability").
555
+ * The input array is already in that order; position is used as the tiebreaker-free priority.
556
+ */
557
+ function capAttachments(atts) {
558
+ let total = 0;
559
+ for (const a of atts)
560
+ total += Buffer.byteLength(a.body, "utf8");
561
+ if (total <= ATTACHMENT_BYTE_CAP)
562
+ return atts;
563
+ let budget = ATTACHMENT_BYTE_CAP;
564
+ const out = [];
565
+ for (const a of atts) {
566
+ const len = Buffer.byteLength(a.body, "utf8");
567
+ if (len <= budget) {
568
+ out.push(a);
569
+ budget -= len;
570
+ }
571
+ else if (budget >= MIN_KEEP_BYTES) {
572
+ const clipped = clipToBytes(a.body, budget - Buffer.byteLength(TRUNCATION_MARKER, "utf8"));
573
+ out.push({ source: a.source, body: clipped + TRUNCATION_MARKER });
574
+ budget = 0;
575
+ }
576
+ // else: starved — dropped entirely (its window bookkeeping already advanced; a dropped weak-evidence
577
+ // block simply waits for a quieter boundary via the surfacedMtime/window state, no retry loop).
578
+ }
579
+ return out;
580
+ }
581
+ /** Largest prefix of `s` that fits `maxBytes` UTF-8 bytes (binary search — never splits the budget math). */
582
+ function clipToBytes(s, maxBytes) {
583
+ if (Buffer.byteLength(s, "utf8") <= maxBytes)
584
+ return s;
585
+ let lo = 0;
586
+ let hi = s.length;
587
+ while (lo < hi) {
588
+ const mid = (lo + hi + 1) >> 1;
589
+ if (Buffer.byteLength(s.slice(0, mid), "utf8") <= maxBytes)
590
+ lo = mid;
591
+ else
592
+ hi = mid - 1;
593
+ }
594
+ return s.slice(0, lo);
595
+ }
596
+ //# sourceMappingURL=turn-attachments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-attachments.js","sourceRoot":"","sources":["../../../src/core/runner/turn-attachments.ts"],"names":[],"mappings":"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"}