@cleocode/cleo 2026.4.12 → 2026.4.14

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 (710) hide show
  1. package/README.md +27 -0
  2. package/dist/cli/index.js +121925 -340
  3. package/dist/cli/index.js.map +7 -1
  4. package/package.json +7 -7
  5. package/dist/cli/commander-shim.d.ts +0 -112
  6. package/dist/cli/commander-shim.d.ts.map +0 -1
  7. package/dist/cli/commander-shim.js +0 -233
  8. package/dist/cli/commander-shim.js.map +0 -1
  9. package/dist/cli/commands/add.d.ts +0 -12
  10. package/dist/cli/commands/add.d.ts.map +0 -1
  11. package/dist/cli/commands/add.js +0 -202
  12. package/dist/cli/commands/add.js.map +0 -1
  13. package/dist/cli/commands/admin.d.ts +0 -12
  14. package/dist/cli/commands/admin.d.ts.map +0 -1
  15. package/dist/cli/commands/admin.js +0 -59
  16. package/dist/cli/commands/admin.js.map +0 -1
  17. package/dist/cli/commands/adr.d.ts +0 -27
  18. package/dist/cli/commands/adr.d.ts.map +0 -1
  19. package/dist/cli/commands/adr.js +0 -79
  20. package/dist/cli/commands/adr.js.map +0 -1
  21. package/dist/cli/commands/agent-profile-status.d.ts +0 -98
  22. package/dist/cli/commands/agent-profile-status.d.ts.map +0 -1
  23. package/dist/cli/commands/agent-profile-status.js +0 -71
  24. package/dist/cli/commands/agent-profile-status.js.map +0 -1
  25. package/dist/cli/commands/agent.d.ts +0 -38
  26. package/dist/cli/commands/agent.d.ts.map +0 -1
  27. package/dist/cli/commands/agent.js +0 -1169
  28. package/dist/cli/commands/agent.js.map +0 -1
  29. package/dist/cli/commands/agents.d.ts +0 -17
  30. package/dist/cli/commands/agents.d.ts.map +0 -1
  31. package/dist/cli/commands/agents.js +0 -20
  32. package/dist/cli/commands/agents.js.map +0 -1
  33. package/dist/cli/commands/analyze.d.ts +0 -12
  34. package/dist/cli/commands/analyze.d.ts.map +0 -1
  35. package/dist/cli/commands/analyze.js +0 -20
  36. package/dist/cli/commands/analyze.js.map +0 -1
  37. package/dist/cli/commands/archive-stats.d.ts +0 -18
  38. package/dist/cli/commands/archive-stats.d.ts.map +0 -1
  39. package/dist/cli/commands/archive-stats.js +0 -49
  40. package/dist/cli/commands/archive-stats.js.map +0 -1
  41. package/dist/cli/commands/archive.d.ts +0 -12
  42. package/dist/cli/commands/archive.d.ts.map +0 -1
  43. package/dist/cli/commands/archive.js +0 -32
  44. package/dist/cli/commands/archive.js.map +0 -1
  45. package/dist/cli/commands/backfill.d.ts +0 -38
  46. package/dist/cli/commands/backfill.d.ts.map +0 -1
  47. package/dist/cli/commands/backfill.js +0 -147
  48. package/dist/cli/commands/backfill.js.map +0 -1
  49. package/dist/cli/commands/backup.d.ts +0 -9
  50. package/dist/cli/commands/backup.d.ts.map +0 -1
  51. package/dist/cli/commands/backup.js +0 -41
  52. package/dist/cli/commands/backup.js.map +0 -1
  53. package/dist/cli/commands/blockers.d.ts +0 -7
  54. package/dist/cli/commands/blockers.d.ts.map +0 -1
  55. package/dist/cli/commands/blockers.js +0 -16
  56. package/dist/cli/commands/blockers.js.map +0 -1
  57. package/dist/cli/commands/brain.d.ts +0 -29
  58. package/dist/cli/commands/brain.d.ts.map +0 -1
  59. package/dist/cli/commands/brain.js +0 -107
  60. package/dist/cli/commands/brain.js.map +0 -1
  61. package/dist/cli/commands/briefing.d.ts +0 -22
  62. package/dist/cli/commands/briefing.d.ts.map +0 -1
  63. package/dist/cli/commands/briefing.js +0 -45
  64. package/dist/cli/commands/briefing.js.map +0 -1
  65. package/dist/cli/commands/bug.d.ts +0 -12
  66. package/dist/cli/commands/bug.d.ts.map +0 -1
  67. package/dist/cli/commands/bug.js +0 -81
  68. package/dist/cli/commands/bug.js.map +0 -1
  69. package/dist/cli/commands/cant.d.ts +0 -32
  70. package/dist/cli/commands/cant.d.ts.map +0 -1
  71. package/dist/cli/commands/cant.js +0 -281
  72. package/dist/cli/commands/cant.js.map +0 -1
  73. package/dist/cli/commands/check.d.ts +0 -22
  74. package/dist/cli/commands/check.d.ts.map +0 -1
  75. package/dist/cli/commands/check.js +0 -164
  76. package/dist/cli/commands/check.js.map +0 -1
  77. package/dist/cli/commands/checkpoint.d.ts +0 -15
  78. package/dist/cli/commands/checkpoint.d.ts.map +0 -1
  79. package/dist/cli/commands/checkpoint.js +0 -91
  80. package/dist/cli/commands/checkpoint.js.map +0 -1
  81. package/dist/cli/commands/code.d.ts +0 -11
  82. package/dist/cli/commands/code.d.ts.map +0 -1
  83. package/dist/cli/commands/code.js +0 -114
  84. package/dist/cli/commands/code.js.map +0 -1
  85. package/dist/cli/commands/commands.d.ts +0 -13
  86. package/dist/cli/commands/commands.d.ts.map +0 -1
  87. package/dist/cli/commands/commands.js +0 -29
  88. package/dist/cli/commands/commands.js.map +0 -1
  89. package/dist/cli/commands/complete.d.ts +0 -12
  90. package/dist/cli/commands/complete.d.ts.map +0 -1
  91. package/dist/cli/commands/complete.js +0 -92
  92. package/dist/cli/commands/complete.js.map +0 -1
  93. package/dist/cli/commands/compliance.d.ts +0 -8
  94. package/dist/cli/commands/compliance.d.ts.map +0 -1
  95. package/dist/cli/commands/compliance.js +0 -85
  96. package/dist/cli/commands/compliance.js.map +0 -1
  97. package/dist/cli/commands/config.d.ts +0 -10
  98. package/dist/cli/commands/config.d.ts.map +0 -1
  99. package/dist/cli/commands/config.js +0 -69
  100. package/dist/cli/commands/config.js.map +0 -1
  101. package/dist/cli/commands/consensus.d.ts +0 -13
  102. package/dist/cli/commands/consensus.d.ts.map +0 -1
  103. package/dist/cli/commands/consensus.js +0 -45
  104. package/dist/cli/commands/consensus.js.map +0 -1
  105. package/dist/cli/commands/context.d.ts +0 -8
  106. package/dist/cli/commands/context.d.ts.map +0 -1
  107. package/dist/cli/commands/context.js +0 -40
  108. package/dist/cli/commands/context.js.map +0 -1
  109. package/dist/cli/commands/contribution.d.ts +0 -13
  110. package/dist/cli/commands/contribution.d.ts.map +0 -1
  111. package/dist/cli/commands/contribution.js +0 -41
  112. package/dist/cli/commands/contribution.js.map +0 -1
  113. package/dist/cli/commands/current.d.ts +0 -13
  114. package/dist/cli/commands/current.d.ts.map +0 -1
  115. package/dist/cli/commands/current.js +0 -20
  116. package/dist/cli/commands/current.js.map +0 -1
  117. package/dist/cli/commands/dash.d.ts +0 -12
  118. package/dist/cli/commands/dash.d.ts.map +0 -1
  119. package/dist/cli/commands/dash.js +0 -24
  120. package/dist/cli/commands/dash.js.map +0 -1
  121. package/dist/cli/commands/decomposition.d.ts +0 -13
  122. package/dist/cli/commands/decomposition.d.ts.map +0 -1
  123. package/dist/cli/commands/decomposition.js +0 -45
  124. package/dist/cli/commands/decomposition.js.map +0 -1
  125. package/dist/cli/commands/delete.d.ts +0 -12
  126. package/dist/cli/commands/delete.d.ts.map +0 -1
  127. package/dist/cli/commands/delete.js +0 -37
  128. package/dist/cli/commands/delete.js.map +0 -1
  129. package/dist/cli/commands/deps.d.ts +0 -24
  130. package/dist/cli/commands/deps.d.ts.map +0 -1
  131. package/dist/cli/commands/deps.js +0 -98
  132. package/dist/cli/commands/deps.js.map +0 -1
  133. package/dist/cli/commands/detect-drift.d.ts +0 -15
  134. package/dist/cli/commands/detect-drift.d.ts.map +0 -1
  135. package/dist/cli/commands/detect-drift.js +0 -424
  136. package/dist/cli/commands/detect-drift.js.map +0 -1
  137. package/dist/cli/commands/detect.d.ts +0 -10
  138. package/dist/cli/commands/detect.d.ts.map +0 -1
  139. package/dist/cli/commands/detect.js +0 -24
  140. package/dist/cli/commands/detect.js.map +0 -1
  141. package/dist/cli/commands/docs.d.ts +0 -13
  142. package/dist/cli/commands/docs.d.ts.map +0 -1
  143. package/dist/cli/commands/docs.js +0 -169
  144. package/dist/cli/commands/docs.js.map +0 -1
  145. package/dist/cli/commands/doctor.d.ts +0 -15
  146. package/dist/cli/commands/doctor.d.ts.map +0 -1
  147. package/dist/cli/commands/doctor.js +0 -133
  148. package/dist/cli/commands/doctor.js.map +0 -1
  149. package/dist/cli/commands/dynamic.d.ts +0 -24
  150. package/dist/cli/commands/dynamic.d.ts.map +0 -1
  151. package/dist/cli/commands/dynamic.js +0 -27
  152. package/dist/cli/commands/dynamic.js.map +0 -1
  153. package/dist/cli/commands/env.d.ts +0 -12
  154. package/dist/cli/commands/env.d.ts.map +0 -1
  155. package/dist/cli/commands/env.js +0 -44
  156. package/dist/cli/commands/env.js.map +0 -1
  157. package/dist/cli/commands/exists.d.ts +0 -22
  158. package/dist/cli/commands/exists.d.ts.map +0 -1
  159. package/dist/cli/commands/exists.js +0 -51
  160. package/dist/cli/commands/exists.js.map +0 -1
  161. package/dist/cli/commands/export-tasks.d.ts +0 -10
  162. package/dist/cli/commands/export-tasks.d.ts.map +0 -1
  163. package/dist/cli/commands/export-tasks.js +0 -47
  164. package/dist/cli/commands/export-tasks.js.map +0 -1
  165. package/dist/cli/commands/export.d.ts +0 -9
  166. package/dist/cli/commands/export.d.ts.map +0 -1
  167. package/dist/cli/commands/export.js +0 -46
  168. package/dist/cli/commands/export.js.map +0 -1
  169. package/dist/cli/commands/find.d.ts +0 -14
  170. package/dist/cli/commands/find.d.ts.map +0 -1
  171. package/dist/cli/commands/find.js +0 -134
  172. package/dist/cli/commands/find.js.map +0 -1
  173. package/dist/cli/commands/generate-changelog.d.ts +0 -14
  174. package/dist/cli/commands/generate-changelog.d.ts.map +0 -1
  175. package/dist/cli/commands/generate-changelog.js +0 -252
  176. package/dist/cli/commands/generate-changelog.js.map +0 -1
  177. package/dist/cli/commands/grade.d.ts +0 -13
  178. package/dist/cli/commands/grade.d.ts.map +0 -1
  179. package/dist/cli/commands/grade.js +0 -26
  180. package/dist/cli/commands/grade.js.map +0 -1
  181. package/dist/cli/commands/history.d.ts +0 -9
  182. package/dist/cli/commands/history.d.ts.map +0 -1
  183. package/dist/cli/commands/history.js +0 -30
  184. package/dist/cli/commands/history.js.map +0 -1
  185. package/dist/cli/commands/implementation.d.ts +0 -13
  186. package/dist/cli/commands/implementation.d.ts.map +0 -1
  187. package/dist/cli/commands/implementation.js +0 -41
  188. package/dist/cli/commands/implementation.js.map +0 -1
  189. package/dist/cli/commands/import-tasks.d.ts +0 -10
  190. package/dist/cli/commands/import-tasks.d.ts.map +0 -1
  191. package/dist/cli/commands/import-tasks.js +0 -38
  192. package/dist/cli/commands/import-tasks.js.map +0 -1
  193. package/dist/cli/commands/import.d.ts +0 -9
  194. package/dist/cli/commands/import.d.ts.map +0 -1
  195. package/dist/cli/commands/import.js +0 -28
  196. package/dist/cli/commands/import.js.map +0 -1
  197. package/dist/cli/commands/init.d.ts +0 -34
  198. package/dist/cli/commands/init.d.ts.map +0 -1
  199. package/dist/cli/commands/init.js +0 -96
  200. package/dist/cli/commands/init.js.map +0 -1
  201. package/dist/cli/commands/inject.d.ts +0 -8
  202. package/dist/cli/commands/inject.d.ts.map +0 -1
  203. package/dist/cli/commands/inject.js +0 -28
  204. package/dist/cli/commands/inject.js.map +0 -1
  205. package/dist/cli/commands/issue.d.ts +0 -17
  206. package/dist/cli/commands/issue.d.ts.map +0 -1
  207. package/dist/cli/commands/issue.js +0 -107
  208. package/dist/cli/commands/issue.js.map +0 -1
  209. package/dist/cli/commands/labels.d.ts +0 -13
  210. package/dist/cli/commands/labels.d.ts.map +0 -1
  211. package/dist/cli/commands/labels.js +0 -44
  212. package/dist/cli/commands/labels.js.map +0 -1
  213. package/dist/cli/commands/lifecycle.d.ts +0 -8
  214. package/dist/cli/commands/lifecycle.d.ts.map +0 -1
  215. package/dist/cli/commands/lifecycle.js +0 -84
  216. package/dist/cli/commands/lifecycle.js.map +0 -1
  217. package/dist/cli/commands/list.d.ts +0 -14
  218. package/dist/cli/commands/list.d.ts.map +0 -1
  219. package/dist/cli/commands/list.js +0 -143
  220. package/dist/cli/commands/list.js.map +0 -1
  221. package/dist/cli/commands/log.d.ts +0 -12
  222. package/dist/cli/commands/log.d.ts.map +0 -1
  223. package/dist/cli/commands/log.js +0 -30
  224. package/dist/cli/commands/log.js.map +0 -1
  225. package/dist/cli/commands/map.d.ts +0 -10
  226. package/dist/cli/commands/map.d.ts.map +0 -1
  227. package/dist/cli/commands/map.js +0 -23
  228. package/dist/cli/commands/map.js.map +0 -1
  229. package/dist/cli/commands/memory-brain.d.ts +0 -14
  230. package/dist/cli/commands/memory-brain.d.ts.map +0 -1
  231. package/dist/cli/commands/memory-brain.js +0 -157
  232. package/dist/cli/commands/memory-brain.js.map +0 -1
  233. package/dist/cli/commands/migrate-claude-mem.d.ts +0 -18
  234. package/dist/cli/commands/migrate-claude-mem.d.ts.map +0 -1
  235. package/dist/cli/commands/migrate-claude-mem.js +0 -60
  236. package/dist/cli/commands/migrate-claude-mem.js.map +0 -1
  237. package/dist/cli/commands/next.d.ts +0 -9
  238. package/dist/cli/commands/next.d.ts.map +0 -1
  239. package/dist/cli/commands/next.js +0 -20
  240. package/dist/cli/commands/next.js.map +0 -1
  241. package/dist/cli/commands/nexus.d.ts +0 -16
  242. package/dist/cli/commands/nexus.d.ts.map +0 -1
  243. package/dist/cli/commands/nexus.js +0 -155
  244. package/dist/cli/commands/nexus.js.map +0 -1
  245. package/dist/cli/commands/observe.d.ts +0 -12
  246. package/dist/cli/commands/observe.d.ts.map +0 -1
  247. package/dist/cli/commands/observe.js +0 -42
  248. package/dist/cli/commands/observe.js.map +0 -1
  249. package/dist/cli/commands/ops.d.ts +0 -10
  250. package/dist/cli/commands/ops.d.ts.map +0 -1
  251. package/dist/cli/commands/ops.js +0 -19
  252. package/dist/cli/commands/ops.js.map +0 -1
  253. package/dist/cli/commands/orchestrate.d.ts +0 -8
  254. package/dist/cli/commands/orchestrate.d.ts.map +0 -1
  255. package/dist/cli/commands/orchestrate.js +0 -58
  256. package/dist/cli/commands/orchestrate.js.map +0 -1
  257. package/dist/cli/commands/otel.d.ts +0 -12
  258. package/dist/cli/commands/otel.d.ts.map +0 -1
  259. package/dist/cli/commands/otel.js +0 -128
  260. package/dist/cli/commands/otel.js.map +0 -1
  261. package/dist/cli/commands/phase.d.ts +0 -12
  262. package/dist/cli/commands/phase.d.ts.map +0 -1
  263. package/dist/cli/commands/phase.js +0 -91
  264. package/dist/cli/commands/phase.js.map +0 -1
  265. package/dist/cli/commands/phases.d.ts +0 -12
  266. package/dist/cli/commands/phases.d.ts.map +0 -1
  267. package/dist/cli/commands/phases.js +0 -37
  268. package/dist/cli/commands/phases.js.map +0 -1
  269. package/dist/cli/commands/plan.d.ts +0 -8
  270. package/dist/cli/commands/plan.d.ts.map +0 -1
  271. package/dist/cli/commands/plan.js +0 -15
  272. package/dist/cli/commands/plan.js.map +0 -1
  273. package/dist/cli/commands/promote.d.ts +0 -7
  274. package/dist/cli/commands/promote.d.ts.map +0 -1
  275. package/dist/cli/commands/promote.js +0 -15
  276. package/dist/cli/commands/promote.js.map +0 -1
  277. package/dist/cli/commands/reason.d.ts +0 -35
  278. package/dist/cli/commands/reason.d.ts.map +0 -1
  279. package/dist/cli/commands/reason.js +0 -104
  280. package/dist/cli/commands/reason.js.map +0 -1
  281. package/dist/cli/commands/refresh-memory.d.ts +0 -9
  282. package/dist/cli/commands/refresh-memory.d.ts.map +0 -1
  283. package/dist/cli/commands/refresh-memory.js +0 -24
  284. package/dist/cli/commands/refresh-memory.js.map +0 -1
  285. package/dist/cli/commands/relates.d.ts +0 -12
  286. package/dist/cli/commands/relates.d.ts.map +0 -1
  287. package/dist/cli/commands/relates.js +0 -53
  288. package/dist/cli/commands/relates.js.map +0 -1
  289. package/dist/cli/commands/release.d.ts +0 -8
  290. package/dist/cli/commands/release.d.ts.map +0 -1
  291. package/dist/cli/commands/release.js +0 -72
  292. package/dist/cli/commands/release.js.map +0 -1
  293. package/dist/cli/commands/remote.d.ts +0 -12
  294. package/dist/cli/commands/remote.d.ts.map +0 -1
  295. package/dist/cli/commands/remote.js +0 -207
  296. package/dist/cli/commands/remote.js.map +0 -1
  297. package/dist/cli/commands/reorder.d.ts +0 -7
  298. package/dist/cli/commands/reorder.d.ts.map +0 -1
  299. package/dist/cli/commands/reorder.js +0 -20
  300. package/dist/cli/commands/reorder.js.map +0 -1
  301. package/dist/cli/commands/reparent.d.ts +0 -10
  302. package/dist/cli/commands/reparent.d.ts.map +0 -1
  303. package/dist/cli/commands/reparent.js +0 -19
  304. package/dist/cli/commands/reparent.js.map +0 -1
  305. package/dist/cli/commands/research.d.ts +0 -8
  306. package/dist/cli/commands/research.d.ts.map +0 -1
  307. package/dist/cli/commands/research.js +0 -129
  308. package/dist/cli/commands/research.js.map +0 -1
  309. package/dist/cli/commands/restore.d.ts +0 -12
  310. package/dist/cli/commands/restore.d.ts.map +0 -1
  311. package/dist/cli/commands/restore.js +0 -228
  312. package/dist/cli/commands/restore.js.map +0 -1
  313. package/dist/cli/commands/roadmap.d.ts +0 -8
  314. package/dist/cli/commands/roadmap.d.ts.map +0 -1
  315. package/dist/cli/commands/roadmap.js +0 -21
  316. package/dist/cli/commands/roadmap.js.map +0 -1
  317. package/dist/cli/commands/safestop.d.ts +0 -14
  318. package/dist/cli/commands/safestop.d.ts.map +0 -1
  319. package/dist/cli/commands/safestop.js +0 -32
  320. package/dist/cli/commands/safestop.js.map +0 -1
  321. package/dist/cli/commands/schema.d.ts +0 -27
  322. package/dist/cli/commands/schema.d.ts.map +0 -1
  323. package/dist/cli/commands/schema.js +0 -160
  324. package/dist/cli/commands/schema.js.map +0 -1
  325. package/dist/cli/commands/self-update.d.ts +0 -15
  326. package/dist/cli/commands/self-update.d.ts.map +0 -1
  327. package/dist/cli/commands/self-update.js +0 -329
  328. package/dist/cli/commands/self-update.js.map +0 -1
  329. package/dist/cli/commands/sequence.d.ts +0 -8
  330. package/dist/cli/commands/sequence.d.ts.map +0 -1
  331. package/dist/cli/commands/sequence.js +0 -30
  332. package/dist/cli/commands/sequence.js.map +0 -1
  333. package/dist/cli/commands/session.d.ts +0 -12
  334. package/dist/cli/commands/session.d.ts.map +0 -1
  335. package/dist/cli/commands/session.js +0 -175
  336. package/dist/cli/commands/session.js.map +0 -1
  337. package/dist/cli/commands/show.d.ts +0 -13
  338. package/dist/cli/commands/show.d.ts.map +0 -1
  339. package/dist/cli/commands/show.js +0 -40
  340. package/dist/cli/commands/show.js.map +0 -1
  341. package/dist/cli/commands/skills.d.ts +0 -13
  342. package/dist/cli/commands/skills.d.ts.map +0 -1
  343. package/dist/cli/commands/skills.js +0 -131
  344. package/dist/cli/commands/skills.js.map +0 -1
  345. package/dist/cli/commands/snapshot.d.ts +0 -9
  346. package/dist/cli/commands/snapshot.d.ts.map +0 -1
  347. package/dist/cli/commands/snapshot.js +0 -50
  348. package/dist/cli/commands/snapshot.js.map +0 -1
  349. package/dist/cli/commands/specification.d.ts +0 -13
  350. package/dist/cli/commands/specification.d.ts.map +0 -1
  351. package/dist/cli/commands/specification.js +0 -45
  352. package/dist/cli/commands/specification.js.map +0 -1
  353. package/dist/cli/commands/start.d.ts +0 -13
  354. package/dist/cli/commands/start.d.ts.map +0 -1
  355. package/dist/cli/commands/start.js +0 -20
  356. package/dist/cli/commands/start.js.map +0 -1
  357. package/dist/cli/commands/stats.d.ts +0 -12
  358. package/dist/cli/commands/stats.d.ts.map +0 -1
  359. package/dist/cli/commands/stats.js +0 -35
  360. package/dist/cli/commands/stats.js.map +0 -1
  361. package/dist/cli/commands/sticky.d.ts +0 -16
  362. package/dist/cli/commands/sticky.d.ts.map +0 -1
  363. package/dist/cli/commands/sticky.js +0 -211
  364. package/dist/cli/commands/sticky.js.map +0 -1
  365. package/dist/cli/commands/stop.d.ts +0 -13
  366. package/dist/cli/commands/stop.d.ts.map +0 -1
  367. package/dist/cli/commands/stop.js +0 -20
  368. package/dist/cli/commands/stop.js.map +0 -1
  369. package/dist/cli/commands/testing.d.ts +0 -13
  370. package/dist/cli/commands/testing.d.ts.map +0 -1
  371. package/dist/cli/commands/testing.js +0 -64
  372. package/dist/cli/commands/testing.js.map +0 -1
  373. package/dist/cli/commands/token.d.ts +0 -10
  374. package/dist/cli/commands/token.d.ts.map +0 -1
  375. package/dist/cli/commands/token.js +0 -135
  376. package/dist/cli/commands/token.js.map +0 -1
  377. package/dist/cli/commands/update.d.ts +0 -12
  378. package/dist/cli/commands/update.d.ts.map +0 -1
  379. package/dist/cli/commands/update.js +0 -83
  380. package/dist/cli/commands/update.js.map +0 -1
  381. package/dist/cli/commands/upgrade.d.ts +0 -18
  382. package/dist/cli/commands/upgrade.d.ts.map +0 -1
  383. package/dist/cli/commands/upgrade.js +0 -103
  384. package/dist/cli/commands/upgrade.js.map +0 -1
  385. package/dist/cli/commands/validate.d.ts +0 -12
  386. package/dist/cli/commands/validate.d.ts.map +0 -1
  387. package/dist/cli/commands/validate.js +0 -23
  388. package/dist/cli/commands/validate.js.map +0 -1
  389. package/dist/cli/commands/verify.d.ts +0 -8
  390. package/dist/cli/commands/verify.d.ts.map +0 -1
  391. package/dist/cli/commands/verify.js +0 -28
  392. package/dist/cli/commands/verify.js.map +0 -1
  393. package/dist/cli/commands/web.d.ts +0 -13
  394. package/dist/cli/commands/web.d.ts.map +0 -1
  395. package/dist/cli/commands/web.js +0 -277
  396. package/dist/cli/commands/web.js.map +0 -1
  397. package/dist/cli/field-context.d.ts +0 -32
  398. package/dist/cli/field-context.d.ts.map +0 -1
  399. package/dist/cli/field-context.js +0 -47
  400. package/dist/cli/field-context.js.map +0 -1
  401. package/dist/cli/format-context.d.ts +0 -32
  402. package/dist/cli/format-context.d.ts.map +0 -1
  403. package/dist/cli/format-context.js +0 -50
  404. package/dist/cli/format-context.js.map +0 -1
  405. package/dist/cli/help-generator.d.ts +0 -74
  406. package/dist/cli/help-generator.d.ts.map +0 -1
  407. package/dist/cli/help-generator.js +0 -229
  408. package/dist/cli/help-generator.js.map +0 -1
  409. package/dist/cli/index.d.ts +0 -9
  410. package/dist/cli/index.d.ts.map +0 -1
  411. package/dist/cli/logger-bootstrap.d.ts +0 -6
  412. package/dist/cli/logger-bootstrap.d.ts.map +0 -1
  413. package/dist/cli/logger-bootstrap.js +0 -10
  414. package/dist/cli/logger-bootstrap.js.map +0 -1
  415. package/dist/cli/middleware/output-format.d.ts +0 -30
  416. package/dist/cli/middleware/output-format.d.ts.map +0 -1
  417. package/dist/cli/middleware/output-format.js +0 -35
  418. package/dist/cli/middleware/output-format.js.map +0 -1
  419. package/dist/cli/progress.d.ts +0 -84
  420. package/dist/cli/progress.d.ts.map +0 -1
  421. package/dist/cli/progress.js +0 -169
  422. package/dist/cli/progress.js.map +0 -1
  423. package/dist/cli/renderers/colors.d.ts +0 -32
  424. package/dist/cli/renderers/colors.d.ts.map +0 -1
  425. package/dist/cli/renderers/colors.js +0 -141
  426. package/dist/cli/renderers/colors.js.map +0 -1
  427. package/dist/cli/renderers/error.d.ts +0 -13
  428. package/dist/cli/renderers/error.d.ts.map +0 -1
  429. package/dist/cli/renderers/error.js +0 -42
  430. package/dist/cli/renderers/error.js.map +0 -1
  431. package/dist/cli/renderers/index.d.ts +0 -87
  432. package/dist/cli/renderers/index.d.ts.map +0 -1
  433. package/dist/cli/renderers/index.js +0 -262
  434. package/dist/cli/renderers/index.js.map +0 -1
  435. package/dist/cli/renderers/lafs-validator.d.ts +0 -91
  436. package/dist/cli/renderers/lafs-validator.d.ts.map +0 -1
  437. package/dist/cli/renderers/lafs-validator.js +0 -176
  438. package/dist/cli/renderers/lafs-validator.js.map +0 -1
  439. package/dist/cli/renderers/normalizer.d.ts +0 -21
  440. package/dist/cli/renderers/normalizer.d.ts.map +0 -1
  441. package/dist/cli/renderers/normalizer.js +0 -106
  442. package/dist/cli/renderers/normalizer.js.map +0 -1
  443. package/dist/cli/renderers/system.d.ts +0 -25
  444. package/dist/cli/renderers/system.d.ts.map +0 -1
  445. package/dist/cli/renderers/system.js +0 -416
  446. package/dist/cli/renderers/system.js.map +0 -1
  447. package/dist/cli/renderers/tasks.d.ts +0 -28
  448. package/dist/cli/renderers/tasks.d.ts.map +0 -1
  449. package/dist/cli/renderers/tasks.js +0 -306
  450. package/dist/cli/renderers/tasks.js.map +0 -1
  451. package/dist/dispatch/adapters/cli.d.ts +0 -67
  452. package/dist/dispatch/adapters/cli.d.ts.map +0 -1
  453. package/dist/dispatch/adapters/cli.js +0 -276
  454. package/dist/dispatch/adapters/cli.js.map +0 -1
  455. package/dist/dispatch/context/session-context.d.ts +0 -54
  456. package/dist/dispatch/context/session-context.d.ts.map +0 -1
  457. package/dist/dispatch/context/session-context.js +0 -61
  458. package/dist/dispatch/context/session-context.js.map +0 -1
  459. package/dist/dispatch/dispatcher.d.ts +0 -23
  460. package/dist/dispatch/dispatcher.d.ts.map +0 -1
  461. package/dist/dispatch/dispatcher.js +0 -84
  462. package/dist/dispatch/dispatcher.js.map +0 -1
  463. package/dist/dispatch/domains/_base.d.ts +0 -59
  464. package/dist/dispatch/domains/_base.d.ts.map +0 -1
  465. package/dist/dispatch/domains/_base.js +0 -77
  466. package/dist/dispatch/domains/_base.js.map +0 -1
  467. package/dist/dispatch/domains/_meta.d.ts +0 -23
  468. package/dist/dispatch/domains/_meta.d.ts.map +0 -1
  469. package/dist/dispatch/domains/_meta.js +0 -25
  470. package/dist/dispatch/domains/_meta.js.map +0 -1
  471. package/dist/dispatch/domains/_routing.d.ts +0 -8
  472. package/dist/dispatch/domains/_routing.d.ts.map +0 -1
  473. package/dist/dispatch/domains/_routing.js +0 -20
  474. package/dist/dispatch/domains/_routing.js.map +0 -1
  475. package/dist/dispatch/domains/admin.d.ts +0 -25
  476. package/dist/dispatch/domains/admin.d.ts.map +0 -1
  477. package/dist/dispatch/domains/admin.js +0 -719
  478. package/dist/dispatch/domains/admin.js.map +0 -1
  479. package/dist/dispatch/domains/check.d.ts +0 -22
  480. package/dist/dispatch/domains/check.d.ts.map +0 -1
  481. package/dist/dispatch/domains/check.js +0 -360
  482. package/dist/dispatch/domains/check.js.map +0 -1
  483. package/dist/dispatch/domains/conduit.d.ts +0 -38
  484. package/dist/dispatch/domains/conduit.d.ts.map +0 -1
  485. package/dist/dispatch/domains/conduit.js +0 -247
  486. package/dist/dispatch/domains/conduit.js.map +0 -1
  487. package/dist/dispatch/domains/index.d.ts +0 -27
  488. package/dist/dispatch/domains/index.d.ts.map +0 -1
  489. package/dist/dispatch/domains/index.js +0 -40
  490. package/dist/dispatch/domains/index.js.map +0 -1
  491. package/dist/dispatch/domains/memory.d.ts +0 -22
  492. package/dist/dispatch/domains/memory.d.ts.map +0 -1
  493. package/dist/dispatch/domains/memory.js +0 -303
  494. package/dist/dispatch/domains/memory.js.map +0 -1
  495. package/dist/dispatch/domains/nexus.d.ts +0 -22
  496. package/dist/dispatch/domains/nexus.d.ts.map +0 -1
  497. package/dist/dispatch/domains/nexus.js +0 -286
  498. package/dist/dispatch/domains/nexus.js.map +0 -1
  499. package/dist/dispatch/domains/orchestrate.d.ts +0 -19
  500. package/dist/dispatch/domains/orchestrate.d.ts.map +0 -1
  501. package/dist/dispatch/domains/orchestrate.js +0 -259
  502. package/dist/dispatch/domains/orchestrate.js.map +0 -1
  503. package/dist/dispatch/domains/pipeline.d.ts +0 -35
  504. package/dist/dispatch/domains/pipeline.d.ts.map +0 -1
  505. package/dist/dispatch/domains/pipeline.js +0 -593
  506. package/dist/dispatch/domains/pipeline.js.map +0 -1
  507. package/dist/dispatch/domains/session.d.ts +0 -22
  508. package/dist/dispatch/domains/session.d.ts.map +0 -1
  509. package/dist/dispatch/domains/session.js +0 -257
  510. package/dist/dispatch/domains/session.js.map +0 -1
  511. package/dist/dispatch/domains/sticky.d.ts +0 -20
  512. package/dist/dispatch/domains/sticky.d.ts.map +0 -1
  513. package/dist/dispatch/domains/sticky.js +0 -164
  514. package/dist/dispatch/domains/sticky.js.map +0 -1
  515. package/dist/dispatch/domains/tasks.d.ts +0 -25
  516. package/dist/dispatch/domains/tasks.d.ts.map +0 -1
  517. package/dist/dispatch/domains/tasks.js +0 -361
  518. package/dist/dispatch/domains/tasks.js.map +0 -1
  519. package/dist/dispatch/domains/tools.d.ts +0 -37
  520. package/dist/dispatch/domains/tools.d.ts.map +0 -1
  521. package/dist/dispatch/domains/tools.js +0 -481
  522. package/dist/dispatch/domains/tools.js.map +0 -1
  523. package/dist/dispatch/engines/_error.d.ts +0 -119
  524. package/dist/dispatch/engines/_error.d.ts.map +0 -1
  525. package/dist/dispatch/engines/_error.js +0 -288
  526. package/dist/dispatch/engines/_error.js.map +0 -1
  527. package/dist/dispatch/engines/code-engine.d.ts +0 -18
  528. package/dist/dispatch/engines/code-engine.d.ts.map +0 -1
  529. package/dist/dispatch/engines/code-engine.js +0 -71
  530. package/dist/dispatch/engines/code-engine.js.map +0 -1
  531. package/dist/dispatch/engines/codebase-map-engine.d.ts +0 -31
  532. package/dist/dispatch/engines/codebase-map-engine.d.ts.map +0 -1
  533. package/dist/dispatch/engines/codebase-map-engine.js +0 -43
  534. package/dist/dispatch/engines/codebase-map-engine.js.map +0 -1
  535. package/dist/dispatch/engines/config-engine.d.ts +0 -32
  536. package/dist/dispatch/engines/config-engine.d.ts.map +0 -1
  537. package/dist/dispatch/engines/config-engine.js +0 -70
  538. package/dist/dispatch/engines/config-engine.js.map +0 -1
  539. package/dist/dispatch/engines/hooks-engine.d.ts +0 -96
  540. package/dist/dispatch/engines/hooks-engine.d.ts.map +0 -1
  541. package/dist/dispatch/engines/hooks-engine.js +0 -144
  542. package/dist/dispatch/engines/hooks-engine.js.map +0 -1
  543. package/dist/dispatch/engines/init-engine.d.ts +0 -56
  544. package/dist/dispatch/engines/init-engine.d.ts.map +0 -1
  545. package/dist/dispatch/engines/init-engine.js +0 -78
  546. package/dist/dispatch/engines/init-engine.js.map +0 -1
  547. package/dist/dispatch/engines/lifecycle-engine.d.ts +0 -66
  548. package/dist/dispatch/engines/lifecycle-engine.d.ts.map +0 -1
  549. package/dist/dispatch/engines/lifecycle-engine.js +0 -224
  550. package/dist/dispatch/engines/lifecycle-engine.js.map +0 -1
  551. package/dist/dispatch/engines/memory-engine.d.ts +0 -10
  552. package/dist/dispatch/engines/memory-engine.d.ts.map +0 -1
  553. package/dist/dispatch/engines/memory-engine.js +0 -10
  554. package/dist/dispatch/engines/memory-engine.js.map +0 -1
  555. package/dist/dispatch/engines/nexus-engine.d.ts +0 -167
  556. package/dist/dispatch/engines/nexus-engine.d.ts.map +0 -1
  557. package/dist/dispatch/engines/nexus-engine.js +0 -356
  558. package/dist/dispatch/engines/nexus-engine.js.map +0 -1
  559. package/dist/dispatch/engines/orchestrate-engine.d.ts +0 -133
  560. package/dist/dispatch/engines/orchestrate-engine.d.ts.map +0 -1
  561. package/dist/dispatch/engines/orchestrate-engine.js +0 -769
  562. package/dist/dispatch/engines/orchestrate-engine.js.map +0 -1
  563. package/dist/dispatch/engines/pipeline-engine.d.ts +0 -51
  564. package/dist/dispatch/engines/pipeline-engine.d.ts.map +0 -1
  565. package/dist/dispatch/engines/pipeline-engine.js +0 -191
  566. package/dist/dispatch/engines/pipeline-engine.js.map +0 -1
  567. package/dist/dispatch/engines/release-engine.d.ts +0 -94
  568. package/dist/dispatch/engines/release-engine.d.ts.map +0 -1
  569. package/dist/dispatch/engines/release-engine.js +0 -763
  570. package/dist/dispatch/engines/release-engine.js.map +0 -1
  571. package/dist/dispatch/engines/session-engine.d.ts +0 -383
  572. package/dist/dispatch/engines/session-engine.d.ts.map +0 -1
  573. package/dist/dispatch/engines/session-engine.js +0 -910
  574. package/dist/dispatch/engines/session-engine.js.map +0 -1
  575. package/dist/dispatch/engines/sticky-engine.d.ts +0 -100
  576. package/dist/dispatch/engines/sticky-engine.d.ts.map +0 -1
  577. package/dist/dispatch/engines/sticky-engine.js +0 -181
  578. package/dist/dispatch/engines/sticky-engine.js.map +0 -1
  579. package/dist/dispatch/engines/system-engine.d.ts +0 -539
  580. package/dist/dispatch/engines/system-engine.d.ts.map +0 -1
  581. package/dist/dispatch/engines/system-engine.js +0 -1258
  582. package/dist/dispatch/engines/system-engine.js.map +0 -1
  583. package/dist/dispatch/engines/task-engine.d.ts +0 -1055
  584. package/dist/dispatch/engines/task-engine.d.ts.map +0 -1
  585. package/dist/dispatch/engines/task-engine.js +0 -1193
  586. package/dist/dispatch/engines/task-engine.js.map +0 -1
  587. package/dist/dispatch/engines/template-parser.d.ts +0 -85
  588. package/dist/dispatch/engines/template-parser.d.ts.map +0 -1
  589. package/dist/dispatch/engines/template-parser.js +0 -108
  590. package/dist/dispatch/engines/template-parser.js.map +0 -1
  591. package/dist/dispatch/engines/tools-engine.d.ts +0 -270
  592. package/dist/dispatch/engines/tools-engine.d.ts.map +0 -1
  593. package/dist/dispatch/engines/tools-engine.js +0 -636
  594. package/dist/dispatch/engines/tools-engine.js.map +0 -1
  595. package/dist/dispatch/engines/validate-engine.d.ts +0 -218
  596. package/dist/dispatch/engines/validate-engine.d.ts.map +0 -1
  597. package/dist/dispatch/engines/validate-engine.js +0 -737
  598. package/dist/dispatch/engines/validate-engine.js.map +0 -1
  599. package/dist/dispatch/index.d.ts +0 -20
  600. package/dist/dispatch/index.d.ts.map +0 -1
  601. package/dist/dispatch/index.js +0 -19
  602. package/dist/dispatch/index.js.map +0 -1
  603. package/dist/dispatch/lib/background-jobs.d.ts +0 -86
  604. package/dist/dispatch/lib/background-jobs.d.ts.map +0 -1
  605. package/dist/dispatch/lib/background-jobs.js +0 -183
  606. package/dist/dispatch/lib/background-jobs.js.map +0 -1
  607. package/dist/dispatch/lib/budget.d.ts +0 -36
  608. package/dist/dispatch/lib/budget.d.ts.map +0 -1
  609. package/dist/dispatch/lib/budget.js +0 -109
  610. package/dist/dispatch/lib/budget.js.map +0 -1
  611. package/dist/dispatch/lib/capability-matrix.d.ts +0 -11
  612. package/dist/dispatch/lib/capability-matrix.d.ts.map +0 -1
  613. package/dist/dispatch/lib/capability-matrix.js +0 -10
  614. package/dist/dispatch/lib/capability-matrix.js.map +0 -1
  615. package/dist/dispatch/lib/config-loader.d.ts +0 -42
  616. package/dist/dispatch/lib/config-loader.d.ts.map +0 -1
  617. package/dist/dispatch/lib/config-loader.js +0 -217
  618. package/dist/dispatch/lib/config-loader.js.map +0 -1
  619. package/dist/dispatch/lib/config.d.ts +0 -11
  620. package/dist/dispatch/lib/config.d.ts.map +0 -1
  621. package/dist/dispatch/lib/config.js +0 -10
  622. package/dist/dispatch/lib/config.js.map +0 -1
  623. package/dist/dispatch/lib/defaults.d.ts +0 -115
  624. package/dist/dispatch/lib/defaults.d.ts.map +0 -1
  625. package/dist/dispatch/lib/defaults.js +0 -61
  626. package/dist/dispatch/lib/defaults.js.map +0 -1
  627. package/dist/dispatch/lib/engine.d.ts +0 -26
  628. package/dist/dispatch/lib/engine.d.ts.map +0 -1
  629. package/dist/dispatch/lib/engine.js +0 -46
  630. package/dist/dispatch/lib/engine.js.map +0 -1
  631. package/dist/dispatch/lib/exit-codes.d.ts +0 -35
  632. package/dist/dispatch/lib/exit-codes.d.ts.map +0 -1
  633. package/dist/dispatch/lib/exit-codes.js +0 -60
  634. package/dist/dispatch/lib/exit-codes.js.map +0 -1
  635. package/dist/dispatch/lib/gateway-meta.d.ts +0 -37
  636. package/dist/dispatch/lib/gateway-meta.d.ts.map +0 -1
  637. package/dist/dispatch/lib/gateway-meta.js +0 -50
  638. package/dist/dispatch/lib/gateway-meta.js.map +0 -1
  639. package/dist/dispatch/lib/job-manager-accessor.d.ts +0 -9
  640. package/dist/dispatch/lib/job-manager-accessor.d.ts.map +0 -1
  641. package/dist/dispatch/lib/job-manager-accessor.js +0 -13
  642. package/dist/dispatch/lib/job-manager-accessor.js.map +0 -1
  643. package/dist/dispatch/lib/meta.d.ts +0 -26
  644. package/dist/dispatch/lib/meta.d.ts.map +0 -1
  645. package/dist/dispatch/lib/meta.js +0 -37
  646. package/dist/dispatch/lib/meta.js.map +0 -1
  647. package/dist/dispatch/lib/param-utils.d.ts +0 -11
  648. package/dist/dispatch/lib/param-utils.d.ts.map +0 -1
  649. package/dist/dispatch/lib/param-utils.js +0 -10
  650. package/dist/dispatch/lib/param-utils.js.map +0 -1
  651. package/dist/dispatch/lib/projections.d.ts +0 -56
  652. package/dist/dispatch/lib/projections.d.ts.map +0 -1
  653. package/dist/dispatch/lib/projections.js +0 -65
  654. package/dist/dispatch/lib/projections.js.map +0 -1
  655. package/dist/dispatch/lib/proto-envelope.d.ts +0 -56
  656. package/dist/dispatch/lib/proto-envelope.d.ts.map +0 -1
  657. package/dist/dispatch/lib/proto-envelope.js +0 -17
  658. package/dist/dispatch/lib/proto-envelope.js.map +0 -1
  659. package/dist/dispatch/lib/schema-utils.d.ts +0 -39
  660. package/dist/dispatch/lib/schema-utils.d.ts.map +0 -1
  661. package/dist/dispatch/lib/schema-utils.js +0 -88
  662. package/dist/dispatch/lib/schema-utils.js.map +0 -1
  663. package/dist/dispatch/lib/security.d.ts +0 -11
  664. package/dist/dispatch/lib/security.d.ts.map +0 -1
  665. package/dist/dispatch/lib/security.js +0 -10
  666. package/dist/dispatch/lib/security.js.map +0 -1
  667. package/dist/dispatch/middleware/audit.d.ts +0 -23
  668. package/dist/dispatch/middleware/audit.d.ts.map +0 -1
  669. package/dist/dispatch/middleware/audit.js +0 -169
  670. package/dist/dispatch/middleware/audit.js.map +0 -1
  671. package/dist/dispatch/middleware/field-filter.d.ts +0 -25
  672. package/dist/dispatch/middleware/field-filter.d.ts.map +0 -1
  673. package/dist/dispatch/middleware/field-filter.js +0 -70
  674. package/dist/dispatch/middleware/field-filter.js.map +0 -1
  675. package/dist/dispatch/middleware/pipeline.d.ts +0 -33
  676. package/dist/dispatch/middleware/pipeline.d.ts.map +0 -1
  677. package/dist/dispatch/middleware/pipeline.js +0 -60
  678. package/dist/dispatch/middleware/pipeline.js.map +0 -1
  679. package/dist/dispatch/middleware/projection.d.ts +0 -35
  680. package/dist/dispatch/middleware/projection.d.ts.map +0 -1
  681. package/dist/dispatch/middleware/projection.js +0 -146
  682. package/dist/dispatch/middleware/projection.js.map +0 -1
  683. package/dist/dispatch/middleware/protocol-enforcement.d.ts +0 -30
  684. package/dist/dispatch/middleware/protocol-enforcement.d.ts.map +0 -1
  685. package/dist/dispatch/middleware/protocol-enforcement.js +0 -56
  686. package/dist/dispatch/middleware/protocol-enforcement.js.map +0 -1
  687. package/dist/dispatch/middleware/rate-limiter.d.ts +0 -72
  688. package/dist/dispatch/middleware/rate-limiter.d.ts.map +0 -1
  689. package/dist/dispatch/middleware/rate-limiter.js +0 -127
  690. package/dist/dispatch/middleware/rate-limiter.js.map +0 -1
  691. package/dist/dispatch/middleware/sanitizer.d.ts +0 -24
  692. package/dist/dispatch/middleware/sanitizer.d.ts.map +0 -1
  693. package/dist/dispatch/middleware/sanitizer.js +0 -56
  694. package/dist/dispatch/middleware/sanitizer.js.map +0 -1
  695. package/dist/dispatch/middleware/session-resolver.d.ts +0 -26
  696. package/dist/dispatch/middleware/session-resolver.d.ts.map +0 -1
  697. package/dist/dispatch/middleware/session-resolver.js +0 -65
  698. package/dist/dispatch/middleware/session-resolver.js.map +0 -1
  699. package/dist/dispatch/middleware/verification-gates.d.ts +0 -22
  700. package/dist/dispatch/middleware/verification-gates.d.ts.map +0 -1
  701. package/dist/dispatch/middleware/verification-gates.js +0 -59
  702. package/dist/dispatch/middleware/verification-gates.js.map +0 -1
  703. package/dist/dispatch/registry.d.ts +0 -91
  704. package/dist/dispatch/registry.d.ts.map +0 -1
  705. package/dist/dispatch/registry.js +0 -3133
  706. package/dist/dispatch/registry.js.map +0 -1
  707. package/dist/dispatch/types.d.ts +0 -206
  708. package/dist/dispatch/types.d.ts.map +0 -1
  709. package/dist/dispatch/types.js +0 -26
  710. package/dist/dispatch/types.js.map +0 -1
@@ -1,3133 +0,0 @@
1
- /**
2
- * Unified CQRS Dispatch Layer -- Operation Registry
3
- *
4
- * Single source of truth for all operations mapped to 10 canonical domains.
5
- * Canonical domains only -- no legacy alias support.
6
- *
7
- * @epic T4820
8
- * @task T4814, T5241, T5615
9
- */
10
- /**
11
- * The single source of truth for all operations in CLEO.
12
- */
13
- export const OPERATIONS = [
14
- {
15
- gateway: 'query',
16
- domain: 'tasks',
17
- operation: 'show',
18
- description: 'tasks.show (query)',
19
- tier: 0,
20
- idempotent: true,
21
- sessionRequired: false,
22
- requiredParams: ['taskId'],
23
- },
24
- {
25
- gateway: 'query',
26
- domain: 'tasks',
27
- operation: 'list',
28
- description: 'tasks.list (query)',
29
- tier: 1,
30
- idempotent: true,
31
- sessionRequired: false,
32
- requiredParams: [],
33
- params: [
34
- { name: 'parent', type: 'string', required: false, description: 'Filter by parent task ID' },
35
- { name: 'status', type: 'string', required: false, description: 'Filter by task status' },
36
- { name: 'priority', type: 'string', required: false, description: 'Filter by task priority' },
37
- { name: 'type', type: 'string', required: false, description: 'Filter by task type' },
38
- { name: 'phase', type: 'string', required: false, description: 'Filter by task phase' },
39
- { name: 'label', type: 'string', required: false, description: 'Filter by task label' },
40
- {
41
- name: 'children',
42
- type: 'boolean',
43
- required: false,
44
- description: 'Limit parent queries to direct children',
45
- },
46
- {
47
- name: 'limit',
48
- type: 'number',
49
- required: false,
50
- description: 'Maximum number of tasks to return',
51
- },
52
- {
53
- name: 'offset',
54
- type: 'number',
55
- required: false,
56
- description: 'Number of filtered tasks to skip',
57
- },
58
- {
59
- name: 'compact',
60
- type: 'boolean',
61
- required: false,
62
- description: 'Deprecated: request compact task rows for compatibility',
63
- },
64
- ],
65
- },
66
- {
67
- gateway: 'query',
68
- domain: 'tasks',
69
- operation: 'find',
70
- description: 'tasks.find (query)',
71
- tier: 0,
72
- idempotent: true,
73
- sessionRequired: false,
74
- requiredParams: [],
75
- },
76
- {
77
- gateway: 'query',
78
- domain: 'tasks',
79
- operation: 'tree',
80
- description: 'tasks.tree (query)',
81
- tier: 1,
82
- idempotent: true,
83
- sessionRequired: false,
84
- requiredParams: [],
85
- },
86
- {
87
- gateway: 'query',
88
- domain: 'tasks',
89
- operation: 'blockers',
90
- description: 'tasks.blockers (query)',
91
- tier: 1,
92
- idempotent: true,
93
- sessionRequired: false,
94
- requiredParams: [],
95
- },
96
- {
97
- gateway: 'query',
98
- domain: 'tasks',
99
- operation: 'depends',
100
- description: 'tasks.depends (query)',
101
- tier: 1,
102
- idempotent: true,
103
- sessionRequired: false,
104
- requiredParams: [],
105
- },
106
- {
107
- gateway: 'query',
108
- domain: 'tasks',
109
- operation: 'analyze',
110
- description: 'tasks.analyze (query)',
111
- tier: 1,
112
- idempotent: true,
113
- sessionRequired: false,
114
- requiredParams: [],
115
- },
116
- {
117
- gateway: 'query',
118
- domain: 'tasks',
119
- operation: 'impact',
120
- description: 'tasks.impact (query) — predict downstream effects of a free-text change description using keyword matching and reverse dependency graph traversal',
121
- tier: 1,
122
- idempotent: true,
123
- sessionRequired: false,
124
- requiredParams: ['change'],
125
- params: [
126
- {
127
- name: 'change',
128
- type: 'string',
129
- required: true,
130
- description: 'Free-text description of the proposed change (e.g. "Modify authentication flow")',
131
- },
132
- {
133
- name: 'matchLimit',
134
- type: 'number',
135
- required: false,
136
- description: 'Maximum number of seed tasks to match by keyword (default: 5)',
137
- },
138
- ],
139
- },
140
- {
141
- gateway: 'query',
142
- domain: 'tasks',
143
- operation: 'next',
144
- description: 'tasks.next (query)',
145
- tier: 0,
146
- idempotent: true,
147
- sessionRequired: false,
148
- requiredParams: [],
149
- },
150
- {
151
- gateway: 'query',
152
- domain: 'tasks',
153
- operation: 'plan',
154
- description: 'Composite planning view with in-progress epics, ready tasks, blocked tasks, and open bugs (query)',
155
- tier: 0,
156
- idempotent: true,
157
- sessionRequired: false,
158
- requiredParams: [],
159
- },
160
- {
161
- gateway: 'query',
162
- domain: 'tasks',
163
- operation: 'relates',
164
- description: 'tasks.relates (query) — absorbs relates.find via mode param',
165
- tier: 1,
166
- idempotent: true,
167
- sessionRequired: false,
168
- requiredParams: ['taskId'],
169
- },
170
- {
171
- gateway: 'query',
172
- domain: 'tasks',
173
- operation: 'complexity.estimate',
174
- description: 'tasks.complexity.estimate (query)',
175
- tier: 1,
176
- idempotent: true,
177
- sessionRequired: false,
178
- requiredParams: ['taskId'],
179
- },
180
- {
181
- gateway: 'query',
182
- domain: 'tasks',
183
- operation: 'history',
184
- description: 'Show task work history (time tracked per task)',
185
- tier: 1,
186
- idempotent: true,
187
- sessionRequired: false,
188
- requiredParams: [],
189
- },
190
- {
191
- gateway: 'query',
192
- domain: 'tasks',
193
- operation: 'current',
194
- description: 'tasks.current (query)',
195
- tier: 0,
196
- idempotent: true,
197
- sessionRequired: false,
198
- requiredParams: [],
199
- },
200
- // Label operations (dispatch migration)
201
- {
202
- gateway: 'query',
203
- domain: 'tasks',
204
- operation: 'label.list',
205
- description: 'List all labels with task counts',
206
- tier: 1,
207
- idempotent: true,
208
- sessionRequired: false,
209
- requiredParams: [],
210
- },
211
- {
212
- gateway: 'query',
213
- domain: 'session',
214
- operation: 'status',
215
- description: 'session.status (query)',
216
- tier: 0,
217
- idempotent: true,
218
- sessionRequired: false,
219
- requiredParams: [],
220
- },
221
- {
222
- gateway: 'query',
223
- domain: 'session',
224
- operation: 'list',
225
- description: 'session.list (query)',
226
- tier: 1,
227
- idempotent: true,
228
- sessionRequired: false,
229
- requiredParams: [],
230
- params: [
231
- { name: 'status', type: 'string', required: false, description: 'Filter by session status' },
232
- {
233
- name: 'active',
234
- type: 'boolean',
235
- required: false,
236
- description: 'Legacy active-session filter',
237
- },
238
- { name: 'limit', type: 'number', required: false, description: 'Maximum sessions to return' },
239
- {
240
- name: 'offset',
241
- type: 'number',
242
- required: false,
243
- description: 'Skip this many sessions before returning results',
244
- },
245
- ],
246
- },
247
- {
248
- gateway: 'query',
249
- domain: 'session',
250
- operation: 'show',
251
- description: 'session.show (query) — absorbs debrief.show via include param',
252
- tier: 1,
253
- idempotent: true,
254
- sessionRequired: false,
255
- requiredParams: [],
256
- },
257
- {
258
- gateway: 'query',
259
- domain: 'session',
260
- operation: 'decision.log',
261
- description: 'session.decision.log (query)',
262
- tier: 1,
263
- idempotent: true,
264
- sessionRequired: false,
265
- requiredParams: [],
266
- },
267
- {
268
- gateway: 'query',
269
- domain: 'session',
270
- operation: 'context.drift',
271
- description: 'session.context.drift (query)',
272
- tier: 1,
273
- idempotent: true,
274
- sessionRequired: false,
275
- requiredParams: [],
276
- },
277
- {
278
- gateway: 'query',
279
- domain: 'session',
280
- operation: 'handoff.show',
281
- description: 'session.handoff.show - Show handoff data from the most recent ended session (query)',
282
- tier: 0,
283
- idempotent: true,
284
- sessionRequired: false,
285
- requiredParams: [],
286
- },
287
- {
288
- gateway: 'query',
289
- domain: 'session',
290
- operation: 'briefing.show',
291
- description: 'session.briefing.show - Composite session-start context (query)',
292
- tier: 0,
293
- idempotent: true,
294
- sessionRequired: false,
295
- requiredParams: [],
296
- },
297
- // T4959: Rich debrief removed — merged into session.show via include param (T5615)
298
- {
299
- gateway: 'query',
300
- domain: 'session',
301
- operation: 'find',
302
- description: 'session.find (query) — lightweight session discovery',
303
- tier: 1,
304
- idempotent: true,
305
- sessionRequired: false,
306
- requiredParams: [],
307
- },
308
- {
309
- gateway: 'query',
310
- domain: 'orchestrate',
311
- operation: 'status',
312
- description: 'orchestrate.status (query)',
313
- tier: 1,
314
- idempotent: true,
315
- sessionRequired: false,
316
- requiredParams: [],
317
- },
318
- {
319
- gateway: 'query',
320
- domain: 'orchestrate',
321
- operation: 'next',
322
- description: 'orchestrate.next (query)',
323
- tier: 1,
324
- idempotent: true,
325
- sessionRequired: false,
326
- requiredParams: [],
327
- },
328
- {
329
- gateway: 'query',
330
- domain: 'orchestrate',
331
- operation: 'ready',
332
- description: 'orchestrate.ready (query)',
333
- tier: 1,
334
- idempotent: true,
335
- sessionRequired: false,
336
- requiredParams: [],
337
- },
338
- {
339
- gateway: 'query',
340
- domain: 'orchestrate',
341
- operation: 'analyze',
342
- description: 'orchestrate.analyze (query) — absorbs critical.path via mode param',
343
- tier: 1,
344
- idempotent: true,
345
- sessionRequired: false,
346
- requiredParams: [],
347
- },
348
- {
349
- gateway: 'query',
350
- domain: 'orchestrate',
351
- operation: 'context',
352
- description: 'orchestrate.context (query)',
353
- tier: 1,
354
- idempotent: true,
355
- sessionRequired: false,
356
- requiredParams: [],
357
- },
358
- {
359
- gateway: 'query',
360
- domain: 'orchestrate',
361
- operation: 'waves',
362
- description: 'orchestrate.waves (query)',
363
- tier: 1,
364
- idempotent: true,
365
- sessionRequired: false,
366
- requiredParams: [],
367
- },
368
- {
369
- gateway: 'query',
370
- domain: 'orchestrate',
371
- operation: 'bootstrap',
372
- description: 'orchestrate.bootstrap (query)',
373
- tier: 1,
374
- idempotent: true,
375
- sessionRequired: false,
376
- requiredParams: [],
377
- },
378
- {
379
- gateway: 'query',
380
- domain: 'orchestrate',
381
- operation: 'unblock.opportunities',
382
- description: 'orchestrate.unblock.opportunities (query)',
383
- tier: 1,
384
- idempotent: true,
385
- sessionRequired: false,
386
- requiredParams: [],
387
- },
388
- // orchestrate.critical.path removed — merged into analyze via mode param (T5615)
389
- // ---------------------------------------------------------------------------
390
- // memory — brain.db cognitive memory (T5241 cutover)
391
- // ---------------------------------------------------------------------------
392
- // memory.show removed — use memory.fetch with single-element ids array (T5615)
393
- {
394
- gateway: 'query',
395
- domain: 'memory',
396
- operation: 'find',
397
- description: 'memory.find (query) — cross-table brain.db FTS5 search',
398
- tier: 0,
399
- idempotent: true,
400
- sessionRequired: false,
401
- requiredParams: ['query'],
402
- },
403
- {
404
- gateway: 'query',
405
- domain: 'memory',
406
- operation: 'timeline',
407
- description: 'memory.timeline (query) — chronological context around anchor',
408
- tier: 1,
409
- idempotent: true,
410
- sessionRequired: false,
411
- requiredParams: ['anchor'],
412
- },
413
- {
414
- gateway: 'query',
415
- domain: 'memory',
416
- operation: 'fetch',
417
- description: 'memory.fetch (query) — batch fetch brain entries by IDs',
418
- tier: 1,
419
- idempotent: true,
420
- sessionRequired: false,
421
- requiredParams: ['ids'],
422
- },
423
- // memory.stats, memory.contradictions, memory.superseded removed — dashboard-only (T5615)
424
- {
425
- gateway: 'query',
426
- domain: 'memory',
427
- operation: 'decision.find',
428
- description: 'memory.decision.find (query) — search decisions in brain.db',
429
- tier: 1,
430
- idempotent: true,
431
- sessionRequired: false,
432
- requiredParams: [],
433
- },
434
- {
435
- gateway: 'query',
436
- domain: 'memory',
437
- operation: 'pattern.find',
438
- description: 'memory.pattern.find (query) — search BRAIN pattern memory by type, impact, or keyword',
439
- tier: 1,
440
- idempotent: true,
441
- sessionRequired: false,
442
- requiredParams: [],
443
- },
444
- // memory.pattern.stats removed — dashboard-only (T5615)
445
- {
446
- gateway: 'query',
447
- domain: 'memory',
448
- operation: 'learning.find',
449
- description: 'memory.learning.find (query) — search BRAIN learning memory by confidence, actionability, or keyword',
450
- tier: 1,
451
- idempotent: true,
452
- sessionRequired: false,
453
- requiredParams: [],
454
- },
455
- // memory.learning.stats removed — dashboard-only (T5615)
456
- // memory — PageIndex graph queries (T5385)
457
- {
458
- gateway: 'query',
459
- domain: 'memory',
460
- operation: 'graph.show',
461
- description: 'memory.graph.show (query) — get a PageIndex graph node and its edges',
462
- tier: 2,
463
- idempotent: true,
464
- sessionRequired: false,
465
- requiredParams: ['nodeId'],
466
- },
467
- {
468
- gateway: 'query',
469
- domain: 'memory',
470
- operation: 'graph.neighbors',
471
- description: 'memory.graph.neighbors (query) — get neighbor nodes from the PageIndex graph',
472
- tier: 2,
473
- idempotent: true,
474
- sessionRequired: false,
475
- requiredParams: ['nodeId'],
476
- },
477
- // memory — Reasoning & hybrid search (T5388-T5393)
478
- {
479
- gateway: 'query',
480
- domain: 'memory',
481
- operation: 'reason.why',
482
- description: 'memory.reason.why (query) — causal trace through task dependency chains',
483
- tier: 2,
484
- idempotent: true,
485
- sessionRequired: false,
486
- requiredParams: ['taskId'],
487
- },
488
- {
489
- gateway: 'query',
490
- domain: 'memory',
491
- operation: 'reason.similar',
492
- description: 'memory.reason.similar (query) — find semantically similar brain entries',
493
- tier: 2,
494
- idempotent: true,
495
- sessionRequired: false,
496
- requiredParams: ['entryId'],
497
- },
498
- {
499
- gateway: 'query',
500
- domain: 'memory',
501
- operation: 'search.hybrid',
502
- description: 'memory.search.hybrid (query) — hybrid search across FTS5, vector, and graph',
503
- tier: 2,
504
- idempotent: true,
505
- sessionRequired: false,
506
- requiredParams: ['query'],
507
- },
508
- {
509
- gateway: 'query',
510
- domain: 'pipeline',
511
- operation: 'stage.validate',
512
- description: 'pipeline.stage.validate (query) — absorbs stage.prerequisites in response',
513
- tier: 1,
514
- idempotent: true,
515
- sessionRequired: false,
516
- requiredParams: [],
517
- },
518
- {
519
- gateway: 'query',
520
- domain: 'pipeline',
521
- operation: 'stage.status',
522
- description: 'pipeline.stage.status (query) — absorbs stage.gates via include param',
523
- tier: 1,
524
- idempotent: true,
525
- sessionRequired: false,
526
- requiredParams: [],
527
- },
528
- {
529
- gateway: 'query',
530
- domain: 'pipeline',
531
- operation: 'stage.history',
532
- description: 'pipeline.stage.history (query)',
533
- tier: 1,
534
- idempotent: true,
535
- sessionRequired: false,
536
- requiredParams: [],
537
- },
538
- {
539
- gateway: 'query',
540
- domain: 'pipeline',
541
- operation: 'stage.guidance',
542
- description: 'pipeline.stage.guidance (query) — stage-aware LLM prompt guidance (Phase 2). Pi extensions shell out to this on before_agent_start.',
543
- tier: 1,
544
- idempotent: true,
545
- sessionRequired: false,
546
- requiredParams: [],
547
- },
548
- // stage.gates removed — merged into stage.status via include param (T5615)
549
- // stage.prerequisites removed — always returned in stage.validate response (T5615)
550
- // T5326: Phase management operations
551
- {
552
- gateway: 'query',
553
- domain: 'pipeline',
554
- operation: 'phase.show',
555
- description: 'Show phase details by slug or current phase (query)',
556
- tier: 1,
557
- idempotent: true,
558
- sessionRequired: false,
559
- requiredParams: [],
560
- params: [
561
- {
562
- name: 'phaseId',
563
- type: 'string',
564
- required: false,
565
- description: 'Phase slug (omit for current phase)',
566
- },
567
- ],
568
- },
569
- {
570
- gateway: 'query',
571
- domain: 'pipeline',
572
- operation: 'phase.list',
573
- description: 'List all phases with status and task counts (query)',
574
- tier: 1,
575
- idempotent: true,
576
- sessionRequired: false,
577
- requiredParams: [],
578
- },
579
- // pipeline manifest query operations (T5241 — moved from memory)
580
- {
581
- gateway: 'query',
582
- domain: 'pipeline',
583
- operation: 'manifest.show',
584
- description: 'pipeline.manifest.show (query) — get manifest entry by ID',
585
- tier: 1,
586
- idempotent: true,
587
- sessionRequired: false,
588
- requiredParams: ['entryId'],
589
- },
590
- {
591
- gateway: 'query',
592
- domain: 'pipeline',
593
- operation: 'manifest.list',
594
- description: 'pipeline.manifest.list (query) — list manifest entries with filters',
595
- tier: 1,
596
- idempotent: true,
597
- sessionRequired: false,
598
- requiredParams: [],
599
- },
600
- {
601
- gateway: 'query',
602
- domain: 'pipeline',
603
- operation: 'manifest.find',
604
- description: 'pipeline.manifest.find (query) — search manifest entries by text',
605
- tier: 1,
606
- idempotent: true,
607
- sessionRequired: false,
608
- requiredParams: ['query'],
609
- },
610
- // manifest.pending removed — merged into manifest.list via filter param (T5615)
611
- {
612
- gateway: 'query',
613
- domain: 'pipeline',
614
- operation: 'manifest.stats',
615
- description: 'pipeline.manifest.stats (query) — manifest statistics',
616
- tier: 1,
617
- idempotent: true,
618
- sessionRequired: false,
619
- requiredParams: [],
620
- },
621
- // T5405: WarpChain pipeline operations
622
- {
623
- gateway: 'query',
624
- domain: 'pipeline',
625
- operation: 'chain.show',
626
- description: 'pipeline.chain.show (query) — get chain definition by ID',
627
- tier: 2,
628
- idempotent: true,
629
- sessionRequired: false,
630
- requiredParams: ['chainId'],
631
- },
632
- {
633
- gateway: 'query',
634
- domain: 'pipeline',
635
- operation: 'chain.list',
636
- description: 'pipeline.chain.list (query) — list all chain definitions',
637
- tier: 2,
638
- idempotent: true,
639
- sessionRequired: false,
640
- requiredParams: [],
641
- },
642
- {
643
- gateway: 'query',
644
- domain: 'check',
645
- operation: 'schema',
646
- description: 'check.schema (query)',
647
- tier: 1,
648
- idempotent: true,
649
- sessionRequired: false,
650
- requiredParams: [],
651
- },
652
- {
653
- gateway: 'query',
654
- domain: 'check',
655
- operation: 'protocol',
656
- description: 'check.protocol (query) — absorbs all protocol.* ops via protocolType param',
657
- tier: 1,
658
- idempotent: true,
659
- sessionRequired: false,
660
- requiredParams: [],
661
- },
662
- {
663
- gateway: 'query',
664
- domain: 'check',
665
- operation: 'task',
666
- description: 'check.task (query)',
667
- tier: 1,
668
- idempotent: true,
669
- sessionRequired: false,
670
- requiredParams: [],
671
- },
672
- {
673
- gateway: 'query',
674
- domain: 'check',
675
- operation: 'manifest',
676
- description: 'check.manifest (query)',
677
- tier: 1,
678
- idempotent: true,
679
- sessionRequired: false,
680
- requiredParams: [],
681
- },
682
- {
683
- gateway: 'query',
684
- domain: 'check',
685
- operation: 'output',
686
- description: 'check.output (query)',
687
- tier: 1,
688
- idempotent: true,
689
- sessionRequired: false,
690
- requiredParams: [],
691
- },
692
- {
693
- gateway: 'query',
694
- domain: 'check',
695
- operation: 'compliance.summary',
696
- description: 'check.compliance.summary (query) — absorbs compliance.violations via detail param',
697
- tier: 1,
698
- idempotent: true,
699
- sessionRequired: false,
700
- requiredParams: [],
701
- },
702
- // compliance.violations removed — merged into compliance.summary via detail param (T5615)
703
- // test.status removed — merged into test op (T5615)
704
- {
705
- gateway: 'query',
706
- domain: 'check',
707
- operation: 'test',
708
- description: 'check.test (query) — combined test status and coverage via format param',
709
- tier: 1,
710
- idempotent: true,
711
- sessionRequired: false,
712
- requiredParams: [],
713
- },
714
- {
715
- gateway: 'query',
716
- domain: 'check',
717
- operation: 'coherence',
718
- description: 'check.coherence (query) — renamed from coherence.check (T5615)',
719
- tier: 1,
720
- idempotent: true,
721
- sessionRequired: false,
722
- requiredParams: [],
723
- },
724
- // Protocol validation operations (T5327) — protocol.consensus/contribution/decomposition/implementation/specification
725
- // removed — folded into check.protocol via protocolType param (T5615)
726
- // gate.verify split into gate.status (query) + gate.set (mutate) (T5615)
727
- {
728
- gateway: 'query',
729
- domain: 'check',
730
- operation: 'gate.status',
731
- description: 'check.gate.status (query) — read-only gate state; split from gate.verify (T5615)',
732
- tier: 1,
733
- idempotent: true,
734
- sessionRequired: false,
735
- requiredParams: ['taskId'],
736
- },
737
- // check.archive.stats incoming from admin (T5615)
738
- {
739
- gateway: 'query',
740
- domain: 'check',
741
- operation: 'archive.stats',
742
- description: 'check.archive.stats (query) — archive analytics; moved from admin (T5615)',
743
- tier: 1,
744
- idempotent: true,
745
- sessionRequired: false,
746
- requiredParams: [],
747
- },
748
- // check.grade and check.grade.list incoming from admin (T5615)
749
- {
750
- gateway: 'query',
751
- domain: 'check',
752
- operation: 'grade',
753
- description: 'check.grade (query) — grade agent behavioral session; moved from admin (T5615)',
754
- tier: 2,
755
- idempotent: true,
756
- sessionRequired: false,
757
- requiredParams: ['sessionId'],
758
- },
759
- {
760
- gateway: 'query',
761
- domain: 'check',
762
- operation: 'grade.list',
763
- description: 'check.grade.list (query) — list past session grade results; moved from admin (T5615)',
764
- tier: 2,
765
- idempotent: true,
766
- sessionRequired: false,
767
- requiredParams: [],
768
- params: [
769
- {
770
- name: 'sessionId',
771
- type: 'string',
772
- required: false,
773
- description: 'Filter grades by session ID',
774
- },
775
- {
776
- name: 'limit',
777
- type: 'number',
778
- required: false,
779
- description: 'Maximum grade entries to return',
780
- },
781
- {
782
- name: 'offset',
783
- type: 'number',
784
- required: false,
785
- description: 'Skip this many grade entries before returning results',
786
- },
787
- ],
788
- },
789
- // T5405: WarpChain validation query
790
- {
791
- gateway: 'query',
792
- domain: 'check',
793
- operation: 'chain.validate',
794
- description: 'check.chain.validate (query) — validate a WarpChain definition',
795
- tier: 2,
796
- idempotent: true,
797
- sessionRequired: false,
798
- requiredParams: ['chain'],
799
- },
800
- // T065: Agent workflow compliance telemetry
801
- {
802
- gateway: 'query',
803
- domain: 'check',
804
- operation: 'workflow.compliance',
805
- description: 'check.workflow.compliance (query) — WF-001..WF-005 compliance dashboard; AC rate, session rate, gate rate',
806
- tier: 1,
807
- idempotent: true,
808
- sessionRequired: false,
809
- requiredParams: [],
810
- params: [
811
- {
812
- name: 'since',
813
- type: 'string',
814
- required: false,
815
- description: 'ISO 8601 date; only include tasks/events on or after this date',
816
- },
817
- ],
818
- },
819
- {
820
- gateway: 'query',
821
- domain: 'admin',
822
- operation: 'version',
823
- description: 'admin.version (query)',
824
- tier: 0,
825
- idempotent: true,
826
- sessionRequired: false,
827
- requiredParams: [],
828
- },
829
- {
830
- gateway: 'query',
831
- domain: 'admin',
832
- operation: 'health',
833
- description: 'admin.health (query) — absorbs doctor via mode param',
834
- tier: 0,
835
- idempotent: true,
836
- sessionRequired: false,
837
- requiredParams: [],
838
- },
839
- {
840
- gateway: 'query',
841
- domain: 'admin',
842
- operation: 'config.show',
843
- description: 'admin.config.show (query) — show config value',
844
- tier: 1,
845
- idempotent: true,
846
- sessionRequired: false,
847
- requiredParams: [],
848
- },
849
- {
850
- gateway: 'query',
851
- domain: 'admin',
852
- operation: 'config.presets',
853
- description: 'admin.config.presets (query) — list all strictness presets with descriptions and values',
854
- tier: 1,
855
- idempotent: true,
856
- sessionRequired: false,
857
- requiredParams: [],
858
- },
859
- {
860
- gateway: 'query',
861
- domain: 'admin',
862
- operation: 'stats',
863
- description: 'admin.stats (query)',
864
- tier: 1,
865
- idempotent: true,
866
- sessionRequired: false,
867
- requiredParams: [],
868
- },
869
- {
870
- gateway: 'query',
871
- domain: 'admin',
872
- operation: 'context',
873
- description: 'admin.context (query)',
874
- tier: 1,
875
- idempotent: true,
876
- sessionRequired: false,
877
- requiredParams: [],
878
- },
879
- {
880
- gateway: 'query',
881
- domain: 'admin',
882
- operation: 'runtime',
883
- description: 'admin.runtime (query)',
884
- tier: 1,
885
- idempotent: true,
886
- sessionRequired: false,
887
- requiredParams: [],
888
- },
889
- {
890
- gateway: 'query',
891
- domain: 'admin',
892
- operation: 'paths',
893
- description: 'admin.paths (query) — report all CleoOS paths (project + global hub) and scaffolding status',
894
- tier: 1,
895
- idempotent: true,
896
- sessionRequired: false,
897
- requiredParams: [],
898
- },
899
- // admin.job.status + admin.job.list merged into admin.job via action param (T5615)
900
- {
901
- gateway: 'query',
902
- domain: 'admin',
903
- operation: 'job',
904
- description: 'admin.job (query) — absorbs job.status and job.list via action param',
905
- tier: 1,
906
- idempotent: true,
907
- sessionRequired: false,
908
- requiredParams: [],
909
- params: [
910
- {
911
- name: 'action',
912
- type: 'string',
913
- required: false,
914
- description: 'Action: status (default) or list',
915
- },
916
- {
917
- name: 'status',
918
- type: 'string',
919
- required: false,
920
- description: 'Filter jobs by status (for list action)',
921
- },
922
- {
923
- name: 'limit',
924
- type: 'number',
925
- required: false,
926
- description: 'Maximum jobs to return (for list action)',
927
- },
928
- {
929
- name: 'offset',
930
- type: 'number',
931
- required: false,
932
- description: 'Skip this many jobs before returning results',
933
- },
934
- ],
935
- },
936
- {
937
- gateway: 'query',
938
- domain: 'admin',
939
- operation: 'dash',
940
- description: 'admin.dash (query)',
941
- tier: 0,
942
- idempotent: true,
943
- sessionRequired: false,
944
- requiredParams: [],
945
- },
946
- {
947
- gateway: 'query',
948
- domain: 'admin',
949
- operation: 'log',
950
- description: 'admin.log (query)',
951
- tier: 1,
952
- idempotent: true,
953
- sessionRequired: false,
954
- requiredParams: [],
955
- },
956
- {
957
- gateway: 'query',
958
- domain: 'admin',
959
- operation: 'sequence',
960
- description: 'admin.sequence (query)',
961
- tier: 1,
962
- idempotent: true,
963
- sessionRequired: false,
964
- requiredParams: [],
965
- },
966
- {
967
- gateway: 'query',
968
- domain: 'admin',
969
- operation: 'help',
970
- description: 'Get operations list and guidance filtered to specified disclosure tier',
971
- tier: 0,
972
- idempotent: true,
973
- sessionRequired: false,
974
- requiredParams: [],
975
- params: [
976
- {
977
- name: 'tier',
978
- type: 'number',
979
- required: false,
980
- description: 'Progressive disclosure tier: 0=basic (default), 1=+memory/check, 2=all operations',
981
- cli: { flag: 'tier', short: '-t' },
982
- },
983
- {
984
- name: 'verbose',
985
- type: 'boolean',
986
- required: false,
987
- description: 'Return full operation objects instead of compact domain-grouped format',
988
- cli: { flag: 'verbose' },
989
- },
990
- ],
991
- },
992
- {
993
- gateway: 'query',
994
- domain: 'tools',
995
- operation: 'issue.diagnostics',
996
- description: 'tools.issue.diagnostics (query) — CLEO install integrity check',
997
- tier: 1,
998
- idempotent: true,
999
- sessionRequired: false,
1000
- requiredParams: [],
1001
- },
1002
- // tools.issue.templates and tools.issue.validate.labels moved to ct-github-issues plugin (T5615)
1003
- {
1004
- gateway: 'query',
1005
- domain: 'tools',
1006
- operation: 'skill.list',
1007
- description: 'tools.skill.list (query)',
1008
- tier: 0,
1009
- idempotent: true,
1010
- sessionRequired: false,
1011
- requiredParams: [],
1012
- },
1013
- {
1014
- gateway: 'query',
1015
- domain: 'tools',
1016
- operation: 'skill.show',
1017
- description: 'tools.skill.show (query)',
1018
- tier: 1,
1019
- idempotent: true,
1020
- sessionRequired: false,
1021
- requiredParams: [],
1022
- },
1023
- {
1024
- gateway: 'query',
1025
- domain: 'tools',
1026
- operation: 'skill.find',
1027
- description: 'tools.skill.find (query)',
1028
- tier: 1,
1029
- idempotent: true,
1030
- sessionRequired: false,
1031
- requiredParams: [],
1032
- },
1033
- {
1034
- gateway: 'query',
1035
- domain: 'tools',
1036
- operation: 'skill.dispatch',
1037
- description: 'tools.skill.dispatch (query)',
1038
- tier: 1,
1039
- idempotent: true,
1040
- sessionRequired: false,
1041
- requiredParams: [],
1042
- },
1043
- {
1044
- gateway: 'query',
1045
- domain: 'tools',
1046
- operation: 'skill.verify',
1047
- description: 'tools.skill.verify (query)',
1048
- tier: 1,
1049
- idempotent: true,
1050
- sessionRequired: false,
1051
- requiredParams: [],
1052
- },
1053
- {
1054
- gateway: 'query',
1055
- domain: 'tools',
1056
- operation: 'skill.dependencies',
1057
- description: 'tools.skill.dependencies (query)',
1058
- tier: 1,
1059
- idempotent: true,
1060
- sessionRequired: false,
1061
- requiredParams: [],
1062
- },
1063
- {
1064
- gateway: 'query',
1065
- domain: 'tools',
1066
- operation: 'skill.spawn.providers',
1067
- description: 'List spawn-capable providers by capability (query)',
1068
- tier: 1,
1069
- idempotent: true,
1070
- sessionRequired: false,
1071
- requiredParams: [],
1072
- },
1073
- // skill.catalog.protocols/profiles/resources/info merged into skill.catalog via type param (T5615)
1074
- {
1075
- gateway: 'query',
1076
- domain: 'tools',
1077
- operation: 'skill.catalog',
1078
- description: 'tools.skill.catalog (query) — CAAMP catalog; absorbs catalog.protocols/profiles/resources/info via type param',
1079
- tier: 2,
1080
- idempotent: true,
1081
- sessionRequired: false,
1082
- requiredParams: [],
1083
- params: [
1084
- {
1085
- name: 'type',
1086
- type: 'string',
1087
- required: false,
1088
- description: 'Catalog type: protocols, profiles, resources, or info (default)',
1089
- },
1090
- ],
1091
- },
1092
- // skill.precedence.show/resolve merged into skill.precedence via action param (T5615)
1093
- {
1094
- gateway: 'query',
1095
- domain: 'tools',
1096
- operation: 'skill.precedence',
1097
- description: 'tools.skill.precedence (query) — absorbs precedence.show and precedence.resolve via action param',
1098
- tier: 1,
1099
- idempotent: true,
1100
- sessionRequired: false,
1101
- requiredParams: [],
1102
- params: [
1103
- {
1104
- name: 'action',
1105
- type: 'string',
1106
- required: false,
1107
- description: 'Action: show (default) or resolve',
1108
- },
1109
- {
1110
- name: 'providerId',
1111
- type: 'string',
1112
- required: false,
1113
- description: 'Provider ID for resolve action',
1114
- },
1115
- ],
1116
- },
1117
- {
1118
- gateway: 'query',
1119
- domain: 'tools',
1120
- operation: 'provider.list',
1121
- description: 'tools.provider.list (query)',
1122
- tier: 0,
1123
- idempotent: true,
1124
- sessionRequired: false,
1125
- requiredParams: [],
1126
- },
1127
- {
1128
- gateway: 'query',
1129
- domain: 'tools',
1130
- operation: 'provider.detect',
1131
- description: 'tools.provider.detect (query)',
1132
- tier: 0,
1133
- idempotent: true,
1134
- sessionRequired: false,
1135
- requiredParams: [],
1136
- },
1137
- {
1138
- gateway: 'query',
1139
- domain: 'tools',
1140
- operation: 'provider.inject.status',
1141
- description: 'tools.provider.inject.status (query)',
1142
- tier: 1,
1143
- idempotent: true,
1144
- sessionRequired: false,
1145
- requiredParams: [],
1146
- },
1147
- {
1148
- gateway: 'query',
1149
- domain: 'tools',
1150
- operation: 'provider.supports',
1151
- description: 'tools.provider.supports (query) - check if provider supports capability',
1152
- tier: 1,
1153
- idempotent: true,
1154
- sessionRequired: false,
1155
- requiredParams: ['providerId', 'capability'],
1156
- params: [
1157
- {
1158
- name: 'providerId',
1159
- type: 'string',
1160
- required: true,
1161
- description: 'Provider ID (e.g., claude-code)',
1162
- },
1163
- {
1164
- name: 'capability',
1165
- type: 'string',
1166
- required: true,
1167
- description: 'Capability path in dot notation (e.g., spawn.supportsSubagents)',
1168
- },
1169
- ],
1170
- },
1171
- {
1172
- gateway: 'query',
1173
- domain: 'tools',
1174
- operation: 'provider.hooks',
1175
- description: 'tools.provider.hooks (query) - list providers by hook event support',
1176
- tier: 1,
1177
- idempotent: true,
1178
- sessionRequired: false,
1179
- requiredParams: ['event'],
1180
- params: [
1181
- {
1182
- name: 'event',
1183
- type: 'string',
1184
- required: true,
1185
- description: 'Hook event to query (e.g., onSessionStart, onToolComplete)',
1186
- },
1187
- ],
1188
- },
1189
- {
1190
- gateway: 'mutate',
1191
- domain: 'tasks',
1192
- operation: 'add',
1193
- description: 'tasks.add (mutate)',
1194
- tier: 0,
1195
- idempotent: false,
1196
- sessionRequired: false,
1197
- requiredParams: ['title'],
1198
- },
1199
- {
1200
- gateway: 'mutate',
1201
- domain: 'tasks',
1202
- operation: 'update',
1203
- description: 'tasks.update (mutate)',
1204
- tier: 0,
1205
- idempotent: false,
1206
- sessionRequired: false,
1207
- requiredParams: ['taskId'],
1208
- },
1209
- {
1210
- gateway: 'mutate',
1211
- domain: 'tasks',
1212
- operation: 'complete',
1213
- description: 'tasks.complete (mutate)',
1214
- tier: 0,
1215
- idempotent: false,
1216
- sessionRequired: false,
1217
- requiredParams: ['taskId'],
1218
- },
1219
- {
1220
- gateway: 'mutate',
1221
- domain: 'tasks',
1222
- operation: 'cancel',
1223
- description: 'tasks.cancel (mutate) — cancel task (soft terminal state; reversible via tasks.restore)',
1224
- tier: 1,
1225
- idempotent: false,
1226
- sessionRequired: false,
1227
- requiredParams: ['taskId'],
1228
- },
1229
- {
1230
- gateway: 'mutate',
1231
- domain: 'tasks',
1232
- operation: 'delete',
1233
- description: 'tasks.delete (mutate)',
1234
- tier: 1,
1235
- idempotent: false,
1236
- sessionRequired: false,
1237
- requiredParams: ['taskId'],
1238
- },
1239
- {
1240
- gateway: 'mutate',
1241
- domain: 'tasks',
1242
- operation: 'archive',
1243
- description: 'tasks.archive (mutate)',
1244
- tier: 1,
1245
- idempotent: false,
1246
- sessionRequired: false,
1247
- requiredParams: [],
1248
- },
1249
- {
1250
- gateway: 'mutate',
1251
- domain: 'tasks',
1252
- operation: 'restore',
1253
- description: 'tasks.restore (mutate) — absorbs reopen and unarchive via from param',
1254
- tier: 1,
1255
- idempotent: false,
1256
- sessionRequired: false,
1257
- requiredParams: ['taskId'],
1258
- },
1259
- {
1260
- gateway: 'mutate',
1261
- domain: 'tasks',
1262
- operation: 'reparent',
1263
- description: 'tasks.reparent (mutate) — absorbs promote via newParentId:null',
1264
- tier: 1,
1265
- idempotent: false,
1266
- sessionRequired: false,
1267
- requiredParams: ['taskId'],
1268
- },
1269
- {
1270
- gateway: 'mutate',
1271
- domain: 'tasks',
1272
- operation: 'reorder',
1273
- description: 'tasks.reorder (mutate)',
1274
- tier: 1,
1275
- idempotent: false,
1276
- sessionRequired: false,
1277
- requiredParams: ['taskId', 'position'],
1278
- },
1279
- {
1280
- gateway: 'mutate',
1281
- domain: 'tasks',
1282
- operation: 'relates.add',
1283
- description: 'tasks.relates.add (mutate)',
1284
- tier: 1,
1285
- idempotent: false,
1286
- sessionRequired: false,
1287
- requiredParams: ['taskId', 'type'],
1288
- },
1289
- {
1290
- gateway: 'mutate',
1291
- domain: 'tasks',
1292
- operation: 'start',
1293
- description: 'tasks.start (mutate)',
1294
- tier: 0,
1295
- idempotent: false,
1296
- sessionRequired: false,
1297
- requiredParams: ['taskId'],
1298
- },
1299
- {
1300
- gateway: 'mutate',
1301
- domain: 'tasks',
1302
- operation: 'stop',
1303
- description: 'tasks.stop (mutate)',
1304
- tier: 0,
1305
- idempotent: false,
1306
- sessionRequired: false,
1307
- requiredParams: [],
1308
- },
1309
- // === tasks.sync sub-domain (provider-agnostic task reconciliation) ===
1310
- {
1311
- gateway: 'mutate',
1312
- domain: 'tasks',
1313
- operation: 'sync.reconcile',
1314
- description: 'tasks.sync.reconcile (mutate) — reconcile external tasks with CLEO as SSoT',
1315
- tier: 1,
1316
- idempotent: false,
1317
- sessionRequired: false,
1318
- requiredParams: ['providerId', 'externalTasks'],
1319
- params: [
1320
- {
1321
- name: 'providerId',
1322
- type: 'string',
1323
- required: true,
1324
- description: 'Provider identifier (e.g. linear, jira, github)',
1325
- },
1326
- {
1327
- name: 'externalTasks',
1328
- type: 'array',
1329
- required: true,
1330
- description: 'Array of normalized ExternalTask objects',
1331
- },
1332
- {
1333
- name: 'dryRun',
1334
- type: 'boolean',
1335
- required: false,
1336
- description: 'Compute actions without applying them',
1337
- },
1338
- {
1339
- name: 'conflictPolicy',
1340
- type: 'string',
1341
- required: false,
1342
- description: 'Conflict resolution: cleo-wins, provider-wins, latest-wins, report-only',
1343
- },
1344
- {
1345
- name: 'defaultPhase',
1346
- type: 'string',
1347
- required: false,
1348
- description: 'Default phase for newly created tasks',
1349
- },
1350
- {
1351
- name: 'defaultLabels',
1352
- type: 'array',
1353
- required: false,
1354
- description: 'Default labels for newly created tasks',
1355
- },
1356
- ],
1357
- },
1358
- {
1359
- gateway: 'query',
1360
- domain: 'tasks',
1361
- operation: 'sync.links',
1362
- description: 'tasks.sync.links (query) — list external task links by provider or task ID',
1363
- tier: 1,
1364
- idempotent: true,
1365
- sessionRequired: false,
1366
- requiredParams: [],
1367
- params: [
1368
- {
1369
- name: 'providerId',
1370
- type: 'string',
1371
- required: false,
1372
- description: 'Filter links by provider',
1373
- },
1374
- {
1375
- name: 'taskId',
1376
- type: 'string',
1377
- required: false,
1378
- description: 'Filter links by CLEO task ID',
1379
- },
1380
- ],
1381
- },
1382
- {
1383
- gateway: 'mutate',
1384
- domain: 'tasks',
1385
- operation: 'sync.links.remove',
1386
- description: 'tasks.sync.links.remove (mutate) — remove all external task links for a provider',
1387
- tier: 1,
1388
- idempotent: true,
1389
- sessionRequired: false,
1390
- requiredParams: ['providerId'],
1391
- params: [
1392
- {
1393
- name: 'providerId',
1394
- type: 'string',
1395
- required: true,
1396
- description: 'Provider whose links should be removed',
1397
- },
1398
- ],
1399
- },
1400
- {
1401
- gateway: 'mutate',
1402
- domain: 'tasks',
1403
- operation: 'claim',
1404
- description: 'tasks.claim (mutate) — claim a task by assigning it to the current session',
1405
- tier: 0,
1406
- idempotent: false,
1407
- sessionRequired: true,
1408
- requiredParams: ['id'],
1409
- params: [
1410
- {
1411
- name: 'id',
1412
- type: 'string',
1413
- required: true,
1414
- description: 'Task ID to claim',
1415
- },
1416
- ],
1417
- },
1418
- {
1419
- gateway: 'mutate',
1420
- domain: 'tasks',
1421
- operation: 'unclaim',
1422
- description: 'tasks.unclaim (mutate) — unclaim a task by removing the current assignee',
1423
- tier: 0,
1424
- idempotent: false,
1425
- sessionRequired: true,
1426
- requiredParams: ['id'],
1427
- params: [
1428
- {
1429
- name: 'id',
1430
- type: 'string',
1431
- required: true,
1432
- description: 'Task ID to unclaim',
1433
- },
1434
- ],
1435
- },
1436
- {
1437
- gateway: 'mutate',
1438
- domain: 'session',
1439
- operation: 'start',
1440
- description: 'session.start (mutate)',
1441
- tier: 0,
1442
- idempotent: false,
1443
- sessionRequired: false,
1444
- requiredParams: [],
1445
- },
1446
- {
1447
- gateway: 'mutate',
1448
- domain: 'session',
1449
- operation: 'end',
1450
- description: 'session.end (mutate)',
1451
- tier: 0,
1452
- idempotent: false,
1453
- sessionRequired: false,
1454
- requiredParams: [],
1455
- },
1456
- {
1457
- gateway: 'mutate',
1458
- domain: 'session',
1459
- operation: 'resume',
1460
- description: 'session.resume (mutate)',
1461
- tier: 1,
1462
- idempotent: false,
1463
- sessionRequired: false,
1464
- requiredParams: [],
1465
- },
1466
- {
1467
- gateway: 'mutate',
1468
- domain: 'session',
1469
- operation: 'suspend',
1470
- description: 'session.suspend (mutate)',
1471
- tier: 1,
1472
- idempotent: false,
1473
- sessionRequired: false,
1474
- requiredParams: [],
1475
- },
1476
- {
1477
- gateway: 'mutate',
1478
- domain: 'session',
1479
- operation: 'gc',
1480
- description: 'session.gc (mutate)',
1481
- tier: 1,
1482
- idempotent: false,
1483
- sessionRequired: false,
1484
- requiredParams: [],
1485
- },
1486
- {
1487
- gateway: 'mutate',
1488
- domain: 'session',
1489
- operation: 'record.decision',
1490
- description: 'session.record.decision (mutate)',
1491
- tier: 1,
1492
- idempotent: false,
1493
- sessionRequired: false,
1494
- requiredParams: [],
1495
- },
1496
- {
1497
- gateway: 'mutate',
1498
- domain: 'session',
1499
- operation: 'record.assumption',
1500
- description: 'session.record.assumption (mutate)',
1501
- tier: 1,
1502
- idempotent: false,
1503
- sessionRequired: false,
1504
- requiredParams: [],
1505
- },
1506
- // session.context.inject moved to admin.context.inject (T5615)
1507
- {
1508
- gateway: 'mutate',
1509
- domain: 'orchestrate',
1510
- operation: 'start',
1511
- description: 'orchestrate.start (mutate)',
1512
- tier: 1,
1513
- idempotent: false,
1514
- sessionRequired: false,
1515
- requiredParams: [],
1516
- },
1517
- {
1518
- gateway: 'mutate',
1519
- domain: 'orchestrate',
1520
- operation: 'spawn',
1521
- description: 'orchestrate.spawn (mutate)',
1522
- tier: 1,
1523
- idempotent: false,
1524
- sessionRequired: false,
1525
- requiredParams: [],
1526
- },
1527
- {
1528
- gateway: 'mutate',
1529
- domain: 'orchestrate',
1530
- operation: 'handoff',
1531
- description: 'orchestrate.handoff (mutate) — composite handoff (context.inject -> session.end -> spawn)',
1532
- tier: 1,
1533
- idempotent: false,
1534
- sessionRequired: false,
1535
- requiredParams: ['taskId', 'protocolType'],
1536
- params: [
1537
- {
1538
- name: 'taskId',
1539
- type: 'string',
1540
- required: true,
1541
- description: 'Successor task ID for spawn context',
1542
- },
1543
- {
1544
- name: 'protocolType',
1545
- type: 'string',
1546
- required: true,
1547
- description: 'Protocol name for handoff context injection',
1548
- },
1549
- {
1550
- name: 'note',
1551
- type: 'string',
1552
- required: false,
1553
- description: 'Optional handoff note persisted through session.end',
1554
- },
1555
- {
1556
- name: 'nextAction',
1557
- type: 'string',
1558
- required: false,
1559
- description: 'Optional next action metadata for the handoff payload',
1560
- },
1561
- {
1562
- name: 'variant',
1563
- type: 'string',
1564
- required: false,
1565
- description: 'Optional context injection variant',
1566
- },
1567
- {
1568
- name: 'tier',
1569
- type: 'number',
1570
- required: false,
1571
- description: 'Progressive disclosure tier (0-2)',
1572
- },
1573
- {
1574
- name: 'idempotencyKey',
1575
- type: 'string',
1576
- required: false,
1577
- description: 'Caller-provided retry correlation key (reported in metadata)',
1578
- },
1579
- ],
1580
- },
1581
- {
1582
- gateway: 'mutate',
1583
- domain: 'orchestrate',
1584
- operation: 'spawn.execute',
1585
- description: 'orchestrate.spawn.execute (mutate) — execute spawn for a task using adapter registry',
1586
- tier: 1,
1587
- idempotent: false,
1588
- sessionRequired: false,
1589
- requiredParams: ['taskId'],
1590
- params: [
1591
- { name: 'taskId', type: 'string', required: true, description: 'Task ID to spawn' },
1592
- {
1593
- name: 'adapterId',
1594
- type: 'string',
1595
- required: false,
1596
- description: 'Adapter ID (auto-select if omitted)',
1597
- },
1598
- {
1599
- name: 'protocolType',
1600
- type: 'string',
1601
- required: false,
1602
- description: 'Protocol type override',
1603
- },
1604
- {
1605
- name: 'tier',
1606
- type: 'number',
1607
- required: false,
1608
- description: 'Progressive disclosure tier (0-2)',
1609
- },
1610
- ],
1611
- },
1612
- {
1613
- gateway: 'mutate',
1614
- domain: 'orchestrate',
1615
- operation: 'validate',
1616
- description: 'orchestrate.validate (mutate)',
1617
- tier: 1,
1618
- idempotent: false,
1619
- sessionRequired: false,
1620
- requiredParams: [],
1621
- },
1622
- // parallel.start and parallel.end merged into orchestrate.parallel via action param (T5615)
1623
- {
1624
- gateway: 'mutate',
1625
- domain: 'orchestrate',
1626
- operation: 'parallel',
1627
- description: 'orchestrate.parallel (mutate) — absorbs parallel.start and parallel.end via action param',
1628
- tier: 1,
1629
- idempotent: false,
1630
- sessionRequired: false,
1631
- requiredParams: ['action'],
1632
- params: [
1633
- { name: 'action', type: 'string', required: true, description: 'Action: start or end' },
1634
- ],
1635
- },
1636
- // memory mutate — brain.db cognitive memory (T5241 cutover)
1637
- {
1638
- gateway: 'mutate',
1639
- domain: 'memory',
1640
- operation: 'observe',
1641
- description: 'memory.observe (mutate) — save observation to brain.db',
1642
- tier: 0,
1643
- idempotent: false,
1644
- sessionRequired: false,
1645
- requiredParams: ['text'],
1646
- },
1647
- {
1648
- gateway: 'mutate',
1649
- domain: 'memory',
1650
- operation: 'decision.store',
1651
- description: 'memory.decision.store (mutate) — store decision to brain.db',
1652
- tier: 1,
1653
- idempotent: false,
1654
- sessionRequired: false,
1655
- requiredParams: ['decision', 'rationale'],
1656
- },
1657
- {
1658
- gateway: 'mutate',
1659
- domain: 'memory',
1660
- operation: 'pattern.store',
1661
- description: 'memory.pattern.store (mutate) — store a reusable workflow or anti-pattern in BRAIN pattern memory',
1662
- tier: 1,
1663
- idempotent: false,
1664
- sessionRequired: false,
1665
- requiredParams: ['pattern', 'context'],
1666
- },
1667
- {
1668
- gateway: 'mutate',
1669
- domain: 'memory',
1670
- operation: 'learning.store',
1671
- description: 'memory.learning.store (mutate) — store an insight or lesson learned in BRAIN learning memory',
1672
- tier: 1,
1673
- idempotent: false,
1674
- sessionRequired: false,
1675
- requiredParams: ['insight', 'source'],
1676
- },
1677
- {
1678
- gateway: 'mutate',
1679
- domain: 'memory',
1680
- operation: 'link',
1681
- description: 'memory.link (mutate) — link brain entry to task',
1682
- tier: 1,
1683
- idempotent: false,
1684
- sessionRequired: false,
1685
- requiredParams: ['taskId', 'entryId'],
1686
- },
1687
- // memory.unlink removed — rarely needed; direct repair if needed (T5615)
1688
- // memory — PageIndex graph mutations (T5385)
1689
- {
1690
- gateway: 'mutate',
1691
- domain: 'memory',
1692
- operation: 'graph.add',
1693
- description: 'memory.graph.add (mutate) — add a node or edge to the PageIndex graph',
1694
- tier: 2,
1695
- idempotent: false,
1696
- sessionRequired: false,
1697
- requiredParams: [],
1698
- },
1699
- {
1700
- gateway: 'mutate',
1701
- domain: 'memory',
1702
- operation: 'graph.remove',
1703
- description: 'memory.graph.remove (mutate) — remove a node or edge from the PageIndex graph',
1704
- tier: 2,
1705
- idempotent: false,
1706
- sessionRequired: false,
1707
- requiredParams: [],
1708
- },
1709
- {
1710
- gateway: 'mutate',
1711
- domain: 'pipeline',
1712
- operation: 'stage.record',
1713
- description: 'pipeline.stage.record (mutate)',
1714
- tier: 1,
1715
- idempotent: false,
1716
- sessionRequired: false,
1717
- requiredParams: [],
1718
- },
1719
- {
1720
- gateway: 'mutate',
1721
- domain: 'pipeline',
1722
- operation: 'stage.skip',
1723
- description: 'pipeline.stage.skip (mutate)',
1724
- tier: 1,
1725
- idempotent: false,
1726
- sessionRequired: false,
1727
- requiredParams: [],
1728
- },
1729
- {
1730
- gateway: 'mutate',
1731
- domain: 'pipeline',
1732
- operation: 'stage.reset',
1733
- description: 'pipeline.stage.reset (mutate)',
1734
- tier: 1,
1735
- idempotent: false,
1736
- sessionRequired: false,
1737
- requiredParams: [],
1738
- },
1739
- {
1740
- gateway: 'mutate',
1741
- domain: 'pipeline',
1742
- operation: 'stage.gate.pass',
1743
- description: 'pipeline.stage.gate.pass (mutate)',
1744
- tier: 1,
1745
- idempotent: false,
1746
- sessionRequired: false,
1747
- requiredParams: [],
1748
- },
1749
- {
1750
- gateway: 'mutate',
1751
- domain: 'pipeline',
1752
- operation: 'stage.gate.fail',
1753
- description: 'pipeline.stage.gate.fail (mutate)',
1754
- tier: 1,
1755
- idempotent: false,
1756
- sessionRequired: false,
1757
- requiredParams: [],
1758
- },
1759
- // pipeline manifest mutate operations (T5241 — moved from memory)
1760
- {
1761
- gateway: 'mutate',
1762
- domain: 'pipeline',
1763
- operation: 'manifest.append',
1764
- description: 'pipeline.manifest.append (mutate) — append entry to MANIFEST.jsonl',
1765
- tier: 1,
1766
- idempotent: false,
1767
- sessionRequired: false,
1768
- requiredParams: ['entry'],
1769
- },
1770
- {
1771
- gateway: 'mutate',
1772
- domain: 'pipeline',
1773
- operation: 'manifest.archive',
1774
- description: 'pipeline.manifest.archive (mutate) — archive old manifest entries',
1775
- tier: 1,
1776
- idempotent: false,
1777
- sessionRequired: false,
1778
- requiredParams: ['beforeDate'],
1779
- },
1780
- // T5326: Phase mutation operations
1781
- {
1782
- gateway: 'mutate',
1783
- domain: 'pipeline',
1784
- operation: 'phase.set',
1785
- description: 'Set the active phase',
1786
- tier: 1,
1787
- idempotent: false,
1788
- sessionRequired: false,
1789
- requiredParams: ['phaseId'],
1790
- params: [
1791
- {
1792
- name: 'phaseId',
1793
- type: 'string',
1794
- required: true,
1795
- description: 'Phase slug to set as current',
1796
- },
1797
- {
1798
- name: 'rollback',
1799
- type: 'boolean',
1800
- required: false,
1801
- description: 'Allow backward phase movement',
1802
- },
1803
- { name: 'force', type: 'boolean', required: false, description: 'Skip confirmation prompt' },
1804
- {
1805
- name: 'dryRun',
1806
- type: 'boolean',
1807
- required: false,
1808
- description: 'Preview changes without modifying files',
1809
- },
1810
- ],
1811
- },
1812
- // phase.start and phase.complete removed — merged into phase.set via action param (T5615)
1813
- {
1814
- gateway: 'mutate',
1815
- domain: 'pipeline',
1816
- operation: 'phase.advance',
1817
- description: 'Complete current phase and start next',
1818
- tier: 1,
1819
- idempotent: false,
1820
- sessionRequired: false,
1821
- requiredParams: [],
1822
- params: [
1823
- {
1824
- name: 'force',
1825
- type: 'boolean',
1826
- required: false,
1827
- description: 'Skip validation and interactive prompt',
1828
- },
1829
- ],
1830
- },
1831
- {
1832
- gateway: 'mutate',
1833
- domain: 'pipeline',
1834
- operation: 'phase.rename',
1835
- description: 'Rename a phase and update all task references',
1836
- tier: 1,
1837
- idempotent: false,
1838
- sessionRequired: false,
1839
- requiredParams: ['oldName', 'newName'],
1840
- },
1841
- {
1842
- gateway: 'mutate',
1843
- domain: 'pipeline',
1844
- operation: 'phase.delete',
1845
- description: 'Delete a phase with task reassignment protection',
1846
- tier: 1,
1847
- idempotent: false,
1848
- sessionRequired: false,
1849
- requiredParams: ['phaseId'],
1850
- params: [
1851
- { name: 'phaseId', type: 'string', required: true, description: 'Phase slug to delete' },
1852
- {
1853
- name: 'reassignTo',
1854
- type: 'string',
1855
- required: false,
1856
- description: 'Reassign tasks to another phase',
1857
- },
1858
- { name: 'force', type: 'boolean', required: false, description: 'Required safety flag' },
1859
- ],
1860
- },
1861
- // T5405: WarpChain pipeline mutate operations
1862
- {
1863
- gateway: 'mutate',
1864
- domain: 'pipeline',
1865
- operation: 'chain.add',
1866
- description: 'pipeline.chain.add (mutate) — store a validated chain definition',
1867
- tier: 2,
1868
- idempotent: false,
1869
- sessionRequired: false,
1870
- requiredParams: ['chain'],
1871
- },
1872
- {
1873
- gateway: 'mutate',
1874
- domain: 'pipeline',
1875
- operation: 'chain.instantiate',
1876
- description: 'pipeline.chain.instantiate (mutate) — create chain instance for epic',
1877
- tier: 2,
1878
- idempotent: false,
1879
- sessionRequired: false,
1880
- requiredParams: ['chainId', 'epicId'],
1881
- },
1882
- {
1883
- gateway: 'mutate',
1884
- domain: 'pipeline',
1885
- operation: 'chain.advance',
1886
- description: 'pipeline.chain.advance (mutate) — advance instance to next stage',
1887
- tier: 2,
1888
- idempotent: false,
1889
- sessionRequired: false,
1890
- requiredParams: ['instanceId', 'nextStage'],
1891
- },
1892
- {
1893
- gateway: 'mutate',
1894
- domain: 'check',
1895
- operation: 'compliance.record',
1896
- description: 'check.compliance.record (mutate)',
1897
- tier: 1,
1898
- idempotent: false,
1899
- sessionRequired: false,
1900
- requiredParams: [],
1901
- },
1902
- {
1903
- gateway: 'mutate',
1904
- domain: 'check',
1905
- operation: 'test.run',
1906
- description: 'check.test.run (mutate)',
1907
- tier: 1,
1908
- idempotent: false,
1909
- sessionRequired: false,
1910
- requiredParams: [],
1911
- },
1912
- {
1913
- gateway: 'mutate',
1914
- domain: 'check',
1915
- operation: 'compliance.sync',
1916
- description: 'check.compliance.sync (mutate) — sync project compliance metrics to global',
1917
- tier: 1,
1918
- idempotent: false,
1919
- sessionRequired: false,
1920
- requiredParams: [],
1921
- },
1922
- {
1923
- gateway: 'mutate',
1924
- domain: 'check',
1925
- operation: 'gate.set',
1926
- description: 'check.gate.set (mutate) — write path of former gate.verify; set/reset gates (T5615)',
1927
- tier: 1,
1928
- idempotent: false,
1929
- sessionRequired: false,
1930
- requiredParams: [],
1931
- },
1932
- {
1933
- gateway: 'query',
1934
- domain: 'pipeline',
1935
- operation: 'release.list',
1936
- description: 'List all releases from release_manifests table',
1937
- tier: 1,
1938
- idempotent: true,
1939
- sessionRequired: false,
1940
- requiredParams: [],
1941
- },
1942
- {
1943
- gateway: 'query',
1944
- domain: 'pipeline',
1945
- operation: 'release.show',
1946
- description: 'Show details for a specific release version',
1947
- tier: 1,
1948
- idempotent: true,
1949
- sessionRequired: false,
1950
- requiredParams: ['version'],
1951
- },
1952
- {
1953
- gateway: 'query',
1954
- domain: 'pipeline',
1955
- operation: 'release.channel.show',
1956
- description: 'Show the current release channel based on git branch (latest/beta/alpha)',
1957
- tier: 1,
1958
- idempotent: true,
1959
- sessionRequired: false,
1960
- requiredParams: [],
1961
- },
1962
- // release.prepare/changelog/commit/tag/push/gates.run removed — merged into release.ship via step param (T5615)
1963
- {
1964
- gateway: 'mutate',
1965
- domain: 'pipeline',
1966
- operation: 'release.cancel',
1967
- description: 'pipeline.release.cancel (mutate)',
1968
- tier: 1,
1969
- idempotent: false,
1970
- sessionRequired: false,
1971
- requiredParams: ['version'],
1972
- },
1973
- {
1974
- gateway: 'mutate',
1975
- domain: 'pipeline',
1976
- operation: 'release.rollback',
1977
- description: 'pipeline.release.rollback (mutate)',
1978
- tier: 1,
1979
- idempotent: false,
1980
- sessionRequired: false,
1981
- requiredParams: [],
1982
- },
1983
- {
1984
- gateway: 'mutate',
1985
- domain: 'pipeline',
1986
- operation: 'release.ship',
1987
- description: 'Ship a release: validate gates → write CHANGELOG → git commit/tag/push → record provenance; absorbs prepare/changelog/commit/tag/push/gates.run via step param',
1988
- tier: 1,
1989
- idempotent: false,
1990
- sessionRequired: false,
1991
- requiredParams: ['version', 'epicId'],
1992
- },
1993
- {
1994
- gateway: 'mutate',
1995
- domain: 'admin',
1996
- operation: 'init',
1997
- description: 'admin.init (mutate)',
1998
- tier: 1,
1999
- idempotent: false,
2000
- sessionRequired: false,
2001
- requiredParams: [],
2002
- },
2003
- {
2004
- gateway: 'mutate',
2005
- domain: 'admin',
2006
- operation: 'scaffold-hub',
2007
- description: 'admin.scaffold-hub (mutate) — create CleoOS Hub dirs (global-recipes, pi-extensions, cant-workflows, agents) and seed starter justfile',
2008
- tier: 1,
2009
- idempotent: true,
2010
- sessionRequired: false,
2011
- requiredParams: [],
2012
- },
2013
- {
2014
- gateway: 'mutate',
2015
- domain: 'admin',
2016
- operation: 'config.set',
2017
- description: 'admin.config.set (mutate)',
2018
- tier: 1,
2019
- idempotent: false,
2020
- sessionRequired: false,
2021
- requiredParams: [],
2022
- },
2023
- {
2024
- gateway: 'mutate',
2025
- domain: 'admin',
2026
- operation: 'config.set-preset',
2027
- description: 'admin.config.set-preset (mutate) — apply a strictness preset (strict, standard, minimal)',
2028
- tier: 1,
2029
- idempotent: true,
2030
- sessionRequired: false,
2031
- requiredParams: ['preset'],
2032
- params: [
2033
- {
2034
- name: 'preset',
2035
- type: 'string',
2036
- required: true,
2037
- description: 'Preset name: strict | standard | minimal',
2038
- },
2039
- ],
2040
- },
2041
- {
2042
- gateway: 'query',
2043
- domain: 'admin',
2044
- operation: 'backup',
2045
- description: 'admin.backup (query) — list available backups (read-only)',
2046
- tier: 1,
2047
- idempotent: true,
2048
- sessionRequired: false,
2049
- requiredParams: [],
2050
- },
2051
- {
2052
- gateway: 'mutate',
2053
- domain: 'admin',
2054
- operation: 'backup',
2055
- description: 'admin.backup (mutate) — absorbs restore and backup.restore via action param',
2056
- tier: 1,
2057
- idempotent: false,
2058
- sessionRequired: false,
2059
- requiredParams: [],
2060
- },
2061
- // admin.restore and admin.backup.restore removed — merged into admin.backup via action param (T5615)
2062
- {
2063
- gateway: 'mutate',
2064
- domain: 'admin',
2065
- operation: 'migrate',
2066
- description: 'admin.migrate (mutate)',
2067
- tier: 1,
2068
- idempotent: false,
2069
- sessionRequired: false,
2070
- requiredParams: [],
2071
- },
2072
- {
2073
- gateway: 'mutate',
2074
- domain: 'admin',
2075
- operation: 'cleanup',
2076
- description: 'admin.cleanup (mutate)',
2077
- tier: 1,
2078
- idempotent: false,
2079
- sessionRequired: false,
2080
- requiredParams: [],
2081
- },
2082
- {
2083
- gateway: 'mutate',
2084
- domain: 'admin',
2085
- operation: 'job.cancel',
2086
- description: 'admin.job.cancel (mutate)',
2087
- tier: 1,
2088
- idempotent: false,
2089
- sessionRequired: false,
2090
- requiredParams: [],
2091
- },
2092
- {
2093
- gateway: 'mutate',
2094
- domain: 'admin',
2095
- operation: 'safestop',
2096
- description: 'admin.safestop (mutate)',
2097
- tier: 1,
2098
- idempotent: false,
2099
- sessionRequired: false,
2100
- requiredParams: [],
2101
- },
2102
- {
2103
- gateway: 'mutate',
2104
- domain: 'admin',
2105
- operation: 'inject.generate',
2106
- description: 'admin.inject.generate (mutate)',
2107
- tier: 1,
2108
- idempotent: false,
2109
- sessionRequired: false,
2110
- requiredParams: [],
2111
- },
2112
- // admin.sequence (mutate) removed — duplicate name; expose via config.set if needed (T5615)
2113
- // tools.issue.add.bug/feature/help moved to ct-github-issues plugin (T5615)
2114
- // tools.issue.generate.config removed — stub with no runtime need (T5615)
2115
- {
2116
- gateway: 'mutate',
2117
- domain: 'tools',
2118
- operation: 'skill.install',
2119
- description: 'tools.skill.install (mutate)',
2120
- tier: 1,
2121
- idempotent: false,
2122
- sessionRequired: false,
2123
- requiredParams: [],
2124
- },
2125
- {
2126
- gateway: 'mutate',
2127
- domain: 'tools',
2128
- operation: 'skill.uninstall',
2129
- description: 'tools.skill.uninstall (mutate)',
2130
- tier: 1,
2131
- idempotent: false,
2132
- sessionRequired: false,
2133
- requiredParams: [],
2134
- },
2135
- // skill.enable/disable removed — aliases for install/uninstall (T5615)
2136
- // skill.configure removed — stub with no real behavior (T5615)
2137
- {
2138
- gateway: 'mutate',
2139
- domain: 'tools',
2140
- operation: 'skill.refresh',
2141
- description: 'tools.skill.refresh (mutate)',
2142
- tier: 1,
2143
- idempotent: false,
2144
- sessionRequired: false,
2145
- requiredParams: [],
2146
- },
2147
- {
2148
- gateway: 'mutate',
2149
- domain: 'tools',
2150
- operation: 'provider.inject',
2151
- description: 'tools.provider.inject (mutate)',
2152
- tier: 1,
2153
- idempotent: false,
2154
- sessionRequired: false,
2155
- requiredParams: [],
2156
- },
2157
- // === adapter sub-domain (T5240) ===
2158
- {
2159
- gateway: 'query',
2160
- domain: 'tools',
2161
- operation: 'adapter.list',
2162
- description: 'tools.adapter.list (query) — list all discovered provider adapters',
2163
- tier: 2,
2164
- idempotent: true,
2165
- sessionRequired: false,
2166
- requiredParams: [],
2167
- },
2168
- {
2169
- gateway: 'query',
2170
- domain: 'tools',
2171
- operation: 'adapter.show',
2172
- description: 'tools.adapter.show (query) — show details for a specific adapter',
2173
- tier: 2,
2174
- idempotent: true,
2175
- sessionRequired: false,
2176
- requiredParams: ['id'],
2177
- params: [{ name: 'id', type: 'string', required: true, description: 'Adapter ID' }],
2178
- },
2179
- {
2180
- gateway: 'query',
2181
- domain: 'tools',
2182
- operation: 'adapter.detect',
2183
- description: 'tools.adapter.detect (query) — detect active providers in current environment',
2184
- tier: 2,
2185
- idempotent: true,
2186
- sessionRequired: false,
2187
- requiredParams: [],
2188
- },
2189
- {
2190
- gateway: 'query',
2191
- domain: 'tools',
2192
- operation: 'adapter.health',
2193
- description: 'tools.adapter.health (query) — health status for adapters',
2194
- tier: 2,
2195
- idempotent: true,
2196
- sessionRequired: false,
2197
- requiredParams: [],
2198
- params: [
2199
- {
2200
- name: 'id',
2201
- type: 'string',
2202
- required: false,
2203
- description: 'Specific adapter ID (omit for all)',
2204
- },
2205
- ],
2206
- },
2207
- {
2208
- gateway: 'mutate',
2209
- domain: 'tools',
2210
- operation: 'adapter.activate',
2211
- description: 'tools.adapter.activate (mutate) — load and activate a provider adapter',
2212
- tier: 2,
2213
- idempotent: false,
2214
- sessionRequired: false,
2215
- requiredParams: ['id'],
2216
- params: [{ name: 'id', type: 'string', required: true, description: 'Adapter ID to activate' }],
2217
- },
2218
- {
2219
- gateway: 'mutate',
2220
- domain: 'tools',
2221
- operation: 'adapter.dispose',
2222
- description: 'tools.adapter.dispose (mutate) — dispose one or all adapters',
2223
- tier: 2,
2224
- idempotent: true,
2225
- sessionRequired: false,
2226
- requiredParams: [],
2227
- params: [
2228
- {
2229
- name: 'id',
2230
- type: 'string',
2231
- required: false,
2232
- description: 'Adapter ID (omit to dispose all)',
2233
- },
2234
- ],
2235
- },
2236
- // T4916: Global install refresh
2237
- {
2238
- gateway: 'mutate',
2239
- domain: 'admin',
2240
- operation: 'install.global',
2241
- description: 'Refresh global CLEO setup: provider files, configs, ~/.agents/AGENTS.md',
2242
- tier: 2,
2243
- idempotent: true,
2244
- sessionRequired: false,
2245
- requiredParams: [],
2246
- },
2247
- // admin.grade/grade.list/archive.stats moved to check domain (T5615)
2248
- // admin.token.summary/list/show merged into admin.token (query) (T5615)
2249
- {
2250
- gateway: 'query',
2251
- domain: 'admin',
2252
- operation: 'token',
2253
- description: 'admin.token (query) — summarize/list/show token telemetry; absorbs token.summary, token.list, token.show via action param',
2254
- tier: 2,
2255
- idempotent: true,
2256
- sessionRequired: false,
2257
- requiredParams: [],
2258
- params: [
2259
- {
2260
- name: 'action',
2261
- type: 'string',
2262
- required: false,
2263
- description: 'Action: summary (default), list, or show',
2264
- },
2265
- { name: 'tokenId', type: 'string', required: false, description: 'Token ID for show action' },
2266
- { name: 'provider', type: 'string', required: false, description: 'Filter by provider' },
2267
- { name: 'transport', type: 'string', required: false, description: 'Filter by transport' },
2268
- { name: 'domain', type: 'string', required: false, description: 'Filter by domain' },
2269
- {
2270
- name: 'operationName',
2271
- type: 'string',
2272
- required: false,
2273
- description: 'Filter by operation name',
2274
- },
2275
- { name: 'sessionId', type: 'string', required: false, description: 'Filter by session ID' },
2276
- { name: 'taskId', type: 'string', required: false, description: 'Filter by task ID' },
2277
- { name: 'limit', type: 'number', required: false, description: 'Maximum records to return' },
2278
- {
2279
- name: 'offset',
2280
- type: 'number',
2281
- required: false,
2282
- description: 'Skip this many records before returning results',
2283
- },
2284
- ],
2285
- },
2286
- // admin.token.record/delete/clear merged into admin.token (mutate) (T5615)
2287
- {
2288
- gateway: 'mutate',
2289
- domain: 'admin',
2290
- operation: 'token',
2291
- description: 'admin.token (mutate) — record/delete/clear token telemetry; absorbs token.record, token.delete, token.clear via action param',
2292
- tier: 2,
2293
- idempotent: false,
2294
- sessionRequired: false,
2295
- requiredParams: [],
2296
- params: [
2297
- {
2298
- name: 'action',
2299
- type: 'string',
2300
- required: false,
2301
- description: 'Action: record (default), delete, or clear',
2302
- },
2303
- {
2304
- name: 'tokenId',
2305
- type: 'string',
2306
- required: false,
2307
- description: 'Token ID for delete action',
2308
- },
2309
- ],
2310
- },
2311
- // ADR operations (ADR-017 §2, Tier 2 — admin domain)
2312
- // admin.adr.list merged into adr.find (absent query = list all) (T5615)
2313
- {
2314
- gateway: 'query',
2315
- domain: 'admin',
2316
- operation: 'adr.show',
2317
- description: 'admin.adr.show (query) — retrieve single ADR by ID with frontmatter',
2318
- tier: 2,
2319
- idempotent: true,
2320
- sessionRequired: false,
2321
- requiredParams: ['adrId'],
2322
- },
2323
- {
2324
- gateway: 'mutate',
2325
- domain: 'admin',
2326
- operation: 'adr.sync',
2327
- description: 'admin.adr.sync (mutate) — sync .cleo/adrs/ markdown files into architecture_decisions DB table; absorbs adr.validate via validate flag',
2328
- tier: 2,
2329
- idempotent: true,
2330
- sessionRequired: false,
2331
- requiredParams: [],
2332
- },
2333
- // admin.adr.validate removed — merged into adr.sync via validate flag (T5615)
2334
- {
2335
- gateway: 'query',
2336
- domain: 'admin',
2337
- operation: 'adr.find',
2338
- description: 'admin.adr.find (query) — fuzzy search ADRs; absorbs adr.list when query absent',
2339
- tier: 1,
2340
- idempotent: true,
2341
- sessionRequired: false,
2342
- requiredParams: [],
2343
- params: [
2344
- {
2345
- name: 'query',
2346
- type: 'string',
2347
- required: false,
2348
- description: 'Search query (omit to list all ADRs)',
2349
- },
2350
- { name: 'status', type: 'string', required: false, description: 'Filter ADRs by status' },
2351
- {
2352
- name: 'since',
2353
- type: 'string',
2354
- required: false,
2355
- description: 'Filter ADRs created on or after this date',
2356
- },
2357
- { name: 'limit', type: 'number', required: false, description: 'Maximum ADRs to return' },
2358
- {
2359
- name: 'offset',
2360
- type: 'number',
2361
- required: false,
2362
- description: 'Skip this many ADRs before returning results',
2363
- },
2364
- ],
2365
- },
2366
- // admin.doctor removed — merged into admin.health via mode:"diagnose" param (T5615)
2367
- // admin.fix removed — merged into admin.health (mutate) via mode:"repair" param (T5615)
2368
- {
2369
- gateway: 'mutate',
2370
- domain: 'admin',
2371
- operation: 'health',
2372
- description: 'admin.health (mutate) — auto-fix failed health/doctor checks; mode:"repair" form of admin.health query (T5615)',
2373
- tier: 1,
2374
- idempotent: false,
2375
- sessionRequired: false,
2376
- requiredParams: [],
2377
- },
2378
- // admin.context.inject moved from session.context.inject (T5615)
2379
- {
2380
- gateway: 'mutate',
2381
- domain: 'admin',
2382
- operation: 'context.inject',
2383
- description: 'admin.context.inject (mutate) — inject protocol content into session context; moved from session domain (T5615)',
2384
- tier: 1,
2385
- idempotent: true,
2386
- sessionRequired: false,
2387
- requiredParams: ['protocolType'],
2388
- },
2389
- // admin.snapshot.export/export.tasks merged into admin.export via scope param (T5615)
2390
- {
2391
- gateway: 'query',
2392
- domain: 'admin',
2393
- operation: 'export',
2394
- description: 'admin.export (query) — export tasks; absorbs snapshot.export and export.tasks via scope param',
2395
- tier: 2,
2396
- idempotent: true,
2397
- sessionRequired: false,
2398
- requiredParams: [],
2399
- },
2400
- // admin.snapshot.import/import.tasks merged into admin.import via scope param (T5615)
2401
- {
2402
- gateway: 'mutate',
2403
- domain: 'admin',
2404
- operation: 'import',
2405
- description: 'admin.import (mutate) — import tasks; absorbs snapshot.import and import.tasks via scope param',
2406
- tier: 2,
2407
- idempotent: false,
2408
- sessionRequired: false,
2409
- requiredParams: ['file'],
2410
- },
2411
- {
2412
- gateway: 'mutate',
2413
- domain: 'admin',
2414
- operation: 'detect',
2415
- description: 'Refresh project-context.json — re-detect project type, framework, and LLM hints',
2416
- tier: 1,
2417
- idempotent: true,
2418
- sessionRequired: false,
2419
- requiredParams: [],
2420
- },
2421
- {
2422
- gateway: 'query',
2423
- domain: 'admin',
2424
- operation: 'smoke',
2425
- description: 'admin.smoke (query) — operational smoke test: one read-only query per domain',
2426
- tier: 0,
2427
- idempotent: true,
2428
- sessionRequired: false,
2429
- requiredParams: [],
2430
- },
2431
- {
2432
- gateway: 'query',
2433
- domain: 'admin',
2434
- operation: 'hooks.matrix',
2435
- description: 'admin.hooks.matrix (query) — cross-provider hook support matrix using CAAMP canonical taxonomy',
2436
- tier: 1,
2437
- idempotent: true,
2438
- sessionRequired: false,
2439
- requiredParams: [],
2440
- params: [
2441
- {
2442
- name: 'providerIds',
2443
- type: 'string',
2444
- required: false,
2445
- description: 'Limit matrix to specific provider IDs (default: all mapped providers)',
2446
- },
2447
- {
2448
- name: 'detectProvider',
2449
- type: 'boolean',
2450
- required: false,
2451
- description: 'Detect current runtime provider (default: true)',
2452
- },
2453
- ],
2454
- },
2455
- {
2456
- gateway: 'query',
2457
- domain: 'admin',
2458
- operation: 'map',
2459
- description: 'admin.map (query) — analyze codebase structure, return structured mapping',
2460
- tier: 1,
2461
- idempotent: true,
2462
- sessionRequired: false,
2463
- requiredParams: [],
2464
- params: [
2465
- {
2466
- name: 'focus',
2467
- type: 'string',
2468
- required: false,
2469
- description: 'Focus analysis on one area: stack, architecture, structure, conventions, testing, integrations, concerns',
2470
- },
2471
- ],
2472
- },
2473
- {
2474
- gateway: 'mutate',
2475
- domain: 'admin',
2476
- operation: 'map',
2477
- description: 'admin.map (mutate) — analyze codebase and store findings to brain.db',
2478
- tier: 1,
2479
- idempotent: true,
2480
- sessionRequired: false,
2481
- requiredParams: [],
2482
- params: [
2483
- {
2484
- name: 'focus',
2485
- type: 'string',
2486
- required: false,
2487
- description: 'Focus analysis on one area: stack, architecture, structure, conventions, testing, integrations, concerns',
2488
- },
2489
- ],
2490
- },
2491
- // ---------------------------------------------------------------------------
2492
- // nexus.share — multi-contributor operations
2493
- // ---------------------------------------------------------------------------
2494
- {
2495
- gateway: 'query',
2496
- domain: 'nexus',
2497
- operation: 'share.status',
2498
- description: 'nexus.share.status (query) — sharing status',
2499
- tier: 2,
2500
- idempotent: true,
2501
- sessionRequired: false,
2502
- requiredParams: [],
2503
- },
2504
- // nexus.share.remotes removed — git CLI wrapper (T5615)
2505
- // nexus.share.sync.status removed — git CLI wrapper (T5615)
2506
- {
2507
- gateway: 'mutate',
2508
- domain: 'nexus',
2509
- operation: 'share.snapshot.export',
2510
- description: 'nexus.share.snapshot.export (mutate) — export project snapshot',
2511
- tier: 2,
2512
- idempotent: false,
2513
- sessionRequired: false,
2514
- requiredParams: [],
2515
- },
2516
- {
2517
- gateway: 'mutate',
2518
- domain: 'nexus',
2519
- operation: 'share.snapshot.import',
2520
- description: 'nexus.share.snapshot.import (mutate) — import project snapshot',
2521
- tier: 2,
2522
- idempotent: false,
2523
- sessionRequired: false,
2524
- requiredParams: [],
2525
- },
2526
- // nexus.share.sync.gitignore/remote.add/remote.remove/share.push/share.pull removed — git wrappers (T5615)
2527
- // ---------------------------------------------------------------------------
2528
- // nexus — Cross-project coordination (BRAIN Network)
2529
- // ---------------------------------------------------------------------------
2530
- // Query operations
2531
- {
2532
- gateway: 'query',
2533
- domain: 'nexus',
2534
- operation: 'status',
2535
- description: 'nexus.status (query) — overall NEXUS health status',
2536
- tier: 1,
2537
- idempotent: true,
2538
- sessionRequired: false,
2539
- requiredParams: [],
2540
- },
2541
- {
2542
- gateway: 'query',
2543
- domain: 'nexus',
2544
- operation: 'list',
2545
- description: 'nexus.list (query) — list all registered NEXUS projects',
2546
- tier: 1,
2547
- idempotent: true,
2548
- sessionRequired: false,
2549
- requiredParams: [],
2550
- },
2551
- {
2552
- gateway: 'query',
2553
- domain: 'nexus',
2554
- operation: 'show',
2555
- description: 'nexus.show (query) — show a specific project by name or hash',
2556
- tier: 2,
2557
- idempotent: true,
2558
- sessionRequired: false,
2559
- requiredParams: ['name'],
2560
- },
2561
- // nexus.query renamed to nexus.resolve — 'query' violates VERB-STANDARDS (T5615)
2562
- {
2563
- gateway: 'query',
2564
- domain: 'nexus',
2565
- operation: 'resolve',
2566
- description: 'nexus.resolve (query) — resolve a cross-project project:taskId reference; renamed from nexus.query (T5615)',
2567
- tier: 2,
2568
- idempotent: true,
2569
- sessionRequired: false,
2570
- requiredParams: ['query'],
2571
- },
2572
- {
2573
- gateway: 'query',
2574
- domain: 'nexus',
2575
- operation: 'deps',
2576
- description: 'nexus.deps (query) — cross-project dependency analysis',
2577
- tier: 2,
2578
- idempotent: true,
2579
- sessionRequired: false,
2580
- requiredParams: ['query'],
2581
- },
2582
- {
2583
- gateway: 'query',
2584
- domain: 'nexus',
2585
- operation: 'graph',
2586
- description: 'nexus.graph (query) — global dependency graph across all projects',
2587
- tier: 2,
2588
- idempotent: true,
2589
- sessionRequired: false,
2590
- requiredParams: [],
2591
- },
2592
- {
2593
- gateway: 'query',
2594
- domain: 'nexus',
2595
- operation: 'path.show',
2596
- description: 'nexus.path.show (query) — show critical dependency path across projects',
2597
- tier: 2,
2598
- idempotent: true,
2599
- sessionRequired: false,
2600
- requiredParams: [],
2601
- },
2602
- {
2603
- gateway: 'query',
2604
- domain: 'nexus',
2605
- operation: 'blockers.show',
2606
- description: 'nexus.blockers.show (query) — show blocking impact for a task query',
2607
- tier: 2,
2608
- idempotent: true,
2609
- sessionRequired: false,
2610
- requiredParams: ['query'],
2611
- },
2612
- {
2613
- gateway: 'query',
2614
- domain: 'nexus',
2615
- operation: 'orphans.list',
2616
- description: 'nexus.orphans.list (query) — list orphaned cross-project dependencies',
2617
- tier: 2,
2618
- idempotent: true,
2619
- sessionRequired: false,
2620
- requiredParams: [],
2621
- },
2622
- // nexus.critical-path/blocking/orphans removed — aliases for path.show/blockers.show/orphans.list (T5615)
2623
- {
2624
- gateway: 'query',
2625
- domain: 'nexus',
2626
- operation: 'discover',
2627
- description: 'nexus.discover (query) — discover related tasks across registered projects',
2628
- tier: 2,
2629
- idempotent: true,
2630
- sessionRequired: false,
2631
- requiredParams: ['query'],
2632
- },
2633
- {
2634
- gateway: 'query',
2635
- domain: 'nexus',
2636
- operation: 'search',
2637
- description: 'nexus.search (query) — search for patterns across registered projects',
2638
- tier: 2,
2639
- idempotent: true,
2640
- sessionRequired: false,
2641
- requiredParams: ['pattern'],
2642
- },
2643
- // Mutate operations
2644
- {
2645
- gateway: 'mutate',
2646
- domain: 'nexus',
2647
- operation: 'init',
2648
- description: 'nexus.init (mutate) — initialize NEXUS (creates registry and directories)',
2649
- tier: 2,
2650
- idempotent: true,
2651
- sessionRequired: false,
2652
- requiredParams: [],
2653
- },
2654
- {
2655
- gateway: 'mutate',
2656
- domain: 'nexus',
2657
- operation: 'register',
2658
- description: 'nexus.register (mutate) — register a project in NEXUS',
2659
- tier: 2,
2660
- idempotent: false,
2661
- sessionRequired: false,
2662
- requiredParams: ['path'],
2663
- },
2664
- {
2665
- gateway: 'mutate',
2666
- domain: 'nexus',
2667
- operation: 'unregister',
2668
- description: 'nexus.unregister (mutate) — remove a project from NEXUS',
2669
- tier: 2,
2670
- idempotent: false,
2671
- sessionRequired: false,
2672
- requiredParams: ['name'],
2673
- },
2674
- // nexus.sync.all merged into nexus.sync via optional name param (T5615)
2675
- {
2676
- gateway: 'mutate',
2677
- domain: 'nexus',
2678
- operation: 'sync',
2679
- description: 'nexus.sync (mutate) — sync project(s) metadata; absorbs sync.all when name omitted',
2680
- tier: 2,
2681
- idempotent: true,
2682
- sessionRequired: false,
2683
- requiredParams: [],
2684
- params: [
2685
- {
2686
- name: 'name',
2687
- type: 'string',
2688
- required: false,
2689
- description: 'Project name to sync (omit to sync all)',
2690
- },
2691
- ],
2692
- },
2693
- {
2694
- gateway: 'mutate',
2695
- domain: 'nexus',
2696
- operation: 'permission.set',
2697
- description: 'nexus.permission.set (mutate) — update project permissions',
2698
- tier: 2,
2699
- idempotent: true,
2700
- sessionRequired: false,
2701
- requiredParams: ['name', 'level'],
2702
- },
2703
- {
2704
- gateway: 'mutate',
2705
- domain: 'nexus',
2706
- operation: 'reconcile',
2707
- description: 'nexus.reconcile (mutate) — reconcile project identity with global nexus registry',
2708
- tier: 2,
2709
- idempotent: true,
2710
- sessionRequired: false,
2711
- requiredParams: [],
2712
- },
2713
- // ---------------------------------------------------------------------------
2714
- // nexus.transfer — Cross-project task transfer (T046)
2715
- // ---------------------------------------------------------------------------
2716
- {
2717
- gateway: 'query',
2718
- domain: 'nexus',
2719
- operation: 'transfer.preview',
2720
- description: 'nexus.transfer.preview (query) — preview a cross-project task transfer',
2721
- tier: 2,
2722
- idempotent: true,
2723
- sessionRequired: false,
2724
- requiredParams: ['taskIds', 'sourceProject', 'targetProject'],
2725
- params: [
2726
- { name: 'taskIds', type: 'array', required: true, description: 'Task IDs to transfer' },
2727
- {
2728
- name: 'sourceProject',
2729
- type: 'string',
2730
- required: true,
2731
- description: 'Source project name or hash',
2732
- },
2733
- {
2734
- name: 'targetProject',
2735
- type: 'string',
2736
- required: true,
2737
- description: 'Target project name or hash',
2738
- },
2739
- {
2740
- name: 'mode',
2741
- type: 'string',
2742
- required: false,
2743
- description: "Transfer mode: 'copy' (default) or 'move'",
2744
- },
2745
- {
2746
- name: 'scope',
2747
- type: 'string',
2748
- required: false,
2749
- description: "Transfer scope: 'subtree' (default) or 'single'",
2750
- },
2751
- ],
2752
- },
2753
- {
2754
- gateway: 'mutate',
2755
- domain: 'nexus',
2756
- operation: 'transfer',
2757
- description: 'nexus.transfer (mutate) — transfer tasks between NEXUS projects',
2758
- tier: 2,
2759
- idempotent: false,
2760
- sessionRequired: false,
2761
- requiredParams: ['taskIds', 'sourceProject', 'targetProject'],
2762
- params: [
2763
- { name: 'taskIds', type: 'array', required: true, description: 'Task IDs to transfer' },
2764
- {
2765
- name: 'sourceProject',
2766
- type: 'string',
2767
- required: true,
2768
- description: 'Source project name or hash',
2769
- },
2770
- {
2771
- name: 'targetProject',
2772
- type: 'string',
2773
- required: true,
2774
- description: 'Target project name or hash',
2775
- },
2776
- {
2777
- name: 'mode',
2778
- type: 'string',
2779
- required: false,
2780
- description: "Transfer mode: 'copy' (default) or 'move'",
2781
- },
2782
- {
2783
- name: 'scope',
2784
- type: 'string',
2785
- required: false,
2786
- description: "Transfer scope: 'subtree' (default) or 'single'",
2787
- },
2788
- {
2789
- name: 'onConflict',
2790
- type: 'string',
2791
- required: false,
2792
- description: "Conflict strategy: 'rename' (default), 'skip', 'duplicate', 'fail'",
2793
- },
2794
- {
2795
- name: 'transferBrain',
2796
- type: 'boolean',
2797
- required: false,
2798
- description: 'Whether to transfer brain observations (default: false)',
2799
- },
2800
- ],
2801
- },
2802
- // ---------------------------------------------------------------------------
2803
- // sticky — Ephemeral notes for quick capture (T5282)
2804
- // ---------------------------------------------------------------------------
2805
- // Query operations
2806
- {
2807
- gateway: 'query',
2808
- domain: 'sticky',
2809
- operation: 'list',
2810
- description: 'sticky.list (query) — list sticky notes',
2811
- tier: 1,
2812
- idempotent: true,
2813
- sessionRequired: false,
2814
- requiredParams: [],
2815
- },
2816
- {
2817
- gateway: 'query',
2818
- domain: 'sticky',
2819
- operation: 'show',
2820
- description: 'sticky.show (query) — show a specific sticky note',
2821
- tier: 1,
2822
- idempotent: true,
2823
- sessionRequired: false,
2824
- requiredParams: ['stickyId'],
2825
- },
2826
- // Mutate operations
2827
- {
2828
- gateway: 'mutate',
2829
- domain: 'sticky',
2830
- operation: 'add',
2831
- description: 'sticky.add (mutate) — create a new sticky note',
2832
- tier: 1,
2833
- idempotent: false,
2834
- sessionRequired: false,
2835
- requiredParams: ['content'],
2836
- },
2837
- {
2838
- gateway: 'mutate',
2839
- domain: 'sticky',
2840
- operation: 'convert',
2841
- description: 'sticky.convert (mutate) — convert sticky to task, memory, task_note, or session_note',
2842
- tier: 1,
2843
- idempotent: false,
2844
- sessionRequired: false,
2845
- requiredParams: ['stickyId', 'targetType'],
2846
- params: [
2847
- { name: 'stickyId', type: 'string', required: true, description: 'ID of the sticky note' },
2848
- {
2849
- name: 'targetType',
2850
- type: 'string',
2851
- required: true,
2852
- description: 'Target type: task, memory, task_note, or session_note',
2853
- },
2854
- {
2855
- name: 'title',
2856
- type: 'string',
2857
- required: false,
2858
- description: 'Optional task title (for task conversion)',
2859
- },
2860
- {
2861
- name: 'memoryType',
2862
- type: 'string',
2863
- required: false,
2864
- description: 'Optional memory type (for memory conversion)',
2865
- },
2866
- {
2867
- name: 'taskId',
2868
- type: 'string',
2869
- required: false,
2870
- description: 'Target task ID (required for task_note conversion)',
2871
- },
2872
- {
2873
- name: 'sessionId',
2874
- type: 'string',
2875
- required: false,
2876
- description: 'Target session ID (optional for session_note conversion, defaults to active session)',
2877
- },
2878
- ],
2879
- },
2880
- {
2881
- gateway: 'mutate',
2882
- domain: 'sticky',
2883
- operation: 'archive',
2884
- description: 'sticky.archive (mutate) — archive sticky notes',
2885
- tier: 1,
2886
- idempotent: true,
2887
- sessionRequired: false,
2888
- requiredParams: ['stickyId'],
2889
- },
2890
- {
2891
- gateway: 'mutate',
2892
- domain: 'sticky',
2893
- operation: 'purge',
2894
- description: 'sticky.purge (mutate) — permanently delete sticky notes',
2895
- tier: 1,
2896
- idempotent: true,
2897
- sessionRequired: false,
2898
- requiredParams: ['stickyId'],
2899
- },
2900
- // orchestrate — tessera template operations (T5411)
2901
- // tessera.show removed — merged into tessera.list via optional id param (T5615)
2902
- {
2903
- gateway: 'query',
2904
- domain: 'orchestrate',
2905
- operation: 'tessera.list',
2906
- description: 'orchestrate.tessera.list (query) — list Tessera templates; absorbs tessera.show via optional id param',
2907
- tier: 1,
2908
- idempotent: true,
2909
- sessionRequired: false,
2910
- requiredParams: [],
2911
- params: [
2912
- {
2913
- name: 'id',
2914
- type: 'string',
2915
- required: false,
2916
- description: 'Optional template ID for single-item lookup (replaces tessera.show)',
2917
- },
2918
- ],
2919
- },
2920
- {
2921
- gateway: 'mutate',
2922
- domain: 'orchestrate',
2923
- operation: 'tessera.instantiate',
2924
- description: 'orchestrate.tessera.instantiate (mutate) — instantiate a Tessera template into a chain instance',
2925
- tier: 1,
2926
- idempotent: false,
2927
- sessionRequired: false,
2928
- requiredParams: ['templateId', 'epicId'],
2929
- },
2930
- // conduit — agent messaging operations (replaces standalone clawmsgr scripts)
2931
- {
2932
- gateway: 'query',
2933
- domain: 'conduit',
2934
- operation: 'status',
2935
- description: 'conduit.status (query) — check agent connection status and unread count',
2936
- tier: 2,
2937
- idempotent: true,
2938
- sessionRequired: false,
2939
- requiredParams: [],
2940
- params: [
2941
- {
2942
- name: 'agentId',
2943
- type: 'string',
2944
- required: false,
2945
- description: 'Agent ID to check (defaults to active agent)',
2946
- },
2947
- ],
2948
- },
2949
- {
2950
- gateway: 'query',
2951
- domain: 'conduit',
2952
- operation: 'peek',
2953
- description: 'conduit.peek (query) — one-shot poll for new messages without acking',
2954
- tier: 2,
2955
- idempotent: true,
2956
- sessionRequired: false,
2957
- requiredParams: [],
2958
- params: [
2959
- {
2960
- name: 'agentId',
2961
- type: 'string',
2962
- required: false,
2963
- description: 'Agent ID to poll as (defaults to active agent)',
2964
- },
2965
- {
2966
- name: 'limit',
2967
- type: 'number',
2968
- required: false,
2969
- description: 'Max messages to fetch (default: 20)',
2970
- },
2971
- ],
2972
- },
2973
- {
2974
- gateway: 'mutate',
2975
- domain: 'conduit',
2976
- operation: 'start',
2977
- description: 'conduit.start (mutate) — start continuous message polling for the active agent',
2978
- tier: 2,
2979
- idempotent: true,
2980
- sessionRequired: false,
2981
- requiredParams: [],
2982
- params: [
2983
- {
2984
- name: 'agentId',
2985
- type: 'string',
2986
- required: false,
2987
- description: 'Agent ID to poll as (defaults to active agent)',
2988
- },
2989
- {
2990
- name: 'pollIntervalMs',
2991
- type: 'number',
2992
- required: false,
2993
- description: 'Poll interval in milliseconds (default: 5000)',
2994
- },
2995
- {
2996
- name: 'groupConversationIds',
2997
- type: 'array',
2998
- required: false,
2999
- description: 'Group conversation IDs to monitor for @mentions',
3000
- },
3001
- ],
3002
- },
3003
- {
3004
- gateway: 'mutate',
3005
- domain: 'conduit',
3006
- operation: 'stop',
3007
- description: 'conduit.stop (mutate) — stop the active polling loop',
3008
- tier: 2,
3009
- idempotent: true,
3010
- sessionRequired: false,
3011
- requiredParams: [],
3012
- },
3013
- {
3014
- gateway: 'mutate',
3015
- domain: 'conduit',
3016
- operation: 'send',
3017
- description: 'conduit.send (mutate) — send a message to an agent or conversation',
3018
- tier: 2,
3019
- idempotent: false,
3020
- sessionRequired: false,
3021
- requiredParams: ['content'],
3022
- params: [
3023
- {
3024
- name: 'to',
3025
- type: 'string',
3026
- required: false,
3027
- description: 'Target agent ID (required if no conversationId)',
3028
- },
3029
- {
3030
- name: 'conversationId',
3031
- type: 'string',
3032
- required: false,
3033
- description: 'Target conversation ID (required if no to)',
3034
- },
3035
- {
3036
- name: 'content',
3037
- type: 'string',
3038
- required: true,
3039
- description: 'Message content to send',
3040
- },
3041
- {
3042
- name: 'agentId',
3043
- type: 'string',
3044
- required: false,
3045
- description: 'Send as this agent (defaults to active agent)',
3046
- },
3047
- ],
3048
- },
3049
- ];
3050
- // ---------------------------------------------------------------------------
3051
- // Gateway Matrix Derivation
3052
- // ---------------------------------------------------------------------------
3053
- /**
3054
- * Derive a gateway operation matrix from the registry.
3055
- *
3056
- * Returns `Record<string, string[]>` containing:
3057
- * - All canonical domains with their operations
3058
- *
3059
- * This is the SINGLE derivation point — gateways use this instead of
3060
- * maintaining independent operation lists.
3061
- */
3062
- export function deriveGatewayMatrix(gateway) {
3063
- const matrix = {};
3064
- for (const op of OPERATIONS) {
3065
- if (op.gateway !== gateway)
3066
- continue;
3067
- if (!matrix[op.domain])
3068
- matrix[op.domain] = [];
3069
- matrix[op.domain].push(op.operation);
3070
- }
3071
- return matrix;
3072
- }
3073
- /**
3074
- * Get all accepted domain names for a gateway (canonical only).
3075
- */
3076
- export function getGatewayDomains(gateway) {
3077
- return Object.keys(deriveGatewayMatrix(gateway));
3078
- }
3079
- // ---------------------------------------------------------------------------
3080
- // Lookup & Validation
3081
- // ---------------------------------------------------------------------------
3082
- /**
3083
- * Resolves a domain + operation to its registered definition.
3084
- */
3085
- export function resolve(gateway, domain, operation) {
3086
- const def = OPERATIONS.find((o) => o.gateway === gateway && o.domain === domain && o.operation === operation);
3087
- if (!def)
3088
- return undefined;
3089
- return { domain: def.domain, operation: def.operation, def };
3090
- }
3091
- /**
3092
- * Validates that all required parameters are present in the request.
3093
- * Returns an array of missing parameter keys.
3094
- */
3095
- export function validateRequiredParams(def, params) {
3096
- if (!def.requiredParams || def.requiredParams.length === 0)
3097
- return [];
3098
- const provided = params || {};
3099
- return def.requiredParams.filter((key) => provided[key] === undefined || provided[key] === null || provided[key] === '');
3100
- }
3101
- /** Get all operations for a specific canonical domain. */
3102
- export function getByDomain(domain) {
3103
- return OPERATIONS.filter((o) => o.domain === domain);
3104
- }
3105
- /** Get all operations for a specific gateway. */
3106
- export function getByGateway(gateway) {
3107
- return OPERATIONS.filter((o) => o.gateway === gateway);
3108
- }
3109
- /** Get all operations available at or below a specific tier. */
3110
- export function getByTier(tier) {
3111
- return OPERATIONS.filter((o) => o.tier <= tier);
3112
- }
3113
- /** Get a list of canonical domains that actually have operations registered. */
3114
- export function getActiveDomains() {
3115
- const active = new Set(OPERATIONS.map((o) => o.domain));
3116
- return Array.from(active);
3117
- }
3118
- /**
3119
- * Returns summary counts of operations for module validation.
3120
- */
3121
- export function getCounts() {
3122
- return {
3123
- query: OPERATIONS.filter((o) => o.gateway === 'query').length,
3124
- mutate: OPERATIONS.filter((o) => o.gateway === 'mutate').length,
3125
- total: OPERATIONS.length,
3126
- };
3127
- }
3128
- // Module load validation (dynamic, no hardcoded operation totals)
3129
- const counts = getCounts();
3130
- if (counts.total !== OPERATIONS.length) {
3131
- console.warn(`[Registry] Operation count mismatch: total=${counts.total}, registry=${OPERATIONS.length}`);
3132
- }
3133
- //# sourceMappingURL=registry.js.map