@productbrain/cli 0.1.0-beta.15 → 0.1.0-beta.1522
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 +76 -115
- package/dist/__tests__/adapters.test.d.ts +2 -0
- package/dist/__tests__/adapters.test.d.ts.map +1 -0
- package/dist/__tests__/adapters.test.js +417 -0
- package/dist/__tests__/adapters.test.js.map +1 -0
- 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__/batch-transformations.test.d.ts +2 -0
- package/dist/__tests__/batch-transformations.test.d.ts.map +1 -0
- package/dist/__tests__/batch-transformations.test.js +263 -0
- package/dist/__tests__/batch-transformations.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-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 +309 -18
- package/dist/__tests__/capture.test.js.map +1 -1
- 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__/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__/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 +118 -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 +423 -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 +949 -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 +1252 -0
- package/dist/__tests__/handshake.e2e.test.js.map +1 -0
- package/dist/__tests__/handshake.test.js +813 -19
- package/dist/__tests__/handshake.test.js.map +1 -1
- 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 +28 -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 +18 -0
- package/dist/__tests__/method-registry.integration.test.js.map +1 -0
- package/dist/__tests__/method-registry.test.d.ts +14 -0
- package/dist/__tests__/method-registry.test.d.ts.map +1 -0
- package/dist/__tests__/method-registry.test.js +134 -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.d.ts +2 -0
- package/dist/__tests__/orient.test.d.ts.map +1 -0
- package/dist/__tests__/orient.test.js +424 -0
- package/dist/__tests__/orient.test.js.map +1 -0
- 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 +316 -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 +213 -34
- 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__/repo-detect.test.js +97 -1
- package/dist/__tests__/repo-detect.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-reset.test.d.ts +2 -0
- package/dist/__tests__/session-reset.test.d.ts.map +1 -0
- package/dist/__tests__/session-reset.test.js +122 -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 +97 -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 +179 -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 +198 -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 +130 -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__/surface-profiles.test.d.ts +2 -0
- package/dist/__tests__/surface-profiles.test.d.ts.map +1 -0
- package/dist/__tests__/surface-profiles.test.js +233 -0
- package/dist/__tests__/surface-profiles.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 +63 -72
- 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__/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 +534 -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/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__/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 +144 -0
- package/dist/commands/admin/seedRegistryEntries.generated.js.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.test.d.ts +11 -0
- package/dist/commands/admin/seedRegistryEntries.test.d.ts.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.test.js +70 -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 +356 -0
- package/dist/commands/authority-domains.js.map +1 -0
- package/dist/commands/brief.d.ts.map +1 -1
- package/dist/commands/brief.js +10 -5
- package/dist/commands/brief.js.map +1 -1
- package/dist/commands/capture.d.ts +7 -0
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +266 -19
- 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 +23 -0
- package/dist/commands/codex-prep.d.ts.map +1 -0
- package/dist/commands/codex-prep.js +56 -0
- package/dist/commands/codex-prep.js.map +1 -0
- 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/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 +64 -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 +110 -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 +212 -0
- package/dist/commands/connect-integration.test.js.map +1 -0
- package/dist/commands/connect-screens.d.ts +23 -0
- package/dist/commands/connect-screens.d.ts.map +1 -0
- package/dist/commands/connect-screens.js +90 -0
- package/dist/commands/connect-screens.js.map +1 -0
- package/dist/commands/connect.d.ts +36 -0
- package/dist/commands/connect.d.ts.map +1 -0
- package/dist/commands/connect.js +264 -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 +297 -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.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/fields.d.ts.map +1 -1
- package/dist/commands/fields.js +8 -4
- package/dist/commands/fields.js.map +1 -1
- 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 +233 -2
- package/dist/commands/handshake.d.ts.map +1 -1
- package/dist/commands/handshake.js +2338 -81
- package/dist/commands/handshake.js.map +1 -1
- package/dist/commands/ingest.d.ts.map +1 -1
- package/dist/commands/ingest.js +17 -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 +796 -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/orient.d.ts +197 -3
- package/dist/commands/orient.d.ts.map +1 -1
- package/dist/commands/orient.js +129 -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 +165 -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 +197 -30
- 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.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 +49 -16
- package/dist/commands/relate.js.map +1 -1
- 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.js +2 -2
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/session.d.ts +26 -2
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +355 -41
- 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 +9 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +92 -26
- 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 +232 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +14 -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 +113 -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-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 +454 -0
- package/dist/formatters/__tests__/orient-provenance.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 +26 -3
- package/dist/formatters/capture.d.ts.map +1 -1
- package/dist/formatters/capture.js +25 -1
- package/dist/formatters/capture.js.map +1 -1
- 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/entry.d.ts +30 -4
- package/dist/formatters/entry.d.ts.map +1 -1
- package/dist/formatters/entry.js +66 -17
- package/dist/formatters/entry.js.map +1 -1
- package/dist/formatters/handshake.d.ts +45 -0
- package/dist/formatters/handshake.d.ts.map +1 -1
- package/dist/formatters/handshake.js +150 -3
- package/dist/formatters/handshake.js.map +1 -1
- package/dist/formatters/orient.d.ts +268 -5
- package/dist/formatters/orient.d.ts.map +1 -1
- package/dist/formatters/orient.js +381 -34
- package/dist/formatters/orient.js.map +1 -1
- package/dist/formatters/promote.d.ts +6 -0
- package/dist/formatters/promote.d.ts.map +1 -1
- package/dist/formatters/promote.js +8 -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 +48 -0
- package/dist/formatters/scoreboard.js.map +1 -0
- package/dist/formatters/search.d.ts +0 -4
- package/dist/formatters/search.d.ts.map +1 -1
- package/dist/formatters/search.js +4 -1
- package/dist/formatters/search.js.map +1 -1
- package/dist/formatters/session.d.ts +39 -2
- package/dist/formatters/session.d.ts.map +1 -1
- package/dist/formatters/session.js +130 -9
- package/dist/formatters/session.js.map +1 -1
- package/dist/formatters/update.d.ts.map +1 -1
- package/dist/formatters/update.js +2 -0
- package/dist/formatters/update.js.map +1 -1
- package/dist/generators/adapters.d.ts +37 -3
- package/dist/generators/adapters.d.ts.map +1 -1
- package/dist/generators/adapters.js +196 -8
- package/dist/generators/adapters.js.map +1 -1
- package/dist/generators/adapters.test.d.ts +2 -0
- package/dist/generators/adapters.test.d.ts.map +1 -0
- package/dist/generators/adapters.test.js +27 -0
- package/dist/generators/adapters.test.js.map +1 -0
- 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.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.d.ts +63 -0
- package/dist/generators/chain-classifier.d.ts.map +1 -0
- package/dist/generators/chain-classifier.js +131 -0
- package/dist/generators/chain-classifier.js.map +1 -0
- package/dist/generators/chain-classifier.test.d.ts +2 -0
- package/dist/generators/chain-classifier.test.d.ts.map +1 -0
- package/dist/generators/chain-classifier.test.js +371 -0
- package/dist/generators/chain-classifier.test.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 +152 -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 +211 -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 +96 -9
- package/dist/generators/portable-knowledge.d.ts.map +1 -1
- package/dist/generators/portable-knowledge.js +367 -17
- package/dist/generators/portable-knowledge.js.map +1 -1
- package/dist/generators/portable-knowledge.test.js +529 -1
- 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 +48 -0
- package/dist/generators/surface-profiles.d.ts.map +1 -0
- package/dist/generators/surface-profiles.js +98 -0
- package/dist/generators/surface-profiles.js.map +1 -0
- package/dist/index.js +800 -252
- package/dist/index.js.map +1 -1
- package/dist/lib/activation.d.ts +28 -0
- package/dist/lib/activation.d.ts.map +1 -0
- package/dist/lib/activation.js +57 -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 +33 -6
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +203 -42
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/collectionRegistry.d.ts +40 -0
- package/dist/lib/collectionRegistry.d.ts.map +1 -0
- package/dist/lib/collectionRegistry.js +112 -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/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 +63 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +72 -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 +32 -0
- package/dist/lib/method-registry.d.ts.map +1 -0
- package/dist/lib/method-registry.js +53 -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 +213 -0
- package/dist/lib/onboarding-path-b.js.map +1 -0
- package/dist/lib/onboarding-shared.d.ts +80 -0
- package/dist/lib/onboarding-shared.d.ts.map +1 -0
- package/dist/lib/onboarding-shared.js +174 -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/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/repo-detect.d.ts +19 -0
- package/dist/lib/repo-detect.d.ts.map +1 -1
- package/dist/lib/repo-detect.js +25 -0
- package/dist/lib/repo-detect.js.map +1 -1
- package/dist/lib/runner.d.ts +2 -0
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/runner.js +21 -7
- package/dist/lib/runner.js.map +1 -1
- package/dist/lib/session.d.ts +35 -0
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/lib/session.js +94 -3
- 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/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 +1 -0
- package/dist/lib/strip.d.ts.map +1 -1
- package/dist/lib/strip.js +15 -0
- 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/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 +182 -0
- package/dist/scoreboard/diagnose.d.ts.map +1 -0
- package/dist/scoreboard/diagnose.js +250 -0
- package/dist/scoreboard/diagnose.js.map +1 -0
- package/dist/scoreboard/diagnose.test.d.ts +12 -0
- package/dist/scoreboard/diagnose.test.d.ts.map +1 -0
- package/dist/scoreboard/diagnose.test.js +192 -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/general/code-integrity.md +11 -0
- package/templates/general/getting-started.md +12 -0
- package/templates/method-registry.json +16 -0
- package/templates/node-ts/code-integrity.md +13 -0
- package/templates/node-ts/testing.md +12 -0
- package/templates/python/code-integrity.md +13 -0
- package/templates/python/testing.md +12 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../src/surfaces/adapters/copilot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAW5B,SAAS,SAAS,CAAC,KAA2E;IAC5F,wEAAwE;IACxE,wEAAwE;IACxE,4CAA4C;IAC5C,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,OAAO,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,IAAI,CAAC;IAC7D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,KAAK,CAAC,MAAuB;IACpC,OAAO,EAAE,cAAc,EAAE,iCAAiC,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,GAAkB;IAChC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,6BAA6B;IAC1C,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,4BAA4B;IAClC,UAAU,EAAE,yCAAyC;CACtD,CAAC;AAEF,MAAM,OAAO,GAAoB;IAC/B;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE;QAC1C,QAAQ,EAAE,OAAO,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,WAAW,IAAI;KAChE;CACF,CAAC;AAEF,SAAS,gBAAgB,CAAC,cAAsB;IAC9C,+EAA+E;IAC/E,8EAA8E;IAC9E,MAAM,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,iCAAiC;QAAE,OAAO,IAAI,CAAC;IACzD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,gBAAgB;IAC7B,MAAM,EAAE,CAAC,QAAgB,EAAE,EAAE,CAC3B,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;IAClE,KAAK;IACL,SAAS;IACT,OAAO;IACP,gBAAgB;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/surfaces/adapters/cursor.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAGV,cAAc,EAIf,MAAM,eAAe,CAAC;AA+DvB,eAAO,MAAM,aAAa,EAAE,cAQ3B,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cursor SurfaceAdapter — WP-421 S2c (DEC-952).
|
|
3
|
+
*
|
|
4
|
+
* Projects:
|
|
5
|
+
* - rules → .cursor/rules/<name>.mdc (note the .md → .mdc extension flip)
|
|
6
|
+
* - skills → .cursor/skills/<name>/SKILL.md
|
|
7
|
+
* - hooks: not supported (INS-740 — empty hookEvents)
|
|
8
|
+
*/
|
|
9
|
+
import { existsSync } from 'fs';
|
|
10
|
+
import { join } from 'path';
|
|
11
|
+
import { generateCursorRule, generateCursorSkill, } from '../../generators/portable-knowledge.js';
|
|
12
|
+
function transform(input) {
|
|
13
|
+
const { canonical } = input;
|
|
14
|
+
if (canonical.kind === 'rule')
|
|
15
|
+
return generateCursorRule(canonical);
|
|
16
|
+
return generateCursorSkill(canonical);
|
|
17
|
+
}
|
|
18
|
+
function paths(asset) {
|
|
19
|
+
switch (asset.kind) {
|
|
20
|
+
case 'rule':
|
|
21
|
+
// .md → .mdc extension flip is the cursor-specific signature.
|
|
22
|
+
return { projectionPath: `.cursor/rules/${asset.basename}.mdc` };
|
|
23
|
+
case 'skill':
|
|
24
|
+
return { projectionPath: `.cursor/skills/${asset.basename}/SKILL.md` };
|
|
25
|
+
case 'hook':
|
|
26
|
+
// INS-740: cursor has no native hook events. Path returned for completeness;
|
|
27
|
+
// handshake never writes here by default.
|
|
28
|
+
return { projectionPath: '.cursor/settings.json' };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const goldenRule = {
|
|
32
|
+
name: 'sample-rule',
|
|
33
|
+
description: 'Sample rule for golden test',
|
|
34
|
+
scope: undefined,
|
|
35
|
+
autoApply: true,
|
|
36
|
+
body: 'Body referencing .productbrain/rules/other.md and .productbrain/skills/x.md\n',
|
|
37
|
+
sourcePath: '/abs/.productbrain/rules/sample-rule.md',
|
|
38
|
+
};
|
|
39
|
+
const goldenSkill = {
|
|
40
|
+
name: 'sample-skill',
|
|
41
|
+
description: 'Sample skill for golden test',
|
|
42
|
+
triggers: ['/sample'],
|
|
43
|
+
body: 'Reference .productbrain/skills/other.md inside the body.\n',
|
|
44
|
+
sourcePath: '/abs/.productbrain/skills/sample-skill.md',
|
|
45
|
+
};
|
|
46
|
+
const goldens = [
|
|
47
|
+
{
|
|
48
|
+
name: 'rule-mdc-frontmatter',
|
|
49
|
+
canonical: { kind: 'rule', ...goldenRule },
|
|
50
|
+
expected: generateCursorRule(goldenRule),
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: 'skill-trigger-injection',
|
|
54
|
+
canonical: { kind: 'skill', ...goldenSkill },
|
|
55
|
+
expected: generateCursorSkill(goldenSkill),
|
|
56
|
+
},
|
|
57
|
+
];
|
|
58
|
+
function canonicalPathFor(projectionPath) {
|
|
59
|
+
const p = projectionPath.replace(/^\.\//, '');
|
|
60
|
+
// Reverse the .md → .mdc extension flip on the rule projection.
|
|
61
|
+
let m = p.match(/^\.cursor\/rules\/(.+)\.mdc$/);
|
|
62
|
+
if (m)
|
|
63
|
+
return `.productbrain/rules/${m[1]}.md`;
|
|
64
|
+
m = p.match(/^\.cursor\/skills\/(.+)\/SKILL\.md$/);
|
|
65
|
+
if (m)
|
|
66
|
+
return `.productbrain/skills/${m[1]}.md`;
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
export const cursorAdapter = {
|
|
70
|
+
name: 'cursor',
|
|
71
|
+
displayName: 'Cursor',
|
|
72
|
+
detect: (repoRoot) => existsSync(join(repoRoot, '.cursor')),
|
|
73
|
+
paths,
|
|
74
|
+
transform,
|
|
75
|
+
goldens,
|
|
76
|
+
canonicalPathFor,
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=cursor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/surfaces/adapters/cursor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,wCAAwC,CAAC;AAWhD,SAAS,SAAS,CAAC,KAA2E;IAC5F,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACpE,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,KAAK,CAAC,KAAsB;IACnC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,8DAA8D;YAC9D,OAAO,EAAE,cAAc,EAAE,iBAAiB,KAAK,CAAC,QAAQ,MAAM,EAAE,CAAC;QACnE,KAAK,OAAO;YACV,OAAO,EAAE,cAAc,EAAE,kBAAkB,KAAK,CAAC,QAAQ,WAAW,EAAE,CAAC;QACzE,KAAK,MAAM;YACT,6EAA6E;YAC7E,0CAA0C;YAC1C,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,CAAC;IACvD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAkB;IAChC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,6BAA6B;IAC1C,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,+EAA+E;IACrF,UAAU,EAAE,yCAAyC;CACtD,CAAC;AAEF,MAAM,WAAW,GAAmB;IAClC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,8BAA8B;IAC3C,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,IAAI,EAAE,4DAA4D;IAClE,UAAU,EAAE,2CAA2C;CACxD,CAAC;AAEF,MAAM,OAAO,GAAoB;IAC/B;QACE,IAAI,EAAE,sBAAsB;QAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE;QAC1C,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC;KACzC;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE;QAC5C,QAAQ,EAAE,mBAAmB,CAAC,WAAW,CAAC;KAC3C;CACF,CAAC;AAEF,SAAS,gBAAgB,CAAC,cAAsB;IAC9C,MAAM,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC9C,gEAAgE;IAChE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAChD,IAAI,CAAC;QAAE,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/C,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACnD,IAAI,CAAC;QAAE,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAChD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,QAAQ;IACrB,MAAM,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnE,KAAK;IACL,SAAS;IACT,OAAO;IACP,gBAAgB;CACjB,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Surface Capability Registry — WP-310 S0 (FEAT-959), extended in WP-421 S2c (DEC-952).
|
|
3
|
+
*
|
|
4
|
+
* Static typed record of per-surface capabilities consumed by E1–E4 and the
|
|
5
|
+
* SurfaceAdapter set introduced in WP-421 S2c. The legacy `SURFACE_REGISTRY`
|
|
6
|
+
* shape is preserved verbatim for callers (handshake hook plumbing,
|
|
7
|
+
* `lib/hook-intents.ts`, existing tests).
|
|
8
|
+
*
|
|
9
|
+
* INS-740: Cursor and Copilot had confirmed double-fire risk with Claude Code hooks.
|
|
10
|
+
* Their hookEvents arrays MUST be empty in v1. Only 'claude' gets hook events by default.
|
|
11
|
+
*/
|
|
12
|
+
import type { SurfaceAdapter } from './adapter.js';
|
|
13
|
+
export type SurfaceName = 'claude' | 'cursor' | 'copilot' | 'codex';
|
|
14
|
+
export interface SurfaceCapability {
|
|
15
|
+
rulesFormat: 'markdown' | 'mdc';
|
|
16
|
+
skillsFormat: 'markdown' | 'none';
|
|
17
|
+
/** Hook events to project. Empty array = no default hook writes (INS-740 double-fire risk). */
|
|
18
|
+
hookEvents: string[];
|
|
19
|
+
/** Path to the surface's personal config file. */
|
|
20
|
+
hookFilePath: string;
|
|
21
|
+
personalConfigMechanism: 'settings_json' | 'none';
|
|
22
|
+
supportsAgentsMd: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare const SURFACE_REGISTRY: Record<SurfaceName, SurfaceCapability>;
|
|
25
|
+
/**
|
|
26
|
+
* Per-surface adapter registry. New surface = new adapter file + line here.
|
|
27
|
+
* Adapters expose detect/paths/transform/goldens/canonicalPathFor — one canonical
|
|
28
|
+
* asset, many surface projections.
|
|
29
|
+
*/
|
|
30
|
+
export declare const SURFACE_ADAPTERS: Record<SurfaceName, SurfaceAdapter>;
|
|
31
|
+
/** Convenience array view for iteration (e.g. detect-all). */
|
|
32
|
+
export declare const SURFACE_ADAPTER_LIST: SurfaceAdapter[];
|
|
33
|
+
/**
|
|
34
|
+
* Lookup the canonical authoring path for a projection path on any surface.
|
|
35
|
+
* Returns the first non-null mapping; if every adapter returns null, returns null
|
|
36
|
+
* and the caller MUST emit `surface-reverse-map-missing` telemetry via
|
|
37
|
+
* `surfaces/telemetry.ts:reportReverseMapMissing`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function canonicalPathForAnySurface(projectionPath: string): {
|
|
40
|
+
surface: SurfaceName;
|
|
41
|
+
canonicalPath: string;
|
|
42
|
+
} | null;
|
|
43
|
+
/** Govern mode declared with empty surfaces[]. Hard error (handshake refuses). */
|
|
44
|
+
export declare const SURFACE_GOVERN_NO_SURFACES: "govern-no-surfaces";
|
|
45
|
+
/** Surface name in manifest is not registered. Advisory flag for drift report. */
|
|
46
|
+
export declare const SURFACE_ADAPTER_MISSING: "surface-adapter-missing";
|
|
47
|
+
/**
|
|
48
|
+
* Result of the surfaces validation for a given authority mode.
|
|
49
|
+
*
|
|
50
|
+
* - `error` is set when the configuration is invalid for the requested mode
|
|
51
|
+
* (today: only Govern + empty surfaces). Caller should refuse to proceed.
|
|
52
|
+
* - `unregisteredSurfaces` enumerates manifest surface names that are not in
|
|
53
|
+
* SURFACE_ADAPTERS; emit one `SURFACE_ADAPTER_MISSING` flag per entry but
|
|
54
|
+
* do NOT fail.
|
|
55
|
+
*/
|
|
56
|
+
export interface SurfacesValidationResult {
|
|
57
|
+
error?: typeof SURFACE_GOVERN_NO_SURFACES;
|
|
58
|
+
unregisteredSurfaces: string[];
|
|
59
|
+
/** Subset of `manifest.surfaces` that resolve to a known SurfaceName. */
|
|
60
|
+
registeredSurfaces: SurfaceName[];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Validate `manifest.surfaces[]` against the requested authority mode.
|
|
64
|
+
*
|
|
65
|
+
* Govern + empty surfaces → `{ error: SURFACE_GOVERN_NO_SURFACES }`.
|
|
66
|
+
* Any other mode is permitted with any (possibly empty) surface list.
|
|
67
|
+
*
|
|
68
|
+
* Unregistered surface names are reported via `unregisteredSurfaces` so the
|
|
69
|
+
* caller can flag them in the drift report. Pure: no I/O, no Convex calls.
|
|
70
|
+
*
|
|
71
|
+
* Surface name normalization: this validator strips a leading `.` from each
|
|
72
|
+
* entry (e.g. `.cursor` → `cursor`) so manifests can declare either form.
|
|
73
|
+
* The canonical SurfaceName values in SURFACE_ADAPTERS use the bare name.
|
|
74
|
+
*/
|
|
75
|
+
export declare function validateSurfacesForMode(mode: 'off' | 'observe' | 'project' | 'govern', surfacesFromManifest: string[]): SurfacesValidationResult;
|
|
76
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/surfaces/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,UAAU,GAAG,KAAK,CAAC;IAChC,YAAY,EAAE,UAAU,GAAG,MAAM,CAAC;IAClC,+FAA+F;IAC/F,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,eAAe,GAAG,MAAM,CAAC;IAClD,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAiCnE,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,CAKhE,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB,EAAE,cAAc,EAAoC,CAAC;AAEtF;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,MAAM,GACrB;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAMxD;AAaD,kFAAkF;AAClF,eAAO,MAAM,0BAA0B,EAAG,oBAA6B,CAAC;AAExE,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,EAAG,yBAAkC,CAAC;AAE1E;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,OAAO,0BAA0B,CAAC;IAC1C,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,yEAAyE;IACzE,kBAAkB,EAAE,WAAW,EAAE,CAAC;CACnC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,EAC9C,oBAAoB,EAAE,MAAM,EAAE,GAC7B,wBAAwB,CAuB1B"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { claudeAdapter } from './adapters/claude.js';
|
|
2
|
+
import { cursorAdapter } from './adapters/cursor.js';
|
|
3
|
+
import { copilotAdapter } from './adapters/copilot.js';
|
|
4
|
+
import { codexAdapter } from './adapters/codex.js';
|
|
5
|
+
export const SURFACE_REGISTRY = {
|
|
6
|
+
claude: {
|
|
7
|
+
rulesFormat: 'markdown',
|
|
8
|
+
skillsFormat: 'markdown',
|
|
9
|
+
hookEvents: ['SessionStart', 'Stop', 'PreCompact'],
|
|
10
|
+
hookFilePath: '.claude/settings.json',
|
|
11
|
+
personalConfigMechanism: 'settings_json',
|
|
12
|
+
supportsAgentsMd: false,
|
|
13
|
+
},
|
|
14
|
+
cursor: {
|
|
15
|
+
rulesFormat: 'mdc',
|
|
16
|
+
skillsFormat: 'markdown',
|
|
17
|
+
hookEvents: [], // empty per INS-740 — no default Cursor hook writes
|
|
18
|
+
hookFilePath: '.cursor/settings.json',
|
|
19
|
+
personalConfigMechanism: 'none',
|
|
20
|
+
supportsAgentsMd: false,
|
|
21
|
+
},
|
|
22
|
+
copilot: {
|
|
23
|
+
rulesFormat: 'markdown',
|
|
24
|
+
skillsFormat: 'none',
|
|
25
|
+
hookEvents: [], // empty per INS-740
|
|
26
|
+
hookFilePath: '.github/copilot-instructions.md',
|
|
27
|
+
personalConfigMechanism: 'none',
|
|
28
|
+
supportsAgentsMd: false,
|
|
29
|
+
},
|
|
30
|
+
codex: {
|
|
31
|
+
rulesFormat: 'markdown',
|
|
32
|
+
skillsFormat: 'markdown',
|
|
33
|
+
hookEvents: [],
|
|
34
|
+
hookFilePath: 'AGENTS.md',
|
|
35
|
+
personalConfigMechanism: 'none',
|
|
36
|
+
supportsAgentsMd: true,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
// ── SurfaceAdapter registry — WP-421 S2c (DEC-952) ──────────────────────────
|
|
40
|
+
/**
|
|
41
|
+
* Per-surface adapter registry. New surface = new adapter file + line here.
|
|
42
|
+
* Adapters expose detect/paths/transform/goldens/canonicalPathFor — one canonical
|
|
43
|
+
* asset, many surface projections.
|
|
44
|
+
*/
|
|
45
|
+
export const SURFACE_ADAPTERS = {
|
|
46
|
+
claude: claudeAdapter,
|
|
47
|
+
cursor: cursorAdapter,
|
|
48
|
+
copilot: copilotAdapter,
|
|
49
|
+
codex: codexAdapter,
|
|
50
|
+
};
|
|
51
|
+
/** Convenience array view for iteration (e.g. detect-all). */
|
|
52
|
+
export const SURFACE_ADAPTER_LIST = Object.values(SURFACE_ADAPTERS);
|
|
53
|
+
/**
|
|
54
|
+
* Lookup the canonical authoring path for a projection path on any surface.
|
|
55
|
+
* Returns the first non-null mapping; if every adapter returns null, returns null
|
|
56
|
+
* and the caller MUST emit `surface-reverse-map-missing` telemetry via
|
|
57
|
+
* `surfaces/telemetry.ts:reportReverseMapMissing`.
|
|
58
|
+
*/
|
|
59
|
+
export function canonicalPathForAnySurface(projectionPath) {
|
|
60
|
+
for (const surface of Object.keys(SURFACE_ADAPTERS)) {
|
|
61
|
+
const result = SURFACE_ADAPTERS[surface].canonicalPathFor(projectionPath);
|
|
62
|
+
if (result)
|
|
63
|
+
return { surface, canonicalPath: result };
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
// ── WP-421 S7: mode × surfaces matrix (doneWhen #19) ─────────────────────────
|
|
68
|
+
//
|
|
69
|
+
// Two stable error/flag codes (consumer-stable contract):
|
|
70
|
+
// - SURFACE_GOVERN_NO_SURFACES — Govern mode requires a non-empty surfaces[].
|
|
71
|
+
// Emitted by `validateSurfacesForMode` when `materialize: govern` and no
|
|
72
|
+
// surfaces declared. CLI surfaces this as a hard error.
|
|
73
|
+
// - SURFACE_ADAPTER_MISSING — A surface name in `manifest.surfaces[]` is not
|
|
74
|
+
// registered in SURFACE_ADAPTERS. Emitted by `flagUnregisteredSurfaces` for
|
|
75
|
+
// the drift report. The handshake MUST NOT crash on this — the flag is
|
|
76
|
+
// advisory and the handshake skips the unknown surface.
|
|
77
|
+
/** Govern mode declared with empty surfaces[]. Hard error (handshake refuses). */
|
|
78
|
+
export const SURFACE_GOVERN_NO_SURFACES = 'govern-no-surfaces';
|
|
79
|
+
/** Surface name in manifest is not registered. Advisory flag for drift report. */
|
|
80
|
+
export const SURFACE_ADAPTER_MISSING = 'surface-adapter-missing';
|
|
81
|
+
/**
|
|
82
|
+
* Validate `manifest.surfaces[]` against the requested authority mode.
|
|
83
|
+
*
|
|
84
|
+
* Govern + empty surfaces → `{ error: SURFACE_GOVERN_NO_SURFACES }`.
|
|
85
|
+
* Any other mode is permitted with any (possibly empty) surface list.
|
|
86
|
+
*
|
|
87
|
+
* Unregistered surface names are reported via `unregisteredSurfaces` so the
|
|
88
|
+
* caller can flag them in the drift report. Pure: no I/O, no Convex calls.
|
|
89
|
+
*
|
|
90
|
+
* Surface name normalization: this validator strips a leading `.` from each
|
|
91
|
+
* entry (e.g. `.cursor` → `cursor`) so manifests can declare either form.
|
|
92
|
+
* The canonical SurfaceName values in SURFACE_ADAPTERS use the bare name.
|
|
93
|
+
*/
|
|
94
|
+
export function validateSurfacesForMode(mode, surfacesFromManifest) {
|
|
95
|
+
const knownNames = new Set(Object.keys(SURFACE_ADAPTERS));
|
|
96
|
+
const registeredSurfaces = [];
|
|
97
|
+
const unregisteredSurfaces = [];
|
|
98
|
+
for (const raw of surfacesFromManifest) {
|
|
99
|
+
if (typeof raw !== 'string' || raw.length === 0)
|
|
100
|
+
continue;
|
|
101
|
+
const stripped = raw.startsWith('.') ? raw.slice(1) : raw;
|
|
102
|
+
const normalized = stripped === 'github' ? 'copilot' : stripped;
|
|
103
|
+
if (knownNames.has(normalized)) {
|
|
104
|
+
registeredSurfaces.push(normalized);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
unregisteredSurfaces.push(raw);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// Govern requires at least one registered surface. Unregistered surface names
|
|
111
|
+
// do NOT count toward this minimum (they're advisory).
|
|
112
|
+
if (mode === 'govern' && registeredSurfaces.length === 0) {
|
|
113
|
+
return { error: SURFACE_GOVERN_NO_SURFACES, unregisteredSurfaces, registeredSurfaces };
|
|
114
|
+
}
|
|
115
|
+
return { unregisteredSurfaces, registeredSurfaces };
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/surfaces/registry.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAenD,MAAM,CAAC,MAAM,gBAAgB,GAA2C;IACtE,MAAM,EAAE;QACN,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,UAAU;QACxB,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC;QAClD,YAAY,EAAE,uBAAuB;QACrC,uBAAuB,EAAE,eAAe;QACxC,gBAAgB,EAAE,KAAK;KACxB;IACD,MAAM,EAAE;QACN,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,UAAU;QACxB,UAAU,EAAE,EAAE,EAAE,oDAAoD;QACpE,YAAY,EAAE,uBAAuB;QACrC,uBAAuB,EAAE,MAAM;QAC/B,gBAAgB,EAAE,KAAK;KACxB;IACD,OAAO,EAAE;QACP,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,MAAM;QACpB,UAAU,EAAE,EAAE,EAAE,oBAAoB;QACpC,YAAY,EAAE,iCAAiC;QAC/C,uBAAuB,EAAE,MAAM;QAC/B,gBAAgB,EAAE,KAAK;KACxB;IACD,KAAK,EAAE;QACL,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,UAAU;QACxB,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,WAAW;QACzB,uBAAuB,EAAE,MAAM;QAC/B,gBAAgB,EAAE,IAAI;KACvB;CACF,CAAC;AAEF,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAwC;IACnE,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,cAAc;IACvB,KAAK,EAAE,YAAY;CACpB,CAAC;AAEF,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAqB,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEtF;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,cAAsB;IAEtB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAkB,EAAE,CAAC;QACrE,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC1E,IAAI,MAAM;YAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,EAAE;AACF,0DAA0D;AAC1D,gFAAgF;AAChF,6EAA6E;AAC7E,4DAA4D;AAC5D,+EAA+E;AAC/E,gFAAgF;AAChF,2EAA2E;AAC3E,4DAA4D;AAE5D,kFAAkF;AAClF,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAA6B,CAAC;AAExE,kFAAkF;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAkC,CAAC;AAkB1E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAA8C,EAC9C,oBAA8B;IAE9B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAClE,MAAM,kBAAkB,GAAkB,EAAE,CAAC;IAC7C,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAE1C,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC1D,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1D,MAAM,UAAU,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChE,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,kBAAkB,CAAC,IAAI,CAAC,UAAyB,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,uDAAuD;IACvD,IAAI,IAAI,KAAK,QAAQ,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,KAAK,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IACzF,CAAC;IAED,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface ReverseMapMissingEvent {
|
|
2
|
+
surface: string;
|
|
3
|
+
projectionPath: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Stable, copy-paste-able fallback message used by tampered-bucket prompts when
|
|
7
|
+
* an adapter cannot reverse-map a projection path. Centralized so every consumer
|
|
8
|
+
* surfaces the exact same instruction string.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getReverseMapFallbackMessage(): string;
|
|
11
|
+
/**
|
|
12
|
+
* Report that an adapter returned null for canonicalPathFor.
|
|
13
|
+
* Always emits a telemetry event; also writes a tagged warning to stderr so
|
|
14
|
+
* developers see it during local handshake runs.
|
|
15
|
+
*/
|
|
16
|
+
export declare function reportReverseMapMissing(evt: ReverseMapMissingEvent, warn?: (msg: string) => void): void;
|
|
17
|
+
//# sourceMappingURL=telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/surfaces/telemetry.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAKD;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,sBAAsB,EAC3B,IAAI,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAgD,GACtE,IAAI,CAQN"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Surface telemetry — WP-421 S2c.
|
|
3
|
+
*
|
|
4
|
+
* Tagged log + PostHog event for unmapped projection paths. When a SurfaceAdapter's
|
|
5
|
+
* canonicalPathFor returns null, the consumer falls back to a generic
|
|
6
|
+
* "edit upstream in .productbrain/{skills,rules,hooks}/" message and emits
|
|
7
|
+
* `surface-reverse-map-missing` for observability.
|
|
8
|
+
*/
|
|
9
|
+
import { trackEvent } from '../lib/telemetry.js';
|
|
10
|
+
const FALLBACK_MESSAGE = 'edit upstream in .productbrain/skills|rules|hooks/';
|
|
11
|
+
/**
|
|
12
|
+
* Stable, copy-paste-able fallback message used by tampered-bucket prompts when
|
|
13
|
+
* an adapter cannot reverse-map a projection path. Centralized so every consumer
|
|
14
|
+
* surfaces the exact same instruction string.
|
|
15
|
+
*/
|
|
16
|
+
export function getReverseMapFallbackMessage() {
|
|
17
|
+
return FALLBACK_MESSAGE;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Report that an adapter returned null for canonicalPathFor.
|
|
21
|
+
* Always emits a telemetry event; also writes a tagged warning to stderr so
|
|
22
|
+
* developers see it during local handshake runs.
|
|
23
|
+
*/
|
|
24
|
+
export function reportReverseMapMissing(evt, warn = (msg) => process.stderr.write(msg + '\n')) {
|
|
25
|
+
trackEvent('surface-reverse-map-missing', {
|
|
26
|
+
surface: evt.surface,
|
|
27
|
+
projectionPath: evt.projectionPath,
|
|
28
|
+
});
|
|
29
|
+
warn(`[surface-reverse-map-missing] ${evt.surface} cannot reverse-map ${evt.projectionPath} — ${FALLBACK_MESSAGE}`);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=telemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/surfaces/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAOjD,MAAM,gBAAgB,GACpB,oDAAoD,CAAC;AAEvD;;;;GAIG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAA2B,EAC3B,OAA8B,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;IAEvE,UAAU,CAAC,6BAA6B,EAAE;QACxC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,cAAc,EAAE,GAAG,CAAC,cAAc;KACnC,CAAC,CAAC;IACH,IAAI,CACF,iCAAiC,GAAG,CAAC,OAAO,uBAAuB,GAAG,CAAC,cAAc,MAAM,gBAAgB,EAAE,CAC9G,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,36 +1,44 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@productbrain/cli",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
4
|
-
"description": "Product Brain —
|
|
3
|
+
"version": "0.1.0-beta.1522",
|
|
4
|
+
"description": "Product Brain — Chain knowledge and write-back CLI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"pb": "dist/index.js"
|
|
8
8
|
},
|
|
9
9
|
"engines": {
|
|
10
|
-
"node": ">=
|
|
10
|
+
"node": ">=20"
|
|
11
11
|
},
|
|
12
12
|
"scripts": {
|
|
13
13
|
"build": "tsc",
|
|
14
|
+
"prepare": "tsc",
|
|
14
15
|
"dev": "tsc --watch",
|
|
15
16
|
"typecheck": "tsc --noEmit",
|
|
16
17
|
"lint": "tsc --noEmit",
|
|
17
|
-
"test": "vitest run src/
|
|
18
|
+
"test": "vitest run src/",
|
|
19
|
+
"codegen": "node scripts/generate-seed-commands.mjs",
|
|
18
20
|
"prepublishOnly": "npm run build",
|
|
19
21
|
"publish:beta": "npm publish --tag=beta",
|
|
20
22
|
"version:prerelease": "npm version prerelease --no-git-tag-version"
|
|
21
23
|
},
|
|
22
24
|
"dependencies": {
|
|
25
|
+
"@clack/prompts": "^0.10.0",
|
|
23
26
|
"commander": "^12.0.0",
|
|
24
27
|
"glob": "^11.0.0",
|
|
28
|
+
"ink": "^7.0.0",
|
|
29
|
+
"ink-text-input": "^6.0.0",
|
|
30
|
+
"react": "^19.0.0",
|
|
25
31
|
"undici": "^7.24.5"
|
|
26
32
|
},
|
|
27
33
|
"devDependencies": {
|
|
28
34
|
"@types/node": "^25.3.0",
|
|
35
|
+
"@types/react": "^19.0.0",
|
|
29
36
|
"typescript": "^5.0.0",
|
|
30
37
|
"vitest": "^4.0.18"
|
|
31
38
|
},
|
|
32
39
|
"files": [
|
|
33
40
|
"dist",
|
|
41
|
+
"templates",
|
|
34
42
|
"README.md"
|
|
35
43
|
],
|
|
36
44
|
"publishConfig": {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: chain-boundaries
|
|
3
|
+
description: "{{entry_count}} system boundaries derived from Chain architecture entries"
|
|
4
|
+
autoApply: true
|
|
5
|
+
level: core
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Chain-Derived System Boundaries
|
|
9
|
+
|
|
10
|
+
These {{entry_count}} architecture and decision entries define system boundaries for this workspace. Do not cross a boundary without understanding the contract it defines.
|
|
11
|
+
|
|
12
|
+
**Boundary entries:** {{entry_ids}}
|
|
13
|
+
|
|
14
|
+
{{boundary_summary}}
|
|
15
|
+
|
|
16
|
+
## What this means
|
|
17
|
+
|
|
18
|
+
- Boundaries define what a domain owns and what it does not own.
|
|
19
|
+
- Cross-domain changes require explicit negotiation — check the Team APIs in `docs/system/domains/`.
|
|
20
|
+
- Run `pb get <ID>` to read the full boundary entry before touching cross-domain seams.
|
|
21
|
+
- If your change crosses a domain boundary, identify the owning domain first (domain-boundaries rule).
|
|
22
|
+
|
|
23
|
+
**Source entries (names):** {{entry_names}}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: chain-constraints
|
|
3
|
+
description: "{{entry_count}} implementation constraints derived from Chain governance entries"
|
|
4
|
+
autoApply: true
|
|
5
|
+
level: core
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Chain-Derived Constraints
|
|
9
|
+
|
|
10
|
+
These {{entry_count}} governance entries constrain implementation in this workspace. Before writing code that touches any affected domain, check these entries on the Chain.
|
|
11
|
+
|
|
12
|
+
**Constraint entries:** {{entry_ids}}
|
|
13
|
+
|
|
14
|
+
{{constraint_summary}}
|
|
15
|
+
|
|
16
|
+
## What this means
|
|
17
|
+
|
|
18
|
+
- These standards and rules are non-negotiable. They constrain behavior across all slices.
|
|
19
|
+
- Run `pb get <ID>` to read the full entry before implementing anything in its domain.
|
|
20
|
+
- If your change conflicts with a constraint, capture a tension before proceeding.
|
|
21
|
+
- "I didn't know" is not a valid defense when the constraint is on the Chain.
|
|
22
|
+
|
|
23
|
+
**Source entries (names):** {{entry_names}}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: chain-conventions
|
|
3
|
+
description: "{{entry_count}} conventions derived from Chain decision and pattern entries"
|
|
4
|
+
autoApply: true
|
|
5
|
+
level: core
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Chain-Derived Conventions
|
|
9
|
+
|
|
10
|
+
These {{entry_count}} decision and pattern entries establish conventions for this workspace. Follow them unless you have a decision on the Chain that says otherwise.
|
|
11
|
+
|
|
12
|
+
**Convention entries:** {{entry_ids}}
|
|
13
|
+
|
|
14
|
+
{{convention_summary}}
|
|
15
|
+
|
|
16
|
+
## What this means
|
|
17
|
+
|
|
18
|
+
- Conventions are established patterns, not suggestions. They reduce decision fatigue.
|
|
19
|
+
- Before inventing a new pattern, search the Chain — it may already be a convention.
|
|
20
|
+
- Run `pb get <ID>` to understand the rationale behind a convention before deviating.
|
|
21
|
+
- If you must deviate, capture a DEC on the Chain explaining the new direction.
|
|
22
|
+
|
|
23
|
+
**Source entries (names):** {{entry_names}}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: chain-policies
|
|
3
|
+
description: "{{entry_count}} operational policies derived from Chain policy and business-rule entries"
|
|
4
|
+
autoApply: true
|
|
5
|
+
level: core
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Chain-Derived Policies
|
|
9
|
+
|
|
10
|
+
These {{entry_count}} policy and business-rule entries govern workflows and access in this workspace. Policies apply even when they are inconvenient.
|
|
11
|
+
|
|
12
|
+
**Policy entries:** {{entry_ids}}
|
|
13
|
+
|
|
14
|
+
{{policy_summary}}
|
|
15
|
+
|
|
16
|
+
## What this means
|
|
17
|
+
|
|
18
|
+
- Policies govern who can do what and under what conditions.
|
|
19
|
+
- Security, auth, and access control policies are never optional.
|
|
20
|
+
- Run `pb get <ID>` to read the full policy before implementing anything in its domain.
|
|
21
|
+
- If a policy conflicts with a feature requirement, capture a TEN and escalate — do not quietly violate.
|
|
22
|
+
|
|
23
|
+
**Source entries (names):** {{entry_names}}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: chain-quality-gates
|
|
3
|
+
description: "{{entry_count}} quality gates derived from Chain standard and business-rule entries"
|
|
4
|
+
autoApply: true
|
|
5
|
+
level: core
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Chain-Derived Quality Gates
|
|
9
|
+
|
|
10
|
+
These {{entry_count}} standard and business-rule entries define quality gates that must pass before shipping. No exceptions without a documented reason on the Chain.
|
|
11
|
+
|
|
12
|
+
**Quality gate entries:** {{entry_ids}}
|
|
13
|
+
|
|
14
|
+
{{quality_summary}}
|
|
15
|
+
|
|
16
|
+
## What this means
|
|
17
|
+
|
|
18
|
+
- Quality gates are pass/fail. They are not approximate.
|
|
19
|
+
- Run `npm run build` and `npm run test` before every push — always.
|
|
20
|
+
- Run `pb get <ID>` to read the specific acceptance criteria for a quality gate.
|
|
21
|
+
- If a gate cannot pass due to a legitimate constraint, capture a TEN before shipping.
|
|
22
|
+
|
|
23
|
+
**Source entries (names):** {{entry_names}}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: chain-workflows
|
|
3
|
+
description: "{{entry_count}} required process flows derived from Chain flow entries"
|
|
4
|
+
autoApply: true
|
|
5
|
+
level: core
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Chain-Derived Workflows
|
|
9
|
+
|
|
10
|
+
These {{entry_count}} flow entries define required processes for this workspace. If a workflow entry exists for a process you are about to execute, follow it.
|
|
11
|
+
|
|
12
|
+
**Workflow entries:** {{entry_ids}}
|
|
13
|
+
|
|
14
|
+
{{workflow_summary}}
|
|
15
|
+
|
|
16
|
+
## What this means
|
|
17
|
+
|
|
18
|
+
- Workflows define the correct sequence of steps for key processes.
|
|
19
|
+
- Skipping a step is not the same as completing the workflow.
|
|
20
|
+
- Run `pb get <ID>` to read the full workflow before executing the process it defines.
|
|
21
|
+
- If the workflow is incomplete or outdated, capture a TEN — do not silently deviate.
|
|
22
|
+
|
|
23
|
+
**Source entries (names):** {{entry_names}}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: getting-started
|
|
3
|
+
description: Product Brain onboarding for new workspaces
|
|
4
|
+
level: core
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Getting Started with Product Brain
|
|
8
|
+
|
|
9
|
+
- Run `pb orient -b` to see your workspace state
|
|
10
|
+
- Run `pb handshake` after changing rules or skills in `.productbrain/`
|
|
11
|
+
- Rules go in `.productbrain/rules/`, skills go in `.productbrain/skills/`
|
|
12
|
+
- The Chain is the single source of truth — use `pb get <ID>` to load any entry
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0",
|
|
3
|
+
"generatedAt": "2026-04-18T00:00:00.000Z",
|
|
4
|
+
"methods": [
|
|
5
|
+
{ "name": "session start", "usage": "pb session start", "description": "Open a tracked write session before making changes to the Chain." },
|
|
6
|
+
{ "name": "session close", "usage": "pb session close", "description": "Close the current session and prompt for captures." },
|
|
7
|
+
{ "name": "capture", "usage": "pb capture \"TYPE: text\"", "description": "Capture a decision (DEC), tension (TEN), insight (INS), or experiment (EXP) as a draft entry." },
|
|
8
|
+
{ "name": "orient", "usage": "pb orient --task \"<task>\"", "description": "Get task-relevant governance and context before implementation." },
|
|
9
|
+
{ "name": "get", "usage": "pb get <ID>", "description": "Get a full Chain entry by ID (BET, DEC, STD, BR, TEN, etc.)." },
|
|
10
|
+
{ "name": "search", "usage": "pb search <query>", "description": "Search entries across the Chain." },
|
|
11
|
+
{ "name": "handshake", "usage": "pb handshake", "description": "Refresh generated context files from Chain governance." },
|
|
12
|
+
{ "name": "handshake --init", "usage": "pb handshake --init", "description": "Set up Claude Code integration (hooks, permissions, trust level)." },
|
|
13
|
+
{ "name": "update", "usage": "pb update <ID> -f \"field=value\"", "description": "Update a Chain entry field." },
|
|
14
|
+
{ "name": "context", "usage": "pb context <ID>", "description": "Get constellation context for a Chain entry." }
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-integrity
|
|
3
|
+
description: TypeScript code quality patterns
|
|
4
|
+
level: core
|
|
5
|
+
when_stack: typescript
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Code Integrity
|
|
9
|
+
|
|
10
|
+
- Use strict TypeScript (`strict: true` in tsconfig)
|
|
11
|
+
- Prefer `const` over `let`
|
|
12
|
+
- Use explicit return types on exported functions
|
|
13
|
+
- Handle errors at boundaries, not everywhere
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: testing
|
|
3
|
+
description: Testing standards for Node/TypeScript projects
|
|
4
|
+
level: intermediate
|
|
5
|
+
when_stack: typescript
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Testing Standards
|
|
9
|
+
|
|
10
|
+
- Test behavior, not implementation
|
|
11
|
+
- One assertion per test when possible
|
|
12
|
+
- Use descriptive test names that read as specifications
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-integrity
|
|
3
|
+
description: Python code quality patterns
|
|
4
|
+
level: core
|
|
5
|
+
when_stack: python
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Code Integrity
|
|
9
|
+
|
|
10
|
+
- Use type hints on function signatures
|
|
11
|
+
- Prefer f-strings over .format()
|
|
12
|
+
- Handle errors at boundaries, not everywhere
|
|
13
|
+
- Use pathlib over os.path
|