@libar-dev/architect 1.0.0-pre.3

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 (800) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/LICENSE +25 -0
  3. package/LICENSE-MCP +62 -0
  4. package/README.md +147 -0
  5. package/dist/api/arch-queries.d.ts +95 -0
  6. package/dist/api/arch-queries.d.ts.map +1 -0
  7. package/dist/api/arch-queries.js +310 -0
  8. package/dist/api/arch-queries.js.map +1 -0
  9. package/dist/api/context-assembler.d.ts +124 -0
  10. package/dist/api/context-assembler.d.ts.map +1 -0
  11. package/dist/api/context-assembler.js +472 -0
  12. package/dist/api/context-assembler.js.map +1 -0
  13. package/dist/api/context-formatter.d.ts +26 -0
  14. package/dist/api/context-formatter.d.ts.map +1 -0
  15. package/dist/api/context-formatter.js +183 -0
  16. package/dist/api/context-formatter.js.map +1 -0
  17. package/dist/api/coverage-analyzer.d.ts +38 -0
  18. package/dist/api/coverage-analyzer.d.ts.map +1 -0
  19. package/dist/api/coverage-analyzer.js +117 -0
  20. package/dist/api/coverage-analyzer.js.map +1 -0
  21. package/dist/api/fuzzy-match.d.ts +75 -0
  22. package/dist/api/fuzzy-match.d.ts.map +1 -0
  23. package/dist/api/fuzzy-match.js +150 -0
  24. package/dist/api/fuzzy-match.js.map +1 -0
  25. package/dist/api/handoff-generator.d.ts +45 -0
  26. package/dist/api/handoff-generator.d.ts.map +1 -0
  27. package/dist/api/handoff-generator.js +139 -0
  28. package/dist/api/handoff-generator.js.map +1 -0
  29. package/dist/api/index.d.ts +61 -0
  30. package/dist/api/index.d.ts.map +1 -0
  31. package/dist/api/index.js +54 -0
  32. package/dist/api/index.js.map +1 -0
  33. package/dist/api/pattern-helpers.d.ts +51 -0
  34. package/dist/api/pattern-helpers.d.ts.map +1 -0
  35. package/dist/api/pattern-helpers.js +84 -0
  36. package/dist/api/pattern-helpers.js.map +1 -0
  37. package/dist/api/process-state.d.ts +224 -0
  38. package/dist/api/process-state.d.ts.map +1 -0
  39. package/dist/api/process-state.js +308 -0
  40. package/dist/api/process-state.js.map +1 -0
  41. package/dist/api/rules-query.d.ts +60 -0
  42. package/dist/api/rules-query.d.ts.map +1 -0
  43. package/dist/api/rules-query.js +154 -0
  44. package/dist/api/rules-query.js.map +1 -0
  45. package/dist/api/scope-validator.d.ts +56 -0
  46. package/dist/api/scope-validator.d.ts.map +1 -0
  47. package/dist/api/scope-validator.js +293 -0
  48. package/dist/api/scope-validator.js.map +1 -0
  49. package/dist/api/stub-resolver.d.ts +117 -0
  50. package/dist/api/stub-resolver.d.ts.map +1 -0
  51. package/dist/api/stub-resolver.js +154 -0
  52. package/dist/api/stub-resolver.js.map +1 -0
  53. package/dist/api/summarize.d.ts +75 -0
  54. package/dist/api/summarize.d.ts.map +1 -0
  55. package/dist/api/summarize.js +97 -0
  56. package/dist/api/summarize.js.map +1 -0
  57. package/dist/api/types.d.ts +221 -0
  58. package/dist/api/types.d.ts.map +1 -0
  59. package/dist/api/types.js +57 -0
  60. package/dist/api/types.js.map +1 -0
  61. package/dist/cache/file-cache.d.ts +72 -0
  62. package/dist/cache/file-cache.d.ts.map +1 -0
  63. package/dist/cache/file-cache.js +80 -0
  64. package/dist/cache/file-cache.js.map +1 -0
  65. package/dist/cache/index.d.ts +5 -0
  66. package/dist/cache/index.d.ts.map +1 -0
  67. package/dist/cache/index.js +5 -0
  68. package/dist/cache/index.js.map +1 -0
  69. package/dist/cli/cli-schema.d.ts +83 -0
  70. package/dist/cli/cli-schema.d.ts.map +1 -0
  71. package/dist/cli/cli-schema.js +505 -0
  72. package/dist/cli/cli-schema.js.map +1 -0
  73. package/dist/cli/dataset-cache.d.ts +66 -0
  74. package/dist/cli/dataset-cache.d.ts.map +1 -0
  75. package/dist/cli/dataset-cache.js +179 -0
  76. package/dist/cli/dataset-cache.js.map +1 -0
  77. package/dist/cli/error-handler.d.ts +84 -0
  78. package/dist/cli/error-handler.d.ts.map +1 -0
  79. package/dist/cli/error-handler.js +197 -0
  80. package/dist/cli/error-handler.js.map +1 -0
  81. package/dist/cli/generate-docs.d.ts +30 -0
  82. package/dist/cli/generate-docs.d.ts.map +1 -0
  83. package/dist/cli/generate-docs.js +370 -0
  84. package/dist/cli/generate-docs.js.map +1 -0
  85. package/dist/cli/lint-patterns.d.ts +57 -0
  86. package/dist/cli/lint-patterns.d.ts.map +1 -0
  87. package/dist/cli/lint-patterns.js +257 -0
  88. package/dist/cli/lint-patterns.js.map +1 -0
  89. package/dist/cli/lint-process.d.ts +54 -0
  90. package/dist/cli/lint-process.d.ts.map +1 -0
  91. package/dist/cli/lint-process.js +319 -0
  92. package/dist/cli/lint-process.js.map +1 -0
  93. package/dist/cli/lint-steps.d.ts +32 -0
  94. package/dist/cli/lint-steps.d.ts.map +1 -0
  95. package/dist/cli/lint-steps.js +172 -0
  96. package/dist/cli/lint-steps.js.map +1 -0
  97. package/dist/cli/mcp-server.d.ts +22 -0
  98. package/dist/cli/mcp-server.d.ts.map +1 -0
  99. package/dist/cli/mcp-server.js +57 -0
  100. package/dist/cli/mcp-server.js.map +1 -0
  101. package/dist/cli/output-pipeline.d.ts +130 -0
  102. package/dist/cli/output-pipeline.d.ts.map +1 -0
  103. package/dist/cli/output-pipeline.js +234 -0
  104. package/dist/cli/output-pipeline.js.map +1 -0
  105. package/dist/cli/process-api.d.ts +37 -0
  106. package/dist/cli/process-api.d.ts.map +1 -0
  107. package/dist/cli/process-api.js +1550 -0
  108. package/dist/cli/process-api.js.map +1 -0
  109. package/dist/cli/repl.d.ts +38 -0
  110. package/dist/cli/repl.d.ts.map +1 -0
  111. package/dist/cli/repl.js +239 -0
  112. package/dist/cli/repl.js.map +1 -0
  113. package/dist/cli/validate-patterns.d.ts +115 -0
  114. package/dist/cli/validate-patterns.d.ts.map +1 -0
  115. package/dist/cli/validate-patterns.js +707 -0
  116. package/dist/cli/validate-patterns.js.map +1 -0
  117. package/dist/cli/version.d.ts +35 -0
  118. package/dist/cli/version.d.ts.map +1 -0
  119. package/dist/cli/version.js +64 -0
  120. package/dist/cli/version.js.map +1 -0
  121. package/dist/config/config-loader.d.ts +167 -0
  122. package/dist/config/config-loader.d.ts.map +1 -0
  123. package/dist/config/config-loader.js +294 -0
  124. package/dist/config/config-loader.js.map +1 -0
  125. package/dist/config/defaults.d.ts +92 -0
  126. package/dist/config/defaults.d.ts.map +1 -0
  127. package/dist/config/defaults.js +103 -0
  128. package/dist/config/defaults.js.map +1 -0
  129. package/dist/config/define-config.d.ts +37 -0
  130. package/dist/config/define-config.d.ts.map +1 -0
  131. package/dist/config/define-config.js +38 -0
  132. package/dist/config/define-config.js.map +1 -0
  133. package/dist/config/factory.d.ts +79 -0
  134. package/dist/config/factory.d.ts.map +1 -0
  135. package/dist/config/factory.js +116 -0
  136. package/dist/config/factory.js.map +1 -0
  137. package/dist/config/index.d.ts +45 -0
  138. package/dist/config/index.d.ts.map +1 -0
  139. package/dist/config/index.js +48 -0
  140. package/dist/config/index.js.map +1 -0
  141. package/dist/config/merge-sources.d.ts +47 -0
  142. package/dist/config/merge-sources.d.ts.map +1 -0
  143. package/dist/config/merge-sources.js +61 -0
  144. package/dist/config/merge-sources.js.map +1 -0
  145. package/dist/config/presets.d.ts +115 -0
  146. package/dist/config/presets.d.ts.map +1 -0
  147. package/dist/config/presets.js +119 -0
  148. package/dist/config/presets.js.map +1 -0
  149. package/dist/config/project-config-schema.d.ts +192 -0
  150. package/dist/config/project-config-schema.d.ts.map +1 -0
  151. package/dist/config/project-config-schema.js +231 -0
  152. package/dist/config/project-config-schema.js.map +1 -0
  153. package/dist/config/project-config.d.ts +229 -0
  154. package/dist/config/project-config.d.ts.map +1 -0
  155. package/dist/config/project-config.js +37 -0
  156. package/dist/config/project-config.js.map +1 -0
  157. package/dist/config/regex-builders.d.ts +49 -0
  158. package/dist/config/regex-builders.d.ts.map +1 -0
  159. package/dist/config/regex-builders.js +85 -0
  160. package/dist/config/regex-builders.js.map +1 -0
  161. package/dist/config/resolve-config.d.ts +65 -0
  162. package/dist/config/resolve-config.d.ts.map +1 -0
  163. package/dist/config/resolve-config.js +150 -0
  164. package/dist/config/resolve-config.js.map +1 -0
  165. package/dist/config/types.d.ts +81 -0
  166. package/dist/config/types.d.ts.map +1 -0
  167. package/dist/config/types.js +22 -0
  168. package/dist/config/types.js.map +1 -0
  169. package/dist/config/workflow-loader.d.ts +90 -0
  170. package/dist/config/workflow-loader.d.ts.map +1 -0
  171. package/dist/config/workflow-loader.js +167 -0
  172. package/dist/config/workflow-loader.js.map +1 -0
  173. package/dist/extractor/doc-extractor.d.ts +233 -0
  174. package/dist/extractor/doc-extractor.d.ts.map +1 -0
  175. package/dist/extractor/doc-extractor.js +481 -0
  176. package/dist/extractor/doc-extractor.js.map +1 -0
  177. package/dist/extractor/dual-source-extractor.d.ts +161 -0
  178. package/dist/extractor/dual-source-extractor.d.ts.map +1 -0
  179. package/dist/extractor/dual-source-extractor.js +407 -0
  180. package/dist/extractor/dual-source-extractor.js.map +1 -0
  181. package/dist/extractor/gherkin-extractor.d.ts +170 -0
  182. package/dist/extractor/gherkin-extractor.d.ts.map +1 -0
  183. package/dist/extractor/gherkin-extractor.js +543 -0
  184. package/dist/extractor/gherkin-extractor.js.map +1 -0
  185. package/dist/extractor/index.d.ts +7 -0
  186. package/dist/extractor/index.d.ts.map +1 -0
  187. package/dist/extractor/index.js +11 -0
  188. package/dist/extractor/index.js.map +1 -0
  189. package/dist/extractor/layer-inference.d.ts +66 -0
  190. package/dist/extractor/layer-inference.d.ts.map +1 -0
  191. package/dist/extractor/layer-inference.js +93 -0
  192. package/dist/extractor/layer-inference.js.map +1 -0
  193. package/dist/extractor/shape-extractor.d.ts +79 -0
  194. package/dist/extractor/shape-extractor.d.ts.map +1 -0
  195. package/dist/extractor/shape-extractor.js +966 -0
  196. package/dist/extractor/shape-extractor.js.map +1 -0
  197. package/dist/generators/built-in/cli-recipe-generator.d.ts +30 -0
  198. package/dist/generators/built-in/cli-recipe-generator.d.ts.map +1 -0
  199. package/dist/generators/built-in/cli-recipe-generator.js +155 -0
  200. package/dist/generators/built-in/cli-recipe-generator.js.map +1 -0
  201. package/dist/generators/built-in/codec-generators.d.ts +29 -0
  202. package/dist/generators/built-in/codec-generators.d.ts.map +1 -0
  203. package/dist/generators/built-in/codec-generators.js +195 -0
  204. package/dist/generators/built-in/codec-generators.js.map +1 -0
  205. package/dist/generators/built-in/decision-doc-generator.d.ts +204 -0
  206. package/dist/generators/built-in/decision-doc-generator.d.ts.map +1 -0
  207. package/dist/generators/built-in/decision-doc-generator.js +654 -0
  208. package/dist/generators/built-in/decision-doc-generator.js.map +1 -0
  209. package/dist/generators/built-in/design-review-generator.d.ts +26 -0
  210. package/dist/generators/built-in/design-review-generator.d.ts.map +1 -0
  211. package/dist/generators/built-in/design-review-generator.js +94 -0
  212. package/dist/generators/built-in/design-review-generator.js.map +1 -0
  213. package/dist/generators/built-in/index.d.ts +22 -0
  214. package/dist/generators/built-in/index.d.ts.map +1 -0
  215. package/dist/generators/built-in/index.js +23 -0
  216. package/dist/generators/built-in/index.js.map +1 -0
  217. package/dist/generators/built-in/process-api-reference-generator.d.ts +18 -0
  218. package/dist/generators/built-in/process-api-reference-generator.d.ts.map +1 -0
  219. package/dist/generators/built-in/process-api-reference-generator.js +85 -0
  220. package/dist/generators/built-in/process-api-reference-generator.js.map +1 -0
  221. package/dist/generators/built-in/reference-generators.d.ts +51 -0
  222. package/dist/generators/built-in/reference-generators.d.ts.map +1 -0
  223. package/dist/generators/built-in/reference-generators.js +320 -0
  224. package/dist/generators/built-in/reference-generators.js.map +1 -0
  225. package/dist/generators/codec-based.d.ts +63 -0
  226. package/dist/generators/codec-based.d.ts.map +1 -0
  227. package/dist/generators/codec-based.js +88 -0
  228. package/dist/generators/codec-based.js.map +1 -0
  229. package/dist/generators/content-deduplicator.d.ts +114 -0
  230. package/dist/generators/content-deduplicator.d.ts.map +1 -0
  231. package/dist/generators/content-deduplicator.js +356 -0
  232. package/dist/generators/content-deduplicator.js.map +1 -0
  233. package/dist/generators/index.d.ts +50 -0
  234. package/dist/generators/index.d.ts.map +1 -0
  235. package/dist/generators/index.js +54 -0
  236. package/dist/generators/index.js.map +1 -0
  237. package/dist/generators/orchestrator.d.ts +265 -0
  238. package/dist/generators/orchestrator.d.ts.map +1 -0
  239. package/dist/generators/orchestrator.js +570 -0
  240. package/dist/generators/orchestrator.js.map +1 -0
  241. package/dist/generators/pipeline/build-pipeline.d.ts +131 -0
  242. package/dist/generators/pipeline/build-pipeline.d.ts.map +1 -0
  243. package/dist/generators/pipeline/build-pipeline.js +248 -0
  244. package/dist/generators/pipeline/build-pipeline.js.map +1 -0
  245. package/dist/generators/pipeline/context-inference.d.ts +55 -0
  246. package/dist/generators/pipeline/context-inference.d.ts.map +1 -0
  247. package/dist/generators/pipeline/context-inference.js +76 -0
  248. package/dist/generators/pipeline/context-inference.js.map +1 -0
  249. package/dist/generators/pipeline/index.d.ts +27 -0
  250. package/dist/generators/pipeline/index.d.ts.map +1 -0
  251. package/dist/generators/pipeline/index.js +34 -0
  252. package/dist/generators/pipeline/index.js.map +1 -0
  253. package/dist/generators/pipeline/merge-patterns.d.ts +33 -0
  254. package/dist/generators/pipeline/merge-patterns.d.ts.map +1 -0
  255. package/dist/generators/pipeline/merge-patterns.js +50 -0
  256. package/dist/generators/pipeline/merge-patterns.js.map +1 -0
  257. package/dist/generators/pipeline/relationship-resolver.d.ts +47 -0
  258. package/dist/generators/pipeline/relationship-resolver.d.ts.map +1 -0
  259. package/dist/generators/pipeline/relationship-resolver.js +132 -0
  260. package/dist/generators/pipeline/relationship-resolver.js.map +1 -0
  261. package/dist/generators/pipeline/sequence-utils.d.ts +49 -0
  262. package/dist/generators/pipeline/sequence-utils.d.ts.map +1 -0
  263. package/dist/generators/pipeline/sequence-utils.js +235 -0
  264. package/dist/generators/pipeline/sequence-utils.js.map +1 -0
  265. package/dist/generators/pipeline/transform-dataset.d.ts +82 -0
  266. package/dist/generators/pipeline/transform-dataset.d.ts.map +1 -0
  267. package/dist/generators/pipeline/transform-dataset.js +355 -0
  268. package/dist/generators/pipeline/transform-dataset.js.map +1 -0
  269. package/dist/generators/pipeline/transform-types.d.ts +96 -0
  270. package/dist/generators/pipeline/transform-types.d.ts.map +1 -0
  271. package/dist/generators/pipeline/transform-types.js +18 -0
  272. package/dist/generators/pipeline/transform-types.js.map +1 -0
  273. package/dist/generators/registry.d.ts +64 -0
  274. package/dist/generators/registry.d.ts.map +1 -0
  275. package/dist/generators/registry.js +77 -0
  276. package/dist/generators/registry.js.map +1 -0
  277. package/dist/generators/source-mapper.d.ts +143 -0
  278. package/dist/generators/source-mapper.d.ts.map +1 -0
  279. package/dist/generators/source-mapper.js +602 -0
  280. package/dist/generators/source-mapper.js.map +1 -0
  281. package/dist/generators/source-mapping-validator.d.ts +118 -0
  282. package/dist/generators/source-mapping-validator.d.ts.map +1 -0
  283. package/dist/generators/source-mapping-validator.js +334 -0
  284. package/dist/generators/source-mapping-validator.js.map +1 -0
  285. package/dist/generators/types.d.ts +104 -0
  286. package/dist/generators/types.d.ts.map +1 -0
  287. package/dist/generators/types.js +5 -0
  288. package/dist/generators/types.js.map +1 -0
  289. package/dist/generators/warning-collector.d.ts +144 -0
  290. package/dist/generators/warning-collector.d.ts.map +1 -0
  291. package/dist/generators/warning-collector.js +166 -0
  292. package/dist/generators/warning-collector.js.map +1 -0
  293. package/dist/git/branch-diff.d.ts +44 -0
  294. package/dist/git/branch-diff.d.ts.map +1 -0
  295. package/dist/git/branch-diff.js +57 -0
  296. package/dist/git/branch-diff.js.map +1 -0
  297. package/dist/git/helpers.d.ts +46 -0
  298. package/dist/git/helpers.d.ts.map +1 -0
  299. package/dist/git/helpers.js +67 -0
  300. package/dist/git/helpers.js.map +1 -0
  301. package/dist/git/index.d.ts +18 -0
  302. package/dist/git/index.d.ts.map +1 -0
  303. package/dist/git/index.js +18 -0
  304. package/dist/git/index.js.map +1 -0
  305. package/dist/git/name-status.d.ts +32 -0
  306. package/dist/git/name-status.d.ts.map +1 -0
  307. package/dist/git/name-status.js +66 -0
  308. package/dist/git/name-status.js.map +1 -0
  309. package/dist/index.d.ts +107 -0
  310. package/dist/index.d.ts.map +1 -0
  311. package/dist/index.js +122 -0
  312. package/dist/index.js.map +1 -0
  313. package/dist/lint/engine.d.ts +113 -0
  314. package/dist/lint/engine.d.ts.map +1 -0
  315. package/dist/lint/engine.js +228 -0
  316. package/dist/lint/engine.js.map +1 -0
  317. package/dist/lint/index.d.ts +26 -0
  318. package/dist/lint/index.d.ts.map +1 -0
  319. package/dist/lint/index.js +24 -0
  320. package/dist/lint/index.js.map +1 -0
  321. package/dist/lint/process-guard/decider.d.ts +166 -0
  322. package/dist/lint/process-guard/decider.d.ts.map +1 -0
  323. package/dist/lint/process-guard/decider.js +412 -0
  324. package/dist/lint/process-guard/decider.js.map +1 -0
  325. package/dist/lint/process-guard/derive-state.d.ts +96 -0
  326. package/dist/lint/process-guard/derive-state.d.ts.map +1 -0
  327. package/dist/lint/process-guard/derive-state.js +368 -0
  328. package/dist/lint/process-guard/derive-state.js.map +1 -0
  329. package/dist/lint/process-guard/detect-changes.d.ts +109 -0
  330. package/dist/lint/process-guard/detect-changes.d.ts.map +1 -0
  331. package/dist/lint/process-guard/detect-changes.js +487 -0
  332. package/dist/lint/process-guard/detect-changes.js.map +1 -0
  333. package/dist/lint/process-guard/index.d.ts +35 -0
  334. package/dist/lint/process-guard/index.d.ts.map +1 -0
  335. package/dist/lint/process-guard/index.js +39 -0
  336. package/dist/lint/process-guard/index.js.map +1 -0
  337. package/dist/lint/process-guard/types.d.ts +255 -0
  338. package/dist/lint/process-guard/types.d.ts.map +1 -0
  339. package/dist/lint/process-guard/types.js +31 -0
  340. package/dist/lint/process-guard/types.js.map +1 -0
  341. package/dist/lint/rules.d.ts +147 -0
  342. package/dist/lint/rules.d.ts.map +1 -0
  343. package/dist/lint/rules.js +289 -0
  344. package/dist/lint/rules.js.map +1 -0
  345. package/dist/lint/steps/cross-checks.d.ts +66 -0
  346. package/dist/lint/steps/cross-checks.d.ts.map +1 -0
  347. package/dist/lint/steps/cross-checks.js +290 -0
  348. package/dist/lint/steps/cross-checks.js.map +1 -0
  349. package/dist/lint/steps/feature-checks.d.ts +78 -0
  350. package/dist/lint/steps/feature-checks.d.ts.map +1 -0
  351. package/dist/lint/steps/feature-checks.js +279 -0
  352. package/dist/lint/steps/feature-checks.js.map +1 -0
  353. package/dist/lint/steps/index.d.ts +22 -0
  354. package/dist/lint/steps/index.d.ts.map +1 -0
  355. package/dist/lint/steps/index.js +26 -0
  356. package/dist/lint/steps/index.js.map +1 -0
  357. package/dist/lint/steps/pair-resolver.d.ts +29 -0
  358. package/dist/lint/steps/pair-resolver.d.ts.map +1 -0
  359. package/dist/lint/steps/pair-resolver.js +76 -0
  360. package/dist/lint/steps/pair-resolver.js.map +1 -0
  361. package/dist/lint/steps/runner.d.ts +28 -0
  362. package/dist/lint/steps/runner.d.ts.map +1 -0
  363. package/dist/lint/steps/runner.js +143 -0
  364. package/dist/lint/steps/runner.js.map +1 -0
  365. package/dist/lint/steps/step-checks.d.ts +41 -0
  366. package/dist/lint/steps/step-checks.d.ts.map +1 -0
  367. package/dist/lint/steps/step-checks.js +164 -0
  368. package/dist/lint/steps/step-checks.js.map +1 -0
  369. package/dist/lint/steps/types.d.ts +95 -0
  370. package/dist/lint/steps/types.d.ts.map +1 -0
  371. package/dist/lint/steps/types.js +79 -0
  372. package/dist/lint/steps/types.js.map +1 -0
  373. package/dist/lint/steps/utils.d.ts +22 -0
  374. package/dist/lint/steps/utils.d.ts.map +1 -0
  375. package/dist/lint/steps/utils.js +57 -0
  376. package/dist/lint/steps/utils.js.map +1 -0
  377. package/dist/mcp/file-watcher.d.ts +24 -0
  378. package/dist/mcp/file-watcher.d.ts.map +1 -0
  379. package/dist/mcp/file-watcher.js +75 -0
  380. package/dist/mcp/file-watcher.js.map +1 -0
  381. package/dist/mcp/index.d.ts +19 -0
  382. package/dist/mcp/index.d.ts.map +1 -0
  383. package/dist/mcp/index.js +21 -0
  384. package/dist/mcp/index.js.map +1 -0
  385. package/dist/mcp/pipeline-session.d.ts +33 -0
  386. package/dist/mcp/pipeline-session.d.ts.map +1 -0
  387. package/dist/mcp/pipeline-session.js +149 -0
  388. package/dist/mcp/pipeline-session.js.map +1 -0
  389. package/dist/mcp/server.d.ts +28 -0
  390. package/dist/mcp/server.d.ts.map +1 -0
  391. package/dist/mcp/server.js +197 -0
  392. package/dist/mcp/server.js.map +1 -0
  393. package/dist/mcp/tool-registry.d.ts +4 -0
  394. package/dist/mcp/tool-registry.d.ts.map +1 -0
  395. package/dist/mcp/tool-registry.js +525 -0
  396. package/dist/mcp/tool-registry.js.map +1 -0
  397. package/dist/renderable/codecs/adr.d.ts +4730 -0
  398. package/dist/renderable/codecs/adr.d.ts.map +1 -0
  399. package/dist/renderable/codecs/adr.js +590 -0
  400. package/dist/renderable/codecs/adr.js.map +1 -0
  401. package/dist/renderable/codecs/architecture.d.ts +4760 -0
  402. package/dist/renderable/codecs/architecture.d.ts.map +1 -0
  403. package/dist/renderable/codecs/architecture.js +524 -0
  404. package/dist/renderable/codecs/architecture.js.map +1 -0
  405. package/dist/renderable/codecs/business-rules.d.ts +4777 -0
  406. package/dist/renderable/codecs/business-rules.d.ts.map +1 -0
  407. package/dist/renderable/codecs/business-rules.js +648 -0
  408. package/dist/renderable/codecs/business-rules.js.map +1 -0
  409. package/dist/renderable/codecs/claude-module.d.ts +4710 -0
  410. package/dist/renderable/codecs/claude-module.d.ts.map +1 -0
  411. package/dist/renderable/codecs/claude-module.js +214 -0
  412. package/dist/renderable/codecs/claude-module.js.map +1 -0
  413. package/dist/renderable/codecs/composite.d.ts +84 -0
  414. package/dist/renderable/codecs/composite.d.ts.map +1 -0
  415. package/dist/renderable/codecs/composite.js +124 -0
  416. package/dist/renderable/codecs/composite.js.map +1 -0
  417. package/dist/renderable/codecs/convention-extractor.d.ts +105 -0
  418. package/dist/renderable/codecs/convention-extractor.d.ts.map +1 -0
  419. package/dist/renderable/codecs/convention-extractor.js +353 -0
  420. package/dist/renderable/codecs/convention-extractor.js.map +1 -0
  421. package/dist/renderable/codecs/decision-doc.d.ts +308 -0
  422. package/dist/renderable/codecs/decision-doc.d.ts.map +1 -0
  423. package/dist/renderable/codecs/decision-doc.js +485 -0
  424. package/dist/renderable/codecs/decision-doc.js.map +1 -0
  425. package/dist/renderable/codecs/design-review.d.ts +55 -0
  426. package/dist/renderable/codecs/design-review.d.ts.map +1 -0
  427. package/dist/renderable/codecs/design-review.js +532 -0
  428. package/dist/renderable/codecs/design-review.js.map +1 -0
  429. package/dist/renderable/codecs/diagram-utils.d.ts +62 -0
  430. package/dist/renderable/codecs/diagram-utils.d.ts.map +1 -0
  431. package/dist/renderable/codecs/diagram-utils.js +70 -0
  432. package/dist/renderable/codecs/diagram-utils.js.map +1 -0
  433. package/dist/renderable/codecs/helpers.d.ts +553 -0
  434. package/dist/renderable/codecs/helpers.d.ts.map +1 -0
  435. package/dist/renderable/codecs/helpers.js +913 -0
  436. package/dist/renderable/codecs/helpers.js.map +1 -0
  437. package/dist/renderable/codecs/index-codec.d.ts +4714 -0
  438. package/dist/renderable/codecs/index-codec.d.ts.map +1 -0
  439. package/dist/renderable/codecs/index-codec.js +250 -0
  440. package/dist/renderable/codecs/index-codec.js.map +1 -0
  441. package/dist/renderable/codecs/index.d.ts +46 -0
  442. package/dist/renderable/codecs/index.d.ts.map +1 -0
  443. package/dist/renderable/codecs/index.js +70 -0
  444. package/dist/renderable/codecs/index.js.map +1 -0
  445. package/dist/renderable/codecs/patterns.d.ts +4757 -0
  446. package/dist/renderable/codecs/patterns.d.ts.map +1 -0
  447. package/dist/renderable/codecs/patterns.js +462 -0
  448. package/dist/renderable/codecs/patterns.js.map +1 -0
  449. package/dist/renderable/codecs/planning.d.ts +14055 -0
  450. package/dist/renderable/codecs/planning.d.ts.map +1 -0
  451. package/dist/renderable/codecs/planning.js +449 -0
  452. package/dist/renderable/codecs/planning.js.map +1 -0
  453. package/dist/renderable/codecs/pr-changes.d.ts +4742 -0
  454. package/dist/renderable/codecs/pr-changes.d.ts.map +1 -0
  455. package/dist/renderable/codecs/pr-changes.js +425 -0
  456. package/dist/renderable/codecs/pr-changes.js.map +1 -0
  457. package/dist/renderable/codecs/reference.d.ts +215 -0
  458. package/dist/renderable/codecs/reference.d.ts.map +1 -0
  459. package/dist/renderable/codecs/reference.js +1578 -0
  460. package/dist/renderable/codecs/reference.js.map +1 -0
  461. package/dist/renderable/codecs/reporting.d.ts +14026 -0
  462. package/dist/renderable/codecs/reporting.d.ts.map +1 -0
  463. package/dist/renderable/codecs/reporting.js +365 -0
  464. package/dist/renderable/codecs/reporting.js.map +1 -0
  465. package/dist/renderable/codecs/requirements.d.ts +4743 -0
  466. package/dist/renderable/codecs/requirements.d.ts.map +1 -0
  467. package/dist/renderable/codecs/requirements.js +428 -0
  468. package/dist/renderable/codecs/requirements.js.map +1 -0
  469. package/dist/renderable/codecs/session.d.ts +9410 -0
  470. package/dist/renderable/codecs/session.d.ts.map +1 -0
  471. package/dist/renderable/codecs/session.js +848 -0
  472. package/dist/renderable/codecs/session.js.map +1 -0
  473. package/dist/renderable/codecs/shape-matcher.d.ts +54 -0
  474. package/dist/renderable/codecs/shape-matcher.d.ts.map +1 -0
  475. package/dist/renderable/codecs/shape-matcher.js +106 -0
  476. package/dist/renderable/codecs/shape-matcher.js.map +1 -0
  477. package/dist/renderable/codecs/shared-schema.d.ts +44 -0
  478. package/dist/renderable/codecs/shared-schema.d.ts.map +1 -0
  479. package/dist/renderable/codecs/shared-schema.js +43 -0
  480. package/dist/renderable/codecs/shared-schema.js.map +1 -0
  481. package/dist/renderable/codecs/taxonomy.d.ts +4733 -0
  482. package/dist/renderable/codecs/taxonomy.d.ts.map +1 -0
  483. package/dist/renderable/codecs/taxonomy.js +570 -0
  484. package/dist/renderable/codecs/taxonomy.js.map +1 -0
  485. package/dist/renderable/codecs/timeline.d.ts +14094 -0
  486. package/dist/renderable/codecs/timeline.d.ts.map +1 -0
  487. package/dist/renderable/codecs/timeline.js +906 -0
  488. package/dist/renderable/codecs/timeline.js.map +1 -0
  489. package/dist/renderable/codecs/types/base.d.ts +81 -0
  490. package/dist/renderable/codecs/types/base.d.ts.map +1 -0
  491. package/dist/renderable/codecs/types/base.js +56 -0
  492. package/dist/renderable/codecs/types/base.js.map +1 -0
  493. package/dist/renderable/codecs/types/index.d.ts +5 -0
  494. package/dist/renderable/codecs/types/index.d.ts.map +1 -0
  495. package/dist/renderable/codecs/types/index.js +5 -0
  496. package/dist/renderable/codecs/types/index.js.map +1 -0
  497. package/dist/renderable/codecs/validation-rules.d.ts +4773 -0
  498. package/dist/renderable/codecs/validation-rules.d.ts.map +1 -0
  499. package/dist/renderable/codecs/validation-rules.js +537 -0
  500. package/dist/renderable/codecs/validation-rules.js.map +1 -0
  501. package/dist/renderable/generate.d.ts +338 -0
  502. package/dist/renderable/generate.d.ts.map +1 -0
  503. package/dist/renderable/generate.js +437 -0
  504. package/dist/renderable/generate.js.map +1 -0
  505. package/dist/renderable/index.d.ts +36 -0
  506. package/dist/renderable/index.d.ts.map +1 -0
  507. package/dist/renderable/index.js +58 -0
  508. package/dist/renderable/index.js.map +1 -0
  509. package/dist/renderable/load-preamble.d.ts +56 -0
  510. package/dist/renderable/load-preamble.d.ts.map +1 -0
  511. package/dist/renderable/load-preamble.js +298 -0
  512. package/dist/renderable/load-preamble.js.map +1 -0
  513. package/dist/renderable/render.d.ts +61 -0
  514. package/dist/renderable/render.d.ts.map +1 -0
  515. package/dist/renderable/render.js +346 -0
  516. package/dist/renderable/render.js.map +1 -0
  517. package/dist/renderable/schema.d.ts +194 -0
  518. package/dist/renderable/schema.d.ts.map +1 -0
  519. package/dist/renderable/schema.js +197 -0
  520. package/dist/renderable/schema.js.map +1 -0
  521. package/dist/renderable/utils.d.ts +146 -0
  522. package/dist/renderable/utils.d.ts.map +1 -0
  523. package/dist/renderable/utils.js +362 -0
  524. package/dist/renderable/utils.js.map +1 -0
  525. package/dist/scanner/ast-parser.d.ts +75 -0
  526. package/dist/scanner/ast-parser.d.ts.map +1 -0
  527. package/dist/scanner/ast-parser.js +835 -0
  528. package/dist/scanner/ast-parser.js.map +1 -0
  529. package/dist/scanner/gherkin-ast-parser.d.ts +166 -0
  530. package/dist/scanner/gherkin-ast-parser.d.ts.map +1 -0
  531. package/dist/scanner/gherkin-ast-parser.js +507 -0
  532. package/dist/scanner/gherkin-ast-parser.js.map +1 -0
  533. package/dist/scanner/gherkin-scanner.d.ts +106 -0
  534. package/dist/scanner/gherkin-scanner.d.ts.map +1 -0
  535. package/dist/scanner/gherkin-scanner.js +149 -0
  536. package/dist/scanner/gherkin-scanner.js.map +1 -0
  537. package/dist/scanner/index.d.ts +85 -0
  538. package/dist/scanner/index.d.ts.map +1 -0
  539. package/dist/scanner/index.js +102 -0
  540. package/dist/scanner/index.js.map +1 -0
  541. package/dist/scanner/pattern-scanner.d.ts +83 -0
  542. package/dist/scanner/pattern-scanner.d.ts.map +1 -0
  543. package/dist/scanner/pattern-scanner.js +110 -0
  544. package/dist/scanner/pattern-scanner.js.map +1 -0
  545. package/dist/taxonomy/categories.d.ts +47 -0
  546. package/dist/taxonomy/categories.d.ts.map +1 -0
  547. package/dist/taxonomy/categories.js +175 -0
  548. package/dist/taxonomy/categories.js.map +1 -0
  549. package/dist/taxonomy/claude-section-values.d.ts +12 -0
  550. package/dist/taxonomy/claude-section-values.d.ts.map +1 -0
  551. package/dist/taxonomy/claude-section-values.js +17 -0
  552. package/dist/taxonomy/claude-section-values.js.map +1 -0
  553. package/dist/taxonomy/conventions.d.ts +13 -0
  554. package/dist/taxonomy/conventions.d.ts.map +1 -0
  555. package/dist/taxonomy/conventions.js +27 -0
  556. package/dist/taxonomy/conventions.js.map +1 -0
  557. package/dist/taxonomy/deliverable-status.d.ts +99 -0
  558. package/dist/taxonomy/deliverable-status.d.ts.map +1 -0
  559. package/dist/taxonomy/deliverable-status.js +131 -0
  560. package/dist/taxonomy/deliverable-status.js.map +1 -0
  561. package/dist/taxonomy/format-types.d.ts +17 -0
  562. package/dist/taxonomy/format-types.d.ts.map +1 -0
  563. package/dist/taxonomy/format-types.js +23 -0
  564. package/dist/taxonomy/format-types.js.map +1 -0
  565. package/dist/taxonomy/generator-options.d.ts +67 -0
  566. package/dist/taxonomy/generator-options.d.ts.map +1 -0
  567. package/dist/taxonomy/generator-options.js +75 -0
  568. package/dist/taxonomy/generator-options.js.map +1 -0
  569. package/dist/taxonomy/hierarchy-levels.d.ts +23 -0
  570. package/dist/taxonomy/hierarchy-levels.d.ts.map +1 -0
  571. package/dist/taxonomy/hierarchy-levels.js +22 -0
  572. package/dist/taxonomy/hierarchy-levels.js.map +1 -0
  573. package/dist/taxonomy/index.d.ts +35 -0
  574. package/dist/taxonomy/index.d.ts.map +1 -0
  575. package/dist/taxonomy/index.js +56 -0
  576. package/dist/taxonomy/index.js.map +1 -0
  577. package/dist/taxonomy/layer-types.d.ts +22 -0
  578. package/dist/taxonomy/layer-types.d.ts.map +1 -0
  579. package/dist/taxonomy/layer-types.js +28 -0
  580. package/dist/taxonomy/layer-types.js.map +1 -0
  581. package/dist/taxonomy/normalized-status.d.ts +99 -0
  582. package/dist/taxonomy/normalized-status.d.ts.map +1 -0
  583. package/dist/taxonomy/normalized-status.js +113 -0
  584. package/dist/taxonomy/normalized-status.js.map +1 -0
  585. package/dist/taxonomy/registry-builder.d.ts +104 -0
  586. package/dist/taxonomy/registry-builder.d.ts.map +1 -0
  587. package/dist/taxonomy/registry-builder.js +561 -0
  588. package/dist/taxonomy/registry-builder.js.map +1 -0
  589. package/dist/taxonomy/risk-levels.d.ts +16 -0
  590. package/dist/taxonomy/risk-levels.d.ts.map +1 -0
  591. package/dist/taxonomy/risk-levels.js +15 -0
  592. package/dist/taxonomy/risk-levels.js.map +1 -0
  593. package/dist/taxonomy/severity-types.d.ts +6 -0
  594. package/dist/taxonomy/severity-types.d.ts.map +1 -0
  595. package/dist/taxonomy/severity-types.js +5 -0
  596. package/dist/taxonomy/severity-types.js.map +1 -0
  597. package/dist/taxonomy/status-values.d.ts +39 -0
  598. package/dist/taxonomy/status-values.d.ts.map +1 -0
  599. package/dist/taxonomy/status-values.js +42 -0
  600. package/dist/taxonomy/status-values.js.map +1 -0
  601. package/dist/types/branded.d.ts +89 -0
  602. package/dist/types/branded.d.ts.map +1 -0
  603. package/dist/types/branded.js +57 -0
  604. package/dist/types/branded.js.map +1 -0
  605. package/dist/types/errors.d.ts +342 -0
  606. package/dist/types/errors.d.ts.map +1 -0
  607. package/dist/types/errors.js +251 -0
  608. package/dist/types/errors.js.map +1 -0
  609. package/dist/types/index.d.ts +41 -0
  610. package/dist/types/index.d.ts.map +1 -0
  611. package/dist/types/index.js +5 -0
  612. package/dist/types/index.js.map +1 -0
  613. package/dist/types/result.d.ts +78 -0
  614. package/dist/types/result.d.ts.map +1 -0
  615. package/dist/types/result.js +78 -0
  616. package/dist/types/result.js.map +1 -0
  617. package/dist/utils/collection-utils.d.ts +49 -0
  618. package/dist/utils/collection-utils.d.ts.map +1 -0
  619. package/dist/utils/collection-utils.js +58 -0
  620. package/dist/utils/collection-utils.js.map +1 -0
  621. package/dist/utils/id-utils.d.ts +46 -0
  622. package/dist/utils/id-utils.d.ts.map +1 -0
  623. package/dist/utils/id-utils.js +51 -0
  624. package/dist/utils/id-utils.js.map +1 -0
  625. package/dist/utils/index.d.ts +21 -0
  626. package/dist/utils/index.d.ts.map +1 -0
  627. package/dist/utils/index.js +21 -0
  628. package/dist/utils/index.js.map +1 -0
  629. package/dist/utils/string-utils.d.ts +150 -0
  630. package/dist/utils/string-utils.d.ts.map +1 -0
  631. package/dist/utils/string-utils.js +281 -0
  632. package/dist/utils/string-utils.js.map +1 -0
  633. package/dist/validation/anti-patterns.d.ts +134 -0
  634. package/dist/validation/anti-patterns.d.ts.map +1 -0
  635. package/dist/validation/anti-patterns.js +307 -0
  636. package/dist/validation/anti-patterns.js.map +1 -0
  637. package/dist/validation/dod-validator.d.ts +94 -0
  638. package/dist/validation/dod-validator.d.ts.map +1 -0
  639. package/dist/validation/dod-validator.js +198 -0
  640. package/dist/validation/dod-validator.js.map +1 -0
  641. package/dist/validation/fsm/index.d.ts +59 -0
  642. package/dist/validation/fsm/index.d.ts.map +1 -0
  643. package/dist/validation/fsm/index.js +64 -0
  644. package/dist/validation/fsm/index.js.map +1 -0
  645. package/dist/validation/fsm/states.d.ts +93 -0
  646. package/dist/validation/fsm/states.d.ts.map +1 -0
  647. package/dist/validation/fsm/states.js +98 -0
  648. package/dist/validation/fsm/states.js.map +1 -0
  649. package/dist/validation/fsm/transitions.d.ts +100 -0
  650. package/dist/validation/fsm/transitions.d.ts.map +1 -0
  651. package/dist/validation/fsm/transitions.js +122 -0
  652. package/dist/validation/fsm/transitions.js.map +1 -0
  653. package/dist/validation/fsm/validator.d.ts +163 -0
  654. package/dist/validation/fsm/validator.d.ts.map +1 -0
  655. package/dist/validation/fsm/validator.js +205 -0
  656. package/dist/validation/fsm/validator.js.map +1 -0
  657. package/dist/validation/index.d.ts +23 -0
  658. package/dist/validation/index.d.ts.map +1 -0
  659. package/dist/validation/index.js +25 -0
  660. package/dist/validation/index.js.map +1 -0
  661. package/dist/validation/types.d.ts +136 -0
  662. package/dist/validation/types.d.ts.map +1 -0
  663. package/dist/validation/types.js +56 -0
  664. package/dist/validation/types.js.map +1 -0
  665. package/dist/validation-schemas/codec-utils.d.ts +188 -0
  666. package/dist/validation-schemas/codec-utils.d.ts.map +1 -0
  667. package/dist/validation-schemas/codec-utils.js +258 -0
  668. package/dist/validation-schemas/codec-utils.js.map +1 -0
  669. package/dist/validation-schemas/config.d.ts +99 -0
  670. package/dist/validation-schemas/config.d.ts.map +1 -0
  671. package/dist/validation-schemas/config.js +178 -0
  672. package/dist/validation-schemas/config.js.map +1 -0
  673. package/dist/validation-schemas/doc-directive.d.ts +195 -0
  674. package/dist/validation-schemas/doc-directive.d.ts.map +1 -0
  675. package/dist/validation-schemas/doc-directive.js +239 -0
  676. package/dist/validation-schemas/doc-directive.js.map +1 -0
  677. package/dist/validation-schemas/dual-source.d.ts +167 -0
  678. package/dist/validation-schemas/dual-source.d.ts.map +1 -0
  679. package/dist/validation-schemas/dual-source.js +168 -0
  680. package/dist/validation-schemas/dual-source.js.map +1 -0
  681. package/dist/validation-schemas/export-info.d.ts +53 -0
  682. package/dist/validation-schemas/export-info.d.ts.map +1 -0
  683. package/dist/validation-schemas/export-info.js +101 -0
  684. package/dist/validation-schemas/export-info.js.map +1 -0
  685. package/dist/validation-schemas/extracted-pattern.d.ts +351 -0
  686. package/dist/validation-schemas/extracted-pattern.d.ts.map +1 -0
  687. package/dist/validation-schemas/extracted-pattern.js +459 -0
  688. package/dist/validation-schemas/extracted-pattern.js.map +1 -0
  689. package/dist/validation-schemas/extracted-shape.d.ts +200 -0
  690. package/dist/validation-schemas/extracted-shape.d.ts.map +1 -0
  691. package/dist/validation-schemas/extracted-shape.js +182 -0
  692. package/dist/validation-schemas/extracted-shape.js.map +1 -0
  693. package/dist/validation-schemas/feature.d.ts +554 -0
  694. package/dist/validation-schemas/feature.d.ts.map +1 -0
  695. package/dist/validation-schemas/feature.js +262 -0
  696. package/dist/validation-schemas/feature.js.map +1 -0
  697. package/dist/validation-schemas/index.d.ts +15 -0
  698. package/dist/validation-schemas/index.d.ts.map +1 -0
  699. package/dist/validation-schemas/index.js +32 -0
  700. package/dist/validation-schemas/index.js.map +1 -0
  701. package/dist/validation-schemas/lint.d.ts +46 -0
  702. package/dist/validation-schemas/lint.d.ts.map +1 -0
  703. package/dist/validation-schemas/lint.js +45 -0
  704. package/dist/validation-schemas/lint.js.map +1 -0
  705. package/dist/validation-schemas/master-dataset.d.ts +8299 -0
  706. package/dist/validation-schemas/master-dataset.d.ts.map +1 -0
  707. package/dist/validation-schemas/master-dataset.js +275 -0
  708. package/dist/validation-schemas/master-dataset.js.map +1 -0
  709. package/dist/validation-schemas/output-schemas.d.ts +183 -0
  710. package/dist/validation-schemas/output-schemas.d.ts.map +1 -0
  711. package/dist/validation-schemas/output-schemas.js +149 -0
  712. package/dist/validation-schemas/output-schemas.js.map +1 -0
  713. package/dist/validation-schemas/scenario-ref.d.ts +80 -0
  714. package/dist/validation-schemas/scenario-ref.d.ts.map +1 -0
  715. package/dist/validation-schemas/scenario-ref.js +73 -0
  716. package/dist/validation-schemas/scenario-ref.js.map +1 -0
  717. package/dist/validation-schemas/tag-registry.d.ts +210 -0
  718. package/dist/validation-schemas/tag-registry.d.ts.map +1 -0
  719. package/dist/validation-schemas/tag-registry.js +248 -0
  720. package/dist/validation-schemas/tag-registry.js.map +1 -0
  721. package/dist/validation-schemas/workflow-config.d.ts +125 -0
  722. package/dist/validation-schemas/workflow-config.d.ts.map +1 -0
  723. package/dist/validation-schemas/workflow-config.js +138 -0
  724. package/dist/validation-schemas/workflow-config.js.map +1 -0
  725. package/docs/ANNOTATION-GUIDE.md +271 -0
  726. package/docs/ARCHITECTURE.md +1636 -0
  727. package/docs/CONFIGURATION.md +337 -0
  728. package/docs/DOCS-GAP-ANALYSIS.md +811 -0
  729. package/docs/GHERKIN-PATTERNS.md +366 -0
  730. package/docs/INDEX.md +345 -0
  731. package/docs/MCP-SETUP.md +140 -0
  732. package/docs/METHODOLOGY.md +240 -0
  733. package/docs/PROCESS-API.md +65 -0
  734. package/docs/PROCESS-GUARD.md +341 -0
  735. package/docs/SESSION-GUIDES.md +391 -0
  736. package/docs/TAXONOMY.md +106 -0
  737. package/docs/VALIDATION.md +418 -0
  738. package/docs-live/ARCHITECTURE.md +362 -0
  739. package/docs-live/BUSINESS-RULES.md +24 -0
  740. package/docs-live/CHANGELOG-GENERATED.md +375 -0
  741. package/docs-live/DECISIONS.md +78 -0
  742. package/docs-live/INDEX.md +231 -0
  743. package/docs-live/PRODUCT-AREAS.md +255 -0
  744. package/docs-live/TAXONOMY.md +202 -0
  745. package/docs-live/VALIDATION-RULES.md +119 -0
  746. package/docs-live/_claude-md/annotation/annotation-overview.md +26 -0
  747. package/docs-live/_claude-md/annotation/annotation-reference.md +213 -0
  748. package/docs-live/_claude-md/architecture/architecture-codecs.md +160 -0
  749. package/docs-live/_claude-md/architecture/architecture-types.md +32 -0
  750. package/docs-live/_claude-md/architecture/reference-sample.md +162 -0
  751. package/docs-live/_claude-md/authoring/gherkin-authoring-guide.md +245 -0
  752. package/docs-live/_claude-md/configuration/configuration-guide.md +216 -0
  753. package/docs-live/_claude-md/configuration/configuration-overview.md +37 -0
  754. package/docs-live/_claude-md/core-types/core-types-overview.md +20 -0
  755. package/docs-live/_claude-md/data-api/data-api-overview.md +39 -0
  756. package/docs-live/_claude-md/generation/generation-overview.md +30 -0
  757. package/docs-live/_claude-md/process/process-overview.md +127 -0
  758. package/docs-live/_claude-md/validation/process-guard.md +185 -0
  759. package/docs-live/_claude-md/validation/validation-overview.md +37 -0
  760. package/docs-live/_claude-md/validation/validation-tools-guide.md +242 -0
  761. package/docs-live/_claude-md/workflow/session-workflow-guide.md +141 -0
  762. package/docs-live/business-rules/annotation.md +1462 -0
  763. package/docs-live/business-rules/configuration.md +465 -0
  764. package/docs-live/business-rules/core-types.md +531 -0
  765. package/docs-live/business-rules/data-api.md +1403 -0
  766. package/docs-live/business-rules/generation.md +4726 -0
  767. package/docs-live/business-rules/process.md +122 -0
  768. package/docs-live/business-rules/validation.md +998 -0
  769. package/docs-live/decisions/adr-001-taxonomy-canonical-values.md +197 -0
  770. package/docs-live/decisions/adr-002-gherkin-only-testing.md +57 -0
  771. package/docs-live/decisions/adr-003-source-first-pattern-architecture.md +147 -0
  772. package/docs-live/decisions/adr-004-session-workflow-commands.md +137 -0
  773. package/docs-live/decisions/adr-005-codec-based-markdown-rendering.md +150 -0
  774. package/docs-live/decisions/adr-006-single-read-model-architecture.md +136 -0
  775. package/docs-live/decisions/adr-021-doc-generation-proof-of-concept.md +489 -0
  776. package/docs-live/product-areas/ANNOTATION.md +591 -0
  777. package/docs-live/product-areas/CONFIGURATION.md +1048 -0
  778. package/docs-live/product-areas/CORE-TYPES.md +221 -0
  779. package/docs-live/product-areas/DATA-API.md +850 -0
  780. package/docs-live/product-areas/GENERATION.md +1200 -0
  781. package/docs-live/product-areas/PROCESS.md +351 -0
  782. package/docs-live/product-areas/VALIDATION.md +1135 -0
  783. package/docs-live/reference/ANNOTATION-REFERENCE.md +232 -0
  784. package/docs-live/reference/ARCHITECTURE-CODECS.md +675 -0
  785. package/docs-live/reference/ARCHITECTURE-TYPES.md +436 -0
  786. package/docs-live/reference/CONFIGURATION-GUIDE.md +235 -0
  787. package/docs-live/reference/GHERKIN-AUTHORING-GUIDE.md +270 -0
  788. package/docs-live/reference/PROCESS-API-RECIPES.md +476 -0
  789. package/docs-live/reference/PROCESS-API-REFERENCE.md +63 -0
  790. package/docs-live/reference/PROCESS-GUARD-REFERENCE.md +258 -0
  791. package/docs-live/reference/REFERENCE-SAMPLE.md +1135 -0
  792. package/docs-live/reference/SESSION-WORKFLOW-GUIDE.md +384 -0
  793. package/docs-live/reference/VALIDATION-TOOLS-GUIDE.md +263 -0
  794. package/docs-live/taxonomy/categories.md +33 -0
  795. package/docs-live/taxonomy/format-types.md +67 -0
  796. package/docs-live/taxonomy/metadata-tags.md +693 -0
  797. package/docs-live/validation/error-catalog.md +78 -0
  798. package/docs-live/validation/fsm-transitions.md +50 -0
  799. package/docs-live/validation/protection-levels.md +51 -0
  800. package/package.json +233 -0
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @architect
3
+ * @architect-pattern MermaidDiagramUtils
4
+ * @architect-status completed
5
+ * @architect-used-by Architecture Codec, Reference Codec
6
+ * @architect-arch-context renderer
7
+ *
8
+ * ## Shared Mermaid Diagram Utilities
9
+ *
10
+ * Sanitization and formatting helpers shared across architecture.ts and reference.ts
11
+ * diagram builders.
12
+ *
13
+ * **When to Use:** When building Mermaid diagram output in a codec — use
14
+ * `sanitizeNodeId()`, `EDGE_STYLES`, `NODE_SHAPES`, and `formatNodeDeclaration()`
15
+ * rather than inlining diagram syntax in the codec directly.
16
+ */
17
+ /**
18
+ * Sanitize pattern name for Mermaid node ID.
19
+ * Mermaid requires alphanumeric + underscore only.
20
+ */
21
+ export function sanitizeNodeId(name) {
22
+ return name.replace(/[^a-zA-Z0-9]/g, '_');
23
+ }
24
+ /** Arrow styles per relationship type for Mermaid diagram generation */
25
+ export const EDGE_STYLES = {
26
+ uses: '-->',
27
+ dependsOn: '-.->',
28
+ implementsPatterns: '..->',
29
+ extendsPattern: '-->>',
30
+ };
31
+ /** Human-readable relationship labels for edge annotations (DD-4) */
32
+ export const EDGE_LABELS = {
33
+ uses: 'uses',
34
+ dependsOn: 'depends on',
35
+ implementsPatterns: 'implements',
36
+ extendsPattern: 'extends',
37
+ };
38
+ /** Arrow syntax for sequence diagram messages (DD-2) */
39
+ export const SEQUENCE_ARROWS = {
40
+ uses: '->>',
41
+ dependsOn: '-->>',
42
+ implementsPatterns: '--)',
43
+ extendsPattern: '-->>',
44
+ };
45
+ /**
46
+ * Mermaid flowchart node shape brackets per archRole (DD-1).
47
+ * Maps archRole to [openBracket, closeBracket] pairs.
48
+ * Uses `satisfies` to ensure every canonical archRole has a mapping.
49
+ */
50
+ export const NODE_SHAPES = {
51
+ 'bounded-context': ['[["', '"]]'],
52
+ 'command-handler': ['(["', '"])'],
53
+ projection: ['[("', '")]'],
54
+ saga: ['{{"', '"}}'],
55
+ 'process-manager': ['{{"', '"}}'],
56
+ infrastructure: ['[/"', '"/]'],
57
+ repository: ['[("', '")]'],
58
+ decider: ['("', '")'],
59
+ 'read-model': ['[/"', '"/]'],
60
+ service: ['("', '")'],
61
+ };
62
+ /** Format a Mermaid flowchart node declaration with shape based on archRole */
63
+ export function formatNodeDeclaration(nodeId, label, archRole) {
64
+ if (archRole !== undefined && archRole in NODE_SHAPES) {
65
+ const shape = NODE_SHAPES[archRole];
66
+ return `${nodeId}${shape[0]}${label}${shape[1]}`;
67
+ }
68
+ return `${nodeId}["${label}"]`;
69
+ }
70
+ //# sourceMappingURL=diagram-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-utils.js","sourceRoot":"","sources":["../../../src/renderable/codecs/diagram-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,MAAM;IACjB,kBAAkB,EAAE,MAAM;IAC1B,cAAc,EAAE,MAAM;CACd,CAAC;AAEX,qEAAqE;AACrE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,YAAY;IACvB,kBAAkB,EAAE,YAAY;IAChC,cAAc,EAAE,SAAS;CAC0B,CAAC;AAEtD,wDAAwD;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,MAAM;IACjB,kBAAkB,EAAE,KAAK;IACzB,cAAc,EAAE,MAAM;CAC6B,CAAC;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACjC,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACjC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IAC1B,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACpB,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACjC,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IAC9B,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACrB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IAC5B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;CACyC,CAAC;AAEjE,+EAA+E;AAC/E,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,KAAa,EAAE,QAAiB;IACpF,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAoB,CAAC,CAAC;QAChD,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,GAAG,MAAM,KAAK,KAAK,IAAI,CAAC;AACjC,CAAC"}
@@ -0,0 +1,553 @@
1
+ /**
2
+ * @architect
3
+ * @architect-core
4
+ * @architect-pattern RichContentHelpers
5
+ * @architect-status completed
6
+ *
7
+ * ## Rich Content Rendering Helpers
8
+ *
9
+ * Shared helper functions for rendering Gherkin rich content in document codecs.
10
+ * Provides granular and composite helpers for DataTables, DocStrings, steps,
11
+ * scenarios, and business rules.
12
+ *
13
+ * ### When to Use
14
+ *
15
+ * - When building custom codecs that need to render Gherkin content
16
+ * - When transforming DataTables, DocStrings, or scenarios into markdown
17
+ * - When implementing acceptance criteria or business rules sections
18
+ *
19
+ * ### Usage Pattern
20
+ *
21
+ * ```typescript
22
+ * import { renderAcceptanceCriteria, renderBusinessRulesSection } from "./helpers.js";
23
+ *
24
+ * // Composite helpers (most common use)
25
+ * sections.push(...renderAcceptanceCriteria(pattern.scenarios));
26
+ * sections.push(...renderBusinessRulesSection(pattern.rules));
27
+ *
28
+ * // Granular helpers (for custom rendering)
29
+ * const tableBlock = renderDataTable(step.dataTable);
30
+ * const codeBlock = renderDocString(step.docString, "markdown");
31
+ * ```
32
+ */
33
+ import type { ScenarioDataTable, ScenarioStep, ScenarioRef } from '../../validation-schemas/scenario-ref.js';
34
+ import type { BusinessRule } from '../../validation-schemas/extracted-pattern.js';
35
+ import type { ExtractedShape, PropertyDoc } from '../../validation-schemas/extracted-shape.js';
36
+ import { type SectionBlock } from '../schema.js';
37
+ import type { WarningCollector } from '../../generators/warning-collector.js';
38
+ export type { BusinessRule };
39
+ /**
40
+ * Result of partitioning business rules by ADR-style prefixes.
41
+ */
42
+ export interface PartitionedRules {
43
+ /** Rules with names starting with "Context" */
44
+ context: BusinessRule[];
45
+ /** Rules with names starting with "Decision" */
46
+ decision: BusinessRule[];
47
+ /** Rules with names starting with "Consequence" */
48
+ consequences: BusinessRule[];
49
+ /** Rules that don't match any expected prefix */
50
+ other: BusinessRule[];
51
+ }
52
+ /**
53
+ * Options for partitioning business rules.
54
+ */
55
+ export interface PartitionRulesOptions {
56
+ /**
57
+ * Warn about rules that don't match expected prefixes (default: false).
58
+ * When true, emits a warning for non-matching rules via onWarning callback.
59
+ * ADR codec sets this to true; Decision Doc codec keeps false.
60
+ */
61
+ warnOnOther?: boolean;
62
+ /** Pattern name for warning context (optional) */
63
+ patternName?: string;
64
+ /**
65
+ * Callback for warnings (default: console.warn).
66
+ * Allows programmatic capture of warnings for testing or custom handling.
67
+ */
68
+ onWarning?: (message: string) => void;
69
+ }
70
+ /**
71
+ * Partition business rules by ADR-style name prefixes.
72
+ *
73
+ * Rules are categorized based on their name prefix:
74
+ * - "Context..." → context section
75
+ * - "Decision..." → decision section
76
+ * - "Consequence..." → consequences section
77
+ * - Others → other (optionally logged as warning)
78
+ *
79
+ * This is a shared helper used by both ADR and Decision Doc codecs.
80
+ *
81
+ * @param rules - Business rules from the extracted pattern
82
+ * @param options - Partitioning options
83
+ * @returns Partitioned rules by category
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * // ADR codec (warn about unmatched rules)
88
+ * const partitioned = partitionRulesByPrefix(pattern.rules, {
89
+ * warnOnOther: true,
90
+ * patternName: pattern.name
91
+ * });
92
+ *
93
+ * // Decision doc codec (no warning)
94
+ * const partitioned = partitionRulesByPrefix(pattern.rules);
95
+ * ```
96
+ */
97
+ export declare function partitionRulesByPrefix(rules: readonly BusinessRule[] | undefined, options?: PartitionRulesOptions): PartitionedRules;
98
+ /**
99
+ * Warning information emitted during rich content rendering
100
+ */
101
+ export interface RichContentWarning {
102
+ /** Warning code for programmatic handling */
103
+ code: 'unclosed-docstring' | 'invalid-content';
104
+ /** Human-readable warning message */
105
+ message: string;
106
+ /** Additional context about the warning */
107
+ context?: string;
108
+ }
109
+ /**
110
+ * Configuration options for rich content rendering
111
+ */
112
+ export interface RichContentOptions {
113
+ /** Include Given/When/Then steps (default: true) */
114
+ includeSteps?: boolean;
115
+ /** Include DataTables from steps (default: true) */
116
+ includeDataTables?: boolean;
117
+ /** Include DocStrings from steps (default: true) */
118
+ includeDocStrings?: boolean;
119
+ /** Include business rules section (default: true) */
120
+ includeRules?: boolean;
121
+ /** Default language for DocString code blocks (default: "markdown") */
122
+ docStringLanguage?: string;
123
+ /**
124
+ * Base heading level for section headers (default: 4)
125
+ *
126
+ * Used by renderAcceptanceCriteria and renderBusinessRulesSection to set
127
+ * the heading level for "Acceptance Criteria" and "Business Rules" sections.
128
+ * Callers can override to maintain proper document hierarchy.
129
+ *
130
+ * - H2: Use when rendering as top-level section in detail documents
131
+ * - H3: Use when rendering under a parent H2 section
132
+ * - H4: Use when deeply nested (default)
133
+ */
134
+ baseHeadingLevel?: 2 | 3 | 4;
135
+ /**
136
+ * Optional callback invoked when warnings are detected during rendering.
137
+ *
138
+ * If not provided or undefined, warnings are logged to stderr via console.warn.
139
+ * Provide this callback to capture warnings programmatically or suppress them.
140
+ */
141
+ onWarning?: ((warning: RichContentWarning) => void) | undefined;
142
+ /**
143
+ * Optional WarningCollector for structured warning capture.
144
+ *
145
+ * When provided, warnings are captured using the collector for aggregation
146
+ * and structured reporting. Takes precedence over `onWarning` callback.
147
+ * Use this for CI/CD pipelines that need machine-readable warning output.
148
+ */
149
+ warningCollector?: WarningCollector | undefined;
150
+ }
151
+ /**
152
+ * Default options type - all fields are required values from RichContentOptions.
153
+ * Since RichContentOptions.onWarning explicitly allows undefined in its type definition,
154
+ * Required<RichContentOptions> correctly allows undefined for onWarning.
155
+ */
156
+ export type ResolvedRichContentOptions = Required<RichContentOptions>;
157
+ /**
158
+ * Default rich content options
159
+ *
160
+ * Note: onWarning and warningCollector are intentionally undefined by default.
161
+ * When undefined, warnings fall back to console.warn via emitWarning().
162
+ */
163
+ export declare const DEFAULT_RICH_CONTENT_OPTIONS: ResolvedRichContentOptions;
164
+ /**
165
+ * Merge user options with defaults
166
+ */
167
+ export declare function mergeRichContentOptions(options?: RichContentOptions): ResolvedRichContentOptions;
168
+ /**
169
+ * Structured warning format for CI parsing.
170
+ *
171
+ * Format: `::warning file={file},code={code}::{message}`
172
+ *
173
+ * This format is compatible with GitHub Actions and other CI systems
174
+ * that support structured annotations.
175
+ */
176
+ export interface StructuredWarning {
177
+ /** Warning code for categorization */
178
+ code: string;
179
+ /** Human-readable message */
180
+ message: string;
181
+ /** Source file (if available) */
182
+ file?: string;
183
+ /** Line number (if available) */
184
+ line?: number;
185
+ }
186
+ /**
187
+ * Format a warning for CI output (GitHub Actions compatible).
188
+ *
189
+ * @param warning - The warning to format
190
+ * @returns Formatted string for CI log parsing
191
+ */
192
+ export declare function formatWarningForCI(warning: StructuredWarning): string;
193
+ /**
194
+ * Render a Gherkin DataTable as a markdown table block
195
+ *
196
+ * @param dt - The DataTable to render
197
+ * @returns A table SectionBlock
198
+ *
199
+ * @example
200
+ * ```typescript
201
+ * const tableBlock = renderDataTable(step.dataTable);
202
+ * sections.push(tableBlock);
203
+ * ```
204
+ */
205
+ export declare function renderDataTable(dt: ScenarioDataTable): SectionBlock;
206
+ /**
207
+ * Render a DocString as a code block
208
+ *
209
+ * Accepts either a plain string or an object with content and optional mediaType.
210
+ * When mediaType is provided in the object, it takes precedence over the language parameter.
211
+ *
212
+ * @param docString - The DocString content (string or object with content/mediaType)
213
+ * @param language - Optional language hint fallback (default: "markdown")
214
+ * @returns A code SectionBlock
215
+ *
216
+ * @example
217
+ * ```typescript
218
+ * // With plain string
219
+ * const codeBlock = renderDocString(step.docString, "json");
220
+ *
221
+ * // With object containing mediaType
222
+ * const codeBlock = renderDocString({ content: "code", mediaType: "typescript" });
223
+ * ```
224
+ */
225
+ export declare function renderDocString(docString: string | {
226
+ content: string;
227
+ mediaType?: string | undefined;
228
+ }, language?: string): SectionBlock;
229
+ /**
230
+ * Render scenario steps as a list
231
+ *
232
+ * @param steps - The scenario steps
233
+ * @returns A list SectionBlock
234
+ *
235
+ * @example
236
+ * ```typescript
237
+ * const stepsList = renderStepsList(scenario.steps);
238
+ * sections.push(stepsList);
239
+ * ```
240
+ */
241
+ export declare function renderStepsList(steps: readonly ScenarioStep[]): SectionBlock;
242
+ /**
243
+ * Remove common leading indentation from all lines in a code block.
244
+ *
245
+ * When DocStrings are embedded in Gherkin files, they often have consistent
246
+ * indentation to align with the surrounding scenario structure. This function
247
+ * normalizes that indentation by:
248
+ * 1. Normalizing tabs to spaces (default: 2 spaces per tab)
249
+ * 2. Finding the minimum indentation across all non-empty lines
250
+ * 3. Removing that common indentation from every line
251
+ * 4. Trimming trailing whitespace from each line
252
+ *
253
+ * @param text - The code block content to dedent
254
+ * @param tabWidth - Number of spaces per tab (default: 2)
255
+ * @returns The dedented text with normalized indentation
256
+ *
257
+ * @example
258
+ * ```typescript
259
+ * // Input (indented to match Gherkin formatting):
260
+ * dedent(" const x = 1;\n const y = 2;")
261
+ * // Returns: "const x = 1;\nconst y = 2;"
262
+ *
263
+ * // Mixed indentation (preserves relative indentation):
264
+ * dedent(" function foo() {\n return 42;\n }")
265
+ * // Returns: "function foo() {\n return 42;\n}"
266
+ *
267
+ * // Tab-indented code (tabs normalized to spaces):
268
+ * dedent("\t\tconst x = 1;")
269
+ * // Returns: "const x = 1;"
270
+ * ```
271
+ */
272
+ export declare function dedent(text: string, tabWidth?: number): string;
273
+ /**
274
+ * Parse description text for embedded DocStrings and convert to mixed content
275
+ *
276
+ * DocStrings in Gherkin are identified by: """language\n...\n"""
277
+ * Text between DocStrings renders as paragraphs, DocStrings render as code blocks.
278
+ *
279
+ * **Defensive handling:**
280
+ * - Normalizes Windows line endings (CRLF → LF) before parsing
281
+ * - Detects unclosed DocStrings (odd count of """) and returns plain paragraph fallback
282
+ * - Handles empty input gracefully
283
+ * - Dedents code block content to normalize indentation from Gherkin formatting
284
+ *
285
+ * @param description - The description text that may contain DocStrings
286
+ * @param options - Optional rendering options (used for warning callback)
287
+ * @returns Array of SectionBlocks (paragraphs and code blocks)
288
+ *
289
+ * @example
290
+ * ```typescript
291
+ * // Input with DocString:
292
+ * // "Some text\n\"\"\"typescript\nconst x = 1;\n\"\"\"\nMore text"
293
+ * // Output: [paragraph("Some text"), code("const x = 1;", "typescript"), paragraph("More text")]
294
+ * ```
295
+ */
296
+ export declare function parseDescriptionWithDocStrings(description: string, options?: RichContentOptions): SectionBlock[];
297
+ /**
298
+ * Protect backtick-quoted content from regex matching by replacing with placeholders.
299
+ *
300
+ * This is essential when parsing markdown-style content where `**bold**` patterns
301
+ * might appear inside inline code (e.g., `` `**Verified by:**` ``). Without protection,
302
+ * regexes that look for `**` boundaries will incorrectly match inside backticks.
303
+ *
304
+ * @param text - The text to process
305
+ * @returns Object with processed text and restore function
306
+ *
307
+ * @example
308
+ * ```typescript
309
+ * const { processed, restore } = protectBacktickContent("Text `**inside**` more");
310
+ * // processed = "Text __BT0__ more"
311
+ * const result = "Extracted: __BT0__";
312
+ * restore(result); // "Extracted: `**inside**`"
313
+ * ```
314
+ */
315
+ export declare function protectBacktickContent(text: string): {
316
+ processed: string;
317
+ restore: (s: string) => string;
318
+ };
319
+ /**
320
+ * Parsed annotations from a business rule description.
321
+ *
322
+ * Business rules in feature files can include structured annotations:
323
+ * - `**Invariant:**` - What must always be true (business constraint)
324
+ * - `**Rationale:**` - Why this rule exists (business justification)
325
+ * - `**Verified by:**` - Comma-separated list of verifying scenario names
326
+ * - `**API:** See \`path\`` - Reference to implementation file/stub
327
+ */
328
+ export interface BusinessRuleAnnotations {
329
+ /** The business constraint that must always be true */
330
+ invariant?: string;
331
+ /** Business justification for why this rule exists */
332
+ rationale?: string;
333
+ /** List of scenario names that verify this rule */
334
+ verifiedBy?: string[];
335
+ /** Code examples extracted from DocStrings in the description */
336
+ codeExamples?: SectionBlock[];
337
+ /** API implementation references extracted from **API:** See `path` patterns */
338
+ apiRefs?: readonly string[];
339
+ /** Input type annotation for sequence diagram steps (from **Input:** marker) */
340
+ input?: string;
341
+ /** Output type annotation for sequence diagram steps (from **Output:** marker) */
342
+ output?: string;
343
+ /** Remaining description content after annotation extraction */
344
+ remainingContent?: string;
345
+ }
346
+ /**
347
+ * Truncate text to a maximum length, adding ellipsis if truncated.
348
+ *
349
+ * Attempts to truncate at word boundaries for cleaner output.
350
+ * If the text is already shorter than maxLength, returns it unchanged.
351
+ *
352
+ * @param text - The text to truncate
353
+ * @param maxLength - Maximum length (0 or negative = no limit)
354
+ * @returns Truncated text with "..." suffix if truncated
355
+ *
356
+ * @example
357
+ * ```typescript
358
+ * truncateText("This is a long description", 15);
359
+ * // Returns: "This is a..."
360
+ *
361
+ * truncateText("Short", 100);
362
+ * // Returns: "Short"
363
+ * ```
364
+ */
365
+ export declare function truncateText(text: string, maxLength: number): string;
366
+ export { extractFirstSentenceRaw as extractFirstSentence } from '../../utils/string-utils.js';
367
+ /**
368
+ * Parse structured annotations from a business rule description.
369
+ *
370
+ * Extracts:
371
+ * - `**Invariant:** <text>` - until next `**` annotation or end
372
+ * - `**Rationale:** <text>` - until next `**` annotation or end
373
+ * - `**Verified by:** <comma,separated,list>`
374
+ * - DocStrings ("""language\n...\n""") as code blocks
375
+ *
376
+ * The remaining content after extraction is returned in `remainingContent`.
377
+ *
378
+ * @param description - The rule description text to parse
379
+ * @returns Parsed annotations with structured fields
380
+ *
381
+ * @example
382
+ * ```typescript
383
+ * const annotations = parseBusinessRuleAnnotations(`
384
+ * **Invariant:** Only one reservation can exist for a given key.
385
+ *
386
+ * **Rationale:** Prevents TOCTOU race conditions.
387
+ *
388
+ * **Verified by:** Concurrent reservations, Expired cleanup
389
+ * `);
390
+ * // annotations.invariant === "Only one reservation can exist for a given key."
391
+ * // annotations.rationale === "Prevents TOCTOU race conditions."
392
+ * // annotations.verifiedBy === ["Concurrent reservations", "Expired cleanup"]
393
+ * ```
394
+ */
395
+ export declare function parseBusinessRuleAnnotations(description: string): BusinessRuleAnnotations;
396
+ /**
397
+ * Strip markdown tables from text content.
398
+ *
399
+ * Tables are identified by lines starting and ending with | character.
400
+ * This removes header rows, separator rows, and data rows to prevent
401
+ * duplicate rendering when tables are extracted separately.
402
+ *
403
+ * @param text - Text that may contain markdown tables
404
+ * @returns Text with tables removed and excess newlines cleaned up
405
+ *
406
+ * @example
407
+ * ```typescript
408
+ * const text = "Intro\n| Col | Col |\n| --- | --- |\n| A | B |\nOutro";
409
+ * stripMarkdownTables(text); // "Intro\n\nOutro"
410
+ * ```
411
+ */
412
+ export declare function stripMarkdownTables(text: string): string;
413
+ /**
414
+ * Render a single business rule with its description and verification info
415
+ *
416
+ * Parses the description for embedded DocStrings and renders them as code blocks.
417
+ *
418
+ * @param rule - The business rule to render
419
+ * @returns Array of SectionBlocks for the rule
420
+ *
421
+ * @example
422
+ * ```typescript
423
+ * sections.push(...renderBusinessRule(rule));
424
+ * ```
425
+ */
426
+ export declare function renderBusinessRule(rule: BusinessRule): SectionBlock[];
427
+ /**
428
+ * Render a rule description using structured annotation parsing.
429
+ *
430
+ * Extracts `**Invariant:**`, `**Rationale:**`, `**Verified by:**`, tables, and
431
+ * code examples for polished output with proper table formatting and separator rows.
432
+ *
433
+ * IMPORTANT: Table lines are stripped BEFORE annotation regexes so that bold markers
434
+ * inside table cells (e.g. `| **Context:** ... |`) don't act as false annotation
435
+ * boundaries that truncate the lazy `[\s\S]*?` capture.
436
+ *
437
+ * @param description - Raw rule description text from Gherkin Rule: block
438
+ * @returns Array of SectionBlocks with structured content
439
+ */
440
+ export declare function renderRuleDescription(description: string): SectionBlock[];
441
+ /**
442
+ * Render a scenario's content including steps, DataTables, and DocStrings
443
+ *
444
+ * @param scenario - The scenario to render
445
+ * @param options - Rendering options
446
+ * @returns Array of SectionBlocks for the scenario
447
+ *
448
+ * @example
449
+ * ```typescript
450
+ * for (const scenario of pattern.scenarios) {
451
+ * sections.push(...renderScenarioContent(scenario));
452
+ * }
453
+ * ```
454
+ */
455
+ export declare function renderScenarioContent(scenario: ScenarioRef, options?: RichContentOptions): SectionBlock[];
456
+ /**
457
+ * Render acceptance criteria from a list of scenarios
458
+ *
459
+ * Includes a "Acceptance Criteria" heading followed by all scenarios
460
+ * with their steps, DataTables, and DocStrings.
461
+ *
462
+ * @param scenarios - The scenarios to render as acceptance criteria
463
+ * @param options - Rendering options (including baseHeadingLevel for proper hierarchy)
464
+ * @returns Array of SectionBlocks, empty if no scenarios
465
+ *
466
+ * @example
467
+ * ```typescript
468
+ * if (pattern.scenarios && pattern.scenarios.length > 0) {
469
+ * // Default H4 heading
470
+ * sections.push(...renderAcceptanceCriteria(pattern.scenarios));
471
+ *
472
+ * // H2 heading for top-level section in detail documents
473
+ * sections.push(...renderAcceptanceCriteria(pattern.scenarios, { baseHeadingLevel: 2 }));
474
+ * }
475
+ * ```
476
+ */
477
+ export declare function renderAcceptanceCriteria(scenarios: readonly ScenarioRef[] | undefined, options?: RichContentOptions): SectionBlock[];
478
+ /**
479
+ * Render a business rules section from a list of rules
480
+ *
481
+ * Includes a "Business Rules" heading followed by all rules
482
+ * with their descriptions and verification info.
483
+ *
484
+ * @param rules - The business rules to render
485
+ * @param options - Rendering options (including baseHeadingLevel for proper hierarchy)
486
+ * @returns Array of SectionBlocks, empty if no rules
487
+ *
488
+ * @example
489
+ * ```typescript
490
+ * if (pattern.rules && pattern.rules.length > 0) {
491
+ * // Default H4 heading
492
+ * sections.push(...renderBusinessRulesSection(pattern.rules));
493
+ *
494
+ * // H2 heading for top-level section in detail documents
495
+ * sections.push(...renderBusinessRulesSection(pattern.rules, { baseHeadingLevel: 2 }));
496
+ * }
497
+ * ```
498
+ */
499
+ export declare function renderBusinessRulesSection(rules: readonly BusinessRule[] | undefined, options?: RichContentOptions): SectionBlock[];
500
+ /**
501
+ * Render all rich content for a pattern (scenarios + rules)
502
+ *
503
+ * Convenience function that combines acceptance criteria and business rules.
504
+ *
505
+ * @param pattern - Object with optional scenarios and rules arrays
506
+ * @param options - Rendering options
507
+ * @returns Array of SectionBlocks
508
+ *
509
+ * @example
510
+ * ```typescript
511
+ * sections.push(...renderPatternRichContent(pattern));
512
+ * ```
513
+ */
514
+ export declare function renderPatternRichContent(pattern: {
515
+ scenarios?: readonly ScenarioRef[];
516
+ rules?: readonly BusinessRule[];
517
+ }, options?: RichContentOptions): SectionBlock[];
518
+ /**
519
+ * Options for rendering extracted shapes as markdown.
520
+ */
521
+ export interface RenderShapesOptions {
522
+ /** If true, combine all shapes into a single fenced code block (default: true) */
523
+ groupInSingleBlock?: boolean;
524
+ /** If true, include JSDoc comments with each shape (default: true) */
525
+ includeJsDoc?: boolean;
526
+ }
527
+ /**
528
+ * Render extracted TypeScript shapes as markdown code blocks.
529
+ *
530
+ * @param shapes - Shapes to render
531
+ * @param options - Rendering options
532
+ * @returns Markdown string with fenced code blocks
533
+ */
534
+ export declare function renderShapesAsMarkdown(shapes: readonly ExtractedShape[], options?: RenderShapesOptions): string;
535
+ /**
536
+ * Render property documentation as a markdown table.
537
+ *
538
+ * Generates a two-column table with property names and their JSDoc descriptions.
539
+ * Returns empty string if no property docs exist.
540
+ *
541
+ * @param propertyDocs - Property documentation array from ExtractedShape
542
+ * @returns Markdown table string, or empty string if no docs
543
+ *
544
+ * @example
545
+ * ```typescript
546
+ * const table = renderPropertyDocsTable(shape.propertyDocs);
547
+ * if (table) {
548
+ * sections.push(md(table));
549
+ * }
550
+ * ```
551
+ */
552
+ export declare function renderPropertyDocsTable(propertyDocs: readonly PropertyDoc[] | undefined): string;
553
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/renderable/codecs/helpers.ts"],"names":[],"mappings":"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"}