@cleocode/core 2026.9.7 → 2026.9.9

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 (565) hide show
  1. package/dist/audit/reconstruct.d.ts +13 -43
  2. package/dist/audit/reconstruct.d.ts.map +1 -1
  3. package/dist/audit/reconstruct.js +295 -290
  4. package/dist/audit/reconstruct.js.map +1 -1
  5. package/dist/bootstrap.d.ts.map +1 -1
  6. package/dist/bootstrap.js +8 -2
  7. package/dist/bootstrap.js.map +1 -1
  8. package/dist/dispatch/mutate-projection.d.ts.map +1 -1
  9. package/dist/dispatch/mutate-projection.js +12 -0
  10. package/dist/dispatch/mutate-projection.js.map +1 -1
  11. package/dist/dispatch/mvi-projection.d.ts +29 -6
  12. package/dist/dispatch/mvi-projection.d.ts.map +1 -1
  13. package/dist/dispatch/mvi-projection.js +109 -139
  14. package/dist/dispatch/mvi-projection.js.map +1 -1
  15. package/dist/docs/docs-read-model.d.ts +3 -2
  16. package/dist/docs/docs-read-model.d.ts.map +1 -1
  17. package/dist/docs/docs-read-model.js +4 -3
  18. package/dist/docs/docs-read-model.js.map +1 -1
  19. package/dist/docs/export-document.js +5100 -2297
  20. package/dist/docs/export-document.js.map +3 -3
  21. package/dist/docs/projection.d.ts +67 -0
  22. package/dist/docs/projection.d.ts.map +1 -0
  23. package/dist/docs/projection.js +370 -0
  24. package/dist/docs/projection.js.map +1 -0
  25. package/dist/doctor/acceptance-drift.d.ts +6 -2
  26. package/dist/doctor/acceptance-drift.d.ts.map +1 -1
  27. package/dist/doctor/acceptance-drift.js +43 -5
  28. package/dist/doctor/acceptance-drift.js.map +1 -1
  29. package/dist/doctor/knowledge-summary.d.ts +41 -0
  30. package/dist/doctor/knowledge-summary.d.ts.map +1 -0
  31. package/dist/doctor/knowledge-summary.js +81 -0
  32. package/dist/doctor/knowledge-summary.js.map +1 -0
  33. package/dist/doctor/knowledge.d.ts +192 -0
  34. package/dist/doctor/knowledge.d.ts.map +1 -0
  35. package/dist/doctor/knowledge.js +1864 -0
  36. package/dist/doctor/knowledge.js.map +1 -0
  37. package/dist/git/work-tree.d.ts +64 -0
  38. package/dist/git/work-tree.d.ts.map +1 -0
  39. package/dist/git/work-tree.js +111 -0
  40. package/dist/git/work-tree.js.map +1 -0
  41. package/dist/hooks/handlers/task-hooks.d.ts +8 -5
  42. package/dist/hooks/handlers/task-hooks.d.ts.map +1 -1
  43. package/dist/hooks/handlers/task-hooks.js +15 -60
  44. package/dist/hooks/handlers/task-hooks.js.map +1 -1
  45. package/dist/identity/cleo-identity.d.ts +13 -0
  46. package/dist/identity/cleo-identity.d.ts.map +1 -1
  47. package/dist/identity/cleo-identity.js +20 -6
  48. package/dist/identity/cleo-identity.js.map +1 -1
  49. package/dist/injection.d.ts.map +1 -1
  50. package/dist/injection.js +29 -13
  51. package/dist/injection.js.map +1 -1
  52. package/dist/internal.d.ts +2 -0
  53. package/dist/internal.d.ts.map +1 -1
  54. package/dist/internal.js +2 -0
  55. package/dist/internal.js.map +1 -1
  56. package/dist/lifecycle/verification/satisfies-validator.d.ts.map +1 -1
  57. package/dist/lifecycle/verification/satisfies-validator.js +124 -120
  58. package/dist/lifecycle/verification/satisfies-validator.js.map +1 -1
  59. package/dist/llm/plugin-facade.js +4018 -1726
  60. package/dist/llm/plugin-facade.js.map +3 -3
  61. package/dist/memory/brain-backfill.d.ts +27 -12
  62. package/dist/memory/brain-backfill.d.ts.map +1 -1
  63. package/dist/memory/brain-backfill.js +325 -134
  64. package/dist/memory/brain-backfill.js.map +1 -1
  65. package/dist/memory/brain-doctor.d.ts +21 -0
  66. package/dist/memory/brain-doctor.d.ts.map +1 -1
  67. package/dist/memory/brain-doctor.js +111 -53
  68. package/dist/memory/brain-doctor.js.map +1 -1
  69. package/dist/memory/brain-links.d.ts.map +1 -1
  70. package/dist/memory/brain-links.js +31 -4
  71. package/dist/memory/brain-links.js.map +1 -1
  72. package/dist/memory/brain-reasoning.d.ts.map +1 -1
  73. package/dist/memory/brain-reasoning.js +28 -2
  74. package/dist/memory/brain-reasoning.js.map +1 -1
  75. package/dist/memory/brain-reconciler.d.ts +14 -19
  76. package/dist/memory/brain-reconciler.d.ts.map +1 -1
  77. package/dist/memory/brain-reconciler.js +70 -97
  78. package/dist/memory/brain-reconciler.js.map +1 -1
  79. package/dist/memory/brain-search.d.ts +2 -0
  80. package/dist/memory/brain-search.d.ts.map +1 -1
  81. package/dist/memory/brain-search.js +59 -29
  82. package/dist/memory/brain-search.js.map +1 -1
  83. package/dist/memory/brain-similarity.d.ts.map +1 -1
  84. package/dist/memory/brain-similarity.js +5 -4
  85. package/dist/memory/brain-similarity.js.map +1 -1
  86. package/dist/memory/brain-stub-prune.d.ts +31 -9
  87. package/dist/memory/brain-stub-prune.d.ts.map +1 -1
  88. package/dist/memory/brain-stub-prune.js +65 -18
  89. package/dist/memory/brain-stub-prune.js.map +1 -1
  90. package/dist/memory/brain-writer-handlers.d.ts +10 -1
  91. package/dist/memory/brain-writer-handlers.d.ts.map +1 -1
  92. package/dist/memory/brain-writer-handlers.js +23 -3
  93. package/dist/memory/brain-writer-handlers.js.map +1 -1
  94. package/dist/memory/brain-writer-thread.d.ts +31 -1
  95. package/dist/memory/brain-writer-thread.d.ts.map +1 -1
  96. package/dist/memory/brain-writer-thread.js +166 -24
  97. package/dist/memory/brain-writer-thread.js.map +1 -1
  98. package/dist/memory/brain-writer-worker.js +8 -1
  99. package/dist/memory/brain-writer-worker.js.map +1 -1
  100. package/dist/memory/decision-cross-link.d.ts +39 -0
  101. package/dist/memory/decision-cross-link.d.ts.map +1 -1
  102. package/dist/memory/decision-cross-link.js +316 -0
  103. package/dist/memory/decision-cross-link.js.map +1 -1
  104. package/dist/memory/decisions.d.ts +4 -1
  105. package/dist/memory/decisions.d.ts.map +1 -1
  106. package/dist/memory/decisions.js +7 -24
  107. package/dist/memory/decisions.js.map +1 -1
  108. package/dist/memory/dispatch-trace.d.ts +12 -5
  109. package/dist/memory/dispatch-trace.d.ts.map +1 -1
  110. package/dist/memory/dispatch-trace.js +17 -7
  111. package/dist/memory/dispatch-trace.js.map +1 -1
  112. package/dist/memory/eligibility.d.ts +51 -0
  113. package/dist/memory/eligibility.d.ts.map +1 -0
  114. package/dist/memory/eligibility.js +77 -0
  115. package/dist/memory/eligibility.js.map +1 -0
  116. package/dist/memory/engine-compat.d.ts +2 -0
  117. package/dist/memory/engine-compat.d.ts.map +1 -1
  118. package/dist/memory/engine-compat.js +10 -0
  119. package/dist/memory/engine-compat.js.map +1 -1
  120. package/dist/memory/extraction-gate.d.ts +21 -7
  121. package/dist/memory/extraction-gate.d.ts.map +1 -1
  122. package/dist/memory/extraction-gate.js +178 -216
  123. package/dist/memory/extraction-gate.js.map +1 -1
  124. package/dist/memory/graph-auto-populate.d.ts +38 -5
  125. package/dist/memory/graph-auto-populate.d.ts.map +1 -1
  126. package/dist/memory/graph-auto-populate.js +182 -60
  127. package/dist/memory/graph-auto-populate.js.map +1 -1
  128. package/dist/memory/graph-memory-bridge.d.ts +14 -1
  129. package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
  130. package/dist/memory/graph-memory-bridge.js +66 -28
  131. package/dist/memory/graph-memory-bridge.js.map +1 -1
  132. package/dist/memory/index.d.ts +1 -19
  133. package/dist/memory/index.d.ts.map +1 -1
  134. package/dist/memory/index.js +1 -50
  135. package/dist/memory/index.js.map +1 -1
  136. package/dist/memory/learnings.d.ts.map +1 -1
  137. package/dist/memory/learnings.js +2 -23
  138. package/dist/memory/learnings.js.map +1 -1
  139. package/dist/memory/manifest-filter.d.ts +21 -0
  140. package/dist/memory/manifest-filter.d.ts.map +1 -0
  141. package/dist/memory/manifest-filter.js +51 -0
  142. package/dist/memory/manifest-filter.js.map +1 -0
  143. package/dist/memory/manifest-ingestion.d.ts +28 -30
  144. package/dist/memory/manifest-ingestion.d.ts.map +1 -1
  145. package/dist/memory/manifest-ingestion.js +104 -235
  146. package/dist/memory/manifest-ingestion.js.map +1 -1
  147. package/dist/memory/observer-reflector.d.ts +2 -0
  148. package/dist/memory/observer-reflector.d.ts.map +1 -1
  149. package/dist/memory/observer-reflector.js +6 -49
  150. package/dist/memory/observer-reflector.js.map +1 -1
  151. package/dist/memory/patterns.d.ts +10 -0
  152. package/dist/memory/patterns.d.ts.map +1 -1
  153. package/dist/memory/patterns.js +25 -33
  154. package/dist/memory/patterns.js.map +1 -1
  155. package/dist/memory/pipeline-manifest-sqlite.d.ts +72 -9
  156. package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
  157. package/dist/memory/pipeline-manifest-sqlite.js +508 -412
  158. package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
  159. package/dist/memory/retrieval/build-retrieval-bundle.d.ts.map +1 -1
  160. package/dist/memory/retrieval/build-retrieval-bundle.js +16 -15
  161. package/dist/memory/retrieval/build-retrieval-bundle.js.map +1 -1
  162. package/dist/memory/retrieval/fetch.d.ts +7 -0
  163. package/dist/memory/retrieval/fetch.d.ts.map +1 -1
  164. package/dist/memory/retrieval/fetch.js +14 -11
  165. package/dist/memory/retrieval/fetch.js.map +1 -1
  166. package/dist/memory/retrieval/observe.d.ts +7 -1
  167. package/dist/memory/retrieval/observe.d.ts.map +1 -1
  168. package/dist/memory/retrieval/observe.js +58 -4
  169. package/dist/memory/retrieval/observe.js.map +1 -1
  170. package/dist/memory/retrieval/search.d.ts +14 -1
  171. package/dist/memory/retrieval/search.d.ts.map +1 -1
  172. package/dist/memory/retrieval/search.js +133 -69
  173. package/dist/memory/retrieval/search.js.map +1 -1
  174. package/dist/memory/retrieval/telemetry.d.ts +31 -0
  175. package/dist/memory/retrieval/telemetry.d.ts.map +1 -0
  176. package/dist/memory/retrieval/telemetry.js +53 -0
  177. package/dist/memory/retrieval/telemetry.js.map +1 -0
  178. package/dist/nexus/analyze-orchestrator.d.ts +41 -9
  179. package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
  180. package/dist/nexus/analyze-orchestrator.js +257 -58
  181. package/dist/nexus/analyze-orchestrator.js.map +1 -1
  182. package/dist/nexus/api-contracts.d.ts +2 -6
  183. package/dist/nexus/api-contracts.d.ts.map +1 -1
  184. package/dist/nexus/api-contracts.js +11 -2
  185. package/dist/nexus/api-contracts.js.map +1 -1
  186. package/dist/nexus/context.d.ts.map +1 -1
  187. package/dist/nexus/context.js +14 -37
  188. package/dist/nexus/context.js.map +1 -1
  189. package/dist/nexus/diff.d.ts.map +1 -1
  190. package/dist/nexus/diff.js +2 -1
  191. package/dist/nexus/diff.js.map +1 -1
  192. package/dist/nexus/identity.d.ts +29 -3
  193. package/dist/nexus/identity.d.ts.map +1 -1
  194. package/dist/nexus/identity.js +63 -12
  195. package/dist/nexus/identity.js.map +1 -1
  196. package/dist/nexus/impact.d.ts +21 -19
  197. package/dist/nexus/impact.d.ts.map +1 -1
  198. package/dist/nexus/impact.js +96 -192
  199. package/dist/nexus/impact.js.map +1 -1
  200. package/dist/nexus/knowledge.d.ts +80 -0
  201. package/dist/nexus/knowledge.d.ts.map +1 -0
  202. package/dist/nexus/knowledge.js +786 -0
  203. package/dist/nexus/knowledge.js.map +1 -0
  204. package/dist/nexus/living-brain.d.ts +8 -5
  205. package/dist/nexus/living-brain.d.ts.map +1 -1
  206. package/dist/nexus/living-brain.js +252 -188
  207. package/dist/nexus/living-brain.js.map +1 -1
  208. package/dist/nexus/registry.d.ts +11 -2
  209. package/dist/nexus/registry.d.ts.map +1 -1
  210. package/dist/nexus/registry.js +144 -128
  211. package/dist/nexus/registry.js.map +1 -1
  212. package/dist/nexus/source-roots.d.ts +16 -0
  213. package/dist/nexus/source-roots.d.ts.map +1 -0
  214. package/dist/nexus/source-roots.js +174 -0
  215. package/dist/nexus/source-roots.js.map +1 -0
  216. package/dist/nexus/task-evidence.d.ts +22 -0
  217. package/dist/nexus/task-evidence.d.ts.map +1 -0
  218. package/dist/nexus/task-evidence.js +210 -0
  219. package/dist/nexus/task-evidence.js.map +1 -0
  220. package/dist/nexus/tasks-bridge.d.ts +14 -7
  221. package/dist/nexus/tasks-bridge.d.ts.map +1 -1
  222. package/dist/nexus/tasks-bridge.js +81 -40
  223. package/dist/nexus/tasks-bridge.js.map +1 -1
  224. package/dist/orchestrate/lifecycle-ops.d.ts.map +1 -1
  225. package/dist/orchestrate/lifecycle-ops.js +170 -120
  226. package/dist/orchestrate/lifecycle-ops.js.map +1 -1
  227. package/dist/orchestrate/query-ops.d.ts +6 -7
  228. package/dist/orchestrate/query-ops.d.ts.map +1 -1
  229. package/dist/orchestrate/query-ops.js +509 -532
  230. package/dist/orchestrate/query-ops.js.map +1 -1
  231. package/dist/orchestration/bootstrap.d.ts +15 -1
  232. package/dist/orchestration/bootstrap.d.ts.map +1 -1
  233. package/dist/orchestration/bootstrap.js +21 -10
  234. package/dist/orchestration/bootstrap.js.map +1 -1
  235. package/dist/orchestration/index.d.ts +35 -3
  236. package/dist/orchestration/index.d.ts.map +1 -1
  237. package/dist/orchestration/index.js +64 -35
  238. package/dist/orchestration/index.js.map +1 -1
  239. package/dist/orchestration/lead-rollup.d.ts +24 -1
  240. package/dist/orchestration/lead-rollup.d.ts.map +1 -1
  241. package/dist/orchestration/lead-rollup.js +31 -11
  242. package/dist/orchestration/lead-rollup.js.map +1 -1
  243. package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
  244. package/dist/orchestration/spawn-prompt.js +16 -41
  245. package/dist/orchestration/spawn-prompt.js.map +1 -1
  246. package/dist/orchestration/unblock.d.ts +15 -1
  247. package/dist/orchestration/unblock.d.ts.map +1 -1
  248. package/dist/orchestration/unblock.js +23 -12
  249. package/dist/orchestration/unblock.js.map +1 -1
  250. package/dist/orchestration/validate-spawn.d.ts.map +1 -1
  251. package/dist/orchestration/validate-spawn.js +3 -3
  252. package/dist/orchestration/validate-spawn.js.map +1 -1
  253. package/dist/orchestration/waves.d.ts +29 -13
  254. package/dist/orchestration/waves.d.ts.map +1 -1
  255. package/dist/orchestration/waves.js +43 -55
  256. package/dist/orchestration/waves.js.map +1 -1
  257. package/dist/paths.d.ts +17 -163
  258. package/dist/paths.d.ts.map +1 -1
  259. package/dist/paths.js +145 -496
  260. package/dist/paths.js.map +1 -1
  261. package/dist/project-info.d.ts +2 -11
  262. package/dist/project-info.d.ts.map +1 -1
  263. package/dist/project-info.js +3 -31
  264. package/dist/project-info.js.map +1 -1
  265. package/dist/project-scope.d.ts +239 -0
  266. package/dist/project-scope.d.ts.map +1 -0
  267. package/dist/project-scope.js +473 -0
  268. package/dist/project-scope.js.map +1 -0
  269. package/dist/release/pr-evidence.d.ts +16 -3
  270. package/dist/release/pr-evidence.d.ts.map +1 -1
  271. package/dist/release/pr-evidence.js +53 -7
  272. package/dist/release/pr-evidence.js.map +1 -1
  273. package/dist/render/nexus/graph/index.d.ts.map +1 -1
  274. package/dist/render/nexus/graph/index.js +4 -2
  275. package/dist/render/nexus/graph/index.js.map +1 -1
  276. package/dist/render/orchestration/audit-reconstruct.d.ts +11 -0
  277. package/dist/render/orchestration/audit-reconstruct.d.ts.map +1 -1
  278. package/dist/render/orchestration/audit-reconstruct.js +21 -6
  279. package/dist/render/orchestration/audit-reconstruct.js.map +1 -1
  280. package/dist/render/tasks/show.js +2 -1
  281. package/dist/render/tasks/show.js.map +1 -1
  282. package/dist/resources/spawn-wrapper.d.ts +82 -14
  283. package/dist/resources/spawn-wrapper.d.ts.map +1 -1
  284. package/dist/resources/spawn-wrapper.js +585 -27
  285. package/dist/resources/spawn-wrapper.js.map +1 -1
  286. package/dist/selfimprove/fix-gen.js +4026 -1734
  287. package/dist/selfimprove/fix-gen.js.map +3 -3
  288. package/dist/sequence/index.d.ts.map +1 -1
  289. package/dist/sequence/index.js +76 -68
  290. package/dist/sequence/index.js.map +1 -1
  291. package/dist/session/canon-lint.d.ts +24 -3
  292. package/dist/session/canon-lint.d.ts.map +1 -1
  293. package/dist/session/canon-lint.js +72 -31
  294. package/dist/session/canon-lint.js.map +1 -1
  295. package/dist/session/engine-ops.d.ts +1 -4
  296. package/dist/session/engine-ops.d.ts.map +1 -1
  297. package/dist/session/engine-ops.js +6 -2
  298. package/dist/session/engine-ops.js.map +1 -1
  299. package/dist/sessions/briefing.d.ts +11 -1
  300. package/dist/sessions/briefing.d.ts.map +1 -1
  301. package/dist/sessions/briefing.js +76 -8
  302. package/dist/sessions/briefing.js.map +1 -1
  303. package/dist/sessions/handoff.d.ts +3 -1
  304. package/dist/sessions/handoff.d.ts.map +1 -1
  305. package/dist/sessions/handoff.js +2 -0
  306. package/dist/sessions/handoff.js.map +1 -1
  307. package/dist/shutdown-deadline.d.ts +24 -33
  308. package/dist/shutdown-deadline.d.ts.map +1 -1
  309. package/dist/shutdown-deadline.js +71 -14
  310. package/dist/shutdown-deadline.js.map +1 -1
  311. package/dist/shutdown.d.ts +21 -10
  312. package/dist/shutdown.d.ts.map +1 -1
  313. package/dist/shutdown.js +91 -35
  314. package/dist/shutdown.js.map +1 -1
  315. package/dist/skills/index.d.ts +1 -1
  316. package/dist/skills/index.d.ts.map +1 -1
  317. package/dist/skills/index.js +1 -1
  318. package/dist/skills/index.js.map +1 -1
  319. package/dist/skills/orchestrator/validator.d.ts +87 -20
  320. package/dist/skills/orchestrator/validator.d.ts.map +1 -1
  321. package/dist/skills/orchestrator/validator.js +330 -241
  322. package/dist/skills/orchestrator/validator.js.map +1 -1
  323. package/dist/store/agent-resolver.d.ts.map +1 -1
  324. package/dist/store/agent-resolver.js +16 -9
  325. package/dist/store/agent-resolver.js.map +1 -1
  326. package/dist/store/attachment-store.d.ts +4 -1
  327. package/dist/store/attachment-store.d.ts.map +1 -1
  328. package/dist/store/attachment-store.js +20 -3
  329. package/dist/store/attachment-store.js.map +1 -1
  330. package/dist/store/background-jobs.d.ts +426 -105
  331. package/dist/store/background-jobs.d.ts.map +1 -1
  332. package/dist/store/background-jobs.js +1208 -252
  333. package/dist/store/background-jobs.js.map +1 -1
  334. package/dist/store/background-ops.d.ts +145 -8
  335. package/dist/store/background-ops.d.ts.map +1 -1
  336. package/dist/store/background-ops.js +459 -15
  337. package/dist/store/background-ops.js.map +1 -1
  338. package/dist/store/backup-inspect.d.ts +48 -4
  339. package/dist/store/backup-inspect.d.ts.map +1 -1
  340. package/dist/store/backup-inspect.js +384 -4
  341. package/dist/store/backup-inspect.js.map +1 -1
  342. package/dist/store/converters.d.ts.map +1 -1
  343. package/dist/store/converters.js +19 -2
  344. package/dist/store/converters.js.map +1 -1
  345. package/dist/store/data-accessor.d.ts +9 -1
  346. package/dist/store/data-accessor.d.ts.map +1 -1
  347. package/dist/store/data-accessor.js +22 -5
  348. package/dist/store/data-accessor.js.map +1 -1
  349. package/dist/store/data-safety-central.d.ts.map +1 -1
  350. package/dist/store/data-safety-central.js +272 -232
  351. package/dist/store/data-safety-central.js.map +1 -1
  352. package/dist/store/db-helpers.d.ts +19 -3
  353. package/dist/store/db-helpers.d.ts.map +1 -1
  354. package/dist/store/db-helpers.js +42 -58
  355. package/dist/store/db-helpers.js.map +1 -1
  356. package/dist/store/dual-scope-db.d.ts +63 -4
  357. package/dist/store/dual-scope-db.d.ts.map +1 -1
  358. package/dist/store/dual-scope-db.js +166 -19
  359. package/dist/store/dual-scope-db.js.map +1 -1
  360. package/dist/store/exodus/archive.d.ts +21 -7
  361. package/dist/store/exodus/archive.d.ts.map +1 -1
  362. package/dist/store/exodus/archive.js +60 -18
  363. package/dist/store/exodus/archive.js.map +1 -1
  364. package/dist/store/exodus/migrate.d.ts.map +1 -1
  365. package/dist/store/exodus/migrate.js +27 -23
  366. package/dist/store/exodus/migrate.js.map +1 -1
  367. package/dist/store/exodus/on-open.d.ts +16 -27
  368. package/dist/store/exodus/on-open.d.ts.map +1 -1
  369. package/dist/store/exodus/on-open.js +121 -169
  370. package/dist/store/exodus/on-open.js.map +1 -1
  371. package/dist/store/exodus/recovery.d.ts +90 -0
  372. package/dist/store/exodus/recovery.d.ts.map +1 -0
  373. package/dist/store/exodus/recovery.js +434 -0
  374. package/dist/store/exodus/recovery.js.map +1 -0
  375. package/dist/store/exodus/types.d.ts +15 -0
  376. package/dist/store/exodus/types.d.ts.map +1 -1
  377. package/dist/store/memory-accessor.d.ts +52 -3
  378. package/dist/store/memory-accessor.d.ts.map +1 -1
  379. package/dist/store/memory-accessor.js +122 -7
  380. package/dist/store/memory-accessor.js.map +1 -1
  381. package/dist/store/nexus-sqlite.d.ts +24 -6
  382. package/dist/store/nexus-sqlite.d.ts.map +1 -1
  383. package/dist/store/nexus-sqlite.js +39 -20
  384. package/dist/store/nexus-sqlite.js.map +1 -1
  385. package/dist/store/ports/domain-binding.d.ts.map +1 -1
  386. package/dist/store/ports/domain-binding.js +27 -5
  387. package/dist/store/ports/domain-binding.js.map +1 -1
  388. package/dist/store/schema/background-jobs.d.ts +181 -2
  389. package/dist/store/schema/background-jobs.d.ts.map +1 -1
  390. package/dist/store/schema/background-jobs.js +27 -3
  391. package/dist/store/schema/background-jobs.js.map +1 -1
  392. package/dist/store/schema/cleo-global/skills.d.ts +2 -2
  393. package/dist/store/schema/cleo-project/lifecycle.d.ts +2 -2
  394. package/dist/store/schema/cleo-project/runtime.d.ts +1 -1
  395. package/dist/store/schema/cleo-project/tasks-core.d.ts +1 -1
  396. package/dist/store/schema/lifecycle.d.ts +2 -2
  397. package/dist/store/schema/skills-schema.d.ts +2 -2
  398. package/dist/store/schema/tasks.d.ts +1 -1
  399. package/dist/store/session-store.d.ts +3 -1
  400. package/dist/store/session-store.d.ts.map +1 -1
  401. package/dist/store/session-store.js +252 -207
  402. package/dist/store/session-store.js.map +1 -1
  403. package/dist/store/sqlite-data-accessor.d.ts +39 -4
  404. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  405. package/dist/store/sqlite-data-accessor.js +689 -527
  406. package/dist/store/sqlite-data-accessor.js.map +1 -1
  407. package/dist/store/tasks-sqlite.d.ts +3 -1
  408. package/dist/store/tasks-sqlite.d.ts.map +1 -1
  409. package/dist/store/tasks-sqlite.js +309 -279
  410. package/dist/store/tasks-sqlite.js.map +1 -1
  411. package/dist/store/validation-schemas.d.ts +8 -8
  412. package/dist/store/writer-lease.d.ts +80 -8
  413. package/dist/store/writer-lease.d.ts.map +1 -1
  414. package/dist/store/writer-lease.js +503 -134
  415. package/dist/store/writer-lease.js.map +1 -1
  416. package/dist/system/audit.d.ts +2 -1
  417. package/dist/system/audit.d.ts.map +1 -1
  418. package/dist/system/audit.js +118 -71
  419. package/dist/system/audit.js.map +1 -1
  420. package/dist/system/backup.d.ts.map +1 -1
  421. package/dist/system/backup.js +5 -5
  422. package/dist/system/backup.js.map +1 -1
  423. package/dist/system/inject-generate.js +1 -1
  424. package/dist/task-work/index.d.ts +3 -0
  425. package/dist/task-work/index.d.ts.map +1 -1
  426. package/dist/task-work/index.js +34 -37
  427. package/dist/task-work/index.js.map +1 -1
  428. package/dist/tasks/ac-coverage-gate.d.ts.map +1 -1
  429. package/dist/tasks/ac-coverage-gate.js +4 -0
  430. package/dist/tasks/ac-coverage-gate.js.map +1 -1
  431. package/dist/tasks/ac-immutability.d.ts +7 -4
  432. package/dist/tasks/ac-immutability.d.ts.map +1 -1
  433. package/dist/tasks/ac-immutability.js +19 -17
  434. package/dist/tasks/ac-immutability.js.map +1 -1
  435. package/dist/tasks/ac-table.d.ts +5 -5
  436. package/dist/tasks/ac-table.d.ts.map +1 -1
  437. package/dist/tasks/ac-table.js +26 -12
  438. package/dist/tasks/ac-table.js.map +1 -1
  439. package/dist/tasks/acceptance-input.d.ts +52 -0
  440. package/dist/tasks/acceptance-input.d.ts.map +1 -0
  441. package/dist/tasks/acceptance-input.js +259 -0
  442. package/dist/tasks/acceptance-input.js.map +1 -0
  443. package/dist/tasks/add.d.ts +67 -29
  444. package/dist/tasks/add.d.ts.map +1 -1
  445. package/dist/tasks/add.js +255 -97
  446. package/dist/tasks/add.js.map +1 -1
  447. package/dist/tasks/complete.d.ts +16 -1
  448. package/dist/tasks/complete.d.ts.map +1 -1
  449. package/dist/tasks/complete.js +152 -55
  450. package/dist/tasks/complete.js.map +1 -1
  451. package/dist/tasks/decompose.d.ts +103 -0
  452. package/dist/tasks/decompose.d.ts.map +1 -0
  453. package/dist/tasks/decompose.js +224 -0
  454. package/dist/tasks/decompose.js.map +1 -0
  455. package/dist/tasks/delete.d.ts +5 -8
  456. package/dist/tasks/delete.d.ts.map +1 -1
  457. package/dist/tasks/delete.js +4 -3
  458. package/dist/tasks/delete.js.map +1 -1
  459. package/dist/tasks/dependency-check.d.ts +59 -0
  460. package/dist/tasks/dependency-check.d.ts.map +1 -1
  461. package/dist/tasks/dependency-check.js +73 -0
  462. package/dist/tasks/dependency-check.js.map +1 -1
  463. package/dist/tasks/deps-ready.d.ts +13 -1
  464. package/dist/tasks/deps-ready.d.ts.map +1 -1
  465. package/dist/tasks/deps-ready.js +16 -5
  466. package/dist/tasks/deps-ready.js.map +1 -1
  467. package/dist/tasks/engine-converters.d.ts +7 -0
  468. package/dist/tasks/engine-converters.d.ts.map +1 -1
  469. package/dist/tasks/engine-converters.js +8 -1
  470. package/dist/tasks/engine-converters.js.map +1 -1
  471. package/dist/tasks/evidence.d.ts +54 -26
  472. package/dist/tasks/evidence.d.ts.map +1 -1
  473. package/dist/tasks/evidence.js +292 -40
  474. package/dist/tasks/evidence.js.map +1 -1
  475. package/dist/tasks/find.d.ts +16 -12
  476. package/dist/tasks/find.d.ts.map +1 -1
  477. package/dist/tasks/find.js +107 -93
  478. package/dist/tasks/find.js.map +1 -1
  479. package/dist/tasks/gate-runner.d.ts +88 -14
  480. package/dist/tasks/gate-runner.d.ts.map +1 -1
  481. package/dist/tasks/gate-runner.js +596 -253
  482. package/dist/tasks/gate-runner.js.map +1 -1
  483. package/dist/tasks/hierarchy-policy.d.ts +8 -0
  484. package/dist/tasks/hierarchy-policy.d.ts.map +1 -1
  485. package/dist/tasks/hierarchy-policy.js +9 -2
  486. package/dist/tasks/hierarchy-policy.js.map +1 -1
  487. package/dist/tasks/hierarchy.d.ts +67 -1
  488. package/dist/tasks/hierarchy.d.ts.map +1 -1
  489. package/dist/tasks/hierarchy.js +81 -1
  490. package/dist/tasks/hierarchy.js.map +1 -1
  491. package/dist/tasks/index.d.ts +3 -0
  492. package/dist/tasks/index.d.ts.map +1 -1
  493. package/dist/tasks/index.js +3 -0
  494. package/dist/tasks/index.js.map +1 -1
  495. package/dist/tasks/infer-add-params.d.ts +1 -20
  496. package/dist/tasks/infer-add-params.d.ts.map +1 -1
  497. package/dist/tasks/infer-add-params.js +2 -203
  498. package/dist/tasks/infer-add-params.js.map +1 -1
  499. package/dist/tasks/list.d.ts +7 -2
  500. package/dist/tasks/list.d.ts.map +1 -1
  501. package/dist/tasks/list.js +24 -36
  502. package/dist/tasks/list.js.map +1 -1
  503. package/dist/tasks/ops.d.ts +6 -61
  504. package/dist/tasks/ops.d.ts.map +1 -1
  505. package/dist/tasks/ops.js +5 -53
  506. package/dist/tasks/ops.js.map +1 -1
  507. package/dist/tasks/plan.d.ts +15 -1
  508. package/dist/tasks/plan.d.ts.map +1 -1
  509. package/dist/tasks/plan.js +23 -25
  510. package/dist/tasks/plan.js.map +1 -1
  511. package/dist/tasks/population.d.ts +46 -0
  512. package/dist/tasks/population.d.ts.map +1 -0
  513. package/dist/tasks/population.js +88 -0
  514. package/dist/tasks/population.js.map +1 -0
  515. package/dist/tasks/reconcile-scope.d.ts +157 -0
  516. package/dist/tasks/reconcile-scope.d.ts.map +1 -0
  517. package/dist/tasks/reconcile-scope.js +242 -0
  518. package/dist/tasks/reconcile-scope.js.map +1 -0
  519. package/dist/tasks/req.d.ts +51 -12
  520. package/dist/tasks/req.d.ts.map +1 -1
  521. package/dist/tasks/req.js +125 -69
  522. package/dist/tasks/req.js.map +1 -1
  523. package/dist/tasks/session-scope.d.ts +6 -31
  524. package/dist/tasks/session-scope.d.ts.map +1 -1
  525. package/dist/tasks/session-scope.js +3 -17
  526. package/dist/tasks/session-scope.js.map +1 -1
  527. package/dist/tasks/severity-attestation.d.ts +39 -10
  528. package/dist/tasks/severity-attestation.d.ts.map +1 -1
  529. package/dist/tasks/severity-attestation.js +75 -36
  530. package/dist/tasks/severity-attestation.js.map +1 -1
  531. package/dist/tasks/task-next.d.ts +5 -0
  532. package/dist/tasks/task-next.d.ts.map +1 -1
  533. package/dist/tasks/task-next.js +10 -9
  534. package/dist/tasks/task-next.js.map +1 -1
  535. package/dist/tasks/task-reparent.d.ts.map +1 -1
  536. package/dist/tasks/task-reparent.js +3 -13
  537. package/dist/tasks/task-reparent.js.map +1 -1
  538. package/dist/tasks/update.d.ts +20 -43
  539. package/dist/tasks/update.d.ts.map +1 -1
  540. package/dist/tasks/update.js +64 -49
  541. package/dist/tasks/update.js.map +1 -1
  542. package/dist/teardown-signal.d.ts +72 -0
  543. package/dist/teardown-signal.d.ts.map +1 -0
  544. package/dist/teardown-signal.js +108 -0
  545. package/dist/teardown-signal.js.map +1 -0
  546. package/dist/validation/engine-ops.d.ts +17 -1
  547. package/dist/validation/engine-ops.d.ts.map +1 -1
  548. package/dist/validation/engine-ops.js +149 -11
  549. package/dist/validation/engine-ops.js.map +1 -1
  550. package/dist/workgraph/reparent-preflight.d.ts +1 -1
  551. package/dist/workgraph/reparent-preflight.d.ts.map +1 -1
  552. package/dist/workgraph/reparent-preflight.js +6 -1
  553. package/dist/workgraph/reparent-preflight.js.map +1 -1
  554. package/dist/workgraph/scaffold-apply.d.ts.map +1 -1
  555. package/dist/workgraph/scaffold-apply.js +81 -76
  556. package/dist/workgraph/scaffold-apply.js.map +1 -1
  557. package/dist/workgraph/structure-validation.d.ts +1 -1
  558. package/dist/workgraph/structure-validation.d.ts.map +1 -1
  559. package/dist/workgraph/structure-validation.js +6 -1
  560. package/dist/workgraph/structure-validation.js.map +1 -1
  561. package/migrations/drizzle-tasks/20260919180000_t12263-job-ownership-fences/migration.sql +34 -0
  562. package/migrations/drizzle-tasks/20260919184500_t12265-durable-pending-proposals/migration.sql +4 -0
  563. package/package.json +18 -13
  564. package/schemas/config.schema.json +2 -2
  565. package/templates/CLEO-INJECTION.md +103 -101
@@ -20,6 +20,11 @@ export type { BudgetedEntry, BudgetedResult, BudgetedRetrievalOptions } from '@c
20
20
  * @param projectRoot - Project root directory
21
21
  * @param params - Search parameters
22
22
  * @returns Compact search results with token estimate
23
+ * @remarks Explicit project ownership and the inherited operation lifetime are
24
+ * captured before asynchronous reads. Optional citation and retrieval-log writes
25
+ * are registered before return so the existing background barrier can await them.
26
+ * Session attribution is resolved before scheduling. Telemetry remains best-effort;
27
+ * this result does not claim durable telemetry outcomes or complete runtime callers.
23
28
  *
24
29
  * @example
25
30
  * ```ts
@@ -55,13 +60,21 @@ export declare function searchBrainCompact(projectRoot: string, params: SearchBr
55
60
  * - Walk list, accumulate token cost (≈ textLen/4), stop at budget.
56
61
  * - Episodic entries dropped first when budget is tight.
57
62
  *
58
- * Citation tracking: increments citationCount for returned entries in background (setImmediate).
63
+ * Citation tracking uses the existing background lifecycle barrier.
59
64
  *
60
65
  * @param projectRoot - Project root directory
61
66
  * @param query - Text to search for
62
67
  * @param tokenBudget - Maximum tokens to spend on results (default 500)
63
68
  * @param options - Optional filters (types, tiers, verified)
64
69
  * @returns Retrieved entries within budget with token accounting
70
+ * @remarks Explicit project scope and inherited execution are captured before
71
+ * reads. Citation writes retain that original deadline and cancellation; no new
72
+ * maintenance budget is created. Underlying telemetry remains best-effort and is
73
+ * not represented as a durable receipt in this result.
74
+ * @example
75
+ * ```ts
76
+ * const result = await retrieveWithBudget(projectRoot, 'authentication', 500);
77
+ * ```
65
78
  */
66
79
  export declare function retrieveWithBudget(projectRoot: string, query: string, tokenBudget?: number, options?: BudgetedRetrievalOptions): Promise<BudgetedResult>;
67
80
  //# sourceMappingURL=search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/memory/retrieval/search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAGV,cAAc,EACd,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAS7B,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAMnG;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,wBAAwB,CAAC,CAmTnC;AASD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,WAAW,SAAuB,EAClC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,cAAc,CAAC,CA0RzB"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/memory/retrieval/search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAGV,cAAc,EACd,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAS7B,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAMnG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,wBAAwB,CAAC,CAGnC;AA4XD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,WAAW,SAAuB,EAClC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,cAAc,CAAC,CAKzB"}
@@ -9,11 +9,11 @@
9
9
  * @epic T5149
10
10
  */
11
11
  import { memoryFindHitNext } from '../../mvi-helpers.js';
12
+ import { captureProjectScope, worktreeScope } from '../../project-scope.js';
12
13
  import { hybridSearch, searchBrain } from '../brain-search.js';
13
14
  import { searchSimilar } from '../brain-similarity.js';
14
- import { getCurrentSessionId } from './get-current-session-id.js';
15
- import { incrementCitationCounts } from './increment-citation-counts.js';
16
- import { logRetrieval } from './log-retrieval.js';
15
+ import { isCurrentMemoryEntry, memoryEligibilityClause } from '../eligibility.js';
16
+ import { scheduleCitationTracking, scheduleRetrievalTelemetry } from './telemetry.js';
17
17
  // ============================================================================
18
18
  // Layer 1: Compact Search
19
19
  // ============================================================================
@@ -27,6 +27,11 @@ import { logRetrieval } from './log-retrieval.js';
27
27
  * @param projectRoot - Project root directory
28
28
  * @param params - Search parameters
29
29
  * @returns Compact search results with token estimate
30
+ * @remarks Explicit project ownership and the inherited operation lifetime are
31
+ * captured before asynchronous reads. Optional citation and retrieval-log writes
32
+ * are registered before return so the existing background barrier can await them.
33
+ * Session attribution is resolved before scheduling. Telemetry remains best-effort;
34
+ * this result does not claim durable telemetry outcomes or complete runtime callers.
30
35
  *
31
36
  * @example
32
37
  * ```ts
@@ -45,7 +50,67 @@ import { logRetrieval } from './log-retrieval.js';
45
50
  * ```
46
51
  */
47
52
  export async function searchBrainCompact(projectRoot, params) {
48
- const { query, limit, tables, dateStart, dateEnd, agent, useRRF = true, peerId, includeGlobal, mode, since, } = params;
53
+ const scope = captureProjectScope(projectRoot, worktreeScope.getStore());
54
+ return worktreeScope.run(scope, () => searchBrainCompactScoped(scope.worktreeRoot, params));
55
+ }
56
+ async function searchBrainCompactScoped(projectRoot, params) {
57
+ if (params.agent && params.tables?.some((table) => table !== 'observations'))
58
+ throw new Error('Agent provenance filtering only supports observations');
59
+ const result = await searchBrainCompactCurrent(projectRoot, params);
60
+ if (params.includeHistory ||
61
+ params.agent ||
62
+ (params.tables && !params.tables.includes('decisions')) ||
63
+ !params.query.trim())
64
+ return result;
65
+ const historical = await searchBrain(projectRoot, params.query, {
66
+ tables: ['decisions'],
67
+ limit: Math.max(params.limit ?? 10, 10),
68
+ includeHistory: true,
69
+ peerId: params.peerId,
70
+ includeGlobal: params.includeGlobal,
71
+ });
72
+ const { getBrainAccessor } = await import('../../store/memory-accessor.js');
73
+ const accessor = await getBrainAccessor(projectRoot);
74
+ for (const match of historical.decisions) {
75
+ let decision = await accessor.getDecision(match.id);
76
+ const seen = new Set();
77
+ while (decision?.supersededBy && !seen.has(decision.id) && seen.size < 32) {
78
+ seen.add(decision.id);
79
+ decision = await accessor.getDecision(decision.supersededBy);
80
+ }
81
+ if (!decision || decision.id === match.id || !isCurrentMemoryEntry(decision))
82
+ continue;
83
+ if (params.peerId &&
84
+ decision.peerId !== params.peerId &&
85
+ !(params.includeGlobal !== false && decision.peerId === 'global'))
86
+ continue;
87
+ const date = decision.createdAt ?? '';
88
+ if ((params.since && date < params.since) ||
89
+ (params.dateStart && date < params.dateStart) ||
90
+ (params.dateEnd && date > params.dateEnd))
91
+ continue;
92
+ const existing = result.results.find((hit) => hit.id === decision.id && hit.type === 'decision');
93
+ if (existing) {
94
+ existing.matchedHistoricalIds = [...(existing.matchedHistoricalIds ?? []), match.id];
95
+ }
96
+ else {
97
+ result.results.unshift({
98
+ id: decision.id,
99
+ type: 'decision',
100
+ title: decision.decision.slice(0, 80),
101
+ date,
102
+ matchedHistoricalIds: [match.id],
103
+ _next: memoryFindHitNext(decision.id),
104
+ });
105
+ }
106
+ }
107
+ result.results = result.results.slice(0, params.limit ?? 10);
108
+ result.total = result.results.length;
109
+ result.tokensEstimated = result.total * 50;
110
+ return result;
111
+ }
112
+ async function searchBrainCompactCurrent(projectRoot, params) {
113
+ const { query, limit, tables, dateStart, dateEnd, agent, useRRF = true, peerId, includeGlobal, mode, since, includeHistory = false, } = params;
49
114
  if (!query?.trim()) {
50
115
  return { results: [], total: 0, tokensEstimated: 0 };
51
116
  }
@@ -61,41 +126,54 @@ export async function searchBrainCompact(projectRoot, params) {
61
126
  return { results: [], total: 0, tokensEstimated: 0 };
62
127
  }
63
128
  // Determine which tables to query
64
- const targetTables = tables && tables.length > 0 ? tables : ['observations', 'learnings', 'patterns', 'decisions'];
65
- const sinceClause = since ? ` AND created_at >= '${since}'` : '';
66
- const dateStartClause = dateStart ? ` AND created_at >= '${dateStart}'` : '';
67
- const dateEndClause = dateEnd ? ` AND created_at <= '${dateEnd}'` : '';
68
- const perTableLimit = effectiveLimit * 2;
129
+ const targetTables = tables && tables.length > 0
130
+ ? tables
131
+ : ['observations', 'learnings', 'patterns', 'decisions'];
69
132
  const results = [];
70
133
  for (const table of targetTables) {
71
- let sql;
72
- if (table === 'observations') {
73
- sql = `SELECT id, title, created_at FROM brain_observations WHERE 1=1${sinceClause}${dateStartClause}${dateEndClause} ORDER BY created_at DESC LIMIT ${perTableLimit}`;
74
- }
75
- else if (table === 'learnings') {
76
- sql = `SELECT id, insight AS title, created_at FROM brain_learnings WHERE 1=1${sinceClause}${dateStartClause}${dateEndClause} ORDER BY created_at DESC LIMIT ${perTableLimit}`;
77
- }
78
- else if (table === 'patterns') {
79
- sql = `SELECT id, pattern AS title, extracted_at AS created_at FROM brain_patterns WHERE 1=1${since ? ` AND extracted_at >= '${since}'` : ''}${dateStart ? ` AND extracted_at >= '${dateStart}'` : ''}${dateEnd ? ` AND extracted_at <= '${dateEnd}'` : ''} ORDER BY extracted_at DESC LIMIT ${perTableLimit}`;
134
+ const titleColumn = table === 'decisions'
135
+ ? 'decision'
136
+ : table === 'learnings'
137
+ ? 'insight'
138
+ : table === 'patterns'
139
+ ? 'pattern'
140
+ : 'title';
141
+ const dateColumn = table === 'patterns' ? 'extracted_at' : 'created_at';
142
+ const filters = [];
143
+ const values = [];
144
+ for (const lower of [since, dateStart]) {
145
+ if (lower) {
146
+ filters.push(`${dateColumn} >= ?`);
147
+ values.push(lower);
148
+ }
80
149
  }
81
- else {
82
- // decisions
83
- sql = `SELECT id, decision AS title, created_at FROM brain_decisions WHERE 1=1${sinceClause}${dateStartClause}${dateEndClause} ORDER BY created_at DESC LIMIT ${perTableLimit}`;
150
+ if (dateEnd) {
151
+ filters.push(`${dateColumn} <= ?`);
152
+ values.push(dateEnd);
84
153
  }
85
- try {
86
- const rows = nativeDb.prepare(sql).all();
87
- for (const row of rows) {
88
- results.push({
89
- id: row.id,
90
- type: table.replace(/s$/, ''),
91
- title: (row.title ?? '').slice(0, 80),
92
- date: row.created_at ?? '',
93
- relevance: 0,
94
- });
154
+ const dates = filters.length ? ` AND ${filters.join(' AND ')}` : '';
155
+ const rows = nativeDb
156
+ .prepare(`SELECT id, ${titleColumn} AS title, ${dateColumn} AS created_at FROM main.brain_${table} WHERE 1=1${memoryEligibilityClause(table, undefined, includeHistory)}${dates} ORDER BY ${dateColumn} DESC LIMIT ?`)
157
+ .all(...values, effectiveLimit * 2);
158
+ for (const row of rows) {
159
+ if (typeof row.id !== 'string' ||
160
+ typeof row.title !== 'string' ||
161
+ typeof row.created_at !== 'string') {
162
+ throw new Error(`Invalid source row in brain_${table}`);
95
163
  }
96
- }
97
- catch {
98
- // table missing or DB error — skip
164
+ results.push({
165
+ id: row.id,
166
+ type: table === 'decisions'
167
+ ? 'decision'
168
+ : table === 'patterns'
169
+ ? 'pattern'
170
+ : table === 'learnings'
171
+ ? 'learning'
172
+ : 'observation',
173
+ title: row.title.slice(0, 80),
174
+ date: row.created_at,
175
+ relevance: 0,
176
+ });
99
177
  }
100
178
  }
101
179
  // Sort globally by date descending, then trim to limit
@@ -107,7 +185,8 @@ export async function searchBrainCompact(projectRoot, params) {
107
185
  return { results: trimmed, total: trimmed.length, tokensEstimated: trimmed.length * 50 };
108
186
  }
109
187
  // ----- RRF path (default or mode=hybrid) -----
110
- if ((useRRF && !agentFilter && mode !== 'lexical') || (mode === 'hybrid' && !agentFilter)) {
188
+ if (!includeHistory &&
189
+ ((useRRF && !agentFilter && mode !== 'lexical') || (mode === 'hybrid' && !agentFilter))) {
111
190
  // Run FTS (for dates + table-level data) and RRF fusion in parallel.
112
191
  // FTS gives us row-level dates; RRF gives us the fused ranking order.
113
192
  const [ftsResult, rrfResults] = await Promise.all([
@@ -116,12 +195,7 @@ export async function searchBrainCompact(projectRoot, params) {
116
195
  tables,
117
196
  peerId,
118
197
  includeGlobal,
119
- }).catch(() => ({
120
- decisions: [],
121
- patterns: [],
122
- learnings: [],
123
- observations: [],
124
- })),
198
+ }),
125
199
  hybridSearch(query, projectRoot, { limit: effectiveLimit * 2 }),
126
200
  ]);
127
201
  // Build a date map from FTS rows (id -> date string)
@@ -192,14 +266,7 @@ export async function searchBrainCompact(projectRoot, params) {
192
266
  }
193
267
  if (results.length > 0) {
194
268
  const returnedIds = results.map((r) => r.id);
195
- setImmediate(() => {
196
- incrementCitationCounts(projectRoot, returnedIds).catch(() => { });
197
- getCurrentSessionId(projectRoot)
198
- .then((sessionId) => {
199
- return logRetrieval(projectRoot, query, returnedIds, 'find-rrf', results.length * 50, sessionId);
200
- })
201
- .catch(() => { });
202
- });
269
+ await scheduleRetrievalTelemetry(projectRoot, query, returnedIds, 'find-rrf', results.length * 50);
203
270
  }
204
271
  return { results, total: results.length, tokensEstimated: results.length * 50 };
205
272
  }
@@ -212,6 +279,7 @@ export async function searchBrainCompact(projectRoot, params) {
212
279
  tables: effectiveTables,
213
280
  peerId,
214
281
  includeGlobal,
282
+ includeHistory,
215
283
  });
216
284
  // Project full results to compact format.
217
285
  // Note: searchBrain() returns rows from raw SQL (nativeDb) which use
@@ -276,14 +344,7 @@ export async function searchBrainCompact(projectRoot, params) {
276
344
  // Citation tracking + retrieval logging (non-blocking)
277
345
  if (results.length > 0) {
278
346
  const returnedIds = results.map((r) => r.id);
279
- setImmediate(() => {
280
- incrementCitationCounts(projectRoot, returnedIds).catch(() => { });
281
- getCurrentSessionId(projectRoot)
282
- .then((sessionId) => {
283
- return logRetrieval(projectRoot, query, returnedIds, 'find', results.length * 50, sessionId);
284
- })
285
- .catch(() => { });
286
- });
347
+ await scheduleRetrievalTelemetry(projectRoot, query, returnedIds, 'find', results.length * 50);
287
348
  }
288
349
  return {
289
350
  results,
@@ -313,15 +374,27 @@ const DEFAULT_TOKEN_BUDGET = 500;
313
374
  * - Walk list, accumulate token cost (≈ textLen/4), stop at budget.
314
375
  * - Episodic entries dropped first when budget is tight.
315
376
  *
316
- * Citation tracking: increments citationCount for returned entries in background (setImmediate).
377
+ * Citation tracking uses the existing background lifecycle barrier.
317
378
  *
318
379
  * @param projectRoot - Project root directory
319
380
  * @param query - Text to search for
320
381
  * @param tokenBudget - Maximum tokens to spend on results (default 500)
321
382
  * @param options - Optional filters (types, tiers, verified)
322
383
  * @returns Retrieved entries within budget with token accounting
384
+ * @remarks Explicit project scope and inherited execution are captured before
385
+ * reads. Citation writes retain that original deadline and cancellation; no new
386
+ * maintenance budget is created. Underlying telemetry remains best-effort and is
387
+ * not represented as a durable receipt in this result.
388
+ * @example
389
+ * ```ts
390
+ * const result = await retrieveWithBudget(projectRoot, 'authentication', 500);
391
+ * ```
323
392
  */
324
393
  export async function retrieveWithBudget(projectRoot, query, tokenBudget = DEFAULT_TOKEN_BUDGET, options) {
394
+ const scope = captureProjectScope(projectRoot, worktreeScope.getStore());
395
+ return worktreeScope.run(scope, () => retrieveWithBudgetScoped(scope.worktreeRoot, query, tokenBudget, options));
396
+ }
397
+ async function retrieveWithBudgetScoped(projectRoot, query, tokenBudget, options) {
325
398
  if (!query?.trim()) {
326
399
  return { entries: [], tokensUsed: 0, tokensRemaining: tokenBudget, excluded: 0 };
327
400
  }
@@ -330,12 +403,7 @@ export async function retrieveWithBudget(projectRoot, query, tokenBudget = DEFAU
330
403
  // -------------------------------------------------------------------------
331
404
  const [ftsResult, vecResults, graphNeighbors] = await Promise.all([
332
405
  // A. FTS5
333
- searchBrain(projectRoot, query, { limit: 30 }).catch(() => ({
334
- decisions: [],
335
- patterns: [],
336
- learnings: [],
337
- observations: [],
338
- })),
406
+ searchBrain(projectRoot, query, { limit: 30 }),
339
407
  // B. Vector KNN (degrades gracefully when unavailable)
340
408
  searchSimilar(query, projectRoot, 20).catch(() => []),
341
409
  // C. Graph neighbors from top FTS hit
@@ -550,11 +618,7 @@ export async function retrieveWithBudget(projectRoot, query, tokenBudget = DEFAU
550
618
  // -------------------------------------------------------------------------
551
619
  if (result.length > 0) {
552
620
  const returnedIds = result.map((e) => e.id);
553
- setImmediate(() => {
554
- incrementCitationCounts(projectRoot, returnedIds).catch(() => {
555
- /* best-effort */
556
- });
557
- });
621
+ scheduleCitationTracking(projectRoot, returnedIds);
558
622
  }
559
623
  return {
560
624
  entries: result,
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/memory/retrieval/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/memory/retrieval/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Register optional citation writes within the caller's captured ownership.
3
+ * @param projectRoot - Explicit owning project root.
4
+ * @param entryIds - Returned evidence identities copied before scheduling.
5
+ * @returns No durable receipt; the existing background barrier observes completion.
6
+ * @remarks Reuses the inherited execution deadline and cancellation without a new
7
+ * budget or queue. Underlying citation failures remain best-effort.
8
+ * @example
9
+ * ```ts
10
+ * scheduleCitationTracking(projectRoot, ['O-example']);
11
+ * ```
12
+ */
13
+ export declare function scheduleCitationTracking(projectRoot: string, entryIds: string[]): void;
14
+ /**
15
+ * Capture attribution, then independently register citations and a retrieval log.
16
+ * @param projectRoot - Explicit owning project root.
17
+ * @param query - Original search query or exact fetched identity list.
18
+ * @param entryIds - Returned evidence identities copied before asynchronous work.
19
+ * @param source - Existing retrieval path label retained in the log.
20
+ * @param tokensUsed - Existing estimated token count, without recalculating policy.
21
+ * @returns Completion of session capture and scheduling, not a durable telemetry receipt.
22
+ * @remarks Both writers retain the original operation lifetime. A failed sibling
23
+ * cannot release the barrier over pending work. No global session is resolved
24
+ * after scheduling; underlying telemetry failures remain best-effort.
25
+ * @example
26
+ * ```ts
27
+ * await scheduleRetrievalTelemetry(projectRoot, 'auth', ['O-example'], 'find', 50);
28
+ * ```
29
+ */
30
+ export declare function scheduleRetrievalTelemetry(projectRoot: string, query: string, entryIds: string[], source: string, tokensUsed: number): Promise<void>;
31
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../../src/memory/retrieval/telemetry.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAOtF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAcf"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Optional retrieval telemetry registered with the existing operation lifecycle.
3
+ * Code placed in `packages/core/` per Package-Boundary Check — verified against AGENTS.md.
4
+ * @packageDocumentation
5
+ */
6
+ import { captureProjectScope, worktreeScope } from '../../project-scope.js';
7
+ import { trackBackgroundOp } from '../../store/background-ops.js';
8
+ import { getCurrentSessionId } from './get-current-session-id.js';
9
+ import { incrementCitationCounts } from './increment-citation-counts.js';
10
+ import { logRetrieval } from './log-retrieval.js';
11
+ /**
12
+ * Register optional citation writes within the caller's captured ownership.
13
+ * @param projectRoot - Explicit owning project root.
14
+ * @param entryIds - Returned evidence identities copied before scheduling.
15
+ * @returns No durable receipt; the existing background barrier observes completion.
16
+ * @remarks Reuses the inherited execution deadline and cancellation without a new
17
+ * budget or queue. Underlying citation failures remain best-effort.
18
+ * @example
19
+ * ```ts
20
+ * scheduleCitationTracking(projectRoot, ['O-example']);
21
+ * ```
22
+ */
23
+ export function scheduleCitationTracking(projectRoot, entryIds) {
24
+ const scope = captureProjectScope(projectRoot, worktreeScope.getStore());
25
+ const ids = [...entryIds];
26
+ trackBackgroundOp(() => worktreeScope.run(scope, () => incrementCitationCounts(scope.worktreeRoot, ids)), scope.execution);
27
+ }
28
+ /**
29
+ * Capture attribution, then independently register citations and a retrieval log.
30
+ * @param projectRoot - Explicit owning project root.
31
+ * @param query - Original search query or exact fetched identity list.
32
+ * @param entryIds - Returned evidence identities copied before asynchronous work.
33
+ * @param source - Existing retrieval path label retained in the log.
34
+ * @param tokensUsed - Existing estimated token count, without recalculating policy.
35
+ * @returns Completion of session capture and scheduling, not a durable telemetry receipt.
36
+ * @remarks Both writers retain the original operation lifetime. A failed sibling
37
+ * cannot release the barrier over pending work. No global session is resolved
38
+ * after scheduling; underlying telemetry failures remain best-effort.
39
+ * @example
40
+ * ```ts
41
+ * await scheduleRetrievalTelemetry(projectRoot, 'auth', ['O-example'], 'find', 50);
42
+ * ```
43
+ */
44
+ export async function scheduleRetrievalTelemetry(projectRoot, query, entryIds, source, tokensUsed) {
45
+ const scope = captureProjectScope(projectRoot, worktreeScope.getStore());
46
+ const ids = [...entryIds];
47
+ return worktreeScope.run(scope, async () => {
48
+ const sessionId = await getCurrentSessionId(scope.worktreeRoot);
49
+ scheduleCitationTracking(scope.worktreeRoot, ids);
50
+ trackBackgroundOp(() => worktreeScope.run(scope, () => logRetrieval(scope.worktreeRoot, query, ids, source, tokensUsed, sessionId)), scope.execution);
51
+ });
52
+ }
53
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/memory/retrieval/telemetry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAmB,EAAE,QAAkB;IAC9E,MAAM,KAAK,GAAG,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,iBAAiB,CACf,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,EACtF,KAAK,CAAC,SAAS,CAChB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,WAAmB,EACnB,KAAa,EACb,QAAkB,EAClB,MAAc,EACd,UAAkB;IAElB,MAAM,KAAK,GAAG,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChE,wBAAwB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAClD,iBAAiB,CACf,GAAG,EAAE,CACH,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAC5B,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAC5E,EACH,KAAK,CAAC,SAAS,CAChB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,23 +1,46 @@
1
1
  /**
2
2
  * Nexus analyze orchestrator — business logic extracted from `cleo nexus analyze`.
3
3
  *
4
- * Runs the code-intelligence pipeline, clears the existing index for full runs,
4
+ * Stages a replacement code graph and publishes it atomically,
5
5
  * refreshes the nexus-bridge, updates the multi-project registry, and sweeps
6
- * the git log for task–symbol links. All side-effects are best-effort and do
7
- * not fail the pipeline on error.
6
+ * the git log for task–symbol links. Post-publication hooks are best-effort.
8
7
  *
9
8
  * @module nexus/analyze-orchestrator
10
9
  * @epic T9833
11
10
  * @task T10062
12
11
  */
12
+ import type { GraphIndexAssessment, GraphPublicationRows, ParserExecutionLimits } from '@cleocode/contracts';
13
+ import type { NodeSQLiteDatabase } from 'drizzle-orm/node-sqlite';
14
+ /**
15
+ * Atomically publish staged rows if the graph has not changed since assessment.
16
+ * Failed inserts, FTS repair, or stale generations roll back the entire replacement.
17
+ * Code placed in `packages/core/` per Package-Boundary Check — verified against AGENTS.md.
18
+ * @param db - Owning project graph database with the canonical schema installed.
19
+ * @param rows - Validated staged nodes, relations and source assessment to publish.
20
+ * @param expectedGeneration - Previously observed generation; null for the first publication.
21
+ * @remarks The transaction rejects stale generation preconditions and restores the
22
+ * prior live rows on failure. Successful replacement does not itself retain an
23
+ * independently recoverable historical generation.
24
+ * @example
25
+ * ```ts
26
+ * publishNexusGraph(db, stagedRows, expectedGeneration);
27
+ * ```
28
+ */
29
+ export declare function publishNexusGraph(db: NodeSQLiteDatabase, rows: GraphPublicationRows, expectedGeneration: string | null): void;
13
30
  /** Parameters for {@link runNexusAnalysis}. */
14
31
  export interface NexusAnalysisParams {
32
+ /** Per-file parser bounds and cancellation; native RSS containment is unverified. */
33
+ parserLimits?: ParserExecutionLimits;
15
34
  /** Absolute path to the repository to analyze. */
16
35
  repoPath: string;
17
- /** Override the project ID (default: `base64url(repoPath).slice(0, 32)`). */
36
+ /** Stable identity parent; defaults to repoPath and can differ from the analyzed source. */
37
+ projectRoot?: string;
38
+ /** Explicit existing identity override; otherwise require persisted parent identity. */
18
39
  projectIdOverride?: string;
19
- /** When true, only re-index files that changed since the last run. */
40
+ /** When true, skip unchanged indexes and atomically rebuild changed generations. */
20
41
  incremental?: boolean;
42
+ /** Explicit relative paths of nested repositories authorized for source inclusion. */
43
+ includedRepositories?: readonly string[];
21
44
  /**
22
45
  * Progress callback invoked every 50 files (and on completion).
23
46
  * Omit for JSON output mode.
@@ -33,21 +56,30 @@ export interface NexusAnalysisResult {
33
56
  relationCount: number;
34
57
  fileCount: number;
35
58
  durationMs: number;
59
+ /** Committed per-file outcomes and source provenance. */
60
+ assessment: GraphIndexAssessment | null;
36
61
  }
37
62
  /**
38
63
  * Run the nexus code-intelligence pipeline on a repository.
39
64
  *
40
65
  * This function:
41
- * 1. Derives the project ID.
42
- * 2. For full runs, clears the existing nexus index.
43
- * 3. Runs `@cleocode/nexus` pipeline.
66
+ * 1. Captures the existing parent identity and explicit source roots.
67
+ * 2. Captures the current graph generation for concurrent-write detection.
68
+ * 3. Stages and atomically publishes the `@cleocode/nexus` pipeline output.
44
69
  * 4. Best-effort: refreshes `nexus-bridge.md`.
45
70
  * 5. Best-effort: updates the multi-project registry.
46
71
  * 6. Best-effort: sweeps the git log for task–symbol links.
47
72
  *
48
73
  * @param params - Analysis configuration
49
74
  * @returns Pipeline result with node/relation/file counts and duration
50
- * @throws {Error} When the pipeline itself fails (best-effort steps never throw)
75
+ * @throws {Error} When identity, source preconditions or the pipeline fail.
76
+ * @remarks Root revisions and file hashes are optimistic preconditions, not a
77
+ * filesystem lock. Publication uses the owning store's synchronous generation CAS;
78
+ * optional post-publication hooks cannot replace its committed result.
79
+ * @example
80
+ * ```ts
81
+ * const result = await runNexusAnalysis({ repoPath: '/identity', includedRepositories: ['app'] });
82
+ * ```
51
83
  */
52
84
  export declare function runNexusAnalysis(params: NexusAnalysisParams): Promise<NexusAnalysisResult>;
53
85
  //# sourceMappingURL=analyze-orchestrator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-orchestrator.d.ts","sourceRoot":"","sources":["../../src/nexus/analyze-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzE;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA+GhG"}
1
+ {"version":3,"file":"analyze-orchestrator.d.ts","sourceRoot":"","sources":["../../src/nexus/analyze-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EACV,oBAAoB,EAEpB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA6FlE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,kBAAkB,EACtB,IAAI,EAAE,oBAAoB,EAC1B,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAChC,IAAI,CAgEN;AAMD,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oFAAoF;IACpF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sFAAsF;IACtF,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzE;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACzC;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAgBhG"}