@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,57 +1,84 @@
1
1
  import * as fs from 'node:fs';
2
2
  import * as path from 'node:path';
3
- import { collectAllArtifactIds, fileStamp, getSchemaDir, resolveSchema } from './resolver.js';
3
+ import { collectAllArtifactIds, fileStamp, getSchemaDirWithSource, resolveSchema, } from './resolver.js';
4
4
  import { ArtifactGraph } from './graph.js';
5
5
  import { detectCompleted } from './state.js';
6
6
  import { resolveArtifactOutputs } from './outputs.js';
7
+ import { isStubArtifactFile } from './stub-detection.js';
7
8
  import { METADATA_FILENAME, readChangeMetadata, readSkipSpecsMarker, resolveSchemaForChange, } from '../../utils/change-metadata.js';
8
9
  import { FileSystemUtils } from '../../utils/file-system.js';
10
+ import { stripBom } from '../parsers/requirement-text.js';
9
11
  import { buildActionContext, buildNextSteps, summarizePlanningHome, } from '../change-status-policy.js';
10
- import { readProjectConfig, validateConfigRules } from '../project-config.js';
11
- // Session-level cache for validation warnings (avoid repeating same warnings)
12
+ import { readProjectConfigWithDiagnostics, validateConfigRules, } from '../project-config.js';
13
+ /** Warnings already printed this session, so each is printed once. */
12
14
  const shownWarnings = new Set();
13
- /**
14
- * Error thrown when loading a template fails.
15
- */
16
15
  export class TemplateLoadError extends Error {
17
16
  templatePath;
18
- constructor(message, templatePath) {
17
+ /**
18
+ * A full `CommandDiagnostic`, so the failure reaches `--json` with its `fix`.
19
+ * Without one it fell through to the generic `change_error` shape, which
20
+ * offers no next step.
21
+ */
22
+ diagnostic;
23
+ constructor(message, templatePath, fix) {
19
24
  super(message);
20
25
  this.templatePath = templatePath;
21
26
  this.name = 'TemplateLoadError';
27
+ this.diagnostic = {
28
+ severity: 'error',
29
+ // The same code `tospec templates` warns with; the severity differs
30
+ // because there the caller still got what it asked for.
31
+ code: 'template_file_missing',
32
+ message,
33
+ target: templatePath,
34
+ ...(fix ? { fix } : {}),
35
+ };
22
36
  }
23
37
  }
24
38
  /** Template file contents keyed by path, invalidated on stamp change. */
25
39
  const templateCache = new Map();
26
40
  /**
27
- * Loads a template from a schema's templates directory.
41
+ * What to do about a template file the winning schema layer does not have.
42
+ *
43
+ * An override layer is taken whole — there is no per-file fallback to the
44
+ * packaged templates — so overriding one template breaks every artifact whose
45
+ * template was not copied along with it. That is the resolution rule, not a bug.
46
+ */
47
+ function templateMissingFix(schemaName, source) {
48
+ if (source === 'package') {
49
+ return `Schema '${schemaName}' names a template file that its package directory does not have; reinstall tospec, or fix the artifact's template: value in schema.yaml.`;
50
+ }
51
+ const layer = source === 'project' ? 'project-level' : 'user-level';
52
+ return `This path is inside the ${layer} '${schemaName}' override, which replaces the packaged schema directory whole — templates are not resolved per file. Copy the packaged schema's templates/ file in beside your own, or remove the override to fall back to the packaged schema. Run 'tospec templates --schema ${schemaName}' to see every file the override still has to supply.`;
53
+ }
54
+ /**
55
+ * A template from a schema's `templates/` directory, e.g. "proposal.md".
28
56
  *
29
- * @param schemaName - Schema name (e.g., "sdd")
30
- * @param templatePath - Relative path within the templates directory (e.g., "proposal.md")
31
- * @param projectRoot - Optional project root for project-local schema resolution
32
- * @returns The template content
33
- * @throws TemplateLoadError if the template cannot be loaded
57
+ * @throws TemplateLoadError when the schema or the template cannot be read.
34
58
  */
35
59
  export function loadTemplate(schemaName, templatePath, projectRoot) {
36
- const schemaDir = getSchemaDir(schemaName, projectRoot);
37
- if (!schemaDir) {
60
+ const resolved = getSchemaDirWithSource(schemaName, projectRoot);
61
+ if (!resolved) {
38
62
  throw new TemplateLoadError(`Schema '${schemaName}' not found`, templatePath);
39
63
  }
64
+ const { dir: schemaDir, source } = resolved;
40
65
  const templatePathOnDisk = path.join(schemaDir, 'templates', templatePath);
41
66
  if (!fs.existsSync(templatePathOnDisk)) {
42
- throw new TemplateLoadError(`Template not found: ${templatePathOnDisk}`, templatePathOnDisk);
67
+ throw new TemplateLoadError(`Template not found: ${templatePathOnDisk}`, templatePathOnDisk, templateMissingFix(schemaName, source));
43
68
  }
44
69
  const fullPath = FileSystemUtils.canonicalizeExistingPath(templatePathOnDisk);
45
- // Templates are per-schema, but stub detection asks for them once per
46
- // artifact per change — so the same handful of files were re-read N times a
47
- // run. Strings are immutable, so the cached value can be handed out as-is.
70
+ // Stub detection asks for a template once per artifact per change, so the same
71
+ // few files were re-read N times a run.
48
72
  const stamp = fileStamp(fullPath);
49
73
  const cached = stamp === null ? undefined : templateCache.get(fullPath);
50
74
  if (cached && cached.stamp === stamp) {
51
75
  return cached.content;
52
76
  }
53
77
  try {
54
- const content = fs.readFileSync(fullPath, 'utf-8');
78
+ // BOM-free on read, so stub detection compares like with like: it strips
79
+ // the artifact's BOM but took the template as-is, and a project override
80
+ // saved from a Windows editor made every verbatim copy look edited.
81
+ const content = stripBom(fs.readFileSync(fullPath, 'utf-8'));
55
82
  if (stamp !== null) {
56
83
  templateCache.set(fullPath, { stamp, content });
57
84
  }
@@ -63,37 +90,26 @@ export function loadTemplate(schemaName, templatePath, projectRoot) {
63
90
  }
64
91
  }
65
92
  /**
66
- * Loads change context combining graph and completion state.
67
- *
68
- * Schema resolution order:
69
- * 1. Explicit schemaName parameter (if provided)
70
- * 2. Schema from .tospec.yaml metadata (if exists in change directory)
71
- * 3. Default 'sdd'
93
+ * The graph plus the completion state derived from files on disk.
72
94
  *
73
- * @param projectRoot - Project root directory
74
- * @param changeName - Change name
75
- * @param schemaName - Optional schema name override. If not provided, auto-detected from metadata.
76
- * @returns Change context with graph, completed set, and metadata
95
+ * The schema is the explicit `schemaName`, else the one `.tospec.yaml` records,
96
+ * else `sdd`.
77
97
  */
78
98
  export function loadChangeContext(projectRoot, changeName, schemaName, options = {}) {
79
99
  const changeDir = FileSystemUtils.canonicalizeExistingPath(options.changeDir ?? path.join(projectRoot, 'tospec', 'changes', changeName));
80
- // Read independently of readChangeMetadata below: it never throws (a
81
- // malformed value is reported via invalidReason, not an exception), so it
82
- // stays available even when the full metadata parse does throw because of
83
- // that same field.
100
+ // Read independently of readChangeMetadata below, which throws: this one
101
+ // reports a malformed value via invalidReason, so it stays available even
102
+ // when the full parse fails on that same field.
84
103
  const skipSpecsMarker = readSkipSpecsMarker(changeDir);
85
104
  let metadata;
86
105
  try {
87
106
  metadata = readChangeMetadata(changeDir, projectRoot) ?? undefined;
88
107
  }
89
108
  catch (error) {
90
- // readChangeMetadata validates the whole document as a unit, so an
91
- // invalid skip_specs value fails everything else in it too — including
92
- // fields (schema, decisions, ...) that have nothing to do with skip_specs
93
- // and did not cause the failure. Only recover when skipSpecsMarker
94
- // independently confirms skip_specs is the field at fault; any other
95
- // cause still throws, since there is no way to tell what the rest of the
96
- // metadata should have been.
109
+ // readChangeMetadata validates the document as a unit, so an invalid
110
+ // skip_specs fails every unrelated field with it. Recover only when
111
+ // skipSpecsMarker confirms skip_specs is at fault; any other cause still
112
+ // throws, since the rest of the metadata is then unknown.
97
113
  if (!skipSpecsMarker.invalidReason)
98
114
  throw error;
99
115
  metadata = undefined;
@@ -104,15 +120,15 @@ export function loadChangeContext(projectRoot, changeName, schemaName, options =
104
120
  const schema = resolveSchema(resolvedSchemaName, projectRoot);
105
121
  const graph = ArtifactGraph.fromSchema(schema);
106
122
  const completed = detectCompleted(graph, changeDir);
107
- // A stub (empty or template-identical file) must not count as done —
108
- // otherwise it optimistically unlocks downstream artifacts (report 3.2).
123
+ // A stub must not count as done, or it optimistically unlocks downstream
124
+ // artifacts.
109
125
  const stubs = detectStubs(graph, changeDir, resolvedSchemaName, projectRoot);
110
126
  for (const id of stubs) {
111
127
  completed.delete(id);
112
128
  }
113
- // skip_specs is the per-change escape hatch from a schema's default
114
- // `specs` requirement. Scoped to the `specs` id by convention, matching
115
- // validate.ts's and archive.ts's existing readers of this marker.
129
+ // skip_specs is the per-change escape hatch from a schema's default `specs`
130
+ // requirement, scoped to that id by convention — matching the same marker's
131
+ // readers in validate.ts and archive.ts.
116
132
  const skippedArtifacts = new Set();
117
133
  if (skipSpecsMarker.declared && graph.getArtifact('specs')) {
118
134
  skippedArtifacts.add('specs');
@@ -132,11 +148,9 @@ export function loadChangeContext(projectRoot, changeName, schemaName, options =
132
148
  };
133
149
  }
134
150
  /**
135
- * Detects artifacts whose output files exist but are stubs: every resolved
136
- * output is empty/whitespace-only or byte-identical to the artifact's template
137
- * (placeholders untouched). File existence alone must not mean done.
138
- * ponytail: cheap checks only (empty + template compare); deep "required
139
- * sections all empty" analysis is validate's job, not status's.
151
+ * Artifacts whose every resolved output is empty or byte-identical to the
152
+ * template, because file existence alone must not mean done. Cheap checks only;
153
+ * "required sections all empty" analysis is validate's job, not status's.
140
154
  */
141
155
  function detectStubs(graph, changeDir, schemaName, projectRoot) {
142
156
  const stubs = new Set();
@@ -144,32 +158,16 @@ function detectStubs(graph, changeDir, schemaName, projectRoot) {
144
158
  const outputs = resolveArtifactOutputs(changeDir, artifact.generates);
145
159
  if (outputs.length === 0)
146
160
  continue;
147
- // Template resolved through the project/user/package precedence chain so
148
- // the compare uses the same template the file was scaffolded from.
149
- let template = null;
150
- try {
151
- template = loadTemplate(schemaName, artifact.template, projectRoot);
152
- }
153
- catch {
154
- template = null;
155
- }
156
- const allStubs = outputs.every((file) => {
157
- let content;
158
- try {
159
- content = fs.readFileSync(file, 'utf-8');
160
- }
161
- catch {
162
- return false;
163
- }
164
- if (content.trim().length === 0)
165
- return true;
166
- return template !== null && content === template;
167
- });
161
+ // Shared with validate so the two cannot disagree about what a stub is. The
162
+ // template resolves through the project/user/package chain, so the compare
163
+ // uses the template the file actually came from.
164
+ const allStubs = outputs.every((file) => isStubArtifactFile(file, schemaName, artifact.template, projectRoot));
168
165
  if (allStubs)
169
166
  stubs.add(artifact.id);
170
167
  }
171
168
  return stubs;
172
169
  }
170
+ /** @throws Error when the schema has no artifact with that id. */
173
171
  export function generateInstructions(context, artifactId, projectRoot, options = {}) {
174
172
  const artifact = context.graph.getArtifact(artifactId);
175
173
  if (!artifact) {
@@ -178,34 +176,52 @@ export function generateInstructions(context, artifactId, projectRoot, options =
178
176
  const templateContent = loadTemplate(context.schemaName, artifact.template, context.projectRoot);
179
177
  const dependencies = getDependencyInfo(artifact, context.graph, context.completed);
180
178
  const unlocks = getUnlockedArtifacts(context.graph, artifactId);
181
- // Use projectRoot from context if not explicitly provided
182
179
  const effectiveProjectRoot = projectRoot ?? context.projectRoot;
183
- // Use the pre-read config when provided; otherwise read it here.
184
180
  let projectConfig = options.projectConfig ?? null;
181
+ let configDiagnostics = options.configDiagnostics ?? [];
185
182
  if (options.projectConfig === undefined && effectiveProjectRoot) {
186
183
  try {
187
- projectConfig = readProjectConfig(effectiveProjectRoot);
184
+ const result = readProjectConfigWithDiagnostics(effectiveProjectRoot);
185
+ projectConfig = result.config;
186
+ configDiagnostics = result.diagnostics;
188
187
  }
189
188
  catch {
190
- // If config read fails, continue without config
189
+ // An unreadable config is not fatal: continue without one.
191
190
  }
192
191
  }
193
- // Validate rules artifact IDs if config has rules (only once per session).
194
- // Against every schema's artifacts, not just this change's: rules is one
195
- // global map, so a key naming another schema's artifact is correct config,
196
- // not a typo. Schema resolution is mtime+size cached (see resolver.ts), so
197
- // the extra reads cost nothing after the first call.
192
+ // Rules keys are checked against every schema's artifacts, not just this
193
+ // change's: `rules` is one global map, so a key naming another schema's
194
+ // artifact is correct config, not a typo.
195
+ //
196
+ // Carried on the payload as well as printed: stderr alone left a broken
197
+ // `rules:` key invisible to an agent parsing `--json`. The reader's own
198
+ // diagnostics come first — they explain the payload more than a rules typo
199
+ // does, and status[0] is what a terse caller reports.
200
+ const configWarnings = [...configDiagnostics];
198
201
  if (projectConfig?.rules) {
199
- const warnings = validateConfigRules(projectConfig.rules, collectAllArtifactIds(effectiveProjectRoot ?? undefined));
200
- // Show each unique warning only once per session
201
- for (const warning of warnings) {
202
- if (!shownWarnings.has(warning)) {
203
- console.warn(warning);
204
- shownWarnings.add(warning);
205
- }
202
+ configWarnings.push(...validateConfigRules(projectConfig.rules, collectAllArtifactIds(effectiveProjectRoot ?? undefined)).map((message) => ({ code: 'config_rules_unknown_artifact', message })));
203
+ }
204
+ // Printed once per session, but carried on the payload every call: a caller
205
+ // reading one document must not depend on what an earlier call did.
206
+ for (const warning of configWarnings) {
207
+ if (!shownWarnings.has(warning.message)) {
208
+ console.warn(warning.message);
209
+ shownWarnings.add(warning.message);
206
210
  }
207
211
  }
208
- // Extract context and rules as separate fields (not prepended to template)
212
+ // Omitted rather than emitted empty when the schema declares nothing: an empty
213
+ // criteria block reads as "this artifact has none", a stronger claim.
214
+ const declared = artifact.validation;
215
+ const validation = declared &&
216
+ (declared.requiredSections.length > 0 ||
217
+ Object.keys(declared.minSectionLength).length > 0 ||
218
+ Object.keys(declared.maxSectionLength).length > 0)
219
+ ? {
220
+ requiredSections: [...declared.requiredSections],
221
+ minSectionLength: { ...declared.minSectionLength },
222
+ maxSectionLength: { ...declared.maxSectionLength },
223
+ }
224
+ : undefined;
209
225
  const configContext = projectConfig?.context?.trim() || undefined;
210
226
  const rulesForArtifact = projectConfig?.rules?.[artifactId];
211
227
  const configRules = rulesForArtifact && rulesForArtifact.length > 0 ? rulesForArtifact : undefined;
@@ -223,13 +239,13 @@ export function generateInstructions(context, artifactId, projectRoot, options =
223
239
  context: configContext,
224
240
  rules: configRules,
225
241
  template: templateContent,
242
+ ...(validation ? { validation } : {}),
226
243
  dependencies,
227
244
  unlocks,
245
+ changeMetadata: summarizeChangeMetadata(context.metadata),
246
+ ...(configWarnings.length ? { configWarnings } : {}),
228
247
  };
229
248
  }
230
- /**
231
- * Gets dependency info including paths and descriptions.
232
- */
233
249
  function getDependencyInfo(artifact, graph, completed) {
234
250
  return artifact.requires.map(id => {
235
251
  const depArtifact = graph.getArtifact(id);
@@ -242,25 +258,38 @@ function getDependencyInfo(artifact, graph, completed) {
242
258
  });
243
259
  }
244
260
  /**
245
- * Gets artifacts that become available after completing the given artifact.
261
+ * Artifacts that become available once `artifactId` is written, in build order.
262
+ *
263
+ * Not the alphabet: `status` lists artifacts in build order (declaration order
264
+ * breaks ties, see commit a3a3c57), so an alphabetical `unlocks` had the same
265
+ * CLI giving two orders for one schema — `instructions proposal` said
266
+ * design-then-specs while `status` said specs-then-design.
246
267
  */
247
268
  function getUnlockedArtifacts(graph, artifactId) {
248
- const unlocks = [];
249
- for (const artifact of graph.getAllArtifacts()) {
250
- if (artifact.requires.includes(artifactId)) {
251
- unlocks.push(artifact.id);
252
- }
253
- }
254
- return unlocks.sort();
269
+ const orderMap = new Map(graph.getBuildOrder().map((id, idx) => [id, idx]));
270
+ return graph
271
+ .getAllArtifacts()
272
+ .filter((artifact) => artifact.requires.includes(artifactId))
273
+ .map((artifact) => artifact.id)
274
+ .sort((a, b) => (orderMap.get(a) ?? 0) - (orderMap.get(b) ?? 0));
255
275
  }
256
276
  /**
257
- * Formats the status of all artifacts in a change.
258
- *
259
- * @param context - Change context
260
- * @returns Formatted change status
277
+ * `skipped` is checked before `optional`: a change that declared the artifact
278
+ * away has said something stronger than the schema's "you may omit this", and
279
+ * collapsing the two hides which artifacts could still be written.
261
280
  */
281
+ function deriveArtifactStatus(artifact, context, ready) {
282
+ if (context.completed.has(artifact.id))
283
+ return 'done';
284
+ if (context.stubs?.has(artifact.id))
285
+ return 'stub';
286
+ if (context.skippedArtifacts?.has(artifact.id))
287
+ return 'skipped';
288
+ if (artifact.optional)
289
+ return 'optional';
290
+ return ready.has(artifact.id) ? 'ready' : 'blocked';
291
+ }
262
292
  export function formatChangeStatus(context) {
263
- // Load schema to get apply phase configuration
264
293
  const schema = resolveSchema(context.schemaName, context.projectRoot);
265
294
  const applyRequires = schema.apply?.requires ?? schema.artifacts.map(a => a.id);
266
295
  const artifacts = context.graph.getAllArtifacts();
@@ -273,28 +302,16 @@ export function formatChangeStatus(context) {
273
302
  resolvedOutputPath: path.join(context.changeDir, artifact.generates),
274
303
  existingOutputPaths: resolveArtifactOutputs(context.changeDir, artifact.generates),
275
304
  };
276
- // Status is derived once so the returned shape is written once: adding a
277
- // field to ArtifactStatus used to mean editing five near-identical literals.
278
- const status = context.completed.has(artifact.id)
279
- ? 'done'
280
- : context.stubs?.has(artifact.id)
281
- ? 'stub'
282
- : artifact.optional || context.skippedArtifacts?.has(artifact.id)
283
- ? 'skipped'
284
- : ready.has(artifact.id)
285
- ? 'ready'
286
- : 'blocked';
305
+ const status = deriveArtifactStatus(artifact, context, ready);
287
306
  return {
288
307
  id: artifact.id,
289
308
  outputPath: artifact.generates,
290
309
  status,
291
310
  optional: artifact.optional,
292
- // Absent rather than empty for every other status — the JSON contract
293
- // only carries missingDeps on a blocked artifact.
311
+ // The JSON contract carries missingDeps only on a blocked artifact.
294
312
  ...(status === 'blocked' ? { missingDeps: blocked[artifact.id] ?? [] } : {}),
295
313
  };
296
314
  });
297
- // Sort by build order for consistent output
298
315
  const buildOrder = context.graph.getBuildOrder();
299
316
  const orderMap = new Map(buildOrder.map((id, idx) => [id, idx]));
300
317
  artifactStatuses.sort((a, b) => (orderMap.get(a.id) ?? 0) - (orderMap.get(b.id) ?? 0));
@@ -327,7 +344,17 @@ export function formatChangeStatus(context) {
327
344
  artifactIds,
328
345
  }),
329
346
  artifacts: artifactStatuses,
347
+ changeMetadata: summarizeChangeMetadata(context.metadata),
330
348
  ...(statusDiagnostics.length ? { status: statusDiagnostics } : {}),
331
349
  };
332
350
  }
351
+ /** The recorded intent, reduced to the fields an agent needs to honour it. */
352
+ export function summarizeChangeMetadata(metadata) {
353
+ return {
354
+ ...(metadata?.goal ? { goal: metadata.goal } : {}),
355
+ ...(metadata?.decisions && metadata.decisions.length > 0
356
+ ? { decisions: [...metadata.decisions] }
357
+ : {}),
358
+ };
359
+ }
333
360
  //# sourceMappingURL=instruction-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instruction-loader.js","sourceRoot":"","sources":["../../../src/core/artifact-graph/instruction-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instruction-loader.js","sourceRoot":"","sources":["../../../src/core/artifact-graph/instruction-loader.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,21 @@
1
- /**
2
- * Checks if a path contains glob pattern characters.
3
- */
4
1
  export declare function isGlobPattern(pattern: string): boolean;
5
2
  /**
6
- * Resolves an artifact's output path(s) to concrete files that currently exist.
7
- * Returns absolute file paths. Glob matches are sorted for deterministic output.
3
+ * Absolute paths of the files an artifact's `generates` currently resolves to.
4
+ * Sorted, for deterministic output.
8
5
  */
9
6
  export declare function resolveArtifactOutputs(changeDir: string, generates: string): string[];
10
7
  /**
11
- * Async twin of {@link resolveArtifactOutputs}, for `collectChangeDetail` — its
12
- * only caller, and the reason it is worth keeping a second implementation.
13
- * A detail pane is fetched while the overview may still be aggregating, so its
14
- * per-artifact resolution is the one that has something to interleave with.
8
+ * Async twin of {@link resolveArtifactOutputs}, for `collectChangeDetail`: a
9
+ * detail pane is fetched while the overview may still be aggregating, so it has
10
+ * something to interleave with.
15
11
  *
16
- * It does **not** serve the save-triggered overview, despite what the change
17
- * that introduced it was named after. `collectOverview` reaches this module only
18
- * through `artifactSummaryFor` → `formatChangeStatus` → `artifactOutputExists`
19
- * and through `listTasksForChange`, both synchronous — deliberately, and
20
- * measured: dashboard-data.ts records 2.1 ms as the longest stall across 30
21
- * changes with the sync resolver in place, because the awaits already sitting in
22
- * that loop break the work across iterations. What removed the cost there was
23
- * the single-wildcard `readdir` fast path above, not asynchrony.
12
+ * It does **not** serve the save-triggered overview, which reaches this module
13
+ * only through synchronous paths — see the measurement in dashboard-data.ts.
24
14
  *
25
15
  * The duplicated branch structure is held to the sync version by the parity
26
- * cases in test/core/artifact-graph/outputs.test.ts, which run both resolvers
27
- * over each branch — non-glob, fast path, fast-glob fallback, missing prefix —
28
- * and assert identical results. Any behaviour added to one belongs in that list.
16
+ * cases in test/core/artifact-graph/outputs.test.ts. Any behaviour added to one
17
+ * belongs in that list.
29
18
  */
30
19
  export declare function resolveArtifactOutputsAsync(changeDir: string, generates: string): Promise<string[]>;
31
- /**
32
- * Checks if an artifact has at least one resolved output file.
33
- */
34
20
  export declare function artifactOutputExists(changeDir: string, generates: string): boolean;
35
21
  //# sourceMappingURL=outputs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"outputs.d.ts","sourceRoot":"","sources":["../../../src/core/artifact-graph/outputs.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAyCD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CA+CrF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CA2CnB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAElF"}
1
+ {"version":3,"file":"outputs.d.ts","sourceRoot":"","sources":["../../../src/core/artifact-graph/outputs.ts"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AA6DD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CA+CrF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CA4CnB;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAElF"}