primitive-admin 1.2.0-alpha.1 → 1.2.0-alpha.10
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 +105 -134
- package/assets/skill/skills/primitive-platform/SKILL.md +37 -4
- package/dist/bin/primitive.js +30 -35
- package/dist/bin/primitive.js.map +1 -1
- package/dist/src/commands/agent-sessions.d.ts +133 -0
- package/dist/src/commands/agent-sessions.js +792 -0
- package/dist/src/commands/agent-sessions.js.map +1 -0
- package/dist/src/commands/analytics.js +0 -148
- package/dist/src/commands/analytics.js.map +1 -1
- package/dist/src/commands/apps-children.d.ts +54 -0
- package/dist/src/commands/apps-children.js +631 -0
- package/dist/src/commands/apps-children.js.map +1 -0
- package/dist/src/commands/apps.d.ts +6 -0
- package/dist/src/commands/apps.js +131 -9
- package/dist/src/commands/apps.js.map +1 -1
- package/dist/src/commands/auth-sessions.d.ts +3 -3
- package/dist/src/commands/auth-sessions.js +117 -23
- package/dist/src/commands/auth-sessions.js.map +1 -1
- package/dist/src/commands/auth.js +460 -36
- package/dist/src/commands/auth.js.map +1 -1
- package/dist/src/commands/collections.js +316 -256
- package/dist/src/commands/collections.js.map +1 -1
- package/dist/src/commands/config.d.ts +1 -1
- package/dist/src/commands/config.js +60 -28
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/connections.js +11 -12
- package/dist/src/commands/connections.js.map +1 -1
- package/dist/src/commands/database-type-configs.js +2 -76
- package/dist/src/commands/database-type-configs.js.map +1 -1
- package/dist/src/commands/databases.d.ts +9 -0
- package/dist/src/commands/databases.js +221 -457
- package/dist/src/commands/databases.js.map +1 -1
- package/dist/src/commands/db3-types.d.ts +15 -0
- package/dist/src/commands/db3-types.js +157 -0
- package/dist/src/commands/db3-types.js.map +1 -0
- package/dist/src/commands/db3.d.ts +12 -0
- package/dist/src/commands/db3.js +1052 -0
- package/dist/src/commands/db3.js.map +1 -0
- package/dist/src/commands/documents.d.ts +121 -2
- package/dist/src/commands/documents.js +1601 -1251
- package/dist/src/commands/documents.js.map +1 -1
- package/dist/src/commands/env.d.ts +9 -1
- package/dist/src/commands/env.js +164 -49
- package/dist/src/commands/env.js.map +1 -1
- package/dist/src/commands/function-trigger-commands.d.ts +28 -0
- package/dist/src/commands/function-trigger-commands.js +341 -0
- package/dist/src/commands/function-trigger-commands.js.map +1 -0
- package/dist/src/commands/functions.js +297 -24
- package/dist/src/commands/functions.js.map +1 -1
- package/dist/src/commands/groups.js +150 -49
- package/dist/src/commands/groups.js.map +1 -1
- package/dist/src/commands/guides.js +5 -5
- package/dist/src/commands/init.d.ts +7 -0
- package/dist/src/commands/init.js +23 -5
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/integrations.js +14 -8
- package/dist/src/commands/integrations.js.map +1 -1
- package/dist/src/commands/metadata-category-configs.d.ts +2 -2
- package/dist/src/commands/metadata-category-configs.js +2 -2
- package/dist/src/commands/prompts.d.ts +7 -0
- package/dist/src/commands/prompts.js +48 -5
- package/dist/src/commands/prompts.js.map +1 -1
- package/dist/src/commands/scripts.d.ts +9 -17
- package/dist/src/commands/scripts.js +24 -479
- package/dist/src/commands/scripts.js.map +1 -1
- package/dist/src/commands/sync-app-settings.d.ts +36 -8
- package/dist/src/commands/sync-app-settings.js +109 -23
- package/dist/src/commands/sync-app-settings.js.map +1 -1
- package/dist/src/commands/sync.d.ts +360 -610
- package/dist/src/commands/sync.js +3151 -6697
- package/dist/src/commands/sync.js.map +1 -1
- package/dist/src/commands/tokens.js +3 -3
- package/dist/src/commands/tokens.js.map +1 -1
- package/dist/src/commands/users.js +77 -2
- package/dist/src/commands/users.js.map +1 -1
- package/dist/src/commands/workflows.d.ts +5 -83
- package/dist/src/commands/workflows.js +57 -2282
- package/dist/src/commands/workflows.js.map +1 -1
- package/dist/src/lib/aggregate-output.d.ts +25 -0
- package/dist/src/lib/aggregate-output.js +53 -0
- package/dist/src/lib/aggregate-output.js.map +1 -0
- package/dist/src/lib/api-client.d.ts +681 -551
- package/dist/src/lib/api-client.js +880 -814
- package/dist/src/lib/api-client.js.map +1 -1
- package/dist/src/lib/app-settings-descriptor.d.ts +47 -1
- package/dist/src/lib/app-settings-descriptor.js +114 -10
- package/dist/src/lib/app-settings-descriptor.js.map +1 -1
- package/dist/src/lib/auth-fixtures.d.ts +44 -0
- package/dist/src/lib/auth-fixtures.js +61 -0
- package/dist/src/lib/auth-fixtures.js.map +1 -0
- package/dist/src/lib/auth-flow.d.ts +41 -1
- package/dist/src/lib/auth-flow.js +70 -16
- package/dist/src/lib/auth-flow.js.map +1 -1
- package/dist/src/lib/block-layout.d.ts +12 -23
- package/dist/src/lib/block-layout.js +26 -92
- package/dist/src/lib/block-layout.js.map +1 -1
- package/dist/src/lib/block-selector.d.ts +2 -2
- package/dist/src/lib/block-selector.js +2 -2
- package/dist/src/lib/child-apps-local.d.ts +164 -0
- package/dist/src/lib/child-apps-local.js +258 -0
- package/dist/src/lib/child-apps-local.js.map +1 -0
- package/dist/src/lib/ci-session-request.d.ts +22 -0
- package/dist/src/lib/ci-session-request.js +51 -0
- package/dist/src/lib/ci-session-request.js.map +1 -0
- package/dist/src/lib/codegen-shared/generatedFiles.d.ts +10 -8
- package/dist/src/lib/codegen-shared/generatedFiles.js +21 -15
- package/dist/src/lib/codegen-shared/generatedFiles.js.map +1 -1
- package/dist/src/lib/codegen-shared/prettierStable.d.ts +1 -1
- package/dist/src/lib/codegen-shared/prettierStable.js +1 -1
- package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.d.ts +2 -2
- package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js +2 -2
- package/dist/src/lib/collection-export.d.ts +76 -15
- package/dist/src/lib/collection-export.js +116 -23
- package/dist/src/lib/collection-export.js.map +1 -1
- package/dist/src/lib/collection-principal.d.ts +22 -0
- package/dist/src/lib/collection-principal.js +35 -0
- package/dist/src/lib/collection-principal.js.map +1 -0
- package/dist/src/lib/config-object-descriptor.d.ts +3 -22
- package/dist/src/lib/config-object-descriptor.js +56 -290
- package/dist/src/lib/config-object-descriptor.js.map +1 -1
- package/dist/src/lib/config-payload.js +2 -3
- package/dist/src/lib/config-payload.js.map +1 -1
- package/dist/src/lib/config-surface.d.ts +5 -7
- package/dist/src/lib/config-surface.js +18 -40
- package/dist/src/lib/config-surface.js.map +1 -1
- package/dist/src/lib/connections-list.d.ts +10 -0
- package/dist/src/lib/connections-list.js +18 -0
- package/dist/src/lib/connections-list.js.map +1 -0
- package/dist/src/lib/credentials-home.d.ts +58 -0
- package/dist/src/lib/credentials-home.js +204 -0
- package/dist/src/lib/credentials-home.js.map +1 -0
- package/dist/src/lib/credentials-lock.d.ts +88 -0
- package/dist/src/lib/credentials-lock.js +302 -0
- package/dist/src/lib/credentials-lock.js.map +1 -0
- package/dist/src/lib/credentials-store.d.ts +179 -24
- package/dist/src/lib/credentials-store.js +712 -77
- package/dist/src/lib/credentials-store.js.map +1 -1
- package/dist/src/lib/csv.d.ts +8 -9
- package/dist/src/lib/csv.js +3 -4
- package/dist/src/lib/csv.js.map +1 -1
- package/dist/src/lib/custodian.d.ts +8 -0
- package/dist/src/lib/custodian.js +18 -0
- package/dist/src/lib/custodian.js.map +1 -0
- package/dist/src/lib/db-codegen/dbGenerator.js +5 -16
- package/dist/src/lib/db-codegen/dbGenerator.js.map +1 -1
- package/dist/src/lib/db-codegen/dbNaming.d.ts +5 -13
- package/dist/src/lib/db-codegen/dbNaming.js +5 -17
- package/dist/src/lib/db-codegen/dbNaming.js.map +1 -1
- package/dist/src/lib/db-codegen/dbTemplates.d.ts +7 -56
- package/dist/src/lib/db-codegen/dbTemplates.js +25 -125
- package/dist/src/lib/db-codegen/dbTemplates.js.map +1 -1
- package/dist/src/lib/db-codegen/dbTsTypes.d.ts +2 -2
- package/dist/src/lib/db-codegen/dbTsTypes.js +2 -2
- package/dist/src/lib/db-codegen/dbTypeIR.d.ts +67 -2
- package/dist/src/lib/db-codegen/dbTypeIR.js +13 -2
- package/dist/src/lib/db-codegen/dbTypeIR.js.map +1 -1
- package/dist/src/lib/db3-export.d.ts +231 -0
- package/dist/src/lib/db3-export.js +510 -0
- package/dist/src/lib/db3-export.js.map +1 -0
- package/dist/src/lib/db3-index-output.d.ts +27 -0
- package/dist/src/lib/db3-index-output.js +49 -0
- package/dist/src/lib/db3-index-output.js.map +1 -0
- package/dist/src/lib/document-export-lookups.d.ts +31 -0
- package/dist/src/lib/document-export-lookups.js +53 -0
- package/dist/src/lib/document-export-lookups.js.map +1 -0
- package/dist/src/lib/document-export-permissions.d.ts +7 -5
- package/dist/src/lib/document-export-permissions.js +7 -5
- package/dist/src/lib/document-export-permissions.js.map +1 -1
- package/dist/src/lib/document-export-record-log.d.ts +57 -0
- package/dist/src/lib/document-export-record-log.js +215 -0
- package/dist/src/lib/document-export-record-log.js.map +1 -0
- package/dist/src/lib/document-ingest-artifact.d.ts +26 -2
- package/dist/src/lib/document-ingest-artifact.js +42 -8
- package/dist/src/lib/document-ingest-artifact.js.map +1 -1
- package/dist/src/lib/document-ingest-format2.d.ts +36 -0
- package/dist/src/lib/document-ingest-format2.js +78 -0
- package/dist/src/lib/document-ingest-format2.js.map +1 -0
- package/dist/src/lib/document-ingest-input.d.ts +9 -0
- package/dist/src/lib/document-ingest-input.js +28 -1
- package/dist/src/lib/document-ingest-input.js.map +1 -1
- package/dist/src/lib/document-ingest-rows.d.ts +16 -0
- package/dist/src/lib/document-ingest-rows.js +17 -0
- package/dist/src/lib/document-ingest-rows.js.map +1 -1
- package/dist/src/lib/document-ingest.d.ts +33 -1
- package/dist/src/lib/document-ingest.js +49 -0
- package/dist/src/lib/document-ingest.js.map +1 -1
- package/dist/src/lib/document-schema-rows.d.ts +42 -0
- package/dist/src/lib/document-schema-rows.js +53 -0
- package/dist/src/lib/document-schema-rows.js.map +1 -0
- package/dist/src/lib/env-resolver-core.d.ts +70 -2
- package/dist/src/lib/env-resolver-core.js +137 -20
- package/dist/src/lib/env-resolver-core.js.map +1 -1
- package/dist/src/lib/env-resolver.d.ts +14 -2
- package/dist/src/lib/env-resolver.js +32 -10
- package/dist/src/lib/env-resolver.js.map +1 -1
- package/dist/src/lib/function-authorize-check.d.ts +142 -0
- package/dist/src/lib/function-authorize-check.js +310 -0
- package/dist/src/lib/function-authorize-check.js.map +1 -0
- package/dist/src/lib/function-authorize-view.d.ts +15 -0
- package/dist/src/lib/function-authorize-view.js +50 -0
- package/dist/src/lib/function-authorize-view.js.map +1 -0
- package/dist/src/lib/function-bundle.d.ts +38 -18
- package/dist/src/lib/function-bundle.js +96 -35
- package/dist/src/lib/function-bundle.js.map +1 -1
- package/dist/src/lib/function-collect.d.ts +75 -12
- package/dist/src/lib/function-collect.js +427 -12
- package/dist/src/lib/function-collect.js.map +1 -1
- package/dist/src/lib/function-db-types.d.ts +29 -0
- package/dist/src/lib/function-db-types.js +117 -7
- package/dist/src/lib/function-db-types.js.map +1 -1
- package/dist/src/lib/function-document-types.d.ts +5 -3
- package/dist/src/lib/function-document-types.js +10 -14
- package/dist/src/lib/function-document-types.js.map +1 -1
- package/dist/src/lib/function-lint.d.ts +34 -0
- package/dist/src/lib/function-lint.js +112 -0
- package/dist/src/lib/function-lint.js.map +1 -0
- package/dist/src/lib/function-log-row.js +21 -2
- package/dist/src/lib/function-log-row.js.map +1 -1
- package/dist/src/lib/function-run.d.ts +16 -21
- package/dist/src/lib/function-run.js +37 -30
- package/dist/src/lib/function-run.js.map +1 -1
- package/dist/src/lib/function-schema-codegen.d.ts +1 -1
- package/dist/src/lib/function-schema-codegen.js +5 -5
- package/dist/src/lib/function-schema-codegen.js.map +1 -1
- package/dist/src/lib/function-source-roots.d.ts +67 -0
- package/dist/src/lib/function-source-roots.js +148 -0
- package/dist/src/lib/function-source-roots.js.map +1 -0
- package/dist/src/lib/function-sync.d.ts +108 -22
- package/dist/src/lib/function-sync.js +127 -39
- package/dist/src/lib/function-sync.js.map +1 -1
- package/dist/src/lib/function-trigger-listing.d.ts +11 -6
- package/dist/src/lib/function-trigger-listing.js +32 -11
- package/dist/src/lib/function-trigger-listing.js.map +1 -1
- package/dist/src/lib/function-typecheck.d.ts +37 -2
- package/dist/src/lib/function-typecheck.js +210 -28
- package/dist/src/lib/function-typecheck.js.map +1 -1
- package/dist/src/lib/function-versions.d.ts +2 -0
- package/dist/src/lib/function-versions.js +1 -0
- package/dist/src/lib/function-versions.js.map +1 -1
- package/dist/src/lib/generated-allowlist.js +0 -20
- package/dist/src/lib/generated-allowlist.js.map +1 -1
- package/dist/src/lib/generated-config-surfaces.d.ts +703 -203
- package/dist/src/lib/generated-config-surfaces.js +2270 -2014
- package/dist/src/lib/generated-config-surfaces.js.map +1 -1
- package/dist/src/lib/generated-sdk-types.d.ts +1 -1
- package/dist/src/lib/generated-sdk-types.js +1 -1
- package/dist/src/lib/generated-sdk-types.js.map +1 -1
- package/dist/src/lib/init-adopt.js +12 -3
- package/dist/src/lib/init-adopt.js.map +1 -1
- package/dist/src/lib/init-login-note.d.ts +13 -0
- package/dist/src/lib/init-login-note.js +22 -0
- package/dist/src/lib/init-login-note.js.map +1 -0
- package/dist/src/lib/json-value.d.ts +6 -0
- package/dist/src/lib/json-value.js +13 -0
- package/dist/src/lib/json-value.js.map +1 -0
- package/dist/src/lib/load-routes.d.ts +33 -0
- package/dist/src/lib/load-routes.js +35 -0
- package/dist/src/lib/load-routes.js.map +1 -0
- package/dist/src/lib/local-state.d.ts +38 -7
- package/dist/src/lib/local-state.js +172 -49
- package/dist/src/lib/local-state.js.map +1 -1
- package/dist/src/lib/local-test-cases.d.ts +5 -2
- package/dist/src/lib/local-test-cases.js +7 -4
- package/dist/src/lib/local-test-cases.js.map +1 -1
- package/dist/src/lib/log-inspection.d.ts +42 -4
- package/dist/src/lib/log-inspection.js +37 -5
- package/dist/src/lib/log-inspection.js.map +1 -1
- package/dist/src/lib/login-exchange-check.d.ts +18 -0
- package/dist/src/lib/login-exchange-check.js +27 -0
- package/dist/src/lib/login-exchange-check.js.map +1 -0
- package/dist/src/lib/login-scope-lines.d.ts +25 -0
- package/dist/src/lib/login-scope-lines.js +45 -0
- package/dist/src/lib/login-scope-lines.js.map +1 -0
- package/dist/src/lib/logout-admin-session.d.ts +2 -1
- package/dist/src/lib/logout-admin-session.js +7 -1
- package/dist/src/lib/logout-admin-session.js.map +1 -1
- package/dist/src/lib/object-status-filter.d.ts +9 -1
- package/dist/src/lib/object-status-filter.js +9 -1
- package/dist/src/lib/object-status-filter.js.map +1 -1
- package/dist/src/lib/output.js +2 -0
- package/dist/src/lib/output.js.map +1 -1
- package/dist/src/lib/paginate.d.ts +0 -5
- package/dist/src/lib/paginate.js +0 -5
- package/dist/src/lib/paginate.js.map +1 -1
- package/dist/src/lib/pin-refusal-hint.d.ts +12 -0
- package/dist/src/lib/pin-refusal-hint.js +35 -0
- package/dist/src/lib/pin-refusal-hint.js.map +1 -0
- package/dist/src/lib/primitive-env-plugin.d.ts +99 -0
- package/dist/src/lib/primitive-env-plugin.js +408 -0
- package/dist/src/lib/primitive-env-plugin.js.map +1 -0
- package/dist/src/lib/project-config.d.ts +7 -0
- package/dist/src/lib/project-config.js +22 -1
- package/dist/src/lib/project-config.js.map +1 -1
- package/dist/src/lib/project-login-apps.d.ts +8 -0
- package/dist/src/lib/project-login-apps.js +27 -0
- package/dist/src/lib/project-login-apps.js.map +1 -0
- package/dist/src/lib/prompt-schema-codegen.d.ts +10 -3
- package/dist/src/lib/prompt-schema-codegen.js +52 -11
- package/dist/src/lib/prompt-schema-codegen.js.map +1 -1
- package/dist/src/lib/pull-write.d.ts +31 -0
- package/dist/src/lib/pull-write.js +49 -0
- package/dist/src/lib/pull-write.js.map +1 -0
- package/dist/src/lib/push-failure-report.d.ts +45 -0
- package/dist/src/lib/push-failure-report.js +57 -0
- package/dist/src/lib/push-failure-report.js.map +1 -0
- package/dist/src/lib/records-verbs.d.ts +69 -0
- package/dist/src/lib/records-verbs.js +40 -0
- package/dist/src/lib/records-verbs.js.map +1 -0
- package/dist/src/lib/refresh-admin-credentials.d.ts +7 -0
- package/dist/src/lib/refresh-admin-credentials.js +16 -4
- package/dist/src/lib/refresh-admin-credentials.js.map +1 -1
- package/dist/src/lib/root-import-decision.d.ts +65 -0
- package/dist/src/lib/root-import-decision.js +109 -0
- package/dist/src/lib/root-import-decision.js.map +1 -0
- package/dist/src/lib/run-status.d.ts +1 -1
- package/dist/src/lib/run-status.generated.d.ts +2 -2
- package/dist/src/lib/run-status.generated.js +3 -1
- package/dist/src/lib/run-status.generated.js.map +1 -1
- package/dist/src/lib/run-status.js +1 -1
- package/dist/src/lib/schema-codegen/generated-schema-descriptor.d.ts +129 -0
- package/dist/src/lib/schema-codegen/generated-schema-descriptor.js +269 -0
- package/dist/src/lib/schema-codegen/generated-schema-descriptor.js.map +1 -0
- package/dist/src/lib/schema-codegen/naming.d.ts +35 -0
- package/dist/src/lib/schema-codegen/naming.js +83 -0
- package/dist/src/lib/schema-codegen/naming.js.map +1 -0
- package/dist/src/lib/schema-codegen/schemaToTs.d.ts +82 -0
- package/dist/src/lib/schema-codegen/schemaToTs.js +305 -0
- package/dist/src/lib/schema-codegen/schemaToTs.js.map +1 -0
- package/dist/src/lib/scope-request.d.ts +84 -0
- package/dist/src/lib/scope-request.js +235 -0
- package/dist/src/lib/scope-request.js.map +1 -0
- package/dist/src/lib/session-id.d.ts +9 -0
- package/dist/src/lib/session-id.js +28 -0
- package/dist/src/lib/session-id.js.map +1 -0
- package/dist/src/lib/snapshot-build-rows.d.ts +21 -0
- package/dist/src/lib/snapshot-build-rows.js +22 -0
- package/dist/src/lib/snapshot-build-rows.js.map +1 -1
- package/dist/src/lib/snapshot-build.js +8 -3
- package/dist/src/lib/snapshot-build.js.map +1 -1
- package/dist/src/lib/snapshots.d.ts +17 -1
- package/dist/src/lib/snapshots.js +50 -2
- package/dist/src/lib/snapshots.js.map +1 -1
- package/dist/src/lib/swift-codegen/agentGenerator.d.ts +6 -2
- package/dist/src/lib/swift-codegen/agentGenerator.js +57 -5
- package/dist/src/lib/swift-codegen/agentGenerator.js.map +1 -1
- package/dist/src/lib/swift-codegen/banners.d.ts +34 -7
- package/dist/src/lib/swift-codegen/banners.js +37 -7
- package/dist/src/lib/swift-codegen/banners.js.map +1 -1
- package/dist/src/lib/swift-codegen/dbGenerator.d.ts +4 -3
- package/dist/src/lib/swift-codegen/dbGenerator.js +14 -117
- package/dist/src/lib/swift-codegen/dbGenerator.js.map +1 -1
- package/dist/src/lib/swift-codegen/functionGenerator.d.ts +3 -3
- package/dist/src/lib/swift-codegen/functionGenerator.js +23 -18
- package/dist/src/lib/swift-codegen/functionGenerator.js.map +1 -1
- package/dist/src/lib/swift-codegen/generator.d.ts +5 -5
- package/dist/src/lib/swift-codegen/generator.js +35 -40
- package/dist/src/lib/swift-codegen/generator.js.map +1 -1
- package/dist/src/lib/swift-codegen/schemaToSwift.d.ts +3 -3
- package/dist/src/lib/swift-codegen/schemaToSwift.js +4 -4
- package/dist/src/lib/swift-codegen/schemaToSwift.js.map +1 -1
- package/dist/src/lib/swift-codegen/swiftKeys.d.ts +19 -0
- package/dist/src/lib/swift-codegen/swiftKeys.js +31 -0
- package/dist/src/lib/swift-codegen/swiftKeys.js.map +1 -0
- package/dist/src/lib/sync-paths.d.ts +35 -0
- package/dist/src/lib/sync-paths.js +57 -5
- package/dist/src/lib/sync-paths.js.map +1 -1
- package/dist/src/lib/sync-resource-types.d.ts +26 -26
- package/dist/src/lib/sync-resource-types.js +61 -189
- package/dist/src/lib/sync-resource-types.js.map +1 -1
- package/dist/src/lib/sync-selectors.d.ts +5 -1
- package/dist/src/lib/sync-selectors.js +23 -13
- package/dist/src/lib/sync-selectors.js.map +1 -1
- package/dist/src/lib/test-case-file-names.d.ts +3 -5
- package/dist/src/lib/test-case-file-names.js +3 -5
- package/dist/src/lib/test-case-file-names.js.map +1 -1
- package/dist/src/lib/toml-database-config.d.ts +15 -75
- package/dist/src/lib/toml-database-config.js +17 -306
- package/dist/src/lib/toml-database-config.js.map +1 -1
- package/dist/src/lib/transient-retry.d.ts +43 -0
- package/dist/src/lib/transient-retry.js +94 -0
- package/dist/src/lib/transient-retry.js.map +1 -0
- package/dist/src/lib/vars-override.d.ts +105 -0
- package/dist/src/lib/vars-override.js +143 -0
- package/dist/src/lib/vars-override.js.map +1 -0
- package/dist/src/lib/webhook-capture.d.ts +43 -0
- package/dist/src/lib/webhook-capture.js +91 -0
- package/dist/src/lib/webhook-capture.js.map +1 -0
- package/dist/src/lib/webhook-deliver.d.ts +18 -20
- package/dist/src/lib/webhook-deliver.js +34 -89
- package/dist/src/lib/webhook-deliver.js.map +1 -1
- package/dist/src/lib/webhook-test-run.d.ts +32 -0
- package/dist/src/lib/webhook-test-run.js +108 -0
- package/dist/src/lib/webhook-test-run.js.map +1 -0
- package/dist/src/lib/workflow-codegen/generator.d.ts +7 -7
- package/dist/src/lib/workflow-codegen/generator.js +16 -23
- package/dist/src/lib/workflow-codegen/generator.js.map +1 -1
- package/dist/src/lib/workflow-codegen/invokerIR.d.ts +6 -12
- package/dist/src/lib/workflow-codegen/invokerIR.js +4 -5
- package/dist/src/lib/workflow-codegen/invokerIR.js.map +1 -1
- package/dist/src/lib/workflow-toml-validator.d.ts +2 -0
- package/dist/src/lib/workflow-toml-validator.js +28 -1
- package/dist/src/lib/workflow-toml-validator.js.map +1 -1
- package/dist/src/types/index.d.ts +30 -37
- package/dist/src/validators.d.ts +7 -55
- package/dist/src/validators.js +7 -53
- package/dist/src/validators.js.map +1 -1
- package/dist/src/vite.d.ts +17 -0
- package/dist/src/vite.js +18 -0
- package/dist/src/vite.js.map +1 -0
- package/package.json +20 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toml-database-config.js","sourceRoot":"","sources":["../../../src/lib/toml-database-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toml-database-config.js","sourceRoot":"","sources":["../../../src/lib/toml-database-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retry a request whose failure says nothing about the request itself.
|
|
3
|
+
*
|
|
4
|
+
* A 5xx, a 429, a 408 or a failure in transport (no status at all) is the
|
|
5
|
+
* server or the network having a bad moment: storage answering "internal
|
|
6
|
+
* error, please try again" is the common one. Every other status is an answer
|
|
7
|
+
* — a refusal, a validation failure, a missing resource — and asking again
|
|
8
|
+
* gets the same answer, so it is thrown at once.
|
|
9
|
+
*
|
|
10
|
+
* This is the CLI's one retry for such failures: the import's writes and the
|
|
11
|
+
* export's lookups both go through it.
|
|
12
|
+
*
|
|
13
|
+
* Only idempotent requests belong here. A retried request may have landed the
|
|
14
|
+
* first time with its response lost, so the second attempt must leave the
|
|
15
|
+
* server where one attempt would have: a read, a blob PUT with the same bytes,
|
|
16
|
+
* a Yjs state merge, an artifact upload to the same key.
|
|
17
|
+
*/
|
|
18
|
+
/** The waits between attempts: four attempts in all, about 7.5 s at most. */
|
|
19
|
+
export declare const TRANSIENT_RETRY_DELAYS_MS: number[];
|
|
20
|
+
/** Whether an HTTP status is the server having a bad moment, not an answer. */
|
|
21
|
+
export declare function isTransientStatus(status: number): boolean;
|
|
22
|
+
/** The HTTP status a thrown request carries, or `undefined` when it has none. */
|
|
23
|
+
export declare function failureStatus(error: unknown): number | undefined;
|
|
24
|
+
/** Whether a failed request is worth making again. */
|
|
25
|
+
export declare function isTransientFailure(error: unknown): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether a failure is a request the server never answered, or answered with
|
|
28
|
+
* a transient status. Unlike `isTransientFailure`, an error with no status is
|
|
29
|
+
* transient only when it is a transport failure: an error the CLI raised
|
|
30
|
+
* itself (a file it could not parse, a check it made) is an answer too. An
|
|
31
|
+
* error that wraps another (`cause`) is judged by the one it wraps, so a
|
|
32
|
+
* push's own message around a dropped request or a 503 keeps its verdict.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isTransientRequestFailure(error: unknown): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Run `attempt`, retrying a transient failure on the back-off schedule.
|
|
37
|
+
*
|
|
38
|
+
* `onRetry` is told about each failure that is about to be retried, so the
|
|
39
|
+
* caller can say so; the last failure, or the first that is not transient, is
|
|
40
|
+
* thrown unchanged. `sleep` performs each wait; a test can pass one that
|
|
41
|
+
* returns at once.
|
|
42
|
+
*/
|
|
43
|
+
export declare function withTransientRetry<T>(attempt: () => Promise<T>, onRetry?: (error: unknown, delayMs: number, attemptNumber: number) => void, delaysMs?: readonly number[], sleep?: (ms: number) => Promise<void>): Promise<T>;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retry a request whose failure says nothing about the request itself.
|
|
3
|
+
*
|
|
4
|
+
* A 5xx, a 429, a 408 or a failure in transport (no status at all) is the
|
|
5
|
+
* server or the network having a bad moment: storage answering "internal
|
|
6
|
+
* error, please try again" is the common one. Every other status is an answer
|
|
7
|
+
* — a refusal, a validation failure, a missing resource — and asking again
|
|
8
|
+
* gets the same answer, so it is thrown at once.
|
|
9
|
+
*
|
|
10
|
+
* This is the CLI's one retry for such failures: the import's writes and the
|
|
11
|
+
* export's lookups both go through it.
|
|
12
|
+
*
|
|
13
|
+
* Only idempotent requests belong here. A retried request may have landed the
|
|
14
|
+
* first time with its response lost, so the second attempt must leave the
|
|
15
|
+
* server where one attempt would have: a read, a blob PUT with the same bytes,
|
|
16
|
+
* a Yjs state merge, an artifact upload to the same key.
|
|
17
|
+
*/
|
|
18
|
+
/** The waits between attempts: four attempts in all, about 7.5 s at most. */
|
|
19
|
+
export const TRANSIENT_RETRY_DELAYS_MS = [500, 2000, 5000];
|
|
20
|
+
/** Whether an HTTP status is the server having a bad moment, not an answer. */
|
|
21
|
+
export function isTransientStatus(status) {
|
|
22
|
+
return status >= 500 || status === 429 || status === 408;
|
|
23
|
+
}
|
|
24
|
+
/** The HTTP status a thrown request carries, or `undefined` when it has none. */
|
|
25
|
+
export function failureStatus(error) {
|
|
26
|
+
const status = error?.statusCode ?? error?.status;
|
|
27
|
+
return typeof status === "number" ? status : undefined;
|
|
28
|
+
}
|
|
29
|
+
/** Whether a failed request is worth making again. */
|
|
30
|
+
export function isTransientFailure(error) {
|
|
31
|
+
const status = failureStatus(error);
|
|
32
|
+
return status === undefined || isTransientStatus(status);
|
|
33
|
+
}
|
|
34
|
+
/** Socket-level codes a request fails with when it got no answer. */
|
|
35
|
+
const TRANSPORT_ERROR_CODES = new Set([
|
|
36
|
+
"ECONNRESET",
|
|
37
|
+
"ECONNREFUSED",
|
|
38
|
+
"ECONNABORTED",
|
|
39
|
+
"ETIMEDOUT",
|
|
40
|
+
"EPIPE",
|
|
41
|
+
"EAI_AGAIN",
|
|
42
|
+
"UND_ERR_SOCKET",
|
|
43
|
+
"UND_ERR_CONNECT_TIMEOUT",
|
|
44
|
+
"UND_ERR_HEADERS_TIMEOUT",
|
|
45
|
+
"UND_ERR_BODY_TIMEOUT",
|
|
46
|
+
]);
|
|
47
|
+
/**
|
|
48
|
+
* Whether a failure is a request the server never answered, or answered with
|
|
49
|
+
* a transient status. Unlike `isTransientFailure`, an error with no status is
|
|
50
|
+
* transient only when it is a transport failure: an error the CLI raised
|
|
51
|
+
* itself (a file it could not parse, a check it made) is an answer too. An
|
|
52
|
+
* error that wraps another (`cause`) is judged by the one it wraps, so a
|
|
53
|
+
* push's own message around a dropped request or a 503 keeps its verdict.
|
|
54
|
+
*/
|
|
55
|
+
export function isTransientRequestFailure(error) {
|
|
56
|
+
return requestFailureIsTransient(error, 0);
|
|
57
|
+
}
|
|
58
|
+
function requestFailureIsTransient(error, depth) {
|
|
59
|
+
if (!error || typeof error !== "object" || depth > 4)
|
|
60
|
+
return false;
|
|
61
|
+
const status = failureStatus(error);
|
|
62
|
+
if (status !== undefined)
|
|
63
|
+
return isTransientStatus(status);
|
|
64
|
+
const code = error.code;
|
|
65
|
+
if (typeof code === "string" && TRANSPORT_ERROR_CODES.has(code))
|
|
66
|
+
return true;
|
|
67
|
+
if (error instanceof TypeError && error.message === "fetch failed")
|
|
68
|
+
return true;
|
|
69
|
+
return requestFailureIsTransient(error.cause, depth + 1);
|
|
70
|
+
}
|
|
71
|
+
const defaultSleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
72
|
+
/**
|
|
73
|
+
* Run `attempt`, retrying a transient failure on the back-off schedule.
|
|
74
|
+
*
|
|
75
|
+
* `onRetry` is told about each failure that is about to be retried, so the
|
|
76
|
+
* caller can say so; the last failure, or the first that is not transient, is
|
|
77
|
+
* thrown unchanged. `sleep` performs each wait; a test can pass one that
|
|
78
|
+
* returns at once.
|
|
79
|
+
*/
|
|
80
|
+
export async function withTransientRetry(attempt, onRetry, delaysMs = TRANSIENT_RETRY_DELAYS_MS, sleep = defaultSleep) {
|
|
81
|
+
for (let failures = 0;; failures++) {
|
|
82
|
+
try {
|
|
83
|
+
return await attempt();
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
if (failures >= delaysMs.length || !isTransientFailure(error))
|
|
87
|
+
throw error;
|
|
88
|
+
const delayMs = delaysMs[failures];
|
|
89
|
+
onRetry?.(error, delayMs, failures + 1);
|
|
90
|
+
await sleep(delayMs);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=transient-retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transient-retry.js","sourceRoot":"","sources":["../../../src/lib/transient-retry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A child app's own config var values: `vars.<name>.override.toml` (#4485).
|
|
3
|
+
*
|
|
4
|
+
* A machine-local environment `<name>` (#4117) shares the committed
|
|
5
|
+
* environment's `primitive/<tree>/`, so the `vars.toml` there holds the
|
|
6
|
+
* parent's values. Vars whose value belongs to one app — its database ids, a
|
|
7
|
+
* webhook URL embedding its app id, an OAuth origin — need a place of their
|
|
8
|
+
* own that survives a push, a diff and a pull without touching what merges to
|
|
9
|
+
* main. That place is `primitive/<tree>/vars.<name>.override.toml`, a flat
|
|
10
|
+
* `KEY = "value"` table under the same rules as `vars.toml`:
|
|
11
|
+
*
|
|
12
|
+
* - It is read only when `<name>` is the SELECTED environment. A committed
|
|
13
|
+
* environment has no override, so a file named for one is never read.
|
|
14
|
+
* - It LAYERS over `vars.toml`: its keys replace or add, every other key keeps
|
|
15
|
+
* `vars.toml`'s value, and no key can be made absent on the child.
|
|
16
|
+
* - It is machine-local and git-ignored (`primitive/*\/*.override.toml`).
|
|
17
|
+
*
|
|
18
|
+
* Everything here is pure apart from `readLocalVars`, which reads the two
|
|
19
|
+
* files; the commands own the writes.
|
|
20
|
+
*/
|
|
21
|
+
/** The tree's shared var file. */
|
|
22
|
+
export declare const VARS_FILE_NAME = "vars.toml";
|
|
23
|
+
/**
|
|
24
|
+
* The gitignore pattern that keeps every override file out of a commit,
|
|
25
|
+
* written by `primitive init` and carried by both app templates.
|
|
26
|
+
*/
|
|
27
|
+
export declare const VARS_OVERRIDE_GITIGNORE_PATTERN = "primitive/*/*.override.toml";
|
|
28
|
+
/** A flat var table: key to value. */
|
|
29
|
+
export type VarTable = Record<string, string>;
|
|
30
|
+
/** `vars.<name>.override.toml` — the override file's name inside the tree. */
|
|
31
|
+
export declare function varsOverrideFileName(name: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* The override file for `env` in the tree `configDir`, or `null` for a
|
|
34
|
+
* committed environment, which never has one. Refuses a name that is not a
|
|
35
|
+
* safe path component.
|
|
36
|
+
*/
|
|
37
|
+
export declare function varsOverridePath(configDir: string, env: {
|
|
38
|
+
name: string;
|
|
39
|
+
local: boolean;
|
|
40
|
+
}): string | null;
|
|
41
|
+
/**
|
|
42
|
+
* `base` with `override`'s keys replacing or adding to it. Either side may be
|
|
43
|
+
* absent; the result is a new table.
|
|
44
|
+
*/
|
|
45
|
+
export declare function layerVars(base: Record<string, unknown> | null, override: Record<string, unknown> | null): Record<string, unknown>;
|
|
46
|
+
/** The two var files of an environment and the table they layer into. */
|
|
47
|
+
export interface LocalVars {
|
|
48
|
+
basePath: string;
|
|
49
|
+
/** `vars.toml`'s table, or `null` when the file is absent. */
|
|
50
|
+
base: Record<string, unknown> | null;
|
|
51
|
+
/** The override file, or `null` for an environment that has none. */
|
|
52
|
+
overridePath: string | null;
|
|
53
|
+
/** The override's table, or `null` when there is no file. */
|
|
54
|
+
override: Record<string, unknown> | null;
|
|
55
|
+
/** What the environment's vars are: `base` with `override` layered over it. */
|
|
56
|
+
layered: Record<string, unknown>;
|
|
57
|
+
/** Override keys `vars.toml` also declares, sorted. */
|
|
58
|
+
overridingKeys: string[];
|
|
59
|
+
/** Override keys `vars.toml` does not declare, sorted. */
|
|
60
|
+
addedKeys: string[];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Reads `vars.toml` in `configDir` and the override at `overridePath`, and
|
|
64
|
+
* layers them. A file that cannot be parsed throws an error naming it.
|
|
65
|
+
*/
|
|
66
|
+
export declare function readLocalVars(configDir: string, overridePath: string | null): LocalVars;
|
|
67
|
+
/**
|
|
68
|
+
* The override file's body: a header saying what the file is, then the keys
|
|
69
|
+
* sorted. An empty table is a comment-only file.
|
|
70
|
+
*/
|
|
71
|
+
export declare function serializeVarsOverride(vars: VarTable, target: {
|
|
72
|
+
name: string;
|
|
73
|
+
tree: string;
|
|
74
|
+
}): string;
|
|
75
|
+
/**
|
|
76
|
+
* What `config pull` on a machine-local environment writes into its override
|
|
77
|
+
* file. `vars.toml` is never written by such a pull, so each pulled key —
|
|
78
|
+
* every key on the server or in the override, or only `selectedKeys` — is
|
|
79
|
+
* resolved against it: a server value equal to `vars.toml`'s is dropped from
|
|
80
|
+
* the override, any other server value is held there, and a key the server no
|
|
81
|
+
* longer has is removed. Keys outside the selection stay as they are.
|
|
82
|
+
*/
|
|
83
|
+
export declare function planVarsOverridePull(serverVars: ReadonlyArray<{
|
|
84
|
+
key: string;
|
|
85
|
+
value?: string;
|
|
86
|
+
}>, baseVars: Record<string, unknown>, selectedKeys: ReadonlySet<string> | null, currentOverride: Record<string, unknown>, target: {
|
|
87
|
+
name: string;
|
|
88
|
+
tree: string;
|
|
89
|
+
}): {
|
|
90
|
+
vars: VarTable;
|
|
91
|
+
content: string;
|
|
92
|
+
};
|
|
93
|
+
/** The one line push, diff and pull print when an override is in play. */
|
|
94
|
+
export declare function varsOverrideSummaryLine(fileName: string, keys: {
|
|
95
|
+
overridingKeys: readonly string[];
|
|
96
|
+
addedKeys: readonly string[];
|
|
97
|
+
}): string;
|
|
98
|
+
/**
|
|
99
|
+
* The note a push on a child with an override prints when it changed the
|
|
100
|
+
* value of a var that already existed and left at least one function as it
|
|
101
|
+
* was. Functions read vars through a cache keyed by function version, so an
|
|
102
|
+
* unchanged function keeps the value it first read until a new version of it
|
|
103
|
+
* is pushed or its isolate is recycled. `null` when neither applies.
|
|
104
|
+
*/
|
|
105
|
+
export declare function cachedVarsNote(changedKeys: readonly string[], skippedFunctionCount: number): string | null;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A child app's own config var values: `vars.<name>.override.toml` (#4485).
|
|
3
|
+
*
|
|
4
|
+
* A machine-local environment `<name>` (#4117) shares the committed
|
|
5
|
+
* environment's `primitive/<tree>/`, so the `vars.toml` there holds the
|
|
6
|
+
* parent's values. Vars whose value belongs to one app — its database ids, a
|
|
7
|
+
* webhook URL embedding its app id, an OAuth origin — need a place of their
|
|
8
|
+
* own that survives a push, a diff and a pull without touching what merges to
|
|
9
|
+
* main. That place is `primitive/<tree>/vars.<name>.override.toml`, a flat
|
|
10
|
+
* `KEY = "value"` table under the same rules as `vars.toml`:
|
|
11
|
+
*
|
|
12
|
+
* - It is read only when `<name>` is the SELECTED environment. A committed
|
|
13
|
+
* environment has no override, so a file named for one is never read.
|
|
14
|
+
* - It LAYERS over `vars.toml`: its keys replace or add, every other key keeps
|
|
15
|
+
* `vars.toml`'s value, and no key can be made absent on the child.
|
|
16
|
+
* - It is machine-local and git-ignored (`primitive/*\/*.override.toml`).
|
|
17
|
+
*
|
|
18
|
+
* Everything here is pure apart from `readLocalVars`, which reads the two
|
|
19
|
+
* files; the commands own the writes.
|
|
20
|
+
*/
|
|
21
|
+
import { existsSync, readFileSync } from "fs";
|
|
22
|
+
import { basename, join } from "path";
|
|
23
|
+
import { parseConfigToml, stringifyConfigToml } from "./config-toml.js";
|
|
24
|
+
import { assertSafePathComponent } from "./sync-paths.js";
|
|
25
|
+
/** The tree's shared var file. */
|
|
26
|
+
export const VARS_FILE_NAME = "vars.toml";
|
|
27
|
+
/**
|
|
28
|
+
* The gitignore pattern that keeps every override file out of a commit,
|
|
29
|
+
* written by `primitive init` and carried by both app templates.
|
|
30
|
+
*/
|
|
31
|
+
export const VARS_OVERRIDE_GITIGNORE_PATTERN = "primitive/*/*.override.toml";
|
|
32
|
+
/** `vars.<name>.override.toml` — the override file's name inside the tree. */
|
|
33
|
+
export function varsOverrideFileName(name) {
|
|
34
|
+
assertSafePathComponent(name, "environment name");
|
|
35
|
+
return `vars.${name}.override.toml`;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The override file for `env` in the tree `configDir`, or `null` for a
|
|
39
|
+
* committed environment, which never has one. Refuses a name that is not a
|
|
40
|
+
* safe path component.
|
|
41
|
+
*/
|
|
42
|
+
export function varsOverridePath(configDir, env) {
|
|
43
|
+
if (!env.local)
|
|
44
|
+
return null;
|
|
45
|
+
return join(configDir, varsOverrideFileName(env.name));
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* `base` with `override`'s keys replacing or adding to it. Either side may be
|
|
49
|
+
* absent; the result is a new table.
|
|
50
|
+
*/
|
|
51
|
+
export function layerVars(base, override) {
|
|
52
|
+
return { ...(base ?? {}), ...(override ?? {}) };
|
|
53
|
+
}
|
|
54
|
+
function readVarTable(path) {
|
|
55
|
+
if (!existsSync(path))
|
|
56
|
+
return null;
|
|
57
|
+
try {
|
|
58
|
+
return parseConfigToml(readFileSync(path, "utf-8"));
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
throw new Error(`${basename(path)}: ${err?.message || String(err)}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Reads `vars.toml` in `configDir` and the override at `overridePath`, and
|
|
66
|
+
* layers them. A file that cannot be parsed throws an error naming it.
|
|
67
|
+
*/
|
|
68
|
+
export function readLocalVars(configDir, overridePath) {
|
|
69
|
+
const basePath = join(configDir, VARS_FILE_NAME);
|
|
70
|
+
const base = readVarTable(basePath);
|
|
71
|
+
const override = overridePath ? readVarTable(overridePath) : null;
|
|
72
|
+
const overrideKeys = Object.keys(override ?? {}).sort();
|
|
73
|
+
return {
|
|
74
|
+
basePath,
|
|
75
|
+
base,
|
|
76
|
+
overridePath,
|
|
77
|
+
override,
|
|
78
|
+
layered: layerVars(base, override),
|
|
79
|
+
overridingKeys: overrideKeys.filter((key) => base !== null && key in base),
|
|
80
|
+
addedKeys: overrideKeys.filter((key) => base === null || !(key in base)),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The override file's body: a header saying what the file is, then the keys
|
|
85
|
+
* sorted. An empty table is a comment-only file.
|
|
86
|
+
*/
|
|
87
|
+
export function serializeVarsOverride(vars, target) {
|
|
88
|
+
const sorted = {};
|
|
89
|
+
for (const key of Object.keys(vars).sort())
|
|
90
|
+
sorted[key] = vars[key];
|
|
91
|
+
const header = `# Config var values for the machine-local environment "${target.name}" only.\n` +
|
|
92
|
+
`# Layered over primitive/${target.tree}/${VARS_FILE_NAME} when "${target.name}" is\n` +
|
|
93
|
+
"# selected: a key here replaces or adds to that file's value. Machine-local —\n" +
|
|
94
|
+
"# never commit this file. Non-secret values only; use `primitive secrets`\n" +
|
|
95
|
+
"# for credentials.\n\n";
|
|
96
|
+
return header + stringifyConfigToml(sorted);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* What `config pull` on a machine-local environment writes into its override
|
|
100
|
+
* file. `vars.toml` is never written by such a pull, so each pulled key —
|
|
101
|
+
* every key on the server or in the override, or only `selectedKeys` — is
|
|
102
|
+
* resolved against it: a server value equal to `vars.toml`'s is dropped from
|
|
103
|
+
* the override, any other server value is held there, and a key the server no
|
|
104
|
+
* longer has is removed. Keys outside the selection stay as they are.
|
|
105
|
+
*/
|
|
106
|
+
export function planVarsOverridePull(serverVars, baseVars, selectedKeys, currentOverride, target) {
|
|
107
|
+
const server = new Map(serverVars.map((v) => [v.key, String(v.value ?? "")]));
|
|
108
|
+
const vars = {};
|
|
109
|
+
for (const [key, value] of Object.entries(currentOverride))
|
|
110
|
+
vars[key] = String(value);
|
|
111
|
+
const pulled = selectedKeys ?? new Set([...server.keys(), ...Object.keys(currentOverride)]);
|
|
112
|
+
for (const key of pulled) {
|
|
113
|
+
const value = server.get(key);
|
|
114
|
+
if (value === undefined || (key in baseVars && String(baseVars[key]) === value)) {
|
|
115
|
+
delete vars[key];
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
vars[key] = value;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return { vars, content: serializeVarsOverride(vars, target) };
|
|
122
|
+
}
|
|
123
|
+
/** The one line push, diff and pull print when an override is in play. */
|
|
124
|
+
export function varsOverrideSummaryLine(fileName, keys) {
|
|
125
|
+
return (`Vars override: ${fileName} (${keys.overridingKeys.length} overriding ${VARS_FILE_NAME}, ` +
|
|
126
|
+
`${keys.addedKeys.length} added)`);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* The note a push on a child with an override prints when it changed the
|
|
130
|
+
* value of a var that already existed and left at least one function as it
|
|
131
|
+
* was. Functions read vars through a cache keyed by function version, so an
|
|
132
|
+
* unchanged function keeps the value it first read until a new version of it
|
|
133
|
+
* is pushed or its isolate is recycled. `null` when neither applies.
|
|
134
|
+
*/
|
|
135
|
+
export function cachedVarsNote(changedKeys, skippedFunctionCount) {
|
|
136
|
+
if (changedKeys.length === 0 || skippedFunctionCount === 0)
|
|
137
|
+
return null;
|
|
138
|
+
const keys = [...changedKeys].sort().join(", ");
|
|
139
|
+
return (`Note: changed var value(s) ${keys}; ${skippedFunctionCount} unchanged function(s) were not re-pushed. ` +
|
|
140
|
+
"A running function version caches the vars it has read, so it keeps the old value " +
|
|
141
|
+
"until a new version of it is pushed (any change to its code or TOML) or its isolate recycles.");
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=vars-override.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vars-override.js","sourceRoot":"","sources":["../../../src/lib/vars-override.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform ceiling on a webhook body (`MAX_WEBHOOK_BODY_BYTES_LIMIT`, 25 MiB).
|
|
3
|
+
* A per-webhook cap can be lower — that one is the server's call and comes back
|
|
4
|
+
* as a `body_too_large` verdict. This bound only stops the CLI from reading and
|
|
5
|
+
* encoding a file no webhook could ever accept.
|
|
6
|
+
*/
|
|
7
|
+
export declare const MAX_VERIFY_BODY_BYTES: number;
|
|
8
|
+
/** A delivery captured from a provider: its headers and its exact body bytes. */
|
|
9
|
+
export interface CapturedDelivery {
|
|
10
|
+
/**
|
|
11
|
+
* Ordered pairs, not an object: a real capture can carry the same field name
|
|
12
|
+
* on more than one line, which an object cannot represent.
|
|
13
|
+
*/
|
|
14
|
+
headers: Array<[string, string]>;
|
|
15
|
+
/** Exactly one body form — the server refuses a request naming both. */
|
|
16
|
+
body: {
|
|
17
|
+
rawBody: string;
|
|
18
|
+
} | {
|
|
19
|
+
bodyBase64: string;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Read `--header`, `--body` and `--body-file` into the body of a verify
|
|
24
|
+
* request, or say what is wrong with them.
|
|
25
|
+
*
|
|
26
|
+
* Used by `functions triggers verify`.
|
|
27
|
+
*/
|
|
28
|
+
export declare function readCapturedDelivery(options: {
|
|
29
|
+
header?: string[];
|
|
30
|
+
body?: string;
|
|
31
|
+
bodyFile?: string;
|
|
32
|
+
}): {
|
|
33
|
+
ok: true;
|
|
34
|
+
delivery: CapturedDelivery;
|
|
35
|
+
} | {
|
|
36
|
+
ok: false;
|
|
37
|
+
message: string;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Print a verify verdict. Returns the exit code: 0 when the signature verifies
|
|
41
|
+
* and 1 otherwise, so the command composes in a script.
|
|
42
|
+
*/
|
|
43
|
+
export declare function renderVerifyResult(result: any, asJson: boolean): number;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { readFileSync, statSync } from "fs";
|
|
2
|
+
import { success, error, keyValue, json, warn } from "./output.js";
|
|
3
|
+
/**
|
|
4
|
+
* Platform ceiling on a webhook body (`MAX_WEBHOOK_BODY_BYTES_LIMIT`, 25 MiB).
|
|
5
|
+
* A per-webhook cap can be lower — that one is the server's call and comes back
|
|
6
|
+
* as a `body_too_large` verdict. This bound only stops the CLI from reading and
|
|
7
|
+
* encoding a file no webhook could ever accept.
|
|
8
|
+
*/
|
|
9
|
+
export const MAX_VERIFY_BODY_BYTES = 25 * 1024 * 1024;
|
|
10
|
+
/**
|
|
11
|
+
* Read `--header`, `--body` and `--body-file` into the body of a verify
|
|
12
|
+
* request, or say what is wrong with them.
|
|
13
|
+
*
|
|
14
|
+
* Used by `functions triggers verify`.
|
|
15
|
+
*/
|
|
16
|
+
export function readCapturedDelivery(options) {
|
|
17
|
+
if (options.body !== undefined && options.bodyFile !== undefined) {
|
|
18
|
+
return { ok: false, message: "Pass --body or --body-file, not both." };
|
|
19
|
+
}
|
|
20
|
+
let body;
|
|
21
|
+
if (options.bodyFile !== undefined) {
|
|
22
|
+
let bytes;
|
|
23
|
+
try {
|
|
24
|
+
// Size first: a mistakenly-passed large file should be a clear CLI
|
|
25
|
+
// error rather than a buffer the command tries to base64 and ship.
|
|
26
|
+
const { size } = statSync(options.bodyFile);
|
|
27
|
+
if (size > MAX_VERIFY_BODY_BYTES) {
|
|
28
|
+
return {
|
|
29
|
+
ok: false,
|
|
30
|
+
message: `--body-file is ${size} bytes, over the ${MAX_VERIFY_BODY_BYTES}-byte platform maximum for a webhook body. A delivery that large is refused before its signature is checked.`,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
bytes = readFileSync(options.bodyFile);
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
return { ok: false, message: `Could not read --body-file: ${err.message}` };
|
|
37
|
+
}
|
|
38
|
+
// A signature is over BYTES. Decoding a capture that is not valid UTF-8
|
|
39
|
+
// replaces each bad byte with U+FFFD, so sending it as `rawBody` would
|
|
40
|
+
// check the signature against bytes the provider never sent and report a
|
|
41
|
+
// confident `sig_invalid` — the wrong answer in exactly the case this
|
|
42
|
+
// command exists for. `bodyBase64` carries those bytes intact, so only a
|
|
43
|
+
// body that round-trips losslessly goes as text.
|
|
44
|
+
const asText = bytes.toString("utf-8");
|
|
45
|
+
body = Buffer.from(asText, "utf-8").equals(bytes)
|
|
46
|
+
? { rawBody: asText }
|
|
47
|
+
: { bodyBase64: bytes.toString("base64") };
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
// An empty body is a legitimate delivery, so an omitted --body means "the
|
|
51
|
+
// delivery carried no body" rather than "no body was supplied".
|
|
52
|
+
body = { rawBody: options.body ?? "" };
|
|
53
|
+
}
|
|
54
|
+
const headers = [];
|
|
55
|
+
for (const entry of options.header || []) {
|
|
56
|
+
const separator = entry.indexOf(":");
|
|
57
|
+
if (separator <= 0) {
|
|
58
|
+
return { ok: false, message: `Invalid --header '${entry}'. Use 'Name: value'.` };
|
|
59
|
+
}
|
|
60
|
+
headers.push([entry.slice(0, separator).trim(), entry.slice(separator + 1).trim()]);
|
|
61
|
+
}
|
|
62
|
+
return { ok: true, delivery: { headers, body } };
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Print a verify verdict. Returns the exit code: 0 when the signature verifies
|
|
66
|
+
* and 1 otherwise, so the command composes in a script.
|
|
67
|
+
*/
|
|
68
|
+
export function renderVerifyResult(result, asJson) {
|
|
69
|
+
if (asJson) {
|
|
70
|
+
json(result);
|
|
71
|
+
}
|
|
72
|
+
else if (result.verified) {
|
|
73
|
+
success("Signature verified.");
|
|
74
|
+
keyValue(" Scheme", String(result.verificationScheme));
|
|
75
|
+
if (result.dedupKey)
|
|
76
|
+
keyValue(" Dedup key", String(result.dedupKey));
|
|
77
|
+
if (result.externalEventId) {
|
|
78
|
+
keyValue(" Event ID", String(result.externalEventId));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
error("Signature did NOT verify.");
|
|
83
|
+
keyValue(" Scheme", String(result.verificationScheme));
|
|
84
|
+
keyValue(" Reason", String(result.rejectionReason || "unknown"));
|
|
85
|
+
}
|
|
86
|
+
if (result.webhookStatus && result.webhookStatus !== "active") {
|
|
87
|
+
warn(`This webhook is ${result.webhookStatus} — a live delivery would be refused before its signature was checked.`);
|
|
88
|
+
}
|
|
89
|
+
return result.verified ? 0 : 1;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=webhook-capture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-capture.js","sourceRoot":"","sources":["../../../src/lib/webhook-capture.ts"],"names":[],"mappings":"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"}
|