@seanmars/tospec 0.23.0 → 0.26.0-beta

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 (358) hide show
  1. package/CHANGELOG.md +281 -0
  2. package/README.md +27 -9
  3. package/assets/claude-mod/tospec-dashboard/.claude-plugin/plugin.json +7 -0
  4. package/assets/claude-mod/tospec-dashboard/hooks/hooks.json +1 -0
  5. package/assets/claude-mod/tospec-dashboard/hooks/register.ts +695 -0
  6. package/assets/claude-mod/tospec-dashboard/tests/register.test.ts +448 -0
  7. package/assets/claude-mod/tospec-dashboard/types/index.d.ts +8 -0
  8. package/assets/dashboard/app.js +218 -1180
  9. package/assets/dashboard/index.html +31 -22
  10. package/assets/dashboard/lib/charts.js +355 -0
  11. package/assets/dashboard/lib/derive.js +375 -0
  12. package/assets/dashboard/lib/dom.js +121 -0
  13. package/assets/dashboard/lib/routes.js +52 -0
  14. package/assets/dashboard/lib/store.js +326 -0
  15. package/assets/dashboard/style.css +3103 -664
  16. package/assets/dashboard/views/alerts.js +170 -0
  17. package/assets/dashboard/views/change.js +234 -0
  18. package/assets/dashboard/views/docs.js +214 -0
  19. package/assets/dashboard/views/home.js +357 -0
  20. package/assets/dashboard/views/project.js +168 -0
  21. package/assets/dashboard/views/session.js +270 -0
  22. package/assets/dashboard/views/sidebar.js +131 -0
  23. package/dist/cli/index.d.ts.map +1 -1
  24. package/dist/cli/index.js +116 -102
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/commands/config.d.ts.map +1 -1
  27. package/dist/commands/config.js +213 -100
  28. package/dist/commands/config.js.map +1 -1
  29. package/dist/commands/dashboard-relay.d.ts +11 -0
  30. package/dist/commands/dashboard-relay.d.ts.map +1 -0
  31. package/dist/commands/dashboard-relay.js +88 -0
  32. package/dist/commands/dashboard-relay.js.map +1 -0
  33. package/dist/commands/dashboard.d.ts +69 -100
  34. package/dist/commands/dashboard.d.ts.map +1 -1
  35. package/dist/commands/dashboard.js +420 -598
  36. package/dist/commands/dashboard.js.map +1 -1
  37. package/dist/commands/decision.d.ts +38 -1
  38. package/dist/commands/decision.d.ts.map +1 -1
  39. package/dist/commands/decision.js +303 -27
  40. package/dist/commands/decision.js.map +1 -1
  41. package/dist/commands/metrics.d.ts +3 -4
  42. package/dist/commands/metrics.d.ts.map +1 -1
  43. package/dist/commands/metrics.js +3 -5
  44. package/dist/commands/metrics.js.map +1 -1
  45. package/dist/commands/shared-output.d.ts +24 -0
  46. package/dist/commands/shared-output.d.ts.map +1 -1
  47. package/dist/commands/shared-output.js +21 -2
  48. package/dist/commands/shared-output.js.map +1 -1
  49. package/dist/commands/show.d.ts.map +1 -1
  50. package/dist/commands/show.js +12 -9
  51. package/dist/commands/show.js.map +1 -1
  52. package/dist/commands/validate.d.ts +19 -0
  53. package/dist/commands/validate.d.ts.map +1 -1
  54. package/dist/commands/validate.js +243 -64
  55. package/dist/commands/validate.js.map +1 -1
  56. package/dist/commands/workflow/instructions.d.ts +7 -1
  57. package/dist/commands/workflow/instructions.d.ts.map +1 -1
  58. package/dist/commands/workflow/instructions.js +299 -81
  59. package/dist/commands/workflow/instructions.js.map +1 -1
  60. package/dist/commands/workflow/new-change.d.ts.map +1 -1
  61. package/dist/commands/workflow/new-change.js +26 -17
  62. package/dist/commands/workflow/new-change.js.map +1 -1
  63. package/dist/commands/workflow/prompt-escape.d.ts +25 -0
  64. package/dist/commands/workflow/prompt-escape.d.ts.map +1 -0
  65. package/dist/commands/workflow/prompt-escape.js +62 -0
  66. package/dist/commands/workflow/prompt-escape.js.map +1 -0
  67. package/dist/commands/workflow/schemas.d.ts.map +1 -1
  68. package/dist/commands/workflow/schemas.js +34 -16
  69. package/dist/commands/workflow/schemas.js.map +1 -1
  70. package/dist/commands/workflow/shared.d.ts +46 -10
  71. package/dist/commands/workflow/shared.d.ts.map +1 -1
  72. package/dist/commands/workflow/shared.js +66 -30
  73. package/dist/commands/workflow/shared.js.map +1 -1
  74. package/dist/commands/workflow/status.d.ts +5 -2
  75. package/dist/commands/workflow/status.d.ts.map +1 -1
  76. package/dist/commands/workflow/status.js +62 -28
  77. package/dist/commands/workflow/status.js.map +1 -1
  78. package/dist/core/archive.d.ts +38 -0
  79. package/dist/core/archive.d.ts.map +1 -1
  80. package/dist/core/archive.js +492 -75
  81. package/dist/core/archive.js.map +1 -1
  82. package/dist/core/artifact-graph/index.d.ts +2 -2
  83. package/dist/core/artifact-graph/index.d.ts.map +1 -1
  84. package/dist/core/artifact-graph/index.js +2 -2
  85. package/dist/core/artifact-graph/index.js.map +1 -1
  86. package/dist/core/artifact-graph/instruction-loader.d.ts +8 -0
  87. package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
  88. package/dist/core/artifact-graph/instruction-loader.js +58 -36
  89. package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
  90. package/dist/core/artifact-graph/resolver.d.ts +39 -12
  91. package/dist/core/artifact-graph/resolver.d.ts.map +1 -1
  92. package/dist/core/artifact-graph/resolver.js +82 -36
  93. package/dist/core/artifact-graph/resolver.js.map +1 -1
  94. package/dist/core/artifact-graph/schema.d.ts +24 -0
  95. package/dist/core/artifact-graph/schema.d.ts.map +1 -1
  96. package/dist/core/artifact-graph/schema.js +32 -1
  97. package/dist/core/artifact-graph/schema.js.map +1 -1
  98. package/dist/core/artifact-graph/stub-detection.d.ts +10 -2
  99. package/dist/core/artifact-graph/stub-detection.d.ts.map +1 -1
  100. package/dist/core/artifact-graph/stub-detection.js +18 -11
  101. package/dist/core/artifact-graph/stub-detection.js.map +1 -1
  102. package/dist/core/artifact-graph/types.d.ts +2 -2
  103. package/dist/core/artifact-graph/types.d.ts.map +1 -1
  104. package/dist/core/artifact-graph/types.js +10 -1
  105. package/dist/core/artifact-graph/types.js.map +1 -1
  106. package/dist/core/change-metadata/schema.d.ts.map +1 -1
  107. package/dist/core/change-metadata/schema.js +18 -4
  108. package/dist/core/change-metadata/schema.js.map +1 -1
  109. package/dist/core/change-presenter.d.ts.map +1 -1
  110. package/dist/core/change-presenter.js +13 -8
  111. package/dist/core/change-presenter.js.map +1 -1
  112. package/dist/core/change-status-policy.d.ts.map +1 -1
  113. package/dist/core/change-status-policy.js +3 -1
  114. package/dist/core/change-status-policy.js.map +1 -1
  115. package/dist/core/codex-metrics.d.ts +1 -1
  116. package/dist/core/codex-metrics.js +1 -1
  117. package/dist/core/config-schema.d.ts +8 -0
  118. package/dist/core/config-schema.d.ts.map +1 -1
  119. package/dist/core/config-schema.js +10 -0
  120. package/dist/core/config-schema.js.map +1 -1
  121. package/dist/core/dashboard-activity.d.ts +4 -4
  122. package/dist/core/dashboard-activity.js +4 -4
  123. package/dist/core/dashboard-data.d.ts +11 -5
  124. package/dist/core/dashboard-data.d.ts.map +1 -1
  125. package/dist/core/dashboard-data.js +54 -28
  126. package/dist/core/dashboard-data.js.map +1 -1
  127. package/dist/core/dashboard-hub.d.ts +258 -0
  128. package/dist/core/dashboard-hub.d.ts.map +1 -0
  129. package/dist/core/dashboard-hub.js +655 -0
  130. package/dist/core/dashboard-hub.js.map +1 -0
  131. package/dist/core/dashboard-routes.d.ts +57 -0
  132. package/dist/core/dashboard-routes.d.ts.map +1 -0
  133. package/dist/core/dashboard-routes.js +398 -0
  134. package/dist/core/dashboard-routes.js.map +1 -0
  135. package/dist/core/global-config.d.ts +71 -2
  136. package/dist/core/global-config.d.ts.map +1 -1
  137. package/dist/core/global-config.js +149 -4
  138. package/dist/core/global-config.js.map +1 -1
  139. package/dist/core/id.d.ts +9 -0
  140. package/dist/core/id.d.ts.map +1 -1
  141. package/dist/core/id.js +37 -0
  142. package/dist/core/id.js.map +1 -1
  143. package/dist/core/init.d.ts +9 -2
  144. package/dist/core/init.d.ts.map +1 -1
  145. package/dist/core/init.js +119 -33
  146. package/dist/core/init.js.map +1 -1
  147. package/dist/core/list.d.ts.map +1 -1
  148. package/dist/core/list.js +69 -45
  149. package/dist/core/list.js.map +1 -1
  150. package/dist/core/local-server.d.ts +10 -3
  151. package/dist/core/local-server.d.ts.map +1 -1
  152. package/dist/core/local-server.js +25 -5
  153. package/dist/core/local-server.js.map +1 -1
  154. package/dist/core/markdown-render.d.ts.map +1 -1
  155. package/dist/core/markdown-render.js +7 -2
  156. package/dist/core/markdown-render.js.map +1 -1
  157. package/dist/core/migrate.d.ts +24 -2
  158. package/dist/core/migrate.d.ts.map +1 -1
  159. package/dist/core/migrate.js +335 -59
  160. package/dist/core/migrate.js.map +1 -1
  161. package/dist/core/parsers/change-parser.d.ts +20 -1
  162. package/dist/core/parsers/change-parser.d.ts.map +1 -1
  163. package/dist/core/parsers/change-parser.js +76 -73
  164. package/dist/core/parsers/change-parser.js.map +1 -1
  165. package/dist/core/parsers/markdown-parser.d.ts +24 -0
  166. package/dist/core/parsers/markdown-parser.d.ts.map +1 -1
  167. package/dist/core/parsers/markdown-parser.js +65 -10
  168. package/dist/core/parsers/markdown-parser.js.map +1 -1
  169. package/dist/core/parsers/requirement-blocks.d.ts +127 -6
  170. package/dist/core/parsers/requirement-blocks.d.ts.map +1 -1
  171. package/dist/core/parsers/requirement-blocks.js +349 -56
  172. package/dist/core/parsers/requirement-blocks.js.map +1 -1
  173. package/dist/core/parsers/requirement-text.d.ts +25 -1
  174. package/dist/core/parsers/requirement-text.d.ts.map +1 -1
  175. package/dist/core/parsers/requirement-text.js +62 -6
  176. package/dist/core/parsers/requirement-text.js.map +1 -1
  177. package/dist/core/parsers/spec-structure.d.ts.map +1 -1
  178. package/dist/core/parsers/spec-structure.js +36 -24
  179. package/dist/core/parsers/spec-structure.js.map +1 -1
  180. package/dist/core/project-config.d.ts +9 -2
  181. package/dist/core/project-config.d.ts.map +1 -1
  182. package/dist/core/project-config.js +30 -7
  183. package/dist/core/project-config.js.map +1 -1
  184. package/dist/core/project-layout.d.ts +26 -0
  185. package/dist/core/project-layout.d.ts.map +1 -1
  186. package/dist/core/project-layout.js +51 -1
  187. package/dist/core/project-layout.js.map +1 -1
  188. package/dist/core/schema-names.d.ts +17 -0
  189. package/dist/core/schema-names.d.ts.map +1 -1
  190. package/dist/core/schema-names.js +24 -0
  191. package/dist/core/schema-names.js.map +1 -1
  192. package/dist/core/shared/dashboard-mod.d.ts +24 -0
  193. package/dist/core/shared/dashboard-mod.d.ts.map +1 -0
  194. package/dist/core/shared/dashboard-mod.js +44 -0
  195. package/dist/core/shared/dashboard-mod.js.map +1 -0
  196. package/dist/core/shared/index.d.ts +2 -1
  197. package/dist/core/shared/index.d.ts.map +1 -1
  198. package/dist/core/shared/index.js +2 -1
  199. package/dist/core/shared/index.js.map +1 -1
  200. package/dist/core/shared/rules-generation.d.ts +12 -0
  201. package/dist/core/shared/rules-generation.d.ts.map +1 -1
  202. package/dist/core/shared/rules-generation.js +26 -2
  203. package/dist/core/shared/rules-generation.js.map +1 -1
  204. package/dist/core/shared/skill-generation.d.ts +7 -0
  205. package/dist/core/shared/skill-generation.d.ts.map +1 -1
  206. package/dist/core/shared/skill-generation.js +19 -0
  207. package/dist/core/shared/skill-generation.js.map +1 -1
  208. package/dist/core/shared/tool-detection.d.ts +10 -1
  209. package/dist/core/shared/tool-detection.d.ts.map +1 -1
  210. package/dist/core/shared/tool-detection.js +37 -6
  211. package/dist/core/shared/tool-detection.js.map +1 -1
  212. package/dist/core/spec-presenter.d.ts.map +1 -1
  213. package/dist/core/spec-presenter.js +23 -1
  214. package/dist/core/spec-presenter.js.map +1 -1
  215. package/dist/core/specs-apply.d.ts +98 -1
  216. package/dist/core/specs-apply.d.ts.map +1 -1
  217. package/dist/core/specs-apply.js +426 -63
  218. package/dist/core/specs-apply.js.map +1 -1
  219. package/dist/core/templates/fragments/change-diff.d.ts +37 -0
  220. package/dist/core/templates/fragments/change-diff.d.ts.map +1 -0
  221. package/dist/core/templates/fragments/change-diff.js +37 -0
  222. package/dist/core/templates/fragments/change-diff.js.map +1 -0
  223. package/dist/core/templates/fragments/sync-fail.d.ts +8 -0
  224. package/dist/core/templates/fragments/sync-fail.d.ts.map +1 -0
  225. package/dist/core/templates/fragments/sync-fail.js +8 -0
  226. package/dist/core/templates/fragments/sync-fail.js.map +1 -0
  227. package/dist/core/templates/fragments/validate.d.ts +14 -1
  228. package/dist/core/templates/fragments/validate.d.ts.map +1 -1
  229. package/dist/core/templates/fragments/validate.js +14 -1
  230. package/dist/core/templates/fragments/validate.js.map +1 -1
  231. package/dist/core/templates/fragments/verify.d.ts +2 -2
  232. package/dist/core/templates/fragments/verify.d.ts.map +1 -1
  233. package/dist/core/templates/fragments/verify.js +8 -5
  234. package/dist/core/templates/fragments/verify.js.map +1 -1
  235. package/dist/core/templates/workflows/apply.d.ts +1 -1
  236. package/dist/core/templates/workflows/apply.d.ts.map +1 -1
  237. package/dist/core/templates/workflows/apply.js +29 -10
  238. package/dist/core/templates/workflows/apply.js.map +1 -1
  239. package/dist/core/templates/workflows/archive.d.ts.map +1 -1
  240. package/dist/core/templates/workflows/archive.js +27 -9
  241. package/dist/core/templates/workflows/archive.js.map +1 -1
  242. package/dist/core/templates/workflows/decision.d.ts.map +1 -1
  243. package/dist/core/templates/workflows/decision.js +10 -4
  244. package/dist/core/templates/workflows/decision.js.map +1 -1
  245. package/dist/core/templates/workflows/explore.d.ts +2 -2
  246. package/dist/core/templates/workflows/explore.d.ts.map +1 -1
  247. package/dist/core/templates/workflows/explore.js +7 -3
  248. package/dist/core/templates/workflows/explore.js.map +1 -1
  249. package/dist/core/templates/workflows/grill.d.ts +2 -2
  250. package/dist/core/templates/workflows/grill.d.ts.map +1 -1
  251. package/dist/core/templates/workflows/grill.js +5 -4
  252. package/dist/core/templates/workflows/grill.js.map +1 -1
  253. package/dist/core/templates/workflows/issue.d.ts.map +1 -1
  254. package/dist/core/templates/workflows/issue.js +9 -3
  255. package/dist/core/templates/workflows/issue.js.map +1 -1
  256. package/dist/core/templates/workflows/propose.d.ts.map +1 -1
  257. package/dist/core/templates/workflows/propose.js +4 -1
  258. package/dist/core/templates/workflows/propose.js.map +1 -1
  259. package/dist/core/templates/workflows/sync.d.ts.map +1 -1
  260. package/dist/core/templates/workflows/sync.js +25 -11
  261. package/dist/core/templates/workflows/sync.js.map +1 -1
  262. package/dist/core/templates/workflows/update.d.ts.map +1 -1
  263. package/dist/core/templates/workflows/update.js +17 -10
  264. package/dist/core/templates/workflows/update.js.map +1 -1
  265. package/dist/core/update.d.ts +5 -0
  266. package/dist/core/update.d.ts.map +1 -1
  267. package/dist/core/update.js +69 -29
  268. package/dist/core/update.js.map +1 -1
  269. package/dist/core/validation/constants.d.ts +7 -1
  270. package/dist/core/validation/constants.d.ts.map +1 -1
  271. package/dist/core/validation/constants.js +16 -2
  272. package/dist/core/validation/constants.js.map +1 -1
  273. package/dist/core/validation/purpose-placeholder.d.ts.map +1 -1
  274. package/dist/core/validation/purpose-placeholder.js +35 -11
  275. package/dist/core/validation/purpose-placeholder.js.map +1 -1
  276. package/dist/core/validation/section-validator.d.ts +7 -0
  277. package/dist/core/validation/section-validator.d.ts.map +1 -1
  278. package/dist/core/validation/section-validator.js +22 -2
  279. package/dist/core/validation/section-validator.js.map +1 -1
  280. package/dist/core/validation/sister-changes.d.ts +93 -0
  281. package/dist/core/validation/sister-changes.d.ts.map +1 -0
  282. package/dist/core/validation/sister-changes.js +180 -0
  283. package/dist/core/validation/sister-changes.js.map +1 -0
  284. package/dist/core/validation/task-markers.d.ts +9 -0
  285. package/dist/core/validation/task-markers.d.ts.map +1 -0
  286. package/dist/core/validation/task-markers.js +71 -0
  287. package/dist/core/validation/task-markers.js.map +1 -0
  288. package/dist/core/validation/types.d.ts +58 -0
  289. package/dist/core/validation/types.d.ts.map +1 -1
  290. package/dist/core/validation/types.js +22 -0
  291. package/dist/core/validation/types.js.map +1 -1
  292. package/dist/core/validation/validator.d.ts +79 -2
  293. package/dist/core/validation/validator.d.ts.map +1 -1
  294. package/dist/core/validation/validator.js +565 -84
  295. package/dist/core/validation/validator.js.map +1 -1
  296. package/dist/utils/change-metadata.d.ts +62 -5
  297. package/dist/utils/change-metadata.d.ts.map +1 -1
  298. package/dist/utils/change-metadata.js +193 -31
  299. package/dist/utils/change-metadata.js.map +1 -1
  300. package/dist/utils/change-utils.d.ts +21 -0
  301. package/dist/utils/change-utils.d.ts.map +1 -1
  302. package/dist/utils/change-utils.js +168 -53
  303. package/dist/utils/change-utils.js.map +1 -1
  304. package/dist/utils/command-line.d.ts +11 -0
  305. package/dist/utils/command-line.d.ts.map +1 -0
  306. package/dist/utils/command-line.js +43 -0
  307. package/dist/utils/command-line.js.map +1 -0
  308. package/dist/utils/display-width.d.ts +10 -0
  309. package/dist/utils/display-width.d.ts.map +1 -0
  310. package/dist/utils/display-width.js +15 -0
  311. package/dist/utils/display-width.js.map +1 -0
  312. package/dist/utils/file-system.d.ts +16 -0
  313. package/dist/utils/file-system.d.ts.map +1 -1
  314. package/dist/utils/file-system.js +49 -2
  315. package/dist/utils/file-system.js.map +1 -1
  316. package/dist/utils/frontmatter.d.ts.map +1 -1
  317. package/dist/utils/frontmatter.js +11 -5
  318. package/dist/utils/frontmatter.js.map +1 -1
  319. package/dist/utils/interactive.d.ts.map +1 -1
  320. package/dist/utils/interactive.js +3 -1
  321. package/dist/utils/interactive.js.map +1 -1
  322. package/dist/utils/item-discovery.d.ts +3 -2
  323. package/dist/utils/item-discovery.d.ts.map +1 -1
  324. package/dist/utils/item-discovery.js +34 -16
  325. package/dist/utils/item-discovery.js.map +1 -1
  326. package/dist/utils/link.d.ts +0 -1
  327. package/dist/utils/link.d.ts.map +1 -1
  328. package/dist/utils/link.js +0 -1
  329. package/dist/utils/link.js.map +1 -1
  330. package/dist/utils/match.d.ts.map +1 -1
  331. package/dist/utils/match.js +10 -1
  332. package/dist/utils/match.js.map +1 -1
  333. package/dist/utils/option-flags.d.ts +9 -0
  334. package/dist/utils/option-flags.d.ts.map +1 -0
  335. package/dist/utils/option-flags.js +12 -0
  336. package/dist/utils/option-flags.js.map +1 -0
  337. package/dist/utils/sentence.d.ts +9 -0
  338. package/dist/utils/sentence.d.ts.map +1 -0
  339. package/dist/utils/sentence.js +12 -0
  340. package/dist/utils/sentence.js.map +1 -0
  341. package/dist/utils/spec-files.d.ts +84 -1
  342. package/dist/utils/spec-files.d.ts.map +1 -1
  343. package/dist/utils/spec-files.js +192 -3
  344. package/dist/utils/spec-files.js.map +1 -1
  345. package/dist/utils/task-progress.d.ts.map +1 -1
  346. package/dist/utils/task-progress.js +32 -9
  347. package/dist/utils/task-progress.js.map +1 -1
  348. package/dist/utils/timestamp.d.ts +27 -0
  349. package/dist/utils/timestamp.d.ts.map +1 -1
  350. package/dist/utils/timestamp.js +37 -0
  351. package/dist/utils/timestamp.js.map +1 -1
  352. package/package.json +6 -2
  353. package/schemas/decision/templates/decision.md +2 -2
  354. package/schemas/issue/schema.yaml +12 -6
  355. package/schemas/issue/templates/task.md +1 -1
  356. package/schemas/sdd/schema.yaml +21 -10
  357. package/schemas/sdd/templates/proposal.md +1 -1
  358. package/assets/dashboard/chart.umd.js +0 -14
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/core/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,WAAW,EAA0B,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,MAAM,eAAe,GAAG,cAAc,CAAC;AACvC,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,YAAY,GAAG,8DAA8D,CAAC;AAEpF,MAAM,YAAY,GAAG,uDAAuD,CAAC;AAC7E,MAAM,cAAc,GAAG,iBAAiB,CAAC;AACzC,8DAA8D;AAC9D,MAAM,UAAU,GAAG,WAAW,CAAC;AAC/B,MAAM,mBAAmB,GAAG,gCAAgC,CAAC;AAO7D,kFAAkF;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAkB9F,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC;;;OAGG;IACM,UAAU,CAAoB;IAEvC,YAAY,OAAe,EAAE,OAAyC;QACpE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG;YAChB,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,eAAe;YACtC,OAAO;YACP,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C,CAAC;IACJ,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;IACzC,OAAO,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,cAAsB;IAWtB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,SAAS,CAAC,CAAC,CAAC;YAAE,SAAS;QAC3B,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,QAAQ,GAAG,IAAI,CAAC;QACjD,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,UAAU,GAAG,IAAI,CAAC;IACvD,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,UAAU,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yEAAyE;IACzE,4DAA4D;IAC5D,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEtC,yEAAyE;IACzE,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,0EAA0E;IAC1E,yDAAyD;IACzD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,KAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,8EAA8E;IAC9E,gEAAgE;IAChE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,yEAAyE;QACzE,uBAAuB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,YAAY,CAAC;IACrE,MAAM,OAAO,GAAG;QACd,KAAK,cAAc,gBAAgB;QACnC,EAAE;QACF,YAAY;QACZ,WAAW;QACX,EAAE;QACF,iBAAiB;QACjB,EAAE;QACF,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACjC,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY;QACxC,OAAO;QACP,OAAO;QACP,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,KAAe,EAAE,SAAoB;IAC3D,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClC,SAAS,GAAG,IAAI,CAAC;gBACjB,SAAS;YACX,CAAC;YACD,IAAI,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,MAAM;QACpD,CAAC;QACD,IAAI,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,KAAa,EAAE,EAAU;IAClD,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,CAAC,oBAAoB,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CACtB,GAAkB,EAClB,QAA2C;IAE3C,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,SAAS,CAAC,GAAG,CAA6B,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC;IAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC;IAC3D,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACpE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,sFAAsF;AACtF,SAAS,aAAa,CAAC,MAAc,EAAE,OAAe;IACpD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;IAC9D,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IACnE,mEAAmE;IACnE,IAAI,QAAwB,CAAC;IAC7B,IAAI,gBAAgB,KAAK,CAAC;QAAE,QAAQ,GAAG,GAAG,CAAC;SACtC,IAAI,gBAAgB,KAAK,CAAC;QAAE,QAAQ,GAAG,EAAE,CAAC;;QAC1C,QAAQ,GAAG,GAAG,CAAC;IACpB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,gBAAgB,GAAG,CAAC;QAAE,KAAK,CAAC,GAAG,EAAE,CAAC;IACtC,2EAA2E;IAC3E,+EAA+E;IAC/E,gDAAgD;IAChD,OAAO,GAAG,MAAM,cAAc,QAAQ,KAAK,KAAK;SAC7C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;SAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,OAAO,cAAc;IACzB,KAAK,CAAC,OAAO,CAAC,SAAkB,EAAE,OAAwB;QACxD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,IAAI,UAAU,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEhD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,YAAY,CAAC,iCAAiC,MAAM,EAAE,EAAE;gBAChE,GAAG,EAAE,8DAA8D;aACpE,CAAC,CAAC;QACL,CAAC;QACD,0EAA0E;QAC1E,uDAAuD;QACvD,4EAA4E;QAC5E,6EAA6E;QAC7E,4CAA4C;QAC5C,MAAM,aAAa,GAAG;YACpB,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/C,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YAC5D,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,GAAG,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YAC1D,GAAG,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;SACtE,CAAC;QACF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,YAAY,CAAC,qDAAqD,MAAM,EAAE,EAAE;gBACpF,GAAG,EAAE,wDAAwD;aAC9D,CAAC,CAAC;QACL,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QAC9E,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAE5D,2EAA2E;QAC3E,IAAI,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACrC,MAAM,IAAI,YAAY,CAAC,oEAAoE,EAAE;gBAC3F,GAAG,EAAE,8CAA8C;aACpD,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,cAAc,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,cAAc,aAAa,CAAC,MAAM,YAAY,eAAe,CAAC,MAAM,WAAW,CAAC,CAAC;YAC7F,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACtF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAmB;YAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;YAClF,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE;YACvD,OAAO,EAAE,QAAQ;YACjB,mBAAmB,EAAE,EAAE;YACvB,mBAAmB,EAAE,EAAE;YACvB,WAAW,EAAE,EAAE;SAChB,CAAC;QAEF,6EAA6E;QAC7E,6EAA6E;QAC7E,kDAAkD;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,2BAA2B,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjF,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9E,OAAO,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAE5D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;gBAC5D,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;oBAC7B,SAAS;gBACX,CAAC;gBACD,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpG,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACrD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACnD,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;oBACpF,IAAI,UAAU,CAAC,KAAK,KAAK,OAAO;wBAAE,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;;wBAC7D,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;oBAC1C,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBAClF,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAC9B,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC,CAC/E,CAAC;oBACF,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChF,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACzB,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;gBAChD,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1E,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;gBACxE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3B,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClF,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrF,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtF,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC;oBAAE,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;gBACrF,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC;YAED,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,qEAAqE;YACrE,uEAAuE;YACvE,0EAA0E;YAC1E,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC9E,WAAW,CACT;gBACE,OAAO,EAAE;oBACP,MAAM;oBACN,MAAM;oBACN,GAAG,OAAO;oBACV,mBAAmB,EAAE,mBAAmB;oBACxC,SAAS,EAAE;wBACT,6DAA6D;wBAC7D,wDAAwD;qBACzD;iBACF;aACF,EACD,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,CAC1C,CAAC;YACF,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,gDAAgD,CAAC,CAAC;QAChG,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,6DAA6D,IAAI,eAAe,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,wDAAwD,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,SAAS;gBACZ,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,UAAU;gBACb,OAAO,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC;gBACvG,MAAM;YACR,KAAK,OAAO;gBACV,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;gBACpE,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBACrD,MAAM;QACV,CAAC;QACD,OAAO,CAAC,GAAG,CACT,YAAY,OAAO,CAAC,KAAK,CAAC,MAAM,SAAS;YACvC,KAAK,OAAO,CAAC,KAAK,CAAC,eAAe,iBAAiB,OAAO,CAAC,KAAK,CAAC,oBAAoB,wBAAwB;YAC7G,KAAK,OAAO,CAAC,KAAK,CAAC,YAAY,iBAAiB,CACnD,CAAC;QACF,OAAO,CAAC,GAAG,CACT,cAAc,OAAO,CAAC,OAAO,CAAC,MAAM,YAAY,OAAO,CAAC,OAAO,CAAC,QAAQ,WAAW;YACjF,KAAK,OAAO,CAAC,OAAO,CAAC,eAAe,0BAA0B,CACjE,CAAC;QACF,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1E,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CACT,wCAAwC,eAAe,yDAAyD,CACjH,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;IAC/F,CAAC;IAED,mGAAmG;IAC3F,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,MAAc;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxG,MAAM,iBAAiB,GAAG,cAAc,KAAK,IAAI,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QAE/E,IAAI,OAAe,CAAC;QACpB,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACrD,qEAAqE;YACrE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,aAAa,EAAE,CAAC,CAAC;YAC1E,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,aAAa,KAAK,SAAS,EAAE,CAAC;YAC7F,kBAAkB,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,EAAE,CAAC,SAAS,CAChB,YAAY,EACZ,iBAAiB,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,cAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAC7F,CAAC;QAEF,4DAA4D;QAC5D,IAAI,CAAC,iBAAiB;YAAE,OAAO,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1E,OAAO,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,OAAgB;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvF,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE;YACrC,IAAI,EAAE,MAAM,WAAW,CAAC,SAAS,CAAC;SACnC,CAAC;QACF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1F,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,MAAc;QAC1D,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC5B,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;CACF;AAED,6EAA6E;AAC7E,KAAK,UAAU,WAAW,CAAC,SAAiB;IAC1C,MAAM,QAAQ,GAAG,wBAAwB,CAAC;IAC1C,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,KAAK,GAAG,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM;QAC1C,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,MAAM,CAAC,CAAS;IAC7B,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,kBAAkB,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC1C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/E,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5G,CAAC;AAED,+EAA+E;AAC/E,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,OAAgB;IACnD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/E,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;SAChE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SAC1B,IAAI,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/core/migrate.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,27 @@ export declare class ChangeParser extends MarkdownParser {
10
10
  * source.
11
11
  */
12
12
  parseDeltaSpecs(specsDir: string): Promise<Delta[]>;
13
+ /**
14
+ * The files archive merges, picked by the merge's own selection: a walk of
15
+ * its own let the file system decide the case and took dot folders, so on
16
+ * Windows `show` listed `specs/billing/SPEC.md` as an ADDED delta that
17
+ * validate and archive both ignore.
18
+ */
19
+ private readDeltaSpecFiles;
20
+ /**
21
+ * Every operation comes from `parseDeltaSpec`, the parser archive applies.
22
+ * ADDED and MODIFIED used to go through the Markdown section walker, which
23
+ * needs a space after `###`: for `###Requirement: X` it found nothing, `show`
24
+ * fell back to the proposal prose and reported a MODIFIED, while archive ADDed
25
+ * the requirement.
26
+ */
13
27
  private parseSpecDeltas;
28
+ /**
29
+ * A parsed block in the `Requirement` shape `show` reports. The header is
30
+ * dropped before the Markdown walker sees the body, so it never has to read
31
+ * a `###Requirement:` it would not recognise.
32
+ */
33
+ private requirementFromBlock;
14
34
  /**
15
35
  * Ignores headers that are not `### Requirement: <name>`. A delta section
16
36
  * often carries divider headers such as `### Documentation Requirements`, and
@@ -18,6 +38,5 @@ export declare class ChangeParser extends MarkdownParser {
18
38
  * rather than in MarkdownParser so main spec parsing is untouched.
19
39
  */
20
40
  protected parseRequirements(section: Section): Requirement[];
21
- private parseSectionsFromContent;
22
41
  }
23
42
  //# sourceMappingURL=change-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"change-parser.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/change-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAkB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIjF,qBAAa,YAAa,SAAQ,cAAc;IAC9C,OAAO,CAAC,SAAS,CAAS;IAE1B,YAAY,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAG7C;IAEK,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BzD;IAED;;;;OAIG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAwBxD;IAED,OAAO,CAAC,eAAe;IAsEvB;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAO3D;IAID,OAAO,CAAC,wBAAwB;CAGjC"}
1
+ {"version":3,"file":"change-parser.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/change-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAQ/D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAkB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKjF,qBAAa,YAAa,SAAQ,cAAc;IAC9C,OAAO,CAAC,SAAS,CAAS;IAE1B,YAAY,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAG7C;IAEK,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgCzD;IAED;;;;OAIG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAGxD;IAED;;;;;OAKG;YACW,kBAAkB;IAQhC;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkDvB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAO3D;CACF"}
@@ -1,7 +1,9 @@
1
1
  import { MarkdownParser } from './markdown-parser.js';
2
- import { foldRequirementName, parseDeltaSpec } from './requirement-blocks.js';
2
+ import { foldRequirementName, hasDeltaSection, parseDeltaSpec, } from './requirement-blocks.js';
3
+ import { extractRequirementText } from './requirement-text.js';
3
4
  import path from 'path';
4
5
  import { promises as fs } from 'fs';
6
+ import { findDeltaSpecSources } from '../specs-apply.js';
5
7
  export class ChangeParser extends MarkdownParser {
6
8
  changeDir;
7
9
  constructor(content, changeDir) {
@@ -18,10 +20,14 @@ export class ChangeParser extends MarkdownParser {
18
20
  if (!whatChanges) {
19
21
  throw new Error('Change must have a What Changes section');
20
22
  }
21
- const simpleDeltas = this.parseDeltas(whatChanges);
22
- const deltaDeltas = await this.parseDeltaSpecs(path.join(this.changeDir, 'specs'));
23
- // Delta spec files win over the What Changes prose whenever any exist.
24
- const deltas = deltaDeltas.length > 0 ? deltaDeltas : simpleDeltas;
23
+ const specFiles = await this.readDeltaSpecFiles(path.join(this.changeDir, 'specs'));
24
+ // The What Changes prose is a fallback only for a change whose spec files
25
+ // hold no delta section at all. Falling back whenever the files yielded no
26
+ // entry let `show` invent a MODIFIED from the proposal's wording for a file
27
+ // archive was about to apply.
28
+ const deltas = specFiles.some(({ content }) => hasDeltaSection(content))
29
+ ? specFiles.flatMap(({ specName, content }) => this.parseSpecDeltas(specName, content))
30
+ : this.parseDeltas(whatChanges);
25
31
  return {
26
32
  name,
27
33
  why: why.trim(),
@@ -39,43 +45,38 @@ export class ChangeParser extends MarkdownParser {
39
45
  * source.
40
46
  */
41
47
  async parseDeltaSpecs(specsDir) {
42
- const deltas = [];
43
- try {
44
- const specDirs = await fs.readdir(specsDir, { withFileTypes: true });
45
- for (const dir of specDirs) {
46
- if (!dir.isDirectory())
47
- continue;
48
- const specName = dir.name;
49
- const specFile = path.join(specsDir, specName, 'spec.md');
50
- try {
51
- const content = await fs.readFile(specFile, 'utf-8');
52
- deltas.push(...this.parseSpecDeltas(specName, content));
53
- }
54
- catch {
55
- continue; // a capability folder without a spec.md is fine
56
- }
57
- }
58
- }
59
- catch {
60
- return []; // no specs/ directory
48
+ const files = await this.readDeltaSpecFiles(specsDir);
49
+ return files.flatMap(({ specName, content }) => this.parseSpecDeltas(specName, content));
50
+ }
51
+ /**
52
+ * The files archive merges, picked by the merge's own selection: a walk of
53
+ * its own let the file system decide the case and took dot folders, so on
54
+ * Windows `show` listed `specs/billing/SPEC.md` as an ADDED delta that
55
+ * validate and archive both ignore.
56
+ */
57
+ async readDeltaSpecFiles(specsDir) {
58
+ const files = [];
59
+ for (const { capability, source } of await findDeltaSpecSources(specsDir)) {
60
+ files.push({ specName: capability, content: await fs.readFile(source, 'utf-8') });
61
61
  }
62
- return deltas;
62
+ return files;
63
63
  }
64
+ /**
65
+ * Every operation comes from `parseDeltaSpec`, the parser archive applies.
66
+ * ADDED and MODIFIED used to go through the Markdown section walker, which
67
+ * needs a space after `###`: for `###Requirement: X` it found nothing, `show`
68
+ * fell back to the proposal prose and reported a MODIFIED, while archive ADDed
69
+ * the requirement.
70
+ */
64
71
  parseSpecDeltas(specName, content) {
65
72
  const deltas = [];
66
- const sections = this.parseSectionsFromContent(content);
67
- // The delta-grammar parser validation uses. REMOVED and RENAMED entries are
68
- // read from it because both are written as bullets, which the Markdown
69
- // section walker below does not model.
70
73
  const plan = parseDeltaSpec(content);
71
- for (const [operation, verb] of [
72
- ['ADDED', 'Add'],
73
- ['MODIFIED', 'Modify'],
74
+ for (const [operation, verb, blocks] of [
75
+ ['ADDED', 'Add', plan.added],
76
+ ['MODIFIED', 'Modify', plan.modified],
74
77
  ]) {
75
- const section = this.findSection(sections, `${operation} Requirements`);
76
- if (!section)
77
- continue;
78
- for (const req of this.parseRequirements(section)) {
78
+ for (const block of blocks) {
79
+ const req = this.requirementFromBlock(block);
79
80
  deltas.push({
80
81
  spec: specName,
81
82
  operation: operation,
@@ -86,44 +87,51 @@ export class ChangeParser extends MarkdownParser {
86
87
  });
87
88
  }
88
89
  }
89
- // The canonical REMOVED form is a bullet list of names with
90
- // Reason/Migration fields, carrying no `### Requirement:` header for the
91
- // section walker to find, so `parseRequirements` reports no REMOVED delta
92
- // at all. `plan.removedEntries` accepts both forms.
93
- const removedSection = this.findSection(sections, 'REMOVED Requirements');
94
- if (removedSection) {
95
- // The header form also carries body text and scenarios; keep them rather
96
- // than degrade to a bare name.
97
- const blocks = new Map(this.parseRequirements(removedSection).map((req) => [foldRequirementName(req.name ?? req.text), req]));
98
- plan.removedEntries.forEach((entry) => {
99
- const req = blocks.get(foldRequirementName(entry.name)) ?? {
100
- name: entry.name,
101
- text: entry.name,
102
- scenarios: [],
103
- };
104
- deltas.push({
105
- spec: specName,
106
- operation: 'REMOVED',
107
- description: `Remove requirement: ${req.text}`,
108
- requirement: req,
109
- requirements: [req],
110
- });
90
+ // `removedEntries` covers both REMOVED forms; the header form also carries
91
+ // body text and scenarios, kept rather than degraded to a bare name.
92
+ const removedBlocks = new Map(plan.removedBlocks.map((block) => [foldRequirementName(block.name), block]));
93
+ for (const entry of plan.removedEntries) {
94
+ const block = removedBlocks.get(foldRequirementName(entry.name));
95
+ const req = block
96
+ ? this.requirementFromBlock(block)
97
+ : { name: entry.name, text: entry.name, scenarios: [] };
98
+ deltas.push({
99
+ spec: specName,
100
+ operation: 'REMOVED',
101
+ description: `Remove requirement: ${req.text}`,
102
+ requirement: req,
103
+ requirements: [req],
111
104
  });
112
105
  }
113
- // Pairing logic lives in parseDeltaSpec, the same parser validation uses.
114
- const renamedSection = this.findSection(sections, 'RENAMED Requirements');
115
- if (renamedSection) {
116
- plan.renamed.forEach(rename => {
117
- deltas.push({
118
- spec: specName,
119
- operation: 'RENAMED',
120
- description: `Rename requirement from "${rename.from}" to "${rename.to}"`,
121
- rename,
122
- });
106
+ for (const rename of plan.renamed) {
107
+ deltas.push({
108
+ spec: specName,
109
+ operation: 'RENAMED',
110
+ description: `Rename requirement from "${rename.from}" to "${rename.to}"`,
111
+ rename,
123
112
  });
124
113
  }
125
114
  return deltas;
126
115
  }
116
+ /**
117
+ * A parsed block in the `Requirement` shape `show` reports. The header is
118
+ * dropped before the Markdown walker sees the body, so it never has to read
119
+ * a `###Requirement:` it would not recognise.
120
+ */
121
+ requirementFromBlock(block) {
122
+ const body = block.raw.split('\n').slice(1);
123
+ return {
124
+ name: block.name,
125
+ text: extractRequirementText(block.name, body),
126
+ scenarios: this.parseScenarios({
127
+ level: 3,
128
+ title: `Requirement: ${block.name}`,
129
+ content: body.join('\n'),
130
+ children: new MarkdownParser(body.join('\n')).getSections(),
131
+ line: block.startLine,
132
+ }),
133
+ };
134
+ }
127
135
  /**
128
136
  * Ignores headers that are not `### Requirement: <name>`. A delta section
129
137
  * often carries divider headers such as `### Documentation Requirements`, and
@@ -136,10 +144,5 @@ export class ChangeParser extends MarkdownParser {
136
144
  children: section.children.filter((child) => /^Requirement:\s*\S/i.test(child.title.trim())),
137
145
  });
138
146
  }
139
- // Delegates to MarkdownParser rather than a second section walker: the two
140
- // had byte-identical logic and drifted.
141
- parseSectionsFromContent(content) {
142
- return new MarkdownParser(content).getSections();
143
- }
144
147
  }
145
148
  //# sourceMappingURL=change-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"change-parser.js","sourceRoot":"","sources":["../../../src/core/parsers/change-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-parser.js","sourceRoot":"","sources":["../../../src/core/parsers/change-parser.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,25 @@ export interface Section {
4
4
  title: string;
5
5
  content: string;
6
6
  children: Section[];
7
+ /** 1-based line of the heading in the text it was parsed from. */
8
+ line: number;
7
9
  }
10
+ /**
11
+ * A spec heading found at a level the parser does not read it at. `line`
12
+ * travels with the message so validate can report it as a located issue.
13
+ */
14
+ export declare class SpecHeadingLevelError extends Error {
15
+ readonly line: number;
16
+ constructor(message: string, line: number);
17
+ }
18
+ /**
19
+ * The level of a heading line, as a section's content ends at it, or null when
20
+ * the line is not one. Exported so a reader scanning lines on its own ends a
21
+ * section where this parser does: the placeholder locator's own regex took an
22
+ * indented ` # aside` as a heading and lost the line of the text after it.
23
+ * Not fence-aware; the caller skips fenced lines.
24
+ */
25
+ export declare function headingLevel(line: string): number | null;
8
26
  export declare class MarkdownParser {
9
27
  private lines;
10
28
  private codeFenceLineMask;
@@ -33,6 +51,12 @@ export declare class MarkdownParser {
33
51
  * The one matcher: schema-declared `requiredSections`, the spec/change parser
34
52
  * and the decision reader all consume `getSections()` trees and must agree on
35
53
  * what counts as a match.
54
+ *
55
+ * A closing `#` run is not part of the title it matches by, as `sectionHeaderKey`
56
+ * reads it: kept, migrate copied a spec under `## Purpose ##` as well-formed and
57
+ * validate refused it for lacking a Purpose. Peeled here, not in `parseSections`:
58
+ * its titles also carry the requirement and scenario names, which a second peel
59
+ * would read differently from the merge (`Foo ## ##` as `Foo`, not `Foo ##`).
36
60
  */
37
61
  export declare function findSection(sections: Section[], title: string, level?: number): Section | undefined;
38
62
  //# sourceMappingURL=markdown-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-parser.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/markdown-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAkB,MAAM,qBAAqB,CAAC;AAGjG,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAkBD,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,iBAAiB,CAAY;IAErC,YAAY,OAAO,EAAE,MAAM,EAI1B;IAED,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;IAED,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CA2B5B;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAyBhC;IAED;;;;OAIG;IACH,WAAW,IAAI,OAAO,EAAE,CAEvB;IAED,SAAS,CAAC,aAAa,IAAI,OAAO,EAAE,CAsCnC;IAED,SAAS,CAAC,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAenF;IAED,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAE7F;IAED,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAY3D;IAED,SAAS,CAAC,cAAc,CAAC,kBAAkB,EAAE,OAAO,GAAG,QAAQ,EAAE,CAkBhE;IAGD,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,CAiC9C;CACF;AAGD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,GAAG,SAAS,CAerB"}
1
+ {"version":3,"file":"markdown-parser.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/markdown-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAkB,MAAM,qBAAqB,CAAC;AASjG,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAlD,YAAY,OAAO,EAAE,MAAM,EAAW,IAAI,EAAE,MAAM,EAGjD;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGxD;AAqBD,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,iBAAiB,CAAY;IAErC,YAAY,OAAO,EAAE,MAAM,EAI1B;IAED,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;IAED,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CA8C5B;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAyBhC;IAED;;;;OAIG;IACH,WAAW,IAAI,OAAO,EAAE,CAEvB;IAED,SAAS,CAAC,aAAa,IAAI,OAAO,EAAE,CA0CnC;IAED,SAAS,CAAC,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAenF;IAED,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAE7F;IAED,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAY3D;IAED,SAAS,CAAC,cAAc,CAAC,kBAAkB,EAAE,OAAO,GAAG,QAAQ,EAAE,CAkBhE;IAGD,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,CAoC9C;CACF;AAGD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,GAAG,SAAS,CAerB"}
@@ -1,4 +1,27 @@
1
- import { buildCodeFenceMask, extractRequirementText, normalizeDocument } from './requirement-text.js';
1
+ import { LINE_TERMINATOR, buildCodeFenceMask, extractRequirementText, normalizeDocument, stripClosingHashes, } from './requirement-text.js';
2
+ /**
3
+ * A spec heading found at a level the parser does not read it at. `line`
4
+ * travels with the message so validate can report it as a located issue.
5
+ */
6
+ export class SpecHeadingLevelError extends Error {
7
+ line;
8
+ constructor(message, line) {
9
+ super(message);
10
+ this.line = line;
11
+ this.name = 'SpecHeadingLevelError';
12
+ }
13
+ }
14
+ /**
15
+ * The level of a heading line, as a section's content ends at it, or null when
16
+ * the line is not one. Exported so a reader scanning lines on its own ends a
17
+ * section where this parser does: the placeholder locator's own regex took an
18
+ * indented ` # aside` as a heading and lost the line of the text after it.
19
+ * Not fence-aware; the caller skips fenced lines.
20
+ */
21
+ export function headingLevel(line) {
22
+ const match = /^(#{1,6})\s/.exec(line);
23
+ return match ? match[1].length : null;
24
+ }
2
25
  const HEADER_LABEL_REGEX = {
3
26
  Requirement: /^Requirement:\s*(.*)$/i,
4
27
  Scenario: /^Scenario:\s*(.*)$/i,
@@ -7,11 +30,14 @@ const HEADER_LABEL_REGEX = {
7
30
  * `Requirement: Sign out` → `Sign out`. Falls back to the trimmed title when
8
31
  * the label is absent, so a section that reached here without the canonical
9
32
  * prefix still reports a name rather than an empty string.
33
+ *
34
+ * The closing `#` run goes too, as in every delta reader: kept, `show`, `list`
35
+ * and the dashboard displayed `Late Fees ###`, a name the merge never uses.
10
36
  */
11
37
  function stripHeaderLabel(title, label) {
12
38
  const trimmed = title.trim();
13
39
  const match = HEADER_LABEL_REGEX[label].exec(trimmed);
14
- return (match?.[1] ?? trimmed).trim();
40
+ return stripClosingHashes(match?.[1] ?? trimmed);
15
41
  }
16
42
  export class MarkdownParser {
17
43
  lines;
@@ -26,7 +52,23 @@ export class MarkdownParser {
26
52
  }
27
53
  parseSpec(name) {
28
54
  const sections = this.parseSections();
29
- const purpose = this.findSection(sections, 'Purpose')?.content || '';
55
+ // Level 2 only, as every other Purpose reader keys it (migrate, the
56
+ // placeholder locator, extractDeltaPurpose, the delta parser) and as the
57
+ // missing-section guide spells it. At any level, `# Purpose` read
58
+ // `## Requirements` and every requirement into the overview, and a spec
59
+ // with only `### Purpose` passed here while migrate rebuilt it as headerless.
60
+ const purposeSection = this.findSection(sections, 'Purpose', 2);
61
+ // Named, not the generic missing-section error: the author wrote a Purpose,
62
+ // and "must have a Purpose section" reads as if they had not.
63
+ if (!purposeSection) {
64
+ const misplaced = this.findSection(sections, 'Purpose');
65
+ if (misplaced) {
66
+ const header = this.lines[misplaced.line - 1].trim();
67
+ throw new SpecHeadingLevelError(`Purpose must be a level-2 heading (## Purpose); found "${header}" at line ${misplaced.line}. ` +
68
+ 'Change that heading to "## Purpose".', misplaced.line);
69
+ }
70
+ }
71
+ const purpose = purposeSection?.content || '';
30
72
  // Level 2 only — the same definition extractRequirementsSection uses
31
73
  // (`## Requirements`); a nested `### Requirements` is not the section.
32
74
  const requirementsSection = this.findSection(sections, 'Requirements', 2);
@@ -85,8 +127,11 @@ export class MarkdownParser {
85
127
  if (this.codeFenceLineMask[i]) {
86
128
  continue;
87
129
  }
88
- const headerMatch = line.match(/^(#{1,6})\s+(.+)$/);
89
- if (headerMatch) {
130
+ // The rest of the line is captured whole and refused when it holds a line
131
+ // terminator, as `matchSectionHeader` does and for the same reason: as
132
+ // `\s+(.+)$` a heading holding U+2028 re-split its blank run every way.
133
+ const headerMatch = line.match(/^(#{1,6})\s+(.[\s\S]*)$/);
134
+ if (headerMatch && !LINE_TERMINATOR.test(headerMatch[2])) {
90
135
  const level = headerMatch[1].length;
91
136
  const title = headerMatch[2].trim();
92
137
  const content = this.getContentUntilNextHeader(i + 1, level);
@@ -95,6 +140,7 @@ export class MarkdownParser {
95
140
  title,
96
141
  content,
97
142
  children: [],
143
+ line: i + 1,
98
144
  };
99
145
  while (stack.length > 0 && stack[stack.length - 1].level >= level) {
100
146
  stack.pop();
@@ -114,8 +160,8 @@ export class MarkdownParser {
114
160
  const contentLines = [];
115
161
  for (let i = startLine; i < this.lines.length; i++) {
116
162
  const line = this.lines[i];
117
- const headerMatch = this.codeFenceLineMask[i] ? null : line.match(/^(#{1,6})\s+/);
118
- if (headerMatch && headerMatch[1].length <= currentLevel) {
163
+ const level = this.codeFenceLineMask[i] ? null : headingLevel(line);
164
+ if (level !== null && level <= currentLevel) {
119
165
  break;
120
166
  }
121
167
  contentLines.push(line);
@@ -158,8 +204,11 @@ export class MarkdownParser {
158
204
  const lines = content.split('\n');
159
205
  for (const line of lines) {
160
206
  // Both spellings: **spec:** and **spec**:
161
- const deltaMatch = line.match(/^\s*-\s*\*\*([^*:]+)(?::\*\*|\*\*:)\s*(.+)$/);
162
- if (deltaMatch) {
207
+ // The description is captured whole and refused when it holds a line
208
+ // terminator, as in `parseSections`: as `\s*(.+)$` a bullet holding
209
+ // U+2028 re-split its blank run every way, and 80k blanks took 3 s.
210
+ const deltaMatch = line.match(/^\s*-\s*\*\*([^*:]+)(?::\*\*|\*\*:)\s*(.[\s\S]*)$/);
211
+ if (deltaMatch && !LINE_TERMINATOR.test(deltaMatch[2])) {
163
212
  const specName = deltaMatch[1].trim();
164
213
  const description = deltaMatch[2].trim();
165
214
  let operation = 'MODIFIED';
@@ -193,11 +242,17 @@ export class MarkdownParser {
193
242
  * The one matcher: schema-declared `requiredSections`, the spec/change parser
194
243
  * and the decision reader all consume `getSections()` trees and must agree on
195
244
  * what counts as a match.
245
+ *
246
+ * A closing `#` run is not part of the title it matches by, as `sectionHeaderKey`
247
+ * reads it: kept, migrate copied a spec under `## Purpose ##` as well-formed and
248
+ * validate refused it for lacking a Purpose. Peeled here, not in `parseSections`:
249
+ * its titles also carry the requirement and scenario names, which a second peel
250
+ * would read differently from the merge (`Foo ## ##` as `Foo`, not `Foo ##`).
196
251
  */
197
252
  export function findSection(sections, title, level) {
198
253
  const target = title.trim().toLowerCase();
199
254
  for (const section of sections) {
200
- if (section.title.trim().toLowerCase() === target &&
255
+ if (stripClosingHashes(section.title).toLowerCase() === target &&
201
256
  (level === undefined || section.level === level)) {
202
257
  return section;
203
258
  }
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-parser.js","sourceRoot":"","sources":["../../../src/core/parsers/markdown-parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAStG,MAAM,kBAAkB,GAAG;IACzB,WAAW,EAAE,wBAAwB;IACrC,QAAQ,EAAE,qBAAqB;CACvB,CAAC;AAEX;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,KAAa,EAAE,KAAsC;IAC7E,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,OAAO,cAAc;IACjB,KAAK,CAAW;IAChB,iBAAiB,CAAY;IAErC,YAAY,OAAe;QACzB,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAES,MAAM,CAAC,gBAAgB,CAAC,OAAe;QAC/C,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;QAErE,qEAAqE;QACrE,uEAAuE;QACvE,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QAE1E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAEjE,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE;YACxB,YAAY;YACZ,QAAQ,EAAE;gBACR,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,QAAQ;aACjB;SACF,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;QAE9E,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE7C,OAAO;YACL,IAAI;YACJ,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;YACf,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE;YAC/B,MAAM;YACN,QAAQ,EAAE;gBACR,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,eAAe;aACxB;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAES,aAAa;QACrB,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAc,EAAE,CAAC;QAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAEpD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACpC,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBAE7D,MAAM,OAAO,GAAY;oBACvB,KAAK;oBACL,KAAK;oBACL,OAAO;oBACP,QAAQ,EAAE,EAAE;iBACb,CAAC;gBAEF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;oBAClE,KAAK,CAAC,GAAG,EAAE,CAAC;gBACd,CAAC;gBAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjD,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAES,yBAAyB,CAAC,SAAiB,EAAE,YAAoB;QACzE,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAElF,IAAI,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;gBACzD,MAAM;YACR,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IAES,WAAW,CAAC,QAAmB,EAAE,KAAa,EAAE,KAAc;QACtE,OAAO,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAES,iBAAiB,CAAC,OAAgB;QAC1C,MAAM,YAAY,GAAkB,EAAE,CAAC;QAEvC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC;gBAClD,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;aACtC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,cAAc,CAAC,kBAA2B;QAClD,MAAM,SAAS,GAAe,EAAE,CAAC;QAEjC,KAAK,MAAM,eAAe,IAAI,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YAC1D,kEAAkE;YAClE,mBAAmB;YACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtD,SAAS;YACX,CAAC;YACD,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnC,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,gBAAgB,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC;oBACzD,OAAO,EAAE,eAAe,CAAC,OAAO;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAGS,WAAW,CAAC,OAAe;QACnC,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,0CAA0C;YAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC7E,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtC,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEzC,IAAI,SAAS,GAAmB,UAAU,CAAC;gBAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;gBAE5C,mEAAmE;gBACnE,kEAAkE;gBAClE,IAAI,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACxF,SAAS,GAAG,SAAS,CAAC;gBACxB,CAAC;qBAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvH,SAAS,GAAG,OAAO,CAAC;gBACtB,CAAC;qBAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC5F,SAAS,GAAG,SAAS,CAAC;gBACxB,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ;oBACd,SAAS;oBACT,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAGD;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CACzB,QAAmB,EACnB,KAAa,EACb,KAAc;IAEd,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IACE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM;YAC7C,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,EAChD,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"markdown-parser.js","sourceRoot":"","sources":["../../../src/core/parsers/markdown-parser.ts"],"names":[],"mappings":"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"}