@seanmars/tospec 0.19.0-beta.8 → 0.21.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 +89 -296
- package/README.md +69 -82
- package/assets/dashboard/app.js +11 -0
- package/assets/dashboard/style.css +7 -0
- package/bin/tospec.js +1 -1
- package/dist/cli/index.d.ts +6 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +120 -112
- 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 +300 -145
- 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 +252 -330
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/decision.d.ts +38 -27
- package/dist/commands/decision.d.ts.map +1 -1
- package/dist/commands/decision.js +301 -131
- 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 +12 -27
- package/dist/commands/shared-output.d.ts.map +1 -1
- package/dist/commands/shared-output.js +22 -45
- package/dist/commands/shared-output.js.map +1 -1
- package/dist/commands/show.d.ts +4 -7
- package/dist/commands/show.d.ts.map +1 -1
- package/dist/commands/show.js +23 -11
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/validate.d.ts +34 -58
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +228 -142
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/workflow/index.d.ts +1 -5
- package/dist/commands/workflow/index.d.ts.map +1 -1
- package/dist/commands/workflow/index.js +1 -5
- package/dist/commands/workflow/index.js.map +1 -1
- package/dist/commands/workflow/instructions.d.ts +14 -24
- package/dist/commands/workflow/instructions.d.ts.map +1 -1
- package/dist/commands/workflow/instructions.js +230 -132
- package/dist/commands/workflow/instructions.js.map +1 -1
- package/dist/commands/workflow/new-change.d.ts +2 -5
- package/dist/commands/workflow/new-change.d.ts.map +1 -1
- package/dist/commands/workflow/new-change.js +75 -34
- package/dist/commands/workflow/new-change.js.map +1 -1
- package/dist/commands/workflow/schemas.d.ts +1 -5
- package/dist/commands/workflow/schemas.d.ts.map +1 -1
- package/dist/commands/workflow/schemas.js +6 -17
- package/dist/commands/workflow/schemas.js.map +1 -1
- package/dist/commands/workflow/shared.d.ts +37 -42
- package/dist/commands/workflow/shared.d.ts.map +1 -1
- package/dist/commands/workflow/shared.js +23 -54
- package/dist/commands/workflow/shared.js.map +1 -1
- package/dist/commands/workflow/status.d.ts +7 -17
- package/dist/commands/workflow/status.d.ts.map +1 -1
- package/dist/commands/workflow/status.js +57 -72
- package/dist/commands/workflow/status.js.map +1 -1
- package/dist/commands/workflow/templates.d.ts +8 -8
- package/dist/commands/workflow/templates.d.ts.map +1 -1
- package/dist/commands/workflow/templates.js +32 -46
- package/dist/commands/workflow/templates.js.map +1 -1
- package/dist/core/archive.d.ts +33 -31
- package/dist/core/archive.d.ts.map +1 -1
- package/dist/core/archive.js +322 -284
- 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 +54 -120
- package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
- package/dist/core/artifact-graph/instruction-loader.js +129 -111
- 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 +36 -81
- package/dist/core/artifact-graph/resolver.d.ts.map +1 -1
- package/dist/core/artifact-graph/resolver.js +60 -101
- 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 +6 -14
- package/dist/core/artifact-graph/stub-detection.d.ts.map +1 -1
- package/dist/core/artifact-graph/stub-detection.js +13 -16
- package/dist/core/artifact-graph/stub-detection.js.map +1 -1
- 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 +46 -11
- 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 +16 -27
- package/dist/core/change-presenter.d.ts.map +1 -1
- package/dist/core/change-presenter.js +53 -53
- package/dist/core/change-presenter.js.map +1 -1
- package/dist/core/change-status-policy.d.ts +4 -8
- package/dist/core/change-status-policy.d.ts.map +1 -1
- package/dist/core/change-status-policy.js +9 -17
- 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 +7 -41
- package/dist/core/config-schema.d.ts.map +1 -1
- package/dist/core/config-schema.js +35 -74
- package/dist/core/config-schema.js.map +1 -1
- package/dist/core/config.d.ts +25 -49
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +22 -45
- 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 +34 -25
- package/dist/core/dashboard-activity.js.map +1 -1
- package/dist/core/dashboard-data.d.ts +35 -22
- package/dist/core/dashboard-data.d.ts.map +1 -1
- package/dist/core/dashboard-data.js +57 -72
- 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 +12 -28
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +93 -169
- package/dist/core/init.js.map +1 -1
- package/dist/core/list.d.ts.map +1 -1
- package/dist/core/list.js +95 -41
- 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 +15 -23
- package/dist/core/markdown-render.d.ts.map +1 -1
- package/dist/core/markdown-render.js +25 -34
- package/dist/core/markdown-render.js.map +1 -1
- package/dist/core/migrate.d.ts +19 -16
- package/dist/core/migrate.d.ts.map +1 -1
- package/dist/core/migrate.js +162 -136
- 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 +23 -30
- 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 +8 -14
- package/dist/core/root-selection.d.ts.map +1 -1
- package/dist/core/root-selection.js +3 -6
- package/dist/core/root-selection.js.map +1 -1
- package/dist/core/rules.d.ts.map +1 -1
- package/dist/core/rules.js +2 -3
- 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.map +1 -1
- package/dist/core/schemas/base.schema.js +6 -12
- package/dist/core/schemas/base.schema.js.map +1 -1
- package/dist/core/schemas/change.schema.d.ts +8 -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/shared/index.d.ts +2 -7
- package/dist/core/shared/index.d.ts.map +1 -1
- package/dist/core/shared/index.js +2 -7
- package/dist/core/shared/index.js.map +1 -1
- package/dist/core/shared/rules-generation.d.ts +5 -15
- package/dist/core/shared/rules-generation.d.ts.map +1 -1
- package/dist/core/shared/rules-generation.js +33 -37
- 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 +35 -76
- package/dist/core/shared/tool-detection.d.ts.map +1 -1
- package/dist/core/shared/tool-detection.js +73 -93
- 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.d.ts.map +1 -1
- package/dist/core/spec-presenter.js +5 -10
- package/dist/core/spec-presenter.js.map +1 -1
- package/dist/core/specs-apply.d.ts +16 -31
- package/dist/core/specs-apply.d.ts.map +1 -1
- package/dist/core/specs-apply.js +146 -195
- 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 +16 -5
- package/dist/core/templates/workflows/archive.js.map +1 -1
- package/dist/core/templates/workflows/decision.js +3 -3
- 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 +10 -36
- package/dist/core/update.d.ts.map +1 -1
- package/dist/core/update.js +59 -126
- 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 +30 -23
- 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 -25
- 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 +30 -12
- 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 +42 -68
- package/dist/core/validation/validator.d.ts.map +1 -1
- package/dist/core/validation/validator.js +474 -285
- 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 +24 -76
- package/dist/utils/change-utils.d.ts.map +1 -1
- package/dist/utils/change-utils.js +95 -142
- 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 +41 -45
- 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 +10 -20
- package/dist/utils/item-discovery.d.ts.map +1 -1
- package/dist/utils/item-discovery.js +31 -55
- 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/issue/schema.yaml +8 -1
- package/schemas/issue/templates/spec.md +20 -3
- package/schemas/sdd/schema.yaml +20 -1
- package/schemas/sdd/templates/spec.md +20 -3
package/dist/core/update.js
CHANGED
|
@@ -1,26 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Update Command
|
|
3
|
-
*
|
|
4
|
-
* Refreshes Tospec skills for configured tools.
|
|
5
|
-
*/
|
|
1
|
+
/** Refreshes Tospec skills for configured tools. */
|
|
6
2
|
import path from 'path';
|
|
7
3
|
import * as fs from 'fs';
|
|
8
4
|
import { createRequire } from 'module';
|
|
9
5
|
import { FileSystemUtils } from '../utils/file-system.js';
|
|
10
6
|
import { AI_TOOLS, TOSPEC_DIR_NAME, dependencyToolIds } from './config.js';
|
|
11
|
-
import { getToolVersionStatus, getSkillTemplates, writeSkillDir, getConfiguredTools, removeLegacySkillDirs, removeLegacyToolSkillLayout, writeToolCommands, } from './shared/index.js';
|
|
7
|
+
import { getToolVersionStatus, getSkillTemplates, writeSkillDir, getConfiguredTools, removeLegacySkillDirs, removeUnselectedSkillDirs, removeLegacyToolSkillLayout, writeToolCommands, findWorkflowReferenceGaps, describeWorkflowReferenceGaps, } from './shared/index.js';
|
|
12
8
|
import { getGlobalConfig } from './global-config.js';
|
|
13
9
|
import { runLegacyUserStateMigration } from './user-state-migration.js';
|
|
14
10
|
import { getProfileWorkflows, ALL_WORKFLOWS } from './profiles.js';
|
|
15
11
|
import { getAvailableTools } from './available-tools.js';
|
|
16
12
|
import { copyDir } from '../utils/link.js';
|
|
17
13
|
import { planWorkflowRules, writeWorkflowRules } from './shared/rules-generation.js';
|
|
18
|
-
import { hasResidualCodexOutput, RESIDUAL_CODEX_NOTICE } from './codex-residue.js';
|
|
14
|
+
import { hasResidualCodexOutput, RESIDUAL_CODEX_NOTICE, RESIDUAL_CODEX_FIX } from './codex-residue.js';
|
|
19
15
|
import { emitSuccess } from '../commands/shared-output.js';
|
|
20
16
|
const require = createRequire(import.meta.url);
|
|
21
17
|
const { version: TOSPEC_VERSION } = require('../../package.json');
|
|
22
18
|
const OLD_CORE_WORKFLOWS = ['propose', 'explore', 'apply', 'archive'];
|
|
23
|
-
const WORKFLOW_TO_SKILL_DIR = Object.fromEntries(getSkillTemplates().map(({ workflowId, dirName }) => [workflowId, dirName]));
|
|
24
19
|
/** The `--json` null-shape; mirrors the success payload with `update` nulled. */
|
|
25
20
|
export const UPDATE_FAILURE_PAYLOAD = { update: null, root: null };
|
|
26
21
|
export class UpdateCommand {
|
|
@@ -31,25 +26,17 @@ export class UpdateCommand {
|
|
|
31
26
|
this.json = options.json ?? false;
|
|
32
27
|
}
|
|
33
28
|
/**
|
|
34
|
-
* Progress prose, suppressed under `--json
|
|
35
|
-
*
|
|
36
|
-
* Every line this command prints is a running commentary on work the final
|
|
37
|
-
* JSON document already reports; on stdout beside that document it would
|
|
38
|
-
* break the one-envelope contract.
|
|
29
|
+
* Progress prose, suppressed under `--json`: the envelope contract allows only
|
|
30
|
+
* one document on stdout.
|
|
39
31
|
*/
|
|
40
32
|
say(...args) {
|
|
41
33
|
if (!this.json)
|
|
42
34
|
console.log(...args);
|
|
43
35
|
}
|
|
44
36
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* it under `--json` loses nothing — but a warning has no other carrier, and
|
|
49
|
-
* dropping it leaves the agent-facing mode strictly less informed than the
|
|
50
|
-
* human one about the very runs that need explaining.
|
|
51
|
-
*
|
|
52
|
-
* One helper both records and prints, so no call site can do half of it.
|
|
37
|
+
* Unlike `say`, a warning has no other carrier — dropping it under `--json`
|
|
38
|
+
* would leave an agent caller less informed than a human. One helper records
|
|
39
|
+
* and prints, so no call site does half of it.
|
|
53
40
|
*/
|
|
54
41
|
warn(code, message, fix) {
|
|
55
42
|
this.jsonWarnings.push({ severity: 'warning', code, message, ...(fix ? { fix } : {}) });
|
|
@@ -64,7 +51,6 @@ export class UpdateCommand {
|
|
|
64
51
|
async execute(projectPath) {
|
|
65
52
|
const resolvedProjectPath = path.resolve(projectPath);
|
|
66
53
|
const tospecPath = path.join(resolvedProjectPath, TOSPEC_DIR_NAME);
|
|
67
|
-
// 1. Check tospec directory exists
|
|
68
54
|
if (!await FileSystemUtils.directoryExists(tospecPath)) {
|
|
69
55
|
throw new Error(`No Tospec directory found. Run 'tospec init' first.`);
|
|
70
56
|
}
|
|
@@ -73,36 +59,37 @@ export class UpdateCommand {
|
|
|
73
59
|
const rulePlan = await planWorkflowRules(resolvedProjectPath, configuredTools);
|
|
74
60
|
// No migration or generated-file writes until every rule passed preflight.
|
|
75
61
|
await runLegacyUserStateMigration();
|
|
76
|
-
// 3. Read global config for profile
|
|
77
62
|
const globalConfig = getGlobalConfig();
|
|
78
63
|
const profile = globalConfig.profile ?? 'core';
|
|
79
64
|
const profileWorkflows = getProfileWorkflows(profile, globalConfig.workflows);
|
|
80
65
|
const desiredWorkflows = profileWorkflows.filter((workflow) => ALL_WORKFLOWS.includes(workflow));
|
|
81
|
-
// An empty selection is
|
|
82
|
-
//
|
|
83
|
-
//
|
|
84
|
-
// is about to remove every skill dir, so it says which setting caused that
|
|
85
|
-
// and how to reverse it, rather than reporting the deletion after the fact.
|
|
66
|
+
// An empty selection is legitimate but more often a half-configured profile
|
|
67
|
+
// (`config profile custom` with nothing picked). Either way this run removes
|
|
68
|
+
// every skill dir, so name the setting and its reversal before the deletion.
|
|
86
69
|
if (desiredWorkflows.length === 0) {
|
|
87
70
|
this.warn('update_profile_selects_no_workflows', `Profile '${profile}' selects no workflows, so this update removes every tospec skill.`, 'Run "tospec config profile core" then "tospec update" to restore them.');
|
|
88
71
|
}
|
|
89
|
-
//
|
|
90
|
-
//
|
|
91
|
-
//
|
|
92
|
-
//
|
|
93
|
-
//
|
|
72
|
+
// A selection is a subset; the prose the templates carry is not. Each skill
|
|
73
|
+
// names its siblings unconditionally, so a partial install writes
|
|
74
|
+
// instructions pointing at a workflow that is not there. Reported, not
|
|
75
|
+
// patched: rewriting the generated text per profile would make the installed
|
|
76
|
+
// skills differ from the canonical templates.
|
|
77
|
+
const referenceGaps = findWorkflowReferenceGaps(desiredWorkflows);
|
|
78
|
+
if (referenceGaps.length > 0) {
|
|
79
|
+
const missing = [...new Set(referenceGaps.map((gap) => gap.missing))].sort();
|
|
80
|
+
this.warn('update_workflow_reference_missing', `Installed skills point at workflows this profile leaves out: ${describeWorkflowReferenceGaps(referenceGaps)}.`, `Add them with "tospec config set workflows" (missing: ${missing.join(', ')}), or expect agents to hit instructions they cannot follow.`);
|
|
81
|
+
}
|
|
94
82
|
if (profile !== 'custom' && globalConfig.workflows && globalConfig.workflows.length > 0) {
|
|
95
83
|
this.warn('update_workflows_ignored', `Profile '${profile}' installs every workflow, so the configured workflows list is not used.`, 'Run "tospec config profile custom" to apply it, or "tospec config unset workflows" to drop it.');
|
|
96
84
|
}
|
|
97
85
|
if (configuredTools.length === 0) {
|
|
98
86
|
this.say('No configured tools found.');
|
|
99
87
|
this.say('Run "tospec init" to set up tools.');
|
|
100
|
-
// A project whose only agent directory
|
|
101
|
-
// the
|
|
88
|
+
// A project whose only agent directory is `.codex` lands here, which is
|
|
89
|
+
// the case the notice exists for.
|
|
102
90
|
this.reportResidualCodexOutput(resolvedProjectPath);
|
|
103
|
-
// Not an error
|
|
104
|
-
//
|
|
105
|
-
// a bare success and assume the update ran.
|
|
91
|
+
// Not an error, but the empty tool list has to reach a JSON caller, who
|
|
92
|
+
// would otherwise read a bare success as "the update ran".
|
|
106
93
|
if (this.json) {
|
|
107
94
|
emitSuccess({
|
|
108
95
|
update: {
|
|
@@ -119,34 +106,31 @@ export class UpdateCommand {
|
|
|
119
106
|
}
|
|
120
107
|
return;
|
|
121
108
|
}
|
|
122
|
-
|
|
123
|
-
const toolStatuses = configuredTools.map((toolId) => {
|
|
124
|
-
const status = getToolVersionStatus(resolvedProjectPath, toolId, TOSPEC_VERSION);
|
|
125
|
-
return status;
|
|
126
|
-
});
|
|
109
|
+
const toolStatuses = configuredTools.map((toolId) => getToolVersionStatus(resolvedProjectPath, toolId, TOSPEC_VERSION));
|
|
127
110
|
const statusByTool = new Map(toolStatuses.map((status) => [status.toolId, status]));
|
|
128
|
-
// 7. Smart update detection
|
|
129
111
|
const toolsNeedingVersionUpdate = toolStatuses
|
|
130
112
|
.filter((s) => s.needsUpdate)
|
|
131
113
|
.map((s) => s.toolId);
|
|
132
114
|
const toolsToUpdateSet = new Set(toolsNeedingVersionUpdate);
|
|
133
115
|
// Dependent targets are built from the canonical one, so a stale canonical
|
|
134
|
-
// dir makes all of them stale
|
|
135
|
-
//
|
|
116
|
+
// dir makes all of them stale. Refreshing it alone would leave a dependent
|
|
117
|
+
// pinned at the old version.
|
|
136
118
|
if (dependencyToolIds().some((toolId) => toolsToUpdateSet.has(toolId))) {
|
|
137
119
|
for (const toolId of configuredTools)
|
|
138
120
|
toolsToUpdateSet.add(toolId);
|
|
139
121
|
}
|
|
140
122
|
const toolsUpToDate = toolStatuses.filter((s) => !toolsToUpdateSet.has(s.toolId));
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
123
|
+
// Nothing changed version, so the run below is a refresh: the same writes,
|
|
124
|
+
// named for what they are so "version-current" and "Updated" do not appear
|
|
125
|
+
// in the same transcript.
|
|
126
|
+
const refreshOnly = !this.force && toolsToUpdateSet.size === 0;
|
|
127
|
+
if (refreshOnly) {
|
|
128
|
+
// The generated version is current, but update is also the repair path for
|
|
129
|
+
// canonical .agents content and stale copies, so generation still runs.
|
|
145
130
|
this.say(`All ${configuredTools.length} configured tool(s) are version-current; refreshing generated skills.`);
|
|
146
131
|
this.detectNewTools(resolvedProjectPath, configuredTools);
|
|
147
132
|
this.displayOldCoreCustomProfileNote(profile, globalConfig.workflows);
|
|
148
133
|
}
|
|
149
|
-
// 8. Display update plan
|
|
150
134
|
if (this.force) {
|
|
151
135
|
this.say(`Force updating ${configuredTools.length} tool(s): ${configuredTools.join(', ')}`);
|
|
152
136
|
}
|
|
@@ -154,11 +138,9 @@ export class UpdateCommand {
|
|
|
154
138
|
this.displayUpdatePlan([...toolsToUpdateSet], statusByTool, toolsUpToDate);
|
|
155
139
|
}
|
|
156
140
|
this.say();
|
|
157
|
-
// 9. Determine what to generate
|
|
158
141
|
const skillTemplates = getSkillTemplates(desiredWorkflows);
|
|
159
|
-
//
|
|
160
|
-
//
|
|
161
|
-
// formats). Always rewritten on update, same as init.
|
|
142
|
+
// The canonical content every tool is copied from, always rewritten, as in
|
|
143
|
+
// init.
|
|
162
144
|
const agentsSkillsDir = path.join(resolvedProjectPath, '.agents', 'skills');
|
|
163
145
|
for (const { template, dirName } of skillTemplates) {
|
|
164
146
|
await writeSkillDir(agentsSkillsDir, dirName, template, TOSPEC_VERSION);
|
|
@@ -166,24 +148,14 @@ export class UpdateCommand {
|
|
|
166
148
|
await removeLegacySkillDirs(agentsSkillsDir);
|
|
167
149
|
await fs.promises.rm(path.join(resolvedProjectPath, '.agents', 'commands'), { recursive: true, force: true });
|
|
168
150
|
await fs.promises.rm(path.join(resolvedProjectPath, '.cursor', 'commands'), { recursive: true, force: true });
|
|
169
|
-
//
|
|
170
|
-
//
|
|
151
|
+
// Drops the old `.claude/commands/tospec` namespace; `tosx` is refreshed
|
|
152
|
+
// per-tool by writeToolCommands below.
|
|
171
153
|
await fs.promises.rm(path.join(resolvedProjectPath, '.claude', 'commands', 'tospec'), { recursive: true, force: true });
|
|
172
|
-
// Deselected workflows
|
|
173
|
-
//
|
|
174
|
-
//
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
for (const workflow of ALL_WORKFLOWS) {
|
|
178
|
-
if (desiredSet.has(workflow))
|
|
179
|
-
continue;
|
|
180
|
-
const dirName = WORKFLOW_TO_SKILL_DIR[workflow];
|
|
181
|
-
if (dirName) {
|
|
182
|
-
await fs.promises.rm(path.join(agentsSkillsDir, dirName), { recursive: true, force: true });
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
// 10. Update tools (all if force, otherwise only those needing update)
|
|
154
|
+
// Deselected workflows are swept canonically too: the per-tool cleanup below
|
|
155
|
+
// reaches only that tool's copy, leaving a stale entry in .agents/. The same
|
|
156
|
+
// helper init uses, so a dir generated under a name WORKFLOW_DEFS no longer
|
|
157
|
+
// has goes as well — an ALL_WORKFLOWS difference cannot name it.
|
|
158
|
+
await removeUnselectedSkillDirs(agentsSkillsDir, desiredWorkflows);
|
|
187
159
|
const toolsToUpdate = (this.force || toolsToUpdateSet.size === 0)
|
|
188
160
|
? configuredTools
|
|
189
161
|
: [...toolsToUpdateSet];
|
|
@@ -194,17 +166,15 @@ export class UpdateCommand {
|
|
|
194
166
|
const tool = AI_TOOLS.find((t) => t.value === toolId);
|
|
195
167
|
if (!tool?.skillsDir)
|
|
196
168
|
continue;
|
|
197
|
-
this.say(
|
|
169
|
+
this.say(`${refreshOnly ? 'Refreshing' : 'Updating'} ${tool.name}...`);
|
|
198
170
|
try {
|
|
199
171
|
const skillsDir = path.join(resolvedProjectPath, tool.skillsDir, 'skills');
|
|
200
172
|
await removeLegacyToolSkillLayout(path.join(resolvedProjectPath, tool.skillsDir));
|
|
201
173
|
await removeLegacySkillDirs(skillsDir);
|
|
202
|
-
//
|
|
203
|
-
//
|
|
204
|
-
//
|
|
205
|
-
//
|
|
206
|
-
// unlinks them. The canonical target *is* that directory, so pointing
|
|
207
|
-
// this at itself would delete the source.
|
|
174
|
+
// Flat and prefixed (`<tool>/skills/tospec-<workflow>/`) since
|
|
175
|
+
// project-scope skills cannot be nested. copyDir clears its dest, which
|
|
176
|
+
// repairs a project still holding links from an earlier version — and
|
|
177
|
+
// is why copying .agents onto itself would delete the source.
|
|
208
178
|
if (path.resolve(skillsDir) !== path.resolve(agentsSkillsDir)) {
|
|
209
179
|
for (const { dirName } of skillTemplates) {
|
|
210
180
|
const src = path.join(agentsSkillsDir, dirName);
|
|
@@ -212,11 +182,11 @@ export class UpdateCommand {
|
|
|
212
182
|
await copyDir(src, dest);
|
|
213
183
|
}
|
|
214
184
|
}
|
|
215
|
-
removedDeselectedSkillCount += await
|
|
216
|
-
//
|
|
185
|
+
removedDeselectedSkillCount += await removeUnselectedSkillDirs(skillsDir, desiredWorkflows);
|
|
186
|
+
// Tools with an adapter (Claude Code) get
|
|
217
187
|
// `.claude/commands/tosx/<id>.md`, invocable as `/tosx:<id>`.
|
|
218
188
|
await writeToolCommands(resolvedProjectPath, tool.value, desiredWorkflows);
|
|
219
|
-
this.say(
|
|
189
|
+
this.say(`${refreshOnly ? 'Refreshed' : 'Updated'} ${tool.name}`);
|
|
220
190
|
updatedTools.push(tool.name);
|
|
221
191
|
}
|
|
222
192
|
catch (error) {
|
|
@@ -228,10 +198,9 @@ export class UpdateCommand {
|
|
|
228
198
|
}
|
|
229
199
|
}
|
|
230
200
|
await writeWorkflowRules(rulePlan, { silent: this.json });
|
|
231
|
-
// 11. Summary
|
|
232
201
|
this.say();
|
|
233
202
|
if (updatedTools.length > 0) {
|
|
234
|
-
this.say(
|
|
203
|
+
this.say(`${refreshOnly ? 'Refreshed' : 'Updated'}: ${updatedTools.join(', ')} (v${TOSPEC_VERSION})`);
|
|
235
204
|
}
|
|
236
205
|
if (failedTools.length > 0) {
|
|
237
206
|
this.say(`Failed: ${failedTools.map(f => `${f.name} (${f.error})`).join(', ')}`);
|
|
@@ -239,14 +208,10 @@ export class UpdateCommand {
|
|
|
239
208
|
if (removedDeselectedSkillCount > 0) {
|
|
240
209
|
this.say(`Removed: ${removedDeselectedSkillCount} skill directories (deselected workflows)`);
|
|
241
210
|
}
|
|
242
|
-
// 13. Detect new tool directories not currently configured
|
|
243
211
|
this.detectNewTools(resolvedProjectPath, configuredTools);
|
|
244
|
-
// 14. Display note about extra workflows not in profile
|
|
245
212
|
this.displayOldCoreCustomProfileNote(profile, globalConfig.workflows);
|
|
246
|
-
// 15. List affected tools
|
|
247
213
|
if (updatedTools.length > 0) {
|
|
248
|
-
|
|
249
|
-
this.say(`Tools: ${toolDisplayNames.join(', ')}`);
|
|
214
|
+
this.say(`Tools: ${updatedTools.join(', ')}`);
|
|
250
215
|
}
|
|
251
216
|
this.say();
|
|
252
217
|
this.say('Restart your agent for skills to take effect.');
|
|
@@ -274,18 +239,16 @@ export class UpdateCommand {
|
|
|
274
239
|
/**
|
|
275
240
|
* Read-only, and called only once a run has otherwise finished: a run that
|
|
276
241
|
* dies in rule preflight must not leave advice about a state it never reached.
|
|
242
|
+
* Routed through `warn` so the notice reaches `status[]` under `--json`.
|
|
277
243
|
*/
|
|
278
244
|
reportResidualCodexOutput(projectPath) {
|
|
279
245
|
if (hasResidualCodexOutput(projectPath)) {
|
|
280
|
-
this.
|
|
246
|
+
this.warn('codex_residue', RESIDUAL_CODEX_NOTICE, RESIDUAL_CODEX_FIX);
|
|
281
247
|
}
|
|
282
248
|
}
|
|
283
|
-
/**
|
|
284
|
-
* Display the update plan showing which tools need updating.
|
|
285
|
-
*/
|
|
286
249
|
displayUpdatePlan(toolsToUpdate, statusByTool, upToDate) {
|
|
287
250
|
// Every id in toolsToUpdate came from a status with needsUpdate === true,
|
|
288
|
-
// so there is no non-version reason to be
|
|
251
|
+
// so there is no non-version reason to be here.
|
|
289
252
|
const updates = toolsToUpdate.map((toolId) => {
|
|
290
253
|
const fromVersion = statusByTool.get(toolId)?.generatedByVersion ?? 'unknown';
|
|
291
254
|
return `${toolId} (${fromVersion} → ${TOSPEC_VERSION})`;
|
|
@@ -296,9 +259,6 @@ export class UpdateCommand {
|
|
|
296
259
|
this.say(`Already up to date: ${upToDateNames.join(', ')}`);
|
|
297
260
|
}
|
|
298
261
|
}
|
|
299
|
-
/**
|
|
300
|
-
* Detects new tool directories that aren't currently configured and displays a hint.
|
|
301
|
-
*/
|
|
302
262
|
detectNewTools(projectPath, configuredTools) {
|
|
303
263
|
const availableTools = getAvailableTools(projectPath);
|
|
304
264
|
const configuredSet = new Set(configuredTools);
|
|
@@ -313,8 +273,8 @@ export class UpdateCommand {
|
|
|
313
273
|
}
|
|
314
274
|
}
|
|
315
275
|
/**
|
|
316
|
-
*
|
|
317
|
-
* four-workflow core set.
|
|
276
|
+
* Suggests opting back into core when a custom profile still matches the old
|
|
277
|
+
* four-workflow core set. Custom profiles stay user-owned, never mutated.
|
|
318
278
|
*/
|
|
319
279
|
displayOldCoreCustomProfileNote(profile, workflows) {
|
|
320
280
|
if (profile !== 'custom' || !workflows) {
|
|
@@ -329,32 +289,5 @@ export class UpdateCommand {
|
|
|
329
289
|
this.say('Note: The core profile now includes issue and update. Your custom profile is preserving the old core workflow set.');
|
|
330
290
|
this.say('Run `tospec config profile core` and then `tospec update` to add them.');
|
|
331
291
|
}
|
|
332
|
-
/**
|
|
333
|
-
* Removes skill directories for workflows that are no longer selected in the
|
|
334
|
-
* active profile, from a tool's `skills/` dir (dirs named `tospec-<workflow>`).
|
|
335
|
-
* Returns the number of directories removed.
|
|
336
|
-
*/
|
|
337
|
-
async removeUnselectedSkillDirs(skillsDir, desiredWorkflows) {
|
|
338
|
-
const desiredSet = new Set(desiredWorkflows);
|
|
339
|
-
let removed = 0;
|
|
340
|
-
for (const workflow of ALL_WORKFLOWS) {
|
|
341
|
-
if (desiredSet.has(workflow))
|
|
342
|
-
continue;
|
|
343
|
-
const dirName = WORKFLOW_TO_SKILL_DIR[workflow];
|
|
344
|
-
if (!dirName)
|
|
345
|
-
continue;
|
|
346
|
-
const skillDir = path.join(skillsDir, dirName);
|
|
347
|
-
try {
|
|
348
|
-
if (fs.existsSync(skillDir)) {
|
|
349
|
-
await fs.promises.rm(skillDir, { recursive: true, force: true });
|
|
350
|
-
removed++;
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
catch {
|
|
354
|
-
// Ignore errors
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
return removed;
|
|
358
|
-
}
|
|
359
292
|
}
|
|
360
293
|
//# sourceMappingURL=update.js.map
|
package/dist/core/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/core/update.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/core/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Every path the migration acts on, resolved by the caller
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* Every path the migration acts on, resolved by the caller rather than read from
|
|
3
|
+
* the environment: that keeps this testable on any platform and keeps the one
|
|
4
|
+
* policy decision (does XDG_DATA_HOME name the live schema directory?) in one
|
|
5
|
+
* place.
|
|
6
6
|
*
|
|
7
7
|
* `schemasDir: null` means "do not migrate schemas at all": XDG_DATA_HOME names
|
|
8
|
-
* a directory the user chose and that is still honoured, so the
|
|
9
|
-
*
|
|
8
|
+
* a directory the user chose and that is still honoured, so the legacy default
|
|
9
|
+
* it superseded is left where it is.
|
|
10
10
|
*/
|
|
11
11
|
export interface MigrationPaths {
|
|
12
12
|
configDir: string;
|
|
@@ -16,8 +16,7 @@ export interface MigrationPaths {
|
|
|
16
16
|
/**
|
|
17
17
|
* How to move things. Swapped out in tests only: the copy fallback's
|
|
18
18
|
* mid-flight failure — the one that can leave a half-written destination —
|
|
19
|
-
* cannot be provoked portably through the filesystem
|
|
20
|
-
* whose handling matters most.
|
|
19
|
+
* cannot be provoked portably through the filesystem.
|
|
21
20
|
*/
|
|
22
21
|
move?: MoveOperations;
|
|
23
22
|
}
|
|
@@ -40,19 +39,18 @@ export interface MigrationResult {
|
|
|
40
39
|
* Moves user-level state from its pre-`~/.config/tospec` locations exactly once.
|
|
41
40
|
*
|
|
42
41
|
* Config file and schema directory are judged independently, so an install that
|
|
43
|
-
* already migrated one still migrates the other. Nothing is
|
|
44
|
-
* deleted:
|
|
45
|
-
*
|
|
42
|
+
* already migrated one still migrates the other. Nothing is overwritten or
|
|
43
|
+
* deleted: an occupied destination leaves the legacy copy on disk, reported for
|
|
44
|
+
* the user to delete.
|
|
46
45
|
*/
|
|
47
46
|
export declare function migrateLegacyUserState(paths: MigrationPaths): Promise<MigrationResult>;
|
|
48
47
|
/**
|
|
49
48
|
* The migration as `init` and `update` call it: resolve today's and yesterday's
|
|
50
|
-
* locations from the environment, run it, and report
|
|
51
|
-
* Failures are warnings — a migration that cannot happen must
|
|
49
|
+
* locations from the environment, run it, and report one line per outcome.
|
|
50
|
+
* Failures are warnings — a migration that cannot happen must not stop the
|
|
52
51
|
* command that triggered it.
|
|
53
52
|
*
|
|
54
|
-
* Needs no once-per-process guard: a second run finds the sources gone
|
|
55
|
-
* nothing, which is also exactly what makes it safe to call from two commands.
|
|
53
|
+
* Needs no once-per-process guard: a second run finds the sources gone.
|
|
56
54
|
*/
|
|
57
55
|
export declare function runLegacyUserStateMigration(): Promise<void>;
|
|
58
56
|
//# sourceMappingURL=user-state-migration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-state-migration.d.ts","sourceRoot":"","sources":["../../src/core/user-state-migration.ts"],"names":[],"mappings":"AAUA;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB
|
|
1
|
+
{"version":3,"file":"user-state-migration.d.ts","sourceRoot":"","sources":["../../src/core/user-state-migration.ts"],"names":[],"mappings":"AAUA;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAID,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,sEAAsE;IACtE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,6EAA6E;IAC7E,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAgB5F;AAmED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBjE"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { promises as fs } from 'node:fs';
|
|
2
2
|
import * as path from 'node:path';
|
|
3
|
-
import { moveDirectory, moveFile } from './archive.js';
|
|
3
|
+
import { moveDirectory, moveFile, MoveSourceNotRemovedError } from './archive.js';
|
|
4
4
|
import { GLOBAL_CONFIG_FILE_NAME, getGlobalConfigDir, getLegacyConfigDir, getLegacyDataDir, } from './global-config.js';
|
|
5
5
|
const REAL_MOVES = { file: moveFile, directory: moveDirectory };
|
|
6
6
|
/**
|
|
7
7
|
* Moves user-level state from its pre-`~/.config/tospec` locations exactly once.
|
|
8
8
|
*
|
|
9
9
|
* Config file and schema directory are judged independently, so an install that
|
|
10
|
-
* already migrated one still migrates the other. Nothing is
|
|
11
|
-
* deleted:
|
|
12
|
-
*
|
|
10
|
+
* already migrated one still migrates the other. Nothing is overwritten or
|
|
11
|
+
* deleted: an occupied destination leaves the legacy copy on disk, reported for
|
|
12
|
+
* the user to delete.
|
|
13
13
|
*/
|
|
14
14
|
export async function migrateLegacyUserState(paths) {
|
|
15
15
|
const result = { moved: [], leftBehind: [], failed: [] };
|
|
@@ -21,14 +21,13 @@ export async function migrateLegacyUserState(paths) {
|
|
|
21
21
|
return result;
|
|
22
22
|
}
|
|
23
23
|
async function migrateItem(result, source, destination, move) {
|
|
24
|
-
// A missing source is the common case
|
|
25
|
-
//
|
|
26
|
-
// "already migrated", and neither is worth a word to the user.
|
|
24
|
+
// A missing source is the common case, and also how a concurrent run looks to
|
|
25
|
+
// whichever process loses the race. Both mean "already migrated".
|
|
27
26
|
if (!(await exists(source)))
|
|
28
27
|
return;
|
|
29
28
|
// The same directory reached by two names: identical paths on macOS/Linux,
|
|
30
|
-
// where config never moved,
|
|
31
|
-
//
|
|
29
|
+
// where config never moved, or a junction someone created by hand. Moving
|
|
30
|
+
// either into itself would destroy the data.
|
|
32
31
|
if (await sameRealPath(source, destination))
|
|
33
32
|
return;
|
|
34
33
|
if (await exists(destination)) {
|
|
@@ -36,19 +35,25 @@ async function migrateItem(result, source, destination, move) {
|
|
|
36
35
|
return;
|
|
37
36
|
}
|
|
38
37
|
try {
|
|
39
|
-
// Inside the try: creating the destination's parent
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
// down the command that triggered it.
|
|
38
|
+
// Inside the try: creating the destination's parent can fail just as the
|
|
39
|
+
// move can, and a migration that cannot happen must not take down the
|
|
40
|
+
// command that triggered it.
|
|
43
41
|
await fs.mkdir(path.dirname(destination), { recursive: true });
|
|
44
42
|
await move(source, destination);
|
|
45
43
|
result.moved.push(destination);
|
|
46
44
|
}
|
|
47
45
|
catch (error) {
|
|
46
|
+
// The copy finished and only the source removal failed, possibly partway:
|
|
47
|
+
// the destination is the one complete copy left, so it must not be rolled
|
|
48
|
+
// back. What remains of the source is reported like any legacy leftover.
|
|
49
|
+
if (error instanceof MoveSourceNotRemovedError) {
|
|
50
|
+
result.moved.push(destination);
|
|
51
|
+
result.leftBehind.push(source);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
48
54
|
// The move helpers fall back to copy-then-remove, which is not atomic: a
|
|
49
55
|
// copy that dies partway leaves a destination that later reads as "already
|
|
50
|
-
// migrated"
|
|
51
|
-
// only two outcomes stay "migrated" and "not migrated".
|
|
56
|
+
// migrated". Remove it so the only outcomes are "migrated" and "not".
|
|
52
57
|
await fs.rm(destination, { recursive: true, force: true }).catch(() => { });
|
|
53
58
|
result.failed.push({
|
|
54
59
|
source,
|
|
@@ -76,17 +81,16 @@ async function sameRealPath(source, destination) {
|
|
|
76
81
|
}
|
|
77
82
|
/**
|
|
78
83
|
* The migration as `init` and `update` call it: resolve today's and yesterday's
|
|
79
|
-
* locations from the environment, run it, and report
|
|
80
|
-
* Failures are warnings — a migration that cannot happen must
|
|
84
|
+
* locations from the environment, run it, and report one line per outcome.
|
|
85
|
+
* Failures are warnings — a migration that cannot happen must not stop the
|
|
81
86
|
* command that triggered it.
|
|
82
87
|
*
|
|
83
|
-
* Needs no once-per-process guard: a second run finds the sources gone
|
|
84
|
-
* nothing, which is also exactly what makes it safe to call from two commands.
|
|
88
|
+
* Needs no once-per-process guard: a second run finds the sources gone.
|
|
85
89
|
*/
|
|
86
90
|
export async function runLegacyUserStateMigration() {
|
|
87
91
|
const configDir = getGlobalConfigDir();
|
|
88
|
-
// XDG_DATA_HOME still names a live schema override, so when
|
|
89
|
-
//
|
|
92
|
+
// XDG_DATA_HOME still names a live schema override, so when set there is no
|
|
93
|
+
// legacy schema directory to reclaim.
|
|
90
94
|
const schemasDir = process.env.XDG_DATA_HOME ? null : path.join(configDir, 'schemas');
|
|
91
95
|
const result = await migrateLegacyUserState({
|
|
92
96
|
configDir,
|
|
@@ -94,11 +98,14 @@ export async function runLegacyUserStateMigration() {
|
|
|
94
98
|
schemasDir,
|
|
95
99
|
legacySchemasDir: path.join(getLegacyDataDir(), 'schemas'),
|
|
96
100
|
});
|
|
101
|
+
// Stderr, not stdout: init and update call this under `--json` too, and a
|
|
102
|
+
// leftBehind line repeats on every run once both copies exist, so on stdout
|
|
103
|
+
// it corrupted the one JSON document those commands promise.
|
|
97
104
|
for (const destination of result.moved) {
|
|
98
|
-
console.
|
|
105
|
+
console.error(`Moved tospec user state to ${destination}`);
|
|
99
106
|
}
|
|
100
107
|
for (const source of result.leftBehind) {
|
|
101
|
-
console.
|
|
108
|
+
console.error(`Left ${source} in place — ${configDir} already has a copy.`);
|
|
102
109
|
}
|
|
103
110
|
for (const failure of result.failed) {
|
|
104
111
|
console.error(`Warning: could not move ${failure.source} — ${failure.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-state-migration.js","sourceRoot":"","sources":["../../src/core/user-state-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"user-state-migration.js","sourceRoot":"","sources":["../../src/core/user-state-migration.ts"],"names":[],"mappings":"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"}
|