@seanmars/tospec 0.19.0-beta.7 → 0.20.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 (429) hide show
  1. package/CHANGELOG.md +60 -231
  2. package/README.md +69 -82
  3. package/assets/dashboard/app.js +14 -3
  4. package/assets/dashboard/style.css +7 -0
  5. package/assets/rules/tospec/decision.md +3 -0
  6. package/dist/cli/index.d.ts.map +1 -1
  7. package/dist/cli/index.js +227 -86
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/commands/config.d.ts +9 -17
  10. package/dist/commands/config.d.ts.map +1 -1
  11. package/dist/commands/config.js +366 -107
  12. package/dist/commands/config.js.map +1 -1
  13. package/dist/commands/dashboard.d.ts +57 -99
  14. package/dist/commands/dashboard.d.ts.map +1 -1
  15. package/dist/commands/dashboard.js +224 -282
  16. package/dist/commands/dashboard.js.map +1 -1
  17. package/dist/commands/decision.d.ts +41 -19
  18. package/dist/commands/decision.d.ts.map +1 -1
  19. package/dist/commands/decision.js +385 -79
  20. package/dist/commands/decision.js.map +1 -1
  21. package/dist/commands/metrics.d.ts +28 -51
  22. package/dist/commands/metrics.d.ts.map +1 -1
  23. package/dist/commands/metrics.js +62 -93
  24. package/dist/commands/metrics.js.map +1 -1
  25. package/dist/commands/shared-output.d.ts +18 -21
  26. package/dist/commands/shared-output.d.ts.map +1 -1
  27. package/dist/commands/shared-output.js +49 -23
  28. package/dist/commands/shared-output.js.map +1 -1
  29. package/dist/commands/show.d.ts +7 -0
  30. package/dist/commands/show.d.ts.map +1 -1
  31. package/dist/commands/show.js +29 -7
  32. package/dist/commands/show.js.map +1 -1
  33. package/dist/commands/validate.d.ts +43 -45
  34. package/dist/commands/validate.d.ts.map +1 -1
  35. package/dist/commands/validate.js +262 -129
  36. package/dist/commands/validate.js.map +1 -1
  37. package/dist/commands/workflow/index.d.ts +6 -10
  38. package/dist/commands/workflow/index.d.ts.map +1 -1
  39. package/dist/commands/workflow/index.js +6 -10
  40. package/dist/commands/workflow/index.js.map +1 -1
  41. package/dist/commands/workflow/instructions.d.ts +21 -8
  42. package/dist/commands/workflow/instructions.d.ts.map +1 -1
  43. package/dist/commands/workflow/instructions.js +254 -95
  44. package/dist/commands/workflow/instructions.js.map +1 -1
  45. package/dist/commands/workflow/new-change.d.ts +4 -5
  46. package/dist/commands/workflow/new-change.d.ts.map +1 -1
  47. package/dist/commands/workflow/new-change.js +90 -25
  48. package/dist/commands/workflow/new-change.js.map +1 -1
  49. package/dist/commands/workflow/schemas.d.ts +3 -5
  50. package/dist/commands/workflow/schemas.d.ts.map +1 -1
  51. package/dist/commands/workflow/schemas.js +37 -11
  52. package/dist/commands/workflow/schemas.js.map +1 -1
  53. package/dist/commands/workflow/shared.d.ts +48 -21
  54. package/dist/commands/workflow/shared.d.ts.map +1 -1
  55. package/dist/commands/workflow/shared.js +36 -33
  56. package/dist/commands/workflow/shared.js.map +1 -1
  57. package/dist/commands/workflow/status.d.ts +10 -6
  58. package/dist/commands/workflow/status.d.ts.map +1 -1
  59. package/dist/commands/workflow/status.js +81 -42
  60. package/dist/commands/workflow/status.js.map +1 -1
  61. package/dist/commands/workflow/templates.d.ts +10 -3
  62. package/dist/commands/workflow/templates.d.ts.map +1 -1
  63. package/dist/commands/workflow/templates.js +39 -40
  64. package/dist/commands/workflow/templates.js.map +1 -1
  65. package/dist/core/archive.d.ts +26 -21
  66. package/dist/core/archive.d.ts.map +1 -1
  67. package/dist/core/archive.js +378 -235
  68. package/dist/core/archive.js.map +1 -1
  69. package/dist/core/artifact-graph/graph.d.ts +25 -42
  70. package/dist/core/artifact-graph/graph.d.ts.map +1 -1
  71. package/dist/core/artifact-graph/graph.js +45 -63
  72. package/dist/core/artifact-graph/graph.js.map +1 -1
  73. package/dist/core/artifact-graph/index.d.ts +1 -1
  74. package/dist/core/artifact-graph/index.d.ts.map +1 -1
  75. package/dist/core/artifact-graph/index.js +1 -1
  76. package/dist/core/artifact-graph/index.js.map +1 -1
  77. package/dist/core/artifact-graph/instruction-loader.d.ts +97 -103
  78. package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
  79. package/dist/core/artifact-graph/instruction-loader.js +146 -119
  80. package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
  81. package/dist/core/artifact-graph/outputs.d.ts +9 -23
  82. package/dist/core/artifact-graph/outputs.d.ts.map +1 -1
  83. package/dist/core/artifact-graph/outputs.js +45 -38
  84. package/dist/core/artifact-graph/outputs.js.map +1 -1
  85. package/dist/core/artifact-graph/resolver.d.ts +44 -63
  86. package/dist/core/artifact-graph/resolver.d.ts.map +1 -1
  87. package/dist/core/artifact-graph/resolver.js +85 -86
  88. package/dist/core/artifact-graph/resolver.js.map +1 -1
  89. package/dist/core/artifact-graph/schema.d.ts +0 -6
  90. package/dist/core/artifact-graph/schema.d.ts.map +1 -1
  91. package/dist/core/artifact-graph/schema.js +7 -32
  92. package/dist/core/artifact-graph/schema.js.map +1 -1
  93. package/dist/core/artifact-graph/state.d.ts +1 -8
  94. package/dist/core/artifact-graph/state.d.ts.map +1 -1
  95. package/dist/core/artifact-graph/state.js +2 -17
  96. package/dist/core/artifact-graph/state.js.map +1 -1
  97. package/dist/core/artifact-graph/stub-detection.d.ts +12 -0
  98. package/dist/core/artifact-graph/stub-detection.d.ts.map +1 -0
  99. package/dist/core/artifact-graph/stub-detection.js +39 -0
  100. package/dist/core/artifact-graph/stub-detection.js.map +1 -0
  101. package/dist/core/artifact-graph/types.d.ts +4 -0
  102. package/dist/core/artifact-graph/types.d.ts.map +1 -1
  103. package/dist/core/artifact-graph/types.js +30 -10
  104. package/dist/core/artifact-graph/types.js.map +1 -1
  105. package/dist/core/available-tools.d.ts +3 -12
  106. package/dist/core/available-tools.d.ts.map +1 -1
  107. package/dist/core/available-tools.js +4 -13
  108. package/dist/core/available-tools.js.map +1 -1
  109. package/dist/core/change-metadata/schema.d.ts +1 -1
  110. package/dist/core/change-metadata/schema.d.ts.map +1 -1
  111. package/dist/core/change-metadata/schema.js +10 -7
  112. package/dist/core/change-metadata/schema.js.map +1 -1
  113. package/dist/core/change-presenter.d.ts +23 -18
  114. package/dist/core/change-presenter.d.ts.map +1 -1
  115. package/dist/core/change-presenter.js +102 -43
  116. package/dist/core/change-presenter.js.map +1 -1
  117. package/dist/core/change-status-policy.d.ts +8 -1
  118. package/dist/core/change-status-policy.d.ts.map +1 -1
  119. package/dist/core/change-status-policy.js +25 -1
  120. package/dist/core/change-status-policy.js.map +1 -1
  121. package/dist/core/codex-metrics.d.ts +25 -45
  122. package/dist/core/codex-metrics.d.ts.map +1 -1
  123. package/dist/core/codex-metrics.js +44 -88
  124. package/dist/core/codex-metrics.js.map +1 -1
  125. package/dist/core/codex-residue.d.ts +14 -15
  126. package/dist/core/codex-residue.d.ts.map +1 -1
  127. package/dist/core/codex-residue.js +18 -22
  128. package/dist/core/codex-residue.js.map +1 -1
  129. package/dist/core/command-generation/adapters/claude.d.ts +2 -9
  130. package/dist/core/command-generation/adapters/claude.d.ts.map +1 -1
  131. package/dist/core/command-generation/adapters/claude.js +2 -12
  132. package/dist/core/command-generation/adapters/claude.js.map +1 -1
  133. package/dist/core/command-generation/adapters/index.d.ts +1 -9
  134. package/dist/core/command-generation/adapters/index.d.ts.map +1 -1
  135. package/dist/core/command-generation/adapters/index.js +1 -9
  136. package/dist/core/command-generation/adapters/index.js.map +1 -1
  137. package/dist/core/command-generation/generator.d.ts +0 -17
  138. package/dist/core/command-generation/generator.d.ts.map +1 -1
  139. package/dist/core/command-generation/generator.js +0 -17
  140. package/dist/core/command-generation/generator.js.map +1 -1
  141. package/dist/core/command-generation/index.d.ts +2 -5
  142. package/dist/core/command-generation/index.d.ts.map +1 -1
  143. package/dist/core/command-generation/index.js +0 -9
  144. package/dist/core/command-generation/index.js.map +1 -1
  145. package/dist/core/command-generation/types.d.ts +10 -36
  146. package/dist/core/command-generation/types.d.ts.map +1 -1
  147. package/dist/core/command-generation/types.js +0 -6
  148. package/dist/core/command-generation/types.js.map +1 -1
  149. package/dist/core/command-generation/yaml.d.ts +3 -18
  150. package/dist/core/command-generation/yaml.d.ts.map +1 -1
  151. package/dist/core/command-generation/yaml.js +5 -23
  152. package/dist/core/command-generation/yaml.js.map +1 -1
  153. package/dist/core/config-prompts.d.ts +2 -4
  154. package/dist/core/config-prompts.d.ts.map +1 -1
  155. package/dist/core/config-prompts.js +2 -7
  156. package/dist/core/config-prompts.js.map +1 -1
  157. package/dist/core/config-schema.d.ts +8 -53
  158. package/dist/core/config-schema.d.ts.map +1 -1
  159. package/dist/core/config-schema.js +49 -62
  160. package/dist/core/config-schema.js.map +1 -1
  161. package/dist/core/config.d.ts +39 -26
  162. package/dist/core/config.d.ts.map +1 -1
  163. package/dist/core/config.js +36 -22
  164. package/dist/core/config.js.map +1 -1
  165. package/dist/core/dashboard-activity.d.ts +7 -9
  166. package/dist/core/dashboard-activity.d.ts.map +1 -1
  167. package/dist/core/dashboard-activity.js +26 -24
  168. package/dist/core/dashboard-activity.js.map +1 -1
  169. package/dist/core/dashboard-data.d.ts +40 -22
  170. package/dist/core/dashboard-data.d.ts.map +1 -1
  171. package/dist/core/dashboard-data.js +62 -70
  172. package/dist/core/dashboard-data.js.map +1 -1
  173. package/dist/core/global-config.d.ts +24 -53
  174. package/dist/core/global-config.d.ts.map +1 -1
  175. package/dist/core/global-config.js +38 -67
  176. package/dist/core/global-config.js.map +1 -1
  177. package/dist/core/init.d.ts +25 -19
  178. package/dist/core/init.d.ts.map +1 -1
  179. package/dist/core/init.js +168 -181
  180. package/dist/core/init.js.map +1 -1
  181. package/dist/core/list.d.ts +1 -1
  182. package/dist/core/list.d.ts.map +1 -1
  183. package/dist/core/list.js +121 -28
  184. package/dist/core/list.js.map +1 -1
  185. package/dist/core/local-server.d.ts +41 -83
  186. package/dist/core/local-server.d.ts.map +1 -1
  187. package/dist/core/local-server.js +53 -98
  188. package/dist/core/local-server.js.map +1 -1
  189. package/dist/core/markdown-render.d.ts +25 -0
  190. package/dist/core/markdown-render.d.ts.map +1 -0
  191. package/dist/core/markdown-render.js +94 -0
  192. package/dist/core/markdown-render.js.map +1 -0
  193. package/dist/core/migrate.d.ts +29 -14
  194. package/dist/core/migrate.d.ts.map +1 -1
  195. package/dist/core/migrate.js +184 -122
  196. package/dist/core/migrate.js.map +1 -1
  197. package/dist/core/parsers/change-parser.d.ts +7 -10
  198. package/dist/core/parsers/change-parser.d.ts.map +1 -1
  199. package/dist/core/parsers/change-parser.js +48 -56
  200. package/dist/core/parsers/change-parser.js.map +1 -1
  201. package/dist/core/parsers/markdown-parser.d.ts +8 -9
  202. package/dist/core/parsers/markdown-parser.d.ts.map +1 -1
  203. package/dist/core/parsers/markdown-parser.js +31 -22
  204. package/dist/core/parsers/markdown-parser.js.map +1 -1
  205. package/dist/core/parsers/requirement-blocks.d.ts +43 -15
  206. package/dist/core/parsers/requirement-blocks.d.ts.map +1 -1
  207. package/dist/core/parsers/requirement-blocks.js +142 -70
  208. package/dist/core/parsers/requirement-blocks.js.map +1 -1
  209. package/dist/core/parsers/requirement-text.d.ts +73 -79
  210. package/dist/core/parsers/requirement-text.d.ts.map +1 -1
  211. package/dist/core/parsers/requirement-text.js +137 -79
  212. package/dist/core/parsers/requirement-text.js.map +1 -1
  213. package/dist/core/parsers/spec-structure.d.ts.map +1 -1
  214. package/dist/core/parsers/spec-structure.js +10 -6
  215. package/dist/core/parsers/spec-structure.js.map +1 -1
  216. package/dist/core/profiles.d.ts +3 -10
  217. package/dist/core/profiles.d.ts.map +1 -1
  218. package/dist/core/profiles.js +5 -12
  219. package/dist/core/profiles.js.map +1 -1
  220. package/dist/core/project-config.d.ts +43 -44
  221. package/dist/core/project-config.d.ts.map +1 -1
  222. package/dist/core/project-config.js +107 -82
  223. package/dist/core/project-config.js.map +1 -1
  224. package/dist/core/project-layout.d.ts +9 -17
  225. package/dist/core/project-layout.d.ts.map +1 -1
  226. package/dist/core/project-layout.js +16 -26
  227. package/dist/core/project-layout.js.map +1 -1
  228. package/dist/core/root-selection.d.ts +11 -7
  229. package/dist/core/root-selection.d.ts.map +1 -1
  230. package/dist/core/root-selection.js +7 -8
  231. package/dist/core/root-selection.js.map +1 -1
  232. package/dist/core/rules.d.ts +6 -1
  233. package/dist/core/rules.d.ts.map +1 -1
  234. package/dist/core/rules.js +23 -2
  235. package/dist/core/rules.js.map +1 -1
  236. package/dist/core/schema-names.d.ts +16 -0
  237. package/dist/core/schema-names.d.ts.map +1 -0
  238. package/dist/core/schema-names.js +16 -0
  239. package/dist/core/schema-names.js.map +1 -0
  240. package/dist/core/schemas/base.schema.d.ts +3 -0
  241. package/dist/core/schemas/base.schema.d.ts.map +1 -1
  242. package/dist/core/schemas/base.schema.js +22 -6
  243. package/dist/core/schemas/base.schema.js.map +1 -1
  244. package/dist/core/schemas/change.schema.d.ts +16 -0
  245. package/dist/core/schemas/change.schema.d.ts.map +1 -1
  246. package/dist/core/schemas/change.schema.js +41 -10
  247. package/dist/core/schemas/change.schema.js.map +1 -1
  248. package/dist/core/schemas/spec.schema.d.ts +2 -0
  249. package/dist/core/schemas/spec.schema.d.ts.map +1 -1
  250. package/dist/core/shared/index.d.ts +3 -8
  251. package/dist/core/shared/index.d.ts.map +1 -1
  252. package/dist/core/shared/index.js +3 -8
  253. package/dist/core/shared/index.js.map +1 -1
  254. package/dist/core/shared/rules-generation.d.ts +19 -8
  255. package/dist/core/shared/rules-generation.d.ts.map +1 -1
  256. package/dist/core/shared/rules-generation.js +117 -50
  257. package/dist/core/shared/rules-generation.js.map +1 -1
  258. package/dist/core/shared/skill-generation.d.ts +28 -43
  259. package/dist/core/shared/skill-generation.d.ts.map +1 -1
  260. package/dist/core/shared/skill-generation.js +82 -51
  261. package/dist/core/shared/skill-generation.js.map +1 -1
  262. package/dist/core/shared/tool-detection.d.ts +39 -61
  263. package/dist/core/shared/tool-detection.d.ts.map +1 -1
  264. package/dist/core/shared/tool-detection.js +88 -80
  265. package/dist/core/shared/tool-detection.js.map +1 -1
  266. package/dist/core/skill-metrics.d.ts +36 -63
  267. package/dist/core/skill-metrics.d.ts.map +1 -1
  268. package/dist/core/skill-metrics.js +34 -73
  269. package/dist/core/skill-metrics.js.map +1 -1
  270. package/dist/core/spec-presenter.js +6 -6
  271. package/dist/core/spec-presenter.js.map +1 -1
  272. package/dist/core/specs-apply.d.ts +22 -23
  273. package/dist/core/specs-apply.d.ts.map +1 -1
  274. package/dist/core/specs-apply.js +166 -193
  275. package/dist/core/specs-apply.js.map +1 -1
  276. package/dist/core/templates/fragments/interview.d.ts +2 -6
  277. package/dist/core/templates/fragments/interview.d.ts.map +1 -1
  278. package/dist/core/templates/fragments/interview.js +2 -6
  279. package/dist/core/templates/fragments/interview.js.map +1 -1
  280. package/dist/core/templates/fragments/next-step.d.ts +4 -8
  281. package/dist/core/templates/fragments/next-step.d.ts.map +1 -1
  282. package/dist/core/templates/fragments/next-step.js +4 -8
  283. package/dist/core/templates/fragments/next-step.js.map +1 -1
  284. package/dist/core/templates/fragments/validate.d.ts +13 -0
  285. package/dist/core/templates/fragments/validate.d.ts.map +1 -0
  286. package/dist/core/templates/fragments/validate.js +13 -0
  287. package/dist/core/templates/fragments/validate.js.map +1 -0
  288. package/dist/core/templates/fragments/verify.d.ts +9 -12
  289. package/dist/core/templates/fragments/verify.d.ts.map +1 -1
  290. package/dist/core/templates/fragments/verify.js +9 -12
  291. package/dist/core/templates/fragments/verify.js.map +1 -1
  292. package/dist/core/templates/index.d.ts +0 -6
  293. package/dist/core/templates/index.d.ts.map +1 -1
  294. package/dist/core/templates/index.js +0 -7
  295. package/dist/core/templates/index.js.map +1 -1
  296. package/dist/core/templates/skill-templates.d.ts +1 -5
  297. package/dist/core/templates/skill-templates.d.ts.map +1 -1
  298. package/dist/core/templates/skill-templates.js +0 -5
  299. package/dist/core/templates/skill-templates.js.map +1 -1
  300. package/dist/core/templates/types.d.ts +3 -7
  301. package/dist/core/templates/types.d.ts.map +1 -1
  302. package/dist/core/templates/types.js +0 -3
  303. package/dist/core/templates/types.js.map +1 -1
  304. package/dist/core/templates/workflows/apply.d.ts +3 -9
  305. package/dist/core/templates/workflows/apply.d.ts.map +1 -1
  306. package/dist/core/templates/workflows/apply.js +11 -13
  307. package/dist/core/templates/workflows/apply.js.map +1 -1
  308. package/dist/core/templates/workflows/archive.d.ts +0 -6
  309. package/dist/core/templates/workflows/archive.d.ts.map +1 -1
  310. package/dist/core/templates/workflows/archive.js +19 -6
  311. package/dist/core/templates/workflows/archive.js.map +1 -1
  312. package/dist/core/templates/workflows/decision.js +4 -4
  313. package/dist/core/templates/workflows/decision.js.map +1 -1
  314. package/dist/core/templates/workflows/explore.js +1 -1
  315. package/dist/core/templates/workflows/grill.d.ts.map +1 -1
  316. package/dist/core/templates/workflows/grill.js +0 -2
  317. package/dist/core/templates/workflows/grill.js.map +1 -1
  318. package/dist/core/templates/workflows/issue.d.ts +0 -6
  319. package/dist/core/templates/workflows/issue.d.ts.map +1 -1
  320. package/dist/core/templates/workflows/issue.js +3 -2
  321. package/dist/core/templates/workflows/issue.js.map +1 -1
  322. package/dist/core/templates/workflows/propose.d.ts +0 -6
  323. package/dist/core/templates/workflows/propose.d.ts.map +1 -1
  324. package/dist/core/templates/workflows/propose.js +2 -2
  325. package/dist/core/templates/workflows/propose.js.map +1 -1
  326. package/dist/core/templates/workflows/sync.d.ts +2 -8
  327. package/dist/core/templates/workflows/sync.d.ts.map +1 -1
  328. package/dist/core/templates/workflows/sync.js +4 -3
  329. package/dist/core/templates/workflows/sync.js.map +1 -1
  330. package/dist/core/templates/workflows/update.d.ts +0 -6
  331. package/dist/core/templates/workflows/update.d.ts.map +1 -1
  332. package/dist/core/templates/workflows/update.js +9 -2
  333. package/dist/core/templates/workflows/update.js.map +1 -1
  334. package/dist/core/update.d.ts +23 -23
  335. package/dist/core/update.d.ts.map +1 -1
  336. package/dist/core/update.js +139 -118
  337. package/dist/core/update.js.map +1 -1
  338. package/dist/core/user-state-migration.d.ts +13 -15
  339. package/dist/core/user-state-migration.d.ts.map +1 -1
  340. package/dist/core/user-state-migration.js +16 -20
  341. package/dist/core/user-state-migration.js.map +1 -1
  342. package/dist/core/validation/constants.d.ts +4 -10
  343. package/dist/core/validation/constants.d.ts.map +1 -1
  344. package/dist/core/validation/constants.js +25 -20
  345. package/dist/core/validation/constants.js.map +1 -1
  346. package/dist/core/validation/prose-length.d.ts +15 -0
  347. package/dist/core/validation/prose-length.d.ts.map +1 -0
  348. package/dist/core/validation/prose-length.js +29 -0
  349. package/dist/core/validation/prose-length.js.map +1 -0
  350. package/dist/core/validation/purpose-placeholder.d.ts +9 -16
  351. package/dist/core/validation/purpose-placeholder.d.ts.map +1 -1
  352. package/dist/core/validation/purpose-placeholder.js +30 -44
  353. package/dist/core/validation/purpose-placeholder.js.map +1 -1
  354. package/dist/core/validation/section-validator.d.ts +4 -4
  355. package/dist/core/validation/section-validator.d.ts.map +1 -1
  356. package/dist/core/validation/section-validator.js +43 -7
  357. package/dist/core/validation/section-validator.js.map +1 -1
  358. package/dist/core/validation/task-numbering.d.ts +6 -3
  359. package/dist/core/validation/task-numbering.d.ts.map +1 -1
  360. package/dist/core/validation/task-numbering.js +23 -11
  361. package/dist/core/validation/task-numbering.js.map +1 -1
  362. package/dist/core/validation/types.d.ts +18 -0
  363. package/dist/core/validation/types.d.ts.map +1 -1
  364. package/dist/core/validation/types.js +12 -1
  365. package/dist/core/validation/types.js.map +1 -1
  366. package/dist/core/validation/validator.d.ts +43 -63
  367. package/dist/core/validation/validator.d.ts.map +1 -1
  368. package/dist/core/validation/validator.js +500 -267
  369. package/dist/core/validation/validator.js.map +1 -1
  370. package/dist/prompts/searchable-multi-select.d.ts +3 -8
  371. package/dist/prompts/searchable-multi-select.d.ts.map +1 -1
  372. package/dist/prompts/searchable-multi-select.js +16 -39
  373. package/dist/prompts/searchable-multi-select.js.map +1 -1
  374. package/dist/utils/change-metadata.d.ts +11 -50
  375. package/dist/utils/change-metadata.d.ts.map +1 -1
  376. package/dist/utils/change-metadata.js +48 -67
  377. package/dist/utils/change-metadata.js.map +1 -1
  378. package/dist/utils/change-utils.d.ts +30 -54
  379. package/dist/utils/change-utils.d.ts.map +1 -1
  380. package/dist/utils/change-utils.js +133 -91
  381. package/dist/utils/change-utils.js.map +1 -1
  382. package/dist/utils/file-lock.d.ts +39 -0
  383. package/dist/utils/file-lock.d.ts.map +1 -0
  384. package/dist/utils/file-lock.js +149 -0
  385. package/dist/utils/file-lock.js.map +1 -0
  386. package/dist/utils/file-system.d.ts +12 -32
  387. package/dist/utils/file-system.d.ts.map +1 -1
  388. package/dist/utils/file-system.js +16 -40
  389. package/dist/utils/file-system.js.map +1 -1
  390. package/dist/utils/frontmatter.d.ts +7 -11
  391. package/dist/utils/frontmatter.d.ts.map +1 -1
  392. package/dist/utils/frontmatter.js +11 -11
  393. package/dist/utils/frontmatter.js.map +1 -1
  394. package/dist/utils/interactive.d.ts +4 -9
  395. package/dist/utils/interactive.d.ts.map +1 -1
  396. package/dist/utils/interactive.js +2 -4
  397. package/dist/utils/interactive.js.map +1 -1
  398. package/dist/utils/item-discovery.d.ts +15 -10
  399. package/dist/utils/item-discovery.d.ts.map +1 -1
  400. package/dist/utils/item-discovery.js +42 -47
  401. package/dist/utils/item-discovery.js.map +1 -1
  402. package/dist/utils/link.d.ts +9 -18
  403. package/dist/utils/link.d.ts.map +1 -1
  404. package/dist/utils/link.js +9 -18
  405. package/dist/utils/link.js.map +1 -1
  406. package/dist/utils/requirement-diff.d.ts +13 -23
  407. package/dist/utils/requirement-diff.d.ts.map +1 -1
  408. package/dist/utils/requirement-diff.js +13 -23
  409. package/dist/utils/requirement-diff.js.map +1 -1
  410. package/dist/utils/spec-files.d.ts +7 -20
  411. package/dist/utils/spec-files.d.ts.map +1 -1
  412. package/dist/utils/spec-files.js +26 -51
  413. package/dist/utils/spec-files.js.map +1 -1
  414. package/dist/utils/task-progress.d.ts +11 -9
  415. package/dist/utils/task-progress.d.ts.map +1 -1
  416. package/dist/utils/task-progress.js +53 -32
  417. package/dist/utils/task-progress.js.map +1 -1
  418. package/dist/utils/timestamp.d.ts +5 -8
  419. package/dist/utils/timestamp.d.ts.map +1 -1
  420. package/dist/utils/timestamp.js +5 -8
  421. package/dist/utils/timestamp.js.map +1 -1
  422. package/package.json +2 -3
  423. package/schemas/decision/templates/decision.md +3 -1
  424. package/schemas/decision/templates/index.md +2 -2
  425. package/schemas/issue/schema.yaml +8 -1
  426. package/schemas/issue/templates/spec.md +27 -2
  427. package/schemas/sdd/schema.yaml +20 -1
  428. package/schemas/sdd/templates/spec.md +27 -2
  429. /package/assets/rules/tospec/{single-sourc-of-truth.md → single-source-of-truth.md} +0 -0
@@ -1,17 +1,15 @@
1
1
  /**
2
- * Dashboard data aggregation — pure functions, no HTTP.
3
- *
4
- * Each function takes a `projectRoot` (+ name) and reads the filesystem to
5
- * produce the shapes the dashboard API serves. Kept free of any server/http
6
- * import so vitest can exercise it directly. Reuses existing core/utils rather
7
- * than re-deriving list/status logic.
2
+ * Dashboard data aggregation. Kept free of any server/http import so vitest can
3
+ * exercise it directly, and built on existing core/utils rather than
4
+ * re-deriving list/status logic.
8
5
  */
9
6
  import { promises as fs, existsSync, statSync } from 'node:fs';
10
7
  import * as path from 'node:path';
11
8
  import { splitFrontmatter } from '../utils/frontmatter.js';
9
+ import { normalizeDocument } from './parsers/requirement-text.js';
12
10
  import { MarkdownParser } from './parsers/markdown-parser.js';
13
11
  import { loadChangeContext, formatChangeStatus, resolveArtifactOutputsAsync, } from './artifact-graph/index.js';
14
- import { readChangeMetadata } from '../utils/change-metadata.js';
12
+ import { readChangeMetadata, resolveSchemaForChange } from '../utils/change-metadata.js';
15
13
  import { getTaskProgressForChange, listTasksForChange } from '../utils/task-progress.js';
16
14
  import { parseSyncReportConclusion } from './archive.js';
17
15
  import { getActiveChangeIds, getSpecIds, getArchivedChangeIds, } from '../utils/item-discovery.js';
@@ -19,9 +17,6 @@ import { FileSystemUtils, getLastModified } from '../utils/file-system.js';
19
17
  import { readDecisionEntries } from '../commands/decision.js';
20
18
  /** How recent a change's last edit must be to count as actively `applying`. */
21
19
  export const ACTIVE_WINDOW_MS = 10 * 60 * 1000;
22
- // -----------------------------------------------------------------------------
23
- // Helpers
24
- // -----------------------------------------------------------------------------
25
20
  /** Root-relative posix path for an absolute path under projectRoot. */
26
21
  function toRootRelative(projectRoot, absPath) {
27
22
  return FileSystemUtils.toPosixPath(path.relative(projectRoot, absPath));
@@ -52,7 +47,7 @@ async function collectMarkdownFiles(dir) {
52
47
  }
53
48
  /** Text following `## Summary` up to the next heading, trimmed. */
54
49
  function extractSummary(body) {
55
- const lines = body.split(/\r?\n/);
50
+ const lines = normalizeDocument(body).split('\n');
56
51
  const idx = lines.findIndex((l) => /^##\s+Summary\s*$/i.test(l.trim()));
57
52
  if (idx === -1)
58
53
  return '';
@@ -65,7 +60,11 @@ function extractSummary(body) {
65
60
  return collected.join('\n').trim();
66
61
  }
67
62
  function asString(value) {
68
- return typeof value === 'string' ? value : value == null ? '' : String(value);
63
+ if (typeof value === 'string')
64
+ return value;
65
+ if (value == null)
66
+ return '';
67
+ return String(value);
69
68
  }
70
69
  /** Derives a fallback title from a ticket filename (`<stamp>-<name>.md`). */
71
70
  function titleFromFilename(fileName) {
@@ -85,6 +84,7 @@ async function parseTicketFile(projectRoot, absPath, archived) {
85
84
  title: asString(data.title) || titleFromFilename(fileName),
86
85
  date: asString(data.date),
87
86
  type: asString(data.type),
87
+ schema: asString(data.schema),
88
88
  change: asString(data.change),
89
89
  ref: asString(data.ref),
90
90
  summary: extractSummary(body),
@@ -97,6 +97,7 @@ async function parseTicketFile(projectRoot, absPath, archived) {
97
97
  title: titleFromFilename(fileName),
98
98
  date: '',
99
99
  type: '',
100
+ schema: '',
100
101
  change: '',
101
102
  ref: '',
102
103
  summary: '',
@@ -118,9 +119,6 @@ async function listMarkdownDirect(dir) {
118
119
  .filter((e) => e.isFile() && e.name.endsWith('.md'))
119
120
  .map((e) => path.join(dir, e.name));
120
121
  }
121
- // -----------------------------------------------------------------------------
122
- // Public aggregation functions
123
- // -----------------------------------------------------------------------------
124
122
  /**
125
123
  * Scans active (`tospec/tickets/*.md`) and archived
126
124
  * (`tospec/tickets/archive/*.md`) tickets. One bad file never sinks the scan:
@@ -144,9 +142,9 @@ function artifactSummaryFor(projectRoot, name) {
144
142
  try {
145
143
  const context = loadChangeContext(projectRoot, name);
146
144
  const status = formatChangeStatus(context);
147
- // Exclude optional-and-absent (skipped) artifacts so the summary matches the
145
+ // Drop the two "not written and not required" values so this matches the
148
146
  // done/ready/blocked artifacts the change detail shows.
149
- const relevant = status.artifacts.filter((a) => a.status !== 'skipped');
147
+ const relevant = status.artifacts.filter((a) => a.status !== 'skipped' && a.status !== 'optional');
150
148
  const done = relevant.filter((a) => a.status === 'done').length;
151
149
  const blocked = relevant.filter((a) => a.status === 'blocked').length;
152
150
  return { done, blocked, total: relevant.length };
@@ -167,10 +165,8 @@ async function specRequirementCount(projectRoot, id) {
167
165
  }
168
166
  }
169
167
  /**
170
- * Reads a change's sync gate: the `Conclusion: PASS|FAIL` conclusion of its
171
- * `sync-report.md`, reusing the same parser
172
- * `tospec archive --require-sync` trusts. Missing or unreadable report →
173
- * null; the dashboard is a read-only view and must never 500 over one bad file.
168
+ * A change's sync gate, through the same parser `archive --require-sync` trusts.
169
+ * Missing or unreadable → null: the dashboard must never 500 over one bad file.
174
170
  */
175
171
  export async function readSyncConclusion(changeDir) {
176
172
  try {
@@ -182,9 +178,9 @@ export async function readSyncConclusion(changeDir) {
182
178
  }
183
179
  }
184
180
  /**
185
- * Derives a change's live phase from already-computed signals. Pure (no fs) so
186
- * it is directly unit-testable with an injected `now`. A passing sync report
187
- * outranks applying: it means the change is certified and on its way to archive.
181
+ * A change's live phase, from already-computed signals. Pure (no fs), so it is
182
+ * testable with an injected `now`. A passing sync report outranks applying: the
183
+ * change is certified and on its way to archive.
188
184
  */
189
185
  export function deriveChangePhase(input) {
190
186
  const { artifactSummary, taskProgress, lastModified, syncConclusion } = input;
@@ -192,13 +188,11 @@ export function deriveChangePhase(input) {
192
188
  return 'archiving';
193
189
  const now = input.now ?? new Date();
194
190
  const planningDone = artifactSummary.total > 0 && artifactSummary.done === artifactSummary.total;
195
- // `total > 0` is load-bearing: 0 === 0 would otherwise read as "every task done"
196
- // and promote a task-less change to ready.
191
+ // `total > 0` is load-bearing: 0 === 0 would promote a task-less change.
197
192
  const tasksDone = taskProgress.total > 0 && taskProgress.completed === taskProgress.total;
198
193
  const tasksInProgress = taskProgress.total > 0 && taskProgress.completed < taskProgress.total;
199
- // No recency check here, unlike applying: applying claims work is happening and
200
- // so decays, while ready states the work is finished and stays true. A change
201
- // finished but never archived should get more visible with age, not less.
194
+ // No recency check, unlike applying: applying claims work is happening and so
195
+ // decays, while ready states it is finished.
202
196
  if (planningDone && tasksDone)
203
197
  return 'ready';
204
198
  const recent = now.getTime() - lastModified.getTime() < ACTIVE_WINDOW_MS;
@@ -208,38 +202,32 @@ export function deriveChangePhase(input) {
208
202
  }
209
203
  export async function collectOverview(projectRoot) {
210
204
  const changesDir = path.join(projectRoot, 'tospec', 'changes');
211
- // Changes (active only).
212
- //
213
- // This is the dashboard's hot path: fs.watch over the whole tospec/ tree
214
- // debounces 200 ms, pushes an SSE event, and the frontend immediately refetches
215
- // /api/overview — so the cost below is paid on every file save, for every
216
- // change, not once per page load.
205
+ // The dashboard's hot path: fs.watch pushes an SSE event on every file save
206
+ // and the frontend refetches /api/overview, so this runs per save.
217
207
  //
218
- // A change's three reads are independent, so they run together. The *changes*
219
- // are deliberately still sequential, and that is not an oversight — measured
220
- // over 30 changes:
208
+ // A change's three reads run together, but the changes stay sequential —
209
+ // measured over 30 changes:
221
210
  //
222
211
  // sequential, per-change Promise.all 63 ms total, 2.1 ms longest stall
223
212
  // Promise.all across changes 59 ms total, 5.5 ms longest stall
224
213
  //
225
- // `artifactSummaryFor` and `listTasksForChange` both do synchronous work
226
- // (schema resolution, stub detection, file-existence checks) before they await
227
- // anything. Run across changes concurrently, those synchronous prologues all
228
- // execute in one tick, so the loop is held for the sum of them; the awaits in
229
- // a sequential loop already break the same work across loop iterations. 4 ms
230
- // of total latency is not worth tripling the window in which the server can
231
- // answer nothing — and it is the stall, not the total, that the SSE heartbeat
232
- // and a concurrent /api/render actually feel.
214
+ // `artifactSummaryFor` and `listTasksForChange` do synchronous work before
215
+ // they await, so running them concurrently holds the loop for the sum of
216
+ // every prologue. It is the stall, not the total, that the SSE heartbeat and
217
+ // a concurrent /api/render feel.
233
218
  const changeNames = await getActiveChangeIds(projectRoot);
234
219
  const changes = [];
235
220
  for (const name of changeNames) {
236
221
  const changePath = path.join(changesDir, name);
237
222
  let metadata = null;
223
+ let unreadable;
238
224
  try {
239
225
  metadata = readChangeMetadata(changePath, projectRoot);
240
226
  }
241
- catch {
242
- // Bad/invalid metadata — list the change with unknown fields, don't crash.
227
+ catch (err) {
228
+ // List the change with unknown fields rather than crash, but say so: an
229
+ // unmarked empty row reads as "not started yet".
230
+ unreadable = err instanceof Error ? err.message : String(err);
243
231
  }
244
232
  const [tasks, lastModified, syncConclusion] = await Promise.all([
245
233
  listTasksForChange(changesDir, name, projectRoot),
@@ -266,16 +254,15 @@ export async function collectOverview(projectRoot) {
266
254
  artifactSummary,
267
255
  lastModified: lastModified.toISOString(),
268
256
  ...(phase ? { phase } : {}),
257
+ ...(unreadable ? { unreadable } : {}),
269
258
  });
270
259
  }
271
- // Completion order is not document order, so the sort is what makes the
272
- // response deterministic. It already existed; concurrency is why it matters.
260
+ // Completion order is not document order, so this sort is what makes the
261
+ // response deterministic.
273
262
  changes.sort((a, b) => b.lastModified.localeCompare(a.lastModified));
274
- // Tickets (active for the overview lists; archived counted separately).
275
263
  const allTickets = await scanTickets(projectRoot);
276
264
  const activeTickets = allTickets.filter((t) => !t.archived);
277
265
  const archivedTickets = allTickets.filter((t) => t.archived);
278
- // Specs.
279
266
  const specIds = await getSpecIds(projectRoot);
280
267
  const specs = await Promise.all(specIds.map(async (id) => ({ id, requirementCount: await specRequirementCount(projectRoot, id) })));
281
268
  specs.sort((a, b) => a.id.localeCompare(b.id));
@@ -286,8 +273,10 @@ export async function collectOverview(projectRoot) {
286
273
  changes: changes.length,
287
274
  tickets: activeTickets.length,
288
275
  specs: specs.length,
289
- // Total archived items (changes + tickets).
290
- archived: archivedChanges.length + archivedTickets.length,
276
+ // Archived *changes*, not changes plus tickets: archive moves the two
277
+ // together, so the sum would read exactly double.
278
+ archived: archivedChanges.length,
279
+ archivedTickets: archivedTickets.length,
291
280
  },
292
281
  changes,
293
282
  tickets: activeTickets,
@@ -304,18 +293,24 @@ export async function collectChangeDetail(projectRoot, name) {
304
293
  : 'No changes exist.';
305
294
  throw new Error(`Change '${name}' not found. ${list}`);
306
295
  }
307
- // Metadata (best-effort).
308
296
  let metadata = { schema: '' };
309
297
  try {
310
298
  const meta = readChangeMetadata(changeDir, projectRoot);
311
299
  if (meta) {
312
- metadata = { schema: meta.schema, type: meta.type, created: meta.created, goal: meta.goal, decisions: meta.decisions };
300
+ // Resolved, not copied: metadata may name no schema, and the panel should
301
+ // show the one the change is actually read with.
302
+ metadata = {
303
+ schema: resolveSchemaForChange(changeDir, undefined, projectRoot, { metadata: meta }),
304
+ type: meta.type,
305
+ created: meta.created,
306
+ goal: meta.goal,
307
+ decisions: meta.decisions,
308
+ };
313
309
  }
314
310
  }
315
311
  catch {
316
312
  // Keep the empty-schema fallback.
317
313
  }
318
- // Artifact statuses + artifact-id → file mapping (both from the loaded graph).
319
314
  const artifacts = [];
320
315
  const fileToArtifact = new Map();
321
316
  const taskProgress = await getTaskProgressForChange(path.join(projectRoot, 'tospec', 'changes'), name, projectRoot);
@@ -323,9 +318,9 @@ export async function collectChangeDetail(projectRoot, name) {
323
318
  const context = loadChangeContext(projectRoot, name);
324
319
  const status = formatChangeStatus(context);
325
320
  for (const a of status.artifacts) {
326
- // Optional-and-absent artifacts surface as 'skipped'; the dashboard shows
327
- // only done/ready/blocked (main.md §5), so drop skipped ones.
328
- if (a.status === 'skipped')
321
+ // The dashboard shows only done/ready/blocked, so drop the two values
322
+ // meaning "not written and not required".
323
+ if (a.status === 'skipped' || a.status === 'optional')
329
324
  continue;
330
325
  artifacts.push({
331
326
  id: a.id,
@@ -333,12 +328,10 @@ export async function collectChangeDetail(projectRoot, name) {
333
328
  ...(a.missingDeps && a.missingDeps.length > 0 ? { missingDeps: a.missingDeps } : {}),
334
329
  });
335
330
  }
336
- // Key by path relative to the change dir (posix). resolveArtifactOutputs
337
- // returns canonicalized absolute paths under the canonicalized change dir;
338
- // keying by the relative subpath keeps the match stable even when the temp
339
- // root is a symlink (e.g. macOS /var -> /private/var).
340
- // Async resolver: this is a server path, and the detail pane is fetched
341
- // while the overview may still be aggregating.
331
+ // Keyed by the change-dir-relative posix subpath, not the absolute path, so
332
+ // the match survives a symlinked root (macOS /var -> /private/var). Async
333
+ // resolver: the detail pane is fetched while the overview may still be
334
+ // aggregating.
342
335
  const resolved = await Promise.all(context.graph
343
336
  .getAllArtifacts()
344
337
  .map(async (artifact) => ({
@@ -354,7 +347,6 @@ export async function collectChangeDetail(projectRoot, name) {
354
347
  catch {
355
348
  // Schema unresolvable — still list files, just without artifact mapping.
356
349
  }
357
- // Files: every `.md` under the change dir, with artifact id when matched.
358
350
  const mdFiles = await collectMarkdownFiles(changeDir);
359
351
  const files = mdFiles.map((abs) => {
360
352
  const rel = FileSystemUtils.toPosixPath(path.relative(changeDir, abs));
@@ -382,8 +374,8 @@ export async function collectArchive(projectRoot) {
382
374
  if (!entry.isDirectory() || entry.name.startsWith('.'))
383
375
  continue;
384
376
  const dirName = entry.name;
385
- // dirName is `<stamp>-<name>`; stamp (yyyyMMdd_HHmmss) has no hyphen, so the
386
- // first hyphen splits stamp from name.
377
+ // A stamp (yyyyMMdd_HHmmss) has no hyphen, so the first one splits
378
+ // `<stamp>-<name>`.
387
379
  const dash = dirName.indexOf('-');
388
380
  const stamp = dash === -1 ? dirName : dirName.slice(0, dash);
389
381
  const changeName = dash === -1 ? '' : dirName.slice(dash + 1);
@@ -414,7 +406,7 @@ export async function collectDecisions(projectRoot) {
414
406
  content = await fs.readFile(abs, 'utf-8');
415
407
  }
416
408
  catch {
417
- // File vanished between the readdir and this read — keep it listed, empty body.
409
+ // Vanished between the readdir and this read; keep it listed, body empty.
418
410
  }
419
411
  decisions.push({ ...e, path: toRootRelative(projectRoot, abs), content });
420
412
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-data.js","sourceRoot":"","sources":["../../src/core/dashboard-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-data.js","sourceRoot":"","sources":["../../src/core/dashboard-data.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,8 @@ export interface GlobalConfig {
7
7
  workflows?: string[];
8
8
  }
9
9
  /**
10
- * Options for resolving a user-level path. Injecting all three is what makes a
11
- * foreign platform's answer assertable from whichever host runs the tests.
10
+ * Options for resolving a user-level path. All three are injectable so a foreign
11
+ * platform's answer is assertable from whichever host runs the tests.
12
12
  */
13
13
  export interface GlobalPathOptions {
14
14
  env?: NodeJS.ProcessEnv;
@@ -16,74 +16,45 @@ export interface GlobalPathOptions {
16
16
  homedir?: string;
17
17
  }
18
18
  /**
19
- * The single user-level tospec directory, on every platform.
19
+ * The single user-level tospec directory on every platform:
20
+ * `$XDG_CONFIG_HOME/tospec/`, else `~/.config/tospec/`.
20
21
  *
21
- * - $XDG_CONFIG_HOME/tospec/ when XDG_CONFIG_HOME is set
22
- * - ~/.config/tospec/ otherwise
23
- *
24
- * Deliberately platform-uniform: %APPDATA% is not consulted, so config, schema
25
- * overrides and the dashboard registry cannot end up in three different trees on
26
- * Windows. Anyone who wants the roaming behaviour back — %APPDATA% is synced
27
- * across domain-joined machines and the home directory is not — sets
28
- * XDG_CONFIG_HOME to it.
22
+ * Platform-uniform on purpose: %APPDATA% is not consulted, so config, schema
23
+ * overrides and the dashboard registry cannot land in three different trees on
24
+ * Windows. Point XDG_CONFIG_HOME at %APPDATA% for the roaming behaviour.
29
25
  */
30
26
  export declare function getGlobalConfigDir(options?: GlobalPathOptions): string;
31
27
  /**
32
- * The user data directory schema overrides used to live in, before they moved
33
- * under the config directory.
34
- *
35
- * - macOS/Linux: ~/.local/share/tospec/
36
- * - Windows: %LOCALAPPDATA%/tospec/
28
+ * Where schema overrides lived before moving under the config directory:
29
+ * `~/.local/share/tospec/`, or `%LOCALAPPDATA%/tospec/` on Windows.
37
30
  *
38
- * XDG_DATA_HOME is deliberately *not* consulted here. It still names a live
39
- * schema override (see getUserSchemasDir), so a directory it points at is one
40
- * the user chose on purpose — reading it as "legacy" would have the migration
41
- * move files out of a location we are still honouring.
31
+ * XDG_DATA_HOME is *not* consulted: it still names a live schema override (see
32
+ * getUserSchemasDir), so reading it as "legacy" would migrate files out of a
33
+ * location tospec still honours.
42
34
  */
43
35
  export declare function getLegacyDataDir(options?: GlobalPathOptions): string;
44
36
  /**
45
- * Where config lived before it moved under ~/.config. Only the migration and
46
- * the read fallback below consult it, and together with getLegacySchemasDir it
47
- * is the last place platform branching survives.
48
- *
49
- * On macOS/Linux — and on any platform with XDG_CONFIG_HOME set — the old
50
- * resolver already produced today's answer, so "legacy" is the current
51
- * directory and every caller degenerates into a no-op without needing to ask
52
- * which platform it is on.
37
+ * Where config lived before it moved under ~/.config; only the migration and the
38
+ * read fallback consult it. On macOS/Linux, and anywhere XDG_CONFIG_HOME is set,
39
+ * the old resolver already produced today's answer, so every caller degenerates
40
+ * into a no-op.
53
41
  */
54
42
  export declare function getLegacyConfigDir(options?: GlobalPathOptions): string;
55
- /**
56
- * Gets the path to the global config file.
57
- */
58
43
  export declare function getGlobalConfigPath(): string;
59
44
  /**
60
- * Reads config from `configDir`, falling back to `legacyConfigDir` while an
61
- * install has not been migrated yet — migration only runs on init/update, so
62
- * without this a user who upgrades and runs anything else would silently drop
63
- * to the default profile. Writes always go to `configDir`, so the fallback
64
- * stops firing as soon as anything saves.
65
- *
66
- * Takes resolved directories rather than reading them itself so the on-disk
67
- * behaviour is testable without a platform whose legacy path differs.
45
+ * Falls back to `legacyConfigDir` while an install has not been migrated:
46
+ * migration only runs on init/update, so without this a user who upgrades and
47
+ * runs anything else silently drops to the default profile. Writes always go to
48
+ * `configDir`, so the fallback stops firing as soon as anything saves.
68
49
  */
69
50
  export declare function loadGlobalConfigFrom(configDir: string, legacyConfigDir: string): GlobalConfig;
70
51
  /**
71
- * The config file a read actually lands on. Callers that re-read the raw file to
72
- * tell explicit values from defaults need this rather than getGlobalConfigPath,
73
- * which names where config is *written* — during the fallback window those are
74
- * different files, and using the wrong one labels every explicit value
75
- * "(default)".
52
+ * The config file a read actually lands on, as opposed to getGlobalConfigPath,
53
+ * which names where config is *written*. During the fallback window those are
54
+ * different files, and the wrong one labels every explicit value "(default)".
76
55
  */
77
56
  export declare function getEffectiveConfigPath(): string;
78
- /**
79
- * Loads the global configuration from disk.
80
- * Returns default configuration if file doesn't exist or is invalid.
81
- * Merges loaded config with defaults to ensure new fields are available.
82
- */
57
+ /** Merged over the defaults; a missing or invalid file yields the defaults. */
83
58
  export declare function getGlobalConfig(): GlobalConfig;
84
- /**
85
- * Saves the global configuration to disk.
86
- * Creates the config directory if it doesn't exist.
87
- */
88
59
  export declare function saveGlobalConfig(config: GlobalConfig): void;
89
60
  //# sourceMappingURL=global-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/core/global-config.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAC/C,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AACrD,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAG7C,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAKxC,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAMD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAY1E;AASD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAiBxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAa1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AA2BD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,YAAY,CAG7F;AAaD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAE9C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAU3D"}
1
+ {"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/core/global-config.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAC/C,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AACrD,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAE7C,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAIxC,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAMD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAY1E;AASD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAiBxE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAa1E;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AA4BD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,YAAY,CAG7F;AAaD;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,IAAI,YAAY,CAE9C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAS3D"}