@cleocode/mcp-server 0.86.0

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 (374) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +306 -0
  3. package/dist/domains/index.d.ts +16 -0
  4. package/dist/domains/index.d.ts.map +1 -0
  5. package/dist/domains/index.js +16 -0
  6. package/dist/domains/index.js.map +1 -0
  7. package/dist/domains/lifecycle.d.ts +147 -0
  8. package/dist/domains/lifecycle.d.ts.map +1 -0
  9. package/dist/domains/lifecycle.js +452 -0
  10. package/dist/domains/lifecycle.js.map +1 -0
  11. package/dist/domains/orchestrate.d.ts +133 -0
  12. package/dist/domains/orchestrate.d.ts.map +1 -0
  13. package/dist/domains/orchestrate.js +465 -0
  14. package/dist/domains/orchestrate.js.map +1 -0
  15. package/dist/domains/release.d.ts +109 -0
  16. package/dist/domains/release.d.ts.map +1 -0
  17. package/dist/domains/release.js +400 -0
  18. package/dist/domains/release.js.map +1 -0
  19. package/dist/domains/research.d.ts +139 -0
  20. package/dist/domains/research.d.ts.map +1 -0
  21. package/dist/domains/research.js +606 -0
  22. package/dist/domains/research.js.map +1 -0
  23. package/dist/domains/session.d.ts +129 -0
  24. package/dist/domains/session.d.ts.map +1 -0
  25. package/dist/domains/session.js +433 -0
  26. package/dist/domains/session.js.map +1 -0
  27. package/dist/domains/system.d.ts +92 -0
  28. package/dist/domains/system.d.ts.map +1 -0
  29. package/dist/domains/system.js +473 -0
  30. package/dist/domains/system.js.map +1 -0
  31. package/dist/domains/tasks.d.ts +180 -0
  32. package/dist/domains/tasks.d.ts.map +1 -0
  33. package/dist/domains/tasks.js +704 -0
  34. package/dist/domains/tasks.js.map +1 -0
  35. package/dist/domains/validate.d.ts +150 -0
  36. package/dist/domains/validate.d.ts.map +1 -0
  37. package/dist/domains/validate.js +568 -0
  38. package/dist/domains/validate.js.map +1 -0
  39. package/dist/gateways/mutate.d.ts +100 -0
  40. package/dist/gateways/mutate.d.ts.map +1 -0
  41. package/dist/gateways/mutate.js +937 -0
  42. package/dist/gateways/mutate.js.map +1 -0
  43. package/dist/gateways/query.d.ts +91 -0
  44. package/dist/gateways/query.d.ts.map +1 -0
  45. package/dist/gateways/query.js +245 -0
  46. package/dist/gateways/query.js.map +1 -0
  47. package/dist/index.d.ts +21 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +299 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/lib/audit.d.ts +118 -0
  52. package/dist/lib/audit.d.ts.map +1 -0
  53. package/dist/lib/audit.js +311 -0
  54. package/dist/lib/audit.js.map +1 -0
  55. package/dist/lib/background-jobs.d.ts +86 -0
  56. package/dist/lib/background-jobs.d.ts.map +1 -0
  57. package/dist/lib/background-jobs.js +183 -0
  58. package/dist/lib/background-jobs.js.map +1 -0
  59. package/dist/lib/cache.d.ts +78 -0
  60. package/dist/lib/cache.d.ts.map +1 -0
  61. package/dist/lib/cache.js +204 -0
  62. package/dist/lib/cache.js.map +1 -0
  63. package/dist/lib/command-builder.d.ts +52 -0
  64. package/dist/lib/command-builder.d.ts.map +1 -0
  65. package/dist/lib/command-builder.js +280 -0
  66. package/dist/lib/command-builder.js.map +1 -0
  67. package/dist/lib/config.d.ts +42 -0
  68. package/dist/lib/config.d.ts.map +1 -0
  69. package/dist/lib/config.js +248 -0
  70. package/dist/lib/config.js.map +1 -0
  71. package/dist/lib/defaults.d.ts +115 -0
  72. package/dist/lib/defaults.d.ts.map +1 -0
  73. package/dist/lib/defaults.js +61 -0
  74. package/dist/lib/defaults.js.map +1 -0
  75. package/dist/lib/error-handler.d.ts +101 -0
  76. package/dist/lib/error-handler.d.ts.map +1 -0
  77. package/dist/lib/error-handler.js +277 -0
  78. package/dist/lib/error-handler.js.map +1 -0
  79. package/dist/lib/executor.d.ts +110 -0
  80. package/dist/lib/executor.d.ts.map +1 -0
  81. package/dist/lib/executor.js +362 -0
  82. package/dist/lib/executor.js.map +1 -0
  83. package/dist/lib/exit-codes.d.ts +190 -0
  84. package/dist/lib/exit-codes.d.ts.map +1 -0
  85. package/dist/lib/exit-codes.js +1027 -0
  86. package/dist/lib/exit-codes.js.map +1 -0
  87. package/dist/lib/formatter.d.ts +196 -0
  88. package/dist/lib/formatter.d.ts.map +1 -0
  89. package/dist/lib/formatter.js +260 -0
  90. package/dist/lib/formatter.js.map +1 -0
  91. package/dist/lib/gate-validators.d.ts +103 -0
  92. package/dist/lib/gate-validators.d.ts.map +1 -0
  93. package/dist/lib/gate-validators.js +689 -0
  94. package/dist/lib/gate-validators.js.map +1 -0
  95. package/dist/lib/manifest-parser.d.ts +61 -0
  96. package/dist/lib/manifest-parser.d.ts.map +1 -0
  97. package/dist/lib/manifest-parser.js +338 -0
  98. package/dist/lib/manifest-parser.js.map +1 -0
  99. package/dist/lib/manifest.d.ts +177 -0
  100. package/dist/lib/manifest.d.ts.map +1 -0
  101. package/dist/lib/manifest.js +301 -0
  102. package/dist/lib/manifest.js.map +1 -0
  103. package/dist/lib/protocol-enforcement.d.ts +105 -0
  104. package/dist/lib/protocol-enforcement.d.ts.map +1 -0
  105. package/dist/lib/protocol-enforcement.js +331 -0
  106. package/dist/lib/protocol-enforcement.js.map +1 -0
  107. package/dist/lib/protocol-rules.d.ts +55 -0
  108. package/dist/lib/protocol-rules.d.ts.map +1 -0
  109. package/dist/lib/protocol-rules.js +760 -0
  110. package/dist/lib/protocol-rules.js.map +1 -0
  111. package/dist/lib/rate-limiter.d.ts +110 -0
  112. package/dist/lib/rate-limiter.d.ts.map +1 -0
  113. package/dist/lib/rate-limiter.js +208 -0
  114. package/dist/lib/rate-limiter.js.map +1 -0
  115. package/dist/lib/router.d.ts +126 -0
  116. package/dist/lib/router.d.ts.map +1 -0
  117. package/dist/lib/router.js +276 -0
  118. package/dist/lib/router.js.map +1 -0
  119. package/dist/lib/schema.d.ts +55 -0
  120. package/dist/lib/schema.d.ts.map +1 -0
  121. package/dist/lib/schema.js +70 -0
  122. package/dist/lib/schema.js.map +1 -0
  123. package/dist/lib/security.d.ts +156 -0
  124. package/dist/lib/security.d.ts.map +1 -0
  125. package/dist/lib/security.js +347 -0
  126. package/dist/lib/security.js.map +1 -0
  127. package/dist/lib/verification-gates.d.ts +287 -0
  128. package/dist/lib/verification-gates.d.ts.map +1 -0
  129. package/dist/lib/verification-gates.js +548 -0
  130. package/dist/lib/verification-gates.js.map +1 -0
  131. package/dist/types/domain.d.ts +29 -0
  132. package/dist/types/domain.d.ts.map +1 -0
  133. package/dist/types/domain.js +7 -0
  134. package/dist/types/domain.js.map +1 -0
  135. package/dist/types/error.d.ts +101 -0
  136. package/dist/types/error.d.ts.map +1 -0
  137. package/dist/types/error.js +61 -0
  138. package/dist/types/error.js.map +1 -0
  139. package/dist/types/gateway.d.ts +78 -0
  140. package/dist/types/gateway.d.ts.map +1 -0
  141. package/dist/types/gateway.js +7 -0
  142. package/dist/types/gateway.js.map +1 -0
  143. package/dist/types/index.d.ts +21 -0
  144. package/dist/types/index.d.ts.map +1 -0
  145. package/dist/types/index.js +11 -0
  146. package/dist/types/index.js.map +1 -0
  147. package/dist/types/operations/lifecycle.d.ts +140 -0
  148. package/dist/types/operations/lifecycle.d.ts.map +1 -0
  149. package/dist/types/operations/lifecycle.js +8 -0
  150. package/dist/types/operations/lifecycle.js.map +1 -0
  151. package/dist/types/operations/orchestrate.d.ts +140 -0
  152. package/dist/types/operations/orchestrate.d.ts.map +1 -0
  153. package/dist/types/operations/orchestrate.js +8 -0
  154. package/dist/types/operations/orchestrate.js.map +1 -0
  155. package/dist/types/operations/release.d.ts +97 -0
  156. package/dist/types/operations/release.d.ts.map +1 -0
  157. package/dist/types/operations/release.js +7 -0
  158. package/dist/types/operations/release.js.map +1 -0
  159. package/dist/types/operations/research.d.ts +122 -0
  160. package/dist/types/operations/research.d.ts.map +1 -0
  161. package/dist/types/operations/research.js +8 -0
  162. package/dist/types/operations/research.js.map +1 -0
  163. package/dist/types/operations/session.d.ts +108 -0
  164. package/dist/types/operations/session.d.ts.map +1 -0
  165. package/dist/types/operations/session.js +8 -0
  166. package/dist/types/operations/session.js.map +1 -0
  167. package/dist/types/operations/system.d.ts +147 -0
  168. package/dist/types/operations/system.d.ts.map +1 -0
  169. package/dist/types/operations/system.js +8 -0
  170. package/dist/types/operations/system.js.map +1 -0
  171. package/dist/types/operations/tasks.d.ts +186 -0
  172. package/dist/types/operations/tasks.d.ts.map +1 -0
  173. package/dist/types/operations/tasks.js +8 -0
  174. package/dist/types/operations/tasks.js.map +1 -0
  175. package/dist/types/operations/validate.d.ts +170 -0
  176. package/dist/types/operations/validate.d.ts.map +1 -0
  177. package/dist/types/operations/validate.js +8 -0
  178. package/dist/types/operations/validate.js.map +1 -0
  179. package/package.json +67 -0
  180. package/schemas/IMPLEMENTATION-SUMMARY.md +250 -0
  181. package/schemas/README.md +284 -0
  182. package/schemas/common/error.schema.json +54 -0
  183. package/schemas/common/meta.schema.json +39 -0
  184. package/schemas/common/pagination.schema.json +32 -0
  185. package/schemas/index.json +159 -0
  186. package/schemas/requests/lifecycle/check.schema.json +20 -0
  187. package/schemas/requests/lifecycle/gate.fail.schema.json +25 -0
  188. package/schemas/requests/lifecycle/gate.pass.schema.json +28 -0
  189. package/schemas/requests/lifecycle/gates.schema.json +15 -0
  190. package/schemas/requests/lifecycle/history.schema.json +15 -0
  191. package/schemas/requests/lifecycle/prerequisites.schema.json +15 -0
  192. package/schemas/requests/lifecycle/progress.schema.json +29 -0
  193. package/schemas/requests/lifecycle/reset.schema.json +25 -0
  194. package/schemas/requests/lifecycle/skip.schema.json +25 -0
  195. package/schemas/requests/lifecycle/status.schema.json +23 -0
  196. package/schemas/requests/orchestrate/analyze.schema.json +15 -0
  197. package/schemas/requests/orchestrate/context.schema.json +13 -0
  198. package/schemas/requests/orchestrate/next.schema.json +15 -0
  199. package/schemas/requests/orchestrate/parallel.end.schema.json +20 -0
  200. package/schemas/requests/orchestrate/parallel.start.schema.json +20 -0
  201. package/schemas/requests/orchestrate/ready.schema.json +15 -0
  202. package/schemas/requests/orchestrate/skill.list.schema.json +13 -0
  203. package/schemas/requests/orchestrate/spawn.schema.json +25 -0
  204. package/schemas/requests/orchestrate/startup.schema.json +15 -0
  205. package/schemas/requests/orchestrate/status.schema.json +15 -0
  206. package/schemas/requests/orchestrate/validate.schema.json +15 -0
  207. package/schemas/requests/orchestrate/waves.schema.json +15 -0
  208. package/schemas/requests/release/changelog.schema.json +23 -0
  209. package/schemas/requests/release/commit.schema.json +22 -0
  210. package/schemas/requests/release/gates.run.schema.json +17 -0
  211. package/schemas/requests/release/prepare.schema.json +20 -0
  212. package/schemas/requests/release/push.schema.json +20 -0
  213. package/schemas/requests/release/rollback.schema.json +20 -0
  214. package/schemas/requests/release/tag.schema.json +19 -0
  215. package/schemas/requests/research/inject.schema.json +24 -0
  216. package/schemas/requests/research/link.schema.json +25 -0
  217. package/schemas/requests/research/list.schema.json +19 -0
  218. package/schemas/requests/research/manifest.append.schema.json +20 -0
  219. package/schemas/requests/research/manifest.archive.schema.json +19 -0
  220. package/schemas/requests/research/manifest.read.schema.json +21 -0
  221. package/schemas/requests/research/pending.schema.json +14 -0
  222. package/schemas/requests/research/query.schema.json +21 -0
  223. package/schemas/requests/research/show.schema.json +14 -0
  224. package/schemas/requests/research/stats.schema.json +14 -0
  225. package/schemas/requests/session/end.schema.json +13 -0
  226. package/schemas/requests/session/focus.clear.schema.json +7 -0
  227. package/schemas/requests/session/focus.get.schema.json +7 -0
  228. package/schemas/requests/session/focus.set.schema.json +15 -0
  229. package/schemas/requests/session/gc.schema.json +14 -0
  230. package/schemas/requests/session/history.schema.json +16 -0
  231. package/schemas/requests/session/list.schema.json +13 -0
  232. package/schemas/requests/session/resume.schema.json +14 -0
  233. package/schemas/requests/session/show.schema.json +14 -0
  234. package/schemas/requests/session/start.schema.json +23 -0
  235. package/schemas/requests/session/status.schema.json +7 -0
  236. package/schemas/requests/session/suspend.schema.json +13 -0
  237. package/schemas/requests/system/backup.schema.json +19 -0
  238. package/schemas/requests/system/cleanup.schema.json +20 -0
  239. package/schemas/requests/system/config.get.schema.json +14 -0
  240. package/schemas/requests/system/config.set.schema.json +24 -0
  241. package/schemas/requests/system/context.schema.json +7 -0
  242. package/schemas/requests/system/doctor.schema.json +7 -0
  243. package/schemas/requests/system/init.schema.json +18 -0
  244. package/schemas/requests/system/migrate.schema.json +19 -0
  245. package/schemas/requests/system/restore.schema.json +14 -0
  246. package/schemas/requests/system/stats.schema.json +7 -0
  247. package/schemas/requests/system/sync.schema.json +15 -0
  248. package/schemas/requests/system/version.schema.json +7 -0
  249. package/schemas/requests/tasks/analyze.schema.json +14 -0
  250. package/schemas/requests/tasks/archive.schema.json +19 -0
  251. package/schemas/requests/tasks/blockers.schema.json +15 -0
  252. package/schemas/requests/tasks/complete.schema.json +24 -0
  253. package/schemas/requests/tasks/create.schema.json +48 -0
  254. package/schemas/requests/tasks/delete.schema.json +20 -0
  255. package/schemas/requests/tasks/deps.schema.json +21 -0
  256. package/schemas/requests/tasks/exists.schema.json +15 -0
  257. package/schemas/requests/tasks/find.schema.json +22 -0
  258. package/schemas/requests/tasks/get.schema.json +15 -0
  259. package/schemas/requests/tasks/list.schema.json +26 -0
  260. package/schemas/requests/tasks/next.schema.json +21 -0
  261. package/schemas/requests/tasks/promote.schema.json +15 -0
  262. package/schemas/requests/tasks/reopen.schema.json +15 -0
  263. package/schemas/requests/tasks/reorder.schema.json +20 -0
  264. package/schemas/requests/tasks/reparent.schema.json +20 -0
  265. package/schemas/requests/tasks/tree.schema.json +21 -0
  266. package/schemas/requests/tasks/unarchive.schema.json +15 -0
  267. package/schemas/requests/tasks/update.schema.json +41 -0
  268. package/schemas/requests/validate/compliance.record.schema.json +20 -0
  269. package/schemas/requests/validate/compliance.summary.schema.json +18 -0
  270. package/schemas/requests/validate/compliance.violations.schema.json +19 -0
  271. package/schemas/requests/validate/manifest.schema.json +23 -0
  272. package/schemas/requests/validate/output.schema.json +19 -0
  273. package/schemas/requests/validate/protocol.schema.json +20 -0
  274. package/schemas/requests/validate/schema.schema.json +19 -0
  275. package/schemas/requests/validate/task.schema.json +21 -0
  276. package/schemas/requests/validate/test.coverage.schema.json +14 -0
  277. package/schemas/requests/validate/test.run.schema.json +22 -0
  278. package/schemas/requests/validate/test.status.schema.json +14 -0
  279. package/schemas/responses/common-error.schema.json +20 -0
  280. package/schemas/responses/common-success.schema.json +21 -0
  281. package/schemas/responses/lifecycle/check.schema.json +18 -0
  282. package/schemas/responses/lifecycle/gate.fail.schema.json +18 -0
  283. package/schemas/responses/lifecycle/gate.pass.schema.json +18 -0
  284. package/schemas/responses/lifecycle/gates.schema.json +18 -0
  285. package/schemas/responses/lifecycle/history.schema.json +18 -0
  286. package/schemas/responses/lifecycle/prerequisites.schema.json +18 -0
  287. package/schemas/responses/lifecycle/progress.schema.json +18 -0
  288. package/schemas/responses/lifecycle/reset.schema.json +18 -0
  289. package/schemas/responses/lifecycle/skip.schema.json +18 -0
  290. package/schemas/responses/lifecycle/status.schema.json +18 -0
  291. package/schemas/responses/orchestrate/analyze.schema.json +18 -0
  292. package/schemas/responses/orchestrate/context.schema.json +18 -0
  293. package/schemas/responses/orchestrate/next.schema.json +18 -0
  294. package/schemas/responses/orchestrate/parallel.end.schema.json +18 -0
  295. package/schemas/responses/orchestrate/parallel.start.schema.json +18 -0
  296. package/schemas/responses/orchestrate/ready.schema.json +18 -0
  297. package/schemas/responses/orchestrate/skill.list.schema.json +18 -0
  298. package/schemas/responses/orchestrate/spawn.schema.json +18 -0
  299. package/schemas/responses/orchestrate/startup.schema.json +18 -0
  300. package/schemas/responses/orchestrate/status.schema.json +18 -0
  301. package/schemas/responses/orchestrate/validate.schema.json +18 -0
  302. package/schemas/responses/orchestrate/waves.schema.json +18 -0
  303. package/schemas/responses/release/changelog.schema.json +18 -0
  304. package/schemas/responses/release/commit.schema.json +18 -0
  305. package/schemas/responses/release/gates.run.schema.json +18 -0
  306. package/schemas/responses/release/prepare.schema.json +18 -0
  307. package/schemas/responses/release/push.schema.json +18 -0
  308. package/schemas/responses/release/rollback.schema.json +18 -0
  309. package/schemas/responses/release/tag.schema.json +18 -0
  310. package/schemas/responses/research/inject.schema.json +18 -0
  311. package/schemas/responses/research/link.schema.json +18 -0
  312. package/schemas/responses/research/list.schema.json +18 -0
  313. package/schemas/responses/research/manifest.append.schema.json +18 -0
  314. package/schemas/responses/research/manifest.archive.schema.json +18 -0
  315. package/schemas/responses/research/manifest.read.schema.json +18 -0
  316. package/schemas/responses/research/pending.schema.json +18 -0
  317. package/schemas/responses/research/query.schema.json +18 -0
  318. package/schemas/responses/research/show.schema.json +18 -0
  319. package/schemas/responses/research/stats.schema.json +18 -0
  320. package/schemas/responses/session/end.schema.json +18 -0
  321. package/schemas/responses/session/focus.clear.schema.json +18 -0
  322. package/schemas/responses/session/focus.get.schema.json +18 -0
  323. package/schemas/responses/session/focus.set.schema.json +18 -0
  324. package/schemas/responses/session/gc.schema.json +18 -0
  325. package/schemas/responses/session/history.schema.json +18 -0
  326. package/schemas/responses/session/list.schema.json +18 -0
  327. package/schemas/responses/session/resume.schema.json +18 -0
  328. package/schemas/responses/session/show.schema.json +18 -0
  329. package/schemas/responses/session/start.schema.json +18 -0
  330. package/schemas/responses/session/status.schema.json +18 -0
  331. package/schemas/responses/session/suspend.schema.json +18 -0
  332. package/schemas/responses/system/backup.schema.json +18 -0
  333. package/schemas/responses/system/cleanup.schema.json +18 -0
  334. package/schemas/responses/system/config.get.schema.json +18 -0
  335. package/schemas/responses/system/config.set.schema.json +18 -0
  336. package/schemas/responses/system/context.schema.json +18 -0
  337. package/schemas/responses/system/doctor.schema.json +18 -0
  338. package/schemas/responses/system/init.schema.json +18 -0
  339. package/schemas/responses/system/migrate.schema.json +18 -0
  340. package/schemas/responses/system/restore.schema.json +18 -0
  341. package/schemas/responses/system/stats.schema.json +18 -0
  342. package/schemas/responses/system/sync.schema.json +18 -0
  343. package/schemas/responses/system/version.schema.json +18 -0
  344. package/schemas/responses/tasks/analyze.schema.json +18 -0
  345. package/schemas/responses/tasks/archive.schema.json +18 -0
  346. package/schemas/responses/tasks/blockers.schema.json +18 -0
  347. package/schemas/responses/tasks/complete.schema.json +18 -0
  348. package/schemas/responses/tasks/create.schema.json +18 -0
  349. package/schemas/responses/tasks/delete.schema.json +18 -0
  350. package/schemas/responses/tasks/deps.schema.json +18 -0
  351. package/schemas/responses/tasks/exists.schema.json +18 -0
  352. package/schemas/responses/tasks/find.schema.json +18 -0
  353. package/schemas/responses/tasks/get.schema.json +87 -0
  354. package/schemas/responses/tasks/list.schema.json +18 -0
  355. package/schemas/responses/tasks/next.schema.json +18 -0
  356. package/schemas/responses/tasks/promote.schema.json +18 -0
  357. package/schemas/responses/tasks/reopen.schema.json +18 -0
  358. package/schemas/responses/tasks/reorder.schema.json +18 -0
  359. package/schemas/responses/tasks/reparent.schema.json +18 -0
  360. package/schemas/responses/tasks/tree.schema.json +18 -0
  361. package/schemas/responses/tasks/unarchive.schema.json +18 -0
  362. package/schemas/responses/tasks/update.schema.json +18 -0
  363. package/schemas/responses/validate/compliance.record.schema.json +18 -0
  364. package/schemas/responses/validate/compliance.summary.schema.json +18 -0
  365. package/schemas/responses/validate/compliance.violations.schema.json +18 -0
  366. package/schemas/responses/validate/manifest.schema.json +18 -0
  367. package/schemas/responses/validate/output.schema.json +18 -0
  368. package/schemas/responses/validate/protocol.schema.json +18 -0
  369. package/schemas/responses/validate/schema.schema.json +18 -0
  370. package/schemas/responses/validate/task.schema.json +18 -0
  371. package/schemas/responses/validate/test.coverage.schema.json +18 -0
  372. package/schemas/responses/validate/test.run.schema.json +18 -0
  373. package/schemas/responses/validate/test.status.schema.json +18 -0
  374. package/server.json +53 -0
@@ -0,0 +1,548 @@
1
+ /**
2
+ * Verification Gate System for CLEO MCP Server
3
+ *
4
+ * @task T2936
5
+ * @epic T2908
6
+ *
7
+ * Implements 4-layer validation gate system:
8
+ * Layer 1: Schema Validation (JSON Schema compliance)
9
+ * Layer 2: Semantic Validation (Business rules)
10
+ * Layer 3: Referential Validation (Cross-entity integrity)
11
+ * Layer 4: Protocol Validation (RCSD-IVTR lifecycle)
12
+ *
13
+ * Reference: docs/specs/MCP-SERVER-SPECIFICATION.md Section 7
14
+ */
15
+ import { ExitCode, ErrorCategory, ErrorSeverity } from './exit-codes.js';
16
+ import { ProtocolEnforcer } from './protocol-enforcement.js';
17
+ import { validateLayer1Schema, validateLayer2Semantic, validateLayer3Referential, validateLayer4Protocol, } from './gate-validators.js';
18
+ /**
19
+ * Gate layer enumeration
20
+ */
21
+ export var GateLayer;
22
+ (function (GateLayer) {
23
+ GateLayer[GateLayer["SCHEMA"] = 1] = "SCHEMA";
24
+ GateLayer[GateLayer["SEMANTIC"] = 2] = "SEMANTIC";
25
+ GateLayer[GateLayer["REFERENTIAL"] = 3] = "REFERENTIAL";
26
+ GateLayer[GateLayer["PROTOCOL"] = 4] = "PROTOCOL";
27
+ })(GateLayer || (GateLayer = {}));
28
+ /**
29
+ * Gate status for each layer
30
+ */
31
+ export var GateStatus;
32
+ (function (GateStatus) {
33
+ GateStatus["PENDING"] = "pending";
34
+ GateStatus["PASSED"] = "passed";
35
+ GateStatus["FAILED"] = "failed";
36
+ GateStatus["BLOCKED"] = "blocked";
37
+ GateStatus["SKIPPED"] = "skipped";
38
+ })(GateStatus || (GateStatus = {}));
39
+ /**
40
+ * Main Verification Gate class
41
+ *
42
+ * Orchestrates 4-layer validation and determines pass/fail status.
43
+ * Each layer must pass before proceeding to the next.
44
+ */
45
+ export class VerificationGate {
46
+ protocolEnforcer;
47
+ strictMode;
48
+ constructor(strictMode = true) {
49
+ this.protocolEnforcer = new ProtocolEnforcer(strictMode);
50
+ this.strictMode = strictMode;
51
+ }
52
+ /**
53
+ * Execute all 4 gate layers sequentially
54
+ *
55
+ * Stops at first failure unless in advisory mode.
56
+ */
57
+ async verifyOperation(context) {
58
+ const startTime = Date.now();
59
+ const layers = {};
60
+ // Layer 1: Schema Validation
61
+ const schemaResult = await this.runLayer(GateLayer.SCHEMA, () => validateLayer1Schema(context));
62
+ layers[GateLayer.SCHEMA] = schemaResult;
63
+ if (!schemaResult.passed && this.strictMode) {
64
+ return this.buildFailureResult(layers, GateLayer.SCHEMA);
65
+ }
66
+ // Layer 2: Semantic Validation
67
+ const semanticResult = await this.runLayer(GateLayer.SEMANTIC, () => validateLayer2Semantic(context));
68
+ layers[GateLayer.SEMANTIC] = semanticResult;
69
+ if (!semanticResult.passed && this.strictMode) {
70
+ return this.buildFailureResult(layers, GateLayer.SEMANTIC);
71
+ }
72
+ // Layer 3: Referential Validation
73
+ const referentialResult = await this.runLayer(GateLayer.REFERENTIAL, () => validateLayer3Referential(context));
74
+ layers[GateLayer.REFERENTIAL] = referentialResult;
75
+ if (!referentialResult.passed && this.strictMode) {
76
+ return this.buildFailureResult(layers, GateLayer.REFERENTIAL);
77
+ }
78
+ // Layer 4: Protocol Validation
79
+ const protocolResult = await this.runLayer(GateLayer.PROTOCOL, () => validateLayer4Protocol(context, this.protocolEnforcer));
80
+ layers[GateLayer.PROTOCOL] = protocolResult;
81
+ if (!protocolResult.passed && this.strictMode) {
82
+ return this.buildFailureResult(layers, GateLayer.PROTOCOL);
83
+ }
84
+ // All gates passed
85
+ return this.buildSuccessResult(layers);
86
+ }
87
+ /**
88
+ * Run a single validation layer with timing
89
+ */
90
+ async runLayer(layer, validator) {
91
+ const startTime = Date.now();
92
+ try {
93
+ const result = await validator();
94
+ result.duration_ms = Date.now() - startTime;
95
+ return result;
96
+ }
97
+ catch (error) {
98
+ // Convert exceptions to layer failures
99
+ return {
100
+ layer,
101
+ status: GateStatus.FAILED,
102
+ passed: false,
103
+ violations: [
104
+ {
105
+ layer,
106
+ severity: ErrorSeverity.ERROR,
107
+ code: 'E_VALIDATION_ERROR',
108
+ message: error instanceof Error ? error.message : String(error),
109
+ },
110
+ ],
111
+ duration_ms: Date.now() - startTime,
112
+ };
113
+ }
114
+ }
115
+ /**
116
+ * Build success result when all gates pass
117
+ */
118
+ buildSuccessResult(layers) {
119
+ return {
120
+ passed: true,
121
+ layers,
122
+ totalViolations: 0,
123
+ exitCode: ExitCode.SUCCESS,
124
+ category: ErrorCategory.GENERAL,
125
+ summary: 'All verification gates passed',
126
+ };
127
+ }
128
+ /**
129
+ * Build failure result when a gate fails
130
+ */
131
+ buildFailureResult(layers, blockedAt) {
132
+ const failedLayer = layers[blockedAt];
133
+ const totalViolations = Object.values(layers).reduce((sum, layer) => sum + layer.violations.length, 0);
134
+ // Determine exit code based on layer and violation type
135
+ let exitCode = ExitCode.E_VALIDATION_ERROR;
136
+ let category = ErrorCategory.GENERAL;
137
+ if (blockedAt === GateLayer.SCHEMA) {
138
+ exitCode = ExitCode.E_VALIDATION_ERROR;
139
+ category = ErrorCategory.GENERAL;
140
+ }
141
+ else if (blockedAt === GateLayer.SEMANTIC) {
142
+ exitCode = this.determineSemanticExitCode(failedLayer.violations);
143
+ category = ErrorCategory.HIERARCHY;
144
+ }
145
+ else if (blockedAt === GateLayer.REFERENTIAL) {
146
+ exitCode = this.determineReferentialExitCode(failedLayer.violations);
147
+ category = ErrorCategory.HIERARCHY;
148
+ }
149
+ else if (blockedAt === GateLayer.PROTOCOL) {
150
+ exitCode = this.determineProtocolExitCode(failedLayer.violations);
151
+ category = ErrorCategory.PROTOCOL;
152
+ }
153
+ return {
154
+ passed: false,
155
+ layers,
156
+ totalViolations,
157
+ exitCode,
158
+ category,
159
+ summary: `Verification failed at layer ${blockedAt}: ${failedLayer.violations[0]?.message || 'Unknown error'}`,
160
+ blockedAt,
161
+ };
162
+ }
163
+ /**
164
+ * Determine semantic layer exit code from violations
165
+ */
166
+ determineSemanticExitCode(violations) {
167
+ // Check for specific semantic errors
168
+ for (const v of violations) {
169
+ if (v.code.includes('PARENT'))
170
+ return ExitCode.E_PARENT_NOT_FOUND;
171
+ if (v.code.includes('DEPTH'))
172
+ return ExitCode.E_DEPTH_EXCEEDED;
173
+ if (v.code.includes('SIBLING'))
174
+ return ExitCode.E_SIBLING_LIMIT;
175
+ if (v.code.includes('CIRCULAR'))
176
+ return ExitCode.E_CIRCULAR_REFERENCE;
177
+ if (v.code.includes('SESSION'))
178
+ return ExitCode.E_SESSION_REQUIRED;
179
+ }
180
+ return ExitCode.E_VALIDATION_ERROR;
181
+ }
182
+ /**
183
+ * Determine referential layer exit code from violations
184
+ */
185
+ determineReferentialExitCode(violations) {
186
+ for (const v of violations) {
187
+ if (v.code.includes('NOT_FOUND'))
188
+ return ExitCode.E_NOT_FOUND;
189
+ if (v.code.includes('PARENT'))
190
+ return ExitCode.E_PARENT_NOT_FOUND;
191
+ if (v.code.includes('DEPENDENCY'))
192
+ return ExitCode.E_DEPENDENCY_ERROR;
193
+ }
194
+ return ExitCode.E_NOT_FOUND;
195
+ }
196
+ /**
197
+ * Determine protocol layer exit code from violations
198
+ */
199
+ determineProtocolExitCode(violations) {
200
+ // Protocol violations map directly to 60-70 range
201
+ for (const v of violations) {
202
+ if (v.code.includes('RESEARCH'))
203
+ return ExitCode.E_PROTOCOL_RESEARCH;
204
+ if (v.code.includes('CONSENSUS'))
205
+ return ExitCode.E_PROTOCOL_CONSENSUS;
206
+ if (v.code.includes('SPECIFICATION'))
207
+ return ExitCode.E_PROTOCOL_SPECIFICATION;
208
+ if (v.code.includes('DECOMPOSITION'))
209
+ return ExitCode.E_PROTOCOL_DECOMPOSITION;
210
+ if (v.code.includes('IMPLEMENTATION'))
211
+ return ExitCode.E_PROTOCOL_IMPLEMENTATION;
212
+ if (v.code.includes('CONTRIBUTION'))
213
+ return ExitCode.E_PROTOCOL_CONTRIBUTION;
214
+ if (v.code.includes('RELEASE'))
215
+ return ExitCode.E_PROTOCOL_RELEASE;
216
+ if (v.code.includes('VALIDATION'))
217
+ return ExitCode.E_PROTOCOL_VALIDATION;
218
+ if (v.code.includes('TESTING'))
219
+ return ExitCode.E_TESTS_SKIPPED;
220
+ if (v.code.includes('LIFECYCLE'))
221
+ return ExitCode.E_LIFECYCLE_GATE_FAILED;
222
+ }
223
+ return ExitCode.E_PROTOCOL_GENERIC;
224
+ }
225
+ /**
226
+ * Check if an operation requires gate validation
227
+ *
228
+ * All mutate operations require validation.
229
+ * Query operations skip validation for performance.
230
+ */
231
+ static requiresValidation(context) {
232
+ // All mutate operations require validation
233
+ if (context.gateway === 'cleo_mutate') {
234
+ return true;
235
+ }
236
+ // Query operations are read-only, skip validation
237
+ return false;
238
+ }
239
+ /**
240
+ * Get human-readable layer name
241
+ */
242
+ static getLayerName(layer) {
243
+ const names = {
244
+ [GateLayer.SCHEMA]: 'Schema Validation',
245
+ [GateLayer.SEMANTIC]: 'Semantic Validation',
246
+ [GateLayer.REFERENTIAL]: 'Referential Validation',
247
+ [GateLayer.PROTOCOL]: 'Protocol Validation',
248
+ };
249
+ return names[layer];
250
+ }
251
+ }
252
+ /**
253
+ * Factory function for creating verification gates
254
+ */
255
+ export function createVerificationGate(strictMode = true) {
256
+ return new VerificationGate(strictMode);
257
+ }
258
+ /**
259
+ * Export gate layer sequence for external use
260
+ */
261
+ export const GATE_SEQUENCE = [
262
+ GateLayer.SCHEMA,
263
+ GateLayer.SEMANTIC,
264
+ GateLayer.REFERENTIAL,
265
+ GateLayer.PROTOCOL,
266
+ ];
267
+ // ============================================================================
268
+ // Section 7: Workflow Verification Gates
269
+ // ============================================================================
270
+ /**
271
+ * Workflow gate names per MCP-SERVER-SPECIFICATION.md Section 7.1
272
+ *
273
+ * Sequence: implemented → testsPassed → qaPassed → cleanupDone → securityPassed → documented
274
+ *
275
+ * @task T3141
276
+ */
277
+ export var WorkflowGateName;
278
+ (function (WorkflowGateName) {
279
+ WorkflowGateName["IMPLEMENTED"] = "implemented";
280
+ WorkflowGateName["TESTS_PASSED"] = "testsPassed";
281
+ WorkflowGateName["QA_PASSED"] = "qaPassed";
282
+ WorkflowGateName["CLEANUP_DONE"] = "cleanupDone";
283
+ WorkflowGateName["SECURITY_PASSED"] = "securityPassed";
284
+ WorkflowGateName["DOCUMENTED"] = "documented";
285
+ })(WorkflowGateName || (WorkflowGateName = {}));
286
+ /**
287
+ * Complete workflow gate definitions per Section 7.2
288
+ */
289
+ export const WORKFLOW_GATE_DEFINITIONS = [
290
+ {
291
+ name: WorkflowGateName.IMPLEMENTED,
292
+ agent: 'coder',
293
+ dependsOn: [],
294
+ description: 'Code implementation complete',
295
+ },
296
+ {
297
+ name: WorkflowGateName.TESTS_PASSED,
298
+ agent: 'testing',
299
+ dependsOn: [WorkflowGateName.IMPLEMENTED],
300
+ description: 'All tests passing',
301
+ },
302
+ {
303
+ name: WorkflowGateName.QA_PASSED,
304
+ agent: 'qa',
305
+ dependsOn: [WorkflowGateName.TESTS_PASSED],
306
+ description: 'QA review approved',
307
+ },
308
+ {
309
+ name: WorkflowGateName.CLEANUP_DONE,
310
+ agent: 'cleanup',
311
+ dependsOn: [WorkflowGateName.QA_PASSED],
312
+ description: 'Code cleanup finished',
313
+ },
314
+ {
315
+ name: WorkflowGateName.SECURITY_PASSED,
316
+ agent: 'security',
317
+ dependsOn: [WorkflowGateName.CLEANUP_DONE],
318
+ description: 'Security audit passed',
319
+ },
320
+ {
321
+ name: WorkflowGateName.DOCUMENTED,
322
+ agent: 'docs',
323
+ dependsOn: [WorkflowGateName.SECURITY_PASSED],
324
+ description: 'Documentation complete',
325
+ },
326
+ ];
327
+ /**
328
+ * Ordered workflow gate sequence per Section 7.1
329
+ */
330
+ export const WORKFLOW_GATE_SEQUENCE = [
331
+ WorkflowGateName.IMPLEMENTED,
332
+ WorkflowGateName.TESTS_PASSED,
333
+ WorkflowGateName.QA_PASSED,
334
+ WorkflowGateName.CLEANUP_DONE,
335
+ WorkflowGateName.SECURITY_PASSED,
336
+ WorkflowGateName.DOCUMENTED,
337
+ ];
338
+ /**
339
+ * Map from gate name to definition for fast lookup
340
+ */
341
+ const GATE_DEF_MAP = Object.fromEntries(WORKFLOW_GATE_DEFINITIONS.map((d) => [d.name, d]));
342
+ /**
343
+ * WorkflowGateTracker
344
+ *
345
+ * Tracks the status of all 6 workflow verification gates for a task.
346
+ * Implements Section 7.4 failure cascade behavior: when a gate fails,
347
+ * all downstream gates reset to null.
348
+ *
349
+ * @task T3141
350
+ */
351
+ export class WorkflowGateTracker {
352
+ gates;
353
+ constructor() {
354
+ this.gates = new Map();
355
+ for (const def of WORKFLOW_GATE_DEFINITIONS) {
356
+ this.gates.set(def.name, {
357
+ name: def.name,
358
+ status: null,
359
+ agent: def.agent,
360
+ updatedAt: null,
361
+ });
362
+ }
363
+ }
364
+ /**
365
+ * Get the status of a specific gate
366
+ */
367
+ getGateStatus(gateName) {
368
+ const gate = this.gates.get(gateName);
369
+ return gate ? gate.status : null;
370
+ }
371
+ /**
372
+ * Get the full state of a specific gate
373
+ */
374
+ getGateState(gateName) {
375
+ return this.gates.get(gateName);
376
+ }
377
+ /**
378
+ * Get all gate states
379
+ */
380
+ getAllGates() {
381
+ return WORKFLOW_GATE_SEQUENCE.map((name) => this.gates.get(name));
382
+ }
383
+ /**
384
+ * Check if a gate can be attempted (all dependencies passed)
385
+ */
386
+ canAttempt(gateName) {
387
+ const def = GATE_DEF_MAP[gateName];
388
+ if (!def)
389
+ return false;
390
+ for (const dep of def.dependsOn) {
391
+ const depState = this.gates.get(dep);
392
+ if (!depState || depState.status !== 'passed') {
393
+ return false;
394
+ }
395
+ }
396
+ return true;
397
+ }
398
+ /**
399
+ * Mark a gate as passed.
400
+ *
401
+ * Returns false if the gate cannot be attempted (dependencies not met).
402
+ */
403
+ passGate(gateName, agent) {
404
+ if (!this.isValidGate(gateName))
405
+ return false;
406
+ if (!this.canAttempt(gateName))
407
+ return false;
408
+ const gate = this.gates.get(gateName);
409
+ const expectedAgent = GATE_DEF_MAP[gateName].agent;
410
+ if (agent && agent !== expectedAgent)
411
+ return false;
412
+ gate.status = 'passed';
413
+ gate.updatedAt = new Date().toISOString();
414
+ delete gate.failureReason;
415
+ return true;
416
+ }
417
+ /**
418
+ * Mark a gate as failed.
419
+ *
420
+ * Per Section 7.4: When a gate fails, all downstream gates reset to null.
421
+ */
422
+ failGate(gateName, reason) {
423
+ if (!this.isValidGate(gateName))
424
+ return false;
425
+ const gate = this.gates.get(gateName);
426
+ gate.status = 'failed';
427
+ gate.updatedAt = new Date().toISOString();
428
+ if (reason)
429
+ gate.failureReason = reason;
430
+ // Section 7.4 failure cascade: reset all downstream gates to null
431
+ this.cascadeReset(gateName);
432
+ return true;
433
+ }
434
+ /**
435
+ * Reset a gate and all downstream gates to null.
436
+ *
437
+ * Used for failure cascade per Section 7.4.
438
+ */
439
+ cascadeReset(failedGateName) {
440
+ const failedIndex = WORKFLOW_GATE_SEQUENCE.indexOf(failedGateName);
441
+ if (failedIndex === -1)
442
+ return;
443
+ // Reset all gates downstream of the failed gate
444
+ for (let i = failedIndex + 1; i < WORKFLOW_GATE_SEQUENCE.length; i++) {
445
+ const downstreamName = WORKFLOW_GATE_SEQUENCE[i];
446
+ const downstreamGate = this.gates.get(downstreamName);
447
+ downstreamGate.status = null;
448
+ downstreamGate.updatedAt = null;
449
+ delete downstreamGate.failureReason;
450
+ }
451
+ }
452
+ /**
453
+ * Update blocked status for all gates based on current state.
454
+ *
455
+ * A gate is blocked if it hasn't been attempted (null) and its
456
+ * dependencies are not all passed.
457
+ */
458
+ updateBlockedStatus() {
459
+ for (const name of WORKFLOW_GATE_SEQUENCE) {
460
+ const gate = this.gates.get(name);
461
+ // Only update gates that are null (not yet attempted)
462
+ if (gate.status === null && !this.canAttempt(name)) {
463
+ gate.status = 'blocked';
464
+ }
465
+ // If a gate was blocked but can now be attempted, reset to null
466
+ if (gate.status === 'blocked' && this.canAttempt(name)) {
467
+ gate.status = null;
468
+ }
469
+ }
470
+ }
471
+ /**
472
+ * Check if all gates have passed
473
+ */
474
+ allPassed() {
475
+ for (const name of WORKFLOW_GATE_SEQUENCE) {
476
+ if (this.gates.get(name).status !== 'passed')
477
+ return false;
478
+ }
479
+ return true;
480
+ }
481
+ /**
482
+ * Get all gates that are currently blocked or have null status
483
+ */
484
+ getPendingGates() {
485
+ return this.getAllGates().filter((g) => g.status === null || g.status === 'blocked');
486
+ }
487
+ /**
488
+ * Get the next gate that can be attempted
489
+ */
490
+ getNextAttemptable() {
491
+ for (const name of WORKFLOW_GATE_SEQUENCE) {
492
+ const gate = this.gates.get(name);
493
+ if (gate.status !== 'passed' && this.canAttempt(name)) {
494
+ return name;
495
+ }
496
+ }
497
+ return null;
498
+ }
499
+ /**
500
+ * Get downstream gates of a given gate (not including the gate itself)
501
+ */
502
+ getDownstreamGates(gateName) {
503
+ const index = WORKFLOW_GATE_SEQUENCE.indexOf(gateName);
504
+ if (index === -1)
505
+ return [];
506
+ return WORKFLOW_GATE_SEQUENCE.slice(index + 1);
507
+ }
508
+ /**
509
+ * Serialize gate states to a plain record
510
+ */
511
+ toRecord() {
512
+ const record = {};
513
+ for (const name of WORKFLOW_GATE_SEQUENCE) {
514
+ record[name] = this.gates.get(name).status;
515
+ }
516
+ return record;
517
+ }
518
+ /**
519
+ * Restore gate states from a record
520
+ */
521
+ fromRecord(record) {
522
+ for (const [name, status] of Object.entries(record)) {
523
+ const gate = this.gates.get(name);
524
+ if (gate) {
525
+ gate.status = status;
526
+ }
527
+ }
528
+ }
529
+ /**
530
+ * Check if a gate name is valid
531
+ */
532
+ isValidGate(gateName) {
533
+ return this.gates.has(gateName);
534
+ }
535
+ }
536
+ /**
537
+ * Validate a workflow gate name string
538
+ */
539
+ export function isValidWorkflowGateName(name) {
540
+ return WORKFLOW_GATE_SEQUENCE.includes(name);
541
+ }
542
+ /**
543
+ * Get the definition for a workflow gate
544
+ */
545
+ export function getWorkflowGateDefinition(name) {
546
+ return GATE_DEF_MAP[name];
547
+ }
548
+ //# sourceMappingURL=verification-gates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-gates.js","sourceRoot":"","sources":["../../src/lib/verification-gates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Domain Operation Types
3
+ *
4
+ * Defines the structure for domain-specific operations and routing.
5
+ */
6
+ import { DomainName } from './gateway.js';
7
+ /**
8
+ * Operation metadata
9
+ */
10
+ export interface OperationMeta {
11
+ domain: DomainName;
12
+ operation: string;
13
+ description: string;
14
+ gateway: 'cleo_query' | 'cleo_mutate';
15
+ retryable?: boolean;
16
+ }
17
+ /**
18
+ * Domain operation definition
19
+ */
20
+ export interface DomainOperation<TParams = unknown, TResult = unknown> {
21
+ meta: OperationMeta;
22
+ params: TParams;
23
+ result: TResult;
24
+ }
25
+ /**
26
+ * Operation registry type for domain implementations
27
+ */
28
+ export type OperationRegistry = Record<string, DomainOperation<any, any>>;
29
+ //# sourceMappingURL=domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../src/types/domain.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,GAAG,aAAa,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACnE,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Domain Operation Types
3
+ *
4
+ * Defines the structure for domain-specific operations and routing.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../src/types/domain.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}