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/idea-metadata.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { readFile } from "node:fs/promises";
|
|
2
|
-
import { resolve } from "node:path";
|
|
3
|
-
|
|
4
|
-
import { extractIdeaTitle, ideaInventoryItem } from "./idea-query.js";
|
|
5
|
-
import { localize } from "./language.js";
|
|
6
|
-
|
|
7
|
-
export async function readIdeaInventoryItem(root, idea) {
|
|
8
|
-
const documentPath = idea.worlds.idealRevision.documentPath;
|
|
9
|
-
try {
|
|
10
|
-
const source = await readFile(
|
|
11
|
-
resolve(root, ...documentPath.split("/")),
|
|
12
|
-
"utf8",
|
|
13
|
-
);
|
|
14
|
-
return ideaInventoryItem(idea, extractIdeaTitle(source));
|
|
15
|
-
} catch (caught) {
|
|
16
|
-
throw new Error(
|
|
17
|
-
`Cannot read idea metadata for ${idea.id} at ${documentPath}: ${caught.message}`,
|
|
18
|
-
{ cause: caught },
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export function metadataFailureObservation(observed, caught, command) {
|
|
24
|
-
const { ideas: _ideas, ...base } = observed.observation;
|
|
25
|
-
const problem = {
|
|
26
|
-
type: "idea-metadata-unavailable",
|
|
27
|
-
summary: localize(
|
|
28
|
-
observed.outputLanguage,
|
|
29
|
-
caught.message,
|
|
30
|
-
`无法读取 idea metadata:${caught.message}`,
|
|
31
|
-
),
|
|
32
|
-
};
|
|
33
|
-
return {
|
|
34
|
-
observation: {
|
|
35
|
-
...base,
|
|
36
|
-
state: "project-setup-required",
|
|
37
|
-
observedThrough: "configuration",
|
|
38
|
-
problems: [problem],
|
|
39
|
-
},
|
|
40
|
-
responseContext: {
|
|
41
|
-
nextSteps: localize(
|
|
42
|
-
observed.outputLanguage,
|
|
43
|
-
`Repair the reported idea document and retry \`${command}\`.`,
|
|
44
|
-
`修复报告的 idea document 后,重新运行 \`${command}\`。`,
|
|
45
|
-
),
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
}
|
package/src/idea-query.js
DELETED
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
import { fromMarkdown } from "mdast-util-from-markdown";
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
ACTIVE_IDEA_STATES,
|
|
5
|
-
IDEA_STATES,
|
|
6
|
-
isValidUlid,
|
|
7
|
-
} from "./ideas.js";
|
|
8
|
-
|
|
9
|
-
const QUERY_STATES = new Set([...IDEA_STATES, "active"]);
|
|
10
|
-
const SORTS = new Set(["newest", "oldest"]);
|
|
11
|
-
const RFC3339 =
|
|
12
|
-
/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(Z|[+-](\d{2}):(\d{2}))$/;
|
|
13
|
-
const CROCKFORD_BASE32 = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
|
|
14
|
-
|
|
15
|
-
function usageError(message) {
|
|
16
|
-
const error = new Error(message);
|
|
17
|
-
error.exitCode = 2;
|
|
18
|
-
return error;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function normalizeStates(states, all) {
|
|
22
|
-
if (all !== undefined && typeof all !== "boolean") {
|
|
23
|
-
throw usageError("all must be a boolean");
|
|
24
|
-
}
|
|
25
|
-
if (states !== undefined && all === true) {
|
|
26
|
-
throw usageError("state and all are mutually exclusive");
|
|
27
|
-
}
|
|
28
|
-
if (states === undefined) {
|
|
29
|
-
return all === true ? [...IDEA_STATES] : [...ACTIVE_IDEA_STATES];
|
|
30
|
-
}
|
|
31
|
-
const requested = Array.isArray(states) ? states : [states];
|
|
32
|
-
if (requested.length === 0) {
|
|
33
|
-
throw usageError("state must not be empty");
|
|
34
|
-
}
|
|
35
|
-
const selected = new Set();
|
|
36
|
-
for (const state of requested) {
|
|
37
|
-
if (typeof state !== "string" || !QUERY_STATES.has(state)) {
|
|
38
|
-
throw usageError(
|
|
39
|
-
`state must be one of active, ${IDEA_STATES.join(", ")}; received ${JSON.stringify(state)}`,
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
for (const expanded of state === "active" ? ACTIVE_IDEA_STATES : [state]) {
|
|
43
|
-
selected.add(expanded);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return IDEA_STATES.filter((state) => selected.has(state));
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
function normalizeQueryText(query) {
|
|
50
|
-
if (query === undefined || query === null) return null;
|
|
51
|
-
if (typeof query !== "string" || query.trim().length === 0) {
|
|
52
|
-
throw usageError("query must be a non-empty string");
|
|
53
|
-
}
|
|
54
|
-
return query.trim();
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
function normalizeTimestamp(value, name) {
|
|
58
|
-
if (value === undefined || value === null) return null;
|
|
59
|
-
if (typeof value !== "string") {
|
|
60
|
-
throw usageError(`${name} must be an RFC 3339 timestamp`);
|
|
61
|
-
}
|
|
62
|
-
const match = RFC3339.exec(value);
|
|
63
|
-
if (!match) throw usageError(`${name} must be an RFC 3339 timestamp with a timezone`);
|
|
64
|
-
const [, year, month, day, hour, minute, second, , zone, offsetHour, offsetMinute] =
|
|
65
|
-
match;
|
|
66
|
-
const numeric = [year, month, day, hour, minute, second].map(Number);
|
|
67
|
-
if (
|
|
68
|
-
numeric[1] < 1
|
|
69
|
-
|| numeric[1] > 12
|
|
70
|
-
|| numeric[2] < 1
|
|
71
|
-
|| numeric[2] > 31
|
|
72
|
-
|| numeric[3] > 23
|
|
73
|
-
|| numeric[4] > 59
|
|
74
|
-
|| numeric[5] > 59
|
|
75
|
-
|| (
|
|
76
|
-
zone !== "Z"
|
|
77
|
-
&& (Number(offsetHour) > 23 || Number(offsetMinute) > 59)
|
|
78
|
-
)
|
|
79
|
-
) {
|
|
80
|
-
throw usageError(`${name} must be a valid RFC 3339 timestamp`);
|
|
81
|
-
}
|
|
82
|
-
const calendar = new Date(0);
|
|
83
|
-
calendar.setUTCFullYear(numeric[0], numeric[1] - 1, numeric[2]);
|
|
84
|
-
calendar.setUTCHours(0, 0, 0, 0);
|
|
85
|
-
if (
|
|
86
|
-
calendar.getUTCFullYear() !== numeric[0]
|
|
87
|
-
|| calendar.getUTCMonth() !== numeric[1] - 1
|
|
88
|
-
|| calendar.getUTCDate() !== numeric[2]
|
|
89
|
-
) {
|
|
90
|
-
throw usageError(`${name} must be a valid RFC 3339 timestamp`);
|
|
91
|
-
}
|
|
92
|
-
const timestamp = Date.parse(value);
|
|
93
|
-
if (!Number.isFinite(timestamp)) {
|
|
94
|
-
throw usageError(`${name} must be a valid RFC 3339 timestamp`);
|
|
95
|
-
}
|
|
96
|
-
return new Date(timestamp).toISOString();
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
function normalizeSort(sort) {
|
|
100
|
-
const value = sort ?? "newest";
|
|
101
|
-
if (typeof value !== "string" || !SORTS.has(value)) {
|
|
102
|
-
throw usageError("sort must be newest or oldest");
|
|
103
|
-
}
|
|
104
|
-
return value;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
function normalizeLimit(limit) {
|
|
108
|
-
if (limit === undefined || limit === null) return null;
|
|
109
|
-
const value = typeof limit === "number"
|
|
110
|
-
? limit
|
|
111
|
-
: typeof limit === "string" && /^[1-9]\d*$/.test(limit)
|
|
112
|
-
? Number(limit)
|
|
113
|
-
: Number.NaN;
|
|
114
|
-
if (!Number.isSafeInteger(value) || value <= 0) {
|
|
115
|
-
throw usageError("limit must be a positive integer");
|
|
116
|
-
}
|
|
117
|
-
return value;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export function normalizeIdeaQuery({
|
|
121
|
-
all,
|
|
122
|
-
createdBefore,
|
|
123
|
-
createdSince,
|
|
124
|
-
limit,
|
|
125
|
-
query,
|
|
126
|
-
sort,
|
|
127
|
-
states,
|
|
128
|
-
} = {}) {
|
|
129
|
-
const normalized = {
|
|
130
|
-
states: normalizeStates(states, all),
|
|
131
|
-
query: normalizeQueryText(query),
|
|
132
|
-
createdSince: normalizeTimestamp(createdSince, "createdSince"),
|
|
133
|
-
createdBefore: normalizeTimestamp(createdBefore, "createdBefore"),
|
|
134
|
-
sort: normalizeSort(sort),
|
|
135
|
-
limit: normalizeLimit(limit),
|
|
136
|
-
};
|
|
137
|
-
if (
|
|
138
|
-
normalized.createdSince !== null
|
|
139
|
-
&& normalized.createdBefore !== null
|
|
140
|
-
&& Date.parse(normalized.createdSince) >= Date.parse(normalized.createdBefore)
|
|
141
|
-
) {
|
|
142
|
-
throw usageError("createdSince must be earlier than createdBefore");
|
|
143
|
-
}
|
|
144
|
-
return normalized;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
export function ideaCreatedAt(id) {
|
|
148
|
-
if (!isValidUlid(id)) throw new Error(`Cannot decode invalid idea ULID: ${id}`);
|
|
149
|
-
let timestamp = 0;
|
|
150
|
-
for (const character of id.slice(0, 10)) {
|
|
151
|
-
timestamp = timestamp * 32 + CROCKFORD_BASE32.indexOf(character);
|
|
152
|
-
}
|
|
153
|
-
return new Date(timestamp).toISOString();
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
function markdownText(node) {
|
|
157
|
-
if (node.type === "text" || node.type === "inlineCode") return node.value;
|
|
158
|
-
if (node.type === "image") return node.alt ?? "";
|
|
159
|
-
return (node.children ?? []).map(markdownText).join("");
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
export function extractIdeaTitle(source) {
|
|
163
|
-
if (typeof source !== "string") {
|
|
164
|
-
throw new TypeError("Idea document source must be a string");
|
|
165
|
-
}
|
|
166
|
-
const heading = fromMarkdown(source).children.find(
|
|
167
|
-
(node) => node.type === "heading" && node.depth === 1,
|
|
168
|
-
);
|
|
169
|
-
if (!heading) return undefined;
|
|
170
|
-
const title = markdownText(heading).replaceAll(/\s+/g, " ").trim();
|
|
171
|
-
return title.length === 0 ? undefined : title;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
export function ideaInventoryItem(idea, title) {
|
|
175
|
-
const item = {
|
|
176
|
-
id: idea.id,
|
|
177
|
-
state: idea.state,
|
|
178
|
-
createdAt: ideaCreatedAt(idea.id),
|
|
179
|
-
};
|
|
180
|
-
if (idea.alias !== undefined) item.alias = idea.alias;
|
|
181
|
-
if (title !== undefined) item.title = title;
|
|
182
|
-
return item;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
function compareText(left, right) {
|
|
186
|
-
return left < right ? -1 : left > right ? 1 : 0;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
export function queryIdeaInventory(items, input) {
|
|
190
|
-
const query = normalizeIdeaQuery(input);
|
|
191
|
-
const states = new Set(query.states);
|
|
192
|
-
const needle = query.query?.toLowerCase();
|
|
193
|
-
const createdSince = query.createdSince === null
|
|
194
|
-
? null
|
|
195
|
-
: Date.parse(query.createdSince);
|
|
196
|
-
const createdBefore = query.createdBefore === null
|
|
197
|
-
? null
|
|
198
|
-
: Date.parse(query.createdBefore);
|
|
199
|
-
const filtered = items.filter((idea) => {
|
|
200
|
-
if (!states.has(idea.state)) return false;
|
|
201
|
-
if (
|
|
202
|
-
needle !== undefined
|
|
203
|
-
&& ![idea.id, idea.alias, idea.title]
|
|
204
|
-
.filter((value) => value !== undefined)
|
|
205
|
-
.some((value) => value.toLowerCase().includes(needle))
|
|
206
|
-
) {
|
|
207
|
-
return false;
|
|
208
|
-
}
|
|
209
|
-
const createdAt = Date.parse(idea.createdAt);
|
|
210
|
-
if (createdSince !== null && createdAt < createdSince) return false;
|
|
211
|
-
return createdBefore === null || createdAt < createdBefore;
|
|
212
|
-
});
|
|
213
|
-
const direction = query.sort === "newest" ? -1 : 1;
|
|
214
|
-
filtered.sort((left, right) => direction * compareText(left.id, right.id));
|
|
215
|
-
const counts = Object.fromEntries(IDEA_STATES.map((state) => [state, 0]));
|
|
216
|
-
for (const idea of filtered) counts[idea.state] += 1;
|
|
217
|
-
const ideas = query.limit === null
|
|
218
|
-
? filtered
|
|
219
|
-
: filtered.slice(0, query.limit);
|
|
220
|
-
return {
|
|
221
|
-
query,
|
|
222
|
-
summary: {
|
|
223
|
-
matched: filtered.length,
|
|
224
|
-
returned: ideas.length,
|
|
225
|
-
truncated: ideas.length < filtered.length,
|
|
226
|
-
counts,
|
|
227
|
-
},
|
|
228
|
-
ideas,
|
|
229
|
-
};
|
|
230
|
-
}
|
package/src/idea-templates.js
DELETED
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
export const IDEA_TEMPLATE = `# Replace with a specific title for this idea
|
|
2
|
-
|
|
3
|
-
## Intent
|
|
4
|
-
|
|
5
|
-
<!-- State the desired outcome in one or two sentences. -->
|
|
6
|
-
|
|
7
|
-
## Context
|
|
8
|
-
|
|
9
|
-
<!-- Describe the current problem, situation, or opportunity. -->
|
|
10
|
-
|
|
11
|
-
## Desired outcome
|
|
12
|
-
|
|
13
|
-
<!-- Describe the externally meaningful state that should become true. -->
|
|
14
|
-
|
|
15
|
-
## Scope
|
|
16
|
-
|
|
17
|
-
### In scope
|
|
18
|
-
|
|
19
|
-
<!-- Describe what this idea includes. -->
|
|
20
|
-
|
|
21
|
-
### Out of scope
|
|
22
|
-
|
|
23
|
-
<!-- Describe adjacent work this idea intentionally excludes. -->
|
|
24
|
-
|
|
25
|
-
## Constraints
|
|
26
|
-
|
|
27
|
-
<!-- Record material product, repository, compatibility, or operational constraints. -->
|
|
28
|
-
|
|
29
|
-
## Open questions
|
|
30
|
-
|
|
31
|
-
<!-- Record unresolved decisions. Remove this section when none remain. -->
|
|
32
|
-
`;
|
|
33
|
-
|
|
34
|
-
export const IMPLEMENTATION_TEMPLATE = `# Implementation
|
|
35
|
-
|
|
36
|
-
## Steps
|
|
37
|
-
|
|
38
|
-
<!--
|
|
39
|
-
Give every step a stable I-Sxx identifier and a level-three heading.
|
|
40
|
-
Describe what will change, its boundaries, and important design details.
|
|
41
|
-
Do not use task-list checkboxes in this document.
|
|
42
|
-
-->
|
|
43
|
-
|
|
44
|
-
### I-S01: Step title
|
|
45
|
-
|
|
46
|
-
<!-- Describe this implementation step. -->
|
|
47
|
-
|
|
48
|
-
## Acceptance criteria
|
|
49
|
-
|
|
50
|
-
<!--
|
|
51
|
-
Give every criterion a stable I-ACxx identifier and a level-three heading.
|
|
52
|
-
Describe both the observable outcome and the method that proves it.
|
|
53
|
-
Do not create a separate validation section or use task-list checkboxes.
|
|
54
|
-
-->
|
|
55
|
-
|
|
56
|
-
### I-AC01: Criterion title
|
|
57
|
-
|
|
58
|
-
<!-- Describe the required outcome and how an Agent can prove it. -->
|
|
59
|
-
`;
|
|
60
|
-
|
|
61
|
-
export const DEPLOYMENT_TEMPLATE = `# Deployment
|
|
62
|
-
|
|
63
|
-
## Steps
|
|
64
|
-
|
|
65
|
-
<!--
|
|
66
|
-
Give every step a stable D-Sxx identifier and a level-three heading.
|
|
67
|
-
Describe deployment or external-world verification work.
|
|
68
|
-
Do not use task-list checkboxes in this document.
|
|
69
|
-
-->
|
|
70
|
-
|
|
71
|
-
### D-S01: Step title
|
|
72
|
-
|
|
73
|
-
<!-- Describe this deployment or external-verification step. -->
|
|
74
|
-
|
|
75
|
-
## Acceptance criteria
|
|
76
|
-
|
|
77
|
-
<!--
|
|
78
|
-
Give every criterion a stable D-ACxx identifier and a level-three heading.
|
|
79
|
-
Describe both the observable external outcome and the method that proves it.
|
|
80
|
-
Do not create a separate validation section or use task-list checkboxes.
|
|
81
|
-
-->
|
|
82
|
-
|
|
83
|
-
### D-AC01: Criterion title
|
|
84
|
-
|
|
85
|
-
<!-- Describe the required external outcome and how an Agent can prove it. -->
|
|
86
|
-
`;
|
|
87
|
-
|
|
88
|
-
export const LEDGER_TEMPLATE = `# Ledger
|
|
89
|
-
|
|
90
|
-
## Implementation
|
|
91
|
-
|
|
92
|
-
### Implementation steps
|
|
93
|
-
|
|
94
|
-
- [ ] **I-S01:** Step title
|
|
95
|
-
|
|
96
|
-
### Implementation acceptance criteria
|
|
97
|
-
|
|
98
|
-
- [ ] **I-AC01:** Criterion title
|
|
99
|
-
|
|
100
|
-
## Deployment
|
|
101
|
-
|
|
102
|
-
### Deployment steps
|
|
103
|
-
|
|
104
|
-
- [ ] **D-S01:** Step title
|
|
105
|
-
|
|
106
|
-
### Deployment acceptance criteria
|
|
107
|
-
|
|
108
|
-
- [ ] **D-AC01:** Criterion title
|
|
109
|
-
`;
|
|
110
|
-
|
|
111
|
-
const CHINESE_IDEA_TEMPLATE = `# 将标题替换为这个 idea 的具体名称
|
|
112
|
-
|
|
113
|
-
## 意图
|
|
114
|
-
|
|
115
|
-
<!-- 用一两句话说明期望结果。 -->
|
|
116
|
-
|
|
117
|
-
## 背景
|
|
118
|
-
|
|
119
|
-
<!-- 描述当前问题、情境或机会。 -->
|
|
120
|
-
|
|
121
|
-
## 期望结果
|
|
122
|
-
|
|
123
|
-
<!-- 描述应当实现的、对外有意义的状态。 -->
|
|
124
|
-
|
|
125
|
-
## 范围
|
|
126
|
-
|
|
127
|
-
### 范围内
|
|
128
|
-
|
|
129
|
-
<!-- 描述这个 idea 包含的内容。 -->
|
|
130
|
-
|
|
131
|
-
### 范围外
|
|
132
|
-
|
|
133
|
-
<!-- 描述这个 idea 有意排除的相邻工作。 -->
|
|
134
|
-
|
|
135
|
-
## 约束
|
|
136
|
-
|
|
137
|
-
<!-- 记录重要的产品、仓库、兼容性或操作约束。 -->
|
|
138
|
-
|
|
139
|
-
## 待解决问题
|
|
140
|
-
|
|
141
|
-
<!-- 记录尚未解决的决定;没有时删除本节。 -->
|
|
142
|
-
`;
|
|
143
|
-
|
|
144
|
-
const CHINESE_IMPLEMENTATION_TEMPLATE = `# Implementation
|
|
145
|
-
|
|
146
|
-
## Steps
|
|
147
|
-
|
|
148
|
-
<!--
|
|
149
|
-
为每个步骤分配稳定的 I-Sxx 标识符和三级标题。
|
|
150
|
-
说明修改内容、边界和重要设计细节。
|
|
151
|
-
不要在本文档中使用任务列表复选框。
|
|
152
|
-
-->
|
|
153
|
-
|
|
154
|
-
### I-S01: 步骤标题
|
|
155
|
-
|
|
156
|
-
<!-- 描述该实施步骤。 -->
|
|
157
|
-
|
|
158
|
-
## Acceptance criteria
|
|
159
|
-
|
|
160
|
-
<!--
|
|
161
|
-
为每项标准分配稳定的 I-ACxx 标识符和三级标题。
|
|
162
|
-
同时说明可观察结果及其证明方法。
|
|
163
|
-
不要创建单独的验证章节,也不要使用任务列表复选框。
|
|
164
|
-
-->
|
|
165
|
-
|
|
166
|
-
### I-AC01: 标准标题
|
|
167
|
-
|
|
168
|
-
<!-- 描述所需结果以及 Agent 如何证明该结果。 -->
|
|
169
|
-
`;
|
|
170
|
-
|
|
171
|
-
const CHINESE_DEPLOYMENT_TEMPLATE = `# Deployment
|
|
172
|
-
|
|
173
|
-
## Steps
|
|
174
|
-
|
|
175
|
-
<!--
|
|
176
|
-
为每个步骤分配稳定的 D-Sxx 标识符和三级标题。
|
|
177
|
-
描述部署或现实世界验证工作。
|
|
178
|
-
不要在本文档中使用任务列表复选框。
|
|
179
|
-
-->
|
|
180
|
-
|
|
181
|
-
### D-S01: 步骤标题
|
|
182
|
-
|
|
183
|
-
<!-- 描述该部署或外部验证步骤。 -->
|
|
184
|
-
|
|
185
|
-
## Acceptance criteria
|
|
186
|
-
|
|
187
|
-
<!--
|
|
188
|
-
为每项标准分配稳定的 D-ACxx 标识符和三级标题。
|
|
189
|
-
同时说明可观察的外部结果及其证明方法。
|
|
190
|
-
不要创建单独的验证章节,也不要使用任务列表复选框。
|
|
191
|
-
-->
|
|
192
|
-
|
|
193
|
-
### D-AC01: 标准标题
|
|
194
|
-
|
|
195
|
-
<!-- 描述所需外部结果以及 Agent 如何证明该结果。 -->
|
|
196
|
-
`;
|
|
197
|
-
|
|
198
|
-
const CHINESE_LEDGER_TEMPLATE = `# Ledger
|
|
199
|
-
|
|
200
|
-
## Implementation
|
|
201
|
-
|
|
202
|
-
### Implementation steps
|
|
203
|
-
|
|
204
|
-
- [ ] **I-S01:** 步骤标题
|
|
205
|
-
|
|
206
|
-
### Implementation acceptance criteria
|
|
207
|
-
|
|
208
|
-
- [ ] **I-AC01:** 标准标题
|
|
209
|
-
|
|
210
|
-
## Deployment
|
|
211
|
-
|
|
212
|
-
### Deployment steps
|
|
213
|
-
|
|
214
|
-
- [ ] **D-S01:** 步骤标题
|
|
215
|
-
|
|
216
|
-
### Deployment acceptance criteria
|
|
217
|
-
|
|
218
|
-
- [ ] **D-AC01:** 标准标题
|
|
219
|
-
`;
|
|
220
|
-
|
|
221
|
-
export function ideaTemplates(contentLanguage) {
|
|
222
|
-
const normalized = contentLanguage.toLowerCase();
|
|
223
|
-
if (normalized === "zh" || normalized.startsWith("zh-")) {
|
|
224
|
-
return {
|
|
225
|
-
idea: CHINESE_IDEA_TEMPLATE,
|
|
226
|
-
implementation: CHINESE_IMPLEMENTATION_TEMPLATE,
|
|
227
|
-
deployment: CHINESE_DEPLOYMENT_TEMPLATE,
|
|
228
|
-
ledger: CHINESE_LEDGER_TEMPLATE,
|
|
229
|
-
localized: true,
|
|
230
|
-
templateLanguage: "zh-CN",
|
|
231
|
-
};
|
|
232
|
-
}
|
|
233
|
-
const localized = normalized === "en" || normalized.startsWith("en-");
|
|
234
|
-
return {
|
|
235
|
-
idea: IDEA_TEMPLATE,
|
|
236
|
-
implementation: IMPLEMENTATION_TEMPLATE,
|
|
237
|
-
deployment: DEPLOYMENT_TEMPLATE,
|
|
238
|
-
ledger: LEDGER_TEMPLATE,
|
|
239
|
-
localized,
|
|
240
|
-
templateLanguage: "en-US",
|
|
241
|
-
};
|
|
242
|
-
}
|
package/src/ideas.js
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { parseStrictYaml, stringifyCanonicalYaml } from "./yaml.js";
|
|
2
|
-
import { isCanonicalLanguageTag } from "./language.js";
|
|
3
|
-
|
|
4
|
-
export const IDEA_STATES = [
|
|
5
|
-
"preparing",
|
|
6
|
-
"implementing",
|
|
7
|
-
"deploying",
|
|
8
|
-
"completed",
|
|
9
|
-
"abandoned",
|
|
10
|
-
];
|
|
11
|
-
export const ACTIVE_IDEA_STATES = IDEA_STATES.slice(0, 3);
|
|
12
|
-
|
|
13
|
-
const ULID = /^[0-7][0-9A-HJKMNP-TV-Z]{25}$/;
|
|
14
|
-
const OBJECT_ID = /^(?:[0-9a-f]{40}|[0-9a-f]{64})$/;
|
|
15
|
-
const CONTROL_CHARACTER = /[\u0000-\u001f\u007f-\u009f]/u;
|
|
16
|
-
const STATUS_KEYS = new Set([
|
|
17
|
-
"version",
|
|
18
|
-
"id",
|
|
19
|
-
"alias",
|
|
20
|
-
"language",
|
|
21
|
-
"abandoned",
|
|
22
|
-
"approvedRevision",
|
|
23
|
-
"implementationAcceptedRevision",
|
|
24
|
-
"deploymentAcceptedRevision",
|
|
25
|
-
]);
|
|
26
|
-
const REVISION_KEYS = [
|
|
27
|
-
"approvedRevision",
|
|
28
|
-
"implementationAcceptedRevision",
|
|
29
|
-
"deploymentAcceptedRevision",
|
|
30
|
-
];
|
|
31
|
-
|
|
32
|
-
function ideaStatusError(message) {
|
|
33
|
-
return new Error(`Invalid idea status: ${message}`);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function isMapping(value) {
|
|
37
|
-
return value !== null && !Array.isArray(value) && typeof value === "object";
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
function isValidAlias(value) {
|
|
41
|
-
return (
|
|
42
|
-
typeof value === "string" &&
|
|
43
|
-
value.length > 0 &&
|
|
44
|
-
value.trim() === value &&
|
|
45
|
-
[...value].length <= 120 &&
|
|
46
|
-
!CONTROL_CHARACTER.test(value)
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export function isValidUlid(value) {
|
|
51
|
-
return typeof value === "string" && ULID.test(value);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export function validateIdeaStatus(value, { objectIdLength } = {}) {
|
|
55
|
-
if (!isMapping(value)) throw ideaStatusError("document must be a mapping");
|
|
56
|
-
for (const key of Object.keys(value)) {
|
|
57
|
-
if (!STATUS_KEYS.has(key)) throw ideaStatusError(`unknown field: ${key}`);
|
|
58
|
-
}
|
|
59
|
-
for (const key of ["version", "id"]) {
|
|
60
|
-
if (!Object.hasOwn(value, key)) throw ideaStatusError(`missing ${key}`);
|
|
61
|
-
}
|
|
62
|
-
if (value.version !== 1) throw ideaStatusError("version must be 1");
|
|
63
|
-
if (!isValidUlid(value.id)) throw ideaStatusError("id must be a canonical ULID");
|
|
64
|
-
if (Object.hasOwn(value, "alias") && !isValidAlias(value.alias)) {
|
|
65
|
-
throw ideaStatusError("alias must be 1 to 120 trimmed characters without controls");
|
|
66
|
-
}
|
|
67
|
-
if (
|
|
68
|
-
Object.hasOwn(value, "language") &&
|
|
69
|
-
!isCanonicalLanguageTag(value.language)
|
|
70
|
-
) {
|
|
71
|
-
throw ideaStatusError("language must be a canonical BCP 47 language tag");
|
|
72
|
-
}
|
|
73
|
-
if (Object.hasOwn(value, "abandoned") && value.abandoned !== true) {
|
|
74
|
-
throw ideaStatusError("abandoned must be omitted or true");
|
|
75
|
-
}
|
|
76
|
-
if (
|
|
77
|
-
objectIdLength !== undefined &&
|
|
78
|
-
(!Number.isInteger(objectIdLength) || objectIdLength <= 0)
|
|
79
|
-
) {
|
|
80
|
-
throw ideaStatusError("objectIdLength must be a positive integer");
|
|
81
|
-
}
|
|
82
|
-
for (const key of REVISION_KEYS) {
|
|
83
|
-
if (!Object.hasOwn(value, key)) continue;
|
|
84
|
-
if (
|
|
85
|
-
typeof value[key] !== "string" ||
|
|
86
|
-
!OBJECT_ID.test(value[key]) ||
|
|
87
|
-
(objectIdLength !== undefined && value[key].length !== objectIdLength)
|
|
88
|
-
) {
|
|
89
|
-
throw ideaStatusError(`${key} must be a lowercase hexadecimal Git object ID`);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return value;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export function serializeIdeaStatus(value, options) {
|
|
96
|
-
validateIdeaStatus(value, options);
|
|
97
|
-
const canonical = {
|
|
98
|
-
version: 1,
|
|
99
|
-
id: value.id,
|
|
100
|
-
};
|
|
101
|
-
if (Object.hasOwn(value, "alias")) canonical.alias = value.alias;
|
|
102
|
-
if (Object.hasOwn(value, "language")) canonical.language = value.language;
|
|
103
|
-
if (value.abandoned === true) canonical.abandoned = true;
|
|
104
|
-
for (const key of REVISION_KEYS) {
|
|
105
|
-
if (Object.hasOwn(value, key)) canonical[key] = value[key];
|
|
106
|
-
}
|
|
107
|
-
return stringifyCanonicalYaml(canonical);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export function parseIdeaStatus(source, options) {
|
|
111
|
-
const normalizedSource = source.replaceAll("\r\n", "\n");
|
|
112
|
-
let value;
|
|
113
|
-
try {
|
|
114
|
-
value = parseStrictYaml(normalizedSource);
|
|
115
|
-
} catch (error) {
|
|
116
|
-
throw ideaStatusError(error.message);
|
|
117
|
-
}
|
|
118
|
-
validateIdeaStatus(value, options);
|
|
119
|
-
if (serializeIdeaStatus(value, options) !== normalizedSource) {
|
|
120
|
-
throw ideaStatusError("status is not canonical");
|
|
121
|
-
}
|
|
122
|
-
return value;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
export function deriveIdeaState(revisions, status) {
|
|
126
|
-
if (revisions === null || Array.isArray(revisions) || typeof revisions !== "object") {
|
|
127
|
-
throw ideaStatusError("revisions must be a mapping");
|
|
128
|
-
}
|
|
129
|
-
for (const key of ["idealRevision", "implementationRevision", "deploymentRevision"]) {
|
|
130
|
-
if (typeof revisions[key] !== "string" || !OBJECT_ID.test(revisions[key])) {
|
|
131
|
-
throw ideaStatusError(`${key} must be a lowercase hexadecimal Git object ID`);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
validateIdeaStatus(status);
|
|
135
|
-
if (status.abandoned) return "abandoned";
|
|
136
|
-
if (status.approvedRevision !== revisions.idealRevision) return "preparing";
|
|
137
|
-
if (
|
|
138
|
-
status.implementationAcceptedRevision !== revisions.implementationRevision
|
|
139
|
-
) return "implementing";
|
|
140
|
-
if (status.deploymentAcceptedRevision !== revisions.deploymentRevision) return "deploying";
|
|
141
|
-
return "completed";
|
|
142
|
-
}
|