@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":"validator.js","sourceRoot":"","sources":["../../../src/core/validation/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/core/validation/validator.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,19 @@
1
1
  import { type ChangeMetadata } from '../core/change-metadata/index.js';
2
+ import { SchemaLoadError } from '../core/artifact-graph/resolver.js';
2
3
  export declare const METADATA_FILENAME = ".tospec.yaml";
3
4
  export declare class ChangeMetadataError extends Error {
4
5
  readonly metadataPath: string;
5
6
  readonly cause?: Error | undefined;
6
7
  constructor(message: string, metadataPath: string, cause?: Error | undefined);
7
8
  }
9
+ /**
10
+ * The metadata parses, but names a schema that does not exist. Its own class
11
+ * so validate can tell it from a bad field: it said "Fix the schema name" for
12
+ * `created: bad` too, where the schema name was fine.
13
+ */
14
+ export declare class UnknownChangeSchemaError extends ChangeMetadataError {
15
+ constructor(message: string, metadataPath: string);
16
+ }
8
17
  /** @throws Error when the name is not among the resolvable schemas. */
9
18
  export declare function validateSchemaName(schemaName: string, projectRoot?: string): string;
10
19
  /** @throws ChangeMetadataError when validation or the write fails. */
@@ -15,20 +24,68 @@ export declare function writeChangeMetadata(changeDir: string, metadata: ChangeM
15
24
  */
16
25
  export declare function readChangeMetadata(changeDir: string, projectRoot?: string): ChangeMetadata | null;
17
26
  /**
18
- * Reads the `skip_specs` declaration without full metadata validation, so a bad
19
- * value is reported rather than taking the whole read down: readChangeMetadata
20
- * throws on any Zod failure, turning a mistyped skip_specs into an opaque error
21
- * or into the "must have at least one delta" message the marker exists to
22
- * suppress. Kept beside readChangeMetadata so the two readers cannot drift.
27
+ * Reads the `skip_specs` declaration, and is the only reader that reports a bad
28
+ * value: readChangeMetadata reads one as unset. Both apply isUsableSkipSpecs and
29
+ * sit side by side, so they cannot drift.
23
30
  */
24
31
  export declare function readSkipSpecsMarker(changeDir: string): {
25
32
  declared: boolean;
26
33
  invalidReason?: string;
27
34
  unreadableReason?: string;
28
35
  };
36
+ /**
37
+ * Adds `file` to the change's `decisions:` list in place; false when the list
38
+ * already names it. Edits the YAML document rather than calling
39
+ * writeChangeMetadata, which re-serialises the Zod-parsed object and so drops
40
+ * comments and the `x-` keys this file reserves for other tools.
41
+ *
42
+ * The caller reads the file through readChangeMetadata first: this only
43
+ * refuses what it cannot edit, it does not re-check the other fields.
44
+ * @throws ChangeMetadataError when the file does not parse or `decisions` is not a list.
45
+ */
46
+ export declare function appendChangeDecision(changeDir: string, file: string): boolean;
47
+ /**
48
+ * Top-level keys the schema does not know. Zod strips them on read, so a
49
+ * misspelled `decision:` lost its ADR links with nothing said, and
50
+ * `validate --strict` still passed.
51
+ */
52
+ export declare function findUnknownMetadataKeys(changeDir: string): string[];
53
+ /** The known key an unknown one was probably meant to be, if any is close. */
54
+ export declare function suggestMetadataKey(key: string): string | undefined;
29
55
  export interface ResolveSchemaForChangeOptions {
30
56
  metadata?: ChangeMetadata | null;
31
57
  }
32
58
  /** Explicit override -> .tospec.yaml -> tospec/config.yaml -> 'sdd'. */
33
59
  export declare function resolveSchemaForChange(changeDir: string, explicitSchema?: string, projectRootOverride?: string, options?: ResolveSchemaForChangeOptions): string;
60
+ /**
61
+ * The file to fix when a change's schema does not resolve: its `.tospec.yaml`
62
+ * (a field that does not read, or a schema name that does not exist), the
63
+ * `tospec/config.yaml` the name fell back to, or the schema.yaml the name
64
+ * found.
65
+ */
66
+ export type ChangeSchemaFault = {
67
+ at: 'metadata';
68
+ error: unknown;
69
+ } | {
70
+ at: 'config';
71
+ schemaName: string;
72
+ error: unknown;
73
+ } | {
74
+ at: 'schema-file';
75
+ schemaName: string;
76
+ error: SchemaLoadError;
77
+ };
78
+ /**
79
+ * Null when the schema resolves, so the fault lies elsewhere. Re-derived from
80
+ * the files, not read off a caught error: a sweep's catch also receives I/O
81
+ * errors, and an error message is not a contract.
82
+ */
83
+ export declare function findChangeSchemaFault(changeDir: string, projectRoot: string, explicitSchema?: string): ChangeSchemaFault | null;
84
+ /**
85
+ * The fix `list` and `status --all` give for a change that could not be read.
86
+ * One function, so the two batch commands cannot drift apart again (TS-057
87
+ * made their text identical). The config wording is the one `new change`
88
+ * uses, so both name the same field the same way.
89
+ */
90
+ export declare function unreadableChangeFix(changeName: string, changeDir: string, projectRoot: string, explicitSchema?: string): string;
34
91
  //# sourceMappingURL=change-metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"change-metadata.d.ts","sourceRoot":"","sources":["../../src/utils/change-metadata.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAI7F,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAgBhD,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,YAAY,EAAE,MAAM;aACpB,KAAK,CAAC,EAAE,KAAK;IAH/B,YACE,OAAO,EAAE,MAAM,EACC,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,KAAK,YAAA,EAI9B;CACF;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAQR;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CA4BN;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,cAAc,GAAG,IAAI,CAwDvB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG;IACtD,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CA2BA;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CAClC;AAED,wEAAwE;AACxE,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,EACvB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,OAAO,GAAE,6BAAkC,GAC1C,MAAM,CAwBR"}
1
+ {"version":3,"file":"change-metadata.d.ts","sourceRoot":"","sources":["../../src/utils/change-metadata.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EAGL,eAAe,EAEhB,MAAM,oCAAoC,CAAC;AAK5C,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAgBhD,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,YAAY,EAAE,MAAM;aACpB,KAAK,CAAC,EAAE,KAAK;IAH/B,YACE,OAAO,EAAE,MAAM,EACC,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,KAAK,YAAA,EAI9B;CACF;AAED;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,mBAAmB;IAC/D,YAAY,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAGhD;CACF;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAUR;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CA4BN;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,cAAc,GAAG,IAAI,CA4DvB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG;IACtD,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAwBA;AA8BD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CA4B7E;AAWD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAMnE;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASlE;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CAClC;AAED,wEAAwE;AACxE,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,EACvB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,OAAO,GAAE,6BAAkC,GAC1C,MAAM,CAER;AAoCD;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAClC;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACpD;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB,iBAAiB,GAAG,IAAI,CAuB1B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CASR"}
@@ -2,8 +2,10 @@ import * as fs from 'node:fs';
2
2
  import * as path from 'node:path';
3
3
  import * as yaml from 'yaml';
4
4
  import { ChangeMetadataSchema } from '../core/change-metadata/index.js';
5
- import { listSchemas } from '../core/artifact-graph/resolver.js';
5
+ import { listSchemas, resolveChangeSchema, SchemaLoadError, unreadableSchemaFix, } from '../core/artifact-graph/resolver.js';
6
6
  import { readProjectConfig } from '../core/project-config.js';
7
+ import { isChangeSchema } from '../core/schema-names.js';
8
+ import { levenshtein } from './match.js';
7
9
  export const METADATA_FILENAME = '.tospec.yaml';
8
10
  /**
9
11
  * Renders a Zod failure as one line a person can act on. `error.message` is a
@@ -28,11 +30,24 @@ export class ChangeMetadataError extends Error {
28
30
  this.name = 'ChangeMetadataError';
29
31
  }
30
32
  }
33
+ /**
34
+ * The metadata parses, but names a schema that does not exist. Its own class
35
+ * so validate can tell it from a bad field: it said "Fix the schema name" for
36
+ * `created: bad` too, where the schema name was fine.
37
+ */
38
+ export class UnknownChangeSchemaError extends ChangeMetadataError {
39
+ constructor(message, metadataPath) {
40
+ super(message, metadataPath);
41
+ this.name = 'UnknownChangeSchemaError';
42
+ }
43
+ }
31
44
  /** @throws Error when the name is not among the resolvable schemas. */
32
45
  export function validateSchemaName(schemaName, projectRoot) {
33
46
  const availableSchemas = listSchemas(projectRoot);
47
+ // Only the advice drops `decision`, not the membership test: `decision` has
48
+ // to reach assertChangeSchema, whose message names the command to use.
34
49
  if (!availableSchemas.includes(schemaName)) {
35
- throw new Error(`Unknown schema '${schemaName}'. Available: ${availableSchemas.join(', ')}`);
50
+ throw new Error(`Unknown schema '${schemaName}'. Available: ${availableSchemas.filter(isChangeSchema).join(', ')}`);
36
51
  }
37
52
  return schemaName;
38
53
  }
@@ -88,7 +103,11 @@ export function readChangeMetadata(changeDir, projectRoot) {
88
103
  const summary = parseError.message.split('\n')[0].replace(/:\s*$/, '');
89
104
  throw new ChangeMetadataError(`Invalid YAML in ${METADATA_FILENAME} for ${path.basename(changeDir)}: ${summary}`, metaPath, parseError);
90
105
  }
91
- const parseResult = ChangeMetadataSchema.safeParse(parsed);
106
+ // An unusable skip_specs reads as unset rather than failing the read: it
107
+ // took every other field down with it, so validate blamed a schema name that
108
+ // was fine and stopped, and list called the change unreadable. Only
109
+ // readSkipSpecsMarker reports the value.
110
+ const parseResult = ChangeMetadataSchema.safeParse(withoutUnusableSkipSpecs(parsed));
92
111
  if (!parseResult.success) {
93
112
  throw new ChangeMetadataError(`Invalid ${METADATA_FILENAME} for ${path.basename(changeDir)}: ${describeMetadataIssues(parseResult.error)}. Fix ${metaPath}, or remove the offending key to fall back to the project default.`, metaPath);
94
113
  }
@@ -96,66 +115,209 @@ export function readChangeMetadata(changeDir, projectRoot) {
96
115
  // resolveSchemaForChange does.
97
116
  const availableSchemas = listSchemas(projectRoot);
98
117
  if (parseResult.data.schema !== undefined && !availableSchemas.includes(parseResult.data.schema)) {
99
- throw new ChangeMetadataError(`Unknown schema '${parseResult.data.schema}'. Available: ${availableSchemas.join(', ')}`, metaPath);
118
+ throw new UnknownChangeSchemaError(`Unknown schema '${parseResult.data.schema}'. Available: ${availableSchemas.filter(isChangeSchema).join(', ')}`, metaPath);
100
119
  }
101
120
  return parseResult.data;
102
121
  }
103
122
  /**
104
- * Reads the `skip_specs` declaration without full metadata validation, so a bad
105
- * value is reported rather than taking the whole read down: readChangeMetadata
106
- * throws on any Zod failure, turning a mistyped skip_specs into an opaque error
107
- * or into the "must have at least one delta" message the marker exists to
108
- * suppress. Kept beside readChangeMetadata so the two readers cannot drift.
123
+ * Reads the `skip_specs` declaration, and is the only reader that reports a bad
124
+ * value: readChangeMetadata reads one as unset. Both apply isUsableSkipSpecs and
125
+ * sit side by side, so they cannot drift.
109
126
  */
110
127
  export function readSkipSpecsMarker(changeDir) {
111
- const metaPath = path.join(changeDir, METADATA_FILENAME);
112
- if (!fs.existsSync(metaPath))
128
+ const document = readRawMetadata(changeDir);
129
+ if (document.kind === 'absent')
113
130
  return { declared: false };
114
- let parsed;
115
- try {
116
- parsed = yaml.parse(fs.readFileSync(metaPath, 'utf-8'));
117
- }
118
- catch (error) {
119
- // Its own reason, not deferred to readChangeMetadata: the validate/archive
120
- // pipeline never calls that reader, so a `skip_specs: true` indented one
121
- // level too deep would be told to set `skip_specs: true`. Separate from
122
- // invalidReason because loadChangeContext swallows a readChangeMetadata
123
- // throw only when skip_specs is provably at fault.
124
- return { declared: false, unreadableReason: error.message };
125
- }
131
+ // Its own reason, not deferred to readChangeMetadata: validate does call that
132
+ // reader (schema resolution, section checks, the delta requirement), but for
133
+ // an unparseable file it skips the schema check on this reason and the
134
+ // section check swallows the throw, so this is the one place validate reports
135
+ // the file. Without it, a `skip_specs: true` indented one level too deep
136
+ // would be told to set `skip_specs: true`. Separate from
137
+ // invalidReason because validate treats them oppositely: an unusable value
138
+ // reads as unset, an unparseable file leaves skip_specs unknowable.
139
+ if (document.kind === 'unparseable')
140
+ return { declared: false, unreadableReason: document.reason };
141
+ const parsed = document.parsed;
126
142
  if (parsed === null || typeof parsed !== 'object')
127
143
  return { declared: false };
128
144
  const raw = parsed.skip_specs;
129
- if (raw === undefined)
130
- return { declared: false };
131
- if (typeof raw !== 'boolean') {
145
+ if (!isUsableSkipSpecs(raw)) {
132
146
  return {
133
147
  declared: false,
134
148
  invalidReason: `skip_specs must be true or false, found ${JSON.stringify(raw)}.`,
135
149
  };
136
150
  }
137
- return { declared: raw };
151
+ return { declared: raw === true };
152
+ }
153
+ /** Absent or a boolean: the one rule both skip_specs readers apply. */
154
+ function isUsableSkipSpecs(raw) {
155
+ return raw === undefined || typeof raw === 'boolean';
156
+ }
157
+ /** The parsed document minus a skip_specs value isUsableSkipSpecs rejects. */
158
+ function withoutUnusableSkipSpecs(parsed) {
159
+ if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed))
160
+ return parsed;
161
+ const { skip_specs: raw, ...rest } = parsed;
162
+ return isUsableSkipSpecs(raw) ? parsed : rest;
163
+ }
164
+ /**
165
+ * The `.tospec.yaml` document as written, before Zod strips anything. Shared by
166
+ * the readers that must see what the schema would discard.
167
+ */
168
+ function readRawMetadata(changeDir) {
169
+ const metaPath = path.join(changeDir, METADATA_FILENAME);
170
+ if (!fs.existsSync(metaPath))
171
+ return { kind: 'absent' };
172
+ try {
173
+ return { kind: 'parsed', parsed: yaml.parse(fs.readFileSync(metaPath, 'utf-8')) };
174
+ }
175
+ catch (error) {
176
+ return { kind: 'unparseable', reason: error.message };
177
+ }
178
+ }
179
+ /**
180
+ * Adds `file` to the change's `decisions:` list in place; false when the list
181
+ * already names it. Edits the YAML document rather than calling
182
+ * writeChangeMetadata, which re-serialises the Zod-parsed object and so drops
183
+ * comments and the `x-` keys this file reserves for other tools.
184
+ *
185
+ * The caller reads the file through readChangeMetadata first: this only
186
+ * refuses what it cannot edit, it does not re-check the other fields.
187
+ * @throws ChangeMetadataError when the file does not parse or `decisions` is not a list.
188
+ */
189
+ export function appendChangeDecision(changeDir, file) {
190
+ const metaPath = path.join(changeDir, METADATA_FILENAME);
191
+ const existing = fs.existsSync(metaPath) ? fs.readFileSync(metaPath, 'utf-8') : '';
192
+ const bom = existing.startsWith('') ? '' : '';
193
+ const eol = existing.includes('\r\n') ? '\r\n' : '\n';
194
+ const doc = yaml.parseDocument(existing.slice(bom.length));
195
+ if (doc.errors.length > 0) {
196
+ throw new ChangeMetadataError(`Invalid YAML in ${METADATA_FILENAME} for ${path.basename(changeDir)}: ${doc.errors[0].message.split('\n')[0]}`, metaPath);
197
+ }
198
+ const current = doc.get('decisions');
199
+ if (current === undefined || current === null) {
200
+ doc.set('decisions', doc.createNode([file]));
201
+ }
202
+ else if (yaml.isSeq(current)) {
203
+ if (current.items.some((item) => (yaml.isScalar(item) ? item.value : item) === file))
204
+ return false;
205
+ current.add(doc.createNode(file));
206
+ }
207
+ else {
208
+ throw new ChangeMetadataError(`decisions in ${metaPath} is not a list; make it one, or remove it, before linking a decision.`, metaPath);
209
+ }
210
+ // The document always serialises with '\n'; the file keeps the endings it had.
211
+ const content = doc.toString().replace(/\r?\n/g, eol);
212
+ fs.writeFileSync(metaPath, bom + content, 'utf-8');
213
+ return true;
214
+ }
215
+ /** Derived from the schema, so a new field cannot be reported as unknown. */
216
+ const KNOWN_METADATA_KEYS = Object.keys(ChangeMetadataSchema.shape);
217
+ /**
218
+ * Reserved for data a tool keeps in the file on its own behalf. Exempt so that
219
+ * a future read-modify-write has a namespace it must carry through untouched.
220
+ */
221
+ const VENDOR_KEY = /^x-\S+$/;
222
+ /**
223
+ * Top-level keys the schema does not know. Zod strips them on read, so a
224
+ * misspelled `decision:` lost its ADR links with nothing said, and
225
+ * `validate --strict` still passed.
226
+ */
227
+ export function findUnknownMetadataKeys(changeDir) {
228
+ const raw = readRawMetadata(changeDir);
229
+ if (raw.kind !== 'parsed')
230
+ return [];
231
+ const parsed = raw.parsed;
232
+ if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed))
233
+ return [];
234
+ return Object.keys(parsed).filter((key) => !KNOWN_METADATA_KEYS.includes(key) && !VENDOR_KEY.test(key));
235
+ }
236
+ /** The known key an unknown one was probably meant to be, if any is close. */
237
+ export function suggestMetadataKey(key) {
238
+ // Bounded: the key comes from the user's file, and the distance is quadratic.
239
+ if (key.length > 64)
240
+ return undefined;
241
+ let best;
242
+ for (const known of KNOWN_METADATA_KEYS) {
243
+ const distance = levenshtein(key.toLowerCase(), known);
244
+ if (distance <= 2 && (best === undefined || distance < best.distance))
245
+ best = { key: known, distance };
246
+ }
247
+ return best?.key;
138
248
  }
139
249
  /** Explicit override -> .tospec.yaml -> tospec/config.yaml -> 'sdd'. */
140
250
  export function resolveSchemaForChange(changeDir, explicitSchema, projectRootOverride, options = {}) {
251
+ return resolveSchemaNameWithSource(changeDir, explicitSchema, projectRootOverride, options).name;
252
+ }
253
+ function resolveSchemaNameWithSource(changeDir, explicitSchema, projectRootOverride, options) {
141
254
  // changeDir is normally projectRoot/tospec/changes/<name>.
142
255
  const projectRoot = projectRootOverride ?? path.resolve(changeDir, '../../..');
143
256
  if (explicitSchema) {
144
- return explicitSchema;
257
+ return { name: explicitSchema, source: 'explicit' };
145
258
  }
146
259
  const metadata = options.metadata !== undefined ? options.metadata : readChangeMetadata(changeDir, projectRoot);
147
260
  if (metadata?.schema) {
148
- return metadata.schema;
261
+ return { name: metadata.schema, source: 'metadata' };
149
262
  }
150
263
  try {
151
264
  const config = readProjectConfig(projectRoot);
152
265
  if (config?.schema) {
153
- return config.schema;
266
+ return { name: config.schema, source: 'config' };
154
267
  }
155
268
  }
156
269
  catch {
157
270
  // An unreadable config falls through to the default.
158
271
  }
159
- return 'sdd';
272
+ return { name: 'sdd', source: 'default' };
273
+ }
274
+ /**
275
+ * Null when the schema resolves, so the fault lies elsewhere. Re-derived from
276
+ * the files, not read off a caught error: a sweep's catch also receives I/O
277
+ * errors, and an error message is not a contract.
278
+ */
279
+ export function findChangeSchemaFault(changeDir, projectRoot, explicitSchema) {
280
+ let resolved;
281
+ try {
282
+ resolved = resolveSchemaNameWithSource(changeDir, explicitSchema, projectRoot, {});
283
+ }
284
+ catch (error) {
285
+ return { at: 'metadata', error };
286
+ }
287
+ try {
288
+ resolveChangeSchema(resolved.name, projectRoot);
289
+ return null;
290
+ }
291
+ catch (error) {
292
+ if (error instanceof SchemaLoadError) {
293
+ // The directory name, not `resolved.name`: the loader drops a `.yaml`
294
+ // suffix, and the fix names the schema the loader actually opened.
295
+ return { at: 'schema-file', schemaName: path.basename(path.dirname(error.schemaPath)), error };
296
+ }
297
+ // An explicit name is checked before any change is read, so it is not the
298
+ // change's fault. A missing default is no file's, and naming a schema in
299
+ // .tospec.yaml is still the way past it.
300
+ if (resolved.source === 'explicit')
301
+ return null;
302
+ if (resolved.source === 'config')
303
+ return { at: 'config', schemaName: resolved.name, error };
304
+ return { at: 'metadata', error };
305
+ }
306
+ }
307
+ /**
308
+ * The fix `list` and `status --all` give for a change that could not be read.
309
+ * One function, so the two batch commands cannot drift apart again (TS-057
310
+ * made their text identical). The config wording is the one `new change`
311
+ * uses, so both name the same field the same way.
312
+ */
313
+ export function unreadableChangeFix(changeName, changeDir, projectRoot, explicitSchema) {
314
+ const fault = findChangeSchemaFault(changeDir, projectRoot, explicitSchema);
315
+ if (fault?.at === 'config') {
316
+ return `Schema '${fault.schemaName}' comes from tospec/config.yaml; fix its 'schema:' field, or set 'schema:' in ${changeName}'s ${METADATA_FILENAME}.`;
317
+ }
318
+ if (fault?.at === 'schema-file') {
319
+ return unreadableSchemaFix(fault.schemaName, projectRoot);
320
+ }
321
+ return `Fix ${changeName}'s ${METADATA_FILENAME}, or move the directory out of tospec/changes/.`;
160
322
  }
161
323
  //# sourceMappingURL=change-metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"change-metadata.js","sourceRoot":"","sources":["../../src/utils/change-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-metadata.js","sourceRoot":"","sources":["../../src/utils/change-metadata.ts"],"names":[],"mappings":"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"}