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,459 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `functions/<key>.toml` on the wire and back (#3179, project
|
|
3
|
+
* `server-functions`).
|
|
4
|
+
*
|
|
5
|
+
* A function is the one configuration object whose file is not its whole
|
|
6
|
+
* authored surface: the TOML states the gate, the entry and the limits, and the
|
|
7
|
+
* TypeScript the entry reaches is the rest of it. `config push` therefore sends
|
|
8
|
+
* TWO things — a header (create/update) and an immutable config VERSION
|
|
9
|
+
* carrying the authored TOML bytes, every source file and the built bundle —
|
|
10
|
+
* and `config pull` writes both halves back.
|
|
11
|
+
*
|
|
12
|
+
* ── The envelope hash is the shared answer to "changed?" ──────────────────
|
|
13
|
+
*
|
|
14
|
+
* The server decides whether a push is a no-op on `envelopeHash` (sha256 over
|
|
15
|
+
* the TOML bytes, the sources and the bundle), because a comment-only or
|
|
16
|
+
* CRLF-only edit leaves the BUNDLE identical and must still make a version
|
|
17
|
+
* (F-003). The CLI computes the same number to decide whether to make the call
|
|
18
|
+
* at all, through `function-bundle.ts`'s copy of the server's canonical
|
|
19
|
+
* encoding. If those two encodings ever drift, one side re-pushes forever and
|
|
20
|
+
* the other silently drops an edit — `function-bundle-3179.test.ts` pins them
|
|
21
|
+
* against each other.
|
|
22
|
+
*
|
|
23
|
+
* ── Pull writes bytes ────────────────────────────────────────────────────
|
|
24
|
+
*
|
|
25
|
+
* Canonical re-serialization cannot preserve comments, key order or line
|
|
26
|
+
* endings, so the envelope stores the AUTHORED bytes and pull writes those
|
|
27
|
+
* (F-009). It also never trusts a stored path: the files it writes are named by
|
|
28
|
+
* the server, so a path that normalizes outside the tree — or into
|
|
29
|
+
* `node_modules`, which is never authored source — is refused rather than
|
|
30
|
+
* written to a developer's disk. The lexical rules cannot see a symlinked
|
|
31
|
+
* directory inside the tree, so the write step resolves the real path one last
|
|
32
|
+
* time and refuses a destination that lands outside the real root.
|
|
33
|
+
*/
|
|
34
|
+
import { type TriggerDeclaration } from "./generated-config-surfaces.js";
|
|
35
|
+
import { type FunctionManifest as CollectedManifest } from "./function-collect.js";
|
|
36
|
+
/**
|
|
37
|
+
* Collect one function's manifest, or answer from this command's memo.
|
|
38
|
+
*
|
|
39
|
+
* `FunctionCollectError` is translated to the push loop's one failure class by
|
|
40
|
+
* the callers, so a collect failure reads like any other build failure for
|
|
41
|
+
* that function and lands nothing.
|
|
42
|
+
*/
|
|
43
|
+
export declare function collectManifestForBundle(options: {
|
|
44
|
+
configDir: string;
|
|
45
|
+
entry: string;
|
|
46
|
+
functionKey: string;
|
|
47
|
+
contentHash: string;
|
|
48
|
+
/** The built bundle's source, for the static scan (#3279). */
|
|
49
|
+
bundle?: string;
|
|
50
|
+
}): Promise<CollectedManifest>;
|
|
51
|
+
/**
|
|
52
|
+
* The server's own `[function.triggers.*]` rules, applied to a parsed
|
|
53
|
+
* `[function]` table, with "nothing declared" spelled as null so a caller can
|
|
54
|
+
* skip the work.
|
|
55
|
+
*
|
|
56
|
+
* `normalizeTriggerDeclaration` comes from `generated-config-surfaces.ts` —
|
|
57
|
+
* `src/config-surface/trigger-declaration.ts` vendored verbatim. Until #3320
|
|
58
|
+
* the CLI ran a hand-written restatement of those rules
|
|
59
|
+
* (`cli/src/lib/function-triggers.ts`), kept in step only by a paired-fixture
|
|
60
|
+
* test; the artifact's `--check` makes drift a build failure instead.
|
|
61
|
+
*
|
|
62
|
+
* Nothing here is the CLI's own any more. Until #3376 this function added a
|
|
63
|
+
* five-field count check of its own, justified as "not a second copy of a
|
|
64
|
+
* rule" precisely because the declaration path never called `parseCron`. It
|
|
65
|
+
* calls it now — `functionTomlPreflightErrors` runs `checkCronTriggerEntry`,
|
|
66
|
+
* which is the server's grammar and the server's sentence — so the precheck
|
|
67
|
+
* was exactly the duplicate this project exists to remove, and went with the
|
|
68
|
+
* justification.
|
|
69
|
+
*/
|
|
70
|
+
export declare function normalizeFunctionTriggers(functionTable: any): TriggerDeclaration | null;
|
|
71
|
+
export interface FunctionConfigPush {
|
|
72
|
+
entry: string;
|
|
73
|
+
/** base64 of the authored `functions/<key>.toml` bytes. */
|
|
74
|
+
toml: string;
|
|
75
|
+
sources: Array<{
|
|
76
|
+
path: string;
|
|
77
|
+
content: string;
|
|
78
|
+
}>;
|
|
79
|
+
/** base64 of the built bundle. */
|
|
80
|
+
bundle: string;
|
|
81
|
+
contentHash: string;
|
|
82
|
+
/**
|
|
83
|
+
* base64 of the collected query manifest JSON (#3187). Part of the envelope,
|
|
84
|
+
* so it is part of the version's identity.
|
|
85
|
+
*/
|
|
86
|
+
manifest: string | null;
|
|
87
|
+
/** The number BOTH sides compare to decide "is this a no-op?". */
|
|
88
|
+
envelopeHash: string;
|
|
89
|
+
limits?: Record<string, unknown>;
|
|
90
|
+
/**
|
|
91
|
+
* base64 of the project's authored `models/models.toml` bytes, or absent —
|
|
92
|
+
* #3455. Inside the envelope and covered by `envelopeHash`, so the version
|
|
93
|
+
* that is running carries the document schema its code was typed against and
|
|
94
|
+
* can seed a model's metadata on a function's first write.
|
|
95
|
+
*/
|
|
96
|
+
documentSchema?: string;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* The retired runtime keys a `functions/<key>.toml` still carries — #3482.
|
|
100
|
+
*
|
|
101
|
+
* NOT a refusal. Through phase 4 `mode`, `durable` and a cron entry's `mode`
|
|
102
|
+
* are accepted and ignored, with one warning each and every other key of the
|
|
103
|
+
* file applied; phase 5 (#3188) refuses them. The sentences come from the one
|
|
104
|
+
* vendored scanner, so the warning `config push` prints is the sentence the
|
|
105
|
+
* server answers with.
|
|
106
|
+
*/
|
|
107
|
+
export declare function functionTomlIgnoredKeyWarnings(options: {
|
|
108
|
+
functionKey: string;
|
|
109
|
+
tomlData: any;
|
|
110
|
+
}): string[];
|
|
111
|
+
/**
|
|
112
|
+
* Everything about one `functions/<key>.toml` that `config push` can decide
|
|
113
|
+
* from the file alone (#3320).
|
|
114
|
+
*
|
|
115
|
+
* This is the seam the issue is about. These checks used to run inside the
|
|
116
|
+
* APPLY loop, so a `durable = true` beside a webhook block — or a missing
|
|
117
|
+
* `entry`, or a signed scheme with no `signingSecret` — was raised after app
|
|
118
|
+
* settings, vars, integrations, webhooks, cron triggers and database types had
|
|
119
|
+
* already been written, while the command's own framing promised that a
|
|
120
|
+
* refusal meant nothing was applied. Running them in the front-loaded pass
|
|
121
|
+
* (#976) makes that framing true for this class of error.
|
|
122
|
+
*
|
|
123
|
+
* Every rule here is the SERVER's, reached through the generated surface
|
|
124
|
+
* artifact (#3320 part 0), not a local imitation of it. What is deliberately
|
|
125
|
+
* absent is app-state-dependent by construction: whether the referenced secret
|
|
126
|
+
* exists, whether the scheme's `config` is valid under this environment's JWKS
|
|
127
|
+
* policy, per-app caps, key collisions, archived tombstones. A local guess at
|
|
128
|
+
* any of those would be a preflight that gives a false all-clear.
|
|
129
|
+
*
|
|
130
|
+
* Returns the messages the apply loop would have raised, verbatim — so the
|
|
131
|
+
* author reads the same sentence wherever it reaches them, and `config diff`
|
|
132
|
+
* can report it under Invalid (#2880 symmetry).
|
|
133
|
+
*/
|
|
134
|
+
export declare function functionTomlPreflightErrors(options: {
|
|
135
|
+
filePath: string;
|
|
136
|
+
functionKey: string;
|
|
137
|
+
/** The already-parsed document, so the file is read once. */
|
|
138
|
+
tomlData: any;
|
|
139
|
+
}): string[];
|
|
140
|
+
/**
|
|
141
|
+
* Build everything the config-version route needs for one function file.
|
|
142
|
+
*
|
|
143
|
+
* Throws `FunctionBuildError` for a missing `entry`, a missing entry file, a
|
|
144
|
+
* build error, or an import that escapes the config tree — one class, so the
|
|
145
|
+
* push loop has one thing to report and pushes nothing for that function.
|
|
146
|
+
*
|
|
147
|
+
* The file-decidable checks are `functionTomlPreflightErrors`', kept here as
|
|
148
|
+
* defense in depth (#3179's dual-validation shape): `config push` runs them in
|
|
149
|
+
* its preflight now, but `functions` commands and a direct caller reach this
|
|
150
|
+
* function without one.
|
|
151
|
+
*/
|
|
152
|
+
export declare function buildFunctionConfigPush(options: {
|
|
153
|
+
configDir: string;
|
|
154
|
+
functionKey: string;
|
|
155
|
+
/** Absolute path of `functions/<key>.toml`. */
|
|
156
|
+
filePath: string;
|
|
157
|
+
/** The already-parsed document, so the file is read once. */
|
|
158
|
+
tomlData: any;
|
|
159
|
+
}): Promise<FunctionConfigPush>;
|
|
160
|
+
/**
|
|
161
|
+
* The per-function failure when a server DID NOT retain the document schema it
|
|
162
|
+
* was sent — #3455 (D3455-010), criterion 7.
|
|
163
|
+
*
|
|
164
|
+
* The server builds its envelope from explicit known fields
|
|
165
|
+
* (`server-functions-controller.ts`) and answers the `envelopeHash` it stored.
|
|
166
|
+
* A server that predates this change drops `documentSchema` silently: it
|
|
167
|
+
* answers 200, the CLI reports the function pushed, first-writer seeding never
|
|
168
|
+
* works, and every later `config diff` reads Modified for a reason nobody can
|
|
169
|
+
* see. Comparing the hash it stored with the one this CLI built is the cheap
|
|
170
|
+
* acknowledgment that closes that.
|
|
171
|
+
*
|
|
172
|
+
* Gated on having SENT a schema, which is exactly what criterion 7 says
|
|
173
|
+
* ("reported successful only when the server retained the schema it was
|
|
174
|
+
* sent"): with nothing sent there is nothing to retain, and naming the
|
|
175
|
+
* document schema in a mismatch caused by something else would send an
|
|
176
|
+
* operator to the wrong place. A response with no `envelopeHash` at all is not
|
|
177
|
+
* judged — silence is not a disagreement.
|
|
178
|
+
*/
|
|
179
|
+
export declare function documentSchemaRetentionFailure(input: {
|
|
180
|
+
/** Whether this push carried a `documentSchema`. */
|
|
181
|
+
sentDocumentSchema: boolean;
|
|
182
|
+
/** The hash this CLI built. */
|
|
183
|
+
builtEnvelopeHash: string;
|
|
184
|
+
/** The hash the push response reported, if any. */
|
|
185
|
+
storedEnvelopeHash: unknown;
|
|
186
|
+
}): string | null;
|
|
187
|
+
/**
|
|
188
|
+
* What one version's `documentSchemaModels` says about whether this push drops
|
|
189
|
+
* a document schema — #3455 (D3455-004), criterion 7's visible half.
|
|
190
|
+
*
|
|
191
|
+
* Three answers, and keeping them apart is the whole point:
|
|
192
|
+
*
|
|
193
|
+
* - an ARRAY — this version seeds these models, and a push from a tree that
|
|
194
|
+
* resolved no schema takes that away: `drops`, and there is nothing more
|
|
195
|
+
* to ask, because one sentence per run is what the operator needs;
|
|
196
|
+
* - `null` — this version was pushed without a schema, so it has nothing to
|
|
197
|
+
* lose. That is an answer about ONE function and says nothing about the
|
|
198
|
+
* rest of the tree: `none`, keep asking;
|
|
199
|
+
* - anything else, `undefined` included — the server does not answer this
|
|
200
|
+
* question (it predates the field). That IS a property of the run, so
|
|
201
|
+
* `unsupported` settles it rather than spending a read per function on a
|
|
202
|
+
* server that will never say anything.
|
|
203
|
+
*/
|
|
204
|
+
export type DocumentSchemaDropAnswer = {
|
|
205
|
+
outcome: "drops";
|
|
206
|
+
message: string;
|
|
207
|
+
} | {
|
|
208
|
+
outcome: "none";
|
|
209
|
+
} | {
|
|
210
|
+
outcome: "unsupported";
|
|
211
|
+
};
|
|
212
|
+
export declare function documentSchemaDropAnswer(documentSchemaModels: unknown): DocumentSchemaDropAnswer;
|
|
213
|
+
/**
|
|
214
|
+
* Says ONCE — for the whole push, not once per function — that this push drops
|
|
215
|
+
* a document schema a running version carries (#3455, D3455-004).
|
|
216
|
+
*
|
|
217
|
+
* Removing `models/models.toml` and its generated tree copy is a legitimate
|
|
218
|
+
* edit, so it is a warning and not a refusal; but it turns first-writer seeding
|
|
219
|
+
* off for every document these functions touch, and that must not be silent.
|
|
220
|
+
*
|
|
221
|
+
* The state this holds is "has the run been told yet", and the rule is that
|
|
222
|
+
* only an ANSWER settles it. A function whose active version carries no schema
|
|
223
|
+
* has told us nothing about its siblings, so the next function is still asked —
|
|
224
|
+
* getting that backwards silences a real drop whenever a schema-less function
|
|
225
|
+
* happens to be pushed first, which is the order nothing in the tree controls.
|
|
226
|
+
* The model names live inside the version's envelope rather than on its row,
|
|
227
|
+
* which is why this is a read and not a field of the listing already in hand.
|
|
228
|
+
*/
|
|
229
|
+
export declare function createDocumentSchemaDropWarner(deps: {
|
|
230
|
+
/** Whether the tree resolved a schema for this push: if so, nothing drops. */
|
|
231
|
+
treeCarriesSchema: boolean;
|
|
232
|
+
/** Reads one version's admin detail. */
|
|
233
|
+
readConfig: (functionId: string, configId: string) => Promise<any>;
|
|
234
|
+
/** Where the sentence goes. */
|
|
235
|
+
warn: (message: string) => void;
|
|
236
|
+
}): (functionId: string, activeConfigId: string | undefined) => Promise<void>;
|
|
237
|
+
/**
|
|
238
|
+
* The create body. `functionKey` is attached here rather than spread from the
|
|
239
|
+
* table: the identity comes from the file name, exactly as it does for every
|
|
240
|
+
* other keyed type.
|
|
241
|
+
*/
|
|
242
|
+
export declare function buildFunctionCreatePayload(functionKey: string, table: any): Record<string, any>;
|
|
243
|
+
/**
|
|
244
|
+
* The update body. The key is NOT re-sent — it is the function's claim on the
|
|
245
|
+
* app's single key namespace and the URL already names the row — and `status`
|
|
246
|
+
* is server-owned on the sixth carrying type as on the other five.
|
|
247
|
+
*
|
|
248
|
+
* #3317 — the schemas are TOML-owned on exactly the terms `description` is
|
|
249
|
+
* (#1567), which is what prompts have sent since then: the update handler
|
|
250
|
+
* preserves a field the body omits, so dropping the key would leave a schema
|
|
251
|
+
* live that the file no longer declares, and the comparison — which reads an
|
|
252
|
+
* absent schema as `null` — would report that difference again on every run.
|
|
253
|
+
* Removing `[function.inputSchema]` clears it, and the next diff is Synced.
|
|
254
|
+
*/
|
|
255
|
+
export declare function buildFunctionUpdatePayload(table: any): Record<string, any>;
|
|
256
|
+
/** The version-carried keys, as the config-version row holds them. */
|
|
257
|
+
export interface ActiveFunctionVersion {
|
|
258
|
+
entry?: string;
|
|
259
|
+
/** JSON string on the row; an object is accepted too. */
|
|
260
|
+
limits?: unknown;
|
|
261
|
+
/** #3182 — the capabilities the server derived from the authored TOML. */
|
|
262
|
+
capabilities?: string[];
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* The canonical TOML for a function with no stored authored bytes — a function
|
|
266
|
+
* created through the API that has never had code pushed. When bytes exist,
|
|
267
|
+
* pull writes THOSE; this is the fallback that still produces a pushable file.
|
|
268
|
+
*/
|
|
269
|
+
export declare function serializeFunction(record: any, active?: ActiveFunctionVersion, log?: (message: string) => void): string;
|
|
270
|
+
/**
|
|
271
|
+
* The entity both sides of `config diff` are projected onto: the header's
|
|
272
|
+
* authored fields plus the keys the VERSION carries. Stated once so a
|
|
273
|
+
* local file and a server record cannot be read into different shapes.
|
|
274
|
+
*
|
|
275
|
+
* Text the server rewrites on the way in is read the same way it will come
|
|
276
|
+
* back (the DSO-003 rule the webhook comparator states): `access` is stored
|
|
277
|
+
* trimmed and `entry` normalized, so an authored value that differs only in
|
|
278
|
+
* that respect is not permanent drift.
|
|
279
|
+
*/
|
|
280
|
+
export declare function functionDiffEntity(tomlData: any): Record<string, any>;
|
|
281
|
+
/**
|
|
282
|
+
* Remove `mode`, `durable` and every cron entry's `mode` from authored TOML,
|
|
283
|
+
* preserving every other byte.
|
|
284
|
+
*
|
|
285
|
+
* The issue says `config pull` never writes them, and the pull plan writes the
|
|
286
|
+
* version's AUTHORED bytes verbatim — so without this a tree pulled from a
|
|
287
|
+
* version pushed before the retirement would carry keys phase 5 refuses, and
|
|
288
|
+
* could not be pushed again.
|
|
289
|
+
*
|
|
290
|
+
* ── Three jobs, kept apart ────────────────────────────────────────────────
|
|
291
|
+
*
|
|
292
|
+
* The PARSE decides what is removed and what is reported: `ignoredFunctionKeys`
|
|
293
|
+
* is the very scanner `config push` warns with, so what a pull takes out is
|
|
294
|
+
* exactly what a push said it was ignoring, whatever spelling the author used.
|
|
295
|
+
* TOML has several — `["function"]`, `function . mode = …`, an inline
|
|
296
|
+
* `triggers.cron = [ { mode = … } ]` — and a scan that reads the SOURCE has to
|
|
297
|
+
* know every one of them or it silently leaves a key behind (CR3482-002).
|
|
298
|
+
*
|
|
299
|
+
* The LINE EDIT decides how the bytes change, and is the path every real file
|
|
300
|
+
* takes. A re-serialization would rewrite every comment, blank line, quoting
|
|
301
|
+
* style and key order in a file a human wrote, so a pull would report a hundred
|
|
302
|
+
* changes to make three. Here exactly the matched assignments go and nothing
|
|
303
|
+
* else moves.
|
|
304
|
+
*
|
|
305
|
+
* The VERIFICATION decides whether the line edit was good enough, by parsing
|
|
306
|
+
* what it produced: the result must parse, must carry no retired key, and must
|
|
307
|
+
* otherwise say precisely what the file said. That is the contract stated as a
|
|
308
|
+
* check rather than as a hope — and it is what makes the line edit safe to keep
|
|
309
|
+
* narrow. A file it cannot reach by whole lines (a retired key sharing its line
|
|
310
|
+
* with keys that must survive, inside an inline table) falls back to a
|
|
311
|
+
* serialized rewrite, which is reported, because a pulled file that still
|
|
312
|
+
* carries the key — or one that no longer parses (CR3482-001) — is worse than a
|
|
313
|
+
* reformatted one.
|
|
314
|
+
*
|
|
315
|
+
* Returns the text and one line per removal, so the caller can report what it
|
|
316
|
+
* did rather than silently editing a developer's file.
|
|
317
|
+
*/
|
|
318
|
+
export declare function stripRetiredFunctionKeys(toml: string, label?: string): {
|
|
319
|
+
toml: string;
|
|
320
|
+
removals: string[];
|
|
321
|
+
};
|
|
322
|
+
export interface FunctionPullFile {
|
|
323
|
+
/** Tree-relative, POSIX. */
|
|
324
|
+
relative: string;
|
|
325
|
+
absolute: string;
|
|
326
|
+
content: Buffer;
|
|
327
|
+
}
|
|
328
|
+
export interface FunctionPullPlan {
|
|
329
|
+
configDir: string;
|
|
330
|
+
functionKey: string;
|
|
331
|
+
files: FunctionPullFile[];
|
|
332
|
+
/** The source paths written, for the sync-state record prune reads. */
|
|
333
|
+
sourcePaths: string[];
|
|
334
|
+
/** One line per stored path this pull refused to write. */
|
|
335
|
+
refusals: string[];
|
|
336
|
+
/**
|
|
337
|
+
* One line per EDIT this pull made to the authored bytes on the way out —
|
|
338
|
+
* #3482. Today exactly the retired runtime keys it removed. Not a refusal:
|
|
339
|
+
* the file IS written, and this is what says so.
|
|
340
|
+
*/
|
|
341
|
+
notes: string[];
|
|
342
|
+
/**
|
|
343
|
+
* Tree-relative files this pull DELETES — #3455. Today exactly one: a stale
|
|
344
|
+
* generated document-schema copy left by a version that carried a document
|
|
345
|
+
* schema, when the version being pulled carries none. Without the removal
|
|
346
|
+
* the tree would keep rebuilding an envelope with a schema the active
|
|
347
|
+
* version does not have, and `config diff` would read Modified for ever.
|
|
348
|
+
*/
|
|
349
|
+
removals: Array<{
|
|
350
|
+
relative: string;
|
|
351
|
+
absolute: string;
|
|
352
|
+
}>;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Why a stored source path may not be written, or null.
|
|
356
|
+
*
|
|
357
|
+
* The same rule the server applies on the way in, applied again on the way out:
|
|
358
|
+
* the file is written to a developer's disk from a path the SERVER chose, so a
|
|
359
|
+
* second check here is the one that matters.
|
|
360
|
+
*/
|
|
361
|
+
export declare function unsafePulledPath(path: string): string | null;
|
|
362
|
+
/**
|
|
363
|
+
* Plan the files `config pull` writes for one function: the authored TOML at
|
|
364
|
+
* `functions/<key>.toml`, and each stored source at its own path.
|
|
365
|
+
*
|
|
366
|
+
* Pure — the caller applies it — so the refusal rules are testable without a
|
|
367
|
+
* server and without touching a disk.
|
|
368
|
+
*/
|
|
369
|
+
export declare function planFunctionPull(options: {
|
|
370
|
+
configDir: string;
|
|
371
|
+
functionKey: string;
|
|
372
|
+
envelope: {
|
|
373
|
+
entry?: string;
|
|
374
|
+
toml?: string;
|
|
375
|
+
sources?: Array<{
|
|
376
|
+
path: string;
|
|
377
|
+
content: string;
|
|
378
|
+
}>;
|
|
379
|
+
/** base64 of the version's document schema, absent when it has none (#3455). */
|
|
380
|
+
documentSchema?: string | null;
|
|
381
|
+
};
|
|
382
|
+
/**
|
|
383
|
+
* Whether this plan decides the tree's generated schema copy — CR3455-001.
|
|
384
|
+
*
|
|
385
|
+
* The copy is ONE file the whole tree resolves through, so a pull of several
|
|
386
|
+
* functions may not let each one decide it in turn: the last function
|
|
387
|
+
* applied would overwrite or DELETE the copy the earlier ones needed, and a
|
|
388
|
+
* repush from that tree would drop the schema a version really carries. A
|
|
389
|
+
* pull of many functions therefore passes `false` here and settles the copy
|
|
390
|
+
* once, through {@link planDocumentSchemaPull}. Defaults to true, which is
|
|
391
|
+
* the right answer for a plan that is the whole pull.
|
|
392
|
+
*/
|
|
393
|
+
includeDocumentSchema?: boolean;
|
|
394
|
+
}): FunctionPullPlan;
|
|
395
|
+
/** One pulled function's answer to "does your version carry a schema?" */
|
|
396
|
+
export interface PulledFunctionSchema {
|
|
397
|
+
functionKey: string;
|
|
398
|
+
/** base64 of the version's document schema, null when it carries none. */
|
|
399
|
+
documentSchema: string | null;
|
|
400
|
+
}
|
|
401
|
+
/** What a pull does about the tree's ONE generated schema copy. */
|
|
402
|
+
export interface DocumentSchemaPullPlan {
|
|
403
|
+
configDir: string;
|
|
404
|
+
files: FunctionPullFile[];
|
|
405
|
+
removals: Array<{
|
|
406
|
+
relative: string;
|
|
407
|
+
absolute: string;
|
|
408
|
+
}>;
|
|
409
|
+
/** One line per thing the tree cannot say for every version it pulled. */
|
|
410
|
+
warnings: string[];
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* The tree's generated document-schema copy, decided ONCE for a whole pull —
|
|
414
|
+
* CR3455-001.
|
|
415
|
+
*
|
|
416
|
+
* Push and diff resolve the copy tree-wide (`resolveDocumentSchema`), so the
|
|
417
|
+
* tree can hold exactly one schema however many functions it has. Deciding it
|
|
418
|
+
* per function meant the last function applied won: a version carrying no
|
|
419
|
+
* schema DELETED the copy a schema-bearing sibling had just written, the
|
|
420
|
+
* sibling then diffed Modified for ever, and a repush from that tree dropped
|
|
421
|
+
* the schema — the one outcome D3455-009 exists to prevent.
|
|
422
|
+
*
|
|
423
|
+
* The rules, and what each is protecting:
|
|
424
|
+
*
|
|
425
|
+
* - Any pulled version carrying a schema WINS over one carrying none. The
|
|
426
|
+
* copy is a fallback consulted only when the project has no
|
|
427
|
+
* `models/models.toml`; keeping it is what lets a fresh pull re-push.
|
|
428
|
+
* - The copy is removed only when the pull read EVERY active function and
|
|
429
|
+
* none carried a schema. A selective pull has not learned anything about
|
|
430
|
+
* the functions it did not read, and deleting on that evidence would take
|
|
431
|
+
* the schema away from a version that still pins one.
|
|
432
|
+
* - Versions that disagree are reported rather than silently reconciled. One
|
|
433
|
+
* file cannot reproduce two envelopes, so an operator is told which
|
|
434
|
+
* function the tree now speaks for and which ones will read Modified until
|
|
435
|
+
* they are pushed again.
|
|
436
|
+
*/
|
|
437
|
+
export declare function planDocumentSchemaPull(options: {
|
|
438
|
+
configDir: string;
|
|
439
|
+
functions: readonly PulledFunctionSchema[];
|
|
440
|
+
/** True when the pull read every active function the app has. */
|
|
441
|
+
coversEveryFunction: boolean;
|
|
442
|
+
}): DocumentSchemaPullPlan;
|
|
443
|
+
/** What one `applyFunctionPull` actually did. */
|
|
444
|
+
export interface FunctionPullOutcome {
|
|
445
|
+
/** The source paths written — what the sync state records for prune. */
|
|
446
|
+
writtenSources: string[];
|
|
447
|
+
/** One line per file the write step refused. */
|
|
448
|
+
refusals: string[];
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* Write a plan's files, creating the directories they need.
|
|
452
|
+
*
|
|
453
|
+
* Returns what was written and what was refused; a refusal is reported by the
|
|
454
|
+
* caller and keeps the file out of the sync state, so prune never claims to
|
|
455
|
+
* own a path this pull did not write.
|
|
456
|
+
*/
|
|
457
|
+
export declare function applyFunctionPull(plan: Pick<FunctionPullPlan, "configDir" | "files" | "removals"> & {
|
|
458
|
+
sourcePaths?: readonly string[];
|
|
459
|
+
}): FunctionPullOutcome;
|