open-wiki-spec 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (487) hide show
  1. package/README.md +294 -0
  2. package/bin/open-wiki-spec.js +2 -0
  3. package/dist/cli/commands/apply.d.ts +3 -0
  4. package/dist/cli/commands/apply.d.ts.map +1 -0
  5. package/dist/cli/commands/apply.js +60 -0
  6. package/dist/cli/commands/apply.js.map +1 -0
  7. package/dist/cli/commands/archive.d.ts +20 -0
  8. package/dist/cli/commands/archive.d.ts.map +1 -0
  9. package/dist/cli/commands/archive.js +87 -0
  10. package/dist/cli/commands/archive.js.map +1 -0
  11. package/dist/cli/commands/continue.d.ts +6 -0
  12. package/dist/cli/commands/continue.d.ts.map +1 -0
  13. package/dist/cli/commands/continue.js +35 -0
  14. package/dist/cli/commands/continue.js.map +1 -0
  15. package/dist/cli/commands/formatters.d.ts +9 -0
  16. package/dist/cli/commands/formatters.d.ts.map +1 -0
  17. package/dist/cli/commands/formatters.js +55 -0
  18. package/dist/cli/commands/formatters.js.map +1 -0
  19. package/dist/cli/commands/init.d.ts +6 -0
  20. package/dist/cli/commands/init.d.ts.map +1 -0
  21. package/dist/cli/commands/init.js +36 -0
  22. package/dist/cli/commands/init.js.map +1 -0
  23. package/dist/cli/commands/list.d.ts +28 -0
  24. package/dist/cli/commands/list.d.ts.map +1 -0
  25. package/dist/cli/commands/list.js +85 -0
  26. package/dist/cli/commands/list.js.map +1 -0
  27. package/dist/cli/commands/migrate.d.ts +6 -0
  28. package/dist/cli/commands/migrate.d.ts.map +1 -0
  29. package/dist/cli/commands/migrate.js +103 -0
  30. package/dist/cli/commands/migrate.js.map +1 -0
  31. package/dist/cli/commands/propose.d.ts +3 -0
  32. package/dist/cli/commands/propose.d.ts.map +1 -0
  33. package/dist/cli/commands/propose.js +64 -0
  34. package/dist/cli/commands/propose.js.map +1 -0
  35. package/dist/cli/commands/query.d.ts +3 -0
  36. package/dist/cli/commands/query.d.ts.map +1 -0
  37. package/dist/cli/commands/query.js +62 -0
  38. package/dist/cli/commands/query.js.map +1 -0
  39. package/dist/cli/commands/status.d.ts +30 -0
  40. package/dist/cli/commands/status.d.ts.map +1 -0
  41. package/dist/cli/commands/status.js +144 -0
  42. package/dist/cli/commands/status.js.map +1 -0
  43. package/dist/cli/commands/verify.d.ts +3 -0
  44. package/dist/cli/commands/verify.d.ts.map +1 -0
  45. package/dist/cli/commands/verify.js +38 -0
  46. package/dist/cli/commands/verify.js.map +1 -0
  47. package/dist/cli/index.d.ts +6 -0
  48. package/dist/cli/index.d.ts.map +1 -0
  49. package/dist/cli/index.js +40 -0
  50. package/dist/cli/index.js.map +1 -0
  51. package/dist/cli/init/init-engine.d.ts +6 -0
  52. package/dist/cli/init/init-engine.d.ts.map +1 -0
  53. package/dist/cli/init/init-engine.js +107 -0
  54. package/dist/cli/init/init-engine.js.map +1 -0
  55. package/dist/cli/init/meta-files.d.ts +9 -0
  56. package/dist/cli/init/meta-files.d.ts.map +1 -0
  57. package/dist/cli/init/meta-files.js +156 -0
  58. package/dist/cli/init/meta-files.js.map +1 -0
  59. package/dist/cli/init/skill-generator.d.ts +11 -0
  60. package/dist/cli/init/skill-generator.d.ts.map +1 -0
  61. package/dist/cli/init/skill-generator.js +753 -0
  62. package/dist/cli/init/skill-generator.js.map +1 -0
  63. package/dist/cli/init/types.d.ts +27 -0
  64. package/dist/cli/init/types.d.ts.map +1 -0
  65. package/dist/cli/init/types.js +5 -0
  66. package/dist/cli/init/types.js.map +1 -0
  67. package/dist/cli/vault-discovery.d.ts +9 -0
  68. package/dist/cli/vault-discovery.d.ts.map +1 -0
  69. package/dist/cli/vault-discovery.js +31 -0
  70. package/dist/cli/vault-discovery.js.map +1 -0
  71. package/dist/core/config/index.d.ts +2 -0
  72. package/dist/core/config/index.d.ts.map +1 -0
  73. package/dist/core/config/index.js +3 -0
  74. package/dist/core/config/index.js.map +1 -0
  75. package/dist/core/index/build.d.ts +10 -0
  76. package/dist/core/index/build.d.ts.map +1 -0
  77. package/dist/core/index/build.js +190 -0
  78. package/dist/core/index/build.js.map +1 -0
  79. package/dist/core/index/index.d.ts +7 -0
  80. package/dist/core/index/index.d.ts.map +1 -0
  81. package/dist/core/index/index.js +7 -0
  82. package/dist/core/index/index.js.map +1 -0
  83. package/dist/core/index/resolve.d.ts +41 -0
  84. package/dist/core/index/resolve.d.ts.map +1 -0
  85. package/dist/core/index/resolve.js +63 -0
  86. package/dist/core/index/resolve.js.map +1 -0
  87. package/dist/core/index/reverse.d.ts +7 -0
  88. package/dist/core/index/reverse.d.ts.map +1 -0
  89. package/dist/core/index/reverse.js +24 -0
  90. package/dist/core/index/reverse.js.map +1 -0
  91. package/dist/core/index/scan.d.ts +16 -0
  92. package/dist/core/index/scan.d.ts.map +1 -0
  93. package/dist/core/index/scan.js +19 -0
  94. package/dist/core/index/scan.js.map +1 -0
  95. package/dist/core/index/schema-version.d.ts +5 -0
  96. package/dist/core/index/schema-version.d.ts.map +1 -0
  97. package/dist/core/index/schema-version.js +19 -0
  98. package/dist/core/index/schema-version.js.map +1 -0
  99. package/dist/core/index/validate.d.ts +14 -0
  100. package/dist/core/index/validate.d.ts.map +1 -0
  101. package/dist/core/index/validate.js +77 -0
  102. package/dist/core/index/validate.js.map +1 -0
  103. package/dist/core/migrate/change-converter.d.ts +18 -0
  104. package/dist/core/migrate/change-converter.d.ts.map +1 -0
  105. package/dist/core/migrate/change-converter.js +475 -0
  106. package/dist/core/migrate/change-converter.js.map +1 -0
  107. package/dist/core/migrate/index.d.ts +8 -0
  108. package/dist/core/migrate/index.d.ts.map +1 -0
  109. package/dist/core/migrate/index.js +7 -0
  110. package/dist/core/migrate/index.js.map +1 -0
  111. package/dist/core/migrate/migrate.d.ts +15 -0
  112. package/dist/core/migrate/migrate.d.ts.map +1 -0
  113. package/dist/core/migrate/migrate.js +149 -0
  114. package/dist/core/migrate/migrate.js.map +1 -0
  115. package/dist/core/migrate/scanner.d.ts +10 -0
  116. package/dist/core/migrate/scanner.d.ts.map +1 -0
  117. package/dist/core/migrate/scanner.js +188 -0
  118. package/dist/core/migrate/scanner.js.map +1 -0
  119. package/dist/core/migrate/source-converter.d.ts +6 -0
  120. package/dist/core/migrate/source-converter.d.ts.map +1 -0
  121. package/dist/core/migrate/source-converter.js +63 -0
  122. package/dist/core/migrate/source-converter.js.map +1 -0
  123. package/dist/core/migrate/spec-converter.d.ts +16 -0
  124. package/dist/core/migrate/spec-converter.d.ts.map +1 -0
  125. package/dist/core/migrate/spec-converter.js +157 -0
  126. package/dist/core/migrate/spec-converter.js.map +1 -0
  127. package/dist/core/migrate/system-inferrer.d.ts +23 -0
  128. package/dist/core/migrate/system-inferrer.d.ts.map +1 -0
  129. package/dist/core/migrate/system-inferrer.js +118 -0
  130. package/dist/core/migrate/system-inferrer.js.map +1 -0
  131. package/dist/core/migrate/types.d.ts +125 -0
  132. package/dist/core/migrate/types.d.ts.map +1 -0
  133. package/dist/core/migrate/types.js +5 -0
  134. package/dist/core/migrate/types.js.map +1 -0
  135. package/dist/core/parser/delta-summary-parser.d.ts +10 -0
  136. package/dist/core/parser/delta-summary-parser.d.ts.map +1 -0
  137. package/dist/core/parser/delta-summary-parser.js +101 -0
  138. package/dist/core/parser/delta-summary-parser.js.map +1 -0
  139. package/dist/core/parser/frontmatter-parser.d.ts +21 -0
  140. package/dist/core/parser/frontmatter-parser.d.ts.map +1 -0
  141. package/dist/core/parser/frontmatter-parser.js +87 -0
  142. package/dist/core/parser/frontmatter-parser.js.map +1 -0
  143. package/dist/core/parser/index.d.ts +9 -0
  144. package/dist/core/parser/index.d.ts.map +1 -0
  145. package/dist/core/parser/index.js +8 -0
  146. package/dist/core/parser/index.js.map +1 -0
  147. package/dist/core/parser/note-parser.d.ts +9 -0
  148. package/dist/core/parser/note-parser.d.ts.map +1 -0
  149. package/dist/core/parser/note-parser.js +106 -0
  150. package/dist/core/parser/note-parser.js.map +1 -0
  151. package/dist/core/parser/requirement-parser.d.ts +13 -0
  152. package/dist/core/parser/requirement-parser.d.ts.map +1 -0
  153. package/dist/core/parser/requirement-parser.js +127 -0
  154. package/dist/core/parser/requirement-parser.js.map +1 -0
  155. package/dist/core/parser/section-parser.d.ts +15 -0
  156. package/dist/core/parser/section-parser.d.ts.map +1 -0
  157. package/dist/core/parser/section-parser.js +90 -0
  158. package/dist/core/parser/section-parser.js.map +1 -0
  159. package/dist/core/parser/task-parser.d.ts +9 -0
  160. package/dist/core/parser/task-parser.d.ts.map +1 -0
  161. package/dist/core/parser/task-parser.js +35 -0
  162. package/dist/core/parser/task-parser.js.map +1 -0
  163. package/dist/core/parser/types.d.ts +94 -0
  164. package/dist/core/parser/types.d.ts.map +1 -0
  165. package/dist/core/parser/types.js +2 -0
  166. package/dist/core/parser/types.js.map +1 -0
  167. package/dist/core/parser/wikilink-parser.d.ts +19 -0
  168. package/dist/core/parser/wikilink-parser.d.ts.map +1 -0
  169. package/dist/core/parser/wikilink-parser.js +74 -0
  170. package/dist/core/parser/wikilink-parser.js.map +1 -0
  171. package/dist/core/retrieval/classify.d.ts +11 -0
  172. package/dist/core/retrieval/classify.d.ts.map +1 -0
  173. package/dist/core/retrieval/classify.js +92 -0
  174. package/dist/core/retrieval/classify.js.map +1 -0
  175. package/dist/core/retrieval/constants.d.ts +49 -0
  176. package/dist/core/retrieval/constants.d.ts.map +1 -0
  177. package/dist/core/retrieval/constants.js +29 -0
  178. package/dist/core/retrieval/constants.js.map +1 -0
  179. package/dist/core/retrieval/graph-expand.d.ts +7 -0
  180. package/dist/core/retrieval/graph-expand.d.ts.map +1 -0
  181. package/dist/core/retrieval/graph-expand.js +20 -0
  182. package/dist/core/retrieval/graph-expand.js.map +1 -0
  183. package/dist/core/retrieval/helpers.d.ts +15 -0
  184. package/dist/core/retrieval/helpers.d.ts.map +1 -0
  185. package/dist/core/retrieval/helpers.js +36 -0
  186. package/dist/core/retrieval/helpers.js.map +1 -0
  187. package/dist/core/retrieval/index.d.ts +11 -0
  188. package/dist/core/retrieval/index.d.ts.map +1 -0
  189. package/dist/core/retrieval/index.js +9 -0
  190. package/dist/core/retrieval/index.js.map +1 -0
  191. package/dist/core/retrieval/lexical.d.ts +8 -0
  192. package/dist/core/retrieval/lexical.d.ts.map +1 -0
  193. package/dist/core/retrieval/lexical.js +107 -0
  194. package/dist/core/retrieval/lexical.js.map +1 -0
  195. package/dist/core/retrieval/retrieve.d.ts +16 -0
  196. package/dist/core/retrieval/retrieve.d.ts.map +1 -0
  197. package/dist/core/retrieval/retrieve.js +58 -0
  198. package/dist/core/retrieval/retrieve.js.map +1 -0
  199. package/dist/core/retrieval/scoring.d.ts +14 -0
  200. package/dist/core/retrieval/scoring.d.ts.map +1 -0
  201. package/dist/core/retrieval/scoring.js +169 -0
  202. package/dist/core/retrieval/scoring.js.map +1 -0
  203. package/dist/core/retrieval/warnings.d.ts +16 -0
  204. package/dist/core/retrieval/warnings.d.ts.map +1 -0
  205. package/dist/core/retrieval/warnings.js +73 -0
  206. package/dist/core/retrieval/warnings.js.map +1 -0
  207. package/dist/core/schema/base.schema.d.ts +31 -0
  208. package/dist/core/schema/base.schema.d.ts.map +1 -0
  209. package/dist/core/schema/base.schema.js +32 -0
  210. package/dist/core/schema/base.schema.js.map +1 -0
  211. package/dist/core/schema/change.schema.d.ts +96 -0
  212. package/dist/core/schema/change.schema.d.ts.map +1 -0
  213. package/dist/core/schema/change.schema.js +64 -0
  214. package/dist/core/schema/change.schema.js.map +1 -0
  215. package/dist/core/schema/decision.schema.d.ts +33 -0
  216. package/dist/core/schema/decision.schema.d.ts.map +1 -0
  217. package/dist/core/schema/decision.schema.js +19 -0
  218. package/dist/core/schema/decision.schema.js.map +1 -0
  219. package/dist/core/schema/delta-summary.d.ts +57 -0
  220. package/dist/core/schema/delta-summary.d.ts.map +1 -0
  221. package/dist/core/schema/delta-summary.js +38 -0
  222. package/dist/core/schema/delta-summary.js.map +1 -0
  223. package/dist/core/schema/feature.schema.d.ts +40 -0
  224. package/dist/core/schema/feature.schema.d.ts.map +1 -0
  225. package/dist/core/schema/feature.schema.js +25 -0
  226. package/dist/core/schema/feature.schema.js.map +1 -0
  227. package/dist/core/schema/frontmatter.d.ts +207 -0
  228. package/dist/core/schema/frontmatter.d.ts.map +1 -0
  229. package/dist/core/schema/frontmatter.js +23 -0
  230. package/dist/core/schema/frontmatter.js.map +1 -0
  231. package/dist/core/schema/index.d.ts +235 -0
  232. package/dist/core/schema/index.d.ts.map +1 -0
  233. package/dist/core/schema/index.js +52 -0
  234. package/dist/core/schema/index.js.map +1 -0
  235. package/dist/core/schema/query.schema.d.ts +39 -0
  236. package/dist/core/schema/query.schema.d.ts.map +1 -0
  237. package/dist/core/schema/query.schema.js +20 -0
  238. package/dist/core/schema/query.schema.js.map +1 -0
  239. package/dist/core/schema/requirement.d.ts +69 -0
  240. package/dist/core/schema/requirement.d.ts.map +1 -0
  241. package/dist/core/schema/requirement.js +35 -0
  242. package/dist/core/schema/requirement.js.map +1 -0
  243. package/dist/core/schema/source.schema.d.ts +33 -0
  244. package/dist/core/schema/source.schema.d.ts.map +1 -0
  245. package/dist/core/schema/source.schema.js +24 -0
  246. package/dist/core/schema/source.schema.js.map +1 -0
  247. package/dist/core/schema/system.schema.d.ts +27 -0
  248. package/dist/core/schema/system.schema.d.ts.map +1 -0
  249. package/dist/core/schema/system.schema.js +17 -0
  250. package/dist/core/schema/system.schema.js.map +1 -0
  251. package/dist/core/schema/templates.d.ts +14 -0
  252. package/dist/core/schema/templates.d.ts.map +1 -0
  253. package/dist/core/schema/templates.js +220 -0
  254. package/dist/core/schema/templates.js.map +1 -0
  255. package/dist/core/schema/validation-constants.d.ts +5 -0
  256. package/dist/core/schema/validation-constants.d.ts.map +1 -0
  257. package/dist/core/schema/validation-constants.js +5 -0
  258. package/dist/core/schema/validation-constants.js.map +1 -0
  259. package/dist/core/sequencing/analyze.d.ts +13 -0
  260. package/dist/core/sequencing/analyze.d.ts.map +1 -0
  261. package/dist/core/sequencing/analyze.js +107 -0
  262. package/dist/core/sequencing/analyze.js.map +1 -0
  263. package/dist/core/sequencing/index.d.ts +8 -0
  264. package/dist/core/sequencing/index.d.ts.map +1 -0
  265. package/dist/core/sequencing/index.js +8 -0
  266. package/dist/core/sequencing/index.js.map +1 -0
  267. package/dist/core/sequencing/ordering.d.ts +11 -0
  268. package/dist/core/sequencing/ordering.d.ts.map +1 -0
  269. package/dist/core/sequencing/ordering.js +148 -0
  270. package/dist/core/sequencing/ordering.js.map +1 -0
  271. package/dist/core/sequencing/out-of-order-detector.d.ts +9 -0
  272. package/dist/core/sequencing/out-of-order-detector.d.ts.map +1 -0
  273. package/dist/core/sequencing/out-of-order-detector.js +42 -0
  274. package/dist/core/sequencing/out-of-order-detector.js.map +1 -0
  275. package/dist/core/sequencing/priority-queue.d.ts +18 -0
  276. package/dist/core/sequencing/priority-queue.d.ts.map +1 -0
  277. package/dist/core/sequencing/priority-queue.js +31 -0
  278. package/dist/core/sequencing/priority-queue.js.map +1 -0
  279. package/dist/core/sequencing/requirement-conflict-detector.d.ts +9 -0
  280. package/dist/core/sequencing/requirement-conflict-detector.d.ts.map +1 -0
  281. package/dist/core/sequencing/requirement-conflict-detector.js +90 -0
  282. package/dist/core/sequencing/requirement-conflict-detector.js.map +1 -0
  283. package/dist/core/sequencing/stale-detector.d.ts +9 -0
  284. package/dist/core/sequencing/stale-detector.d.ts.map +1 -0
  285. package/dist/core/sequencing/stale-detector.js +49 -0
  286. package/dist/core/sequencing/stale-detector.js.map +1 -0
  287. package/dist/core/sequencing/touches-analyzer.d.ts +8 -0
  288. package/dist/core/sequencing/touches-analyzer.d.ts.map +1 -0
  289. package/dist/core/sequencing/touches-analyzer.js +91 -0
  290. package/dist/core/sequencing/touches-analyzer.js.map +1 -0
  291. package/dist/core/vault/index.d.ts +2 -0
  292. package/dist/core/vault/index.d.ts.map +1 -0
  293. package/dist/core/vault/index.js +3 -0
  294. package/dist/core/vault/index.js.map +1 -0
  295. package/dist/core/workflow/apply/apply.d.ts +17 -0
  296. package/dist/core/workflow/apply/apply.d.ts.map +1 -0
  297. package/dist/core/workflow/apply/apply.js +302 -0
  298. package/dist/core/workflow/apply/apply.js.map +1 -0
  299. package/dist/core/workflow/apply/delta-parser.d.ts +11 -0
  300. package/dist/core/workflow/apply/delta-parser.d.ts.map +1 -0
  301. package/dist/core/workflow/apply/delta-parser.js +164 -0
  302. package/dist/core/workflow/apply/delta-parser.js.map +1 -0
  303. package/dist/core/workflow/apply/feature-updater.d.ts +12 -0
  304. package/dist/core/workflow/apply/feature-updater.d.ts.map +1 -0
  305. package/dist/core/workflow/apply/feature-updater.js +75 -0
  306. package/dist/core/workflow/apply/feature-updater.js.map +1 -0
  307. package/dist/core/workflow/apply/index.d.ts +7 -0
  308. package/dist/core/workflow/apply/index.d.ts.map +1 -0
  309. package/dist/core/workflow/apply/index.js +6 -0
  310. package/dist/core/workflow/apply/index.js.map +1 -0
  311. package/dist/core/workflow/apply/stale-checker.d.ts +17 -0
  312. package/dist/core/workflow/apply/stale-checker.d.ts.map +1 -0
  313. package/dist/core/workflow/apply/stale-checker.js +99 -0
  314. package/dist/core/workflow/apply/stale-checker.js.map +1 -0
  315. package/dist/core/workflow/apply/types.d.ts +112 -0
  316. package/dist/core/workflow/apply/types.d.ts.map +1 -0
  317. package/dist/core/workflow/apply/types.js +2 -0
  318. package/dist/core/workflow/apply/types.js.map +1 -0
  319. package/dist/core/workflow/apply/verify-apply.d.ts +16 -0
  320. package/dist/core/workflow/apply/verify-apply.d.ts.map +1 -0
  321. package/dist/core/workflow/apply/verify-apply.js +81 -0
  322. package/dist/core/workflow/apply/verify-apply.js.map +1 -0
  323. package/dist/core/workflow/continue/continue.d.ts +17 -0
  324. package/dist/core/workflow/continue/continue.d.ts.map +1 -0
  325. package/dist/core/workflow/continue/continue.js +213 -0
  326. package/dist/core/workflow/continue/continue.js.map +1 -0
  327. package/dist/core/workflow/continue/decision-promoter.d.ts +20 -0
  328. package/dist/core/workflow/continue/decision-promoter.d.ts.map +1 -0
  329. package/dist/core/workflow/continue/decision-promoter.js +36 -0
  330. package/dist/core/workflow/continue/decision-promoter.js.map +1 -0
  331. package/dist/core/workflow/continue/index.d.ts +6 -0
  332. package/dist/core/workflow/continue/index.d.ts.map +1 -0
  333. package/dist/core/workflow/continue/index.js +5 -0
  334. package/dist/core/workflow/continue/index.js.map +1 -0
  335. package/dist/core/workflow/continue/next-action.d.ts +13 -0
  336. package/dist/core/workflow/continue/next-action.d.ts.map +1 -0
  337. package/dist/core/workflow/continue/next-action.js +129 -0
  338. package/dist/core/workflow/continue/next-action.js.map +1 -0
  339. package/dist/core/workflow/continue/section-checker.d.ts +18 -0
  340. package/dist/core/workflow/continue/section-checker.d.ts.map +1 -0
  341. package/dist/core/workflow/continue/section-checker.js +114 -0
  342. package/dist/core/workflow/continue/section-checker.js.map +1 -0
  343. package/dist/core/workflow/continue/types.d.ts +113 -0
  344. package/dist/core/workflow/continue/types.d.ts.map +1 -0
  345. package/dist/core/workflow/continue/types.js +2 -0
  346. package/dist/core/workflow/continue/types.js.map +1 -0
  347. package/dist/core/workflow/index.d.ts +11 -0
  348. package/dist/core/workflow/index.d.ts.map +1 -0
  349. package/dist/core/workflow/index.js +12 -0
  350. package/dist/core/workflow/index.js.map +1 -0
  351. package/dist/core/workflow/propose/index.d.ts +6 -0
  352. package/dist/core/workflow/propose/index.d.ts.map +1 -0
  353. package/dist/core/workflow/propose/index.js +5 -0
  354. package/dist/core/workflow/propose/index.js.map +1 -0
  355. package/dist/core/workflow/propose/note-creator.d.ts +35 -0
  356. package/dist/core/workflow/propose/note-creator.d.ts.map +1 -0
  357. package/dist/core/workflow/propose/note-creator.js +178 -0
  358. package/dist/core/workflow/propose/note-creator.js.map +1 -0
  359. package/dist/core/workflow/propose/prerequisites.d.ts +17 -0
  360. package/dist/core/workflow/propose/prerequisites.d.ts.map +1 -0
  361. package/dist/core/workflow/propose/prerequisites.js +78 -0
  362. package/dist/core/workflow/propose/prerequisites.js.map +1 -0
  363. package/dist/core/workflow/propose/propose.d.ts +13 -0
  364. package/dist/core/workflow/propose/propose.d.ts.map +1 -0
  365. package/dist/core/workflow/propose/propose.js +204 -0
  366. package/dist/core/workflow/propose/propose.js.map +1 -0
  367. package/dist/core/workflow/propose/query-normalizer.d.ts +7 -0
  368. package/dist/core/workflow/propose/query-normalizer.d.ts.map +1 -0
  369. package/dist/core/workflow/propose/query-normalizer.js +77 -0
  370. package/dist/core/workflow/propose/query-normalizer.js.map +1 -0
  371. package/dist/core/workflow/propose/types.d.ts +71 -0
  372. package/dist/core/workflow/propose/types.d.ts.map +1 -0
  373. package/dist/core/workflow/propose/types.js +2 -0
  374. package/dist/core/workflow/propose/types.js.map +1 -0
  375. package/dist/core/workflow/query/index.d.ts +6 -0
  376. package/dist/core/workflow/query/index.d.ts.map +1 -0
  377. package/dist/core/workflow/query/index.js +5 -0
  378. package/dist/core/workflow/query/index.js.map +1 -0
  379. package/dist/core/workflow/query/noteworthiness.d.ts +14 -0
  380. package/dist/core/workflow/query/noteworthiness.d.ts.map +1 -0
  381. package/dist/core/workflow/query/noteworthiness.js +48 -0
  382. package/dist/core/workflow/query/noteworthiness.js.map +1 -0
  383. package/dist/core/workflow/query/query-note-creator.d.ts +13 -0
  384. package/dist/core/workflow/query/query-note-creator.d.ts.map +1 -0
  385. package/dist/core/workflow/query/query-note-creator.js +168 -0
  386. package/dist/core/workflow/query/query-note-creator.js.map +1 -0
  387. package/dist/core/workflow/query/query-search.d.ts +19 -0
  388. package/dist/core/workflow/query/query-search.d.ts.map +1 -0
  389. package/dist/core/workflow/query/query-search.js +252 -0
  390. package/dist/core/workflow/query/query-search.js.map +1 -0
  391. package/dist/core/workflow/query/query.d.ts +18 -0
  392. package/dist/core/workflow/query/query.d.ts.map +1 -0
  393. package/dist/core/workflow/query/query.js +29 -0
  394. package/dist/core/workflow/query/query.js.map +1 -0
  395. package/dist/core/workflow/query/types.d.ts +67 -0
  396. package/dist/core/workflow/query/types.d.ts.map +1 -0
  397. package/dist/core/workflow/query/types.js +2 -0
  398. package/dist/core/workflow/query/types.js.map +1 -0
  399. package/dist/core/workflow/verify/coherence.d.ts +30 -0
  400. package/dist/core/workflow/verify/coherence.d.ts.map +1 -0
  401. package/dist/core/workflow/verify/coherence.js +206 -0
  402. package/dist/core/workflow/verify/coherence.js.map +1 -0
  403. package/dist/core/workflow/verify/completeness.d.ts +24 -0
  404. package/dist/core/workflow/verify/completeness.d.ts.map +1 -0
  405. package/dist/core/workflow/verify/completeness.js +172 -0
  406. package/dist/core/workflow/verify/completeness.js.map +1 -0
  407. package/dist/core/workflow/verify/correctness.d.ts +38 -0
  408. package/dist/core/workflow/verify/correctness.d.ts.map +1 -0
  409. package/dist/core/workflow/verify/correctness.js +352 -0
  410. package/dist/core/workflow/verify/correctness.js.map +1 -0
  411. package/dist/core/workflow/verify/index.d.ts +7 -0
  412. package/dist/core/workflow/verify/index.d.ts.map +1 -0
  413. package/dist/core/workflow/verify/index.js +6 -0
  414. package/dist/core/workflow/verify/index.js.map +1 -0
  415. package/dist/core/workflow/verify/vault-integrity.d.ts +45 -0
  416. package/dist/core/workflow/verify/vault-integrity.d.ts.map +1 -0
  417. package/dist/core/workflow/verify/vault-integrity.js +141 -0
  418. package/dist/core/workflow/verify/vault-integrity.js.map +1 -0
  419. package/dist/core/workflow/verify/verify.d.ts +23 -0
  420. package/dist/core/workflow/verify/verify.d.ts.map +1 -0
  421. package/dist/core/workflow/verify/verify.js +122 -0
  422. package/dist/core/workflow/verify/verify.js.map +1 -0
  423. package/dist/index.d.ts +10 -0
  424. package/dist/index.d.ts.map +1 -0
  425. package/dist/index.js +2 -0
  426. package/dist/index.js.map +1 -0
  427. package/dist/types/delta.d.ts +17 -0
  428. package/dist/types/delta.d.ts.map +1 -0
  429. package/dist/types/delta.js +2 -0
  430. package/dist/types/delta.js.map +1 -0
  431. package/dist/types/frontmatter.d.ts +51 -0
  432. package/dist/types/frontmatter.d.ts.map +1 -0
  433. package/dist/types/frontmatter.js +2 -0
  434. package/dist/types/frontmatter.js.map +1 -0
  435. package/dist/types/index-record.d.ts +46 -0
  436. package/dist/types/index-record.d.ts.map +1 -0
  437. package/dist/types/index-record.js +2 -0
  438. package/dist/types/index-record.js.map +1 -0
  439. package/dist/types/index.d.ts +11 -0
  440. package/dist/types/index.d.ts.map +1 -0
  441. package/dist/types/index.js +2 -0
  442. package/dist/types/index.js.map +1 -0
  443. package/dist/types/next-action.d.ts +10 -0
  444. package/dist/types/next-action.d.ts.map +1 -0
  445. package/dist/types/next-action.js +2 -0
  446. package/dist/types/next-action.js.map +1 -0
  447. package/dist/types/notes.d.ts +9 -0
  448. package/dist/types/notes.d.ts.map +1 -0
  449. package/dist/types/notes.js +2 -0
  450. package/dist/types/notes.js.map +1 -0
  451. package/dist/types/requirement.d.ts +19 -0
  452. package/dist/types/requirement.d.ts.map +1 -0
  453. package/dist/types/requirement.js +2 -0
  454. package/dist/types/requirement.js.map +1 -0
  455. package/dist/types/retrieval.d.ts +32 -0
  456. package/dist/types/retrieval.d.ts.map +1 -0
  457. package/dist/types/retrieval.js +2 -0
  458. package/dist/types/retrieval.js.map +1 -0
  459. package/dist/types/sequencing.d.ts +83 -0
  460. package/dist/types/sequencing.d.ts.map +1 -0
  461. package/dist/types/sequencing.js +2 -0
  462. package/dist/types/sequencing.js.map +1 -0
  463. package/dist/types/task.d.ts +7 -0
  464. package/dist/types/task.d.ts.map +1 -0
  465. package/dist/types/task.js +2 -0
  466. package/dist/types/task.js.map +1 -0
  467. package/dist/types/verify.d.ts +23 -0
  468. package/dist/types/verify.d.ts.map +1 -0
  469. package/dist/types/verify.js +2 -0
  470. package/dist/types/verify.js.map +1 -0
  471. package/dist/utils/hash.d.ts +6 -0
  472. package/dist/utils/hash.d.ts.map +1 -0
  473. package/dist/utils/hash.js +9 -0
  474. package/dist/utils/hash.js.map +1 -0
  475. package/dist/utils/id-generator.d.ts +17 -0
  476. package/dist/utils/id-generator.d.ts.map +1 -0
  477. package/dist/utils/id-generator.js +24 -0
  478. package/dist/utils/id-generator.js.map +1 -0
  479. package/dist/utils/index.d.ts +4 -0
  480. package/dist/utils/index.d.ts.map +1 -0
  481. package/dist/utils/index.js +4 -0
  482. package/dist/utils/index.js.map +1 -0
  483. package/dist/utils/normalize.d.ts +11 -0
  484. package/dist/utils/normalize.d.ts.map +1 -0
  485. package/dist/utils/normalize.js +15 -0
  486. package/dist/utils/normalize.js.map +1 -0
  487. package/package.json +61 -0
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Detect duplicate ids among raw records.
3
+ */
4
+ export function detectDuplicateIds(records) {
5
+ const idToPaths = new Map();
6
+ for (const record of records) {
7
+ const paths = idToPaths.get(record.id) ?? [];
8
+ paths.push(record.path);
9
+ idToPaths.set(record.id, paths);
10
+ }
11
+ const duplicates = new Map();
12
+ for (const [id, paths] of idToPaths) {
13
+ if (paths.length > 1) {
14
+ duplicates.set(id, paths);
15
+ }
16
+ }
17
+ return duplicates;
18
+ }
19
+ /**
20
+ * Build canonical IndexWarning[] from all detected issues.
21
+ */
22
+ export function buildWarnings(duplicateIds, linkErrors, missingIds, invalidFrontmatterPaths, schemaVersion) {
23
+ const warnings = [];
24
+ // Invalid frontmatter
25
+ for (const path of invalidFrontmatterPaths) {
26
+ warnings.push({
27
+ type: 'invalid_frontmatter',
28
+ note_path: path,
29
+ message: 'File has frontmatter delimiters but YAML could not be parsed',
30
+ });
31
+ }
32
+ // Duplicate IDs
33
+ for (const [id, paths] of duplicateIds) {
34
+ for (const path of paths) {
35
+ warnings.push({
36
+ type: 'duplicate_id',
37
+ note_path: path,
38
+ message: `Duplicate id "${id}" also found in: ${paths.filter(p => p !== path).join(', ')}`,
39
+ });
40
+ }
41
+ }
42
+ // Unresolved wikilinks
43
+ for (const error of linkErrors) {
44
+ if (error.error === 'no_match') {
45
+ warnings.push({
46
+ type: 'unresolved_wikilink',
47
+ note_path: error.source_path,
48
+ message: `Unresolved wikilink "${error.raw_link}"`,
49
+ });
50
+ }
51
+ else if (error.error === 'ambiguous_alias') {
52
+ warnings.push({
53
+ type: 'ambiguous_alias',
54
+ note_path: error.source_path,
55
+ message: `Ambiguous alias "${error.raw_link}", candidates: ${error.candidates?.join(', ')}`,
56
+ });
57
+ }
58
+ }
59
+ // Missing IDs
60
+ for (const path of missingIds) {
61
+ warnings.push({
62
+ type: 'missing_id',
63
+ note_path: path,
64
+ message: 'Typed note has no id field',
65
+ });
66
+ }
67
+ // Schema mismatch
68
+ if (schemaVersion === 'unknown') {
69
+ warnings.push({
70
+ type: 'schema_mismatch',
71
+ note_path: 'wiki/00-meta/schema.md',
72
+ message: 'No schema.md found or schema_version is missing',
73
+ });
74
+ }
75
+ return warnings;
76
+ }
77
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/core/index/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { ScannedChange, ConversionResult } from './types.js';
2
+ /**
3
+ * Convert a single OpenSpec change into a Change note.
4
+ * Optionally produces a Decision note if design.md has significant content.
5
+ */
6
+ export declare function convertChange(change: ScannedChange, featureRefs: Map<string, string>, systemRefMap: Map<string, string>): {
7
+ changeNote: ConversionResult;
8
+ decisionNote: ConversionResult | null;
9
+ warnings: string[];
10
+ };
11
+ /**
12
+ * Convert all changes into Change notes (and optional Decision notes).
13
+ */
14
+ export declare function convertAllChanges(changes: ScannedChange[], featureRefs: Map<string, string>, systemRefMap: Map<string, string>): {
15
+ results: ConversionResult[];
16
+ warnings: string[];
17
+ };
18
+ //# sourceMappingURL=change-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-converter.d.ts","sourceRoot":"","sources":["../../../src/core/migrate/change-converter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQlE;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC;IAAE,UAAU,EAAE,gBAAgB,CAAC;IAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA0E7F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EAAE,EACxB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC;IAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAgBrD"}
@@ -0,0 +1,475 @@
1
+ /**
2
+ * Converts OpenSpec changes into open-wiki-spec Change notes and Decision notes.
3
+ */
4
+ import * as path from 'node:path';
5
+ const WHY_SECTION_RE = /^##\s+Why$/m;
6
+ const WHAT_CHANGES_RE = /^##\s+What\s+Changes$/m;
7
+ const IMPACT_RE = /^##\s+Impact$/m;
8
+ const CAPABILITIES_RE = /^##\s+Capabilities$/m;
9
+ const TASK_LINE_RE = /^-\s+\[([xX ])\]\s+(.+)$/;
10
+ /**
11
+ * Convert a single OpenSpec change into a Change note.
12
+ * Optionally produces a Decision note if design.md has significant content.
13
+ */
14
+ export function convertChange(change, featureRefs, systemRefMap) {
15
+ const warnings = [];
16
+ const id = change.name;
17
+ const title = formatChangeTitle(change.name);
18
+ // Extract proposal sections
19
+ const why = extractSection(change.proposal ?? '', WHY_SECTION_RE) || '<!-- Why not specified in original proposal -->';
20
+ const whatChanges = extractSection(change.proposal ?? '', WHAT_CHANGES_RE);
21
+ const impactText = extractSection(change.proposal ?? '', IMPACT_RE);
22
+ const nonGoals = extractSection(change.proposal ?? '', /^##\s+Non-?goals$/im);
23
+ // Determine status
24
+ const status = change.archived ? 'applied' : 'proposed';
25
+ // Determine created_at
26
+ const createdAt = resolveCreatedAt(change);
27
+ // Parse capabilities from proposal for feature linking
28
+ const capabilities = parseCapabilities(change.proposal ?? '');
29
+ // Build feature reference
30
+ const featureRef = resolveFeatureRef(change, featureRefs, capabilities, warnings);
31
+ // Build delta summary from delta specs
32
+ const deltaSummary = buildDeltaSummary(change, featureRefs);
33
+ // Extract tasks from tasks.md
34
+ const tasksBlock = buildTasksBlock(change.tasks);
35
+ // Build design approach from design.md
36
+ const designApproach = change.design
37
+ ? extractDesignSummary(change.design)
38
+ : '<!-- No design document in original change -->';
39
+ // Build touches refs (from delta specs, metadata, and capabilities)
40
+ const touchesRefs = buildTouchesRefs(change, featureRefs, capabilities);
41
+ // Build depends_on
42
+ const dependsOn = change.metadata?.dependsOn?.map(d => `"[[${d}]]"`) ?? [];
43
+ // Build system refs
44
+ const systemRefs = inferSystemRefsFromChange(change, featureRefs, systemRefMap);
45
+ const changeContent = buildChangeNote({
46
+ id,
47
+ title,
48
+ status,
49
+ createdAt,
50
+ featureRef,
51
+ dependsOn,
52
+ touchesRefs,
53
+ systemRefs,
54
+ why,
55
+ deltaSummary,
56
+ proposedUpdate: buildProposedUpdate(whatChanges, nonGoals),
57
+ designApproach,
58
+ impactText: impactText || '<!-- Impact not specified -->',
59
+ tasksBlock,
60
+ });
61
+ const targetDir = change.archived ? path.join('wiki', '99-archive') : path.join('wiki', '04-changes');
62
+ const changeNote = {
63
+ targetPath: path.join(targetDir, `${id}.md`),
64
+ content: changeContent,
65
+ sourceDescription: `openspec/changes/${change.archived ? 'archive/' : ''}${change.name}/`,
66
+ };
67
+ // Build decision note if design.md is substantial
68
+ let decisionNote = null;
69
+ if (change.design && isSubstantialDesign(change.design)) {
70
+ decisionNote = buildDecisionNote(change);
71
+ }
72
+ return { changeNote, decisionNote, warnings };
73
+ }
74
+ /**
75
+ * Convert all changes into Change notes (and optional Decision notes).
76
+ */
77
+ export function convertAllChanges(changes, featureRefs, systemRefMap) {
78
+ const results = [];
79
+ const warnings = [];
80
+ for (const change of changes) {
81
+ try {
82
+ const { changeNote, decisionNote, warnings: cw } = convertChange(change, featureRefs, systemRefMap);
83
+ results.push(changeNote);
84
+ if (decisionNote)
85
+ results.push(decisionNote);
86
+ warnings.push(...cw);
87
+ }
88
+ catch (err) {
89
+ warnings.push(`Failed to convert change ${change.name}: ${err.message}`);
90
+ }
91
+ }
92
+ return { results, warnings };
93
+ }
94
+ function buildChangeNote(opts) {
95
+ const dependsOnYaml = opts.dependsOn.length > 0
96
+ ? opts.dependsOn.map(d => ` - ${d}`).join('\n')
97
+ : '';
98
+ const touchesYaml = opts.touchesRefs.length > 0
99
+ ? opts.touchesRefs.map(t => ` - ${t}`).join('\n')
100
+ : '';
101
+ const systemsYaml = opts.systemRefs.length > 0
102
+ ? opts.systemRefs.map(s => ` - ${s}`).join('\n')
103
+ : ' - "[[default-system]]"';
104
+ return `---
105
+ type: change
106
+ id: ${opts.id}
107
+ status: ${opts.status}
108
+ created_at: "${opts.createdAt}"
109
+ feature: "${opts.featureRef}"
110
+ depends_on:
111
+ ${dependsOnYaml || ' []'}
112
+ touches:
113
+ ${touchesYaml || ' []'}
114
+ systems:
115
+ ${systemsYaml}
116
+ sources: []
117
+ decisions: []
118
+ tags:
119
+ - change
120
+ - migrated
121
+ ---
122
+
123
+ # Change: ${opts.title}
124
+
125
+ ## Why
126
+
127
+ ${opts.why}
128
+
129
+ ## Delta Summary
130
+ ${opts.deltaSummary || '<!-- No delta specs found in original change -->'}
131
+
132
+ ## Proposed Update
133
+
134
+ ${opts.proposedUpdate}
135
+
136
+ ## Design Approach
137
+
138
+ ${opts.designApproach}
139
+
140
+ ## Impact
141
+
142
+ ${opts.impactText}
143
+
144
+ ## Tasks
145
+ ${opts.tasksBlock || '- [ ] Review migrated change'}
146
+
147
+ ## Validation
148
+
149
+ <!-- Validation criteria not specified in original change -->
150
+
151
+ ## Status Notes
152
+
153
+ <!-- Migrated from OpenSpec -->
154
+ `;
155
+ }
156
+ function buildDecisionNote(change) {
157
+ const id = `decision-${change.name}`;
158
+ const title = formatChangeTitle(change.name);
159
+ const context = extractSection(change.design ?? '', /^##\s+Context$/m) || '<!-- Context from design.md -->';
160
+ const decisions = extractSection(change.design ?? '', /^##\s+Decisions?$/m) || change.design || '';
161
+ const goals = extractSection(change.design ?? '', /^##\s+Goals/m);
162
+ const changeTitle = `Change: ${title}`;
163
+ const content = `---
164
+ type: decision
165
+ id: ${id}
166
+ status: active
167
+ features: []
168
+ changes:
169
+ - "[[${changeTitle}]]"
170
+ tags:
171
+ - decision
172
+ - migrated
173
+ ---
174
+
175
+ # Decision: ${title}
176
+
177
+ ## Context
178
+
179
+ ${context}
180
+
181
+ ## Options Considered
182
+
183
+ ${goals ? goals : '<!-- Options not explicitly documented -->'}
184
+
185
+ ## Decision
186
+
187
+ ${decisions}
188
+
189
+ ## Consequences
190
+
191
+ <!-- Consequences not explicitly documented in original design -->
192
+
193
+ ## Related Notes
194
+ `;
195
+ return {
196
+ targetPath: path.join('wiki', '05-decisions', `${id}.md`),
197
+ content,
198
+ sourceDescription: `openspec/changes/${change.archived ? 'archive/' : ''}${change.name}/design.md`,
199
+ };
200
+ }
201
+ function buildProposedUpdate(whatChanges, nonGoals) {
202
+ const parts = [];
203
+ if (whatChanges)
204
+ parts.push(whatChanges);
205
+ if (nonGoals)
206
+ parts.push(`### Non-goals\n\n${nonGoals}`);
207
+ return parts.join('\n\n') || '<!-- See delta summary for details -->';
208
+ }
209
+ function extractSection(content, sectionRe) {
210
+ const match = content.match(sectionRe);
211
+ if (!match)
212
+ return '';
213
+ const startIdx = match.index + match[0].length;
214
+ const remaining = content.slice(startIdx);
215
+ const nextH2 = remaining.match(/\n## /);
216
+ const sectionContent = nextH2 ? remaining.slice(0, nextH2.index) : remaining;
217
+ return sectionContent.trim();
218
+ }
219
+ function resolveCreatedAt(change) {
220
+ // Try metadata first
221
+ if (change.metadata?.created) {
222
+ return change.metadata.created;
223
+ }
224
+ // Try archived date prefix (e.g., "2025-01-11-add-update-command")
225
+ if (change.archived) {
226
+ const dateMatch = change.name.match(/^(\d{4}-\d{2}-\d{2})-/);
227
+ if (dateMatch)
228
+ return dateMatch[1];
229
+ }
230
+ // Default to today
231
+ return new Date().toISOString().slice(0, 10);
232
+ }
233
+ function resolveFeatureRef(change, featureRefs, capabilities, warnings) {
234
+ // Try to match from delta specs first (most precise)
235
+ if (change.deltaSpecs.length > 0) {
236
+ const firstCapability = change.deltaSpecs[0].capability;
237
+ const ref = featureRefs.get(firstCapability);
238
+ if (ref)
239
+ return ref;
240
+ }
241
+ // Try modified capabilities from proposal (indicates the primary feature being changed)
242
+ for (const cap of capabilities.modifiedCapabilities) {
243
+ const ref = featureRefs.get(cap);
244
+ if (ref)
245
+ return ref;
246
+ }
247
+ // Try new capabilities from proposal
248
+ for (const cap of capabilities.newCapabilities) {
249
+ const ref = featureRefs.get(cap);
250
+ if (ref)
251
+ return ref;
252
+ }
253
+ // Try to match from touches metadata
254
+ if (change.metadata?.touches && change.metadata.touches.length > 0) {
255
+ const firstTouch = change.metadata.touches[0];
256
+ const ref = featureRefs.get(firstTouch);
257
+ if (ref)
258
+ return ref;
259
+ }
260
+ // Try to infer from change name
261
+ for (const [capability, ref] of featureRefs) {
262
+ if (change.name.includes(capability)) {
263
+ return ref;
264
+ }
265
+ }
266
+ warnings.push(`Could not resolve feature reference for change ${change.name}, using placeholder`);
267
+ return '[[unknown-feature]]';
268
+ }
269
+ function buildDeltaSummary(change, featureRefs) {
270
+ if (change.deltaSpecs.length === 0)
271
+ return '';
272
+ const lines = [];
273
+ for (const delta of change.deltaSpecs) {
274
+ const ref = featureRefs.get(delta.capability) ?? `[[${delta.capability}]]`;
275
+ const deltaEntries = parseDeltaSpecContent(delta.content, ref);
276
+ if (deltaEntries.length > 0) {
277
+ lines.push(...deltaEntries);
278
+ }
279
+ else {
280
+ // Fallback: generic entry if no structured content found
281
+ lines.push(`- MODIFIED section "Migrated Content" in ${ref} [base: n/a]`);
282
+ }
283
+ }
284
+ return lines.join('\n');
285
+ }
286
+ const DELTA_SECTION_HEADING_RE = /^##\s+(ADDED|MODIFIED|REMOVED)\s+Requirements$/gm;
287
+ const DELTA_REQ_HEADING_RE = /^###\s+Requirement:\s*(.+)$/;
288
+ /**
289
+ * Parse a delta spec file's content to extract structured delta summary entries.
290
+ * Real delta specs use headings like:
291
+ * ## ADDED Requirements
292
+ * ### Requirement: Some Name
293
+ * ## MODIFIED Requirements
294
+ * ### Requirement: Other Name
295
+ */
296
+ function parseDeltaSpecContent(content, featureRef) {
297
+ const entries = [];
298
+ const lines = content.split('\n');
299
+ let currentOp = null;
300
+ for (const line of lines) {
301
+ // Check for delta operation heading
302
+ const opMatch = line.match(/^##\s+(ADDED|MODIFIED|REMOVED)\s+Requirements$/);
303
+ if (opMatch) {
304
+ currentOp = opMatch[1];
305
+ continue;
306
+ }
307
+ // Check for requirement heading under a delta op
308
+ if (currentOp) {
309
+ const reqMatch = line.match(DELTA_REQ_HEADING_RE);
310
+ if (reqMatch) {
311
+ const reqName = reqMatch[1].trim();
312
+ const preposition = currentOp === 'ADDED' ? 'to' : currentOp === 'REMOVED' ? 'from' : 'in';
313
+ const baseFP = currentOp === 'ADDED' ? ' [base: n/a]' : ' [base: migrated]';
314
+ entries.push(`- ${currentOp} requirement "${reqName}" ${preposition} ${featureRef}${baseFP}`);
315
+ }
316
+ }
317
+ // Reset op if we hit a non-delta H2
318
+ if (line.match(/^##\s+/) && !line.match(/^##\s+(ADDED|MODIFIED|REMOVED)\s+Requirements$/)) {
319
+ currentOp = null;
320
+ }
321
+ }
322
+ return entries;
323
+ }
324
+ function buildTasksBlock(tasksContent) {
325
+ if (!tasksContent)
326
+ return '';
327
+ const lines = tasksContent.split('\n');
328
+ const tasks = [];
329
+ for (const line of lines) {
330
+ const match = line.match(TASK_LINE_RE);
331
+ if (match) {
332
+ const done = match[1] !== ' ';
333
+ const text = match[2].trim();
334
+ tasks.push(`- [${done ? 'x' : ' '}] ${text}`);
335
+ }
336
+ }
337
+ return tasks.join('\n') || '- [ ] Review migrated change';
338
+ }
339
+ /**
340
+ * Parse the ## Capabilities section from a proposal to extract capability names.
341
+ * Real format:
342
+ * ## Capabilities
343
+ * ### New Capabilities
344
+ * - `capability-name`: description
345
+ * ### Modified Capabilities
346
+ * - `capability-name`: description
347
+ */
348
+ function parseCapabilities(proposal) {
349
+ const result = { newCapabilities: [], modifiedCapabilities: [] };
350
+ const capSection = extractSection(proposal, CAPABILITIES_RE);
351
+ if (!capSection)
352
+ return result;
353
+ const lines = capSection.split('\n');
354
+ let currentSubsection = null;
355
+ for (const line of lines) {
356
+ if (line.match(/^###\s+New\s+Capabilities/i)) {
357
+ currentSubsection = 'new';
358
+ continue;
359
+ }
360
+ if (line.match(/^###\s+Modified\s+Capabilities/i)) {
361
+ currentSubsection = 'modified';
362
+ continue;
363
+ }
364
+ if (currentSubsection && line.startsWith('- ')) {
365
+ // Extract capability name from "- `name`: description" or "- name: description"
366
+ const backtickMatch = line.match(/^-\s+`([^`]+)`/);
367
+ const plainMatch = line.match(/^-\s+(\S+?):/);
368
+ const capName = backtickMatch?.[1] ?? plainMatch?.[1];
369
+ if (capName && capName !== '_(none)_') {
370
+ if (currentSubsection === 'new') {
371
+ result.newCapabilities.push(capName);
372
+ }
373
+ else {
374
+ result.modifiedCapabilities.push(capName);
375
+ }
376
+ }
377
+ }
378
+ }
379
+ return result;
380
+ }
381
+ function buildTouchesRefs(change, featureRefs, capabilities) {
382
+ const refs = [];
383
+ const seen = new Set();
384
+ // From delta specs
385
+ for (const delta of change.deltaSpecs) {
386
+ const ref = featureRefs.get(delta.capability);
387
+ if (ref && !seen.has(ref)) {
388
+ refs.push(`"${ref}"`);
389
+ seen.add(ref);
390
+ }
391
+ }
392
+ // From capabilities section (new + modified)
393
+ for (const cap of [...capabilities.newCapabilities, ...capabilities.modifiedCapabilities]) {
394
+ const ref = featureRefs.get(cap);
395
+ if (ref && !seen.has(ref)) {
396
+ refs.push(`"${ref}"`);
397
+ seen.add(ref);
398
+ }
399
+ }
400
+ // From metadata touches
401
+ if (change.metadata?.touches) {
402
+ for (const touch of change.metadata.touches) {
403
+ const ref = featureRefs.get(touch) ?? `"[[${touch}]]"`;
404
+ if (!seen.has(ref)) {
405
+ refs.push(ref.startsWith('"') ? ref : `"${ref}"`);
406
+ seen.add(ref);
407
+ }
408
+ }
409
+ }
410
+ return refs;
411
+ }
412
+ function inferSystemRefsFromChange(change, featureRefs, systemRefMap) {
413
+ const refs = [];
414
+ const seen = new Set();
415
+ // From delta specs — most precise
416
+ for (const delta of change.deltaSpecs) {
417
+ const ref = systemRefMap.get(delta.capability);
418
+ if (ref && !seen.has(ref)) {
419
+ refs.push(`"${ref}"`);
420
+ seen.add(ref);
421
+ }
422
+ }
423
+ // From metadata touches
424
+ if (change.metadata?.touches) {
425
+ for (const touch of change.metadata.touches) {
426
+ const ref = systemRefMap.get(touch);
427
+ if (ref && !seen.has(ref)) {
428
+ refs.push(`"${ref}"`);
429
+ seen.add(ref);
430
+ }
431
+ }
432
+ }
433
+ // From metadata provides (new capabilities)
434
+ if (change.metadata?.provides) {
435
+ for (const cap of change.metadata.provides) {
436
+ const ref = systemRefMap.get(cap);
437
+ if (ref && !seen.has(ref)) {
438
+ refs.push(`"${ref}"`);
439
+ seen.add(ref);
440
+ }
441
+ }
442
+ }
443
+ return refs;
444
+ }
445
+ function extractDesignSummary(design) {
446
+ // Extract the main content, trying Context or Decisions sections first
447
+ const context = extractSection(design, /^##\s+Context$/m);
448
+ const decisions = extractSection(design, /^##\s+Decisions?$/m);
449
+ const goals = extractSection(design, /^##\s+Goals/m);
450
+ const parts = [];
451
+ if (context)
452
+ parts.push(context);
453
+ if (goals)
454
+ parts.push(goals);
455
+ if (decisions)
456
+ parts.push(decisions);
457
+ if (parts.length > 0)
458
+ return parts.join('\n\n');
459
+ // Fallback: return the whole design content without H1
460
+ return design.replace(/^#\s+.+\n*/m, '').trim() || '<!-- Design content could not be extracted -->';
461
+ }
462
+ function isSubstantialDesign(design) {
463
+ // Consider a design substantial if it has more than 200 chars of actual content
464
+ const stripped = design.replace(/^#.*$/gm, '').replace(/<!--.*?-->/gs, '').trim();
465
+ return stripped.length > 200;
466
+ }
467
+ function formatChangeTitle(name) {
468
+ // Remove date prefix for archived changes
469
+ const withoutDate = name.replace(/^\d{4}-\d{2}-\d{2}-/, '');
470
+ return withoutDate
471
+ .split('-')
472
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1))
473
+ .join(' ');
474
+ }
475
+ //# sourceMappingURL=change-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-converter.js","sourceRoot":"","sources":["../../../src/core/migrate/change-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export { scanOpenSpec, findOpenSpecDir } from './scanner.js';
2
+ export { convertSpec, convertAllSpecs } from './spec-converter.js';
3
+ export { convertChange, convertAllChanges } from './change-converter.js';
4
+ export { convertConfigToSource } from './source-converter.js';
5
+ export { inferSystems, convertSystems, buildSystemRefMap, buildFeatureRefMap } from './system-inferrer.js';
6
+ export { planMigration, executeMigration, migrate } from './migrate.js';
7
+ export type { MigrateOptions, MigrationPlan, MigrationResult, MigrationStep, ConversionResult, ScanResult, ScannedSpec, ScannedChange, OpenSpecConfig, OpenSpecChangeMetadata, } from './types.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/migrate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACxE,YAAY,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { scanOpenSpec, findOpenSpecDir } from './scanner.js';
2
+ export { convertSpec, convertAllSpecs } from './spec-converter.js';
3
+ export { convertChange, convertAllChanges } from './change-converter.js';
4
+ export { convertConfigToSource } from './source-converter.js';
5
+ export { inferSystems, convertSystems, buildSystemRefMap, buildFeatureRefMap } from './system-inferrer.js';
6
+ export { planMigration, executeMigration, migrate } from './migrate.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/migrate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { MigrateOptions, MigrationPlan, MigrationResult } from './types.js';
2
+ /**
3
+ * Plan a migration from OpenSpec to open-wiki-spec.
4
+ * Does not write any files - just produces a plan.
5
+ */
6
+ export declare function planMigration(options: MigrateOptions): MigrationPlan;
7
+ /**
8
+ * Execute a migration plan: init vault structure and write all files.
9
+ */
10
+ export declare function executeMigration(plan: MigrationPlan, dryRun?: boolean): Promise<MigrationResult>;
11
+ /**
12
+ * Run the full migration: plan and execute.
13
+ */
14
+ export declare function migrate(options: MigrateOptions): Promise<MigrationResult>;
15
+ //# sourceMappingURL=migrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/core/migrate/migrate.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,eAAe,EAGhB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAuGpE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,aAAa,EACnB,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,eAAe,CAAC,CA4C1B;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAG/E"}