primitive-admin 1.1.0-alpha.9 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +523 -109
- package/assets/skill/skills/primitive-platform/SKILL.md +289 -0
- package/dist/bin/primitive.d.ts +2 -0
- package/dist/bin/primitive.js +372 -21
- package/dist/bin/primitive.js.map +1 -1
- package/dist/src/commands/admins.d.ts +2 -0
- package/dist/src/commands/admins.js +136 -30
- package/dist/src/commands/admins.js.map +1 -1
- package/dist/src/commands/analytics.d.ts +2 -0
- package/dist/src/commands/analytics.js +713 -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 +65 -100
- package/dist/src/commands/apps.js.map +1 -1
- package/dist/src/commands/auth-sessions.d.ts +7 -0
- package/dist/src/commands/auth-sessions.js +144 -0
- package/dist/src/commands/auth-sessions.js.map +1 -0
- package/dist/src/commands/auth.d.ts +2 -0
- package/dist/src/commands/auth.js +238 -108
- 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 +331 -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 +63 -48
- 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 +85 -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 +1282 -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 +99 -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 +266 -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 +164 -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 +471 -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 +1887 -243
- package/dist/src/commands/databases.js.map +1 -1
- package/dist/src/commands/documents.d.ts +60 -0
- package/dist/src/commands/documents.js +2888 -22
- 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 +175 -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 +395 -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 +117 -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 +1630 -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 +87 -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 +65 -113
- package/dist/src/commands/groups.js.map +1 -1
- package/dist/src/commands/guides.d.ts +223 -0
- package/dist/src/commands/guides.js +627 -69
- 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 +428 -187
- package/dist/src/commands/integrations.js.map +1 -1
- package/dist/src/commands/llm.d.ts +2 -0
- package/dist/src/commands/llm.js +4 -2
- package/dist/src/commands/llm.js.map +1 -1
- package/dist/src/commands/locks.d.ts +8 -0
- package/dist/src/commands/locks.js +175 -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 +113 -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 +288 -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 +322 -634
- 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 +139 -148
- 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 +688 -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 +109 -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 +76 -0
- package/dist/src/commands/sessions.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 +2670 -0
- package/dist/src/commands/sync.js +17144 -834
- package/dist/src/commands/sync.js.map +1 -1
- package/dist/src/commands/tokens.d.ts +2 -0
- package/dist/src/commands/tokens.js +132 -22
- package/dist/src/commands/tokens.js.map +1 -1
- package/dist/src/commands/users.d.ts +2 -0
- package/dist/src/commands/users.js +542 -24
- package/dist/src/commands/users.js.map +1 -1
- package/dist/src/commands/vars.d.ts +8 -0
- package/dist/src/commands/vars.js +97 -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 +12 -11
- package/dist/src/commands/waitlist.js.map +1 -1
- package/dist/src/commands/webhooks.d.ts +31 -0
- package/dist/src/commands/webhooks.js +633 -0
- package/dist/src/commands/webhooks.js.map +1 -0
- package/dist/src/commands/workflows.d.ts +88 -0
- package/dist/src/commands/workflows.js +1568 -742
- 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 +2550 -0
- package/dist/src/lib/api-client.js +2503 -160
- package/dist/src/lib/api-client.js.map +1 -1
- package/dist/src/lib/app-settings-descriptor.d.ts +263 -0
- package/dist/src/lib/app-settings-descriptor.js +583 -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/collection-export.d.ts +184 -0
- package/dist/src/lib/collection-export.js +252 -0
- package/dist/src/lib/collection-export.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 +740 -0
- package/dist/src/lib/config-object-descriptor.js.map +1 -0
- package/dist/src/lib/config-payload.d.ts +92 -0
- package/dist/src/lib/config-payload.js +161 -0
- package/dist/src/lib/config-payload.js.map +1 -0
- package/dist/src/lib/config-surface.d.ts +141 -0
- package/dist/src/lib/config-surface.js +368 -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 +525 -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/deprecation.d.ts +22 -0
- package/dist/src/lib/deprecation.js +43 -0
- package/dist/src/lib/deprecation.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/document-ingest-artifact.d.ts +120 -0
- package/dist/src/lib/document-ingest-artifact.js +505 -0
- package/dist/src/lib/document-ingest-artifact.js.map +1 -0
- package/dist/src/lib/document-ingest-input.d.ts +51 -0
- package/dist/src/lib/document-ingest-input.js +132 -0
- package/dist/src/lib/document-ingest-input.js.map +1 -0
- package/dist/src/lib/document-ingest-rows.d.ts +137 -0
- package/dist/src/lib/document-ingest-rows.js +181 -0
- package/dist/src/lib/document-ingest-rows.js.map +1 -0
- package/dist/src/lib/document-ingest.d.ts +101 -0
- package/dist/src/lib/document-ingest.js +384 -0
- package/dist/src/lib/document-ingest.js.map +1 -0
- package/dist/src/lib/env-resolver-core.d.ts +258 -0
- package/dist/src/lib/env-resolver-core.js +447 -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 +147 -0
- package/dist/src/lib/function-bundle.js +341 -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 +610 -0
- package/dist/src/lib/function-collect.js.map +1 -0
- package/dist/src/lib/function-db-types.d.ts +202 -0
- package/dist/src/lib/function-db-types.js +870 -0
- package/dist/src/lib/function-db-types.js.map +1 -0
- package/dist/src/lib/function-document-types.d.ts +144 -0
- package/dist/src/lib/function-document-types.js +370 -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 +105 -0
- package/dist/src/lib/function-grants-preflight.js.map +1 -0
- package/dist/src/lib/function-log-lines.d.ts +76 -0
- package/dist/src/lib/function-log-lines.js +160 -0
- package/dist/src/lib/function-log-lines.js.map +1 -0
- package/dist/src/lib/function-log-row.d.ts +29 -0
- package/dist/src/lib/function-log-row.js +73 -0
- package/dist/src/lib/function-log-row.js.map +1 -0
- package/dist/src/lib/function-log-tail.d.ts +132 -0
- package/dist/src/lib/function-log-tail.js +262 -0
- package/dist/src/lib/function-log-tail.js.map +1 -0
- package/dist/src/lib/function-run.d.ts +289 -0
- package/dist/src/lib/function-run.js +389 -0
- package/dist/src/lib/function-run.js.map +1 -0
- package/dist/src/lib/function-schema-codegen.d.ts +143 -0
- package/dist/src/lib/function-schema-codegen.js +420 -0
- package/dist/src/lib/function-schema-codegen.js.map +1 -0
- package/dist/src/lib/function-sync.d.ts +459 -0
- package/dist/src/lib/function-sync.js +1258 -0
- package/dist/src/lib/function-sync.js.map +1 -0
- package/dist/src/lib/function-trigger-listing.d.ts +27 -0
- package/dist/src/lib/function-trigger-listing.js +70 -0
- package/dist/src/lib/function-trigger-listing.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/function-versions.d.ts +122 -0
- package/dist/src/lib/function-versions.js +182 -0
- package/dist/src/lib/function-versions.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 +2936 -0
- package/dist/src/lib/generated-config-surfaces.js +10569 -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/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/list-options.d.ts +68 -0
- package/dist/src/lib/list-options.js +89 -0
- package/dist/src/lib/list-options.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 +715 -0
- package/dist/src/lib/log-inspection.js +816 -0
- package/dist/src/lib/log-inspection.js.map +1 -0
- package/dist/src/lib/logout-admin-session.d.ts +33 -0
- package/dist/src/lib/logout-admin-session.js +70 -0
- package/dist/src/lib/logout-admin-session.js.map +1 -0
- package/dist/src/lib/migration-nag.d.ts +49 -0
- package/dist/src/lib/migration-nag.js +163 -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 +124 -0
- package/dist/src/lib/output.js +219 -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 +98 -0
- package/dist/src/lib/paginate.js +112 -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/prompt-cost-format.d.ts +11 -0
- package/dist/src/lib/prompt-cost-format.js +41 -0
- package/dist/src/lib/prompt-cost-format.js.map +1 -0
- package/dist/src/lib/prompt-schema-codegen.d.ts +147 -0
- package/dist/src/lib/prompt-schema-codegen.js +462 -0
- package/dist/src/lib/prompt-schema-codegen.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 +73 -0
- package/dist/src/lib/refresh-admin-credentials.js +123 -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-owner.d.ts +19 -0
- package/dist/src/lib/resolve-owner.js +20 -0
- package/dist/src/lib/resolve-owner.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 +71 -0
- package/dist/src/lib/skill-installer.js +441 -0
- package/dist/src/lib/skill-installer.js.map +1 -0
- package/dist/src/lib/snapshot-audit-source.d.ts +45 -0
- package/dist/src/lib/snapshot-audit-source.js +58 -0
- package/dist/src/lib/snapshot-audit-source.js.map +1 -0
- package/dist/src/lib/snapshot-audit-store.d.ts +52 -0
- package/dist/src/lib/snapshot-audit-store.js +196 -0
- package/dist/src/lib/snapshot-audit-store.js.map +1 -0
- package/dist/src/lib/snapshot-audit.d.ts +207 -0
- package/dist/src/lib/snapshot-audit.js +431 -0
- package/dist/src/lib/snapshot-audit.js.map +1 -0
- package/dist/src/lib/snapshot-build-rows.d.ts +60 -0
- package/dist/src/lib/snapshot-build-rows.js +87 -0
- package/dist/src/lib/snapshot-build-rows.js.map +1 -0
- package/dist/src/lib/snapshot-build.d.ts +50 -0
- package/dist/src/lib/snapshot-build.js +111 -0
- package/dist/src/lib/snapshot-build.js.map +1 -0
- package/dist/src/lib/snapshot-manifest-layout.d.ts +61 -0
- package/dist/src/lib/snapshot-manifest-layout.js +70 -0
- package/dist/src/lib/snapshot-manifest-layout.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/step-run-table.d.ts +43 -0
- package/dist/src/lib/step-run-table.js +129 -0
- package/dist/src/lib/step-run-table.js.map +1 -0
- package/dist/src/lib/storage-pending-retry.d.ts +26 -0
- package/dist/src/lib/storage-pending-retry.js +42 -0
- package/dist/src/lib/storage-pending-retry.js.map +1 -0
- package/dist/src/lib/swift-codegen/agentGenerator.d.ts +42 -0
- package/dist/src/lib/swift-codegen/agentGenerator.js +118 -0
- package/dist/src/lib/swift-codegen/agentGenerator.js.map +1 -0
- package/dist/src/lib/swift-codegen/banners.d.ts +24 -0
- package/dist/src/lib/swift-codegen/banners.js +25 -0
- package/dist/src/lib/swift-codegen/banners.js.map +1 -0
- package/dist/src/lib/swift-codegen/dbGenerator.d.ts +113 -0
- package/dist/src/lib/swift-codegen/dbGenerator.js +926 -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/functionGenerator.d.ts +139 -0
- package/dist/src/lib/swift-codegen/functionGenerator.js +462 -0
- package/dist/src/lib/swift-codegen/functionGenerator.js.map +1 -0
- package/dist/src/lib/swift-codegen/generator.d.ts +100 -0
- package/dist/src/lib/swift-codegen/generator.js +457 -0
- package/dist/src/lib/swift-codegen/generator.js.map +1 -0
- package/dist/src/lib/swift-codegen/schemaToSwift.d.ts +87 -0
- package/dist/src/lib/swift-codegen/schemaToSwift.js +661 -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 +128 -0
- package/dist/src/lib/sync-paths.js +195 -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 +138 -0
- package/dist/src/lib/sync-selectors.js +289 -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/webhook-deliver.d.ts +209 -0
- package/dist/src/lib/webhook-deliver.js +519 -0
- package/dist/src/lib/webhook-deliver.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-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 +211 -0
- package/dist/src/lib/workflow-toml-validator.js +770 -0
- package/dist/src/lib/workflow-toml-validator.js.map +1 -0
- package/dist/src/lib/workflow-usage.d.ts +196 -0
- package/dist/src/lib/workflow-usage.js +310 -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,30 @@
|
|
|
1
|
+
import { error, warn } from "./output.js";
|
|
2
|
+
/**
|
|
3
|
+
* Resolve the sync-directory override for a command that takes one (issue #2807).
|
|
4
|
+
*
|
|
5
|
+
* `--dir <path>` is the canonical spelling of "read/write the config tree HERE
|
|
6
|
+
* instead of the auto-resolved `.primitive/sync/<env>/<appId>/`": every `config`
|
|
7
|
+
* verb has shipped it since the tree existed, and it is the spelling the
|
|
8
|
+
* getting-started pages and the CLI skill teach. The codegen-family commands
|
|
9
|
+
* (`databases codegen`, `workflows codegen`, `databases schema generate`)
|
|
10
|
+
* shipped the same override as `--sync-dir`, so that spelling stays accepted as
|
|
11
|
+
* a hidden alias: it resolves to the same value and prints one deprecation line
|
|
12
|
+
* on **stderr** (never suppressed under `--json`, because stderr cannot corrupt
|
|
13
|
+
* stdout and a scripted caller is exactly who needs to see it).
|
|
14
|
+
*
|
|
15
|
+
* Supplying both spellings exits non-zero rather than applying a silent
|
|
16
|
+
* precedence. This mirrors `resolveUserSelector` (issue #2357), the CLI's other
|
|
17
|
+
* flag rename.
|
|
18
|
+
*/
|
|
19
|
+
export function resolveSyncDirOverride(options, commandLabel) {
|
|
20
|
+
if (options.dir && options.syncDir) {
|
|
21
|
+
error(`Provide only one of --dir or --sync-dir (--sync-dir is a deprecated alias of --dir).`);
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
if (options.syncDir) {
|
|
25
|
+
warn(`--sync-dir is deprecated for \`${commandLabel}\`; use --dir instead.`);
|
|
26
|
+
return options.syncDir;
|
|
27
|
+
}
|
|
28
|
+
return options.dir;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=sync-dir-selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-dir-selector.js","sourceRoot":"","sources":["../../../src/lib/sync-dir-selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAA2C,EAC3C,YAAoB;IAEpB,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACnC,KAAK,CACH,sFAAsF,CACvF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CACF,kCAAkC,YAAY,wBAAwB,CACvE,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sync data path resolution.
|
|
3
|
+
*
|
|
4
|
+
* The COMMITTED tree lives at
|
|
5
|
+
*
|
|
6
|
+
* <projectRoot>/primitive/<env>/
|
|
7
|
+
*
|
|
8
|
+
* — one directory per environment, and nothing else in the path. There is no
|
|
9
|
+
* app segment (#3153): since #3152 an environment names exactly one app, so
|
|
10
|
+
* the segment only duplicated what the environment already said, and it made
|
|
11
|
+
* the path unreadable. Per-environment partitioning is what issue #373 was
|
|
12
|
+
* actually about, and it is unchanged: push to dev and then to prod still see
|
|
13
|
+
* independent "last synced" pointers.
|
|
14
|
+
*
|
|
15
|
+
* MACHINE-LOCAL state stays hidden, under `<projectRoot>/.primitive/`. Snapshot
|
|
16
|
+
* backups keep BOTH partitions there — `<env>/<appId>/` — because an
|
|
17
|
+
* environment can be rebound to a different app, and a snapshot taken against
|
|
18
|
+
* the former one must not be restorable through the new one (#578, #373).
|
|
19
|
+
*
|
|
20
|
+
* There is ONE way in (#3154). The `--dir <path>` override and the `./config`
|
|
21
|
+
* fallback for "no project resolved" are both gone: a command that could be
|
|
22
|
+
* told where the tree is, or that quietly picked a directory when it could not
|
|
23
|
+
* tell, is a command whose output nobody can predict from reading it. Every
|
|
24
|
+
* path below starts at `requireCurrentEnvironment()`, so an unresolvable
|
|
25
|
+
* environment is an error with a remedy rather than a different directory.
|
|
26
|
+
*/
|
|
27
|
+
/** The sync-state baseline, committed beside the environment's TOML (#3153). */
|
|
28
|
+
export declare const SYNC_STATE_FILENAME = ".sync-state.json";
|
|
29
|
+
/**
|
|
30
|
+
* Its pre-#3153 name. Read as the baseline when the current name is absent
|
|
31
|
+
* (#3392); never written.
|
|
32
|
+
*/
|
|
33
|
+
export declare const LEGACY_SYNC_STATE_FILENAME = ".primitive-sync.json";
|
|
34
|
+
export interface ResolveSnapshotsRootOptions {
|
|
35
|
+
/** The resolved app ID this snapshot slot belongs to. */
|
|
36
|
+
appId: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Where the sync-state baseline is WRITTEN: always `.sync-state.json`.
|
|
40
|
+
*
|
|
41
|
+
* Never the legacy name, so a hand-migration that skipped the rename converges
|
|
42
|
+
* on the current layout at its first push or pull rather than being carried
|
|
43
|
+
* on the old name indefinitely.
|
|
44
|
+
*/
|
|
45
|
+
export declare function syncStatePath(configDir: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* Where the sync-state baseline is READ from.
|
|
48
|
+
*
|
|
49
|
+
* `.sync-state.json` when it exists; otherwise the pre-#3153
|
|
50
|
+
* `.primitive-sync.json` when THAT exists; otherwise `.sync-state.json` (which
|
|
51
|
+
* the caller finds absent, meaning "never synced"). #3153 refused the middle
|
|
52
|
+
* case as a half-done migration; #3392 reads it instead, because the
|
|
53
|
+
* alternative — ignoring the file — would make the first `config diff` after
|
|
54
|
+
* a hand-migration a full-tree diff and the first push a re-create of
|
|
55
|
+
* everything, which is the hazard the refusal was a blunt way of avoiding.
|
|
56
|
+
* Once anything writes the baseline it lands at the current name (see
|
|
57
|
+
* `syncStatePath`) and takes precedence from then on.
|
|
58
|
+
*/
|
|
59
|
+
export declare function syncStateReadPath(configDir: string): string;
|
|
60
|
+
/**
|
|
61
|
+
* The directory holding this environment's TOML and its sync-state baseline:
|
|
62
|
+
* `<projectRoot>/primitive/<env>/`, and nothing else, ever.
|
|
63
|
+
*
|
|
64
|
+
* Takes no arguments on purpose. An override parameter is the shape a second
|
|
65
|
+
* resolution path grows back in.
|
|
66
|
+
*/
|
|
67
|
+
export declare function resolveSyncDir(): string;
|
|
68
|
+
/**
|
|
69
|
+
* The snapshot-backups root for the slot a sync operation belongs to (issue
|
|
70
|
+
* #578, Phase 1): the machine-local
|
|
71
|
+
* `<projectRoot>/.primitive/backups/<env>/<appId>/`.
|
|
72
|
+
*
|
|
73
|
+
* Snapshots reuse the SAME resolution chain as `resolveSyncDir`, so the backup
|
|
74
|
+
* tree can never drift from the live sync tree — there is no parallel
|
|
75
|
+
* `{projectRoot, env, appId}` mini-model, and with `--dir` gone there is no
|
|
76
|
+
* inside-the-tree variant either (#3154).
|
|
77
|
+
*
|
|
78
|
+
* The app partition survives the tree's loss of it (#3153): backups are not
|
|
79
|
+
* committed, so the no-app-ID path rule does not govern them, and the
|
|
80
|
+
* partition is what stops `config revert` restoring a former app's snapshot
|
|
81
|
+
* after an environment is rebound.
|
|
82
|
+
*/
|
|
83
|
+
export declare function resolveSnapshotsRoot(options: ResolveSnapshotsRootOptions): string;
|
|
84
|
+
export declare function assertSafePathComponent(value: string, label: string): void;
|
|
85
|
+
/**
|
|
86
|
+
* Ensures the sync directory exists, creating it (and parents) if
|
|
87
|
+
* necessary. Returns the path.
|
|
88
|
+
*/
|
|
89
|
+
export declare function ensureSyncDir(): string;
|
|
90
|
+
/** The pre-#2760 directory name. Detected, never read. */
|
|
91
|
+
export declare const LEGACY_DATABASE_TYPES_DIR = "database-types";
|
|
92
|
+
/** The directory database type configs are authored in since #2760. */
|
|
93
|
+
export declare const DATABASE_TYPE_CONFIGS_DIR = "database-type-configs";
|
|
94
|
+
export interface LegacyDatabaseTypesDirNotice {
|
|
95
|
+
/** The resolved directory that is no longer read. */
|
|
96
|
+
legacyPath: string;
|
|
97
|
+
/** The resolved directory it has to become. */
|
|
98
|
+
currentPath: string;
|
|
99
|
+
/** The shell command that completes the migration, for these exact paths. */
|
|
100
|
+
remediation: string;
|
|
101
|
+
/** Printed by every reconciling command that finds the old directory. */
|
|
102
|
+
warning: string;
|
|
103
|
+
/** Printed instead, fatally, when `push --prune` finds it. */
|
|
104
|
+
pruneError: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Report a pre-#2760 `database-types/` directory beside the config dir.
|
|
108
|
+
*
|
|
109
|
+
* The rename is a hard cutover — pull, push and diff read and write
|
|
110
|
+
* `database-type-configs/` and nothing else — so an un-renamed checkout's edits
|
|
111
|
+
* are ignored rather than applied. Silence would make that look like a no-op
|
|
112
|
+
* push; `push --prune` would make it destructive, since every previously
|
|
113
|
+
* managed type's file would read as deleted.
|
|
114
|
+
*
|
|
115
|
+
* Both messages render RESOLVED paths. The config directory is
|
|
116
|
+
* `<projectRoot>/primitive/<env>/` and the CLI may be invoked from any
|
|
117
|
+
* directory inside the project, so a bare
|
|
118
|
+
* `git mv database-types database-type-configs` would fail there.
|
|
119
|
+
*
|
|
120
|
+
* The remediation is destination-aware for the same reason. `git mv a b`
|
|
121
|
+
* renames only while `b` is absent; once the destination exists it moves `a`
|
|
122
|
+
* INSIDE it, burying the legacy files one level deeper where nothing reads them
|
|
123
|
+
* and this guard no longer sees them. Pull creates the destination as part of
|
|
124
|
+
* the run it warns during, so it passes `destinationWillExist`.
|
|
125
|
+
*/
|
|
126
|
+
export declare function checkLegacyDatabaseTypesDir(configDir: string, options?: {
|
|
127
|
+
destinationWillExist?: boolean;
|
|
128
|
+
}): LegacyDatabaseTypesDirNotice | null;
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sync data path resolution.
|
|
3
|
+
*
|
|
4
|
+
* The COMMITTED tree lives at
|
|
5
|
+
*
|
|
6
|
+
* <projectRoot>/primitive/<env>/
|
|
7
|
+
*
|
|
8
|
+
* — one directory per environment, and nothing else in the path. There is no
|
|
9
|
+
* app segment (#3153): since #3152 an environment names exactly one app, so
|
|
10
|
+
* the segment only duplicated what the environment already said, and it made
|
|
11
|
+
* the path unreadable. Per-environment partitioning is what issue #373 was
|
|
12
|
+
* actually about, and it is unchanged: push to dev and then to prod still see
|
|
13
|
+
* independent "last synced" pointers.
|
|
14
|
+
*
|
|
15
|
+
* MACHINE-LOCAL state stays hidden, under `<projectRoot>/.primitive/`. Snapshot
|
|
16
|
+
* backups keep BOTH partitions there — `<env>/<appId>/` — because an
|
|
17
|
+
* environment can be rebound to a different app, and a snapshot taken against
|
|
18
|
+
* the former one must not be restorable through the new one (#578, #373).
|
|
19
|
+
*
|
|
20
|
+
* There is ONE way in (#3154). The `--dir <path>` override and the `./config`
|
|
21
|
+
* fallback for "no project resolved" are both gone: a command that could be
|
|
22
|
+
* told where the tree is, or that quietly picked a directory when it could not
|
|
23
|
+
* tell, is a command whose output nobody can predict from reading it. Every
|
|
24
|
+
* path below starts at `requireCurrentEnvironment()`, so an unresolvable
|
|
25
|
+
* environment is an error with a remedy rather than a different directory.
|
|
26
|
+
*/
|
|
27
|
+
import { existsSync, mkdirSync } from "fs";
|
|
28
|
+
import { join } from "path";
|
|
29
|
+
import { requireCurrentEnvironment } from "./env-resolver.js";
|
|
30
|
+
import { PROJECT_LOCAL_STATE_DIR, PROJECT_TREE_DIR } from "./env-resolver-core.js";
|
|
31
|
+
/** The sync-state baseline, committed beside the environment's TOML (#3153). */
|
|
32
|
+
export const SYNC_STATE_FILENAME = ".sync-state.json";
|
|
33
|
+
/**
|
|
34
|
+
* Its pre-#3153 name. Read as the baseline when the current name is absent
|
|
35
|
+
* (#3392); never written.
|
|
36
|
+
*/
|
|
37
|
+
export const LEGACY_SYNC_STATE_FILENAME = ".primitive-sync.json";
|
|
38
|
+
/**
|
|
39
|
+
* Where the sync-state baseline is WRITTEN: always `.sync-state.json`.
|
|
40
|
+
*
|
|
41
|
+
* Never the legacy name, so a hand-migration that skipped the rename converges
|
|
42
|
+
* on the current layout at its first push or pull rather than being carried
|
|
43
|
+
* on the old name indefinitely.
|
|
44
|
+
*/
|
|
45
|
+
export function syncStatePath(configDir) {
|
|
46
|
+
return join(configDir, SYNC_STATE_FILENAME);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Where the sync-state baseline is READ from.
|
|
50
|
+
*
|
|
51
|
+
* `.sync-state.json` when it exists; otherwise the pre-#3153
|
|
52
|
+
* `.primitive-sync.json` when THAT exists; otherwise `.sync-state.json` (which
|
|
53
|
+
* the caller finds absent, meaning "never synced"). #3153 refused the middle
|
|
54
|
+
* case as a half-done migration; #3392 reads it instead, because the
|
|
55
|
+
* alternative — ignoring the file — would make the first `config diff` after
|
|
56
|
+
* a hand-migration a full-tree diff and the first push a re-create of
|
|
57
|
+
* everything, which is the hazard the refusal was a blunt way of avoiding.
|
|
58
|
+
* Once anything writes the baseline it lands at the current name (see
|
|
59
|
+
* `syncStatePath`) and takes precedence from then on.
|
|
60
|
+
*/
|
|
61
|
+
export function syncStateReadPath(configDir) {
|
|
62
|
+
const current = join(configDir, SYNC_STATE_FILENAME);
|
|
63
|
+
if (existsSync(current))
|
|
64
|
+
return current;
|
|
65
|
+
const legacy = join(configDir, LEGACY_SYNC_STATE_FILENAME);
|
|
66
|
+
return existsSync(legacy) ? legacy : current;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The directory holding this environment's TOML and its sync-state baseline:
|
|
70
|
+
* `<projectRoot>/primitive/<env>/`, and nothing else, ever.
|
|
71
|
+
*
|
|
72
|
+
* Takes no arguments on purpose. An override parameter is the shape a second
|
|
73
|
+
* resolution path grows back in.
|
|
74
|
+
*/
|
|
75
|
+
export function resolveSyncDir() {
|
|
76
|
+
const env = requireCurrentEnvironment();
|
|
77
|
+
// Defence-in-depth: the environment name comes from a hand-edited config
|
|
78
|
+
// file and is the only variable segment left in the tree path, so reject
|
|
79
|
+
// separators and `..` before joining it into <projectRoot>/primitive/...
|
|
80
|
+
assertSafePathComponent(env.name, "environment name");
|
|
81
|
+
return join(env.projectRoot, PROJECT_TREE_DIR, env.name);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The snapshot-backups root for the slot a sync operation belongs to (issue
|
|
85
|
+
* #578, Phase 1): the machine-local
|
|
86
|
+
* `<projectRoot>/.primitive/backups/<env>/<appId>/`.
|
|
87
|
+
*
|
|
88
|
+
* Snapshots reuse the SAME resolution chain as `resolveSyncDir`, so the backup
|
|
89
|
+
* tree can never drift from the live sync tree — there is no parallel
|
|
90
|
+
* `{projectRoot, env, appId}` mini-model, and with `--dir` gone there is no
|
|
91
|
+
* inside-the-tree variant either (#3154).
|
|
92
|
+
*
|
|
93
|
+
* The app partition survives the tree's loss of it (#3153): backups are not
|
|
94
|
+
* committed, so the no-app-ID path rule does not govern them, and the
|
|
95
|
+
* partition is what stops `config revert` restoring a former app's snapshot
|
|
96
|
+
* after an environment is rebound.
|
|
97
|
+
*/
|
|
98
|
+
export function resolveSnapshotsRoot(options) {
|
|
99
|
+
const env = requireCurrentEnvironment();
|
|
100
|
+
// Same defence-in-depth as resolveSyncDir: never trust appId blindly when
|
|
101
|
+
// building a file-system path.
|
|
102
|
+
assertSafePathComponent(env.name, "environment name");
|
|
103
|
+
assertSafePathComponent(options.appId, "appId");
|
|
104
|
+
return join(env.projectRoot, PROJECT_LOCAL_STATE_DIR, "backups", env.name, options.appId);
|
|
105
|
+
}
|
|
106
|
+
export function assertSafePathComponent(value, label) {
|
|
107
|
+
if (typeof value !== "string" ||
|
|
108
|
+
value.length === 0 ||
|
|
109
|
+
/[\\/]/.test(value) ||
|
|
110
|
+
value.includes("..") ||
|
|
111
|
+
value === "." ||
|
|
112
|
+
value === "") {
|
|
113
|
+
throw new Error(`Invalid ${label} for file path: ${value}`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Ensures the sync directory exists, creating it (and parents) if
|
|
118
|
+
* necessary. Returns the path.
|
|
119
|
+
*/
|
|
120
|
+
export function ensureSyncDir() {
|
|
121
|
+
const dir = resolveSyncDir();
|
|
122
|
+
if (!existsSync(dir)) {
|
|
123
|
+
mkdirSync(dir, { recursive: true });
|
|
124
|
+
}
|
|
125
|
+
return dir;
|
|
126
|
+
}
|
|
127
|
+
/** The pre-#2760 directory name. Detected, never read. */
|
|
128
|
+
export const LEGACY_DATABASE_TYPES_DIR = "database-types";
|
|
129
|
+
/** The directory database type configs are authored in since #2760. */
|
|
130
|
+
export const DATABASE_TYPE_CONFIGS_DIR = "database-type-configs";
|
|
131
|
+
/**
|
|
132
|
+
* Quote a path for the copy-pasteable shell command in the notice below.
|
|
133
|
+
*
|
|
134
|
+
* A config directory sits under a project root, so it can hold spaces and
|
|
135
|
+
* shell metacharacters; an unquoted path would silently run as several
|
|
136
|
+
* arguments (or as syntax). Left bare when it needs no quoting, so the
|
|
137
|
+
* ordinary case still reads as a plain command.
|
|
138
|
+
*/
|
|
139
|
+
function shellQuote(path) {
|
|
140
|
+
if (/^[A-Za-z0-9_@%+=:,./-]+$/.test(path))
|
|
141
|
+
return path;
|
|
142
|
+
return `'${path.replace(/'/g, `'\\''`)}'`;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Report a pre-#2760 `database-types/` directory beside the config dir.
|
|
146
|
+
*
|
|
147
|
+
* The rename is a hard cutover — pull, push and diff read and write
|
|
148
|
+
* `database-type-configs/` and nothing else — so an un-renamed checkout's edits
|
|
149
|
+
* are ignored rather than applied. Silence would make that look like a no-op
|
|
150
|
+
* push; `push --prune` would make it destructive, since every previously
|
|
151
|
+
* managed type's file would read as deleted.
|
|
152
|
+
*
|
|
153
|
+
* Both messages render RESOLVED paths. The config directory is
|
|
154
|
+
* `<projectRoot>/primitive/<env>/` and the CLI may be invoked from any
|
|
155
|
+
* directory inside the project, so a bare
|
|
156
|
+
* `git mv database-types database-type-configs` would fail there.
|
|
157
|
+
*
|
|
158
|
+
* The remediation is destination-aware for the same reason. `git mv a b`
|
|
159
|
+
* renames only while `b` is absent; once the destination exists it moves `a`
|
|
160
|
+
* INSIDE it, burying the legacy files one level deeper where nothing reads them
|
|
161
|
+
* and this guard no longer sees them. Pull creates the destination as part of
|
|
162
|
+
* the run it warns during, so it passes `destinationWillExist`.
|
|
163
|
+
*/
|
|
164
|
+
export function checkLegacyDatabaseTypesDir(configDir, options = {}) {
|
|
165
|
+
const legacyPath = join(configDir, LEGACY_DATABASE_TYPES_DIR);
|
|
166
|
+
if (!existsSync(legacyPath))
|
|
167
|
+
return null;
|
|
168
|
+
const currentPath = join(configDir, DATABASE_TYPE_CONFIGS_DIR);
|
|
169
|
+
const coexists = options.destinationWillExist === true || existsSync(currentPath);
|
|
170
|
+
const legacyArg = shellQuote(legacyPath);
|
|
171
|
+
const currentArg = shellQuote(currentPath);
|
|
172
|
+
// `--` because a resolved path can start with a dash.
|
|
173
|
+
// `mkdir -p` so the move still works when the destination is only about to
|
|
174
|
+
// be created (pull) and the run that would have created it failed.
|
|
175
|
+
const remediation = coexists
|
|
176
|
+
? `mkdir -p -- ${currentArg} && git mv -- ${legacyArg}/*.toml ` +
|
|
177
|
+
`${currentArg}/ && rmdir -- ${legacyArg}`
|
|
178
|
+
: `git mv -- ${legacyArg} ${currentArg}`;
|
|
179
|
+
const howTo = coexists
|
|
180
|
+
? `${currentPath} already exists, so move the files into it (git mv ` +
|
|
181
|
+
`refuses to overwrite, so reconcile any name held by both by hand) — ` +
|
|
182
|
+
`the state they were synced under is unchanged, so the first push ` +
|
|
183
|
+
`after the move applies nothing:`
|
|
184
|
+
: `Rename the directory to keep its contents — the state it was synced ` +
|
|
185
|
+
`under is unchanged, so the first push after the rename applies nothing:`;
|
|
186
|
+
const warning = `${legacyPath} is no longer read: database type configs moved to ` +
|
|
187
|
+
`${currentPath} (issue #2760). ${howTo}\n ${remediation}`;
|
|
188
|
+
const pruneError = `Refusing to prune while ${legacyPath} still exists (issue #2760). ` +
|
|
189
|
+
`Database type configs are read from ${currentPath}, so pruning now ` +
|
|
190
|
+
`would delete every previously managed database type from the server. ` +
|
|
191
|
+
`${coexists ? "Move the files" : "Rename the directory"} first:` +
|
|
192
|
+
`\n ${remediation}`;
|
|
193
|
+
return { legacyPath, currentPath, remediation, warning, pruneError };
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=sync-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-paths.js","sourceRoot":"","sources":["../../../src/lib/sync-paths.ts"],"names":[],"mappings":"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"}
|