create-principles-disciple 1.121.7 → 1.121.9
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 +13 -1
- package/console/dist/server/config/pd-config-store.d.ts +1 -3
- package/console/dist/server/config/pd-config-store.js +4 -4
- package/console/dist/server/feedback/channels.d.ts +2 -8
- package/console/dist/server/feedback/channels.js +0 -11
- package/console/dist/server/index.js +34 -5
- package/console/dist/server/models/ActivationsConsoleModel.d.ts +28 -1
- package/console/dist/server/models/ActivationsConsoleModel.js +72 -30
- package/console/dist/server/models/GovernanceExperienceCollector.d.ts +28 -0
- package/console/dist/server/models/GovernanceExperienceCollector.js +305 -0
- package/console/dist/server/models/GovernanceProjectionCollector.d.ts +60 -2
- package/console/dist/server/models/GovernanceProjectionCollector.js +323 -285
- package/console/dist/server/models/PrincipleClassifier.d.ts +1 -1
- package/console/dist/server/models/PrincipleClassifier.js +7 -4
- package/console/dist/server/models/PrinciplesConsoleModel.d.ts +2 -1
- package/console/dist/server/models/ReceiptsConsoleModel.d.ts +5 -0
- package/console/dist/server/models/ReceiptsConsoleModel.js +140 -13
- package/console/dist/server/routes/activations.js +1 -1
- package/console/dist/server/routes/failed-tasks.js +28 -11
- package/console/dist/server/routes/governance.d.ts +26 -0
- package/console/dist/server/routes/governance.js +51 -0
- package/console/dist/server/routes/owner-identity.d.ts +31 -0
- package/console/dist/server/routes/owner-identity.js +76 -0
- package/console/dist/server/routes/update-history.d.ts +5 -0
- package/console/dist/server/routes/update-history.js +50 -4
- package/console/dist/server/routes/update.js +186 -32
- package/console/dist/shared/feedback-channel-ids.d.ts +13 -0
- package/console/dist/shared/feedback-channel-ids.js +12 -0
- package/console/dist/shared/feedback-contract.d.ts +46 -0
- package/console/dist/shared/feedback-contract.js +45 -0
- package/console/dist/ui/App.js +1 -1
- package/console/dist/ui/api.d.ts +22 -3
- package/console/dist/ui/api.js +63 -3
- package/console/dist/ui/components/receipts/ReceiptCoverageDisclosure.d.ts +6 -0
- package/console/dist/ui/components/receipts/ReceiptCoverageDisclosure.js +66 -0
- package/console/dist/ui/i18n/en.json +198 -2
- package/console/dist/ui/i18n/zh-CN.json +196 -0
- package/console/dist/ui/pages/activation/ActivationPage.js +14 -2
- package/console/dist/ui/pages/failed-tasks/FailedTasksPage.js +25 -5
- package/console/dist/ui/pages/focus/FocusPage.d.ts +28 -1
- package/console/dist/ui/pages/focus/FocusPage.js +128 -15
- package/console/dist/ui/pages/principles/PrincipleDetailPage.d.ts +30 -0
- package/console/dist/ui/pages/principles/PrincipleDetailPage.js +49 -6
- package/console/dist/ui/pages/settings/SettingsPage.js +67 -2
- package/console/dist/ui/pages/settings/UpdatePage.js +7 -7
- package/console/dist/ui/utils/enum-labels.js +0 -1
- package/console/dist/ui/utils/validators.d.ts +53 -21
- package/console/dist/ui/utils/validators.js +248 -21
- package/console/dist/web/assets/app.css +6 -0
- package/console/dist/web/assets/app.js +2721 -1664
- package/console/package.json +4 -2
- package/core/dist/host/host-adapter.d.ts +1 -1
- package/core/dist/host/host-adapter.d.ts.map +1 -1
- package/core/dist/host/host-adapter.js +1 -0
- package/core/dist/host/host-adapter.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js +12 -2
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/attack-e2e-pipeline-smoke.test.js +1 -1
- package/core/dist/runtime-v2/__tests__/attack-e2e-pipeline-smoke.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/governance-experience.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/governance-experience.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/governance-experience.test.js +300 -0
- package/core/dist/runtime-v2/__tests__/governance-experience.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/owner-identity.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/owner-identity.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/owner-identity.test.js +147 -0
- package/core/dist/runtime-v2/__tests__/owner-identity.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/product-telemetry-contract.test.d.ts +18 -0
- package/core/dist/runtime-v2/__tests__/product-telemetry-contract.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/product-telemetry-contract.test.js +303 -0
- package/core/dist/runtime-v2/__tests__/product-telemetry-contract.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/recovery-actions-log.test.js +40 -0
- package/core/dist/runtime-v2/__tests__/recovery-actions-log.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/status-contract.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/status-contract.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/status-contract.test.js +107 -0
- package/core/dist/runtime-v2/__tests__/status-contract.test.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/promotion-evidence-snapshot.test.d.ts +2 -0
- package/core/dist/runtime-v2/activation/__tests__/promotion-evidence-snapshot.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/promotion-evidence-snapshot.test.js +104 -0
- package/core/dist/runtime-v2/activation/__tests__/promotion-evidence-snapshot.test.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/promotion-readiness-evaluator.test.js +19 -0
- package/core/dist/runtime-v2/activation/__tests__/promotion-readiness-evaluator.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/rulecode-owner-decision-service.test.js +20 -0
- package/core/dist/runtime-v2/activation/__tests__/rulecode-owner-decision-service.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-safety-store.test.js +40 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-safety-store.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/index.d.ts +2 -0
- package/core/dist/runtime-v2/activation/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/index.js +1 -0
- package/core/dist/runtime-v2/activation/index.js.map +1 -1
- package/core/dist/runtime-v2/activation/promotion-evidence-snapshot.d.ts +30 -0
- package/core/dist/runtime-v2/activation/promotion-evidence-snapshot.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/promotion-evidence-snapshot.js +87 -0
- package/core/dist/runtime-v2/activation/promotion-evidence-snapshot.js.map +1 -0
- package/core/dist/runtime-v2/activation/promotion-readiness-evaluator.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/promotion-readiness-evaluator.js +3 -0
- package/core/dist/runtime-v2/activation/promotion-readiness-evaluator.js.map +1 -1
- package/core/dist/runtime-v2/activation/promotion-readiness-reader.d.ts +1 -1
- package/core/dist/runtime-v2/activation/promotion-readiness-reader.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/promotion-readiness-reader.js +2 -2
- package/core/dist/runtime-v2/activation/promotion-readiness-reader.js.map +1 -1
- package/core/dist/runtime-v2/activation/rulecode-owner-decision-service.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/rulecode-owner-decision-service.js +18 -9
- package/core/dist/runtime-v2/activation/rulecode-owner-decision-service.js.map +1 -1
- package/core/dist/runtime-v2/adapter/__tests__/chaos-json-repair.test.js +1 -1
- package/core/dist/runtime-v2/adapter/__tests__/chaos-json-repair.test.js.map +1 -1
- package/core/dist/runtime-v2/adapter/__tests__/json-extractor.test.js +91 -1
- package/core/dist/runtime-v2/adapter/__tests__/json-extractor.test.js.map +1 -1
- package/core/dist/runtime-v2/adapter/__tests__/pi-ai-runtime-adapter.test.js +59 -12
- package/core/dist/runtime-v2/adapter/__tests__/pi-ai-runtime-adapter.test.js.map +1 -1
- package/core/dist/runtime-v2/adapter/__tests__/runtime-config-contract.test.js +10 -9
- package/core/dist/runtime-v2/adapter/__tests__/runtime-config-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/adapter/__tests__/structured-output-repair.test.js +42 -1
- package/core/dist/runtime-v2/adapter/__tests__/structured-output-repair.test.js.map +1 -1
- package/core/dist/runtime-v2/adapter/json-extractor.d.ts +25 -0
- package/core/dist/runtime-v2/adapter/json-extractor.d.ts.map +1 -1
- package/core/dist/runtime-v2/adapter/json-extractor.js +126 -0
- package/core/dist/runtime-v2/adapter/json-extractor.js.map +1 -1
- package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.d.ts +9 -4
- package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.d.ts.map +1 -1
- package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.js +9 -4
- package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.js.map +1 -1
- package/core/dist/runtime-v2/adapter/output-repair-contract.d.ts +5 -1
- package/core/dist/runtime-v2/adapter/output-repair-contract.d.ts.map +1 -1
- package/core/dist/runtime-v2/adapter/output-repair-contract.js +4 -1
- package/core/dist/runtime-v2/adapter/output-repair-contract.js.map +1 -1
- package/core/dist/runtime-v2/adapter/pi-ai-catalog.d.ts +7 -0
- package/core/dist/runtime-v2/adapter/pi-ai-catalog.d.ts.map +1 -0
- package/core/dist/runtime-v2/adapter/pi-ai-catalog.js +19 -0
- package/core/dist/runtime-v2/adapter/pi-ai-catalog.js.map +1 -0
- package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts +13 -15
- package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts.map +1 -1
- package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js +104 -37
- package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js.map +1 -1
- package/core/dist/runtime-v2/adapter/structured-output-repair.d.ts +16 -1
- package/core/dist/runtime-v2/adapter/structured-output-repair.d.ts.map +1 -1
- package/core/dist/runtime-v2/adapter/structured-output-repair.js +38 -6
- package/core/dist/runtime-v2/adapter/structured-output-repair.js.map +1 -1
- package/core/dist/runtime-v2/adapter/tools/diagnostician-tool.d.ts +1 -1
- package/core/dist/runtime-v2/adapter/tools/diagnostician-tool.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js +8 -9
- package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-contract.test.js +27 -3
- package/core/dist/runtime-v2/config/__tests__/pd-config-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-principles.test.d.ts +11 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-principles.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-principles.test.js +93 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-principles.test.js.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-workspace.test.js +41 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-workspace.test.js.map +1 -1
- package/core/dist/runtime-v2/config/index.d.ts +2 -2
- package/core/dist/runtime-v2/config/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/index.js +2 -0
- package/core/dist/runtime-v2/config/index.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-agent-binding.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-agent-binding.js +4 -13
- package/core/dist/runtime-v2/config/pd-config-agent-binding.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-effective.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-effective.js +14 -7
- package/core/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-feature-flags.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-feature-flags.js +5 -12
- package/core/dist/runtime-v2/config/pd-config-feature-flags.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-types.d.ts +8 -0
- package/core/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-types.js +2 -0
- package/core/dist/runtime-v2/config/pd-config-types.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-validate.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-validate.js +48 -3
- package/core/dist/runtime-v2/config/pd-config-validate.js.map +1 -1
- package/core/dist/runtime-v2/core-principles/__tests__/core-axiom-block.test.js +36 -8
- package/core/dist/runtime-v2/core-principles/__tests__/core-axiom-block.test.js.map +1 -1
- package/core/dist/runtime-v2/core-principles/__tests__/core-principle-registry.test.js +36 -12
- package/core/dist/runtime-v2/core-principles/__tests__/core-principle-registry.test.js.map +1 -1
- package/core/dist/runtime-v2/core-principles/core-axiom-block.d.ts +22 -8
- package/core/dist/runtime-v2/core-principles/core-axiom-block.d.ts.map +1 -1
- package/core/dist/runtime-v2/core-principles/core-axiom-block.js +28 -13
- package/core/dist/runtime-v2/core-principles/core-axiom-block.js.map +1 -1
- package/core/dist/runtime-v2/core-principles/core-principle-registry.d.ts +29 -4
- package/core/dist/runtime-v2/core-principles/core-principle-registry.d.ts.map +1 -1
- package/core/dist/runtime-v2/core-principles/core-principle-registry.js +68 -33
- package/core/dist/runtime-v2/core-principles/core-principle-registry.js.map +1 -1
- package/core/dist/runtime-v2/core-principles/index.d.ts +3 -3
- package/core/dist/runtime-v2/core-principles/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/core-principles/index.js +1 -1
- package/core/dist/runtime-v2/core-principles/index.js.map +1 -1
- package/core/dist/runtime-v2/evolution/evolution-types.d.ts +2 -1
- package/core/dist/runtime-v2/evolution/evolution-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/evolution/evolution-types.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/anonymous-product-telemetry-flag.test.d.ts +2 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/anonymous-product-telemetry-flag.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/anonymous-product-telemetry-flag.test.js +48 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/anonymous-product-telemetry-flag.test.js.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/codex-conversation-ingestion-flag.test.d.ts +2 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/codex-conversation-ingestion-flag.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/codex-conversation-ingestion-flag.test.js +46 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/codex-conversation-ingestion-flag.test.js.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +86 -31
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.d.ts +2 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.js +83 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.js.map +1 -0
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts +19 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js +128 -10
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts +37 -0
- package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts.map +1 -0
- package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js +304 -0
- package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js.map +1 -0
- package/core/dist/runtime-v2/feature-flags/index.d.ts +4 -2
- package/core/dist/runtime-v2/feature-flags/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/feature-flags/index.js +3 -1
- package/core/dist/runtime-v2/feature-flags/index.js.map +1 -1
- package/core/dist/runtime-v2/governance-experience-contract.d.ts +468 -0
- package/core/dist/runtime-v2/governance-experience-contract.d.ts.map +1 -0
- package/core/dist/runtime-v2/governance-experience-contract.js +208 -0
- package/core/dist/runtime-v2/governance-experience-contract.js.map +1 -0
- package/core/dist/runtime-v2/governance-experience.d.ts +11 -0
- package/core/dist/runtime-v2/governance-experience.d.ts.map +1 -0
- package/core/dist/runtime-v2/governance-experience.js +276 -0
- package/core/dist/runtime-v2/governance-experience.js.map +1 -0
- package/core/dist/runtime-v2/index.d.ts +20 -8
- package/core/dist/runtime-v2/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/index.js +20 -6
- package/core/dist/runtime-v2/index.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.js +29 -10
- package/core/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.js.map +1 -1
- package/core/dist/runtime-v2/owner-identity.d.ts +69 -0
- package/core/dist/runtime-v2/owner-identity.d.ts.map +1 -0
- package/core/dist/runtime-v2/owner-identity.js +179 -0
- package/core/dist/runtime-v2/owner-identity.js.map +1 -0
- package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.js +2 -3
- package/core/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
- package/core/dist/runtime-v2/product-telemetry/daily-identity.d.ts +70 -0
- package/core/dist/runtime-v2/product-telemetry/daily-identity.d.ts.map +1 -0
- package/core/dist/runtime-v2/product-telemetry/daily-identity.js +89 -0
- package/core/dist/runtime-v2/product-telemetry/daily-identity.js.map +1 -0
- package/core/dist/runtime-v2/product-telemetry/snapshot-contract.d.ts +110 -0
- package/core/dist/runtime-v2/product-telemetry/snapshot-contract.d.ts.map +1 -0
- package/core/dist/runtime-v2/product-telemetry/snapshot-contract.js +250 -0
- package/core/dist/runtime-v2/product-telemetry/snapshot-contract.js.map +1 -0
- package/core/dist/runtime-v2/pruning-read-model.d.ts +2 -1
- package/core/dist/runtime-v2/pruning-read-model.d.ts.map +1 -1
- package/core/dist/runtime-v2/pruning-read-model.js.map +1 -1
- package/core/dist/runtime-v2/receipt-coverage.d.ts +63 -0
- package/core/dist/runtime-v2/receipt-coverage.d.ts.map +1 -0
- package/core/dist/runtime-v2/receipt-coverage.js +19 -0
- package/core/dist/runtime-v2/receipt-coverage.js.map +1 -0
- package/core/dist/runtime-v2/recovery-actions-log.d.ts +7 -0
- package/core/dist/runtime-v2/recovery-actions-log.d.ts.map +1 -1
- package/core/dist/runtime-v2/recovery-actions-log.js +6 -0
- package/core/dist/runtime-v2/recovery-actions-log.js.map +1 -1
- package/core/dist/runtime-v2/runtime-protocol.js +1 -1
- package/core/dist/runtime-v2/runtime-protocol.js.map +1 -1
- package/core/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.js +17 -1
- package/core/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.js.map +1 -1
- package/core/dist/runtime-v2/store/task/sqlite-task-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/task/sqlite-task-store.js +10 -0
- package/core/dist/runtime-v2/store/task/sqlite-task-store.js.map +1 -1
- package/core/dist/runtime-v2/store/task/task-types.d.ts +2 -0
- package/core/dist/runtime-v2/store/task/task-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/task-status.d.ts +9 -5
- package/core/dist/runtime-v2/task-status.d.ts.map +1 -1
- package/core/dist/runtime-v2/task-status.js +15 -7
- package/core/dist/runtime-v2/task-status.js.map +1 -1
- package/core/dist/runtime-v2/types/event-types.d.ts +4 -0
- package/core/dist/runtime-v2/types/event-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/event-types.js.map +1 -1
- package/core/dist/runtime-v2/types/index.d.ts +1 -1
- package/core/dist/runtime-v2/types/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/index.js +1 -1
- package/core/dist/runtime-v2/types/index.js.map +1 -1
- package/core/dist/runtime-v2/types/principle-enums.d.ts +3 -2
- package/core/dist/runtime-v2/types/principle-enums.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/principle-enums.js +11 -5
- package/core/dist/runtime-v2/types/principle-enums.js.map +1 -1
- package/core/dist/runtime-v2/types/principle-schema.d.ts +1 -1
- package/core/dist/runtime-v2/types/principle-tree-store.d.ts +1 -1
- package/core/dist/runtime-v2/utils/cli-process-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/utils/cli-process-runner.js +3 -2
- package/core/dist/runtime-v2/utils/cli-process-runner.js.map +1 -1
- package/core/package.json +4 -5
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +4 -2
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +47 -11
- package/dist/index.js.map +1 -1
- package/dist/installer.d.ts +31 -5
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +472 -161
- package/dist/installer.js.map +1 -1
- package/dist/installers/codex-host-installer.d.ts.map +1 -1
- package/dist/installers/codex-host-installer.js +4 -0
- package/dist/installers/codex-host-installer.js.map +1 -1
- package/dist/mvp-config.d.ts +10 -0
- package/dist/mvp-config.d.ts.map +1 -1
- package/dist/mvp-config.js +30 -3
- package/dist/mvp-config.js.map +1 -1
- package/dist/uninstaller.d.ts +9 -1
- package/dist/uninstaller.d.ts.map +1 -1
- package/dist/uninstaller.js +103 -23
- package/dist/uninstaller.js.map +1 -1
- package/dist/update/atomic-file.d.ts +35 -0
- package/dist/update/atomic-file.d.ts.map +1 -0
- package/dist/update/atomic-file.js +120 -0
- package/dist/update/atomic-file.js.map +1 -0
- package/dist/update/bootstrap-protocol.d.ts +55 -0
- package/dist/update/bootstrap-protocol.d.ts.map +1 -0
- package/dist/update/bootstrap-protocol.js +132 -0
- package/dist/update/bootstrap-protocol.js.map +1 -0
- package/dist/update/channel-metadata.d.ts +28 -0
- package/dist/update/channel-metadata.d.ts.map +1 -0
- package/dist/update/channel-metadata.js +90 -0
- package/dist/update/channel-metadata.js.map +1 -0
- package/dist/update/channel-promotion.d.ts +39 -0
- package/dist/update/channel-promotion.d.ts.map +1 -0
- package/dist/update/channel-promotion.js +55 -0
- package/dist/update/channel-promotion.js.map +1 -0
- package/dist/update/data-compatibility.d.ts +35 -0
- package/dist/update/data-compatibility.d.ts.map +1 -0
- package/dist/update/data-compatibility.js +45 -0
- package/dist/update/data-compatibility.js.map +1 -0
- package/dist/update/install-layout.d.ts +59 -0
- package/dist/update/install-layout.d.ts.map +1 -0
- package/dist/update/install-layout.js +127 -0
- package/dist/update/install-layout.js.map +1 -0
- package/dist/update/legacy-migration.d.ts +56 -0
- package/dist/update/legacy-migration.d.ts.map +1 -0
- package/dist/update/legacy-migration.js +254 -0
- package/dist/update/legacy-migration.js.map +1 -0
- package/dist/update/product-identity.d.ts +50 -0
- package/dist/update/product-identity.d.ts.map +1 -0
- package/dist/update/product-identity.js +63 -0
- package/dist/update/product-identity.js.map +1 -0
- package/dist/update/release-asset-manifest.d.ts +31 -0
- package/dist/update/release-asset-manifest.d.ts.map +1 -0
- package/dist/update/release-asset-manifest.js +161 -0
- package/dist/update/release-asset-manifest.js.map +1 -0
- package/dist/update/release-identity.d.ts +33 -0
- package/dist/update/release-identity.d.ts.map +1 -0
- package/dist/update/release-identity.js +108 -0
- package/dist/update/release-identity.js.map +1 -0
- package/dist/update/release-manager.d.ts +96 -0
- package/dist/update/release-manager.d.ts.map +1 -0
- package/dist/update/release-manager.js +253 -0
- package/dist/update/release-manager.js.map +1 -0
- package/dist/update/release-metadata.d.ts +57 -0
- package/dist/update/release-metadata.d.ts.map +1 -0
- package/dist/update/release-metadata.js +200 -0
- package/dist/update/release-metadata.js.map +1 -0
- package/dist/update/release-policy.d.ts +51 -0
- package/dist/update/release-policy.d.ts.map +1 -0
- package/dist/update/release-policy.js +103 -0
- package/dist/update/release-policy.js.map +1 -0
- package/dist/update/rollback-policy.d.ts +56 -0
- package/dist/update/rollback-policy.d.ts.map +1 -0
- package/dist/update/rollback-policy.js +61 -0
- package/dist/update/rollback-policy.js.map +1 -0
- package/dist/update/transaction-journal.d.ts +121 -0
- package/dist/update/transaction-journal.d.ts.map +1 -0
- package/dist/update/transaction-journal.js +333 -0
- package/dist/update/transaction-journal.js.map +1 -0
- package/dist/update/trust-metadata.d.ts +55 -0
- package/dist/update/trust-metadata.d.ts.map +1 -0
- package/dist/update/trust-metadata.js +170 -0
- package/dist/update/trust-metadata.js.map +1 -0
- package/dist/update/update-history.d.ts +46 -0
- package/dist/update/update-history.d.ts.map +1 -0
- package/dist/update/update-history.js +123 -0
- package/dist/update/update-history.js.map +1 -0
- package/dist/utils/env.d.ts +7 -0
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/env.js +134 -44
- package/dist/utils/env.js.map +1 -1
- package/host-runtime/dist/governance-observation-store.d.ts +172 -0
- package/host-runtime/dist/governance-observation-store.js +649 -0
- package/host-runtime/dist/index.d.ts +6 -0
- package/host-runtime/dist/index.js +8 -0
- package/host-runtime/dist/product-telemetry/consent-store.d.ts +107 -0
- package/host-runtime/dist/product-telemetry/consent-store.js +329 -0
- package/host-runtime/dist/product-telemetry/eligibility.d.ts +53 -0
- package/host-runtime/dist/product-telemetry/eligibility.js +69 -0
- package/host-runtime/dist/product-telemetry/exporter.d.ts +46 -0
- package/host-runtime/dist/product-telemetry/exporter.js +71 -0
- package/host-runtime/dist/product-telemetry/milestone-readers.d.ts +61 -0
- package/host-runtime/dist/product-telemetry/milestone-readers.js +234 -0
- package/host-runtime/dist/product-telemetry/service.d.ts +142 -0
- package/host-runtime/dist/product-telemetry/service.js +532 -0
- package/host-runtime/dist/product-telemetry/workspace-scope.d.ts +38 -0
- package/host-runtime/dist/product-telemetry/workspace-scope.js +64 -0
- package/host-runtime/package.json +7 -2
- package/install-layout/dist/index.d.ts +48 -0
- package/install-layout/dist/index.js +81 -0
- package/install-layout/dist/index.test.d.ts +1 -0
- package/install-layout/dist/index.test.js +34 -0
- package/install-layout/package.json +33 -0
- package/package.json +16 -6
- package/pd-cli/dist/commands/__tests__/telemetry-flag-wiring.test.d.ts +9 -0
- package/pd-cli/dist/commands/__tests__/telemetry-flag-wiring.test.d.ts.map +1 -0
- package/pd-cli/dist/commands/__tests__/telemetry-flag-wiring.test.js +76 -0
- package/pd-cli/dist/commands/__tests__/telemetry-flag-wiring.test.js.map +1 -0
- package/pd-cli/dist/commands/__tests__/version.test.d.ts +2 -0
- package/pd-cli/dist/commands/__tests__/version.test.d.ts.map +1 -0
- package/pd-cli/dist/commands/__tests__/version.test.js +134 -0
- package/pd-cli/dist/commands/__tests__/version.test.js.map +1 -0
- package/pd-cli/dist/commands/console.d.ts.map +1 -1
- package/pd-cli/dist/commands/console.js +29 -10
- package/pd-cli/dist/commands/console.js.map +1 -1
- package/pd-cli/dist/commands/pain-record.d.ts.map +1 -1
- package/pd-cli/dist/commands/pain-record.js +6 -15
- package/pd-cli/dist/commands/pain-record.js.map +1 -1
- package/pd-cli/dist/commands/runtime-activation.d.ts +29 -0
- package/pd-cli/dist/commands/runtime-activation.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-activation.js +70 -31
- package/pd-cli/dist/commands/runtime-activation.js.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-enqueue-successors.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-enqueue-successors.js +2 -2
- package/pd-cli/dist/commands/runtime-internalization-enqueue-successors.js.map +1 -1
- package/pd-cli/dist/commands/telemetry.d.ts +82 -0
- package/pd-cli/dist/commands/telemetry.d.ts.map +1 -0
- package/pd-cli/dist/commands/telemetry.js +268 -0
- package/pd-cli/dist/commands/telemetry.js.map +1 -0
- package/pd-cli/dist/commands/version.d.ts +11 -0
- package/pd-cli/dist/commands/version.d.ts.map +1 -0
- package/pd-cli/dist/commands/version.js +48 -0
- package/pd-cli/dist/commands/version.js.map +1 -0
- package/pd-cli/dist/index.js +35 -2
- package/pd-cli/dist/index.js.map +1 -1
- package/pd-cli/dist/services/version-report.d.ts +44 -0
- package/pd-cli/dist/services/version-report.d.ts.map +1 -0
- package/pd-cli/dist/services/version-report.js +152 -0
- package/pd-cli/dist/services/version-report.js.map +1 -0
- package/pd-cli/package.json +3 -2
- package/plugin/dist/bundle.js +870 -932
- package/plugin/dist/core/init.d.ts +2 -1
- package/plugin/dist/core/principle-application-ledger.d.ts +10 -0
- package/plugin/dist/core/product-telemetry-trigger.d.ts +14 -0
- package/plugin/dist/core/thinking-os-parser.d.ts +5 -2
- package/plugin/dist/governance-audit.js +386 -0
- package/plugin/dist/hooks/gate-block-helper.d.ts +25 -1
- package/plugin/dist/hooks/gate.d.ts +22 -0
- package/plugin/dist/openclaw.plugin.json +1 -1
- package/plugin/dist/rulehost-evidence.js +832 -0
- package/plugin/dist/templates/langs/en/principles/THINKING_OS.md +53 -45
- package/plugin/dist/templates/langs/en/skills/pd-mentor/SKILL.md +1 -1
- package/plugin/dist/templates/langs/zh/principles/THINKING_OS.md +62 -46
- package/plugin/dist/templates/langs/zh/skills/pd-mentor/SKILL.md +1 -1
- package/plugin/dist/templates/workspace/.principles/THINKING_OS.md +66 -38
- package/plugin/openclaw.plugin.json +1 -1
- package/plugin/package.json +1 -1
- package/plugin/templates/langs/en/principles/THINKING_OS.md +53 -45
- package/plugin/templates/langs/en/skills/pd-mentor/SKILL.md +1 -1
- package/plugin/templates/langs/zh/principles/THINKING_OS.md +62 -46
- package/plugin/templates/langs/zh/skills/pd-mentor/SKILL.md +1 -1
- package/plugin/templates/workspace/.principles/THINKING_OS.md +66 -38
|
@@ -3,27 +3,46 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { describe, it, expect } from 'vitest';
|
|
5
5
|
import { formatCorePrinciplesList, buildCoreAxiomBlock, } from '../core-axiom-block.js';
|
|
6
|
-
import { CORE_PRINCIPLES } from '../core-principle-registry.js';
|
|
6
|
+
import { CORE_PRINCIPLES, getFoundationalPrinciples, getOperatingPrinciples, } from '../core-principle-registry.js';
|
|
7
7
|
describe('formatCorePrinciplesList', () => {
|
|
8
|
-
it('formats all 10 principles as "T-XX: statement" lines', () => {
|
|
8
|
+
it('formats all 10 principles as "T-XX: statement" lines by default', () => {
|
|
9
9
|
const result = formatCorePrinciplesList();
|
|
10
10
|
const lines = result.split('\n');
|
|
11
11
|
expect(lines).toHaveLength(10);
|
|
12
12
|
expect(lines[0]).toMatch(/^T-01: /);
|
|
13
13
|
expect(lines[9]).toMatch(/^T-10: /);
|
|
14
|
+
expect(result).toContain('T-07:');
|
|
14
15
|
});
|
|
15
16
|
it('uses English statements by default', () => {
|
|
16
17
|
const result = formatCorePrinciplesList();
|
|
17
|
-
expect(result).toContain('
|
|
18
|
+
expect(result).toContain('Build a sufficient model of the relevant system');
|
|
18
19
|
});
|
|
19
20
|
it('uses Chinese statements when outputLanguage is zh-CN', () => {
|
|
20
21
|
const result = formatCorePrinciplesList('zh-CN');
|
|
21
|
-
expect(result).toContain('
|
|
22
|
+
expect(result).toContain('在进行有后果的变更前,先建立对相关系统足够准确的理解');
|
|
22
23
|
});
|
|
23
24
|
it('uses English statements when outputLanguage is en', () => {
|
|
24
25
|
const result = formatCorePrinciplesList('en');
|
|
25
|
-
expect(result).toContain('
|
|
26
|
-
expect(result).not.toContain('
|
|
26
|
+
expect(result).toContain('Build a sufficient model of the relevant system');
|
|
27
|
+
expect(result).not.toContain('在进行有后果的变更前');
|
|
28
|
+
});
|
|
29
|
+
it("scope 'foundational' lists exactly the foundational axioms", () => {
|
|
30
|
+
const result = formatCorePrinciplesList('en', 'foundational');
|
|
31
|
+
expect(result.split('\n')).toHaveLength(getFoundationalPrinciples().length);
|
|
32
|
+
for (const p of getFoundationalPrinciples()) {
|
|
33
|
+
expect(result).toContain(`${p.id}:`);
|
|
34
|
+
}
|
|
35
|
+
// Operating principles must never land in the foundational slice.
|
|
36
|
+
for (const p of getOperatingPrinciples()) {
|
|
37
|
+
expect(result).not.toContain(`${p.id}:`);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
it("scope 'operating' lists exactly the operating principles", () => {
|
|
41
|
+
const result = formatCorePrinciplesList('en', 'operating');
|
|
42
|
+
expect(result.split('\n')).toHaveLength(getOperatingPrinciples().length);
|
|
43
|
+
expect(result).toContain('T-05:');
|
|
44
|
+
expect(result).toContain('T-07:');
|
|
45
|
+
expect(result).not.toContain('T-01:');
|
|
27
46
|
});
|
|
28
47
|
});
|
|
29
48
|
describe('buildCoreAxiomBlock', () => {
|
|
@@ -48,12 +67,21 @@ describe('buildCoreAxiomBlock', () => {
|
|
|
48
67
|
expect(result).toContain('Fabricating IDs not in this');
|
|
49
68
|
expect(result).toContain('validation failure');
|
|
50
69
|
});
|
|
51
|
-
it('includes all 10 core principles', () => {
|
|
70
|
+
it('includes all 10 core principles under the default scope', () => {
|
|
52
71
|
const result = buildCoreAxiomBlock({ coreGrounding: true });
|
|
53
72
|
for (const p of CORE_PRINCIPLES) {
|
|
54
73
|
expect(result).toContain(p.id + ':');
|
|
55
74
|
}
|
|
56
75
|
});
|
|
76
|
+
it('honors scope override (foundational only)', () => {
|
|
77
|
+
const result = buildCoreAxiomBlock({ coreGrounding: true, scope: 'foundational' });
|
|
78
|
+
expect(result).toContain('T-01:');
|
|
79
|
+
// The list section must be exactly the foundational slice.
|
|
80
|
+
expect(result).toContain(formatCorePrinciplesList(undefined, 'foundational'));
|
|
81
|
+
for (const p of getOperatingPrinciples()) {
|
|
82
|
+
expect(result).not.toContain(`${p.id}:`);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
57
85
|
it('uses custom section title', () => {
|
|
58
86
|
const result = buildCoreAxiomBlock({
|
|
59
87
|
coreGrounding: true,
|
|
@@ -81,7 +109,7 @@ describe('buildCoreAxiomBlock', () => {
|
|
|
81
109
|
});
|
|
82
110
|
it('uses Chinese statements when outputLanguage is zh-CN', () => {
|
|
83
111
|
const result = buildCoreAxiomBlock({ coreGrounding: true, outputLanguage: 'zh-CN' });
|
|
84
|
-
expect(result).toContain('
|
|
112
|
+
expect(result).toContain('在进行有后果的变更前,先建立对相关系统足够准确的理解');
|
|
85
113
|
});
|
|
86
114
|
it('block starts with newline for easy insertion into prompts', () => {
|
|
87
115
|
const result = buildCoreAxiomBlock({ coreGrounding: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-axiom-block.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/core-principles/__tests__/core-axiom-block.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"core-axiom-block.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/core-principles/__tests__/core-axiom-block.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,46 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest';
|
|
2
2
|
import { Value } from '@sinclair/typebox/value';
|
|
3
|
-
import { CORE_PRINCIPLES, CORE_PRINCIPLE_IDS, isCorePrincipleId, getCorePrinciple, CorePrincipleSchema, } from '../core-principle-registry.js';
|
|
3
|
+
import { CORE_PRINCIPLES, CORE_PRINCIPLE_IDS, getFoundationalPrinciples, getOperatingPrinciples, isCorePrincipleId, getCorePrinciple, CorePrincipleSchema, } from '../core-principle-registry.js';
|
|
4
4
|
describe('Core Principle Registry', () => {
|
|
5
|
-
it('exports exactly 10
|
|
5
|
+
it('exports exactly 10 built-in principles', () => {
|
|
6
6
|
expect(CORE_PRINCIPLES).toHaveLength(10);
|
|
7
|
+
expect(CORE_PRINCIPLE_IDS).toHaveLength(10);
|
|
7
8
|
});
|
|
8
|
-
it('contains T-01 through T-10', () => {
|
|
9
|
-
|
|
10
|
-
expect(ids).toEqual(['T-01', 'T-02', 'T-03', 'T-04', 'T-05', 'T-06', 'T-07', 'T-08', 'T-09', 'T-10']);
|
|
9
|
+
it('contains exactly T-01 through T-10', () => {
|
|
10
|
+
expect(CORE_PRINCIPLES.map(p => p.id)).toEqual(['T-01', 'T-02', 'T-03', 'T-04', 'T-05', 'T-06', 'T-07', 'T-08', 'T-09', 'T-10']);
|
|
11
11
|
});
|
|
12
|
-
it('
|
|
13
|
-
|
|
12
|
+
it('layer helpers partition the registry: 6 foundational + 4 operating', () => {
|
|
13
|
+
const foundational = getFoundationalPrinciples();
|
|
14
|
+
const operating = getOperatingPrinciples();
|
|
15
|
+
expect(foundational).toHaveLength(6);
|
|
16
|
+
expect(operating).toHaveLength(4);
|
|
17
|
+
expect([...foundational, ...operating].map(p => p.id).sort())
|
|
18
|
+
.toEqual(CORE_PRINCIPLES.map(p => p.id).sort());
|
|
19
|
+
});
|
|
20
|
+
it('foundational set is exactly the <core_principles> injection set', () => {
|
|
21
|
+
expect(getFoundationalPrinciples().map(p => p.id).sort())
|
|
22
|
+
.toEqual(['T-01', 'T-02', 'T-03', 'T-04', 'T-06', 'T-08']);
|
|
23
|
+
});
|
|
24
|
+
it('operating set carries Safety Rails, Close the Loop, Divide And Conquer, Memory Externalization', () => {
|
|
25
|
+
const byId = new Map(getOperatingPrinciples().map(p => [p.id, p.name]));
|
|
26
|
+
expect(byId.get('T-05')).toBe('Safety Rails');
|
|
27
|
+
expect(byId.get('T-07')).toBe('Close the Loop');
|
|
28
|
+
expect(byId.get('T-09')).toBe('Divide And Conquer');
|
|
29
|
+
expect(byId.get('T-10')).toBe('Memory Externalization');
|
|
30
|
+
});
|
|
31
|
+
it('T-07 is Close the Loop and no T-11 exists (pre-release reset)', () => {
|
|
32
|
+
const t07 = getCorePrinciple('T-07');
|
|
33
|
+
expect(t07?.name).toBe('Close the Loop');
|
|
34
|
+
expect(t07?.nameZh).toBe('闭环验证');
|
|
35
|
+
expect(isCorePrincipleId('T-11')).toBe(false);
|
|
14
36
|
});
|
|
15
37
|
it('isCorePrincipleId returns true for valid ids', () => {
|
|
16
38
|
expect(isCorePrincipleId('T-01')).toBe(true);
|
|
39
|
+
expect(isCorePrincipleId('T-07')).toBe(true);
|
|
17
40
|
expect(isCorePrincipleId('T-10')).toBe(true);
|
|
18
41
|
});
|
|
19
42
|
it('isCorePrincipleId returns false for invalid ids', () => {
|
|
43
|
+
expect(isCorePrincipleId('T-11')).toBe(false);
|
|
20
44
|
expect(isCorePrincipleId('T-99')).toBe(false);
|
|
21
45
|
expect(isCorePrincipleId('')).toBe(false);
|
|
22
46
|
expect(isCorePrincipleId('t-01')).toBe(false); // case-sensitive
|
|
@@ -28,18 +52,19 @@ describe('Core Principle Registry', () => {
|
|
|
28
52
|
expect(p?.name).toBe('Survey Before Acting');
|
|
29
53
|
});
|
|
30
54
|
it('getCorePrinciple returns undefined for invalid id', () => {
|
|
55
|
+
expect(getCorePrinciple('T-11')).toBeUndefined();
|
|
31
56
|
expect(getCorePrinciple('T-99')).toBeUndefined();
|
|
32
57
|
});
|
|
33
58
|
it('registry is frozen (immutable)', () => {
|
|
34
59
|
expect(Object.isFrozen(CORE_PRINCIPLES)).toBe(true);
|
|
35
|
-
// Attempting mutation should not change the value
|
|
36
60
|
expect(() => {
|
|
37
|
-
CORE_PRINCIPLES.push(Object.freeze({ id: 'T-99', name: 'Fake', nameZh: '假', statement: 'Fake', statementZh: '假' }));
|
|
61
|
+
CORE_PRINCIPLES.push(Object.freeze({ id: 'T-99', layer: 'foundational', name: 'Fake', nameZh: '假', statement: 'Fake', statementZh: '假' }));
|
|
38
62
|
}).toThrow();
|
|
39
63
|
});
|
|
40
64
|
it('each principle has required fields', () => {
|
|
41
65
|
for (const p of CORE_PRINCIPLES) {
|
|
42
66
|
expect(p.id).toMatch(/^T-\d{2}$/);
|
|
67
|
+
expect(['foundational', 'operating']).toContain(p.layer);
|
|
43
68
|
expect(typeof p.name).toBe('string');
|
|
44
69
|
expect(p.name.length).toBeGreaterThan(0);
|
|
45
70
|
expect(typeof p.nameZh).toBe('string');
|
|
@@ -52,11 +77,9 @@ describe('Core Principle Registry', () => {
|
|
|
52
77
|
});
|
|
53
78
|
it('each principle has bilingual (EN+ZH) fields', () => {
|
|
54
79
|
for (const p of CORE_PRINCIPLES) {
|
|
55
|
-
// ZH fields must be non-empty
|
|
56
80
|
expect(p.nameZh.length).toBeGreaterThan(0);
|
|
57
81
|
expect(p.statementZh.length).toBeGreaterThan(0);
|
|
58
|
-
// ZH should differ from EN
|
|
59
|
-
expect(p.nameZh).not.toEqual(p.name);
|
|
82
|
+
expect(p.nameZh).not.toEqual(p.name); // ZH should differ from EN
|
|
60
83
|
}
|
|
61
84
|
});
|
|
62
85
|
it('CorePrincipleSchema validates a known principle', () => {
|
|
@@ -66,6 +89,7 @@ describe('Core Principle Registry', () => {
|
|
|
66
89
|
});
|
|
67
90
|
it('CorePrincipleSchema rejects invalid data', () => {
|
|
68
91
|
expect(Value.Check(CorePrincipleSchema, { id: 123, name: null })).toBe(false);
|
|
92
|
+
expect(Value.Check(CorePrincipleSchema, { id: 'T-01', layer: 'mystery', name: 'X', nameZh: 'x', statement: 'Y', statementZh: 'y' })).toBe(false);
|
|
69
93
|
});
|
|
70
94
|
});
|
|
71
95
|
//# sourceMappingURL=core-principle-registry.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-principle-registry.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/core-principles/__tests__/core-principle-registry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAEvC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"core-principle-registry.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/core-principles/__tests__/core-principle-registry.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core Axiom Block Builder — shared prompt section for CORE_PRINCIPLES injection.
|
|
3
3
|
*
|
|
4
|
-
* Provides a single, consistent way to inject the
|
|
5
|
-
* into any prompt builder. Used by
|
|
6
|
-
*
|
|
4
|
+
* Provides a single, consistent way to inject the core principle list
|
|
5
|
+
* into any prompt builder. Used by the OpenClaw prompt hook (foundational
|
|
6
|
+
* axioms → `<core_principles>`), the diagnostician pipeline (rootcause,
|
|
7
|
+
* distiller), and the internalization pipeline (dreamer, philosopher, scribe).
|
|
7
8
|
*
|
|
8
9
|
* ## Design
|
|
9
10
|
*
|
|
10
11
|
* - `formatCorePrinciplesList()` — low-level: just the formatted list lines
|
|
11
12
|
* - `buildCoreAxiomBlock()` — high-level: conditional block with header + instruction
|
|
12
13
|
*
|
|
13
|
-
* Both support bilingual output via `outputLanguage
|
|
14
|
+
* Both support bilingual output via `outputLanguage` and layer scoping via
|
|
15
|
+
* `scope` (default `'all'`: the full 10-principle set for LLM grounding).
|
|
14
16
|
*/
|
|
15
17
|
import type { OutputLanguage } from '../language-directive.js';
|
|
18
|
+
/**
|
|
19
|
+
* Which registry slice a formatter emits. The registry is the only
|
|
20
|
+
* classification source — callers never hand-write id filters.
|
|
21
|
+
* - 'foundational' — foundational axioms (the `<core_principles>` set)
|
|
22
|
+
* - 'operating' — operating principles
|
|
23
|
+
* - 'all' — the full 10-principle set; default, used for LLM axiom
|
|
24
|
+
* grounding in diagnostician/internalization prompts
|
|
25
|
+
*/
|
|
26
|
+
export type CorePrincipleScope = 'foundational' | 'operating' | 'all';
|
|
16
27
|
export interface CoreAxiomBlockOptions {
|
|
17
28
|
/** Whether to include the core axioms section (default: false). */
|
|
18
29
|
coreGrounding?: boolean;
|
|
@@ -29,19 +40,22 @@ export interface CoreAxiomBlockOptions {
|
|
|
29
40
|
instruction?: string;
|
|
30
41
|
/** Output language for bilingual principle statements. */
|
|
31
42
|
outputLanguage?: OutputLanguage;
|
|
43
|
+
/** Which registry slice to list (default: 'active'). */
|
|
44
|
+
scope?: CorePrincipleScope;
|
|
32
45
|
/** Fallback string when coreGrounding is false (default: ''). */
|
|
33
46
|
fallback?: string;
|
|
34
47
|
}
|
|
35
48
|
/**
|
|
36
|
-
* Format
|
|
49
|
+
* Format a core principle list as a newline-separated string.
|
|
37
50
|
*
|
|
38
51
|
* Each line: `T-XX: <statement>`
|
|
39
52
|
* When `outputLanguage` is 'zh-CN', uses `statementZh` instead of `statement`.
|
|
40
53
|
*
|
|
41
54
|
* @param outputLanguage - Optional language override for bilingual output.
|
|
42
|
-
* @
|
|
55
|
+
* @param scope - Which registry slice to list (default: 'all').
|
|
56
|
+
* @returns Formatted list string (e.g. "T-01: Build a sufficient model...\nT-02: ...")
|
|
43
57
|
*/
|
|
44
|
-
export declare function formatCorePrinciplesList(outputLanguage?: OutputLanguage): string;
|
|
58
|
+
export declare function formatCorePrinciplesList(outputLanguage?: OutputLanguage, scope?: CorePrincipleScope): string;
|
|
45
59
|
/**
|
|
46
60
|
* Build a conditional core axiom block for prompt injection.
|
|
47
61
|
*
|
|
@@ -57,7 +71,7 @@ export declare function formatCorePrinciplesList(outputLanguage?: OutputLanguage
|
|
|
57
71
|
* ```typescript
|
|
58
72
|
* // In a prompt builder:
|
|
59
73
|
* const axiomBlock = buildCoreAxiomBlock({ coreGrounding: true, outputLanguage: 'zh-CN' });
|
|
60
|
-
* return `...existing prompt...\n${axiomBlock}\n...rest...`;
|
|
74
|
+
* return `...existing prompt...\n${axiomBlock}\n...rest of prompt...`;
|
|
61
75
|
* ```
|
|
62
76
|
*
|
|
63
77
|
* @param opts - Block options (see CoreAxiomBlockOptions).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-axiom-block.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/core-principles/core-axiom-block.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"core-axiom-block.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/core-principles/core-axiom-block.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI/D;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,WAAW,GAAG,KAAK,CAAC;AAEtE,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,wDAAwD;IACxD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAeD;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,CAAC,EAAE,cAAc,EAC/B,KAAK,GAAE,kBAA0B,GAChC,MAAM,CAQR;AAUD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,qBAA0B,GAAG,MAAM,CA6B5E"}
|
|
@@ -1,34 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core Axiom Block Builder — shared prompt section for CORE_PRINCIPLES injection.
|
|
3
3
|
*
|
|
4
|
-
* Provides a single, consistent way to inject the
|
|
5
|
-
* into any prompt builder. Used by
|
|
6
|
-
*
|
|
4
|
+
* Provides a single, consistent way to inject the core principle list
|
|
5
|
+
* into any prompt builder. Used by the OpenClaw prompt hook (foundational
|
|
6
|
+
* axioms → `<core_principles>`), the diagnostician pipeline (rootcause,
|
|
7
|
+
* distiller), and the internalization pipeline (dreamer, philosopher, scribe).
|
|
7
8
|
*
|
|
8
9
|
* ## Design
|
|
9
10
|
*
|
|
10
11
|
* - `formatCorePrinciplesList()` — low-level: just the formatted list lines
|
|
11
12
|
* - `buildCoreAxiomBlock()` — high-level: conditional block with header + instruction
|
|
12
13
|
*
|
|
13
|
-
* Both support bilingual output via `outputLanguage
|
|
14
|
+
* Both support bilingual output via `outputLanguage` and layer scoping via
|
|
15
|
+
* `scope` (default `'all'`: the full 10-principle set for LLM grounding).
|
|
14
16
|
*/
|
|
15
|
-
import { CORE_PRINCIPLES } from './core-principle-registry.js';
|
|
17
|
+
import { CORE_PRINCIPLES, getFoundationalPrinciples, getOperatingPrinciples, } from './core-principle-registry.js';
|
|
18
|
+
function selectCorePrinciples(scope) {
|
|
19
|
+
switch (scope) {
|
|
20
|
+
case 'foundational':
|
|
21
|
+
return getFoundationalPrinciples();
|
|
22
|
+
case 'operating':
|
|
23
|
+
return getOperatingPrinciples();
|
|
24
|
+
case 'all':
|
|
25
|
+
return CORE_PRINCIPLES;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
16
28
|
// ── Low-level: formatted list ────────────────────────────────────────────────
|
|
17
29
|
/**
|
|
18
|
-
* Format
|
|
30
|
+
* Format a core principle list as a newline-separated string.
|
|
19
31
|
*
|
|
20
32
|
* Each line: `T-XX: <statement>`
|
|
21
33
|
* When `outputLanguage` is 'zh-CN', uses `statementZh` instead of `statement`.
|
|
22
34
|
*
|
|
23
35
|
* @param outputLanguage - Optional language override for bilingual output.
|
|
24
|
-
* @
|
|
36
|
+
* @param scope - Which registry slice to list (default: 'all').
|
|
37
|
+
* @returns Formatted list string (e.g. "T-01: Build a sufficient model...\nT-02: ...")
|
|
25
38
|
*/
|
|
26
|
-
export function formatCorePrinciplesList(outputLanguage) {
|
|
39
|
+
export function formatCorePrinciplesList(outputLanguage, scope = 'all') {
|
|
27
40
|
const useZh = outputLanguage === 'zh-CN';
|
|
28
|
-
return
|
|
41
|
+
return selectCorePrinciples(scope)
|
|
42
|
+
.map(p => {
|
|
29
43
|
const statement = useZh && p.statementZh ? p.statementZh : p.statement;
|
|
30
44
|
return `${p.id}: ${statement}`;
|
|
31
|
-
})
|
|
45
|
+
})
|
|
46
|
+
.join('\n');
|
|
32
47
|
}
|
|
33
48
|
// ── High-level: conditional block ────────────────────────────────────────────
|
|
34
49
|
/** Default instruction when none is provided. */
|
|
@@ -50,18 +65,18 @@ const DEFAULT_INSTRUCTION = 'The following core axioms are the system\'s foundat
|
|
|
50
65
|
* ```typescript
|
|
51
66
|
* // In a prompt builder:
|
|
52
67
|
* const axiomBlock = buildCoreAxiomBlock({ coreGrounding: true, outputLanguage: 'zh-CN' });
|
|
53
|
-
* return `...existing prompt...\n${axiomBlock}\n...rest...`;
|
|
68
|
+
* return `...existing prompt...\n${axiomBlock}\n...rest of prompt...`;
|
|
54
69
|
* ```
|
|
55
70
|
*
|
|
56
71
|
* @param opts - Block options (see CoreAxiomBlockOptions).
|
|
57
72
|
* @returns Formatted block string, or fallback when coreGrounding is off.
|
|
58
73
|
*/
|
|
59
74
|
export function buildCoreAxiomBlock(opts = {}) {
|
|
60
|
-
const { coreGrounding, sectionTitle = 'CORE AXIOMS:', instruction = DEFAULT_INSTRUCTION, outputLanguage, fallback = '', } = opts;
|
|
75
|
+
const { coreGrounding, sectionTitle = 'CORE AXIOMS:', instruction = DEFAULT_INSTRUCTION, outputLanguage, scope = 'all', fallback = '', } = opts;
|
|
61
76
|
if (!coreGrounding) {
|
|
62
77
|
return fallback;
|
|
63
78
|
}
|
|
64
|
-
const principlesList = formatCorePrinciplesList(outputLanguage);
|
|
79
|
+
const principlesList = formatCorePrinciplesList(outputLanguage, scope);
|
|
65
80
|
const parts = [
|
|
66
81
|
`\n${sectionTitle}`,
|
|
67
82
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-axiom-block.js","sourceRoot":"","sources":["../../../src/runtime-v2/core-principles/core-axiom-block.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"core-axiom-block.js","sourceRoot":"","sources":["../../../src/runtime-v2/core-principles/core-axiom-block.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AAsCtC,SAAS,oBAAoB,CAAC,KAAyB;IACrD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,cAAc;YACjB,OAAO,yBAAyB,EAAE,CAAC;QACrC,KAAK,WAAW;YACd,OAAO,sBAAsB,EAAE,CAAC;QAClC,KAAK,KAAK;YACR,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CACtC,cAA+B,EAC/B,KAAK,GAAuB,KAAK;IAEjC,MAAM,KAAK,GAAG,cAAc,KAAK,OAAO,CAAC;IACzC,OAAO,oBAAoB,CAAC,KAAK,CAAC;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAE;QACP,MAAM,SAAS,GAAG,KAAK,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;IACjC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,gFAAgF;AAEhF,iDAAiD;AACjD,MAAM,mBAAmB,GACvB,mFAAmF;IACnF,iFAAiF;IACjF,qCAAqC,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAI,GAA0B,EAAE;IAClE,MAAM,EACJ,aAAa,EACb,YAAY,GAAG,cAAc,EAC7B,WAAW,GAAG,mBAAmB,EACjC,cAAc,EACd,KAAK,GAAG,KAAK,EACb,QAAQ,GAAG,EAAE,GACd,GAAG,IAAI,CAAC;IAET,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,cAAc,GAAG,wBAAwB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAEvE,MAAM,KAAK,GAAa;QACtB,KAAK,YAAY,EAAE;KACpB,CAAC;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -3,17 +3,37 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Canonical source of truth for the 10 built-in core principles.
|
|
5
5
|
* The shipped THINKING_OS.md templates carry the same T-NN ids; the drift
|
|
6
|
-
* test in openclaw-plugin validates template ↔ registry alignment
|
|
6
|
+
* test in openclaw-plugin validates template ↔ registry alignment
|
|
7
|
+
* (id + name + layer + canonical statement anchor).
|
|
8
|
+
*
|
|
9
|
+
* ## Layer model (PRI-606/PRI-607)
|
|
10
|
+
*
|
|
11
|
+
* The registry is exactly 10 principles in two layers:
|
|
12
|
+
* - 6 Foundational Axioms (`layer: 'foundational'`) — high-abstraction,
|
|
13
|
+
* tool-agnostic, generative decision rules. Injected via
|
|
14
|
+
* `<core_principles>`.
|
|
15
|
+
* - 4 Operating Principles (`layer: 'operating'`) — how an agent puts the
|
|
16
|
+
* axioms into practice. Surfaced via THINKING_OS directives.
|
|
17
|
+
*
|
|
18
|
+
* ## Pre-release reset policy (Owner decision, PR #1421 round 3)
|
|
19
|
+
*
|
|
20
|
+
* Built-in core principle semantics were redesigned during the pre-release
|
|
21
|
+
* MVP phase. Existing experimental PD workspaces are NOT migrated in place;
|
|
22
|
+
* testing this version requires a fresh workspace. The project intentionally
|
|
23
|
+
* prioritizes a simple canonical model over compatibility machinery for
|
|
24
|
+
* experimental state: there are no deprecated entries, no status/supersededBy
|
|
25
|
+
* lifecycle fields, and no legacy aliases here.
|
|
7
26
|
*
|
|
8
27
|
* Bilingual: each principle has EN (name/statement) and
|
|
9
28
|
* ZH (nameZh/statementZh) fields.
|
|
10
|
-
*
|
|
11
|
-
* See 02-review-response-and-amendments.md §2.1 for the three-way
|
|
12
|
-
* naming collision resolution.
|
|
13
29
|
*/
|
|
30
|
+
/** Semantic layer of a core principle (PRI-606/PRI-607 two-layer model). */
|
|
31
|
+
export type CorePrincipleLayer = 'foundational' | 'operating';
|
|
14
32
|
export interface CorePrinciple {
|
|
15
33
|
/** Canonical id — also the directive id in THINKING_OS.md templates (e.g. 'T-01') */
|
|
16
34
|
id: string;
|
|
35
|
+
/** Semantic layer: foundational axiom vs operating principle. */
|
|
36
|
+
layer: CorePrincipleLayer;
|
|
17
37
|
/** Human-readable name (EN) */
|
|
18
38
|
name: string;
|
|
19
39
|
/** Human-readable name (ZH) — bilingual counterpart */
|
|
@@ -25,6 +45,7 @@ export interface CorePrinciple {
|
|
|
25
45
|
}
|
|
26
46
|
export declare const CorePrincipleSchema: import("@sinclair/typebox").TObject<{
|
|
27
47
|
id: import("@sinclair/typebox").TString;
|
|
48
|
+
layer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"foundational">, import("@sinclair/typebox").TLiteral<"operating">]>;
|
|
28
49
|
name: import("@sinclair/typebox").TString;
|
|
29
50
|
nameZh: import("@sinclair/typebox").TString;
|
|
30
51
|
statement: import("@sinclair/typebox").TString;
|
|
@@ -34,6 +55,10 @@ export declare const CorePrincipleSchema: import("@sinclair/typebox").TObject<{
|
|
|
34
55
|
export declare const CORE_PRINCIPLES: readonly CorePrinciple[];
|
|
35
56
|
/** Frozen array of all core principle ids */
|
|
36
57
|
export declare const CORE_PRINCIPLE_IDS: readonly string[];
|
|
58
|
+
/** Active foundational axioms — the `<core_principles>` injection set. */
|
|
59
|
+
export declare function getFoundationalPrinciples(): readonly CorePrinciple[];
|
|
60
|
+
/** Active operating principles — surfaced via THINKING_OS directives. */
|
|
61
|
+
export declare function getOperatingPrinciples(): readonly CorePrinciple[];
|
|
37
62
|
/** Type guard: returns true if the value is a known core principle id */
|
|
38
63
|
export declare function isCorePrincipleId(value: string): value is typeof CORE_PRINCIPLE_IDS[number];
|
|
39
64
|
/** Lookup a core principle by id; returns undefined if not found */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-principle-registry.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/core-principles/core-principle-registry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"core-principle-registry.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/core-principles/core-principle-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAMH,4EAA4E;AAC5E,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,WAAW,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,qFAAqF;IACrF,EAAE,EAAE,MAAM,CAAC;IACX,iEAAiE;IACjE,KAAK,EAAE,kBAAkB,CAAC;IAC1B,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB;;;;;;;EAO9B,CAAC;AAyFH,6CAA6C;AAC7C,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAEnD,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAE/C,CAAC;AAEF,0EAA0E;AAC1E,wBAAgB,yBAAyB,IAAI,SAAS,aAAa,EAAE,CAEpE;AAED,yEAAyE;AACzE,wBAAgB,sBAAsB,IAAI,SAAS,aAAa,EAAE,CAEjE;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAG3F;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAGtE"}
|