silvermoon 0.3.0-rc.2 → 0.4.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/README.md +28 -28
- package/README.zh-CN.md +26 -24
- package/dist/bin/build-npm-tarball.d.ts +28 -0
- package/dist/bin/build-npm-tarball.d.ts.map +1 -0
- package/dist/bin/build-npm-tarball.js +200 -0
- package/dist/bin/build-npm-tarball.js.map +1 -0
- package/dist/bin/check-pack.d.ts +2 -0
- package/dist/bin/check-pack.d.ts.map +1 -0
- package/dist/bin/check-pack.js +421 -0
- package/dist/bin/check-pack.js.map +1 -0
- package/dist/bin/ci-package-risk.d.ts +19 -0
- package/dist/bin/ci-package-risk.d.ts.map +1 -0
- package/dist/bin/ci-package-risk.js +78 -0
- package/dist/bin/ci-package-risk.js.map +1 -0
- package/dist/bin/generate-npm-readme.d.ts +7 -0
- package/dist/bin/generate-npm-readme.d.ts.map +1 -0
- package/dist/bin/generate-npm-readme.js +232 -0
- package/dist/bin/generate-npm-readme.js.map +1 -0
- package/dist/bin/migrate-v1-to-v2.d.ts +3 -0
- package/dist/bin/migrate-v1-to-v2.d.ts.map +1 -0
- package/dist/bin/migrate-v1-to-v2.js +25 -0
- package/dist/bin/migrate-v1-to-v2.js.map +1 -0
- package/dist/bin/prepare-npm-release.d.ts +46 -0
- package/dist/bin/prepare-npm-release.d.ts.map +1 -0
- package/dist/bin/prepare-npm-release.js +210 -0
- package/dist/bin/prepare-npm-release.js.map +1 -0
- package/dist/bin/pure-check.d.ts +15 -0
- package/dist/bin/pure-check.d.ts.map +1 -0
- package/dist/bin/pure-check.js +448 -0
- package/dist/bin/pure-check.js.map +1 -0
- package/dist/bin/run-checks.d.ts +34 -0
- package/dist/bin/run-checks.d.ts.map +1 -0
- package/dist/bin/run-checks.js +149 -0
- package/dist/bin/run-checks.js.map +1 -0
- package/dist/bin/silvermoon.d.ts +76 -0
- package/dist/bin/silvermoon.d.ts.map +1 -0
- package/dist/bin/silvermoon.js +401 -0
- package/dist/bin/silvermoon.js.map +1 -0
- package/dist/bin/sync-skills.d.ts +2 -0
- package/dist/bin/sync-skills.d.ts.map +1 -0
- package/dist/bin/sync-skills.js +78 -0
- package/dist/bin/sync-skills.js.map +1 -0
- package/dist/bin/verify-npm-release.d.ts +55 -0
- package/dist/bin/verify-npm-release.d.ts.map +1 -0
- package/dist/bin/verify-npm-release.js +418 -0
- package/dist/bin/verify-npm-release.js.map +1 -0
- package/dist/src/business/agent-copilot.d.ts +82 -0
- package/dist/src/business/agent-copilot.d.ts.map +1 -0
- package/dist/src/business/agent-copilot.js +330 -0
- package/dist/src/business/agent-copilot.js.map +1 -0
- package/dist/src/business/agent-project-registry.d.ts +22 -0
- package/dist/src/business/agent-project-registry.d.ts.map +1 -0
- package/dist/src/business/agent-project-registry.js +239 -0
- package/dist/src/business/agent-project-registry.js.map +1 -0
- package/dist/src/business/agent-project-runtime.d.ts +37 -0
- package/dist/src/business/agent-project-runtime.d.ts.map +1 -0
- package/dist/src/business/agent-project-runtime.js +198 -0
- package/dist/src/business/agent-project-runtime.js.map +1 -0
- package/dist/src/business/append-event-history.d.ts +21 -0
- package/dist/src/business/append-event-history.d.ts.map +1 -0
- package/dist/src/business/append-event-history.js +138 -0
- package/dist/src/business/append-event-history.js.map +1 -0
- package/dist/src/business/append-event.d.ts +140 -0
- package/dist/src/business/append-event.d.ts.map +1 -0
- package/dist/src/business/append-event.js +292 -0
- package/dist/src/business/append-event.js.map +1 -0
- package/dist/src/business/check-repository.d.ts +109 -0
- package/dist/src/business/check-repository.d.ts.map +1 -0
- package/dist/src/business/check-repository.js +379 -0
- package/dist/src/business/check-repository.js.map +1 -0
- package/dist/src/business/create-idea.d.ts +100 -0
- package/dist/src/business/create-idea.d.ts.map +1 -0
- package/dist/src/business/create-idea.js +224 -0
- package/dist/src/business/create-idea.js.map +1 -0
- package/dist/src/business/event-command.d.ts +111 -0
- package/dist/src/business/event-command.d.ts.map +1 -0
- package/dist/src/business/event-command.js +239 -0
- package/dist/src/business/event-command.js.map +1 -0
- package/dist/src/business/index.d.ts +7 -0
- package/dist/src/business/index.d.ts.map +1 -0
- package/dist/src/business/index.js +7 -0
- package/dist/src/business/index.js.map +1 -0
- package/dist/src/business/list-ideas.d.ts +97 -0
- package/dist/src/business/list-ideas.d.ts.map +1 -0
- package/dist/src/business/list-ideas.js +177 -0
- package/dist/src/business/list-ideas.js.map +1 -0
- package/dist/src/business/migrate-v1-to-v2.d.ts +23 -0
- package/dist/src/business/migrate-v1-to-v2.d.ts.map +1 -0
- package/dist/src/business/migrate-v1-to-v2.js +152 -0
- package/dist/src/business/migrate-v1-to-v2.js.map +1 -0
- package/dist/src/business/replay-events.d.ts +20 -0
- package/dist/src/business/replay-events.d.ts.map +1 -0
- package/dist/src/business/replay-events.js +27 -0
- package/dist/src/business/replay-events.js.map +1 -0
- package/dist/src/business/schema-migration.d.ts +19 -0
- package/dist/src/business/schema-migration.d.ts.map +1 -0
- package/dist/src/business/schema-migration.js +23 -0
- package/dist/src/business/schema-migration.js.map +1 -0
- package/dist/src/business/shared/assess-idea-creation-readiness.d.ts +3 -0
- package/dist/src/business/shared/assess-idea-creation-readiness.d.ts.map +1 -0
- package/dist/src/business/shared/assess-idea-creation-readiness.js +9 -0
- package/dist/src/business/shared/assess-idea-creation-readiness.js.map +1 -0
- package/dist/src/business/shared/assess-repository-readiness-with.d.ts +18 -0
- package/dist/src/business/shared/assess-repository-readiness-with.d.ts.map +1 -0
- package/dist/src/business/shared/assess-repository-readiness-with.js +125 -0
- package/dist/src/business/shared/assess-repository-readiness-with.js.map +1 -0
- package/dist/src/business/shared/assess-repository-readiness.d.ts +3 -0
- package/dist/src/business/shared/assess-repository-readiness.d.ts.map +1 -0
- package/dist/src/business/shared/assess-repository-readiness.js +6 -0
- package/dist/src/business/shared/assess-repository-readiness.js.map +1 -0
- package/dist/src/business/shared/business-types.d.ts +151 -0
- package/dist/src/business/shared/business-types.d.ts.map +1 -0
- package/dist/src/business/shared/business-types.js +83 -0
- package/dist/src/business/shared/business-types.js.map +1 -0
- package/dist/src/business/shared/evaluate-local-readiness.d.ts +9 -0
- package/dist/src/business/shared/evaluate-local-readiness.d.ts.map +1 -0
- package/dist/src/business/shared/evaluate-local-readiness.js +97 -0
- package/dist/src/business/shared/evaluate-local-readiness.js.map +1 -0
- package/dist/src/business/shared/evaluate-primary-relation.d.ts +12 -0
- package/dist/src/business/shared/evaluate-primary-relation.d.ts.map +1 -0
- package/dist/src/business/shared/evaluate-primary-relation.js +40 -0
- package/dist/src/business/shared/evaluate-primary-relation.js.map +1 -0
- package/dist/src/business/shared/idea-layout.d.ts +55 -0
- package/dist/src/business/shared/idea-layout.d.ts.map +1 -0
- package/dist/src/business/shared/idea-layout.js +434 -0
- package/dist/src/business/shared/idea-layout.js.map +1 -0
- package/dist/src/business/shared/index.d.ts +18 -0
- package/dist/src/business/shared/index.d.ts.map +1 -0
- package/dist/src/business/shared/index.js +17 -0
- package/dist/src/business/shared/index.js.map +1 -0
- package/dist/src/business/shared/inspect-candidate.d.ts +5 -0
- package/dist/src/business/shared/inspect-candidate.d.ts.map +1 -0
- package/dist/src/business/shared/inspect-candidate.js +57 -0
- package/dist/src/business/shared/inspect-candidate.js.map +1 -0
- package/dist/src/business/shared/metadata-failure-observation.d.ts +21 -0
- package/dist/src/business/shared/metadata-failure-observation.d.ts.map +1 -0
- package/dist/src/business/shared/metadata-failure-observation.js +30 -0
- package/dist/src/business/shared/metadata-failure-observation.js.map +1 -0
- package/dist/src/business/shared/observe-device.d.ts +150 -0
- package/dist/src/business/shared/observe-device.d.ts.map +1 -0
- package/dist/src/business/shared/observe-device.js +71 -0
- package/dist/src/business/shared/observe-device.js.map +1 -0
- package/dist/src/business/shared/observe-idea.d.ts +14 -0
- package/dist/src/business/shared/observe-idea.d.ts.map +1 -0
- package/dist/src/business/shared/observe-idea.js +14 -0
- package/dist/src/business/shared/observe-idea.js.map +1 -0
- package/dist/src/business/shared/observe-project.d.ts +39 -0
- package/dist/src/business/shared/observe-project.d.ts.map +1 -0
- package/dist/src/business/shared/observe-project.js +11 -0
- package/dist/src/business/shared/observe-project.js.map +1 -0
- package/dist/src/business/shared/observe-snapshot.d.ts +35 -0
- package/dist/src/business/shared/observe-snapshot.d.ts.map +1 -0
- package/dist/src/business/shared/observe-snapshot.js +518 -0
- package/dist/src/business/shared/observe-snapshot.js.map +1 -0
- package/dist/src/business/shared/read-idea-inventory-item.d.ts +13 -0
- package/dist/src/business/shared/read-idea-inventory-item.d.ts.map +1 -0
- package/dist/src/business/shared/read-idea-inventory-item.js +18 -0
- package/dist/src/business/shared/read-idea-inventory-item.js.map +1 -0
- package/dist/src/business/shared/resolve-idea.d.ts +7 -0
- package/dist/src/business/shared/resolve-idea.d.ts.map +1 -0
- package/dist/src/business/shared/resolve-idea.js +14 -0
- package/dist/src/business/shared/resolve-idea.js.map +1 -0
- package/dist/src/business/shared/with-observation-language.d.ts +3 -0
- package/dist/src/business/shared/with-observation-language.d.ts.map +1 -0
- package/dist/src/business/shared/with-observation-language.js +20 -0
- package/dist/src/business/shared/with-observation-language.js.map +1 -0
- package/dist/src/business/whats-next.d.ts +94 -0
- package/dist/src/business/whats-next.d.ts.map +1 -0
- package/dist/src/business/whats-next.js +208 -0
- package/dist/src/business/whats-next.js.map +1 -0
- package/dist/src/foundation/command-message/index.d.ts +3 -0
- package/dist/src/foundation/command-message/index.d.ts.map +1 -0
- package/dist/src/foundation/command-message/index.js +3 -0
- package/dist/src/foundation/command-message/index.js.map +1 -0
- package/dist/src/foundation/command-message/observation.d.ts +223 -0
- package/dist/src/foundation/command-message/observation.d.ts.map +1 -0
- package/dist/src/foundation/command-message/observation.js +364 -0
- package/dist/src/foundation/command-message/observation.js.map +1 -0
- package/dist/src/foundation/command-message/runtime.d.ts +214 -0
- package/dist/src/foundation/command-message/runtime.d.ts.map +1 -0
- package/dist/src/foundation/command-message/runtime.js +215 -0
- package/dist/src/foundation/command-message/runtime.js.map +1 -0
- package/dist/src/foundation/coordinates/index.d.ts +3 -0
- package/dist/src/foundation/coordinates/index.d.ts.map +1 -0
- package/dist/src/foundation/coordinates/index.js +3 -0
- package/dist/src/foundation/coordinates/index.js.map +1 -0
- package/dist/src/foundation/coordinates/layout.d.ts +27 -0
- package/dist/src/foundation/coordinates/layout.d.ts.map +1 -0
- package/dist/src/foundation/coordinates/layout.js +41 -0
- package/dist/src/foundation/coordinates/layout.js.map +1 -0
- package/dist/src/foundation/coordinates/repository.d.ts +16 -0
- package/dist/src/foundation/coordinates/repository.d.ts.map +1 -0
- package/dist/src/foundation/coordinates/repository.js +75 -0
- package/dist/src/foundation/coordinates/repository.js.map +1 -0
- package/dist/src/foundation/device-config/index.d.ts +2 -0
- package/dist/src/foundation/device-config/index.d.ts.map +1 -0
- package/dist/src/foundation/device-config/index.js +2 -0
- package/dist/src/foundation/device-config/index.js.map +1 -0
- package/dist/src/foundation/device-config/user-config.d.ts +19 -0
- package/dist/src/foundation/device-config/user-config.d.ts.map +1 -0
- package/dist/src/foundation/device-config/user-config.js +94 -0
- package/dist/src/foundation/device-config/user-config.js.map +1 -0
- package/dist/src/foundation/event-codec/grammar.d.ts +172 -0
- package/dist/src/foundation/event-codec/grammar.d.ts.map +1 -0
- package/dist/src/foundation/event-codec/grammar.js +383 -0
- package/dist/src/foundation/event-codec/grammar.js.map +1 -0
- package/dist/src/foundation/event-codec/index.d.ts +3 -0
- package/dist/src/foundation/event-codec/index.d.ts.map +1 -0
- package/dist/src/foundation/event-codec/index.js +2 -0
- package/dist/src/foundation/event-codec/index.js.map +1 -0
- package/dist/src/foundation/event-cursor/cursor.d.ts +40 -0
- package/dist/src/foundation/event-cursor/cursor.d.ts.map +1 -0
- package/dist/src/foundation/event-cursor/cursor.js +42 -0
- package/dist/src/foundation/event-cursor/cursor.js.map +1 -0
- package/dist/src/foundation/event-cursor/index.d.ts +2 -0
- package/dist/src/foundation/event-cursor/index.d.ts.map +1 -0
- package/dist/src/foundation/event-cursor/index.js +2 -0
- package/dist/src/foundation/event-cursor/index.js.map +1 -0
- package/dist/src/foundation/event-history/digest.d.ts +2 -0
- package/dist/src/foundation/event-history/digest.d.ts.map +1 -0
- package/dist/src/foundation/event-history/digest.js +2 -0
- package/dist/src/foundation/event-history/digest.js.map +1 -0
- package/dist/src/foundation/event-history/history.d.ts +86 -0
- package/dist/src/foundation/event-history/history.d.ts.map +1 -0
- package/dist/src/foundation/event-history/history.js +481 -0
- package/dist/src/foundation/event-history/history.js.map +1 -0
- package/dist/src/foundation/event-history/index.d.ts +3 -0
- package/dist/src/foundation/event-history/index.d.ts.map +1 -0
- package/dist/src/foundation/event-history/index.js +3 -0
- package/dist/src/foundation/event-history/index.js.map +1 -0
- package/dist/src/foundation/event-reducer/index.d.ts +2 -0
- package/dist/src/foundation/event-reducer/index.d.ts.map +1 -0
- package/dist/src/foundation/event-reducer/index.js +2 -0
- package/dist/src/foundation/event-reducer/index.js.map +1 -0
- package/dist/src/foundation/event-reducer/policy.d.ts +69 -0
- package/dist/src/foundation/event-reducer/policy.d.ts.map +1 -0
- package/dist/src/foundation/event-reducer/policy.js +138 -0
- package/dist/src/foundation/event-reducer/policy.js.map +1 -0
- package/dist/src/foundation/event-store/digest.d.ts +11 -0
- package/dist/src/foundation/event-store/digest.d.ts.map +1 -0
- package/dist/src/foundation/event-store/digest.js +38 -0
- package/dist/src/foundation/event-store/digest.js.map +1 -0
- package/dist/src/foundation/event-store/index.d.ts +3 -0
- package/dist/src/foundation/event-store/index.d.ts.map +1 -0
- package/dist/src/foundation/event-store/index.js +3 -0
- package/dist/src/foundation/event-store/index.js.map +1 -0
- package/dist/src/foundation/event-store/storage.d.ts +50 -0
- package/dist/src/foundation/event-store/storage.d.ts.map +1 -0
- package/dist/src/foundation/event-store/storage.js +109 -0
- package/dist/src/foundation/event-store/storage.js.map +1 -0
- package/dist/src/foundation/git/derived-cache.d.ts +5 -0
- package/dist/src/foundation/git/derived-cache.d.ts.map +1 -0
- package/dist/src/foundation/git/derived-cache.js +117 -0
- package/dist/src/foundation/git/derived-cache.js.map +1 -0
- package/dist/src/foundation/git/git.d.ts +100 -0
- package/dist/src/foundation/git/git.d.ts.map +1 -0
- package/dist/src/foundation/git/git.js +677 -0
- package/dist/src/foundation/git/git.js.map +1 -0
- package/dist/src/foundation/git/index.d.ts +3 -0
- package/dist/src/foundation/git/index.d.ts.map +1 -0
- package/dist/src/foundation/git/index.js +3 -0
- package/dist/src/foundation/git/index.js.map +1 -0
- package/dist/src/foundation/guidance/guidance.d.ts +36 -0
- package/dist/src/foundation/guidance/guidance.d.ts.map +1 -0
- package/dist/src/foundation/guidance/guidance.js +198 -0
- package/dist/src/foundation/guidance/guidance.js.map +1 -0
- package/dist/src/foundation/guidance/index.d.ts +3 -0
- package/dist/src/foundation/guidance/index.d.ts.map +1 -0
- package/dist/src/foundation/guidance/index.js +3 -0
- package/dist/src/foundation/guidance/index.js.map +1 -0
- package/dist/src/foundation/guidance/rules.d.ts +36 -0
- package/dist/src/foundation/guidance/rules.d.ts.map +1 -0
- package/dist/src/foundation/guidance/rules.js +65 -0
- package/dist/src/foundation/guidance/rules.js.map +1 -0
- package/dist/src/foundation/idea-model/index.d.ts +3 -0
- package/dist/src/foundation/idea-model/index.d.ts.map +1 -0
- package/dist/src/foundation/idea-model/index.js +3 -0
- package/dist/src/foundation/idea-model/index.js.map +1 -0
- package/dist/src/foundation/idea-model/status.d.ts +28 -0
- package/dist/src/foundation/idea-model/status.d.ts.map +1 -0
- package/dist/src/foundation/idea-model/status.js +192 -0
- package/dist/src/foundation/idea-model/status.js.map +1 -0
- package/dist/src/foundation/idea-model/ulid.d.ts +6 -0
- package/dist/src/foundation/idea-model/ulid.d.ts.map +1 -0
- package/dist/src/foundation/idea-model/ulid.js +16 -0
- package/dist/src/foundation/idea-model/ulid.js.map +1 -0
- package/dist/src/foundation/idea-query/index.d.ts +3 -0
- package/dist/src/foundation/idea-query/index.d.ts.map +1 -0
- package/dist/src/foundation/idea-query/index.js +3 -0
- package/dist/src/foundation/idea-query/index.js.map +1 -0
- package/dist/src/foundation/idea-query/query.d.ts +13 -0
- package/dist/src/foundation/idea-query/query.d.ts.map +1 -0
- package/dist/src/foundation/idea-query/query.js +17 -0
- package/dist/src/foundation/idea-query/query.js.map +1 -0
- package/dist/src/foundation/idea-query/rules.d.ts +55 -0
- package/dist/src/foundation/idea-query/rules.d.ts.map +1 -0
- package/dist/src/foundation/idea-query/rules.js +223 -0
- package/dist/src/foundation/idea-query/rules.js.map +1 -0
- package/dist/src/foundation/idea-template/index.d.ts +2 -0
- package/dist/src/foundation/idea-template/index.d.ts.map +1 -0
- package/dist/src/foundation/idea-template/index.js +2 -0
- package/dist/src/foundation/idea-template/index.js.map +1 -0
- package/dist/src/foundation/idea-template/templates.d.ts +21 -0
- package/dist/src/foundation/idea-template/templates.d.ts.map +1 -0
- package/dist/src/foundation/idea-template/templates.js +265 -0
- package/dist/src/foundation/idea-template/templates.js.map +1 -0
- package/dist/src/foundation/installation/device-readiness.d.ts +94 -0
- package/dist/src/foundation/installation/device-readiness.d.ts.map +1 -0
- package/dist/src/foundation/installation/device-readiness.js +274 -0
- package/dist/src/foundation/installation/device-readiness.js.map +1 -0
- package/dist/src/foundation/installation/index.d.ts +4 -0
- package/dist/src/foundation/installation/index.d.ts.map +1 -0
- package/dist/src/foundation/installation/index.js +4 -0
- package/dist/src/foundation/installation/index.js.map +1 -0
- package/dist/src/foundation/installation/installation.d.ts +25 -0
- package/dist/src/foundation/installation/installation.d.ts.map +1 -0
- package/dist/src/foundation/installation/installation.js +125 -0
- package/dist/src/foundation/installation/installation.js.map +1 -0
- package/dist/src/foundation/installation/rules.d.ts +12 -0
- package/dist/src/foundation/installation/rules.d.ts.map +1 -0
- package/dist/src/foundation/installation/rules.js +63 -0
- package/dist/src/foundation/installation/rules.js.map +1 -0
- package/dist/src/foundation/language/index.d.ts +3 -0
- package/dist/src/foundation/language/index.d.ts.map +1 -0
- package/dist/src/foundation/language/index.js +2 -0
- package/dist/src/foundation/language/index.js.map +1 -0
- package/dist/src/foundation/language/language.d.ts +36 -0
- package/dist/src/foundation/language/language.d.ts.map +1 -0
- package/dist/src/foundation/language/language.js +94 -0
- package/dist/src/foundation/language/language.js.map +1 -0
- package/dist/src/foundation/owned-write/index.d.ts +2 -0
- package/dist/src/foundation/owned-write/index.d.ts.map +1 -0
- package/dist/src/foundation/owned-write/index.js +2 -0
- package/dist/src/foundation/owned-write/index.js.map +1 -0
- package/dist/src/foundation/owned-write/writer.d.ts +86 -0
- package/dist/src/foundation/owned-write/writer.d.ts.map +1 -0
- package/dist/src/foundation/owned-write/writer.js +244 -0
- package/dist/src/foundation/owned-write/writer.js.map +1 -0
- package/dist/src/foundation/package-resource/index.d.ts +2 -0
- package/dist/src/foundation/package-resource/index.d.ts.map +1 -0
- package/dist/src/foundation/package-resource/index.js +2 -0
- package/dist/src/foundation/package-resource/index.js.map +1 -0
- package/dist/src/foundation/package-resource/npm-tarball.d.ts +15 -0
- package/dist/src/foundation/package-resource/npm-tarball.d.ts.map +1 -0
- package/dist/src/foundation/package-resource/npm-tarball.js +124 -0
- package/dist/src/foundation/package-resource/npm-tarball.js.map +1 -0
- package/dist/src/foundation/process/index.d.ts +3 -0
- package/dist/src/foundation/process/index.d.ts.map +1 -0
- package/dist/src/foundation/process/index.js +3 -0
- package/dist/src/foundation/process/index.js.map +1 -0
- package/dist/src/foundation/process/npm-command.d.ts +9 -0
- package/dist/src/foundation/process/npm-command.d.ts.map +1 -0
- package/dist/src/foundation/process/npm-command.js +11 -0
- package/dist/src/foundation/process/npm-command.js.map +1 -0
- package/dist/src/foundation/process/subprocess.d.ts +8 -0
- package/dist/src/foundation/process/subprocess.d.ts.map +1 -0
- package/dist/src/foundation/process/subprocess.js +12 -0
- package/dist/src/foundation/process/subprocess.js.map +1 -0
- package/dist/src/foundation/project-config/config.d.ts +30 -0
- package/dist/src/foundation/project-config/config.d.ts.map +1 -0
- package/dist/src/foundation/project-config/config.js +112 -0
- package/dist/src/foundation/project-config/config.js.map +1 -0
- package/dist/src/foundation/project-config/index.d.ts +3 -0
- package/dist/src/foundation/project-config/index.d.ts.map +1 -0
- package/dist/src/foundation/project-config/index.js +3 -0
- package/dist/src/foundation/project-config/index.js.map +1 -0
- package/dist/src/foundation/project-config/rules.d.ts +32 -0
- package/dist/src/foundation/project-config/rules.d.ts.map +1 -0
- package/dist/src/foundation/project-config/rules.js +119 -0
- package/dist/src/foundation/project-config/rules.js.map +1 -0
- package/dist/src/foundation/projection-cache/index.d.ts +2 -0
- package/dist/src/foundation/projection-cache/index.d.ts.map +1 -0
- package/dist/src/foundation/projection-cache/index.js +2 -0
- package/dist/src/foundation/projection-cache/index.js.map +1 -0
- package/dist/src/foundation/projection-cache/projection.d.ts +36 -0
- package/dist/src/foundation/projection-cache/projection.d.ts.map +1 -0
- package/dist/src/foundation/projection-cache/projection.js +105 -0
- package/dist/src/foundation/projection-cache/projection.js.map +1 -0
- package/dist/src/foundation/renderer/index.d.ts +3 -0
- package/dist/src/foundation/renderer/index.d.ts.map +1 -0
- package/dist/src/foundation/renderer/index.js +3 -0
- package/dist/src/foundation/renderer/index.js.map +1 -0
- package/dist/src/foundation/renderer/markdown.d.ts +7 -0
- package/dist/src/foundation/renderer/markdown.d.ts.map +1 -0
- package/dist/src/foundation/renderer/markdown.js +355 -0
- package/dist/src/foundation/renderer/markdown.js.map +1 -0
- package/dist/src/foundation/renderer/render.d.ts +6 -0
- package/dist/src/foundation/renderer/render.d.ts.map +1 -0
- package/dist/src/foundation/renderer/render.js +23 -0
- package/dist/src/foundation/renderer/render.js.map +1 -0
- package/dist/src/foundation/report/dialogue.d.ts +37 -0
- package/dist/src/foundation/report/dialogue.d.ts.map +1 -0
- package/dist/src/foundation/report/dialogue.js +59 -0
- package/dist/src/foundation/report/dialogue.js.map +1 -0
- package/dist/src/foundation/report/index.d.ts +6 -0
- package/dist/src/foundation/report/index.d.ts.map +1 -0
- package/dist/src/foundation/report/index.js +6 -0
- package/dist/src/foundation/report/index.js.map +1 -0
- package/dist/src/foundation/report/instructions.d.ts +77 -0
- package/dist/src/foundation/report/instructions.d.ts.map +1 -0
- package/dist/src/foundation/report/instructions.js +374 -0
- package/dist/src/foundation/report/instructions.js.map +1 -0
- package/dist/src/foundation/report/observation.d.ts +31 -0
- package/dist/src/foundation/report/observation.d.ts.map +1 -0
- package/dist/src/foundation/report/observation.js +83 -0
- package/dist/src/foundation/report/observation.js.map +1 -0
- package/dist/src/foundation/report/projection.d.ts +7 -0
- package/dist/src/foundation/report/projection.d.ts.map +1 -0
- package/dist/src/foundation/report/projection.js +199 -0
- package/dist/src/foundation/report/projection.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/contract.d.ts +148 -0
- package/dist/src/foundation/report/templates/whats-next/contract.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/contract.js +34 -0
- package/dist/src/foundation/report/templates/whats-next/contract.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/content-language.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/content-language.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/content-language.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/content-language.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/detached-head.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/detached-head.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/detached-head.js +10 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/detached-head.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/event-history-invalid.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/event-history-invalid.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/event-history-invalid.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/event-history-invalid.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/head-missing.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/head-missing.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/head-missing.js +8 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/head-missing.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/idea-metadata-unavailable.d.ts +12 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/idea-metadata-unavailable.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/idea-metadata-unavailable.js +8 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/idea-metadata-unavailable.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/idea-not-found.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/idea-not-found.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/idea-not-found.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/idea-not-found.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/index.d.ts +63 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/index.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/index.js +63 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/index.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-deploying.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-deploying.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-deploying.js +13 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-deploying.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-implementing.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-implementing.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-implementing.js +13 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-implementing.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-inactive.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-inactive.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-inactive.js +11 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-inactive.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-preparing.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-preparing.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-preparing.js +13 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/lifecycle-preparing.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/navigation-ready.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/navigation-ready.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/navigation-ready.js +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/navigation-ready.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/phase-guidance-invalid.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/phase-guidance-invalid.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/phase-guidance-invalid.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/phase-guidance-invalid.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/preparation-seed.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/preparation-seed.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/preparation-seed.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/preparation-seed.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-ahead.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-ahead.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-ahead.js +8 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-ahead.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-ancestry-inspection-failed.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-ancestry-inspection-failed.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-ancestry-inspection-failed.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-ancestry-inspection-failed.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-behind.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-behind.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-behind.js +8 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-behind.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-diverged.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-diverged.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-diverged.js +8 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-diverged.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-fetch-failed.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-fetch-failed.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-fetch-failed.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-fetch-failed.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-history-incomplete.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-history-incomplete.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-history-incomplete.js +8 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-history-incomplete.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-upstream-mismatch.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-upstream-mismatch.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-upstream-mismatch.js +11 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/primary-upstream-mismatch.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/project-recheck.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/project-recheck.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/project-recheck.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/project-recheck.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/repository-recheck.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/repository-recheck.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/repository-recheck.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/repository-recheck.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/review-presentation-instruction.d.ts +8 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/review-presentation-instruction.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/review-presentation-instruction.js +10 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/review-presentation-instruction.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/review-presentation.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/review-presentation.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/review-presentation.js +39 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/review-presentation.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-changes-step.d.ts +8 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-changes-step.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-changes-step.js +10 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-changes-step.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-conflict-step.d.ts +8 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-conflict-step.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-conflict-step.js +10 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-conflict-step.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-conflicts.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-conflicts.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-conflicts.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-conflicts.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-inspection-failed.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-inspection-failed.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-inspection-failed.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-inspection-failed.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-summary.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-summary.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-summary.js +12 -0
- package/dist/src/foundation/report/templates/whats-next/en-US/worktree-summary.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/index.d.ts +5 -0
- package/dist/src/foundation/report/templates/whats-next/index.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/index.js +4 -0
- package/dist/src/foundation/report/templates/whats-next/index.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/registry.d.ts +4 -0
- package/dist/src/foundation/report/templates/whats-next/registry.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/registry.js +14 -0
- package/dist/src/foundation/report/templates/whats-next/registry.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/renderers.d.ts +63 -0
- package/dist/src/foundation/report/templates/whats-next/renderers.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/renderers.js +176 -0
- package/dist/src/foundation/report/templates/whats-next/renderers.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/content-language.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/content-language.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/content-language.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/content-language.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/detached-head.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/detached-head.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/detached-head.js +10 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/detached-head.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/event-history-invalid.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/event-history-invalid.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/event-history-invalid.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/event-history-invalid.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/head-missing.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/head-missing.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/head-missing.js +8 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/head-missing.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/idea-metadata-unavailable.d.ts +12 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/idea-metadata-unavailable.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/idea-metadata-unavailable.js +8 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/idea-metadata-unavailable.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/idea-not-found.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/idea-not-found.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/idea-not-found.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/idea-not-found.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/index.d.ts +63 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/index.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/index.js +63 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/index.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-deploying.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-deploying.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-deploying.js +13 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-deploying.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-implementing.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-implementing.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-implementing.js +13 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-implementing.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-inactive.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-inactive.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-inactive.js +11 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-inactive.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-preparing.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-preparing.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-preparing.js +13 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/lifecycle-preparing.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/navigation-ready.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/navigation-ready.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/navigation-ready.js +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/navigation-ready.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/phase-guidance-invalid.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/phase-guidance-invalid.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/phase-guidance-invalid.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/phase-guidance-invalid.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/preparation-seed.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/preparation-seed.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/preparation-seed.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/preparation-seed.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-ahead.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-ahead.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-ahead.js +8 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-ahead.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-ancestry-inspection-failed.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-ancestry-inspection-failed.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-ancestry-inspection-failed.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-ancestry-inspection-failed.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-behind.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-behind.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-behind.js +8 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-behind.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-diverged.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-diverged.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-diverged.js +8 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-diverged.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-fetch-failed.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-fetch-failed.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-fetch-failed.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-fetch-failed.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-history-incomplete.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-history-incomplete.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-history-incomplete.js +8 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-history-incomplete.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-upstream-mismatch.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-upstream-mismatch.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-upstream-mismatch.js +11 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/primary-upstream-mismatch.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/project-recheck.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/project-recheck.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/project-recheck.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/project-recheck.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/repository-recheck.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/repository-recheck.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/repository-recheck.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/repository-recheck.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/review-presentation-instruction.d.ts +8 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/review-presentation-instruction.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/review-presentation-instruction.js +10 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/review-presentation-instruction.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/review-presentation.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/review-presentation.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/review-presentation.js +39 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/review-presentation.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-changes-step.d.ts +8 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-changes-step.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-changes-step.js +10 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-changes-step.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-conflict-step.d.ts +8 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-conflict-step.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-conflict-step.js +10 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-conflict-step.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-conflicts.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-conflicts.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-conflicts.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-conflicts.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-inspection-failed.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-inspection-failed.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-inspection-failed.js +5 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-inspection-failed.js.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-summary.d.ts +9 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-summary.d.ts.map +1 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-summary.js +12 -0
- package/dist/src/foundation/report/templates/whats-next/zh-CN/worktree-summary.js.map +1 -0
- package/dist/src/foundation/report/types.d.ts +321 -0
- package/dist/src/foundation/report/types.d.ts.map +1 -0
- package/dist/src/foundation/report/types.js +2 -0
- package/dist/src/foundation/report/types.js.map +1 -0
- package/dist/src/foundation/scaffold-plan/index.d.ts +2 -0
- package/dist/src/foundation/scaffold-plan/index.d.ts.map +1 -0
- package/dist/src/foundation/scaffold-plan/index.js +2 -0
- package/dist/src/foundation/scaffold-plan/index.js.map +1 -0
- package/dist/src/foundation/scaffold-plan/scaffold-plan.d.ts +11 -0
- package/dist/src/foundation/scaffold-plan/scaffold-plan.d.ts.map +1 -0
- package/dist/src/foundation/scaffold-plan/scaffold-plan.js +36 -0
- package/dist/src/foundation/scaffold-plan/scaffold-plan.js.map +1 -0
- package/dist/src/foundation/schema/index.d.ts +3 -0
- package/dist/src/foundation/schema/index.d.ts.map +1 -0
- package/dist/src/foundation/schema/index.js +3 -0
- package/dist/src/foundation/schema/index.js.map +1 -0
- package/dist/src/foundation/schema/schema.d.ts +3 -0
- package/dist/src/foundation/schema/schema.d.ts.map +1 -0
- package/dist/src/foundation/schema/schema.js +10 -0
- package/dist/src/foundation/schema/schema.js.map +1 -0
- package/dist/src/foundation/schema/yaml.d.ts +10 -0
- package/dist/src/foundation/schema/yaml.d.ts.map +1 -0
- package/dist/src/foundation/schema/yaml.js +60 -0
- package/dist/src/foundation/schema/yaml.js.map +1 -0
- package/dist/src/foundation/schema-capability/index.d.ts +6 -0
- package/dist/src/foundation/schema-capability/index.d.ts.map +1 -0
- package/dist/src/foundation/schema-capability/index.js +4 -0
- package/dist/src/foundation/schema-capability/index.js.map +1 -0
- package/dist/src/foundation/schema-capability/inspection.d.ts +38 -0
- package/dist/src/foundation/schema-capability/inspection.d.ts.map +1 -0
- package/dist/src/foundation/schema-capability/inspection.js +249 -0
- package/dist/src/foundation/schema-capability/inspection.js.map +1 -0
- package/dist/src/foundation/schema-capability/manifest.d.ts +6 -0
- package/dist/src/foundation/schema-capability/manifest.d.ts.map +1 -0
- package/dist/src/foundation/schema-capability/manifest.js +17 -0
- package/dist/src/foundation/schema-capability/manifest.js.map +1 -0
- package/dist/src/foundation/schema-capability/rules.d.ts +38 -0
- package/dist/src/foundation/schema-capability/rules.d.ts.map +1 -0
- package/dist/src/foundation/schema-capability/rules.js +297 -0
- package/dist/src/foundation/schema-capability/rules.js.map +1 -0
- package/dist/src/foundation/skill-registration/adoption.d.ts +40 -0
- package/dist/src/foundation/skill-registration/adoption.d.ts.map +1 -0
- package/dist/src/foundation/skill-registration/adoption.js +63 -0
- package/dist/src/foundation/skill-registration/adoption.js.map +1 -0
- package/dist/src/foundation/skill-registration/index.d.ts +2 -0
- package/dist/src/foundation/skill-registration/index.d.ts.map +1 -0
- package/dist/src/foundation/skill-registration/index.js +2 -0
- package/dist/src/foundation/skill-registration/index.js.map +1 -0
- package/dist/src/foundation/skill-registration/rules.d.ts +2 -0
- package/dist/src/foundation/skill-registration/rules.d.ts.map +1 -0
- package/dist/src/foundation/skill-registration/rules.js +2 -0
- package/dist/src/foundation/skill-registration/rules.js.map +1 -0
- package/dist/src/foundation/snapshot/git-snapshot.d.ts +40 -0
- package/dist/src/foundation/snapshot/git-snapshot.d.ts.map +1 -0
- package/dist/src/foundation/snapshot/git-snapshot.js +168 -0
- package/dist/src/foundation/snapshot/git-snapshot.js.map +1 -0
- package/dist/src/foundation/snapshot/index.d.ts +2 -0
- package/dist/src/foundation/snapshot/index.d.ts.map +1 -0
- package/dist/src/foundation/snapshot/index.js +2 -0
- package/dist/src/foundation/snapshot/index.js.map +1 -0
- package/dist/src/foundation/state-transaction/index.d.ts +2 -0
- package/dist/src/foundation/state-transaction/index.d.ts.map +1 -0
- package/dist/src/foundation/state-transaction/index.js +2 -0
- package/dist/src/foundation/state-transaction/index.js.map +1 -0
- package/dist/src/foundation/state-transaction/state-transaction.d.ts +48 -0
- package/dist/src/foundation/state-transaction/state-transaction.d.ts.map +1 -0
- package/dist/src/foundation/state-transaction/state-transaction.js +364 -0
- package/dist/src/foundation/state-transaction/state-transaction.js.map +1 -0
- package/dist/src/foundation/terminal/index.d.ts +2 -0
- package/dist/src/foundation/terminal/index.d.ts.map +1 -0
- package/dist/src/foundation/terminal/index.js +2 -0
- package/dist/src/foundation/terminal/index.js.map +1 -0
- package/dist/src/foundation/terminal/terminal.d.ts +17 -0
- package/dist/src/foundation/terminal/terminal.d.ts.map +1 -0
- package/dist/src/foundation/terminal/terminal.js +12 -0
- package/dist/src/foundation/terminal/terminal.js.map +1 -0
- package/dist/src/foundation/trace/index.d.ts +2 -0
- package/dist/src/foundation/trace/index.d.ts.map +1 -0
- package/dist/src/foundation/trace/index.js +2 -0
- package/dist/src/foundation/trace/index.js.map +1 -0
- package/dist/src/foundation/trace/trace.d.ts +12 -0
- package/dist/src/foundation/trace/trace.d.ts.map +1 -0
- package/dist/src/foundation/trace/trace.js +299 -0
- package/dist/src/foundation/trace/trace.js.map +1 -0
- package/dist/src/foundation/tui/index.d.ts +3 -0
- package/dist/src/foundation/tui/index.d.ts.map +1 -0
- package/dist/src/foundation/tui/index.js +3 -0
- package/dist/src/foundation/tui/index.js.map +1 -0
- package/dist/src/foundation/tui/table.d.ts +10 -0
- package/dist/src/foundation/tui/table.d.ts.map +1 -0
- package/dist/src/foundation/tui/table.js +91 -0
- package/dist/src/foundation/tui/table.js.map +1 -0
- package/dist/src/foundation/tui/tui.d.ts +33 -0
- package/dist/src/foundation/tui/tui.d.ts.map +1 -0
- package/dist/src/foundation/tui/tui.js +157 -0
- package/dist/src/foundation/tui/tui.js.map +1 -0
- package/dist/src/index.d.ts +17 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +16 -0
- package/dist/src/index.js.map +1 -0
- package/docs/core-concepts.md +48 -7
- package/docs/getting-started.md +60 -45
- package/docs/maintaining.md +132 -9
- package/docs/npm-package-releases.md +38 -9
- package/docs/operations.md +109 -35
- package/docs/reference.md +304 -35
- package/docs/repository-tasks.md +61 -20
- package/package.json +53 -27
- package/schema/capabilities.json +95 -0
- package/schema/capability-manifest.schema.json +139 -0
- package/schema/v1/command-report.schema.json +4 -2
- package/schema/v1/domain-message.schema.json +2 -1
- package/schema/v2/config.schema.json +14 -0
- package/schema/v2/idea-event.schema.json +121 -0
- package/skills/silvermoon/SKILL.md +204 -112
- package/skills/silvermoon/references/adoption.md +55 -24
- package/skills/silvermoon/references/events.md +296 -0
- package/bin/silvermoon.js +0 -10
- package/src/adoption.js +0 -559
- package/src/cli.js +0 -377
- package/src/config.js +0 -253
- package/src/create-idea.js +0 -497
- package/src/dialogue.js +0 -69
- package/src/domain.js +0 -592
- package/src/git-snapshot.js +0 -212
- package/src/git.js +0 -624
- package/src/guidance.js +0 -281
- package/src/idea-layout.js +0 -411
- package/src/idea-metadata.js +0 -48
- package/src/idea-query.js +0 -230
- package/src/idea-templates.js +0 -242
- package/src/ideas.js +0 -142
- package/src/index.js +0 -386
- package/src/language.js +0 -78
- package/src/layout.js +0 -38
- package/src/list-ideas.js +0 -196
- package/src/observation.js +0 -370
- package/src/repository.js +0 -82
- package/src/response.js +0 -492
- package/src/subprocess.js +0 -27
- package/src/trace.js +0 -292
- package/src/tui-table.js +0 -71
- package/src/tui.js +0 -205
- package/src/user-config.js +0 -135
- package/src/whatsnext.js +0 -726
- package/src/yaml.js +0 -66
package/src/trace.js
DELETED
|
@@ -1,292 +0,0 @@
|
|
|
1
|
-
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
-
import { createHash, randomUUID } from "node:crypto";
|
|
3
|
-
import { constants } from "node:fs";
|
|
4
|
-
import { access, lstat, open } from "node:fs/promises";
|
|
5
|
-
import { dirname, resolve } from "node:path";
|
|
6
|
-
|
|
7
|
-
export const TRACE_SCHEMA_VERSION = 2;
|
|
8
|
-
const traceContext = new AsyncLocalStorage();
|
|
9
|
-
|
|
10
|
-
function durationMilliseconds(started) {
|
|
11
|
-
return Math.round(Number(process.hrtime.bigint() - started) / 1_000) / 1_000;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
function errorName(caught) {
|
|
15
|
-
return caught instanceof Error ? caught.name : typeof caught;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
class Trace {
|
|
19
|
-
constructor() {
|
|
20
|
-
this.events = [];
|
|
21
|
-
this.nextSequence = 1;
|
|
22
|
-
this.nextSpanId = 1;
|
|
23
|
-
this.traceId = randomUUID();
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
emit(event) {
|
|
27
|
-
this.events.push({
|
|
28
|
-
schemaVersion: TRACE_SCHEMA_VERSION,
|
|
29
|
-
traceId: this.traceId,
|
|
30
|
-
sequence: this.nextSequence,
|
|
31
|
-
timestamp: new Date().toISOString(),
|
|
32
|
-
...event,
|
|
33
|
-
});
|
|
34
|
-
this.nextSequence += 1;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
start(name, parentSpanId, attributes) {
|
|
38
|
-
const span = {
|
|
39
|
-
attributes,
|
|
40
|
-
id: String(this.nextSpanId),
|
|
41
|
-
name,
|
|
42
|
-
parentSpanId,
|
|
43
|
-
started: process.hrtime.bigint(),
|
|
44
|
-
};
|
|
45
|
-
this.nextSpanId += 1;
|
|
46
|
-
this.emit({
|
|
47
|
-
channel: "telemetry",
|
|
48
|
-
event: "span-start",
|
|
49
|
-
spanId: span.id,
|
|
50
|
-
parentSpanId,
|
|
51
|
-
name,
|
|
52
|
-
attributes,
|
|
53
|
-
});
|
|
54
|
-
return span;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
end(span, status, attributes = {}) {
|
|
58
|
-
this.emit({
|
|
59
|
-
channel: "telemetry",
|
|
60
|
-
event: "span-end",
|
|
61
|
-
spanId: span.id,
|
|
62
|
-
parentSpanId: span.parentSpanId,
|
|
63
|
-
name: span.name,
|
|
64
|
-
status,
|
|
65
|
-
durationMs: durationMilliseconds(span.started),
|
|
66
|
-
attributes: { ...span.attributes, ...attributes },
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
serialize() {
|
|
71
|
-
return `${this.events.map((event) => JSON.stringify(event)).join("\n")}\n`;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
async function requireAvailableTracePath(path) {
|
|
76
|
-
const parent = dirname(path);
|
|
77
|
-
const parentMetadata = await lstat(parent);
|
|
78
|
-
if (!parentMetadata.isDirectory()) {
|
|
79
|
-
throw new Error(`Trace parent is not a directory: ${parent}`);
|
|
80
|
-
}
|
|
81
|
-
await access(parent, constants.W_OK);
|
|
82
|
-
try {
|
|
83
|
-
await lstat(path);
|
|
84
|
-
} catch (caught) {
|
|
85
|
-
if (caught.code === "ENOENT") return;
|
|
86
|
-
throw caught;
|
|
87
|
-
}
|
|
88
|
-
throw new Error(`Trace file already exists: ${path}`);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export async function traceAsync(
|
|
92
|
-
name,
|
|
93
|
-
attributes,
|
|
94
|
-
callback,
|
|
95
|
-
summarize = () => ({}),
|
|
96
|
-
) {
|
|
97
|
-
const context = traceContext.getStore();
|
|
98
|
-
if (!context) return callback();
|
|
99
|
-
|
|
100
|
-
const span = context.trace.start(name, context.parentSpanId, attributes);
|
|
101
|
-
return traceContext.run(
|
|
102
|
-
{ parentSpanId: span.id, trace: context.trace },
|
|
103
|
-
async () => {
|
|
104
|
-
try {
|
|
105
|
-
const result = await callback();
|
|
106
|
-
const summary = summarize(result);
|
|
107
|
-
context.trace.end(
|
|
108
|
-
span,
|
|
109
|
-
summary.status ?? "ok",
|
|
110
|
-
summary.attributes ?? {},
|
|
111
|
-
);
|
|
112
|
-
return result;
|
|
113
|
-
} catch (caught) {
|
|
114
|
-
context.trace.end(span, "error", { errorName: errorName(caught) });
|
|
115
|
-
throw caught;
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
|
-
);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
function hash(value) {
|
|
122
|
-
return createHash("sha256")
|
|
123
|
-
.update(JSON.stringify(value))
|
|
124
|
-
.digest("hex");
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
function projectDomainMessage(message) {
|
|
128
|
-
const base = {
|
|
129
|
-
channel: "domain",
|
|
130
|
-
event: message.type,
|
|
131
|
-
messageSequence: message.sequence,
|
|
132
|
-
};
|
|
133
|
-
if (message.type === "intention.accepted") {
|
|
134
|
-
return {
|
|
135
|
-
...base,
|
|
136
|
-
command: message.intention.command,
|
|
137
|
-
argumentNames: Object.keys(message.intention.args ?? {}).sort(),
|
|
138
|
-
intentionHash: hash(message.intention),
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
if (message.type === "observation.fact") {
|
|
142
|
-
return {
|
|
143
|
-
...base,
|
|
144
|
-
factType: message.fact.type,
|
|
145
|
-
progress: message.fact.progress,
|
|
146
|
-
state: message.fact.observation.state,
|
|
147
|
-
problemCount: message.fact.observation.problems?.length ?? 0,
|
|
148
|
-
problemTypes: (message.fact.observation.problems ?? [])
|
|
149
|
-
.map(({ type }) => type),
|
|
150
|
-
...(message.fact.observation.selectedIdea?.id === undefined
|
|
151
|
-
? {}
|
|
152
|
-
: { selectedIdeaId: message.fact.observation.selectedIdea.id }),
|
|
153
|
-
...(message.fact.observation.createdIdea?.id === undefined
|
|
154
|
-
? {}
|
|
155
|
-
: { createdIdeaId: message.fact.observation.createdIdea.id }),
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
if (message.type === "action.requested") {
|
|
159
|
-
return {
|
|
160
|
-
...base,
|
|
161
|
-
actionId: message.actionId,
|
|
162
|
-
actionType: message.action.type,
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
if (message.type === "action.finished") {
|
|
166
|
-
return {
|
|
167
|
-
...base,
|
|
168
|
-
actionId: message.actionId,
|
|
169
|
-
actionType: message.actionType,
|
|
170
|
-
status: message.status,
|
|
171
|
-
...(message.problem?.type === undefined
|
|
172
|
-
? {}
|
|
173
|
-
: { problemType: message.problem.type }),
|
|
174
|
-
resultFields: Object.keys(message.result ?? {}).sort(),
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
if (message.type === "response.created") {
|
|
178
|
-
return {
|
|
179
|
-
...base,
|
|
180
|
-
kind: message.kind,
|
|
181
|
-
responseHash: message.metadata.hash,
|
|
182
|
-
nextStepCount: message.metadata.nextStepCount,
|
|
183
|
-
itemCount: message.metadata.itemCount,
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
throw new Error(`Cannot trace unknown domain message type: ${message.type}`);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
export function emitDomainMessage(message) {
|
|
190
|
-
const context = traceContext.getStore();
|
|
191
|
-
if (!context) return;
|
|
192
|
-
context.trace.emit(projectDomainMessage(message));
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
export function traceSync(name, attributes, callback, summarize = () => ({})) {
|
|
196
|
-
const context = traceContext.getStore();
|
|
197
|
-
if (!context) return callback();
|
|
198
|
-
|
|
199
|
-
const span = context.trace.start(name, context.parentSpanId, attributes);
|
|
200
|
-
return traceContext.run(
|
|
201
|
-
{ parentSpanId: span.id, trace: context.trace },
|
|
202
|
-
() => {
|
|
203
|
-
try {
|
|
204
|
-
const result = callback();
|
|
205
|
-
const summary = summarize(result);
|
|
206
|
-
context.trace.end(
|
|
207
|
-
span,
|
|
208
|
-
summary.status ?? "ok",
|
|
209
|
-
summary.attributes ?? {},
|
|
210
|
-
);
|
|
211
|
-
return result;
|
|
212
|
-
} catch (caught) {
|
|
213
|
-
context.trace.end(span, "error", { errorName: errorName(caught) });
|
|
214
|
-
throw caught;
|
|
215
|
-
}
|
|
216
|
-
},
|
|
217
|
-
);
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
async function flushTrace(path, trace) {
|
|
221
|
-
const span = trace.start("trace.flush", null, {});
|
|
222
|
-
let handle;
|
|
223
|
-
let failure;
|
|
224
|
-
let spanEnded = false;
|
|
225
|
-
try {
|
|
226
|
-
handle = await open(path, "wx");
|
|
227
|
-
await handle.writeFile(trace.serialize(), { encoding: "utf8" });
|
|
228
|
-
await handle.sync();
|
|
229
|
-
trace.end(span, "ok", { eventCount: trace.events.length + 1 });
|
|
230
|
-
spanEnded = true;
|
|
231
|
-
await handle.appendFile(
|
|
232
|
-
`${JSON.stringify(trace.events.at(-1))}\n`,
|
|
233
|
-
{ encoding: "utf8" },
|
|
234
|
-
);
|
|
235
|
-
await handle.sync();
|
|
236
|
-
} catch (caught) {
|
|
237
|
-
if (!spanEnded) {
|
|
238
|
-
trace.end(span, "error", { errorName: errorName(caught) });
|
|
239
|
-
}
|
|
240
|
-
failure = caught;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
if (handle) {
|
|
244
|
-
try {
|
|
245
|
-
await handle.close();
|
|
246
|
-
} catch (caught) {
|
|
247
|
-
failure = failure
|
|
248
|
-
? new AggregateError([failure, caught], `Cannot close trace file: ${path}`)
|
|
249
|
-
: caught;
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
if (failure) throw failure;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
export async function withTraceFile(file, name, attributes, callback) {
|
|
256
|
-
if (file === undefined) return callback();
|
|
257
|
-
|
|
258
|
-
const path = resolve(file);
|
|
259
|
-
await requireAvailableTracePath(path);
|
|
260
|
-
const trace = new Trace();
|
|
261
|
-
let result;
|
|
262
|
-
let commandError;
|
|
263
|
-
try {
|
|
264
|
-
result = await traceContext.run(
|
|
265
|
-
{ parentSpanId: null, trace },
|
|
266
|
-
() => traceAsync(name, attributes, callback),
|
|
267
|
-
);
|
|
268
|
-
} catch (caught) {
|
|
269
|
-
commandError = caught;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
let traceError;
|
|
273
|
-
try {
|
|
274
|
-
await flushTrace(path, trace);
|
|
275
|
-
} catch (caught) {
|
|
276
|
-
traceError = caught;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
if (commandError && traceError) {
|
|
280
|
-
throw new AggregateError(
|
|
281
|
-
[commandError, traceError],
|
|
282
|
-
`Command failed and trace file could not be written: ${path}`,
|
|
283
|
-
);
|
|
284
|
-
}
|
|
285
|
-
if (commandError) throw commandError;
|
|
286
|
-
if (traceError) {
|
|
287
|
-
throw new Error(`Cannot write trace file ${path}: ${traceError.message}`, {
|
|
288
|
-
cause: traceError,
|
|
289
|
-
});
|
|
290
|
-
}
|
|
291
|
-
return result;
|
|
292
|
-
}
|
package/src/tui-table.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import stringWidth from "string-width";
|
|
2
|
-
import { parse } from "tui-md";
|
|
3
|
-
|
|
4
|
-
function cellText(node) {
|
|
5
|
-
if (node.type === "image") return node.alt ?? "";
|
|
6
|
-
if (typeof node.value === "string") return node.value;
|
|
7
|
-
return (node.children ?? []).map(cellText).join("");
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
function tableLines(node) {
|
|
11
|
-
const rows = node.children.map((row) => row.children.map(cellText));
|
|
12
|
-
const widths = rows[0].map((_, column) =>
|
|
13
|
-
Math.max(3, ...rows.map((row) => stringWidth(row[column] ?? "") + 2))
|
|
14
|
-
);
|
|
15
|
-
const border = (left, middle, right) =>
|
|
16
|
-
`${left}${widths.map((width) => "─".repeat(width)).join(middle)}${right}`;
|
|
17
|
-
const rowLine = (row) =>
|
|
18
|
-
`│${widths.map((width, column) => {
|
|
19
|
-
const value = row[column] ?? "";
|
|
20
|
-
const space = width - 2 - stringWidth(value);
|
|
21
|
-
const alignment = node.align?.[column];
|
|
22
|
-
const left = alignment === "right"
|
|
23
|
-
? space
|
|
24
|
-
: alignment === "center" ? Math.floor(space / 2) : 0;
|
|
25
|
-
return ` ${" ".repeat(left)}${value}${" ".repeat(space - left)} │`;
|
|
26
|
-
}).join("")}`;
|
|
27
|
-
const lines = [
|
|
28
|
-
border("┌", "┬", "┐"),
|
|
29
|
-
rowLine(rows[0]),
|
|
30
|
-
border("├", "┼", "┤"),
|
|
31
|
-
];
|
|
32
|
-
for (const [index, row] of rows.slice(1).entries()) {
|
|
33
|
-
if (index > 0) lines.push(border("├", "┼", "┤"));
|
|
34
|
-
lines.push(rowLine(row));
|
|
35
|
-
}
|
|
36
|
-
lines.push(border("└", "┴", "┘"));
|
|
37
|
-
return { lines, width: stringWidth(lines[0]) };
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export function tuiMarkdownBlocks(content, availableWidth) {
|
|
41
|
-
if (!content.includes("|")) return [{ kind: "markdown", content }];
|
|
42
|
-
const blocks = [];
|
|
43
|
-
let offset = 0;
|
|
44
|
-
for (const node of parse(content).children) {
|
|
45
|
-
if (node.type !== "table") continue;
|
|
46
|
-
if (!node.children.every((row) =>
|
|
47
|
-
row.children.every((cell) =>
|
|
48
|
-
cell.children.every((child) => child.type === "text")
|
|
49
|
-
)
|
|
50
|
-
)) continue;
|
|
51
|
-
const table = tableLines(node);
|
|
52
|
-
const hasWideText = node.children.some((row) =>
|
|
53
|
-
row.children.some((cell) => {
|
|
54
|
-
const text = cellText(cell);
|
|
55
|
-
return stringWidth(text) > text.length;
|
|
56
|
-
})
|
|
57
|
-
);
|
|
58
|
-
if (!hasWideText || table.width > availableWidth) continue;
|
|
59
|
-
const start = node.position.start.offset;
|
|
60
|
-
const end = node.position.end.offset;
|
|
61
|
-
if (start > offset) {
|
|
62
|
-
blocks.push({ kind: "markdown", content: content.slice(offset, start) });
|
|
63
|
-
}
|
|
64
|
-
blocks.push({ kind: "table", lines: table.lines, width: table.width });
|
|
65
|
-
offset = end;
|
|
66
|
-
}
|
|
67
|
-
if (offset < content.length) {
|
|
68
|
-
blocks.push({ kind: "markdown", content: content.slice(offset) });
|
|
69
|
-
}
|
|
70
|
-
return blocks.length === 0 ? [{ kind: "markdown", content }] : blocks;
|
|
71
|
-
}
|
package/src/tui.js
DELETED
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
import { createCliRenderer } from "@opentui/core";
|
|
2
|
-
import { win32 } from "node:path";
|
|
3
|
-
import {
|
|
4
|
-
createRoot,
|
|
5
|
-
useKeyboard,
|
|
6
|
-
useRenderer,
|
|
7
|
-
useTerminalDimensions,
|
|
8
|
-
} from "@opentui/react";
|
|
9
|
-
import { createElement, useEffect, useMemo, useRef, useState } from "react";
|
|
10
|
-
import { Markdown } from "tui-md";
|
|
11
|
-
|
|
12
|
-
import { runSubprocess } from "./subprocess.js";
|
|
13
|
-
import { tuiMarkdownBlocks } from "./tui-table.js";
|
|
14
|
-
|
|
15
|
-
const COPY_STATUS_DURATION_MS = 3000;
|
|
16
|
-
const SHORTCUT_HINT = " [q/Esc] quit [scroll] navigate [drag, y] copy";
|
|
17
|
-
const SUCCESS_COLOR = "#9ccb9e";
|
|
18
|
-
const WARNING_COLOR = "#e2b86b";
|
|
19
|
-
|
|
20
|
-
function spawnClipboard(command, args, options) {
|
|
21
|
-
return runSubprocess(command, args, options, {
|
|
22
|
-
attributes: { operation: "windows-clipboard" },
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export function copyStatusColor(status) {
|
|
27
|
-
if (status === null) return "#6b6b6b";
|
|
28
|
-
if (status.kind === "success") return SUCCESS_COLOR;
|
|
29
|
-
if (status.kind === "warning") return WARNING_COLOR;
|
|
30
|
-
throw new Error(`Unsupported copy status kind: ${status.kind}`);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export function copyWindowsClipboard(
|
|
34
|
-
text,
|
|
35
|
-
spawn = spawnClipboard,
|
|
36
|
-
systemRoot = process.env.SystemRoot,
|
|
37
|
-
) {
|
|
38
|
-
if (!systemRoot) return { ok: false, reason: "SystemRoot is unavailable" };
|
|
39
|
-
const script = [
|
|
40
|
-
"$ErrorActionPreference = 'Stop'",
|
|
41
|
-
"[Console]::InputEncoding = New-Object System.Text.UTF8Encoding($false)",
|
|
42
|
-
"$value = [Console]::In.ReadToEnd()",
|
|
43
|
-
"Set-Clipboard -Value $value",
|
|
44
|
-
].join("; ");
|
|
45
|
-
const result = spawn(win32.join(
|
|
46
|
-
systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe",
|
|
47
|
-
), [
|
|
48
|
-
"-NoProfile", "-NonInteractive", "-Command", script,
|
|
49
|
-
], {
|
|
50
|
-
encoding: "utf8",
|
|
51
|
-
input: Buffer.from(text, "utf8"),
|
|
52
|
-
timeout: 5000,
|
|
53
|
-
windowsHide: true,
|
|
54
|
-
});
|
|
55
|
-
if (result.error) return { ok: false, reason: result.error.message };
|
|
56
|
-
if (result.status !== 0) {
|
|
57
|
-
return {
|
|
58
|
-
ok: false,
|
|
59
|
-
reason: result.stderr?.trim().split(/\r?\n/, 1)[0]
|
|
60
|
-
|| `PowerShell exited with status ${result.status}`,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
return { ok: true };
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export function copyTuiSelection(renderer, {
|
|
67
|
-
stdout = process.stdout,
|
|
68
|
-
platform = process.platform,
|
|
69
|
-
windowsClipboard = copyWindowsClipboard,
|
|
70
|
-
} = {}) {
|
|
71
|
-
const text = renderer.getSelection()?.getSelectedText();
|
|
72
|
-
if (!text) return { message: "Select text first", kind: "warning" };
|
|
73
|
-
if (renderer.copyToClipboardOSC52(text)) {
|
|
74
|
-
return { message: "Copy sent to terminal clipboard", kind: "success" };
|
|
75
|
-
}
|
|
76
|
-
if (platform === "win32" && stdout === process.stdout) {
|
|
77
|
-
const result = windowsClipboard(text);
|
|
78
|
-
return result.ok
|
|
79
|
-
? { message: "Copied to Windows clipboard", kind: "success" }
|
|
80
|
-
: { message: `Copy failed: ${result.reason}`, kind: "warning" };
|
|
81
|
-
}
|
|
82
|
-
return { message: "No clipboard; Shift+drag", kind: "warning" };
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
function MarkdownViewer({ content, stdout }) {
|
|
86
|
-
const renderer = useRenderer();
|
|
87
|
-
const { height, width } = useTerminalDimensions();
|
|
88
|
-
const [copyStatus, setCopyStatus] = useState(null);
|
|
89
|
-
const copyStatusTimeout = useRef(null);
|
|
90
|
-
const contentWidth = Math.max(1, width - 4);
|
|
91
|
-
const blocks = useMemo(
|
|
92
|
-
() => tuiMarkdownBlocks(content, contentWidth),
|
|
93
|
-
[content, contentWidth],
|
|
94
|
-
);
|
|
95
|
-
|
|
96
|
-
useEffect(() => () => clearTimeout(copyStatusTimeout.current), []);
|
|
97
|
-
|
|
98
|
-
useKeyboard((key) => {
|
|
99
|
-
if (key.name === "q" || key.name === "escape") renderer.destroy();
|
|
100
|
-
if (key.name === "y") {
|
|
101
|
-
clearTimeout(copyStatusTimeout.current);
|
|
102
|
-
setCopyStatus(copyTuiSelection(renderer, { stdout }));
|
|
103
|
-
copyStatusTimeout.current = setTimeout(() => {
|
|
104
|
-
setCopyStatus(null);
|
|
105
|
-
copyStatusTimeout.current = null;
|
|
106
|
-
}, COPY_STATUS_DURATION_MS);
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
return createElement(
|
|
111
|
-
"box",
|
|
112
|
-
{
|
|
113
|
-
flexDirection: "column",
|
|
114
|
-
height,
|
|
115
|
-
width,
|
|
116
|
-
},
|
|
117
|
-
createElement(
|
|
118
|
-
"box",
|
|
119
|
-
{
|
|
120
|
-
backgroundColor: "#1e1e1e",
|
|
121
|
-
flexShrink: 0,
|
|
122
|
-
paddingX: 1,
|
|
123
|
-
width: "100%",
|
|
124
|
-
},
|
|
125
|
-
createElement("text", { fg: "#569cd6" }, "Silvermoon"),
|
|
126
|
-
createElement(
|
|
127
|
-
"text",
|
|
128
|
-
{
|
|
129
|
-
fg: copyStatusColor(copyStatus),
|
|
130
|
-
height: 1,
|
|
131
|
-
truncate: true,
|
|
132
|
-
width: "100%",
|
|
133
|
-
wrapMode: "none",
|
|
134
|
-
},
|
|
135
|
-
copyStatus ? ` ${copyStatus.message}` : SHORTCUT_HINT,
|
|
136
|
-
),
|
|
137
|
-
),
|
|
138
|
-
createElement(
|
|
139
|
-
"scrollbox",
|
|
140
|
-
{
|
|
141
|
-
flexGrow: 1,
|
|
142
|
-
flexShrink: 1,
|
|
143
|
-
scrollY: true,
|
|
144
|
-
width: "100%",
|
|
145
|
-
},
|
|
146
|
-
createElement(
|
|
147
|
-
"box",
|
|
148
|
-
{
|
|
149
|
-
flexDirection: "column",
|
|
150
|
-
paddingX: 2,
|
|
151
|
-
paddingY: 1,
|
|
152
|
-
width: contentWidth,
|
|
153
|
-
},
|
|
154
|
-
...blocks.map((block, index) =>
|
|
155
|
-
block.kind === "markdown"
|
|
156
|
-
? createElement(Markdown, { key: index, content: block.content })
|
|
157
|
-
: createElement(
|
|
158
|
-
"box",
|
|
159
|
-
{ key: index, flexDirection: "column", marginBottom: 1, width: "100%" },
|
|
160
|
-
...block.lines.map((line, lineIndex) =>
|
|
161
|
-
createElement("text", {
|
|
162
|
-
key: lineIndex,
|
|
163
|
-
fg: lineIndex === 1 ? "#569cd6" : "#d4d4d4",
|
|
164
|
-
width: block.width,
|
|
165
|
-
wrapMode: "none",
|
|
166
|
-
}, line)
|
|
167
|
-
),
|
|
168
|
-
)
|
|
169
|
-
),
|
|
170
|
-
),
|
|
171
|
-
),
|
|
172
|
-
);
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
export function tuiOutputStream(stdout, platform = process.platform) {
|
|
176
|
-
if (platform !== "win32") return stdout;
|
|
177
|
-
|
|
178
|
-
// A distinct stream makes OpenTUI use its byte feed instead of writing UTF-8
|
|
179
|
-
// directly through the native Windows console's legacy output code page.
|
|
180
|
-
return {
|
|
181
|
-
get columns() { return stdout.columns; },
|
|
182
|
-
get rows() { return stdout.rows; },
|
|
183
|
-
get isTTY() { return stdout.isTTY; },
|
|
184
|
-
write: (...args) => stdout.write(...args),
|
|
185
|
-
getColorDepth: (...args) => stdout.getColorDepth(...args),
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
export async function renderTuiMarkdown(content, { stdin, stdout }) {
|
|
190
|
-
let renderer;
|
|
191
|
-
try {
|
|
192
|
-
renderer = await createCliRenderer({
|
|
193
|
-
clearOnShutdown: true,
|
|
194
|
-
exitOnCtrlC: true,
|
|
195
|
-
screenMode: "alternate-screen",
|
|
196
|
-
stdin,
|
|
197
|
-
stdout: tuiOutputStream(stdout),
|
|
198
|
-
});
|
|
199
|
-
renderer.setTerminalTitle("Silvermoon");
|
|
200
|
-
createRoot(renderer).render(createElement(MarkdownViewer, { content, stdout }));
|
|
201
|
-
} catch (caught) {
|
|
202
|
-
renderer?.destroy();
|
|
203
|
-
throw caught;
|
|
204
|
-
}
|
|
205
|
-
}
|
package/src/user-config.js
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { lstat, readFile } from "node:fs/promises";
|
|
2
|
-
import { homedir } from "node:os";
|
|
3
|
-
import { resolve } from "node:path";
|
|
4
|
-
|
|
5
|
-
import { isCanonicalLanguageTag } from "./language.js";
|
|
6
|
-
import { parseStrictYaml, stringifyCanonicalYaml } from "./yaml.js";
|
|
7
|
-
|
|
8
|
-
export const USER_CONFIG_PATH = ".config/silvermoon/config.yaml";
|
|
9
|
-
|
|
10
|
-
const USER_CONFIG_KEYS = new Set(["version", "preferredLanguage"]);
|
|
11
|
-
|
|
12
|
-
function diagnostic(code, path, message, remediation) {
|
|
13
|
-
return { code, level: "error", path, message, remediation };
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function serializeUserConfig(config) {
|
|
17
|
-
const canonical = { version: 1 };
|
|
18
|
-
if (config.preferredLanguage !== undefined) {
|
|
19
|
-
canonical.preferredLanguage = config.preferredLanguage;
|
|
20
|
-
}
|
|
21
|
-
return stringifyCanonicalYaml(canonical);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export async function loadUserConfig({ home = homedir() } = {}) {
|
|
25
|
-
const configPath = resolve(home, USER_CONFIG_PATH);
|
|
26
|
-
let metadata;
|
|
27
|
-
let source;
|
|
28
|
-
try {
|
|
29
|
-
metadata = await lstat(configPath);
|
|
30
|
-
if (!metadata.isFile() || metadata.isSymbolicLink()) {
|
|
31
|
-
throw Object.assign(new Error("User configuration must be a regular file"), {
|
|
32
|
-
code: "EINVAL",
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
source = await readFile(configPath, "utf8");
|
|
36
|
-
} catch (caught) {
|
|
37
|
-
if (caught.code === "ENOENT") {
|
|
38
|
-
return { config: null, configPath, diagnostics: [] };
|
|
39
|
-
}
|
|
40
|
-
return {
|
|
41
|
-
config: null,
|
|
42
|
-
configPath,
|
|
43
|
-
diagnostics: [diagnostic(
|
|
44
|
-
"user-config.invalid-file",
|
|
45
|
-
configPath,
|
|
46
|
-
`Cannot read Silvermoon user configuration: ${caught.message}`,
|
|
47
|
-
`Replace ${configPath} with a readable regular file or remove it.`,
|
|
48
|
-
)],
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
const normalizedSource = source.replaceAll("\r\n", "\n");
|
|
53
|
-
let value;
|
|
54
|
-
try {
|
|
55
|
-
value = parseStrictYaml(normalizedSource);
|
|
56
|
-
} catch (caught) {
|
|
57
|
-
return {
|
|
58
|
-
config: null,
|
|
59
|
-
configPath,
|
|
60
|
-
diagnostics: [diagnostic(
|
|
61
|
-
"user-config.invalid-yaml",
|
|
62
|
-
configPath,
|
|
63
|
-
`Cannot parse Silvermoon user configuration: ${caught.message}`,
|
|
64
|
-
`Use the strict YAML contract in ${configPath}.`,
|
|
65
|
-
)],
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
if (value === null || Array.isArray(value) || typeof value !== "object") {
|
|
70
|
-
return {
|
|
71
|
-
config: null,
|
|
72
|
-
configPath,
|
|
73
|
-
diagnostics: [diagnostic(
|
|
74
|
-
"user-config.invalid-type",
|
|
75
|
-
configPath,
|
|
76
|
-
"The Silvermoon user configuration must be a YAML mapping.",
|
|
77
|
-
`Replace ${configPath} with the documented mapping.`,
|
|
78
|
-
)],
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
const diagnostics = [];
|
|
83
|
-
for (const key of Object.keys(value).sort()) {
|
|
84
|
-
if (!USER_CONFIG_KEYS.has(key)) {
|
|
85
|
-
diagnostics.push(diagnostic(
|
|
86
|
-
"user-config.unknown-key",
|
|
87
|
-
`${configPath}#${key}`,
|
|
88
|
-
`Unknown Silvermoon user configuration key: ${key}`,
|
|
89
|
-
`Remove ${key}.`,
|
|
90
|
-
));
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
if (!Object.hasOwn(value, "version")) {
|
|
94
|
-
diagnostics.push(diagnostic(
|
|
95
|
-
"user-config.missing-version",
|
|
96
|
-
`${configPath}#version`,
|
|
97
|
-
"Missing required key: version",
|
|
98
|
-
`Add version: 1 to ${configPath}.`,
|
|
99
|
-
));
|
|
100
|
-
} else if (value.version !== 1) {
|
|
101
|
-
diagnostics.push(diagnostic(
|
|
102
|
-
"user-config.unsupported-version",
|
|
103
|
-
`${configPath}#version`,
|
|
104
|
-
`Unsupported Silvermoon user configuration version: ${String(value.version)}`,
|
|
105
|
-
"Use version: 1.",
|
|
106
|
-
));
|
|
107
|
-
}
|
|
108
|
-
if (
|
|
109
|
-
Object.hasOwn(value, "preferredLanguage") &&
|
|
110
|
-
!isCanonicalLanguageTag(value.preferredLanguage)
|
|
111
|
-
) {
|
|
112
|
-
diagnostics.push(diagnostic(
|
|
113
|
-
"user-config.invalid-preferred-language",
|
|
114
|
-
`${configPath}#preferredLanguage`,
|
|
115
|
-
"preferredLanguage must be a canonical BCP 47 language tag.",
|
|
116
|
-
"Use a canonical tag such as en or zh-CN.",
|
|
117
|
-
));
|
|
118
|
-
}
|
|
119
|
-
if (diagnostics.length === 0 && serializeUserConfig(value) !== normalizedSource) {
|
|
120
|
-
diagnostics.push(diagnostic(
|
|
121
|
-
"user-config.noncanonical",
|
|
122
|
-
configPath,
|
|
123
|
-
"The Silvermoon user configuration is valid but not canonical.",
|
|
124
|
-
"Rewrite properties in version, preferredLanguage order with LF endings.",
|
|
125
|
-
));
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
return {
|
|
129
|
-
config: diagnostics.length === 0 ? value : null,
|
|
130
|
-
configPath,
|
|
131
|
-
diagnostics,
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
export { serializeUserConfig };
|