@libar-dev/architect 1.0.0-pre.3 → 1.0.0-pre.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (760) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +5 -5
  3. package/dist/api/arch-queries.d.ts.map +1 -1
  4. package/dist/api/context-assembler.d.ts.map +1 -1
  5. package/dist/api/handoff-generator.d.ts.map +1 -1
  6. package/dist/api/index.d.ts +8 -8
  7. package/dist/api/index.d.ts.map +1 -1
  8. package/dist/api/index.js +7 -7
  9. package/dist/api/index.js.map +1 -1
  10. package/dist/api/{process-state.d.ts → pattern-graph-api.d.ts} +15 -15
  11. package/dist/api/pattern-graph-api.d.ts.map +1 -0
  12. package/dist/api/{process-state.js → pattern-graph-api.js} +13 -13
  13. package/dist/api/pattern-graph-api.js.map +1 -0
  14. package/dist/api/rules-query.d.ts +6 -6
  15. package/dist/api/rules-query.d.ts.map +1 -1
  16. package/dist/api/rules-query.js +4 -4
  17. package/dist/api/rules-query.js.map +1 -1
  18. package/dist/api/scope-validator.d.ts.map +1 -1
  19. package/dist/api/types.d.ts +8 -8
  20. package/dist/api/types.d.ts.map +1 -1
  21. package/dist/api/types.js +5 -5
  22. package/dist/cli/cli-schema.d.ts +3 -4
  23. package/dist/cli/cli-schema.d.ts.map +1 -1
  24. package/dist/cli/cli-schema.js +13 -14
  25. package/dist/cli/cli-schema.js.map +1 -1
  26. package/dist/cli/output-pipeline.d.ts.map +1 -1
  27. package/dist/cli/pattern-graph-cli.d.ts.map +1 -0
  28. package/dist/cli/validate-patterns.d.ts.map +1 -1
  29. package/dist/generators/built-in/cli-recipe-generator.d.ts +3 -4
  30. package/dist/generators/built-in/cli-recipe-generator.d.ts.map +1 -1
  31. package/dist/generators/built-in/cli-recipe-generator.js +6 -7
  32. package/dist/generators/built-in/cli-recipe-generator.js.map +1 -1
  33. package/dist/generators/built-in/cli-reference-generator.d.ts +18 -0
  34. package/dist/generators/built-in/cli-reference-generator.d.ts.map +1 -0
  35. package/dist/generators/built-in/{process-api-reference-generator.js → cli-reference-generator.js} +13 -13
  36. package/dist/generators/built-in/cli-reference-generator.js.map +1 -0
  37. package/dist/generators/built-in/codec-generators.js +12 -12
  38. package/dist/generators/built-in/codec-generators.js.map +1 -1
  39. package/dist/generators/built-in/design-review-generator.d.ts.map +1 -1
  40. package/dist/generators/built-in/reference-generators.d.ts.map +1 -1
  41. package/dist/generators/codec-based.d.ts.map +1 -1
  42. package/dist/generators/index.d.ts.map +1 -1
  43. package/dist/generators/orchestrator.d.ts.map +1 -1
  44. package/dist/generators/pipeline/build-pipeline.d.ts +17 -14
  45. package/dist/generators/pipeline/build-pipeline.d.ts.map +1 -1
  46. package/dist/generators/pipeline/build-pipeline.js +27 -21
  47. package/dist/generators/pipeline/build-pipeline.js.map +1 -1
  48. package/dist/generators/pipeline/index.d.ts.map +1 -1
  49. package/dist/generators/types.d.ts.map +1 -1
  50. package/dist/mcp/pipeline-session.d.ts.map +1 -1
  51. package/dist/renderable/codecs/index-codec.d.ts.map +1 -1
  52. package/dist/renderable/codecs/index-codec.js +54 -28
  53. package/dist/renderable/codecs/index-codec.js.map +1 -1
  54. package/docs/ANNOTATION-GUIDE.md +5 -5
  55. package/docs/ARCHITECTURE.md +79 -79
  56. package/docs/{PROCESS-API.md → CLI.md} +6 -6
  57. package/docs/CONFIGURATION.md +2 -2
  58. package/docs/DOCS-GAP-ANALYSIS.md +65 -65
  59. package/docs/INDEX.md +34 -34
  60. package/docs/MCP-SETUP.md +3 -3
  61. package/docs/METHODOLOGY.md +1 -1
  62. package/docs/SESSION-GUIDES.md +3 -3
  63. package/docs/VALIDATION.md +4 -4
  64. package/docs-live/ARCHITECTURE.md +48 -42
  65. package/docs-live/BUSINESS-RULES.md +3 -3
  66. package/docs-live/CHANGELOG-GENERATED.md +109 -103
  67. package/docs-live/INDEX.md +21 -21
  68. package/docs-live/PRODUCT-AREAS.md +7 -7
  69. package/docs-live/TAXONOMY.md +3 -5
  70. package/docs-live/_claude-md/annotation/annotation-overview.md +1 -1
  71. package/docs-live/_claude-md/annotation/annotation-reference.md +5 -5
  72. package/docs-live/_claude-md/architecture/architecture-types.md +4 -4
  73. package/docs-live/_claude-md/architecture/reference-sample.md +2 -2
  74. package/docs-live/_claude-md/data-api/data-api-overview.md +2 -2
  75. package/docs-live/_claude-md/generation/generation-overview.md +15 -15
  76. package/docs-live/_claude-md/process/process-overview.md +1 -1
  77. package/docs-live/_claude-md/validation/validation-overview.md +1 -1
  78. package/docs-live/business-rules/annotation.md +1 -2
  79. package/docs-live/business-rules/configuration.md +1 -1
  80. package/docs-live/business-rules/data-api.md +149 -136
  81. package/docs-live/business-rules/generation.md +172 -20
  82. package/docs-live/decisions/adr-003-source-first-pattern-architecture.md +1 -1
  83. package/docs-live/decisions/adr-005-codec-based-markdown-rendering.md +5 -5
  84. package/docs-live/decisions/adr-006-single-read-model-architecture.md +24 -24
  85. package/docs-live/product-areas/ANNOTATION.md +19 -9
  86. package/docs-live/product-areas/CONFIGURATION.md +39 -19
  87. package/docs-live/product-areas/DATA-API.md +155 -151
  88. package/docs-live/product-areas/GENERATION.md +159 -144
  89. package/docs-live/product-areas/PROCESS.md +4 -4
  90. package/docs-live/product-areas/VALIDATION.md +35 -20
  91. package/docs-live/reference/ANNOTATION-REFERENCE.md +5 -5
  92. package/docs-live/reference/ARCHITECTURE-CODECS.md +11 -11
  93. package/docs-live/reference/ARCHITECTURE-TYPES.md +28 -25
  94. package/docs-live/reference/{PROCESS-API-RECIPES.md → CLI-RECIPES.md} +11 -11
  95. package/docs-live/reference/{PROCESS-API-REFERENCE.md → CLI-REFERENCE.md} +2 -2
  96. package/docs-live/reference/REFERENCE-SAMPLE.md +56 -56
  97. package/docs-live/reference/SESSION-WORKFLOW-GUIDE.md +3 -3
  98. package/docs-live/taxonomy/format-types.md +2 -2
  99. package/docs-live/taxonomy/metadata-tags.md +1 -23
  100. package/package.json +7 -7
  101. package/dist/api/arch-queries.d.ts +0 -95
  102. package/dist/api/arch-queries.js +0 -310
  103. package/dist/api/arch-queries.js.map +0 -1
  104. package/dist/api/context-assembler.d.ts +0 -124
  105. package/dist/api/context-assembler.js +0 -472
  106. package/dist/api/context-assembler.js.map +0 -1
  107. package/dist/api/context-formatter.d.ts +0 -26
  108. package/dist/api/context-formatter.js +0 -183
  109. package/dist/api/context-formatter.js.map +0 -1
  110. package/dist/api/coverage-analyzer.d.ts +0 -38
  111. package/dist/api/coverage-analyzer.d.ts.map +0 -1
  112. package/dist/api/coverage-analyzer.js +0 -117
  113. package/dist/api/coverage-analyzer.js.map +0 -1
  114. package/dist/api/fuzzy-match.d.ts +0 -75
  115. package/dist/api/fuzzy-match.d.ts.map +0 -1
  116. package/dist/api/fuzzy-match.js +0 -150
  117. package/dist/api/fuzzy-match.js.map +0 -1
  118. package/dist/api/handoff-generator.d.ts +0 -45
  119. package/dist/api/handoff-generator.js +0 -139
  120. package/dist/api/handoff-generator.js.map +0 -1
  121. package/dist/api/pattern-helpers.d.ts +0 -51
  122. package/dist/api/pattern-helpers.d.ts.map +0 -1
  123. package/dist/api/pattern-helpers.js +0 -84
  124. package/dist/api/pattern-helpers.js.map +0 -1
  125. package/dist/api/process-state.d.ts.map +0 -1
  126. package/dist/api/process-state.js.map +0 -1
  127. package/dist/api/scope-validator.d.ts +0 -56
  128. package/dist/api/scope-validator.js +0 -293
  129. package/dist/api/scope-validator.js.map +0 -1
  130. package/dist/api/stub-resolver.d.ts +0 -117
  131. package/dist/api/stub-resolver.d.ts.map +0 -1
  132. package/dist/api/stub-resolver.js +0 -154
  133. package/dist/api/stub-resolver.js.map +0 -1
  134. package/dist/api/summarize.d.ts +0 -75
  135. package/dist/api/summarize.d.ts.map +0 -1
  136. package/dist/api/summarize.js +0 -97
  137. package/dist/api/summarize.js.map +0 -1
  138. package/dist/cache/file-cache.d.ts +0 -72
  139. package/dist/cache/file-cache.d.ts.map +0 -1
  140. package/dist/cache/file-cache.js +0 -80
  141. package/dist/cache/file-cache.js.map +0 -1
  142. package/dist/cache/index.d.ts +0 -5
  143. package/dist/cache/index.d.ts.map +0 -1
  144. package/dist/cache/index.js +0 -5
  145. package/dist/cache/index.js.map +0 -1
  146. package/dist/cli/dataset-cache.d.ts +0 -66
  147. package/dist/cli/dataset-cache.js +0 -179
  148. package/dist/cli/dataset-cache.js.map +0 -1
  149. package/dist/cli/error-handler.d.ts +0 -84
  150. package/dist/cli/error-handler.d.ts.map +0 -1
  151. package/dist/cli/error-handler.js +0 -197
  152. package/dist/cli/error-handler.js.map +0 -1
  153. package/dist/cli/generate-docs.d.ts +0 -30
  154. package/dist/cli/generate-docs.js +0 -370
  155. package/dist/cli/generate-docs.js.map +0 -1
  156. package/dist/cli/lint-patterns.d.ts +0 -57
  157. package/dist/cli/lint-patterns.d.ts.map +0 -1
  158. package/dist/cli/lint-patterns.js +0 -257
  159. package/dist/cli/lint-patterns.js.map +0 -1
  160. package/dist/cli/lint-process.d.ts +0 -54
  161. package/dist/cli/lint-process.d.ts.map +0 -1
  162. package/dist/cli/lint-process.js +0 -319
  163. package/dist/cli/lint-process.js.map +0 -1
  164. package/dist/cli/lint-steps.d.ts +0 -32
  165. package/dist/cli/lint-steps.d.ts.map +0 -1
  166. package/dist/cli/lint-steps.js +0 -172
  167. package/dist/cli/lint-steps.js.map +0 -1
  168. package/dist/cli/mcp-server.d.ts +0 -22
  169. package/dist/cli/mcp-server.js +0 -57
  170. package/dist/cli/mcp-server.js.map +0 -1
  171. package/dist/cli/output-pipeline.d.ts +0 -130
  172. package/dist/cli/output-pipeline.js +0 -234
  173. package/dist/cli/output-pipeline.js.map +0 -1
  174. package/dist/cli/process-api.d.ts +0 -37
  175. package/dist/cli/process-api.d.ts.map +0 -1
  176. package/dist/cli/process-api.js +0 -1550
  177. package/dist/cli/process-api.js.map +0 -1
  178. package/dist/cli/repl.d.ts +0 -38
  179. package/dist/cli/repl.js +0 -239
  180. package/dist/cli/repl.js.map +0 -1
  181. package/dist/cli/validate-patterns.d.ts +0 -115
  182. package/dist/cli/validate-patterns.js +0 -707
  183. package/dist/cli/validate-patterns.js.map +0 -1
  184. package/dist/cli/version.d.ts +0 -35
  185. package/dist/cli/version.d.ts.map +0 -1
  186. package/dist/cli/version.js +0 -64
  187. package/dist/cli/version.js.map +0 -1
  188. package/dist/config/config-loader.d.ts +0 -167
  189. package/dist/config/config-loader.d.ts.map +0 -1
  190. package/dist/config/config-loader.js +0 -294
  191. package/dist/config/config-loader.js.map +0 -1
  192. package/dist/config/defaults.d.ts +0 -92
  193. package/dist/config/defaults.d.ts.map +0 -1
  194. package/dist/config/defaults.js +0 -103
  195. package/dist/config/defaults.js.map +0 -1
  196. package/dist/config/define-config.d.ts +0 -37
  197. package/dist/config/define-config.d.ts.map +0 -1
  198. package/dist/config/define-config.js +0 -38
  199. package/dist/config/define-config.js.map +0 -1
  200. package/dist/config/factory.d.ts +0 -79
  201. package/dist/config/factory.d.ts.map +0 -1
  202. package/dist/config/factory.js +0 -116
  203. package/dist/config/factory.js.map +0 -1
  204. package/dist/config/index.d.ts +0 -45
  205. package/dist/config/index.d.ts.map +0 -1
  206. package/dist/config/index.js +0 -48
  207. package/dist/config/index.js.map +0 -1
  208. package/dist/config/merge-sources.d.ts +0 -47
  209. package/dist/config/merge-sources.d.ts.map +0 -1
  210. package/dist/config/merge-sources.js +0 -61
  211. package/dist/config/merge-sources.js.map +0 -1
  212. package/dist/config/presets.d.ts +0 -115
  213. package/dist/config/presets.d.ts.map +0 -1
  214. package/dist/config/presets.js +0 -119
  215. package/dist/config/presets.js.map +0 -1
  216. package/dist/config/project-config-schema.d.ts +0 -192
  217. package/dist/config/project-config-schema.d.ts.map +0 -1
  218. package/dist/config/project-config-schema.js +0 -231
  219. package/dist/config/project-config-schema.js.map +0 -1
  220. package/dist/config/project-config.d.ts +0 -229
  221. package/dist/config/project-config.d.ts.map +0 -1
  222. package/dist/config/project-config.js +0 -37
  223. package/dist/config/project-config.js.map +0 -1
  224. package/dist/config/regex-builders.d.ts +0 -49
  225. package/dist/config/regex-builders.d.ts.map +0 -1
  226. package/dist/config/regex-builders.js +0 -85
  227. package/dist/config/regex-builders.js.map +0 -1
  228. package/dist/config/resolve-config.d.ts +0 -65
  229. package/dist/config/resolve-config.d.ts.map +0 -1
  230. package/dist/config/resolve-config.js +0 -150
  231. package/dist/config/resolve-config.js.map +0 -1
  232. package/dist/config/types.d.ts +0 -81
  233. package/dist/config/types.d.ts.map +0 -1
  234. package/dist/config/types.js +0 -22
  235. package/dist/config/types.js.map +0 -1
  236. package/dist/config/workflow-loader.d.ts +0 -90
  237. package/dist/config/workflow-loader.d.ts.map +0 -1
  238. package/dist/config/workflow-loader.js +0 -167
  239. package/dist/config/workflow-loader.js.map +0 -1
  240. package/dist/extractor/doc-extractor.d.ts +0 -233
  241. package/dist/extractor/doc-extractor.d.ts.map +0 -1
  242. package/dist/extractor/doc-extractor.js +0 -481
  243. package/dist/extractor/doc-extractor.js.map +0 -1
  244. package/dist/extractor/dual-source-extractor.d.ts +0 -161
  245. package/dist/extractor/dual-source-extractor.d.ts.map +0 -1
  246. package/dist/extractor/dual-source-extractor.js +0 -407
  247. package/dist/extractor/dual-source-extractor.js.map +0 -1
  248. package/dist/extractor/gherkin-extractor.d.ts +0 -170
  249. package/dist/extractor/gherkin-extractor.d.ts.map +0 -1
  250. package/dist/extractor/gherkin-extractor.js +0 -543
  251. package/dist/extractor/gherkin-extractor.js.map +0 -1
  252. package/dist/extractor/index.d.ts +0 -7
  253. package/dist/extractor/index.d.ts.map +0 -1
  254. package/dist/extractor/index.js +0 -11
  255. package/dist/extractor/index.js.map +0 -1
  256. package/dist/extractor/layer-inference.d.ts +0 -66
  257. package/dist/extractor/layer-inference.d.ts.map +0 -1
  258. package/dist/extractor/layer-inference.js +0 -93
  259. package/dist/extractor/layer-inference.js.map +0 -1
  260. package/dist/extractor/shape-extractor.d.ts +0 -79
  261. package/dist/extractor/shape-extractor.d.ts.map +0 -1
  262. package/dist/extractor/shape-extractor.js +0 -966
  263. package/dist/extractor/shape-extractor.js.map +0 -1
  264. package/dist/generators/built-in/codec-generators.d.ts +0 -29
  265. package/dist/generators/built-in/decision-doc-generator.d.ts +0 -204
  266. package/dist/generators/built-in/decision-doc-generator.js +0 -654
  267. package/dist/generators/built-in/decision-doc-generator.js.map +0 -1
  268. package/dist/generators/built-in/design-review-generator.d.ts +0 -26
  269. package/dist/generators/built-in/design-review-generator.js +0 -94
  270. package/dist/generators/built-in/design-review-generator.js.map +0 -1
  271. package/dist/generators/built-in/index.d.ts +0 -22
  272. package/dist/generators/built-in/index.js +0 -23
  273. package/dist/generators/built-in/index.js.map +0 -1
  274. package/dist/generators/built-in/process-api-reference-generator.d.ts +0 -18
  275. package/dist/generators/built-in/process-api-reference-generator.d.ts.map +0 -1
  276. package/dist/generators/built-in/process-api-reference-generator.js.map +0 -1
  277. package/dist/generators/built-in/reference-generators.d.ts +0 -51
  278. package/dist/generators/built-in/reference-generators.js +0 -320
  279. package/dist/generators/built-in/reference-generators.js.map +0 -1
  280. package/dist/generators/codec-based.d.ts +0 -63
  281. package/dist/generators/codec-based.js +0 -88
  282. package/dist/generators/codec-based.js.map +0 -1
  283. package/dist/generators/content-deduplicator.d.ts +0 -114
  284. package/dist/generators/content-deduplicator.d.ts.map +0 -1
  285. package/dist/generators/content-deduplicator.js +0 -356
  286. package/dist/generators/content-deduplicator.js.map +0 -1
  287. package/dist/generators/index.d.ts +0 -50
  288. package/dist/generators/index.js +0 -54
  289. package/dist/generators/index.js.map +0 -1
  290. package/dist/generators/orchestrator.d.ts +0 -265
  291. package/dist/generators/orchestrator.js +0 -570
  292. package/dist/generators/orchestrator.js.map +0 -1
  293. package/dist/generators/pipeline/context-inference.d.ts +0 -55
  294. package/dist/generators/pipeline/context-inference.d.ts.map +0 -1
  295. package/dist/generators/pipeline/context-inference.js +0 -76
  296. package/dist/generators/pipeline/context-inference.js.map +0 -1
  297. package/dist/generators/pipeline/index.d.ts +0 -27
  298. package/dist/generators/pipeline/index.js +0 -34
  299. package/dist/generators/pipeline/index.js.map +0 -1
  300. package/dist/generators/pipeline/merge-patterns.d.ts +0 -33
  301. package/dist/generators/pipeline/merge-patterns.d.ts.map +0 -1
  302. package/dist/generators/pipeline/merge-patterns.js +0 -50
  303. package/dist/generators/pipeline/merge-patterns.js.map +0 -1
  304. package/dist/generators/pipeline/relationship-resolver.d.ts +0 -47
  305. package/dist/generators/pipeline/relationship-resolver.d.ts.map +0 -1
  306. package/dist/generators/pipeline/relationship-resolver.js +0 -132
  307. package/dist/generators/pipeline/relationship-resolver.js.map +0 -1
  308. package/dist/generators/pipeline/sequence-utils.d.ts +0 -49
  309. package/dist/generators/pipeline/sequence-utils.d.ts.map +0 -1
  310. package/dist/generators/pipeline/sequence-utils.js +0 -235
  311. package/dist/generators/pipeline/sequence-utils.js.map +0 -1
  312. package/dist/generators/pipeline/transform-dataset.d.ts +0 -82
  313. package/dist/generators/pipeline/transform-dataset.d.ts.map +0 -1
  314. package/dist/generators/pipeline/transform-dataset.js +0 -355
  315. package/dist/generators/pipeline/transform-dataset.js.map +0 -1
  316. package/dist/generators/pipeline/transform-types.d.ts +0 -96
  317. package/dist/generators/pipeline/transform-types.d.ts.map +0 -1
  318. package/dist/generators/pipeline/transform-types.js +0 -18
  319. package/dist/generators/pipeline/transform-types.js.map +0 -1
  320. package/dist/generators/registry.d.ts +0 -64
  321. package/dist/generators/registry.js +0 -77
  322. package/dist/generators/registry.js.map +0 -1
  323. package/dist/generators/source-mapper.d.ts +0 -143
  324. package/dist/generators/source-mapper.d.ts.map +0 -1
  325. package/dist/generators/source-mapper.js +0 -602
  326. package/dist/generators/source-mapper.js.map +0 -1
  327. package/dist/generators/source-mapping-validator.d.ts +0 -118
  328. package/dist/generators/source-mapping-validator.d.ts.map +0 -1
  329. package/dist/generators/source-mapping-validator.js +0 -334
  330. package/dist/generators/source-mapping-validator.js.map +0 -1
  331. package/dist/generators/types.d.ts +0 -104
  332. package/dist/generators/types.js +0 -5
  333. package/dist/generators/types.js.map +0 -1
  334. package/dist/generators/warning-collector.d.ts +0 -144
  335. package/dist/generators/warning-collector.d.ts.map +0 -1
  336. package/dist/generators/warning-collector.js +0 -166
  337. package/dist/generators/warning-collector.js.map +0 -1
  338. package/dist/git/branch-diff.d.ts +0 -44
  339. package/dist/git/branch-diff.d.ts.map +0 -1
  340. package/dist/git/branch-diff.js +0 -57
  341. package/dist/git/branch-diff.js.map +0 -1
  342. package/dist/git/helpers.d.ts +0 -46
  343. package/dist/git/helpers.d.ts.map +0 -1
  344. package/dist/git/helpers.js +0 -67
  345. package/dist/git/helpers.js.map +0 -1
  346. package/dist/git/index.d.ts +0 -18
  347. package/dist/git/index.d.ts.map +0 -1
  348. package/dist/git/index.js +0 -18
  349. package/dist/git/index.js.map +0 -1
  350. package/dist/git/name-status.d.ts +0 -32
  351. package/dist/git/name-status.d.ts.map +0 -1
  352. package/dist/git/name-status.js +0 -66
  353. package/dist/git/name-status.js.map +0 -1
  354. package/dist/index.d.ts +0 -107
  355. package/dist/index.js +0 -122
  356. package/dist/index.js.map +0 -1
  357. package/dist/lint/engine.d.ts +0 -113
  358. package/dist/lint/engine.d.ts.map +0 -1
  359. package/dist/lint/engine.js +0 -228
  360. package/dist/lint/engine.js.map +0 -1
  361. package/dist/lint/index.d.ts +0 -26
  362. package/dist/lint/index.d.ts.map +0 -1
  363. package/dist/lint/index.js +0 -24
  364. package/dist/lint/index.js.map +0 -1
  365. package/dist/lint/process-guard/decider.d.ts +0 -166
  366. package/dist/lint/process-guard/decider.d.ts.map +0 -1
  367. package/dist/lint/process-guard/decider.js +0 -412
  368. package/dist/lint/process-guard/decider.js.map +0 -1
  369. package/dist/lint/process-guard/derive-state.d.ts +0 -96
  370. package/dist/lint/process-guard/derive-state.d.ts.map +0 -1
  371. package/dist/lint/process-guard/derive-state.js +0 -368
  372. package/dist/lint/process-guard/derive-state.js.map +0 -1
  373. package/dist/lint/process-guard/detect-changes.d.ts +0 -109
  374. package/dist/lint/process-guard/detect-changes.d.ts.map +0 -1
  375. package/dist/lint/process-guard/detect-changes.js +0 -487
  376. package/dist/lint/process-guard/detect-changes.js.map +0 -1
  377. package/dist/lint/process-guard/index.d.ts +0 -35
  378. package/dist/lint/process-guard/index.d.ts.map +0 -1
  379. package/dist/lint/process-guard/index.js +0 -39
  380. package/dist/lint/process-guard/index.js.map +0 -1
  381. package/dist/lint/process-guard/types.d.ts +0 -255
  382. package/dist/lint/process-guard/types.d.ts.map +0 -1
  383. package/dist/lint/process-guard/types.js +0 -31
  384. package/dist/lint/process-guard/types.js.map +0 -1
  385. package/dist/lint/rules.d.ts +0 -147
  386. package/dist/lint/rules.d.ts.map +0 -1
  387. package/dist/lint/rules.js +0 -289
  388. package/dist/lint/rules.js.map +0 -1
  389. package/dist/lint/steps/cross-checks.d.ts +0 -66
  390. package/dist/lint/steps/cross-checks.d.ts.map +0 -1
  391. package/dist/lint/steps/cross-checks.js +0 -290
  392. package/dist/lint/steps/cross-checks.js.map +0 -1
  393. package/dist/lint/steps/feature-checks.d.ts +0 -78
  394. package/dist/lint/steps/feature-checks.d.ts.map +0 -1
  395. package/dist/lint/steps/feature-checks.js +0 -279
  396. package/dist/lint/steps/feature-checks.js.map +0 -1
  397. package/dist/lint/steps/index.d.ts +0 -22
  398. package/dist/lint/steps/index.d.ts.map +0 -1
  399. package/dist/lint/steps/index.js +0 -26
  400. package/dist/lint/steps/index.js.map +0 -1
  401. package/dist/lint/steps/pair-resolver.d.ts +0 -29
  402. package/dist/lint/steps/pair-resolver.d.ts.map +0 -1
  403. package/dist/lint/steps/pair-resolver.js +0 -76
  404. package/dist/lint/steps/pair-resolver.js.map +0 -1
  405. package/dist/lint/steps/runner.d.ts +0 -28
  406. package/dist/lint/steps/runner.d.ts.map +0 -1
  407. package/dist/lint/steps/runner.js +0 -143
  408. package/dist/lint/steps/runner.js.map +0 -1
  409. package/dist/lint/steps/step-checks.d.ts +0 -41
  410. package/dist/lint/steps/step-checks.d.ts.map +0 -1
  411. package/dist/lint/steps/step-checks.js +0 -164
  412. package/dist/lint/steps/step-checks.js.map +0 -1
  413. package/dist/lint/steps/types.d.ts +0 -95
  414. package/dist/lint/steps/types.d.ts.map +0 -1
  415. package/dist/lint/steps/types.js +0 -79
  416. package/dist/lint/steps/types.js.map +0 -1
  417. package/dist/lint/steps/utils.d.ts +0 -22
  418. package/dist/lint/steps/utils.d.ts.map +0 -1
  419. package/dist/lint/steps/utils.js +0 -57
  420. package/dist/lint/steps/utils.js.map +0 -1
  421. package/dist/mcp/file-watcher.d.ts +0 -24
  422. package/dist/mcp/file-watcher.js +0 -75
  423. package/dist/mcp/file-watcher.js.map +0 -1
  424. package/dist/mcp/index.d.ts +0 -19
  425. package/dist/mcp/index.js +0 -21
  426. package/dist/mcp/index.js.map +0 -1
  427. package/dist/mcp/pipeline-session.d.ts +0 -33
  428. package/dist/mcp/pipeline-session.js +0 -149
  429. package/dist/mcp/pipeline-session.js.map +0 -1
  430. package/dist/mcp/server.d.ts +0 -28
  431. package/dist/mcp/server.js +0 -197
  432. package/dist/mcp/server.js.map +0 -1
  433. package/dist/mcp/tool-registry.d.ts +0 -4
  434. package/dist/mcp/tool-registry.js +0 -525
  435. package/dist/mcp/tool-registry.js.map +0 -1
  436. package/dist/renderable/codecs/adr.d.ts +0 -4730
  437. package/dist/renderable/codecs/adr.d.ts.map +0 -1
  438. package/dist/renderable/codecs/adr.js +0 -590
  439. package/dist/renderable/codecs/adr.js.map +0 -1
  440. package/dist/renderable/codecs/architecture.d.ts +0 -4760
  441. package/dist/renderable/codecs/architecture.d.ts.map +0 -1
  442. package/dist/renderable/codecs/architecture.js +0 -524
  443. package/dist/renderable/codecs/architecture.js.map +0 -1
  444. package/dist/renderable/codecs/business-rules.d.ts +0 -4777
  445. package/dist/renderable/codecs/business-rules.d.ts.map +0 -1
  446. package/dist/renderable/codecs/business-rules.js +0 -648
  447. package/dist/renderable/codecs/business-rules.js.map +0 -1
  448. package/dist/renderable/codecs/claude-module.d.ts +0 -4710
  449. package/dist/renderable/codecs/claude-module.d.ts.map +0 -1
  450. package/dist/renderable/codecs/claude-module.js +0 -214
  451. package/dist/renderable/codecs/claude-module.js.map +0 -1
  452. package/dist/renderable/codecs/composite.d.ts +0 -84
  453. package/dist/renderable/codecs/composite.d.ts.map +0 -1
  454. package/dist/renderable/codecs/composite.js +0 -124
  455. package/dist/renderable/codecs/composite.js.map +0 -1
  456. package/dist/renderable/codecs/convention-extractor.d.ts +0 -105
  457. package/dist/renderable/codecs/convention-extractor.d.ts.map +0 -1
  458. package/dist/renderable/codecs/convention-extractor.js +0 -353
  459. package/dist/renderable/codecs/convention-extractor.js.map +0 -1
  460. package/dist/renderable/codecs/decision-doc.d.ts +0 -308
  461. package/dist/renderable/codecs/decision-doc.d.ts.map +0 -1
  462. package/dist/renderable/codecs/decision-doc.js +0 -485
  463. package/dist/renderable/codecs/decision-doc.js.map +0 -1
  464. package/dist/renderable/codecs/design-review.d.ts +0 -55
  465. package/dist/renderable/codecs/design-review.d.ts.map +0 -1
  466. package/dist/renderable/codecs/design-review.js +0 -532
  467. package/dist/renderable/codecs/design-review.js.map +0 -1
  468. package/dist/renderable/codecs/diagram-utils.d.ts +0 -62
  469. package/dist/renderable/codecs/diagram-utils.d.ts.map +0 -1
  470. package/dist/renderable/codecs/diagram-utils.js +0 -70
  471. package/dist/renderable/codecs/diagram-utils.js.map +0 -1
  472. package/dist/renderable/codecs/helpers.d.ts +0 -553
  473. package/dist/renderable/codecs/helpers.d.ts.map +0 -1
  474. package/dist/renderable/codecs/helpers.js +0 -913
  475. package/dist/renderable/codecs/helpers.js.map +0 -1
  476. package/dist/renderable/codecs/index-codec.d.ts +0 -4714
  477. package/dist/renderable/codecs/index.d.ts +0 -46
  478. package/dist/renderable/codecs/index.d.ts.map +0 -1
  479. package/dist/renderable/codecs/index.js +0 -70
  480. package/dist/renderable/codecs/index.js.map +0 -1
  481. package/dist/renderable/codecs/patterns.d.ts +0 -4757
  482. package/dist/renderable/codecs/patterns.d.ts.map +0 -1
  483. package/dist/renderable/codecs/patterns.js +0 -462
  484. package/dist/renderable/codecs/patterns.js.map +0 -1
  485. package/dist/renderable/codecs/planning.d.ts +0 -14055
  486. package/dist/renderable/codecs/planning.d.ts.map +0 -1
  487. package/dist/renderable/codecs/planning.js +0 -449
  488. package/dist/renderable/codecs/planning.js.map +0 -1
  489. package/dist/renderable/codecs/pr-changes.d.ts +0 -4742
  490. package/dist/renderable/codecs/pr-changes.d.ts.map +0 -1
  491. package/dist/renderable/codecs/pr-changes.js +0 -425
  492. package/dist/renderable/codecs/pr-changes.js.map +0 -1
  493. package/dist/renderable/codecs/reference.d.ts +0 -215
  494. package/dist/renderable/codecs/reference.d.ts.map +0 -1
  495. package/dist/renderable/codecs/reference.js +0 -1578
  496. package/dist/renderable/codecs/reference.js.map +0 -1
  497. package/dist/renderable/codecs/reporting.d.ts +0 -14026
  498. package/dist/renderable/codecs/reporting.d.ts.map +0 -1
  499. package/dist/renderable/codecs/reporting.js +0 -365
  500. package/dist/renderable/codecs/reporting.js.map +0 -1
  501. package/dist/renderable/codecs/requirements.d.ts +0 -4743
  502. package/dist/renderable/codecs/requirements.d.ts.map +0 -1
  503. package/dist/renderable/codecs/requirements.js +0 -428
  504. package/dist/renderable/codecs/requirements.js.map +0 -1
  505. package/dist/renderable/codecs/session.d.ts +0 -9410
  506. package/dist/renderable/codecs/session.d.ts.map +0 -1
  507. package/dist/renderable/codecs/session.js +0 -848
  508. package/dist/renderable/codecs/session.js.map +0 -1
  509. package/dist/renderable/codecs/shape-matcher.d.ts +0 -54
  510. package/dist/renderable/codecs/shape-matcher.d.ts.map +0 -1
  511. package/dist/renderable/codecs/shape-matcher.js +0 -106
  512. package/dist/renderable/codecs/shape-matcher.js.map +0 -1
  513. package/dist/renderable/codecs/shared-schema.d.ts +0 -44
  514. package/dist/renderable/codecs/shared-schema.d.ts.map +0 -1
  515. package/dist/renderable/codecs/shared-schema.js +0 -43
  516. package/dist/renderable/codecs/shared-schema.js.map +0 -1
  517. package/dist/renderable/codecs/taxonomy.d.ts +0 -4733
  518. package/dist/renderable/codecs/taxonomy.d.ts.map +0 -1
  519. package/dist/renderable/codecs/taxonomy.js +0 -570
  520. package/dist/renderable/codecs/taxonomy.js.map +0 -1
  521. package/dist/renderable/codecs/timeline.d.ts +0 -14094
  522. package/dist/renderable/codecs/timeline.d.ts.map +0 -1
  523. package/dist/renderable/codecs/timeline.js +0 -906
  524. package/dist/renderable/codecs/timeline.js.map +0 -1
  525. package/dist/renderable/codecs/types/base.d.ts +0 -81
  526. package/dist/renderable/codecs/types/base.d.ts.map +0 -1
  527. package/dist/renderable/codecs/types/base.js +0 -56
  528. package/dist/renderable/codecs/types/base.js.map +0 -1
  529. package/dist/renderable/codecs/types/index.d.ts +0 -5
  530. package/dist/renderable/codecs/types/index.d.ts.map +0 -1
  531. package/dist/renderable/codecs/types/index.js +0 -5
  532. package/dist/renderable/codecs/types/index.js.map +0 -1
  533. package/dist/renderable/codecs/validation-rules.d.ts +0 -4773
  534. package/dist/renderable/codecs/validation-rules.d.ts.map +0 -1
  535. package/dist/renderable/codecs/validation-rules.js +0 -537
  536. package/dist/renderable/codecs/validation-rules.js.map +0 -1
  537. package/dist/renderable/generate.d.ts +0 -338
  538. package/dist/renderable/generate.d.ts.map +0 -1
  539. package/dist/renderable/generate.js +0 -437
  540. package/dist/renderable/generate.js.map +0 -1
  541. package/dist/renderable/index.d.ts +0 -36
  542. package/dist/renderable/index.d.ts.map +0 -1
  543. package/dist/renderable/index.js +0 -58
  544. package/dist/renderable/index.js.map +0 -1
  545. package/dist/renderable/load-preamble.d.ts +0 -56
  546. package/dist/renderable/load-preamble.d.ts.map +0 -1
  547. package/dist/renderable/load-preamble.js +0 -298
  548. package/dist/renderable/load-preamble.js.map +0 -1
  549. package/dist/renderable/render.d.ts +0 -61
  550. package/dist/renderable/render.d.ts.map +0 -1
  551. package/dist/renderable/render.js +0 -346
  552. package/dist/renderable/render.js.map +0 -1
  553. package/dist/renderable/schema.d.ts +0 -194
  554. package/dist/renderable/schema.d.ts.map +0 -1
  555. package/dist/renderable/schema.js +0 -197
  556. package/dist/renderable/schema.js.map +0 -1
  557. package/dist/renderable/utils.d.ts +0 -146
  558. package/dist/renderable/utils.d.ts.map +0 -1
  559. package/dist/renderable/utils.js +0 -362
  560. package/dist/renderable/utils.js.map +0 -1
  561. package/dist/scanner/ast-parser.d.ts +0 -75
  562. package/dist/scanner/ast-parser.d.ts.map +0 -1
  563. package/dist/scanner/ast-parser.js +0 -835
  564. package/dist/scanner/ast-parser.js.map +0 -1
  565. package/dist/scanner/gherkin-ast-parser.d.ts +0 -166
  566. package/dist/scanner/gherkin-ast-parser.d.ts.map +0 -1
  567. package/dist/scanner/gherkin-ast-parser.js +0 -507
  568. package/dist/scanner/gherkin-ast-parser.js.map +0 -1
  569. package/dist/scanner/gherkin-scanner.d.ts +0 -106
  570. package/dist/scanner/gherkin-scanner.d.ts.map +0 -1
  571. package/dist/scanner/gherkin-scanner.js +0 -149
  572. package/dist/scanner/gherkin-scanner.js.map +0 -1
  573. package/dist/scanner/index.d.ts +0 -85
  574. package/dist/scanner/index.d.ts.map +0 -1
  575. package/dist/scanner/index.js +0 -102
  576. package/dist/scanner/index.js.map +0 -1
  577. package/dist/scanner/pattern-scanner.d.ts +0 -83
  578. package/dist/scanner/pattern-scanner.d.ts.map +0 -1
  579. package/dist/scanner/pattern-scanner.js +0 -110
  580. package/dist/scanner/pattern-scanner.js.map +0 -1
  581. package/dist/taxonomy/categories.d.ts +0 -47
  582. package/dist/taxonomy/categories.d.ts.map +0 -1
  583. package/dist/taxonomy/categories.js +0 -175
  584. package/dist/taxonomy/categories.js.map +0 -1
  585. package/dist/taxonomy/claude-section-values.d.ts +0 -12
  586. package/dist/taxonomy/claude-section-values.d.ts.map +0 -1
  587. package/dist/taxonomy/claude-section-values.js +0 -17
  588. package/dist/taxonomy/claude-section-values.js.map +0 -1
  589. package/dist/taxonomy/conventions.d.ts +0 -13
  590. package/dist/taxonomy/conventions.d.ts.map +0 -1
  591. package/dist/taxonomy/conventions.js +0 -27
  592. package/dist/taxonomy/conventions.js.map +0 -1
  593. package/dist/taxonomy/deliverable-status.d.ts +0 -99
  594. package/dist/taxonomy/deliverable-status.d.ts.map +0 -1
  595. package/dist/taxonomy/deliverable-status.js +0 -131
  596. package/dist/taxonomy/deliverable-status.js.map +0 -1
  597. package/dist/taxonomy/format-types.d.ts +0 -17
  598. package/dist/taxonomy/format-types.d.ts.map +0 -1
  599. package/dist/taxonomy/format-types.js +0 -23
  600. package/dist/taxonomy/format-types.js.map +0 -1
  601. package/dist/taxonomy/generator-options.d.ts +0 -67
  602. package/dist/taxonomy/generator-options.d.ts.map +0 -1
  603. package/dist/taxonomy/generator-options.js +0 -75
  604. package/dist/taxonomy/generator-options.js.map +0 -1
  605. package/dist/taxonomy/hierarchy-levels.d.ts +0 -23
  606. package/dist/taxonomy/hierarchy-levels.d.ts.map +0 -1
  607. package/dist/taxonomy/hierarchy-levels.js +0 -22
  608. package/dist/taxonomy/hierarchy-levels.js.map +0 -1
  609. package/dist/taxonomy/index.d.ts +0 -35
  610. package/dist/taxonomy/index.d.ts.map +0 -1
  611. package/dist/taxonomy/index.js +0 -56
  612. package/dist/taxonomy/index.js.map +0 -1
  613. package/dist/taxonomy/layer-types.d.ts +0 -22
  614. package/dist/taxonomy/layer-types.d.ts.map +0 -1
  615. package/dist/taxonomy/layer-types.js +0 -28
  616. package/dist/taxonomy/layer-types.js.map +0 -1
  617. package/dist/taxonomy/normalized-status.d.ts +0 -99
  618. package/dist/taxonomy/normalized-status.d.ts.map +0 -1
  619. package/dist/taxonomy/normalized-status.js +0 -113
  620. package/dist/taxonomy/normalized-status.js.map +0 -1
  621. package/dist/taxonomy/registry-builder.d.ts +0 -104
  622. package/dist/taxonomy/registry-builder.d.ts.map +0 -1
  623. package/dist/taxonomy/registry-builder.js +0 -561
  624. package/dist/taxonomy/registry-builder.js.map +0 -1
  625. package/dist/taxonomy/risk-levels.d.ts +0 -16
  626. package/dist/taxonomy/risk-levels.d.ts.map +0 -1
  627. package/dist/taxonomy/risk-levels.js +0 -15
  628. package/dist/taxonomy/risk-levels.js.map +0 -1
  629. package/dist/taxonomy/severity-types.d.ts +0 -6
  630. package/dist/taxonomy/severity-types.d.ts.map +0 -1
  631. package/dist/taxonomy/severity-types.js +0 -5
  632. package/dist/taxonomy/severity-types.js.map +0 -1
  633. package/dist/taxonomy/status-values.d.ts +0 -39
  634. package/dist/taxonomy/status-values.d.ts.map +0 -1
  635. package/dist/taxonomy/status-values.js +0 -42
  636. package/dist/taxonomy/status-values.js.map +0 -1
  637. package/dist/types/branded.d.ts +0 -89
  638. package/dist/types/branded.d.ts.map +0 -1
  639. package/dist/types/branded.js +0 -57
  640. package/dist/types/branded.js.map +0 -1
  641. package/dist/types/errors.d.ts +0 -342
  642. package/dist/types/errors.d.ts.map +0 -1
  643. package/dist/types/errors.js +0 -251
  644. package/dist/types/errors.js.map +0 -1
  645. package/dist/types/index.d.ts +0 -41
  646. package/dist/types/index.d.ts.map +0 -1
  647. package/dist/types/index.js +0 -5
  648. package/dist/types/index.js.map +0 -1
  649. package/dist/types/result.d.ts +0 -78
  650. package/dist/types/result.d.ts.map +0 -1
  651. package/dist/types/result.js +0 -78
  652. package/dist/types/result.js.map +0 -1
  653. package/dist/utils/collection-utils.d.ts +0 -49
  654. package/dist/utils/collection-utils.d.ts.map +0 -1
  655. package/dist/utils/collection-utils.js +0 -58
  656. package/dist/utils/collection-utils.js.map +0 -1
  657. package/dist/utils/id-utils.d.ts +0 -46
  658. package/dist/utils/id-utils.d.ts.map +0 -1
  659. package/dist/utils/id-utils.js +0 -51
  660. package/dist/utils/id-utils.js.map +0 -1
  661. package/dist/utils/index.d.ts +0 -21
  662. package/dist/utils/index.d.ts.map +0 -1
  663. package/dist/utils/index.js +0 -21
  664. package/dist/utils/index.js.map +0 -1
  665. package/dist/utils/string-utils.d.ts +0 -150
  666. package/dist/utils/string-utils.d.ts.map +0 -1
  667. package/dist/utils/string-utils.js +0 -281
  668. package/dist/utils/string-utils.js.map +0 -1
  669. package/dist/validation/anti-patterns.d.ts +0 -134
  670. package/dist/validation/anti-patterns.d.ts.map +0 -1
  671. package/dist/validation/anti-patterns.js +0 -307
  672. package/dist/validation/anti-patterns.js.map +0 -1
  673. package/dist/validation/dod-validator.d.ts +0 -94
  674. package/dist/validation/dod-validator.d.ts.map +0 -1
  675. package/dist/validation/dod-validator.js +0 -198
  676. package/dist/validation/dod-validator.js.map +0 -1
  677. package/dist/validation/fsm/index.d.ts +0 -59
  678. package/dist/validation/fsm/index.d.ts.map +0 -1
  679. package/dist/validation/fsm/index.js +0 -64
  680. package/dist/validation/fsm/index.js.map +0 -1
  681. package/dist/validation/fsm/states.d.ts +0 -93
  682. package/dist/validation/fsm/states.d.ts.map +0 -1
  683. package/dist/validation/fsm/states.js +0 -98
  684. package/dist/validation/fsm/states.js.map +0 -1
  685. package/dist/validation/fsm/transitions.d.ts +0 -100
  686. package/dist/validation/fsm/transitions.d.ts.map +0 -1
  687. package/dist/validation/fsm/transitions.js +0 -122
  688. package/dist/validation/fsm/transitions.js.map +0 -1
  689. package/dist/validation/fsm/validator.d.ts +0 -163
  690. package/dist/validation/fsm/validator.d.ts.map +0 -1
  691. package/dist/validation/fsm/validator.js +0 -205
  692. package/dist/validation/fsm/validator.js.map +0 -1
  693. package/dist/validation/index.d.ts +0 -23
  694. package/dist/validation/index.d.ts.map +0 -1
  695. package/dist/validation/index.js +0 -25
  696. package/dist/validation/index.js.map +0 -1
  697. package/dist/validation/types.d.ts +0 -136
  698. package/dist/validation/types.d.ts.map +0 -1
  699. package/dist/validation/types.js +0 -56
  700. package/dist/validation/types.js.map +0 -1
  701. package/dist/validation-schemas/codec-utils.d.ts +0 -188
  702. package/dist/validation-schemas/codec-utils.d.ts.map +0 -1
  703. package/dist/validation-schemas/codec-utils.js +0 -258
  704. package/dist/validation-schemas/codec-utils.js.map +0 -1
  705. package/dist/validation-schemas/config.d.ts +0 -99
  706. package/dist/validation-schemas/config.d.ts.map +0 -1
  707. package/dist/validation-schemas/config.js +0 -178
  708. package/dist/validation-schemas/config.js.map +0 -1
  709. package/dist/validation-schemas/doc-directive.d.ts +0 -195
  710. package/dist/validation-schemas/doc-directive.d.ts.map +0 -1
  711. package/dist/validation-schemas/doc-directive.js +0 -239
  712. package/dist/validation-schemas/doc-directive.js.map +0 -1
  713. package/dist/validation-schemas/dual-source.d.ts +0 -167
  714. package/dist/validation-schemas/dual-source.d.ts.map +0 -1
  715. package/dist/validation-schemas/dual-source.js +0 -168
  716. package/dist/validation-schemas/dual-source.js.map +0 -1
  717. package/dist/validation-schemas/export-info.d.ts +0 -53
  718. package/dist/validation-schemas/export-info.d.ts.map +0 -1
  719. package/dist/validation-schemas/export-info.js +0 -101
  720. package/dist/validation-schemas/export-info.js.map +0 -1
  721. package/dist/validation-schemas/extracted-pattern.d.ts +0 -351
  722. package/dist/validation-schemas/extracted-pattern.d.ts.map +0 -1
  723. package/dist/validation-schemas/extracted-pattern.js +0 -459
  724. package/dist/validation-schemas/extracted-pattern.js.map +0 -1
  725. package/dist/validation-schemas/extracted-shape.d.ts +0 -200
  726. package/dist/validation-schemas/extracted-shape.d.ts.map +0 -1
  727. package/dist/validation-schemas/extracted-shape.js +0 -182
  728. package/dist/validation-schemas/extracted-shape.js.map +0 -1
  729. package/dist/validation-schemas/feature.d.ts +0 -554
  730. package/dist/validation-schemas/feature.d.ts.map +0 -1
  731. package/dist/validation-schemas/feature.js +0 -262
  732. package/dist/validation-schemas/feature.js.map +0 -1
  733. package/dist/validation-schemas/index.d.ts +0 -15
  734. package/dist/validation-schemas/index.d.ts.map +0 -1
  735. package/dist/validation-schemas/index.js +0 -32
  736. package/dist/validation-schemas/index.js.map +0 -1
  737. package/dist/validation-schemas/lint.d.ts +0 -46
  738. package/dist/validation-schemas/lint.d.ts.map +0 -1
  739. package/dist/validation-schemas/lint.js +0 -45
  740. package/dist/validation-schemas/lint.js.map +0 -1
  741. package/dist/validation-schemas/master-dataset.d.ts +0 -8299
  742. package/dist/validation-schemas/master-dataset.d.ts.map +0 -1
  743. package/dist/validation-schemas/master-dataset.js +0 -275
  744. package/dist/validation-schemas/master-dataset.js.map +0 -1
  745. package/dist/validation-schemas/output-schemas.d.ts +0 -183
  746. package/dist/validation-schemas/output-schemas.d.ts.map +0 -1
  747. package/dist/validation-schemas/output-schemas.js +0 -149
  748. package/dist/validation-schemas/output-schemas.js.map +0 -1
  749. package/dist/validation-schemas/scenario-ref.d.ts +0 -80
  750. package/dist/validation-schemas/scenario-ref.d.ts.map +0 -1
  751. package/dist/validation-schemas/scenario-ref.js +0 -73
  752. package/dist/validation-schemas/scenario-ref.js.map +0 -1
  753. package/dist/validation-schemas/tag-registry.d.ts +0 -210
  754. package/dist/validation-schemas/tag-registry.d.ts.map +0 -1
  755. package/dist/validation-schemas/tag-registry.js +0 -248
  756. package/dist/validation-schemas/tag-registry.js.map +0 -1
  757. package/dist/validation-schemas/workflow-config.d.ts +0 -125
  758. package/dist/validation-schemas/workflow-config.d.ts.map +0 -1
  759. package/dist/validation-schemas/workflow-config.js +0 -138
  760. package/dist/validation-schemas/workflow-config.js.map +0 -1
@@ -1,481 +0,0 @@
1
- /**
2
- * @architect
3
- * @architect-core @architect-extractor
4
- * @architect-pattern Document Extractor
5
- * @architect-status completed
6
- * @architect-arch-role service
7
- * @architect-arch-context extractor
8
- * @architect-arch-layer application
9
- * @architect-include pipeline-stages
10
- * @architect-uses Pattern Scanner, Tag Registry, Zod
11
- * @architect-used-by Orchestrator, Generators
12
- * @architect-usecase "When converting scanned files to ExtractedPattern objects"
13
- * @architect-usecase "When inferring pattern names and categories from exports"
14
- *
15
- * ## Document Extractor - Pattern Extraction and Metadata Generation
16
- *
17
- * Converts scanned file data into complete ExtractedPattern objects with
18
- * unique IDs, inferred names, categories, and timestamps. Second stage of
19
- * the pipeline: Scanner → **Extractor** → Generator.
20
- *
21
- * ### When to Use
22
- *
23
- * - Transforming directives to structured patterns
24
- * - Inferring metadata from tags and exports
25
- * - Validating pattern structure against schemas
26
- *
27
- * ### Key Concepts
28
- *
29
- * - **Category Inference**: Uses tag registry priorities to determine primary category
30
- * - **Name Inference**: Extracts from exports or JSDoc title when not explicit
31
- * - **Deterministic IDs**: MD5 hash of file path + line number ensures stable identifiers
32
- */
33
- import * as fs from 'fs';
34
- import * as path from 'path';
35
- import { processExtractShapesTag, discoverTaggedShapes } from './shape-extractor.js';
36
- import { Result } from '../types/index.js';
37
- import { asPatternId, asCategoryName, asSourceFilePath, createPatternValidationError, } from '../types/index.js';
38
- import { ExtractedPatternSchema, createDefaultTagRegistry, } from '../validation-schemas/index.js';
39
- import { generatePatternId } from '../utils/index.js';
40
- /**
41
- * Convert scanned files to extracted patterns
42
- *
43
- * **Result Pattern**: Collects both successful extractions AND validation errors,
44
- * enabling partial success scenarios.
45
- *
46
- * @param scannedFiles - Files scanned for directives
47
- * @param baseDir - Base directory for relative path calculation
48
- * @param registry - Tag registry for category inference and aggregation tags (optional, defaults to generic registry)
49
- * @returns Extraction results with patterns and errors
50
- *
51
- * @example
52
- * ```typescript
53
- * import { scanPatterns } from '@libar-dev/code-first-docs/scanner';
54
- * import { extractPatterns } from '@libar-dev/code-first-docs/extractor';
55
- *
56
- * const scanResult = await scanPatterns(config);
57
- * if (scanResult.ok) {
58
- * const extraction = extractPatterns(scanResult.value.files, '/path/to/project');
59
- * console.log(`Extracted ${extraction.patterns.length} patterns`);
60
- * console.log(`Failed ${extraction.errors.length} validations`);
61
- * }
62
- * ```
63
- */
64
- export function extractPatterns(scannedFiles, baseDir, registry) {
65
- const patterns = [];
66
- const errors = [];
67
- const effectiveRegistry = registry ?? createDefaultTagRegistry();
68
- for (const scannedFile of scannedFiles) {
69
- for (const item of scannedFile.directives) {
70
- const result = buildPattern(item.directive, item.code, item.exports, scannedFile.filePath, baseDir, effectiveRegistry);
71
- if (Result.isOk(result)) {
72
- patterns.push(result.value);
73
- }
74
- else {
75
- errors.push(result.error);
76
- }
77
- }
78
- }
79
- return { patterns, errors };
80
- }
81
- /**
82
- * Build a complete ExtractedPattern from components
83
- *
84
- * **Schema-First Enforcement**: Validates constructed pattern against schema
85
- * to ensure data integrity at the boundary.
86
- *
87
- * @param directive - Parsed JSDoc directive
88
- * @param code - Extracted code snippet
89
- * @param exports - Exported symbols from code block
90
- * @param filePath - Absolute file path
91
- * @param baseDir - Base directory for relative path calculation
92
- * @param registry - Tag registry for category inference
93
- * @returns Result containing validated pattern or validation error
94
- *
95
- * @example
96
- * ```typescript
97
- * const result = buildPattern(
98
- * directive,
99
- * codeSnippet,
100
- * exports,
101
- * '/project/src/utils.ts',
102
- * '/project',
103
- * tagRegistry
104
- * );
105
- *
106
- * if (result.ok) {
107
- * console.log(result.value.id); // 'pattern-a1b2c3d4'
108
- * console.log(result.value.source.file); // 'src/utils.ts'
109
- * }
110
- * ```
111
- */
112
- export function buildPattern(directive, code, exports, filePath, baseDir, registry) {
113
- const relativePath = path.relative(baseDir, filePath);
114
- const id = asPatternId(generatePatternId(relativePath, directive.position.startLine));
115
- const name = inferPatternName(directive, exports, registry);
116
- const category = asCategoryName(inferCategory(directive.tags, registry));
117
- // Shape extraction: both @architect-extract-shapes (pattern-level) and
118
- // @architect-shape (declaration-level) contribute to extractedShapes.
119
- // Read file once for both paths.
120
- let extractedShapes;
121
- const extractionWarnings = [];
122
- // Only TypeScript files can have shapes
123
- if (filePath.endsWith('.ts') || filePath.endsWith('.tsx')) {
124
- const jsx = filePath.endsWith('.tsx');
125
- let sourceContent;
126
- try {
127
- sourceContent = fs.readFileSync(filePath, 'utf-8');
128
- }
129
- catch (error) {
130
- extractionWarnings.push(`[shape-extraction] Failed to read file: ${filePath} - ${error instanceof Error ? error.message : String(error)}`);
131
- }
132
- // Path 1: Existing @architect-extract-shapes tag processing
133
- if (sourceContent !== undefined &&
134
- directive.extractShapes !== undefined &&
135
- directive.extractShapes.length > 0) {
136
- const shapeResult = processExtractShapesTag(sourceContent, directive.extractShapes.join(', '), { jsx });
137
- extractedShapes = shapeResult.shapes;
138
- extractionWarnings.push(...shapeResult.warnings);
139
- }
140
- // Path 2: Declaration-level @architect-shape discovery
141
- // Performance note: when both paths fire, sourceCode is parsed by typescript-estree
142
- // twice (once in processExtractShapesTag, once in discoverTaggedShapes). Acceptable
143
- // for v1 — future optimization could accept a pre-parsed AST.
144
- if (sourceContent?.includes('architect-shape') === true) {
145
- const taggedResult = discoverTaggedShapes(sourceContent, { jsx });
146
- if (taggedResult.ok && taggedResult.value.shapes.length > 0) {
147
- const existingByName = new Map((extractedShapes ?? []).map((s) => [s.name, s]));
148
- const newShapes = taggedResult.value.shapes.filter((s) => !existingByName.has(s.name));
149
- // Merge group and includes from tagged shapes onto existing Path 1 shapes
150
- for (const tagged of taggedResult.value.shapes) {
151
- const existing = existingByName.get(tagged.name);
152
- if (existing !== undefined) {
153
- if (tagged.group !== undefined) {
154
- existing.group = tagged.group;
155
- }
156
- if (tagged.includes !== undefined) {
157
- existing.includes = tagged.includes;
158
- }
159
- }
160
- }
161
- extractedShapes = [...(extractedShapes ?? []), ...newShapes];
162
- extractionWarnings.push(...taggedResult.value.warnings);
163
- }
164
- else if (!taggedResult.ok) {
165
- extractionWarnings.push(`[shape-discovery] ${taggedResult.error.message}`);
166
- }
167
- }
168
- }
169
- else if (directive.extractShapes !== undefined && directive.extractShapes.length > 0) {
170
- // Non-TS file with extract-shapes tag — non-TS extraction path
171
- try {
172
- const sourceContent = fs.readFileSync(filePath, 'utf-8');
173
- const shapeResult = processExtractShapesTag(sourceContent, directive.extractShapes.join(', '));
174
- extractedShapes = shapeResult.shapes;
175
- extractionWarnings.push(...shapeResult.warnings);
176
- }
177
- catch (error) {
178
- extractionWarnings.push(`[shape-extraction] Failed to read file: ${filePath} - ${error instanceof Error ? error.message : String(error)}`);
179
- }
180
- }
181
- // Note: extractionWarnings are collected but currently not surfaced
182
- // Future enhancement: add warnings field to ExtractedPattern schema
183
- // Build pattern object
184
- const pattern = {
185
- id,
186
- name,
187
- category,
188
- directive,
189
- code,
190
- source: {
191
- file: asSourceFilePath(relativePath),
192
- lines: [directive.position.startLine, directive.position.endLine],
193
- },
194
- exports: [...exports],
195
- extractedAt: new Date().toISOString(),
196
- // Include optional fields only if present in directive
197
- ...(directive.patternName !== undefined && { patternName: directive.patternName }),
198
- ...(directive.status !== undefined && { status: directive.status }),
199
- ...(directive.isCore === true && { isCore: directive.isCore }),
200
- ...(directive.useCases !== undefined &&
201
- directive.useCases.length > 0 && { useCases: directive.useCases }),
202
- ...(directive.whenToUse !== undefined && { whenToUse: directive.whenToUse }),
203
- ...(directive.uses !== undefined && directive.uses.length > 0 && { uses: directive.uses }),
204
- ...(directive.usedBy !== undefined &&
205
- directive.usedBy.length > 0 && { usedBy: directive.usedBy }),
206
- // Roadmap integration fields
207
- ...(directive.phase !== undefined && { phase: directive.phase }),
208
- ...(directive.brief !== undefined && { brief: directive.brief }),
209
- ...(directive.dependsOn !== undefined &&
210
- directive.dependsOn.length > 0 && { dependsOn: directive.dependsOn }),
211
- ...(directive.enables !== undefined &&
212
- directive.enables.length > 0 && { enables: directive.enables }),
213
- // UML-inspired relationship fields (PatternRelationshipModel)
214
- ...(directive.implements !== undefined &&
215
- directive.implements.length > 0 && { implementsPatterns: directive.implements }),
216
- ...(directive.extends !== undefined && { extendsPattern: directive.extends }),
217
- // Cross-reference and API navigation fields (PatternRelationshipModel enhancement)
218
- ...(directive.seeAlso !== undefined &&
219
- directive.seeAlso.length > 0 && { seeAlso: directive.seeAlso }),
220
- ...(directive.apiRef !== undefined &&
221
- directive.apiRef.length > 0 && { apiRef: directive.apiRef }),
222
- // Design session stub metadata fields
223
- ...(directive.target !== undefined && { targetPath: directive.target }),
224
- ...(directive.since !== undefined && { since: directive.since }),
225
- // Architecture diagram generation fields
226
- ...(directive.archRole !== undefined && { archRole: directive.archRole }),
227
- ...(directive.archContext !== undefined && { archContext: directive.archContext }),
228
- ...(directive.archLayer !== undefined && { archLayer: directive.archLayer }),
229
- ...(directive.include !== undefined &&
230
- directive.include.length > 0 && { include: directive.include }),
231
- ...(directive.claudeModule !== undefined && { claudeModule: directive.claudeModule }),
232
- ...(directive.claudeSection !== undefined && { claudeSection: directive.claudeSection }),
233
- ...(directive.claudeTags !== undefined &&
234
- directive.claudeTags.length > 0 && { claudeTags: directive.claudeTags }),
235
- // PRD metadata fields
236
- ...(directive.productArea !== undefined && { productArea: directive.productArea }),
237
- // Shape extraction fields (extracted from source file when @architect-extract-shapes present)
238
- ...(extractedShapes && extractedShapes.length > 0 && { extractedShapes }),
239
- // Convention tags for reference document generation
240
- ...(directive.convention !== undefined &&
241
- directive.convention.length > 0 && { convention: directive.convention }),
242
- };
243
- // Validate against schema (schema-first enforcement)
244
- const validation = ExtractedPatternSchema.safeParse(pattern);
245
- if (!validation.success) {
246
- const errorMessages = validation.error.issues.map((issue) => `${issue.path.join('.')}: ${issue.message}`);
247
- const error = createPatternValidationError(asSourceFilePath(relativePath), name, 'Pattern validation failed', errorMessages);
248
- return Result.err(error);
249
- }
250
- return Result.ok(validation.data);
251
- }
252
- /**
253
- * Infer pattern name from directive or exports
254
- *
255
- * Uses fallback chain:
256
- * 1. Explicit pattern tag value (highest priority)
257
- * 2. First line of description (if not a tag)
258
- * 3. First export name
259
- * 4. Generated from primary tag
260
- *
261
- * @param directive - Parsed JSDoc directive
262
- * @param exports - Exported symbols from code block
263
- * @param registry - Tag registry for prefix-aware tag stripping
264
- * @returns Inferred pattern name
265
- *
266
- * @example
267
- * ```typescript
268
- * // From explicit pattern tag (highest priority)
269
- * const name0 = inferPatternName(
270
- * { patternName: 'Decider Pattern', description: 'Some description', tags: [...] },
271
- * [],
272
- * registry
273
- * );
274
- * console.log(name0); // 'Decider Pattern'
275
- *
276
- * // From description
277
- * const name1 = inferPatternName(
278
- * { description: 'User Authentication\n...', tags: [...] },
279
- * [],
280
- * registry
281
- * );
282
- * console.log(name1); // 'User Authentication'
283
- *
284
- * // From export
285
- * const name2 = inferPatternName(
286
- * { description: '@architect-core', tags: [...] },
287
- * [{ name: 'createUser', type: 'function' }],
288
- * registry
289
- * );
290
- * console.log(name2); // 'createUser'
291
- *
292
- * // From tag
293
- * const name3 = inferPatternName(
294
- * { description: '', tags: ['@architect-domain-auth'] },
295
- * [],
296
- * registry
297
- * );
298
- * console.log(name3); // 'domain-pattern'
299
- * ```
300
- */
301
- export function inferPatternName(directive, exports, registry) {
302
- // Priority 1: Explicit pattern tag value
303
- if (directive.patternName) {
304
- return directive.patternName;
305
- }
306
- // Priority 2: Try to extract name from first line of description
307
- const lines = directive.description.split('\n');
308
- const firstLine = lines[0];
309
- if (firstLine?.trim() && !firstLine.trim().startsWith('@')) {
310
- // Strip markdown header prefixes (##, ###, etc.)
311
- const cleanedName = firstLine.trim().replace(/^#+\s*/, '');
312
- if (cleanedName) {
313
- return cleanedName;
314
- }
315
- }
316
- // Fall back to first export name
317
- const firstExport = exports[0];
318
- if (firstExport) {
319
- return firstExport.name;
320
- }
321
- // Last resort: generate from tags using registry prefix
322
- const tagPrefix = registry.tagPrefix;
323
- const firstTag = directive.tags[0];
324
- const primaryTag = firstTag?.replace(tagPrefix, '') ?? 'unknown';
325
- return `${primaryTag}-pattern`;
326
- }
327
- /**
328
- * Infer category from @architect-* tags using priority system
329
- *
330
- * Categories are selected based on priority order:
331
- * domain > arch > infra > validation > testing > performance > security > core
332
- *
333
- * @param tags - Array of @architect-* tags
334
- * @returns Inferred category string
335
- *
336
- * @example
337
- * ```typescript
338
- * // Priority-based selection
339
- * const cat1 = inferCategory([
340
- * '@architect-core',
341
- * '@architect-domain-auth'
342
- * ]);
343
- * console.log(cat1); // 'domain' (higher priority than 'core')
344
- *
345
- * // From first tag
346
- * const cat2 = inferCategory(['@architect-validation-zod']);
347
- * console.log(cat2); // 'validation'
348
- *
349
- * // No tags
350
- * const cat3 = inferCategory([]);
351
- * console.log(cat3); // 'uncategorized'
352
- * ```
353
- */
354
- export function inferCategory(tags, registry) {
355
- // Build priority map from registry (includes aliases)
356
- // Also track canonical tag for each alias
357
- const priorityMap = new Map();
358
- const canonicalMap = new Map(); // Maps alias → canonical tag
359
- for (const cat of registry.categories) {
360
- priorityMap.set(cat.tag, cat.priority);
361
- canonicalMap.set(cat.tag, cat.tag); // Canonical tags map to themselves
362
- // Include aliases with same priority, mapping to canonical tag
363
- for (const alias of cat.aliases) {
364
- priorityMap.set(alias, cat.priority);
365
- canonicalMap.set(alias, cat.tag); // Alias maps to canonical tag
366
- }
367
- }
368
- // Extract category names from tags (remove prefix)
369
- const prefix = registry.tagPrefix;
370
- const categoryTags = [];
371
- for (const tag of tags) {
372
- if (!tag.startsWith(prefix))
373
- continue;
374
- // Remove prefix to get tag content
375
- const withoutPrefix = tag.substring(prefix.length);
376
- // Find ALL matching categories in this tag
377
- // This handles cases like "@architect-utils-validation" which contains both "utils" and "validation"
378
- const matches = [];
379
- // Check for exact match first
380
- if (priorityMap.has(withoutPrefix)) {
381
- matches.push(withoutPrefix);
382
- }
383
- else {
384
- // Check all possible contiguous subsequences for category matches
385
- // e.g., for "utils-validation" check: "utils-validation", "utils", "validation"
386
- const parts = withoutPrefix.split('-');
387
- // Try all contiguous subsequences from longest to shortest
388
- for (let len = parts.length; len > 0; len--) {
389
- for (let start = 0; start <= parts.length - len; start++) {
390
- const candidate = parts.slice(start, start + len).join('-');
391
- if (priorityMap.has(candidate)) {
392
- matches.push(candidate);
393
- }
394
- }
395
- }
396
- }
397
- // Add all matches to categoryTags
398
- categoryTags.push(...matches);
399
- }
400
- // Find tag with highest priority (lowest number)
401
- // Use canonical tags (normalize aliases)
402
- let selectedCategory = null;
403
- let highestPriority = Infinity;
404
- for (const categoryTag of categoryTags) {
405
- const priority = priorityMap.get(categoryTag);
406
- if (priority !== undefined && priority < highestPriority) {
407
- highestPriority = priority;
408
- // Use canonical tag (normalizes aliases like "infrastructure" → "infra")
409
- selectedCategory = canonicalMap.get(categoryTag) ?? categoryTag;
410
- }
411
- }
412
- // If found by priority, return it
413
- if (selectedCategory !== null) {
414
- return selectedCategory;
415
- }
416
- // Fallback: Extract category from first tag
417
- const firstTag = tags[0];
418
- if (firstTag?.startsWith(prefix) === true) {
419
- const withoutPrefix = firstTag.substring(prefix.length);
420
- const parts = withoutPrefix.split('-');
421
- const firstPart = parts[0];
422
- if (firstPart) {
423
- return firstPart;
424
- }
425
- }
426
- return 'uncategorized';
427
- }
428
- /**
429
- * Check if directive has specific aggregation tag
430
- *
431
- * Generic helper for checking any aggregation tag. Replaces individual
432
- * hasOverviewTag/hasDecisionTag/hasIntroTag helpers with a unified approach.
433
- *
434
- * @param tags - Directive tags to check
435
- * @param aggregationTagName - Name of aggregation tag (e.g., "overview", "decision", "intro")
436
- * @param registry - Tag registry
437
- * @returns True if directive has the specified aggregation tag
438
- *
439
- * @example
440
- * ```typescript
441
- * hasAggregationTag(['@architect-core', '@architect-overview'], "overview", registry); // true
442
- * hasAggregationTag(['@architect-core'], "overview", registry); // false
443
- * hasAggregationTag(['@architect-arch', '@architect-decision'], "decision", registry); // true
444
- * ```
445
- */
446
- export function hasAggregationTag(tags, aggregationTagName, registry) {
447
- const aggregationTag = registry.aggregationTags.find((t) => t.tag === aggregationTagName);
448
- if (!aggregationTag)
449
- return false;
450
- const fullTag = `${registry.tagPrefix}${aggregationTag.tag}`;
451
- return tags.some((t) => t === fullTag);
452
- }
453
- /**
454
- * Extract aggregation tags from pattern tags
455
- *
456
- * Identifies which aggregated documents a pattern should appear in.
457
- * Patterns can appear in multiple documents if they have multiple aggregation tags.
458
- *
459
- * @param tags - Array of @architect-* tags
460
- * @param registry - Tag registry for aggregation tag lookup
461
- * @returns Object indicating which aggregated docs to include pattern in
462
- *
463
- * @example
464
- * ```typescript
465
- * // Pattern with both overview and decision tags
466
- * getAggregationTags(['@architect-overview', '@architect-decision'], registry);
467
- * // { overview: true, decision: true, intro: false }
468
- *
469
- * // Pattern with only core tag (no aggregation)
470
- * getAggregationTags(['@architect-core'], registry);
471
- * // { overview: false, decision: false, intro: false }
472
- * ```
473
- */
474
- export function getAggregationTags(tags, registry) {
475
- return {
476
- overview: hasAggregationTag(tags, 'overview', registry),
477
- decision: hasAggregationTag(tags, 'decision', registry),
478
- intro: hasAggregationTag(tags, 'intro', registry),
479
- };
480
- }
481
- //# sourceMappingURL=doc-extractor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doc-extractor.js","sourceRoot":"","sources":["../../src/extractor/doc-extractor.ts"],"names":[],"mappings":"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"}
@@ -1,161 +0,0 @@
1
- /**
2
- * @architect
3
- * @architect-extractor
4
- * @architect-pattern DualSourceExtractor
5
- * @architect-status completed
6
- * @architect-uses DocExtractor, GherkinExtractor, GherkinScanner
7
- * @architect-used-by Orchestrator
8
- * @architect-arch-role service
9
- * @architect-arch-context extractor
10
- * @architect-arch-layer application
11
- *
12
- * ## DualSourceExtractor - Compose Pattern Data from Code + Features
13
- *
14
- * Extracts pattern metadata from both TypeScript code stubs (@architect-*)
15
- * and Gherkin feature files (@architect-*), validates consistency,
16
- * and composes unified pattern data for documentation generation.
17
- *
18
- * ### When to Use
19
- *
20
- * - When implementing USDP Pattern 2 (Standard) or higher
21
- * - When you have both code stubs AND timeline features
22
- * - When generating artifacts that need both timeless and temporal data
23
- * - When validating cross-source consistency (pattern name, phase alignment)
24
- *
25
- * ### Key Concepts
26
- *
27
- * - **Code Source**: @architect-* tags define timeless pattern graph
28
- * - **Feature Source**: @architect-* tags add temporal process metadata
29
- * - **Cross-Validation**: Pattern name + phase must match across sources
30
- * - **Deliverables**: Parsed from Gherkin Background tables in features
31
- */
32
- import type { ExtractedPattern } from '../types/index.js';
33
- import { type ScannedGherkinFile, type ProcessMetadata, type Deliverable, type CrossValidationError, type ValidationSummary } from '../validation-schemas/index.js';
34
- export type { ProcessMetadata, Deliverable, CrossValidationError, ValidationSummary };
35
- /**
36
- * Results from dual-source extraction
37
- *
38
- * Contains patterns successfully matched across sources, orphaned
39
- * code/feature patterns, and cross-validation errors.
40
- */
41
- export interface DualSourceResults {
42
- /** Patterns with both code + process data */
43
- readonly patterns: readonly DualSourcePattern[];
44
- /** Patterns from code only (no matching feature) */
45
- readonly codeOnly: readonly ExtractedPattern[];
46
- /** Features without matching code stubs */
47
- readonly featureOnly: readonly ProcessMetadata[];
48
- /** Cross-validation errors */
49
- readonly validationErrors: readonly CrossValidationError[];
50
- /** Non-fatal warnings (e.g., pattern name collisions) */
51
- readonly warnings: readonly string[];
52
- }
53
- /**
54
- * Combined pattern data from code + features
55
- *
56
- * When multiple code files define the same pattern (e.g., ServiceIndependence
57
- * with ECST and Reservation sub-patterns), they are merged into a single
58
- * dual-source pattern with the `sources` array containing all variants.
59
- */
60
- export interface DualSourcePattern extends ExtractedPattern {
61
- /** Process metadata from feature file (optional) */
62
- readonly process?: ProcessMetadata;
63
- /** Deliverables from feature Background table (optional) */
64
- readonly deliverables?: readonly Deliverable[];
65
- /**
66
- * Multiple source patterns when there's a name collision (optional)
67
- * Present when multiple code files use the same @architect-pattern name
68
- */
69
- readonly sources?: readonly ExtractedPattern[];
70
- }
71
- /**
72
- * Extract process metadata from Gherkin feature tags
73
- *
74
- * Uses schema validation instead of type assertions to ensure data integrity.
75
- * Returns null if required tags are missing OR if validation fails.
76
- *
77
- * @param feature - Scanned Gherkin feature
78
- * @returns Process metadata or null if missing required tags or validation fails
79
- */
80
- export declare function extractProcessMetadata(feature: ScannedGherkinFile): ProcessMetadata | null;
81
- /**
82
- * Extract deliverables from Gherkin Background table
83
- *
84
- * Parses Background section looking for DataTables with a "Deliverable" column.
85
- * Expected table format:
86
- * | Deliverable | Status | Tests | Location |
87
- *
88
- * Optional columns for extended tracking:
89
- * | Deliverable | Status | Tests | Location | Finding | Release |
90
- *
91
- * - **Finding**: Review traceability ID (e.g., "CODE-001")
92
- * - **Release**: Semver version for changelog grouping (e.g., "v0.2.0")
93
- *
94
- * @param feature - Scanned Gherkin feature with optional background
95
- * @returns Array of deliverables or empty array if no table found
96
- *
97
- * @example
98
- * ```gherkin
99
- * Background: Deliverables
100
- * Given the following deliverables:
101
- * | Deliverable | Status | Tests | Location | Finding | Release |
102
- * | Fix parseArgs() call | Done | Yes | src/cli/generate-docs.ts | CODE-001 | v0.2.0 |
103
- * | Update README.md | Done | No | README.md | DOC-001 | v0.2.0 |
104
- * ```
105
- */
106
- export declare function extractDeliverables(feature: ScannedGherkinFile): readonly Deliverable[];
107
- /**
108
- * Combine patterns from code and features into dual-source patterns
109
- *
110
- * Validates that pattern names and phases match across sources.
111
- * Creates unified pattern objects with both code and process metadata.
112
- *
113
- * **Pattern Name Collisions:**
114
- * When multiple code files use the same `@architect-pattern` name (e.g.,
115
- * ServiceIndependence with ECST and Reservation sub-patterns), they are
116
- * automatically merged:
117
- * - Categories, dependencies, and enables are unioned across all sources
118
- * - Primary pattern (first in array) provides base metadata
119
- * - All source patterns are preserved in the `sources` array
120
- * - Console warning is emitted for visibility
121
- *
122
- * @param codePatterns - Patterns extracted from TypeScript code
123
- * @param featureFiles - Scanned Gherkin feature files
124
- * @returns Dual-source extraction results
125
- *
126
- * @example
127
- * ```typescript
128
- * // Extract from both sources
129
- * const codeScan = await scanPatterns({ patterns: 'packages/**\/*.ts' });
130
- * const featureScan = await scanGherkinFiles({ patterns: 'tests/features/**\/*.feature' });
131
- *
132
- * if (codeScan.ok && featureScan.ok) {
133
- * const codeExtraction = extractPatterns(codeScan.value.files, '/project');
134
- * const dualSource = combineSources(codeExtraction.patterns, featureScan.value.files);
135
- *
136
- * console.log(`Combined: ${dualSource.patterns.length}`);
137
- * console.log(`Code-only: ${dualSource.codeOnly.length}`);
138
- * console.log(`Feature-only: ${dualSource.featureOnly.length}`);
139
- * console.log(`Validation errors: ${dualSource.validationErrors.length}`);
140
- *
141
- * // Check for collisions
142
- * for (const pattern of dualSource.patterns) {
143
- * if (pattern.sources) {
144
- * console.log(`${pattern.patternName} has ${pattern.sources.length} implementations`);
145
- * }
146
- * }
147
- * }
148
- * ```
149
- */
150
- export declare function combineSources(codePatterns: readonly ExtractedPattern[], featureFiles: readonly ScannedGherkinFile[]): DualSourceResults;
151
- /**
152
- * Validate dual-source consistency
153
- *
154
- * Checks that patterns are properly aligned across sources.
155
- * Reports code stubs without features and features without code.
156
- *
157
- * @param results - Dual-source extraction results
158
- * @returns Validation summary
159
- */
160
- export declare function validateDualSource(results: DualSourceResults): ValidationSummary;
161
- //# sourceMappingURL=dual-source-extractor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dual-source-extractor.d.ts","sourceRoot":"","sources":["../../src/extractor/dual-source-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,gCAAgC,CAAC;AAIxC,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC;AAEtF;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC/C,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAC;IACjD,8BAA8B;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC3D,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,oDAAoD;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAChD;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,eAAe,GAAG,IAAI,CA4E1F;AAmCD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,WAAW,EAAE,CA8EvF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,SAAS,gBAAgB,EAAE,EACzC,YAAY,EAAE,SAAS,kBAAkB,EAAE,GAC1C,iBAAiB,CAuHnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,CA6BhF"}