@seanmars/tospec 0.12.0 → 0.14.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 (201) hide show
  1. package/CHANGELOG.md +233 -0
  2. package/README.md +20 -7
  3. package/assets/dashboard/app.js +6 -0
  4. package/assets/dashboard/style.css +42 -5
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +39 -16
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/commands/config.d.ts.map +1 -1
  9. package/dist/commands/config.js +21 -16
  10. package/dist/commands/config.js.map +1 -1
  11. package/dist/commands/dashboard.d.ts +95 -8
  12. package/dist/commands/dashboard.d.ts.map +1 -1
  13. package/dist/commands/dashboard.js +256 -31
  14. package/dist/commands/dashboard.js.map +1 -1
  15. package/dist/commands/decision.d.ts.map +1 -1
  16. package/dist/commands/decision.js +1 -13
  17. package/dist/commands/decision.js.map +1 -1
  18. package/dist/commands/validate.d.ts.map +1 -1
  19. package/dist/commands/validate.js +80 -44
  20. package/dist/commands/validate.js.map +1 -1
  21. package/dist/commands/workflow/instructions.d.ts +0 -2
  22. package/dist/commands/workflow/instructions.d.ts.map +1 -1
  23. package/dist/commands/workflow/instructions.js +3 -38
  24. package/dist/commands/workflow/instructions.js.map +1 -1
  25. package/dist/commands/workflow/shared.d.ts +0 -3
  26. package/dist/commands/workflow/shared.d.ts.map +1 -1
  27. package/dist/commands/workflow/shared.js.map +1 -1
  28. package/dist/core/archive.d.ts +11 -2
  29. package/dist/core/archive.d.ts.map +1 -1
  30. package/dist/core/archive.js +110 -111
  31. package/dist/core/archive.js.map +1 -1
  32. package/dist/core/artifact-graph/instruction-loader.d.ts +0 -5
  33. package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
  34. package/dist/core/artifact-graph/instruction-loader.js +37 -40
  35. package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
  36. package/dist/core/artifact-graph/resolver.d.ts +27 -1
  37. package/dist/core/artifact-graph/resolver.d.ts.map +1 -1
  38. package/dist/core/artifact-graph/resolver.js +114 -127
  39. package/dist/core/artifact-graph/resolver.js.map +1 -1
  40. package/dist/core/artifact-graph/schema.d.ts.map +1 -1
  41. package/dist/core/artifact-graph/schema.js +22 -0
  42. package/dist/core/artifact-graph/schema.js.map +1 -1
  43. package/dist/core/change-metadata/schema.d.ts +1 -0
  44. package/dist/core/change-metadata/schema.d.ts.map +1 -1
  45. package/dist/core/change-metadata/schema.js +7 -0
  46. package/dist/core/change-metadata/schema.js.map +1 -1
  47. package/dist/core/change-presenter.d.ts +0 -1
  48. package/dist/core/change-presenter.d.ts.map +1 -1
  49. package/dist/core/change-presenter.js +4 -21
  50. package/dist/core/change-presenter.js.map +1 -1
  51. package/dist/core/command-generation/adapters/index.d.ts +9 -1
  52. package/dist/core/command-generation/adapters/index.d.ts.map +1 -1
  53. package/dist/core/command-generation/adapters/index.js +10 -1
  54. package/dist/core/command-generation/adapters/index.js.map +1 -1
  55. package/dist/core/command-generation/index.d.ts +2 -2
  56. package/dist/core/command-generation/index.d.ts.map +1 -1
  57. package/dist/core/command-generation/index.js +2 -2
  58. package/dist/core/command-generation/index.js.map +1 -1
  59. package/dist/core/config.d.ts +0 -4
  60. package/dist/core/config.d.ts.map +1 -1
  61. package/dist/core/config.js +0 -4
  62. package/dist/core/config.js.map +1 -1
  63. package/dist/core/converters/json-converter.d.ts +0 -1
  64. package/dist/core/converters/json-converter.d.ts.map +1 -1
  65. package/dist/core/converters/json-converter.js +3 -17
  66. package/dist/core/converters/json-converter.js.map +1 -1
  67. package/dist/core/dashboard-activity.d.ts.map +1 -1
  68. package/dist/core/dashboard-activity.js +2 -8
  69. package/dist/core/dashboard-activity.js.map +1 -1
  70. package/dist/core/dashboard-data.d.ts +12 -6
  71. package/dist/core/dashboard-data.d.ts.map +1 -1
  72. package/dist/core/dashboard-data.js +13 -44
  73. package/dist/core/dashboard-data.js.map +1 -1
  74. package/dist/core/global-config.d.ts +59 -16
  75. package/dist/core/global-config.d.ts.map +1 -1
  76. package/dist/core/global-config.js +99 -41
  77. package/dist/core/global-config.js.map +1 -1
  78. package/dist/core/id.d.ts +0 -8
  79. package/dist/core/id.d.ts.map +1 -1
  80. package/dist/core/id.js +0 -19
  81. package/dist/core/id.js.map +1 -1
  82. package/dist/core/init.d.ts +0 -1
  83. package/dist/core/init.d.ts.map +1 -1
  84. package/dist/core/init.js +13 -23
  85. package/dist/core/init.js.map +1 -1
  86. package/dist/core/list.d.ts.map +1 -1
  87. package/dist/core/list.js +3 -34
  88. package/dist/core/list.js.map +1 -1
  89. package/dist/core/migrate.js +9 -15
  90. package/dist/core/migrate.js.map +1 -1
  91. package/dist/core/parsers/markdown-parser.d.ts +11 -1
  92. package/dist/core/parsers/markdown-parser.d.ts.map +1 -1
  93. package/dist/core/parsers/markdown-parser.js +25 -13
  94. package/dist/core/parsers/markdown-parser.js.map +1 -1
  95. package/dist/core/planning-home.d.ts +6 -0
  96. package/dist/core/planning-home.d.ts.map +1 -1
  97. package/dist/core/planning-home.js +6 -1
  98. package/dist/core/planning-home.js.map +1 -1
  99. package/dist/core/project-config.d.ts +17 -26
  100. package/dist/core/project-config.d.ts.map +1 -1
  101. package/dist/core/project-config.js +24 -138
  102. package/dist/core/project-config.js.map +1 -1
  103. package/dist/core/root-selection.d.ts.map +1 -1
  104. package/dist/core/root-selection.js +2 -15
  105. package/dist/core/root-selection.js.map +1 -1
  106. package/dist/core/shared/index.d.ts +1 -1
  107. package/dist/core/shared/index.d.ts.map +1 -1
  108. package/dist/core/shared/index.js +1 -1
  109. package/dist/core/shared/index.js.map +1 -1
  110. package/dist/core/shared/skill-generation.js +3 -3
  111. package/dist/core/shared/skill-generation.js.map +1 -1
  112. package/dist/core/shared/tool-detection.d.ts +9 -6
  113. package/dist/core/shared/tool-detection.d.ts.map +1 -1
  114. package/dist/core/shared/tool-detection.js +9 -9
  115. package/dist/core/shared/tool-detection.js.map +1 -1
  116. package/dist/core/spec-presenter.d.ts.map +1 -1
  117. package/dist/core/spec-presenter.js.map +1 -1
  118. package/dist/core/specs-apply.d.ts +0 -31
  119. package/dist/core/specs-apply.d.ts.map +1 -1
  120. package/dist/core/specs-apply.js +0 -102
  121. package/dist/core/specs-apply.js.map +1 -1
  122. package/dist/core/templates/fragments/verify.d.ts +12 -11
  123. package/dist/core/templates/fragments/verify.d.ts.map +1 -1
  124. package/dist/core/templates/fragments/verify.js +22 -15
  125. package/dist/core/templates/fragments/verify.js.map +1 -1
  126. package/dist/core/templates/workflows/apply.d.ts +2 -2
  127. package/dist/core/templates/workflows/apply.js +10 -10
  128. package/dist/core/templates/workflows/apply.js.map +1 -1
  129. package/dist/core/templates/workflows/archive.d.ts.map +1 -1
  130. package/dist/core/templates/workflows/archive.js +30 -20
  131. package/dist/core/templates/workflows/archive.js.map +1 -1
  132. package/dist/core/templates/workflows/propose.js +2 -2
  133. package/dist/core/templates/workflows/sync.d.ts +4 -3
  134. package/dist/core/templates/workflows/sync.d.ts.map +1 -1
  135. package/dist/core/templates/workflows/sync.js +30 -13
  136. package/dist/core/templates/workflows/sync.js.map +1 -1
  137. package/dist/core/templates/workflows/update.js +1 -1
  138. package/dist/core/update.d.ts.map +1 -1
  139. package/dist/core/update.js +10 -15
  140. package/dist/core/update.js.map +1 -1
  141. package/dist/core/user-state-migration.d.ts +58 -0
  142. package/dist/core/user-state-migration.d.ts.map +1 -0
  143. package/dist/core/user-state-migration.js +107 -0
  144. package/dist/core/user-state-migration.js.map +1 -0
  145. package/dist/core/validation/section-validator.d.ts.map +1 -1
  146. package/dist/core/validation/section-validator.js +3 -16
  147. package/dist/core/validation/section-validator.js.map +1 -1
  148. package/dist/core/validation/validator.d.ts +0 -9
  149. package/dist/core/validation/validator.d.ts.map +1 -1
  150. package/dist/core/validation/validator.js +86 -115
  151. package/dist/core/validation/validator.js.map +1 -1
  152. package/dist/utils/change-metadata.d.ts +18 -0
  153. package/dist/utils/change-metadata.d.ts.map +1 -1
  154. package/dist/utils/change-metadata.js +39 -0
  155. package/dist/utils/change-metadata.js.map +1 -1
  156. package/dist/utils/change-utils.d.ts.map +1 -1
  157. package/dist/utils/change-utils.js +3 -6
  158. package/dist/utils/change-utils.js.map +1 -1
  159. package/dist/utils/file-system.d.ts +17 -19
  160. package/dist/utils/file-system.d.ts.map +1 -1
  161. package/dist/utils/file-system.js +41 -189
  162. package/dist/utils/file-system.js.map +1 -1
  163. package/dist/utils/frontmatter.d.ts +22 -0
  164. package/dist/utils/frontmatter.d.ts.map +1 -0
  165. package/dist/utils/frontmatter.js +39 -0
  166. package/dist/utils/frontmatter.js.map +1 -0
  167. package/dist/utils/item-discovery.d.ts +7 -0
  168. package/dist/utils/item-discovery.d.ts.map +1 -1
  169. package/dist/utils/item-discovery.js +13 -23
  170. package/dist/utils/item-discovery.js.map +1 -1
  171. package/dist/utils/link.d.ts +3 -1
  172. package/dist/utils/link.d.ts.map +1 -1
  173. package/dist/utils/link.js +4 -14
  174. package/dist/utils/link.js.map +1 -1
  175. package/dist/utils/spec-files.d.ts +19 -0
  176. package/dist/utils/spec-files.d.ts.map +1 -0
  177. package/dist/utils/spec-files.js +44 -0
  178. package/dist/utils/spec-files.js.map +1 -0
  179. package/dist/utils/task-progress.d.ts +0 -1
  180. package/dist/utils/task-progress.d.ts.map +1 -1
  181. package/dist/utils/task-progress.js +5 -6
  182. package/dist/utils/task-progress.js.map +1 -1
  183. package/package.json +11 -2
  184. package/schemas/issue/schema.yaml +6 -3
  185. package/schemas/sdd/schema.yaml +15 -2
  186. package/dist/core/references.d.ts +0 -40
  187. package/dist/core/references.d.ts.map +0 -1
  188. package/dist/core/references.js +0 -11
  189. package/dist/core/references.js.map +0 -1
  190. package/dist/utils/command-references.d.ts +0 -18
  191. package/dist/utils/command-references.d.ts.map +0 -1
  192. package/dist/utils/command-references.js +0 -20
  193. package/dist/utils/command-references.js.map +0 -1
  194. package/dist/utils/index.d.ts +0 -6
  195. package/dist/utils/index.d.ts.map +0 -1
  196. package/dist/utils/index.js +0 -9
  197. package/dist/utils/index.js.map +0 -1
  198. package/dist/utils/shell-detection.d.ts +0 -20
  199. package/dist/utils/shell-detection.d.ts.map +0 -1
  200. package/dist/utils/shell-detection.js +0 -41
  201. package/dist/utils/shell-detection.js.map +0 -1
@@ -6,8 +6,10 @@ import { validateChangeArtifacts } from '../commands/validate.js';
6
6
  import { isRootSelectionError, resolveRootForCommand, toRootOutput, } from './root-selection.js';
7
7
  import { findSpecUpdates, buildUpdatedSpec, writeUpdatedSpec, } from './specs-apply.js';
8
8
  import { formatTimestamp } from '../utils/timestamp.js';
9
- import { findTicketPath } from '../utils/item-discovery.js';
10
- import { readChangeMetadata } from '../utils/change-metadata.js';
9
+ import { findSpecFiles } from '../utils/spec-files.js';
10
+ import { FileSystemUtils } from '../utils/file-system.js';
11
+ import { findTicketPath, listActiveChangeDirs } from '../utils/item-discovery.js';
12
+ import { METADATA_FILENAME, readChangeMetadata } from '../utils/change-metadata.js';
11
13
  import { emitSuccess, emitFailureStatus } from '../commands/shared-output.js';
12
14
  /**
13
15
  * Archive directory names are always CLI-generated from this — agents must
@@ -17,8 +19,8 @@ import { emitSuccess, emitFailureStatus } from '../commands/shared-output.js';
17
19
  export const formatArchiveStamp = formatTimestamp;
18
20
  /**
19
21
  * Extracts the first `Conclusion: PASS|FAIL` conclusion line from a
20
- * sync-report.md body, per the format `tospec-sync`'s instruction produces.
21
- * Returns null when no conclusion line is found (unparseable report).
22
+ * sync-report.md body, per the format `tospec-sync`'s instruction
23
+ * produces. Returns null when no conclusion line is found (unparseable report).
22
24
  */
23
25
  export function parseSyncReportConclusion(content) {
24
26
  const conclusionLine = content
@@ -33,18 +35,6 @@ export function parseSyncReportConclusion(content) {
33
35
  const match = conclusionLine.match(/^Conclusion:\s*(PASS|FAIL)(?:\s*\([^)]*\))?\s*$/);
34
36
  return match ? match[1] : null;
35
37
  }
36
- async function listActiveChangeNames(changesDir) {
37
- try {
38
- const entries = await fs.readdir(changesDir, { withFileTypes: true });
39
- return entries
40
- .filter((entry) => entry.isDirectory() && entry.name !== 'archive')
41
- .map((entry) => entry.name)
42
- .sort();
43
- }
44
- catch {
45
- return [];
46
- }
47
- }
48
38
  /**
49
39
  * JSON mode is non-interactive: any point where the human flow would prompt or
50
40
  * print prose instead throws this error, which becomes a machine-readable
@@ -76,23 +66,6 @@ function toArchiveDiagnostic(error) {
76
66
  message: error instanceof Error ? error.message : String(error),
77
67
  };
78
68
  }
79
- /**
80
- * Recursively copy a directory. Used when fs.rename fails (e.g. EPERM on Windows).
81
- */
82
- async function copyDirRecursive(src, dest) {
83
- await fs.mkdir(dest, { recursive: true });
84
- const entries = await fs.readdir(src, { withFileTypes: true });
85
- for (const entry of entries) {
86
- const srcPath = path.join(src, entry.name);
87
- const destPath = path.join(dest, entry.name);
88
- if (entry.isDirectory()) {
89
- await copyDirRecursive(srcPath, destPath);
90
- }
91
- else {
92
- await fs.copyFile(srcPath, destPath);
93
- }
94
- }
95
- }
96
69
  /**
97
70
  * Move a directory from src to dest. On Windows, fs.rename() often fails with
98
71
  * EPERM when the directory is non-empty or another process has it open (IDE,
@@ -106,7 +79,10 @@ export async function moveDirectory(src, dest) {
106
79
  catch (err) {
107
80
  const code = err?.code;
108
81
  if (code === 'EPERM' || code === 'EXDEV') {
109
- await copyDirRecursive(src, dest);
82
+ // Preserve relative symlink text. Without verbatimSymlinks, Node may
83
+ // rewrite links to absolute paths under `src`; removing `src` below then
84
+ // leaves those copied links dangling (notably on Windows).
85
+ await fs.cp(src, dest, { recursive: true, verbatimSymlinks: true });
110
86
  await fs.rm(src, { recursive: true, force: true });
111
87
  }
112
88
  else {
@@ -192,6 +168,31 @@ export class ArchiveCommand {
192
168
  printJsonFailure(root, diagnostic) {
193
169
  emitFailureStatus({ archive: null, ...(root ? { root: toRootOutput(root) } : {}) }, diagnostic);
194
170
  }
171
+ /**
172
+ * One archive gate. JSON mode is non-interactive, so a blocked path throws;
173
+ * human mode prompts; `--yes` downgrades either to a warning. Returns false
174
+ * when the user declines, and the caller returns null.
175
+ *
176
+ * The gates used to be written out longhand at each site and had to stay in
177
+ * step by hand for the "every blocked path throws in JSON mode" invariant.
178
+ */
179
+ async gate(opts) {
180
+ if (opts.yes) {
181
+ if (!opts.json)
182
+ console.error(opts.warning);
183
+ return true;
184
+ }
185
+ if (opts.json) {
186
+ throw new ArchiveBlockedError(opts.code, opts.message, opts.fix);
187
+ }
188
+ const { confirm } = await import('@inquirer/prompts');
189
+ const proceed = await confirm({ message: opts.prompt, default: false });
190
+ if (!proceed) {
191
+ console.error('Archive cancelled.');
192
+ return false;
193
+ }
194
+ return true;
195
+ }
195
196
  /**
196
197
  * Shared archive flow. In human mode (json=false) prompts and prose match
197
198
  * the historical behavior and cancellations return null. In JSON mode no
@@ -213,7 +214,7 @@ export class ArchiveCommand {
213
214
  if (json) {
214
215
  throw new ArchiveBlockedError('archive_change_name_required', 'A change name is required: archive --json is non-interactive.', 'tospec archive <change-name> --json');
215
216
  }
216
- const selectedChange = await this.selectChange(changesDir);
217
+ const selectedChange = await this.selectChange(changesDir, root.path);
217
218
  if (!selectedChange) {
218
219
  console.error('No change selected. Aborting.');
219
220
  return null;
@@ -229,14 +230,14 @@ export class ArchiveCommand {
229
230
  }
230
231
  }
231
232
  catch {
232
- const available = await listActiveChangeNames(changesDir);
233
+ const available = await listActiveChangeDirs(changesDir);
233
234
  throw new ArchiveBlockedError('archive_change_not_found', available.length > 0
234
235
  ? `Change '${changeName}' not found. Available changes: ${available.join(', ')}`
235
236
  : `Change '${changeName}' not found. No active changes exist in this root.`);
236
237
  }
237
- // --require-sync gate: the machine-checkable half of the tospec-sync
238
- // workflow (the semantic half — does the report's content actually reflect
239
- // reality — is the sync agent's job, not ours).
238
+ // --require-sync gate: the machine-checkable half of the
239
+ // tospec-sync workflow (the semantic half — does the report's content
240
+ // actually reflect reality — is the sync agent's job, not ours).
240
241
  if (options.requireSync) {
241
242
  const syncReportPath = path.join(changeDir, 'sync-report.md');
242
243
  let syncReportContent;
@@ -264,89 +265,77 @@ export class ArchiveCommand {
264
265
  }
265
266
  }
266
267
  if (!report.valid) {
268
+ // --skip-specs is honoured further down, long after this gate, so a
269
+ // change with no deltas fails here no matter what the flag says. Point
270
+ // at the marker that actually resolves it rather than at --no-validate,
271
+ // which only buries the question.
272
+ const noDeltas = report.issues.some((i) => /at least one delta/i.test(i.message));
273
+ const deltaFix = noDeltas
274
+ ? ` If this change genuinely has no behavioral effect, declare it once by setting \`skip_specs: true\` in the change's ${METADATA_FILENAME} — do not invent a requirement to satisfy validation.`
275
+ : '';
267
276
  if (json) {
268
- throw new ArchiveBlockedError('archive_validation_failed', `Validation failed for change '${changeName}'.`, `Run ${`tospec validate ${changeName}`} for details, fix the errors, or rerun with --no-validate.`);
277
+ throw new ArchiveBlockedError('archive_validation_failed', `Validation failed for change '${changeName}'.`, `Run ${`tospec validate ${changeName}`} for details, fix the errors, or rerun with --no-validate.${deltaFix}`);
269
278
  }
270
279
  console.error('\nValidation failed. Please fix the errors before archiving.');
280
+ if (deltaFix)
281
+ console.error(`Fix:${deltaFix}`);
271
282
  console.error('To skip validation (not recommended), use --no-validate flag.');
272
283
  process.exitCode = 1;
273
284
  return null;
274
285
  }
275
286
  }
276
- else if (json) {
277
- if (!options.yes) {
278
- throw new ArchiveBlockedError('archive_confirmation_required', 'Skipping validation requires confirmation: rerun with --yes.', 'tospec archive <change-name> --json --no-validate --yes');
279
- }
280
- }
281
287
  else {
282
- // Log warning when validation is skipped
283
- const timestamp = new Date().toISOString();
284
- if (!options.yes) {
285
- const { confirm } = await import('@inquirer/prompts');
286
- const proceed = await confirm({
287
- message: '⚠️ WARNING: Skipping validation may archive invalid specs. Continue? (y/N)',
288
- default: false
289
- });
290
- if (!proceed) {
291
- console.error('Archive cancelled.');
292
- return null;
293
- }
294
- }
295
- else {
296
- console.error(`\n⚠️ WARNING: Skipping validation may archive invalid specs.`);
288
+ const proceed = await this.gate({
289
+ json,
290
+ yes: !!options.yes,
291
+ code: 'archive_confirmation_required',
292
+ message: 'Skipping validation requires confirmation: rerun with --yes.',
293
+ fix: 'tospec archive <change-name> --json --no-validate --yes',
294
+ prompt: '⚠️ WARNING: Skipping validation may archive invalid specs. Continue? (y/N)',
295
+ warning: '\n⚠️ WARNING: Skipping validation may archive invalid specs.',
296
+ });
297
+ if (!proceed)
298
+ return null;
299
+ // Audit trail for the skip, human mode only — JSON stdout stays clean.
300
+ if (!json) {
301
+ console.error(`[${new Date().toISOString()}] Validation skipped for change: ${changeName}`);
302
+ console.error(`Affected files: ${changeDir}`);
297
303
  }
298
- console.error(`[${timestamp}] Validation skipped for change: ${changeName}`);
299
- console.error(`Affected files: ${changeDir}`);
300
304
  }
301
305
  // Show progress and check for incomplete tasks
302
- const progress = await getTaskProgressForChange(changesDir, changeName, path.resolve(changesDir, '..', '..'));
306
+ // Use the already-resolved root rather than re-deriving it from changesDir:
307
+ // the '..','..' hop silently encodes the tospec/changes layout.
308
+ const progress = await getTaskProgressForChange(changesDir, changeName, root.path);
303
309
  if (!json) {
304
310
  const status = formatTaskStatus(progress);
305
311
  console.log(`Task status: ${status}`);
306
312
  }
307
313
  const incompleteTasks = Math.max(progress.total - progress.completed, 0);
308
- const hasNoTrackedTasks = progress.total === 0;
309
- if (hasNoTrackedTasks) {
310
- if (json) {
311
- if (!options.yes) {
312
- throw new ArchiveBlockedError('archive_tasks_missing', `No tracked task checkboxes were found for change '${changeName}'.`, 'Create the schema-tracked tasks file with checkboxes, or rerun with --yes.');
313
- }
314
- }
315
- else if (!options.yes) {
316
- const { confirm } = await import('@inquirer/prompts');
317
- const proceed = await confirm({
318
- message: 'Warning: no tracked task checkboxes were found. Continue?',
319
- default: false
320
- });
321
- if (!proceed) {
322
- console.error('Archive cancelled.');
323
- return null;
324
- }
325
- }
326
- else {
327
- console.error('Warning: no tracked task checkboxes were found. Continuing due to --yes flag.');
328
- }
314
+ if (progress.total === 0) {
315
+ const proceed = await this.gate({
316
+ json,
317
+ yes: !!options.yes,
318
+ code: 'archive_tasks_missing',
319
+ message: `No tracked task checkboxes were found for change '${changeName}'.`,
320
+ fix: 'Create the schema-tracked tasks file with checkboxes, or rerun with --yes.',
321
+ prompt: 'Warning: no tracked task checkboxes were found. Continue?',
322
+ warning: 'Warning: no tracked task checkboxes were found. Continuing due to --yes flag.',
323
+ });
324
+ if (!proceed)
325
+ return null;
329
326
  }
330
327
  else if (incompleteTasks > 0) {
331
- if (json) {
332
- if (!options.yes) {
333
- throw new ArchiveBlockedError('archive_tasks_incomplete', `${incompleteTasks} incomplete task(s) found for change '${changeName}'.`, 'Complete the tasks or rerun with --yes.');
334
- }
335
- }
336
- else if (!options.yes) {
337
- const { confirm } = await import('@inquirer/prompts');
338
- const proceed = await confirm({
339
- message: `Warning: ${incompleteTasks} incomplete task(s) found. Continue?`,
340
- default: false
341
- });
342
- if (!proceed) {
343
- console.error('Archive cancelled.');
344
- return null;
345
- }
346
- }
347
- else {
348
- console.error(`Warning: ${incompleteTasks} incomplete task(s) found. Continuing due to --yes flag.`);
349
- }
328
+ const proceed = await this.gate({
329
+ json,
330
+ yes: !!options.yes,
331
+ code: 'archive_tasks_incomplete',
332
+ message: `${incompleteTasks} incomplete task(s) found for change '${changeName}'.`,
333
+ fix: 'Complete the tasks or rerun with --yes.',
334
+ prompt: `Warning: ${incompleteTasks} incomplete task(s) found. Continue?`,
335
+ warning: `Warning: ${incompleteTasks} incomplete task(s) found. Continuing due to --yes flag.`,
336
+ });
337
+ if (!proceed)
338
+ return null;
350
339
  }
351
340
  // Handle spec updates unless skipSpecs flag is set
352
341
  let specsUpdated = false;
@@ -359,6 +348,21 @@ export class ArchiveCommand {
359
348
  else {
360
349
  // Find specs to update
361
350
  const specUpdates = await findSpecUpdates(changeDir, mainSpecsDir);
351
+ if (specUpdates.length === 0) {
352
+ // findSpecUpdates only reads specs/<capability>/spec.md. Validation
353
+ // rejects anything else, so reaching here with delta files present means
354
+ // validation was skipped (--no-validate). Merging nothing and reporting
355
+ // success would drop the requirements without a word — the exact failure
356
+ // this guard exists to make impossible. Match on spec.md only: a stray
357
+ // NOTES.md under specs/ is not a delta and must not block an archive.
358
+ const orphans = await findSpecFiles(path.join(changeDir, 'specs'));
359
+ if (orphans.length > 0) {
360
+ const listed = orphans
361
+ .map((file) => FileSystemUtils.toPosixPath(path.relative(path.join(changeDir, 'specs'), file)))
362
+ .join(', ');
363
+ throw new ArchiveBlockedError('archive_spec_merge_empty', `Found ${orphans.length} delta spec file(s) that cannot be merged, because none sits at specs/<capability>/spec.md: ${listed}.`, `Run ${`tospec validate ${changeName}`} for the exact fix, or move each file to specs/<capability>/spec.md.`);
364
+ }
365
+ }
362
366
  if (specUpdates.length > 0) {
363
367
  if (!json) {
364
368
  console.log('\nSpecs to update:');
@@ -487,14 +491,9 @@ export class ArchiveCommand {
487
491
  ...(totals ? { totals } : {}),
488
492
  };
489
493
  }
490
- async selectChange(changesDir) {
494
+ async selectChange(changesDir, projectRoot) {
491
495
  const { select } = await import('@inquirer/prompts');
492
- // Get all directories in changes (excluding archive)
493
- const entries = await fs.readdir(changesDir, { withFileTypes: true });
494
- const changeDirs = entries
495
- .filter(entry => entry.isDirectory() && entry.name !== 'archive')
496
- .map(entry => entry.name)
497
- .sort();
496
+ const changeDirs = await listActiveChangeDirs(changesDir);
498
497
  if (changeDirs.length === 0) {
499
498
  console.log('No active changes found.');
500
499
  return null;
@@ -504,7 +503,7 @@ export class ArchiveCommand {
504
503
  try {
505
504
  const progressList = [];
506
505
  for (const id of changeDirs) {
507
- const progress = await getTaskProgressForChange(changesDir, id, path.resolve(changesDir, '..', '..'));
506
+ const progress = await getTaskProgressForChange(changesDir, id, projectRoot);
508
507
  const status = formatTaskStatus(progress);
509
508
  progressList.push({ id, status });
510
509
  }
@@ -1 +1 @@
1
- {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/core/archive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/core/archive.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { ArtifactGraph } from './graph.js';
2
2
  import { type ActionContext, type PlanningHomeSummary } from '../change-status-policy.js';
3
3
  import { type ProjectConfig } from '../project-config.js';
4
- import type { ReferenceIndexEntry } from '../references.js';
5
4
  import type { PlanningHome } from '../planning-home.js';
6
5
  import type { ChangeMetadata } from '../change-metadata/index.js';
7
6
  import type { CompletedSet } from './types.js';
@@ -67,8 +66,6 @@ export interface ArtifactInstructions {
67
66
  context: string | undefined;
68
67
  /** Artifact-specific rules from config (constraints for AI, not to be included in output) */
69
68
  rules: string[] | undefined;
70
- /** Referenced-store index (read-only upstream context; omitted when no references are declared) */
71
- references?: ReferenceIndexEntry[];
72
69
  /** Template content (structure to follow - this IS the output format) */
73
70
  template: string;
74
71
  /** Dependencies with completion status and paths */
@@ -176,8 +173,6 @@ export declare function loadChangeContext(projectRoot: string, changeName: strin
176
173
  export interface GenerateInstructionsOptions {
177
174
  /** Pre-read project config; suppresses the internal read (no double read). */
178
175
  projectConfig?: ProjectConfig | null;
179
- /** Referenced-store index assembled at the command boundary. */
180
- references?: ReferenceIndexEntry[];
181
176
  }
182
177
  export declare function generateInstructions(context: ChangeContext, artifactId: string, projectRoot?: string, options?: GenerateInstructionsOptions): ArtifactInstructions;
183
178
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"instruction-loader.d.ts","sourceRoot":"","sources":["../../../src/core/artifact-graph/instruction-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instruction-loader.d.ts","sourceRoot":"","sources":["../../../src/core/artifact-graph/instruction-loader.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as fs from 'node:fs';
2
2
  import * as path from 'node:path';
3
- import { getSchemaDir, resolveSchema } from './resolver.js';
3
+ import { collectAllArtifactIds, fileStamp, getSchemaDir, 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';
@@ -21,6 +21,8 @@ export class TemplateLoadError extends Error {
21
21
  this.name = 'TemplateLoadError';
22
22
  }
23
23
  }
24
+ /** Template file contents keyed by path, invalidated on stamp change. */
25
+ const templateCache = new Map();
24
26
  /**
25
27
  * Loads a template from a schema's templates directory.
26
28
  *
@@ -40,8 +42,20 @@ export function loadTemplate(schemaName, templatePath, projectRoot) {
40
42
  throw new TemplateLoadError(`Template not found: ${templatePathOnDisk}`, templatePathOnDisk);
41
43
  }
42
44
  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.
48
+ const stamp = fileStamp(fullPath);
49
+ const cached = stamp === null ? undefined : templateCache.get(fullPath);
50
+ if (cached && cached.stamp === stamp) {
51
+ return cached.content;
52
+ }
43
53
  try {
44
- return fs.readFileSync(fullPath, 'utf-8');
54
+ const content = fs.readFileSync(fullPath, 'utf-8');
55
+ if (stamp !== null) {
56
+ templateCache.set(fullPath, { stamp, content });
57
+ }
58
+ return content;
45
59
  }
46
60
  catch (err) {
47
61
  const ioError = err instanceof Error ? err : new Error(String(err));
@@ -147,10 +161,13 @@ export function generateInstructions(context, artifactId, projectRoot, options =
147
161
  // If config read fails, continue without config
148
162
  }
149
163
  }
150
- // Validate rules artifact IDs if config has rules (only once per session)
164
+ // Validate rules artifact IDs if config has rules (only once per session).
165
+ // Against every schema's artifacts, not just this change's: rules is one
166
+ // global map, so a key naming another schema's artifact is correct config,
167
+ // not a typo. Schema resolution is mtime+size cached (see resolver.ts), so
168
+ // the extra reads cost nothing after the first call.
151
169
  if (projectConfig?.rules) {
152
- const validArtifactIds = new Set(context.graph.getAllArtifacts().map((a) => a.id));
153
- const warnings = validateConfigRules(projectConfig.rules, validArtifactIds, context.schemaName);
170
+ const warnings = validateConfigRules(projectConfig.rules, collectAllArtifactIds(effectiveProjectRoot ?? undefined));
154
171
  // Show each unique warning only once per session
155
172
  for (const warning of warnings) {
156
173
  if (!shownWarnings.has(warning)) {
@@ -176,7 +193,6 @@ export function generateInstructions(context, artifactId, projectRoot, options =
176
193
  instruction: artifact.instruction,
177
194
  context: configContext,
178
195
  rules: configRules,
179
- ...(options.references !== undefined ? { references: options.references } : {}),
180
196
  template: templateContent,
181
197
  dependencies,
182
198
  unlocks,
@@ -228,44 +244,25 @@ export function formatChangeStatus(context) {
228
244
  resolvedOutputPath: path.join(context.changeDir, artifact.generates),
229
245
  existingOutputPaths: resolveArtifactOutputs(context.changeDir, artifact.generates),
230
246
  };
231
- if (context.completed.has(artifact.id)) {
232
- return {
233
- id: artifact.id,
234
- outputPath: artifact.generates,
235
- status: 'done',
236
- optional: artifact.optional,
237
- };
238
- }
239
- if (context.stubs?.has(artifact.id)) {
240
- return {
241
- id: artifact.id,
242
- outputPath: artifact.generates,
243
- status: 'stub',
244
- optional: artifact.optional,
245
- };
246
- }
247
- if (artifact.optional) {
248
- return {
249
- id: artifact.id,
250
- outputPath: artifact.generates,
251
- status: 'skipped',
252
- optional: true,
253
- };
254
- }
255
- if (ready.has(artifact.id)) {
256
- return {
257
- id: artifact.id,
258
- outputPath: artifact.generates,
259
- status: 'ready',
260
- optional: artifact.optional,
261
- };
262
- }
247
+ // Status is derived once so the returned shape is written once: adding a
248
+ // field to ArtifactStatus used to mean editing five near-identical literals.
249
+ const status = context.completed.has(artifact.id)
250
+ ? 'done'
251
+ : context.stubs?.has(artifact.id)
252
+ ? 'stub'
253
+ : artifact.optional
254
+ ? 'skipped'
255
+ : ready.has(artifact.id)
256
+ ? 'ready'
257
+ : 'blocked';
263
258
  return {
264
259
  id: artifact.id,
265
260
  outputPath: artifact.generates,
266
- status: 'blocked',
261
+ status,
267
262
  optional: artifact.optional,
268
- missingDeps: blocked[artifact.id] ?? [],
263
+ // Absent rather than empty for every other status — the JSON contract
264
+ // only carries missingDeps on a blocked artifact.
265
+ ...(status === 'blocked' ? { missingDeps: blocked[artifact.id] ?? [] } : {}),
269
266
  };
270
267
  });
271
268
  // Sort by build order for consistent output
@@ -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":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GAGtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAsB,MAAM,sBAAsB,CAAC;AAKlG,8EAA8E;AAC9E,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;AAExC;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAGxB;IAFlB,YACE,OAAe,EACC,YAAoB;QAEpC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,iBAAY,GAAZ,YAAY,CAAQ;QAGpC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAkID,yEAAyE;AACzE,MAAM,aAAa,GAAG,IAAI,GAAG,EAA8C,CAAC;AAE5E;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAkB,EAClB,YAAoB,EACpB,WAAoB;IAEpB,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACxD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,iBAAiB,CACzB,WAAW,UAAU,aAAa,EAClC,YAAY,CACb,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAE3E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,iBAAiB,CACzB,uBAAuB,kBAAkB,EAAE,EAC3C,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IAE9E,sEAAsE;IACtE,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxE,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,iBAAiB,CACzB,4BAA4B,OAAO,CAAC,OAAO,EAAE,EAC7C,QAAQ,CACT,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAmB,EACnB,UAAkB,EAClB,UAAmB,EACnB,UAAoC,EAAE;IAEtC,MAAM,SAAS,GAAG,eAAe,CAAC,wBAAwB,CACxD,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAC7E,CAAC;IAEF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,SAAS,CAAC;IACzE,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE;QACpF,QAAQ,EAAE,QAAQ,IAAI,IAAI;KAC3B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,aAAa,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAEpD,qEAAqE;IACrE,yEAAyE;IACzE,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAC7E,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,OAAO;QACL,KAAK;QACL,SAAS;QACT,KAAK;QACL,UAAU,EAAE,kBAAkB;QAC9B,UAAU;QACV,SAAS;QACT,WAAW;QACX,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAClB,KAAoB,EACpB,SAAiB,EACjB,UAAkB,EAClB,WAAmB;IAEnB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEnC,yEAAyE;QACzE,mEAAmE;QACnE,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,CAAC;YACH,QAAQ,GAAG,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC7C,OAAO,QAAQ,KAAK,IAAI,IAAI,OAAO,KAAK,QAAQ,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAqBD,MAAM,UAAU,oBAAoB,CAClC,OAAsB,EACtB,UAAkB,EAClB,WAAoB,EACpB,UAAuC,EAAE;IAEzC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,aAAa,UAAU,0BAA0B,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAEhE,0DAA0D;IAC1D,MAAM,oBAAoB,GAAG,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;IAEhE,iEAAiE;IACjE,IAAI,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;IAClD,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,oBAAoB,EAAE,CAAC;QAChE,IAAI,CAAC;YACH,aAAa,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,gDAAgD;QAClD,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,2EAA2E;IAC3E,qDAAqD;IACrD,IAAI,aAAa,EAAE,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,mBAAmB,CAClC,aAAa,CAAC,KAAK,EACnB,qBAAqB,CAAC,oBAAoB,IAAI,SAAS,CAAC,CACzD,CAAC;QAEF,iDAAiD;QACjD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtB,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,MAAM,aAAa,GAAG,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAClE,MAAM,gBAAgB,GAAG,aAAa,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnG,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY,EAAE,qBAAqB,CAAC,OAAO,CAAC,YAAY,CAAC;QACzD,UAAU,EAAE,QAAQ,CAAC,SAAS;QAC9B,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;QACpE,mBAAmB,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;QAClF,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,YAAY;QACZ,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,QAAkB,EAClB,KAAoB,EACpB,SAAuB;IAEvB,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAChC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO;YACL,EAAE;YACF,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,EAAE,WAAW,EAAE,SAAS,IAAI,EAAE;YAClC,WAAW,EAAE,WAAW,EAAE,WAAW,IAAI,EAAE;SAC5C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,KAAoB,EAAE,UAAkB;IACpE,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC;QAC/C,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAsB;IAEtB,+CAA+C;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhF,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE5D,MAAM,aAAa,GAAwC,EAAE,CAAC;IAC9D,MAAM,gBAAgB,GAAqB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QAClE,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG;YAC3B,UAAU,EAAE,QAAQ,CAAC,SAAS;YAC9B,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;YACpE,mBAAmB,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;SACnF,CAAC;QAEF,yEAAyE;QACzE,6EAA6E;QAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,CAAC,CAAE,MAAgB;YACnB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,CAAC,CAAE,MAAgB;gBACnB,CAAC,CAAC,QAAQ,CAAC,QAAQ;oBACjB,CAAC,CAAE,SAAmB;oBACtB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACtB,CAAC,CAAE,OAAiB;wBACpB,CAAC,CAAE,SAAmB,CAAC;QAE/B,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,UAAU,EAAE,QAAQ,CAAC,SAAS;YAC9B,MAAM;YACN,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,sEAAsE;YACtE,kDAAkD;YAClD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEpE,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,YAAY,EAAE,qBAAqB,CAAC,OAAO,CAAC,YAAY,CAAC;QACzD,UAAU,EAAE,OAAO,CAAC,SAAS;QAC7B,aAAa;QACb,UAAU;QACV,aAAa;QACb,SAAS,EAAE,cAAc,CAAC;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,gBAAgB;YAChB,oBAAoB,EAAE,UAAU;SACjC,CAAC;QACF,aAAa,EAAE,kBAAkB,CAAC;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW;SACZ,CAAC;QACF,SAAS,EAAE,gBAAgB;KAC5B,CAAC;AACJ,CAAC"}