@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,24 @@
1
+ /**
2
+ * design/81 Slice 5 — the shared distance primitives for the consolidation `searchScored` retrieval, extracted
3
+ * BYTE-IDENTICAL from the original PgMemoryStore implementation so the File (portable/TOC) and Pg (native/TOB)
4
+ * backends rank on ONE source of truth and can't drift. The `{@link import("./runner/memory-consolidation.js")}`
5
+ * band `{0.05, 0.3}` is defined on this cosine-distance scale; the lexical `1 - Jaccard ∈ [0,1] ⊂ [0,2]` is the
6
+ * same-zero-point stand-in used when no embedding vector is present (fail-open per row).
7
+ *
8
+ * The capability LADDER a store reports via {@link import("./memory.js").MemoryStore.vectorMode}:
9
+ * - `lexical` — no embedder: `1 - Jaccard(terms)` everywhere.
10
+ * - `portable` — embedder + IN-PROCESS cosine over stored vectors (File jsonl / Pg jsonb / MySQL JSON — ANY
11
+ * backend that can store a float array; O(n) over the scope, no index).
12
+ * - `native` — embedder + a backend index/operator (pgvector `<=>` / TiDB `VEC_COSINE_DISTANCE`).
13
+ * MySQL is NOT "can't support vectors" — it is `portable`-capable (JSON column + in-process cosine), just not
14
+ * `native`. A deployment injects an embedder (config-driven); the store then reports the achieved rung.
15
+ */
16
+ /** Lower-cased alphanumeric term set of a string (for the lexical stand-in distance). */
17
+ export declare function termSet(s: string): Set<string>;
18
+ /** Lexical stand-in distance: `1 - Jaccard(terms)` ∈ [0,1] ⊂ [0,2]; `null` = no overlap (not a candidate). */
19
+ export declare function jaccardDistance(query: Set<string>, text: string): number | null;
20
+ /** Cosine distance ∈ [0,2] (0 = identical), the {@link import("./memory.js").ScoredMemory} contract. Uses
21
+ * `Math.min(a.length,b.length)` — a store MUST only call this on dimension-matched vectors (the row-level
22
+ * dimension guard lives at the caller; a mismatch falls open to {@link jaccardDistance}). */
23
+ export declare function cosineDistance(a: number[], b: number[]): number;
24
+ //# sourceMappingURL=memory-vector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-vector.d.ts","sourceRoot":"","sources":["../../src/core/memory-vector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,yFAAyF;AACzF,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAO9C;AAED,8GAA8G;AAC9G,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS/E;AAED;;8FAE8F;AAC9F,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAY/D"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * design/81 Slice 5 — the shared distance primitives for the consolidation `searchScored` retrieval, extracted
3
+ * BYTE-IDENTICAL from the original PgMemoryStore implementation so the File (portable/TOC) and Pg (native/TOB)
4
+ * backends rank on ONE source of truth and can't drift. The `{@link import("./runner/memory-consolidation.js")}`
5
+ * band `{0.05, 0.3}` is defined on this cosine-distance scale; the lexical `1 - Jaccard ∈ [0,1] ⊂ [0,2]` is the
6
+ * same-zero-point stand-in used when no embedding vector is present (fail-open per row).
7
+ *
8
+ * The capability LADDER a store reports via {@link import("./memory.js").MemoryStore.vectorMode}:
9
+ * - `lexical` — no embedder: `1 - Jaccard(terms)` everywhere.
10
+ * - `portable` — embedder + IN-PROCESS cosine over stored vectors (File jsonl / Pg jsonb / MySQL JSON — ANY
11
+ * backend that can store a float array; O(n) over the scope, no index).
12
+ * - `native` — embedder + a backend index/operator (pgvector `<=>` / TiDB `VEC_COSINE_DISTANCE`).
13
+ * MySQL is NOT "can't support vectors" — it is `portable`-capable (JSON column + in-process cosine), just not
14
+ * `native`. A deployment injects an embedder (config-driven); the store then reports the achieved rung.
15
+ */
16
+ /** Lower-cased alphanumeric term set of a string (for the lexical stand-in distance). */
17
+ export function termSet(s) {
18
+ return new Set(s
19
+ .toLowerCase()
20
+ .split(/[^a-z0-9]+/)
21
+ .filter(Boolean));
22
+ }
23
+ /** Lexical stand-in distance: `1 - Jaccard(terms)` ∈ [0,1] ⊂ [0,2]; `null` = no overlap (not a candidate). */
24
+ export function jaccardDistance(query, text) {
25
+ const t = termSet(text);
26
+ let inter = 0;
27
+ for (const term of query) {
28
+ if (t.has(term))
29
+ inter++;
30
+ }
31
+ const union = query.size + t.size - inter;
32
+ const jaccard = union === 0 ? 0 : inter / union;
33
+ return jaccard === 0 ? null : 1 - jaccard;
34
+ }
35
+ /** Cosine distance ∈ [0,2] (0 = identical), the {@link import("./memory.js").ScoredMemory} contract. Uses
36
+ * `Math.min(a.length,b.length)` — a store MUST only call this on dimension-matched vectors (the row-level
37
+ * dimension guard lives at the caller; a mismatch falls open to {@link jaccardDistance}). */
38
+ export function cosineDistance(a, b) {
39
+ let dot = 0;
40
+ let na = 0;
41
+ let nb = 0;
42
+ const n = Math.min(a.length, b.length);
43
+ for (let i = 0; i < n; i++) {
44
+ dot += a[i] * b[i];
45
+ na += a[i] * a[i];
46
+ nb += b[i] * b[i];
47
+ }
48
+ const denom = Math.sqrt(na) * Math.sqrt(nb);
49
+ return denom === 0 ? 1 : 1 - dot / denom;
50
+ }
51
+ //# sourceMappingURL=memory-vector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-vector.js","sourceRoot":"","sources":["../../src/core/memory-vector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,yFAAyF;AACzF,MAAM,UAAU,OAAO,CAAC,CAAS;IAC/B,OAAO,IAAI,GAAG,CACZ,CAAC;SACE,WAAW,EAAE;SACb,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,OAAO,CAAC,CACnB,CAAC;AACJ,CAAC;AAED,8GAA8G;AAC9G,MAAM,UAAU,eAAe,CAAC,KAAkB,EAAE,IAAY;IAC9D,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;IAChD,OAAO,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AAC5C,CAAC;AAED;;8FAE8F;AAC9F,MAAM,UAAU,cAAc,CAAC,CAAW,EAAE,CAAW;IACrD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,GAAG,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACrB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACpB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IACtB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,502 @@
1
+ import type { AgentTool } from "../internal/harness.js";
2
+ /**
3
+ * A scored memory candidate returned by {@link MemoryStore.searchScored} (design/41). Carries a
4
+ * **stable id** (for {@link MemoryStore.update}/{@link MemoryStore.delete}) and a similarity `score`.
5
+ *
6
+ * `score` is a **cosine distance ∈ [0, 2]** where **0 = identical** and larger = less similar — pinned
7
+ * by contract so the consolidation band (`{lo, hi}`) is calibrated the same way across stores (a store
8
+ * that returned a *similarity* instead of a *distance* would invert the band). The reference
9
+ * {@link InMemoryMemoryStore} has no embeddings, so it returns a lexical distance in [0, 1] (a subset
10
+ * of the range) as a stand-in for tests/dev; a production store returns a real cosine distance.
11
+ */
12
+ export interface ScoredMemory {
13
+ id: string;
14
+ text: string;
15
+ score: number;
16
+ /** design/84 Seam B (前置 BLOCKER): true when this note was CREATED by a consolidation ADD (not the
17
+ * `remember` tool / a caller). Periodic/incremental consolidation EXCLUDES these from its candidate set so
18
+ * it never re-consolidates its own output (infinite re-merge). Stores that don't track it leave it absent
19
+ * (treated as not-generated — back-compat: the inline task-end path already excludes this-task notes by id). */
20
+ consolidationGenerated?: boolean;
21
+ }
22
+ /**
23
+ * The vector-ranking capability RUNG a {@link MemoryStore} actually achieves (design/81 Slice 5). It is a
24
+ * runtime OBSERVABLE (it depends on whether an embedder was injected AND whether the backend has native vector
25
+ * ops), NOT a static class trait — a deployment reads `store.vectorMode` to decide whether to build a native
26
+ * index / for metrics, and to answer "does this backend do neural recall?".
27
+ * - `lexical` — no embedder: `1 - Jaccard` everywhere (the default; byte-identical to the pre-Slice-5 floor).
28
+ * - `portable` — embedder + IN-PROCESS cosine over stored vectors (File jsonl / Pg jsonb / **MySQL JSON** —
29
+ * any backend that can store a float array; O(n), no index). MySQL sits HERE, not "unsupported".
30
+ * - `native` — embedder + a backend index/operator (pgvector `<=>` / TiDB `VEC_COSINE_DISTANCE`).
31
+ */
32
+ export type MemoryVectorMode = "lexical" | "portable" | "native";
33
+ /**
34
+ * Produces an embedding for one note/query (design/81 Slice 3 — the OPTIONAL vector seam). **Byte-identical
35
+ * to {@link import("../stores/pg.js").PgEmbedder}** so the same caller-injected embedder satisfies both the
36
+ * Pg and File backends. It is an OPTIONAL injection: a store WITHOUT one falls back to the lexical
37
+ * cosine-distance (the TOC default — no model file, no native binary in core's default path). When one IS
38
+ * injected the File backend uses it for vector ranking (Slice 5) via a rebuildable sidecar index; injecting
39
+ * none keeps the lexical floor unchanged. Core bundles NO embedder; a cloud/TOB consumer injects its own.
40
+ */
41
+ export interface Embedder {
42
+ embed(text: string): Promise<number[]>;
43
+ dimensions: number;
44
+ }
45
+ /**
46
+ * Long-term (L2) memory backend — pluggable, scoped, durable across sessions.
47
+ *
48
+ * Design adapted (MIT) from CodeWhale's `memory.rs` (a persistent note file injected into the
49
+ * system prompt) and Anthropic's memory tool (the model manages its own memory via a tool; the
50
+ * backend lives in your infrastructure). The default is in-memory; a deployment provides a durable
51
+ * backend (e.g. TiDB) implementing this interface.
52
+ *
53
+ * `scope` partitions memory by tenant — e.g. `user:42`, `org:7`, `agent:main`, or `global`.
54
+ */
55
+ export interface MemoryStore {
56
+ /** Full memory content for a scope (timestamped bullets), or null when empty. */
57
+ read(scope: string): Promise<string | null> | string | null;
58
+ /**
59
+ * Append one durable note to a scope. Implementations timestamp it. A store that supports
60
+ * consolidation (implements {@link searchScored}/{@link update}/{@link delete}) **MUST** return the new
61
+ * note's **stable id**: memory consolidation (design/41) uses it to exclude a just-appended note from
62
+ * its own reconcile candidates, so an id-addressable store that returns `void` would let a note
63
+ * self-match and trigger a wasteful no-op every cycle. Returning `void` is fine only for stores that
64
+ * do NOT support consolidation.
65
+ */
66
+ append(scope: string, note: string): Promise<string | void> | string | void;
67
+ /** Clear a scope's memory. */
68
+ clear(scope: string): Promise<void> | void;
69
+ /**
70
+ * Optional just-in-time (L3) retrieval: return notes in `scope` relevant to `query`.
71
+ * When implemented, the Runner exposes a `recall` tool so the model can query memory on demand
72
+ * instead of relying only on the injected block (useful when a scope's memory is large).
73
+ */
74
+ search?(scope: string, query: string, limit?: number): Promise<string[]> | string[];
75
+ /**
76
+ * Optional id-addressable similarity retrieval (design/41): return up to `limit` notes in `scope`
77
+ * most similar to `query`, each with a **stable id** and a cosine-distance `score` (see
78
+ * {@link ScoredMemory}). Required (together with {@link update}/{@link delete}) for memory
79
+ * consolidation; when any of the three is absent, consolidation is a safe no-op.
80
+ *
81
+ * **Concurrency contract:** memory consolidation keys on the task's memory `scope`, NOT its session,
82
+ * and the Runner's per-session lock does not serialize across sessions. So `searchScored`/`update`/
83
+ * `delete` MAY be called concurrently for the SAME scope from different sessions. A durable async store
84
+ * must therefore either linearize per-scope writes (e.g. optimistic lock by id) or accept eventual
85
+ * consistency — at worst a near-duplicate survives one extra consolidation pass (fail-open, no loss).
86
+ */
87
+ searchScored?(scope: string, query: string, limit?: number): Promise<ScoredMemory[]> | ScoredMemory[];
88
+ /** The vector-ranking rung this store achieves (design/81 Slice 5). Absent ⇒ treated as `"lexical"`
89
+ * (back-compat). A runtime observable — a deployment reads it to decide index/metrics, NOT to decide
90
+ * whether to inject an embedder (injection is config-driven; this is the RESULT). See {@link MemoryVectorMode}. */
91
+ readonly vectorMode?: MemoryVectorMode;
92
+ /** Optional: replace a note's text by id (consolidation UPDATE). The id stays stable. Must be safe
93
+ * under concurrent same-scope calls — see {@link searchScored}'s concurrency contract. */
94
+ update?(scope: string, id: string, text: string): Promise<void> | void;
95
+ /** Optional: remove a note by id (consolidation DELETE). The id is never reused afterwards. Must be
96
+ * safe under concurrent same-scope calls — see {@link searchScored}'s concurrency contract. */
97
+ delete?(scope: string, id: string): Promise<void> | void;
98
+ /**
99
+ * Optional **manifest** for selective recall (design/65 §2.2/§8#6): a per-note HEADER (id + a short
100
+ * description + mtime [+ name/type when structured]) — **NOT the body** (mirrors CC reading only the
101
+ * frontmatter, `memoryScan.ts FRONTMATTER_MAX_LINES=30`). The Runner injects this index for a large
102
+ * scope and side-queries which ids are relevant, then fetches only those via {@link getByIds}.
103
+ */
104
+ listStructuredNotes?(scope: string): Promise<MemoryNoteHeader[]> | MemoryNoteHeader[];
105
+ /** Optional: fetch the FULL records (with body) for the selected ids (design/65 §2.2). Unknown ids are
106
+ * silently skipped. Order is not guaranteed. Pairs with {@link listStructuredNotes}. */
107
+ getByIds?(scope: string, ids: string[]): Promise<MemoryNoteRecord[]> | MemoryNoteRecord[];
108
+ /**
109
+ * Optional: append a **structured/typed** note (design/65 §2.1, P2). `type` defaults to `"project"` and
110
+ * `description` to the body's first sentence (derived at write time — store responsibility, §8#6). Returns
111
+ * the new note's stable id (like {@link append}). A store that supports this surfaces `name`/`type` in
112
+ * {@link listStructuredNotes} so the selective-recall side-query gets a `[type]` relevance signal.
113
+ */
114
+ appendStructured?(scope: string, note: StructuredNoteInput): Promise<string> | string;
115
+ /**
116
+ * Optional **legitimate door** for a *promotable* artifact write (design/77 §2 Gate-2). A promotable
117
+ * note (a self-evolution artifact — skill/playbook/outcome-stats; classified by NOTE STRUCTURE, not a
118
+ * caller flag, via {@link classifyPromotable}) may ONLY reach the backend through this method, which
119
+ * carries the required `utilityVerdict`. The store-boundary gate ({@link guardedMemoryStore}) routes a
120
+ * present+positive promotable write here; a promotable note WITHOUT a present+positive verdict is
121
+ * fail-closed REJECTED at the boundary (never reaches any store method). `utilityVerdict` is opaque
122
+ * `unknown` in core — the *definition* of "positive" stays in the profile (taxonomy never enters core).
123
+ * Stores that do not implement this can still serve caller-authored writes; promotable writes simply
124
+ * have nowhere legitimate to land and are rejected (fail-closed).
125
+ */
126
+ appendPromotable?(scope: string, note: StructuredNoteInput, utilityVerdict: unknown): Promise<string> | string;
127
+ /**
128
+ * **INTERNAL consolidation-only door** for the design/84 Seam B marker. Memory consolidation (and ONLY
129
+ * it — `runMemoryConsolidation`) calls this to materialize a merged "add" decision tagged
130
+ * `consolidationGenerated:true`, so a later periodic/incremental pass EXCLUDES its own output from the
131
+ * candidate set (no infinite re-merge). It is the COUNTERPART to the {@link guardedMemoryStore} boundary
132
+ * defense: the public {@link appendStructured} STRIPS a caller-supplied `consolidationGenerated` (an
133
+ * external caller must never be able to mark a note "consolidation-generated" and silently exile it from
134
+ * consolidation forever), while THIS method is the single legitimate inlet that may set it. The guarded
135
+ * store wires it to set the marker then forward to the inner `appendStructured`; a raw (un-wrapped) store
136
+ * need not implement it — consolidation then falls back to `appendStructured` (which on an un-wrapped
137
+ * store still honors the marker, preserving the old behavior for direct-store tests). NOT a public caller
138
+ * surface: it carries no extra capability beyond `appendStructured` + the one internal flag.
139
+ */
140
+ appendConsolidationGenerated?(scope: string, note: StructuredNoteInput): Promise<string> | string;
141
+ /**
142
+ * design/84 Seam B — read the periodic/incremental consolidation cursor for `scope` (decision 3). The
143
+ * cursor is an **opaque ordering marker** the STORE defines (this core never inspects it): a value such
144
+ * that every note whose ordering marker is `<= cursor` has ALREADY been folded into a prior consolidation
145
+ * pass and MUST NOT be re-fed (no infinite re-merge), while every note `> cursor` is still pending. In the
146
+ * reference stores it is a note **id** (uuidv7 — lexicographically time-sortable), so "after the cursor"
147
+ * is a simple string `>` comparison. Returns `undefined` when no pass has run yet (⇒ the WHOLE scope is
148
+ * pending — the first pass sweeps it all). PAIR with {@link setConsolidationCursor}: a store implements
149
+ * BOTH or NEITHER ({@link supportsPeriodicConsolidation}); a store with neither makes {@link consolidateScope}
150
+ * a safe NO-OP (it never silently degrades to a full re-consolidation).
151
+ */
152
+ getConsolidationCursor?(scope: string): Promise<string | undefined> | string | undefined;
153
+ /**
154
+ * design/84 Seam B — persist the periodic/incremental consolidation cursor for `scope` (decision 3). Called
155
+ * by {@link consolidateScope} ONLY after a pass succeeds in full, advancing the cursor to the max ordering
156
+ * marker the pass observed (seen note ids ∪ added ids). Must be durable (a later pass reads it back). PAIR
157
+ * with {@link getConsolidationCursor}.
158
+ */
159
+ setConsolidationCursor?(scope: string, cursor: string): Promise<void> | void;
160
+ }
161
+ /** Standard structured-note types (design/65 §2.1, CC `memoryTypes.ts`). Any other string is accepted and
162
+ * degrades gracefully (stored + shown as-is) — `type` is widened to `string` everywhere for that reason. */
163
+ export type MemoryNoteType = "user" | "feedback" | "project" | "reference";
164
+ /** Input to {@link MemoryStore.appendStructured}. Only `body` is required. */
165
+ export interface StructuredNoteInput {
166
+ body: string;
167
+ /** A short slug for `[[name]]` cross-references (design/65 §2.1). Optional. */
168
+ name?: string;
169
+ /** One of {@link MemoryNoteType}, or any string (unknown types degrade). Default `"project"`. */
170
+ type?: string;
171
+ /** One-line summary for the manifest. Default = first sentence of `body`. */
172
+ description?: string;
173
+ /** `[[name]]` cross-reference slugs (design/65 §2.1; v1 stores/displays, no link-following). */
174
+ links?: string[];
175
+ /**
176
+ * design/77 §2 Gate-2 structural marker. An opaque (`unknown`) outcome-statistics blob attached to a
177
+ * self-evolution artifact (held-out pass-rate, usage count, …). Its PRESENCE makes a note *promotable*
178
+ * even when `type` is in the caller-authored closed set — the structural marker WINS over the type
179
+ * (see {@link classifyPromotable}). Core never inspects its shape; the taxonomy/threshold stays in the
180
+ * profile (`RunnerDeps.utilityGate`).
181
+ */
182
+ outcomeStats?: unknown;
183
+ /**
184
+ * design/84 Seam B (前置 BLOCKER): mark a note as CREATED BY A CONSOLIDATION ADD. Set ONLY by
185
+ * {@link import("./runner/memory-consolidation.js").runMemoryConsolidation} when it materializes a merged
186
+ * "add" decision — never by the `remember` tool or a normal caller. A store persists it (and surfaces it on
187
+ * {@link ScoredMemory}/{@link MemoryNoteHeader}) so periodic/incremental consolidation can EXCLUDE these
188
+ * notes from its candidate set and not re-consolidate its own output forever. It does NOT affect the
189
+ * promotable/secret gates (a consolidation ADD is `caller_authored` by construction).
190
+ */
191
+ consolidationGenerated?: boolean;
192
+ }
193
+ /** A manifest entry: enough to judge relevance, never the body (design/65 §2.2). */
194
+ export interface MemoryNoteHeader {
195
+ /** Store contract: ids must be SINGLE-LINE whitespace-free tokens (uuid-like). The manifest renders
196
+ * `- {id}: …` lines and the side-query matches selected ids by string equality — an id containing
197
+ * a newline could forge manifest lines, and a renderer-side rewrite would break the equality match,
198
+ * so the contract sits on the store (search 1.95.1 review #2). */
199
+ id: string;
200
+ /** A one-line summary used as the relevance signal (derived from the note's first sentence when untyped). */
201
+ description: string;
202
+ /** Append/update time as ms since epoch — drives the freshness caveat (design/65 §8#8). */
203
+ mtimeMs: number;
204
+ /** Present once notes are structured (design/65 §2.1, P2); absent for legacy flat notes. */
205
+ name?: string;
206
+ /** One of {@link MemoryNoteType} or any other string (unknown degrades gracefully). */
207
+ type?: string;
208
+ /** design/84 Seam B: true when this note was created by a consolidation ADD (excluded from periodic
209
+ * consolidation candidates). Absent for `remember`/caller notes. */
210
+ consolidationGenerated?: boolean;
211
+ }
212
+ /** A full note record (header + body) returned by {@link MemoryStore.getByIds}. */
213
+ export interface MemoryNoteRecord extends MemoryNoteHeader {
214
+ text: string;
215
+ }
216
+ /**
217
+ * True when a store implements the full id-addressable trio required for memory consolidation
218
+ * (design/41): {@link MemoryStore.searchScored}/{@link MemoryStore.update}/{@link MemoryStore.delete}.
219
+ * When false, the Runner skips consolidation entirely (graceful no-op).
220
+ */
221
+ export declare function supportsConsolidation(store: MemoryStore): boolean;
222
+ /**
223
+ * True when a store implements the design/84 Seam B cursor PAIR
224
+ * ({@link MemoryStore.getConsolidationCursor}/{@link MemoryStore.setConsolidationCursor}). Periodic/incremental
225
+ * consolidation ({@link import("./consolidate-scope.js").consolidateScope}) GATES on this: a store missing
226
+ * either method makes a periodic pass a safe **NO-OP** (never a silent full re-consolidation of the whole
227
+ * scope, which would re-merge already-consolidated notes forever). Both-or-neither — a store implementing
228
+ * only one is treated as unsupported. Independent of {@link supportsConsolidation} (the id-addressable trio),
229
+ * which a periodic pass ALSO needs to actually mutate.
230
+ */
231
+ export declare function supportsPeriodicConsolidation(store: MemoryStore): boolean;
232
+ /** The closed set of caller-authored note types (design/65 {@link MemoryNoteType}, memory.ts). A note
233
+ * whose `type` is in this set is caller-authored; a `type` *outside* it (e.g. `"skill"`) is promotable.
234
+ * Exported so a caller-authored inlet (e.g. consolidation ADD) can NORMALIZE a model-suggested type to
235
+ * the closed set before the store boundary — a legitimate caller_authored write must never trip the
236
+ * promotable gate just because the model invented a non-standard `type` slug (MINOR-3). */
237
+ export declare const CALLER_AUTHORED_TYPES: ReadonlySet<string>;
238
+ /** The default caller-authored note type (matches {@link StructuredNoteInput.type}'s documented default). */
239
+ export declare const DEFAULT_CALLER_AUTHORED_TYPE: MemoryNoteType;
240
+ /**
241
+ * Profile-injected predicate that judges whether a promotable note's `outcomeStats` clear the promotion bar
242
+ * (design/77 §2). Core only guarantees a verdict is PRESENT for a promotable write; this predicate — wired
243
+ * by the deployment — receives the note's (opaque) `outcomeStats` blob and returns whether it clears the
244
+ * bar. (It is NOT handed the `utilityVerdict` token; the verdict's PRESENCE is checked separately by
245
+ * {@link enforcePromotableWriteGate}, then the gate judges the outcome statistics.) When UNWIRED, a
246
+ * promotable write fails closed.
247
+ */
248
+ export type UtilityGate = (stats: unknown) => boolean;
249
+ /** Typed, fail-closed error thrown when a promotable artifact write reaches the store boundary without a
250
+ * present-and-positive `utilityVerdict` (design/77 §2). The `code` is stable for callers to switch on;
251
+ * the write NEVER reaches the backend. */
252
+ export declare class MemoryGateError extends Error {
253
+ readonly code: string;
254
+ constructor(code: string, detail?: string);
255
+ }
256
+ /**
257
+ * Scan `text` for a high-confidence credential (CC-parity P0-2). Returns the matched pattern's stable
258
+ * `label` (NEVER the matched secret value — labels are safe to log/surface), or `null` when clean.
259
+ * Deliberately CONSERVATIVE: only provider-prefixed keys + PEM private-key headers match, so ordinary
260
+ * prose that merely mentions tokens/keys/passwords passes through untouched (false-positives are the head
261
+ * risk — a wrongly-rejected normal note silently breaks legitimate memory).
262
+ */
263
+ export declare function detectSecret(text: string): string | null;
264
+ /**
265
+ * Store-boundary secret-scan invariant (CC-parity P0-2). Fail-closed: if `body` carries a high-confidence
266
+ * credential, throw {@link MemoryGateError}`("memory.secret_detected")` — the write NEVER reaches the
267
+ * backend. The error detail names the pattern LABEL (e.g. `aws_access_key_id`), never the matched value,
268
+ * so the secret is not re-leaked into a log/error sink. A clean body is a no-op. Applied by
269
+ * {@link guardedMemoryStore} on EVERY durable write inlet (`append`, `appendStructured`, the
270
+ * `appendPromotable` door) so both the `remember` tool and consolidation ADD are covered at one chokepoint.
271
+ */
272
+ export declare function enforceSecretWriteGate(body: string): void;
273
+ /**
274
+ * Structured-note secret-scan invariant (CC-parity P0-2). Scans EVERY text field of a {@link StructuredNoteInput}
275
+ * that becomes DURABLE and/or enters the manifest — not just `body`. The body alone is insufficient: `name`
276
+ * (rendered as `[[name]]` cross-references) and `description` (rendered into the recall manifest + injected
277
+ * into the side-query sub-prompt) are ALSO persisted and surfaced, so a secret hidden there
278
+ * (`appendStructured({ body: "safe", description: "sk_live_…" })`) would otherwise be durably stored and
279
+ * leaked into every later same-scope manifest — a real bypass of the body-only scan. `links` slugs are NOT
280
+ * scanned: they are short `[[name]]`-style reference tokens (no credential body shape clears the
281
+ * conservative detector), and scanning them adds FP surface for no realistic gain. Fail-closed: the first
282
+ * field that carries a high-confidence credential throws {@link MemoryGateError}`("memory.secret_detected")`.
283
+ */
284
+ export declare function enforceStructuredNoteSecretGate(note: StructuredNoteInput): void;
285
+ /**
286
+ * Classify a structured-note write as `caller_authored` (normal memory — ungated) or `promotable` (a
287
+ * self-evolution artifact — gated) — design/77 §2. PURE, taxonomy-free CORE logic.
288
+ *
289
+ * `promotable` iff the note's `type` is defined AND outside the caller-authored closed set, OR the note
290
+ * carries a structural promotable marker. **The structural marker WINS over the closed-set type** — a
291
+ * `type:"reference"` note WITH an `outcomeStats` marker classifies `promotable`.
292
+ */
293
+ export declare function classifyPromotable(note: StructuredNoteInput): "caller_authored" | "promotable";
294
+ /**
295
+ * The store-boundary Gate-2 check (design/77 §2). For a `promotable` note, require a present-and-positive
296
+ * `utilityVerdict`; otherwise throw {@link MemoryGateError}`("memory.promotable_ungated")` fail-closed —
297
+ * the write NEVER reaches the backend. A `caller_authored` note is unchanged (no verdict needed).
298
+ *
299
+ * **Gate-presence invariant (CRITICAL):** "positive" is decided by the profile `utilityGate`. When the
300
+ * gate is UNWIRED, a promotable note STILL fails closed (an absent gate never auto-passes). When wired,
301
+ * the verdict must be present (`!== undefined`) and the gate must accept its `outcomeStats`.
302
+ */
303
+ export declare function enforcePromotableWriteGate(note: StructuredNoteInput, utilityVerdict: unknown, utilityGate?: UtilityGate): void;
304
+ /**
305
+ * Wrap a {@link MemoryStore} so EVERY durable write path runs the Gate-2 chokepoint (design/77 §2). One
306
+ * wrapper at the store boundary covers BOTH inlets (the `remember` tool and consolidation ADD) — no
307
+ * per-inlet edits. It intercepts BOTH write methods (§2 polish):
308
+ * - `appendStructured` — classify the structured note; a `promotable` one needs a present+positive verdict.
309
+ * Since `appendStructured` carries NO verdict, a promotable structured write is ALWAYS rejected here;
310
+ * the legitimate way to land one is {@link MemoryStore.appendPromotable} (which carries the verdict).
311
+ * - `append` — the legacy/typeless fallback CANNOT carry structure, so any append-path write is
312
+ * classified `caller_authored` and passes through unchanged (documents the chokepoint's exhaustiveness
313
+ * across store methods — a promotable artifact structurally cannot flow out of this path).
314
+ *
315
+ * `appendPromotable` is the gated legitimate door: it runs the gate WITH the supplied verdict, then (on
316
+ * pass) writes via the inner store's `appendStructured` (or `append` fallback). The id-addressed `update`
317
+ * (consolidation's UPDATE op) replaces a note's text with new model-generated content, so it is ALSO
318
+ * secret-scanned (a promotable artifact structurally cannot flow out of it — only existing-note text is
319
+ * rewritten). `delete` and the read/search/manifest surface are straight pass-throughs (they carry no new
320
+ * content and never WRITE a promotable artifact).
321
+ */
322
+ export declare function guardedMemoryStore(inner: MemoryStore, utilityGate?: UtilityGate): MemoryStore;
323
+ /**
324
+ * Default in-memory MemoryStore (lost on restart). Use a durable backend in production.
325
+ *
326
+ * Id-addressable (design/41): each note gets a UUID stable across `update` and never reused after
327
+ * `delete`, so {@link searchScored}/{@link update}/{@link delete} work and memory consolidation can run.
328
+ * It has no embeddings, so `searchScored` returns a **lexical** (Jaccard) distance as a stand-in for a
329
+ * real cosine distance — fine for dev/tests, but a production store should back this with vectors.
330
+ */
331
+ export declare class InMemoryMemoryStore implements MemoryStore {
332
+ private byScope;
333
+ /** design/84 Seam B: per-scope periodic-consolidation cursor (lost on restart, like the rest of this store). */
334
+ private cursorByScope;
335
+ /** design/81 Slice 5: the in-memory store has no embedder — always the lexical floor. */
336
+ readonly vectorMode: "lexical";
337
+ read(scope: string): string | null;
338
+ append(scope: string, note: string): string | void;
339
+ appendStructured(scope: string, note: StructuredNoteInput): string;
340
+ clear(scope: string): void;
341
+ /**
342
+ * Keyword search backing the `recall` tool. design/81 Slice 2b — uses the SHARED synonym/stem-aware
343
+ * {@link lexicalSearchMatch} (the SAME matcher as {@link import("../stores/file/memory-store.js").FileMemoryStore.search}),
344
+ * so the `recall` tool returns IDENTICAL results across the InMemory and File backends. With no synonym/stem
345
+ * hit it degrades to the plain substring filter (byte-identical to the pre-Slice-2b behavior).
346
+ */
347
+ search(scope: string, query: string, limit?: number): string[];
348
+ /**
349
+ * Lexical-distance retrieval (consolidation candidate source). Distance = `1 - Jaccard(terms)` so it
350
+ * lives in [0, 1] ⊂ the [0, 2] cosine-distance contract (0 = identical term set). Returns the top
351
+ * `limit` nearest entries (excludes zero-overlap ones). Deterministic — handy for tests.
352
+ */
353
+ searchScored(scope: string, query: string, limit?: number): ScoredMemory[];
354
+ update(scope: string, id: string, text: string): void;
355
+ delete(scope: string, id: string): void;
356
+ /** Manifest (design/65 §2.2): a header per note, body excluded. description = the note's first sentence
357
+ * (legacy flat notes have no frontmatter; this is the council #10 P1 fallback). */
358
+ listStructuredNotes(scope: string): MemoryNoteHeader[];
359
+ /** design/84 Seam B: read the periodic-consolidation cursor (opaque note-id high-water mark). */
360
+ getConsolidationCursor(scope: string): string | undefined;
361
+ /** design/84 Seam B: persist the periodic-consolidation cursor. */
362
+ setConsolidationCursor(scope: string, cursor: string): void;
363
+ getByIds(scope: string, ids: string[]): MemoryNoteRecord[];
364
+ }
365
+ /**
366
+ * design/81 Slice 2b — a ZERO-MODEL lexical term expander closing the only real lexical recall weakness the
367
+ * red-team raised (the `recall`-tool `search` misses paraphrases like "auth token" vs "credentials/bearer").
368
+ * Pure TS, NO embedder/native/model dep — same posture as the Jaccard stand-in. For a lower-cased query
369
+ * term it returns that term PLUS:
370
+ * - its members of a small bidirectional **synonym set** (auth↔credentials↔bearer, token↔key↔secret, …),
371
+ * looked up for BOTH the original term AND its plural stem (so an inflected query like "tokens" — whose
372
+ * singular "token" is the synonym-group member — still expands to {bearer, apikey, secret, key}), and
373
+ * - a light **plural** stem (`-ies→-y`, `-es`, `-s`, with a ≥3-char guard) so "tokens" reaches "token".
374
+ * (The `-ing`/`-ed` rules were removed — they over-truncated and produced wrong stems.)
375
+ * Always includes the original term, so a non-expandable term degrades to the existing substring match
376
+ * (byte-identical to the prior behavior when no synonym/stem applies). The caller (`lexicalSearchMatch`)
377
+ * treats the returned variants as an OR within one query term (still AND across terms).
378
+ */
379
+ export declare function expandLexicalTerms(term: string): string[];
380
+ /**
381
+ * Shared SYNONYM/STEM-aware lexical match (design/81 Slice 2b) — the ONE matcher used by BOTH
382
+ * {@link InMemoryMemoryStore.search} and {@link import("../stores/file/memory-store.js").FileMemoryStore.search},
383
+ * so the `recall` tool returns IDENTICAL results across backends (the "byte-identical to InMemory" contract).
384
+ * It is a recall-QUALITY behavior, correct to apply everywhere. (Pg's `search` is a separate SQL path —
385
+ * a known follow-on, unchanged in this pass.)
386
+ *
387
+ * Matching rule: tokenize `text` on word boundaries, then for each whitespace-separated `query` term the
388
+ * text must match AT LEAST ONE of that term's {@link expandLexicalTerms} variants (OR within a term), and
389
+ * EVERY query term must match (AND across terms). The ORIGINAL query term keeps its pre-Slice-2b SUBSTRING
390
+ * semantics (back-compat); the EXPANDED synonym/stem variants are matched on WORD BOUNDARIES (set membership
391
+ * over the text's token set) so a short injected synonym like "key"/"db" cannot substring-match an unrelated
392
+ * word ("keyboard"/"double"). An empty/whitespace-only query never matches.
393
+ */
394
+ export declare function lexicalSearchMatch(query: string, text: string): boolean;
395
+ /** First sentence (or ~120-char head) of a note — the manifest description fallback for untyped notes. */
396
+ export declare function firstSentence(text: string): string;
397
+ /** The canonical, normalized shape of {@link import("./types.js").TaskSpec.memory} — the ONE form every
398
+ * consumer reads (prepare-task, recall, consolidation, the remember tool), so the union never narrows
399
+ * downstream. `scopes` is the ordered read-side layering (first = stable prefix, last = volatile tail =
400
+ * highest priority); `writeScope` is the single layer ALL writes land in (`null` = read-only, no writes). */
401
+ export interface NormalizedMemorySpec {
402
+ /** Ordered, deduped, non-empty opaque scopes for read-side layered injection (list order = inject order). */
403
+ scopes: string[];
404
+ /** The single scope all writes route to (decision 3), or `null` for a read-only (inherited) layering. */
405
+ writeScope: string | null;
406
+ /** Mirrors `memory.enabled` (default true) — false ⇒ the whole memory feature is off for this task. */
407
+ enabled: boolean;
408
+ /** design/142 §1.2 — present iff the task opted into the v2 scope identity contract (keys validated). */
409
+ scopeContract?: "v2";
410
+ }
411
+ /** The raw, backward-compatible union accepted on `TaskSpec.memory` (design/84 Seam A). */
412
+ export type MemorySpecInput = {
413
+ scope?: string;
414
+ scopes?: ReadonlyArray<string>;
415
+ writeScope?: string | null;
416
+ enabled?: boolean;
417
+ /**
418
+ * design/142 §1.2 — EXPLICIT opt-in to the v2 scope identity contract (`user:` / `org:` /
419
+ * `proj:<tenant>/<projectId>` / `userproj:` typed keys). Absent ⇒ every scope stays byte-identically
420
+ * OPAQUE, including keys that happen to look like `user:42` (the documented legacy shape above — the
421
+ * contract is NEVER activated by prefix sniffing, 复审 F1 double-confirmed). Under `"v2"`, keys
422
+ * carrying a reserved prefix are validated fail-loud (`config.memory_scope_key`); unprefixed keys
423
+ * remain legal opaque legacy scopes.
424
+ */
425
+ scopeContract?: "v2";
426
+ };
427
+ /**
428
+ * Normalize the backward-compatible {@link import("./types.js").TaskSpec.memory} union into ONE canonical
429
+ * {@link NormalizedMemorySpec} (design/84 Seam A decision 1). The consumer side reads ONLY this result — no
430
+ * narrowing of the union anywhere downstream:
431
+ * - `scopes` wins over `scope` when both are present; otherwise `scope` → `[scope]`.
432
+ * - blank/whitespace scopes are dropped and duplicates collapsed (FIRST occurrence wins — keeps the
433
+ * caller's stable→volatile order); list order is the inject order (stable prefix first, volatile tail last).
434
+ * - `writeScope` defaults to the LAST scope (the highest-priority layer); an EXPLICIT `null` means read-only
435
+ * (no `remember` tool, no consolidation); an explicit non-null string is taken as-is (it need NOT be one
436
+ * of `scopes` — a deployment may write a layer it does not inject, though normally it is the last scope).
437
+ * ⚠️ Layered READ seeding (service [646]①, 142-S4): when `scopes` comes from a registry's defaultScopes
438
+ * (shared read layers), ALWAYS pin `writeScope` explicitly — the last-scope default would land every
439
+ * harvest in whichever shared layer happens to be listed last (a cross-tenant write surface).
440
+ * - returns `undefined` when there are no usable scopes (the caller treats it like "no memory configured").
441
+ *
442
+ * Backward compatibility: `{ scope: "user:42" }` → `{ scopes: ["user:42"], writeScope: "user:42", enabled: true }`,
443
+ * so every single-scope path is byte-identical to the pre-design/84 behavior.
444
+ */
445
+ export declare function normalizeMemorySpec(input: MemorySpecInput | undefined): NormalizedMemorySpec | undefined;
446
+ /** Max bytes of memory injected into the prompt; larger is truncated with a marker. (CodeWhale: 100 KiB)
447
+ * Exported so the inject-all de-dup seeding (prepare-task.ts) can detect truncation and NOT seed dropped
448
+ * (truncated-out) note ids as "already surfaced" — see the MINOR-1 audit fix there. */
449
+ export declare const MAX_MEMORY_BYTES: number;
450
+ /** The wrapper-tag family the memory injection fences neutralize (`<system-reminder>` is ALWAYS
451
+ * included by {@link sanitizeUntrustedText} itself). Single source (design/138 S2-C, C-F10/O-F11):
452
+ * the memory write-time scan (`memory-engine/scan.ts`) detects break-out markup by diffing
453
+ * `sanitizeUntrustedText(text, MEMORY_WRAPPER_TAGS)` against the raw text, so the scan rules and
454
+ * the ACTUAL injection boundary (this file's compose* fences) can never drift apart. */
455
+ export declare const MEMORY_WRAPPER_TAGS: readonly string[];
456
+ /**
457
+ * Wrap memory content in a `<user_memory>` block. This is the **variable tail** of the system prompt
458
+ * (per-user, scoped, timestamped) — the default prompt provider places it LAST so the stable base
459
+ * prompt before it stays a cacheable prefix (see `defaultPromptProvider`).
460
+ * Truncates over-cap content with a `<truncated bytes=N>` marker (mirrors CodeWhale `as_system_block`).
461
+ * Returns undefined for empty content.
462
+ */
463
+ export declare function composeMemoryBlock(content: string | null | undefined, scope: string): string | undefined;
464
+ /**
465
+ * Compose the LAYERED inject-all memory block for multiple scopes (design/84 Seam A decision 2). One
466
+ * `<user_memory>` block with a `<scope name="…">` subsection per scope, **in the given list order** — the
467
+ * caller passes stable layers FIRST (cacheable prefix) and volatile layers LAST (re-computed tail), and the
468
+ * highest-priority layer is therefore at the END of the block (closest to the model's attention, matching the
469
+ * single-scope tail placement). Empty layers are omitted. Each layer's content is byte-capped + fence-sanitized
470
+ * exactly like {@link composeMemoryBlock} (the same A-7 escape class). Returns `undefined` when every layer is
471
+ * empty (no block to inject).
472
+ *
473
+ * **Cache-stability guarantee (§5):** the subsection order is EXACTLY the caller's list order — never sorted
474
+ * or reordered here — and the per-scope wrapper/format is fixed, so a stable layer at the front renders
475
+ * byte-identically across turns (the 90/98% prefix-cache hit measured in §5.1/§5.2 depends on this). The
476
+ * VOLATILE layers the caller places last are the only part that changes, so only the tail re-computes.
477
+ */
478
+ export declare function composeLayeredMemoryBlock(layers: ReadonlyArray<{
479
+ scope: string;
480
+ content: string | null | undefined;
481
+ }>): string | undefined;
482
+ /** Build a `recall` tool that searches long-term memory on demand (just-in-time L3 retrieval).
483
+ * @deprecated design/138 S4 — the Runner no longer mounts this (legacy memoryStore path retired;
484
+ * new model-facing `Recall` calls get the TOMBSTONED_TOOLS migration text). Kept exported one major
485
+ * for deployments that mount it as an explicit custom tool; removal is the next major. */
486
+ export declare function createRecallTool(store: MemoryStore, scope: string): AgentTool;
487
+ /**
488
+ * Build the `remember` tool bound to a store + scope. Auto-applies (writes are scoped to memory).
489
+ *
490
+ * `onRemembered` (optional) is called after each successful append with the new note's `text` and its
491
+ * store id (when the store returned one) — the Runner used it to collect this task's notes for
492
+ * end-of-task consolidation (design/41) without re-reading the store.
493
+ *
494
+ * @deprecated design/138 S4 — the Runner no longer mounts this (legacy memoryStore path retired; new
495
+ * model-facing `Remember` calls get the TOMBSTONED_TOOLS migration text). Kept exported one major for
496
+ * deployments that mount it as an explicit custom tool; removal is the next major.
497
+ */
498
+ export declare function createRememberTool(store: MemoryStore, scope: string, onRemembered?: (note: {
499
+ id?: string;
500
+ text: string;
501
+ }) => void): AgentTool;
502
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/core/memory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAMxD;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd;;;qHAGiH;IACjH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEjE;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,iFAAiF;IACjF,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5D;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5E,8BAA8B;IAC9B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3C;;;;OAIG;IACH,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC;IACpF;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC;IACtG;;wHAEoH;IACpH,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IACvC;+FAC2F;IAC3F,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvE;oGACgG;IAChG,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD;;;;;OAKG;IACH,mBAAmB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC;IACtF;6FACyF;IACzF,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC;IAC1F;;;;;OAKG;IACH,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACtF;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC/G;;;;;;;;;;;;OAYG;IACH,4BAA4B,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAClG;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IACzF;;;;;OAKG;IACH,sBAAsB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9E;AAED;6GAC6G;AAC7G,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;AAE3E,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iGAAiG;IACjG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gGAAgG;IAChG,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,oFAAoF;AACpF,MAAM,WAAW,gBAAgB;IAC/B;;;uEAGmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,6GAA6G;IAC7G,WAAW,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,OAAO,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;yEACqE;IACrE,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,mFAAmF;AACnF,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAMjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAKzE;AAkBD;;;;4FAI4F;AAC5F,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAAyE,CAAC;AAEhI,6GAA6G;AAC7G,eAAO,MAAM,4BAA4B,EAAE,cAA0B,CAAC;AAEtE;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;AAEtD;;2CAE2C;AAC3C,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAO1C;AA8ED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMxD;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAS/E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,YAAY,CAI9F;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,OAAO,EACvB,WAAW,CAAC,EAAE,WAAW,GACxB,IAAI,CAcN;AAYD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,WAAW,CA8F7F;AAgCD;;;;;;;GAOG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,OAAO,CAAoC;IACnD,gHAAgH;IAChH,OAAO,CAAC,aAAa,CAA6B;IAClD,yFAAyF;IACzF,QAAQ,CAAC,UAAU,EAAG,SAAS,CAAU;IAEzC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQlC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAalD,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAoBlE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,MAAM,EAAE;IAW1D;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,YAAY,EAAE;IAyBtE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAqBrD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAWvC;wFACoF;IACpF,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE;IActD,iGAAiG;IACjG,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIzD,mEAAmE;IACnE,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3D,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE;CAgB3D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAczD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAYvE;AA2BD,0GAA0G;AAC1G,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlD;AAYD;;;8GAG8G;AAC9G,MAAM,WAAW,oBAAoB;IACnC,6GAA6G;IAC7G,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,yGAAyG;IACzG,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,uGAAuG;IACvG,OAAO,EAAE,OAAO,CAAC;IACjB,yGAAyG;IACzG,aAAa,CAAC,EAAE,IAAI,CAAC;CACtB;AAED,2FAA2F;AAC3F,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,IAAI,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,GAAG,oBAAoB,GAAG,SAAS,CA6BxG;AAED;;wFAEwF;AACxF,eAAO,MAAM,gBAAgB,QAAa,CAAC;AAE3C;;;;yFAIyF;AACzF,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAAoB,CAAC;AAEtE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAuBxG;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,aAAa,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,CAAC,GAC3E,MAAM,GAAG,SAAS,CAwBpB;AAUD;;;2FAG2F;AAC3F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAqD7E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,GAC3D,SAAS,CAmDX"}