@marinoscar/platform-contract 0.1.0-next.3 → 0.1.0-next.4
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/CHANGELOG.md +173 -0
- package/README.md +23 -1
- package/dist/cjs/ai/capabilities.d.ts +85 -0
- package/dist/cjs/ai/capabilities.d.ts.map +1 -0
- package/dist/cjs/ai/capabilities.js +93 -0
- package/dist/cjs/ai/capabilities.js.map +1 -0
- package/dist/cjs/ai/constants.d.ts +239 -0
- package/dist/cjs/ai/constants.d.ts.map +1 -0
- package/dist/cjs/ai/constants.js +233 -0
- package/dist/cjs/ai/constants.js.map +1 -0
- package/dist/cjs/ai/features.d.ts +24 -0
- package/dist/cjs/ai/features.d.ts.map +1 -0
- package/dist/cjs/ai/features.js +33 -0
- package/dist/cjs/ai/features.js.map +1 -0
- package/dist/cjs/ai/index.d.ts +11 -0
- package/dist/cjs/ai/index.d.ts.map +1 -0
- package/dist/cjs/ai/index.js +81 -0
- package/dist/cjs/ai/index.js.map +1 -0
- package/dist/cjs/ai/org-keys.d.ts +50 -0
- package/dist/cjs/ai/org-keys.d.ts.map +1 -0
- package/dist/cjs/ai/org-keys.js +43 -0
- package/dist/cjs/ai/org-keys.js.map +1 -0
- package/dist/cjs/ai/schemas.d.ts +642 -0
- package/dist/cjs/ai/schemas.d.ts.map +1 -0
- package/dist/cjs/ai/schemas.js +894 -0
- package/dist/cjs/ai/schemas.js.map +1 -0
- package/dist/cjs/android-app/constants.d.ts +337 -0
- package/dist/cjs/android-app/constants.d.ts.map +1 -0
- package/dist/cjs/android-app/constants.js +312 -0
- package/dist/cjs/android-app/constants.js.map +1 -0
- package/dist/cjs/android-app/index.d.ts +5 -0
- package/dist/cjs/android-app/index.d.ts.map +1 -0
- package/dist/cjs/android-app/index.js +57 -0
- package/dist/cjs/android-app/index.js.map +1 -0
- package/dist/cjs/android-app/schemas.d.ts +358 -0
- package/dist/cjs/android-app/schemas.d.ts.map +1 -0
- package/dist/cjs/android-app/schemas.js +310 -0
- package/dist/cjs/android-app/schemas.js.map +1 -0
- package/dist/cjs/credentials/constants.d.ts +35 -0
- package/dist/cjs/credentials/constants.d.ts.map +1 -0
- package/dist/cjs/credentials/constants.js +39 -0
- package/dist/cjs/credentials/constants.js.map +1 -0
- package/dist/cjs/credentials/index.d.ts +5 -0
- package/dist/cjs/credentials/index.d.ts.map +1 -0
- package/dist/cjs/credentials/index.js +17 -0
- package/dist/cjs/credentials/index.js.map +1 -0
- package/dist/cjs/credentials/schemas.d.ts +64 -0
- package/dist/cjs/credentials/schemas.d.ts.map +1 -0
- package/dist/cjs/credentials/schemas.js +82 -0
- package/dist/cjs/credentials/schemas.js.map +1 -0
- package/dist/cjs/db-backup/config.d.ts +76 -0
- package/dist/cjs/db-backup/config.d.ts.map +1 -0
- package/dist/cjs/db-backup/config.js +115 -0
- package/dist/cjs/db-backup/config.js.map +1 -0
- package/dist/cjs/db-backup/constants.d.ts +314 -0
- package/dist/cjs/db-backup/constants.d.ts.map +1 -0
- package/dist/cjs/db-backup/constants.js +243 -0
- package/dist/cjs/db-backup/constants.js.map +1 -0
- package/dist/cjs/db-backup/index.d.ts +19 -0
- package/dist/cjs/db-backup/index.d.ts.map +1 -0
- package/dist/cjs/db-backup/index.js +81 -0
- package/dist/cjs/db-backup/index.js.map +1 -0
- package/dist/cjs/db-backup/node-credential.d.ts +37 -0
- package/dist/cjs/db-backup/node-credential.d.ts.map +1 -0
- package/dist/cjs/db-backup/node-credential.js +107 -0
- package/dist/cjs/db-backup/node-credential.js.map +1 -0
- package/dist/cjs/db-backup/node-result.d.ts +34 -0
- package/dist/cjs/db-backup/node-result.d.ts.map +1 -0
- package/dist/cjs/db-backup/node-result.js +168 -0
- package/dist/cjs/db-backup/node-result.js.map +1 -0
- package/dist/cjs/db-backup/restore.d.ts +405 -0
- package/dist/cjs/db-backup/restore.d.ts.map +1 -0
- package/dist/cjs/db-backup/restore.js +497 -0
- package/dist/cjs/db-backup/restore.js.map +1 -0
- package/dist/cjs/db-backup/run-actions.d.ts +49 -0
- package/dist/cjs/db-backup/run-actions.d.ts.map +1 -0
- package/dist/cjs/db-backup/run-actions.js +121 -0
- package/dist/cjs/db-backup/run-actions.js.map +1 -0
- package/dist/cjs/db-backup/runs-list-query.d.ts +20 -0
- package/dist/cjs/db-backup/runs-list-query.d.ts.map +1 -0
- package/dist/cjs/db-backup/runs-list-query.js +53 -0
- package/dist/cjs/db-backup/runs-list-query.js.map +1 -0
- package/dist/cjs/db-backup/runs.d.ts +46 -0
- package/dist/cjs/db-backup/runs.d.ts.map +1 -0
- package/dist/cjs/db-backup/runs.js +232 -0
- package/dist/cjs/db-backup/runs.js.map +1 -0
- package/dist/cjs/db-backup/schemas.d.ts +9 -0
- package/dist/cjs/db-backup/schemas.d.ts.map +1 -0
- package/dist/cjs/db-backup/schemas.js +31 -0
- package/dist/cjs/db-backup/schemas.js.map +1 -0
- package/dist/cjs/db-backup/settings-schemas.d.ts +217 -0
- package/dist/cjs/db-backup/settings-schemas.d.ts.map +1 -0
- package/dist/cjs/db-backup/settings-schemas.js +319 -0
- package/dist/cjs/db-backup/settings-schemas.js.map +1 -0
- package/dist/cjs/email/constants.d.ts +82 -0
- package/dist/cjs/email/constants.d.ts.map +1 -0
- package/dist/cjs/email/constants.js +82 -0
- package/dist/cjs/email/constants.js.map +1 -0
- package/dist/cjs/email/index.d.ts +5 -0
- package/dist/cjs/email/index.d.ts.map +1 -0
- package/dist/cjs/email/index.js +30 -0
- package/dist/cjs/email/index.js.map +1 -0
- package/dist/cjs/email/schemas.d.ts +276 -0
- package/dist/cjs/email/schemas.d.ts.map +1 -0
- package/dist/cjs/email/schemas.js +280 -0
- package/dist/cjs/email/schemas.js.map +1 -0
- package/dist/cjs/exports/constants.d.ts +123 -0
- package/dist/cjs/exports/constants.d.ts.map +1 -0
- package/dist/cjs/exports/constants.js +109 -0
- package/dist/cjs/exports/constants.js.map +1 -0
- package/dist/cjs/exports/index.d.ts +5 -0
- package/dist/cjs/exports/index.d.ts.map +1 -0
- package/dist/cjs/exports/index.js +42 -0
- package/dist/cjs/exports/index.js.map +1 -0
- package/dist/cjs/exports/schemas.d.ts +386 -0
- package/dist/cjs/exports/schemas.d.ts.map +1 -0
- package/dist/cjs/exports/schemas.js +288 -0
- package/dist/cjs/exports/schemas.js.map +1 -0
- package/dist/cjs/identity/constants.d.ts +273 -0
- package/dist/cjs/identity/constants.d.ts.map +1 -0
- package/dist/cjs/identity/constants.js +248 -0
- package/dist/cjs/identity/constants.js.map +1 -0
- package/dist/cjs/identity/index.d.ts +5 -0
- package/dist/cjs/identity/index.d.ts.map +1 -0
- package/dist/cjs/identity/index.js +73 -0
- package/dist/cjs/identity/index.js.map +1 -0
- package/dist/cjs/identity/schemas.d.ts +784 -0
- package/dist/cjs/identity/schemas.d.ts.map +1 -0
- package/dist/cjs/identity/schemas.js +684 -0
- package/dist/cjs/identity/schemas.js.map +1 -0
- package/dist/cjs/jobs/constants.d.ts +135 -0
- package/dist/cjs/jobs/constants.d.ts.map +1 -0
- package/dist/cjs/jobs/constants.js +130 -0
- package/dist/cjs/jobs/constants.js.map +1 -0
- package/dist/cjs/jobs/index.d.ts +9 -0
- package/dist/cjs/jobs/index.d.ts.map +1 -0
- package/dist/cjs/jobs/index.js +59 -0
- package/dist/cjs/jobs/index.js.map +1 -0
- package/dist/cjs/jobs/retention-schemas.d.ts +252 -0
- package/dist/cjs/jobs/retention-schemas.d.ts.map +1 -0
- package/dist/cjs/jobs/retention-schemas.js +233 -0
- package/dist/cjs/jobs/retention-schemas.js.map +1 -0
- package/dist/cjs/jobs/schemas.d.ts +361 -0
- package/dist/cjs/jobs/schemas.d.ts.map +1 -0
- package/dist/cjs/jobs/schemas.js +706 -0
- package/dist/cjs/jobs/schemas.js.map +1 -0
- package/dist/cjs/jobs/settings-schemas.d.ts +84 -0
- package/dist/cjs/jobs/settings-schemas.d.ts.map +1 -0
- package/dist/cjs/jobs/settings-schemas.js +116 -0
- package/dist/cjs/jobs/settings-schemas.js.map +1 -0
- package/dist/cjs/nodes/admin-schemas.d.ts +204 -0
- package/dist/cjs/nodes/admin-schemas.d.ts.map +1 -0
- package/dist/cjs/nodes/admin-schemas.js +153 -0
- package/dist/cjs/nodes/admin-schemas.js.map +1 -0
- package/dist/cjs/nodes/constants.d.ts +86 -0
- package/dist/cjs/nodes/constants.d.ts.map +1 -0
- package/dist/cjs/nodes/constants.js +102 -0
- package/dist/cjs/nodes/constants.js.map +1 -0
- package/dist/cjs/nodes/index.d.ts +8 -0
- package/dist/cjs/nodes/index.d.ts.map +1 -0
- package/dist/cjs/nodes/index.js +50 -0
- package/dist/cjs/nodes/index.js.map +1 -0
- package/dist/cjs/nodes/schemas.d.ts +332 -0
- package/dist/cjs/nodes/schemas.d.ts.map +1 -0
- package/dist/cjs/nodes/schemas.js +937 -0
- package/dist/cjs/nodes/schemas.js.map +1 -0
- package/dist/cjs/nodes/settings-schemas.d.ts +82 -0
- package/dist/cjs/nodes/settings-schemas.d.ts.map +1 -0
- package/dist/cjs/nodes/settings-schemas.js +106 -0
- package/dist/cjs/nodes/settings-schemas.js.map +1 -0
- package/dist/cjs/notifications/constants.d.ts +197 -0
- package/dist/cjs/notifications/constants.d.ts.map +1 -0
- package/dist/cjs/notifications/constants.js +181 -0
- package/dist/cjs/notifications/constants.js.map +1 -0
- package/dist/cjs/notifications/index.d.ts +5 -0
- package/dist/cjs/notifications/index.d.ts.map +1 -0
- package/dist/cjs/notifications/index.js +86 -0
- package/dist/cjs/notifications/index.js.map +1 -0
- package/dist/cjs/notifications/schemas.d.ts +1016 -0
- package/dist/cjs/notifications/schemas.d.ts.map +1 -0
- package/dist/cjs/notifications/schemas.js +851 -0
- package/dist/cjs/notifications/schemas.js.map +1 -0
- package/dist/cjs/onboarding/constants.d.ts +138 -0
- package/dist/cjs/onboarding/constants.d.ts.map +1 -0
- package/dist/cjs/onboarding/constants.js +123 -0
- package/dist/cjs/onboarding/constants.js.map +1 -0
- package/dist/cjs/onboarding/index.d.ts +5 -0
- package/dist/cjs/onboarding/index.d.ts.map +1 -0
- package/dist/cjs/onboarding/index.js +42 -0
- package/dist/cjs/onboarding/index.js.map +1 -0
- package/dist/cjs/onboarding/schemas.d.ts +360 -0
- package/dist/cjs/onboarding/schemas.d.ts.map +1 -0
- package/dist/cjs/onboarding/schemas.js +260 -0
- package/dist/cjs/onboarding/schemas.js.map +1 -0
- package/dist/cjs/settings/constants.d.ts +206 -0
- package/dist/cjs/settings/constants.d.ts.map +1 -0
- package/dist/cjs/settings/constants.js +200 -0
- package/dist/cjs/settings/constants.js.map +1 -0
- package/dist/cjs/settings/index.d.ts +6 -0
- package/dist/cjs/settings/index.d.ts.map +1 -0
- package/dist/cjs/settings/index.js +62 -0
- package/dist/cjs/settings/index.js.map +1 -0
- package/dist/cjs/settings/schemas.d.ts +574 -0
- package/dist/cjs/settings/schemas.d.ts.map +1 -0
- package/dist/cjs/settings/schemas.js +437 -0
- package/dist/cjs/settings/schemas.js.map +1 -0
- package/dist/cjs/settings/types.d.ts +79 -0
- package/dist/cjs/settings/types.d.ts.map +1 -0
- package/dist/cjs/settings/types.js +6 -0
- package/dist/cjs/settings/types.js.map +1 -0
- package/dist/cjs/sharing/constants.d.ts +216 -0
- package/dist/cjs/sharing/constants.d.ts.map +1 -0
- package/dist/cjs/sharing/constants.js +163 -0
- package/dist/cjs/sharing/constants.js.map +1 -0
- package/dist/cjs/sharing/enum.d.ts +5 -0
- package/dist/cjs/sharing/enum.d.ts.map +1 -0
- package/dist/cjs/sharing/enum.js +9 -0
- package/dist/cjs/sharing/enum.js.map +1 -0
- package/dist/cjs/sharing/grants.d.ts +490 -0
- package/dist/cjs/sharing/grants.d.ts.map +1 -0
- package/dist/cjs/sharing/grants.js +447 -0
- package/dist/cjs/sharing/grants.js.map +1 -0
- package/dist/cjs/sharing/groups.d.ts +410 -0
- package/dist/cjs/sharing/groups.d.ts.map +1 -0
- package/dist/cjs/sharing/groups.js +375 -0
- package/dist/cjs/sharing/groups.js.map +1 -0
- package/dist/cjs/sharing/index.d.ts +5 -0
- package/dist/cjs/sharing/index.d.ts.map +1 -0
- package/dist/cjs/sharing/index.js +77 -0
- package/dist/cjs/sharing/index.js.map +1 -0
- package/dist/cjs/sharing/schemas.d.ts +3 -0
- package/dist/cjs/sharing/schemas.d.ts.map +1 -0
- package/dist/cjs/sharing/schemas.js +21 -0
- package/dist/cjs/sharing/schemas.js.map +1 -0
- package/dist/cjs/storage/constants.d.ts +111 -0
- package/dist/cjs/storage/constants.d.ts.map +1 -0
- package/dist/cjs/storage/constants.js +107 -0
- package/dist/cjs/storage/constants.js.map +1 -0
- package/dist/cjs/storage/index.d.ts +27 -0
- package/dist/cjs/storage/index.d.ts.map +1 -0
- package/dist/cjs/storage/index.js +69 -0
- package/dist/cjs/storage/index.js.map +1 -0
- package/dist/cjs/storage/objects-complete-upload.d.ts +19 -0
- package/dist/cjs/storage/objects-complete-upload.d.ts.map +1 -0
- package/dist/cjs/storage/objects-complete-upload.js +19 -0
- package/dist/cjs/storage/objects-complete-upload.js.map +1 -0
- package/dist/cjs/storage/objects-download-url.d.ts +17 -0
- package/dist/cjs/storage/objects-download-url.d.ts.map +1 -0
- package/dist/cjs/storage/objects-download-url.js +16 -0
- package/dist/cjs/storage/objects-download-url.js.map +1 -0
- package/dist/cjs/storage/objects-init-upload.d.ts +39 -0
- package/dist/cjs/storage/objects-init-upload.d.ts.map +1 -0
- package/dist/cjs/storage/objects-init-upload.js +40 -0
- package/dist/cjs/storage/objects-init-upload.js.map +1 -0
- package/dist/cjs/storage/objects-list-query.d.ts +50 -0
- package/dist/cjs/storage/objects-list-query.d.ts.map +1 -0
- package/dist/cjs/storage/objects-list-query.js +23 -0
- package/dist/cjs/storage/objects-list-query.js.map +1 -0
- package/dist/cjs/storage/objects-object-response.d.ts +49 -0
- package/dist/cjs/storage/objects-object-response.d.ts.map +1 -0
- package/dist/cjs/storage/objects-object-response.js +54 -0
- package/dist/cjs/storage/objects-object-response.js.map +1 -0
- package/dist/cjs/storage/objects-update-metadata.d.ts +16 -0
- package/dist/cjs/storage/objects-update-metadata.d.ts.map +1 -0
- package/dist/cjs/storage/objects-update-metadata.js +14 -0
- package/dist/cjs/storage/objects-update-metadata.js.map +1 -0
- package/dist/cjs/storage/schemas.d.ts +13 -0
- package/dist/cjs/storage/schemas.d.ts.map +1 -0
- package/dist/cjs/storage/schemas.js +35 -0
- package/dist/cjs/storage/schemas.js.map +1 -0
- package/dist/cjs/storage/settings-schemas.d.ts +188 -0
- package/dist/cjs/storage/settings-schemas.d.ts.map +1 -0
- package/dist/cjs/storage/settings-schemas.js +223 -0
- package/dist/cjs/storage/settings-schemas.js.map +1 -0
- package/dist/cjs/storage/storage-bucket-provision.d.ts +152 -0
- package/dist/cjs/storage/storage-bucket-provision.d.ts.map +1 -0
- package/dist/cjs/storage/storage-bucket-provision.js +216 -0
- package/dist/cjs/storage/storage-bucket-provision.js.map +1 -0
- package/dist/cjs/storage/storage-config-response.d.ts +99 -0
- package/dist/cjs/storage/storage-config-response.d.ts.map +1 -0
- package/dist/cjs/storage/storage-config-response.js +173 -0
- package/dist/cjs/storage/storage-config-response.js.map +1 -0
- package/dist/cjs/storage/storage-config-update.d.ts +46 -0
- package/dist/cjs/storage/storage-config-update.d.ts.map +1 -0
- package/dist/cjs/storage/storage-config-update.js +133 -0
- package/dist/cjs/storage/storage-config-update.js.map +1 -0
- package/dist/cjs/storage/storage-connection-test.d.ts +129 -0
- package/dist/cjs/storage/storage-connection-test.d.ts.map +1 -0
- package/dist/cjs/storage/storage-connection-test.js +244 -0
- package/dist/cjs/storage/storage-connection-test.js.map +1 -0
- package/dist/cjs/storage/storage-status.d.ts +16 -0
- package/dist/cjs/storage/storage-status.d.ts.map +1 -0
- package/dist/cjs/storage/storage-status.js +23 -0
- package/dist/cjs/storage/storage-status.js.map +1 -0
- package/dist/cjs/telemetry/config.d.ts +4 -0
- package/dist/cjs/telemetry/config.d.ts.map +1 -1
- package/dist/cjs/telemetry/config.js +16 -2
- package/dist/cjs/telemetry/config.js.map +1 -1
- package/dist/cjs/telemetry/connection.d.ts +1 -1
- package/dist/cjs/telemetry/constants.d.ts +378 -6
- package/dist/cjs/telemetry/constants.d.ts.map +1 -1
- package/dist/cjs/telemetry/constants.js +290 -5
- package/dist/cjs/telemetry/constants.js.map +1 -1
- package/dist/cjs/telemetry/dashboard.d.ts +188 -17
- package/dist/cjs/telemetry/dashboard.d.ts.map +1 -1
- package/dist/cjs/telemetry/dashboard.js +61 -3
- package/dist/cjs/telemetry/dashboard.js.map +1 -1
- package/dist/cjs/telemetry/index.d.ts +4 -4
- package/dist/cjs/telemetry/index.d.ts.map +1 -1
- package/dist/cjs/telemetry/index.js +35 -3
- package/dist/cjs/telemetry/index.js.map +1 -1
- package/dist/cjs/telemetry/presentation.d.ts +243 -0
- package/dist/cjs/telemetry/presentation.d.ts.map +1 -0
- package/dist/cjs/telemetry/presentation.js +300 -0
- package/dist/cjs/telemetry/presentation.js.map +1 -0
- package/dist/cjs/telemetry/query.d.ts +2 -2
- package/dist/cjs/telemetry/schemas.d.ts +5 -2
- package/dist/cjs/telemetry/schemas.d.ts.map +1 -1
- package/dist/cjs/telemetry/schemas.js +21 -1
- package/dist/cjs/telemetry/schemas.js.map +1 -1
- package/dist/cjs/telemetry/stack.d.ts +5 -5
- package/dist/cjs/telemetry/store.d.ts +111 -0
- package/dist/cjs/telemetry/store.d.ts.map +1 -0
- package/dist/cjs/telemetry/store.js +83 -0
- package/dist/cjs/telemetry/store.js.map +1 -0
- package/dist/cjs/user-data/constants.d.ts +157 -0
- package/dist/cjs/user-data/constants.d.ts.map +1 -0
- package/dist/cjs/user-data/constants.js +137 -0
- package/dist/cjs/user-data/constants.js.map +1 -0
- package/dist/cjs/user-data/index.d.ts +5 -0
- package/dist/cjs/user-data/index.d.ts.map +1 -0
- package/dist/cjs/user-data/index.js +46 -0
- package/dist/cjs/user-data/index.js.map +1 -0
- package/dist/cjs/user-data/schemas.d.ts +306 -0
- package/dist/cjs/user-data/schemas.d.ts.map +1 -0
- package/dist/cjs/user-data/schemas.js +333 -0
- package/dist/cjs/user-data/schemas.js.map +1 -0
- package/dist/esm/ai/capabilities.d.ts +85 -0
- package/dist/esm/ai/capabilities.d.ts.map +1 -0
- package/dist/esm/ai/capabilities.js +90 -0
- package/dist/esm/ai/capabilities.js.map +1 -0
- package/dist/esm/ai/constants.d.ts +239 -0
- package/dist/esm/ai/constants.d.ts.map +1 -0
- package/dist/esm/ai/constants.js +229 -0
- package/dist/esm/ai/constants.js.map +1 -0
- package/dist/esm/ai/features.d.ts +24 -0
- package/dist/esm/ai/features.d.ts.map +1 -0
- package/dist/esm/ai/features.js +30 -0
- package/dist/esm/ai/features.js.map +1 -0
- package/dist/esm/ai/index.d.ts +11 -0
- package/dist/esm/ai/index.d.ts.map +1 -0
- package/dist/esm/ai/index.js +16 -0
- package/dist/esm/ai/index.js.map +1 -0
- package/dist/esm/ai/org-keys.d.ts +50 -0
- package/dist/esm/ai/org-keys.d.ts.map +1 -0
- package/dist/esm/ai/org-keys.js +40 -0
- package/dist/esm/ai/org-keys.js.map +1 -0
- package/dist/esm/ai/schemas.d.ts +642 -0
- package/dist/esm/ai/schemas.d.ts.map +1 -0
- package/dist/esm/ai/schemas.js +889 -0
- package/dist/esm/ai/schemas.js.map +1 -0
- package/dist/esm/android-app/constants.d.ts +337 -0
- package/dist/esm/android-app/constants.d.ts.map +1 -0
- package/dist/esm/android-app/constants.js +306 -0
- package/dist/esm/android-app/constants.js.map +1 -0
- package/dist/esm/android-app/index.d.ts +5 -0
- package/dist/esm/android-app/index.d.ts.map +1 -0
- package/dist/esm/android-app/index.js +8 -0
- package/dist/esm/android-app/index.js.map +1 -0
- package/dist/esm/android-app/schemas.d.ts +358 -0
- package/dist/esm/android-app/schemas.d.ts.map +1 -0
- package/dist/esm/android-app/schemas.js +306 -0
- package/dist/esm/android-app/schemas.js.map +1 -0
- package/dist/esm/credentials/constants.d.ts +35 -0
- package/dist/esm/credentials/constants.d.ts.map +1 -0
- package/dist/esm/credentials/constants.js +36 -0
- package/dist/esm/credentials/constants.js.map +1 -0
- package/dist/esm/credentials/index.d.ts +5 -0
- package/dist/esm/credentials/index.d.ts.map +1 -0
- package/dist/esm/credentials/index.js +8 -0
- package/dist/esm/credentials/index.js.map +1 -0
- package/dist/esm/credentials/schemas.d.ts +64 -0
- package/dist/esm/credentials/schemas.d.ts.map +1 -0
- package/dist/esm/credentials/schemas.js +79 -0
- package/dist/esm/credentials/schemas.js.map +1 -0
- package/dist/esm/db-backup/config.d.ts +76 -0
- package/dist/esm/db-backup/config.d.ts.map +1 -0
- package/dist/esm/db-backup/config.js +112 -0
- package/dist/esm/db-backup/config.js.map +1 -0
- package/dist/esm/db-backup/constants.d.ts +314 -0
- package/dist/esm/db-backup/constants.d.ts.map +1 -0
- package/dist/esm/db-backup/constants.js +240 -0
- package/dist/esm/db-backup/constants.js.map +1 -0
- package/dist/esm/db-backup/index.d.ts +19 -0
- package/dist/esm/db-backup/index.d.ts.map +1 -0
- package/dist/esm/db-backup/index.js +25 -0
- package/dist/esm/db-backup/index.js.map +1 -0
- package/dist/esm/db-backup/node-credential.d.ts +37 -0
- package/dist/esm/db-backup/node-credential.d.ts.map +1 -0
- package/dist/esm/db-backup/node-credential.js +104 -0
- package/dist/esm/db-backup/node-credential.js.map +1 -0
- package/dist/esm/db-backup/node-result.d.ts +34 -0
- package/dist/esm/db-backup/node-result.d.ts.map +1 -0
- package/dist/esm/db-backup/node-result.js +165 -0
- package/dist/esm/db-backup/node-result.js.map +1 -0
- package/dist/esm/db-backup/restore.d.ts +405 -0
- package/dist/esm/db-backup/restore.d.ts.map +1 -0
- package/dist/esm/db-backup/restore.js +494 -0
- package/dist/esm/db-backup/restore.js.map +1 -0
- package/dist/esm/db-backup/run-actions.d.ts +49 -0
- package/dist/esm/db-backup/run-actions.d.ts.map +1 -0
- package/dist/esm/db-backup/run-actions.js +118 -0
- package/dist/esm/db-backup/run-actions.js.map +1 -0
- package/dist/esm/db-backup/runs-list-query.d.ts +20 -0
- package/dist/esm/db-backup/runs-list-query.d.ts.map +1 -0
- package/dist/esm/db-backup/runs-list-query.js +50 -0
- package/dist/esm/db-backup/runs-list-query.js.map +1 -0
- package/dist/esm/db-backup/runs.d.ts +46 -0
- package/dist/esm/db-backup/runs.d.ts.map +1 -0
- package/dist/esm/db-backup/runs.js +229 -0
- package/dist/esm/db-backup/runs.js.map +1 -0
- package/dist/esm/db-backup/schemas.d.ts +9 -0
- package/dist/esm/db-backup/schemas.d.ts.map +1 -0
- package/dist/esm/db-backup/schemas.js +15 -0
- package/dist/esm/db-backup/schemas.js.map +1 -0
- package/dist/esm/db-backup/settings-schemas.d.ts +217 -0
- package/dist/esm/db-backup/settings-schemas.d.ts.map +1 -0
- package/dist/esm/db-backup/settings-schemas.js +316 -0
- package/dist/esm/db-backup/settings-schemas.js.map +1 -0
- package/dist/esm/email/constants.d.ts +82 -0
- package/dist/esm/email/constants.d.ts.map +1 -0
- package/dist/esm/email/constants.js +79 -0
- package/dist/esm/email/constants.js.map +1 -0
- package/dist/esm/email/index.d.ts +5 -0
- package/dist/esm/email/index.d.ts.map +1 -0
- package/dist/esm/email/index.js +8 -0
- package/dist/esm/email/index.js.map +1 -0
- package/dist/esm/email/schemas.d.ts +276 -0
- package/dist/esm/email/schemas.d.ts.map +1 -0
- package/dist/esm/email/schemas.js +277 -0
- package/dist/esm/email/schemas.js.map +1 -0
- package/dist/esm/exports/constants.d.ts +123 -0
- package/dist/esm/exports/constants.d.ts.map +1 -0
- package/dist/esm/exports/constants.js +106 -0
- package/dist/esm/exports/constants.js.map +1 -0
- package/dist/esm/exports/index.d.ts +5 -0
- package/dist/esm/exports/index.d.ts.map +1 -0
- package/dist/esm/exports/index.js +7 -0
- package/dist/esm/exports/index.js.map +1 -0
- package/dist/esm/exports/schemas.d.ts +386 -0
- package/dist/esm/exports/schemas.d.ts.map +1 -0
- package/dist/esm/exports/schemas.js +285 -0
- package/dist/esm/exports/schemas.js.map +1 -0
- package/dist/esm/identity/constants.d.ts +273 -0
- package/dist/esm/identity/constants.d.ts.map +1 -0
- package/dist/esm/identity/constants.js +244 -0
- package/dist/esm/identity/constants.js.map +1 -0
- package/dist/esm/identity/index.d.ts +5 -0
- package/dist/esm/identity/index.d.ts.map +1 -0
- package/dist/esm/identity/index.js +10 -0
- package/dist/esm/identity/index.js.map +1 -0
- package/dist/esm/identity/schemas.d.ts +784 -0
- package/dist/esm/identity/schemas.d.ts.map +1 -0
- package/dist/esm/identity/schemas.js +681 -0
- package/dist/esm/identity/schemas.js.map +1 -0
- package/dist/esm/jobs/constants.d.ts +135 -0
- package/dist/esm/jobs/constants.d.ts.map +1 -0
- package/dist/esm/jobs/constants.js +127 -0
- package/dist/esm/jobs/constants.js.map +1 -0
- package/dist/esm/jobs/index.d.ts +9 -0
- package/dist/esm/jobs/index.d.ts.map +1 -0
- package/dist/esm/jobs/index.js +11 -0
- package/dist/esm/jobs/index.js.map +1 -0
- package/dist/esm/jobs/retention-schemas.d.ts +252 -0
- package/dist/esm/jobs/retention-schemas.d.ts.map +1 -0
- package/dist/esm/jobs/retention-schemas.js +229 -0
- package/dist/esm/jobs/retention-schemas.js.map +1 -0
- package/dist/esm/jobs/schemas.d.ts +361 -0
- package/dist/esm/jobs/schemas.d.ts.map +1 -0
- package/dist/esm/jobs/schemas.js +703 -0
- package/dist/esm/jobs/schemas.js.map +1 -0
- package/dist/esm/jobs/settings-schemas.d.ts +84 -0
- package/dist/esm/jobs/settings-schemas.d.ts.map +1 -0
- package/dist/esm/jobs/settings-schemas.js +113 -0
- package/dist/esm/jobs/settings-schemas.js.map +1 -0
- package/dist/esm/nodes/admin-schemas.d.ts +204 -0
- package/dist/esm/nodes/admin-schemas.d.ts.map +1 -0
- package/dist/esm/nodes/admin-schemas.js +150 -0
- package/dist/esm/nodes/admin-schemas.js.map +1 -0
- package/dist/esm/nodes/constants.d.ts +86 -0
- package/dist/esm/nodes/constants.d.ts.map +1 -0
- package/dist/esm/nodes/constants.js +99 -0
- package/dist/esm/nodes/constants.js.map +1 -0
- package/dist/esm/nodes/index.d.ts +8 -0
- package/dist/esm/nodes/index.d.ts.map +1 -0
- package/dist/esm/nodes/index.js +11 -0
- package/dist/esm/nodes/index.js.map +1 -0
- package/dist/esm/nodes/schemas.d.ts +332 -0
- package/dist/esm/nodes/schemas.d.ts.map +1 -0
- package/dist/esm/nodes/schemas.js +934 -0
- package/dist/esm/nodes/schemas.js.map +1 -0
- package/dist/esm/nodes/settings-schemas.d.ts +82 -0
- package/dist/esm/nodes/settings-schemas.d.ts.map +1 -0
- package/dist/esm/nodes/settings-schemas.js +103 -0
- package/dist/esm/nodes/settings-schemas.js.map +1 -0
- package/dist/esm/notifications/constants.d.ts +197 -0
- package/dist/esm/notifications/constants.d.ts.map +1 -0
- package/dist/esm/notifications/constants.js +178 -0
- package/dist/esm/notifications/constants.js.map +1 -0
- package/dist/esm/notifications/index.d.ts +5 -0
- package/dist/esm/notifications/index.d.ts.map +1 -0
- package/dist/esm/notifications/index.js +9 -0
- package/dist/esm/notifications/index.js.map +1 -0
- package/dist/esm/notifications/schemas.d.ts +1016 -0
- package/dist/esm/notifications/schemas.d.ts.map +1 -0
- package/dist/esm/notifications/schemas.js +848 -0
- package/dist/esm/notifications/schemas.js.map +1 -0
- package/dist/esm/onboarding/constants.d.ts +138 -0
- package/dist/esm/onboarding/constants.d.ts.map +1 -0
- package/dist/esm/onboarding/constants.js +120 -0
- package/dist/esm/onboarding/constants.js.map +1 -0
- package/dist/esm/onboarding/index.d.ts +5 -0
- package/dist/esm/onboarding/index.d.ts.map +1 -0
- package/dist/esm/onboarding/index.js +7 -0
- package/dist/esm/onboarding/index.js.map +1 -0
- package/dist/esm/onboarding/schemas.d.ts +360 -0
- package/dist/esm/onboarding/schemas.d.ts.map +1 -0
- package/dist/esm/onboarding/schemas.js +257 -0
- package/dist/esm/onboarding/schemas.js.map +1 -0
- package/dist/esm/settings/constants.d.ts +206 -0
- package/dist/esm/settings/constants.d.ts.map +1 -0
- package/dist/esm/settings/constants.js +197 -0
- package/dist/esm/settings/constants.js.map +1 -0
- package/dist/esm/settings/index.d.ts +6 -0
- package/dist/esm/settings/index.d.ts.map +1 -0
- package/dist/esm/settings/index.js +11 -0
- package/dist/esm/settings/index.js.map +1 -0
- package/dist/esm/settings/schemas.d.ts +574 -0
- package/dist/esm/settings/schemas.d.ts.map +1 -0
- package/dist/esm/settings/schemas.js +434 -0
- package/dist/esm/settings/schemas.js.map +1 -0
- package/dist/esm/settings/types.d.ts +79 -0
- package/dist/esm/settings/types.d.ts.map +1 -0
- package/dist/esm/settings/types.js +5 -0
- package/dist/esm/settings/types.js.map +1 -0
- package/dist/esm/sharing/constants.d.ts +216 -0
- package/dist/esm/sharing/constants.d.ts.map +1 -0
- package/dist/esm/sharing/constants.js +159 -0
- package/dist/esm/sharing/constants.js.map +1 -0
- package/dist/esm/sharing/enum.d.ts +5 -0
- package/dist/esm/sharing/enum.d.ts.map +1 -0
- package/dist/esm/sharing/enum.js +6 -0
- package/dist/esm/sharing/enum.js.map +1 -0
- package/dist/esm/sharing/grants.d.ts +490 -0
- package/dist/esm/sharing/grants.d.ts.map +1 -0
- package/dist/esm/sharing/grants.js +444 -0
- package/dist/esm/sharing/grants.js.map +1 -0
- package/dist/esm/sharing/groups.d.ts +410 -0
- package/dist/esm/sharing/groups.d.ts.map +1 -0
- package/dist/esm/sharing/groups.js +372 -0
- package/dist/esm/sharing/groups.js.map +1 -0
- package/dist/esm/sharing/index.d.ts +5 -0
- package/dist/esm/sharing/index.d.ts.map +1 -0
- package/dist/esm/sharing/index.js +11 -0
- package/dist/esm/sharing/index.js.map +1 -0
- package/dist/esm/sharing/schemas.d.ts +3 -0
- package/dist/esm/sharing/schemas.d.ts.map +1 -0
- package/dist/esm/sharing/schemas.js +5 -0
- package/dist/esm/sharing/schemas.js.map +1 -0
- package/dist/esm/storage/constants.d.ts +111 -0
- package/dist/esm/storage/constants.d.ts.map +1 -0
- package/dist/esm/storage/constants.js +104 -0
- package/dist/esm/storage/constants.js.map +1 -0
- package/dist/esm/storage/index.d.ts +27 -0
- package/dist/esm/storage/index.d.ts.map +1 -0
- package/dist/esm/storage/index.js +23 -0
- package/dist/esm/storage/index.js.map +1 -0
- package/dist/esm/storage/objects-complete-upload.d.ts +19 -0
- package/dist/esm/storage/objects-complete-upload.d.ts.map +1 -0
- package/dist/esm/storage/objects-complete-upload.js +16 -0
- package/dist/esm/storage/objects-complete-upload.js.map +1 -0
- package/dist/esm/storage/objects-download-url.d.ts +17 -0
- package/dist/esm/storage/objects-download-url.d.ts.map +1 -0
- package/dist/esm/storage/objects-download-url.js +13 -0
- package/dist/esm/storage/objects-download-url.js.map +1 -0
- package/dist/esm/storage/objects-init-upload.d.ts +39 -0
- package/dist/esm/storage/objects-init-upload.d.ts.map +1 -0
- package/dist/esm/storage/objects-init-upload.js +37 -0
- package/dist/esm/storage/objects-init-upload.js.map +1 -0
- package/dist/esm/storage/objects-list-query.d.ts +50 -0
- package/dist/esm/storage/objects-list-query.d.ts.map +1 -0
- package/dist/esm/storage/objects-list-query.js +20 -0
- package/dist/esm/storage/objects-list-query.js.map +1 -0
- package/dist/esm/storage/objects-object-response.d.ts +49 -0
- package/dist/esm/storage/objects-object-response.d.ts.map +1 -0
- package/dist/esm/storage/objects-object-response.js +51 -0
- package/dist/esm/storage/objects-object-response.js.map +1 -0
- package/dist/esm/storage/objects-update-metadata.d.ts +16 -0
- package/dist/esm/storage/objects-update-metadata.d.ts.map +1 -0
- package/dist/esm/storage/objects-update-metadata.js +11 -0
- package/dist/esm/storage/objects-update-metadata.js.map +1 -0
- package/dist/esm/storage/schemas.d.ts +13 -0
- package/dist/esm/storage/schemas.d.ts.map +1 -0
- package/dist/esm/storage/schemas.js +19 -0
- package/dist/esm/storage/schemas.js.map +1 -0
- package/dist/esm/storage/settings-schemas.d.ts +188 -0
- package/dist/esm/storage/settings-schemas.d.ts.map +1 -0
- package/dist/esm/storage/settings-schemas.js +220 -0
- package/dist/esm/storage/settings-schemas.js.map +1 -0
- package/dist/esm/storage/storage-bucket-provision.d.ts +152 -0
- package/dist/esm/storage/storage-bucket-provision.d.ts.map +1 -0
- package/dist/esm/storage/storage-bucket-provision.js +213 -0
- package/dist/esm/storage/storage-bucket-provision.js.map +1 -0
- package/dist/esm/storage/storage-config-response.d.ts +99 -0
- package/dist/esm/storage/storage-config-response.d.ts.map +1 -0
- package/dist/esm/storage/storage-config-response.js +170 -0
- package/dist/esm/storage/storage-config-response.js.map +1 -0
- package/dist/esm/storage/storage-config-update.d.ts +46 -0
- package/dist/esm/storage/storage-config-update.d.ts.map +1 -0
- package/dist/esm/storage/storage-config-update.js +130 -0
- package/dist/esm/storage/storage-config-update.js.map +1 -0
- package/dist/esm/storage/storage-connection-test.d.ts +129 -0
- package/dist/esm/storage/storage-connection-test.d.ts.map +1 -0
- package/dist/esm/storage/storage-connection-test.js +241 -0
- package/dist/esm/storage/storage-connection-test.js.map +1 -0
- package/dist/esm/storage/storage-status.d.ts +16 -0
- package/dist/esm/storage/storage-status.d.ts.map +1 -0
- package/dist/esm/storage/storage-status.js +20 -0
- package/dist/esm/storage/storage-status.js.map +1 -0
- package/dist/esm/telemetry/config.d.ts +4 -0
- package/dist/esm/telemetry/config.d.ts.map +1 -1
- package/dist/esm/telemetry/config.js +16 -2
- package/dist/esm/telemetry/config.js.map +1 -1
- package/dist/esm/telemetry/connection.d.ts +1 -1
- package/dist/esm/telemetry/constants.d.ts +378 -6
- package/dist/esm/telemetry/constants.d.ts.map +1 -1
- package/dist/esm/telemetry/constants.js +288 -4
- package/dist/esm/telemetry/constants.js.map +1 -1
- package/dist/esm/telemetry/dashboard.d.ts +188 -17
- package/dist/esm/telemetry/dashboard.d.ts.map +1 -1
- package/dist/esm/telemetry/dashboard.js +61 -3
- package/dist/esm/telemetry/dashboard.js.map +1 -1
- package/dist/esm/telemetry/index.d.ts +4 -4
- package/dist/esm/telemetry/index.d.ts.map +1 -1
- package/dist/esm/telemetry/index.js +2 -2
- package/dist/esm/telemetry/index.js.map +1 -1
- package/dist/esm/telemetry/presentation.d.ts +243 -0
- package/dist/esm/telemetry/presentation.d.ts.map +1 -0
- package/dist/esm/telemetry/presentation.js +297 -0
- package/dist/esm/telemetry/presentation.js.map +1 -0
- package/dist/esm/telemetry/query.d.ts +2 -2
- package/dist/esm/telemetry/schemas.d.ts +5 -2
- package/dist/esm/telemetry/schemas.d.ts.map +1 -1
- package/dist/esm/telemetry/schemas.js +3 -1
- package/dist/esm/telemetry/schemas.js.map +1 -1
- package/dist/esm/telemetry/stack.d.ts +5 -5
- package/dist/esm/telemetry/store.d.ts +111 -0
- package/dist/esm/telemetry/store.d.ts.map +1 -0
- package/dist/esm/telemetry/store.js +80 -0
- package/dist/esm/telemetry/store.js.map +1 -0
- package/dist/esm/user-data/constants.d.ts +157 -0
- package/dist/esm/user-data/constants.d.ts.map +1 -0
- package/dist/esm/user-data/constants.js +134 -0
- package/dist/esm/user-data/constants.js.map +1 -0
- package/dist/esm/user-data/index.d.ts +5 -0
- package/dist/esm/user-data/index.d.ts.map +1 -0
- package/dist/esm/user-data/index.js +7 -0
- package/dist/esm/user-data/index.js.map +1 -0
- package/dist/esm/user-data/schemas.d.ts +306 -0
- package/dist/esm/user-data/schemas.d.ts.map +1 -0
- package/dist/esm/user-data/schemas.js +330 -0
- package/dist/esm/user-data/schemas.js.map +1 -0
- package/package.json +151 -1
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { BuiltinEmailProviderKind } from './constants.js';
|
|
3
|
+
/**
|
|
4
|
+
* The entries of the former transport enum: each built-in kind keyed by itself.
|
|
5
|
+
*
|
|
6
|
+
* @deprecated The transport is an open id now ({@link emailTransportIdSchema}).
|
|
7
|
+
* @stability stable
|
|
8
|
+
*/
|
|
9
|
+
export type EmailProviderKindEnum = {
|
|
10
|
+
[K in BuiltinEmailProviderKind]: K;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* An email transport id: any string matching {@link EMAIL_TRANSPORT_ID_PATTERN}.
|
|
14
|
+
* Not an enum: an app registers transports (`registerEmailTransport`), and the
|
|
15
|
+
* API validates the id against the registry.
|
|
16
|
+
*
|
|
17
|
+
* @extensionPoint option
|
|
18
|
+
* @stability experimental
|
|
19
|
+
*/
|
|
20
|
+
export declare const emailTransportIdSchema: z.ZodString;
|
|
21
|
+
/**
|
|
22
|
+
* One transport's non-secret settings as stored: whatever that transport's
|
|
23
|
+
* `settingsSchema` declares. The contract cannot see the registry, so it
|
|
24
|
+
* checks the shape (a record) and the API validates each entry with the
|
|
25
|
+
* transport that owns it.
|
|
26
|
+
*
|
|
27
|
+
* @stability experimental
|
|
28
|
+
*/
|
|
29
|
+
export declare const emailTransportSettingsSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
30
|
+
/**
|
|
31
|
+
* The `transports` record: transport id to that transport's settings.
|
|
32
|
+
*
|
|
33
|
+
* @stability experimental
|
|
34
|
+
*/
|
|
35
|
+
export declare const emailTransportsSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
36
|
+
/**
|
|
37
|
+
* The `transports` record of a PUT: `null` removes a transport's stored
|
|
38
|
+
* settings (back to its defaults), an object is merged over them.
|
|
39
|
+
*
|
|
40
|
+
* @stability experimental
|
|
41
|
+
*/
|
|
42
|
+
export declare const emailTransportsPatchSchema: z.ZodRecord<z.ZodString, z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
43
|
+
/**
|
|
44
|
+
* The admin-configurable half of email delivery: which transport, where it
|
|
45
|
+
* lives, who the mail claims to be from. Ordinary configuration, safe to
|
|
46
|
+
* return from an admin endpoint; stored in the `email` row of
|
|
47
|
+
* `system_settings`.
|
|
48
|
+
*
|
|
49
|
+
* @stability stable
|
|
50
|
+
*/
|
|
51
|
+
export declare const emailSettingsSchema: z.ZodObject<{
|
|
52
|
+
provider: z.ZodNullable<z.ZodString>;
|
|
53
|
+
enabled: z.ZodBoolean;
|
|
54
|
+
transports: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
55
|
+
sesRegion: z.ZodOptional<z.ZodString>;
|
|
56
|
+
sesAccessKeyId: z.ZodOptional<z.ZodString>;
|
|
57
|
+
smtpHost: z.ZodOptional<z.ZodString>;
|
|
58
|
+
smtpPort: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
smtpUseTls: z.ZodOptional<z.ZodBoolean>;
|
|
60
|
+
smtpUsername: z.ZodOptional<z.ZodString>;
|
|
61
|
+
fromAddress: z.ZodOptional<z.ZodEmail>;
|
|
62
|
+
fromName: z.ZodOptional<z.ZodString>;
|
|
63
|
+
}, z.core.$strip>;
|
|
64
|
+
/**
|
|
65
|
+
* Validated email settings.
|
|
66
|
+
*
|
|
67
|
+
* @stability stable
|
|
68
|
+
*/
|
|
69
|
+
export type EmailSettings = z.infer<typeof emailSettingsSchema>;
|
|
70
|
+
/**
|
|
71
|
+
* What a system with no email configuration reads as: no transport, switched
|
|
72
|
+
* off.
|
|
73
|
+
*
|
|
74
|
+
* @stability stable
|
|
75
|
+
*/
|
|
76
|
+
export declare const DEFAULT_EMAIL_SETTINGS: EmailSettings;
|
|
77
|
+
/**
|
|
78
|
+
* What the admin page knows about a stored secret (the SMTP password, the SES
|
|
79
|
+
* secret access key) without being told the secret: whether it is set, the
|
|
80
|
+
* store's mask, and when and by whom it was last written.
|
|
81
|
+
*
|
|
82
|
+
* @stability stable
|
|
83
|
+
*/
|
|
84
|
+
export declare const credentialStatusSchema: z.ZodObject<{
|
|
85
|
+
configured: z.ZodBoolean;
|
|
86
|
+
hint: z.ZodNullable<z.ZodString>;
|
|
87
|
+
updatedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
88
|
+
updatedByUserId: z.ZodNullable<z.ZodUUID>;
|
|
89
|
+
}, z.core.$strip>;
|
|
90
|
+
/**
|
|
91
|
+
* The masked status of one stored secret.
|
|
92
|
+
*
|
|
93
|
+
* @stability stable
|
|
94
|
+
*/
|
|
95
|
+
export type EmailCredentialStatusDto = z.infer<typeof credentialStatusSchema>;
|
|
96
|
+
/**
|
|
97
|
+
* The `GET` and `PUT /api/email-settings` response body (inside the global
|
|
98
|
+
* `{ data }` envelope): the settings, a descriptor per registered transport,
|
|
99
|
+
* the masked status of every transport secret, why
|
|
100
|
+
* the stored row could not be read (field paths only; the read degrades to
|
|
101
|
+
* the defaults instead of failing, so the page that repairs the row still
|
|
102
|
+
* renders), and the row's version for `If-Match`.
|
|
103
|
+
*
|
|
104
|
+
* @stability stable
|
|
105
|
+
*/
|
|
106
|
+
export declare const emailSettingsResponseSchema: z.ZodObject<{
|
|
107
|
+
provider: z.ZodNullable<z.ZodString>;
|
|
108
|
+
enabled: z.ZodBoolean;
|
|
109
|
+
sesRegion: z.ZodOptional<z.ZodString>;
|
|
110
|
+
sesAccessKeyId: z.ZodOptional<z.ZodString>;
|
|
111
|
+
smtpHost: z.ZodOptional<z.ZodString>;
|
|
112
|
+
smtpPort: z.ZodOptional<z.ZodNumber>;
|
|
113
|
+
smtpUseTls: z.ZodOptional<z.ZodBoolean>;
|
|
114
|
+
smtpUsername: z.ZodOptional<z.ZodString>;
|
|
115
|
+
fromAddress: z.ZodOptional<z.ZodEmail>;
|
|
116
|
+
fromName: z.ZodOptional<z.ZodString>;
|
|
117
|
+
transports: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
118
|
+
descriptors: z.ZodArray<z.ZodObject<{
|
|
119
|
+
kind: z.ZodString;
|
|
120
|
+
id: z.ZodString;
|
|
121
|
+
label: z.ZodString;
|
|
122
|
+
description: z.ZodOptional<z.ZodString>;
|
|
123
|
+
fields: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
124
|
+
kind: z.ZodLiteral<"boolean">;
|
|
125
|
+
name: z.ZodString;
|
|
126
|
+
label: z.ZodString;
|
|
127
|
+
help: z.ZodOptional<z.ZodString>;
|
|
128
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
129
|
+
kind: z.ZodLiteral<"enum">;
|
|
130
|
+
options: z.ZodArray<z.ZodString>;
|
|
131
|
+
name: z.ZodString;
|
|
132
|
+
label: z.ZodString;
|
|
133
|
+
help: z.ZodOptional<z.ZodString>;
|
|
134
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
135
|
+
kind: z.ZodLiteral<"number">;
|
|
136
|
+
min: z.ZodOptional<z.ZodNumber>;
|
|
137
|
+
max: z.ZodOptional<z.ZodNumber>;
|
|
138
|
+
integer: z.ZodOptional<z.ZodBoolean>;
|
|
139
|
+
name: z.ZodString;
|
|
140
|
+
label: z.ZodString;
|
|
141
|
+
help: z.ZodOptional<z.ZodString>;
|
|
142
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
143
|
+
kind: z.ZodLiteral<"string">;
|
|
144
|
+
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
145
|
+
name: z.ZodString;
|
|
146
|
+
label: z.ZodString;
|
|
147
|
+
help: z.ZodOptional<z.ZodString>;
|
|
148
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
149
|
+
kind: z.ZodLiteral<"other">;
|
|
150
|
+
name: z.ZodString;
|
|
151
|
+
label: z.ZodString;
|
|
152
|
+
help: z.ZodOptional<z.ZodString>;
|
|
153
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
154
|
+
kind: z.ZodLiteral<"secret">;
|
|
155
|
+
hasValue: z.ZodBoolean;
|
|
156
|
+
required: z.ZodBoolean;
|
|
157
|
+
name: z.ZodString;
|
|
158
|
+
label: z.ZodString;
|
|
159
|
+
help: z.ZodOptional<z.ZodString>;
|
|
160
|
+
}, z.core.$strip>], "kind">>;
|
|
161
|
+
}, z.core.$strip>>;
|
|
162
|
+
secretStatuses: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
163
|
+
configured: z.ZodBoolean;
|
|
164
|
+
hint: z.ZodNullable<z.ZodString>;
|
|
165
|
+
updatedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
166
|
+
updatedByUserId: z.ZodNullable<z.ZodUUID>;
|
|
167
|
+
}, z.core.$strip>>>;
|
|
168
|
+
smtpPasswordStatus: z.ZodObject<{
|
|
169
|
+
configured: z.ZodBoolean;
|
|
170
|
+
hint: z.ZodNullable<z.ZodString>;
|
|
171
|
+
updatedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
172
|
+
updatedByUserId: z.ZodNullable<z.ZodUUID>;
|
|
173
|
+
}, z.core.$strip>;
|
|
174
|
+
sesSecretAccessKeyStatus: z.ZodObject<{
|
|
175
|
+
configured: z.ZodBoolean;
|
|
176
|
+
hint: z.ZodNullable<z.ZodString>;
|
|
177
|
+
updatedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
178
|
+
updatedByUserId: z.ZodNullable<z.ZodUUID>;
|
|
179
|
+
}, z.core.$strip>;
|
|
180
|
+
settingsError: z.ZodNullable<z.ZodString>;
|
|
181
|
+
version: z.ZodNumber;
|
|
182
|
+
updatedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
183
|
+
updatedBy: z.ZodNullable<z.ZodObject<{
|
|
184
|
+
id: z.ZodUUID;
|
|
185
|
+
email: z.ZodEmail;
|
|
186
|
+
}, z.core.$strip>>;
|
|
187
|
+
}, z.core.$strip>;
|
|
188
|
+
/**
|
|
189
|
+
* The GET/PUT response body, as sent.
|
|
190
|
+
*
|
|
191
|
+
* @stability stable
|
|
192
|
+
*/
|
|
193
|
+
export type EmailSettingsResponse = z.infer<typeof emailSettingsResponseSchema>;
|
|
194
|
+
/**
|
|
195
|
+
* The `PUT /api/email-settings` body: every settings field (blankable), the
|
|
196
|
+
* `transports` patch, plus the WRITE-ONLY secrets (`secrets`, and the two
|
|
197
|
+
* legacy aliases). A blank secret (absent, `null` or `''`)
|
|
198
|
+
* preserves the stored one; erasing a stored secret is not expressible here.
|
|
199
|
+
*
|
|
200
|
+
* @stability stable
|
|
201
|
+
*/
|
|
202
|
+
export declare const updateEmailSettingsSchema: z.ZodObject<{
|
|
203
|
+
provider: z.ZodNullable<z.ZodString>;
|
|
204
|
+
enabled: z.ZodBoolean;
|
|
205
|
+
transports: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
|
|
206
|
+
sesRegion: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodNull]>, z.ZodOptional<z.ZodString>]>;
|
|
207
|
+
sesAccessKeyId: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodNull]>, z.ZodOptional<z.ZodString>]>;
|
|
208
|
+
smtpHost: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodNull]>, z.ZodOptional<z.ZodString>]>;
|
|
209
|
+
smtpPort: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodNull]>, z.ZodOptional<z.ZodNumber>]>;
|
|
210
|
+
smtpUseTls: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodNull]>, z.ZodOptional<z.ZodBoolean>]>;
|
|
211
|
+
smtpUsername: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodNull]>, z.ZodOptional<z.ZodString>]>;
|
|
212
|
+
fromAddress: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodNull]>, z.ZodOptional<z.ZodEmail>]>;
|
|
213
|
+
fromName: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodNull]>, z.ZodOptional<z.ZodString>]>;
|
|
214
|
+
smtpPassword: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
215
|
+
sesSecretAccessKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
216
|
+
secrets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodNullable<z.ZodString>>>>>;
|
|
217
|
+
}, z.core.$strip>;
|
|
218
|
+
/**
|
|
219
|
+
* The parsed PUT body, secrets included.
|
|
220
|
+
*
|
|
221
|
+
* @stability stable
|
|
222
|
+
*/
|
|
223
|
+
export type UpdateEmailSettingsInput = z.infer<typeof updateEmailSettingsSchema>;
|
|
224
|
+
/**
|
|
225
|
+
* The `POST /api/email-settings/test` response body. HTTP 200 even when the
|
|
226
|
+
* send failed: read `success`, and show `error`, the provider's own message
|
|
227
|
+
* (already redacted of every credential and length-capped by the API).
|
|
228
|
+
*
|
|
229
|
+
* @stability stable
|
|
230
|
+
*/
|
|
231
|
+
export declare const testEmailResultSchema: z.ZodObject<{
|
|
232
|
+
success: z.ZodBoolean;
|
|
233
|
+
sentTo: z.ZodEmail;
|
|
234
|
+
providerKind: z.ZodNullable<z.ZodString>;
|
|
235
|
+
messageId: z.ZodNullable<z.ZodString>;
|
|
236
|
+
error: z.ZodNullable<z.ZodString>;
|
|
237
|
+
attemptedAt: z.ZodISODateTime;
|
|
238
|
+
}, z.core.$strip>;
|
|
239
|
+
/**
|
|
240
|
+
* The POST /test response body.
|
|
241
|
+
*
|
|
242
|
+
* @stability stable
|
|
243
|
+
*/
|
|
244
|
+
export type TestEmailResult = z.infer<typeof testEmailResultSchema>;
|
|
245
|
+
/**
|
|
246
|
+
* The field names no email settings shape may declare (the compile-time
|
|
247
|
+
* proofs below check against them).
|
|
248
|
+
*
|
|
249
|
+
* @stability stable
|
|
250
|
+
*/
|
|
251
|
+
export type EmailSecretFieldName = 'smtpPassword' | 'password' | 'secret' | 'apiKey' | 'accessKeyId' | 'secretAccessKey' | 'ciphertext';
|
|
252
|
+
/**
|
|
253
|
+
* `true` while {@link EmailSettings} has no secret-named field; `never` otherwise.
|
|
254
|
+
*
|
|
255
|
+
* @stability stable
|
|
256
|
+
*/
|
|
257
|
+
export type EmailSettingsCarriesNoSecret = Extract<keyof EmailSettings, EmailSecretFieldName> extends never ? true : never;
|
|
258
|
+
/**
|
|
259
|
+
* The proof that {@link EmailSettings} carries no secret (fails to compile otherwise).
|
|
260
|
+
*
|
|
261
|
+
* @stability stable
|
|
262
|
+
*/
|
|
263
|
+
export declare const EMAIL_SETTINGS_CARRIES_NO_SECRET: EmailSettingsCarriesNoSecret;
|
|
264
|
+
/**
|
|
265
|
+
* `true` while {@link EmailSettingsResponse} has no secret-named field; `never` otherwise.
|
|
266
|
+
*
|
|
267
|
+
* @stability stable
|
|
268
|
+
*/
|
|
269
|
+
export type EmailSettingsResponseCarriesNoSecret = Extract<keyof EmailSettingsResponse, EmailSecretFieldName> extends never ? true : never;
|
|
270
|
+
/**
|
|
271
|
+
* The proof that {@link EmailSettingsResponse} carries no secret (fails to compile otherwise).
|
|
272
|
+
*
|
|
273
|
+
* @stability stable
|
|
274
|
+
*/
|
|
275
|
+
export declare const EMAIL_SETTINGS_RESPONSE_CARRIES_NO_SECRET: EmailSettingsResponseCarriesNoSecret;
|
|
276
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/email/schemas.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG;KAAG,CAAC,IAAI,wBAAwB,GAAG,CAAC;CAAE,CAAC;AAE3E;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,aAA+C,CAAC;AAEnF;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,wCAAoC,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,kEAAiE,CAAC;AAEpG;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,iFAA4E,CAAC;AAKpH;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;iBA6D9B,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAGpC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;;iBASjC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE9E;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmCtC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAqBhF;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;iBAkCpC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEjF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;;;;;;iBAahC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAYpE;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAC5B,cAAc,GACd,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,iBAAiB,GACjB,YAAY,CAAC;AAEjB;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAAC,MAAM,aAAa,EAAE,oBAAoB,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAE3H;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,EAAE,4BAAmC,CAAC;AAEnF;;;;GAIG;AACH,MAAM,MAAM,oCAAoC,GAC9C,OAAO,CAAC,MAAM,qBAAqB,EAAE,oBAAoB,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAE1F;;;;GAIG;AACH,eAAO,MAAM,yCAAyC,EAAE,oCAA2C,CAAC"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Email: the wire contract of `/api/email-settings` (issue #737, PP-8.4;
|
|
3
|
+
// shapes from #122, #124 and #585)
|
|
4
|
+
// =============================================================================
|
|
5
|
+
//
|
|
6
|
+
// The stored settings, the PUT body, the GET/PUT response and the test-send
|
|
7
|
+
// result. The API slice (`@marinoscar/platform-api/email`) wraps each with
|
|
8
|
+
// `createZodDto`; the web slice reads the inferred types.
|
|
9
|
+
//
|
|
10
|
+
// NO SECRET IS STORED IN THE SETTINGS. The SMTP password and the SES secret
|
|
11
|
+
// access key live in the encrypted credential store; the PUT body accepts
|
|
12
|
+
// them write-only, and the response describes them only as a masked status.
|
|
13
|
+
// Compile-time proofs at the bottom of this file fail the build the moment a
|
|
14
|
+
// secret-named field is added to the stored settings or to the response.
|
|
15
|
+
// =============================================================================
|
|
16
|
+
import { z } from 'zod';
|
|
17
|
+
import { pluggableDescriptorSchema } from '../settings/index.js';
|
|
18
|
+
import { EMAIL_TRANSPORT_ID_PATTERN } from './constants.js';
|
|
19
|
+
/**
|
|
20
|
+
* An email transport id: any string matching {@link EMAIL_TRANSPORT_ID_PATTERN}.
|
|
21
|
+
* Not an enum: an app registers transports (`registerEmailTransport`), and the
|
|
22
|
+
* API validates the id against the registry.
|
|
23
|
+
*
|
|
24
|
+
* @extensionPoint option
|
|
25
|
+
* @stability experimental
|
|
26
|
+
*/
|
|
27
|
+
export const emailTransportIdSchema = z.string().regex(EMAIL_TRANSPORT_ID_PATTERN);
|
|
28
|
+
/**
|
|
29
|
+
* One transport's non-secret settings as stored: whatever that transport's
|
|
30
|
+
* `settingsSchema` declares. The contract cannot see the registry, so it
|
|
31
|
+
* checks the shape (a record) and the API validates each entry with the
|
|
32
|
+
* transport that owns it.
|
|
33
|
+
*
|
|
34
|
+
* @stability experimental
|
|
35
|
+
*/
|
|
36
|
+
export const emailTransportSettingsSchema = z.record(z.string(), z.unknown());
|
|
37
|
+
/**
|
|
38
|
+
* The `transports` record: transport id to that transport's settings.
|
|
39
|
+
*
|
|
40
|
+
* @stability experimental
|
|
41
|
+
*/
|
|
42
|
+
export const emailTransportsSchema = z.record(emailTransportIdSchema, emailTransportSettingsSchema);
|
|
43
|
+
/**
|
|
44
|
+
* The `transports` record of a PUT: `null` removes a transport's stored
|
|
45
|
+
* settings (back to its defaults), an object is merged over them.
|
|
46
|
+
*
|
|
47
|
+
* @stability experimental
|
|
48
|
+
*/
|
|
49
|
+
export const emailTransportsPatchSchema = z.record(emailTransportIdSchema, emailTransportSettingsSchema.nullable());
|
|
50
|
+
// The transport, as the settings and the test-send result carry it.
|
|
51
|
+
const providerKindSchema = emailTransportIdSchema;
|
|
52
|
+
/**
|
|
53
|
+
* The admin-configurable half of email delivery: which transport, where it
|
|
54
|
+
* lives, who the mail claims to be from. Ordinary configuration, safe to
|
|
55
|
+
* return from an admin endpoint; stored in the `email` row of
|
|
56
|
+
* `system_settings`.
|
|
57
|
+
*
|
|
58
|
+
* @stability stable
|
|
59
|
+
*/
|
|
60
|
+
export const emailSettingsSchema = z.object({
|
|
61
|
+
/**
|
|
62
|
+
* The id of the active transport: a built-in (`ses`, `smtp`) or one an app
|
|
63
|
+
* registered. `null` means "no transport chosen", the state of
|
|
64
|
+
* every fresh installation: a real, persisted state rather than an absent
|
|
65
|
+
* key.
|
|
66
|
+
*/
|
|
67
|
+
provider: providerKindSchema.nullable(),
|
|
68
|
+
/** Master switch. Nothing is sent while this is false. */
|
|
69
|
+
enabled: z.boolean(),
|
|
70
|
+
/**
|
|
71
|
+
* Every transport's own non-secret settings, keyed by transport id
|
|
72
|
+
* (`transports.smtp.host`, `transports.my-relay.apiBase`), each validated by
|
|
73
|
+
* the transport that owns it. A row written before transports were pluggable
|
|
74
|
+
* has none: the API folds the flat fields below into `transports.ses` and
|
|
75
|
+
* `transports.smtp` when it reads such a row.
|
|
76
|
+
*/
|
|
77
|
+
transports: emailTransportsSchema.optional(),
|
|
78
|
+
/**
|
|
79
|
+
* @deprecated Read view of `transports.ses.region`. SES region override. Absent means "use the deployment's SES region
|
|
80
|
+
* fallback" (`SES_REGION` in the reference app). A verified sending identity
|
|
81
|
+
* is regional, so the override is the usual case.
|
|
82
|
+
*/
|
|
83
|
+
sesRegion: z.string().trim().min(1).optional(),
|
|
84
|
+
/**
|
|
85
|
+
* @deprecated Read view of `transports.ses.accessKeyId`. SES access key id. An IDENTIFIER, NOT A SECRET: it travels in clear in
|
|
86
|
+
* every SigV4 request. The secret access key lives in the credential store.
|
|
87
|
+
*/
|
|
88
|
+
sesAccessKeyId: z.string().trim().min(1).optional(),
|
|
89
|
+
/** @deprecated Read view of `transports.smtp.host`. SMTP server host. */
|
|
90
|
+
smtpHost: z.string().trim().min(1).optional(),
|
|
91
|
+
/**
|
|
92
|
+
* @deprecated Read view of `transports.smtp.port`. SMTP port, validated here so a typo fails on the settings form rather than
|
|
93
|
+
* as a socket-level error.
|
|
94
|
+
*/
|
|
95
|
+
smtpPort: z.number().int().min(1).max(65535).optional(),
|
|
96
|
+
/**
|
|
97
|
+
* @deprecated Read view of `transports.smtp.useTls`. Require TLS. Absent is treated as `true` by the provider: a mail
|
|
98
|
+
* credential must not cross the network in the clear because a checkbox was
|
|
99
|
+
* missing from a stored row.
|
|
100
|
+
*/
|
|
101
|
+
smtpUseTls: z.boolean().optional(),
|
|
102
|
+
/**
|
|
103
|
+
* @deprecated Read view of `transports.smtp.username`. SMTP username. Absent means unauthenticated submission (an internal relay
|
|
104
|
+
* that authorises by source IP).
|
|
105
|
+
*/
|
|
106
|
+
smtpUsername: z.string().trim().min(1).optional(),
|
|
107
|
+
/** Envelope and header sender, validated as an address. */
|
|
108
|
+
fromAddress: z.email().optional(),
|
|
109
|
+
/** Display name paired with `fromAddress`, e.g. `Acme <no-reply@acme.com>`. */
|
|
110
|
+
fromName: z.string().trim().min(1).max(100).optional(),
|
|
111
|
+
});
|
|
112
|
+
/**
|
|
113
|
+
* What a system with no email configuration reads as: no transport, switched
|
|
114
|
+
* off.
|
|
115
|
+
*
|
|
116
|
+
* @stability stable
|
|
117
|
+
*/
|
|
118
|
+
export const DEFAULT_EMAIL_SETTINGS = {
|
|
119
|
+
provider: null,
|
|
120
|
+
enabled: false,
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* What the admin page knows about a stored secret (the SMTP password, the SES
|
|
124
|
+
* secret access key) without being told the secret: whether it is set, the
|
|
125
|
+
* store's mask, and when and by whom it was last written.
|
|
126
|
+
*
|
|
127
|
+
* @stability stable
|
|
128
|
+
*/
|
|
129
|
+
export const credentialStatusSchema = z.object({
|
|
130
|
+
/** Is a secret stored at this credential's address? */
|
|
131
|
+
configured: z.boolean(),
|
|
132
|
+
/** The store's non-secret mask, e.g. `••••x9fQ`; null when nothing is stored. */
|
|
133
|
+
hint: z.string().nullable(),
|
|
134
|
+
/** When the stored secret was last written; null when nothing is stored. */
|
|
135
|
+
updatedAt: z.iso.datetime().nullable(),
|
|
136
|
+
/** Who last wrote it; null when nothing is stored, or the user was deleted. */
|
|
137
|
+
updatedByUserId: z.uuid().nullable(),
|
|
138
|
+
});
|
|
139
|
+
/**
|
|
140
|
+
* The `GET` and `PUT /api/email-settings` response body (inside the global
|
|
141
|
+
* `{ data }` envelope): the settings, a descriptor per registered transport,
|
|
142
|
+
* the masked status of every transport secret, why
|
|
143
|
+
* the stored row could not be read (field paths only; the read degrades to
|
|
144
|
+
* the defaults instead of failing, so the page that repairs the row still
|
|
145
|
+
* renders), and the row's version for `If-Match`.
|
|
146
|
+
*
|
|
147
|
+
* @stability stable
|
|
148
|
+
*/
|
|
149
|
+
export const emailSettingsResponseSchema = emailSettingsSchema.extend({
|
|
150
|
+
/** Every REGISTERED transport's own settings, keyed by transport id, with its defaults filled. */
|
|
151
|
+
transports: emailTransportsSchema,
|
|
152
|
+
/**
|
|
153
|
+
* One descriptor per registered transport, in registration order: its id
|
|
154
|
+
* and label, its non-secret settings fields and one `secret` field per
|
|
155
|
+
* declared secret carrying only whether a value is stored (`hasValue`),
|
|
156
|
+
* never the value. The admin page renders any transport without
|
|
157
|
+
* hard-coded knowledge of it.
|
|
158
|
+
*/
|
|
159
|
+
descriptors: z.array(pluggableDescriptorSchema),
|
|
160
|
+
/**
|
|
161
|
+
* The masked status of every declared secret of every registered transport:
|
|
162
|
+
* `{ <transportId>: { <secretName>: status } }`. Nothing here can carry a value.
|
|
163
|
+
*/
|
|
164
|
+
secretStatuses: z.record(emailTransportIdSchema, z.record(z.string(), credentialStatusSchema)),
|
|
165
|
+
/** @deprecated `secretStatuses.smtp.password`. The SMTP password's masked status. */
|
|
166
|
+
smtpPasswordStatus: credentialStatusSchema,
|
|
167
|
+
/** @deprecated `secretStatuses.ses.secretAccessKey`. The SES secret access key's masked status. */
|
|
168
|
+
sesSecretAccessKeyStatus: credentialStatusSchema,
|
|
169
|
+
/** Why the stored configuration could not be read; null normally. Field paths only. */
|
|
170
|
+
settingsError: z.string().nullable(),
|
|
171
|
+
/** Bumped on every write; pass back as `If-Match` on PUT. `0` while nothing is stored. */
|
|
172
|
+
version: z.number().int(),
|
|
173
|
+
/** When the row last changed. */
|
|
174
|
+
updatedAt: z.iso.datetime().nullable(),
|
|
175
|
+
/** Who last changed it. */
|
|
176
|
+
updatedBy: z
|
|
177
|
+
.object({
|
|
178
|
+
/** The user's id. */
|
|
179
|
+
id: z.uuid(),
|
|
180
|
+
/** The user's address. */
|
|
181
|
+
email: z.email(),
|
|
182
|
+
})
|
|
183
|
+
.nullable(),
|
|
184
|
+
});
|
|
185
|
+
/**
|
|
186
|
+
* Length ceiling on a submitted secret. Not a security control: a bound on
|
|
187
|
+
* what a paste accident can push into an encrypted column.
|
|
188
|
+
*/
|
|
189
|
+
const MAX_SECRET_LENGTH = 1024;
|
|
190
|
+
/**
|
|
191
|
+
* A settings field an admin left empty: a cleared input submits `''`, a reset
|
|
192
|
+
* controlled field `null`. A union rather than a `z.preprocess`, because the
|
|
193
|
+
* OpenAPI generator cannot represent a transform. The service converts both
|
|
194
|
+
* to "absent".
|
|
195
|
+
*/
|
|
196
|
+
const unset = z.union([z.literal(''), z.null()]);
|
|
197
|
+
/** The stored rule for one field, plus the two "empty box" forms. */
|
|
198
|
+
function blankable(inner) {
|
|
199
|
+
return z.union([unset, inner]);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* The `PUT /api/email-settings` body: every settings field (blankable), the
|
|
203
|
+
* `transports` patch, plus the WRITE-ONLY secrets (`secrets`, and the two
|
|
204
|
+
* legacy aliases). A blank secret (absent, `null` or `''`)
|
|
205
|
+
* preserves the stored one; erasing a stored secret is not expressible here.
|
|
206
|
+
*
|
|
207
|
+
* @stability stable
|
|
208
|
+
*/
|
|
209
|
+
export const updateEmailSettingsSchema = emailSettingsSchema.extend({
|
|
210
|
+
/**
|
|
211
|
+
* Transport settings to merge, per transport id, each validated by the
|
|
212
|
+
* transport that owns it. `null` removes a transport's stored settings (back
|
|
213
|
+
* to its defaults); a setting a transport's entry omits keeps its stored
|
|
214
|
+
* value. `transports.<id>` wins over a legacy flat field for the same setting.
|
|
215
|
+
*/
|
|
216
|
+
transports: emailTransportsPatchSchema.optional(),
|
|
217
|
+
/** @deprecated Alias of `transports.ses.region`; blank clears it. */
|
|
218
|
+
sesRegion: blankable(emailSettingsSchema.shape.sesRegion),
|
|
219
|
+
/** @deprecated Alias of `transports.ses.accessKeyId` (not a secret); blank clears it. */
|
|
220
|
+
sesAccessKeyId: blankable(emailSettingsSchema.shape.sesAccessKeyId),
|
|
221
|
+
/** @deprecated Alias of `transports.smtp.host`; blank clears it. */
|
|
222
|
+
smtpHost: blankable(emailSettingsSchema.shape.smtpHost),
|
|
223
|
+
/** @deprecated Alias of `transports.smtp.port`; blank clears it (587 applies). */
|
|
224
|
+
smtpPort: blankable(emailSettingsSchema.shape.smtpPort),
|
|
225
|
+
/** @deprecated Alias of `transports.smtp.useTls`; blank clears it (on applies). */
|
|
226
|
+
smtpUseTls: blankable(emailSettingsSchema.shape.smtpUseTls),
|
|
227
|
+
/** @deprecated Alias of `transports.smtp.username`; blank means unauthenticated submission. */
|
|
228
|
+
smtpUsername: blankable(emailSettingsSchema.shape.smtpUsername),
|
|
229
|
+
/** Sender address; blank clears it. */
|
|
230
|
+
fromAddress: blankable(emailSettingsSchema.shape.fromAddress),
|
|
231
|
+
/** Sender display name; blank clears it. */
|
|
232
|
+
fromName: blankable(emailSettingsSchema.shape.fromName),
|
|
233
|
+
/** The SMTP password. Write-only; blank preserves the stored one. Alias of `secrets.smtp.password`. */
|
|
234
|
+
smtpPassword: z.string().max(MAX_SECRET_LENGTH).nullish(),
|
|
235
|
+
/** The SES secret access key. Write-only; blank preserves the stored one. Alias of `secrets.ses.secretAccessKey`. */
|
|
236
|
+
sesSecretAccessKey: z.string().max(MAX_SECRET_LENGTH).nullish(),
|
|
237
|
+
/**
|
|
238
|
+
* WRITE-ONLY secrets of any transport: `{ <transportId>: { <secretName>: value } }`,
|
|
239
|
+
* the names the transport declares (`descriptors[].fields` of kind `secret`).
|
|
240
|
+
* A blank value keeps the stored one. Never echoed back.
|
|
241
|
+
*/
|
|
242
|
+
secrets: z.record(emailTransportIdSchema, z.record(z.string(), z.string().max(4096).nullish())).optional(),
|
|
243
|
+
});
|
|
244
|
+
/**
|
|
245
|
+
* The `POST /api/email-settings/test` response body. HTTP 200 even when the
|
|
246
|
+
* send failed: read `success`, and show `error`, the provider's own message
|
|
247
|
+
* (already redacted of every credential and length-capped by the API).
|
|
248
|
+
*
|
|
249
|
+
* @stability stable
|
|
250
|
+
*/
|
|
251
|
+
export const testEmailResultSchema = z.object({
|
|
252
|
+
/** Did the provider ACCEPT the message (not: was it delivered)? */
|
|
253
|
+
success: z.boolean(),
|
|
254
|
+
/** Where it went: always the caller's own address (there is no recipient parameter). */
|
|
255
|
+
sentTo: z.email(),
|
|
256
|
+
/** Which transport carried (or refused) it; null when none was configured. */
|
|
257
|
+
providerKind: providerKindSchema.nullable(),
|
|
258
|
+
/** The transport's message id, on success. */
|
|
259
|
+
messageId: z.string().nullable(),
|
|
260
|
+
/** The provider's error, verbatim after redaction; null on success. */
|
|
261
|
+
error: z.string().nullable(),
|
|
262
|
+
/** When the attempt was made (ISO 8601). */
|
|
263
|
+
attemptedAt: z.iso.datetime(),
|
|
264
|
+
});
|
|
265
|
+
/**
|
|
266
|
+
* The proof that {@link EmailSettings} carries no secret (fails to compile otherwise).
|
|
267
|
+
*
|
|
268
|
+
* @stability stable
|
|
269
|
+
*/
|
|
270
|
+
export const EMAIL_SETTINGS_CARRIES_NO_SECRET = true;
|
|
271
|
+
/**
|
|
272
|
+
* The proof that {@link EmailSettingsResponse} carries no secret (fails to compile otherwise).
|
|
273
|
+
*
|
|
274
|
+
* @stability stable
|
|
275
|
+
*/
|
|
276
|
+
export const EMAIL_SETTINGS_RESPONSE_CARRIES_NO_SECRET = true;
|
|
277
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/email/schemas.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,yEAAyE;AACzE,mCAAmC;AACnC,gFAAgF;AAChF,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,0DAA0D;AAC1D,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,4EAA4E;AAC5E,6EAA6E;AAC7E,yEAAyE;AACzE,gFAAgF;AAEhF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAW5D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAEnF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,4BAA4B,CAAC,CAAC;AAEpG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,4BAA4B,CAAC,QAAQ,EAAE,CAAC,CAAC;AAEpH,oEAAoE;AACpE,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C;;;;;OAKG;IACH,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAEvC,0DAA0D;IAC1D,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IAEpB;;;;;;OAMG;IACH,UAAU,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAE5C;;;;OAIG;IACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAE9C;;;OAGG;IACH,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAEnD,yEAAyE;IACzE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAE7C;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;IAEvD;;;;OAIG;IACH,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAElC;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAEjD,2DAA2D;IAC3D,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IAEjC,+EAA+E;IAC/E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC;AASH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,KAAK;CACf,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,uDAAuD;IACvD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,iFAAiF;IACjF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,4EAA4E;IAC5E,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtC,+EAA+E;IAC/E,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AASH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,mBAAmB,CAAC,MAAM,CAAC;IACpE,kGAAkG;IAClG,UAAU,EAAE,qBAAqB;IACjC;;;;;;OAMG;IACH,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAC/C;;;OAGG;IACH,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC;IAC9F,qFAAqF;IACrF,kBAAkB,EAAE,sBAAsB;IAC1C,mGAAmG;IACnG,wBAAwB,EAAE,sBAAsB;IAChD,uFAAuF;IACvF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,0FAA0F;IAC1F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACzB,iCAAiC;IACjC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtC,2BAA2B;IAC3B,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,qBAAqB;QACrB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;QACZ,0BAA0B;QAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE;KACjB,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AASH;;;GAGG;AACH,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAEjD,qEAAqE;AACrE,SAAS,SAAS,CAAyB,KAAQ;IACjD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAClE;;;;;OAKG;IACH,UAAU,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IACjD,qEAAqE;IACrE,SAAS,EAAE,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC;IACzD,yFAAyF;IACzF,cAAc,EAAE,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC;IACnE,oEAAoE;IACpE,QAAQ,EAAE,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACvD,kFAAkF;IAClF,QAAQ,EAAE,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACvD,mFAAmF;IACnF,UAAU,EAAE,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC;IAC3D,+FAA+F;IAC/F,YAAY,EAAE,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC;IAC/D,uCAAuC;IACvC,WAAW,EAAE,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC;IAC7D,4CAA4C;IAC5C,QAAQ,EAAE,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;IACvD,uGAAuG;IACvG,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE;IACzD,qHAAqH;IACrH,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE;IAC/D;;;;OAIG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC3G,CAAC,CAAC;AASH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,mEAAmE;IACnE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,wFAAwF;IACxF,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE;IACjB,8EAA8E;IAC9E,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,8CAA8C;IAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,uEAAuE;IACvE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,4CAA4C;IAC5C,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAyCH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAiC,IAAI,CAAC;AAUnF;;;;GAIG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAyC,IAAI,CAAC"}
|