primitive-admin 1.1.0-alpha.8 → 1.1.0-alpha.80
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 +444 -106
- package/assets/skill/skills/primitive-platform/SKILL.md +811 -0
- package/dist/bin/primitive.d.ts +2 -0
- package/dist/bin/primitive.js +373 -21
- package/dist/bin/primitive.js.map +1 -1
- package/dist/src/commands/admins.d.ts +2 -0
- package/dist/src/commands/admins.js +128 -19
- package/dist/src/commands/admins.js.map +1 -1
- package/dist/src/commands/analytics.d.ts +2 -0
- package/dist/src/commands/analytics.js +700 -55
- package/dist/src/commands/analytics.js.map +1 -1
- package/dist/src/commands/apps.d.ts +2 -0
- package/dist/src/commands/apps.js +54 -96
- package/dist/src/commands/apps.js.map +1 -1
- package/dist/src/commands/auth.d.ts +2 -0
- package/dist/src/commands/auth.js +196 -105
- package/dist/src/commands/auth.js.map +1 -1
- package/dist/src/commands/blob-buckets.d.ts +2 -0
- package/dist/src/commands/blob-buckets.js +330 -0
- package/dist/src/commands/blob-buckets.js.map +1 -0
- package/dist/src/commands/catalog.d.ts +2 -0
- package/dist/src/commands/catalog.js +37 -38
- package/dist/src/commands/catalog.js.map +1 -1
- package/dist/src/commands/collection-type-configs.d.ts +2 -0
- package/dist/src/commands/collection-type-configs.js +84 -0
- package/dist/src/commands/collection-type-configs.js.map +1 -0
- package/dist/src/commands/collections.d.ts +2 -0
- package/dist/src/commands/collections.js +565 -0
- package/dist/src/commands/collections.js.map +1 -0
- package/dist/src/commands/comparisons.d.ts +2 -0
- package/dist/src/commands/comparisons.js +6 -6
- package/dist/src/commands/comparisons.js.map +1 -1
- package/dist/src/commands/config.d.ts +46 -0
- package/dist/src/commands/config.js +465 -0
- package/dist/src/commands/config.js.map +1 -0
- package/dist/src/commands/connections.d.ts +2 -0
- package/dist/src/commands/connections.js +100 -0
- package/dist/src/commands/connections.js.map +1 -0
- package/dist/src/commands/cron-triggers.d.ts +2 -0
- package/dist/src/commands/cron-triggers.js +265 -0
- package/dist/src/commands/cron-triggers.js.map +1 -0
- package/dist/src/commands/database-type-configs.d.ts +2 -0
- package/dist/src/commands/database-type-configs.js +163 -0
- package/dist/src/commands/database-type-configs.js.map +1 -0
- package/dist/src/commands/database-types.d.ts +2 -0
- package/dist/src/commands/database-types.js +171 -0
- package/dist/src/commands/database-types.js.map +1 -0
- package/dist/src/commands/databases.d.ts +65 -0
- package/dist/src/commands/databases.js +1859 -238
- package/dist/src/commands/databases.js.map +1 -1
- package/dist/src/commands/documents.d.ts +2 -0
- package/dist/src/commands/documents.js +2062 -19
- package/dist/src/commands/documents.js.map +1 -1
- package/dist/src/commands/email-templates.d.ts +2 -0
- package/dist/src/commands/email-templates.js +174 -0
- package/dist/src/commands/email-templates.js.map +1 -0
- package/dist/src/commands/env.d.ts +23 -0
- package/dist/src/commands/env.js +385 -0
- package/dist/src/commands/env.js.map +1 -0
- package/dist/src/commands/feature-flags.d.ts +14 -0
- package/dist/src/commands/feature-flags.js +116 -0
- package/dist/src/commands/feature-flags.js.map +1 -0
- package/dist/src/commands/functions.d.ts +20 -0
- package/dist/src/commands/functions.js +672 -0
- package/dist/src/commands/functions.js.map +1 -0
- package/dist/src/commands/group-type-configs.d.ts +2 -0
- package/dist/src/commands/group-type-configs.js +86 -0
- package/dist/src/commands/group-type-configs.js.map +1 -0
- package/dist/src/commands/groups.d.ts +2 -0
- package/dist/src/commands/groups.js +39 -108
- package/dist/src/commands/groups.js.map +1 -1
- package/dist/src/commands/guides.d.ts +223 -0
- package/dist/src/commands/guides.js +617 -65
- package/dist/src/commands/guides.js.map +1 -1
- package/dist/src/commands/init.d.ts +37 -0
- package/dist/src/commands/init.js +1693 -208
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/integrations.d.ts +2 -0
- package/dist/src/commands/integrations.js +402 -182
- package/dist/src/commands/integrations.js.map +1 -1
- package/dist/src/commands/llm.d.ts +2 -0
- package/dist/src/commands/llm.js +13 -8
- package/dist/src/commands/llm.js.map +1 -1
- package/dist/src/commands/locks.d.ts +8 -0
- package/dist/src/commands/locks.js +160 -0
- package/dist/src/commands/locks.js.map +1 -0
- package/dist/src/commands/metadata-category-configs.d.ts +12 -0
- package/dist/src/commands/metadata-category-configs.js +112 -0
- package/dist/src/commands/metadata-category-configs.js.map +1 -0
- package/dist/src/commands/metadata.d.ts +2 -0
- package/dist/src/commands/metadata.js +281 -0
- package/dist/src/commands/metadata.js.map +1 -0
- package/dist/src/commands/prompts.d.ts +2 -0
- package/dist/src/commands/prompts.js +275 -621
- package/dist/src/commands/prompts.js.map +1 -1
- package/dist/src/commands/rule-sets.d.ts +3 -0
- package/dist/src/commands/rule-sets.js +137 -147
- package/dist/src/commands/rule-sets.js.map +1 -1
- package/dist/src/commands/scripts.d.ts +30 -0
- package/dist/src/commands/scripts.js +679 -0
- package/dist/src/commands/scripts.js.map +1 -0
- package/dist/src/commands/secrets.d.ts +2 -0
- package/dist/src/commands/secrets.js +108 -0
- package/dist/src/commands/secrets.js.map +1 -0
- package/dist/src/commands/sessions.d.ts +2 -0
- package/dist/src/commands/sessions.js +75 -0
- package/dist/src/commands/sessions.js.map +1 -0
- package/dist/src/commands/settings.d.ts +18 -0
- package/dist/src/commands/settings.js +54 -0
- package/dist/src/commands/settings.js.map +1 -0
- package/dist/src/commands/skill.d.ts +2 -0
- package/dist/src/commands/skill.js +29 -0
- package/dist/src/commands/skill.js.map +1 -0
- package/dist/src/commands/sync-app-settings.d.ts +158 -0
- package/dist/src/commands/sync-app-settings.js +328 -0
- package/dist/src/commands/sync-app-settings.js.map +1 -0
- package/dist/src/commands/sync.d.ts +2514 -0
- package/dist/src/commands/sync.js +16106 -848
- package/dist/src/commands/sync.js.map +1 -1
- package/dist/src/commands/tokens.d.ts +2 -0
- package/dist/src/commands/tokens.js +130 -21
- package/dist/src/commands/tokens.js.map +1 -1
- package/dist/src/commands/users.d.ts +2 -0
- package/dist/src/commands/users.js +532 -23
- package/dist/src/commands/users.js.map +1 -1
- package/dist/src/commands/vars.d.ts +8 -0
- package/dist/src/commands/vars.js +96 -0
- package/dist/src/commands/vars.js.map +1 -0
- package/dist/src/commands/waitlist.d.ts +2 -0
- package/dist/src/commands/waitlist.js +10 -10
- package/dist/src/commands/waitlist.js.map +1 -1
- package/dist/src/commands/webhooks.d.ts +2 -0
- package/dist/src/commands/webhooks.js +562 -0
- package/dist/src/commands/webhooks.js.map +1 -0
- package/dist/src/commands/workflows.d.ts +116 -0
- package/dist/src/commands/workflows.js +1638 -729
- package/dist/src/commands/workflows.js.map +1 -1
- package/dist/src/lib/access-rule-display.d.ts +21 -0
- package/dist/src/lib/access-rule-display.js +34 -0
- package/dist/src/lib/access-rule-display.js.map +1 -0
- package/dist/src/lib/api-client.d.ts +2147 -0
- package/dist/src/lib/api-client.js +2042 -160
- package/dist/src/lib/api-client.js.map +1 -1
- package/dist/src/lib/app-match-guard.d.ts +44 -0
- package/dist/src/lib/app-match-guard.js +72 -0
- package/dist/src/lib/app-match-guard.js.map +1 -0
- package/dist/src/lib/app-settings-descriptor.d.ts +263 -0
- package/dist/src/lib/app-settings-descriptor.js +584 -0
- package/dist/src/lib/app-settings-descriptor.js.map +1 -0
- package/dist/src/lib/auth-flow.d.ts +8 -0
- package/dist/src/lib/batch.d.ts +26 -0
- package/dist/src/lib/batch.js +32 -0
- package/dist/src/lib/batch.js.map +1 -0
- package/dist/src/lib/block-layout.d.ts +160 -0
- package/dist/src/lib/block-layout.js +451 -0
- package/dist/src/lib/block-layout.js.map +1 -0
- package/dist/src/lib/block-selector.d.ts +58 -0
- package/dist/src/lib/block-selector.js +92 -0
- package/dist/src/lib/block-selector.js.map +1 -0
- package/dist/src/lib/canonical-json.d.ts +12 -0
- package/dist/src/lib/canonical-json.js +35 -0
- package/dist/src/lib/canonical-json.js.map +1 -0
- package/dist/src/lib/channel.d.ts +30 -0
- package/dist/src/lib/channel.js +68 -0
- package/dist/src/lib/channel.js.map +1 -0
- package/dist/src/lib/cli-manifest.d.ts +68 -0
- package/dist/src/lib/cli-manifest.js +71 -0
- package/dist/src/lib/cli-manifest.js.map +1 -0
- package/dist/src/lib/codegen-shared/generatedFiles.d.ts +101 -0
- package/dist/src/lib/codegen-shared/generatedFiles.js +191 -0
- package/dist/src/lib/codegen-shared/generatedFiles.js.map +1 -0
- package/dist/src/lib/codegen-shared/prettierStable.d.ts +262 -0
- package/dist/src/lib/codegen-shared/prettierStable.js +610 -0
- package/dist/src/lib/codegen-shared/prettierStable.js.map +1 -0
- package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.d.ts +38 -0
- package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js +46 -0
- package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js.map +1 -0
- package/dist/src/lib/config-json-field.d.ts +28 -0
- package/dist/src/lib/config-json-field.js +56 -0
- package/dist/src/lib/config-json-field.js.map +1 -0
- package/dist/src/lib/config-object-descriptor.d.ts +127 -0
- package/dist/src/lib/config-object-descriptor.js +696 -0
- package/dist/src/lib/config-object-descriptor.js.map +1 -0
- package/dist/src/lib/config-payload.d.ts +85 -0
- package/dist/src/lib/config-payload.js +116 -0
- package/dist/src/lib/config-payload.js.map +1 -0
- package/dist/src/lib/config-surface.d.ts +140 -0
- package/dist/src/lib/config-surface.js +317 -0
- package/dist/src/lib/config-surface.js.map +1 -0
- package/dist/src/lib/config-toml.d.ts +10 -0
- package/dist/src/lib/config-toml.js +42 -0
- package/dist/src/lib/config-toml.js.map +1 -0
- package/dist/src/lib/config.d.ts +71 -0
- package/dist/src/lib/config.js +71 -68
- package/dist/src/lib/config.js.map +1 -1
- package/dist/src/lib/confirm-prompt.d.ts +83 -0
- package/dist/src/lib/confirm-prompt.js +110 -0
- package/dist/src/lib/confirm-prompt.js.map +1 -0
- package/dist/src/lib/constants.d.ts +11 -0
- package/dist/src/lib/constants.js +12 -0
- package/dist/src/lib/constants.js.map +1 -0
- package/dist/src/lib/crash-handlers.d.ts +20 -0
- package/dist/src/lib/crash-handlers.js +49 -0
- package/dist/src/lib/crash-handlers.js.map +1 -0
- package/dist/src/lib/credentials-store.d.ts +104 -0
- package/dist/src/lib/credentials-store.js +336 -0
- package/dist/src/lib/credentials-store.js.map +1 -0
- package/dist/src/lib/csv.d.ts +47 -0
- package/dist/src/lib/csv.js +172 -0
- package/dist/src/lib/csv.js.map +1 -0
- package/dist/src/lib/data-input.d.ts +23 -0
- package/dist/src/lib/data-input.js +50 -0
- package/dist/src/lib/data-input.js.map +1 -0
- package/dist/src/lib/db-codegen/dbFingerprint.d.ts +10 -0
- package/dist/src/lib/db-codegen/dbFingerprint.js +17 -0
- package/dist/src/lib/db-codegen/dbFingerprint.js.map +1 -0
- package/dist/src/lib/db-codegen/dbGenerator.d.ts +67 -0
- package/dist/src/lib/db-codegen/dbGenerator.js +170 -0
- package/dist/src/lib/db-codegen/dbGenerator.js.map +1 -0
- package/dist/src/lib/db-codegen/dbNaming.d.ts +87 -0
- package/dist/src/lib/db-codegen/dbNaming.js +180 -0
- package/dist/src/lib/db-codegen/dbNaming.js.map +1 -0
- package/dist/src/lib/db-codegen/dbTemplates.d.ts +272 -0
- package/dist/src/lib/db-codegen/dbTemplates.js +480 -0
- package/dist/src/lib/db-codegen/dbTemplates.js.map +1 -0
- package/dist/src/lib/db-codegen/dbTsTypes.d.ts +73 -0
- package/dist/src/lib/db-codegen/dbTsTypes.js +139 -0
- package/dist/src/lib/db-codegen/dbTsTypes.js.map +1 -0
- package/dist/src/lib/db-codegen/dbTypeIR.d.ts +146 -0
- package/dist/src/lib/db-codegen/dbTypeIR.js +517 -0
- package/dist/src/lib/db-codegen/dbTypeIR.js.map +1 -0
- package/dist/src/lib/db-codegen/generated-operation-def-descriptor.d.ts +112 -0
- package/dist/src/lib/db-codegen/generated-operation-def-descriptor.js +211 -0
- package/dist/src/lib/db-codegen/generated-operation-def-descriptor.js.map +1 -0
- package/dist/src/lib/document-export-permissions.d.ts +30 -0
- package/dist/src/lib/document-export-permissions.js +54 -0
- package/dist/src/lib/document-export-permissions.js.map +1 -0
- package/dist/src/lib/env-resolver-core.d.ts +253 -0
- package/dist/src/lib/env-resolver-core.js +459 -0
- package/dist/src/lib/env-resolver-core.js.map +1 -0
- package/dist/src/lib/env-resolver.d.ts +99 -0
- package/dist/src/lib/env-resolver.js +153 -0
- package/dist/src/lib/env-resolver.js.map +1 -0
- package/dist/src/lib/fetch.d.ts +5 -0
- package/dist/src/lib/function-bundle.d.ts +141 -0
- package/dist/src/lib/function-bundle.js +333 -0
- package/dist/src/lib/function-bundle.js.map +1 -0
- package/dist/src/lib/function-collect.d.ts +123 -0
- package/dist/src/lib/function-collect.js +594 -0
- package/dist/src/lib/function-collect.js.map +1 -0
- package/dist/src/lib/function-db-types.d.ts +187 -0
- package/dist/src/lib/function-db-types.js +782 -0
- package/dist/src/lib/function-db-types.js.map +1 -0
- package/dist/src/lib/function-document-types.d.ts +50 -0
- package/dist/src/lib/function-document-types.js +163 -0
- package/dist/src/lib/function-document-types.js.map +1 -0
- package/dist/src/lib/function-grants-preflight.d.ts +64 -0
- package/dist/src/lib/function-grants-preflight.js +100 -0
- package/dist/src/lib/function-grants-preflight.js.map +1 -0
- package/dist/src/lib/function-log-tail.d.ts +83 -0
- package/dist/src/lib/function-log-tail.js +115 -0
- package/dist/src/lib/function-log-tail.js.map +1 -0
- package/dist/src/lib/function-schema-codegen.d.ts +118 -0
- package/dist/src/lib/function-schema-codegen.js +402 -0
- package/dist/src/lib/function-schema-codegen.js.map +1 -0
- package/dist/src/lib/function-sync.d.ts +263 -0
- package/dist/src/lib/function-sync.js +604 -0
- package/dist/src/lib/function-sync.js.map +1 -0
- package/dist/src/lib/function-triggers.d.ts +66 -0
- package/dist/src/lib/function-triggers.js +285 -0
- package/dist/src/lib/function-triggers.js.map +1 -0
- package/dist/src/lib/function-typecheck.d.ts +86 -0
- package/dist/src/lib/function-typecheck.js +370 -0
- package/dist/src/lib/function-typecheck.js.map +1 -0
- package/dist/src/lib/generated-allowlist.d.ts +28 -0
- package/dist/src/lib/generated-allowlist.js +281 -0
- package/dist/src/lib/generated-allowlist.js.map +1 -0
- package/dist/src/lib/generated-config-surfaces.d.ts +1445 -0
- package/dist/src/lib/generated-config-surfaces.js +5836 -0
- package/dist/src/lib/generated-config-surfaces.js.map +1 -0
- package/dist/src/lib/generated-sdk-types.d.ts +12 -0
- package/dist/src/lib/generated-sdk-types.js +13 -0
- package/dist/src/lib/generated-sdk-types.js.map +1 -0
- package/dist/src/lib/generated-template-lint.d.ts +212 -0
- package/dist/src/lib/generated-template-lint.js +624 -0
- package/dist/src/lib/generated-template-lint.js.map +1 -0
- package/dist/src/lib/generated-workflow-model-fields.d.ts +20 -0
- package/dist/src/lib/generated-workflow-model-fields.js +53 -0
- package/dist/src/lib/generated-workflow-model-fields.js.map +1 -0
- package/dist/src/lib/google-client-secret-status.d.ts +35 -0
- package/dist/src/lib/google-client-secret-status.js +56 -0
- package/dist/src/lib/google-client-secret-status.js.map +1 -0
- package/dist/src/lib/init-adopt.d.ts +16 -0
- package/dist/src/lib/init-adopt.js +34 -0
- package/dist/src/lib/init-adopt.js.map +1 -0
- package/dist/src/lib/init-assets.d.ts +39 -0
- package/dist/src/lib/init-assets.js +97 -0
- package/dist/src/lib/init-assets.js.map +1 -0
- package/dist/src/lib/init-client-platforms.d.ts +14 -0
- package/dist/src/lib/init-client-platforms.js +71 -0
- package/dist/src/lib/init-client-platforms.js.map +1 -0
- package/dist/src/lib/init-config.d.ts +98 -0
- package/dist/src/lib/init-config.js +186 -0
- package/dist/src/lib/init-config.js.map +1 -0
- package/dist/src/lib/init-email-redirect-uris.d.ts +37 -0
- package/dist/src/lib/init-email-redirect-uris.js +46 -0
- package/dist/src/lib/init-email-redirect-uris.js.map +1 -0
- package/dist/src/lib/init-ios-links.d.ts +91 -0
- package/dist/src/lib/init-ios-links.js +219 -0
- package/dist/src/lib/init-ios-links.js.map +1 -0
- package/dist/src/lib/init-plan.d.ts +80 -0
- package/dist/src/lib/init-plan.js +95 -0
- package/dist/src/lib/init-plan.js.map +1 -0
- package/dist/src/lib/init-production-env.d.ts +48 -0
- package/dist/src/lib/init-production-env.js +59 -0
- package/dist/src/lib/init-production-env.js.map +1 -0
- package/dist/src/lib/init-schema.d.ts +74 -0
- package/dist/src/lib/init-schema.js +358 -0
- package/dist/src/lib/init-schema.js.map +1 -0
- package/dist/src/lib/init-xcode.d.ts +34 -0
- package/dist/src/lib/init-xcode.js +138 -0
- package/dist/src/lib/init-xcode.js.map +1 -0
- package/dist/src/lib/integration-request-config.d.ts +30 -0
- package/dist/src/lib/integration-request-config.js +145 -0
- package/dist/src/lib/integration-request-config.js.map +1 -0
- package/dist/src/lib/integration-selector.d.ts +42 -0
- package/dist/src/lib/integration-selector.js +46 -0
- package/dist/src/lib/integration-selector.js.map +1 -0
- package/dist/src/lib/ios-app-id.d.ts +34 -0
- package/dist/src/lib/ios-app-id.js +69 -0
- package/dist/src/lib/ios-app-id.js.map +1 -0
- package/dist/src/lib/local-state.d.ts +55 -0
- package/dist/src/lib/local-state.js +167 -0
- package/dist/src/lib/local-state.js.map +1 -0
- package/dist/src/lib/local-test-cases.d.ts +63 -0
- package/dist/src/lib/local-test-cases.js +136 -0
- package/dist/src/lib/local-test-cases.js.map +1 -0
- package/dist/src/lib/log-inspection.d.ts +680 -0
- package/dist/src/lib/log-inspection.js +784 -0
- package/dist/src/lib/log-inspection.js.map +1 -0
- package/dist/src/lib/migration-nag.d.ts +49 -0
- package/dist/src/lib/migration-nag.js +164 -0
- package/dist/src/lib/migration-nag.js.map +1 -0
- package/dist/src/lib/object-status-filter.d.ts +22 -0
- package/dist/src/lib/object-status-filter.js +45 -0
- package/dist/src/lib/object-status-filter.js.map +1 -0
- package/dist/src/lib/output.d.ts +109 -0
- package/dist/src/lib/output.js +191 -8
- package/dist/src/lib/output.js.map +1 -1
- package/dist/src/lib/package-manager.d.ts +140 -0
- package/dist/src/lib/package-manager.js +305 -0
- package/dist/src/lib/package-manager.js.map +1 -0
- package/dist/src/lib/paginate.d.ts +83 -0
- package/dist/src/lib/paginate.js +95 -0
- package/dist/src/lib/paginate.js.map +1 -0
- package/dist/src/lib/platform-owned.d.ts +63 -0
- package/dist/src/lib/platform-owned.js +85 -0
- package/dist/src/lib/platform-owned.js.map +1 -0
- package/dist/src/lib/project-config.d.ts +122 -0
- package/dist/src/lib/project-config.js +244 -0
- package/dist/src/lib/project-config.js.map +1 -0
- package/dist/src/lib/query-operators.d.ts +43 -0
- package/dist/src/lib/query-operators.js +80 -0
- package/dist/src/lib/query-operators.js.map +1 -0
- package/dist/src/lib/record-filter.d.ts +18 -0
- package/dist/src/lib/record-filter.js +55 -0
- package/dist/src/lib/record-filter.js.map +1 -0
- package/dist/src/lib/refresh-admin-credentials.d.ts +65 -0
- package/dist/src/lib/refresh-admin-credentials.js +103 -0
- package/dist/src/lib/refresh-admin-credentials.js.map +1 -0
- package/dist/src/lib/resolve-init-dev-port.d.ts +56 -0
- package/dist/src/lib/resolve-init-dev-port.js +55 -0
- package/dist/src/lib/resolve-init-dev-port.js.map +1 -0
- package/dist/src/lib/resolve-init-server.d.ts +64 -0
- package/dist/src/lib/resolve-init-server.js +77 -0
- package/dist/src/lib/resolve-init-server.js.map +1 -0
- package/dist/src/lib/resolve-platform.d.ts +74 -0
- package/dist/src/lib/resolve-platform.js +105 -0
- package/dist/src/lib/resolve-platform.js.map +1 -0
- package/dist/src/lib/run-status.d.ts +19 -0
- package/dist/src/lib/run-status.generated.d.ts +39 -0
- package/dist/src/lib/run-status.generated.js +66 -0
- package/dist/src/lib/run-status.generated.js.map +1 -0
- package/dist/src/lib/run-status.js +19 -0
- package/dist/src/lib/run-status.js.map +1 -0
- package/dist/src/lib/server-text-normalization.d.ts +51 -0
- package/dist/src/lib/server-text-normalization.js +90 -0
- package/dist/src/lib/server-text-normalization.js.map +1 -0
- package/dist/src/lib/server-url.d.ts +22 -0
- package/dist/src/lib/server-url.js +33 -0
- package/dist/src/lib/server-url.js.map +1 -0
- package/dist/src/lib/signing-secret-status.d.ts +81 -0
- package/dist/src/lib/signing-secret-status.js +116 -0
- package/dist/src/lib/signing-secret-status.js.map +1 -0
- package/dist/src/lib/skill-installer.d.ts +25 -0
- package/dist/src/lib/skill-installer.js +266 -0
- package/dist/src/lib/skill-installer.js.map +1 -0
- package/dist/src/lib/snapshots.d.ts +98 -0
- package/dist/src/lib/snapshots.js +294 -0
- package/dist/src/lib/snapshots.js.map +1 -0
- package/dist/src/lib/swift-codegen/dbGenerator.d.ts +113 -0
- package/dist/src/lib/swift-codegen/dbGenerator.js +914 -0
- package/dist/src/lib/swift-codegen/dbGenerator.js.map +1 -0
- package/dist/src/lib/swift-codegen/dbSwiftTypes.d.ts +42 -0
- package/dist/src/lib/swift-codegen/dbSwiftTypes.js +100 -0
- package/dist/src/lib/swift-codegen/dbSwiftTypes.js.map +1 -0
- package/dist/src/lib/swift-codegen/generator.d.ts +94 -0
- package/dist/src/lib/swift-codegen/generator.js +440 -0
- package/dist/src/lib/swift-codegen/generator.js.map +1 -0
- package/dist/src/lib/swift-codegen/schemaToSwift.d.ts +72 -0
- package/dist/src/lib/swift-codegen/schemaToSwift.js +644 -0
- package/dist/src/lib/swift-codegen/schemaToSwift.js.map +1 -0
- package/dist/src/lib/swift-codegen/siblingSymbols.d.ts +94 -0
- package/dist/src/lib/swift-codegen/siblingSymbols.js +155 -0
- package/dist/src/lib/swift-codegen/siblingSymbols.js.map +1 -0
- package/dist/src/lib/swift-codegen/swiftNaming.d.ts +85 -0
- package/dist/src/lib/swift-codegen/swiftNaming.js +198 -0
- package/dist/src/lib/swift-codegen/swiftNaming.js.map +1 -0
- package/dist/src/lib/sync-dir-selector.d.ts +21 -0
- package/dist/src/lib/sync-dir-selector.js +30 -0
- package/dist/src/lib/sync-dir-selector.js.map +1 -0
- package/dist/src/lib/sync-paths.d.ts +123 -0
- package/dist/src/lib/sync-paths.js +193 -0
- package/dist/src/lib/sync-paths.js.map +1 -0
- package/dist/src/lib/sync-resource-types.d.ts +563 -0
- package/dist/src/lib/sync-resource-types.js +1073 -0
- package/dist/src/lib/sync-resource-types.js.map +1 -0
- package/dist/src/lib/sync-selectors.d.ts +95 -0
- package/dist/src/lib/sync-selectors.js +228 -0
- package/dist/src/lib/sync-selectors.js.map +1 -0
- package/dist/src/lib/template.d.ts +170 -0
- package/dist/src/lib/template.js +484 -68
- package/dist/src/lib/template.js.map +1 -1
- package/dist/src/lib/test-case-file-names.d.ts +40 -0
- package/dist/src/lib/test-case-file-names.js +91 -0
- package/dist/src/lib/test-case-file-names.js.map +1 -0
- package/dist/src/lib/test-case-keys.d.ts +29 -0
- package/dist/src/lib/test-case-keys.js +55 -0
- package/dist/src/lib/test-case-keys.js.map +1 -0
- package/dist/src/lib/test-case-variables.d.ts +29 -0
- package/dist/src/lib/test-case-variables.js +71 -0
- package/dist/src/lib/test-case-variables.js.map +1 -0
- package/dist/src/lib/token-inject.d.ts +56 -0
- package/dist/src/lib/token-inject.js +204 -0
- package/dist/src/lib/token-inject.js.map +1 -0
- package/dist/src/lib/toml-database-config.d.ts +123 -0
- package/dist/src/lib/toml-database-config.js +544 -0
- package/dist/src/lib/toml-database-config.js.map +1 -0
- package/dist/src/lib/toml-metadata-config.d.ts +151 -0
- package/dist/src/lib/toml-metadata-config.js +476 -0
- package/dist/src/lib/toml-metadata-config.js.map +1 -0
- package/dist/src/lib/toml-native-form.d.ts +46 -0
- package/dist/src/lib/toml-native-form.js +78 -0
- package/dist/src/lib/toml-native-form.js.map +1 -0
- package/dist/src/lib/toml-params-validator.d.ts +129 -0
- package/dist/src/lib/toml-params-validator.js +298 -0
- package/dist/src/lib/toml-params-validator.js.map +1 -0
- package/dist/src/lib/toml-scalar-edit.d.ts +43 -0
- package/dist/src/lib/toml-scalar-edit.js +283 -0
- package/dist/src/lib/toml-scalar-edit.js.map +1 -0
- package/dist/src/lib/user-selector.d.ts +24 -0
- package/dist/src/lib/user-selector.js +33 -0
- package/dist/src/lib/user-selector.js.map +1 -0
- package/dist/src/lib/version-check.d.ts +35 -0
- package/dist/src/lib/version-check.js +241 -0
- package/dist/src/lib/version-check.js.map +1 -0
- package/dist/src/lib/watch.d.ts +121 -0
- package/dist/src/lib/watch.js +169 -0
- package/dist/src/lib/watch.js.map +1 -0
- package/dist/src/lib/web-url.d.ts +40 -0
- package/dist/src/lib/web-url.js +76 -0
- package/dist/src/lib/web-url.js.map +1 -0
- package/dist/src/lib/workflow-apply.d.ts +110 -0
- package/dist/src/lib/workflow-apply.js +164 -0
- package/dist/src/lib/workflow-apply.js.map +1 -0
- package/dist/src/lib/workflow-codegen/generated-schema-descriptor.d.ts +129 -0
- package/dist/src/lib/workflow-codegen/generated-schema-descriptor.js +269 -0
- package/dist/src/lib/workflow-codegen/generated-schema-descriptor.js.map +1 -0
- package/dist/src/lib/workflow-codegen/generator.d.ts +96 -0
- package/dist/src/lib/workflow-codegen/generator.js +361 -0
- package/dist/src/lib/workflow-codegen/generator.js.map +1 -0
- package/dist/src/lib/workflow-codegen/invokerIR.d.ts +94 -0
- package/dist/src/lib/workflow-codegen/invokerIR.js +76 -0
- package/dist/src/lib/workflow-codegen/invokerIR.js.map +1 -0
- package/dist/src/lib/workflow-codegen/naming.d.ts +33 -0
- package/dist/src/lib/workflow-codegen/naming.js +81 -0
- package/dist/src/lib/workflow-codegen/naming.js.map +1 -0
- package/dist/src/lib/workflow-codegen/schemaToTs.d.ts +80 -0
- package/dist/src/lib/workflow-codegen/schemaToTs.js +303 -0
- package/dist/src/lib/workflow-codegen/schemaToTs.js.map +1 -0
- package/dist/src/lib/workflow-config-apply.d.ts +70 -0
- package/dist/src/lib/workflow-config-apply.js +137 -0
- package/dist/src/lib/workflow-config-apply.js.map +1 -0
- package/dist/src/lib/workflow-config-sidecar.d.ts +63 -0
- package/dist/src/lib/workflow-config-sidecar.js +96 -0
- package/dist/src/lib/workflow-config-sidecar.js.map +1 -0
- package/dist/src/lib/workflow-defaults.d.ts +29 -0
- package/dist/src/lib/workflow-defaults.js +41 -0
- package/dist/src/lib/workflow-defaults.js.map +1 -0
- package/dist/src/lib/workflow-field-descriptor.d.ts +91 -0
- package/dist/src/lib/workflow-field-descriptor.js +153 -0
- package/dist/src/lib/workflow-field-descriptor.js.map +1 -0
- package/dist/src/lib/workflow-fragments.d.ts +64 -0
- package/dist/src/lib/workflow-fragments.js +342 -0
- package/dist/src/lib/workflow-fragments.js.map +1 -0
- package/dist/src/lib/workflow-include-preserve.d.ts +76 -0
- package/dist/src/lib/workflow-include-preserve.js +286 -0
- package/dist/src/lib/workflow-include-preserve.js.map +1 -0
- package/dist/src/lib/workflow-payload.d.ts +98 -0
- package/dist/src/lib/workflow-payload.js +178 -0
- package/dist/src/lib/workflow-payload.js.map +1 -0
- package/dist/src/lib/workflow-toml-validator.d.ts +207 -0
- package/dist/src/lib/workflow-toml-validator.js +762 -0
- package/dist/src/lib/workflow-toml-validator.js.map +1 -0
- package/dist/src/lib/workflow-usage.d.ts +198 -0
- package/dist/src/lib/workflow-usage.js +312 -0
- package/dist/src/lib/workflow-usage.js.map +1 -0
- package/dist/src/types/index.d.ts +591 -0
- package/dist/src/validators.d.ts +65 -0
- package/dist/src/validators.js +64 -0
- package/dist/src/validators.js.map +1 -0
- package/package.json +34 -9
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED FILE — DO NOT EDIT BY HAND.
|
|
3
|
+
*
|
|
4
|
+
* Vendored byte-for-byte from the canonical server module
|
|
5
|
+
* `src/app-api/controllers/operation-definition-descriptor.ts` — the SAME
|
|
6
|
+
* allow-lists the server validator (`validateDefinition` / `validateParams`)
|
|
7
|
+
* enforces. The client operation-definition types
|
|
8
|
+
* (`src/client/api/operationDefinition.ts`) hand-author the matching union;
|
|
9
|
+
* a key-parity test compares them against this committed copy.
|
|
10
|
+
*
|
|
11
|
+
* Regenerate with:
|
|
12
|
+
* node cli/scripts/gen-operation-def-descriptor.mjs (runs at CLI prebuild)
|
|
13
|
+
*
|
|
14
|
+
* A CI freshness guard
|
|
15
|
+
* (`cli/scripts/gen-operation-def-descriptor.mjs --check`, also asserted by
|
|
16
|
+
* `cli/tests/unit/operation-def-descriptor-drift-guard.test.ts`) fails if
|
|
17
|
+
* this committed copy does not match the source — see issue #1544 / #1442.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Canonical, dependency-free descriptor of the database operation-definition
|
|
21
|
+
* schema (issue #1544).
|
|
22
|
+
*
|
|
23
|
+
* The server validator (`validateDefinition` / `validateParams` in
|
|
24
|
+
* `database-type-operations-controller.ts`) and the CLIENT operation-definition
|
|
25
|
+
* types (`src/client/api/operationDefinition.ts`, consumed by
|
|
26
|
+
* `createOperation` / `updateOperation` / `DatabaseOperationInfo`) must agree on
|
|
27
|
+
* the set of operation types and the allowed keys for each definition shape —
|
|
28
|
+
* otherwise a hand-authored `OperationDefinition` member promises a key the
|
|
29
|
+
* runtime rejects (or omits one the runtime accepts).
|
|
30
|
+
*
|
|
31
|
+
* This module is the single source of that declarative contract: the op-type
|
|
32
|
+
* list, the per-type allowed definition-key sets, the per-type mutation/action
|
|
33
|
+
* op-name enums, and the param-schema key/type enums. The validator imports
|
|
34
|
+
* these constants directly (so a change here changes what the server enforces),
|
|
35
|
+
* and the CLI vendors a byte-for-byte copy as a committed artifact via
|
|
36
|
+
* `cli/scripts/gen-operation-def-descriptor.mjs` (the #1442 workflow
|
|
37
|
+
* schema-descriptor pattern). A drift-guard test runs that generator in
|
|
38
|
+
* `--check` mode, and a key-parity test asserts the hand-authored client type
|
|
39
|
+
* members' keys equal the corresponding allow-lists here — so the validator and
|
|
40
|
+
* the client types can never silently diverge. The CLI never imports server
|
|
41
|
+
* `src/` at runtime; only the build-time generator reads this file.
|
|
42
|
+
*
|
|
43
|
+
* The value-shape checks that are NOT purely declarative (requiredness, nested
|
|
44
|
+
* object structure, CEL parsing) stay imperative in the validator. This
|
|
45
|
+
* descriptor captures the declarative allow-lists — the part that is genuinely
|
|
46
|
+
* shared between the runtime boundary and the descriptive client types.
|
|
47
|
+
*
|
|
48
|
+
* Ordering is significant: the validator joins these arrays into its 400-level
|
|
49
|
+
* error messages (`Must be one of: ${X.join(", ")}`), so reordering an array
|
|
50
|
+
* changes an error string. Keep entries in their current order.
|
|
51
|
+
*/
|
|
52
|
+
/** The operation `type` values accepted by `createOperation` / `updateOperation`. */
|
|
53
|
+
export const OPERATION_TYPES = [
|
|
54
|
+
"query",
|
|
55
|
+
"mutation",
|
|
56
|
+
"count",
|
|
57
|
+
"aggregate",
|
|
58
|
+
"pipeline",
|
|
59
|
+
"applyToQuery",
|
|
60
|
+
];
|
|
61
|
+
// ── Per-type definition key allow-lists ──
|
|
62
|
+
/** Allowed top-level keys in a `query` definition. `cache` (#1247) is query-only. */
|
|
63
|
+
export const QUERY_DEF_KEYS = [
|
|
64
|
+
"filter",
|
|
65
|
+
"sort",
|
|
66
|
+
"limit",
|
|
67
|
+
"projection",
|
|
68
|
+
"include",
|
|
69
|
+
"cache",
|
|
70
|
+
];
|
|
71
|
+
/** Allowed top-level keys in a `mutation` definition. */
|
|
72
|
+
export const MUTATION_DEF_KEYS = ["operations"];
|
|
73
|
+
/** Allowed top-level keys in a `count` definition. */
|
|
74
|
+
export const COUNT_DEF_KEYS = ["filter"];
|
|
75
|
+
/** Allowed top-level keys in an `aggregate` definition. */
|
|
76
|
+
export const AGGREGATE_DEF_KEYS = [
|
|
77
|
+
"groupBy",
|
|
78
|
+
"operations",
|
|
79
|
+
"filter",
|
|
80
|
+
"limit",
|
|
81
|
+
"sort",
|
|
82
|
+
];
|
|
83
|
+
/** Allowed top-level keys in a `pipeline` definition. */
|
|
84
|
+
export const PIPELINE_DEF_KEYS = ["steps", "return"];
|
|
85
|
+
/** Allowed top-level keys in an `applyToQuery` definition. */
|
|
86
|
+
export const APPLY_TO_QUERY_DEF_KEYS = ["source", "action"];
|
|
87
|
+
// ── Op-name enums nested inside definitions ──
|
|
88
|
+
/** Mutation op names allowed in a `mutation` definition's `operations[]`. */
|
|
89
|
+
export const MUTATION_OPS = [
|
|
90
|
+
"save",
|
|
91
|
+
"patch",
|
|
92
|
+
"delete",
|
|
93
|
+
"increment",
|
|
94
|
+
"addToSet",
|
|
95
|
+
"removeFromSet",
|
|
96
|
+
];
|
|
97
|
+
/**
|
|
98
|
+
* Aggregate op `type` names allowed in an `aggregate` definition's
|
|
99
|
+
* `operations[]`.
|
|
100
|
+
*/
|
|
101
|
+
export const AGGREGATE_OP_TYPES = [
|
|
102
|
+
"count",
|
|
103
|
+
"sum",
|
|
104
|
+
"avg",
|
|
105
|
+
"min",
|
|
106
|
+
"max",
|
|
107
|
+
];
|
|
108
|
+
/**
|
|
109
|
+
* Allowed keys on a single nested aggregate op (an entry in an `aggregate`
|
|
110
|
+
* definition's `operations[]`, and in a pipeline `aggregate` step's
|
|
111
|
+
* `operations[]`). Only `type` and `field` are honored by the runtime — the
|
|
112
|
+
* aggregate SELECT always aliases columns to the fixed output names
|
|
113
|
+
* (`count` / `<type>_<field>`), so there is no supported way to rename an
|
|
114
|
+
* output. `outputField` was historically accepted here but read by no code
|
|
115
|
+
* (issue #1767); any key outside this list is now rejected at registration so
|
|
116
|
+
* dead config can't be silently stored.
|
|
117
|
+
*/
|
|
118
|
+
export const AGGREGATE_OP_KEYS = ["type", "field"];
|
|
119
|
+
/**
|
|
120
|
+
* `applyToQuery` action ops. Only mutation ops that operate on existing matched
|
|
121
|
+
* records — `save` is excluded because it makes no sense in a find-and-mutate
|
|
122
|
+
* flow.
|
|
123
|
+
*/
|
|
124
|
+
export const APPLY_TO_QUERY_ACTIONS = [
|
|
125
|
+
"delete",
|
|
126
|
+
"patch",
|
|
127
|
+
"increment",
|
|
128
|
+
"addToSet",
|
|
129
|
+
"removeFromSet",
|
|
130
|
+
];
|
|
131
|
+
/** Allowed keys in an `applyToQuery` `source` block. */
|
|
132
|
+
export const APPLY_TO_QUERY_SOURCE_KEYS = [
|
|
133
|
+
"filter",
|
|
134
|
+
"sort",
|
|
135
|
+
"limit",
|
|
136
|
+
];
|
|
137
|
+
/** Allowed keys in an `applyToQuery` `action` block. */
|
|
138
|
+
export const APPLY_TO_QUERY_ACTION_KEYS = [
|
|
139
|
+
"op",
|
|
140
|
+
"data",
|
|
141
|
+
"fields",
|
|
142
|
+
"stringSets",
|
|
143
|
+
];
|
|
144
|
+
// ── Pipeline step allow-lists ──
|
|
145
|
+
/** Step `type` values allowed inside a `pipeline` definition's `steps[]`. */
|
|
146
|
+
export const PIPELINE_STEP_TYPES = [
|
|
147
|
+
"query",
|
|
148
|
+
"count",
|
|
149
|
+
"aggregate",
|
|
150
|
+
];
|
|
151
|
+
/** Allowed keys on a pipeline `query` step. */
|
|
152
|
+
export const PIPELINE_QUERY_STEP_KEYS = [
|
|
153
|
+
"name",
|
|
154
|
+
"type",
|
|
155
|
+
"modelName",
|
|
156
|
+
"filter",
|
|
157
|
+
"sort",
|
|
158
|
+
"limit",
|
|
159
|
+
"projection",
|
|
160
|
+
"include",
|
|
161
|
+
];
|
|
162
|
+
/** Allowed keys on a pipeline `count` step. */
|
|
163
|
+
export const PIPELINE_COUNT_STEP_KEYS = [
|
|
164
|
+
"name",
|
|
165
|
+
"type",
|
|
166
|
+
"modelName",
|
|
167
|
+
"filter",
|
|
168
|
+
];
|
|
169
|
+
/** Allowed keys on a pipeline `aggregate` step. */
|
|
170
|
+
export const PIPELINE_AGGREGATE_STEP_KEYS = [
|
|
171
|
+
"name",
|
|
172
|
+
"type",
|
|
173
|
+
"modelName",
|
|
174
|
+
"groupBy",
|
|
175
|
+
"operations",
|
|
176
|
+
"filter",
|
|
177
|
+
"limit",
|
|
178
|
+
"sort",
|
|
179
|
+
];
|
|
180
|
+
// ── Param-schema enums ──
|
|
181
|
+
/**
|
|
182
|
+
* Built-in param types. `integer` (#1488) is accepted here and by the runtime
|
|
183
|
+
* coercion path. `array` (#1488) declares a list param with a scalar `items`
|
|
184
|
+
* element type. Keep in step with the runtime coercion list
|
|
185
|
+
* (`MODEL_PARAM_SCALAR_TYPES` in `database-operations-controller.ts`).
|
|
186
|
+
*/
|
|
187
|
+
export const PARAM_TYPES = [
|
|
188
|
+
"string",
|
|
189
|
+
"number",
|
|
190
|
+
"boolean",
|
|
191
|
+
"integer",
|
|
192
|
+
"object",
|
|
193
|
+
"array",
|
|
194
|
+
];
|
|
195
|
+
/** Scalar element types allowed for an `array` param's `items` (#1488). */
|
|
196
|
+
export const ARRAY_ELEMENT_TYPES = [
|
|
197
|
+
"string",
|
|
198
|
+
"number",
|
|
199
|
+
"boolean",
|
|
200
|
+
"integer",
|
|
201
|
+
];
|
|
202
|
+
/** Allowed keys in a single param definition. */
|
|
203
|
+
export const PARAM_DEF_KEYS = [
|
|
204
|
+
"type",
|
|
205
|
+
"required",
|
|
206
|
+
"access",
|
|
207
|
+
"coerce",
|
|
208
|
+
"enum",
|
|
209
|
+
"items",
|
|
210
|
+
];
|
|
211
|
+
//# sourceMappingURL=generated-operation-def-descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-operation-def-descriptor.js","sourceRoot":"","sources":["../../../../src/lib/db-codegen/generated-operation-def-descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,qFAAqF;AACrF,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,OAAO;IACP,UAAU;IACV,OAAO;IACP,WAAW;IACX,UAAU;IACV,cAAc;CACf,CAAC;AAEF,4CAA4C;AAE5C,qFAAqF;AACrF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,QAAQ;IACR,MAAM;IACN,OAAO;IACP,YAAY;IACZ,SAAS;IACT,OAAO;CACR,CAAC;AAEF,yDAAyD;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAsB,CAAC,YAAY,CAAC,CAAC;AAEnE,sDAAsD;AACtD,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,QAAQ,CAAC,CAAC;AAE5D,2DAA2D;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,OAAO;IACP,MAAM;CACP,CAAC;AAEF,yDAAyD;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAExE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAE/E,gDAAgD;AAEhD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C,MAAM;IACN,OAAO;IACP,QAAQ;IACR,WAAW;IACX,UAAU;IACV,eAAe;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,QAAQ;IACR,OAAO;IACP,WAAW;IACX,UAAU;IACV,eAAe;CAChB,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,0BAA0B,GAAsB;IAC3D,QAAQ;IACR,MAAM;IACN,OAAO;CACR,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,0BAA0B,GAAsB;IAC3D,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,YAAY;CACb,CAAC;AAEF,kCAAkC;AAElC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,OAAO;IACP,OAAO;IACP,WAAW;CACZ,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,MAAM;IACN,MAAM;IACN,WAAW;IACX,QAAQ;IACR,MAAM;IACN,OAAO;IACP,YAAY;IACZ,SAAS;CACV,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,MAAM;IACN,MAAM;IACN,WAAW;IACX,QAAQ;CACT,CAAC;AAEF,mDAAmD;AACnD,MAAM,CAAC,MAAM,4BAA4B,GAAsB;IAC7D,MAAM;IACN,MAAM;IACN,WAAW;IACX,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,OAAO;IACP,MAAM;CACP,CAAC;AAEF,2BAA2B;AAE3B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;CACR,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;CACV,CAAC;AAEF,iDAAiD;AACjD,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,MAAM;IACN,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;CACR,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `permissions.json` rows `primitive documents export` writes.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from `exportSingleDocument` (#2951) so the shape change it went
|
|
5
|
+
* through is testable without a server. The export used to merge the legacy
|
|
6
|
+
* `GET /documents/:id/invitations` array — filtering `accepted` and
|
|
7
|
+
* `expiresAt` client-side — into the permission rows. That route is removed;
|
|
8
|
+
* pending entries now come from `GET /documents/:id/pending-invitations`,
|
|
9
|
+
* which returns a `{ items }` envelope of deferred grants the server has
|
|
10
|
+
* already filtered down to unresolved, unexpired, still-invited ones.
|
|
11
|
+
*
|
|
12
|
+
* The export tolerates the pending read failing (an older server answers 403
|
|
13
|
+
* or 404): the caller swallows the error and passes `null`, and the export
|
|
14
|
+
* still writes the permission rows.
|
|
15
|
+
*/
|
|
16
|
+
export interface ExportedPermissionRow {
|
|
17
|
+
email: string;
|
|
18
|
+
permission: string;
|
|
19
|
+
grantedAt?: string;
|
|
20
|
+
source?: "invitation";
|
|
21
|
+
status?: "pending";
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Merge a document's permission rows and its pending deferred grants into the
|
|
25
|
+
* single email-keyed list `permissions.json` carries.
|
|
26
|
+
*
|
|
27
|
+
* @param permissionsResponse - `GET /documents/:id/permissions`, or `null` when the read failed.
|
|
28
|
+
* @param pendingResponse - `GET /documents/:id/pending-invitations`, or `null` when the read failed.
|
|
29
|
+
*/
|
|
30
|
+
export declare function buildPermissionsExport(permissionsResponse: unknown, pendingResponse: unknown): ExportedPermissionRow[];
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `permissions.json` rows `primitive documents export` writes.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from `exportSingleDocument` (#2951) so the shape change it went
|
|
5
|
+
* through is testable without a server. The export used to merge the legacy
|
|
6
|
+
* `GET /documents/:id/invitations` array — filtering `accepted` and
|
|
7
|
+
* `expiresAt` client-side — into the permission rows. That route is removed;
|
|
8
|
+
* pending entries now come from `GET /documents/:id/pending-invitations`,
|
|
9
|
+
* which returns a `{ items }` envelope of deferred grants the server has
|
|
10
|
+
* already filtered down to unresolved, unexpired, still-invited ones.
|
|
11
|
+
*
|
|
12
|
+
* The export tolerates the pending read failing (an older server answers 403
|
|
13
|
+
* or 404): the caller swallows the error and passes `null`, and the export
|
|
14
|
+
* still writes the permission rows.
|
|
15
|
+
*/
|
|
16
|
+
/** Unwrap a list that may arrive bare, or under `items`, or under a named key. */
|
|
17
|
+
function rows(value, key) {
|
|
18
|
+
if (Array.isArray(value))
|
|
19
|
+
return value;
|
|
20
|
+
if (value && typeof value === "object") {
|
|
21
|
+
const envelope = value;
|
|
22
|
+
for (const candidate of ["items", key]) {
|
|
23
|
+
if (Array.isArray(envelope[candidate]))
|
|
24
|
+
return envelope[candidate];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Merge a document's permission rows and its pending deferred grants into the
|
|
31
|
+
* single email-keyed list `permissions.json` carries.
|
|
32
|
+
*
|
|
33
|
+
* @param permissionsResponse - `GET /documents/:id/permissions`, or `null` when the read failed.
|
|
34
|
+
* @param pendingResponse - `GET /documents/:id/pending-invitations`, or `null` when the read failed.
|
|
35
|
+
*/
|
|
36
|
+
export function buildPermissionsExport(permissionsResponse, pendingResponse) {
|
|
37
|
+
const granted = rows(permissionsResponse, "permissions")
|
|
38
|
+
.filter((p) => p?.email)
|
|
39
|
+
.map((p) => ({
|
|
40
|
+
email: p.email,
|
|
41
|
+
permission: p.permission,
|
|
42
|
+
grantedAt: p.grantedAt,
|
|
43
|
+
}));
|
|
44
|
+
const pending = rows(pendingResponse, "invitations")
|
|
45
|
+
.filter((i) => i?.email)
|
|
46
|
+
.map((i) => ({
|
|
47
|
+
email: i.email,
|
|
48
|
+
permission: i.permission,
|
|
49
|
+
source: "invitation",
|
|
50
|
+
status: "pending",
|
|
51
|
+
}));
|
|
52
|
+
return [...granted, ...pending];
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=document-export-permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-export-permissions.js","sourceRoot":"","sources":["../../../src/lib/document-export-permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,kFAAkF;AAClF,SAAS,IAAI,CAAC,KAAc,EAAE,GAAW;IACvC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,KAAgC,CAAC;QAClD,KAAK,MAAM,SAAS,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAAE,OAAO,QAAQ,CAAC,SAAS,CAAU,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,mBAA4B,EAC5B,eAAwB;IAExB,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC;SACrD,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;SAC5B,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,SAAS,EAAE,CAAC,CAAC,SAAS;KACvB,CAAC,CAAC,CAAC;IAEN,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC;SACjD,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;SAC5B,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,MAAM,EAAE,YAAqB;QAC7B,MAAM,EAAE,SAAkB;KAC3B,CAAC,CAAC,CAAC;IAEN,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shared Primitive environment resolver (#2873).
|
|
3
|
+
*
|
|
4
|
+
* Three surfaces have to agree on which backend/app a project is pointed at:
|
|
5
|
+
* the CLI, the Vue build (`primitive-app`'s `primitiveEnv()` plugin), and the
|
|
6
|
+
* Swift template's pre-build script. This module is the single algorithm they
|
|
7
|
+
* share. The CLI owns it; `packages/primitive-app` carries a byte-identical
|
|
8
|
+
* GENERATED copy (`cli/scripts/gen-primitive-env-resolver.mjs`, checked for
|
|
9
|
+
* freshness by `cli/tests/unit/env-resolver-copy-drift-guard.test.ts`); the
|
|
10
|
+
* Swift script is an independent bash+python3 port pinned by a parity test.
|
|
11
|
+
*
|
|
12
|
+
* ── COPYABILITY (load-bearing) ────────────────────────────────────────────
|
|
13
|
+
* This file MUST stay self-contained: node builtins only, ZERO relative
|
|
14
|
+
* imports. The generator copies it verbatim into a package that cannot depend
|
|
15
|
+
* on the CLI, so any `./x.js` import here would break that copy at runtime.
|
|
16
|
+
* The drift guard asserts this.
|
|
17
|
+
*
|
|
18
|
+
* Scope: config discovery, the schema `version` check, structural validation,
|
|
19
|
+
* the local selection, the precedence, and the http→ws scheme swap. It
|
|
20
|
+
* deliberately does NOT duplicate the CLI's full field-level validation
|
|
21
|
+
* (`validateProjectConfig` in `project-config.ts`) — the CLI wrapper runs that
|
|
22
|
+
* first, and the other readers only need "version understood, shape sane, fail
|
|
23
|
+
* loudly otherwise".
|
|
24
|
+
*
|
|
25
|
+
* Precedence (one order, everywhere):
|
|
26
|
+
* 1. an explicit name (`--env` / `--primitive-env`)
|
|
27
|
+
* 2. PRIMITIVE_ENV (per-invocation intent, keeps CI working)
|
|
28
|
+
* 3. .primitive/local.json (this machine's `primitive env use`)
|
|
29
|
+
* 4. defaultEnvironment (the committed team default)
|
|
30
|
+
* 5. the sole environment, if there is exactly one
|
|
31
|
+
*/
|
|
32
|
+
/** Schema version of `primitive/config.json` this core understands. */
|
|
33
|
+
export declare const PRIMITIVE_CONFIG_VERSION = 1;
|
|
34
|
+
/** Schema version of `.primitive/local.json` this core writes and reads. */
|
|
35
|
+
export declare const PRIMITIVE_LOCAL_STATE_VERSION = 1;
|
|
36
|
+
/**
|
|
37
|
+
* The two directories, split apart by #3153 so one name never means two
|
|
38
|
+
* things: `primitive/` is the COMMITTED tree (the config and every
|
|
39
|
+
* environment's TOML), `.primitive/` is MACHINE-LOCAL state (credentials, this
|
|
40
|
+
* machine's selection, snapshot backups) and is gitignored whole.
|
|
41
|
+
*/
|
|
42
|
+
export declare const PROJECT_TREE_DIR = "primitive";
|
|
43
|
+
export declare const PROJECT_LOCAL_STATE_DIR = ".primitive";
|
|
44
|
+
export declare const PROJECT_CONFIG_FILENAME = "config.json";
|
|
45
|
+
export declare const LOCAL_STATE_FILENAME = "local.json";
|
|
46
|
+
export declare const PROJECT_CONFIG_DISPLAY_NAME = "primitive/config.json";
|
|
47
|
+
export declare const LOCAL_STATE_DISPLAY_NAME = ".primitive/local.json";
|
|
48
|
+
/** The docs-site slug of the migration procedure (#3155 publishes the page). */
|
|
49
|
+
export declare const MIGRATION_GUIDE_SLUG = "getting-started/cli-project-migration";
|
|
50
|
+
/**
|
|
51
|
+
* The one refusal for a project still holding the pre-#3153 layout.
|
|
52
|
+
*
|
|
53
|
+
* There is no fallback read: a tool that quietly read `.primitive/sync/` after
|
|
54
|
+
* the move would let a half-migrated project look healthy while push and pull
|
|
55
|
+
* disagreed about which tree is the truth. So every reader — this core, the
|
|
56
|
+
* generated Vite-plugin copy, the Swift pre-build script — stops here and names
|
|
57
|
+
* the document that says what to move where.
|
|
58
|
+
*/
|
|
59
|
+
export declare function staleLayoutMessage(detail: string): string;
|
|
60
|
+
/**
|
|
61
|
+
* The one refusal for a command run outside a Primitive project (#3154,
|
|
62
|
+
* intent criterion 5).
|
|
63
|
+
*
|
|
64
|
+
* There is exactly one way to resolve the configuration tree, the credentials
|
|
65
|
+
* and the app: the environment named by `primitive/config.json`. Outside a
|
|
66
|
+
* project there is no such thing, and the CLI says so once, in these words,
|
|
67
|
+
* wherever the question is asked — the resolver core, the CLI's
|
|
68
|
+
* `requireCurrentEnvironment()`, and the credentials store.
|
|
69
|
+
*
|
|
70
|
+
* Two constraints on the wording, both test-asserted:
|
|
71
|
+
*
|
|
72
|
+
* - it names `primitive init`, the one command that creates what is missing;
|
|
73
|
+
* - it never names `primitive env add`, which after this change also fails
|
|
74
|
+
* outside a project — an error may only offer an invocation it does not
|
|
75
|
+
* itself block.
|
|
76
|
+
*/
|
|
77
|
+
export declare function missingConfigMessage(where: string): string;
|
|
78
|
+
/**
|
|
79
|
+
* Error kinds callers branch on. Every failure is one of these — no reader is
|
|
80
|
+
* ever left guessing what a broken config meant.
|
|
81
|
+
*/
|
|
82
|
+
export type PrimitiveEnvErrorKind = "missing-config" | "malformed-config" | "unsupported-version" | "corrupt-local-state" | "unknown-environment" | "no-selection" | "missing-app-id" | "stale-layout";
|
|
83
|
+
export declare class PrimitiveEnvError extends Error {
|
|
84
|
+
readonly kind: PrimitiveEnvErrorKind;
|
|
85
|
+
readonly path?: string;
|
|
86
|
+
constructor(kind: PrimitiveEnvErrorKind, message: string, path?: string);
|
|
87
|
+
}
|
|
88
|
+
export interface CoreEnvironmentEntry {
|
|
89
|
+
apiUrl: string;
|
|
90
|
+
/**
|
|
91
|
+
* The one app this environment names (#3152). Required: selecting an
|
|
92
|
+
* environment selects exactly one app, so there is no per-machine "current
|
|
93
|
+
* app" for a second reader to disagree with.
|
|
94
|
+
*/
|
|
95
|
+
appId: string;
|
|
96
|
+
appName?: string;
|
|
97
|
+
/**
|
|
98
|
+
* The app's web counterpart for this environment, as a normalized origin
|
|
99
|
+
* (#2982). Read through `normalizeWebOrigin`, so a value this reader carries
|
|
100
|
+
* is always an origin — see that function for why the typed read other
|
|
101
|
+
* fields get is not enough here.
|
|
102
|
+
*/
|
|
103
|
+
webUrl?: string;
|
|
104
|
+
description?: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* The app's web counterpart as a normalized ORIGIN, or undefined when the
|
|
108
|
+
* value cannot be one (#2982).
|
|
109
|
+
*
|
|
110
|
+
* Unlike `appId`/`appName`, a typed read is not enough. This value is not
|
|
111
|
+
* merely carried: the Swift app points its emailed sign-in link at
|
|
112
|
+
* `<webUrl>/oauth/callback` and trusts incoming universal links from the same
|
|
113
|
+
* origin, and BOTH jobs need an origin —
|
|
114
|
+
*
|
|
115
|
+
* - https except loopback, the rule the server applies to every redirect URI
|
|
116
|
+
* (`src/auth/redirect-uri.ts`): an origin that cannot be allow-listed turns
|
|
117
|
+
* every sign-in request into a 400, and a plain-http link would carry the
|
|
118
|
+
* magic token in clear;
|
|
119
|
+
* - no path, query or fragment: the web client serves its callback on its own
|
|
120
|
+
* origin plus `/oauth/callback`, which is also the exact path the
|
|
121
|
+
* `apple-app-site-association` component claims;
|
|
122
|
+
* - no credentials, which have no business in a link that goes out by email.
|
|
123
|
+
*
|
|
124
|
+
* `primitive env add --web-url` and the project-config validation reject those
|
|
125
|
+
* shapes with a field-named error, but neither is on the path from a
|
|
126
|
+
* hand-edited `.primitive/config.json` to an Xcode build: the Swift template's
|
|
127
|
+
* pre-build script reads the file directly. So every reader that feeds
|
|
128
|
+
* `primitive.json` applies the contract, and a value that misses it is read as
|
|
129
|
+
* "this environment has no web counterpart" — code-only email, no trusted
|
|
130
|
+
* origin, nothing silently pointed at the wrong URL.
|
|
131
|
+
*
|
|
132
|
+
* The message-producing twin of this rule lives in `cli/src/lib/web-url.ts`;
|
|
133
|
+
* this file cannot import it (see COPYABILITY above), and a test pins that the
|
|
134
|
+
* two agree.
|
|
135
|
+
*/
|
|
136
|
+
export declare function normalizeWebOrigin(value: unknown): string | undefined;
|
|
137
|
+
/**
|
|
138
|
+
* The one remedy for an environment that names no app (#3152), shared by every
|
|
139
|
+
* reader that can hit it: this core, the CLI's `validateProjectConfig`, the
|
|
140
|
+
* Swift template's pre-build script, and the Vue template's cf-deploy.
|
|
141
|
+
*
|
|
142
|
+
* Two constraints on the wording, both test-asserted:
|
|
143
|
+
*
|
|
144
|
+
* - it never says `primitive env add <name>`, which REFUSES an environment
|
|
145
|
+
* name that already exists — the shape this error is always about;
|
|
146
|
+
* - it names no command the failure itself blocks. The CLI validates the
|
|
147
|
+
* project config before any command parses, so every `primitive` command
|
|
148
|
+
* run inside the broken project fails with this same error. The only
|
|
149
|
+
* invocation it may offer is one it says out loud to run elsewhere.
|
|
150
|
+
*/
|
|
151
|
+
export declare function missingAppIdMessage(name: string, configPath?: string): string;
|
|
152
|
+
export interface CoreProjectConfig {
|
|
153
|
+
version: number;
|
|
154
|
+
defaultEnvironment?: string;
|
|
155
|
+
environments: Record<string, CoreEnvironmentEntry>;
|
|
156
|
+
}
|
|
157
|
+
/** Which precedence step picked the environment. Printed in the build banner. */
|
|
158
|
+
export type PrimitiveEnvSource = "explicit" | "env-var" | "local" | "default" | "sole";
|
|
159
|
+
export interface ResolvedPrimitiveEnv {
|
|
160
|
+
name: string;
|
|
161
|
+
apiUrl: string;
|
|
162
|
+
/** Derived from apiUrl by scheme swap — never authored separately. */
|
|
163
|
+
wsUrl: string;
|
|
164
|
+
/** The app this environment names. Always present — see #3152. */
|
|
165
|
+
appId: string;
|
|
166
|
+
appName?: string;
|
|
167
|
+
/** The app's web counterpart for the SELECTED environment, if it has one. */
|
|
168
|
+
webUrl?: string;
|
|
169
|
+
description?: string;
|
|
170
|
+
source: PrimitiveEnvSource;
|
|
171
|
+
configPath: string;
|
|
172
|
+
localStatePath: string;
|
|
173
|
+
projectRoot: string;
|
|
174
|
+
}
|
|
175
|
+
export interface ResolveOptions {
|
|
176
|
+
/** Directory to start the upward walk from. Defaults to process.cwd(). */
|
|
177
|
+
cwd?: string;
|
|
178
|
+
/** Environment variables to read. Defaults to process.env. */
|
|
179
|
+
env?: Record<string, string | undefined>;
|
|
180
|
+
/** An explicit `--env` / `--primitive-env` value, if the caller has one. */
|
|
181
|
+
explicitEnvName?: string | null;
|
|
182
|
+
/** Use this config file instead of discovering one. */
|
|
183
|
+
configPath?: string;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Derives the WebSocket URL from the API URL. Every apiUrl/wsUrl pair in
|
|
187
|
+
* practice is the same host with the scheme swapped, so it is derived rather
|
|
188
|
+
* than authored — one less thing to get out of sync.
|
|
189
|
+
*/
|
|
190
|
+
export declare function deriveWsUrl(apiUrl: string): string;
|
|
191
|
+
/**
|
|
192
|
+
* Finds `primitive/config.json` by walking up from `cwd`, or returns the
|
|
193
|
+
* PRIMITIVE_PROJECT_CONFIG override when it is set (and exists).
|
|
194
|
+
*
|
|
195
|
+
* The override is checked for provenance BEFORE the file is read (#3153, F2):
|
|
196
|
+
* it bypasses the walk, so without this an old-layout config could be handed
|
|
197
|
+
* straight to a reader and defeat the cutover.
|
|
198
|
+
*
|
|
199
|
+
* Every return is checked against the root it implies, not just the levels the
|
|
200
|
+
* walk passed through: this is the one function every reader goes through —
|
|
201
|
+
* `resolvePrimitiveEnv` and the CLI's own `loadProjectConfig`/`findProjectRoot`
|
|
202
|
+
* alike — so a half-migrated project must be refused HERE, or the commands that
|
|
203
|
+
* never call `resolvePrimitiveEnv` would read the new tree with the old one
|
|
204
|
+
* still beside it.
|
|
205
|
+
*/
|
|
206
|
+
export declare function findPrimitiveConfigPath(options?: {
|
|
207
|
+
cwd?: string;
|
|
208
|
+
env?: Record<string, string | undefined>;
|
|
209
|
+
}): string | null;
|
|
210
|
+
/**
|
|
211
|
+
* The project root for a config path: the parent of `primitive/`, or the
|
|
212
|
+
* containing directory when the config was pointed at directly (a fixture via
|
|
213
|
+
* PRIMITIVE_PROJECT_CONFIG, which is not inside a `primitive/` directory).
|
|
214
|
+
*/
|
|
215
|
+
export declare function projectRootForConfigPath(configPath: string): string;
|
|
216
|
+
/**
|
|
217
|
+
* Machine-local state lives under the project root's `.primitive/`, not beside
|
|
218
|
+
* the config — the config is committed now, and the two must not share a
|
|
219
|
+
* directory. A fixture-pointed bare config still gets its own `.primitive/`
|
|
220
|
+
* in its own directory, so it never picks up a real project's selection.
|
|
221
|
+
*/
|
|
222
|
+
export declare function localStatePathForConfigPath(configPath: string): string;
|
|
223
|
+
/**
|
|
224
|
+
* Reads and structurally validates `.primitive/config.json`. Throws rather
|
|
225
|
+
* than guessing: a config that cannot be understood is always louder than a
|
|
226
|
+
* silent fallback to the wrong backend.
|
|
227
|
+
*/
|
|
228
|
+
export declare function readCoreProjectConfig(configPath: string): CoreProjectConfig;
|
|
229
|
+
/**
|
|
230
|
+
* Reads this machine's selection from `.primitive/local.json`. Returns null
|
|
231
|
+
* when there is no file or no selection in it; throws when the file exists but
|
|
232
|
+
* cannot be read as the shape `primitive env use` writes.
|
|
233
|
+
*/
|
|
234
|
+
export declare function readLocalSelection(configPath: string): string | null;
|
|
235
|
+
/**
|
|
236
|
+
* Applies the precedence to an already-loaded config. Exposed separately so
|
|
237
|
+
* the CLI wrapper can run its own field-level validation first and still share
|
|
238
|
+
* one ordering with every other reader.
|
|
239
|
+
*/
|
|
240
|
+
export declare function selectEnvironmentName(config: CoreProjectConfig, options: {
|
|
241
|
+
explicitEnvName?: string | null;
|
|
242
|
+
envVarName?: string | null;
|
|
243
|
+
localSelection?: string | null;
|
|
244
|
+
configPath?: string;
|
|
245
|
+
}): {
|
|
246
|
+
name: string;
|
|
247
|
+
source: PrimitiveEnvSource;
|
|
248
|
+
};
|
|
249
|
+
/**
|
|
250
|
+
* The whole algorithm end to end: discover the config, read the selection,
|
|
251
|
+
* apply the precedence, derive the WebSocket URL.
|
|
252
|
+
*/
|
|
253
|
+
export declare function resolvePrimitiveEnv(options?: ResolveOptions): ResolvedPrimitiveEnv;
|