@cleocode/cleo 2026.5.4 → 2026.5.5

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 (857) hide show
  1. package/dist/cli/index.js +61 -87
  2. package/dist/cli/index.js.map +3 -3
  3. package/package.json +9 -9
  4. package/dist/backfill/audit-columns.d.ts +0 -105
  5. package/dist/backfill/audit-columns.d.ts.map +0 -1
  6. package/dist/backfill/audit-columns.js +0 -258
  7. package/dist/backfill/audit-columns.js.map +0 -1
  8. package/dist/cli/commands/adapter.d.ts +0 -28
  9. package/dist/cli/commands/adapter.d.ts.map +0 -1
  10. package/dist/cli/commands/adapter.js +0 -119
  11. package/dist/cli/commands/adapter.js.map +0 -1
  12. package/dist/cli/commands/add-batch.d.ts +0 -33
  13. package/dist/cli/commands/add-batch.d.ts.map +0 -1
  14. package/dist/cli/commands/add-batch.js +0 -148
  15. package/dist/cli/commands/add-batch.js.map +0 -1
  16. package/dist/cli/commands/add.d.ts +0 -162
  17. package/dist/cli/commands/add.d.ts.map +0 -1
  18. package/dist/cli/commands/add.js +0 -279
  19. package/dist/cli/commands/add.js.map +0 -1
  20. package/dist/cli/commands/admin.d.ts +0 -24
  21. package/dist/cli/commands/admin.d.ts.map +0 -1
  22. package/dist/cli/commands/admin.js +0 -283
  23. package/dist/cli/commands/admin.js.map +0 -1
  24. package/dist/cli/commands/adr.d.ts +0 -33
  25. package/dist/cli/commands/adr.d.ts.map +0 -1
  26. package/dist/cli/commands/adr.js +0 -147
  27. package/dist/cli/commands/adr.js.map +0 -1
  28. package/dist/cli/commands/agent-profile-status.d.ts +0 -98
  29. package/dist/cli/commands/agent-profile-status.d.ts.map +0 -1
  30. package/dist/cli/commands/agent-profile-status.js +0 -71
  31. package/dist/cli/commands/agent-profile-status.js.map +0 -1
  32. package/dist/cli/commands/agent.d.ts +0 -47
  33. package/dist/cli/commands/agent.d.ts.map +0 -1
  34. package/dist/cli/commands/agent.js +0 -2976
  35. package/dist/cli/commands/agent.js.map +0 -1
  36. package/dist/cli/commands/analyze.d.ts +0 -21
  37. package/dist/cli/commands/analyze.d.ts.map +0 -1
  38. package/dist/cli/commands/analyze.js +0 -32
  39. package/dist/cli/commands/analyze.js.map +0 -1
  40. package/dist/cli/commands/archive-stats.d.ts +0 -66
  41. package/dist/cli/commands/archive-stats.d.ts.map +0 -1
  42. package/dist/cli/commands/archive-stats.js +0 -93
  43. package/dist/cli/commands/archive-stats.js.map +0 -1
  44. package/dist/cli/commands/archive.d.ts +0 -42
  45. package/dist/cli/commands/archive.d.ts.map +0 -1
  46. package/dist/cli/commands/archive.js +0 -59
  47. package/dist/cli/commands/archive.js.map +0 -1
  48. package/dist/cli/commands/audit.d.ts +0 -22
  49. package/dist/cli/commands/audit.d.ts.map +0 -1
  50. package/dist/cli/commands/audit.js +0 -137
  51. package/dist/cli/commands/audit.js.map +0 -1
  52. package/dist/cli/commands/backfill.d.ts +0 -56
  53. package/dist/cli/commands/backfill.d.ts.map +0 -1
  54. package/dist/cli/commands/backfill.js +0 -161
  55. package/dist/cli/commands/backfill.js.map +0 -1
  56. package/dist/cli/commands/backup-inspect.d.ts +0 -33
  57. package/dist/cli/commands/backup-inspect.d.ts.map +0 -1
  58. package/dist/cli/commands/backup-inspect.js +0 -430
  59. package/dist/cli/commands/backup-inspect.js.map +0 -1
  60. package/dist/cli/commands/backup.d.ts +0 -23
  61. package/dist/cli/commands/backup.d.ts.map +0 -1
  62. package/dist/cli/commands/backup.js +0 -564
  63. package/dist/cli/commands/backup.js.map +0 -1
  64. package/dist/cli/commands/blockers.d.ts +0 -20
  65. package/dist/cli/commands/blockers.d.ts.map +0 -1
  66. package/dist/cli/commands/blockers.js +0 -31
  67. package/dist/cli/commands/blockers.js.map +0 -1
  68. package/dist/cli/commands/brain.d.ts +0 -37
  69. package/dist/cli/commands/brain.d.ts.map +0 -1
  70. package/dist/cli/commands/brain.js +0 -445
  71. package/dist/cli/commands/brain.js.map +0 -1
  72. package/dist/cli/commands/briefing.d.ts +0 -52
  73. package/dist/cli/commands/briefing.d.ts.map +0 -1
  74. package/dist/cli/commands/briefing.js +0 -69
  75. package/dist/cli/commands/briefing.js.map +0 -1
  76. package/dist/cli/commands/bug.d.ts +0 -61
  77. package/dist/cli/commands/bug.d.ts.map +0 -1
  78. package/dist/cli/commands/bug.js +0 -198
  79. package/dist/cli/commands/bug.js.map +0 -1
  80. package/dist/cli/commands/cancel.d.ts +0 -26
  81. package/dist/cli/commands/cancel.d.ts.map +0 -1
  82. package/dist/cli/commands/cancel.js +0 -40
  83. package/dist/cli/commands/cancel.js.map +0 -1
  84. package/dist/cli/commands/cant.d.ts +0 -13
  85. package/dist/cli/commands/cant.d.ts.map +0 -1
  86. package/dist/cli/commands/cant.js +0 -245
  87. package/dist/cli/commands/cant.js.map +0 -1
  88. package/dist/cli/commands/chain.d.ts +0 -24
  89. package/dist/cli/commands/chain.d.ts.map +0 -1
  90. package/dist/cli/commands/chain.js +0 -116
  91. package/dist/cli/commands/chain.js.map +0 -1
  92. package/dist/cli/commands/check.d.ts +0 -18
  93. package/dist/cli/commands/check.d.ts.map +0 -1
  94. package/dist/cli/commands/check.js +0 -280
  95. package/dist/cli/commands/check.js.map +0 -1
  96. package/dist/cli/commands/checkpoint.d.ts +0 -27
  97. package/dist/cli/commands/checkpoint.d.ts.map +0 -1
  98. package/dist/cli/commands/checkpoint.js +0 -105
  99. package/dist/cli/commands/checkpoint.js.map +0 -1
  100. package/dist/cli/commands/claim.d.ts +0 -35
  101. package/dist/cli/commands/claim.d.ts.map +0 -1
  102. package/dist/cli/commands/claim.js +0 -35
  103. package/dist/cli/commands/claim.js.map +0 -1
  104. package/dist/cli/commands/code.d.ts +0 -22
  105. package/dist/cli/commands/code.d.ts.map +0 -1
  106. package/dist/cli/commands/code.js +0 -161
  107. package/dist/cli/commands/code.js.map +0 -1
  108. package/dist/cli/commands/complete.d.ts +0 -58
  109. package/dist/cli/commands/complete.d.ts.map +0 -1
  110. package/dist/cli/commands/complete.js +0 -83
  111. package/dist/cli/commands/complete.js.map +0 -1
  112. package/dist/cli/commands/complexity.d.ts +0 -13
  113. package/dist/cli/commands/complexity.d.ts.map +0 -1
  114. package/dist/cli/commands/complexity.js +0 -32
  115. package/dist/cli/commands/complexity.js.map +0 -1
  116. package/dist/cli/commands/compliance.d.ts +0 -27
  117. package/dist/cli/commands/compliance.d.ts.map +0 -1
  118. package/dist/cli/commands/compliance.js +0 -233
  119. package/dist/cli/commands/compliance.js.map +0 -1
  120. package/dist/cli/commands/conduit.d.ts +0 -28
  121. package/dist/cli/commands/conduit.d.ts.map +0 -1
  122. package/dist/cli/commands/conduit.js +0 -279
  123. package/dist/cli/commands/conduit.js.map +0 -1
  124. package/dist/cli/commands/config.d.ts +0 -25
  125. package/dist/cli/commands/config.d.ts.map +0 -1
  126. package/dist/cli/commands/config.js +0 -132
  127. package/dist/cli/commands/config.js.map +0 -1
  128. package/dist/cli/commands/consensus.d.ts +0 -21
  129. package/dist/cli/commands/consensus.d.ts.map +0 -1
  130. package/dist/cli/commands/consensus.js +0 -100
  131. package/dist/cli/commands/consensus.js.map +0 -1
  132. package/dist/cli/commands/context.d.ts +0 -19
  133. package/dist/cli/commands/context.d.ts.map +0 -1
  134. package/dist/cli/commands/context.js +0 -111
  135. package/dist/cli/commands/context.js.map +0 -1
  136. package/dist/cli/commands/contribution.d.ts +0 -21
  137. package/dist/cli/commands/contribution.d.ts.map +0 -1
  138. package/dist/cli/commands/contribution.js +0 -90
  139. package/dist/cli/commands/contribution.js.map +0 -1
  140. package/dist/cli/commands/current.d.ts +0 -18
  141. package/dist/cli/commands/current.d.ts.map +0 -1
  142. package/dist/cli/commands/current.js +0 -28
  143. package/dist/cli/commands/current.js.map +0 -1
  144. package/dist/cli/commands/daemon.d.ts +0 -36
  145. package/dist/cli/commands/daemon.d.ts.map +0 -1
  146. package/dist/cli/commands/daemon.js +0 -223
  147. package/dist/cli/commands/daemon.js.map +0 -1
  148. package/dist/cli/commands/dash.d.ts +0 -23
  149. package/dist/cli/commands/dash.d.ts.map +0 -1
  150. package/dist/cli/commands/dash.js +0 -38
  151. package/dist/cli/commands/dash.js.map +0 -1
  152. package/dist/cli/commands/decomposition.d.ts +0 -13
  153. package/dist/cli/commands/decomposition.d.ts.map +0 -1
  154. package/dist/cli/commands/decomposition.js +0 -92
  155. package/dist/cli/commands/decomposition.js.map +0 -1
  156. package/dist/cli/commands/delete.d.ts +0 -29
  157. package/dist/cli/commands/delete.d.ts.map +0 -1
  158. package/dist/cli/commands/delete.js +0 -55
  159. package/dist/cli/commands/delete.js.map +0 -1
  160. package/dist/cli/commands/deps.d.ts +0 -45
  161. package/dist/cli/commands/deps.d.ts.map +0 -1
  162. package/dist/cli/commands/deps.js +0 -170
  163. package/dist/cli/commands/deps.js.map +0 -1
  164. package/dist/cli/commands/detect-drift.d.ts +0 -23
  165. package/dist/cli/commands/detect-drift.d.ts.map +0 -1
  166. package/dist/cli/commands/detect-drift.js +0 -440
  167. package/dist/cli/commands/detect-drift.js.map +0 -1
  168. package/dist/cli/commands/detect.d.ts +0 -3
  169. package/dist/cli/commands/detect.d.ts.map +0 -1
  170. package/dist/cli/commands/detect.js +0 -14
  171. package/dist/cli/commands/detect.js.map +0 -1
  172. package/dist/cli/commands/diagnostics.d.ts +0 -19
  173. package/dist/cli/commands/diagnostics.d.ts.map +0 -1
  174. package/dist/cli/commands/diagnostics.js +0 -109
  175. package/dist/cli/commands/diagnostics.js.map +0 -1
  176. package/dist/cli/commands/docs.d.ts +0 -25
  177. package/dist/cli/commands/docs.d.ts.map +0 -1
  178. package/dist/cli/commands/docs.js +0 -798
  179. package/dist/cli/commands/docs.js.map +0 -1
  180. package/dist/cli/commands/doctor-projects.d.ts +0 -101
  181. package/dist/cli/commands/doctor-projects.d.ts.map +0 -1
  182. package/dist/cli/commands/doctor-projects.js +0 -188
  183. package/dist/cli/commands/doctor-projects.js.map +0 -1
  184. package/dist/cli/commands/doctor.d.ts +0 -66
  185. package/dist/cli/commands/doctor.d.ts.map +0 -1
  186. package/dist/cli/commands/doctor.js +0 -178
  187. package/dist/cli/commands/doctor.js.map +0 -1
  188. package/dist/cli/commands/dynamic.d.ts +0 -15
  189. package/dist/cli/commands/dynamic.d.ts.map +0 -1
  190. package/dist/cli/commands/dynamic.js +0 -21
  191. package/dist/cli/commands/dynamic.js.map +0 -1
  192. package/dist/cli/commands/exists.d.ts +0 -13
  193. package/dist/cli/commands/exists.d.ts.map +0 -1
  194. package/dist/cli/commands/exists.js +0 -40
  195. package/dist/cli/commands/exists.js.map +0 -1
  196. package/dist/cli/commands/export-tasks.d.ts +0 -46
  197. package/dist/cli/commands/export-tasks.d.ts.map +0 -1
  198. package/dist/cli/commands/export-tasks.js +0 -81
  199. package/dist/cli/commands/export-tasks.js.map +0 -1
  200. package/dist/cli/commands/export.d.ts +0 -35
  201. package/dist/cli/commands/export.d.ts.map +0 -1
  202. package/dist/cli/commands/export.js +0 -68
  203. package/dist/cli/commands/export.js.map +0 -1
  204. package/dist/cli/commands/find.d.ts +0 -54
  205. package/dist/cli/commands/find.d.ts.map +0 -1
  206. package/dist/cli/commands/find.js +0 -92
  207. package/dist/cli/commands/find.js.map +0 -1
  208. package/dist/cli/commands/gc.d.ts +0 -25
  209. package/dist/cli/commands/gc.d.ts.map +0 -1
  210. package/dist/cli/commands/gc.js +0 -165
  211. package/dist/cli/commands/gc.js.map +0 -1
  212. package/dist/cli/commands/generate-changelog.d.ts +0 -30
  213. package/dist/cli/commands/generate-changelog.d.ts.map +0 -1
  214. package/dist/cli/commands/generate-changelog.js +0 -270
  215. package/dist/cli/commands/generate-changelog.js.map +0 -1
  216. package/dist/cli/commands/grade.d.ts +0 -13
  217. package/dist/cli/commands/grade.d.ts.map +0 -1
  218. package/dist/cli/commands/grade.js +0 -27
  219. package/dist/cli/commands/grade.js.map +0 -1
  220. package/dist/cli/commands/history.d.ts +0 -13
  221. package/dist/cli/commands/history.d.ts.map +0 -1
  222. package/dist/cli/commands/history.js +0 -65
  223. package/dist/cli/commands/history.js.map +0 -1
  224. package/dist/cli/commands/import-tasks.d.ts +0 -60
  225. package/dist/cli/commands/import-tasks.d.ts.map +0 -1
  226. package/dist/cli/commands/import-tasks.js +0 -83
  227. package/dist/cli/commands/import-tasks.js.map +0 -1
  228. package/dist/cli/commands/import.d.ts +0 -42
  229. package/dist/cli/commands/import.d.ts.map +0 -1
  230. package/dist/cli/commands/import.js +0 -64
  231. package/dist/cli/commands/import.js.map +0 -1
  232. package/dist/cli/commands/init.d.ts +0 -65
  233. package/dist/cli/commands/init.d.ts.map +0 -1
  234. package/dist/cli/commands/init.js +0 -122
  235. package/dist/cli/commands/init.js.map +0 -1
  236. package/dist/cli/commands/inject.d.ts +0 -41
  237. package/dist/cli/commands/inject.d.ts.map +0 -1
  238. package/dist/cli/commands/inject.js +0 -56
  239. package/dist/cli/commands/inject.js.map +0 -1
  240. package/dist/cli/commands/install-global.d.ts +0 -48
  241. package/dist/cli/commands/install-global.d.ts.map +0 -1
  242. package/dist/cli/commands/install-global.js +0 -104
  243. package/dist/cli/commands/install-global.js.map +0 -1
  244. package/dist/cli/commands/intelligence.d.ts +0 -21
  245. package/dist/cli/commands/intelligence.d.ts.map +0 -1
  246. package/dist/cli/commands/intelligence.js +0 -145
  247. package/dist/cli/commands/intelligence.js.map +0 -1
  248. package/dist/cli/commands/issue.d.ts +0 -23
  249. package/dist/cli/commands/issue.d.ts.map +0 -1
  250. package/dist/cli/commands/issue.js +0 -152
  251. package/dist/cli/commands/issue.js.map +0 -1
  252. package/dist/cli/commands/labels.d.ts +0 -21
  253. package/dist/cli/commands/labels.d.ts.map +0 -1
  254. package/dist/cli/commands/labels.js +0 -65
  255. package/dist/cli/commands/labels.js.map +0 -1
  256. package/dist/cli/commands/lifecycle.d.ts +0 -25
  257. package/dist/cli/commands/lifecycle.d.ts.map +0 -1
  258. package/dist/cli/commands/lifecycle.js +0 -221
  259. package/dist/cli/commands/lifecycle.js.map +0 -1
  260. package/dist/cli/commands/list.d.ts +0 -28
  261. package/dist/cli/commands/list.d.ts.map +0 -1
  262. package/dist/cli/commands/list.js +0 -81
  263. package/dist/cli/commands/list.js.map +0 -1
  264. package/dist/cli/commands/log.d.ts +0 -36
  265. package/dist/cli/commands/log.d.ts.map +0 -1
  266. package/dist/cli/commands/log.js +0 -50
  267. package/dist/cli/commands/log.js.map +0 -1
  268. package/dist/cli/commands/manifest.d.ts +0 -15
  269. package/dist/cli/commands/manifest.d.ts.map +0 -1
  270. package/dist/cli/commands/manifest.js +0 -334
  271. package/dist/cli/commands/manifest.js.map +0 -1
  272. package/dist/cli/commands/map.d.ts +0 -25
  273. package/dist/cli/commands/map.d.ts.map +0 -1
  274. package/dist/cli/commands/map.js +0 -37
  275. package/dist/cli/commands/map.js.map +0 -1
  276. package/dist/cli/commands/memory.d.ts +0 -48
  277. package/dist/cli/commands/memory.d.ts.map +0 -1
  278. package/dist/cli/commands/memory.js +0 -2439
  279. package/dist/cli/commands/memory.js.map +0 -1
  280. package/dist/cli/commands/migrate-claude-mem.d.ts +0 -23
  281. package/dist/cli/commands/migrate-claude-mem.d.ts.map +0 -1
  282. package/dist/cli/commands/migrate-claude-mem.js +0 -181
  283. package/dist/cli/commands/migrate-claude-mem.js.map +0 -1
  284. package/dist/cli/commands/next.d.ts +0 -27
  285. package/dist/cli/commands/next.d.ts.map +0 -1
  286. package/dist/cli/commands/next.js +0 -40
  287. package/dist/cli/commands/next.js.map +0 -1
  288. package/dist/cli/commands/nexus.d.ts +0 -15
  289. package/dist/cli/commands/nexus.d.ts.map +0 -1
  290. package/dist/cli/commands/nexus.js +0 -3377
  291. package/dist/cli/commands/nexus.js.map +0 -1
  292. package/dist/cli/commands/ops.d.ts +0 -23
  293. package/dist/cli/commands/ops.d.ts.map +0 -1
  294. package/dist/cli/commands/ops.js +0 -35
  295. package/dist/cli/commands/ops.js.map +0 -1
  296. package/dist/cli/commands/orchestrate.d.ts +0 -48
  297. package/dist/cli/commands/orchestrate.d.ts.map +0 -1
  298. package/dist/cli/commands/orchestrate.js +0 -774
  299. package/dist/cli/commands/orchestrate.js.map +0 -1
  300. package/dist/cli/commands/otel.d.ts +0 -30
  301. package/dist/cli/commands/otel.d.ts.map +0 -1
  302. package/dist/cli/commands/otel.js +0 -193
  303. package/dist/cli/commands/otel.js.map +0 -1
  304. package/dist/cli/commands/phase.d.ts +0 -29
  305. package/dist/cli/commands/phase.d.ts.map +0 -1
  306. package/dist/cli/commands/phase.js +0 -189
  307. package/dist/cli/commands/phase.js.map +0 -1
  308. package/dist/cli/commands/pivot.d.ts +0 -34
  309. package/dist/cli/commands/pivot.d.ts.map +0 -1
  310. package/dist/cli/commands/pivot.js +0 -50
  311. package/dist/cli/commands/pivot.js.map +0 -1
  312. package/dist/cli/commands/plan.d.ts +0 -17
  313. package/dist/cli/commands/plan.d.ts.map +0 -1
  314. package/dist/cli/commands/plan.js +0 -27
  315. package/dist/cli/commands/plan.js.map +0 -1
  316. package/dist/cli/commands/playbook.d.ts +0 -26
  317. package/dist/cli/commands/playbook.d.ts.map +0 -1
  318. package/dist/cli/commands/playbook.js +0 -220
  319. package/dist/cli/commands/playbook.js.map +0 -1
  320. package/dist/cli/commands/promote.d.ts +0 -19
  321. package/dist/cli/commands/promote.d.ts.map +0 -1
  322. package/dist/cli/commands/promote.js +0 -27
  323. package/dist/cli/commands/promote.js.map +0 -1
  324. package/dist/cli/commands/provider.d.ts +0 -23
  325. package/dist/cli/commands/provider.d.ts.map +0 -1
  326. package/dist/cli/commands/provider.js +0 -168
  327. package/dist/cli/commands/provider.js.map +0 -1
  328. package/dist/cli/commands/reason.d.ts +0 -18
  329. package/dist/cli/commands/reason.d.ts.map +0 -1
  330. package/dist/cli/commands/reason.js +0 -102
  331. package/dist/cli/commands/reason.js.map +0 -1
  332. package/dist/cli/commands/reconcile.d.ts +0 -35
  333. package/dist/cli/commands/reconcile.d.ts.map +0 -1
  334. package/dist/cli/commands/reconcile.js +0 -102
  335. package/dist/cli/commands/reconcile.js.map +0 -1
  336. package/dist/cli/commands/refresh-memory.d.ts +0 -16
  337. package/dist/cli/commands/refresh-memory.d.ts.map +0 -1
  338. package/dist/cli/commands/refresh-memory.js +0 -34
  339. package/dist/cli/commands/refresh-memory.js.map +0 -1
  340. package/dist/cli/commands/relates.d.ts +0 -19
  341. package/dist/cli/commands/relates.d.ts.map +0 -1
  342. package/dist/cli/commands/relates.js +0 -129
  343. package/dist/cli/commands/relates.js.map +0 -1
  344. package/dist/cli/commands/release.d.ts +0 -27
  345. package/dist/cli/commands/release.d.ts.map +0 -1
  346. package/dist/cli/commands/release.js +0 -300
  347. package/dist/cli/commands/release.js.map +0 -1
  348. package/dist/cli/commands/remote.d.ts +0 -49
  349. package/dist/cli/commands/remote.d.ts.map +0 -1
  350. package/dist/cli/commands/remote.js +0 -265
  351. package/dist/cli/commands/remote.js.map +0 -1
  352. package/dist/cli/commands/reorder.d.ts +0 -31
  353. package/dist/cli/commands/reorder.d.ts.map +0 -1
  354. package/dist/cli/commands/reorder.js +0 -57
  355. package/dist/cli/commands/reorder.js.map +0 -1
  356. package/dist/cli/commands/reparent.d.ts +0 -27
  357. package/dist/cli/commands/reparent.d.ts.map +0 -1
  358. package/dist/cli/commands/reparent.js +0 -36
  359. package/dist/cli/commands/reparent.js.map +0 -1
  360. package/dist/cli/commands/req.d.ts +0 -37
  361. package/dist/cli/commands/req.d.ts.map +0 -1
  362. package/dist/cli/commands/req.js +0 -121
  363. package/dist/cli/commands/req.js.map +0 -1
  364. package/dist/cli/commands/research.d.ts +0 -25
  365. package/dist/cli/commands/research.d.ts.map +0 -1
  366. package/dist/cli/commands/research.js +0 -327
  367. package/dist/cli/commands/research.js.map +0 -1
  368. package/dist/cli/commands/restore.d.ts +0 -64
  369. package/dist/cli/commands/restore.d.ts.map +0 -1
  370. package/dist/cli/commands/restore.js +0 -539
  371. package/dist/cli/commands/restore.js.map +0 -1
  372. package/dist/cli/commands/revert.d.ts +0 -79
  373. package/dist/cli/commands/revert.d.ts.map +0 -1
  374. package/dist/cli/commands/revert.js +0 -300
  375. package/dist/cli/commands/revert.js.map +0 -1
  376. package/dist/cli/commands/roadmap.d.ts +0 -29
  377. package/dist/cli/commands/roadmap.d.ts.map +0 -1
  378. package/dist/cli/commands/roadmap.js +0 -43
  379. package/dist/cli/commands/roadmap.js.map +0 -1
  380. package/dist/cli/commands/safestop.d.ts +0 -41
  381. package/dist/cli/commands/safestop.d.ts.map +0 -1
  382. package/dist/cli/commands/safestop.js +0 -62
  383. package/dist/cli/commands/safestop.js.map +0 -1
  384. package/dist/cli/commands/schema.d.ts +0 -44
  385. package/dist/cli/commands/schema.d.ts.map +0 -1
  386. package/dist/cli/commands/schema.js +0 -177
  387. package/dist/cli/commands/schema.js.map +0 -1
  388. package/dist/cli/commands/self-update.d.ts +0 -81
  389. package/dist/cli/commands/self-update.d.ts.map +0 -1
  390. package/dist/cli/commands/self-update.js +0 -483
  391. package/dist/cli/commands/self-update.js.map +0 -1
  392. package/dist/cli/commands/sentient.d.ts +0 -44
  393. package/dist/cli/commands/sentient.d.ts.map +0 -1
  394. package/dist/cli/commands/sentient.js +0 -687
  395. package/dist/cli/commands/sentient.js.map +0 -1
  396. package/dist/cli/commands/sequence.d.ts +0 -15
  397. package/dist/cli/commands/sequence.d.ts.map +0 -1
  398. package/dist/cli/commands/sequence.js +0 -68
  399. package/dist/cli/commands/sequence.js.map +0 -1
  400. package/dist/cli/commands/session.d.ts +0 -32
  401. package/dist/cli/commands/session.d.ts.map +0 -1
  402. package/dist/cli/commands/session.js +0 -583
  403. package/dist/cli/commands/session.js.map +0 -1
  404. package/dist/cli/commands/show.d.ts +0 -21
  405. package/dist/cli/commands/show.d.ts.map +0 -1
  406. package/dist/cli/commands/show.js +0 -37
  407. package/dist/cli/commands/show.js.map +0 -1
  408. package/dist/cli/commands/skills.d.ts +0 -31
  409. package/dist/cli/commands/skills.d.ts.map +0 -1
  410. package/dist/cli/commands/skills.js +0 -303
  411. package/dist/cli/commands/skills.js.map +0 -1
  412. package/dist/cli/commands/snapshot.d.ts +0 -17
  413. package/dist/cli/commands/snapshot.d.ts.map +0 -1
  414. package/dist/cli/commands/snapshot.js +0 -95
  415. package/dist/cli/commands/snapshot.js.map +0 -1
  416. package/dist/cli/commands/start.d.ts +0 -21
  417. package/dist/cli/commands/start.d.ts.map +0 -1
  418. package/dist/cli/commands/start.js +0 -32
  419. package/dist/cli/commands/start.js.map +0 -1
  420. package/dist/cli/commands/stats.d.ts +0 -30
  421. package/dist/cli/commands/stats.d.ts.map +0 -1
  422. package/dist/cli/commands/stats.js +0 -71
  423. package/dist/cli/commands/stats.js.map +0 -1
  424. package/dist/cli/commands/sticky.d.ts +0 -23
  425. package/dist/cli/commands/sticky.d.ts.map +0 -1
  426. package/dist/cli/commands/sticky.js +0 -315
  427. package/dist/cli/commands/sticky.js.map +0 -1
  428. package/dist/cli/commands/stop.d.ts +0 -15
  429. package/dist/cli/commands/stop.d.ts.map +0 -1
  430. package/dist/cli/commands/stop.js +0 -25
  431. package/dist/cli/commands/stop.js.map +0 -1
  432. package/dist/cli/commands/sync.d.ts +0 -25
  433. package/dist/cli/commands/sync.d.ts.map +0 -1
  434. package/dist/cli/commands/sync.js +0 -125
  435. package/dist/cli/commands/sync.js.map +0 -1
  436. package/dist/cli/commands/testing.d.ts +0 -22
  437. package/dist/cli/commands/testing.d.ts.map +0 -1
  438. package/dist/cli/commands/testing.js +0 -111
  439. package/dist/cli/commands/testing.js.map +0 -1
  440. package/dist/cli/commands/token.d.ts +0 -22
  441. package/dist/cli/commands/token.d.ts.map +0 -1
  442. package/dist/cli/commands/token.js +0 -197
  443. package/dist/cli/commands/token.js.map +0 -1
  444. package/dist/cli/commands/transcript.d.ts +0 -32
  445. package/dist/cli/commands/transcript.d.ts.map +0 -1
  446. package/dist/cli/commands/transcript.js +0 -526
  447. package/dist/cli/commands/transcript.js.map +0 -1
  448. package/dist/cli/commands/update.d.ts +0 -164
  449. package/dist/cli/commands/update.d.ts.map +0 -1
  450. package/dist/cli/commands/update.js +0 -234
  451. package/dist/cli/commands/update.js.map +0 -1
  452. package/dist/cli/commands/upgrade.d.ts +0 -76
  453. package/dist/cli/commands/upgrade.d.ts.map +0 -1
  454. package/dist/cli/commands/upgrade.js +0 -154
  455. package/dist/cli/commands/upgrade.js.map +0 -1
  456. package/dist/cli/commands/verify.d.ts +0 -83
  457. package/dist/cli/commands/verify.d.ts.map +0 -1
  458. package/dist/cli/commands/verify.js +0 -108
  459. package/dist/cli/commands/verify.js.map +0 -1
  460. package/dist/cli/commands/web.d.ts +0 -27
  461. package/dist/cli/commands/web.d.ts.map +0 -1
  462. package/dist/cli/commands/web.js +0 -414
  463. package/dist/cli/commands/web.js.map +0 -1
  464. package/dist/cli/field-context.d.ts +0 -32
  465. package/dist/cli/field-context.d.ts.map +0 -1
  466. package/dist/cli/field-context.js +0 -47
  467. package/dist/cli/field-context.js.map +0 -1
  468. package/dist/cli/format-context.d.ts +0 -32
  469. package/dist/cli/format-context.d.ts.map +0 -1
  470. package/dist/cli/format-context.js +0 -50
  471. package/dist/cli/format-context.js.map +0 -1
  472. package/dist/cli/help-renderer.d.ts +0 -40
  473. package/dist/cli/help-renderer.d.ts.map +0 -1
  474. package/dist/cli/help-renderer.js +0 -325
  475. package/dist/cli/help-renderer.js.map +0 -1
  476. package/dist/cli/index.d.ts +0 -14
  477. package/dist/cli/index.d.ts.map +0 -1
  478. package/dist/cli/infer-files-via-gitnexus.d.ts +0 -12
  479. package/dist/cli/infer-files-via-gitnexus.d.ts.map +0 -1
  480. package/dist/cli/infer-files-via-gitnexus.js +0 -12
  481. package/dist/cli/infer-files-via-gitnexus.js.map +0 -1
  482. package/dist/cli/lib/did-you-mean.d.ts +0 -30
  483. package/dist/cli/lib/did-you-mean.d.ts.map +0 -1
  484. package/dist/cli/lib/did-you-mean.js +0 -63
  485. package/dist/cli/lib/did-you-mean.js.map +0 -1
  486. package/dist/cli/lib/registry-args.d.ts +0 -36
  487. package/dist/cli/lib/registry-args.d.ts.map +0 -1
  488. package/dist/cli/lib/registry-args.js +0 -37
  489. package/dist/cli/lib/registry-args.js.map +0 -1
  490. package/dist/cli/lib/subcommand-guard.d.ts +0 -45
  491. package/dist/cli/lib/subcommand-guard.d.ts.map +0 -1
  492. package/dist/cli/lib/subcommand-guard.js +0 -55
  493. package/dist/cli/lib/subcommand-guard.js.map +0 -1
  494. package/dist/cli/logger-bootstrap.d.ts +0 -6
  495. package/dist/cli/logger-bootstrap.d.ts.map +0 -1
  496. package/dist/cli/logger-bootstrap.js +0 -10
  497. package/dist/cli/logger-bootstrap.js.map +0 -1
  498. package/dist/cli/middleware/output-format.d.ts +0 -30
  499. package/dist/cli/middleware/output-format.d.ts.map +0 -1
  500. package/dist/cli/middleware/output-format.js +0 -35
  501. package/dist/cli/middleware/output-format.js.map +0 -1
  502. package/dist/cli/paths.d.ts +0 -85
  503. package/dist/cli/paths.d.ts.map +0 -1
  504. package/dist/cli/paths.js +0 -108
  505. package/dist/cli/paths.js.map +0 -1
  506. package/dist/cli/progress.d.ts +0 -89
  507. package/dist/cli/progress.d.ts.map +0 -1
  508. package/dist/cli/progress.js +0 -185
  509. package/dist/cli/progress.js.map +0 -1
  510. package/dist/cli/renderers/colors.d.ts +0 -32
  511. package/dist/cli/renderers/colors.d.ts.map +0 -1
  512. package/dist/cli/renderers/colors.js +0 -141
  513. package/dist/cli/renderers/colors.js.map +0 -1
  514. package/dist/cli/renderers/error.d.ts +0 -13
  515. package/dist/cli/renderers/error.d.ts.map +0 -1
  516. package/dist/cli/renderers/error.js +0 -42
  517. package/dist/cli/renderers/error.js.map +0 -1
  518. package/dist/cli/renderers/index.d.ts +0 -90
  519. package/dist/cli/renderers/index.d.ts.map +0 -1
  520. package/dist/cli/renderers/index.js +0 -268
  521. package/dist/cli/renderers/index.js.map +0 -1
  522. package/dist/cli/renderers/lafs-validator.d.ts +0 -91
  523. package/dist/cli/renderers/lafs-validator.d.ts.map +0 -1
  524. package/dist/cli/renderers/lafs-validator.js +0 -176
  525. package/dist/cli/renderers/lafs-validator.js.map +0 -1
  526. package/dist/cli/renderers/normalizer.d.ts +0 -21
  527. package/dist/cli/renderers/normalizer.d.ts.map +0 -1
  528. package/dist/cli/renderers/normalizer.js +0 -106
  529. package/dist/cli/renderers/normalizer.js.map +0 -1
  530. package/dist/cli/renderers/system.d.ts +0 -110
  531. package/dist/cli/renderers/system.d.ts.map +0 -1
  532. package/dist/cli/renderers/system.js +0 -662
  533. package/dist/cli/renderers/system.js.map +0 -1
  534. package/dist/cli/renderers/tasks.d.ts +0 -28
  535. package/dist/cli/renderers/tasks.d.ts.map +0 -1
  536. package/dist/cli/renderers/tasks.js +0 -306
  537. package/dist/cli/renderers/tasks.js.map +0 -1
  538. package/dist/cli/tree-context.d.ts +0 -53
  539. package/dist/cli/tree-context.d.ts.map +0 -1
  540. package/dist/cli/tree-context.js +0 -43
  541. package/dist/cli/tree-context.js.map +0 -1
  542. package/dist/dispatch/adapters/cli.d.ts +0 -67
  543. package/dist/dispatch/adapters/cli.d.ts.map +0 -1
  544. package/dist/dispatch/adapters/cli.js +0 -331
  545. package/dist/dispatch/adapters/cli.js.map +0 -1
  546. package/dist/dispatch/adapters/typed.d.ts +0 -362
  547. package/dist/dispatch/adapters/typed.d.ts.map +0 -1
  548. package/dist/dispatch/adapters/typed.js +0 -278
  549. package/dist/dispatch/adapters/typed.js.map +0 -1
  550. package/dist/dispatch/context/session-context.d.ts +0 -108
  551. package/dist/dispatch/context/session-context.d.ts.map +0 -1
  552. package/dist/dispatch/context/session-context.js +0 -111
  553. package/dist/dispatch/context/session-context.js.map +0 -1
  554. package/dist/dispatch/dispatcher.d.ts +0 -37
  555. package/dist/dispatch/dispatcher.d.ts.map +0 -1
  556. package/dist/dispatch/dispatcher.js +0 -172
  557. package/dist/dispatch/dispatcher.js.map +0 -1
  558. package/dist/dispatch/domains/_base.d.ts +0 -104
  559. package/dist/dispatch/domains/_base.d.ts.map +0 -1
  560. package/dist/dispatch/domains/_base.js +0 -147
  561. package/dist/dispatch/domains/_base.js.map +0 -1
  562. package/dist/dispatch/domains/_meta.d.ts +0 -23
  563. package/dist/dispatch/domains/_meta.d.ts.map +0 -1
  564. package/dist/dispatch/domains/_meta.js +0 -25
  565. package/dist/dispatch/domains/_meta.js.map +0 -1
  566. package/dist/dispatch/domains/_routing.d.ts +0 -8
  567. package/dist/dispatch/domains/_routing.d.ts.map +0 -1
  568. package/dist/dispatch/domains/_routing.js +0 -20
  569. package/dist/dispatch/domains/_routing.js.map +0 -1
  570. package/dist/dispatch/domains/admin/smoke-provider.d.ts +0 -54
  571. package/dist/dispatch/domains/admin/smoke-provider.d.ts.map +0 -1
  572. package/dist/dispatch/domains/admin/smoke-provider.js +0 -309
  573. package/dist/dispatch/domains/admin/smoke-provider.js.map +0 -1
  574. package/dist/dispatch/domains/admin.d.ts +0 -51
  575. package/dist/dispatch/domains/admin.d.ts.map +0 -1
  576. package/dist/dispatch/domains/admin.js +0 -1163
  577. package/dist/dispatch/domains/admin.js.map +0 -1
  578. package/dist/dispatch/domains/check/canon.d.ts +0 -65
  579. package/dist/dispatch/domains/check/canon.d.ts.map +0 -1
  580. package/dist/dispatch/domains/check/canon.js +0 -193
  581. package/dist/dispatch/domains/check/canon.js.map +0 -1
  582. package/dist/dispatch/domains/check.d.ts +0 -37
  583. package/dist/dispatch/domains/check.d.ts.map +0 -1
  584. package/dist/dispatch/domains/check.js +0 -562
  585. package/dist/dispatch/domains/check.js.map +0 -1
  586. package/dist/dispatch/domains/conduit.d.ts +0 -61
  587. package/dist/dispatch/domains/conduit.d.ts.map +0 -1
  588. package/dist/dispatch/domains/conduit.js +0 -609
  589. package/dist/dispatch/domains/conduit.js.map +0 -1
  590. package/dist/dispatch/domains/diagnostics.d.ts +0 -25
  591. package/dist/dispatch/domains/diagnostics.d.ts.map +0 -1
  592. package/dist/dispatch/domains/diagnostics.js +0 -82
  593. package/dist/dispatch/domains/diagnostics.js.map +0 -1
  594. package/dist/dispatch/domains/docs.d.ts +0 -63
  595. package/dist/dispatch/domains/docs.d.ts.map +0 -1
  596. package/dist/dispatch/domains/docs.js +0 -539
  597. package/dist/dispatch/domains/docs.js.map +0 -1
  598. package/dist/dispatch/domains/index.d.ts +0 -33
  599. package/dist/dispatch/domains/index.d.ts.map +0 -1
  600. package/dist/dispatch/domains/index.js +0 -58
  601. package/dist/dispatch/domains/index.js.map +0 -1
  602. package/dist/dispatch/domains/intelligence.d.ts +0 -26
  603. package/dist/dispatch/domains/intelligence.d.ts.map +0 -1
  604. package/dist/dispatch/domains/intelligence.js +0 -154
  605. package/dist/dispatch/domains/intelligence.js.map +0 -1
  606. package/dist/dispatch/domains/ivtr.d.ts +0 -182
  607. package/dist/dispatch/domains/ivtr.d.ts.map +0 -1
  608. package/dist/dispatch/domains/ivtr.js +0 -430
  609. package/dist/dispatch/domains/ivtr.js.map +0 -1
  610. package/dist/dispatch/domains/memory.d.ts +0 -22
  611. package/dist/dispatch/domains/memory.d.ts.map +0 -1
  612. package/dist/dispatch/domains/memory.js +0 -1281
  613. package/dist/dispatch/domains/memory.js.map +0 -1
  614. package/dist/dispatch/domains/nexus.d.ts +0 -78
  615. package/dist/dispatch/domains/nexus.d.ts.map +0 -1
  616. package/dist/dispatch/domains/nexus.js +0 -938
  617. package/dist/dispatch/domains/nexus.js.map +0 -1
  618. package/dist/dispatch/domains/orchestrate.d.ts +0 -307
  619. package/dist/dispatch/domains/orchestrate.d.ts.map +0 -1
  620. package/dist/dispatch/domains/orchestrate.js +0 -986
  621. package/dist/dispatch/domains/orchestrate.js.map +0 -1
  622. package/dist/dispatch/domains/pipeline.d.ts +0 -276
  623. package/dist/dispatch/domains/pipeline.d.ts.map +0 -1
  624. package/dist/dispatch/domains/pipeline.js +0 -689
  625. package/dist/dispatch/domains/pipeline.js.map +0 -1
  626. package/dist/dispatch/domains/playbook.d.ts +0 -131
  627. package/dist/dispatch/domains/playbook.d.ts.map +0 -1
  628. package/dist/dispatch/domains/playbook.js +0 -633
  629. package/dist/dispatch/domains/playbook.js.map +0 -1
  630. package/dist/dispatch/domains/release.d.ts +0 -97
  631. package/dist/dispatch/domains/release.d.ts.map +0 -1
  632. package/dist/dispatch/domains/release.js +0 -177
  633. package/dist/dispatch/domains/release.js.map +0 -1
  634. package/dist/dispatch/domains/sentient.d.ts +0 -60
  635. package/dist/dispatch/domains/sentient.d.ts.map +0 -1
  636. package/dist/dispatch/domains/sentient.js +0 -270
  637. package/dist/dispatch/domains/sentient.js.map +0 -1
  638. package/dist/dispatch/domains/session.d.ts +0 -49
  639. package/dist/dispatch/domains/session.d.ts.map +0 -1
  640. package/dist/dispatch/domains/session.js +0 -459
  641. package/dist/dispatch/domains/session.js.map +0 -1
  642. package/dist/dispatch/domains/sticky.d.ts +0 -82
  643. package/dist/dispatch/domains/sticky.d.ts.map +0 -1
  644. package/dist/dispatch/domains/sticky.js +0 -287
  645. package/dist/dispatch/domains/sticky.js.map +0 -1
  646. package/dist/dispatch/domains/tasks.d.ts +0 -58
  647. package/dist/dispatch/domains/tasks.d.ts.map +0 -1
  648. package/dist/dispatch/domains/tasks.js +0 -497
  649. package/dist/dispatch/domains/tasks.js.map +0 -1
  650. package/dist/dispatch/domains/tools.d.ts +0 -37
  651. package/dist/dispatch/domains/tools.d.ts.map +0 -1
  652. package/dist/dispatch/domains/tools.js +0 -481
  653. package/dist/dispatch/domains/tools.js.map +0 -1
  654. package/dist/dispatch/engines/_error.d.ts +0 -114
  655. package/dist/dispatch/engines/_error.d.ts.map +0 -1
  656. package/dist/dispatch/engines/_error.js +0 -290
  657. package/dist/dispatch/engines/_error.js.map +0 -1
  658. package/dist/dispatch/engines/admin-engine.d.ts +0 -386
  659. package/dist/dispatch/engines/admin-engine.d.ts.map +0 -1
  660. package/dist/dispatch/engines/admin-engine.js +0 -270
  661. package/dist/dispatch/engines/admin-engine.js.map +0 -1
  662. package/dist/dispatch/engines/code-engine.d.ts +0 -14
  663. package/dist/dispatch/engines/code-engine.d.ts.map +0 -1
  664. package/dist/dispatch/engines/code-engine.js +0 -14
  665. package/dist/dispatch/engines/code-engine.js.map +0 -1
  666. package/dist/dispatch/engines/codebase-map-engine.d.ts +0 -31
  667. package/dist/dispatch/engines/codebase-map-engine.d.ts.map +0 -1
  668. package/dist/dispatch/engines/codebase-map-engine.js +0 -43
  669. package/dist/dispatch/engines/codebase-map-engine.js.map +0 -1
  670. package/dist/dispatch/engines/config-engine.d.ts +0 -14
  671. package/dist/dispatch/engines/config-engine.d.ts.map +0 -1
  672. package/dist/dispatch/engines/config-engine.js +0 -14
  673. package/dist/dispatch/engines/config-engine.js.map +0 -1
  674. package/dist/dispatch/engines/diagnostics-engine.d.ts +0 -13
  675. package/dist/dispatch/engines/diagnostics-engine.d.ts.map +0 -1
  676. package/dist/dispatch/engines/diagnostics-engine.js +0 -12
  677. package/dist/dispatch/engines/diagnostics-engine.js.map +0 -1
  678. package/dist/dispatch/engines/hooks-engine.d.ts +0 -13
  679. package/dist/dispatch/engines/hooks-engine.d.ts.map +0 -1
  680. package/dist/dispatch/engines/hooks-engine.js +0 -12
  681. package/dist/dispatch/engines/hooks-engine.js.map +0 -1
  682. package/dist/dispatch/engines/init-engine.d.ts +0 -14
  683. package/dist/dispatch/engines/init-engine.d.ts.map +0 -1
  684. package/dist/dispatch/engines/init-engine.js +0 -14
  685. package/dist/dispatch/engines/init-engine.js.map +0 -1
  686. package/dist/dispatch/engines/lifecycle-engine.d.ts +0 -13
  687. package/dist/dispatch/engines/lifecycle-engine.d.ts.map +0 -1
  688. package/dist/dispatch/engines/lifecycle-engine.js +0 -12
  689. package/dist/dispatch/engines/lifecycle-engine.js.map +0 -1
  690. package/dist/dispatch/engines/memory-engine.d.ts +0 -10
  691. package/dist/dispatch/engines/memory-engine.d.ts.map +0 -1
  692. package/dist/dispatch/engines/memory-engine.js +0 -10
  693. package/dist/dispatch/engines/memory-engine.js.map +0 -1
  694. package/dist/dispatch/engines/nexus-engine.d.ts +0 -603
  695. package/dist/dispatch/engines/nexus-engine.d.ts.map +0 -1
  696. package/dist/dispatch/engines/nexus-engine.js +0 -1438
  697. package/dist/dispatch/engines/nexus-engine.js.map +0 -1
  698. package/dist/dispatch/engines/orchestrate-engine.d.ts +0 -252
  699. package/dist/dispatch/engines/orchestrate-engine.d.ts.map +0 -1
  700. package/dist/dispatch/engines/orchestrate-engine.js +0 -1526
  701. package/dist/dispatch/engines/orchestrate-engine.js.map +0 -1
  702. package/dist/dispatch/engines/pipeline-engine.d.ts +0 -13
  703. package/dist/dispatch/engines/pipeline-engine.d.ts.map +0 -1
  704. package/dist/dispatch/engines/pipeline-engine.js +0 -12
  705. package/dist/dispatch/engines/pipeline-engine.js.map +0 -1
  706. package/dist/dispatch/engines/release-engine.d.ts +0 -13
  707. package/dist/dispatch/engines/release-engine.d.ts.map +0 -1
  708. package/dist/dispatch/engines/release-engine.js +0 -13
  709. package/dist/dispatch/engines/release-engine.js.map +0 -1
  710. package/dist/dispatch/engines/session-engine.d.ts +0 -15
  711. package/dist/dispatch/engines/session-engine.d.ts.map +0 -1
  712. package/dist/dispatch/engines/session-engine.js +0 -12
  713. package/dist/dispatch/engines/session-engine.js.map +0 -1
  714. package/dist/dispatch/engines/sticky-engine.d.ts +0 -13
  715. package/dist/dispatch/engines/sticky-engine.d.ts.map +0 -1
  716. package/dist/dispatch/engines/sticky-engine.js +0 -12
  717. package/dist/dispatch/engines/sticky-engine.js.map +0 -1
  718. package/dist/dispatch/engines/system-engine.d.ts +0 -543
  719. package/dist/dispatch/engines/system-engine.d.ts.map +0 -1
  720. package/dist/dispatch/engines/system-engine.js +0 -1278
  721. package/dist/dispatch/engines/system-engine.js.map +0 -1
  722. package/dist/dispatch/engines/task-engine.d.ts +0 -1161
  723. package/dist/dispatch/engines/task-engine.d.ts.map +0 -1
  724. package/dist/dispatch/engines/task-engine.js +0 -1599
  725. package/dist/dispatch/engines/task-engine.js.map +0 -1
  726. package/dist/dispatch/engines/template-parser.d.ts +0 -85
  727. package/dist/dispatch/engines/template-parser.d.ts.map +0 -1
  728. package/dist/dispatch/engines/template-parser.js +0 -114
  729. package/dist/dispatch/engines/template-parser.js.map +0 -1
  730. package/dist/dispatch/engines/tools-engine.d.ts +0 -13
  731. package/dist/dispatch/engines/tools-engine.d.ts.map +0 -1
  732. package/dist/dispatch/engines/tools-engine.js +0 -12
  733. package/dist/dispatch/engines/tools-engine.js.map +0 -1
  734. package/dist/dispatch/engines/validate-engine.d.ts +0 -13
  735. package/dist/dispatch/engines/validate-engine.d.ts.map +0 -1
  736. package/dist/dispatch/engines/validate-engine.js +0 -13
  737. package/dist/dispatch/engines/validate-engine.js.map +0 -1
  738. package/dist/dispatch/index.d.ts +0 -20
  739. package/dist/dispatch/index.d.ts.map +0 -1
  740. package/dist/dispatch/index.js +0 -19
  741. package/dist/dispatch/index.js.map +0 -1
  742. package/dist/dispatch/lib/background-jobs.d.ts +0 -162
  743. package/dist/dispatch/lib/background-jobs.d.ts.map +0 -1
  744. package/dist/dispatch/lib/background-jobs.js +0 -360
  745. package/dist/dispatch/lib/background-jobs.js.map +0 -1
  746. package/dist/dispatch/lib/budget.d.ts +0 -36
  747. package/dist/dispatch/lib/budget.d.ts.map +0 -1
  748. package/dist/dispatch/lib/budget.js +0 -109
  749. package/dist/dispatch/lib/budget.js.map +0 -1
  750. package/dist/dispatch/lib/capability-matrix.d.ts +0 -11
  751. package/dist/dispatch/lib/capability-matrix.d.ts.map +0 -1
  752. package/dist/dispatch/lib/capability-matrix.js +0 -10
  753. package/dist/dispatch/lib/capability-matrix.js.map +0 -1
  754. package/dist/dispatch/lib/config-loader.d.ts +0 -42
  755. package/dist/dispatch/lib/config-loader.d.ts.map +0 -1
  756. package/dist/dispatch/lib/config-loader.js +0 -218
  757. package/dist/dispatch/lib/config-loader.js.map +0 -1
  758. package/dist/dispatch/lib/config.d.ts +0 -11
  759. package/dist/dispatch/lib/config.d.ts.map +0 -1
  760. package/dist/dispatch/lib/config.js +0 -10
  761. package/dist/dispatch/lib/config.js.map +0 -1
  762. package/dist/dispatch/lib/defaults.d.ts +0 -115
  763. package/dist/dispatch/lib/defaults.d.ts.map +0 -1
  764. package/dist/dispatch/lib/defaults.js +0 -61
  765. package/dist/dispatch/lib/defaults.js.map +0 -1
  766. package/dist/dispatch/lib/engine.d.ts +0 -17
  767. package/dist/dispatch/lib/engine.d.ts.map +0 -1
  768. package/dist/dispatch/lib/engine.js +0 -36
  769. package/dist/dispatch/lib/engine.js.map +0 -1
  770. package/dist/dispatch/lib/exit-codes.d.ts +0 -35
  771. package/dist/dispatch/lib/exit-codes.d.ts.map +0 -1
  772. package/dist/dispatch/lib/exit-codes.js +0 -60
  773. package/dist/dispatch/lib/exit-codes.js.map +0 -1
  774. package/dist/dispatch/lib/gateway-meta.d.ts +0 -37
  775. package/dist/dispatch/lib/gateway-meta.d.ts.map +0 -1
  776. package/dist/dispatch/lib/gateway-meta.js +0 -50
  777. package/dist/dispatch/lib/gateway-meta.js.map +0 -1
  778. package/dist/dispatch/lib/job-manager-accessor.d.ts +0 -9
  779. package/dist/dispatch/lib/job-manager-accessor.d.ts.map +0 -1
  780. package/dist/dispatch/lib/job-manager-accessor.js +0 -13
  781. package/dist/dispatch/lib/job-manager-accessor.js.map +0 -1
  782. package/dist/dispatch/lib/meta.d.ts +0 -26
  783. package/dist/dispatch/lib/meta.d.ts.map +0 -1
  784. package/dist/dispatch/lib/meta.js +0 -37
  785. package/dist/dispatch/lib/meta.js.map +0 -1
  786. package/dist/dispatch/lib/param-utils.d.ts +0 -11
  787. package/dist/dispatch/lib/param-utils.d.ts.map +0 -1
  788. package/dist/dispatch/lib/param-utils.js +0 -10
  789. package/dist/dispatch/lib/param-utils.js.map +0 -1
  790. package/dist/dispatch/lib/projections.d.ts +0 -56
  791. package/dist/dispatch/lib/projections.d.ts.map +0 -1
  792. package/dist/dispatch/lib/projections.js +0 -65
  793. package/dist/dispatch/lib/projections.js.map +0 -1
  794. package/dist/dispatch/lib/proto-envelope.d.ts +0 -56
  795. package/dist/dispatch/lib/proto-envelope.d.ts.map +0 -1
  796. package/dist/dispatch/lib/proto-envelope.js +0 -17
  797. package/dist/dispatch/lib/proto-envelope.js.map +0 -1
  798. package/dist/dispatch/lib/schema-utils.d.ts +0 -39
  799. package/dist/dispatch/lib/schema-utils.d.ts.map +0 -1
  800. package/dist/dispatch/lib/schema-utils.js +0 -88
  801. package/dist/dispatch/lib/schema-utils.js.map +0 -1
  802. package/dist/dispatch/lib/security.d.ts +0 -11
  803. package/dist/dispatch/lib/security.d.ts.map +0 -1
  804. package/dist/dispatch/lib/security.js +0 -10
  805. package/dist/dispatch/lib/security.js.map +0 -1
  806. package/dist/dispatch/middleware/audit.d.ts +0 -23
  807. package/dist/dispatch/middleware/audit.d.ts.map +0 -1
  808. package/dist/dispatch/middleware/audit.js +0 -169
  809. package/dist/dispatch/middleware/audit.js.map +0 -1
  810. package/dist/dispatch/middleware/field-filter.d.ts +0 -25
  811. package/dist/dispatch/middleware/field-filter.d.ts.map +0 -1
  812. package/dist/dispatch/middleware/field-filter.js +0 -70
  813. package/dist/dispatch/middleware/field-filter.js.map +0 -1
  814. package/dist/dispatch/middleware/pipeline.d.ts +0 -33
  815. package/dist/dispatch/middleware/pipeline.d.ts.map +0 -1
  816. package/dist/dispatch/middleware/pipeline.js +0 -60
  817. package/dist/dispatch/middleware/pipeline.js.map +0 -1
  818. package/dist/dispatch/middleware/projection.d.ts +0 -35
  819. package/dist/dispatch/middleware/projection.d.ts.map +0 -1
  820. package/dist/dispatch/middleware/projection.js +0 -146
  821. package/dist/dispatch/middleware/projection.js.map +0 -1
  822. package/dist/dispatch/middleware/protocol-enforcement.d.ts +0 -30
  823. package/dist/dispatch/middleware/protocol-enforcement.d.ts.map +0 -1
  824. package/dist/dispatch/middleware/protocol-enforcement.js +0 -56
  825. package/dist/dispatch/middleware/protocol-enforcement.js.map +0 -1
  826. package/dist/dispatch/middleware/rate-limiter.d.ts +0 -72
  827. package/dist/dispatch/middleware/rate-limiter.d.ts.map +0 -1
  828. package/dist/dispatch/middleware/rate-limiter.js +0 -127
  829. package/dist/dispatch/middleware/rate-limiter.js.map +0 -1
  830. package/dist/dispatch/middleware/sanitizer.d.ts +0 -24
  831. package/dist/dispatch/middleware/sanitizer.d.ts.map +0 -1
  832. package/dist/dispatch/middleware/sanitizer.js +0 -56
  833. package/dist/dispatch/middleware/sanitizer.js.map +0 -1
  834. package/dist/dispatch/middleware/session-resolver.d.ts +0 -26
  835. package/dist/dispatch/middleware/session-resolver.d.ts.map +0 -1
  836. package/dist/dispatch/middleware/session-resolver.js +0 -65
  837. package/dist/dispatch/middleware/session-resolver.js.map +0 -1
  838. package/dist/dispatch/middleware/telemetry.d.ts +0 -21
  839. package/dist/dispatch/middleware/telemetry.d.ts.map +0 -1
  840. package/dist/dispatch/middleware/telemetry.js +0 -50
  841. package/dist/dispatch/middleware/telemetry.js.map +0 -1
  842. package/dist/dispatch/middleware/verification-gates.d.ts +0 -22
  843. package/dist/dispatch/middleware/verification-gates.d.ts.map +0 -1
  844. package/dist/dispatch/middleware/verification-gates.js +0 -59
  845. package/dist/dispatch/middleware/verification-gates.js.map +0 -1
  846. package/dist/dispatch/registry.d.ts +0 -91
  847. package/dist/dispatch/registry.d.ts.map +0 -1
  848. package/dist/dispatch/registry.js +0 -6430
  849. package/dist/dispatch/registry.js.map +0 -1
  850. package/dist/dispatch/types.d.ts +0 -150
  851. package/dist/dispatch/types.d.ts.map +0 -1
  852. package/dist/dispatch/types.js +0 -38
  853. package/dist/dispatch/types.js.map +0 -1
  854. package/dist/migrations/2026-04-25-t991-parent-link-repair.d.ts +0 -88
  855. package/dist/migrations/2026-04-25-t991-parent-link-repair.d.ts.map +0 -1
  856. package/dist/migrations/2026-04-25-t991-parent-link-repair.js +0 -76
  857. package/dist/migrations/2026-04-25-t991-parent-link-repair.js.map +0 -1
@@ -1,938 +0,0 @@
1
- /**
2
- * Nexus Domain Handler (Dispatch Layer)
3
- *
4
- * Cross-project coordination via the BRAIN Network.
5
- * Delegates to nexus-engine which wraps src/core/nexus/ for all business logic.
6
- *
7
- * Also handles multi-contributor sharing operations (status, snapshot export/import).
8
- * Git CLI wrappers (remotes, push/pull, gitignore) removed in T5615.
9
- *
10
- * All operations are type-safe via TypedDomainHandler<NexusOps> (T1424 — Wave D
11
- * typed-dispatch migration). Zero `as string` / `as any` param casts at call sites.
12
- *
13
- * Param extraction is type-safe via OpsFromCore<typeof coreNexus.nexusCoreOps>.
14
- * Zero per-op contract param type imports (T1440).
15
- *
16
- * @epic T4820
17
- * @task T5704
18
- * @task T1424 — typed-dispatch narrowing (T988 follow-on)
19
- * @task T1440 — Core-derived OpsFromCore inference
20
- */
21
- import { getBrainNativeDb, getLogger, getNexusNativeDb, getProjectRoot, nexusAugment, nexusBlockers, nexusBrainAnchors, nexusClusters, nexusColdSymbols, nexusConduitScan, nexusContext, nexusContractsLinkTasks, nexusContractsShow, nexusContractsSync, nexusCriticalPath, nexusDepsQuery, nexusDiff, nexusDiscover, nexusFlows, nexusFullContext, nexusGraph, nexusHotNodes, nexusHotPaths, nexusImpact, nexusImpactFull, nexusInitialize, nexusListProjects, nexusOrphans, nexusProfileExport, nexusProfileGet, nexusProfileImport, nexusProfileReinforce, nexusProfileSupersede, nexusProfileUpsert, nexusProfileView, nexusProjectsClean, nexusProjectsList, nexusProjectsRegister, nexusProjectsRemove, nexusProjectsScan, nexusQueryCte, nexusReconcileProject, nexusRefreshBridge, nexusRegisterProject, nexusResolve, nexusRouteMap, nexusSearch, nexusSearchCode, nexusSetPermission, nexusShapeCheck, nexusShareSnapshotExport, nexusShareSnapshotImport, nexusShareStatus, nexusShowProject, nexusSigilList, nexusSigilSync, nexusStatus, nexusSyncProject, nexusTaskFootprint, nexusTaskSymbols, nexusTopEntries, nexusTransferExecute, nexusTransferPreview, nexusUnregisterProject, nexusWhy, nexusWiki, } from '@cleocode/core/internal';
22
- import { defineTypedHandler, lafsError, lafsSuccess, typedDispatch, wrapCoreResult, } from '../adapters/typed.js';
23
- import { errorResult, handleErrorResult, unsupportedOp, wrapResult } from './_base.js';
24
- // ---------------------------------------------------------------------------
25
- // Typed inner handler (T1424 — Wave D typed-dispatch migration)
26
- // ---------------------------------------------------------------------------
27
- const _nexusTypedHandler = defineTypedHandler('nexus', {
28
- // -------------------------------------------------------------------------
29
- // Query ops (30)
30
- // -------------------------------------------------------------------------
31
- status: async (_params) => wrapCoreResult(await nexusStatus(), 'status'),
32
- list: async (params) => {
33
- const result = await nexusListProjects(params.limit, params.offset);
34
- if (!result.success) {
35
- return lafsError(String(result.error?.code ?? 'E_INTERNAL'), result.error?.message ?? 'Unknown error', 'list');
36
- }
37
- // SSoT-EXEMPT:page-envelope-lifting — engine puts page in data.page; lift to
38
- // envelope top-level and strip from data to preserve pre-T1424 contract shape.
39
- const data = result.data;
40
- return lafsSuccess({ projects: data.projects, count: data.count, total: data.total, filtered: data.filtered }, 'list', { page: (data.page ?? result.page) });
41
- },
42
- show: async (params) => {
43
- if (!params.name)
44
- return lafsError('E_INVALID_INPUT', 'name is required', 'show');
45
- return wrapCoreResult(await nexusShowProject(params.name), 'show');
46
- },
47
- resolve: async (params) => {
48
- if (!params.query)
49
- return lafsError('E_INVALID_INPUT', 'query is required', 'resolve');
50
- return wrapCoreResult(await nexusResolve(params.query, params.currentProject), 'resolve');
51
- },
52
- deps: async (params) => {
53
- if (!params.query)
54
- return lafsError('E_INVALID_INPUT', 'query is required', 'deps');
55
- return wrapCoreResult(await nexusDepsQuery(params.query, params.direction ?? 'forward'), 'deps');
56
- },
57
- graph: async (_params) => wrapCoreResult(await nexusGraph(), 'graph'),
58
- 'path.show': async (_params) => wrapCoreResult(await nexusCriticalPath(), 'path.show'),
59
- 'blockers.show': async (params) => {
60
- if (!params.query)
61
- return lafsError('E_INVALID_INPUT', 'query is required', 'blockers.show');
62
- return wrapCoreResult(await nexusBlockers(params.query), 'blockers.show');
63
- },
64
- 'orphans.list': async (params) => {
65
- const result = await nexusOrphans(params.limit, params.offset);
66
- if (!result.success) {
67
- return lafsError(String(result.error?.code ?? 'E_INTERNAL'), result.error?.message ?? 'Unknown error', 'orphans.list');
68
- }
69
- // SSoT-EXEMPT:page-envelope-lifting — same contract as nexus.list
70
- const data = result.data;
71
- return lafsSuccess({ orphans: data.orphans, count: data.count, total: data.total, filtered: data.filtered }, 'orphans.list', { page: (data.page ?? result.page) });
72
- },
73
- discover: async (params) => {
74
- if (!params.query)
75
- return lafsError('E_INVALID_INPUT', 'query is required', 'discover');
76
- return wrapCoreResult(await nexusDiscover(params.query, params.method ?? 'auto', params.limit ?? 10), 'discover');
77
- },
78
- search: async (params) => {
79
- if (!params.pattern)
80
- return lafsError('E_INVALID_INPUT', 'pattern is required', 'search');
81
- return wrapCoreResult(await nexusSearch(params.pattern, params.project, params.limit ?? 20), 'search');
82
- },
83
- augment: async (params) => {
84
- if (!params.pattern)
85
- return lafsError('E_INVALID_INPUT', 'pattern is required', 'augment');
86
- return wrapCoreResult(await nexusAugment(params.pattern, params.limit ?? 5), 'augment');
87
- },
88
- 'share.status': async (_params) => {
89
- const projectRoot = getProjectRoot();
90
- return wrapCoreResult(await nexusShareStatus(projectRoot), 'share.status');
91
- },
92
- 'transfer.preview': async (params) => {
93
- if (!params.taskIds?.length || !params.sourceProject || !params.targetProject) {
94
- return lafsError('E_INVALID_INPUT', 'taskIds, sourceProject, and targetProject are required', 'transfer.preview');
95
- }
96
- return wrapCoreResult(await nexusTransferPreview({
97
- taskIds: params.taskIds,
98
- sourceProject: params.sourceProject,
99
- targetProject: params.targetProject,
100
- mode: params.mode ?? 'copy',
101
- scope: params.scope ?? 'subtree',
102
- }), 'transfer.preview');
103
- },
104
- 'top-entries': async (params) => wrapCoreResult(await nexusTopEntries({
105
- limit: params?.limit,
106
- kind: params?.kind,
107
- nodeType: params?.nodeType,
108
- }), 'top-entries'),
109
- impact: async (params) => {
110
- if (!params.symbol)
111
- return lafsError('E_INVALID_INPUT', 'symbol is required', 'impact');
112
- return wrapCoreResult(await nexusImpact(params.symbol, params.projectId, params.why), 'impact');
113
- },
114
- 'full-context': async (params) => {
115
- if (!params.symbol)
116
- return lafsError('E_INVALID_INPUT', 'symbol is required', 'full-context');
117
- const projectRoot = getProjectRoot();
118
- return wrapCoreResult(await nexusFullContext(params.symbol, projectRoot), 'full-context');
119
- },
120
- 'task-footprint': async (params) => {
121
- if (!params.taskId)
122
- return lafsError('E_INVALID_INPUT', 'taskId is required', 'task-footprint');
123
- const projectRoot = getProjectRoot();
124
- return wrapCoreResult(await nexusTaskFootprint(params.taskId, projectRoot), 'task-footprint');
125
- },
126
- 'brain-anchors': async (params) => {
127
- if (!params.entryId)
128
- return lafsError('E_INVALID_INPUT', 'entryId is required', 'brain-anchors');
129
- const projectRoot = getProjectRoot();
130
- return wrapCoreResult(await nexusBrainAnchors(params.entryId, projectRoot), 'brain-anchors');
131
- },
132
- why: async (params) => {
133
- if (!params.symbol)
134
- return lafsError('E_INVALID_INPUT', 'symbol is required', 'why');
135
- const projectRoot = getProjectRoot();
136
- return wrapCoreResult(await nexusWhy(params.symbol, projectRoot), 'why');
137
- },
138
- 'impact-full': async (params) => {
139
- if (!params.symbol)
140
- return lafsError('E_INVALID_INPUT', 'symbol is required', 'impact-full');
141
- const projectRoot = getProjectRoot();
142
- return wrapCoreResult(await nexusImpactFull(params.symbol, projectRoot), 'impact-full');
143
- },
144
- 'route-map': async (params) => {
145
- const projectRoot = getProjectRoot();
146
- const projectId = params.projectId ?? Buffer.from(projectRoot).toString('base64url').slice(0, 32);
147
- return wrapCoreResult(await nexusRouteMap(projectId, projectRoot), 'route-map');
148
- },
149
- 'shape-check': async (params) => {
150
- if (!params.routeSymbol)
151
- return lafsError('E_INVALID_INPUT', 'routeSymbol is required', 'shape-check');
152
- const projectRoot = getProjectRoot();
153
- const projectId = params.projectId ?? Buffer.from(projectRoot).toString('base64url').slice(0, 32);
154
- return wrapCoreResult(await nexusShapeCheck(params.routeSymbol, projectId, projectRoot), 'shape-check');
155
- },
156
- 'search-code': async (params) => {
157
- if (!params.pattern)
158
- return lafsError('E_INVALID_INPUT', 'pattern is required', 'search-code');
159
- return wrapCoreResult(await nexusSearchCode(params.pattern, params.limit ?? 10), 'search-code');
160
- },
161
- wiki: async (params) => {
162
- const projectRoot = getProjectRoot();
163
- const outputDir = params.outputDir ?? `${projectRoot}/.cleo/wiki`;
164
- // Argument order: (outputDir, projectRoot, options) — matches engine signature
165
- return wrapCoreResult(await nexusWiki(outputDir, projectRoot, {
166
- communityFilter: params.communityFilter,
167
- incremental: params.incremental,
168
- }), 'wiki');
169
- },
170
- 'contracts-show': async (params) => {
171
- if (!params.projectA || !params.projectB)
172
- return lafsError('E_INVALID_INPUT', 'projectA and projectB are required', 'contracts-show');
173
- const projectRoot = getProjectRoot();
174
- return wrapCoreResult(await nexusContractsShow(params.projectA, params.projectB, projectRoot), 'contracts-show');
175
- },
176
- 'task-symbols': async (params) => {
177
- if (!params.taskId)
178
- return lafsError('E_INVALID_INPUT', 'taskId is required', 'task-symbols');
179
- const projectRoot = getProjectRoot();
180
- return wrapCoreResult(await nexusTaskSymbols(params.taskId, projectRoot), 'task-symbols');
181
- },
182
- 'profile.view': async (params) => wrapCoreResult(await nexusProfileView(params.minConfidence, params.includeSuperseded), 'profile.view'),
183
- 'profile.get': async (params) => {
184
- if (!params.traitKey)
185
- return lafsError('E_INVALID_INPUT', 'traitKey is required', 'profile.get');
186
- return wrapCoreResult(await nexusProfileGet(params.traitKey), 'profile.get');
187
- },
188
- 'sigil.list': async (params) => wrapCoreResult(await nexusSigilList(params.role), 'sigil.list'),
189
- // T1510 — Phase 2 query ops
190
- clusters: async (params) => {
191
- const projectRoot = getProjectRoot();
192
- const repoPath = params.repoPath ?? projectRoot;
193
- const projectId = params.projectId ??
194
- Buffer.from(repoPath).toString('base64url').slice(0, 32);
195
- return wrapCoreResult(await nexusClusters(projectId, repoPath), 'clusters');
196
- },
197
- flows: async (params) => {
198
- const projectRoot = getProjectRoot();
199
- const repoPath = params.repoPath ?? projectRoot;
200
- const projectId = params.projectId ??
201
- Buffer.from(repoPath).toString('base64url').slice(0, 32);
202
- return wrapCoreResult(await nexusFlows(projectId, repoPath), 'flows');
203
- },
204
- context: async (params) => {
205
- if (!params.symbol)
206
- return lafsError('E_INVALID_INPUT', 'symbol is required', 'context');
207
- const projectRoot = getProjectRoot();
208
- const projectId = params.projectId ??
209
- Buffer.from(projectRoot).toString('base64url').slice(0, 32);
210
- const limit = typeof params.limit === 'number' ? params.limit : 20;
211
- const showContent = params.content === true;
212
- return wrapCoreResult(await nexusContext(params.symbol, projectId, projectRoot, limit, showContent), 'context');
213
- },
214
- 'projects.list': async (_params) => wrapCoreResult(await nexusProjectsList(), 'projects.list'),
215
- 'projects.register': async (params) => {
216
- if (!params.path)
217
- return lafsError('E_INVALID_INPUT', 'path is required', 'projects.register');
218
- return wrapCoreResult(await nexusProjectsRegister(params.path, params.name), 'projects.register');
219
- },
220
- 'projects.remove': async (params) => {
221
- if (!params.nameOrHash)
222
- return lafsError('E_INVALID_INPUT', 'nameOrHash is required', 'projects.remove');
223
- return wrapCoreResult(await nexusProjectsRemove(params.nameOrHash), 'projects.remove');
224
- },
225
- 'projects.scan': async (params) => wrapCoreResult(await nexusProjectsScan({
226
- roots: params.roots,
227
- maxDepth: typeof params.maxDepth === 'number' ? params.maxDepth : undefined,
228
- autoRegister: params.autoRegister === true,
229
- includeExisting: params.includeExisting === true,
230
- }), 'projects.scan'),
231
- 'projects.clean': async (params) => wrapCoreResult(await nexusProjectsClean({
232
- dryRun: params.dryRun === true,
233
- pattern: params.pattern,
234
- includeTemp: params.includeTemp === true,
235
- includeTests: params.includeTests === true,
236
- matchUnhealthy: params.matchUnhealthy === true,
237
- matchNeverIndexed: params.matchNeverIndexed === true,
238
- }), 'projects.clean'),
239
- 'refresh-bridge': async (params) => {
240
- const projectRoot = getProjectRoot();
241
- const repoPath = params.repoPath ?? projectRoot;
242
- const projectId = params.projectId;
243
- return wrapCoreResult(await nexusRefreshBridge(repoPath, projectId), 'refresh-bridge');
244
- },
245
- diff: async (params) => {
246
- const projectRoot = getProjectRoot();
247
- const repoPath = params.repoPath ?? projectRoot;
248
- return wrapCoreResult(await nexusDiff(repoPath, params.beforeRef, params.afterRef, params.projectId), 'diff');
249
- },
250
- 'query-cte': async (params) => {
251
- if (!params.cte)
252
- return lafsError('E_INVALID_INPUT', 'cte is required', 'query-cte');
253
- return wrapCoreResult(await nexusQueryCte(params.cte, params.params), 'query-cte');
254
- },
255
- 'hot-paths': async (params) => {
256
- const projectRoot = getProjectRoot();
257
- const limit = typeof params.limit === 'number' ? params.limit : 20;
258
- return wrapCoreResult(await nexusHotPaths(projectRoot, limit), 'hot-paths');
259
- },
260
- 'hot-nodes': async (params) => {
261
- const projectRoot = getProjectRoot();
262
- const limit = typeof params.limit === 'number' ? params.limit : 20;
263
- return wrapCoreResult(await nexusHotNodes(projectRoot, limit), 'hot-nodes');
264
- },
265
- 'cold-symbols': async (params) => {
266
- const projectRoot = getProjectRoot();
267
- const days = typeof params.days === 'number' ? params.days : 30;
268
- return wrapCoreResult(await nexusColdSymbols(projectRoot, days), 'cold-symbols');
269
- },
270
- // -------------------------------------------------------------------------
271
- // Mutate ops (18)
272
- // -------------------------------------------------------------------------
273
- init: async (_params) => wrapCoreResult(await nexusInitialize(), 'init'),
274
- register: async (params) => {
275
- if (!params.path)
276
- return lafsError('E_INVALID_INPUT', 'path is required', 'register');
277
- return wrapCoreResult(await nexusRegisterProject(params.path, params.name, params.permission ?? 'read'), 'register');
278
- },
279
- unregister: async (params) => {
280
- if (!params.name)
281
- return lafsError('E_INVALID_INPUT', 'name is required', 'unregister');
282
- return wrapCoreResult(await nexusUnregisterProject(params.name), 'unregister');
283
- },
284
- sync: async (params) => wrapCoreResult(await nexusSyncProject(params.name), 'sync'),
285
- 'permission.set': async (params) => {
286
- if (!params.name)
287
- return lafsError('E_INVALID_INPUT', 'name is required', 'permission.set');
288
- if (!params.level)
289
- return lafsError('E_INVALID_INPUT', 'level is required', 'permission.set');
290
- if (!['read', 'write', 'execute'].includes(params.level)) {
291
- return lafsError('E_INVALID_INPUT', `Invalid permission level: ${params.level}. Must be: read, write, or execute`, 'permission.set');
292
- }
293
- return wrapCoreResult(await nexusSetPermission(params.name, params.level), 'permission.set');
294
- },
295
- reconcile: async (params) => wrapCoreResult(await nexusReconcileProject(params.projectRoot ?? process.cwd()), 'reconcile'),
296
- 'share.snapshot.export': async (params) => {
297
- const projectRoot = getProjectRoot();
298
- return wrapCoreResult(await nexusShareSnapshotExport(projectRoot, params.outputPath), 'share.snapshot.export');
299
- },
300
- 'share.snapshot.import': async (params) => {
301
- if (!params.inputPath)
302
- return lafsError('E_INVALID_INPUT', 'inputPath is required', 'share.snapshot.import');
303
- const projectRoot = getProjectRoot();
304
- return wrapCoreResult(await nexusShareSnapshotImport(projectRoot, params.inputPath), 'share.snapshot.import');
305
- },
306
- transfer: async (params) => {
307
- if (!params.taskIds?.length || !params.sourceProject || !params.targetProject) {
308
- return lafsError('E_INVALID_INPUT', 'taskIds, sourceProject, and targetProject are required', 'transfer');
309
- }
310
- return wrapCoreResult(await nexusTransferExecute({
311
- taskIds: params.taskIds,
312
- sourceProject: params.sourceProject,
313
- targetProject: params.targetProject,
314
- mode: params.mode ?? 'copy',
315
- scope: params.scope ?? 'subtree',
316
- onConflict: params.onConflict ?? 'rename',
317
- transferBrain: params.transferBrain ?? false,
318
- }), 'transfer');
319
- },
320
- 'contracts-sync': async (params) => {
321
- const projectRoot = getProjectRoot();
322
- const repoPath = params.repoPath ?? projectRoot;
323
- const projectId = params.projectId ?? Buffer.from(repoPath).toString('base64url').slice(0, 32);
324
- return wrapCoreResult(await nexusContractsSync(projectId, repoPath), 'contracts-sync');
325
- },
326
- 'contracts-link-tasks': async (params) => {
327
- const projectRoot = getProjectRoot();
328
- const repoPath = params.repoPath ?? projectRoot;
329
- const projectId = params.projectId ?? Buffer.from(repoPath).toString('base64url').slice(0, 32);
330
- return wrapCoreResult(await nexusContractsLinkTasks(projectId, repoPath), 'contracts-link-tasks');
331
- },
332
- 'conduit-scan': async (_params) => {
333
- const projectRoot = getProjectRoot();
334
- return wrapCoreResult(await nexusConduitScan(projectRoot), 'conduit-scan');
335
- },
336
- 'profile.import': async (params) => wrapCoreResult(await nexusProfileImport(params.path), 'profile.import'),
337
- 'profile.export': async (params) => wrapCoreResult(await nexusProfileExport(params.path), 'profile.export'),
338
- 'profile.reinforce': async (params) => {
339
- if (!params.traitKey)
340
- return lafsError('E_INVALID_INPUT', 'traitKey is required', 'profile.reinforce');
341
- return wrapCoreResult(await nexusProfileReinforce(params.traitKey, params.source), 'profile.reinforce');
342
- },
343
- 'profile.upsert': async (params) => {
344
- if (!params.trait?.traitKey || !params.trait?.traitValue) {
345
- return lafsError('E_INVALID_INPUT', 'trait.traitKey and trait.traitValue are required', 'profile.upsert');
346
- }
347
- return wrapCoreResult(await nexusProfileUpsert(params.trait), 'profile.upsert');
348
- },
349
- 'profile.supersede': async (params) => {
350
- if (!params.oldKey || !params.newKey)
351
- return lafsError('E_INVALID_INPUT', 'oldKey and newKey are required', 'profile.supersede');
352
- return wrapCoreResult(await nexusProfileSupersede(params.oldKey, params.newKey), 'profile.supersede');
353
- },
354
- 'sigil.sync': async (_params) => wrapCoreResult(await nexusSigilSync(), 'sigil.sync'),
355
- });
356
- // ---------------------------------------------------------------------------
357
- // NexusHandler — DomainHandler-compatible wrapper for the registry
358
- // ---------------------------------------------------------------------------
359
- const QUERY_OPS = new Set([
360
- 'share.status',
361
- 'status',
362
- 'list',
363
- 'show',
364
- 'resolve',
365
- 'deps',
366
- 'graph',
367
- 'path.show',
368
- 'blockers.show',
369
- 'orphans.list',
370
- 'discover',
371
- 'search',
372
- 'augment',
373
- 'transfer.preview',
374
- 'top-entries',
375
- 'impact',
376
- 'full-context',
377
- 'task-footprint',
378
- 'brain-anchors',
379
- 'why',
380
- 'impact-full',
381
- 'route-map',
382
- 'shape-check',
383
- 'search-code',
384
- 'wiki',
385
- 'contracts-show',
386
- 'task-symbols',
387
- 'profile.view',
388
- 'profile.get',
389
- 'sigil.list',
390
- // T1510 — Phase 2 query ops
391
- 'clusters',
392
- 'flows',
393
- 'context',
394
- 'projects.list',
395
- 'diff',
396
- 'query-cte',
397
- 'hot-paths',
398
- 'hot-nodes',
399
- 'cold-symbols',
400
- ]);
401
- const MUTATE_OPS = new Set([
402
- 'share.snapshot.export',
403
- 'share.snapshot.import',
404
- 'init',
405
- 'register',
406
- 'unregister',
407
- 'sync',
408
- 'permission.set',
409
- 'reconcile',
410
- 'transfer',
411
- 'contracts-sync',
412
- 'contracts-link-tasks',
413
- 'conduit-scan',
414
- 'profile.import',
415
- 'profile.export',
416
- 'profile.reinforce',
417
- 'profile.upsert',
418
- 'profile.supersede',
419
- 'sigil.sync',
420
- // T1510 — Phase 2 mutate ops
421
- 'projects.register',
422
- 'projects.remove',
423
- 'projects.scan',
424
- 'projects.clean',
425
- 'refresh-bridge',
426
- ]);
427
- // ---------------------------------------------------------------------------
428
- // Nexus envelope helpers (ADR-058 thin-handler T1492/P1-1)
429
- //
430
- // Extract typed-dispatch LafsEnvelope → DispatchResponse conversion into
431
- // helpers so each branch in query/mutate methods is ≤5 LOC.
432
- // SSoT-EXEMPT: page-envelope lifting — dual-source page extraction (envelope-
433
- // level vs legacy data.page nesting) is a dispatch-layer concern.
434
- // ---------------------------------------------------------------------------
435
- /** Convert a nexus query envelope to DispatchResponse, lifting page metadata. */
436
- function nexusQueryEnvelopeToResponse(envelope, operation, startTime) {
437
- const env = envelope;
438
- // Two page sources: envelope-level (preferred) or legacy data.page (fallback).
439
- let pageMetadata = env.page;
440
- let resultData = env.data;
441
- if (!pageMetadata && env.success && resultData && typeof resultData === 'object') {
442
- const dataObj = resultData;
443
- if ('page' in dataObj && dataObj.page) {
444
- pageMetadata = dataObj.page;
445
- const { page: _removed, ...cleanData } = dataObj;
446
- resultData = cleanData;
447
- }
448
- }
449
- return wrapResult({
450
- success: env.success,
451
- data: resultData,
452
- page: pageMetadata,
453
- error: env.error ? { code: String(env.error.code), message: env.error.message } : undefined,
454
- }, 'query', 'nexus', operation, startTime);
455
- }
456
- /** Convert a nexus mutate envelope to DispatchResponse (no page lifting). */
457
- function nexusMutateEnvelopeToResponse(envelope, operation, startTime) {
458
- const env = envelope;
459
- return wrapResult({
460
- success: env.success,
461
- data: env.data,
462
- error: env.error ? { code: String(env.error.code), message: env.error.message } : undefined,
463
- }, 'mutate', 'nexus', operation, startTime);
464
- }
465
- /**
466
- * Domain handler for the `nexus` domain.
467
- *
468
- * Delegates all per-op logic to the typed inner handler `_nexusTypedHandler`
469
- * (a `TypedDomainHandler<NexusOps>`). This satisfies the registry's
470
- * `DomainHandler` interface while keeping every param access fully type-safe
471
- * via the T1424 Wave D adapter.
472
- *
473
- * @task T1424 — typed-dispatch narrowing (T988 follow-on)
474
- */
475
- export class NexusHandler {
476
- /**
477
- * Execute a read-only nexus query operation.
478
- *
479
- * @param operation - The nexus query op name (e.g. 'status', 'list').
480
- * @param params - Raw params from the dispatcher (narrowed internally).
481
- */
482
- async query(operation, params) {
483
- const startTime = Date.now();
484
- if (!QUERY_OPS.has(operation)) {
485
- return unsupportedOp('query', 'nexus', operation, startTime);
486
- }
487
- // Complex multi-step ops bypass typed dispatch (they need startTime + raw
488
- // params for legacy DispatchResponse construction). Keep them in QUERY_OPS
489
- // + NexusOps for typed-key safety, but route to the OLD helper functions.
490
- if (operation === 'top-entries') {
491
- return handleTopEntries(operation, params, startTime);
492
- }
493
- if (operation === 'impact') {
494
- return handleImpact(operation, params, startTime);
495
- }
496
- try {
497
- // operation is validated above — cast to typed key is safe (ADR-058 trust boundary)
498
- const envelope = await typedDispatch(_nexusTypedHandler, operation, params ?? {});
499
- return nexusQueryEnvelopeToResponse(envelope, operation, startTime);
500
- }
501
- catch (error) {
502
- getLogger('domain:nexus').error({ gateway: 'query', domain: 'nexus', operation, err: error }, error instanceof Error ? error.message : String(error));
503
- return handleErrorResult('query', 'nexus', operation, error, startTime);
504
- }
505
- }
506
- /**
507
- * Execute a state-modifying nexus mutation operation.
508
- *
509
- * @param operation - The nexus mutate op name (e.g. 'init', 'register').
510
- * @param params - Raw params from the dispatcher (narrowed internally).
511
- */
512
- async mutate(operation, params) {
513
- const startTime = Date.now();
514
- if (!MUTATE_OPS.has(operation)) {
515
- return unsupportedOp('mutate', 'nexus', operation, startTime);
516
- }
517
- try {
518
- // operation is validated above — cast to typed key is safe (ADR-058 trust boundary)
519
- const envelope = await typedDispatch(_nexusTypedHandler, operation, params ?? {});
520
- return nexusMutateEnvelopeToResponse(envelope, operation, startTime);
521
- }
522
- catch (error) {
523
- getLogger('domain:nexus').error({ gateway: 'mutate', domain: 'nexus', operation, err: error }, error instanceof Error ? error.message : String(error));
524
- return handleErrorResult('mutate', 'nexus', operation, error, startTime);
525
- }
526
- }
527
- /** Declared operations for introspection and validation. */
528
- getSupportedOperations() {
529
- return {
530
- query: Array.from(QUERY_OPS),
531
- mutate: Array.from(MUTATE_OPS),
532
- };
533
- }
534
- }
535
- async function handleTopEntries(operation, params, startTime) {
536
- const rawLimit = params?.limit;
537
- const limit = typeof rawLimit === 'number' && Number.isFinite(rawLimit) && rawLimit > 0
538
- ? Math.floor(rawLimit)
539
- : 20;
540
- // Brain.db path takes priority: query brain_page_nodes by quality_score.
541
- const brainDb = getBrainNativeDb();
542
- if (brainDb !== null && brainDb !== undefined) {
543
- return handleTopEntriesFromBrain(operation, params, startTime, brainDb, limit);
544
- }
545
- // Nexus.db fallback: check if a nexus.db connection is already open.
546
- // We intentionally do NOT call getNexusDb() here — that would create a new
547
- // DB even when the caller has not initialised the registry, masking the
548
- // "unavailable" state that tests expect. The nexus-cli-new integration tests
549
- // always call getNexusDb() in their beforeEach setup, so the singleton is
550
- // already live when we reach this branch in those tests.
551
- try {
552
- const nexusDb = getNexusNativeDb();
553
- if (!nexusDb) {
554
- // Both DBs unavailable → return graceful empty result with a note so
555
- // callers (and tests) can surface a helpful message without treating it
556
- // as a hard failure. This restores the original T1006 contract.
557
- const emptyData = {
558
- entries: [],
559
- count: 0,
560
- limit,
561
- kind: params?.kind ?? null,
562
- note: 'Neither brain.db nor nexus.db is available. Run "cleo nexus init" to initialize.',
563
- };
564
- return wrapResult({ success: true, data: emptyData }, 'query', 'nexus', operation, startTime);
565
- }
566
- return handleTopEntriesFromNexus(operation, params, startTime, nexusDb, limit);
567
- }
568
- catch (dbErr) {
569
- return handleErrorResult('query', 'nexus', operation, dbErr, startTime);
570
- }
571
- }
572
- /**
573
- * Brain.db path for `top-entries`: queries `brain_page_nodes` sorted by
574
- * `quality_score DESC`. Supports optional `nodeType` filter parameter.
575
- *
576
- * @internal
577
- * @task T1006
578
- */
579
- function handleTopEntriesFromBrain(operation, params, startTime, db, limit) {
580
- const rawNodeType = params?.nodeType;
581
- const nodeType = typeof rawNodeType === 'string' && rawNodeType.length > 0 ? rawNodeType : null;
582
- let rows = [];
583
- try {
584
- const sql = nodeType === null
585
- ? `SELECT id, node_type, label, quality_score, last_activity_at, metadata_json
586
- FROM brain_page_nodes
587
- ORDER BY quality_score DESC
588
- LIMIT ?`
589
- : `SELECT id, node_type, label, quality_score, last_activity_at, metadata_json
590
- FROM brain_page_nodes
591
- WHERE node_type = ?
592
- ORDER BY quality_score DESC
593
- LIMIT ?`;
594
- const bindArgs = nodeType === null ? [limit] : [nodeType, limit];
595
- const rawRows = db.prepare(sql).all(...bindArgs);
596
- rows = rawRows.map((raw) => {
597
- const r = raw;
598
- return {
599
- id: String(r['id'] ?? ''),
600
- node_type: r['node_type'] != null ? String(r['node_type']) : null,
601
- label: r['label'] != null ? String(r['label']) : null,
602
- quality_score: r['quality_score'] != null ? Number(r['quality_score']) : null,
603
- last_activity_at: r['last_activity_at'] != null ? String(r['last_activity_at']) : null,
604
- metadata_json: r['metadata_json'] != null ? String(r['metadata_json']) : null,
605
- };
606
- });
607
- }
608
- catch {
609
- // brain_page_nodes table not yet created — treat as empty result (not an error).
610
- rows = [];
611
- }
612
- const entries = rows.map((r) => ({
613
- id: r.id,
614
- node_type: r.node_type ?? 'unknown',
615
- label: r.label ?? r.id,
616
- quality_score: r.quality_score ?? 0,
617
- last_activity_at: r.last_activity_at ?? '',
618
- metadata_json: r.metadata_json ?? null,
619
- }));
620
- const data = {
621
- entries,
622
- count: entries.length,
623
- limit,
624
- nodeType,
625
- };
626
- return wrapResult({ success: true, data }, 'query', 'nexus', operation, startTime);
627
- }
628
- /**
629
- * Nexus.db fallback path for `top-entries`: queries `nexus_relations` aggregated
630
- * by `SUM(weight)`. Supports optional `kind` filter.
631
- *
632
- * @internal
633
- * @task T1013
634
- */
635
- function handleTopEntriesFromNexus(operation, params, startTime, db, limit) {
636
- const rawKind = params?.kind;
637
- const kind = typeof rawKind === 'string' && rawKind.length > 0 ? rawKind : null;
638
- let rows = [];
639
- try {
640
- const sql = kind === null
641
- ? `SELECT r.source_id,
642
- SUM(COALESCE(r.weight, 0)) AS totalWeight,
643
- COUNT(*) AS edgeCount,
644
- n.label,
645
- n.kind,
646
- n.file_path
647
- FROM nexus_relations r
648
- LEFT JOIN nexus_nodes n ON n.id = r.source_id
649
- GROUP BY r.source_id
650
- ORDER BY totalWeight DESC, edgeCount DESC
651
- LIMIT ?`
652
- : `SELECT r.source_id,
653
- SUM(COALESCE(r.weight, 0)) AS totalWeight,
654
- COUNT(*) AS edgeCount,
655
- n.label,
656
- n.kind,
657
- n.file_path
658
- FROM nexus_relations r
659
- LEFT JOIN nexus_nodes n ON n.id = r.source_id
660
- WHERE n.kind = ?
661
- GROUP BY r.source_id
662
- ORDER BY totalWeight DESC, edgeCount DESC
663
- LIMIT ?`;
664
- const bindArgs = kind === null ? [limit] : [kind, limit];
665
- const rawRows = db.prepare(sql).all(...bindArgs);
666
- rows = rawRows.map((raw) => {
667
- const r = raw;
668
- return {
669
- source_id: String(r['source_id'] ?? ''),
670
- totalWeight: Number(r['totalWeight'] ?? 0),
671
- edgeCount: Number(r['edgeCount'] ?? 0),
672
- label: r['label'] != null ? String(r['label']) : null,
673
- kind: r['kind'] != null ? String(r['kind']) : null,
674
- file_path: r['file_path'] != null ? String(r['file_path']) : null,
675
- };
676
- });
677
- }
678
- catch {
679
- // nexus_relations / nexus_nodes tables not present — treat as empty.
680
- rows = [];
681
- }
682
- const entries = rows.map((r) => ({
683
- nodeId: r.source_id,
684
- label: r.label ?? r.source_id,
685
- kind: r.kind ?? 'unknown',
686
- filePath: r.file_path ?? null,
687
- totalWeight: r.totalWeight,
688
- edgeCount: r.edgeCount,
689
- }));
690
- const allZero = entries.length === 0 || entries.every((e) => e.totalWeight === 0);
691
- const note = allZero
692
- ? 'No Hebbian weights accumulated yet. Run a dream cycle or wait for plasticity updates.'
693
- : undefined;
694
- const data = {
695
- entries,
696
- count: entries.length,
697
- limit,
698
- kind,
699
- ...(note !== undefined ? { note } : {}),
700
- };
701
- return wrapResult({ success: true, data }, 'query', 'nexus', operation, startTime);
702
- }
703
- /** Edge kinds treated as 'callers-of' when walking the reverse adjacency. */
704
- const IMPACT_REVERSE_TYPES = new Set(['calls', 'imports', 'accesses']);
705
- /**
706
- * Compute a RiskLevel bucket from a raw impact count.
707
- *
708
- * NONE: 0, LOW: 1-3, MEDIUM: 4-10, HIGH: 11-25, CRITICAL: 26+.
709
- *
710
- * @internal
711
- */
712
- function riskLevelFor(totalImpact) {
713
- if (totalImpact === 0)
714
- return 'NONE';
715
- if (totalImpact <= 3)
716
- return 'LOW';
717
- if (totalImpact <= 10)
718
- return 'MEDIUM';
719
- if (totalImpact <= 25)
720
- return 'HIGH';
721
- return 'CRITICAL';
722
- }
723
- /**
724
- * Execute the `nexus.impact` query against nexus.db.
725
- *
726
- * Walks the reverse call/import/access graph (BFS) up to `maxDepth` levels
727
- * from a resolved target symbol and returns affected symbols. When the
728
- * caller passes `why=true`, each affected symbol includes `reasons[]`
729
- * path-strings explaining why it is impactful (caller count, edge strength,
730
- * edge type, hop depth).
731
- *
732
- * When nexus.db is uninitialized or the target symbol cannot be resolved,
733
- * returns a successful envelope with `targetNodeId=null` and `affected=[]`.
734
- *
735
- * @param operation - The operation name ('impact').
736
- * @param params - { symbol: string; why?: boolean; depth?: number; projectId?: string }.
737
- * @param startTime - Milliseconds-since-epoch for meta timing.
738
- * @returns DispatchResponse with LAFS envelope carrying `NexusImpactResult`.
739
- *
740
- * @task T1013
741
- * @epic T1006
742
- */
743
- async function handleImpact(operation, params, startTime) {
744
- const symbolName = params?.symbol;
745
- if (!symbolName) {
746
- return errorResult('query', 'nexus', operation, 'E_INVALID_INPUT', 'symbol is required', startTime);
747
- }
748
- const why = params?.why === true;
749
- const rawDepth = params?.depth;
750
- const maxDepth = Math.min(typeof rawDepth === 'number' && Number.isFinite(rawDepth) && rawDepth > 0 ? rawDepth : 3, 5);
751
- const projectIdParam = params?.projectId;
752
- const projectId = projectIdParam ?? Buffer.from(process.cwd()).toString('base64url').slice(0, 32);
753
- try {
754
- const { getNexusDb } = await import('@cleocode/core/store/nexus-sqlite');
755
- await getNexusDb();
756
- const db = getNexusNativeDb();
757
- if (!db) {
758
- return wrapResult({
759
- success: true,
760
- data: {
761
- query: symbolName,
762
- projectId,
763
- targetNodeId: null,
764
- targetLabel: null,
765
- why,
766
- riskLevel: 'NONE',
767
- totalImpact: 0,
768
- maxDepth,
769
- affected: [],
770
- },
771
- }, 'query', 'nexus', operation, startTime);
772
- }
773
- // Resolve the target symbol. Prefer exact `name`/`label` matches, then
774
- // case-insensitive LIKE. Structural nodes (file, folder, community,
775
- // process) never have callers so they are excluded from resolution.
776
- let allNodes = [];
777
- try {
778
- const rawRows = db
779
- .prepare(`SELECT id, label, kind, file_path, name, project_id
780
- FROM nexus_nodes
781
- WHERE project_id = ?
782
- AND kind NOT IN ('community','process','file','folder')`)
783
- .all(projectId);
784
- allNodes = rawRows.map((raw) => {
785
- const r = raw;
786
- return {
787
- id: String(r['id'] ?? ''),
788
- label: r['label'] != null ? String(r['label']) : null,
789
- kind: r['kind'] != null ? String(r['kind']) : null,
790
- file_path: r['file_path'] != null ? String(r['file_path']) : null,
791
- name: r['name'] != null ? String(r['name']) : null,
792
- project_id: String(r['project_id'] ?? ''),
793
- };
794
- });
795
- }
796
- catch {
797
- allNodes = [];
798
- }
799
- const lowerSymbol = symbolName.toLowerCase();
800
- const candidates = allNodes.filter((n) => {
801
- const haystack = (n.name ?? n.label ?? '').toLowerCase();
802
- return haystack.length > 0 && haystack.includes(lowerSymbol);
803
- });
804
- // Prefer exact matches, then shortest labels (closer to the intent).
805
- candidates.sort((a, b) => {
806
- const an = (a.name ?? a.label ?? '').toLowerCase();
807
- const bn = (b.name ?? b.label ?? '').toLowerCase();
808
- const exactA = an === lowerSymbol ? 0 : 1;
809
- const exactB = bn === lowerSymbol ? 0 : 1;
810
- if (exactA !== exactB)
811
- return exactA - exactB;
812
- return an.length - bn.length;
813
- });
814
- const target = candidates[0];
815
- if (!target) {
816
- return wrapResult({
817
- success: true,
818
- data: {
819
- query: symbolName,
820
- projectId,
821
- targetNodeId: null,
822
- targetLabel: null,
823
- why,
824
- riskLevel: 'NONE',
825
- totalImpact: 0,
826
- maxDepth,
827
- affected: [],
828
- },
829
- }, 'query', 'nexus', operation, startTime);
830
- }
831
- // Load all callable relations for the project and build a reverse
832
- // adjacency index: targetId -> list of { source_id, type, weight }.
833
- let allRelations = [];
834
- try {
835
- const rawRows = db
836
- .prepare(`SELECT source_id, target_id, type, weight
837
- FROM nexus_relations
838
- WHERE project_id = ?
839
- AND type IN ('calls','imports','accesses')`)
840
- .all(projectId);
841
- allRelations = rawRows.map((raw) => {
842
- const r = raw;
843
- return {
844
- source_id: String(r['source_id'] ?? ''),
845
- target_id: String(r['target_id'] ?? ''),
846
- type: String(r['type'] ?? ''),
847
- weight: r['weight'] != null ? Number(r['weight']) : null,
848
- };
849
- });
850
- }
851
- catch {
852
- allRelations = [];
853
- }
854
- const reverseAdj = new Map();
855
- for (const rel of allRelations) {
856
- if (!IMPACT_REVERSE_TYPES.has(rel.type))
857
- continue;
858
- const list = reverseAdj.get(rel.target_id);
859
- if (list) {
860
- list.push(rel);
861
- }
862
- else {
863
- reverseAdj.set(rel.target_id, [rel]);
864
- }
865
- }
866
- // Collect incoming counts per node — used for "called by N places" reason.
867
- const incomingCount = new Map();
868
- for (const rel of allRelations) {
869
- if (!IMPACT_REVERSE_TYPES.has(rel.type))
870
- continue;
871
- incomingCount.set(rel.target_id, (incomingCount.get(rel.target_id) ?? 0) + 1);
872
- }
873
- // Build a node-by-id lookup for display.
874
- const nodeById = new Map();
875
- for (const n of allNodes)
876
- nodeById.set(n.id, n);
877
- // BFS upstream from target.
878
- const targetId = target.id;
879
- const visited = new Set([targetId]);
880
- const queue = [{ id: targetId, depth: 0 }];
881
- const affected = [];
882
- while (queue.length > 0) {
883
- const item = queue.shift();
884
- if (!item)
885
- break;
886
- if (item.depth >= maxDepth)
887
- continue;
888
- const callers = reverseAdj.get(item.id) ?? [];
889
- for (const edge of callers) {
890
- if (visited.has(edge.source_id))
891
- continue;
892
- visited.add(edge.source_id);
893
- const depth = item.depth + 1;
894
- const callerNode = nodeById.get(edge.source_id);
895
- const reasons = [];
896
- if (why) {
897
- const calls = incomingCount.get(edge.source_id) ?? 0;
898
- if (calls > 0) {
899
- reasons.push(`called by ${calls} place${calls === 1 ? '' : 's'}`);
900
- }
901
- if (edge.weight != null && edge.weight > 0) {
902
- reasons.push(`strength=${edge.weight.toFixed(3)} via ${edge.type}`);
903
- }
904
- else {
905
- reasons.push(`edge type ${edge.type} (weight=0 — no plasticity yet)`);
906
- }
907
- reasons.push(`depth=${depth} hop from target ${target.label ?? target.id}`);
908
- }
909
- affected.push({
910
- nodeId: edge.source_id,
911
- label: callerNode?.label ?? edge.source_id,
912
- kind: callerNode?.kind ?? 'unknown',
913
- filePath: callerNode?.file_path ?? null,
914
- depth,
915
- reasons,
916
- });
917
- queue.push({ id: edge.source_id, depth });
918
- }
919
- }
920
- const totalImpact = affected.length;
921
- const data = {
922
- query: symbolName,
923
- projectId,
924
- targetNodeId: target.id,
925
- targetLabel: target.label ?? target.name ?? target.id,
926
- why,
927
- riskLevel: riskLevelFor(totalImpact),
928
- totalImpact,
929
- maxDepth,
930
- affected,
931
- };
932
- return wrapResult({ success: true, data }, 'query', 'nexus', operation, startTime);
933
- }
934
- catch (dbErr) {
935
- return handleErrorResult('query', 'nexus', operation, dbErr, startTime);
936
- }
937
- }
938
- //# sourceMappingURL=nexus.js.map