@productbrain/cli 0.1.0-beta.27 → 0.1.0-beta.2721
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 +72 -172
- package/dist/__tests__/adapters.test.js +54 -1
- package/dist/__tests__/adapters.test.js.map +1 -1
- package/dist/__tests__/audit.test.js +65 -44
- package/dist/__tests__/audit.test.js.map +1 -1
- package/dist/__tests__/authority-domains-queue.test.d.ts +2 -0
- package/dist/__tests__/authority-domains-queue.test.d.ts.map +1 -0
- package/dist/__tests__/authority-domains-queue.test.js +169 -0
- package/dist/__tests__/authority-domains-queue.test.js.map +1 -0
- package/dist/__tests__/authority-domains.test.d.ts +2 -0
- package/dist/__tests__/authority-domains.test.d.ts.map +1 -0
- package/dist/__tests__/authority-domains.test.js +48 -0
- package/dist/__tests__/authority-domains.test.js.map +1 -0
- package/dist/__tests__/canonicalRefs.vocab.test.d.ts +2 -0
- package/dist/__tests__/canonicalRefs.vocab.test.d.ts.map +1 -0
- package/dist/__tests__/canonicalRefs.vocab.test.js +251 -0
- package/dist/__tests__/canonicalRefs.vocab.test.js.map +1 -0
- package/dist/__tests__/capture-receipt-coaching.test.d.ts +2 -0
- package/dist/__tests__/capture-receipt-coaching.test.d.ts.map +1 -0
- package/dist/__tests__/capture-receipt-coaching.test.js +89 -0
- package/dist/__tests__/capture-receipt-coaching.test.js.map +1 -0
- package/dist/__tests__/capture-receipt-domain.test.d.ts +2 -0
- package/dist/__tests__/capture-receipt-domain.test.d.ts.map +1 -0
- package/dist/__tests__/capture-receipt-domain.test.js +29 -0
- package/dist/__tests__/capture-receipt-domain.test.js.map +1 -0
- package/dist/__tests__/capture.test.js +645 -40
- package/dist/__tests__/capture.test.js.map +1 -1
- package/dist/__tests__/coaching-mirror-drift.test.d.ts +2 -0
- package/dist/__tests__/coaching-mirror-drift.test.d.ts.map +1 -0
- package/dist/__tests__/coaching-mirror-drift.test.js +47 -0
- package/dist/__tests__/coaching-mirror-drift.test.js.map +1 -0
- package/dist/__tests__/codex-prep-parity.test.d.ts +2 -0
- package/dist/__tests__/codex-prep-parity.test.d.ts.map +1 -0
- package/dist/__tests__/codex-prep-parity.test.js +107 -0
- package/dist/__tests__/codex-prep-parity.test.js.map +1 -0
- package/dist/__tests__/collection-registry-seed-drift.test.d.ts +2 -0
- package/dist/__tests__/collection-registry-seed-drift.test.d.ts.map +1 -0
- package/dist/__tests__/collection-registry-seed-drift.test.js +58 -0
- package/dist/__tests__/collection-registry-seed-drift.test.js.map +1 -0
- package/dist/__tests__/config-prod-fallthrough.test.d.ts +2 -0
- package/dist/__tests__/config-prod-fallthrough.test.d.ts.map +1 -0
- package/dist/__tests__/config-prod-fallthrough.test.js +82 -0
- package/dist/__tests__/config-prod-fallthrough.test.js.map +1 -0
- package/dist/__tests__/config.test.d.ts +8 -0
- package/dist/__tests__/config.test.d.ts.map +1 -0
- package/dist/__tests__/config.test.js +566 -0
- package/dist/__tests__/config.test.js.map +1 -0
- package/dist/__tests__/constants.test.d.ts +2 -0
- package/dist/__tests__/constants.test.d.ts.map +1 -0
- package/dist/__tests__/constants.test.js +146 -0
- package/dist/__tests__/constants.test.js.map +1 -0
- package/dist/__tests__/constellation.test.js +16 -22
- package/dist/__tests__/constellation.test.js.map +1 -1
- package/dist/__tests__/context-strategy.test.js +8 -8
- package/dist/__tests__/context-strategy.test.js.map +1 -1
- package/dist/__tests__/conversation.test.d.ts +2 -0
- package/dist/__tests__/conversation.test.d.ts.map +1 -0
- package/dist/__tests__/conversation.test.js +113 -0
- package/dist/__tests__/conversation.test.js.map +1 -0
- package/dist/__tests__/entry-formatter.test.d.ts +2 -0
- package/dist/__tests__/entry-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/entry-formatter.test.js +82 -0
- package/dist/__tests__/entry-formatter.test.js.map +1 -0
- package/dist/__tests__/envelope-contract.test.d.ts +15 -0
- package/dist/__tests__/envelope-contract.test.d.ts.map +1 -0
- package/dist/__tests__/envelope-contract.test.js +152 -0
- package/dist/__tests__/envelope-contract.test.js.map +1 -0
- package/dist/__tests__/errors.test.d.ts +2 -0
- package/dist/__tests__/errors.test.d.ts.map +1 -0
- package/dist/__tests__/errors.test.js +125 -0
- package/dist/__tests__/errors.test.js.map +1 -0
- package/dist/__tests__/experiment.test.d.ts +6 -0
- package/dist/__tests__/experiment.test.d.ts.map +1 -0
- package/dist/__tests__/experiment.test.js +69 -0
- package/dist/__tests__/experiment.test.js.map +1 -0
- package/dist/__tests__/fields.test.js +36 -36
- package/dist/__tests__/fields.test.js.map +1 -1
- package/dist/__tests__/glossary.test.d.ts +2 -0
- package/dist/__tests__/glossary.test.d.ts.map +1 -0
- package/dist/__tests__/glossary.test.js +32 -0
- package/dist/__tests__/glossary.test.js.map +1 -0
- package/dist/__tests__/handshake-augment.test.d.ts +2 -0
- package/dist/__tests__/handshake-augment.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-augment.test.js +424 -0
- package/dist/__tests__/handshake-augment.test.js.map +1 -0
- package/dist/__tests__/handshake-dormancy.test.d.ts +2 -0
- package/dist/__tests__/handshake-dormancy.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-dormancy.test.js +207 -0
- package/dist/__tests__/handshake-dormancy.test.js.map +1 -0
- package/dist/__tests__/handshake-formatter.test.d.ts +2 -0
- package/dist/__tests__/handshake-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-formatter.test.js +67 -0
- package/dist/__tests__/handshake-formatter.test.js.map +1 -0
- package/dist/__tests__/handshake-preview.test.d.ts +2 -0
- package/dist/__tests__/handshake-preview.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-preview.test.js +950 -0
- package/dist/__tests__/handshake-preview.test.js.map +1 -0
- package/dist/__tests__/handshake.e2e.test.d.ts +2 -0
- package/dist/__tests__/handshake.e2e.test.d.ts.map +1 -0
- package/dist/__tests__/handshake.e2e.test.js +1255 -0
- package/dist/__tests__/handshake.e2e.test.js.map +1 -0
- package/dist/__tests__/handshake.test.js +796 -19
- package/dist/__tests__/handshake.test.js.map +1 -1
- package/dist/__tests__/health-gap-kinds-drift.test.d.ts +2 -0
- package/dist/__tests__/health-gap-kinds-drift.test.d.ts.map +1 -0
- package/dist/__tests__/health-gap-kinds-drift.test.js +41 -0
- package/dist/__tests__/health-gap-kinds-drift.test.js.map +1 -0
- package/dist/__tests__/hook-intents.test.d.ts +2 -0
- package/dist/__tests__/hook-intents.test.d.ts.map +1 -0
- package/dist/__tests__/hook-intents.test.js +184 -0
- package/dist/__tests__/hook-intents.test.js.map +1 -0
- package/dist/__tests__/ingest.test.js +37 -28
- package/dist/__tests__/ingest.test.js.map +1 -1
- package/dist/__tests__/init.test.d.ts +7 -0
- package/dist/__tests__/init.test.d.ts.map +1 -0
- package/dist/__tests__/init.test.js +146 -0
- package/dist/__tests__/init.test.js.map +1 -0
- package/dist/__tests__/login.test.d.ts +2 -0
- package/dist/__tests__/login.test.d.ts.map +1 -0
- package/dist/__tests__/login.test.js +167 -0
- package/dist/__tests__/login.test.js.map +1 -0
- package/dist/__tests__/manifest.test.d.ts +6 -0
- package/dist/__tests__/manifest.test.d.ts.map +1 -0
- package/dist/__tests__/manifest.test.js +255 -0
- package/dist/__tests__/manifest.test.js.map +1 -0
- package/dist/__tests__/method-publish-coherency.test.d.ts +9 -0
- package/dist/__tests__/method-publish-coherency.test.d.ts.map +1 -0
- package/dist/__tests__/method-publish-coherency.test.js +71 -0
- package/dist/__tests__/method-publish-coherency.test.js.map +1 -0
- package/dist/__tests__/method-registry.integration.test.d.ts +6 -0
- package/dist/__tests__/method-registry.integration.test.d.ts.map +1 -0
- package/dist/__tests__/method-registry.integration.test.js +17 -0
- package/dist/__tests__/method-registry.integration.test.js.map +1 -0
- package/dist/__tests__/method-registry.test.d.ts +12 -0
- package/dist/__tests__/method-registry.test.d.ts.map +1 -0
- package/dist/__tests__/method-registry.test.js +86 -0
- package/dist/__tests__/method-registry.test.js.map +1 -0
- package/dist/__tests__/notice-marker.test.d.ts +2 -0
- package/dist/__tests__/notice-marker.test.d.ts.map +1 -0
- package/dist/__tests__/notice-marker.test.js +41 -0
- package/dist/__tests__/notice-marker.test.js.map +1 -0
- package/dist/__tests__/onboarding-path-b.test.d.ts +2 -0
- package/dist/__tests__/onboarding-path-b.test.d.ts.map +1 -0
- package/dist/__tests__/onboarding-path-b.test.js +46 -0
- package/dist/__tests__/onboarding-path-b.test.js.map +1 -0
- package/dist/__tests__/onboarding.test.d.ts +6 -0
- package/dist/__tests__/onboarding.test.d.ts.map +1 -0
- package/dist/__tests__/onboarding.test.js +347 -0
- package/dist/__tests__/onboarding.test.js.map +1 -0
- package/dist/__tests__/orient.test.js +485 -11
- package/dist/__tests__/orient.test.js.map +1 -1
- package/dist/__tests__/perimeter.test.d.ts +2 -0
- package/dist/__tests__/perimeter.test.d.ts.map +1 -0
- package/dist/__tests__/perimeter.test.js +165 -0
- package/dist/__tests__/perimeter.test.js.map +1 -0
- package/dist/__tests__/personal-layer.test.d.ts +11 -0
- package/dist/__tests__/personal-layer.test.d.ts.map +1 -0
- package/dist/__tests__/personal-layer.test.js +268 -0
- package/dist/__tests__/personal-layer.test.js.map +1 -0
- package/dist/__tests__/preview-key-refresh.test.d.ts +2 -0
- package/dist/__tests__/preview-key-refresh.test.d.ts.map +1 -0
- package/dist/__tests__/preview-key-refresh.test.js +126 -0
- package/dist/__tests__/preview-key-refresh.test.js.map +1 -0
- package/dist/__tests__/profiles.test.d.ts +2 -0
- package/dist/__tests__/profiles.test.d.ts.map +1 -0
- package/dist/__tests__/profiles.test.js +320 -0
- package/dist/__tests__/profiles.test.js.map +1 -0
- package/dist/__tests__/promote-batch.test.d.ts +2 -0
- package/dist/__tests__/promote-batch.test.d.ts.map +1 -0
- package/dist/__tests__/promote-batch.test.js +185 -0
- package/dist/__tests__/promote-batch.test.js.map +1 -0
- package/dist/__tests__/promote.test.js +297 -40
- package/dist/__tests__/promote.test.js.map +1 -1
- package/dist/__tests__/prompts.test.d.ts +6 -0
- package/dist/__tests__/prompts.test.d.ts.map +1 -0
- package/dist/__tests__/prompts.test.js +146 -0
- package/dist/__tests__/prompts.test.js.map +1 -0
- package/dist/__tests__/proof-run.test.d.ts +2 -0
- package/dist/__tests__/proof-run.test.d.ts.map +1 -0
- package/dist/__tests__/proof-run.test.js +255 -0
- package/dist/__tests__/proof-run.test.js.map +1 -0
- package/dist/__tests__/proposals.test.js +24 -47
- package/dist/__tests__/proposals.test.js.map +1 -1
- package/dist/__tests__/relate.test.js +34 -36
- package/dist/__tests__/relate.test.js.map +1 -1
- package/dist/__tests__/runner.test.js +19 -15
- package/dist/__tests__/runner.test.js.map +1 -1
- package/dist/__tests__/session-close-loop.test.d.ts +2 -0
- package/dist/__tests__/session-close-loop.test.d.ts.map +1 -0
- package/dist/__tests__/session-close-loop.test.js +231 -0
- package/dist/__tests__/session-close-loop.test.js.map +1 -0
- package/dist/__tests__/session-label.test.d.ts +2 -0
- package/dist/__tests__/session-label.test.d.ts.map +1 -0
- package/dist/__tests__/session-label.test.js +46 -0
- package/dist/__tests__/session-label.test.js.map +1 -0
- package/dist/__tests__/session-list-show.test.d.ts +2 -0
- package/dist/__tests__/session-list-show.test.d.ts.map +1 -0
- package/dist/__tests__/session-list-show.test.js +174 -0
- package/dist/__tests__/session-list-show.test.js.map +1 -0
- package/dist/__tests__/session-reset.test.d.ts +2 -0
- package/dist/__tests__/session-reset.test.d.ts.map +1 -0
- package/dist/__tests__/session-reset.test.js +138 -0
- package/dist/__tests__/session-reset.test.js.map +1 -0
- package/dist/__tests__/session-resume-backstop.test.d.ts +2 -0
- package/dist/__tests__/session-resume-backstop.test.d.ts.map +1 -0
- package/dist/__tests__/session-resume-backstop.test.js +99 -0
- package/dist/__tests__/session-resume-backstop.test.js.map +1 -0
- package/dist/__tests__/session-start-key-refresh.test.d.ts +2 -0
- package/dist/__tests__/session-start-key-refresh.test.d.ts.map +1 -0
- package/dist/__tests__/session-start-key-refresh.test.js +183 -0
- package/dist/__tests__/session-start-key-refresh.test.js.map +1 -0
- package/dist/__tests__/session-state-machine.test.d.ts +2 -0
- package/dist/__tests__/session-state-machine.test.d.ts.map +1 -0
- package/dist/__tests__/session-state-machine.test.js +379 -0
- package/dist/__tests__/session-state-machine.test.js.map +1 -0
- package/dist/__tests__/session-switch.test.d.ts +2 -0
- package/dist/__tests__/session-switch.test.d.ts.map +1 -0
- package/dist/__tests__/session-switch.test.js +132 -0
- package/dist/__tests__/session-switch.test.js.map +1 -0
- package/dist/__tests__/session-touch.test.js +11 -11
- package/dist/__tests__/session-touch.test.js.map +1 -1
- package/dist/__tests__/session.test.js +4 -10
- package/dist/__tests__/session.test.js.map +1 -1
- package/dist/__tests__/setup-ingest.test.d.ts +2 -0
- package/dist/__tests__/setup-ingest.test.d.ts.map +1 -0
- package/dist/__tests__/setup-ingest.test.js +71 -0
- package/dist/__tests__/setup-ingest.test.js.map +1 -0
- package/dist/__tests__/setup-resolver.test.d.ts +14 -0
- package/dist/__tests__/setup-resolver.test.d.ts.map +1 -0
- package/dist/__tests__/setup-resolver.test.js +228 -0
- package/dist/__tests__/setup-resolver.test.js.map +1 -0
- package/dist/__tests__/skill-vocabulary.test.d.ts +21 -0
- package/dist/__tests__/skill-vocabulary.test.d.ts.map +1 -0
- package/dist/__tests__/skill-vocabulary.test.js +192 -0
- package/dist/__tests__/skill-vocabulary.test.js.map +1 -0
- package/dist/__tests__/spinner-labels.test.d.ts +2 -0
- package/dist/__tests__/spinner-labels.test.d.ts.map +1 -0
- package/dist/__tests__/spinner-labels.test.js +23 -0
- package/dist/__tests__/spinner-labels.test.js.map +1 -0
- package/dist/__tests__/state.test.d.ts +6 -0
- package/dist/__tests__/state.test.d.ts.map +1 -0
- package/dist/__tests__/state.test.js +97 -0
- package/dist/__tests__/state.test.js.map +1 -0
- package/dist/__tests__/surfaces.test.d.ts +2 -0
- package/dist/__tests__/surfaces.test.d.ts.map +1 -0
- package/dist/__tests__/surfaces.test.js +46 -0
- package/dist/__tests__/surfaces.test.js.map +1 -0
- package/dist/__tests__/update-check.test.d.ts +2 -0
- package/dist/__tests__/update-check.test.d.ts.map +1 -0
- package/dist/__tests__/update-check.test.js +215 -0
- package/dist/__tests__/update-check.test.js.map +1 -0
- package/dist/__tests__/update.test.js +88 -81
- package/dist/__tests__/update.test.js.map +1 -1
- package/dist/__tests__/upgrade-runner.test.d.ts +2 -0
- package/dist/__tests__/upgrade-runner.test.d.ts.map +1 -0
- package/dist/__tests__/upgrade-runner.test.js +54 -0
- package/dist/__tests__/upgrade-runner.test.js.map +1 -0
- package/dist/__tests__/upgrade.test.d.ts +2 -0
- package/dist/__tests__/upgrade.test.d.ts.map +1 -0
- package/dist/__tests__/upgrade.test.js +56 -0
- package/dist/__tests__/upgrade.test.js.map +1 -0
- package/dist/__tests__/verify-formatter.test.d.ts +2 -0
- package/dist/__tests__/verify-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/verify-formatter.test.js +85 -0
- package/dist/__tests__/verify-formatter.test.js.map +1 -0
- package/dist/__tests__/vocabulary-leak.test.d.ts +39 -0
- package/dist/__tests__/vocabulary-leak.test.d.ts.map +1 -0
- package/dist/__tests__/vocabulary-leak.test.js +539 -0
- package/dist/__tests__/vocabulary-leak.test.js.map +1 -0
- package/dist/__tests__/workspace.test.d.ts +2 -0
- package/dist/__tests__/workspace.test.d.ts.map +1 -0
- package/dist/__tests__/workspace.test.js +328 -0
- package/dist/__tests__/workspace.test.js.map +1 -0
- package/dist/__tests__/workspaceNotice.test.d.ts +2 -0
- package/dist/__tests__/workspaceNotice.test.d.ts.map +1 -0
- package/dist/__tests__/workspaceNotice.test.js +338 -0
- package/dist/__tests__/workspaceNotice.test.js.map +1 -0
- package/dist/commands/__tests__/connect-handoff.test.d.ts +11 -0
- package/dist/commands/__tests__/connect-handoff.test.d.ts.map +1 -0
- package/dist/commands/__tests__/connect-handoff.test.js +111 -0
- package/dist/commands/__tests__/connect-handoff.test.js.map +1 -0
- package/dist/commands/__tests__/rework.test.d.ts +2 -0
- package/dist/commands/__tests__/rework.test.d.ts.map +1 -0
- package/dist/commands/__tests__/rework.test.js +149 -0
- package/dist/commands/__tests__/rework.test.js.map +1 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts +15 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts.map +1 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.js +149 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.js.map +1 -0
- package/dist/commands/__tests__/setup-state.test.d.ts +2 -0
- package/dist/commands/__tests__/setup-state.test.d.ts.map +1 -0
- package/dist/commands/__tests__/setup-state.test.js +194 -0
- package/dist/commands/__tests__/setup-state.test.js.map +1 -0
- package/dist/commands/accept.d.ts.map +1 -1
- package/dist/commands/accept.js +10 -6
- package/dist/commands/accept.js.map +1 -1
- package/dist/commands/admin/cockpit.d.ts +90 -0
- package/dist/commands/admin/cockpit.d.ts.map +1 -0
- package/dist/commands/admin/cockpit.js +618 -0
- package/dist/commands/admin/cockpit.js.map +1 -0
- package/dist/commands/admin/index.d.ts +21 -0
- package/dist/commands/admin/index.d.ts.map +1 -0
- package/dist/commands/admin/index.js +256 -0
- package/dist/commands/admin/index.js.map +1 -0
- package/dist/commands/admin/inspect.d.ts +30 -0
- package/dist/commands/admin/inspect.d.ts.map +1 -0
- package/dist/commands/admin/inspect.js +555 -0
- package/dist/commands/admin/inspect.js.map +1 -0
- package/dist/commands/admin/inspect.test.d.ts +7 -0
- package/dist/commands/admin/inspect.test.d.ts.map +1 -0
- package/dist/commands/admin/inspect.test.js +90 -0
- package/dist/commands/admin/inspect.test.js.map +1 -0
- package/dist/commands/admin/manage.d.ts +8 -0
- package/dist/commands/admin/manage.d.ts.map +1 -0
- package/dist/commands/admin/manage.js +260 -0
- package/dist/commands/admin/manage.js.map +1 -0
- package/dist/commands/admin/manage.test.d.ts +16 -0
- package/dist/commands/admin/manage.test.d.ts.map +1 -0
- package/dist/commands/admin/manage.test.js +159 -0
- package/dist/commands/admin/manage.test.js.map +1 -0
- package/dist/commands/admin/seed.d.ts +75 -0
- package/dist/commands/admin/seed.d.ts.map +1 -0
- package/dist/commands/admin/seed.js +944 -0
- package/dist/commands/admin/seed.js.map +1 -0
- package/dist/commands/admin/seed.test.d.ts +11 -0
- package/dist/commands/admin/seed.test.d.ts.map +1 -0
- package/dist/commands/admin/seed.test.js +127 -0
- package/dist/commands/admin/seed.test.js.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.generated.d.ts +14 -0
- package/dist/commands/admin/seedRegistryEntries.generated.d.ts.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.generated.js +153 -0
- package/dist/commands/admin/seedRegistryEntries.generated.js.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.test.d.ts +13 -0
- package/dist/commands/admin/seedRegistryEntries.test.d.ts.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.test.js +91 -0
- package/dist/commands/admin/seedRegistryEntries.test.js.map +1 -0
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +42 -7
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/authority-domains.d.ts +157 -0
- package/dist/commands/authority-domains.d.ts.map +1 -0
- package/dist/commands/authority-domains.js +387 -0
- package/dist/commands/authority-domains.js.map +1 -0
- package/dist/commands/brief.d.ts.map +1 -1
- package/dist/commands/brief.js +14 -5
- package/dist/commands/brief.js.map +1 -1
- package/dist/commands/capture.d.ts +9 -0
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +295 -76
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/chain-walk.d.ts.map +1 -1
- package/dist/commands/chain-walk.js +8 -3
- package/dist/commands/chain-walk.js.map +1 -1
- package/dist/commands/changes.d.ts.map +1 -1
- package/dist/commands/changes.js +8 -3
- package/dist/commands/changes.js.map +1 -1
- package/dist/commands/codex-prep.d.ts +12 -1
- package/dist/commands/codex-prep.d.ts.map +1 -1
- package/dist/commands/codex-prep.js +25 -87
- package/dist/commands/codex-prep.js.map +1 -1
- package/dist/commands/collections.d.ts +22 -0
- package/dist/commands/collections.d.ts.map +1 -0
- package/dist/commands/collections.js +77 -0
- package/dist/commands/collections.js.map +1 -0
- package/dist/commands/conflicts.d.ts +10 -0
- package/dist/commands/conflicts.d.ts.map +1 -0
- package/dist/commands/conflicts.js +103 -0
- package/dist/commands/conflicts.js.map +1 -0
- package/dist/commands/conflicts.test.d.ts +2 -0
- package/dist/commands/conflicts.test.d.ts.map +1 -0
- package/dist/commands/conflicts.test.js +97 -0
- package/dist/commands/conflicts.test.js.map +1 -0
- package/dist/commands/connect-config.test.d.ts +2 -0
- package/dist/commands/connect-config.test.d.ts.map +1 -0
- package/dist/commands/connect-config.test.js +44 -0
- package/dist/commands/connect-config.test.js.map +1 -0
- package/dist/commands/connect-context.d.ts +45 -0
- package/dist/commands/connect-context.d.ts.map +1 -0
- package/dist/commands/connect-context.js +83 -0
- package/dist/commands/connect-context.js.map +1 -0
- package/dist/commands/connect-context.test.d.ts +2 -0
- package/dist/commands/connect-context.test.d.ts.map +1 -0
- package/dist/commands/connect-context.test.js +158 -0
- package/dist/commands/connect-context.test.js.map +1 -0
- package/dist/commands/connect-handoff.d.ts +51 -0
- package/dist/commands/connect-handoff.d.ts.map +1 -0
- package/dist/commands/connect-handoff.js +70 -0
- package/dist/commands/connect-handoff.js.map +1 -0
- package/dist/commands/connect-integration.test.d.ts +7 -0
- package/dist/commands/connect-integration.test.d.ts.map +1 -0
- package/dist/commands/connect-integration.test.js +219 -0
- package/dist/commands/connect-integration.test.js.map +1 -0
- package/dist/commands/connect-screens.d.ts +33 -0
- package/dist/commands/connect-screens.d.ts.map +1 -0
- package/dist/commands/connect-screens.js +124 -0
- package/dist/commands/connect-screens.js.map +1 -0
- package/dist/commands/connect.d.ts +42 -0
- package/dist/commands/connect.d.ts.map +1 -0
- package/dist/commands/connect.js +339 -0
- package/dist/commands/connect.js.map +1 -0
- package/dist/commands/connect.test.d.ts +6 -0
- package/dist/commands/connect.test.d.ts.map +1 -0
- package/dist/commands/connect.test.js +380 -0
- package/dist/commands/connect.test.js.map +1 -0
- package/dist/commands/constellation.d.ts.map +1 -1
- package/dist/commands/constellation.js +8 -3
- package/dist/commands/constellation.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +8 -3
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/cross-cut.d.ts.map +1 -1
- package/dist/commands/cross-cut.js +2 -2
- package/dist/commands/cross-cut.js.map +1 -1
- package/dist/commands/doctor.d.ts +18 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +297 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/doctor.test.d.ts +8 -0
- package/dist/commands/doctor.test.d.ts.map +1 -0
- package/dist/commands/doctor.test.js +461 -0
- package/dist/commands/doctor.test.js.map +1 -0
- package/dist/commands/feedback.d.ts +20 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +146 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/feedback.test.d.ts +2 -0
- package/dist/commands/feedback.test.d.ts.map +1 -0
- package/dist/commands/feedback.test.js +98 -0
- package/dist/commands/feedback.test.js.map +1 -0
- package/dist/commands/fields.d.ts.map +1 -1
- package/dist/commands/fields.js +8 -4
- package/dist/commands/fields.js.map +1 -1
- package/dist/commands/files.d.ts +26 -0
- package/dist/commands/files.d.ts.map +1 -0
- package/dist/commands/files.js +160 -0
- package/dist/commands/files.js.map +1 -0
- package/dist/commands/files.test.d.ts +2 -0
- package/dist/commands/files.test.d.ts.map +1 -0
- package/dist/commands/files.test.js +243 -0
- package/dist/commands/files.test.js.map +1 -0
- package/dist/commands/get.d.ts.map +1 -1
- package/dist/commands/get.js +14 -6
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/handshake.d.ts +227 -2
- package/dist/commands/handshake.d.ts.map +1 -1
- package/dist/commands/handshake.js +2175 -80
- package/dist/commands/handshake.js.map +1 -1
- package/dist/commands/ingest.d.ts.map +1 -1
- package/dist/commands/ingest.js +26 -9
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/init.d.ts +14 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +109 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.d.ts +4 -0
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +101 -38
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/method.d.ts +99 -0
- package/dist/commands/method.d.ts.map +1 -0
- package/dist/commands/method.js +804 -0
- package/dist/commands/method.js.map +1 -0
- package/dist/commands/migrate-setup.d.ts +18 -0
- package/dist/commands/migrate-setup.d.ts.map +1 -0
- package/dist/commands/migrate-setup.js +148 -0
- package/dist/commands/migrate-setup.js.map +1 -0
- package/dist/commands/organisation.d.ts +24 -0
- package/dist/commands/organisation.d.ts.map +1 -0
- package/dist/commands/organisation.js +223 -0
- package/dist/commands/organisation.js.map +1 -0
- package/dist/commands/organisation.test.d.ts +2 -0
- package/dist/commands/organisation.test.d.ts.map +1 -0
- package/dist/commands/organisation.test.js +66 -0
- package/dist/commands/organisation.test.js.map +1 -0
- package/dist/commands/orient.d.ts +121 -2
- package/dist/commands/orient.d.ts.map +1 -1
- package/dist/commands/orient.js +222 -7
- package/dist/commands/orient.js.map +1 -1
- package/dist/commands/profile.d.ts +34 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +170 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/promote.d.ts +12 -1
- package/dist/commands/promote.d.ts.map +1 -1
- package/dist/commands/promote.js +246 -55
- package/dist/commands/promote.js.map +1 -1
- package/dist/commands/proof-run.d.ts +51 -0
- package/dist/commands/proof-run.d.ts.map +1 -0
- package/dist/commands/proof-run.js +209 -0
- package/dist/commands/proof-run.js.map +1 -0
- package/dist/commands/proposals.d.ts.map +1 -1
- package/dist/commands/proposals.js +2 -2
- package/dist/commands/proposals.js.map +1 -1
- package/dist/commands/reject.d.ts.map +1 -1
- package/dist/commands/reject.js +14 -7
- package/dist/commands/reject.js.map +1 -1
- package/dist/commands/relate.d.ts.map +1 -1
- package/dist/commands/relate.js +55 -17
- package/dist/commands/relate.js.map +1 -1
- package/dist/commands/rework.d.ts +24 -0
- package/dist/commands/rework.d.ts.map +1 -0
- package/dist/commands/rework.js +97 -0
- package/dist/commands/rework.js.map +1 -0
- package/dist/commands/scoreboard.d.ts +28 -0
- package/dist/commands/scoreboard.d.ts.map +1 -0
- package/dist/commands/scoreboard.js +40 -0
- package/dist/commands/scoreboard.js.map +1 -0
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +2 -2
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/session.d.ts +55 -2
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +485 -45
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/setup-audit.d.ts +59 -0
- package/dist/commands/setup-audit.d.ts.map +1 -0
- package/dist/commands/setup-audit.js +250 -0
- package/dist/commands/setup-audit.js.map +1 -0
- package/dist/commands/setup-detect-surfaces.d.ts +38 -0
- package/dist/commands/setup-detect-surfaces.d.ts.map +1 -0
- package/dist/commands/setup-detect-surfaces.js +76 -0
- package/dist/commands/setup-detect-surfaces.js.map +1 -0
- package/dist/commands/setup-ingest.d.ts +17 -0
- package/dist/commands/setup-ingest.d.ts.map +1 -0
- package/dist/commands/setup-ingest.js +174 -0
- package/dist/commands/setup-ingest.js.map +1 -0
- package/dist/commands/setup-resolver.d.ts +58 -0
- package/dist/commands/setup-resolver.d.ts.map +1 -0
- package/dist/commands/setup-resolver.js +150 -0
- package/dist/commands/setup-resolver.js.map +1 -0
- package/dist/commands/setup-state.d.ts +42 -0
- package/dist/commands/setup-state.d.ts.map +1 -0
- package/dist/commands/setup-state.js +93 -0
- package/dist/commands/setup-state.js.map +1 -0
- package/dist/commands/setup.d.ts +23 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +69 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/update.d.ts +8 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +76 -49
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/upgrade.d.ts +5 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +110 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/usage.d.ts +40 -0
- package/dist/commands/usage.d.ts.map +1 -0
- package/dist/commands/usage.js +214 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +19 -7
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/welcome.d.ts +21 -0
- package/dist/commands/welcome.d.ts.map +1 -0
- package/dist/commands/welcome.js +50 -0
- package/dist/commands/welcome.js.map +1 -0
- package/dist/commands/whoami.d.ts +12 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +70 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/commands/whoami.test.d.ts +2 -0
- package/dist/commands/whoami.test.d.ts.map +1 -0
- package/dist/commands/whoami.test.js +50 -0
- package/dist/commands/whoami.test.js.map +1 -0
- package/dist/commands/workspace.d.ts +115 -0
- package/dist/commands/workspace.d.ts.map +1 -0
- package/dist/commands/workspace.js +263 -0
- package/dist/commands/workspace.js.map +1 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.d.ts +2 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.js +68 -0
- package/dist/formatters/__tests__/orient-possibleConflict.test.js.map +1 -0
- package/dist/formatters/__tests__/orient-provenance.test.d.ts +7 -0
- package/dist/formatters/__tests__/orient-provenance.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-provenance.test.js +548 -0
- package/dist/formatters/__tests__/orient-provenance.test.js.map +1 -0
- package/dist/formatters/__tests__/session-list-show.test.d.ts +2 -0
- package/dist/formatters/__tests__/session-list-show.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/session-list-show.test.js +159 -0
- package/dist/formatters/__tests__/session-list-show.test.js.map +1 -0
- package/dist/formatters/__tests__/session.test.d.ts +2 -0
- package/dist/formatters/__tests__/session.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/session.test.js +113 -0
- package/dist/formatters/__tests__/session.test.js.map +1 -0
- package/dist/formatters/audit.d.ts +6 -0
- package/dist/formatters/audit.d.ts.map +1 -1
- package/dist/formatters/audit.js.map +1 -1
- package/dist/formatters/capture.d.ts +8 -0
- package/dist/formatters/capture.d.ts.map +1 -1
- package/dist/formatters/capture.js +9 -0
- package/dist/formatters/capture.js.map +1 -1
- package/dist/formatters/coaching.d.ts +51 -0
- package/dist/formatters/coaching.d.ts.map +1 -0
- package/dist/formatters/coaching.js +46 -0
- package/dist/formatters/coaching.js.map +1 -0
- package/dist/formatters/collections.d.ts +40 -0
- package/dist/formatters/collections.d.ts.map +1 -0
- package/dist/formatters/collections.js +93 -0
- package/dist/formatters/collections.js.map +1 -0
- package/dist/formatters/conflicts.d.ts +44 -0
- package/dist/formatters/conflicts.d.ts.map +1 -0
- package/dist/formatters/conflicts.js +44 -0
- package/dist/formatters/conflicts.js.map +1 -0
- package/dist/formatters/conflicts.test.d.ts +2 -0
- package/dist/formatters/conflicts.test.d.ts.map +1 -0
- package/dist/formatters/conflicts.test.js +83 -0
- package/dist/formatters/conflicts.test.js.map +1 -0
- package/dist/formatters/context.d.ts +1 -1
- package/dist/formatters/context.d.ts.map +1 -1
- package/dist/formatters/context.js.map +1 -1
- package/dist/formatters/entry.d.ts +44 -0
- package/dist/formatters/entry.d.ts.map +1 -1
- package/dist/formatters/entry.js +70 -7
- package/dist/formatters/entry.js.map +1 -1
- package/dist/formatters/feedback.d.ts +35 -0
- package/dist/formatters/feedback.d.ts.map +1 -0
- package/dist/formatters/feedback.js +53 -0
- package/dist/formatters/feedback.js.map +1 -0
- package/dist/formatters/feedback.test.d.ts +2 -0
- package/dist/formatters/feedback.test.d.ts.map +1 -0
- package/dist/formatters/feedback.test.js +52 -0
- package/dist/formatters/feedback.test.js.map +1 -0
- package/dist/formatters/handshake.d.ts +44 -0
- package/dist/formatters/handshake.d.ts.map +1 -1
- package/dist/formatters/handshake.js +142 -3
- package/dist/formatters/handshake.js.map +1 -1
- package/dist/formatters/orient.coherencyCheckTag.test.d.ts +2 -0
- package/dist/formatters/orient.coherencyCheckTag.test.d.ts.map +1 -0
- package/dist/formatters/orient.coherencyCheckTag.test.js +22 -0
- package/dist/formatters/orient.coherencyCheckTag.test.js.map +1 -0
- package/dist/formatters/orient.d.ts +245 -4
- package/dist/formatters/orient.d.ts.map +1 -1
- package/dist/formatters/orient.js +302 -25
- package/dist/formatters/orient.js.map +1 -1
- package/dist/formatters/orient.rcrtMiss.test.d.ts +2 -0
- package/dist/formatters/orient.rcrtMiss.test.d.ts.map +1 -0
- package/dist/formatters/orient.rcrtMiss.test.js +146 -0
- package/dist/formatters/orient.rcrtMiss.test.js.map +1 -0
- package/dist/formatters/promote.d.ts +43 -0
- package/dist/formatters/promote.d.ts.map +1 -1
- package/dist/formatters/promote.js +32 -0
- package/dist/formatters/promote.js.map +1 -1
- package/dist/formatters/relate.d.ts +2 -0
- package/dist/formatters/relate.d.ts.map +1 -1
- package/dist/formatters/relate.js +3 -0
- package/dist/formatters/relate.js.map +1 -1
- package/dist/formatters/scoreboard.d.ts +11 -0
- package/dist/formatters/scoreboard.d.ts.map +1 -0
- package/dist/formatters/scoreboard.js +107 -0
- package/dist/formatters/scoreboard.js.map +1 -0
- package/dist/formatters/scoreboard.test.d.ts +2 -0
- package/dist/formatters/scoreboard.test.d.ts.map +1 -0
- package/dist/formatters/scoreboard.test.js +144 -0
- package/dist/formatters/scoreboard.test.js.map +1 -0
- package/dist/formatters/session-feedback.test.d.ts +2 -0
- package/dist/formatters/session-feedback.test.d.ts.map +1 -0
- package/dist/formatters/session-feedback.test.js +49 -0
- package/dist/formatters/session-feedback.test.js.map +1 -0
- package/dist/formatters/session.d.ts +101 -1
- package/dist/formatters/session.d.ts.map +1 -1
- package/dist/formatters/session.js +272 -9
- package/dist/formatters/session.js.map +1 -1
- package/dist/formatters/update.d.ts +3 -0
- package/dist/formatters/update.d.ts.map +1 -1
- package/dist/formatters/update.js +4 -0
- package/dist/formatters/update.js.map +1 -1
- package/dist/formatters/verify.d.ts +12 -4
- package/dist/formatters/verify.d.ts.map +1 -1
- package/dist/formatters/verify.js +20 -2
- package/dist/formatters/verify.js.map +1 -1
- package/dist/generated/healthGapKinds.generated.d.ts +12 -0
- package/dist/generated/healthGapKinds.generated.d.ts.map +1 -0
- package/dist/generated/healthGapKinds.generated.js +24 -0
- package/dist/generated/healthGapKinds.generated.js.map +1 -0
- package/dist/generators/adapters.d.ts +33 -0
- package/dist/generators/adapters.d.ts.map +1 -1
- package/dist/generators/adapters.js +64 -4
- package/dist/generators/adapters.js.map +1 -1
- package/dist/generators/archetypes.d.ts +52 -0
- package/dist/generators/archetypes.d.ts.map +1 -0
- package/dist/generators/archetypes.js +190 -0
- package/dist/generators/archetypes.js.map +1 -0
- package/dist/generators/archetypes.test.d.ts +2 -0
- package/dist/generators/archetypes.test.d.ts.map +1 -0
- package/dist/generators/archetypes.test.js +272 -0
- package/dist/generators/archetypes.test.js.map +1 -0
- package/dist/generators/boundary-manifest.d.ts +29 -0
- package/dist/generators/boundary-manifest.d.ts.map +1 -0
- package/dist/generators/boundary-manifest.js +183 -0
- package/dist/generators/boundary-manifest.js.map +1 -0
- package/dist/generators/boundary-manifest.real-file.test.d.ts +2 -0
- package/dist/generators/boundary-manifest.real-file.test.d.ts.map +1 -0
- package/dist/generators/boundary-manifest.real-file.test.js +70 -0
- package/dist/generators/boundary-manifest.real-file.test.js.map +1 -0
- package/dist/generators/boundary-manifest.test.d.ts +2 -0
- package/dist/generators/boundary-manifest.test.d.ts.map +1 -0
- package/dist/generators/boundary-manifest.test.js +91 -0
- package/dist/generators/boundary-manifest.test.js.map +1 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.d.ts +2 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.d.ts.map +1 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.js +41 -0
- package/dist/generators/chain-classifier-kernel-client-drift.test.js.map +1 -0
- package/dist/generators/chain-classifier.d.ts +102 -0
- package/dist/generators/chain-classifier.d.ts.map +1 -0
- package/dist/generators/chain-classifier.js +52 -0
- package/dist/generators/chain-classifier.js.map +1 -0
- package/dist/generators/chain-rules.d.ts +42 -0
- package/dist/generators/chain-rules.d.ts.map +1 -0
- package/dist/generators/chain-rules.js +256 -0
- package/dist/generators/chain-rules.js.map +1 -0
- package/dist/generators/chain-rules.test.d.ts +2 -0
- package/dist/generators/chain-rules.test.d.ts.map +1 -0
- package/dist/generators/chain-rules.test.js +448 -0
- package/dist/generators/chain-rules.test.js.map +1 -0
- package/dist/generators/context-md.d.ts +1 -1
- package/dist/generators/context-md.d.ts.map +1 -1
- package/dist/generators/context-md.js +18 -7
- package/dist/generators/context-md.js.map +1 -1
- package/dist/generators/handshake-diff.d.ts +67 -0
- package/dist/generators/handshake-diff.d.ts.map +1 -0
- package/dist/generators/handshake-diff.js +183 -0
- package/dist/generators/handshake-diff.js.map +1 -0
- package/dist/generators/handshake-diff.test.d.ts +2 -0
- package/dist/generators/handshake-diff.test.d.ts.map +1 -0
- package/dist/generators/handshake-diff.test.js +264 -0
- package/dist/generators/handshake-diff.test.js.map +1 -0
- package/dist/generators/manifest.d.ts +115 -0
- package/dist/generators/manifest.d.ts.map +1 -0
- package/dist/generators/manifest.js +277 -0
- package/dist/generators/manifest.js.map +1 -0
- package/dist/generators/portable-knowledge.d.ts +24 -2
- package/dist/generators/portable-knowledge.d.ts.map +1 -1
- package/dist/generators/portable-knowledge.js +97 -2
- package/dist/generators/portable-knowledge.js.map +1 -1
- package/dist/generators/portable-knowledge.test.js +43 -0
- package/dist/generators/portable-knowledge.test.js.map +1 -1
- package/dist/generators/region-projections.d.ts +18 -0
- package/dist/generators/region-projections.d.ts.map +1 -0
- package/dist/generators/region-projections.js +49 -0
- package/dist/generators/region-projections.js.map +1 -0
- package/dist/generators/region-projections.test.d.ts +2 -0
- package/dist/generators/region-projections.test.d.ts.map +1 -0
- package/dist/generators/region-projections.test.js +63 -0
- package/dist/generators/region-projections.test.js.map +1 -0
- package/dist/generators/region.d.ts +24 -0
- package/dist/generators/region.d.ts.map +1 -0
- package/dist/generators/region.js +87 -0
- package/dist/generators/region.js.map +1 -0
- package/dist/generators/region.test.d.ts +2 -0
- package/dist/generators/region.test.d.ts.map +1 -0
- package/dist/generators/region.test.js +126 -0
- package/dist/generators/region.test.js.map +1 -0
- package/dist/generators/surface-profiles.d.ts +1 -2
- package/dist/generators/surface-profiles.d.ts.map +1 -1
- package/dist/generators/surface-profiles.js.map +1 -1
- package/dist/index.js +795 -261
- package/dist/index.js.map +1 -1
- package/dist/lib/__tests__/parseFields.test.d.ts +2 -0
- package/dist/lib/__tests__/parseFields.test.d.ts.map +1 -0
- package/dist/lib/__tests__/parseFields.test.js +19 -0
- package/dist/lib/__tests__/parseFields.test.js.map +1 -0
- package/dist/lib/activation.d.ts +28 -0
- package/dist/lib/activation.d.ts.map +1 -0
- package/dist/lib/activation.js +61 -0
- package/dist/lib/activation.js.map +1 -0
- package/dist/lib/activation.test.d.ts +6 -0
- package/dist/lib/activation.test.d.ts.map +1 -0
- package/dist/lib/activation.test.js +121 -0
- package/dist/lib/activation.test.js.map +1 -0
- package/dist/lib/canonicalRefs.d.ts +141 -0
- package/dist/lib/canonicalRefs.d.ts.map +1 -0
- package/dist/lib/canonicalRefs.js +150 -0
- package/dist/lib/canonicalRefs.js.map +1 -0
- package/dist/lib/client.d.ts +36 -6
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +234 -45
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/collectionRegistry.d.ts +52 -0
- package/dist/lib/collectionRegistry.d.ts.map +1 -0
- package/dist/lib/collectionRegistry.js +118 -0
- package/dist/lib/collectionRegistry.js.map +1 -0
- package/dist/lib/compose-wrapup-view.d.ts +48 -0
- package/dist/lib/compose-wrapup-view.d.ts.map +1 -0
- package/dist/lib/compose-wrapup-view.js +37 -0
- package/dist/lib/compose-wrapup-view.js.map +1 -0
- package/dist/lib/config.d.ts +204 -4
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +594 -42
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/connectKeyLabel.d.ts +9 -0
- package/dist/lib/connectKeyLabel.d.ts.map +1 -0
- package/dist/lib/connectKeyLabel.js +12 -0
- package/dist/lib/connectKeyLabel.js.map +1 -0
- package/dist/lib/constants.d.ts +46 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +83 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/conversation-engine.d.ts +45 -0
- package/dist/lib/conversation-engine.d.ts.map +1 -0
- package/dist/lib/conversation-engine.js +112 -0
- package/dist/lib/conversation-engine.js.map +1 -0
- package/dist/lib/conversation-phases.d.ts +59 -0
- package/dist/lib/conversation-phases.d.ts.map +1 -0
- package/dist/lib/conversation-phases.js +11 -0
- package/dist/lib/conversation-phases.js.map +1 -0
- package/dist/lib/conversation-signals.d.ts +30 -0
- package/dist/lib/conversation-signals.d.ts.map +1 -0
- package/dist/lib/conversation-signals.js +64 -0
- package/dist/lib/conversation-signals.js.map +1 -0
- package/dist/lib/conversation.d.ts +36 -0
- package/dist/lib/conversation.d.ts.map +1 -0
- package/dist/lib/conversation.js +66 -0
- package/dist/lib/conversation.js.map +1 -0
- package/dist/lib/deployment.d.ts +23 -0
- package/dist/lib/deployment.d.ts.map +1 -0
- package/dist/lib/deployment.js +78 -0
- package/dist/lib/deployment.js.map +1 -0
- package/dist/lib/deployment.test.d.ts +5 -0
- package/dist/lib/deployment.test.d.ts.map +1 -0
- package/dist/lib/deployment.test.js +54 -0
- package/dist/lib/deployment.test.js.map +1 -0
- package/dist/lib/errors.d.ts +104 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +113 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/experiment.d.ts +18 -0
- package/dist/lib/experiment.d.ts.map +1 -0
- package/dist/lib/experiment.js +28 -0
- package/dist/lib/experiment.js.map +1 -0
- package/dist/lib/format.d.ts +10 -0
- package/dist/lib/format.d.ts.map +1 -0
- package/dist/lib/format.js +27 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/frontmatter.d.ts +55 -0
- package/dist/lib/frontmatter.d.ts.map +1 -0
- package/dist/lib/frontmatter.js +92 -0
- package/dist/lib/frontmatter.js.map +1 -0
- package/dist/lib/frontmatter.test.d.ts +15 -0
- package/dist/lib/frontmatter.test.d.ts.map +1 -0
- package/dist/lib/frontmatter.test.js +98 -0
- package/dist/lib/frontmatter.test.js.map +1 -0
- package/dist/lib/glossary.d.ts +19 -0
- package/dist/lib/glossary.d.ts.map +1 -0
- package/dist/lib/glossary.js +53 -0
- package/dist/lib/glossary.js.map +1 -0
- package/dist/lib/hook-intents.d.ts +51 -0
- package/dist/lib/hook-intents.d.ts.map +1 -0
- package/dist/lib/hook-intents.js +85 -0
- package/dist/lib/hook-intents.js.map +1 -0
- package/dist/lib/inferSourceDate.d.ts +12 -0
- package/dist/lib/inferSourceDate.d.ts.map +1 -0
- package/dist/lib/inferSourceDate.js +44 -0
- package/dist/lib/inferSourceDate.js.map +1 -0
- package/dist/lib/method-registry.d.ts +37 -0
- package/dist/lib/method-registry.d.ts.map +1 -0
- package/dist/lib/method-registry.js +41 -0
- package/dist/lib/method-registry.js.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.d.ts +28 -0
- package/dist/lib/normalizeMaterializedFilename.d.ts.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.js +56 -0
- package/dist/lib/normalizeMaterializedFilename.js.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.test.d.ts +16 -0
- package/dist/lib/normalizeMaterializedFilename.test.d.ts.map +1 -0
- package/dist/lib/normalizeMaterializedFilename.test.js +90 -0
- package/dist/lib/normalizeMaterializedFilename.test.js.map +1 -0
- package/dist/lib/notice-marker.d.ts +3 -0
- package/dist/lib/notice-marker.d.ts.map +1 -0
- package/dist/lib/notice-marker.js +53 -0
- package/dist/lib/notice-marker.js.map +1 -0
- package/dist/lib/onboarding-path-b.d.ts +10 -0
- package/dist/lib/onboarding-path-b.d.ts.map +1 -0
- package/dist/lib/onboarding-path-b.js +243 -0
- package/dist/lib/onboarding-path-b.js.map +1 -0
- package/dist/lib/onboarding-shared.d.ts +81 -0
- package/dist/lib/onboarding-shared.d.ts.map +1 -0
- package/dist/lib/onboarding-shared.js +175 -0
- package/dist/lib/onboarding-shared.js.map +1 -0
- package/dist/lib/onboarding-topics.d.ts +27 -0
- package/dist/lib/onboarding-topics.d.ts.map +1 -0
- package/dist/lib/onboarding-topics.js +57 -0
- package/dist/lib/onboarding-topics.js.map +1 -0
- package/dist/lib/onboarding.d.ts +17 -0
- package/dist/lib/onboarding.d.ts.map +1 -0
- package/dist/lib/onboarding.js +350 -0
- package/dist/lib/onboarding.js.map +1 -0
- package/dist/lib/parseFields.d.ts +6 -0
- package/dist/lib/parseFields.d.ts.map +1 -0
- package/dist/lib/parseFields.js +30 -0
- package/dist/lib/parseFields.js.map +1 -0
- package/dist/lib/previewBanner.d.ts +9 -0
- package/dist/lib/previewBanner.d.ts.map +1 -0
- package/dist/lib/previewBanner.js +37 -0
- package/dist/lib/previewBanner.js.map +1 -0
- package/dist/lib/productbrain-files.d.ts +94 -0
- package/dist/lib/productbrain-files.d.ts.map +1 -0
- package/dist/lib/productbrain-files.js +214 -0
- package/dist/lib/productbrain-files.js.map +1 -0
- package/dist/lib/productbrain-files.test.d.ts +2 -0
- package/dist/lib/productbrain-files.test.d.ts.map +1 -0
- package/dist/lib/productbrain-files.test.js +258 -0
- package/dist/lib/productbrain-files.test.js.map +1 -0
- package/dist/lib/profiles.d.ts +41 -0
- package/dist/lib/profiles.d.ts.map +1 -0
- package/dist/lib/profiles.js +188 -0
- package/dist/lib/profiles.js.map +1 -0
- package/dist/lib/prompts.d.ts +65 -0
- package/dist/lib/prompts.d.ts.map +1 -0
- package/dist/lib/prompts.js +132 -0
- package/dist/lib/prompts.js.map +1 -0
- package/dist/lib/runner.d.ts +10 -0
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/runner.js +44 -7
- package/dist/lib/runner.js.map +1 -1
- package/dist/lib/session.d.ts +85 -4
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/lib/session.js +276 -13
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/spinner.d.ts +27 -0
- package/dist/lib/spinner.d.ts.map +1 -0
- package/dist/lib/spinner.js +76 -0
- package/dist/lib/spinner.js.map +1 -0
- package/dist/lib/spinner.test.d.ts +2 -0
- package/dist/lib/spinner.test.d.ts.map +1 -0
- package/dist/lib/spinner.test.js +39 -0
- package/dist/lib/spinner.test.js.map +1 -0
- package/dist/lib/startup-resolution-signals.d.ts +34 -0
- package/dist/lib/startup-resolution-signals.d.ts.map +1 -0
- package/dist/lib/startup-resolution-signals.js +118 -0
- package/dist/lib/startup-resolution-signals.js.map +1 -0
- package/dist/lib/startup-resolution-signals.test.d.ts +2 -0
- package/dist/lib/startup-resolution-signals.test.d.ts.map +1 -0
- package/dist/lib/startup-resolution-signals.test.js +113 -0
- package/dist/lib/startup-resolution-signals.test.js.map +1 -0
- package/dist/lib/startup-signals.d.ts +12 -0
- package/dist/lib/startup-signals.d.ts.map +1 -0
- package/dist/lib/startup-signals.js +172 -0
- package/dist/lib/startup-signals.js.map +1 -0
- package/dist/lib/startup-signals.test.d.ts +2 -0
- package/dist/lib/startup-signals.test.d.ts.map +1 -0
- package/dist/lib/startup-signals.test.js +165 -0
- package/dist/lib/startup-signals.test.js.map +1 -0
- package/dist/lib/state.d.ts +51 -0
- package/dist/lib/state.d.ts.map +1 -0
- package/dist/lib/state.js +90 -0
- package/dist/lib/state.js.map +1 -0
- package/dist/lib/strip.d.ts.map +1 -1
- package/dist/lib/strip.js +7 -1
- package/dist/lib/strip.js.map +1 -1
- package/dist/lib/style.d.ts +96 -0
- package/dist/lib/style.d.ts.map +1 -0
- package/dist/lib/style.js +169 -0
- package/dist/lib/style.js.map +1 -0
- package/dist/lib/style.test.d.ts +7 -0
- package/dist/lib/style.test.d.ts.map +1 -0
- package/dist/lib/style.test.js +263 -0
- package/dist/lib/style.test.js.map +1 -0
- package/dist/lib/telemetry.d.ts +15 -0
- package/dist/lib/telemetry.d.ts.map +1 -0
- package/dist/lib/telemetry.js +47 -0
- package/dist/lib/telemetry.js.map +1 -0
- package/dist/lib/tokenConstants.d.ts +19 -0
- package/dist/lib/tokenConstants.d.ts.map +1 -0
- package/dist/lib/tokenConstants.js +19 -0
- package/dist/lib/tokenConstants.js.map +1 -0
- package/dist/lib/update-check.d.ts +56 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +296 -0
- package/dist/lib/update-check.js.map +1 -0
- package/dist/lib/upgrade-runner.d.ts +22 -0
- package/dist/lib/upgrade-runner.d.ts.map +1 -0
- package/dist/lib/upgrade-runner.js +110 -0
- package/dist/lib/upgrade-runner.js.map +1 -0
- package/dist/lib/wizard-surfaces.d.ts +47 -0
- package/dist/lib/wizard-surfaces.d.ts.map +1 -0
- package/dist/lib/wizard-surfaces.js +176 -0
- package/dist/lib/wizard-surfaces.js.map +1 -0
- package/dist/lib/wizard-surfaces.test.d.ts +2 -0
- package/dist/lib/wizard-surfaces.test.d.ts.map +1 -0
- package/dist/lib/wizard-surfaces.test.js +127 -0
- package/dist/lib/wizard-surfaces.test.js.map +1 -0
- package/dist/lib/wizard-trust.d.ts +31 -0
- package/dist/lib/wizard-trust.d.ts.map +1 -0
- package/dist/lib/wizard-trust.js +66 -0
- package/dist/lib/wizard-trust.js.map +1 -0
- package/dist/lib/wizard-trust.test.d.ts +2 -0
- package/dist/lib/wizard-trust.test.d.ts.map +1 -0
- package/dist/lib/wizard-trust.test.js +32 -0
- package/dist/lib/wizard-trust.test.js.map +1 -0
- package/dist/lib/workspace-probe.d.ts +19 -0
- package/dist/lib/workspace-probe.d.ts.map +1 -0
- package/dist/lib/workspace-probe.js +27 -0
- package/dist/lib/workspace-probe.js.map +1 -0
- package/dist/lib/workspaceNotice.d.ts +59 -0
- package/dist/lib/workspaceNotice.d.ts.map +1 -0
- package/dist/lib/workspaceNotice.js +77 -0
- package/dist/lib/workspaceNotice.js.map +1 -0
- package/dist/lib/workspaceVocabCache.d.ts +60 -0
- package/dist/lib/workspaceVocabCache.d.ts.map +1 -0
- package/dist/lib/workspaceVocabCache.js +98 -0
- package/dist/lib/workspaceVocabCache.js.map +1 -0
- package/dist/scoreboard/diagnose.d.ts +266 -0
- package/dist/scoreboard/diagnose.d.ts.map +1 -0
- package/dist/scoreboard/diagnose.js +274 -0
- package/dist/scoreboard/diagnose.js.map +1 -0
- package/dist/scoreboard/diagnose.test.d.ts +14 -0
- package/dist/scoreboard/diagnose.test.d.ts.map +1 -0
- package/dist/scoreboard/diagnose.test.js +266 -0
- package/dist/scoreboard/diagnose.test.js.map +1 -0
- package/dist/scoreboard/localDrift.d.ts +23 -0
- package/dist/scoreboard/localDrift.d.ts.map +1 -0
- package/dist/scoreboard/localDrift.js +111 -0
- package/dist/scoreboard/localDrift.js.map +1 -0
- package/dist/scoreboard/localDrift.test.d.ts +9 -0
- package/dist/scoreboard/localDrift.test.d.ts.map +1 -0
- package/dist/scoreboard/localDrift.test.js +82 -0
- package/dist/scoreboard/localDrift.test.js.map +1 -0
- package/dist/setup/__tests__/coach-traces.test.d.ts +2 -0
- package/dist/setup/__tests__/coach-traces.test.d.ts.map +1 -0
- package/dist/setup/__tests__/coach-traces.test.js +189 -0
- package/dist/setup/__tests__/coach-traces.test.js.map +1 -0
- package/dist/setup/__tests__/setup-commands.test.d.ts +2 -0
- package/dist/setup/__tests__/setup-commands.test.d.ts.map +1 -0
- package/dist/setup/__tests__/setup-commands.test.js +177 -0
- package/dist/setup/__tests__/setup-commands.test.js.map +1 -0
- package/dist/setup/__tests__/state-machine.test.d.ts +2 -0
- package/dist/setup/__tests__/state-machine.test.d.ts.map +1 -0
- package/dist/setup/__tests__/state-machine.test.js +341 -0
- package/dist/setup/__tests__/state-machine.test.js.map +1 -0
- package/dist/setup/detect-surfaces.d.ts +21 -0
- package/dist/setup/detect-surfaces.d.ts.map +1 -0
- package/dist/setup/detect-surfaces.js +39 -0
- package/dist/setup/detect-surfaces.js.map +1 -0
- package/dist/setup/manifest-writer.d.ts +17 -0
- package/dist/setup/manifest-writer.d.ts.map +1 -0
- package/dist/setup/manifest-writer.js +153 -0
- package/dist/setup/manifest-writer.js.map +1 -0
- package/dist/setup/perimeter.d.ts +72 -0
- package/dist/setup/perimeter.d.ts.map +1 -0
- package/dist/setup/perimeter.js +128 -0
- package/dist/setup/perimeter.js.map +1 -0
- package/dist/setup/state-machine.d.ts +67 -0
- package/dist/setup/state-machine.d.ts.map +1 -0
- package/dist/setup/state-machine.js +124 -0
- package/dist/setup/state-machine.js.map +1 -0
- package/dist/surfaces/__tests__/adapter.test.d.ts +2 -0
- package/dist/surfaces/__tests__/adapter.test.d.ts.map +1 -0
- package/dist/surfaces/__tests__/adapter.test.js +90 -0
- package/dist/surfaces/__tests__/adapter.test.js.map +1 -0
- package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts +2 -0
- package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts.map +1 -0
- package/dist/surfaces/__tests__/pb-setup-passthrough.test.js +132 -0
- package/dist/surfaces/__tests__/pb-setup-passthrough.test.js.map +1 -0
- package/dist/surfaces/__tests__/telemetry.test.d.ts +2 -0
- package/dist/surfaces/__tests__/telemetry.test.d.ts.map +1 -0
- package/dist/surfaces/__tests__/telemetry.test.js +55 -0
- package/dist/surfaces/__tests__/telemetry.test.js.map +1 -0
- package/dist/surfaces/adapter.d.ts +70 -0
- package/dist/surfaces/adapter.d.ts.map +1 -0
- package/dist/surfaces/adapter.js +2 -0
- package/dist/surfaces/adapter.js.map +1 -0
- package/dist/surfaces/adapters/claude.d.ts +3 -0
- package/dist/surfaces/adapters/claude.d.ts.map +1 -0
- package/dist/surfaces/adapters/claude.js +67 -0
- package/dist/surfaces/adapters/claude.js.map +1 -0
- package/dist/surfaces/adapters/codex.d.ts +3 -0
- package/dist/surfaces/adapters/codex.d.ts.map +1 -0
- package/dist/surfaces/adapters/codex.js +61 -0
- package/dist/surfaces/adapters/codex.js.map +1 -0
- package/dist/surfaces/adapters/copilot.d.ts +3 -0
- package/dist/surfaces/adapters/copilot.d.ts.map +1 -0
- package/dist/surfaces/adapters/copilot.js +59 -0
- package/dist/surfaces/adapters/copilot.js.map +1 -0
- package/dist/surfaces/adapters/cursor.d.ts +3 -0
- package/dist/surfaces/adapters/cursor.d.ts.map +1 -0
- package/dist/surfaces/adapters/cursor.js +78 -0
- package/dist/surfaces/adapters/cursor.js.map +1 -0
- package/dist/surfaces/registry.d.ts +76 -0
- package/dist/surfaces/registry.d.ts.map +1 -0
- package/dist/surfaces/registry.js +117 -0
- package/dist/surfaces/registry.js.map +1 -0
- package/dist/surfaces/telemetry.d.ts +17 -0
- package/dist/surfaces/telemetry.d.ts.map +1 -0
- package/dist/surfaces/telemetry.js +31 -0
- package/dist/surfaces/telemetry.js.map +1 -0
- package/package.json +12 -4
- package/templates/archetypes/boundary.md +23 -0
- package/templates/archetypes/constraint.md +23 -0
- package/templates/archetypes/convention.md +23 -0
- package/templates/archetypes/policy.md +23 -0
- package/templates/archetypes/quality-gate.md +23 -0
- package/templates/archetypes/workflow.md +23 -0
- package/templates/method-registry.json +16 -0
- package/dist/generators/__tests__/surface-profiles.test.d.ts +0 -2
- package/dist/generators/__tests__/surface-profiles.test.d.ts.map +0 -1
- package/dist/generators/__tests__/surface-profiles.test.js +0 -89
- package/dist/generators/__tests__/surface-profiles.test.js.map +0 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
const { vfs, PB_DIR } = vi.hoisted(() => ({
|
|
4
|
+
vfs: {},
|
|
5
|
+
PB_DIR: '/tmp/pb-test/.productbrain',
|
|
6
|
+
}));
|
|
7
|
+
vi.mock('fs', () => ({
|
|
8
|
+
existsSync: vi.fn((path) => path in vfs),
|
|
9
|
+
readFileSync: vi.fn((path, _enc) => {
|
|
10
|
+
if (path in vfs)
|
|
11
|
+
return vfs[path];
|
|
12
|
+
throw Object.assign(new Error(`ENOENT: no such file '${path}'`), { code: 'ENOENT' });
|
|
13
|
+
}),
|
|
14
|
+
}));
|
|
15
|
+
import { generateBoundaryManifest, getBoundaryEnforcementMode, parseBoundaryRules, } from './boundary-manifest.js';
|
|
16
|
+
const SOURCE_PATH = join(PB_DIR, 'rules', 'architecture-boundaries.md');
|
|
17
|
+
function boundaryMarkdown(depcruiseRuleName = 'core-no-feature') {
|
|
18
|
+
return `---
|
|
19
|
+
name: architecture-boundaries
|
|
20
|
+
enforcement:
|
|
21
|
+
boundaries:
|
|
22
|
+
- id: core-no-feature
|
|
23
|
+
kind: policyBoundary
|
|
24
|
+
status: active
|
|
25
|
+
scope: convex
|
|
26
|
+
chainRefs: [BR-19, ARCH-29]
|
|
27
|
+
description: "Core must not import Feature."
|
|
28
|
+
from:
|
|
29
|
+
path: "^convex/gitchain/"
|
|
30
|
+
to:
|
|
31
|
+
path: "^convex/chainwork/"
|
|
32
|
+
severity: error
|
|
33
|
+
enforcement:
|
|
34
|
+
depcruiseRuleName: ${depcruiseRuleName}
|
|
35
|
+
- id: no-circular
|
|
36
|
+
kind: localOnlyTechnical
|
|
37
|
+
status: active
|
|
38
|
+
scope: repo
|
|
39
|
+
chainRefs: []
|
|
40
|
+
description: "Technical graph integrity check."
|
|
41
|
+
enforcement:
|
|
42
|
+
depcruiseRuleName: no-circular
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
# Architecture Boundaries
|
|
46
|
+
`;
|
|
47
|
+
}
|
|
48
|
+
describe('boundary manifest generator', () => {
|
|
49
|
+
beforeEach(() => {
|
|
50
|
+
Object.keys(vfs).forEach((key) => delete vfs[key]);
|
|
51
|
+
vi.clearAllMocks();
|
|
52
|
+
});
|
|
53
|
+
it('defaults new workspaces to advisory mode', () => {
|
|
54
|
+
expect(getBoundaryEnforcementMode(null)).toBe('advisory');
|
|
55
|
+
});
|
|
56
|
+
it('parses structured Product Brain boundary frontmatter', () => {
|
|
57
|
+
const rules = parseBoundaryRules(boundaryMarkdown());
|
|
58
|
+
expect(rules).toHaveLength(2);
|
|
59
|
+
expect(rules[0]).toMatchObject({
|
|
60
|
+
id: 'core-no-feature',
|
|
61
|
+
kind: 'policyBoundary',
|
|
62
|
+
status: 'active',
|
|
63
|
+
scope: 'convex',
|
|
64
|
+
chainRefs: ['BR-19', 'ARCH-29'],
|
|
65
|
+
from: { path: '^convex/gitchain/' },
|
|
66
|
+
to: { path: '^convex/chainwork/' },
|
|
67
|
+
severity: 'error',
|
|
68
|
+
enforcement: { depcruiseRuleName: 'core-no-feature' },
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
it('generates a stable manifest with source and chain metadata', () => {
|
|
72
|
+
vfs[SOURCE_PATH] = boundaryMarkdown();
|
|
73
|
+
const content = generateBoundaryManifest(PB_DIR);
|
|
74
|
+
expect(content).not.toBeNull();
|
|
75
|
+
const manifest = JSON.parse(content);
|
|
76
|
+
expect(manifest.sources[0].path).toBe('.productbrain/rules/architecture-boundaries.md');
|
|
77
|
+
expect(manifest.chainSources.map((source) => source.entryId)).toEqual([
|
|
78
|
+
'ARCH-29',
|
|
79
|
+
'BR-19',
|
|
80
|
+
]);
|
|
81
|
+
expect(manifest.rules.map((rule) => rule.id)).toEqual([
|
|
82
|
+
'core-no-feature',
|
|
83
|
+
'no-circular',
|
|
84
|
+
]);
|
|
85
|
+
});
|
|
86
|
+
it('rejects duplicate dependency-cruiser rule names', () => {
|
|
87
|
+
vfs[SOURCE_PATH] = boundaryMarkdown('no-circular');
|
|
88
|
+
expect(() => generateBoundaryManifest(PB_DIR)).toThrow('Duplicate dependency-cruiser rule name "no-circular".');
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=boundary-manifest.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boundary-manifest.test.js","sourceRoot":"","sources":["../../src/generators/boundary-manifest.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-classifier-kernel-client-drift.test.d.ts","sourceRoot":"","sources":["../../src/generators/chain-classifier-kernel-client-drift.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compile-time drift test — PR #393 review (Codex P2), post-Lane-C-S3a fix.
|
|
3
|
+
*
|
|
4
|
+
* `chain-classifier.ts`'s `GovernanceFunction`/`GovernanceRelationEdge` are LOCAL,
|
|
5
|
+
* structural declarations again (not `import type`-re-exported from
|
|
6
|
+
* `@productbrain/kernel-client/governance`) — a re-export would leak the kernel-client
|
|
7
|
+
* import specifier into cli's PUBLISHED `.d.ts` output (`npm pack --dry-run` confirmed
|
|
8
|
+
* `dist/generators/chain-classifier.d.ts` ships in the tarball; a TypeScript consumer
|
|
9
|
+
* following that declaration would hit `TS2307: Cannot find module
|
|
10
|
+
* '@productbrain/kernel-client/governance'`, since that package is `private: true` and
|
|
11
|
+
* never published).
|
|
12
|
+
*
|
|
13
|
+
* This file is what replaces the deleted pre-S3a "zero drift risk" comment's unverified
|
|
14
|
+
* promise with an ENFORCED one: it imports BOTH chain-classifier.ts's local types and
|
|
15
|
+
* kernel-client's canonical originals, and asserts mutual structural assignability at
|
|
16
|
+
* the TYPE level. If either shape drifts without the other being updated to match, this
|
|
17
|
+
* file FAILS TO COMPILE (`tsc --noEmit` / `check:package-types` / this vitest run all
|
|
18
|
+
* fail) — a real, re-runnable check.
|
|
19
|
+
*
|
|
20
|
+
* This file exports NOTHING, so its own compiled declaration carries no kernel-client
|
|
21
|
+
* reference (verified: `npm pack --dry-run` shows no import in the emitted
|
|
22
|
+
* `chain-classifier-kernel-client-drift.test.d.ts` — nothing here is part of the public
|
|
23
|
+
* surface a consumer could ever deep-import).
|
|
24
|
+
*/
|
|
25
|
+
import { describe, expect, it } from 'vitest';
|
|
26
|
+
// If either line below fails to compile, chain-classifier.ts's local mirror has drifted
|
|
27
|
+
// from kernel-client's canonical shape — update the local declaration in
|
|
28
|
+
// chain-classifier.ts to match kernel/governance/classifyGovernance.ts's real shape.
|
|
29
|
+
const _governanceFunctionMatchesKernelClient = true;
|
|
30
|
+
const _governanceRelationEdgeMatchesKernelClient = true;
|
|
31
|
+
void _governanceFunctionMatchesKernelClient;
|
|
32
|
+
void _governanceRelationEdgeMatchesKernelClient;
|
|
33
|
+
describe('chain-classifier.ts governance types stay structurally identical to @productbrain/kernel-client/governance (PR #393 review)', () => {
|
|
34
|
+
it('compiles only when both AssertEqual checks above resolve to `true` — this test passing IS the drift check; the assertion below is a no-op runtime confirmation', () => {
|
|
35
|
+
// The real check already ran at compile time (the `const _...: AssertEqual<...> =
|
|
36
|
+
// true` lines above). If this test file compiled and vitest is running it, the
|
|
37
|
+
// types matched. This assertion just gives the check a visible, reportable pass.
|
|
38
|
+
expect(true).toBe(true);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=chain-classifier-kernel-client-drift.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-classifier-kernel-client-drift.test.js","sourceRoot":"","sources":["../../src/generators/chain-classifier-kernel-client-drift.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AA0B9C,wFAAwF;AACxF,yEAAyE;AACzE,qFAAqF;AACrF,MAAM,sCAAsC,GAA8D,IAAI,CAAC;AAC/G,MAAM,0CAA0C,GAAsE,IAAI,CAAC;AAC3H,KAAK,sCAAsC,CAAC;AAC5C,KAAK,0CAA0C,CAAC;AAEhD,QAAQ,CAAC,6HAA6H,EAAE,GAAG,EAAE;IAC3I,EAAE,CAAC,gKAAgK,EAAE,GAAG,EAAE;QACxK,kFAAkF;QAClF,+EAA+E;QAC/E,iFAAiF;QACjF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain Classifier — types only.
|
|
3
|
+
*
|
|
4
|
+
* WP-488 Slice 4 (FEAT-1378, TEN-2733): the classifier IMPLEMENTATION moved to
|
|
5
|
+
* kernel/governance/classifyGovernance.ts, served over the gateway as
|
|
6
|
+
* `chain.classifyGovernance` — no connector-local scorer (see chain-rules.ts, which
|
|
7
|
+
* calls the served verdict). These type/interface declarations stay here because
|
|
8
|
+
* `handshake-diff.ts` / `archetypes.ts` / `chain-rules.ts` need the SHAPES, and
|
|
9
|
+
* `packages/cli` cannot import `kernel/` directly (`kernel/` is a private, unpublished
|
|
10
|
+
* workspace package; CLI compiles with plain `tsc`, no bundler — a `kernel` import
|
|
11
|
+
* would emit an unresolvable specifier into the published `dist/`, verified in WP-488
|
|
12
|
+
* Slice 3 for the identical class of failure).
|
|
13
|
+
*
|
|
14
|
+
* Lane C S3a (TEN-2733 pattern extension), REVISED post-merge (PR #393 review,
|
|
15
|
+
* Codex P2): `GovernanceFunction`/`GovernanceRelationEdge` were briefly `import
|
|
16
|
+
* type`-only re-exports from `@productbrain/kernel-client/governance`. Confirmed real:
|
|
17
|
+
* `import type` erases from EMITTED JS (no runtime import — verified, unchanged), but
|
|
18
|
+
* `tsc`'s DECLARATION (`.d.ts`) output for a re-export like `export type { X } from
|
|
19
|
+
* 'module'` PRESERVES the import specifier — and `npm pack --dry-run` confirms
|
|
20
|
+
* `dist/generators/chain-classifier.d.ts` ships in the published tarball. A TypeScript
|
|
21
|
+
* consumer following that shipped declaration (cli's package.json has no "exports" map,
|
|
22
|
+
* so nothing blocks a deep import of `dist/generators/chain-classifier.js`) would hit
|
|
23
|
+
* `TS2307: Cannot find module '@productbrain/kernel-client/governance'` — that package
|
|
24
|
+
* is `private: true`, never published. A `type X = import('@productbrain/kernel-client/
|
|
25
|
+
* governance').X` alias form doesn't fix this either — the import specifier still leaks
|
|
26
|
+
* into the declaration the same way.
|
|
27
|
+
*
|
|
28
|
+
* FIX: `GovernanceFunction`/`GovernanceRelationEdge` are LOCAL, structural declarations
|
|
29
|
+
* again (below) — the published `.d.ts` is fully self-contained, no kernel-client
|
|
30
|
+
* reference at all. Binding to kernel-client's canonical shape moved from "the type
|
|
31
|
+
* IS the import" to "a committed, compile-time DRIFT TEST" —
|
|
32
|
+
* `chain-classifier-kernel-client-drift.test.ts` (same directory) imports BOTH this
|
|
33
|
+
* file's local types AND kernel-client's `@productbrain/kernel-client/governance`
|
|
34
|
+
* originals and asserts mutual structural assignability; if either shape drifts without
|
|
35
|
+
* the other being updated to match, that test FAILS TO COMPILE — a real, enforced
|
|
36
|
+
* check, not the deleted pre-S3a "zero drift risk" comment's unverified promise. The
|
|
37
|
+
* drift test itself exports nothing, so ITS declaration carries no kernel-client
|
|
38
|
+
* reference either (verified: `npm pack --dry-run` shows an empty/no-op `.d.ts` for it).
|
|
39
|
+
*
|
|
40
|
+
* `@productbrain/kernel-client/governance` (the subpath added in S3a) still exists and
|
|
41
|
+
* is still useful — it's now the drift test's comparison source, and remains available
|
|
42
|
+
* for any FUTURE consumer that can afford a kernel-client type dependency (mcp-server,
|
|
43
|
+
* which never ships declarations at all — it bundles via tsup, not `tsc -d`).
|
|
44
|
+
*
|
|
45
|
+
* `GovernanceEntryInput`/`GovernanceCollectionInput`/`ClassifiedGovernance` below remain
|
|
46
|
+
* hand-declared (never re-exported from kernel-client — same self-contained-declaration
|
|
47
|
+
* reasoning now applies to them too, not just out of scope).
|
|
48
|
+
*
|
|
49
|
+
* Chain: BET-286 (Chain-Derived Agent Configuration), TEN-2733, TEN-2705
|
|
50
|
+
*/
|
|
51
|
+
/** The governance functions that archetypes exist for. Mirrors kernel/governance/
|
|
52
|
+
* classifyGovernance.ts's GovernanceFunction exactly — verified by
|
|
53
|
+
* chain-classifier-kernel-client-drift.test.ts's compile-time assertion. */
|
|
54
|
+
export type GovernanceFunction = 'constraint' | 'boundary' | 'convention' | 'policy' | 'workflow' | 'quality-gate' | 'unclassified';
|
|
55
|
+
/** Typed relation edge. Mirrors GovernanceRelationEdge from kernel/governance/
|
|
56
|
+
* classifyGovernance.ts exactly — verified by
|
|
57
|
+
* chain-classifier-kernel-client-drift.test.ts's compile-time assertion. */
|
|
58
|
+
export interface GovernanceRelationEdge {
|
|
59
|
+
type: string;
|
|
60
|
+
direction: 'outgoing' | 'incoming';
|
|
61
|
+
otherEntryId: string | null;
|
|
62
|
+
otherName: string;
|
|
63
|
+
otherCollectionSlug: string | null;
|
|
64
|
+
}
|
|
65
|
+
/** Input shape — matches GovernanceEntry from the Convex query. */
|
|
66
|
+
export interface GovernanceEntryInput {
|
|
67
|
+
entryId: string | null;
|
|
68
|
+
name: string;
|
|
69
|
+
collectionSlug: string;
|
|
70
|
+
status: string;
|
|
71
|
+
verificationStatus: 'verified' | 'unverified' | null;
|
|
72
|
+
data: Record<string, unknown> | null;
|
|
73
|
+
relations: GovernanceRelationEdge[];
|
|
74
|
+
}
|
|
75
|
+
/** Workspace collection metadata from chain.listCollections. */
|
|
76
|
+
export interface GovernanceCollectionInput {
|
|
77
|
+
slug: string;
|
|
78
|
+
name?: string;
|
|
79
|
+
description?: string;
|
|
80
|
+
purpose?: string;
|
|
81
|
+
usageGuidance?: string;
|
|
82
|
+
classificationCheck?: string;
|
|
83
|
+
classificationSignals?: string[];
|
|
84
|
+
defaultCanonicalKey?: string;
|
|
85
|
+
governanceRole?: string;
|
|
86
|
+
thinkingLayer?: string;
|
|
87
|
+
governanceFunction?: GovernanceFunction;
|
|
88
|
+
}
|
|
89
|
+
/** Result of classifying a single governance entry (as returned by chain.classifyGovernance). */
|
|
90
|
+
export interface ClassifiedGovernance {
|
|
91
|
+
entryId: string;
|
|
92
|
+
name: string;
|
|
93
|
+
collectionSlug: string;
|
|
94
|
+
governanceFunction: GovernanceFunction;
|
|
95
|
+
confidence: number;
|
|
96
|
+
matchedSignals: string[];
|
|
97
|
+
/** Original entry data passed through for archetype slot resolution */
|
|
98
|
+
data: Record<string, unknown> | null;
|
|
99
|
+
/** Original relations passed through */
|
|
100
|
+
relations: GovernanceRelationEdge[];
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=chain-classifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-classifier.d.ts","sourceRoot":"","sources":["../../src/generators/chain-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH;;4EAE4E;AAC5E,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,UAAU,GACV,cAAc,GACd,cAAc,CAAC;AAEnB;;4EAE4E;AAC5E,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAAC;IACrD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACrC;AAED,gEAAgE;AAChE,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,iGAAiG;AACjG,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACrC,wCAAwC;IACxC,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACrC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain Classifier — types only.
|
|
3
|
+
*
|
|
4
|
+
* WP-488 Slice 4 (FEAT-1378, TEN-2733): the classifier IMPLEMENTATION moved to
|
|
5
|
+
* kernel/governance/classifyGovernance.ts, served over the gateway as
|
|
6
|
+
* `chain.classifyGovernance` — no connector-local scorer (see chain-rules.ts, which
|
|
7
|
+
* calls the served verdict). These type/interface declarations stay here because
|
|
8
|
+
* `handshake-diff.ts` / `archetypes.ts` / `chain-rules.ts` need the SHAPES, and
|
|
9
|
+
* `packages/cli` cannot import `kernel/` directly (`kernel/` is a private, unpublished
|
|
10
|
+
* workspace package; CLI compiles with plain `tsc`, no bundler — a `kernel` import
|
|
11
|
+
* would emit an unresolvable specifier into the published `dist/`, verified in WP-488
|
|
12
|
+
* Slice 3 for the identical class of failure).
|
|
13
|
+
*
|
|
14
|
+
* Lane C S3a (TEN-2733 pattern extension), REVISED post-merge (PR #393 review,
|
|
15
|
+
* Codex P2): `GovernanceFunction`/`GovernanceRelationEdge` were briefly `import
|
|
16
|
+
* type`-only re-exports from `@productbrain/kernel-client/governance`. Confirmed real:
|
|
17
|
+
* `import type` erases from EMITTED JS (no runtime import — verified, unchanged), but
|
|
18
|
+
* `tsc`'s DECLARATION (`.d.ts`) output for a re-export like `export type { X } from
|
|
19
|
+
* 'module'` PRESERVES the import specifier — and `npm pack --dry-run` confirms
|
|
20
|
+
* `dist/generators/chain-classifier.d.ts` ships in the published tarball. A TypeScript
|
|
21
|
+
* consumer following that shipped declaration (cli's package.json has no "exports" map,
|
|
22
|
+
* so nothing blocks a deep import of `dist/generators/chain-classifier.js`) would hit
|
|
23
|
+
* `TS2307: Cannot find module '@productbrain/kernel-client/governance'` — that package
|
|
24
|
+
* is `private: true`, never published. A `type X = import('@productbrain/kernel-client/
|
|
25
|
+
* governance').X` alias form doesn't fix this either — the import specifier still leaks
|
|
26
|
+
* into the declaration the same way.
|
|
27
|
+
*
|
|
28
|
+
* FIX: `GovernanceFunction`/`GovernanceRelationEdge` are LOCAL, structural declarations
|
|
29
|
+
* again (below) — the published `.d.ts` is fully self-contained, no kernel-client
|
|
30
|
+
* reference at all. Binding to kernel-client's canonical shape moved from "the type
|
|
31
|
+
* IS the import" to "a committed, compile-time DRIFT TEST" —
|
|
32
|
+
* `chain-classifier-kernel-client-drift.test.ts` (same directory) imports BOTH this
|
|
33
|
+
* file's local types AND kernel-client's `@productbrain/kernel-client/governance`
|
|
34
|
+
* originals and asserts mutual structural assignability; if either shape drifts without
|
|
35
|
+
* the other being updated to match, that test FAILS TO COMPILE — a real, enforced
|
|
36
|
+
* check, not the deleted pre-S3a "zero drift risk" comment's unverified promise. The
|
|
37
|
+
* drift test itself exports nothing, so ITS declaration carries no kernel-client
|
|
38
|
+
* reference either (verified: `npm pack --dry-run` shows an empty/no-op `.d.ts` for it).
|
|
39
|
+
*
|
|
40
|
+
* `@productbrain/kernel-client/governance` (the subpath added in S3a) still exists and
|
|
41
|
+
* is still useful — it's now the drift test's comparison source, and remains available
|
|
42
|
+
* for any FUTURE consumer that can afford a kernel-client type dependency (mcp-server,
|
|
43
|
+
* which never ships declarations at all — it bundles via tsup, not `tsc -d`).
|
|
44
|
+
*
|
|
45
|
+
* `GovernanceEntryInput`/`GovernanceCollectionInput`/`ClassifiedGovernance` below remain
|
|
46
|
+
* hand-declared (never re-exported from kernel-client — same self-contained-declaration
|
|
47
|
+
* reasoning now applies to them too, not just out of scope).
|
|
48
|
+
*
|
|
49
|
+
* Chain: BET-286 (Chain-Derived Agent Configuration), TEN-2733, TEN-2705
|
|
50
|
+
*/
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=chain-classifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-classifier.js","sourceRoot":"","sources":["../../src/generators/chain-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain Rules Assembler — BET-286 Slice 3
|
|
3
|
+
*
|
|
4
|
+
* Fetches governance entries via MCP, classifies them, resolves archetype
|
|
5
|
+
* templates, and returns CanonicalRule objects ready to merge into the
|
|
6
|
+
* canonical rules array in runHandshake().
|
|
7
|
+
*
|
|
8
|
+
* Chain: BET-286 (Chain-Derived Agent Configuration)
|
|
9
|
+
*/
|
|
10
|
+
import type { CanonicalRule } from './portable-knowledge.js';
|
|
11
|
+
import type { kernelCall as McpCallFn } from '../lib/client.js';
|
|
12
|
+
/** Statistics from a generateChainRules() call. */
|
|
13
|
+
export interface ChainRulesStats {
|
|
14
|
+
totalEntries: number;
|
|
15
|
+
classifiedEntries: number;
|
|
16
|
+
generatedRules: number;
|
|
17
|
+
suppressedByManual: number;
|
|
18
|
+
suppressedByZeroEntries: number;
|
|
19
|
+
}
|
|
20
|
+
/** Result returned by generateChainRules(). */
|
|
21
|
+
export interface ChainRulesResult {
|
|
22
|
+
/** Generated rules ready to merge into canonical rules array. */
|
|
23
|
+
rules: CanonicalRule[];
|
|
24
|
+
/** Function keys with no matching governance entries. */
|
|
25
|
+
gaps: string[];
|
|
26
|
+
/** Sentinel rule when MCP is unreachable — null on success. */
|
|
27
|
+
sentinel: CanonicalRule | null;
|
|
28
|
+
stats: ChainRulesStats;
|
|
29
|
+
/** Classified governance entries — passed through for diff engine confidence data. */
|
|
30
|
+
classified: import('./chain-classifier.js').ClassifiedGovernance[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Fetch governance entries, classify them, resolve archetypes, and produce
|
|
34
|
+
* CanonicalRule objects ready to merge into the handshake pipeline.
|
|
35
|
+
*
|
|
36
|
+
* @param kernelCallFn - Injected kernelCall function for testability.
|
|
37
|
+
* @param manualRules - Existing manual rules from .productbrain/rules/.
|
|
38
|
+
* Used to suppress generated rules when a manual rule
|
|
39
|
+
* with the same name already exists.
|
|
40
|
+
*/
|
|
41
|
+
export declare function generateChainRules(kernelCallFn: typeof McpCallFn, manualRules: CanonicalRule[]): Promise<ChainRulesResult>;
|
|
42
|
+
//# sourceMappingURL=chain-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-rules.d.ts","sourceRoot":"","sources":["../../src/generators/chain-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,KAAK,EAAE,UAAU,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAKhE,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,yDAAyD;IACzD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,+DAA+D;IAC/D,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,eAAe,CAAC;IACvB,sFAAsF;IACtF,UAAU,EAAE,OAAO,uBAAuB,EAAE,oBAAoB,EAAE,CAAC;CACpE;AAkCD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,OAAO,SAAS,EAC9B,WAAW,EAAE,aAAa,EAAE,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CA+M3B"}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain Rules Assembler — BET-286 Slice 3
|
|
3
|
+
*
|
|
4
|
+
* Fetches governance entries via MCP, classifies them, resolves archetype
|
|
5
|
+
* templates, and returns CanonicalRule objects ready to merge into the
|
|
6
|
+
* canonical rules array in runHandshake().
|
|
7
|
+
*
|
|
8
|
+
* Chain: BET-286 (Chain-Derived Agent Configuration)
|
|
9
|
+
*/
|
|
10
|
+
import { resolveArchetype } from './archetypes.js';
|
|
11
|
+
// ── Sentinel ──────────────────────────────────────────────────────────
|
|
12
|
+
/** Produced when chain.getGovernanceWithRelations is unreachable. */
|
|
13
|
+
const CHAIN_DEGRADED_SENTINEL = {
|
|
14
|
+
name: '_chain_degraded',
|
|
15
|
+
description: 'Chain governance unavailable — agent operating with manual rules only',
|
|
16
|
+
body: 'WARNING: The Chain MCP endpoint is unreachable. Generated governance rules are unavailable. Agent is operating with manual rules only. Exercise extra caution on governance decisions — check with the human before proceeding.',
|
|
17
|
+
sourcePath: 'chain://_sentinel',
|
|
18
|
+
autoApply: true,
|
|
19
|
+
level: 'core',
|
|
20
|
+
scope: undefined,
|
|
21
|
+
targets: undefined,
|
|
22
|
+
};
|
|
23
|
+
// ── Governance functions to attempt (excluding 'unclassified') ────────
|
|
24
|
+
const GOVERNANCE_FUNCTIONS = [
|
|
25
|
+
'constraint',
|
|
26
|
+
'boundary',
|
|
27
|
+
'convention',
|
|
28
|
+
'policy',
|
|
29
|
+
'workflow',
|
|
30
|
+
'quality-gate',
|
|
31
|
+
];
|
|
32
|
+
/** Maximum number of generated rules (ranked by relation density). */
|
|
33
|
+
const MAX_GENERATED_RULES = 8;
|
|
34
|
+
// ── Assembler ─────────────────────────────────────────────────────────
|
|
35
|
+
/**
|
|
36
|
+
* Fetch governance entries, classify them, resolve archetypes, and produce
|
|
37
|
+
* CanonicalRule objects ready to merge into the handshake pipeline.
|
|
38
|
+
*
|
|
39
|
+
* @param kernelCallFn - Injected kernelCall function for testability.
|
|
40
|
+
* @param manualRules - Existing manual rules from .productbrain/rules/.
|
|
41
|
+
* Used to suppress generated rules when a manual rule
|
|
42
|
+
* with the same name already exists.
|
|
43
|
+
*/
|
|
44
|
+
export async function generateChainRules(kernelCallFn, manualRules) {
|
|
45
|
+
const emptyStats = {
|
|
46
|
+
totalEntries: 0,
|
|
47
|
+
classifiedEntries: 0,
|
|
48
|
+
generatedRules: 0,
|
|
49
|
+
suppressedByManual: 0,
|
|
50
|
+
suppressedByZeroEntries: 0,
|
|
51
|
+
};
|
|
52
|
+
// Step 1: Fetch governance entries — return sentinel on failure
|
|
53
|
+
// The Convex query returns { entries: [...], total: N } — unwrap the array.
|
|
54
|
+
let entries;
|
|
55
|
+
let collections = [];
|
|
56
|
+
try {
|
|
57
|
+
const result = await kernelCallFn('chain.getGovernanceWithRelations', {});
|
|
58
|
+
if (!Array.isArray(result?.entries)) {
|
|
59
|
+
return { rules: [], gaps: [], sentinel: CHAIN_DEGRADED_SENTINEL, stats: emptyStats, classified: [] };
|
|
60
|
+
}
|
|
61
|
+
entries = result.entries;
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
return {
|
|
65
|
+
rules: [],
|
|
66
|
+
gaps: [],
|
|
67
|
+
sentinel: CHAIN_DEGRADED_SENTINEL,
|
|
68
|
+
stats: emptyStats,
|
|
69
|
+
classified: [],
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
const collectionResult = await kernelCallFn('chain.listCollections', {});
|
|
74
|
+
collections = Array.isArray(collectionResult) ? collectionResult : [];
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
collections = [];
|
|
78
|
+
}
|
|
79
|
+
// Step 2: Classify entries — WP-488 Slice 4 (FEAT-1378, TEN-2733): served verdict
|
|
80
|
+
// (chain.classifyGovernance), not a local scorer. `ClassifiedGovernance[]` is a
|
|
81
|
+
// hand-typed local generic, not derived via kernel-client's GatewayRouteReturnByName —
|
|
82
|
+
// verified in WP-488 Slice 3 that reaching kernel-client's type derivation from
|
|
83
|
+
// packages/cli fails (`rootDir: "src"` + `moduleResolution: "NodeNext"`); same
|
|
84
|
+
// documented deviation as promote.ts/orient.ts.
|
|
85
|
+
//
|
|
86
|
+
// Project down to exactly the fields `chain.classifyGovernance`'s
|
|
87
|
+
// `governanceEntryInputValidator` declares (convex/agentKnowledge/governanceQuery.ts)
|
|
88
|
+
// before sending [Codex review, PR #378 P1]: `entries` here is populated from
|
|
89
|
+
// `chain.getGovernanceWithRelations`'s response, whose real runtime shape
|
|
90
|
+
// (`GovernanceEntry`) carries `attestation` + `verifiedBy` — display-only fields the
|
|
91
|
+
// kernel judge never reads. The CLI's `kernelCallFn<T>` generic is a type ASSERTION,
|
|
92
|
+
// not a runtime projection, so `entries: GovernanceEntryInput[]` above is a compile-time
|
|
93
|
+
// convenience, not a guarantee — the underlying objects still carry those extra fields.
|
|
94
|
+
// Convex's `v.object(...)` validators are strict (unknown keys are a validation error,
|
|
95
|
+
// not a silent strip), so forwarding the un-projected objects would fail validation on
|
|
96
|
+
// every real workspace that has governance entries (an empty-entries workspace never hit
|
|
97
|
+
// this, since there's nothing to validate) — the classify call would always throw, and
|
|
98
|
+
// fall into the catch below.
|
|
99
|
+
const classifyEntries = entries.map((e) => ({
|
|
100
|
+
entryId: e.entryId,
|
|
101
|
+
name: e.name,
|
|
102
|
+
collectionSlug: e.collectionSlug,
|
|
103
|
+
status: e.status,
|
|
104
|
+
verificationStatus: e.verificationStatus,
|
|
105
|
+
data: e.data,
|
|
106
|
+
relations: e.relations,
|
|
107
|
+
}));
|
|
108
|
+
// Same class of bug, same fix, for `collections` [Copilot review, PR #378, follow-up to
|
|
109
|
+
// Codex P1 #1]: `chain.listCollections` (convex/agentKnowledge/collections.ts) returns
|
|
110
|
+
// full DB rows via `{ ...c, descriptionFieldKey }` — `_id`, `_creationTime`,
|
|
111
|
+
// `workspaceId`, `descriptionFieldKey`, and every other `collections` table field, none
|
|
112
|
+
// of which `governanceCollectionInputValidator` declares. The CLI's
|
|
113
|
+
// `kernelCallFn<GovernanceCollectionInput[]>` generic is a type assertion, not a runtime
|
|
114
|
+
// projection, so `collections` above carries all of that at runtime despite its narrower
|
|
115
|
+
// compile-time type. Forwarding it un-projected would fail Convex's strict `v.object()`
|
|
116
|
+
// validation in any real workspace with collections (the corpus/unit-test fixtures never
|
|
117
|
+
// carried extra keys, so this was masked there too).
|
|
118
|
+
//
|
|
119
|
+
// [Codex P1, PR #378 follow-up round] Send only the fields the kernel judge actually
|
|
120
|
+
// reads. Checked kernel/governance/classifyGovernance.ts directly: `slug` (map key),
|
|
121
|
+
// `classificationSignals`, and `governanceFunction` are the ONLY collection fields the
|
|
122
|
+
// scorer touches (`inferCollectionGovernanceFunction`, Signal 3's name-boost lookup) —
|
|
123
|
+
// `name`, `description`, `purpose`, `usageGuidance`, `classificationCheck`,
|
|
124
|
+
// `defaultCanonicalKey`, `governanceRole`, `thinkingLayer` are read by nothing in the
|
|
125
|
+
// classifier and were being forwarded as pure dead weight. That matters beyond bytes:
|
|
126
|
+
// the AKI gateway rejects the WHOLE request if any single string argument exceeds 10KB
|
|
127
|
+
// (convex/http.ts:933-935, `validateArgLengths`) — a workspace collection with a long
|
|
128
|
+
// `description`/`usageGuidance` (the MCP tool allows up to 20KB) would have broken every
|
|
129
|
+
// handshake, even though the classifier never looks at that text. No truncation-with-
|
|
130
|
+
// marker is needed here (contrast the entries fix): these fields are unused, not merely
|
|
131
|
+
// long, so the honest fix is to not send them at all, not to send a truncated copy.
|
|
132
|
+
const classifyCollections = collections.map((c) => ({
|
|
133
|
+
slug: c.slug,
|
|
134
|
+
classificationSignals: c.classificationSignals,
|
|
135
|
+
governanceFunction: c.governanceFunction,
|
|
136
|
+
}));
|
|
137
|
+
// A classify failure is NOT equivalent to "zero governance entries" — no rules can be
|
|
138
|
+
// derived without classification, so [Codex review, PR #378 P1] this failure now gets
|
|
139
|
+
// the SAME degraded-sentinel treatment as the two fetch failures above, instead of
|
|
140
|
+
// silently continuing with an empty classified list (which would report success with 0
|
|
141
|
+
// generated rules, indistinguishable from a genuinely empty workspace and masking the
|
|
142
|
+
// real error). The pre-migration local `classifyGovernance()` was a pure synchronous
|
|
143
|
+
// function with no failure mode to preserve — this is a new failure surface introduced
|
|
144
|
+
// by moving classification behind a network call, so there is no prior degraded
|
|
145
|
+
// semantics to match; the fetch steps' existing pattern is the honest precedent to
|
|
146
|
+
// extend rather than a fresh invention.
|
|
147
|
+
// [Codex P1, PR #378 follow-up round] Chunk below Convex's function-argument ceiling.
|
|
148
|
+
// At production scale (SCALE_TIERS.xl, convex/lib/scaleTiers.ts: ~4,000 governance
|
|
149
|
+
// entries × 3 relations each) the full corpus as one `entries` argument — echoed back
|
|
150
|
+
// in the response too, since `data`/`relations` pass through — can exceed the <1MB cap
|
|
151
|
+
// a Convex function argument/value must stay under (convex/http.ts:1816-1819 documents
|
|
152
|
+
// the same platform ceiling for a different route). Batch by an estimated worst-case
|
|
153
|
+
// per-entry byte size with headroom, not a fixed entry count, so the batch size adapts
|
|
154
|
+
// to how large individual entries/relations actually are; merge each batch's results.
|
|
155
|
+
const CLASSIFY_BATCH_BUDGET_BYTES = 400_000; // headroom under the ~1MB ceiling —
|
|
156
|
+
// covers this call's args AND its response echo (roughly 2x the entries payload),
|
|
157
|
+
// plus classifyCollections and JSON/HTTP framing overhead, with margin to spare.
|
|
158
|
+
const collectionsBytes = classifyCollections.length
|
|
159
|
+
? new TextEncoder().encode(JSON.stringify(classifyCollections)).length
|
|
160
|
+
: 0;
|
|
161
|
+
const worstCaseEntryBytes = classifyEntries.reduce((max, e) => Math.max(max, new TextEncoder().encode(JSON.stringify(e)).length), 1);
|
|
162
|
+
const entryBudgetBytes = Math.max(CLASSIFY_BATCH_BUDGET_BYTES - collectionsBytes, worstCaseEntryBytes);
|
|
163
|
+
const batchSize = Math.max(1, Math.floor(entryBudgetBytes / worstCaseEntryBytes));
|
|
164
|
+
const entryBatches = [];
|
|
165
|
+
for (let i = 0; i < classifyEntries.length; i += batchSize) {
|
|
166
|
+
entryBatches.push(classifyEntries.slice(i, i + batchSize));
|
|
167
|
+
}
|
|
168
|
+
if (entryBatches.length === 0)
|
|
169
|
+
entryBatches.push([]); // preserve one call at zero entries
|
|
170
|
+
let classified = [];
|
|
171
|
+
try {
|
|
172
|
+
for (const batch of entryBatches) {
|
|
173
|
+
const classifyResult = await kernelCallFn('chain.classifyGovernance', {
|
|
174
|
+
entries: batch,
|
|
175
|
+
collections: classifyCollections,
|
|
176
|
+
});
|
|
177
|
+
if (!Array.isArray(classifyResult)) {
|
|
178
|
+
return { rules: [], gaps: [], sentinel: CHAIN_DEGRADED_SENTINEL, stats: emptyStats, classified: [] };
|
|
179
|
+
}
|
|
180
|
+
classified = classified.concat(classifyResult);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
return { rules: [], gaps: [], sentinel: CHAIN_DEGRADED_SENTINEL, stats: emptyStats, classified: [] };
|
|
185
|
+
}
|
|
186
|
+
// Step 3: Build manual rule name set for suppression check
|
|
187
|
+
const manualRuleNames = new Set(manualRules.map((r) => r.name));
|
|
188
|
+
// Step 4: Resolve an archetype per governance function
|
|
189
|
+
const resolvedRules = [];
|
|
190
|
+
const gaps = [];
|
|
191
|
+
let suppressedByManual = 0;
|
|
192
|
+
let suppressedByZeroEntries = 0;
|
|
193
|
+
for (const fn of GOVERNANCE_FUNCTIONS) {
|
|
194
|
+
const matching = classified.filter((e) => e.governanceFunction === fn);
|
|
195
|
+
if (matching.length === 0) {
|
|
196
|
+
// Zero entries for this function — add to gaps
|
|
197
|
+
gaps.push(fn);
|
|
198
|
+
suppressedByZeroEntries++;
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
const result = resolveArchetype(fn, classified, manualRuleNames);
|
|
202
|
+
if ('skipped' in result) {
|
|
203
|
+
if (result.skipped === 'manual-suppression') {
|
|
204
|
+
suppressedByManual++;
|
|
205
|
+
}
|
|
206
|
+
// 'no-template' and 'zero-entries' are not counted as manual suppression.
|
|
207
|
+
// Zero-entries is already handled above; no-template is a missing file (not a user action).
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
resolvedRules.push(result.resolved.rule);
|
|
211
|
+
}
|
|
212
|
+
// Step 5: Cap at MAX_GENERATED_RULES — rank by relation density
|
|
213
|
+
// Relation density = total relations across all classified entries matching this function
|
|
214
|
+
const ranked = rankByRelationDensity(resolvedRules, classified);
|
|
215
|
+
const cappedRules = ranked.slice(0, MAX_GENERATED_RULES);
|
|
216
|
+
const stats = {
|
|
217
|
+
totalEntries: entries.length,
|
|
218
|
+
classifiedEntries: classified.length,
|
|
219
|
+
generatedRules: cappedRules.length,
|
|
220
|
+
suppressedByManual,
|
|
221
|
+
suppressedByZeroEntries,
|
|
222
|
+
};
|
|
223
|
+
return {
|
|
224
|
+
rules: cappedRules,
|
|
225
|
+
gaps,
|
|
226
|
+
sentinel: null,
|
|
227
|
+
stats,
|
|
228
|
+
classified,
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
// ── Ranking ───────────────────────────────────────────────────────────
|
|
232
|
+
/**
|
|
233
|
+
* Rank generated rules by the total number of relations across classified
|
|
234
|
+
* entries that contributed to each rule. Higher relation density → ranked first.
|
|
235
|
+
*
|
|
236
|
+
* Falls back to name-based sort for ties to ensure stable output.
|
|
237
|
+
*/
|
|
238
|
+
function rankByRelationDensity(rules, classified) {
|
|
239
|
+
// Build a density score per sourcePath (chain://<functionKey>)
|
|
240
|
+
const densityMap = new Map();
|
|
241
|
+
for (const rule of rules) {
|
|
242
|
+
// sourcePath is 'chain://<functionKey>'
|
|
243
|
+
const functionKey = rule.sourcePath.replace('chain://', '');
|
|
244
|
+
const matching = classified.filter((e) => e.governanceFunction === functionKey);
|
|
245
|
+
const density = matching.reduce((sum, e) => sum + e.relations.length, 0);
|
|
246
|
+
densityMap.set(rule.sourcePath, density);
|
|
247
|
+
}
|
|
248
|
+
return [...rules].sort((a, b) => {
|
|
249
|
+
const densityA = densityMap.get(a.sourcePath) ?? 0;
|
|
250
|
+
const densityB = densityMap.get(b.sourcePath) ?? 0;
|
|
251
|
+
if (densityB !== densityA)
|
|
252
|
+
return densityB - densityA;
|
|
253
|
+
return a.name.localeCompare(b.name);
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
//# sourceMappingURL=chain-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-rules.js","sourceRoot":"","sources":["../../src/generators/chain-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-rules.test.d.ts","sourceRoot":"","sources":["../../src/generators/chain-rules.test.ts"],"names":[],"mappings":""}
|