@aquex/cmos-mcp 1.0.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 (854) hide show
  1. package/CHANGELOG.md +99 -0
  2. package/LICENSE +15 -0
  3. package/README.md +250 -0
  4. package/cmos-seed/README.md +153 -0
  5. package/cmos-seed/context/master_context.json +27 -0
  6. package/cmos-seed/context/project_context.json +12 -0
  7. package/cmos-seed/db/schema.sql +334 -0
  8. package/cmos-seed/docs/README.md +128 -0
  9. package/cmos-seed/docs/agents-md-guide.md +253 -0
  10. package/cmos-seed/docs/build-session-prompt.md +137 -0
  11. package/cmos-seed/docs/getting-started.md +150 -0
  12. package/cmos-seed/docs/session-management-guide.md +163 -0
  13. package/cmos-seed/docs/sqlite-schema-reference.md +188 -0
  14. package/cmos-seed/foundational-docs/roadmap_template.md +365 -0
  15. package/cmos-seed/foundational-docs/tech_arch_template.md +331 -0
  16. package/cmos-seed/templates/PROJECT-README-template.md +110 -0
  17. package/cmos-seed/templates/agents.md +306 -0
  18. package/cmos-seed/tiers/build.md +110 -0
  19. package/cmos-seed/tiers/general.md +112 -0
  20. package/cmos-seed/tiers/managed.md +118 -0
  21. package/dist/.build-manifest.json +5 -0
  22. package/dist/auth/auth-state.d.ts +96 -0
  23. package/dist/auth/auth-state.d.ts.map +1 -0
  24. package/dist/auth/auth-state.js +115 -0
  25. package/dist/auth/auth-state.js.map +1 -0
  26. package/dist/auth/delivery-ack-cache.d.ts +27 -0
  27. package/dist/auth/delivery-ack-cache.d.ts.map +1 -0
  28. package/dist/auth/delivery-ack-cache.js +21 -0
  29. package/dist/auth/delivery-ack-cache.js.map +1 -0
  30. package/dist/auth/device-code.d.ts +136 -0
  31. package/dist/auth/device-code.d.ts.map +1 -0
  32. package/dist/auth/device-code.js +334 -0
  33. package/dist/auth/device-code.js.map +1 -0
  34. package/dist/auth/project-key-capture.d.ts +124 -0
  35. package/dist/auth/project-key-capture.d.ts.map +1 -0
  36. package/dist/auth/project-key-capture.js +218 -0
  37. package/dist/auth/project-key-capture.js.map +1 -0
  38. package/dist/combination/dependency-resolver.d.ts +69 -0
  39. package/dist/combination/dependency-resolver.d.ts.map +1 -0
  40. package/dist/combination/dependency-resolver.js +303 -0
  41. package/dist/combination/dependency-resolver.js.map +1 -0
  42. package/dist/combination/merge-strategies.d.ts +87 -0
  43. package/dist/combination/merge-strategies.d.ts.map +1 -0
  44. package/dist/combination/merge-strategies.js +210 -0
  45. package/dist/combination/merge-strategies.js.map +1 -0
  46. package/dist/combination/pack-combiner.d.ts +84 -0
  47. package/dist/combination/pack-combiner.d.ts.map +1 -0
  48. package/dist/combination/pack-combiner.js +288 -0
  49. package/dist/combination/pack-combiner.js.map +1 -0
  50. package/dist/combination/types.d.ts +112 -0
  51. package/dist/combination/types.d.ts.map +1 -0
  52. package/dist/combination/types.js +39 -0
  53. package/dist/combination/types.js.map +1 -0
  54. package/dist/domains/domain-pack-loader.d.ts +148 -0
  55. package/dist/domains/domain-pack-loader.d.ts.map +1 -0
  56. package/dist/domains/domain-pack-loader.js +501 -0
  57. package/dist/domains/domain-pack-loader.js.map +1 -0
  58. package/dist/domains/types.d.ts +64 -0
  59. package/dist/domains/types.d.ts.map +1 -0
  60. package/dist/domains/types.js +10 -0
  61. package/dist/domains/types.js.map +1 -0
  62. package/dist/errors/config-error.d.ts +13 -0
  63. package/dist/errors/config-error.d.ts.map +1 -0
  64. package/dist/errors/config-error.js +19 -0
  65. package/dist/errors/config-error.js.map +1 -0
  66. package/dist/errors/domain-error.d.ts +13 -0
  67. package/dist/errors/domain-error.d.ts.map +1 -0
  68. package/dist/errors/domain-error.js +19 -0
  69. package/dist/errors/domain-error.js.map +1 -0
  70. package/dist/errors/handler.d.ts +30 -0
  71. package/dist/errors/handler.d.ts.map +1 -0
  72. package/dist/errors/handler.js +63 -0
  73. package/dist/errors/handler.js.map +1 -0
  74. package/dist/errors/index.d.ts +9 -0
  75. package/dist/errors/index.d.ts.map +1 -0
  76. package/dist/errors/index.js +25 -0
  77. package/dist/errors/index.js.map +1 -0
  78. package/dist/errors/io-error.d.ts +13 -0
  79. package/dist/errors/io-error.d.ts.map +1 -0
  80. package/dist/errors/io-error.js +19 -0
  81. package/dist/errors/io-error.js.map +1 -0
  82. package/dist/errors/logger.d.ts +21 -0
  83. package/dist/errors/logger.d.ts.map +1 -0
  84. package/dist/errors/logger.js +88 -0
  85. package/dist/errors/logger.js.map +1 -0
  86. package/dist/errors/mission-error.d.ts +27 -0
  87. package/dist/errors/mission-error.d.ts.map +1 -0
  88. package/dist/errors/mission-error.js +76 -0
  89. package/dist/errors/mission-error.js.map +1 -0
  90. package/dist/errors/types.d.ts +52 -0
  91. package/dist/errors/types.d.ts.map +1 -0
  92. package/dist/errors/types.js +3 -0
  93. package/dist/errors/types.js.map +1 -0
  94. package/dist/errors/utils.d.ts +24 -0
  95. package/dist/errors/utils.d.ts.map +1 -0
  96. package/dist/errors/utils.js +64 -0
  97. package/dist/errors/utils.js.map +1 -0
  98. package/dist/errors/validation-error.d.ts +13 -0
  99. package/dist/errors/validation-error.d.ts.map +1 -0
  100. package/dist/errors/validation-error.js +19 -0
  101. package/dist/errors/validation-error.js.map +1 -0
  102. package/dist/extraction/template-extractor.d.ts +59 -0
  103. package/dist/extraction/template-extractor.d.ts.map +1 -0
  104. package/dist/extraction/template-extractor.js +553 -0
  105. package/dist/extraction/template-extractor.js.map +1 -0
  106. package/dist/extraction/types.d.ts +160 -0
  107. package/dist/extraction/types.d.ts.map +1 -0
  108. package/dist/extraction/types.js +7 -0
  109. package/dist/extraction/types.js.map +1 -0
  110. package/dist/http-server.d.ts +18 -0
  111. package/dist/http-server.d.ts.map +1 -0
  112. package/dist/http-server.js +326 -0
  113. package/dist/http-server.js.map +1 -0
  114. package/dist/import-export/hybrid-template-parser.d.ts +44 -0
  115. package/dist/import-export/hybrid-template-parser.d.ts.map +1 -0
  116. package/dist/import-export/hybrid-template-parser.js +373 -0
  117. package/dist/import-export/hybrid-template-parser.js.map +1 -0
  118. package/dist/import-export/security-validator.d.ts +93 -0
  119. package/dist/import-export/security-validator.d.ts.map +1 -0
  120. package/dist/import-export/security-validator.js +441 -0
  121. package/dist/import-export/security-validator.js.map +1 -0
  122. package/dist/import-export/template-exporter.d.ts +106 -0
  123. package/dist/import-export/template-exporter.d.ts.map +1 -0
  124. package/dist/import-export/template-exporter.js +247 -0
  125. package/dist/import-export/template-exporter.js.map +1 -0
  126. package/dist/import-export/template-importer.d.ts +97 -0
  127. package/dist/import-export/template-importer.d.ts.map +1 -0
  128. package/dist/import-export/template-importer.js +308 -0
  129. package/dist/import-export/template-importer.js.map +1 -0
  130. package/dist/import-export/types.d.ts +118 -0
  131. package/dist/import-export/types.d.ts.map +1 -0
  132. package/dist/import-export/types.js +41 -0
  133. package/dist/import-export/types.js.map +1 -0
  134. package/dist/index.d.ts +157 -0
  135. package/dist/index.d.ts.map +1 -0
  136. package/dist/index.js +972 -0
  137. package/dist/index.js.map +1 -0
  138. package/dist/intelligence/agentic-controller.d.ts +345 -0
  139. package/dist/intelligence/agentic-controller.d.ts.map +1 -0
  140. package/dist/intelligence/agentic-controller.js +1376 -0
  141. package/dist/intelligence/agentic-controller.js.map +1 -0
  142. package/dist/intelligence/agentic-observability.d.ts +43 -0
  143. package/dist/intelligence/agentic-observability.d.ts.map +1 -0
  144. package/dist/intelligence/agentic-observability.js +62 -0
  145. package/dist/intelligence/agentic-observability.js.map +1 -0
  146. package/dist/intelligence/agents-md-loader.d.ts +81 -0
  147. package/dist/intelligence/agents-md-loader.d.ts.map +1 -0
  148. package/dist/intelligence/agents-md-loader.js +298 -0
  149. package/dist/intelligence/agents-md-loader.js.map +1 -0
  150. package/dist/intelligence/attribution-verification.d.ts +58 -0
  151. package/dist/intelligence/attribution-verification.d.ts.map +1 -0
  152. package/dist/intelligence/attribution-verification.js +133 -0
  153. package/dist/intelligence/attribution-verification.js.map +1 -0
  154. package/dist/intelligence/boomerang-workflow.d.ts +87 -0
  155. package/dist/intelligence/boomerang-workflow.d.ts.map +1 -0
  156. package/dist/intelligence/boomerang-workflow.js +311 -0
  157. package/dist/intelligence/boomerang-workflow.js.map +1 -0
  158. package/dist/intelligence/cmos-detector.d.ts +42 -0
  159. package/dist/intelligence/cmos-detector.d.ts.map +1 -0
  160. package/dist/intelligence/cmos-detector.js +94 -0
  161. package/dist/intelligence/cmos-detector.js.map +1 -0
  162. package/dist/intelligence/cmos-sync.d.ts +101 -0
  163. package/dist/intelligence/cmos-sync.d.ts.map +1 -0
  164. package/dist/intelligence/cmos-sync.js +435 -0
  165. package/dist/intelligence/cmos-sync.js.map +1 -0
  166. package/dist/intelligence/complexity-scorer.d.ts +111 -0
  167. package/dist/intelligence/complexity-scorer.d.ts.map +1 -0
  168. package/dist/intelligence/complexity-scorer.js +299 -0
  169. package/dist/intelligence/complexity-scorer.js.map +1 -0
  170. package/dist/intelligence/compression-rules.d.ts +62 -0
  171. package/dist/intelligence/compression-rules.d.ts.map +1 -0
  172. package/dist/intelligence/compression-rules.js +303 -0
  173. package/dist/intelligence/compression-rules.js.map +1 -0
  174. package/dist/intelligence/content-sanitizer.d.ts +61 -0
  175. package/dist/intelligence/content-sanitizer.d.ts.map +1 -0
  176. package/dist/intelligence/content-sanitizer.js +170 -0
  177. package/dist/intelligence/content-sanitizer.js.map +1 -0
  178. package/dist/intelligence/context-propagator-v2.d.ts +23 -0
  179. package/dist/intelligence/context-propagator-v2.d.ts.map +1 -0
  180. package/dist/intelligence/context-propagator-v2.js +37 -0
  181. package/dist/intelligence/context-propagator-v2.js.map +1 -0
  182. package/dist/intelligence/context-propagator-v3.d.ts +46 -0
  183. package/dist/intelligence/context-propagator-v3.d.ts.map +1 -0
  184. package/dist/intelligence/context-propagator-v3.js +266 -0
  185. package/dist/intelligence/context-propagator-v3.js.map +1 -0
  186. package/dist/intelligence/context-propagator.d.ts +108 -0
  187. package/dist/intelligence/context-propagator.d.ts.map +1 -0
  188. package/dist/intelligence/context-propagator.js +283 -0
  189. package/dist/intelligence/context-propagator.js.map +1 -0
  190. package/dist/intelligence/context-windows.d.ts +5 -0
  191. package/dist/intelligence/context-windows.d.ts.map +1 -0
  192. package/dist/intelligence/context-windows.js +18 -0
  193. package/dist/intelligence/context-windows.js.map +1 -0
  194. package/dist/intelligence/credential-store.d.ts +145 -0
  195. package/dist/intelligence/credential-store.d.ts.map +1 -0
  196. package/dist/intelligence/credential-store.js +243 -0
  197. package/dist/intelligence/credential-store.js.map +1 -0
  198. package/dist/intelligence/dependency-analyzer.d.ts +117 -0
  199. package/dist/intelligence/dependency-analyzer.d.ts.map +1 -0
  200. package/dist/intelligence/dependency-analyzer.js +398 -0
  201. package/dist/intelligence/dependency-analyzer.js.map +1 -0
  202. package/dist/intelligence/dependency-inferrer.d.ts +68 -0
  203. package/dist/intelligence/dependency-inferrer.d.ts.map +1 -0
  204. package/dist/intelligence/dependency-inferrer.js +281 -0
  205. package/dist/intelligence/dependency-inferrer.js.map +1 -0
  206. package/dist/intelligence/enhanced-dependency-analyzer.d.ts +25 -0
  207. package/dist/intelligence/enhanced-dependency-analyzer.d.ts.map +1 -0
  208. package/dist/intelligence/enhanced-dependency-analyzer.js +207 -0
  209. package/dist/intelligence/enhanced-dependency-analyzer.js.map +1 -0
  210. package/dist/intelligence/graph-validator.d.ts +61 -0
  211. package/dist/intelligence/graph-validator.d.ts.map +1 -0
  212. package/dist/intelligence/graph-validator.js +212 -0
  213. package/dist/intelligence/graph-validator.js.map +1 -0
  214. package/dist/intelligence/lifecycle-analyzer.d.ts +64 -0
  215. package/dist/intelligence/lifecycle-analyzer.d.ts.map +1 -0
  216. package/dist/intelligence/lifecycle-analyzer.js +587 -0
  217. package/dist/intelligence/lifecycle-analyzer.js.map +1 -0
  218. package/dist/intelligence/mission-history.d.ts +56 -0
  219. package/dist/intelligence/mission-history.d.ts.map +1 -0
  220. package/dist/intelligence/mission-history.js +145 -0
  221. package/dist/intelligence/mission-history.js.map +1 -0
  222. package/dist/intelligence/mission-outcome-analytics.d.ts +84 -0
  223. package/dist/intelligence/mission-outcome-analytics.d.ts.map +1 -0
  224. package/dist/intelligence/mission-outcome-analytics.js +499 -0
  225. package/dist/intelligence/mission-outcome-analytics.js.map +1 -0
  226. package/dist/intelligence/mission-splitter.d.ts +148 -0
  227. package/dist/intelligence/mission-splitter.d.ts.map +1 -0
  228. package/dist/intelligence/mission-splitter.js +461 -0
  229. package/dist/intelligence/mission-splitter.js.map +1 -0
  230. package/dist/intelligence/model-transpilers.d.ts +59 -0
  231. package/dist/intelligence/model-transpilers.d.ts.map +1 -0
  232. package/dist/intelligence/model-transpilers.js +185 -0
  233. package/dist/intelligence/model-transpilers.js.map +1 -0
  234. package/dist/intelligence/project-registry.d.ts +265 -0
  235. package/dist/intelligence/project-registry.d.ts.map +1 -0
  236. package/dist/intelligence/project-registry.js +484 -0
  237. package/dist/intelligence/project-registry.js.map +1 -0
  238. package/dist/intelligence/rsip-loop.d.ts +52 -0
  239. package/dist/intelligence/rsip-loop.d.ts.map +1 -0
  240. package/dist/intelligence/rsip-loop.js +139 -0
  241. package/dist/intelligence/rsip-loop.js.map +1 -0
  242. package/dist/intelligence/sender-context.d.ts +114 -0
  243. package/dist/intelligence/sender-context.d.ts.map +1 -0
  244. package/dist/intelligence/sender-context.js +275 -0
  245. package/dist/intelligence/sender-context.js.map +1 -0
  246. package/dist/intelligence/sqlite-client.d.ts +144 -0
  247. package/dist/intelligence/sqlite-client.d.ts.map +1 -0
  248. package/dist/intelligence/sqlite-client.js +568 -0
  249. package/dist/intelligence/sqlite-client.js.map +1 -0
  250. package/dist/intelligence/telemetry.d.ts +44 -0
  251. package/dist/intelligence/telemetry.d.ts.map +1 -0
  252. package/dist/intelligence/telemetry.js +106 -0
  253. package/dist/intelligence/telemetry.js.map +1 -0
  254. package/dist/intelligence/token-counters.d.ts +69 -0
  255. package/dist/intelligence/token-counters.d.ts.map +1 -0
  256. package/dist/intelligence/token-counters.js +197 -0
  257. package/dist/intelligence/token-counters.js.map +1 -0
  258. package/dist/intelligence/token-optimizer.d.ts +52 -0
  259. package/dist/intelligence/token-optimizer.d.ts.map +1 -0
  260. package/dist/intelligence/token-optimizer.js +205 -0
  261. package/dist/intelligence/token-optimizer.js.map +1 -0
  262. package/dist/intelligence/tokenizer-bootstrap.d.ts +54 -0
  263. package/dist/intelligence/tokenizer-bootstrap.d.ts.map +1 -0
  264. package/dist/intelligence/tokenizer-bootstrap.js +238 -0
  265. package/dist/intelligence/tokenizer-bootstrap.js.map +1 -0
  266. package/dist/intelligence/types.d.ts +117 -0
  267. package/dist/intelligence/types.d.ts.map +1 -0
  268. package/dist/intelligence/types.js +8 -0
  269. package/dist/intelligence/types.js.map +1 -0
  270. package/dist/intelligence/worker-manifest-loader.d.ts +70 -0
  271. package/dist/intelligence/worker-manifest-loader.d.ts.map +1 -0
  272. package/dist/intelligence/worker-manifest-loader.js +387 -0
  273. package/dist/intelligence/worker-manifest-loader.js.map +1 -0
  274. package/dist/loaders/yaml-loader.d.ts +99 -0
  275. package/dist/loaders/yaml-loader.d.ts.map +1 -0
  276. package/dist/loaders/yaml-loader.js +236 -0
  277. package/dist/loaders/yaml-loader.js.map +1 -0
  278. package/dist/merge/deep-merge.d.ts +93 -0
  279. package/dist/merge/deep-merge.d.ts.map +1 -0
  280. package/dist/merge/deep-merge.js +168 -0
  281. package/dist/merge/deep-merge.js.map +1 -0
  282. package/dist/quality/analyzers/ai-readiness-analyzer.d.ts +35 -0
  283. package/dist/quality/analyzers/ai-readiness-analyzer.d.ts.map +1 -0
  284. package/dist/quality/analyzers/ai-readiness-analyzer.js +357 -0
  285. package/dist/quality/analyzers/ai-readiness-analyzer.js.map +1 -0
  286. package/dist/quality/analyzers/clarity-analyzer.d.ts +52 -0
  287. package/dist/quality/analyzers/clarity-analyzer.d.ts.map +1 -0
  288. package/dist/quality/analyzers/clarity-analyzer.js +405 -0
  289. package/dist/quality/analyzers/clarity-analyzer.js.map +1 -0
  290. package/dist/quality/analyzers/completeness-analyzer.d.ts +45 -0
  291. package/dist/quality/analyzers/completeness-analyzer.d.ts.map +1 -0
  292. package/dist/quality/analyzers/completeness-analyzer.js +331 -0
  293. package/dist/quality/analyzers/completeness-analyzer.js.map +1 -0
  294. package/dist/quality/improvement-engine.d.ts +37 -0
  295. package/dist/quality/improvement-engine.d.ts.map +1 -0
  296. package/dist/quality/improvement-engine.js +260 -0
  297. package/dist/quality/improvement-engine.js.map +1 -0
  298. package/dist/quality/quality-scorer.d.ts +36 -0
  299. package/dist/quality/quality-scorer.d.ts.map +1 -0
  300. package/dist/quality/quality-scorer.js +95 -0
  301. package/dist/quality/quality-scorer.js.map +1 -0
  302. package/dist/quality/types.d.ts +92 -0
  303. package/dist/quality/types.d.ts.map +1 -0
  304. package/dist/quality/types.js +33 -0
  305. package/dist/quality/types.js.map +1 -0
  306. package/dist/registry/registry-parser.d.ts +59 -0
  307. package/dist/registry/registry-parser.d.ts.map +1 -0
  308. package/dist/registry/registry-parser.js +161 -0
  309. package/dist/registry/registry-parser.js.map +1 -0
  310. package/dist/registry/semver-validator.d.ts +48 -0
  311. package/dist/registry/semver-validator.d.ts.map +1 -0
  312. package/dist/registry/semver-validator.js +115 -0
  313. package/dist/registry/semver-validator.js.map +1 -0
  314. package/dist/schemas/generic-mission.d.ts +120 -0
  315. package/dist/schemas/generic-mission.d.ts.map +1 -0
  316. package/dist/schemas/generic-mission.js +118 -0
  317. package/dist/schemas/generic-mission.js.map +1 -0
  318. package/dist/security/workspace-guard.d.ts +10 -0
  319. package/dist/security/workspace-guard.d.ts.map +1 -0
  320. package/dist/security/workspace-guard.js +116 -0
  321. package/dist/security/workspace-guard.js.map +1 -0
  322. package/dist/server-health.d.ts +73 -0
  323. package/dist/server-health.d.ts.map +1 -0
  324. package/dist/server-health.js +181 -0
  325. package/dist/server-health.js.map +1 -0
  326. package/dist/tools/analyze-dependencies.d.ts +99 -0
  327. package/dist/tools/analyze-dependencies.d.ts.map +1 -0
  328. package/dist/tools/analyze-dependencies.js +329 -0
  329. package/dist/tools/analyze-dependencies.js.map +1 -0
  330. package/dist/tools/cmos/agent-feedback.d.ts +25 -0
  331. package/dist/tools/cmos/agent-feedback.d.ts.map +1 -0
  332. package/dist/tools/cmos/agent-feedback.js +50 -0
  333. package/dist/tools/cmos/agent-feedback.js.map +1 -0
  334. package/dist/tools/cmos/blob-migrations.d.ts +77 -0
  335. package/dist/tools/cmos/blob-migrations.d.ts.map +1 -0
  336. package/dist/tools/cmos/blob-migrations.js +210 -0
  337. package/dist/tools/cmos/blob-migrations.js.map +1 -0
  338. package/dist/tools/cmos/checkpoint-backfill.d.ts +33 -0
  339. package/dist/tools/cmos/checkpoint-backfill.d.ts.map +1 -0
  340. package/dist/tools/cmos/checkpoint-backfill.js +186 -0
  341. package/dist/tools/cmos/checkpoint-backfill.js.map +1 -0
  342. package/dist/tools/cmos/client.d.ts +293 -0
  343. package/dist/tools/cmos/client.d.ts.map +1 -0
  344. package/dist/tools/cmos/client.js +669 -0
  345. package/dist/tools/cmos/client.js.map +1 -0
  346. package/dist/tools/cmos/cmos-agent-onboard.d.ts +344 -0
  347. package/dist/tools/cmos/cmos-agent-onboard.d.ts.map +1 -0
  348. package/dist/tools/cmos/cmos-agent-onboard.js +1533 -0
  349. package/dist/tools/cmos/cmos-agent-onboard.js.map +1 -0
  350. package/dist/tools/cmos/cmos-auth.d.ts +283 -0
  351. package/dist/tools/cmos/cmos-auth.d.ts.map +1 -0
  352. package/dist/tools/cmos/cmos-auth.js +687 -0
  353. package/dist/tools/cmos/cmos-auth.js.map +1 -0
  354. package/dist/tools/cmos/cmos-backlog-export.d.ts +142 -0
  355. package/dist/tools/cmos/cmos-backlog-export.d.ts.map +1 -0
  356. package/dist/tools/cmos/cmos-backlog-export.js +340 -0
  357. package/dist/tools/cmos/cmos-backlog-export.js.map +1 -0
  358. package/dist/tools/cmos/cmos-constraints.d.ts +58 -0
  359. package/dist/tools/cmos/cmos-constraints.d.ts.map +1 -0
  360. package/dist/tools/cmos/cmos-constraints.js +227 -0
  361. package/dist/tools/cmos/cmos-constraints.js.map +1 -0
  362. package/dist/tools/cmos/cmos-context-condense.d.ts +129 -0
  363. package/dist/tools/cmos/cmos-context-condense.d.ts.map +1 -0
  364. package/dist/tools/cmos/cmos-context-condense.js +649 -0
  365. package/dist/tools/cmos/cmos-context-condense.js.map +1 -0
  366. package/dist/tools/cmos/cmos-context-history.d.ts +145 -0
  367. package/dist/tools/cmos/cmos-context-history.d.ts.map +1 -0
  368. package/dist/tools/cmos/cmos-context-history.js +235 -0
  369. package/dist/tools/cmos/cmos-context-history.js.map +1 -0
  370. package/dist/tools/cmos/cmos-context-project-identity.d.ts +34 -0
  371. package/dist/tools/cmos/cmos-context-project-identity.d.ts.map +1 -0
  372. package/dist/tools/cmos/cmos-context-project-identity.js +145 -0
  373. package/dist/tools/cmos/cmos-context-project-identity.js.map +1 -0
  374. package/dist/tools/cmos/cmos-context-search.d.ts +44 -0
  375. package/dist/tools/cmos/cmos-context-search.d.ts.map +1 -0
  376. package/dist/tools/cmos/cmos-context-search.js +79 -0
  377. package/dist/tools/cmos/cmos-context-search.js.map +1 -0
  378. package/dist/tools/cmos/cmos-context-snapshot.d.ts +105 -0
  379. package/dist/tools/cmos/cmos-context-snapshot.d.ts.map +1 -0
  380. package/dist/tools/cmos/cmos-context-snapshot.js +213 -0
  381. package/dist/tools/cmos/cmos-context-snapshot.js.map +1 -0
  382. package/dist/tools/cmos/cmos-context-update.d.ts +193 -0
  383. package/dist/tools/cmos/cmos-context-update.d.ts.map +1 -0
  384. package/dist/tools/cmos/cmos-context-update.js +710 -0
  385. package/dist/tools/cmos/cmos-context-update.js.map +1 -0
  386. package/dist/tools/cmos/cmos-context-view.d.ts +159 -0
  387. package/dist/tools/cmos/cmos-context-view.d.ts.map +1 -0
  388. package/dist/tools/cmos/cmos-context-view.js +531 -0
  389. package/dist/tools/cmos/cmos-context-view.js.map +1 -0
  390. package/dist/tools/cmos/cmos-context.d.ts +325 -0
  391. package/dist/tools/cmos/cmos-context.d.ts.map +1 -0
  392. package/dist/tools/cmos/cmos-context.js +424 -0
  393. package/dist/tools/cmos/cmos-context.js.map +1 -0
  394. package/dist/tools/cmos/cmos-db-backfill.d.ts +119 -0
  395. package/dist/tools/cmos/cmos-db-backfill.d.ts.map +1 -0
  396. package/dist/tools/cmos/cmos-db-backfill.js +889 -0
  397. package/dist/tools/cmos/cmos-db-backfill.js.map +1 -0
  398. package/dist/tools/cmos/cmos-db-health.d.ts +76 -0
  399. package/dist/tools/cmos/cmos-db-health.d.ts.map +1 -0
  400. package/dist/tools/cmos/cmos-db-health.js +226 -0
  401. package/dist/tools/cmos/cmos-db-health.js.map +1 -0
  402. package/dist/tools/cmos/cmos-db-restore.d.ts +92 -0
  403. package/dist/tools/cmos/cmos-db-restore.d.ts.map +1 -0
  404. package/dist/tools/cmos/cmos-db-restore.js +359 -0
  405. package/dist/tools/cmos/cmos-db-restore.js.map +1 -0
  406. package/dist/tools/cmos/cmos-db-snapshot.d.ts +108 -0
  407. package/dist/tools/cmos/cmos-db-snapshot.d.ts.map +1 -0
  408. package/dist/tools/cmos/cmos-db-snapshot.js +359 -0
  409. package/dist/tools/cmos/cmos-db-snapshot.js.map +1 -0
  410. package/dist/tools/cmos/cmos-db.d.ts +103 -0
  411. package/dist/tools/cmos/cmos-db.d.ts.map +1 -0
  412. package/dist/tools/cmos/cmos-db.js +182 -0
  413. package/dist/tools/cmos/cmos-db.js.map +1 -0
  414. package/dist/tools/cmos/cmos-decisions-batch-update.d.ts +34 -0
  415. package/dist/tools/cmos/cmos-decisions-batch-update.d.ts.map +1 -0
  416. package/dist/tools/cmos/cmos-decisions-batch-update.js +90 -0
  417. package/dist/tools/cmos/cmos-decisions-batch-update.js.map +1 -0
  418. package/dist/tools/cmos/cmos-decisions-list.d.ts +134 -0
  419. package/dist/tools/cmos/cmos-decisions-list.d.ts.map +1 -0
  420. package/dist/tools/cmos/cmos-decisions-list.js +153 -0
  421. package/dist/tools/cmos/cmos-decisions-list.js.map +1 -0
  422. package/dist/tools/cmos/cmos-decisions-review.d.ts +21 -0
  423. package/dist/tools/cmos/cmos-decisions-review.d.ts.map +1 -0
  424. package/dist/tools/cmos/cmos-decisions-review.js +83 -0
  425. package/dist/tools/cmos/cmos-decisions-review.js.map +1 -0
  426. package/dist/tools/cmos/cmos-decisions-search.d.ts +119 -0
  427. package/dist/tools/cmos/cmos-decisions-search.d.ts.map +1 -0
  428. package/dist/tools/cmos/cmos-decisions-search.js +219 -0
  429. package/dist/tools/cmos/cmos-decisions-search.js.map +1 -0
  430. package/dist/tools/cmos/cmos-decisions-update.d.ts +34 -0
  431. package/dist/tools/cmos/cmos-decisions-update.d.ts.map +1 -0
  432. package/dist/tools/cmos/cmos-decisions-update.js +121 -0
  433. package/dist/tools/cmos/cmos-decisions-update.js.map +1 -0
  434. package/dist/tools/cmos/cmos-decisions.d.ts +156 -0
  435. package/dist/tools/cmos/cmos-decisions.d.ts.map +1 -0
  436. package/dist/tools/cmos/cmos-decisions.js +223 -0
  437. package/dist/tools/cmos/cmos-decisions.js.map +1 -0
  438. package/dist/tools/cmos/cmos-feedback.d.ts +127 -0
  439. package/dist/tools/cmos/cmos-feedback.d.ts.map +1 -0
  440. package/dist/tools/cmos/cmos-feedback.js +259 -0
  441. package/dist/tools/cmos/cmos-feedback.js.map +1 -0
  442. package/dist/tools/cmos/cmos-learnings-list.d.ts +81 -0
  443. package/dist/tools/cmos/cmos-learnings-list.d.ts.map +1 -0
  444. package/dist/tools/cmos/cmos-learnings-list.js +120 -0
  445. package/dist/tools/cmos/cmos-learnings-list.js.map +1 -0
  446. package/dist/tools/cmos/cmos-learnings-reaffirm.d.ts +27 -0
  447. package/dist/tools/cmos/cmos-learnings-reaffirm.d.ts.map +1 -0
  448. package/dist/tools/cmos/cmos-learnings-reaffirm.js +69 -0
  449. package/dist/tools/cmos/cmos-learnings-reaffirm.js.map +1 -0
  450. package/dist/tools/cmos/cmos-learnings-search.d.ts +69 -0
  451. package/dist/tools/cmos/cmos-learnings-search.d.ts.map +1 -0
  452. package/dist/tools/cmos/cmos-learnings-search.js +130 -0
  453. package/dist/tools/cmos/cmos-learnings-search.js.map +1 -0
  454. package/dist/tools/cmos/cmos-learnings-update.d.ts +52 -0
  455. package/dist/tools/cmos/cmos-learnings-update.d.ts.map +1 -0
  456. package/dist/tools/cmos/cmos-learnings-update.js +122 -0
  457. package/dist/tools/cmos/cmos-learnings-update.js.map +1 -0
  458. package/dist/tools/cmos/cmos-learnings.d.ts +137 -0
  459. package/dist/tools/cmos/cmos-learnings.d.ts.map +1 -0
  460. package/dist/tools/cmos/cmos-learnings.js +197 -0
  461. package/dist/tools/cmos/cmos-learnings.js.map +1 -0
  462. package/dist/tools/cmos/cmos-message.d.ts +257 -0
  463. package/dist/tools/cmos/cmos-message.d.ts.map +1 -0
  464. package/dist/tools/cmos/cmos-message.js +729 -0
  465. package/dist/tools/cmos/cmos-message.js.map +1 -0
  466. package/dist/tools/cmos/cmos-mission-add.d.ts +186 -0
  467. package/dist/tools/cmos/cmos-mission-add.d.ts.map +1 -0
  468. package/dist/tools/cmos/cmos-mission-add.js +328 -0
  469. package/dist/tools/cmos/cmos-mission-add.js.map +1 -0
  470. package/dist/tools/cmos/cmos-mission-block.d.ts +104 -0
  471. package/dist/tools/cmos/cmos-mission-block.d.ts.map +1 -0
  472. package/dist/tools/cmos/cmos-mission-block.js +248 -0
  473. package/dist/tools/cmos/cmos-mission-block.js.map +1 -0
  474. package/dist/tools/cmos/cmos-mission-complete.d.ts +127 -0
  475. package/dist/tools/cmos/cmos-mission-complete.d.ts.map +1 -0
  476. package/dist/tools/cmos/cmos-mission-complete.js +529 -0
  477. package/dist/tools/cmos/cmos-mission-complete.js.map +1 -0
  478. package/dist/tools/cmos/cmos-mission-defer.d.ts +41 -0
  479. package/dist/tools/cmos/cmos-mission-defer.d.ts.map +1 -0
  480. package/dist/tools/cmos/cmos-mission-defer.js +169 -0
  481. package/dist/tools/cmos/cmos-mission-defer.js.map +1 -0
  482. package/dist/tools/cmos/cmos-mission-depends.d.ts +98 -0
  483. package/dist/tools/cmos/cmos-mission-depends.d.ts.map +1 -0
  484. package/dist/tools/cmos/cmos-mission-depends.js +221 -0
  485. package/dist/tools/cmos/cmos-mission-depends.js.map +1 -0
  486. package/dist/tools/cmos/cmos-mission-drop.d.ts +36 -0
  487. package/dist/tools/cmos/cmos-mission-drop.d.ts.map +1 -0
  488. package/dist/tools/cmos/cmos-mission-drop.js +139 -0
  489. package/dist/tools/cmos/cmos-mission-drop.js.map +1 -0
  490. package/dist/tools/cmos/cmos-mission-list.d.ts +127 -0
  491. package/dist/tools/cmos/cmos-mission-list.d.ts.map +1 -0
  492. package/dist/tools/cmos/cmos-mission-list.js +277 -0
  493. package/dist/tools/cmos/cmos-mission-list.js.map +1 -0
  494. package/dist/tools/cmos/cmos-mission-show.d.ts +115 -0
  495. package/dist/tools/cmos/cmos-mission-show.d.ts.map +1 -0
  496. package/dist/tools/cmos/cmos-mission-show.js +278 -0
  497. package/dist/tools/cmos/cmos-mission-show.js.map +1 -0
  498. package/dist/tools/cmos/cmos-mission-start.d.ts +94 -0
  499. package/dist/tools/cmos/cmos-mission-start.d.ts.map +1 -0
  500. package/dist/tools/cmos/cmos-mission-start.js +347 -0
  501. package/dist/tools/cmos/cmos-mission-start.js.map +1 -0
  502. package/dist/tools/cmos/cmos-mission-status.d.ts +152 -0
  503. package/dist/tools/cmos/cmos-mission-status.d.ts.map +1 -0
  504. package/dist/tools/cmos/cmos-mission-status.js +420 -0
  505. package/dist/tools/cmos/cmos-mission-status.js.map +1 -0
  506. package/dist/tools/cmos/cmos-mission-transition.d.ts +126 -0
  507. package/dist/tools/cmos/cmos-mission-transition.d.ts.map +1 -0
  508. package/dist/tools/cmos/cmos-mission-transition.js +222 -0
  509. package/dist/tools/cmos/cmos-mission-transition.js.map +1 -0
  510. package/dist/tools/cmos/cmos-mission-unblock.d.ts +102 -0
  511. package/dist/tools/cmos/cmos-mission-unblock.d.ts.map +1 -0
  512. package/dist/tools/cmos/cmos-mission-unblock.js +242 -0
  513. package/dist/tools/cmos/cmos-mission-unblock.js.map +1 -0
  514. package/dist/tools/cmos/cmos-mission-undepends.d.ts +39 -0
  515. package/dist/tools/cmos/cmos-mission-undepends.d.ts.map +1 -0
  516. package/dist/tools/cmos/cmos-mission-undepends.js +94 -0
  517. package/dist/tools/cmos/cmos-mission-undepends.js.map +1 -0
  518. package/dist/tools/cmos/cmos-mission-update.d.ts +225 -0
  519. package/dist/tools/cmos/cmos-mission-update.d.ts.map +1 -0
  520. package/dist/tools/cmos/cmos-mission-update.js +350 -0
  521. package/dist/tools/cmos/cmos-mission-update.js.map +1 -0
  522. package/dist/tools/cmos/cmos-mission.d.ts +300 -0
  523. package/dist/tools/cmos/cmos-mission.d.ts.map +1 -0
  524. package/dist/tools/cmos/cmos-mission.js +318 -0
  525. package/dist/tools/cmos/cmos-mission.js.map +1 -0
  526. package/dist/tools/cmos/cmos-next-steps.d.ts +57 -0
  527. package/dist/tools/cmos/cmos-next-steps.d.ts.map +1 -0
  528. package/dist/tools/cmos/cmos-next-steps.js +154 -0
  529. package/dist/tools/cmos/cmos-next-steps.js.map +1 -0
  530. package/dist/tools/cmos/cmos-project-init.d.ts +283 -0
  531. package/dist/tools/cmos/cmos-project-init.d.ts.map +1 -0
  532. package/dist/tools/cmos/cmos-project-init.js +502 -0
  533. package/dist/tools/cmos/cmos-project-init.js.map +1 -0
  534. package/dist/tools/cmos/cmos-project-list.d.ts +79 -0
  535. package/dist/tools/cmos/cmos-project-list.d.ts.map +1 -0
  536. package/dist/tools/cmos/cmos-project-list.js +150 -0
  537. package/dist/tools/cmos/cmos-project-list.js.map +1 -0
  538. package/dist/tools/cmos/cmos-project-register.d.ts +90 -0
  539. package/dist/tools/cmos/cmos-project-register.d.ts.map +1 -0
  540. package/dist/tools/cmos/cmos-project-register.js +199 -0
  541. package/dist/tools/cmos/cmos-project-register.js.map +1 -0
  542. package/dist/tools/cmos/cmos-project-sweep.d.ts +34 -0
  543. package/dist/tools/cmos/cmos-project-sweep.d.ts.map +1 -0
  544. package/dist/tools/cmos/cmos-project-sweep.js +210 -0
  545. package/dist/tools/cmos/cmos-project-sweep.js.map +1 -0
  546. package/dist/tools/cmos/cmos-project-unregister.d.ts +66 -0
  547. package/dist/tools/cmos/cmos-project-unregister.d.ts.map +1 -0
  548. package/dist/tools/cmos/cmos-project-unregister.js +108 -0
  549. package/dist/tools/cmos/cmos-project-unregister.js.map +1 -0
  550. package/dist/tools/cmos/cmos-project-update.d.ts +21 -0
  551. package/dist/tools/cmos/cmos-project-update.d.ts.map +1 -0
  552. package/dist/tools/cmos/cmos-project-update.js +46 -0
  553. package/dist/tools/cmos/cmos-project-update.js.map +1 -0
  554. package/dist/tools/cmos/cmos-project-validate.d.ts +89 -0
  555. package/dist/tools/cmos/cmos-project-validate.d.ts.map +1 -0
  556. package/dist/tools/cmos/cmos-project-validate.js +155 -0
  557. package/dist/tools/cmos/cmos-project-validate.js.map +1 -0
  558. package/dist/tools/cmos/cmos-project.d.ts +225 -0
  559. package/dist/tools/cmos/cmos-project.d.ts.map +1 -0
  560. package/dist/tools/cmos/cmos-project.js +255 -0
  561. package/dist/tools/cmos/cmos-project.js.map +1 -0
  562. package/dist/tools/cmos/cmos-resolve-references.d.ts +145 -0
  563. package/dist/tools/cmos/cmos-resolve-references.d.ts.map +1 -0
  564. package/dist/tools/cmos/cmos-resolve-references.js +273 -0
  565. package/dist/tools/cmos/cmos-resolve-references.js.map +1 -0
  566. package/dist/tools/cmos/cmos-session-capture.d.ts +228 -0
  567. package/dist/tools/cmos/cmos-session-capture.d.ts.map +1 -0
  568. package/dist/tools/cmos/cmos-session-capture.js +552 -0
  569. package/dist/tools/cmos/cmos-session-capture.js.map +1 -0
  570. package/dist/tools/cmos/cmos-session-complete.d.ts +201 -0
  571. package/dist/tools/cmos/cmos-session-complete.d.ts.map +1 -0
  572. package/dist/tools/cmos/cmos-session-complete.js +816 -0
  573. package/dist/tools/cmos/cmos-session-complete.js.map +1 -0
  574. package/dist/tools/cmos/cmos-session-list.d.ts +150 -0
  575. package/dist/tools/cmos/cmos-session-list.d.ts.map +1 -0
  576. package/dist/tools/cmos/cmos-session-list.js +234 -0
  577. package/dist/tools/cmos/cmos-session-list.js.map +1 -0
  578. package/dist/tools/cmos/cmos-session-search.d.ts +176 -0
  579. package/dist/tools/cmos/cmos-session-search.d.ts.map +1 -0
  580. package/dist/tools/cmos/cmos-session-search.js +374 -0
  581. package/dist/tools/cmos/cmos-session-search.js.map +1 -0
  582. package/dist/tools/cmos/cmos-session-start.d.ts +136 -0
  583. package/dist/tools/cmos/cmos-session-start.d.ts.map +1 -0
  584. package/dist/tools/cmos/cmos-session-start.js +305 -0
  585. package/dist/tools/cmos/cmos-session-start.js.map +1 -0
  586. package/dist/tools/cmos/cmos-session.d.ts +223 -0
  587. package/dist/tools/cmos/cmos-session.d.ts.map +1 -0
  588. package/dist/tools/cmos/cmos-session.js +255 -0
  589. package/dist/tools/cmos/cmos-session.js.map +1 -0
  590. package/dist/tools/cmos/cmos-sprint-add.d.ts +114 -0
  591. package/dist/tools/cmos/cmos-sprint-add.d.ts.map +1 -0
  592. package/dist/tools/cmos/cmos-sprint-add.js +164 -0
  593. package/dist/tools/cmos/cmos-sprint-add.js.map +1 -0
  594. package/dist/tools/cmos/cmos-sprint-analytics.d.ts +66 -0
  595. package/dist/tools/cmos/cmos-sprint-analytics.d.ts.map +1 -0
  596. package/dist/tools/cmos/cmos-sprint-analytics.js +289 -0
  597. package/dist/tools/cmos/cmos-sprint-analytics.js.map +1 -0
  598. package/dist/tools/cmos/cmos-sprint-carry-forward.d.ts +55 -0
  599. package/dist/tools/cmos/cmos-sprint-carry-forward.d.ts.map +1 -0
  600. package/dist/tools/cmos/cmos-sprint-carry-forward.js +271 -0
  601. package/dist/tools/cmos/cmos-sprint-carry-forward.js.map +1 -0
  602. package/dist/tools/cmos/cmos-sprint-complete.d.ts +155 -0
  603. package/dist/tools/cmos/cmos-sprint-complete.d.ts.map +1 -0
  604. package/dist/tools/cmos/cmos-sprint-complete.js +768 -0
  605. package/dist/tools/cmos/cmos-sprint-complete.js.map +1 -0
  606. package/dist/tools/cmos/cmos-sprint-list.d.ts +115 -0
  607. package/dist/tools/cmos/cmos-sprint-list.d.ts.map +1 -0
  608. package/dist/tools/cmos/cmos-sprint-list.js +225 -0
  609. package/dist/tools/cmos/cmos-sprint-list.js.map +1 -0
  610. package/dist/tools/cmos/cmos-sprint-retro.d.ts +114 -0
  611. package/dist/tools/cmos/cmos-sprint-retro.d.ts.map +1 -0
  612. package/dist/tools/cmos/cmos-sprint-retro.js +331 -0
  613. package/dist/tools/cmos/cmos-sprint-retro.js.map +1 -0
  614. package/dist/tools/cmos/cmos-sprint-show.d.ts +109 -0
  615. package/dist/tools/cmos/cmos-sprint-show.d.ts.map +1 -0
  616. package/dist/tools/cmos/cmos-sprint-show.js +238 -0
  617. package/dist/tools/cmos/cmos-sprint-show.js.map +1 -0
  618. package/dist/tools/cmos/cmos-sprint-update.d.ts +150 -0
  619. package/dist/tools/cmos/cmos-sprint-update.d.ts.map +1 -0
  620. package/dist/tools/cmos/cmos-sprint-update.js +191 -0
  621. package/dist/tools/cmos/cmos-sprint-update.js.map +1 -0
  622. package/dist/tools/cmos/cmos-sprint.d.ts +219 -0
  623. package/dist/tools/cmos/cmos-sprint.d.ts.map +1 -0
  624. package/dist/tools/cmos/cmos-sprint.js +304 -0
  625. package/dist/tools/cmos/cmos-sprint.js.map +1 -0
  626. package/dist/tools/cmos/cmos-status.d.ts +69 -0
  627. package/dist/tools/cmos/cmos-status.d.ts.map +1 -0
  628. package/dist/tools/cmos/cmos-status.js +136 -0
  629. package/dist/tools/cmos/cmos-status.js.map +1 -0
  630. package/dist/tools/cmos/context-freshness.d.ts +67 -0
  631. package/dist/tools/cmos/context-freshness.d.ts.map +1 -0
  632. package/dist/tools/cmos/context-freshness.js +352 -0
  633. package/dist/tools/cmos/context-freshness.js.map +1 -0
  634. package/dist/tools/cmos/context-retention.d.ts +58 -0
  635. package/dist/tools/cmos/context-retention.d.ts.map +1 -0
  636. package/dist/tools/cmos/context-retention.js +507 -0
  637. package/dist/tools/cmos/context-retention.js.map +1 -0
  638. package/dist/tools/cmos/dashboard-client.d.ts +513 -0
  639. package/dist/tools/cmos/dashboard-client.d.ts.map +1 -0
  640. package/dist/tools/cmos/dashboard-client.js +800 -0
  641. package/dist/tools/cmos/dashboard-client.js.map +1 -0
  642. package/dist/tools/cmos/decision-memory.d.ts +39 -0
  643. package/dist/tools/cmos/decision-memory.d.ts.map +1 -0
  644. package/dist/tools/cmos/decision-memory.js +263 -0
  645. package/dist/tools/cmos/decision-memory.js.map +1 -0
  646. package/dist/tools/cmos/errors.d.ts +113 -0
  647. package/dist/tools/cmos/errors.d.ts.map +1 -0
  648. package/dist/tools/cmos/errors.js +315 -0
  649. package/dist/tools/cmos/errors.js.map +1 -0
  650. package/dist/tools/cmos/fts5-retriever.d.ts +101 -0
  651. package/dist/tools/cmos/fts5-retriever.d.ts.map +1 -0
  652. package/dist/tools/cmos/fts5-retriever.js +210 -0
  653. package/dist/tools/cmos/fts5-retriever.js.map +1 -0
  654. package/dist/tools/cmos/index.d.ts +1238 -0
  655. package/dist/tools/cmos/index.d.ts.map +1 -0
  656. package/dist/tools/cmos/index.js +359 -0
  657. package/dist/tools/cmos/index.js.map +1 -0
  658. package/dist/tools/cmos/learning-reaffirm.d.ts +74 -0
  659. package/dist/tools/cmos/learning-reaffirm.d.ts.map +1 -0
  660. package/dist/tools/cmos/learning-reaffirm.js +145 -0
  661. package/dist/tools/cmos/learning-reaffirm.js.map +1 -0
  662. package/dist/tools/cmos/orphan-detection.d.ts +55 -0
  663. package/dist/tools/cmos/orphan-detection.d.ts.map +1 -0
  664. package/dist/tools/cmos/orphan-detection.js +139 -0
  665. package/dist/tools/cmos/orphan-detection.js.map +1 -0
  666. package/dist/tools/cmos/owner-resolution.d.ts +21 -0
  667. package/dist/tools/cmos/owner-resolution.d.ts.map +1 -0
  668. package/dist/tools/cmos/owner-resolution.js +162 -0
  669. package/dist/tools/cmos/owner-resolution.js.map +1 -0
  670. package/dist/tools/cmos/project-identity.d.ts +112 -0
  671. package/dist/tools/cmos/project-identity.d.ts.map +1 -0
  672. package/dist/tools/cmos/project-identity.js +261 -0
  673. package/dist/tools/cmos/project-identity.js.map +1 -0
  674. package/dist/tools/cmos/relevance-surfacing.d.ts +40 -0
  675. package/dist/tools/cmos/relevance-surfacing.d.ts.map +1 -0
  676. package/dist/tools/cmos/relevance-surfacing.js +153 -0
  677. package/dist/tools/cmos/relevance-surfacing.js.map +1 -0
  678. package/dist/tools/cmos/schema-migrations.d.ts +157 -0
  679. package/dist/tools/cmos/schema-migrations.d.ts.map +1 -0
  680. package/dist/tools/cmos/schema-migrations.js +678 -0
  681. package/dist/tools/cmos/schema-migrations.js.map +1 -0
  682. package/dist/tools/cmos/schema.d.ts +76 -0
  683. package/dist/tools/cmos/schema.d.ts.map +1 -0
  684. package/dist/tools/cmos/schema.js +462 -0
  685. package/dist/tools/cmos/schema.js.map +1 -0
  686. package/dist/tools/cmos/sender-identity.d.ts +87 -0
  687. package/dist/tools/cmos/sender-identity.d.ts.map +1 -0
  688. package/dist/tools/cmos/sender-identity.js +207 -0
  689. package/dist/tools/cmos/sender-identity.js.map +1 -0
  690. package/dist/tools/cmos/staleness-detection.d.ts +128 -0
  691. package/dist/tools/cmos/staleness-detection.d.ts.map +1 -0
  692. package/dist/tools/cmos/staleness-detection.js +381 -0
  693. package/dist/tools/cmos/staleness-detection.js.map +1 -0
  694. package/dist/tools/cmos/supersession-detection.d.ts +46 -0
  695. package/dist/tools/cmos/supersession-detection.d.ts.map +1 -0
  696. package/dist/tools/cmos/supersession-detection.js +235 -0
  697. package/dist/tools/cmos/supersession-detection.js.map +1 -0
  698. package/dist/tools/cmos/sync-event-payloads.d.ts +576 -0
  699. package/dist/tools/cmos/sync-event-payloads.d.ts.map +1 -0
  700. package/dist/tools/cmos/sync-event-payloads.js +521 -0
  701. package/dist/tools/cmos/sync-event-payloads.js.map +1 -0
  702. package/dist/tools/cmos/sync-health-check.d.ts +43 -0
  703. package/dist/tools/cmos/sync-health-check.d.ts.map +1 -0
  704. package/dist/tools/cmos/sync-health-check.js +93 -0
  705. package/dist/tools/cmos/sync-health-check.js.map +1 -0
  706. package/dist/tools/cmos/sync-hooks.d.ts +82 -0
  707. package/dist/tools/cmos/sync-hooks.d.ts.map +1 -0
  708. package/dist/tools/cmos/sync-hooks.js +162 -0
  709. package/dist/tools/cmos/sync-hooks.js.map +1 -0
  710. package/dist/tools/cmos/sync-pusher.d.ts +128 -0
  711. package/dist/tools/cmos/sync-pusher.d.ts.map +1 -0
  712. package/dist/tools/cmos/sync-pusher.js +248 -0
  713. package/dist/tools/cmos/sync-pusher.js.map +1 -0
  714. package/dist/tools/cmos/sync-queue.d.ts +87 -0
  715. package/dist/tools/cmos/sync-queue.d.ts.map +1 -0
  716. package/dist/tools/cmos/sync-queue.js +208 -0
  717. package/dist/tools/cmos/sync-queue.js.map +1 -0
  718. package/dist/tools/cmos/tier-config.d.ts +32 -0
  719. package/dist/tools/cmos/tier-config.d.ts.map +1 -0
  720. package/dist/tools/cmos/tier-config.js +123 -0
  721. package/dist/tools/cmos/tier-config.js.map +1 -0
  722. package/dist/tools/cmos/types.d.ts +164 -0
  723. package/dist/tools/cmos/types.d.ts.map +1 -0
  724. package/dist/tools/cmos/types.js +11 -0
  725. package/dist/tools/cmos/types.js.map +1 -0
  726. package/dist/tools/combine-packs.d.ts +194 -0
  727. package/dist/tools/combine-packs.d.ts.map +1 -0
  728. package/dist/tools/combine-packs.js +283 -0
  729. package/dist/tools/combine-packs.js.map +1 -0
  730. package/dist/tools/create-mission.d.ts +192 -0
  731. package/dist/tools/create-mission.d.ts.map +1 -0
  732. package/dist/tools/create-mission.js +453 -0
  733. package/dist/tools/create-mission.js.map +1 -0
  734. package/dist/tools/export-template.d.ts +175 -0
  735. package/dist/tools/export-template.d.ts.map +1 -0
  736. package/dist/tools/export-template.js +212 -0
  737. package/dist/tools/export-template.js.map +1 -0
  738. package/dist/tools/extract-template.d.ts +106 -0
  739. package/dist/tools/extract-template.d.ts.map +1 -0
  740. package/dist/tools/extract-template.js +322 -0
  741. package/dist/tools/extract-template.js.map +1 -0
  742. package/dist/tools/formatters/mission-protocol-json.d.ts +122 -0
  743. package/dist/tools/formatters/mission-protocol-json.d.ts.map +1 -0
  744. package/dist/tools/formatters/mission-protocol-json.js +155 -0
  745. package/dist/tools/formatters/mission-protocol-json.js.map +1 -0
  746. package/dist/tools/import-template.d.ts +170 -0
  747. package/dist/tools/import-template.d.ts.map +1 -0
  748. package/dist/tools/import-template.js +203 -0
  749. package/dist/tools/import-template.js.map +1 -0
  750. package/dist/tools/list-domains.d.ts +70 -0
  751. package/dist/tools/list-domains.d.ts.map +1 -0
  752. package/dist/tools/list-domains.js +110 -0
  753. package/dist/tools/list-domains.js.map +1 -0
  754. package/dist/tools/optimize-tokens.d.ts +190 -0
  755. package/dist/tools/optimize-tokens.d.ts.map +1 -0
  756. package/dist/tools/optimize-tokens.js +193 -0
  757. package/dist/tools/optimize-tokens.js.map +1 -0
  758. package/dist/tools/score-quality.d.ts +76 -0
  759. package/dist/tools/score-quality.d.ts.map +1 -0
  760. package/dist/tools/score-quality.js +191 -0
  761. package/dist/tools/score-quality.js.map +1 -0
  762. package/dist/tools/split-mission.d.ts +181 -0
  763. package/dist/tools/split-mission.d.ts.map +1 -0
  764. package/dist/tools/split-mission.js +416 -0
  765. package/dist/tools/split-mission.js.map +1 -0
  766. package/dist/tools/suggest-splits.d.ts +162 -0
  767. package/dist/tools/suggest-splits.d.ts.map +1 -0
  768. package/dist/tools/suggest-splits.js +344 -0
  769. package/dist/tools/suggest-splits.js.map +1 -0
  770. package/dist/tools/tool-execution.d.ts +4 -0
  771. package/dist/tools/tool-execution.d.ts.map +1 -0
  772. package/dist/tools/tool-execution.js +3 -0
  773. package/dist/tools/tool-execution.js.map +1 -0
  774. package/dist/tools/version-template.d.ts +515 -0
  775. package/dist/tools/version-template.d.ts.map +1 -0
  776. package/dist/tools/version-template.js +338 -0
  777. package/dist/tools/version-template.js.map +1 -0
  778. package/dist/types/errors.d.ts +19 -0
  779. package/dist/types/errors.d.ts.map +1 -0
  780. package/dist/types/errors.js +52 -0
  781. package/dist/types/errors.js.map +1 -0
  782. package/dist/types/mission-types.d.ts +8 -0
  783. package/dist/types/mission-types.d.ts.map +1 -0
  784. package/dist/types/mission-types.js +12 -0
  785. package/dist/types/mission-types.js.map +1 -0
  786. package/dist/types/registry.d.ts +55 -0
  787. package/dist/types/registry.d.ts.map +1 -0
  788. package/dist/types/registry.js +10 -0
  789. package/dist/types/registry.js.map +1 -0
  790. package/dist/types/schemas.d.ts +25 -0
  791. package/dist/types/schemas.d.ts.map +1 -0
  792. package/dist/types/schemas.js +6 -0
  793. package/dist/types/schemas.js.map +1 -0
  794. package/dist/types/tools.d.ts +22 -0
  795. package/dist/types/tools.d.ts.map +1 -0
  796. package/dist/types/tools.js +10 -0
  797. package/dist/types/tools.js.map +1 -0
  798. package/dist/utils/abort.d.ts +16 -0
  799. package/dist/utils/abort.d.ts.map +1 -0
  800. package/dist/utils/abort.js +89 -0
  801. package/dist/utils/abort.js.map +1 -0
  802. package/dist/utils/fs.d.ts +14 -0
  803. package/dist/utils/fs.d.ts.map +1 -0
  804. package/dist/utils/fs.js +114 -0
  805. package/dist/utils/fs.js.map +1 -0
  806. package/dist/utils/workspace-io.d.ts +18 -0
  807. package/dist/utils/workspace-io.d.ts.map +1 -0
  808. package/dist/utils/workspace-io.js +40 -0
  809. package/dist/utils/workspace-io.js.map +1 -0
  810. package/dist/validation/common.d.ts +21 -0
  811. package/dist/validation/common.d.ts.map +1 -0
  812. package/dist/validation/common.js +241 -0
  813. package/dist/validation/common.js.map +1 -0
  814. package/dist/validation/errors.d.ts +21 -0
  815. package/dist/validation/errors.d.ts.map +1 -0
  816. package/dist/validation/errors.js +122 -0
  817. package/dist/validation/errors.js.map +1 -0
  818. package/dist/validation/middleware.d.ts +6 -0
  819. package/dist/validation/middleware.d.ts.map +1 -0
  820. package/dist/validation/middleware.js +26 -0
  821. package/dist/validation/middleware.js.map +1 -0
  822. package/dist/validation/schemas/config-schema.d.ts +25 -0
  823. package/dist/validation/schemas/config-schema.d.ts.map +1 -0
  824. package/dist/validation/schemas/config-schema.js +22 -0
  825. package/dist/validation/schemas/config-schema.js.map +1 -0
  826. package/dist/validation/schemas/domain-schema.d.ts +129 -0
  827. package/dist/validation/schemas/domain-schema.d.ts.map +1 -0
  828. package/dist/validation/schemas/domain-schema.js +28 -0
  829. package/dist/validation/schemas/domain-schema.js.map +1 -0
  830. package/dist/validation/schemas/file-path-schema.d.ts +10 -0
  831. package/dist/validation/schemas/file-path-schema.d.ts.map +1 -0
  832. package/dist/validation/schemas/file-path-schema.js +29 -0
  833. package/dist/validation/schemas/file-path-schema.js.map +1 -0
  834. package/dist/validation/schemas/mission-schema.d.ts +65 -0
  835. package/dist/validation/schemas/mission-schema.d.ts.map +1 -0
  836. package/dist/validation/schemas/mission-schema.js +24 -0
  837. package/dist/validation/schemas/mission-schema.js.map +1 -0
  838. package/dist/validation/schemas/template-schema.d.ts +364 -0
  839. package/dist/validation/schemas/template-schema.d.ts.map +1 -0
  840. package/dist/validation/schemas/template-schema.js +64 -0
  841. package/dist/validation/schemas/template-schema.js.map +1 -0
  842. package/dist/versioning/migration-engine.d.ts +82 -0
  843. package/dist/versioning/migration-engine.d.ts.map +1 -0
  844. package/dist/versioning/migration-engine.js +352 -0
  845. package/dist/versioning/migration-engine.js.map +1 -0
  846. package/dist/versioning/types.d.ts +236 -0
  847. package/dist/versioning/types.d.ts.map +1 -0
  848. package/dist/versioning/types.js +57 -0
  849. package/dist/versioning/types.js.map +1 -0
  850. package/dist/versioning/version-manager.d.ts +76 -0
  851. package/dist/versioning/version-manager.d.ts.map +1 -0
  852. package/dist/versioning/version-manager.js +386 -0
  853. package/dist/versioning/version-manager.js.map +1 -0
  854. package/package.json +117 -0
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Tool: export_template
4
+ *
5
+ * Exposes the template export functionality as an MCP tool
6
+ * for use in Claude Desktop and other MCP-compatible environments.
7
+ *
8
+ * Exports templates in Strict YAML format (safe for import).
9
+ */
10
+ var __importDefault = (this && this.__importDefault) || function (mod) {
11
+ return (mod && mod.__esModule) ? mod : { "default": mod };
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.exportTemplateToolDefinitionDeprecated = exports.getTemplateExportToolDefinition = void 0;
15
+ exports.exportTemplate = exportTemplate;
16
+ exports.createTemplateFromMission = createTemplateFromMission;
17
+ const path_1 = __importDefault(require("path"));
18
+ const zod_1 = require("zod");
19
+ const validation_error_1 = require("../errors/validation-error");
20
+ const handler_1 = require("../errors/handler");
21
+ const template_exporter_1 = require("../import-export/template-exporter");
22
+ const common_1 = require("../validation/common");
23
+ const middleware_1 = require("../validation/middleware");
24
+ const file_path_schema_1 = require("../validation/schemas/file-path-schema");
25
+ const template_schema_1 = require("../validation/schemas/template-schema");
26
+ const errors_1 = require("../validation/errors");
27
+ /**
28
+ * Main entry point for the export_template MCP tool
29
+ */
30
+ async function exportTemplate(params) {
31
+ let contextData = {
32
+ outputPath: params.outputPath,
33
+ format: params.format ?? 'yaml',
34
+ templateName: params.template?.metadata?.name,
35
+ templateVersion: params.template?.metadata?.version,
36
+ };
37
+ try {
38
+ const validated = await validateParams(params);
39
+ contextData = {
40
+ outputPath: validated.outputPath,
41
+ format: validated.format ?? 'yaml',
42
+ templateName: validated.template.metadata.name,
43
+ templateVersion: validated.template.metadata.version,
44
+ };
45
+ // Determine base directory
46
+ const baseDir = validated.baseDir
47
+ ? await (0, common_1.safeFilePath)(path_1.default.resolve(validated.baseDir), { allowRelative: false })
48
+ : process.cwd();
49
+ // Build export options
50
+ const options = {
51
+ format: validated.format ?? 'yaml',
52
+ includeComments: validated.includeComments !== false, // Default true
53
+ pretty: validated.pretty !== false, // Default true
54
+ };
55
+ // Create exporter
56
+ const exporter = new template_exporter_1.TemplateExporter(baseDir);
57
+ const allowedExtensions = options.format === 'json' ? ['.json'] : ['.yaml', '.yml'];
58
+ const sanitizedOutputPath = await (0, common_1.safeFilePath)(validated.outputPath, {
59
+ allowRelative: true,
60
+ allowedExtensions,
61
+ });
62
+ // Execute export
63
+ const success = await exporter.export(validated.template, sanitizedOutputPath, options);
64
+ if (!success) {
65
+ throw new validation_error_1.ValidationError('Export operation failed', {
66
+ context: contextData,
67
+ });
68
+ }
69
+ // Generate preview
70
+ const content = exporter.exportToString(validated.template, options);
71
+ const preview = content.slice(0, 500) + (content.length > 500 ? '...' : '');
72
+ // Resolve output path for display
73
+ const resolvedPath = path_1.default.resolve(baseDir, sanitizedOutputPath);
74
+ return {
75
+ success: true,
76
+ outputPath: resolvedPath,
77
+ format: options.format,
78
+ message: `Template "${validated.template.metadata.name}" v${validated.template.metadata.version} exported successfully to ${resolvedPath}`,
79
+ preview,
80
+ };
81
+ }
82
+ catch (error) {
83
+ if (error instanceof errors_1.ValidationError) {
84
+ const maybeMessages = error.data?.messages;
85
+ const dataMessages = Array.isArray(maybeMessages)
86
+ ? maybeMessages.filter((message) => typeof message === 'string')
87
+ : undefined;
88
+ const detailMessages = dataMessages && dataMessages.length > 0
89
+ ? dataMessages
90
+ : error.issues?.map((issue) => issue.message).filter(Boolean);
91
+ const detail = detailMessages && detailMessages.length > 0 ? detailMessages[0] : error.message;
92
+ return {
93
+ success: false,
94
+ message: `Export failed: ${detail}`,
95
+ };
96
+ }
97
+ const missionError = handler_1.ErrorHandler.handle(error, 'tools.get_template_export.execute', {
98
+ module: 'tools/export-template',
99
+ data: contextData,
100
+ }, {
101
+ rethrow: false,
102
+ });
103
+ const publicError = handler_1.ErrorHandler.toPublicError(missionError);
104
+ const baseMessage = missionError.category === 'validation'
105
+ ? missionError.message
106
+ : publicError.message || 'Template export failed.';
107
+ const message = publicError.correlationId
108
+ ? `${baseMessage} (correlationId=${publicError.correlationId})`
109
+ : baseMessage;
110
+ return {
111
+ success: false,
112
+ message: `Export failed: ${message}`,
113
+ };
114
+ }
115
+ }
116
+ /**
117
+ * Validate input parameters
118
+ */
119
+ const ExportTemplateParamsSchema = zod_1.z
120
+ .object({
121
+ template: template_schema_1.MissionTemplateSchema,
122
+ outputPath: (0, file_path_schema_1.createFilePathSchema)({ allowRelative: true }),
123
+ baseDir: (0, file_path_schema_1.createFilePathSchema)({ allowRelative: true }).optional(),
124
+ format: zod_1.z.enum(['yaml', 'json']).optional(),
125
+ includeComments: zod_1.z.boolean().optional(),
126
+ pretty: zod_1.z.boolean().optional(),
127
+ })
128
+ .strict();
129
+ async function validateParams(params) {
130
+ return (0, middleware_1.validateAndSanitize)(params, ExportTemplateParamsSchema);
131
+ }
132
+ /**
133
+ * Helper function to create a template from mission data
134
+ * Useful for converting existing mission files to templates
135
+ */
136
+ function createTemplateFromMission(missionData, metadata) {
137
+ return {
138
+ apiVersion: 'mission-template.v1',
139
+ kind: 'MissionTemplate',
140
+ metadata,
141
+ spec: missionData,
142
+ dependencies: [],
143
+ };
144
+ }
145
+ /**
146
+ * MCP Tool Registration
147
+ * This would be called by the MCP server to register the tool
148
+ */
149
+ exports.getTemplateExportToolDefinition = {
150
+ name: 'get_template_export',
151
+ description: 'Export a mission template to Strict YAML or JSON format. Uses safe serialization with no language-specific tags.',
152
+ inputSchema: {
153
+ type: 'object',
154
+ properties: {
155
+ template: {
156
+ type: 'object',
157
+ description: 'Mission template object conforming to mission-template.v1 schema',
158
+ required: ['apiVersion', 'kind', 'metadata', 'spec'],
159
+ properties: {
160
+ apiVersion: {
161
+ type: 'string',
162
+ const: 'mission-template.v1',
163
+ },
164
+ kind: {
165
+ type: 'string',
166
+ const: 'MissionTemplate',
167
+ },
168
+ metadata: {
169
+ type: 'object',
170
+ description: 'Template metadata including name, version, author, and signature',
171
+ },
172
+ spec: {
173
+ type: 'object',
174
+ description: 'Mission specification (business logic)',
175
+ },
176
+ dependencies: {
177
+ type: 'array',
178
+ description: 'Optional array of template dependencies',
179
+ },
180
+ },
181
+ },
182
+ outputPath: {
183
+ type: 'string',
184
+ description: 'Output file path (relative to baseDir)',
185
+ },
186
+ baseDir: {
187
+ type: 'string',
188
+ description: 'Base directory for export operations (optional, defaults to current directory)',
189
+ },
190
+ format: {
191
+ type: 'string',
192
+ enum: ['yaml', 'json'],
193
+ description: 'Export format: yaml (default) or json',
194
+ },
195
+ includeComments: {
196
+ type: 'boolean',
197
+ description: 'Include header comments in YAML output (default: true)',
198
+ },
199
+ pretty: {
200
+ type: 'boolean',
201
+ description: 'Pretty print output (default: true)',
202
+ },
203
+ },
204
+ required: ['template', 'outputPath'],
205
+ },
206
+ };
207
+ exports.exportTemplateToolDefinitionDeprecated = {
208
+ ...exports.getTemplateExportToolDefinition,
209
+ name: 'export_template',
210
+ description: '[DEPRECATED] Use get_template_export instead. Provides the same strict serialization workflow.',
211
+ };
212
+ //# sourceMappingURL=export-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-template.js","sourceRoot":"","sources":["../../src/tools/export-template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * MCP Tool: extract_template
3
+ *
4
+ * Exposes the template extraction functionality as an MCP tool
5
+ * for use in Claude Desktop and other MCP-compatible environments.
6
+ */
7
+ import { ExtractionResult } from '../extraction/types';
8
+ /**
9
+ * MCP Tool Interface for Template Extraction
10
+ */
11
+ export interface ExtractTemplateParams {
12
+ /** Path to the source mission file or directory */
13
+ missionFile: string;
14
+ /** Name for the template (used to generate templateId) */
15
+ templateName: string;
16
+ /** Author name or email */
17
+ author: string;
18
+ /** Optional: Output directory for the template (defaults to ./templates) */
19
+ outputDir?: string;
20
+ /** Optional: Minimum confidence threshold (0.0 to 1.0, default 0.6) */
21
+ confidenceThreshold?: number;
22
+ }
23
+ /**
24
+ * Main entry point for the extract_template MCP tool
25
+ */
26
+ export declare function extractTemplate(params: ExtractTemplateParams): Promise<ExtractionResult>;
27
+ /**
28
+ * Write the extracted template to disk
29
+ */
30
+ export declare function writeTemplate(templateDir: string, result: ExtractionResult): Promise<void>;
31
+ /**
32
+ * Generate a human-readable extraction report
33
+ */
34
+ export declare function generateExtractionReport(result: ExtractionResult): string;
35
+ /**
36
+ * MCP Tool Registration
37
+ * Canonical specification for template extraction
38
+ */
39
+ export declare const getTemplateExtractionToolDefinition: {
40
+ readonly name: "get_template_extraction";
41
+ readonly description: "Extract a reusable template from a successful mission using the three-stage hybrid extraction algorithm";
42
+ readonly inputSchema: {
43
+ readonly type: "object";
44
+ readonly properties: {
45
+ readonly missionFile: {
46
+ readonly type: "string";
47
+ readonly description: "Path to the source mission file or directory";
48
+ };
49
+ readonly templateName: {
50
+ readonly type: "string";
51
+ readonly description: "Name for the template (used to generate templateId)";
52
+ };
53
+ readonly author: {
54
+ readonly type: "string";
55
+ readonly description: "Author name or email";
56
+ };
57
+ readonly outputDir: {
58
+ readonly type: "string";
59
+ readonly description: "Output directory for the template (optional, defaults to ./templates)";
60
+ };
61
+ readonly confidenceThreshold: {
62
+ readonly type: "number";
63
+ readonly description: "Minimum confidence threshold for parameterization (0.0 to 1.0, default 0.6)";
64
+ readonly minimum: 0;
65
+ readonly maximum: 1;
66
+ };
67
+ };
68
+ readonly required: readonly ["missionFile", "templateName", "author"];
69
+ };
70
+ };
71
+ /**
72
+ * Legacy alias maintained for one release cycle
73
+ */
74
+ export declare const extractTemplateToolDefinitionDeprecated: {
75
+ readonly name: "extract_template";
76
+ readonly description: "[DEPRECATED] Use get_template_extraction instead. Performs the same three-stage extraction workflow.";
77
+ readonly inputSchema: {
78
+ readonly type: "object";
79
+ readonly properties: {
80
+ readonly missionFile: {
81
+ readonly type: "string";
82
+ readonly description: "Path to the source mission file or directory";
83
+ };
84
+ readonly templateName: {
85
+ readonly type: "string";
86
+ readonly description: "Name for the template (used to generate templateId)";
87
+ };
88
+ readonly author: {
89
+ readonly type: "string";
90
+ readonly description: "Author name or email";
91
+ };
92
+ readonly outputDir: {
93
+ readonly type: "string";
94
+ readonly description: "Output directory for the template (optional, defaults to ./templates)";
95
+ };
96
+ readonly confidenceThreshold: {
97
+ readonly type: "number";
98
+ readonly description: "Minimum confidence threshold for parameterization (0.0 to 1.0, default 0.6)";
99
+ readonly minimum: 0;
100
+ readonly maximum: 1;
101
+ };
102
+ };
103
+ readonly required: readonly ["missionFile", "templateName", "author"];
104
+ };
105
+ };
106
+ //# sourceMappingURL=extract-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-template.d.ts","sourceRoot":"","sources":["../../src/tools/extract-template.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAoB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAOzE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IAEpB,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAC;IAErB,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IAEf,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uEAAuE;IACvE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8E9F;AAuDD;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DhG;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CA8DzE;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCtC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK1C,CAAC"}
@@ -0,0 +1,322 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Tool: extract_template
4
+ *
5
+ * Exposes the template extraction functionality as an MCP tool
6
+ * for use in Claude Desktop and other MCP-compatible environments.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.extractTemplateToolDefinitionDeprecated = exports.getTemplateExtractionToolDefinition = void 0;
43
+ exports.extractTemplate = extractTemplate;
44
+ exports.writeTemplate = writeTemplate;
45
+ exports.generateExtractionReport = generateExtractionReport;
46
+ const fs_1 = require("fs");
47
+ const path = __importStar(require("path"));
48
+ const zod_1 = require("zod");
49
+ const template_extractor_1 = require("../extraction/template-extractor");
50
+ const middleware_1 = require("../validation/middleware");
51
+ const file_path_schema_1 = require("../validation/schemas/file-path-schema");
52
+ const errors_1 = require("../validation/errors");
53
+ const fs_2 = require("../utils/fs");
54
+ const workspace_io_1 = require("../utils/workspace-io");
55
+ /**
56
+ * Main entry point for the extract_template MCP tool
57
+ */
58
+ async function extractTemplate(params) {
59
+ try {
60
+ const validated = await validateParams(params);
61
+ const missionPath = validated.missionFile;
62
+ // Determine if it's a file or directory
63
+ const stats = await fs_1.promises.stat(missionPath);
64
+ const sourcePath = stats.isDirectory() ? missionPath : path.dirname(missionPath);
65
+ // Create extraction config
66
+ const config = {
67
+ sourceMissionPath: sourcePath,
68
+ author: validated.author,
69
+ confidenceThreshold: validated.confidenceThreshold ?? 0.6,
70
+ enableASTAnalysis: true,
71
+ excludePatterns: [
72
+ 'node_modules/**',
73
+ '.git/**',
74
+ 'dist/**',
75
+ 'build/**',
76
+ '*.log',
77
+ '.env',
78
+ '.env.*',
79
+ ],
80
+ };
81
+ // Run the extraction
82
+ const extractor = new template_extractor_1.TemplateExtractor(config);
83
+ const result = await extractor.extract();
84
+ // If successful, write the template to disk
85
+ if (result.success && result.template) {
86
+ const outputDir = validated.outputDir ?? (await (0, workspace_io_1.resolveWorkspacePath)('templates', { allowRelative: true }));
87
+ await (0, fs_2.ensureDir)(outputDir);
88
+ const templateDir = await (0, workspace_io_1.resolveWorkspacePath)(validated.templateName, {
89
+ allowRelative: true,
90
+ baseDir: outputDir,
91
+ });
92
+ await writeTemplate(templateDir, result);
93
+ console.error(`[INFO] Template extracted successfully to: ${path.resolve(templateDir)}`);
94
+ console.error(`[INFO] Files analyzed: ${result.stage1?.filesAnalyzed || 0}`);
95
+ console.error(`[INFO] Parameters generated: ${result.stage2?.parametersGenerated || 0}`);
96
+ console.error(`[INFO] Total time: ${result.totalTime}ms`);
97
+ }
98
+ return result;
99
+ }
100
+ catch (error) {
101
+ if (error instanceof errors_1.ValidationError) {
102
+ const maybeMessages = error.data?.messages;
103
+ const dataMessages = Array.isArray(maybeMessages)
104
+ ? maybeMessages.filter((message) => typeof message === 'string')
105
+ : undefined;
106
+ const detailMessages = dataMessages && dataMessages.length > 0
107
+ ? dataMessages
108
+ : error.issues?.map((issue) => issue.message).filter(Boolean);
109
+ const detail = detailMessages && detailMessages.length > 0 ? detailMessages[0] : error.message;
110
+ const errorsList = detailMessages && detailMessages.length > 0 ? detailMessages : [detail];
111
+ return {
112
+ success: false,
113
+ errors: errorsList,
114
+ totalTime: 0,
115
+ };
116
+ }
117
+ const errorMessage = error instanceof Error ? error.message : String(error);
118
+ return {
119
+ success: false,
120
+ errors: [errorMessage],
121
+ totalTime: 0,
122
+ };
123
+ }
124
+ }
125
+ const ExtractTemplateParamsSchema = zod_1.z
126
+ .object({
127
+ missionFile: (0, file_path_schema_1.createFilePathSchema)({ allowRelative: true }),
128
+ templateName: zod_1.z
129
+ .string()
130
+ .min(3)
131
+ .max(64)
132
+ .regex(/^[a-zA-Z0-9-_]+$/, 'templateName must contain only alphanumeric characters, hyphens, and underscores'),
133
+ author: zod_1.z.string().min(1).max(128),
134
+ outputDir: (0, file_path_schema_1.createFilePathSchema)({ allowRelative: true }).optional(),
135
+ confidenceThreshold: zod_1.z
136
+ .number({
137
+ invalid_type_error: 'confidenceThreshold must be a number',
138
+ })
139
+ .refine((value) => value >= 0 && value <= 1, {
140
+ message: 'confidenceThreshold must be between 0.0 and 1.0',
141
+ })
142
+ .optional(),
143
+ })
144
+ .strict();
145
+ async function validateParams(params) {
146
+ const validated = await (0, middleware_1.validateAndSanitize)(params, ExtractTemplateParamsSchema);
147
+ const sanitizedMissionFile = (await (0, workspace_io_1.resolveWorkspacePath)(validated.missionFile, {
148
+ allowRelative: true,
149
+ maxLength: 2048,
150
+ }));
151
+ if (!(await (0, fs_2.pathExists)(sanitizedMissionFile))) {
152
+ throw new Error(`Mission file does not exist: ${validated.missionFile}`);
153
+ }
154
+ const sanitizedOutputDir = validated.outputDir
155
+ ? (await (0, workspace_io_1.resolveWorkspacePath)(validated.outputDir, {
156
+ allowRelative: true,
157
+ }))
158
+ : undefined;
159
+ return {
160
+ ...validated,
161
+ missionFile: sanitizedMissionFile,
162
+ outputDir: sanitizedOutputDir,
163
+ };
164
+ }
165
+ /**
166
+ * Write the extracted template to disk
167
+ */
168
+ async function writeTemplate(templateDir, result) {
169
+ if (!result.template) {
170
+ throw new Error('No template to write');
171
+ }
172
+ const { template } = result;
173
+ // Create template directory
174
+ const sanitizedDir = await (0, workspace_io_1.resolveWorkspacePath)(templateDir, { allowRelative: true });
175
+ await (0, fs_2.ensureDir)(sanitizedDir);
176
+ const writeTasks = template.fileStructure.map((file) => async () => {
177
+ const filePath = await (0, workspace_io_1.resolveWorkspacePath)(file.path, {
178
+ allowRelative: true,
179
+ baseDir: sanitizedDir,
180
+ maxLength: 4096,
181
+ });
182
+ await (0, fs_2.writeFileAtomic)(filePath, file.content, { encoding: 'utf-8' });
183
+ });
184
+ if (writeTasks.length > 0) {
185
+ await (0, fs_2.runWithConcurrency)(writeTasks, Math.min(8, writeTasks.length));
186
+ }
187
+ // Write metadata file
188
+ const metadataPath = await (0, workspace_io_1.resolveWorkspacePath)('template-metadata.json', {
189
+ allowRelative: true,
190
+ baseDir: sanitizedDir,
191
+ });
192
+ await (0, fs_2.writeFileAtomic)(metadataPath, JSON.stringify(template.metadata, null, 2), {
193
+ encoding: 'utf-8',
194
+ });
195
+ // Write extraction report
196
+ const reportPath = await (0, workspace_io_1.resolveWorkspacePath)('EXTRACTION_REPORT.md', {
197
+ allowRelative: true,
198
+ baseDir: sanitizedDir,
199
+ });
200
+ const report = generateExtractionReport(result);
201
+ await (0, fs_2.writeFileAtomic)(reportPath, report, { encoding: 'utf-8' });
202
+ // Write hooks if present
203
+ if (template.hooks?.preGenerate) {
204
+ const preHookPath = await (0, workspace_io_1.resolveWorkspacePath)(path.join('hooks', 'pre_gen_project.sh'), {
205
+ allowRelative: true,
206
+ baseDir: sanitizedDir,
207
+ });
208
+ await (0, fs_2.ensureDir)(path.dirname(preHookPath));
209
+ await (0, fs_2.writeFileAtomic)(preHookPath, template.hooks.preGenerate, { encoding: 'utf-8' });
210
+ await (0, fs_2.chmod)(preHookPath, 0o755);
211
+ }
212
+ if (template.hooks?.postGenerate) {
213
+ const postHookPath = await (0, workspace_io_1.resolveWorkspacePath)(path.join('hooks', 'post_gen_project.sh'), {
214
+ allowRelative: true,
215
+ baseDir: sanitizedDir,
216
+ });
217
+ await (0, fs_2.ensureDir)(path.dirname(postHookPath));
218
+ await (0, fs_2.writeFileAtomic)(postHookPath, template.hooks.postGenerate, { encoding: 'utf-8' });
219
+ await (0, fs_2.chmod)(postHookPath, 0o755);
220
+ }
221
+ }
222
+ /**
223
+ * Generate a human-readable extraction report
224
+ */
225
+ function generateExtractionReport(result) {
226
+ const { template, stage1, stage2, totalTime } = result;
227
+ if (!template) {
228
+ return '# Extraction Report\n\nExtraction failed. See errors for details.';
229
+ }
230
+ let report = '# Template Extraction Report\n\n';
231
+ report += `## Summary\n\n`;
232
+ report += `- **Template ID**: ${template.metadata.templateId}\n`;
233
+ report += `- **Template Name**: ${template.metadata.name}\n`;
234
+ report += `- **Source Mission**: ${template.metadata.sourceMissionId}\n`;
235
+ report += `- **Author**: ${template.metadata.author}\n`;
236
+ report += `- **Generated**: ${template.metadata.creationDate}\n`;
237
+ report += `\n`;
238
+ report += `## Performance Metrics\n\n`;
239
+ report += `- **Total Execution Time**: ${totalTime}ms\n`;
240
+ report += `- **Stage 1 (Candidate Identification)**: ${stage1?.executionTime}ms\n`;
241
+ report += `- **Stage 2 (Parameterization)**: ${stage2?.executionTime}ms\n`;
242
+ report += `- **Files Analyzed**: ${stage1?.filesAnalyzed}\n`;
243
+ report += `- **Parameters Generated**: ${stage2?.parametersGenerated}\n`;
244
+ report += `\n`;
245
+ report += `## Extracted Parameters\n\n`;
246
+ report += `| Parameter | Type | Description | Default | Required |\n`;
247
+ report += `|-----------|------|-------------|---------|----------|\n`;
248
+ for (const [name, param] of Object.entries(template.metadata.parameters)) {
249
+ report += `| ${name} | ${param.type} | ${param.description} | ${param.default} | ${param.required ? 'Yes' : 'No'} |\n`;
250
+ }
251
+ report += `\n`;
252
+ report += `## Template Structure\n\n`;
253
+ report += `\`\`\`\n`;
254
+ for (const file of template.fileStructure) {
255
+ const prefix = file.optional ? '[OPTIONAL] ' : '';
256
+ report += `${prefix}${file.path}\n`;
257
+ }
258
+ report += `\`\`\`\n\n`;
259
+ report += `## Next Steps\n\n`;
260
+ report += `1. **Review Parameters**: Validate that parameter names and types are correct\n`;
261
+ report += `2. **Test Template**: Generate a test project using this template\n`;
262
+ report += `3. **Refine Logic**: Add any conditional blocks for optional features\n`;
263
+ report += `4. **Documentation**: Update template description and parameter descriptions\n`;
264
+ report += `5. **Publish**: Add template to the domain pack catalog\n`;
265
+ report += `\n`;
266
+ report += `## Human-in-the-Loop Refinement (Stage 3)\n\n`;
267
+ report += `This template has been auto-generated using Stages 1 and 2 of the extraction algorithm.\n`;
268
+ report += `The final Stage 3 (Human-in-the-Loop Refinement) requires manual review and enhancement:\n\n`;
269
+ report += `- [ ] Validate and rename auto-generated parameter names\n`;
270
+ report += `- [ ] Adjust parameter types and default values\n`;
271
+ report += `- [ ] Add or refine conditional logic for optional features\n`;
272
+ report += `- [ ] Enrich metadata with better descriptions and tags\n`;
273
+ report += `- [ ] Add validation rules (regex patterns) for string parameters\n`;
274
+ report += `- [ ] Test the template by generating a new mission\n`;
275
+ report += `\n`;
276
+ return report;
277
+ }
278
+ /**
279
+ * MCP Tool Registration
280
+ * Canonical specification for template extraction
281
+ */
282
+ exports.getTemplateExtractionToolDefinition = {
283
+ name: 'get_template_extraction',
284
+ description: 'Extract a reusable template from a successful mission using the three-stage hybrid extraction algorithm',
285
+ inputSchema: {
286
+ type: 'object',
287
+ properties: {
288
+ missionFile: {
289
+ type: 'string',
290
+ description: 'Path to the source mission file or directory',
291
+ },
292
+ templateName: {
293
+ type: 'string',
294
+ description: 'Name for the template (used to generate templateId)',
295
+ },
296
+ author: {
297
+ type: 'string',
298
+ description: 'Author name or email',
299
+ },
300
+ outputDir: {
301
+ type: 'string',
302
+ description: 'Output directory for the template (optional, defaults to ./templates)',
303
+ },
304
+ confidenceThreshold: {
305
+ type: 'number',
306
+ description: 'Minimum confidence threshold for parameterization (0.0 to 1.0, default 0.6)',
307
+ minimum: 0,
308
+ maximum: 1,
309
+ },
310
+ },
311
+ required: ['missionFile', 'templateName', 'author'],
312
+ },
313
+ };
314
+ /**
315
+ * Legacy alias maintained for one release cycle
316
+ */
317
+ exports.extractTemplateToolDefinitionDeprecated = {
318
+ ...exports.getTemplateExtractionToolDefinition,
319
+ name: 'extract_template',
320
+ description: '[DEPRECATED] Use get_template_extraction instead. Performs the same three-stage extraction workflow.',
321
+ };
322
+ //# sourceMappingURL=extract-template.js.map