@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.
- package/CHANGELOG.md +60 -231
- package/README.md +69 -82
- package/assets/dashboard/app.js +14 -3
- package/assets/dashboard/style.css +7 -0
- package/assets/rules/tospec/decision.md +3 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +227 -86
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/config.d.ts +9 -17
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +366 -107
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/dashboard.d.ts +57 -99
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +224 -282
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/decision.d.ts +41 -19
- package/dist/commands/decision.d.ts.map +1 -1
- package/dist/commands/decision.js +385 -79
- package/dist/commands/decision.js.map +1 -1
- package/dist/commands/metrics.d.ts +28 -51
- package/dist/commands/metrics.d.ts.map +1 -1
- package/dist/commands/metrics.js +62 -93
- package/dist/commands/metrics.js.map +1 -1
- package/dist/commands/shared-output.d.ts +18 -21
- package/dist/commands/shared-output.d.ts.map +1 -1
- package/dist/commands/shared-output.js +49 -23
- package/dist/commands/shared-output.js.map +1 -1
- package/dist/commands/show.d.ts +7 -0
- package/dist/commands/show.d.ts.map +1 -1
- package/dist/commands/show.js +29 -7
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/validate.d.ts +43 -45
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +262 -129
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/workflow/index.d.ts +6 -10
- package/dist/commands/workflow/index.d.ts.map +1 -1
- package/dist/commands/workflow/index.js +6 -10
- package/dist/commands/workflow/index.js.map +1 -1
- package/dist/commands/workflow/instructions.d.ts +21 -8
- package/dist/commands/workflow/instructions.d.ts.map +1 -1
- package/dist/commands/workflow/instructions.js +254 -95
- package/dist/commands/workflow/instructions.js.map +1 -1
- package/dist/commands/workflow/new-change.d.ts +4 -5
- package/dist/commands/workflow/new-change.d.ts.map +1 -1
- package/dist/commands/workflow/new-change.js +90 -25
- package/dist/commands/workflow/new-change.js.map +1 -1
- package/dist/commands/workflow/schemas.d.ts +3 -5
- package/dist/commands/workflow/schemas.d.ts.map +1 -1
- package/dist/commands/workflow/schemas.js +37 -11
- package/dist/commands/workflow/schemas.js.map +1 -1
- package/dist/commands/workflow/shared.d.ts +48 -21
- package/dist/commands/workflow/shared.d.ts.map +1 -1
- package/dist/commands/workflow/shared.js +36 -33
- package/dist/commands/workflow/shared.js.map +1 -1
- package/dist/commands/workflow/status.d.ts +10 -6
- package/dist/commands/workflow/status.d.ts.map +1 -1
- package/dist/commands/workflow/status.js +81 -42
- package/dist/commands/workflow/status.js.map +1 -1
- package/dist/commands/workflow/templates.d.ts +10 -3
- package/dist/commands/workflow/templates.d.ts.map +1 -1
- package/dist/commands/workflow/templates.js +39 -40
- package/dist/commands/workflow/templates.js.map +1 -1
- package/dist/core/archive.d.ts +26 -21
- package/dist/core/archive.d.ts.map +1 -1
- package/dist/core/archive.js +378 -235
- package/dist/core/archive.js.map +1 -1
- package/dist/core/artifact-graph/graph.d.ts +25 -42
- package/dist/core/artifact-graph/graph.d.ts.map +1 -1
- package/dist/core/artifact-graph/graph.js +45 -63
- package/dist/core/artifact-graph/graph.js.map +1 -1
- package/dist/core/artifact-graph/index.d.ts +1 -1
- package/dist/core/artifact-graph/index.d.ts.map +1 -1
- package/dist/core/artifact-graph/index.js +1 -1
- package/dist/core/artifact-graph/index.js.map +1 -1
- package/dist/core/artifact-graph/instruction-loader.d.ts +97 -103
- package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
- package/dist/core/artifact-graph/instruction-loader.js +146 -119
- package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
- package/dist/core/artifact-graph/outputs.d.ts +9 -23
- package/dist/core/artifact-graph/outputs.d.ts.map +1 -1
- package/dist/core/artifact-graph/outputs.js +45 -38
- package/dist/core/artifact-graph/outputs.js.map +1 -1
- package/dist/core/artifact-graph/resolver.d.ts +44 -63
- package/dist/core/artifact-graph/resolver.d.ts.map +1 -1
- package/dist/core/artifact-graph/resolver.js +85 -86
- package/dist/core/artifact-graph/resolver.js.map +1 -1
- package/dist/core/artifact-graph/schema.d.ts +0 -6
- package/dist/core/artifact-graph/schema.d.ts.map +1 -1
- package/dist/core/artifact-graph/schema.js +7 -32
- package/dist/core/artifact-graph/schema.js.map +1 -1
- package/dist/core/artifact-graph/state.d.ts +1 -8
- package/dist/core/artifact-graph/state.d.ts.map +1 -1
- package/dist/core/artifact-graph/state.js +2 -17
- package/dist/core/artifact-graph/state.js.map +1 -1
- package/dist/core/artifact-graph/stub-detection.d.ts +12 -0
- package/dist/core/artifact-graph/stub-detection.d.ts.map +1 -0
- package/dist/core/artifact-graph/stub-detection.js +39 -0
- package/dist/core/artifact-graph/stub-detection.js.map +1 -0
- package/dist/core/artifact-graph/types.d.ts +4 -0
- package/dist/core/artifact-graph/types.d.ts.map +1 -1
- package/dist/core/artifact-graph/types.js +30 -10
- package/dist/core/artifact-graph/types.js.map +1 -1
- package/dist/core/available-tools.d.ts +3 -12
- package/dist/core/available-tools.d.ts.map +1 -1
- package/dist/core/available-tools.js +4 -13
- package/dist/core/available-tools.js.map +1 -1
- package/dist/core/change-metadata/schema.d.ts +1 -1
- package/dist/core/change-metadata/schema.d.ts.map +1 -1
- package/dist/core/change-metadata/schema.js +10 -7
- package/dist/core/change-metadata/schema.js.map +1 -1
- package/dist/core/change-presenter.d.ts +23 -18
- package/dist/core/change-presenter.d.ts.map +1 -1
- package/dist/core/change-presenter.js +102 -43
- package/dist/core/change-presenter.js.map +1 -1
- package/dist/core/change-status-policy.d.ts +8 -1
- package/dist/core/change-status-policy.d.ts.map +1 -1
- package/dist/core/change-status-policy.js +25 -1
- package/dist/core/change-status-policy.js.map +1 -1
- package/dist/core/codex-metrics.d.ts +25 -45
- package/dist/core/codex-metrics.d.ts.map +1 -1
- package/dist/core/codex-metrics.js +44 -88
- package/dist/core/codex-metrics.js.map +1 -1
- package/dist/core/codex-residue.d.ts +14 -15
- package/dist/core/codex-residue.d.ts.map +1 -1
- package/dist/core/codex-residue.js +18 -22
- package/dist/core/codex-residue.js.map +1 -1
- package/dist/core/command-generation/adapters/claude.d.ts +2 -9
- package/dist/core/command-generation/adapters/claude.d.ts.map +1 -1
- package/dist/core/command-generation/adapters/claude.js +2 -12
- package/dist/core/command-generation/adapters/claude.js.map +1 -1
- package/dist/core/command-generation/adapters/index.d.ts +1 -9
- package/dist/core/command-generation/adapters/index.d.ts.map +1 -1
- package/dist/core/command-generation/adapters/index.js +1 -9
- package/dist/core/command-generation/adapters/index.js.map +1 -1
- package/dist/core/command-generation/generator.d.ts +0 -17
- package/dist/core/command-generation/generator.d.ts.map +1 -1
- package/dist/core/command-generation/generator.js +0 -17
- package/dist/core/command-generation/generator.js.map +1 -1
- package/dist/core/command-generation/index.d.ts +2 -5
- package/dist/core/command-generation/index.d.ts.map +1 -1
- package/dist/core/command-generation/index.js +0 -9
- package/dist/core/command-generation/index.js.map +1 -1
- package/dist/core/command-generation/types.d.ts +10 -36
- package/dist/core/command-generation/types.d.ts.map +1 -1
- package/dist/core/command-generation/types.js +0 -6
- package/dist/core/command-generation/types.js.map +1 -1
- package/dist/core/command-generation/yaml.d.ts +3 -18
- package/dist/core/command-generation/yaml.d.ts.map +1 -1
- package/dist/core/command-generation/yaml.js +5 -23
- package/dist/core/command-generation/yaml.js.map +1 -1
- package/dist/core/config-prompts.d.ts +2 -4
- package/dist/core/config-prompts.d.ts.map +1 -1
- package/dist/core/config-prompts.js +2 -7
- package/dist/core/config-prompts.js.map +1 -1
- package/dist/core/config-schema.d.ts +8 -53
- package/dist/core/config-schema.d.ts.map +1 -1
- package/dist/core/config-schema.js +49 -62
- package/dist/core/config-schema.js.map +1 -1
- package/dist/core/config.d.ts +39 -26
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +36 -22
- package/dist/core/config.js.map +1 -1
- package/dist/core/dashboard-activity.d.ts +7 -9
- package/dist/core/dashboard-activity.d.ts.map +1 -1
- package/dist/core/dashboard-activity.js +26 -24
- package/dist/core/dashboard-activity.js.map +1 -1
- package/dist/core/dashboard-data.d.ts +40 -22
- package/dist/core/dashboard-data.d.ts.map +1 -1
- package/dist/core/dashboard-data.js +62 -70
- package/dist/core/dashboard-data.js.map +1 -1
- package/dist/core/global-config.d.ts +24 -53
- package/dist/core/global-config.d.ts.map +1 -1
- package/dist/core/global-config.js +38 -67
- package/dist/core/global-config.js.map +1 -1
- package/dist/core/init.d.ts +25 -19
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +168 -181
- package/dist/core/init.js.map +1 -1
- package/dist/core/list.d.ts +1 -1
- package/dist/core/list.d.ts.map +1 -1
- package/dist/core/list.js +121 -28
- package/dist/core/list.js.map +1 -1
- package/dist/core/local-server.d.ts +41 -83
- package/dist/core/local-server.d.ts.map +1 -1
- package/dist/core/local-server.js +53 -98
- package/dist/core/local-server.js.map +1 -1
- package/dist/core/markdown-render.d.ts +25 -0
- package/dist/core/markdown-render.d.ts.map +1 -0
- package/dist/core/markdown-render.js +94 -0
- package/dist/core/markdown-render.js.map +1 -0
- package/dist/core/migrate.d.ts +29 -14
- package/dist/core/migrate.d.ts.map +1 -1
- package/dist/core/migrate.js +184 -122
- package/dist/core/migrate.js.map +1 -1
- package/dist/core/parsers/change-parser.d.ts +7 -10
- package/dist/core/parsers/change-parser.d.ts.map +1 -1
- package/dist/core/parsers/change-parser.js +48 -56
- package/dist/core/parsers/change-parser.js.map +1 -1
- package/dist/core/parsers/markdown-parser.d.ts +8 -9
- package/dist/core/parsers/markdown-parser.d.ts.map +1 -1
- package/dist/core/parsers/markdown-parser.js +31 -22
- package/dist/core/parsers/markdown-parser.js.map +1 -1
- package/dist/core/parsers/requirement-blocks.d.ts +43 -15
- package/dist/core/parsers/requirement-blocks.d.ts.map +1 -1
- package/dist/core/parsers/requirement-blocks.js +142 -70
- package/dist/core/parsers/requirement-blocks.js.map +1 -1
- package/dist/core/parsers/requirement-text.d.ts +73 -79
- package/dist/core/parsers/requirement-text.d.ts.map +1 -1
- package/dist/core/parsers/requirement-text.js +137 -79
- package/dist/core/parsers/requirement-text.js.map +1 -1
- package/dist/core/parsers/spec-structure.d.ts.map +1 -1
- package/dist/core/parsers/spec-structure.js +10 -6
- package/dist/core/parsers/spec-structure.js.map +1 -1
- package/dist/core/profiles.d.ts +3 -10
- package/dist/core/profiles.d.ts.map +1 -1
- package/dist/core/profiles.js +5 -12
- package/dist/core/profiles.js.map +1 -1
- package/dist/core/project-config.d.ts +43 -44
- package/dist/core/project-config.d.ts.map +1 -1
- package/dist/core/project-config.js +107 -82
- package/dist/core/project-config.js.map +1 -1
- package/dist/core/project-layout.d.ts +9 -17
- package/dist/core/project-layout.d.ts.map +1 -1
- package/dist/core/project-layout.js +16 -26
- package/dist/core/project-layout.js.map +1 -1
- package/dist/core/root-selection.d.ts +11 -7
- package/dist/core/root-selection.d.ts.map +1 -1
- package/dist/core/root-selection.js +7 -8
- package/dist/core/root-selection.js.map +1 -1
- package/dist/core/rules.d.ts +6 -1
- package/dist/core/rules.d.ts.map +1 -1
- package/dist/core/rules.js +23 -2
- package/dist/core/rules.js.map +1 -1
- package/dist/core/schema-names.d.ts +16 -0
- package/dist/core/schema-names.d.ts.map +1 -0
- package/dist/core/schema-names.js +16 -0
- package/dist/core/schema-names.js.map +1 -0
- package/dist/core/schemas/base.schema.d.ts +3 -0
- package/dist/core/schemas/base.schema.d.ts.map +1 -1
- package/dist/core/schemas/base.schema.js +22 -6
- package/dist/core/schemas/base.schema.js.map +1 -1
- package/dist/core/schemas/change.schema.d.ts +16 -0
- package/dist/core/schemas/change.schema.d.ts.map +1 -1
- package/dist/core/schemas/change.schema.js +41 -10
- package/dist/core/schemas/change.schema.js.map +1 -1
- package/dist/core/schemas/spec.schema.d.ts +2 -0
- package/dist/core/schemas/spec.schema.d.ts.map +1 -1
- package/dist/core/shared/index.d.ts +3 -8
- package/dist/core/shared/index.d.ts.map +1 -1
- package/dist/core/shared/index.js +3 -8
- package/dist/core/shared/index.js.map +1 -1
- package/dist/core/shared/rules-generation.d.ts +19 -8
- package/dist/core/shared/rules-generation.d.ts.map +1 -1
- package/dist/core/shared/rules-generation.js +117 -50
- package/dist/core/shared/rules-generation.js.map +1 -1
- package/dist/core/shared/skill-generation.d.ts +28 -43
- package/dist/core/shared/skill-generation.d.ts.map +1 -1
- package/dist/core/shared/skill-generation.js +82 -51
- package/dist/core/shared/skill-generation.js.map +1 -1
- package/dist/core/shared/tool-detection.d.ts +39 -61
- package/dist/core/shared/tool-detection.d.ts.map +1 -1
- package/dist/core/shared/tool-detection.js +88 -80
- package/dist/core/shared/tool-detection.js.map +1 -1
- package/dist/core/skill-metrics.d.ts +36 -63
- package/dist/core/skill-metrics.d.ts.map +1 -1
- package/dist/core/skill-metrics.js +34 -73
- package/dist/core/skill-metrics.js.map +1 -1
- package/dist/core/spec-presenter.js +6 -6
- package/dist/core/spec-presenter.js.map +1 -1
- package/dist/core/specs-apply.d.ts +22 -23
- package/dist/core/specs-apply.d.ts.map +1 -1
- package/dist/core/specs-apply.js +166 -193
- package/dist/core/specs-apply.js.map +1 -1
- package/dist/core/templates/fragments/interview.d.ts +2 -6
- package/dist/core/templates/fragments/interview.d.ts.map +1 -1
- package/dist/core/templates/fragments/interview.js +2 -6
- package/dist/core/templates/fragments/interview.js.map +1 -1
- package/dist/core/templates/fragments/next-step.d.ts +4 -8
- package/dist/core/templates/fragments/next-step.d.ts.map +1 -1
- package/dist/core/templates/fragments/next-step.js +4 -8
- package/dist/core/templates/fragments/next-step.js.map +1 -1
- package/dist/core/templates/fragments/validate.d.ts +13 -0
- package/dist/core/templates/fragments/validate.d.ts.map +1 -0
- package/dist/core/templates/fragments/validate.js +13 -0
- package/dist/core/templates/fragments/validate.js.map +1 -0
- package/dist/core/templates/fragments/verify.d.ts +9 -12
- package/dist/core/templates/fragments/verify.d.ts.map +1 -1
- package/dist/core/templates/fragments/verify.js +9 -12
- package/dist/core/templates/fragments/verify.js.map +1 -1
- package/dist/core/templates/index.d.ts +0 -6
- package/dist/core/templates/index.d.ts.map +1 -1
- package/dist/core/templates/index.js +0 -7
- package/dist/core/templates/index.js.map +1 -1
- package/dist/core/templates/skill-templates.d.ts +1 -5
- package/dist/core/templates/skill-templates.d.ts.map +1 -1
- package/dist/core/templates/skill-templates.js +0 -5
- package/dist/core/templates/skill-templates.js.map +1 -1
- package/dist/core/templates/types.d.ts +3 -7
- package/dist/core/templates/types.d.ts.map +1 -1
- package/dist/core/templates/types.js +0 -3
- package/dist/core/templates/types.js.map +1 -1
- package/dist/core/templates/workflows/apply.d.ts +3 -9
- package/dist/core/templates/workflows/apply.d.ts.map +1 -1
- package/dist/core/templates/workflows/apply.js +11 -13
- package/dist/core/templates/workflows/apply.js.map +1 -1
- package/dist/core/templates/workflows/archive.d.ts +0 -6
- package/dist/core/templates/workflows/archive.d.ts.map +1 -1
- package/dist/core/templates/workflows/archive.js +19 -6
- package/dist/core/templates/workflows/archive.js.map +1 -1
- package/dist/core/templates/workflows/decision.js +4 -4
- package/dist/core/templates/workflows/decision.js.map +1 -1
- package/dist/core/templates/workflows/explore.js +1 -1
- package/dist/core/templates/workflows/grill.d.ts.map +1 -1
- package/dist/core/templates/workflows/grill.js +0 -2
- package/dist/core/templates/workflows/grill.js.map +1 -1
- package/dist/core/templates/workflows/issue.d.ts +0 -6
- package/dist/core/templates/workflows/issue.d.ts.map +1 -1
- package/dist/core/templates/workflows/issue.js +3 -2
- package/dist/core/templates/workflows/issue.js.map +1 -1
- package/dist/core/templates/workflows/propose.d.ts +0 -6
- package/dist/core/templates/workflows/propose.d.ts.map +1 -1
- package/dist/core/templates/workflows/propose.js +2 -2
- package/dist/core/templates/workflows/propose.js.map +1 -1
- package/dist/core/templates/workflows/sync.d.ts +2 -8
- package/dist/core/templates/workflows/sync.d.ts.map +1 -1
- package/dist/core/templates/workflows/sync.js +4 -3
- package/dist/core/templates/workflows/sync.js.map +1 -1
- package/dist/core/templates/workflows/update.d.ts +0 -6
- package/dist/core/templates/workflows/update.d.ts.map +1 -1
- package/dist/core/templates/workflows/update.js +9 -2
- package/dist/core/templates/workflows/update.js.map +1 -1
- package/dist/core/update.d.ts +23 -23
- package/dist/core/update.d.ts.map +1 -1
- package/dist/core/update.js +139 -118
- package/dist/core/update.js.map +1 -1
- package/dist/core/user-state-migration.d.ts +13 -15
- package/dist/core/user-state-migration.d.ts.map +1 -1
- package/dist/core/user-state-migration.js +16 -20
- package/dist/core/user-state-migration.js.map +1 -1
- package/dist/core/validation/constants.d.ts +4 -10
- package/dist/core/validation/constants.d.ts.map +1 -1
- package/dist/core/validation/constants.js +25 -20
- package/dist/core/validation/constants.js.map +1 -1
- package/dist/core/validation/prose-length.d.ts +15 -0
- package/dist/core/validation/prose-length.d.ts.map +1 -0
- package/dist/core/validation/prose-length.js +29 -0
- package/dist/core/validation/prose-length.js.map +1 -0
- package/dist/core/validation/purpose-placeholder.d.ts +9 -16
- package/dist/core/validation/purpose-placeholder.d.ts.map +1 -1
- package/dist/core/validation/purpose-placeholder.js +30 -44
- package/dist/core/validation/purpose-placeholder.js.map +1 -1
- package/dist/core/validation/section-validator.d.ts +4 -4
- package/dist/core/validation/section-validator.d.ts.map +1 -1
- package/dist/core/validation/section-validator.js +43 -7
- package/dist/core/validation/section-validator.js.map +1 -1
- package/dist/core/validation/task-numbering.d.ts +6 -3
- package/dist/core/validation/task-numbering.d.ts.map +1 -1
- package/dist/core/validation/task-numbering.js +23 -11
- package/dist/core/validation/task-numbering.js.map +1 -1
- package/dist/core/validation/types.d.ts +18 -0
- package/dist/core/validation/types.d.ts.map +1 -1
- package/dist/core/validation/types.js +12 -1
- package/dist/core/validation/types.js.map +1 -1
- package/dist/core/validation/validator.d.ts +43 -63
- package/dist/core/validation/validator.d.ts.map +1 -1
- package/dist/core/validation/validator.js +500 -267
- package/dist/core/validation/validator.js.map +1 -1
- package/dist/prompts/searchable-multi-select.d.ts +3 -8
- package/dist/prompts/searchable-multi-select.d.ts.map +1 -1
- package/dist/prompts/searchable-multi-select.js +16 -39
- package/dist/prompts/searchable-multi-select.js.map +1 -1
- package/dist/utils/change-metadata.d.ts +11 -50
- package/dist/utils/change-metadata.d.ts.map +1 -1
- package/dist/utils/change-metadata.js +48 -67
- package/dist/utils/change-metadata.js.map +1 -1
- package/dist/utils/change-utils.d.ts +30 -54
- package/dist/utils/change-utils.d.ts.map +1 -1
- package/dist/utils/change-utils.js +133 -91
- package/dist/utils/change-utils.js.map +1 -1
- package/dist/utils/file-lock.d.ts +39 -0
- package/dist/utils/file-lock.d.ts.map +1 -0
- package/dist/utils/file-lock.js +149 -0
- package/dist/utils/file-lock.js.map +1 -0
- package/dist/utils/file-system.d.ts +12 -32
- package/dist/utils/file-system.d.ts.map +1 -1
- package/dist/utils/file-system.js +16 -40
- package/dist/utils/file-system.js.map +1 -1
- package/dist/utils/frontmatter.d.ts +7 -11
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +11 -11
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/interactive.d.ts +4 -9
- package/dist/utils/interactive.d.ts.map +1 -1
- package/dist/utils/interactive.js +2 -4
- package/dist/utils/interactive.js.map +1 -1
- package/dist/utils/item-discovery.d.ts +15 -10
- package/dist/utils/item-discovery.d.ts.map +1 -1
- package/dist/utils/item-discovery.js +42 -47
- package/dist/utils/item-discovery.js.map +1 -1
- package/dist/utils/link.d.ts +9 -18
- package/dist/utils/link.d.ts.map +1 -1
- package/dist/utils/link.js +9 -18
- package/dist/utils/link.js.map +1 -1
- package/dist/utils/requirement-diff.d.ts +13 -23
- package/dist/utils/requirement-diff.d.ts.map +1 -1
- package/dist/utils/requirement-diff.js +13 -23
- package/dist/utils/requirement-diff.js.map +1 -1
- package/dist/utils/spec-files.d.ts +7 -20
- package/dist/utils/spec-files.d.ts.map +1 -1
- package/dist/utils/spec-files.js +26 -51
- package/dist/utils/spec-files.js.map +1 -1
- package/dist/utils/task-progress.d.ts +11 -9
- package/dist/utils/task-progress.d.ts.map +1 -1
- package/dist/utils/task-progress.js +53 -32
- package/dist/utils/task-progress.js.map +1 -1
- package/dist/utils/timestamp.d.ts +5 -8
- package/dist/utils/timestamp.d.ts.map +1 -1
- package/dist/utils/timestamp.js +5 -8
- package/dist/utils/timestamp.js.map +1 -1
- package/package.json +2 -3
- package/schemas/decision/templates/decision.md +3 -1
- package/schemas/decision/templates/index.md +2 -2
- package/schemas/issue/schema.yaml +8 -1
- package/schemas/issue/templates/spec.md +27 -2
- package/schemas/sdd/schema.yaml +20 -1
- package/schemas/sdd/templates/spec.md +27 -2
- /package/assets/rules/tospec/{single-sourc-of-truth.md → single-source-of-truth.md} +0 -0
|
@@ -1,43 +1,35 @@
|
|
|
1
1
|
import { ArtifactGraph } from './graph.js';
|
|
2
|
-
import { type ActionContext, type PlanningHomeSummary } from '../change-status-policy.js';
|
|
3
|
-
import { type ProjectConfig } from '../project-config.js';
|
|
2
|
+
import { type ActionContext, type PlanningHomeSummary, type ArtifactStatusValue } from '../change-status-policy.js';
|
|
3
|
+
import { type ProjectConfig, type ProjectConfigDiagnostic } from '../project-config.js';
|
|
4
4
|
import type { PlanningHome } from '../planning-home.js';
|
|
5
5
|
import type { ChangeMetadata } from '../change-metadata/index.js';
|
|
6
6
|
import type { CompletedSet } from './types.js';
|
|
7
7
|
import type { CommandDiagnostic } from '../../commands/shared-output.js';
|
|
8
|
-
/**
|
|
9
|
-
* Error thrown when loading a template fails.
|
|
10
|
-
*/
|
|
11
8
|
export declare class TemplateLoadError extends Error {
|
|
12
9
|
readonly templatePath: string;
|
|
13
|
-
|
|
10
|
+
/**
|
|
11
|
+
* A full `CommandDiagnostic`, so the failure reaches `--json` with its `fix`.
|
|
12
|
+
* Without one it fell through to the generic `change_error` shape, which
|
|
13
|
+
* offers no next step.
|
|
14
|
+
*/
|
|
15
|
+
readonly diagnostic: CommandDiagnostic;
|
|
16
|
+
constructor(message: string, templatePath: string, fix?: string);
|
|
14
17
|
}
|
|
15
|
-
/**
|
|
16
|
-
* Change context containing graph, completion state, and metadata.
|
|
17
|
-
*/
|
|
18
18
|
export interface ChangeContext {
|
|
19
|
-
/** The artifact dependency graph */
|
|
20
19
|
graph: ArtifactGraph;
|
|
21
|
-
/** Set of completed artifact IDs */
|
|
22
20
|
completed: CompletedSet;
|
|
23
|
-
/** Artifacts whose files exist but are
|
|
21
|
+
/** Artifacts whose files exist but are empty or template-identical. */
|
|
24
22
|
stubs?: Set<string>;
|
|
25
|
-
/** Schema name being used */
|
|
26
23
|
schemaName: string;
|
|
27
|
-
/** Change name */
|
|
28
24
|
changeName: string;
|
|
29
|
-
/** Path to the change directory */
|
|
30
25
|
changeDir: string;
|
|
31
|
-
/** Project root directory */
|
|
32
26
|
projectRoot: string;
|
|
33
|
-
/** Resolved planning home for this change */
|
|
34
27
|
planningHome?: PlanningHome;
|
|
35
|
-
/** Parsed change metadata, when present */
|
|
36
28
|
metadata?: ChangeMetadata;
|
|
37
29
|
/**
|
|
38
|
-
* Artifact ids this
|
|
39
|
-
* `
|
|
40
|
-
*
|
|
30
|
+
* Artifact ids this change has declared away (currently only `specs`, via
|
|
31
|
+
* `skip_specs: true`) — like a schema-level `optional`, but decided per
|
|
32
|
+
* change.
|
|
41
33
|
*/
|
|
42
34
|
skippedArtifacts?: ReadonlySet<string>;
|
|
43
35
|
/** Set when `skip_specs` is present but not a boolean — surfaced, never silently dropped. */
|
|
@@ -47,96 +39,121 @@ export interface LoadChangeContextOptions {
|
|
|
47
39
|
changeDir?: string;
|
|
48
40
|
planningHome?: PlanningHome;
|
|
49
41
|
}
|
|
50
|
-
/**
|
|
51
|
-
* Enriched instructions for creating an artifact.
|
|
52
|
-
*/
|
|
42
|
+
/** Everything an agent needs in order to write one artifact. */
|
|
53
43
|
export interface ArtifactInstructions {
|
|
54
|
-
/** Change name */
|
|
55
44
|
changeName: string;
|
|
56
|
-
/** Artifact ID */
|
|
57
45
|
artifactId: string;
|
|
58
|
-
/** Schema name */
|
|
59
46
|
schemaName: string;
|
|
60
|
-
/** Full path to change directory */
|
|
61
47
|
changeDir: string;
|
|
62
|
-
/** Resolved planning home for this change */
|
|
63
48
|
planningHome?: PlanningHomeSummary;
|
|
64
|
-
/** Output path pattern
|
|
49
|
+
/** Output path pattern, e.g. "proposal.md". */
|
|
65
50
|
outputPath: string;
|
|
66
|
-
/**
|
|
51
|
+
/** That pattern resolved under the change directory. */
|
|
67
52
|
resolvedOutputPath: string;
|
|
68
|
-
/** Existing concrete output files for this artifact */
|
|
69
53
|
existingOutputPaths: string[];
|
|
70
|
-
/** Artifact description */
|
|
71
54
|
description: string;
|
|
72
|
-
/** Guidance
|
|
55
|
+
/** Guidance from the schema's `instruction` field. */
|
|
73
56
|
instruction: string | undefined;
|
|
74
|
-
/** Project context from config
|
|
57
|
+
/** Project context from config: background for the agent, not output content. */
|
|
75
58
|
context: string | undefined;
|
|
76
|
-
/** Artifact-specific rules from config
|
|
59
|
+
/** Artifact-specific rules from config: constraints, not output content. */
|
|
77
60
|
rules: string[] | undefined;
|
|
78
|
-
/**
|
|
61
|
+
/** The schema's template — this IS the output format. */
|
|
79
62
|
template: string;
|
|
80
|
-
/**
|
|
63
|
+
/**
|
|
64
|
+
* The schema's acceptance criteria, or undefined when it declares none.
|
|
65
|
+
* Without them an agent learned a section's minimum length only by rejection.
|
|
66
|
+
*/
|
|
67
|
+
validation?: ArtifactValidationRules;
|
|
81
68
|
dependencies: DependencyInfo[];
|
|
82
|
-
/** Artifacts that become available
|
|
69
|
+
/** Artifacts that become available once this one is written. */
|
|
83
70
|
unlocks: string[];
|
|
71
|
+
/** What the change was opened for, as `tospec new change` recorded it. */
|
|
72
|
+
changeMetadata: ChangeMetadataSummary;
|
|
73
|
+
/**
|
|
74
|
+
* Problems with the project's config: a `rules:` key naming an artifact no
|
|
75
|
+
* schema has, a field that could not be used and was dropped, a file that
|
|
76
|
+
* would not parse. Absent when the config is clean. Each entry carries a
|
|
77
|
+
* `code` because several kinds of problem land here.
|
|
78
|
+
*/
|
|
79
|
+
configWarnings?: ProjectConfigDiagnostic[];
|
|
84
80
|
}
|
|
85
81
|
/**
|
|
86
|
-
*
|
|
82
|
+
* Schema-declared acceptance criteria, carried through to the caller verbatim.
|
|
83
|
+
* Present only when the artifact declares at least one rule, so "no criteria"
|
|
84
|
+
* stays distinguishable from "criteria withheld".
|
|
87
85
|
*/
|
|
86
|
+
export interface ArtifactValidationRules {
|
|
87
|
+
/** Section headings the artifact must contain. */
|
|
88
|
+
requiredSections: string[];
|
|
89
|
+
/** Minimum character count per section, keyed by heading. */
|
|
90
|
+
minSectionLength: Record<string, number>;
|
|
91
|
+
/** Maximum character count per section, keyed by heading. */
|
|
92
|
+
maxSectionLength: Record<string, number>;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* The intent `tospec new change` recorded in `.tospec.yaml`. Without it an agent
|
|
96
|
+
* resuming the change in a later session has no record of `--goal` or
|
|
97
|
+
* `--decisions`.
|
|
98
|
+
*
|
|
99
|
+
* Keys are present only when the metadata carries them, so "no goal recorded"
|
|
100
|
+
* stays distinguishable from "goal withheld".
|
|
101
|
+
*/
|
|
102
|
+
export interface ChangeMetadataSummary {
|
|
103
|
+
goal?: string;
|
|
104
|
+
/** ADR filenames under `tospec/decisions/` that drove this change. */
|
|
105
|
+
decisions?: string[];
|
|
106
|
+
}
|
|
88
107
|
export interface DependencyInfo {
|
|
89
|
-
/** Artifact ID */
|
|
90
108
|
id: string;
|
|
91
|
-
/** Whether the dependency is completed */
|
|
92
109
|
done: boolean;
|
|
93
|
-
/**
|
|
110
|
+
/** The dependency's relative output path, e.g. "proposal.md". */
|
|
94
111
|
path: string;
|
|
95
|
-
/** Description of the dependency artifact */
|
|
96
112
|
description: string;
|
|
97
113
|
}
|
|
98
|
-
/**
|
|
99
|
-
* Status of a single artifact in the workflow.
|
|
100
|
-
*/
|
|
101
114
|
export interface ArtifactStatus {
|
|
102
|
-
/** Artifact ID */
|
|
103
115
|
id: string;
|
|
104
|
-
/** Output path pattern */
|
|
105
116
|
outputPath: string;
|
|
106
|
-
/**
|
|
107
|
-
|
|
108
|
-
|
|
117
|
+
/**
|
|
118
|
+
* done, ready, blocked, `optional` (declared optional and not written),
|
|
119
|
+
* `skipped` (the change declared it away, e.g. `skip_specs: true`), or `stub`
|
|
120
|
+
* (the file exists and is empty or template-identical).
|
|
121
|
+
*/
|
|
122
|
+
status: ArtifactStatusValue;
|
|
109
123
|
optional: boolean;
|
|
110
|
-
/**
|
|
124
|
+
/** Only on a blocked artifact. */
|
|
111
125
|
missingDeps?: string[];
|
|
112
126
|
}
|
|
113
|
-
/**
|
|
114
|
-
* Formatted change status.
|
|
115
|
-
*/
|
|
116
127
|
export interface ChangeStatus {
|
|
117
|
-
/** Change name */
|
|
118
128
|
changeName: string;
|
|
119
|
-
/** Schema name */
|
|
120
129
|
schemaName: string;
|
|
121
|
-
/**
|
|
122
|
-
*
|
|
130
|
+
/**
|
|
131
|
+
* Generated skills derive the archive dir from `planningHome.changesDir` —
|
|
132
|
+
* a published agent contract.
|
|
133
|
+
*/
|
|
123
134
|
planningHome?: PlanningHomeSummary;
|
|
124
|
-
/** Full path to the change root */
|
|
125
135
|
changeRoot: string;
|
|
126
|
-
/** Absolute artifact path details keyed by artifact ID */
|
|
127
136
|
artifactPaths: Record<string, ArtifactPathSummary>;
|
|
128
|
-
/** Plain-language next steps for users and agents */
|
|
137
|
+
/** Plain-language next steps for users and agents. */
|
|
129
138
|
nextSteps: string[];
|
|
130
|
-
/** Machine-readable action constraints for agents */
|
|
139
|
+
/** Machine-readable action constraints for agents. */
|
|
131
140
|
actionContext: ActionContext;
|
|
132
|
-
/** Whether all artifacts are complete */
|
|
133
141
|
isComplete: boolean;
|
|
134
|
-
/**
|
|
142
|
+
/** From the schema's `apply.requires`. */
|
|
135
143
|
applyRequires: string[];
|
|
136
|
-
/** Status of each artifact */
|
|
137
144
|
artifacts: ArtifactStatus[];
|
|
145
|
+
/** What the change was opened for, as `tospec new change` recorded it. */
|
|
146
|
+
changeMetadata: ChangeMetadataSummary;
|
|
138
147
|
/** Non-blocking diagnostics about the change itself (e.g. an unusable skip_specs value). Absent when there is nothing to report. */
|
|
139
148
|
status?: CommandDiagnostic[];
|
|
149
|
+
/**
|
|
150
|
+
* Absolute path to the change's ticket stub, or null when it has none.
|
|
151
|
+
*
|
|
152
|
+
* Resolved by the status command rather than the graph: the ticket lives in
|
|
153
|
+
* the global `tospec/tickets/` index, outside the change directory, so it is
|
|
154
|
+
* not one of the artifact outputs.
|
|
155
|
+
*/
|
|
156
|
+
ticketPath?: string | null;
|
|
140
157
|
}
|
|
141
158
|
export interface ArtifactPathSummary {
|
|
142
159
|
outputPath: string;
|
|
@@ -144,53 +161,30 @@ export interface ArtifactPathSummary {
|
|
|
144
161
|
existingOutputPaths: string[];
|
|
145
162
|
}
|
|
146
163
|
/**
|
|
147
|
-
*
|
|
164
|
+
* A template from a schema's `templates/` directory, e.g. "proposal.md".
|
|
148
165
|
*
|
|
149
|
-
* @
|
|
150
|
-
* @param templatePath - Relative path within the templates directory (e.g., "proposal.md")
|
|
151
|
-
* @param projectRoot - Optional project root for project-local schema resolution
|
|
152
|
-
* @returns The template content
|
|
153
|
-
* @throws TemplateLoadError if the template cannot be loaded
|
|
166
|
+
* @throws TemplateLoadError when the schema or the template cannot be read.
|
|
154
167
|
*/
|
|
155
168
|
export declare function loadTemplate(schemaName: string, templatePath: string, projectRoot?: string): string;
|
|
156
169
|
/**
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
* Schema resolution order:
|
|
160
|
-
* 1. Explicit schemaName parameter (if provided)
|
|
161
|
-
* 2. Schema from .tospec.yaml metadata (if exists in change directory)
|
|
162
|
-
* 3. Default 'sdd'
|
|
170
|
+
* The graph plus the completion state derived from files on disk.
|
|
163
171
|
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
* @param schemaName - Optional schema name override. If not provided, auto-detected from metadata.
|
|
167
|
-
* @returns Change context with graph, completed set, and metadata
|
|
172
|
+
* The schema is the explicit `schemaName`, else the one `.tospec.yaml` records,
|
|
173
|
+
* else `sdd`.
|
|
168
174
|
*/
|
|
169
175
|
export declare function loadChangeContext(projectRoot: string, changeName: string, schemaName?: string, options?: LoadChangeContextOptions): ChangeContext;
|
|
170
|
-
/**
|
|
171
|
-
* Generates enriched instructions for creating an artifact.
|
|
172
|
-
*
|
|
173
|
-
* Instruction injection order:
|
|
174
|
-
* 1. <context> - Project context from config (if present)
|
|
175
|
-
* 2. <rules> - Artifact-specific rules from config (if present)
|
|
176
|
-
* 3. <template> - Schema's template content
|
|
177
|
-
*
|
|
178
|
-
* @param context - Change context
|
|
179
|
-
* @param artifactId - Artifact ID to generate instructions for
|
|
180
|
-
* @param projectRoot - Project root directory (for reading config)
|
|
181
|
-
* @returns Enriched artifact instructions
|
|
182
|
-
* @throws Error if artifact not found
|
|
183
|
-
*/
|
|
184
176
|
export interface GenerateInstructionsOptions {
|
|
185
177
|
/** Pre-read project config; suppresses the internal read (no double read). */
|
|
186
178
|
projectConfig?: ProjectConfig | null;
|
|
179
|
+
/**
|
|
180
|
+
* Diagnostics from that pre-read. Without them a caller cannot tell "the
|
|
181
|
+
* project sets no context" from "the context was dropped".
|
|
182
|
+
*/
|
|
183
|
+
configDiagnostics?: ProjectConfigDiagnostic[];
|
|
187
184
|
}
|
|
185
|
+
/** @throws Error when the schema has no artifact with that id. */
|
|
188
186
|
export declare function generateInstructions(context: ChangeContext, artifactId: string, projectRoot?: string, options?: GenerateInstructionsOptions): ArtifactInstructions;
|
|
189
|
-
/**
|
|
190
|
-
* Formats the status of all artifacts in a change.
|
|
191
|
-
*
|
|
192
|
-
* @param context - Change context
|
|
193
|
-
* @returns Formatted change status
|
|
194
|
-
*/
|
|
195
187
|
export declare function formatChangeStatus(context: ChangeContext): ChangeStatus;
|
|
188
|
+
/** The recorded intent, reduced to the fields an agent needs to honour it. */
|
|
189
|
+
export declare function summarizeChangeMetadata(metadata?: ChangeMetadata): ChangeMetadataSummary;
|
|
196
190
|
//# sourceMappingURL=instruction-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instruction-loader.d.ts","sourceRoot":"","sources":["../../../src/core/artifact-graph/instruction-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instruction-loader.d.ts","sourceRoot":"","sources":["../../../src/core/artifact-graph/instruction-loader.ts"],"names":[],"mappings":"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"}
|