@cleocode/core 2026.9.19 → 2026.9.21

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 (863) hide show
  1. package/dist/adapters/discovery.d.ts.map +1 -1
  2. package/dist/adapters/discovery.js +3 -10
  3. package/dist/adapters/discovery.js.map +1 -1
  4. package/dist/adrs/link-pipeline.js +2 -2
  5. package/dist/adrs/link-pipeline.js.map +1 -1
  6. package/dist/adrs/parse.js +3 -3
  7. package/dist/adrs/parse.js.map +1 -1
  8. package/dist/agents/invoke-meta-agent.d.ts.map +1 -1
  9. package/dist/agents/invoke-meta-agent.js +8 -4
  10. package/dist/agents/invoke-meta-agent.js.map +1 -1
  11. package/dist/bootstrap.d.ts +5 -1
  12. package/dist/bootstrap.d.ts.map +1 -1
  13. package/dist/bootstrap.js +41 -21
  14. package/dist/bootstrap.js.map +1 -1
  15. package/dist/cloud/crypto.d.ts +47 -0
  16. package/dist/cloud/crypto.d.ts.map +1 -0
  17. package/dist/cloud/crypto.js +223 -0
  18. package/dist/cloud/crypto.js.map +1 -0
  19. package/dist/cloud/http.d.ts +52 -0
  20. package/dist/cloud/http.d.ts.map +1 -0
  21. package/dist/cloud/http.js +98 -0
  22. package/dist/cloud/http.js.map +1 -0
  23. package/dist/cloud/index.d.ts +19 -0
  24. package/dist/cloud/index.d.ts.map +1 -0
  25. package/dist/cloud/index.js +19 -0
  26. package/dist/cloud/index.js.map +1 -0
  27. package/dist/cloud/journal.d.ts +169 -0
  28. package/dist/cloud/journal.d.ts.map +1 -0
  29. package/dist/cloud/journal.js +428 -0
  30. package/dist/cloud/journal.js.map +1 -0
  31. package/dist/cloud/keys.d.ts +213 -0
  32. package/dist/cloud/keys.d.ts.map +1 -0
  33. package/dist/cloud/keys.js +362 -0
  34. package/dist/cloud/keys.js.map +1 -0
  35. package/dist/cloud/manifest-check.d.ts +36 -0
  36. package/dist/cloud/manifest-check.d.ts.map +1 -0
  37. package/dist/cloud/manifest-check.js +70 -0
  38. package/dist/cloud/manifest-check.js.map +1 -0
  39. package/dist/cloud/projects.d.ts +13 -0
  40. package/dist/cloud/projects.d.ts.map +1 -0
  41. package/dist/cloud/projects.js +11 -0
  42. package/dist/cloud/projects.js.map +1 -0
  43. package/dist/cloud/signing.d.ts +105 -0
  44. package/dist/cloud/signing.d.ts.map +1 -0
  45. package/dist/cloud/signing.js +117 -0
  46. package/dist/cloud/signing.js.map +1 -0
  47. package/dist/cloud/streams.d.ts +6 -0
  48. package/dist/cloud/streams.d.ts.map +1 -0
  49. package/dist/cloud/streams.js +5 -0
  50. package/dist/cloud/streams.js.map +1 -0
  51. package/dist/decide/audit.d.ts +131 -0
  52. package/dist/decide/audit.d.ts.map +1 -0
  53. package/dist/decide/audit.js +98 -0
  54. package/dist/decide/audit.js.map +1 -0
  55. package/dist/decide/budget.d.ts +91 -0
  56. package/dist/decide/budget.d.ts.map +1 -0
  57. package/dist/decide/budget.js +194 -0
  58. package/dist/decide/budget.js.map +1 -0
  59. package/dist/decide/cache.d.ts +49 -0
  60. package/dist/decide/cache.d.ts.map +1 -0
  61. package/dist/decide/cache.js +87 -0
  62. package/dist/decide/cache.js.map +1 -0
  63. package/dist/decide/client.d.ts +103 -0
  64. package/dist/decide/client.d.ts.map +1 -0
  65. package/dist/decide/client.js +262 -0
  66. package/dist/decide/client.js.map +1 -0
  67. package/dist/decide/credentials.d.ts +159 -0
  68. package/dist/decide/credentials.d.ts.map +1 -0
  69. package/dist/decide/credentials.js +383 -0
  70. package/dist/decide/credentials.js.map +1 -0
  71. package/dist/decide/index.d.ts +18 -0
  72. package/dist/decide/index.d.ts.map +1 -0
  73. package/dist/decide/index.js +18 -0
  74. package/dist/decide/index.js.map +1 -0
  75. package/dist/decide/jev-wire.d.ts +155 -0
  76. package/dist/decide/jev-wire.d.ts.map +1 -0
  77. package/dist/decide/jev-wire.js +420 -0
  78. package/dist/decide/jev-wire.js.map +1 -0
  79. package/dist/decide/operations.d.ts +152 -0
  80. package/dist/decide/operations.d.ts.map +1 -0
  81. package/dist/decide/operations.js +199 -0
  82. package/dist/decide/operations.js.map +1 -0
  83. package/dist/decide/provider.d.ts +90 -0
  84. package/dist/decide/provider.d.ts.map +1 -0
  85. package/dist/decide/provider.js +43 -0
  86. package/dist/decide/provider.js.map +1 -0
  87. package/dist/decide/site.d.ts +148 -0
  88. package/dist/decide/site.d.ts.map +1 -0
  89. package/dist/decide/site.js +181 -0
  90. package/dist/decide/site.js.map +1 -0
  91. package/dist/decide/transport.d.ts +67 -0
  92. package/dist/decide/transport.d.ts.map +1 -0
  93. package/dist/decide/transport.js +350 -0
  94. package/dist/decide/transport.js.map +1 -0
  95. package/dist/docs/export-document.js +5908 -2436
  96. package/dist/docs/export-document.js.map +3 -3
  97. package/dist/docs/index.d.ts +2 -2
  98. package/dist/docs/index.d.ts.map +1 -1
  99. package/dist/docs/index.js +1 -1
  100. package/dist/docs/index.js.map +1 -1
  101. package/dist/docs/projection.d.ts.map +1 -1
  102. package/dist/docs/projection.js +2 -3
  103. package/dist/docs/projection.js.map +1 -1
  104. package/dist/docs/publish-pr.d.ts +69 -1
  105. package/dist/docs/publish-pr.d.ts.map +1 -1
  106. package/dist/docs/publish-pr.js +112 -10
  107. package/dist/docs/publish-pr.js.map +1 -1
  108. package/dist/doctor/db-substrate.d.ts +13 -8
  109. package/dist/doctor/db-substrate.d.ts.map +1 -1
  110. package/dist/doctor/db-substrate.js +39 -26
  111. package/dist/doctor/db-substrate.js.map +1 -1
  112. package/dist/doctor/index.d.ts +2 -0
  113. package/dist/doctor/index.d.ts.map +1 -1
  114. package/dist/doctor/index.js +1 -0
  115. package/dist/doctor/index.js.map +1 -1
  116. package/dist/doctor/knowledge.d.ts.map +1 -1
  117. package/dist/doctor/knowledge.js +5 -15
  118. package/dist/doctor/knowledge.js.map +1 -1
  119. package/dist/doctor/nexus-schema-residency.d.ts +1 -1
  120. package/dist/doctor/nexus-schema-residency.d.ts.map +1 -1
  121. package/dist/doctor/nexus-schema-residency.js +3 -0
  122. package/dist/doctor/nexus-schema-residency.js.map +1 -1
  123. package/dist/doctor/project-identity.d.ts +44 -1
  124. package/dist/doctor/project-identity.d.ts.map +1 -1
  125. package/dist/doctor/project-identity.js +237 -10
  126. package/dist/doctor/project-identity.js.map +1 -1
  127. package/dist/doctor/projects.d.ts +170 -0
  128. package/dist/doctor/projects.d.ts.map +1 -0
  129. package/dist/doctor/projects.js +1075 -0
  130. package/dist/doctor/projects.js.map +1 -0
  131. package/dist/doctor/twin-collapse.d.ts +97 -0
  132. package/dist/doctor/twin-collapse.d.ts.map +1 -0
  133. package/dist/doctor/twin-collapse.js +168 -0
  134. package/dist/doctor/twin-collapse.js.map +1 -0
  135. package/dist/doctor/worktree-orphans.d.ts.map +1 -1
  136. package/dist/doctor/worktree-orphans.js +13 -29
  137. package/dist/doctor/worktree-orphans.js.map +1 -1
  138. package/dist/doctor/worktree-stores.d.ts +128 -0
  139. package/dist/doctor/worktree-stores.d.ts.map +1 -0
  140. package/dist/doctor/worktree-stores.js +374 -0
  141. package/dist/doctor/worktree-stores.js.map +1 -0
  142. package/dist/engine/engine-ops.d.ts.map +1 -1
  143. package/dist/engine/engine-ops.js +59 -23
  144. package/dist/engine/engine-ops.js.map +1 -1
  145. package/dist/error-catalog.d.ts.map +1 -1
  146. package/dist/error-catalog.js +21 -0
  147. package/dist/error-catalog.js.map +1 -1
  148. package/dist/error-registry.d.ts.map +1 -1
  149. package/dist/error-registry.js +40 -0
  150. package/dist/error-registry.js.map +1 -1
  151. package/dist/gc/cleanup.d.ts.map +1 -1
  152. package/dist/gc/cleanup.js +32 -19
  153. package/dist/gc/cleanup.js.map +1 -1
  154. package/dist/git/bounded-git.d.ts +170 -0
  155. package/dist/git/bounded-git.d.ts.map +1 -0
  156. package/dist/git/bounded-git.js +371 -0
  157. package/dist/git/bounded-git.js.map +1 -0
  158. package/dist/git/work-tree.d.ts +20 -0
  159. package/dist/git/work-tree.d.ts.map +1 -1
  160. package/dist/git/work-tree.js +20 -2
  161. package/dist/git/work-tree.js.map +1 -1
  162. package/dist/hooks/handlers/session-hooks.d.ts +11 -26
  163. package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
  164. package/dist/hooks/handlers/session-hooks.js +18 -47
  165. package/dist/hooks/handlers/session-hooks.js.map +1 -1
  166. package/dist/hooks/payload-schemas.d.ts +2 -2
  167. package/dist/index.d.ts +6 -5
  168. package/dist/index.d.ts.map +1 -1
  169. package/dist/index.js +5 -3
  170. package/dist/index.js.map +1 -1
  171. package/dist/init/engine-ops.d.ts.map +1 -1
  172. package/dist/init/engine-ops.js +23 -1
  173. package/dist/init/engine-ops.js.map +1 -1
  174. package/dist/init.d.ts +158 -1
  175. package/dist/init.d.ts.map +1 -1
  176. package/dist/init.js +535 -44
  177. package/dist/init.js.map +1 -1
  178. package/dist/injection.d.ts +55 -0
  179. package/dist/injection.d.ts.map +1 -1
  180. package/dist/injection.js +102 -6
  181. package/dist/injection.js.map +1 -1
  182. package/dist/internal.d.ts +9 -5
  183. package/dist/internal.d.ts.map +1 -1
  184. package/dist/internal.js +8 -4
  185. package/dist/internal.js.map +1 -1
  186. package/dist/issue/diagnostics.d.ts.map +1 -1
  187. package/dist/issue/diagnostics.js +2 -1
  188. package/dist/issue/diagnostics.js.map +1 -1
  189. package/dist/lib/concurrency.d.ts +25 -0
  190. package/dist/lib/concurrency.d.ts.map +1 -0
  191. package/dist/lib/concurrency.js +43 -0
  192. package/dist/lib/concurrency.js.map +1 -0
  193. package/dist/lib/index.d.ts +1 -0
  194. package/dist/lib/index.d.ts.map +1 -1
  195. package/dist/lib/index.js +1 -0
  196. package/dist/lib/index.js.map +1 -1
  197. package/dist/lifecycle/engine-ops.d.ts.map +1 -1
  198. package/dist/lifecycle/engine-ops.js +4 -2
  199. package/dist/lifecycle/engine-ops.js.map +1 -1
  200. package/dist/lifecycle/stage-guidance.d.ts +5 -0
  201. package/dist/lifecycle/stage-guidance.d.ts.map +1 -1
  202. package/dist/lifecycle/stage-guidance.js +14 -4
  203. package/dist/lifecycle/stage-guidance.js.map +1 -1
  204. package/dist/llm/catalog-cache.d.ts +3 -2
  205. package/dist/llm/catalog-cache.d.ts.map +1 -1
  206. package/dist/llm/catalog-cache.js +5 -5
  207. package/dist/llm/catalog-cache.js.map +1 -1
  208. package/dist/llm/credentials.d.ts +4 -4
  209. package/dist/llm/credentials.js +6 -6
  210. package/dist/llm/credentials.js.map +1 -1
  211. package/dist/llm/plugin-facade.js +4312 -1798
  212. package/dist/llm/plugin-facade.js.map +3 -3
  213. package/dist/llm/stable-device-id.d.ts.map +1 -1
  214. package/dist/llm/stable-device-id.js +3 -5
  215. package/dist/llm/stable-device-id.js.map +1 -1
  216. package/dist/memory/attention.d.ts.map +1 -1
  217. package/dist/memory/attention.js +30 -30
  218. package/dist/memory/attention.js.map +1 -1
  219. package/dist/memory/decision-contradiction.d.ts +152 -0
  220. package/dist/memory/decision-contradiction.d.ts.map +1 -0
  221. package/dist/memory/decision-contradiction.js +273 -0
  222. package/dist/memory/decision-contradiction.js.map +1 -0
  223. package/dist/memory/decisions.d.ts +42 -11
  224. package/dist/memory/decisions.d.ts.map +1 -1
  225. package/dist/memory/decisions.js +153 -56
  226. package/dist/memory/decisions.js.map +1 -1
  227. package/dist/memory/dialectic-evaluator.d.ts +7 -0
  228. package/dist/memory/dialectic-evaluator.d.ts.map +1 -1
  229. package/dist/memory/dialectic-evaluator.js +23 -8
  230. package/dist/memory/dialectic-evaluator.js.map +1 -1
  231. package/dist/memory/dispatch-trace-format.d.ts +39 -0
  232. package/dist/memory/dispatch-trace-format.d.ts.map +1 -0
  233. package/dist/memory/dispatch-trace-format.js +54 -0
  234. package/dist/memory/dispatch-trace-format.js.map +1 -0
  235. package/dist/memory/dispatch-trace.d.ts.map +1 -1
  236. package/dist/memory/dispatch-trace.js +1 -27
  237. package/dist/memory/dispatch-trace.js.map +1 -1
  238. package/dist/memory/engine-compat.d.ts +2 -0
  239. package/dist/memory/engine-compat.d.ts.map +1 -1
  240. package/dist/memory/engine-compat.js +1 -0
  241. package/dist/memory/engine-compat.js.map +1 -1
  242. package/dist/memory/import-from-provider.js +3 -3
  243. package/dist/memory/import-from-provider.js.map +1 -1
  244. package/dist/memory/learnings.d.ts +2 -2
  245. package/dist/memory/observation-type-decision.d.ts +96 -0
  246. package/dist/memory/observation-type-decision.d.ts.map +1 -0
  247. package/dist/memory/observation-type-decision.js +218 -0
  248. package/dist/memory/observation-type-decision.js.map +1 -0
  249. package/dist/memory/redaction.js +2 -0
  250. package/dist/memory/redaction.js.map +1 -1
  251. package/dist/memory/retrieval/build-retrieval-bundle.d.ts +9 -2
  252. package/dist/memory/retrieval/build-retrieval-bundle.d.ts.map +1 -1
  253. package/dist/memory/retrieval/build-retrieval-bundle.js +42 -11
  254. package/dist/memory/retrieval/build-retrieval-bundle.js.map +1 -1
  255. package/dist/memory/retrieval/get-current-session-id.d.ts +5 -0
  256. package/dist/memory/retrieval/get-current-session-id.d.ts.map +1 -1
  257. package/dist/memory/retrieval/get-current-session-id.js +7 -2
  258. package/dist/memory/retrieval/get-current-session-id.js.map +1 -1
  259. package/dist/memory/retrieval/observe.d.ts.map +1 -1
  260. package/dist/memory/retrieval/observe.js +30 -29
  261. package/dist/memory/retrieval/observe.js.map +1 -1
  262. package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
  263. package/dist/nexus/analyze-orchestrator.js +42 -29
  264. package/dist/nexus/analyze-orchestrator.js.map +1 -1
  265. package/dist/nexus/assessment-projection.d.ts +76 -0
  266. package/dist/nexus/assessment-projection.d.ts.map +1 -0
  267. package/dist/nexus/assessment-projection.js +143 -0
  268. package/dist/nexus/assessment-projection.js.map +1 -0
  269. package/dist/nexus/assessment-store.d.ts +14 -2
  270. package/dist/nexus/assessment-store.d.ts.map +1 -1
  271. package/dist/nexus/assessment-store.js +21 -3
  272. package/dist/nexus/assessment-store.js.map +1 -1
  273. package/dist/nexus/checkout-nonce.d.ts +48 -0
  274. package/dist/nexus/checkout-nonce.d.ts.map +1 -0
  275. package/dist/nexus/checkout-nonce.js +84 -0
  276. package/dist/nexus/checkout-nonce.js.map +1 -0
  277. package/dist/nexus/devices.d.ts +93 -0
  278. package/dist/nexus/devices.d.ts.map +1 -0
  279. package/dist/nexus/devices.js +141 -0
  280. package/dist/nexus/devices.js.map +1 -0
  281. package/dist/nexus/freshness.d.ts.map +1 -1
  282. package/dist/nexus/freshness.js +25 -6
  283. package/dist/nexus/freshness.js.map +1 -1
  284. package/dist/nexus/git-state.d.ts +225 -0
  285. package/dist/nexus/git-state.d.ts.map +1 -0
  286. package/dist/nexus/git-state.js +677 -0
  287. package/dist/nexus/git-state.js.map +1 -0
  288. package/dist/nexus/graph-manifest.d.ts +20 -4
  289. package/dist/nexus/graph-manifest.d.ts.map +1 -1
  290. package/dist/nexus/graph-manifest.js +40 -5
  291. package/dist/nexus/graph-manifest.js.map +1 -1
  292. package/dist/nexus/identity.d.ts +68 -23
  293. package/dist/nexus/identity.d.ts.map +1 -1
  294. package/dist/nexus/identity.js +99 -22
  295. package/dist/nexus/identity.js.map +1 -1
  296. package/dist/nexus/index.d.ts +5 -2
  297. package/dist/nexus/index.d.ts.map +1 -1
  298. package/dist/nexus/index.js +10 -4
  299. package/dist/nexus/index.js.map +1 -1
  300. package/dist/nexus/knowledge.d.ts +5 -0
  301. package/dist/nexus/knowledge.d.ts.map +1 -1
  302. package/dist/nexus/knowledge.js +26 -2
  303. package/dist/nexus/knowledge.js.map +1 -1
  304. package/dist/nexus/legacy-alias.d.ts +60 -0
  305. package/dist/nexus/legacy-alias.d.ts.map +1 -0
  306. package/dist/nexus/legacy-alias.js +68 -0
  307. package/dist/nexus/legacy-alias.js.map +1 -0
  308. package/dist/nexus/migrate-json-to-sqlite.js +2 -2
  309. package/dist/nexus/migrate-json-to-sqlite.js.map +1 -1
  310. package/dist/nexus/ops.d.ts +1 -0
  311. package/dist/nexus/ops.d.ts.map +1 -1
  312. package/dist/nexus/path-map.d.ts +264 -20
  313. package/dist/nexus/path-map.d.ts.map +1 -1
  314. package/dist/nexus/path-map.js +580 -44
  315. package/dist/nexus/path-map.js.map +1 -1
  316. package/dist/nexus/projects-clean.d.ts +9 -1
  317. package/dist/nexus/projects-clean.d.ts.map +1 -1
  318. package/dist/nexus/projects-clean.js +126 -14
  319. package/dist/nexus/projects-clean.js.map +1 -1
  320. package/dist/nexus/projects-scan.d.ts +56 -1
  321. package/dist/nexus/projects-scan.d.ts.map +1 -1
  322. package/dist/nexus/projects-scan.js +144 -3
  323. package/dist/nexus/projects-scan.js.map +1 -1
  324. package/dist/nexus/registry-hygiene.d.ts +18 -2
  325. package/dist/nexus/registry-hygiene.d.ts.map +1 -1
  326. package/dist/nexus/registry-hygiene.js +37 -11
  327. package/dist/nexus/registry-hygiene.js.map +1 -1
  328. package/dist/nexus/registry-roots.d.ts +47 -0
  329. package/dist/nexus/registry-roots.d.ts.map +1 -0
  330. package/dist/nexus/registry-roots.js +79 -0
  331. package/dist/nexus/registry-roots.js.map +1 -0
  332. package/dist/nexus/registry.d.ts +50 -9
  333. package/dist/nexus/registry.d.ts.map +1 -1
  334. package/dist/nexus/registry.js +311 -156
  335. package/dist/nexus/registry.js.map +1 -1
  336. package/dist/nexus/stored-roots.d.ts +106 -0
  337. package/dist/nexus/stored-roots.d.ts.map +1 -0
  338. package/dist/nexus/stored-roots.js +180 -0
  339. package/dist/nexus/stored-roots.js.map +1 -0
  340. package/dist/nexus/transfer.d.ts.map +1 -1
  341. package/dist/nexus/transfer.js +3 -0
  342. package/dist/nexus/transfer.js.map +1 -1
  343. package/dist/nexus/user-profile-hygiene.d.ts +168 -0
  344. package/dist/nexus/user-profile-hygiene.d.ts.map +1 -0
  345. package/dist/nexus/user-profile-hygiene.js +305 -0
  346. package/dist/nexus/user-profile-hygiene.js.map +1 -0
  347. package/dist/nexus/user-profile.d.ts +53 -2
  348. package/dist/nexus/user-profile.d.ts.map +1 -1
  349. package/dist/nexus/user-profile.js +106 -4
  350. package/dist/nexus/user-profile.js.map +1 -1
  351. package/dist/orchestrate/pivot.d.ts.map +1 -1
  352. package/dist/orchestrate/pivot.js +5 -1
  353. package/dist/orchestrate/pivot.js.map +1 -1
  354. package/dist/orchestrate/spawn-ops.d.ts +12 -0
  355. package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
  356. package/dist/orchestrate/spawn-ops.js +152 -57
  357. package/dist/orchestrate/spawn-ops.js.map +1 -1
  358. package/dist/orchestration/classify-readiness.d.ts +37 -1
  359. package/dist/orchestration/classify-readiness.d.ts.map +1 -1
  360. package/dist/orchestration/classify-readiness.js +48 -19
  361. package/dist/orchestration/classify-readiness.js.map +1 -1
  362. package/dist/orchestration/index.d.ts +3 -2
  363. package/dist/orchestration/index.d.ts.map +1 -1
  364. package/dist/orchestration/index.js +2 -1
  365. package/dist/orchestration/index.js.map +1 -1
  366. package/dist/orchestration/owner-decision-readiness.d.ts +88 -0
  367. package/dist/orchestration/owner-decision-readiness.d.ts.map +1 -0
  368. package/dist/orchestration/owner-decision-readiness.js +152 -0
  369. package/dist/orchestration/owner-decision-readiness.js.map +1 -0
  370. package/dist/orchestration/psyche-memory-budget.d.ts +105 -0
  371. package/dist/orchestration/psyche-memory-budget.d.ts.map +1 -0
  372. package/dist/orchestration/psyche-memory-budget.js +383 -0
  373. package/dist/orchestration/psyche-memory-budget.js.map +1 -0
  374. package/dist/orchestration/spawn-prompt.d.ts +12 -1
  375. package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
  376. package/dist/orchestration/spawn-prompt.js +141 -179
  377. package/dist/orchestration/spawn-prompt.js.map +1 -1
  378. package/dist/orchestration/spawn.d.ts +7 -0
  379. package/dist/orchestration/spawn.d.ts.map +1 -1
  380. package/dist/orchestration/spawn.js +1 -0
  381. package/dist/orchestration/spawn.js.map +1 -1
  382. package/dist/paths.d.ts +24 -8
  383. package/dist/paths.d.ts.map +1 -1
  384. package/dist/paths.js +135 -71
  385. package/dist/paths.js.map +1 -1
  386. package/dist/platform.d.ts +6 -1
  387. package/dist/platform.d.ts.map +1 -1
  388. package/dist/platform.js +8 -19
  389. package/dist/platform.js.map +1 -1
  390. package/dist/project-info.d.ts +18 -0
  391. package/dist/project-info.d.ts.map +1 -1
  392. package/dist/project-info.js +29 -1
  393. package/dist/project-info.js.map +1 -1
  394. package/dist/project-lifecycle.d.ts +91 -32
  395. package/dist/project-lifecycle.d.ts.map +1 -1
  396. package/dist/project-lifecycle.js +639 -75
  397. package/dist/project-lifecycle.js.map +1 -1
  398. package/dist/project-scope.d.ts +86 -4
  399. package/dist/project-scope.d.ts.map +1 -1
  400. package/dist/project-scope.js +226 -13
  401. package/dist/project-scope.js.map +1 -1
  402. package/dist/project-tombstone.d.ts +111 -0
  403. package/dist/project-tombstone.d.ts.map +1 -0
  404. package/dist/project-tombstone.js +220 -0
  405. package/dist/project-tombstone.js.map +1 -0
  406. package/dist/release/artifacts.d.ts.map +1 -1
  407. package/dist/release/artifacts.js +14 -9
  408. package/dist/release/artifacts.js.map +1 -1
  409. package/dist/release/ci-evidence.d.ts +223 -0
  410. package/dist/release/ci-evidence.d.ts.map +1 -0
  411. package/dist/release/ci-evidence.js +652 -0
  412. package/dist/release/ci-evidence.js.map +1 -0
  413. package/dist/release/engine-ops.d.ts.map +1 -1
  414. package/dist/release/engine-ops.js +3 -3
  415. package/dist/release/engine-ops.js.map +1 -1
  416. package/dist/release/plan.d.ts.map +1 -1
  417. package/dist/release/plan.js +7 -6
  418. package/dist/release/plan.js.map +1 -1
  419. package/dist/release/pr-evidence.d.ts +38 -0
  420. package/dist/release/pr-evidence.d.ts.map +1 -1
  421. package/dist/release/pr-evidence.js +67 -11
  422. package/dist/release/pr-evidence.js.map +1 -1
  423. package/dist/release/reconcile.d.ts.map +1 -1
  424. package/dist/release/reconcile.js +3 -2
  425. package/dist/release/reconcile.js.map +1 -1
  426. package/dist/release/release-manifest.d.ts +2 -1
  427. package/dist/release/release-manifest.d.ts.map +1 -1
  428. package/dist/release/release-manifest.js +6 -5
  429. package/dist/release/release-manifest.js.map +1 -1
  430. package/dist/render/nexus/graph/index.d.ts +4 -0
  431. package/dist/render/nexus/graph/index.d.ts.map +1 -1
  432. package/dist/render/nexus/graph/index.js +57 -0
  433. package/dist/render/nexus/graph/index.js.map +1 -1
  434. package/dist/resources/spawn-wrapper.d.ts +8 -1
  435. package/dist/resources/spawn-wrapper.d.ts.map +1 -1
  436. package/dist/resources/spawn-wrapper.js +42 -5
  437. package/dist/resources/spawn-wrapper.js.map +1 -1
  438. package/dist/routing/build-command-groups.d.ts.map +1 -1
  439. package/dist/routing/build-command-groups.js +1 -0
  440. package/dist/routing/build-command-groups.js.map +1 -1
  441. package/dist/sagas/index.d.ts +1 -1
  442. package/dist/sagas/index.d.ts.map +1 -1
  443. package/dist/sagas/index.js +1 -1
  444. package/dist/sagas/index.js.map +1 -1
  445. package/dist/sagas/reconcile.d.ts +24 -4
  446. package/dist/sagas/reconcile.d.ts.map +1 -1
  447. package/dist/sagas/reconcile.js +226 -100
  448. package/dist/sagas/reconcile.js.map +1 -1
  449. package/dist/scaffold/ensure-config.d.ts.map +1 -1
  450. package/dist/scaffold/ensure-config.js +31 -1
  451. package/dist/scaffold/ensure-config.js.map +1 -1
  452. package/dist/scaffold/project-identity.d.ts +2 -8
  453. package/dist/scaffold/project-identity.d.ts.map +1 -1
  454. package/dist/scaffold/project-identity.js +5 -21
  455. package/dist/scaffold/project-identity.js.map +1 -1
  456. package/dist/security/input-sanitization.d.ts +9 -1
  457. package/dist/security/input-sanitization.d.ts.map +1 -1
  458. package/dist/security/input-sanitization.js +12 -2
  459. package/dist/security/input-sanitization.js.map +1 -1
  460. package/dist/selfimprove/fix-gen.js +4321 -1807
  461. package/dist/selfimprove/fix-gen.js.map +3 -3
  462. package/dist/sentient/propose-tick.d.ts.map +1 -1
  463. package/dist/sentient/propose-tick.js +4 -2
  464. package/dist/sentient/propose-tick.js.map +1 -1
  465. package/dist/sequence/index.d.ts.map +1 -1
  466. package/dist/sequence/index.js +6 -23
  467. package/dist/sequence/index.js.map +1 -1
  468. package/dist/session/engine-ops.d.ts +9 -0
  469. package/dist/session/engine-ops.d.ts.map +1 -1
  470. package/dist/session/engine-ops.js +110 -18
  471. package/dist/session/engine-ops.js.map +1 -1
  472. package/dist/sessions/assumptions.d.ts.map +1 -1
  473. package/dist/sessions/assumptions.js +7 -4
  474. package/dist/sessions/assumptions.js.map +1 -1
  475. package/dist/sessions/briefing.d.ts +6 -0
  476. package/dist/sessions/briefing.d.ts.map +1 -1
  477. package/dist/sessions/briefing.js +12 -1
  478. package/dist/sessions/briefing.js.map +1 -1
  479. package/dist/sessions/decisions.d.ts +38 -3
  480. package/dist/sessions/decisions.d.ts.map +1 -1
  481. package/dist/sessions/decisions.js +235 -21
  482. package/dist/sessions/decisions.js.map +1 -1
  483. package/dist/sessions/drift-watchdog.d.ts.map +1 -1
  484. package/dist/sessions/drift-watchdog.js +4 -2
  485. package/dist/sessions/drift-watchdog.js.map +1 -1
  486. package/dist/sessions/index.d.ts.map +1 -1
  487. package/dist/sessions/index.js +33 -4
  488. package/dist/sessions/index.js.map +1 -1
  489. package/dist/sessions/session-end-snapshot-entry.d.ts +26 -0
  490. package/dist/sessions/session-end-snapshot-entry.d.ts.map +1 -0
  491. package/dist/sessions/session-end-snapshot-entry.js +59 -0
  492. package/dist/sessions/session-end-snapshot-entry.js.map +1 -0
  493. package/dist/sessions/session-end-snapshot.d.ts +114 -0
  494. package/dist/sessions/session-end-snapshot.d.ts.map +1 -0
  495. package/dist/sessions/session-end-snapshot.js +446 -0
  496. package/dist/sessions/session-end-snapshot.js.map +1 -0
  497. package/dist/sessions/session-manifest-mirror.d.ts.map +1 -1
  498. package/dist/sessions/session-manifest-mirror.js +10 -17
  499. package/dist/sessions/session-manifest-mirror.js.map +1 -1
  500. package/dist/sessions/session-switch.d.ts.map +1 -1
  501. package/dist/sessions/session-switch.js +5 -3
  502. package/dist/sessions/session-switch.js.map +1 -1
  503. package/dist/sessions/snapshot.d.ts.map +1 -1
  504. package/dist/sessions/snapshot.js +5 -4
  505. package/dist/sessions/snapshot.js.map +1 -1
  506. package/dist/sessions/terminal-identity.d.ts +169 -0
  507. package/dist/sessions/terminal-identity.d.ts.map +1 -0
  508. package/dist/sessions/terminal-identity.js +273 -0
  509. package/dist/sessions/terminal-identity.js.map +1 -0
  510. package/dist/setup/sections/verification.d.ts +1 -1
  511. package/dist/setup/sections/verification.d.ts.map +1 -1
  512. package/dist/setup/sections/verification.js +11 -15
  513. package/dist/setup/sections/verification.js.map +1 -1
  514. package/dist/skills/discovery.d.ts +8 -2
  515. package/dist/skills/discovery.d.ts.map +1 -1
  516. package/dist/skills/discovery.js +15 -3
  517. package/dist/skills/discovery.js.map +1 -1
  518. package/dist/skills/dispatch.d.ts +5 -2
  519. package/dist/skills/dispatch.d.ts.map +1 -1
  520. package/dist/skills/dispatch.js +5 -2
  521. package/dist/skills/dispatch.js.map +1 -1
  522. package/dist/skills/doctor.d.ts.map +1 -1
  523. package/dist/skills/doctor.js +5 -1
  524. package/dist/skills/doctor.js.map +1 -1
  525. package/dist/skills/federated-search.js +2 -2
  526. package/dist/skills/federated-search.js.map +1 -1
  527. package/dist/skills/index.d.ts +3 -3
  528. package/dist/skills/index.d.ts.map +1 -1
  529. package/dist/skills/index.js +1 -1
  530. package/dist/skills/index.js.map +1 -1
  531. package/dist/skills/install.d.ts +15 -2
  532. package/dist/skills/install.d.ts.map +1 -1
  533. package/dist/skills/install.js +21 -5
  534. package/dist/skills/install.js.map +1 -1
  535. package/dist/skills/migration.d.ts +5 -5
  536. package/dist/skills/migration.d.ts.map +1 -1
  537. package/dist/skills/migration.js +7 -9
  538. package/dist/skills/migration.js.map +1 -1
  539. package/dist/skills/orchestrator/startup.d.ts.map +1 -1
  540. package/dist/skills/orchestrator/startup.js +4 -2
  541. package/dist/skills/orchestrator/startup.js.map +1 -1
  542. package/dist/skills/skill-paths.d.ts +30 -3
  543. package/dist/skills/skill-paths.d.ts.map +1 -1
  544. package/dist/skills/skill-paths.js +28 -9
  545. package/dist/skills/skill-paths.js.map +1 -1
  546. package/dist/skills/skill-root.d.ts +60 -11
  547. package/dist/skills/skill-root.d.ts.map +1 -1
  548. package/dist/skills/skill-root.js +100 -14
  549. package/dist/skills/skill-root.js.map +1 -1
  550. package/dist/skills/skills-guard.js +5 -5
  551. package/dist/skills/skills-guard.js.map +1 -1
  552. package/dist/skills/types.d.ts +23 -0
  553. package/dist/skills/types.d.ts.map +1 -1
  554. package/dist/skills/types.js.map +1 -1
  555. package/dist/spawn/agent-identity.d.ts +51 -2
  556. package/dist/spawn/agent-identity.d.ts.map +1 -1
  557. package/dist/spawn/agent-identity.js +89 -26
  558. package/dist/spawn/agent-identity.js.map +1 -1
  559. package/dist/spawn/branch-lock.d.ts.map +1 -1
  560. package/dist/spawn/branch-lock.js +56 -79
  561. package/dist/spawn/branch-lock.js.map +1 -1
  562. package/dist/spawn/index.d.ts +2 -2
  563. package/dist/spawn/index.d.ts.map +1 -1
  564. package/dist/spawn/index.js +1 -1
  565. package/dist/spawn/index.js.map +1 -1
  566. package/dist/spawn/worktree-lock-holder.d.ts +37 -0
  567. package/dist/spawn/worktree-lock-holder.d.ts.map +1 -0
  568. package/dist/spawn/worktree-lock-holder.js +41 -0
  569. package/dist/spawn/worktree-lock-holder.js.map +1 -0
  570. package/dist/sticky/convert.d.ts.map +1 -1
  571. package/dist/sticky/convert.js +16 -4
  572. package/dist/sticky/convert.js.map +1 -1
  573. package/dist/store/attachment-store.d.ts +14 -0
  574. package/dist/store/attachment-store.d.ts.map +1 -1
  575. package/dist/store/attachment-store.js +11 -1
  576. package/dist/store/attachment-store.js.map +1 -1
  577. package/dist/store/backup-inspect.d.ts +7 -3
  578. package/dist/store/backup-inspect.d.ts.map +1 -1
  579. package/dist/store/backup-inspect.js +18 -7
  580. package/dist/store/backup-inspect.js.map +1 -1
  581. package/dist/store/backup-sidecar.d.ts +60 -0
  582. package/dist/store/backup-sidecar.d.ts.map +1 -0
  583. package/dist/store/backup-sidecar.js +96 -0
  584. package/dist/store/backup-sidecar.js.map +1 -0
  585. package/dist/store/data-accessor.d.ts +1 -1
  586. package/dist/store/data-accessor.d.ts.map +1 -1
  587. package/dist/store/data-accessor.js +6 -6
  588. package/dist/store/data-accessor.js.map +1 -1
  589. package/dist/store/data-safety-central.d.ts +13 -4
  590. package/dist/store/data-safety-central.d.ts.map +1 -1
  591. package/dist/store/data-safety-central.js +31 -4
  592. package/dist/store/data-safety-central.js.map +1 -1
  593. package/dist/store/dual-scope-db.d.ts.map +1 -1
  594. package/dist/store/dual-scope-db.js +10 -0
  595. package/dist/store/dual-scope-db.js.map +1 -1
  596. package/dist/store/exodus/__fixtures__/representative-fixture.d.ts.map +1 -1
  597. package/dist/store/exodus/__fixtures__/representative-fixture.js +4 -0
  598. package/dist/store/exodus/__fixtures__/representative-fixture.js.map +1 -1
  599. package/dist/store/exodus/migrate.js +1 -1
  600. package/dist/store/exodus/migrate.js.map +1 -1
  601. package/dist/store/exodus/reconcile.js +1 -1
  602. package/dist/store/exodus/reconcile.js.map +1 -1
  603. package/dist/store/exodus/runtime-targets.d.ts +4 -3
  604. package/dist/store/exodus/runtime-targets.d.ts.map +1 -1
  605. package/dist/store/exodus/runtime-targets.js +4 -3
  606. package/dist/store/exodus/runtime-targets.js.map +1 -1
  607. package/dist/store/import-logging.d.ts.map +1 -1
  608. package/dist/store/import-logging.js +5 -4
  609. package/dist/store/import-logging.js.map +1 -1
  610. package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
  611. package/dist/store/legacy-tasks-lineage.js +2 -7
  612. package/dist/store/legacy-tasks-lineage.js.map +1 -1
  613. package/dist/store/lock.d.ts +1 -0
  614. package/dist/store/lock.d.ts.map +1 -1
  615. package/dist/store/lock.js +1 -0
  616. package/dist/store/lock.js.map +1 -1
  617. package/dist/store/memory-accessor.d.ts +8 -3
  618. package/dist/store/memory-accessor.d.ts.map +1 -1
  619. package/dist/store/memory-accessor.js +29 -13
  620. package/dist/store/memory-accessor.js.map +1 -1
  621. package/dist/store/memory-sqlite.d.ts.map +1 -1
  622. package/dist/store/memory-sqlite.js +5 -0
  623. package/dist/store/memory-sqlite.js.map +1 -1
  624. package/dist/store/open-cleo-db.d.ts.map +1 -1
  625. package/dist/store/open-cleo-db.js +11 -6
  626. package/dist/store/open-cleo-db.js.map +1 -1
  627. package/dist/store/portable-bundle-relocate.d.ts +13 -8
  628. package/dist/store/portable-bundle-relocate.d.ts.map +1 -1
  629. package/dist/store/portable-bundle-relocate.js +75 -31
  630. package/dist/store/portable-bundle-relocate.js.map +1 -1
  631. package/dist/store/portable-bundle-scan.d.ts.map +1 -1
  632. package/dist/store/portable-bundle-scan.js +2 -1
  633. package/dist/store/portable-bundle-scan.js.map +1 -1
  634. package/dist/store/portable-bundle.d.ts.map +1 -1
  635. package/dist/store/portable-bundle.js +7 -3
  636. package/dist/store/portable-bundle.js.map +1 -1
  637. package/dist/store/pre-repair-snapshot.d.ts +77 -0
  638. package/dist/store/pre-repair-snapshot.d.ts.map +1 -0
  639. package/dist/store/pre-repair-snapshot.js +122 -0
  640. package/dist/store/pre-repair-snapshot.js.map +1 -0
  641. package/dist/store/regenerators.d.ts +2 -1
  642. package/dist/store/regenerators.d.ts.map +1 -1
  643. package/dist/store/regenerators.js +17 -3
  644. package/dist/store/regenerators.js.map +1 -1
  645. package/dist/store/relocated-store-guard.d.ts +71 -0
  646. package/dist/store/relocated-store-guard.d.ts.map +1 -0
  647. package/dist/store/relocated-store-guard.js +138 -0
  648. package/dist/store/relocated-store-guard.js.map +1 -0
  649. package/dist/store/safety-data-accessor.d.ts +2 -2
  650. package/dist/store/safety-data-accessor.d.ts.map +1 -1
  651. package/dist/store/safety-data-accessor.js +2 -2
  652. package/dist/store/safety-data-accessor.js.map +1 -1
  653. package/dist/store/schema/attachments.d.ts +2 -2
  654. package/dist/store/schema/audit.d.ts +5 -5
  655. package/dist/store/schema/background-jobs.d.ts +1 -1
  656. package/dist/store/schema/cleo-global/models-catalog.d.ts +1 -1
  657. package/dist/store/schema/cleo-global/nexus.d.ts +686 -0
  658. package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
  659. package/dist/store/schema/cleo-global/nexus.js +175 -7
  660. package/dist/store/schema/cleo-global/nexus.js.map +1 -1
  661. package/dist/store/schema/cleo-global/skills.d.ts +2 -2
  662. package/dist/store/schema/cleo-project/audit.d.ts +5 -5
  663. package/dist/store/schema/cleo-project/docs.d.ts +3 -3
  664. package/dist/store/schema/cleo-project/lifecycle.d.ts +3 -3
  665. package/dist/store/schema/cleo-project/provenance-commits.d.ts +2 -2
  666. package/dist/store/schema/cleo-project/provenance-rest.d.ts +3 -3
  667. package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts +1 -1
  668. package/dist/store/schema/cleo-project/tasks-core.d.ts +6 -6
  669. package/dist/store/schema/cleo-shared/brain.d.ts +26 -26
  670. package/dist/store/schema/lifecycle.d.ts +3 -3
  671. package/dist/store/schema/manifest.d.ts +1 -1
  672. package/dist/store/schema/memory-schema.d.ts +26 -26
  673. package/dist/store/schema/nexus-schema.d.ts +696 -2
  674. package/dist/store/schema/nexus-schema.d.ts.map +1 -1
  675. package/dist/store/schema/nexus-schema.js +175 -19
  676. package/dist/store/schema/nexus-schema.js.map +1 -1
  677. package/dist/store/schema/provenance/releases.d.ts +1 -1
  678. package/dist/store/schema/skills-schema.d.ts +2 -2
  679. package/dist/store/schema/tasks.d.ts +5 -5
  680. package/dist/store/session-binding-schema.d.ts +132 -0
  681. package/dist/store/session-binding-schema.d.ts.map +1 -0
  682. package/dist/store/session-binding-schema.js +53 -0
  683. package/dist/store/session-binding-schema.js.map +1 -0
  684. package/dist/store/session-store.d.ts +262 -4
  685. package/dist/store/session-store.d.ts.map +1 -1
  686. package/dist/store/session-store.js +486 -26
  687. package/dist/store/session-store.js.map +1 -1
  688. package/dist/store/snapshot-gate.d.ts +239 -0
  689. package/dist/store/snapshot-gate.d.ts.map +1 -0
  690. package/dist/store/snapshot-gate.js +398 -0
  691. package/dist/store/snapshot-gate.js.map +1 -0
  692. package/dist/store/split-brain-import.js +2 -2
  693. package/dist/store/split-brain-import.js.map +1 -1
  694. package/dist/store/sqlite-backup.d.ts +55 -13
  695. package/dist/store/sqlite-backup.d.ts.map +1 -1
  696. package/dist/store/sqlite-backup.js +414 -106
  697. package/dist/store/sqlite-backup.js.map +1 -1
  698. package/dist/store/sqlite-data-accessor.d.ts +15 -0
  699. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  700. package/dist/store/sqlite-data-accessor.js +63 -4
  701. package/dist/store/sqlite-data-accessor.js.map +1 -1
  702. package/dist/store/sqlite.d.ts +1 -1
  703. package/dist/store/sqlite.d.ts.map +1 -1
  704. package/dist/store/sqlite.js +53 -5
  705. package/dist/store/sqlite.js.map +1 -1
  706. package/dist/store/store-write-guard.d.ts +28 -0
  707. package/dist/store/store-write-guard.d.ts.map +1 -0
  708. package/dist/store/store-write-guard.js +50 -0
  709. package/dist/store/store-write-guard.js.map +1 -0
  710. package/dist/store/table-classification.d.ts +143 -0
  711. package/dist/store/table-classification.d.ts.map +1 -0
  712. package/dist/store/table-classification.js +1866 -0
  713. package/dist/store/table-classification.js.map +1 -0
  714. package/dist/store/task-version.d.ts +72 -0
  715. package/dist/store/task-version.d.ts.map +1 -0
  716. package/dist/store/task-version.js +93 -0
  717. package/dist/store/task-version.js.map +1 -0
  718. package/dist/store/tasks-schema.d.ts +1 -0
  719. package/dist/store/tasks-schema.d.ts.map +1 -1
  720. package/dist/store/tasks-schema.js +13 -0
  721. package/dist/store/tasks-schema.js.map +1 -1
  722. package/dist/store/tasks-sqlite.d.ts +10 -3
  723. package/dist/store/tasks-sqlite.d.ts.map +1 -1
  724. package/dist/store/tasks-sqlite.js +12 -3
  725. package/dist/store/tasks-sqlite.js.map +1 -1
  726. package/dist/store/twin-collapse.d.ts +275 -0
  727. package/dist/store/twin-collapse.d.ts.map +1 -0
  728. package/dist/store/twin-collapse.js +805 -0
  729. package/dist/store/twin-collapse.js.map +1 -0
  730. package/dist/store/umbrella-data-accessor.d.ts +2 -2
  731. package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
  732. package/dist/store/umbrella-data-accessor.js +2 -2
  733. package/dist/store/umbrella-data-accessor.js.map +1 -1
  734. package/dist/store/validation-schemas.d.ts +63 -63
  735. package/dist/store/worktree-isolation-guard.d.ts +46 -24
  736. package/dist/store/worktree-isolation-guard.d.ts.map +1 -1
  737. package/dist/store/worktree-isolation-guard.js +69 -50
  738. package/dist/store/worktree-isolation-guard.js.map +1 -1
  739. package/dist/system/backup.d.ts.map +1 -1
  740. package/dist/system/backup.js +3 -67
  741. package/dist/system/backup.js.map +1 -1
  742. package/dist/system/cleo-link.d.ts +163 -0
  743. package/dist/system/cleo-link.d.ts.map +1 -0
  744. package/dist/system/cleo-link.js +246 -0
  745. package/dist/system/cleo-link.js.map +1 -0
  746. package/dist/system/dependencies.d.ts.map +1 -1
  747. package/dist/system/dependencies.js +26 -41
  748. package/dist/system/dependencies.js.map +1 -1
  749. package/dist/system/global-delivery.d.ts +205 -0
  750. package/dist/system/global-delivery.d.ts.map +1 -0
  751. package/dist/system/global-delivery.js +320 -0
  752. package/dist/system/global-delivery.js.map +1 -0
  753. package/dist/system/health.d.ts.map +1 -1
  754. package/dist/system/health.js +29 -6
  755. package/dist/system/health.js.map +1 -1
  756. package/dist/system/project-health.d.ts.map +1 -1
  757. package/dist/system/project-health.js +1 -20
  758. package/dist/system/project-health.js.map +1 -1
  759. package/dist/system/runtime.d.ts.map +1 -1
  760. package/dist/system/runtime.js +2 -12
  761. package/dist/system/runtime.js.map +1 -1
  762. package/dist/system/safestop.d.ts.map +1 -1
  763. package/dist/system/safestop.js +5 -2
  764. package/dist/system/safestop.js.map +1 -1
  765. package/dist/system/skill-fixtures.d.ts +200 -0
  766. package/dist/system/skill-fixtures.d.ts.map +1 -0
  767. package/dist/system/skill-fixtures.js +331 -0
  768. package/dist/system/skill-fixtures.js.map +1 -0
  769. package/dist/tasks/add.d.ts.map +1 -1
  770. package/dist/tasks/add.js +4 -2
  771. package/dist/tasks/add.js.map +1 -1
  772. package/dist/tasks/affected-packages.d.ts +173 -0
  773. package/dist/tasks/affected-packages.d.ts.map +1 -0
  774. package/dist/tasks/affected-packages.js +389 -0
  775. package/dist/tasks/affected-packages.js.map +1 -0
  776. package/dist/tasks/change-set.d.ts +151 -0
  777. package/dist/tasks/change-set.d.ts.map +1 -0
  778. package/dist/tasks/change-set.js +634 -0
  779. package/dist/tasks/change-set.js.map +1 -0
  780. package/dist/tasks/complete.d.ts.map +1 -1
  781. package/dist/tasks/complete.js +10 -5
  782. package/dist/tasks/complete.js.map +1 -1
  783. package/dist/tasks/done-plan.d.ts +103 -0
  784. package/dist/tasks/done-plan.d.ts.map +1 -0
  785. package/dist/tasks/done-plan.js +541 -0
  786. package/dist/tasks/done-plan.js.map +1 -0
  787. package/dist/tasks/done-record.d.ts +127 -0
  788. package/dist/tasks/done-record.d.ts.map +1 -0
  789. package/dist/tasks/done-record.js +373 -0
  790. package/dist/tasks/done-record.js.map +1 -0
  791. package/dist/tasks/duplicate-detector.d.ts +68 -11
  792. package/dist/tasks/duplicate-detector.d.ts.map +1 -1
  793. package/dist/tasks/duplicate-detector.js +314 -58
  794. package/dist/tasks/duplicate-detector.js.map +1 -1
  795. package/dist/tasks/evidence-paths.d.ts +78 -0
  796. package/dist/tasks/evidence-paths.d.ts.map +1 -0
  797. package/dist/tasks/evidence-paths.js +150 -0
  798. package/dist/tasks/evidence-paths.js.map +1 -0
  799. package/dist/tasks/evidence.d.ts +55 -0
  800. package/dist/tasks/evidence.d.ts.map +1 -1
  801. package/dist/tasks/evidence.js +223 -26
  802. package/dist/tasks/evidence.js.map +1 -1
  803. package/dist/tasks/gate-preview.d.ts +5 -0
  804. package/dist/tasks/gate-preview.d.ts.map +1 -1
  805. package/dist/tasks/gate-preview.js +25 -21
  806. package/dist/tasks/gate-preview.js.map +1 -1
  807. package/dist/tasks/gate-result-cache.d.ts +205 -0
  808. package/dist/tasks/gate-result-cache.d.ts.map +1 -0
  809. package/dist/tasks/gate-result-cache.js +285 -0
  810. package/dist/tasks/gate-result-cache.js.map +1 -0
  811. package/dist/tasks/gate-runner.d.ts +126 -3
  812. package/dist/tasks/gate-runner.d.ts.map +1 -1
  813. package/dist/tasks/gate-runner.js +483 -28
  814. package/dist/tasks/gate-runner.js.map +1 -1
  815. package/dist/tasks/session-scope.d.ts +3 -1
  816. package/dist/tasks/session-scope.d.ts.map +1 -1
  817. package/dist/tasks/session-scope.js +18 -3
  818. package/dist/tasks/session-scope.js.map +1 -1
  819. package/dist/tasks/tool-resolver.d.ts +23 -6
  820. package/dist/tasks/tool-resolver.d.ts.map +1 -1
  821. package/dist/tasks/tool-resolver.js +146 -8
  822. package/dist/tasks/tool-resolver.js.map +1 -1
  823. package/dist/tasks/tool-vacuity.d.ts +71 -0
  824. package/dist/tasks/tool-vacuity.d.ts.map +1 -0
  825. package/dist/tasks/tool-vacuity.js +334 -0
  826. package/dist/tasks/tool-vacuity.js.map +1 -0
  827. package/dist/tasks/update.d.ts +8 -0
  828. package/dist/tasks/update.d.ts.map +1 -1
  829. package/dist/tasks/update.js +159 -78
  830. package/dist/tasks/update.js.map +1 -1
  831. package/dist/upgrade.d.ts.map +1 -1
  832. package/dist/upgrade.js +18 -2
  833. package/dist/upgrade.js.map +1 -1
  834. package/dist/validation/doctor/checks.d.ts +20 -2
  835. package/dist/validation/doctor/checks.d.ts.map +1 -1
  836. package/dist/validation/doctor/checks.js +64 -4
  837. package/dist/validation/doctor/checks.js.map +1 -1
  838. package/dist/validation/doctor/index.d.ts +1 -1
  839. package/dist/validation/doctor/index.d.ts.map +1 -1
  840. package/dist/validation/doctor/index.js +1 -1
  841. package/dist/validation/doctor/index.js.map +1 -1
  842. package/dist/validation/doctor/utils.d.ts.map +1 -1
  843. package/dist/validation/doctor/utils.js +7 -2
  844. package/dist/validation/doctor/utils.js.map +1 -1
  845. package/dist/validation/engine-ops.d.ts +15 -0
  846. package/dist/validation/engine-ops.d.ts.map +1 -1
  847. package/dist/validation/engine-ops.js +249 -98
  848. package/dist/validation/engine-ops.js.map +1 -1
  849. package/migrations/drizzle-cleo-global/20260927000000_t12469-project-locations/migration.sql +121 -0
  850. package/migrations/drizzle-cleo-global/20260927010000_t12543-user-profile-project-scope/migration.sql +23 -0
  851. package/migrations/drizzle-cleo-global/20260928010000_t12470-location-candidates/migration.sql +72 -0
  852. package/migrations/drizzle-cleo-global/20260928020000_t12510-nexus-devices/migration.sql +34 -0
  853. package/migrations/drizzle-cleo-global/20260928030000_t12511-project-git-state/migration.sql +62 -0
  854. package/migrations/drizzle-cleo-project/20260927000000_t12499-session-terminal-bindings/migration.sql +34 -0
  855. package/migrations/drizzle-cleo-project/20260928000000_t12500-binding-provider-flag/migration.sql +15 -0
  856. package/package.json +23 -13
  857. package/schemas/config.schema.json +54 -0
  858. package/schemas/project-context.schema.json +51 -3
  859. package/schemas/project-info.schema.json +28 -1
  860. package/templates/CLEO-INJECTION.md +40 -332
  861. package/templates/CLEO-REFERENCE.md +303 -0
  862. package/templates/workflows/README.md +36 -14
  863. package/templates/workflows/release-prepare.yml.tmpl +7 -0
@@ -78,9 +78,21 @@ export declare function assessmentSummary(assessment: GraphIndexAssessment): Gra
78
78
  * the stored list of that same generation.
79
79
  * - An assessment with neither removes any stale list.
80
80
  *
81
+ * Root paths are stored relative to the recorded project root (T12474); read
82
+ * them back through `readKnowledgeIndexAssessment`, which resolves them
83
+ * against the live project root.
84
+ *
81
85
  * @param tx - Graph database handle or open transaction.
82
- * @param assessment - Assessment to persist.
83
- * @returns The summary as written.
86
+ * @param assessment - Assessment to persist, with absolute in-memory paths.
87
+ * @returns The summary written, in its in-memory (absolute-path) form.
84
88
  */
85
89
  export declare function writeAssessment(tx: Pick<NodeSQLiteDatabase, 'run'>, assessment: GraphIndexAssessment): GraphIndexAssessment;
90
+ /**
91
+ * Whether the stored assessment still holds absolute root paths — the form
92
+ * written before T12474. Extracts only the two root fields.
93
+ *
94
+ * @param db - Graph database handle.
95
+ * @returns `true` when a legacy absolute record should be rewritten portably.
96
+ */
97
+ export declare function storedAssessmentHasAbsoluteRoots(db: Pick<NodeSQLiteDatabase, 'values'>): boolean;
86
98
  //# sourceMappingURL=assessment-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assessment-store.d.ts","sourceRoot":"","sources":["../../src/nexus/assessment-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,mDAAmD;AACnD,eAAO,MAAM,cAAc,qBAAqB,CAAC;AAEjD,iEAAiE;AACjE,eAAO,MAAM,yBAAyB,gCAAgC,CAAC;AAKvE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,SAAS,yBAAyB,EAAE,GAC/C,UAAU,CAEZ;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI7D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,oBAAoB,GAAG,oBAAoB,CAIxF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,EACnC,UAAU,EAAE,oBAAoB,GAC/B,oBAAoB,CAWtB"}
1
+ {"version":3,"file":"assessment-store.d.ts","sourceRoot":"","sources":["../../src/nexus/assessment-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,mDAAmD;AACnD,eAAO,MAAM,cAAc,qBAAqB,CAAC;AAEjD,iEAAiE;AACjE,eAAO,MAAM,yBAAyB,gCAAgC,CAAC;AAKvE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,SAAS,yBAAyB,EAAE,GAC/C,UAAU,CAEZ;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI7D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,oBAAoB,GAAG,oBAAoB,CAIxF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,EACnC,UAAU,EAAE,oBAAoB,GAC/B,oBAAoB,CAWtB;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GAAG,OAAO,CAMhG"}
@@ -25,8 +25,10 @@
25
25
  * @task T12348
26
26
  * @module nexus/assessment-store
27
27
  */
28
+ import { isAbsolute } from 'node:path';
28
29
  import { gunzipSync, gzipSync } from 'node:zlib';
29
30
  import { sql } from 'drizzle-orm';
31
+ import { encodeStoredAssessment } from './stored-roots.js';
30
32
  /** `_nexus_meta` key of the assessment summary. */
31
33
  export const ASSESSMENT_KEY = 'graph_assessment';
32
34
  /** `_nexus_meta` key of the separately stored reference list. */
@@ -93,13 +95,17 @@ export function assessmentSummary(assessment) {
93
95
  * the stored list of that same generation.
94
96
  * - An assessment with neither removes any stale list.
95
97
  *
98
+ * Root paths are stored relative to the recorded project root (T12474); read
99
+ * them back through `readKnowledgeIndexAssessment`, which resolves them
100
+ * against the live project root.
101
+ *
96
102
  * @param tx - Graph database handle or open transaction.
97
- * @param assessment - Assessment to persist.
98
- * @returns The summary as written.
103
+ * @param assessment - Assessment to persist, with absolute in-memory paths.
104
+ * @returns The summary written, in its in-memory (absolute-path) form.
99
105
  */
100
106
  export function writeAssessment(tx, assessment) {
101
107
  const summary = assessmentSummary(assessment);
102
- tx.run(sql `INSERT INTO main._nexus_meta (key, value) VALUES (${ASSESSMENT_KEY}, ${JSON.stringify(summary)})
108
+ tx.run(sql `INSERT INTO main._nexus_meta (key, value) VALUES (${ASSESSMENT_KEY}, ${JSON.stringify(encodeStoredAssessment(summary))})
103
109
  ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = strftime('%s', 'now')`);
104
110
  if (assessment.references !== undefined) {
105
111
  tx.run(sql `INSERT INTO main._nexus_meta (key, value) VALUES (${ASSESSMENT_REFERENCES_KEY}, ${encodeStoredReferences(assessment.references)})
@@ -110,4 +116,16 @@ export function writeAssessment(tx, assessment) {
110
116
  }
111
117
  return summary;
112
118
  }
119
+ /**
120
+ * Whether the stored assessment still holds absolute root paths — the form
121
+ * written before T12474. Extracts only the two root fields.
122
+ *
123
+ * @param db - Graph database handle.
124
+ * @returns `true` when a legacy absolute record should be rewritten portably.
125
+ */
126
+ export function storedAssessmentHasAbsoluteRoots(db) {
127
+ const row = db.values(sql `SELECT json_extract(value, '$.sourceRoot'), json_extract(value, '$.sourceRoots.projectRoot')
128
+ FROM main._nexus_meta WHERE key = ${ASSESSMENT_KEY}`)[0];
129
+ return (row ?? []).some((path) => typeof path === 'string' && isAbsolute(path));
130
+ }
113
131
  //# sourceMappingURL=assessment-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assessment-store.js","sourceRoot":"","sources":["../../src/nexus/assessment-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,mDAAmD;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAEjD,iEAAiE;AACjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,6BAA6B,CAAC;AAEvE,2FAA2F;AAC3F,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAgD;IAEhD,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAgC;IAChE,IAAI,UAAU,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAC3D,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC;IAC9C,OAAO,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAmC,EACnC,UAAgC;IAEhC,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC9C,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,qDAAqD,cAAc,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;8FACb,CAAC,CAAC;IAC9F,IAAI,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACxC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,qDAAqD,yBAAyB,KAAK,sBAAsB,CAAC,UAAU,CAAC,UAAU,CAAC;gGAC9C,CAAC,CAAC;IAChG,CAAC;SAAM,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAChD,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,4CAA4C,yBAAyB,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"assessment-store.js","sourceRoot":"","sources":["../../src/nexus/assessment-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,mDAAmD;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAEjD,iEAAiE;AACjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,6BAA6B,CAAC;AAEvE,2FAA2F;AAC3F,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAgD;IAEhD,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAgC;IAChE,IAAI,UAAU,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAC3D,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC;IAC9C,OAAO,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAmC,EACnC,UAAgC;IAEhC,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC9C,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,qDAAqD,cAAc,KAAK,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;8FACrC,CAAC,CAAC;IAC9F,IAAI,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACxC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,qDAAqD,yBAAyB,KAAK,sBAAsB,CAAC,UAAU,CAAC,UAAU,CAAC;gGAC9C,CAAC,CAAC;IAChG,CAAC;SAAM,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAChD,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,4CAA4C,yBAAyB,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC,CAAC,EAAsC;IACrF,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CACnB,GAAG,CAAA;0CACmC,cAAc,EAAE,CACvD,CAAC,CAAC,CAAC,CAAC;IACL,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAClF,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Per-checkout nonce — the only evidence that proves a project MOVED
3
+ * (T12470 · ADR-094).
4
+ *
5
+ * `.cleo/project-id` is committed, so a clone, a fork or a hostile copy of the
6
+ * file declares a registered project's id. Git state is no better: a clone has
7
+ * the same root commit and remote, a bare `git init` can add any remote, and a
8
+ * root commit can be faked with `refs/replace`. What a clone can NOT have is
9
+ * local, untracked state. This module keeps a random nonce in the checkout's
10
+ * `.cleo/project-info.json` — never tracked (ADR-013 §9) — and the registry
11
+ * records it on each confirmed location. A real `mv`, or a restore of `.cleo/`
12
+ * from a backup, carries the nonce with it; a clone has none, or its own.
13
+ *
14
+ * @task T12470
15
+ * @module nexus/checkout-nonce
16
+ */
17
+ /** `project-info.json` field that carries the nonce. */
18
+ export declare const CHECKOUT_NONCE_FIELD = "checkoutNonce";
19
+ /**
20
+ * Read the checkout's nonce.
21
+ *
22
+ * @param projectRoot - Checkout root (the directory containing `.cleo/`).
23
+ * @returns The nonce, or `null` when the checkout has none.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const nonce = readCheckoutNonce(root);
28
+ * ```
29
+ */
30
+ export declare function readCheckoutNonce(projectRoot: string): string | null;
31
+ /**
32
+ * Return the checkout's nonce, minting one into `project-info.json` when the
33
+ * file exists and has none. Called only when a location is CONFIRMED, so a
34
+ * candidate never gains a nonce the registry would accept.
35
+ *
36
+ * Never creates `project-info.json`: a checkout without one (a fresh clone
37
+ * before `cleo init`) has no nonce, and its moves are confirmed explicitly.
38
+ *
39
+ * @param projectRoot - Checkout root.
40
+ * @returns The nonce, or `null` when there is no `project-info.json` to hold it.
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * const nonce = ensureCheckoutNonce(root);
45
+ * ```
46
+ */
47
+ export declare function ensureCheckoutNonce(projectRoot: string): string | null;
48
+ //# sourceMappingURL=checkout-nonce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout-nonce.d.ts","sourceRoot":"","sources":["../../src/nexus/checkout-nonce.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AAmBpD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGpE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWtE"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Per-checkout nonce — the only evidence that proves a project MOVED
3
+ * (T12470 · ADR-094).
4
+ *
5
+ * `.cleo/project-id` is committed, so a clone, a fork or a hostile copy of the
6
+ * file declares a registered project's id. Git state is no better: a clone has
7
+ * the same root commit and remote, a bare `git init` can add any remote, and a
8
+ * root commit can be faked with `refs/replace`. What a clone can NOT have is
9
+ * local, untracked state. This module keeps a random nonce in the checkout's
10
+ * `.cleo/project-info.json` — never tracked (ADR-013 §9) — and the registry
11
+ * records it on each confirmed location. A real `mv`, or a restore of `.cleo/`
12
+ * from a backup, carries the nonce with it; a clone has none, or its own.
13
+ *
14
+ * @task T12470
15
+ * @module nexus/checkout-nonce
16
+ */
17
+ import { randomBytes } from 'node:crypto';
18
+ import { existsSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
19
+ import { join } from 'node:path';
20
+ /** `project-info.json` field that carries the nonce. */
21
+ export const CHECKOUT_NONCE_FIELD = 'checkoutNonce';
22
+ /** Accepted nonce shape: 32 lowercase hex characters (128 random bits). */
23
+ const NONCE_PATTERN = /^[0-9a-f]{32}$/;
24
+ /** Parse `<root>/.cleo/project-info.json`; `null` when absent or unparseable. */
25
+ function readInfo(projectRoot) {
26
+ const path = join(projectRoot, '.cleo', 'project-info.json');
27
+ if (!existsSync(path))
28
+ return null;
29
+ try {
30
+ const parsed = JSON.parse(readFileSync(path, 'utf-8'));
31
+ return parsed !== null && typeof parsed === 'object' && !Array.isArray(parsed)
32
+ ? parsed
33
+ : null;
34
+ }
35
+ catch {
36
+ return null;
37
+ }
38
+ }
39
+ /**
40
+ * Read the checkout's nonce.
41
+ *
42
+ * @param projectRoot - Checkout root (the directory containing `.cleo/`).
43
+ * @returns The nonce, or `null` when the checkout has none.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const nonce = readCheckoutNonce(root);
48
+ * ```
49
+ */
50
+ export function readCheckoutNonce(projectRoot) {
51
+ const value = readInfo(projectRoot)?.[CHECKOUT_NONCE_FIELD];
52
+ return typeof value === 'string' && NONCE_PATTERN.test(value) ? value : null;
53
+ }
54
+ /**
55
+ * Return the checkout's nonce, minting one into `project-info.json` when the
56
+ * file exists and has none. Called only when a location is CONFIRMED, so a
57
+ * candidate never gains a nonce the registry would accept.
58
+ *
59
+ * Never creates `project-info.json`: a checkout without one (a fresh clone
60
+ * before `cleo init`) has no nonce, and its moves are confirmed explicitly.
61
+ *
62
+ * @param projectRoot - Checkout root.
63
+ * @returns The nonce, or `null` when there is no `project-info.json` to hold it.
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * const nonce = ensureCheckoutNonce(root);
68
+ * ```
69
+ */
70
+ export function ensureCheckoutNonce(projectRoot) {
71
+ const existing = readCheckoutNonce(projectRoot);
72
+ if (existing)
73
+ return existing;
74
+ const info = readInfo(projectRoot);
75
+ if (!info)
76
+ return null;
77
+ const nonce = randomBytes(16).toString('hex');
78
+ const path = join(projectRoot, '.cleo', 'project-info.json');
79
+ const temp = `${path}.${randomBytes(6).toString('hex')}.tmp`;
80
+ writeFileSync(temp, `${JSON.stringify({ ...info, [CHECKOUT_NONCE_FIELD]: nonce }, null, 2)}\n`);
81
+ renameSync(temp, path);
82
+ return nonce;
83
+ }
84
+ //# sourceMappingURL=checkout-nonce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout-nonce.js","sourceRoot":"","sources":["../../src/nexus/checkout-nonce.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEpD,2EAA2E;AAC3E,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC,iFAAiF;AACjF,SAAS,QAAQ,CAAC,WAAmB;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,OAAO,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC5E,CAAC,CAAE,MAAkC;YACrC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAC5D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7D,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAChG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Devices (`nexus_devices`) — every machine that runs CLEO against this
3
+ * global store, keyed by the stable `<cleoHome>/device-id` (T9321) that
4
+ * `nexus_project_locations.device_id` already carries (T12469). Resolving a
5
+ * location's device id against this table answers "which machine, which OS,
6
+ * which CLEO version, and when did it last check in".
7
+ *
8
+ * The CLI calls {@link recordDeviceHeartbeat} on start. It is throttled to at
9
+ * most one write per {@link DEVICE_HEARTBEAT_INTERVAL_MS} per device: one
10
+ * primary-key read decides, and only a stale or absent row costs a single
11
+ * primary-key upsert. The upsert repeats the staleness test in its `WHERE`, so
12
+ * concurrent CLI starts cannot both write inside one interval.
13
+ *
14
+ * @task T12510
15
+ * @epic T12496
16
+ */
17
+ import type { NexusDeviceRecord } from '@cleocode/contracts';
18
+ import type { NodeSQLiteDatabase } from 'drizzle-orm/node-sqlite';
19
+ /** Minimum interval between two heartbeat writes for one device. */
20
+ export declare const DEVICE_HEARTBEAT_INTERVAL_MS = 60000;
21
+ /** Registry handle subset the device functions need. */
22
+ export type DeviceStoreHandle = Pick<NodeSQLiteDatabase, 'select' | 'insert'>;
23
+ /** Descriptive facts about the device sending a heartbeat. */
24
+ export interface DeviceFacts {
25
+ /** Stable device id. Defaults to {@link currentDeviceId}. */
26
+ deviceId?: string;
27
+ /** Hostname. Defaults to `os.hostname()`. */
28
+ hostname?: string;
29
+ /** OS. Defaults to `process.platform`. */
30
+ os?: string;
31
+ /** Architecture. Defaults to `process.arch`. */
32
+ arch?: string;
33
+ /** CLEO version. Defaults to the installed package version. */
34
+ cleoVersion?: string;
35
+ }
36
+ /** What {@link recordDeviceHeartbeat} did. */
37
+ export type DeviceHeartbeatOutcome = 'written' | 'throttled';
38
+ /**
39
+ * Upsert this device's `nexus_devices` row unless it was written within the
40
+ * last {@link DEVICE_HEARTBEAT_INTERVAL_MS}.
41
+ *
42
+ * Cost: one primary-key read; when stale, one primary-key upsert. Descriptive
43
+ * facts (hostname, version) are resolved only when a write happens.
44
+ *
45
+ * @param db - Global registry handle (`getNexusRegistryDb`).
46
+ * @param now - Heartbeat instant. Defaults to the current time.
47
+ * @param facts - Overrides for the recorded device facts (tests).
48
+ * @returns `written` when the row was inserted or refreshed, else `throttled`.
49
+ * @example
50
+ * ```ts
51
+ * await recordDeviceHeartbeat(await getNexusRegistryDb(getCleoHome()));
52
+ * ```
53
+ */
54
+ export declare function recordDeviceHeartbeat(db: DeviceStoreHandle, now?: Date, facts?: DeviceFacts): Promise<DeviceHeartbeatOutcome>;
55
+ /**
56
+ * List every known device, most recent heartbeat first.
57
+ *
58
+ * @param db - Global registry handle (`getNexusRegistryDb`).
59
+ * @returns Device records; `current` marks this device.
60
+ * @example
61
+ * ```ts
62
+ * const all = listNexusDevices(await getNexusRegistryDb(getCleoHome()));
63
+ * ```
64
+ */
65
+ export declare function listNexusDevices(db: DeviceStoreHandle): NexusDeviceRecord[];
66
+ /** Filename in `<cleoHome>` whose mtime records the last heartbeat attempt. */
67
+ export declare const DEVICE_HEARTBEAT_STAMP = "device-heartbeat.stamp";
68
+ /** What {@link heartbeatThisDevice} did. */
69
+ export type DeviceStartupHeartbeatOutcome = DeviceHeartbeatOutcome | 'disabled' | 'shutting-down' | 'no-store';
70
+ /**
71
+ * CLI-start heartbeat: record this device in the global store at most once
72
+ * per {@link DEVICE_HEARTBEAT_INTERVAL_MS}.
73
+ *
74
+ * A stamp file's mtime is checked first, so a start inside the interval costs
75
+ * one `stat` and never opens the database. Past the interval it opens the
76
+ * global registry (only if it already exists — a heartbeat never creates the
77
+ * store) and calls {@link recordDeviceHeartbeat}, whose own primary-key check
78
+ * and guarded upsert keep concurrent starts to a single write.
79
+ *
80
+ * Callers MUST treat every error as non-fatal; the CLI swallows it.
81
+ *
82
+ * @param options - `cleoHome` and `now` overrides (tests).
83
+ * @returns What happened.
84
+ * @example
85
+ * ```ts
86
+ * try { await heartbeatThisDevice(); } catch { // never fail the command }
87
+ * ```
88
+ */
89
+ export declare function heartbeatThisDevice(options?: {
90
+ cleoHome?: string;
91
+ now?: Date;
92
+ }): Promise<DeviceStartupHeartbeatOutcome>;
93
+ //# sourceMappingURL=devices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devices.d.ts","sourceRoot":"","sources":["../../src/nexus/devices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKlE,oEAAoE;AACpE,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAEnD,wDAAwD;AACxD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAE9E,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,8CAA8C;AAC9C,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,iBAAiB,EACrB,GAAG,GAAE,IAAiB,EACtB,KAAK,GAAE,WAAgB,GACtB,OAAO,CAAC,sBAAsB,CAAC,CA8BjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAQ3E;AAED,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAE/D,4CAA4C;AAC5C,MAAM,MAAM,6BAA6B,GACrC,sBAAsB,GACtB,UAAU,GACV,eAAe,GACf,UAAU,CAAC;AAEf;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAO,GAC9C,OAAO,CAAC,6BAA6B,CAAC,CAiBxC"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Devices (`nexus_devices`) — every machine that runs CLEO against this
3
+ * global store, keyed by the stable `<cleoHome>/device-id` (T9321) that
4
+ * `nexus_project_locations.device_id` already carries (T12469). Resolving a
5
+ * location's device id against this table answers "which machine, which OS,
6
+ * which CLEO version, and when did it last check in".
7
+ *
8
+ * The CLI calls {@link recordDeviceHeartbeat} on start. It is throttled to at
9
+ * most one write per {@link DEVICE_HEARTBEAT_INTERVAL_MS} per device: one
10
+ * primary-key read decides, and only a stale or absent row costs a single
11
+ * primary-key upsert. The upsert repeats the staleness test in its `WHERE`, so
12
+ * concurrent CLI starts cannot both write inside one interval.
13
+ *
14
+ * @task T12510
15
+ * @epic T12496
16
+ */
17
+ import { existsSync, statSync, utimesSync, writeFileSync } from 'node:fs';
18
+ import { hostname } from 'node:os';
19
+ import { join } from 'node:path';
20
+ import { getCleoHome } from '@cleocode/paths';
21
+ import { desc, eq, lt } from 'drizzle-orm';
22
+ import { devices } from '../store/schema/nexus-schema.js';
23
+ import { isShuttingDown } from '../teardown-signal.js';
24
+ import { currentDeviceId } from './path-map.js';
25
+ /** Minimum interval between two heartbeat writes for one device. */
26
+ export const DEVICE_HEARTBEAT_INTERVAL_MS = 60_000;
27
+ /**
28
+ * Upsert this device's `nexus_devices` row unless it was written within the
29
+ * last {@link DEVICE_HEARTBEAT_INTERVAL_MS}.
30
+ *
31
+ * Cost: one primary-key read; when stale, one primary-key upsert. Descriptive
32
+ * facts (hostname, version) are resolved only when a write happens.
33
+ *
34
+ * @param db - Global registry handle (`getNexusRegistryDb`).
35
+ * @param now - Heartbeat instant. Defaults to the current time.
36
+ * @param facts - Overrides for the recorded device facts (tests).
37
+ * @returns `written` when the row was inserted or refreshed, else `throttled`.
38
+ * @example
39
+ * ```ts
40
+ * await recordDeviceHeartbeat(await getNexusRegistryDb(getCleoHome()));
41
+ * ```
42
+ */
43
+ export async function recordDeviceHeartbeat(db, now = new Date(), facts = {}) {
44
+ const deviceId = facts.deviceId ?? currentDeviceId();
45
+ const nowIso = now.toISOString();
46
+ const staleBefore = new Date(now.getTime() - DEVICE_HEARTBEAT_INTERVAL_MS).toISOString();
47
+ const existing = db
48
+ .select({ lastHeartbeatAt: devices.lastHeartbeatAt })
49
+ .from(devices)
50
+ .where(eq(devices.deviceId, deviceId))
51
+ .get();
52
+ if (existing && existing.lastHeartbeatAt > staleBefore)
53
+ return 'throttled';
54
+ const described = {
55
+ hostname: facts.hostname ?? hostname(),
56
+ os: facts.os ?? process.platform,
57
+ arch: facts.arch ?? process.arch,
58
+ cleoVersion: facts.cleoVersion ?? (await installedCleoVersion()),
59
+ };
60
+ const result = db
61
+ .insert(devices)
62
+ .values({ deviceId, ...described, firstSeen: nowIso, lastHeartbeatAt: nowIso })
63
+ .onConflictDoUpdate({
64
+ target: devices.deviceId,
65
+ set: { ...described, lastHeartbeatAt: nowIso },
66
+ // Race guard: a concurrent CLI start that already wrote inside this
67
+ // interval makes this a no-op.
68
+ setWhere: lt(devices.lastHeartbeatAt, staleBefore),
69
+ })
70
+ .run();
71
+ return result.changes > 0 ? 'written' : 'throttled';
72
+ }
73
+ /**
74
+ * List every known device, most recent heartbeat first.
75
+ *
76
+ * @param db - Global registry handle (`getNexusRegistryDb`).
77
+ * @returns Device records; `current` marks this device.
78
+ * @example
79
+ * ```ts
80
+ * const all = listNexusDevices(await getNexusRegistryDb(getCleoHome()));
81
+ * ```
82
+ */
83
+ export function listNexusDevices(db) {
84
+ const self = currentDeviceId();
85
+ return db
86
+ .select()
87
+ .from(devices)
88
+ .orderBy(desc(devices.lastHeartbeatAt))
89
+ .all()
90
+ .map((row) => ({ ...row, current: row.deviceId === self }));
91
+ }
92
+ /** Filename in `<cleoHome>` whose mtime records the last heartbeat attempt. */
93
+ export const DEVICE_HEARTBEAT_STAMP = 'device-heartbeat.stamp';
94
+ /**
95
+ * CLI-start heartbeat: record this device in the global store at most once
96
+ * per {@link DEVICE_HEARTBEAT_INTERVAL_MS}.
97
+ *
98
+ * A stamp file's mtime is checked first, so a start inside the interval costs
99
+ * one `stat` and never opens the database. Past the interval it opens the
100
+ * global registry (only if it already exists — a heartbeat never creates the
101
+ * store) and calls {@link recordDeviceHeartbeat}, whose own primary-key check
102
+ * and guarded upsert keep concurrent starts to a single write.
103
+ *
104
+ * Callers MUST treat every error as non-fatal; the CLI swallows it.
105
+ *
106
+ * @param options - `cleoHome` and `now` overrides (tests).
107
+ * @returns What happened.
108
+ * @example
109
+ * ```ts
110
+ * try { await heartbeatThisDevice(); } catch { // never fail the command }
111
+ * ```
112
+ */
113
+ export async function heartbeatThisDevice(options = {}) {
114
+ if (isShuttingDown())
115
+ return 'shutting-down';
116
+ if (process.env['CLEO_DISABLE_DEVICE_HEARTBEAT'] === '1')
117
+ return 'disabled';
118
+ const cleoHome = options.cleoHome ?? getCleoHome();
119
+ const now = options.now ?? new Date();
120
+ const stamp = join(cleoHome, DEVICE_HEARTBEAT_STAMP);
121
+ try {
122
+ if (now.getTime() - statSync(stamp).mtimeMs < DEVICE_HEARTBEAT_INTERVAL_MS)
123
+ return 'throttled';
124
+ }
125
+ catch {
126
+ // No stamp yet — fall through to the database check.
127
+ }
128
+ const { getNexusRegistryDb, getNexusRegistryDbPath } = await import('../store/nexus-sqlite.js');
129
+ if (!existsSync(getNexusRegistryDbPath(cleoHome)))
130
+ return 'no-store';
131
+ const outcome = await recordDeviceHeartbeat(await getNexusRegistryDb(cleoHome), now);
132
+ writeFileSync(stamp, now.toISOString());
133
+ utimesSync(stamp, now, now);
134
+ return outcome;
135
+ }
136
+ /** Installed CLEO version, resolved lazily so throttled starts never read it. */
137
+ async function installedCleoVersion() {
138
+ const { getCleoVersion } = await import('../scaffold/ensure-config.js');
139
+ return getCleoVersion();
140
+ }
141
+ //# sourceMappingURL=devices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/nexus/devices.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"freshness.d.ts","sourceRoot":"","sources":["../../src/nexus/freshness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAQ/D,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D,uEAAuE;AACvE,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,uDAAuD;AACvD,eAAO,MAAM,8BAA8B,QAAS,CAAC;AAKrD,qDAAqD;AACrD,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,iCAAiC;IACjC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,iEAAiE;IACjE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,wBAAwB,EACpC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,mBAAmB,CASrB;AAED,gFAAgF;AAChF,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,QAAQ,EAAE,MAAM,CAAC;CAClB;AA6BD;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAG9B;AAwFD;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,CAAC,CAwBjC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,sBAAsB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CA+DnC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAyBxD;AAED;;;;;;;;GAQG;AACH,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,wBAAwB,CAAC,CAoBnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,GAAG,IAAI,CA0B5F;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,SAAS,EAAE,mBAAmB,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB"}
1
+ {"version":3,"file":"freshness.d.ts","sourceRoot":"","sources":["../../src/nexus/freshness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAQ/D,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D,uEAAuE;AACvE,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,uDAAuD;AACvD,eAAO,MAAM,8BAA8B,QAAS,CAAC;AAKrD,qDAAqD;AACrD,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,iCAAiC;IACjC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,iEAAiE;IACjE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,wBAAwB,EACpC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,mBAAmB,CASrB;AAED,gFAAgF;AAChF,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,QAAQ,EAAE,MAAM,CAAC;CAClB;AA6BD;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAG9B;AA2GD;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,CAAC,CAwBjC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,sBAAsB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CA+DnC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAyBxD;AAED;;;;;;;;GAQG;AACH,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,wBAAwB,CAAC,CAoBnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,GAAG,IAAI,CA0B5F;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,SAAS,EAAE,mBAAmB,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB"}
@@ -94,7 +94,7 @@ async function assessWithStaleSet(projectRoot, sampleLimit = 10) {
94
94
  let manifest;
95
95
  const none = new Set();
96
96
  try {
97
- manifest = readFileManifest(db);
97
+ manifest = readFileManifest(db, projectRoot);
98
98
  }
99
99
  catch (error) {
100
100
  const freshness = {
@@ -130,10 +130,29 @@ async function assessWithStaleSet(projectRoot, sampleLimit = 10) {
130
130
  known.set(path, { size, mtimeMs, contentHash });
131
131
  const { walkRepositoryPaths } = await import('@cleocode/nexus/pipeline');
132
132
  const unreadable = [];
133
- const current = await walkRepositoryPaths(manifest.sourceRoot, undefined, (report) => {
134
- if (report.status === 'failed')
135
- unreadable.push(report.path);
136
- }, manifest.includedRepositories, { knownFiles: known });
133
+ let current;
134
+ try {
135
+ current = await walkRepositoryPaths(manifest.sourceRoot, undefined, (report) => {
136
+ if (report.status === 'failed')
137
+ unreadable.push(report.path);
138
+ }, manifest.includedRepositories, { knownFiles: known });
139
+ }
140
+ catch (error) {
141
+ // T12474: an unreachable source root is an unassessable index, never a crash.
142
+ const freshness = {
143
+ ...base,
144
+ indexed: true,
145
+ status: 'unknown',
146
+ lastIndexedAt: manifest.assessedAt,
147
+ fileCount: manifest.files.length,
148
+ staleFileCount: -1,
149
+ refreshEstimate: 'unknown',
150
+ checkMs: Math.round(performance.now() - started),
151
+ reason: `the recorded source root ${manifest.sourceRoot} could not be walked ` +
152
+ `(${error instanceof Error ? error.message : String(error)}); run ${NEXUS_REFRESH_COMMAND}`,
153
+ };
154
+ return { freshness, staleFiles: none };
155
+ }
137
156
  const stale = new Set(unreadable);
138
157
  const seen = new Set();
139
158
  for (const file of current) {
@@ -226,7 +245,7 @@ export async function ensureNexusIndexFresh(projectRoot, policy) {
226
245
  if (estimate !== null && estimate > effective.budgetMs)
227
246
  return skip(`estimated refresh ${Math.round(estimate / 1000)}s exceeds nexus.autoRefresh.budgetMs = ` +
228
247
  `${effective.budgetMs}; answered from the stale index`);
229
- const manifest = readFileManifest(db);
248
+ const manifest = readFileManifest(db, projectRoot);
230
249
  const started = performance.now();
231
250
  try {
232
251
  const result = await runNexusAnalysis({
@@ -1 +1 @@
1
- {"version":3,"file":"freshness.js","sourceRoot":"","sources":["../../src/nexus/freshness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"freshness.js","sourceRoot":"","sources":["../../src/nexus/freshness.ts"],"names":[],"mappings":"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"}