@cleocode/cleo 2026.3.73 → 2026.3.76

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 (718) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/index.js +4928 -1914
  3. package/dist/cli/index.js.map +4 -4
  4. package/dist/mcp/index.js +4971 -2409
  5. package/dist/mcp/index.js.map +4 -4
  6. package/package.json +7 -5
  7. package/dist/cli/commander-shim.d.ts +0 -112
  8. package/dist/cli/commander-shim.d.ts.map +0 -1
  9. package/dist/cli/commander-shim.js +0 -233
  10. package/dist/cli/commander-shim.js.map +0 -1
  11. package/dist/cli/commands/add.d.ts +0 -12
  12. package/dist/cli/commands/add.d.ts.map +0 -1
  13. package/dist/cli/commands/add.js +0 -94
  14. package/dist/cli/commands/add.js.map +0 -1
  15. package/dist/cli/commands/adr.d.ts +0 -27
  16. package/dist/cli/commands/adr.d.ts.map +0 -1
  17. package/dist/cli/commands/adr.js +0 -79
  18. package/dist/cli/commands/adr.js.map +0 -1
  19. package/dist/cli/commands/agents.d.ts +0 -31
  20. package/dist/cli/commands/agents.d.ts.map +0 -1
  21. package/dist/cli/commands/agents.js +0 -104
  22. package/dist/cli/commands/agents.js.map +0 -1
  23. package/dist/cli/commands/analyze.d.ts +0 -12
  24. package/dist/cli/commands/analyze.d.ts.map +0 -1
  25. package/dist/cli/commands/analyze.js +0 -20
  26. package/dist/cli/commands/analyze.js.map +0 -1
  27. package/dist/cli/commands/archive-stats.d.ts +0 -18
  28. package/dist/cli/commands/archive-stats.d.ts.map +0 -1
  29. package/dist/cli/commands/archive-stats.js +0 -49
  30. package/dist/cli/commands/archive-stats.js.map +0 -1
  31. package/dist/cli/commands/archive.d.ts +0 -12
  32. package/dist/cli/commands/archive.d.ts.map +0 -1
  33. package/dist/cli/commands/archive.js +0 -32
  34. package/dist/cli/commands/archive.js.map +0 -1
  35. package/dist/cli/commands/backfill.d.ts +0 -32
  36. package/dist/cli/commands/backfill.d.ts.map +0 -1
  37. package/dist/cli/commands/backfill.js +0 -101
  38. package/dist/cli/commands/backfill.js.map +0 -1
  39. package/dist/cli/commands/backup.d.ts +0 -8
  40. package/dist/cli/commands/backup.d.ts.map +0 -1
  41. package/dist/cli/commands/backup.js +0 -35
  42. package/dist/cli/commands/backup.js.map +0 -1
  43. package/dist/cli/commands/blockers.d.ts +0 -7
  44. package/dist/cli/commands/blockers.d.ts.map +0 -1
  45. package/dist/cli/commands/blockers.js +0 -16
  46. package/dist/cli/commands/blockers.js.map +0 -1
  47. package/dist/cli/commands/briefing.d.ts +0 -22
  48. package/dist/cli/commands/briefing.d.ts.map +0 -1
  49. package/dist/cli/commands/briefing.js +0 -45
  50. package/dist/cli/commands/briefing.js.map +0 -1
  51. package/dist/cli/commands/bug.d.ts +0 -12
  52. package/dist/cli/commands/bug.d.ts.map +0 -1
  53. package/dist/cli/commands/bug.js +0 -81
  54. package/dist/cli/commands/bug.js.map +0 -1
  55. package/dist/cli/commands/checkpoint.d.ts +0 -15
  56. package/dist/cli/commands/checkpoint.d.ts.map +0 -1
  57. package/dist/cli/commands/checkpoint.js +0 -91
  58. package/dist/cli/commands/checkpoint.js.map +0 -1
  59. package/dist/cli/commands/commands.d.ts +0 -13
  60. package/dist/cli/commands/commands.d.ts.map +0 -1
  61. package/dist/cli/commands/commands.js +0 -30
  62. package/dist/cli/commands/commands.js.map +0 -1
  63. package/dist/cli/commands/complete.d.ts +0 -12
  64. package/dist/cli/commands/complete.d.ts.map +0 -1
  65. package/dist/cli/commands/complete.js +0 -43
  66. package/dist/cli/commands/complete.js.map +0 -1
  67. package/dist/cli/commands/compliance.d.ts +0 -8
  68. package/dist/cli/commands/compliance.d.ts.map +0 -1
  69. package/dist/cli/commands/compliance.js +0 -85
  70. package/dist/cli/commands/compliance.js.map +0 -1
  71. package/dist/cli/commands/config.d.ts +0 -10
  72. package/dist/cli/commands/config.d.ts.map +0 -1
  73. package/dist/cli/commands/config.js +0 -69
  74. package/dist/cli/commands/config.js.map +0 -1
  75. package/dist/cli/commands/consensus.d.ts +0 -13
  76. package/dist/cli/commands/consensus.d.ts.map +0 -1
  77. package/dist/cli/commands/consensus.js +0 -45
  78. package/dist/cli/commands/consensus.js.map +0 -1
  79. package/dist/cli/commands/context.d.ts +0 -8
  80. package/dist/cli/commands/context.d.ts.map +0 -1
  81. package/dist/cli/commands/context.js +0 -40
  82. package/dist/cli/commands/context.js.map +0 -1
  83. package/dist/cli/commands/contribution.d.ts +0 -13
  84. package/dist/cli/commands/contribution.d.ts.map +0 -1
  85. package/dist/cli/commands/contribution.js +0 -41
  86. package/dist/cli/commands/contribution.js.map +0 -1
  87. package/dist/cli/commands/current.d.ts +0 -13
  88. package/dist/cli/commands/current.d.ts.map +0 -1
  89. package/dist/cli/commands/current.js +0 -20
  90. package/dist/cli/commands/current.js.map +0 -1
  91. package/dist/cli/commands/dash.d.ts +0 -12
  92. package/dist/cli/commands/dash.d.ts.map +0 -1
  93. package/dist/cli/commands/dash.js +0 -24
  94. package/dist/cli/commands/dash.js.map +0 -1
  95. package/dist/cli/commands/decomposition.d.ts +0 -13
  96. package/dist/cli/commands/decomposition.d.ts.map +0 -1
  97. package/dist/cli/commands/decomposition.js +0 -45
  98. package/dist/cli/commands/decomposition.js.map +0 -1
  99. package/dist/cli/commands/delete.d.ts +0 -12
  100. package/dist/cli/commands/delete.d.ts.map +0 -1
  101. package/dist/cli/commands/delete.js +0 -37
  102. package/dist/cli/commands/delete.js.map +0 -1
  103. package/dist/cli/commands/deps.d.ts +0 -24
  104. package/dist/cli/commands/deps.d.ts.map +0 -1
  105. package/dist/cli/commands/deps.js +0 -98
  106. package/dist/cli/commands/deps.js.map +0 -1
  107. package/dist/cli/commands/detect-drift.d.ts +0 -15
  108. package/dist/cli/commands/detect-drift.d.ts.map +0 -1
  109. package/dist/cli/commands/detect-drift.js +0 -429
  110. package/dist/cli/commands/detect-drift.js.map +0 -1
  111. package/dist/cli/commands/detect.d.ts +0 -10
  112. package/dist/cli/commands/detect.d.ts.map +0 -1
  113. package/dist/cli/commands/detect.js +0 -24
  114. package/dist/cli/commands/detect.js.map +0 -1
  115. package/dist/cli/commands/docs.d.ts +0 -13
  116. package/dist/cli/commands/docs.d.ts.map +0 -1
  117. package/dist/cli/commands/docs.js +0 -169
  118. package/dist/cli/commands/docs.js.map +0 -1
  119. package/dist/cli/commands/doctor.d.ts +0 -13
  120. package/dist/cli/commands/doctor.d.ts.map +0 -1
  121. package/dist/cli/commands/doctor.js +0 -64
  122. package/dist/cli/commands/doctor.js.map +0 -1
  123. package/dist/cli/commands/dynamic.d.ts +0 -24
  124. package/dist/cli/commands/dynamic.d.ts.map +0 -1
  125. package/dist/cli/commands/dynamic.js +0 -27
  126. package/dist/cli/commands/dynamic.js.map +0 -1
  127. package/dist/cli/commands/env.d.ts +0 -12
  128. package/dist/cli/commands/env.d.ts.map +0 -1
  129. package/dist/cli/commands/env.js +0 -44
  130. package/dist/cli/commands/env.js.map +0 -1
  131. package/dist/cli/commands/exists.d.ts +0 -22
  132. package/dist/cli/commands/exists.d.ts.map +0 -1
  133. package/dist/cli/commands/exists.js +0 -51
  134. package/dist/cli/commands/exists.js.map +0 -1
  135. package/dist/cli/commands/export-tasks.d.ts +0 -10
  136. package/dist/cli/commands/export-tasks.d.ts.map +0 -1
  137. package/dist/cli/commands/export-tasks.js +0 -47
  138. package/dist/cli/commands/export-tasks.js.map +0 -1
  139. package/dist/cli/commands/export.d.ts +0 -9
  140. package/dist/cli/commands/export.d.ts.map +0 -1
  141. package/dist/cli/commands/export.js +0 -46
  142. package/dist/cli/commands/export.js.map +0 -1
  143. package/dist/cli/commands/find.d.ts +0 -14
  144. package/dist/cli/commands/find.d.ts.map +0 -1
  145. package/dist/cli/commands/find.js +0 -70
  146. package/dist/cli/commands/find.js.map +0 -1
  147. package/dist/cli/commands/generate-changelog.d.ts +0 -14
  148. package/dist/cli/commands/generate-changelog.d.ts.map +0 -1
  149. package/dist/cli/commands/generate-changelog.js +0 -252
  150. package/dist/cli/commands/generate-changelog.js.map +0 -1
  151. package/dist/cli/commands/grade.d.ts +0 -13
  152. package/dist/cli/commands/grade.d.ts.map +0 -1
  153. package/dist/cli/commands/grade.js +0 -26
  154. package/dist/cli/commands/grade.js.map +0 -1
  155. package/dist/cli/commands/history.d.ts +0 -9
  156. package/dist/cli/commands/history.d.ts.map +0 -1
  157. package/dist/cli/commands/history.js +0 -30
  158. package/dist/cli/commands/history.js.map +0 -1
  159. package/dist/cli/commands/implementation.d.ts +0 -13
  160. package/dist/cli/commands/implementation.d.ts.map +0 -1
  161. package/dist/cli/commands/implementation.js +0 -41
  162. package/dist/cli/commands/implementation.js.map +0 -1
  163. package/dist/cli/commands/import-tasks.d.ts +0 -10
  164. package/dist/cli/commands/import-tasks.d.ts.map +0 -1
  165. package/dist/cli/commands/import-tasks.js +0 -38
  166. package/dist/cli/commands/import-tasks.js.map +0 -1
  167. package/dist/cli/commands/import.d.ts +0 -9
  168. package/dist/cli/commands/import.d.ts.map +0 -1
  169. package/dist/cli/commands/import.js +0 -28
  170. package/dist/cli/commands/import.js.map +0 -1
  171. package/dist/cli/commands/init.d.ts +0 -34
  172. package/dist/cli/commands/init.d.ts.map +0 -1
  173. package/dist/cli/commands/init.js +0 -89
  174. package/dist/cli/commands/init.js.map +0 -1
  175. package/dist/cli/commands/inject.d.ts +0 -8
  176. package/dist/cli/commands/inject.d.ts.map +0 -1
  177. package/dist/cli/commands/inject.js +0 -28
  178. package/dist/cli/commands/inject.js.map +0 -1
  179. package/dist/cli/commands/install-global.d.ts +0 -19
  180. package/dist/cli/commands/install-global.d.ts.map +0 -1
  181. package/dist/cli/commands/install-global.js +0 -50
  182. package/dist/cli/commands/install-global.js.map +0 -1
  183. package/dist/cli/commands/issue.d.ts +0 -17
  184. package/dist/cli/commands/issue.d.ts.map +0 -1
  185. package/dist/cli/commands/issue.js +0 -107
  186. package/dist/cli/commands/issue.js.map +0 -1
  187. package/dist/cli/commands/labels.d.ts +0 -13
  188. package/dist/cli/commands/labels.d.ts.map +0 -1
  189. package/dist/cli/commands/labels.js +0 -44
  190. package/dist/cli/commands/labels.js.map +0 -1
  191. package/dist/cli/commands/lifecycle.d.ts +0 -8
  192. package/dist/cli/commands/lifecycle.d.ts.map +0 -1
  193. package/dist/cli/commands/lifecycle.js +0 -72
  194. package/dist/cli/commands/lifecycle.js.map +0 -1
  195. package/dist/cli/commands/list.d.ts +0 -14
  196. package/dist/cli/commands/list.d.ts.map +0 -1
  197. package/dist/cli/commands/list.js +0 -71
  198. package/dist/cli/commands/list.js.map +0 -1
  199. package/dist/cli/commands/log.d.ts +0 -12
  200. package/dist/cli/commands/log.d.ts.map +0 -1
  201. package/dist/cli/commands/log.js +0 -30
  202. package/dist/cli/commands/log.js.map +0 -1
  203. package/dist/cli/commands/map.d.ts +0 -10
  204. package/dist/cli/commands/map.d.ts.map +0 -1
  205. package/dist/cli/commands/map.js +0 -23
  206. package/dist/cli/commands/map.js.map +0 -1
  207. package/dist/cli/commands/mcp-install.d.ts +0 -17
  208. package/dist/cli/commands/mcp-install.d.ts.map +0 -1
  209. package/dist/cli/commands/mcp-install.js +0 -128
  210. package/dist/cli/commands/mcp-install.js.map +0 -1
  211. package/dist/cli/commands/memory-brain.d.ts +0 -14
  212. package/dist/cli/commands/memory-brain.d.ts.map +0 -1
  213. package/dist/cli/commands/memory-brain.js +0 -151
  214. package/dist/cli/commands/memory-brain.js.map +0 -1
  215. package/dist/cli/commands/migrate-claude-mem.d.ts +0 -18
  216. package/dist/cli/commands/migrate-claude-mem.d.ts.map +0 -1
  217. package/dist/cli/commands/migrate-claude-mem.js +0 -60
  218. package/dist/cli/commands/migrate-claude-mem.js.map +0 -1
  219. package/dist/cli/commands/next.d.ts +0 -9
  220. package/dist/cli/commands/next.d.ts.map +0 -1
  221. package/dist/cli/commands/next.js +0 -20
  222. package/dist/cli/commands/next.js.map +0 -1
  223. package/dist/cli/commands/nexus.d.ts +0 -16
  224. package/dist/cli/commands/nexus.d.ts.map +0 -1
  225. package/dist/cli/commands/nexus.js +0 -155
  226. package/dist/cli/commands/nexus.js.map +0 -1
  227. package/dist/cli/commands/observe.d.ts +0 -9
  228. package/dist/cli/commands/observe.d.ts.map +0 -1
  229. package/dist/cli/commands/observe.js +0 -39
  230. package/dist/cli/commands/observe.js.map +0 -1
  231. package/dist/cli/commands/ops.d.ts +0 -10
  232. package/dist/cli/commands/ops.d.ts.map +0 -1
  233. package/dist/cli/commands/ops.js +0 -19
  234. package/dist/cli/commands/ops.js.map +0 -1
  235. package/dist/cli/commands/orchestrate.d.ts +0 -8
  236. package/dist/cli/commands/orchestrate.d.ts.map +0 -1
  237. package/dist/cli/commands/orchestrate.js +0 -58
  238. package/dist/cli/commands/orchestrate.js.map +0 -1
  239. package/dist/cli/commands/otel.d.ts +0 -12
  240. package/dist/cli/commands/otel.d.ts.map +0 -1
  241. package/dist/cli/commands/otel.js +0 -128
  242. package/dist/cli/commands/otel.js.map +0 -1
  243. package/dist/cli/commands/phase.d.ts +0 -12
  244. package/dist/cli/commands/phase.d.ts.map +0 -1
  245. package/dist/cli/commands/phase.js +0 -88
  246. package/dist/cli/commands/phase.js.map +0 -1
  247. package/dist/cli/commands/phases.d.ts +0 -12
  248. package/dist/cli/commands/phases.d.ts.map +0 -1
  249. package/dist/cli/commands/phases.js +0 -37
  250. package/dist/cli/commands/phases.js.map +0 -1
  251. package/dist/cli/commands/plan.d.ts +0 -8
  252. package/dist/cli/commands/plan.d.ts.map +0 -1
  253. package/dist/cli/commands/plan.js +0 -15
  254. package/dist/cli/commands/plan.js.map +0 -1
  255. package/dist/cli/commands/promote.d.ts +0 -7
  256. package/dist/cli/commands/promote.d.ts.map +0 -1
  257. package/dist/cli/commands/promote.js +0 -15
  258. package/dist/cli/commands/promote.js.map +0 -1
  259. package/dist/cli/commands/reason.d.ts +0 -35
  260. package/dist/cli/commands/reason.d.ts.map +0 -1
  261. package/dist/cli/commands/reason.js +0 -104
  262. package/dist/cli/commands/reason.js.map +0 -1
  263. package/dist/cli/commands/refresh-memory.d.ts +0 -9
  264. package/dist/cli/commands/refresh-memory.d.ts.map +0 -1
  265. package/dist/cli/commands/refresh-memory.js +0 -24
  266. package/dist/cli/commands/refresh-memory.js.map +0 -1
  267. package/dist/cli/commands/relates.d.ts +0 -12
  268. package/dist/cli/commands/relates.d.ts.map +0 -1
  269. package/dist/cli/commands/relates.js +0 -53
  270. package/dist/cli/commands/relates.js.map +0 -1
  271. package/dist/cli/commands/release.d.ts +0 -8
  272. package/dist/cli/commands/release.d.ts.map +0 -1
  273. package/dist/cli/commands/release.js +0 -72
  274. package/dist/cli/commands/release.js.map +0 -1
  275. package/dist/cli/commands/remote.d.ts +0 -12
  276. package/dist/cli/commands/remote.d.ts.map +0 -1
  277. package/dist/cli/commands/remote.js +0 -207
  278. package/dist/cli/commands/remote.js.map +0 -1
  279. package/dist/cli/commands/reorder.d.ts +0 -7
  280. package/dist/cli/commands/reorder.d.ts.map +0 -1
  281. package/dist/cli/commands/reorder.js +0 -20
  282. package/dist/cli/commands/reorder.js.map +0 -1
  283. package/dist/cli/commands/reparent.d.ts +0 -10
  284. package/dist/cli/commands/reparent.d.ts.map +0 -1
  285. package/dist/cli/commands/reparent.js +0 -19
  286. package/dist/cli/commands/reparent.js.map +0 -1
  287. package/dist/cli/commands/research.d.ts +0 -8
  288. package/dist/cli/commands/research.d.ts.map +0 -1
  289. package/dist/cli/commands/research.js +0 -129
  290. package/dist/cli/commands/research.js.map +0 -1
  291. package/dist/cli/commands/restore.d.ts +0 -11
  292. package/dist/cli/commands/restore.d.ts.map +0 -1
  293. package/dist/cli/commands/restore.js +0 -224
  294. package/dist/cli/commands/restore.js.map +0 -1
  295. package/dist/cli/commands/roadmap.d.ts +0 -8
  296. package/dist/cli/commands/roadmap.d.ts.map +0 -1
  297. package/dist/cli/commands/roadmap.js +0 -21
  298. package/dist/cli/commands/roadmap.js.map +0 -1
  299. package/dist/cli/commands/safestop.d.ts +0 -14
  300. package/dist/cli/commands/safestop.d.ts.map +0 -1
  301. package/dist/cli/commands/safestop.js +0 -32
  302. package/dist/cli/commands/safestop.js.map +0 -1
  303. package/dist/cli/commands/self-update.d.ts +0 -15
  304. package/dist/cli/commands/self-update.d.ts.map +0 -1
  305. package/dist/cli/commands/self-update.js +0 -329
  306. package/dist/cli/commands/self-update.js.map +0 -1
  307. package/dist/cli/commands/sequence.d.ts +0 -8
  308. package/dist/cli/commands/sequence.d.ts.map +0 -1
  309. package/dist/cli/commands/sequence.js +0 -30
  310. package/dist/cli/commands/sequence.js.map +0 -1
  311. package/dist/cli/commands/session.d.ts +0 -12
  312. package/dist/cli/commands/session.d.ts.map +0 -1
  313. package/dist/cli/commands/session.js +0 -175
  314. package/dist/cli/commands/session.js.map +0 -1
  315. package/dist/cli/commands/show.d.ts +0 -13
  316. package/dist/cli/commands/show.d.ts.map +0 -1
  317. package/dist/cli/commands/show.js +0 -20
  318. package/dist/cli/commands/show.js.map +0 -1
  319. package/dist/cli/commands/skills.d.ts +0 -13
  320. package/dist/cli/commands/skills.d.ts.map +0 -1
  321. package/dist/cli/commands/skills.js +0 -131
  322. package/dist/cli/commands/skills.js.map +0 -1
  323. package/dist/cli/commands/snapshot.d.ts +0 -9
  324. package/dist/cli/commands/snapshot.d.ts.map +0 -1
  325. package/dist/cli/commands/snapshot.js +0 -50
  326. package/dist/cli/commands/snapshot.js.map +0 -1
  327. package/dist/cli/commands/specification.d.ts +0 -13
  328. package/dist/cli/commands/specification.d.ts.map +0 -1
  329. package/dist/cli/commands/specification.js +0 -45
  330. package/dist/cli/commands/specification.js.map +0 -1
  331. package/dist/cli/commands/start.d.ts +0 -13
  332. package/dist/cli/commands/start.d.ts.map +0 -1
  333. package/dist/cli/commands/start.js +0 -20
  334. package/dist/cli/commands/start.js.map +0 -1
  335. package/dist/cli/commands/stats.d.ts +0 -12
  336. package/dist/cli/commands/stats.d.ts.map +0 -1
  337. package/dist/cli/commands/stats.js +0 -35
  338. package/dist/cli/commands/stats.js.map +0 -1
  339. package/dist/cli/commands/sticky.d.ts +0 -16
  340. package/dist/cli/commands/sticky.d.ts.map +0 -1
  341. package/dist/cli/commands/sticky.js +0 -211
  342. package/dist/cli/commands/sticky.js.map +0 -1
  343. package/dist/cli/commands/stop.d.ts +0 -13
  344. package/dist/cli/commands/stop.d.ts.map +0 -1
  345. package/dist/cli/commands/stop.js +0 -20
  346. package/dist/cli/commands/stop.js.map +0 -1
  347. package/dist/cli/commands/testing.d.ts +0 -13
  348. package/dist/cli/commands/testing.d.ts.map +0 -1
  349. package/dist/cli/commands/testing.js +0 -64
  350. package/dist/cli/commands/testing.js.map +0 -1
  351. package/dist/cli/commands/token.d.ts +0 -10
  352. package/dist/cli/commands/token.d.ts.map +0 -1
  353. package/dist/cli/commands/token.js +0 -135
  354. package/dist/cli/commands/token.js.map +0 -1
  355. package/dist/cli/commands/update.d.ts +0 -12
  356. package/dist/cli/commands/update.d.ts.map +0 -1
  357. package/dist/cli/commands/update.js +0 -83
  358. package/dist/cli/commands/update.js.map +0 -1
  359. package/dist/cli/commands/upgrade.d.ts +0 -18
  360. package/dist/cli/commands/upgrade.d.ts.map +0 -1
  361. package/dist/cli/commands/upgrade.js +0 -103
  362. package/dist/cli/commands/upgrade.js.map +0 -1
  363. package/dist/cli/commands/validate.d.ts +0 -12
  364. package/dist/cli/commands/validate.d.ts.map +0 -1
  365. package/dist/cli/commands/validate.js +0 -23
  366. package/dist/cli/commands/validate.js.map +0 -1
  367. package/dist/cli/commands/verify.d.ts +0 -8
  368. package/dist/cli/commands/verify.d.ts.map +0 -1
  369. package/dist/cli/commands/verify.js +0 -28
  370. package/dist/cli/commands/verify.js.map +0 -1
  371. package/dist/cli/commands/web.d.ts +0 -13
  372. package/dist/cli/commands/web.d.ts.map +0 -1
  373. package/dist/cli/commands/web.js +0 -264
  374. package/dist/cli/commands/web.js.map +0 -1
  375. package/dist/cli/field-context.d.ts +0 -32
  376. package/dist/cli/field-context.d.ts.map +0 -1
  377. package/dist/cli/field-context.js +0 -47
  378. package/dist/cli/field-context.js.map +0 -1
  379. package/dist/cli/format-context.d.ts +0 -32
  380. package/dist/cli/format-context.d.ts.map +0 -1
  381. package/dist/cli/format-context.js +0 -50
  382. package/dist/cli/format-context.js.map +0 -1
  383. package/dist/cli/index.d.ts +0 -9
  384. package/dist/cli/index.d.ts.map +0 -1
  385. package/dist/cli/logger-bootstrap.d.ts +0 -6
  386. package/dist/cli/logger-bootstrap.d.ts.map +0 -1
  387. package/dist/cli/logger-bootstrap.js +0 -10
  388. package/dist/cli/logger-bootstrap.js.map +0 -1
  389. package/dist/cli/middleware/output-format.d.ts +0 -30
  390. package/dist/cli/middleware/output-format.d.ts.map +0 -1
  391. package/dist/cli/middleware/output-format.js +0 -35
  392. package/dist/cli/middleware/output-format.js.map +0 -1
  393. package/dist/cli/progress.d.ts +0 -84
  394. package/dist/cli/progress.d.ts.map +0 -1
  395. package/dist/cli/progress.js +0 -169
  396. package/dist/cli/progress.js.map +0 -1
  397. package/dist/cli/renderers/colors.d.ts +0 -32
  398. package/dist/cli/renderers/colors.d.ts.map +0 -1
  399. package/dist/cli/renderers/colors.js +0 -141
  400. package/dist/cli/renderers/colors.js.map +0 -1
  401. package/dist/cli/renderers/error.d.ts +0 -13
  402. package/dist/cli/renderers/error.d.ts.map +0 -1
  403. package/dist/cli/renderers/error.js +0 -42
  404. package/dist/cli/renderers/error.js.map +0 -1
  405. package/dist/cli/renderers/index.d.ts +0 -59
  406. package/dist/cli/renderers/index.d.ts.map +0 -1
  407. package/dist/cli/renderers/index.js +0 -184
  408. package/dist/cli/renderers/index.js.map +0 -1
  409. package/dist/cli/renderers/normalizer.d.ts +0 -21
  410. package/dist/cli/renderers/normalizer.d.ts.map +0 -1
  411. package/dist/cli/renderers/normalizer.js +0 -106
  412. package/dist/cli/renderers/normalizer.js.map +0 -1
  413. package/dist/cli/renderers/system.d.ts +0 -25
  414. package/dist/cli/renderers/system.d.ts.map +0 -1
  415. package/dist/cli/renderers/system.js +0 -416
  416. package/dist/cli/renderers/system.js.map +0 -1
  417. package/dist/cli/renderers/tasks.d.ts +0 -28
  418. package/dist/cli/renderers/tasks.d.ts.map +0 -1
  419. package/dist/cli/renderers/tasks.js +0 -306
  420. package/dist/cli/renderers/tasks.js.map +0 -1
  421. package/dist/dispatch/adapters/cli.d.ts +0 -67
  422. package/dist/dispatch/adapters/cli.d.ts.map +0 -1
  423. package/dist/dispatch/adapters/cli.js +0 -205
  424. package/dist/dispatch/adapters/cli.js.map +0 -1
  425. package/dist/dispatch/adapters/mcp.d.ts +0 -37
  426. package/dist/dispatch/adapters/mcp.d.ts.map +0 -1
  427. package/dist/dispatch/adapters/mcp.js +0 -122
  428. package/dist/dispatch/adapters/mcp.js.map +0 -1
  429. package/dist/dispatch/context/session-context.d.ts +0 -54
  430. package/dist/dispatch/context/session-context.d.ts.map +0 -1
  431. package/dist/dispatch/context/session-context.js +0 -61
  432. package/dist/dispatch/context/session-context.js.map +0 -1
  433. package/dist/dispatch/dispatcher.d.ts +0 -23
  434. package/dist/dispatch/dispatcher.d.ts.map +0 -1
  435. package/dist/dispatch/dispatcher.js +0 -84
  436. package/dist/dispatch/dispatcher.js.map +0 -1
  437. package/dist/dispatch/domains/_base.d.ts +0 -59
  438. package/dist/dispatch/domains/_base.d.ts.map +0 -1
  439. package/dist/dispatch/domains/_base.js +0 -77
  440. package/dist/dispatch/domains/_base.js.map +0 -1
  441. package/dist/dispatch/domains/_meta.d.ts +0 -23
  442. package/dist/dispatch/domains/_meta.d.ts.map +0 -1
  443. package/dist/dispatch/domains/_meta.js +0 -25
  444. package/dist/dispatch/domains/_meta.js.map +0 -1
  445. package/dist/dispatch/domains/_routing.d.ts +0 -8
  446. package/dist/dispatch/domains/_routing.d.ts.map +0 -1
  447. package/dist/dispatch/domains/_routing.js +0 -20
  448. package/dist/dispatch/domains/_routing.js.map +0 -1
  449. package/dist/dispatch/domains/admin.d.ts +0 -25
  450. package/dist/dispatch/domains/admin.d.ts.map +0 -1
  451. package/dist/dispatch/domains/admin.js +0 -699
  452. package/dist/dispatch/domains/admin.js.map +0 -1
  453. package/dist/dispatch/domains/check.d.ts +0 -22
  454. package/dist/dispatch/domains/check.d.ts.map +0 -1
  455. package/dist/dispatch/domains/check.js +0 -293
  456. package/dist/dispatch/domains/check.js.map +0 -1
  457. package/dist/dispatch/domains/index.d.ts +0 -26
  458. package/dist/dispatch/domains/index.d.ts.map +0 -1
  459. package/dist/dispatch/domains/index.js +0 -38
  460. package/dist/dispatch/domains/index.js.map +0 -1
  461. package/dist/dispatch/domains/memory.d.ts +0 -22
  462. package/dist/dispatch/domains/memory.d.ts.map +0 -1
  463. package/dist/dispatch/domains/memory.js +0 -303
  464. package/dist/dispatch/domains/memory.js.map +0 -1
  465. package/dist/dispatch/domains/nexus.d.ts +0 -22
  466. package/dist/dispatch/domains/nexus.d.ts.map +0 -1
  467. package/dist/dispatch/domains/nexus.js +0 -286
  468. package/dist/dispatch/domains/nexus.js.map +0 -1
  469. package/dist/dispatch/domains/orchestrate.d.ts +0 -19
  470. package/dist/dispatch/domains/orchestrate.d.ts.map +0 -1
  471. package/dist/dispatch/domains/orchestrate.js +0 -259
  472. package/dist/dispatch/domains/orchestrate.js.map +0 -1
  473. package/dist/dispatch/domains/pipeline.d.ts +0 -35
  474. package/dist/dispatch/domains/pipeline.d.ts.map +0 -1
  475. package/dist/dispatch/domains/pipeline.js +0 -555
  476. package/dist/dispatch/domains/pipeline.js.map +0 -1
  477. package/dist/dispatch/domains/session.d.ts +0 -22
  478. package/dist/dispatch/domains/session.d.ts.map +0 -1
  479. package/dist/dispatch/domains/session.js +0 -255
  480. package/dist/dispatch/domains/session.js.map +0 -1
  481. package/dist/dispatch/domains/sticky.d.ts +0 -20
  482. package/dist/dispatch/domains/sticky.d.ts.map +0 -1
  483. package/dist/dispatch/domains/sticky.js +0 -164
  484. package/dist/dispatch/domains/sticky.js.map +0 -1
  485. package/dist/dispatch/domains/tasks.d.ts +0 -25
  486. package/dist/dispatch/domains/tasks.d.ts.map +0 -1
  487. package/dist/dispatch/domains/tasks.js +0 -339
  488. package/dist/dispatch/domains/tasks.js.map +0 -1
  489. package/dist/dispatch/domains/tools.d.ts +0 -36
  490. package/dist/dispatch/domains/tools.d.ts.map +0 -1
  491. package/dist/dispatch/domains/tools.js +0 -451
  492. package/dist/dispatch/domains/tools.js.map +0 -1
  493. package/dist/dispatch/engines/_error.d.ts +0 -42
  494. package/dist/dispatch/engines/_error.d.ts.map +0 -1
  495. package/dist/dispatch/engines/_error.js +0 -201
  496. package/dist/dispatch/engines/_error.js.map +0 -1
  497. package/dist/dispatch/engines/codebase-map-engine.d.ts +0 -17
  498. package/dist/dispatch/engines/codebase-map-engine.d.ts.map +0 -1
  499. package/dist/dispatch/engines/codebase-map-engine.js +0 -29
  500. package/dist/dispatch/engines/codebase-map-engine.js.map +0 -1
  501. package/dist/dispatch/engines/config-engine.d.ts +0 -32
  502. package/dist/dispatch/engines/config-engine.d.ts.map +0 -1
  503. package/dist/dispatch/engines/config-engine.js +0 -70
  504. package/dist/dispatch/engines/config-engine.js.map +0 -1
  505. package/dist/dispatch/engines/hooks-engine.d.ts +0 -47
  506. package/dist/dispatch/engines/hooks-engine.d.ts.map +0 -1
  507. package/dist/dispatch/engines/hooks-engine.js +0 -57
  508. package/dist/dispatch/engines/hooks-engine.js.map +0 -1
  509. package/dist/dispatch/engines/init-engine.d.ts +0 -43
  510. package/dist/dispatch/engines/init-engine.d.ts.map +0 -1
  511. package/dist/dispatch/engines/init-engine.js +0 -73
  512. package/dist/dispatch/engines/init-engine.js.map +0 -1
  513. package/dist/dispatch/engines/lifecycle-engine.d.ts +0 -66
  514. package/dist/dispatch/engines/lifecycle-engine.d.ts.map +0 -1
  515. package/dist/dispatch/engines/lifecycle-engine.js +0 -213
  516. package/dist/dispatch/engines/lifecycle-engine.js.map +0 -1
  517. package/dist/dispatch/engines/memory-engine.d.ts +0 -10
  518. package/dist/dispatch/engines/memory-engine.d.ts.map +0 -1
  519. package/dist/dispatch/engines/memory-engine.js +0 -10
  520. package/dist/dispatch/engines/memory-engine.js.map +0 -1
  521. package/dist/dispatch/engines/nexus-engine.d.ts +0 -167
  522. package/dist/dispatch/engines/nexus-engine.d.ts.map +0 -1
  523. package/dist/dispatch/engines/nexus-engine.js +0 -356
  524. package/dist/dispatch/engines/nexus-engine.js.map +0 -1
  525. package/dist/dispatch/engines/orchestrate-engine.d.ts +0 -133
  526. package/dist/dispatch/engines/orchestrate-engine.d.ts.map +0 -1
  527. package/dist/dispatch/engines/orchestrate-engine.js +0 -769
  528. package/dist/dispatch/engines/orchestrate-engine.js.map +0 -1
  529. package/dist/dispatch/engines/pipeline-engine.d.ts +0 -51
  530. package/dist/dispatch/engines/pipeline-engine.d.ts.map +0 -1
  531. package/dist/dispatch/engines/pipeline-engine.js +0 -191
  532. package/dist/dispatch/engines/pipeline-engine.js.map +0 -1
  533. package/dist/dispatch/engines/release-engine.d.ts +0 -94
  534. package/dist/dispatch/engines/release-engine.d.ts.map +0 -1
  535. package/dist/dispatch/engines/release-engine.js +0 -669
  536. package/dist/dispatch/engines/release-engine.js.map +0 -1
  537. package/dist/dispatch/engines/session-engine.d.ts +0 -323
  538. package/dist/dispatch/engines/session-engine.d.ts.map +0 -1
  539. package/dist/dispatch/engines/session-engine.js +0 -869
  540. package/dist/dispatch/engines/session-engine.js.map +0 -1
  541. package/dist/dispatch/engines/sticky-engine.d.ts +0 -100
  542. package/dist/dispatch/engines/sticky-engine.d.ts.map +0 -1
  543. package/dist/dispatch/engines/sticky-engine.js +0 -181
  544. package/dist/dispatch/engines/sticky-engine.js.map +0 -1
  545. package/dist/dispatch/engines/system-engine.d.ts +0 -409
  546. package/dist/dispatch/engines/system-engine.d.ts.map +0 -1
  547. package/dist/dispatch/engines/system-engine.js +0 -1180
  548. package/dist/dispatch/engines/system-engine.js.map +0 -1
  549. package/dist/dispatch/engines/task-engine.d.ts +0 -630
  550. package/dist/dispatch/engines/task-engine.d.ts.map +0 -1
  551. package/dist/dispatch/engines/task-engine.js +0 -979
  552. package/dist/dispatch/engines/task-engine.js.map +0 -1
  553. package/dist/dispatch/engines/template-parser.d.ts +0 -34
  554. package/dist/dispatch/engines/template-parser.d.ts.map +0 -1
  555. package/dist/dispatch/engines/template-parser.js +0 -57
  556. package/dist/dispatch/engines/template-parser.js.map +0 -1
  557. package/dist/dispatch/engines/tools-engine.d.ts +0 -270
  558. package/dist/dispatch/engines/tools-engine.d.ts.map +0 -1
  559. package/dist/dispatch/engines/tools-engine.js +0 -636
  560. package/dist/dispatch/engines/tools-engine.js.map +0 -1
  561. package/dist/dispatch/engines/validate-engine.d.ts +0 -154
  562. package/dist/dispatch/engines/validate-engine.d.ts.map +0 -1
  563. package/dist/dispatch/engines/validate-engine.js +0 -524
  564. package/dist/dispatch/engines/validate-engine.js.map +0 -1
  565. package/dist/dispatch/index.d.ts +0 -20
  566. package/dist/dispatch/index.d.ts.map +0 -1
  567. package/dist/dispatch/index.js +0 -19
  568. package/dist/dispatch/index.js.map +0 -1
  569. package/dist/dispatch/lib/capability-matrix.d.ts +0 -11
  570. package/dist/dispatch/lib/capability-matrix.d.ts.map +0 -1
  571. package/dist/dispatch/lib/capability-matrix.js +0 -10
  572. package/dist/dispatch/lib/capability-matrix.js.map +0 -1
  573. package/dist/dispatch/lib/config.d.ts +0 -16
  574. package/dist/dispatch/lib/config.d.ts.map +0 -1
  575. package/dist/dispatch/lib/config.js +0 -15
  576. package/dist/dispatch/lib/config.js.map +0 -1
  577. package/dist/dispatch/lib/engine.d.ts +0 -25
  578. package/dist/dispatch/lib/engine.d.ts.map +0 -1
  579. package/dist/dispatch/lib/engine.js +0 -44
  580. package/dist/dispatch/lib/engine.js.map +0 -1
  581. package/dist/dispatch/lib/meta.d.ts +0 -26
  582. package/dist/dispatch/lib/meta.d.ts.map +0 -1
  583. package/dist/dispatch/lib/meta.js +0 -37
  584. package/dist/dispatch/lib/meta.js.map +0 -1
  585. package/dist/dispatch/lib/param-utils.d.ts +0 -11
  586. package/dist/dispatch/lib/param-utils.d.ts.map +0 -1
  587. package/dist/dispatch/lib/param-utils.js +0 -10
  588. package/dist/dispatch/lib/param-utils.js.map +0 -1
  589. package/dist/dispatch/lib/projections.d.ts +0 -23
  590. package/dist/dispatch/lib/projections.d.ts.map +0 -1
  591. package/dist/dispatch/lib/projections.js +0 -48
  592. package/dist/dispatch/lib/projections.js.map +0 -1
  593. package/dist/dispatch/lib/schema-utils.d.ts +0 -42
  594. package/dist/dispatch/lib/schema-utils.d.ts.map +0 -1
  595. package/dist/dispatch/lib/schema-utils.js +0 -93
  596. package/dist/dispatch/lib/schema-utils.js.map +0 -1
  597. package/dist/dispatch/lib/security.d.ts +0 -11
  598. package/dist/dispatch/lib/security.d.ts.map +0 -1
  599. package/dist/dispatch/lib/security.js +0 -10
  600. package/dist/dispatch/lib/security.js.map +0 -1
  601. package/dist/dispatch/middleware/audit.d.ts +0 -23
  602. package/dist/dispatch/middleware/audit.d.ts.map +0 -1
  603. package/dist/dispatch/middleware/audit.js +0 -169
  604. package/dist/dispatch/middleware/audit.js.map +0 -1
  605. package/dist/dispatch/middleware/field-filter.d.ts +0 -24
  606. package/dist/dispatch/middleware/field-filter.d.ts.map +0 -1
  607. package/dist/dispatch/middleware/field-filter.js +0 -65
  608. package/dist/dispatch/middleware/field-filter.js.map +0 -1
  609. package/dist/dispatch/middleware/pipeline.d.ts +0 -20
  610. package/dist/dispatch/middleware/pipeline.d.ts.map +0 -1
  611. package/dist/dispatch/middleware/pipeline.js +0 -47
  612. package/dist/dispatch/middleware/pipeline.js.map +0 -1
  613. package/dist/dispatch/middleware/projection.d.ts +0 -35
  614. package/dist/dispatch/middleware/projection.d.ts.map +0 -1
  615. package/dist/dispatch/middleware/projection.js +0 -145
  616. package/dist/dispatch/middleware/projection.js.map +0 -1
  617. package/dist/dispatch/middleware/protocol-enforcement.d.ts +0 -12
  618. package/dist/dispatch/middleware/protocol-enforcement.d.ts.map +0 -1
  619. package/dist/dispatch/middleware/protocol-enforcement.js +0 -30
  620. package/dist/dispatch/middleware/protocol-enforcement.js.map +0 -1
  621. package/dist/dispatch/middleware/rate-limiter.d.ts +0 -30
  622. package/dist/dispatch/middleware/rate-limiter.d.ts.map +0 -1
  623. package/dist/dispatch/middleware/rate-limiter.js +0 -101
  624. package/dist/dispatch/middleware/rate-limiter.js.map +0 -1
  625. package/dist/dispatch/middleware/sanitizer.d.ts +0 -10
  626. package/dist/dispatch/middleware/sanitizer.d.ts.map +0 -1
  627. package/dist/dispatch/middleware/sanitizer.js +0 -42
  628. package/dist/dispatch/middleware/sanitizer.js.map +0 -1
  629. package/dist/dispatch/middleware/session-resolver.d.ts +0 -26
  630. package/dist/dispatch/middleware/session-resolver.d.ts.map +0 -1
  631. package/dist/dispatch/middleware/session-resolver.js +0 -65
  632. package/dist/dispatch/middleware/session-resolver.js.map +0 -1
  633. package/dist/dispatch/middleware/verification-gates.d.ts +0 -3
  634. package/dist/dispatch/middleware/verification-gates.d.ts.map +0 -1
  635. package/dist/dispatch/middleware/verification-gates.js +0 -40
  636. package/dist/dispatch/middleware/verification-gates.js.map +0 -1
  637. package/dist/dispatch/registry.d.ts +0 -91
  638. package/dist/dispatch/registry.d.ts.map +0 -1
  639. package/dist/dispatch/registry.js +0 -2924
  640. package/dist/dispatch/registry.js.map +0 -1
  641. package/dist/dispatch/types.d.ts +0 -218
  642. package/dist/dispatch/types.d.ts.map +0 -1
  643. package/dist/dispatch/types.js +0 -25
  644. package/dist/dispatch/types.js.map +0 -1
  645. package/dist/mcp/gateways/mutate.d.ts +0 -146
  646. package/dist/mcp/gateways/mutate.d.ts.map +0 -1
  647. package/dist/mcp/gateways/mutate.js +0 -1016
  648. package/dist/mcp/gateways/mutate.js.map +0 -1
  649. package/dist/mcp/gateways/query.d.ts +0 -138
  650. package/dist/mcp/gateways/query.d.ts.map +0 -1
  651. package/dist/mcp/gateways/query.js +0 -186
  652. package/dist/mcp/gateways/query.js.map +0 -1
  653. package/dist/mcp/index.d.ts +0 -16
  654. package/dist/mcp/index.d.ts.map +0 -1
  655. package/dist/mcp/lib/background-jobs.d.ts +0 -86
  656. package/dist/mcp/lib/background-jobs.d.ts.map +0 -1
  657. package/dist/mcp/lib/background-jobs.js +0 -183
  658. package/dist/mcp/lib/background-jobs.js.map +0 -1
  659. package/dist/mcp/lib/budget.d.ts +0 -35
  660. package/dist/mcp/lib/budget.d.ts.map +0 -1
  661. package/dist/mcp/lib/budget.js +0 -102
  662. package/dist/mcp/lib/budget.js.map +0 -1
  663. package/dist/mcp/lib/cache.d.ts +0 -78
  664. package/dist/mcp/lib/cache.d.ts.map +0 -1
  665. package/dist/mcp/lib/cache.js +0 -207
  666. package/dist/mcp/lib/cache.js.map +0 -1
  667. package/dist/mcp/lib/config.d.ts +0 -42
  668. package/dist/mcp/lib/config.d.ts.map +0 -1
  669. package/dist/mcp/lib/config.js +0 -241
  670. package/dist/mcp/lib/config.js.map +0 -1
  671. package/dist/mcp/lib/defaults.d.ts +0 -115
  672. package/dist/mcp/lib/defaults.d.ts.map +0 -1
  673. package/dist/mcp/lib/defaults.js +0 -61
  674. package/dist/mcp/lib/defaults.js.map +0 -1
  675. package/dist/mcp/lib/gate-validators.d.ts +0 -13
  676. package/dist/mcp/lib/gate-validators.d.ts.map +0 -1
  677. package/dist/mcp/lib/gate-validators.js +0 -13
  678. package/dist/mcp/lib/gate-validators.js.map +0 -1
  679. package/dist/mcp/lib/gateway-meta.d.ts +0 -37
  680. package/dist/mcp/lib/gateway-meta.d.ts.map +0 -1
  681. package/dist/mcp/lib/gateway-meta.js +0 -50
  682. package/dist/mcp/lib/gateway-meta.js.map +0 -1
  683. package/dist/mcp/lib/job-manager-accessor.d.ts +0 -10
  684. package/dist/mcp/lib/job-manager-accessor.d.ts.map +0 -1
  685. package/dist/mcp/lib/job-manager-accessor.js +0 -14
  686. package/dist/mcp/lib/job-manager-accessor.js.map +0 -1
  687. package/dist/mcp/lib/protocol-enforcement.d.ts +0 -12
  688. package/dist/mcp/lib/protocol-enforcement.d.ts.map +0 -1
  689. package/dist/mcp/lib/protocol-enforcement.js +0 -12
  690. package/dist/mcp/lib/protocol-enforcement.js.map +0 -1
  691. package/dist/mcp/lib/protocol-rules.d.ts +0 -12
  692. package/dist/mcp/lib/protocol-rules.d.ts.map +0 -1
  693. package/dist/mcp/lib/protocol-rules.js +0 -12
  694. package/dist/mcp/lib/protocol-rules.js.map +0 -1
  695. package/dist/mcp/lib/rate-limiter.d.ts +0 -110
  696. package/dist/mcp/lib/rate-limiter.d.ts.map +0 -1
  697. package/dist/mcp/lib/rate-limiter.js +0 -208
  698. package/dist/mcp/lib/rate-limiter.js.map +0 -1
  699. package/dist/mcp/lib/router.d.ts +0 -58
  700. package/dist/mcp/lib/router.d.ts.map +0 -1
  701. package/dist/mcp/lib/router.js +0 -12
  702. package/dist/mcp/lib/router.js.map +0 -1
  703. package/dist/mcp/lib/security.d.ts +0 -161
  704. package/dist/mcp/lib/security.d.ts.map +0 -1
  705. package/dist/mcp/lib/security.js +0 -360
  706. package/dist/mcp/lib/security.js.map +0 -1
  707. package/dist/mcp/lib/verification-gates.d.ts +0 -13
  708. package/dist/mcp/lib/verification-gates.d.ts.map +0 -1
  709. package/dist/mcp/lib/verification-gates.js +0 -12
  710. package/dist/mcp/lib/verification-gates.js.map +0 -1
  711. package/dist/mcp/resources/budget.d.ts +0 -22
  712. package/dist/mcp/resources/budget.d.ts.map +0 -1
  713. package/dist/mcp/resources/budget.js +0 -46
  714. package/dist/mcp/resources/budget.js.map +0 -1
  715. package/dist/mcp/resources/index.d.ts +0 -53
  716. package/dist/mcp/resources/index.d.ts.map +0 -1
  717. package/dist/mcp/resources/index.js +0 -278
  718. package/dist/mcp/resources/index.js.map +0 -1
@@ -1,360 +0,0 @@
1
- /**
2
- * Security Hardening and Input Sanitization for CLEO MCP Server
3
- *
4
- * Provides input validation, path sanitization, content filtering,
5
- * enum checking, and rate limiting for all MCP operations.
6
- *
7
- * @task T3144
8
- * @epic T3125
9
- */
10
- import { LIFECYCLE_STAGE_STATUSES, MANIFEST_STATUSES, TASK_STATUSES } from '@cleocode/contracts';
11
- import { normalizeTaskId, TASK_PRIORITIES } from '@cleocode/core/internal';
12
- import { isAbsolute, normalize, relative, resolve } from 'path';
13
- /**
14
- * Security validation error thrown when input fails sanitization
15
- */
16
- export class SecurityError extends Error {
17
- code;
18
- field;
19
- constructor(message, code = 'E_SECURITY_VIOLATION', field) {
20
- super(message);
21
- this.code = code;
22
- this.field = field;
23
- this.name = 'SecurityError';
24
- }
25
- }
26
- /**
27
- * Maximum task ID numeric value (prevent absurdly large IDs)
28
- */
29
- const MAX_TASK_ID_NUMBER = 999999;
30
- /**
31
- * Control character pattern (C0 and C1 control chars, excluding newline/tab/cr)
32
- */
33
- const CONTROL_CHAR_PATTERN = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x9F]/g;
34
- /**
35
- * Default maximum content length (64KB)
36
- */
37
- const DEFAULT_MAX_CONTENT_LENGTH = 64 * 1024;
38
- /**
39
- * Sanitize and validate a task ID
40
- *
41
- * Validates format: ^T[0-9]+$
42
- * Rejects empty, malformed, or excessively large IDs
43
- *
44
- * @param id - Raw task ID input
45
- * @returns Sanitized task ID
46
- * @throws SecurityError if ID is invalid
47
- */
48
- export function sanitizeTaskId(value) {
49
- if (typeof value !== 'string') {
50
- throw new SecurityError('Task ID must be a string', 'E_INVALID_TASK_ID', 'taskId');
51
- }
52
- const normalized = normalizeTaskId(value);
53
- if (normalized === null) {
54
- throw new SecurityError(`Invalid task ID format: ${value}`, 'E_INVALID_TASK_ID', 'taskId');
55
- }
56
- // Validate numeric value isn't absurdly large
57
- const numericPart = parseInt(normalized.slice(1), 10);
58
- if (numericPart > MAX_TASK_ID_NUMBER) {
59
- throw new SecurityError(`Task ID exceeds maximum value: ${value}`, 'E_INVALID_TASK_ID', 'taskId');
60
- }
61
- return normalized;
62
- }
63
- /**
64
- * Sanitize and validate a file path
65
- *
66
- * Prevents path traversal attacks by ensuring the resolved path
67
- * stays within the project root directory.
68
- *
69
- * @param path - Raw path input
70
- * @param projectRoot - Project root directory (absolute path)
71
- * @returns Sanitized absolute path within project root
72
- * @throws SecurityError if path escapes project root or is invalid
73
- */
74
- export function sanitizePath(path, projectRoot) {
75
- if (typeof path !== 'string') {
76
- throw new SecurityError('Path must be a string', 'E_INVALID_PATH', 'path');
77
- }
78
- if (typeof projectRoot !== 'string' || projectRoot.length === 0) {
79
- throw new SecurityError('Project root must be a non-empty string', 'E_INVALID_PATH', 'projectRoot');
80
- }
81
- const trimmedPath = path.trim();
82
- if (trimmedPath.length === 0) {
83
- throw new SecurityError('Path cannot be empty', 'E_INVALID_PATH', 'path');
84
- }
85
- // Check for null bytes (common injection vector)
86
- if (trimmedPath.includes('\0')) {
87
- throw new SecurityError('Path contains null bytes', 'E_PATH_TRAVERSAL', 'path');
88
- }
89
- // Normalize the project root
90
- const normalizedRoot = resolve(projectRoot);
91
- // Resolve the path relative to project root
92
- let resolvedPath;
93
- if (isAbsolute(trimmedPath)) {
94
- resolvedPath = normalize(trimmedPath);
95
- }
96
- else {
97
- resolvedPath = resolve(normalizedRoot, trimmedPath);
98
- }
99
- // Ensure the resolved path is within the project root
100
- const relativePath = relative(normalizedRoot, resolvedPath);
101
- // If relative path starts with '..' or is absolute, it escapes the root
102
- if (relativePath.startsWith('..') || isAbsolute(relativePath)) {
103
- throw new SecurityError(`Path traversal detected: "${path}" resolves outside project root`, 'E_PATH_TRAVERSAL', 'path');
104
- }
105
- return resolvedPath;
106
- }
107
- /**
108
- * Sanitize content string
109
- *
110
- * Enforces size limits and strips control characters (except newline, tab, CR).
111
- *
112
- * @param content - Raw content string
113
- * @param maxLength - Maximum allowed length (default: 64KB)
114
- * @returns Sanitized content string
115
- * @throws SecurityError if content exceeds size limit
116
- */
117
- export function sanitizeContent(content, maxLength = DEFAULT_MAX_CONTENT_LENGTH) {
118
- if (typeof content !== 'string') {
119
- throw new SecurityError('Content must be a string', 'E_INVALID_CONTENT', 'content');
120
- }
121
- if (content.length > maxLength) {
122
- throw new SecurityError(`Content exceeds maximum length (${maxLength} characters): got ${content.length}`, 'E_CONTENT_TOO_LARGE', 'content');
123
- }
124
- // Strip control characters (preserve \n, \t, \r)
125
- return content.replace(CONTROL_CHAR_PATTERN, '');
126
- }
127
- /**
128
- * Validate that a value is in an allowed enum set
129
- *
130
- * @param value - Value to validate
131
- * @param allowed - Array of allowed values
132
- * @param fieldName - Name of the field (for error messages)
133
- * @returns The validated value
134
- * @throws SecurityError if value is not in allowed set
135
- */
136
- export function validateEnum(value, allowed, fieldName) {
137
- if (typeof value !== 'string') {
138
- throw new SecurityError(`${fieldName} must be a string`, 'E_INVALID_ENUM', fieldName);
139
- }
140
- const trimmed = value.trim();
141
- if (!allowed.includes(trimmed)) {
142
- throw new SecurityError(`Invalid ${fieldName}: "${trimmed}". Allowed values: ${allowed.join(', ')}`, 'E_INVALID_ENUM', fieldName);
143
- }
144
- return trimmed;
145
- }
146
- /**
147
- * Known enum values for CLEO domains
148
- */
149
- export const VALID_DOMAINS = [
150
- 'tasks',
151
- 'session',
152
- 'orchestrate',
153
- 'research',
154
- 'lifecycle',
155
- 'validate',
156
- 'release',
157
- 'system',
158
- ];
159
- export const VALID_GATEWAYS = ['query', 'mutate'];
160
- export const VALID_MANIFEST_STATUSES = MANIFEST_STATUSES;
161
- export const VALID_LIFECYCLE_STAGE_STATUSES = LIFECYCLE_STAGE_STATUSES;
162
- export const ALL_VALID_STATUSES = [...TASK_STATUSES, ...MANIFEST_STATUSES];
163
- export const VALID_PRIORITIES = TASK_PRIORITIES;
164
- /**
165
- * Default rate limit configurations per operation type
166
- */
167
- export const DEFAULT_RATE_LIMITS = {
168
- query: { maxRequests: 100, windowMs: 60_000 },
169
- mutate: { maxRequests: 30, windowMs: 60_000 },
170
- spawn: { maxRequests: 10, windowMs: 60_000 },
171
- };
172
- /**
173
- * In-memory sliding window rate limiter
174
- *
175
- * Tracks request timestamps per key and enforces configurable limits.
176
- */
177
- export class RateLimiter {
178
- windows = new Map();
179
- configs = new Map();
180
- constructor(configs) {
181
- // Initialize with provided or default configs
182
- const effectiveConfigs = configs ?? DEFAULT_RATE_LIMITS;
183
- for (const [key, config] of Object.entries(effectiveConfigs)) {
184
- this.configs.set(key, config);
185
- }
186
- }
187
- /**
188
- * Check if a request is allowed under rate limits
189
- *
190
- * @param key - Rate limit bucket key (e.g., 'query', 'mutate', 'spawn')
191
- * @returns Rate limit check result
192
- */
193
- check(key) {
194
- const config = this.configs.get(key);
195
- if (!config) {
196
- // No config for this key - allow by default
197
- return { allowed: true, remaining: Infinity, resetMs: 0, limit: Infinity };
198
- }
199
- const now = Date.now();
200
- const windowStart = now - config.windowMs;
201
- // Get or create window
202
- let timestamps = this.windows.get(key);
203
- if (!timestamps) {
204
- timestamps = [];
205
- this.windows.set(key, timestamps);
206
- }
207
- // Prune expired timestamps
208
- const validTimestamps = timestamps.filter((t) => t > windowStart);
209
- this.windows.set(key, validTimestamps);
210
- const remaining = Math.max(0, config.maxRequests - validTimestamps.length);
211
- const oldestInWindow = validTimestamps.length > 0 ? validTimestamps[0] : now;
212
- const resetMs = Math.max(0, oldestInWindow + config.windowMs - now);
213
- return {
214
- allowed: validTimestamps.length < config.maxRequests,
215
- remaining,
216
- resetMs,
217
- limit: config.maxRequests,
218
- };
219
- }
220
- /**
221
- * Record a request (call after check returns allowed: true)
222
- *
223
- * @param key - Rate limit bucket key
224
- */
225
- record(key) {
226
- const timestamps = this.windows.get(key) ?? [];
227
- timestamps.push(Date.now());
228
- this.windows.set(key, timestamps);
229
- }
230
- /**
231
- * Check and record in one step
232
- *
233
- * @param key - Rate limit bucket key
234
- * @returns Rate limit check result (recorded if allowed)
235
- */
236
- consume(key) {
237
- const result = this.check(key);
238
- if (result.allowed) {
239
- this.record(key);
240
- // Adjust remaining after recording
241
- result.remaining = Math.max(0, result.remaining - 1);
242
- }
243
- return result;
244
- }
245
- /**
246
- * Reset rate limit state for a specific key or all keys
247
- *
248
- * @param key - Optional key to reset (resets all if omitted)
249
- */
250
- reset(key) {
251
- if (key) {
252
- this.windows.delete(key);
253
- }
254
- else {
255
- this.windows.clear();
256
- }
257
- }
258
- /**
259
- * Get current configuration for a key
260
- */
261
- getConfig(key) {
262
- return this.configs.get(key);
263
- }
264
- /**
265
- * Update configuration for a key
266
- */
267
- setConfig(key, config) {
268
- this.configs.set(key, config);
269
- }
270
- }
271
- /**
272
- * Sanitize all params in a DomainRequest before routing
273
- *
274
- * Applies appropriate sanitization based on known field names:
275
- * - taskId, parent, epicId -> sanitizeTaskId
276
- * - path, file -> sanitizePath (if projectRoot provided)
277
- * - title, description, notes, content -> sanitizeContent
278
- * - status -> validateEnum(TASK_STATUSES)
279
- * - priority -> validateEnum(VALID_PRIORITIES)
280
- * - domain -> validateEnum(VALID_DOMAINS)
281
- *
282
- * @param params - Raw request parameters
283
- * @param projectRoot - Project root for path sanitization
284
- * @returns Sanitized parameters
285
- * @throws SecurityError on validation failure
286
- */
287
- export function sanitizeParams(params, projectRoot, context) {
288
- if (!params) {
289
- return params;
290
- }
291
- const sanitized = { ...params };
292
- for (const [key, value] of Object.entries(sanitized)) {
293
- if (value === undefined || value === null) {
294
- continue;
295
- }
296
- // Task ID fields
297
- if (typeof value === 'string' &&
298
- (key === 'taskId' ||
299
- key === 'parent' ||
300
- key === 'epicId' ||
301
- key === 'parentId' ||
302
- key === 'newParentId' ||
303
- key === 'relatedId' ||
304
- key === 'targetId')) {
305
- // Allow empty string for 'parent' field (means "promote to root" / remove parent)
306
- if (key === 'parent' && value === '') {
307
- continue;
308
- }
309
- sanitized[key] = sanitizeTaskId(value);
310
- continue;
311
- }
312
- // Task ID arrays (depends, addDepends, removeDepends)
313
- if ((key === 'depends' || key === 'addDepends' || key === 'removeDepends') &&
314
- Array.isArray(value)) {
315
- sanitized[key] = value.map((v) => {
316
- if (typeof v === 'string') {
317
- return sanitizeTaskId(v);
318
- }
319
- return v;
320
- });
321
- continue;
322
- }
323
- // Path fields
324
- if (typeof value === 'string' && (key === 'path' || key === 'file') && projectRoot) {
325
- sanitized[key] = sanitizePath(value, projectRoot);
326
- continue;
327
- }
328
- // Content fields (with size limits)
329
- if (typeof value === 'string' &&
330
- (key === 'title' || key === 'description' || key === 'content')) {
331
- const maxLen = key === 'title' ? 200 : DEFAULT_MAX_CONTENT_LENGTH;
332
- sanitized[key] = sanitizeContent(value, maxLen);
333
- continue;
334
- }
335
- // Notes can be string or array of strings
336
- if (key === 'notes') {
337
- if (typeof value === 'string') {
338
- sanitized[key] = sanitizeContent(value);
339
- }
340
- else if (Array.isArray(value)) {
341
- sanitized[key] = value.map((v) => (typeof v === 'string' ? sanitizeContent(v) : v));
342
- }
343
- continue;
344
- }
345
- // Status enum - accept both task statuses and manifest statuses
346
- if (typeof value === 'string' && key === 'status') {
347
- const isLifecycleStageStatus = context?.domain === 'pipeline' && context?.operation === 'stage.record';
348
- sanitized[key] = validateEnum(value, isLifecycleStageStatus
349
- ? [...LIFECYCLE_STAGE_STATUSES]
350
- : [...TASK_STATUSES, ...MANIFEST_STATUSES], 'status');
351
- continue;
352
- }
353
- // Priority enum
354
- if (typeof value === 'string' && key === 'priority') {
355
- sanitized[key] = validateEnum(value, [...VALID_PRIORITIES], 'priority');
356
- }
357
- }
358
- return sanitized;
359
- }
360
- //# sourceMappingURL=security.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../../src/mcp/lib/security.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Verification Gate System for CLEO MCP Server
3
- *
4
- * Re-exports from canonical location at src/core/validation/operation-verification-gates.ts.
5
- * Retained for backward compatibility.
6
- *
7
- * @task T2936
8
- * @task T5707
9
- * @epic T2908
10
- */
11
- export type { GateViolation, LayerResult, OperationContext, VerificationResult, WorkflowGateAgent, WorkflowGateDefinition, WorkflowGateState, WorkflowGateStatus, } from '@cleocode/core/internal';
12
- export { createVerificationGate, GATE_SEQUENCE, GateLayer, GateStatus, getWorkflowGateDefinition, isValidWorkflowGateName, VerificationGate, WORKFLOW_GATE_DEFINITIONS, WORKFLOW_GATE_SEQUENCE, WorkflowGateName, WorkflowGateTracker, } from '@cleocode/core/internal';
13
- //# sourceMappingURL=verification-gates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verification-gates.d.ts","sourceRoot":"","sources":["../../../src/mcp/lib/verification-gates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,YAAY,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,SAAS,EACT,UAAU,EACV,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Verification Gate System for CLEO MCP Server
3
- *
4
- * Re-exports from canonical location at src/core/validation/operation-verification-gates.ts.
5
- * Retained for backward compatibility.
6
- *
7
- * @task T2936
8
- * @task T5707
9
- * @epic T2908
10
- */
11
- export { createVerificationGate, GATE_SEQUENCE, GateLayer, GateStatus, getWorkflowGateDefinition, isValidWorkflowGateName, VerificationGate, WORKFLOW_GATE_DEFINITIONS, WORKFLOW_GATE_SEQUENCE, WorkflowGateName, WorkflowGateTracker, } from '@cleocode/core/internal';
12
- //# sourceMappingURL=verification-gates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verification-gates.js","sourceRoot":"","sources":["../../../src/mcp/lib/verification-gates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,SAAS,EACT,UAAU,EACV,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC"}
@@ -1,22 +0,0 @@
1
- /**
2
- * LAFS Budget-Aware Truncation for MCP Resources
3
- *
4
- * Provides token estimation and truncation for MCP resource responses,
5
- * ensuring they stay within LAFS MVI budget constraints.
6
- *
7
- * @task T5240
8
- */
9
- /**
10
- * Estimate the number of tokens in a text string.
11
- * Uses a conservative character-based estimate (~4 chars per token).
12
- */
13
- export declare function estimateTokens(text: string): number;
14
- /**
15
- * Truncate text to fit within a token budget.
16
- *
17
- * @param text - Text content to potentially truncate
18
- * @param budget - Maximum token budget
19
- * @returns Truncated text with indicator if truncation occurred
20
- */
21
- export declare function truncateToTokenBudget(text: string, budget?: number): string;
22
- //# sourceMappingURL=budget.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../../src/mcp/resources/budget.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAwB3E"}
@@ -1,46 +0,0 @@
1
- /**
2
- * LAFS Budget-Aware Truncation for MCP Resources
3
- *
4
- * Provides token estimation and truncation for MCP resource responses,
5
- * ensuring they stay within LAFS MVI budget constraints.
6
- *
7
- * @task T5240
8
- */
9
- /** Default token budget for MCP resources (conservative). */
10
- const DEFAULT_RESOURCE_BUDGET = 500;
11
- /** Approximate tokens per character (conservative estimate). */
12
- const TOKENS_PER_CHAR = 0.25;
13
- /**
14
- * Estimate the number of tokens in a text string.
15
- * Uses a conservative character-based estimate (~4 chars per token).
16
- */
17
- export function estimateTokens(text) {
18
- return Math.ceil(text.length * TOKENS_PER_CHAR);
19
- }
20
- /**
21
- * Truncate text to fit within a token budget.
22
- *
23
- * @param text - Text content to potentially truncate
24
- * @param budget - Maximum token budget
25
- * @returns Truncated text with indicator if truncation occurred
26
- */
27
- export function truncateToTokenBudget(text, budget) {
28
- const maxTokens = budget ?? DEFAULT_RESOURCE_BUDGET;
29
- const estimated = estimateTokens(text);
30
- if (estimated <= maxTokens) {
31
- return text;
32
- }
33
- // Calculate max characters from budget
34
- const maxChars = Math.floor(maxTokens / TOKENS_PER_CHAR);
35
- // Find the last newline before the limit to truncate at line boundary
36
- const truncated = text.substring(0, maxChars);
37
- const lastNewline = truncated.lastIndexOf('\n');
38
- const cutPoint = lastNewline > 0 ? lastNewline : maxChars;
39
- return (text.substring(0, cutPoint) +
40
- '\n\n[Truncated: ~' +
41
- estimated +
42
- ' tokens, budget: ' +
43
- maxTokens +
44
- ']');
45
- }
46
- //# sourceMappingURL=budget.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../../src/mcp/resources/budget.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,6DAA6D;AAC7D,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,gEAAgE;AAChE,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,MAAe;IACjE,MAAM,SAAS,GAAG,MAAM,IAAI,uBAAuB,CAAC;IACpD,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uCAAuC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC;IAEzD,sEAAsE;IACtE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE1D,OAAO,CACL,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC;QAC3B,mBAAmB;QACnB,SAAS;QACT,mBAAmB;QACnB,SAAS;QACT,GAAG,CACJ,CAAC;AACJ,CAAC"}
@@ -1,53 +0,0 @@
1
- /**
2
- * MCP Resource Endpoints for CLEO Memory
3
- *
4
- * Provides dynamic, read-only resource URIs that serve brain.db content
5
- * to any MCP-compatible provider. No file writing needed — data is
6
- * served directly from brain.db.
7
- *
8
- * Resource URIs:
9
- * - cleo://memory/recent — Last 15 observations (compact)
10
- * - cleo://memory/learnings — Active learnings with confidence scores
11
- * - cleo://memory/patterns — Active patterns (follow/avoid)
12
- * - cleo://memory/handoff — Last session handoff summary
13
- *
14
- * @task T5240
15
- */
16
- import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
17
- /**
18
- * MCP Resource definition.
19
- */
20
- export interface McpResource {
21
- uri: string;
22
- name: string;
23
- description: string;
24
- mimeType: string;
25
- }
26
- /**
27
- * MCP Resource content response.
28
- */
29
- export interface McpResourceContent {
30
- uri: string;
31
- mimeType: string;
32
- text: string;
33
- }
34
- /**
35
- * List all available CLEO memory resources.
36
- */
37
- export declare function listMemoryResources(): McpResource[];
38
- /**
39
- * Register MCP resource handlers on the server.
40
- *
41
- * @param server - MCP Server instance
42
- */
43
- export declare function registerMemoryResources(server: Server): void;
44
- /**
45
- * Read a CLEO memory resource by URI.
46
- *
47
- * @param uri - Resource URI (e.g. "cleo://memory/recent")
48
- * @param tokenBudget - Optional token budget for truncation
49
- * @returns Resource content or null if URI is unknown
50
- */
51
- export declare function readMemoryResource(uri: string, tokenBudget?: number): Promise<McpResourceContent | null>;
52
- export { estimateTokens, truncateToTokenBudget } from './budget.js';
53
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/resources/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAeH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAOxE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,EAAE,CA2BnD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAiC5D;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAkDpC;AAyKD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}