@knocklabs/node 0.6.19 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -7
- package/LICENSE +201 -21
- package/README.md +338 -129
- package/api-promise.d.mts +2 -0
- package/api-promise.d.mts.map +1 -0
- package/api-promise.d.ts +2 -0
- package/api-promise.d.ts.map +1 -0
- package/api-promise.js +19 -0
- package/api-promise.js.map +1 -0
- package/api-promise.mjs +2 -0
- package/api-promise.mjs.map +1 -0
- package/client.d.mts +220 -0
- package/client.d.mts.map +1 -0
- package/client.d.ts +220 -0
- package/client.d.ts.map +1 -0
- package/client.js +502 -0
- package/client.js.map +1 -0
- package/client.mjs +475 -0
- package/client.mjs.map +1 -0
- package/core/api-promise.d.mts +47 -0
- package/core/api-promise.d.mts.map +1 -0
- package/core/api-promise.d.ts +47 -0
- package/core/api-promise.d.ts.map +1 -0
- package/core/api-promise.js +84 -0
- package/core/api-promise.js.map +1 -0
- package/core/api-promise.mjs +80 -0
- package/core/api-promise.mjs.map +1 -0
- package/core/error.d.mts +47 -0
- package/core/error.d.mts.map +1 -0
- package/core/error.d.ts +47 -0
- package/core/error.d.ts.map +1 -0
- package/core/error.js +113 -0
- package/core/error.js.map +1 -0
- package/core/error.mjs +97 -0
- package/core/error.mjs.map +1 -0
- package/core/pagination.d.mts +112 -0
- package/core/pagination.d.mts.map +1 -0
- package/core/pagination.d.ts +112 -0
- package/core/pagination.d.ts.map +1 -0
- package/core/pagination.js +183 -0
- package/core/pagination.js.map +1 -0
- package/core/pagination.mjs +174 -0
- package/core/pagination.mjs.map +1 -0
- package/core/resource.d.mts +6 -0
- package/core/resource.d.mts.map +1 -0
- package/core/resource.d.ts +6 -0
- package/core/resource.d.ts.map +1 -0
- package/core/resource.js +11 -0
- package/core/resource.js.map +1 -0
- package/core/resource.mjs +7 -0
- package/core/resource.mjs.map +1 -0
- package/core/uploads.d.mts +3 -0
- package/core/uploads.d.mts.map +1 -0
- package/core/uploads.d.ts +3 -0
- package/core/uploads.d.ts.map +1 -0
- package/core/uploads.js +6 -0
- package/core/uploads.js.map +1 -0
- package/core/uploads.mjs +2 -0
- package/core/uploads.mjs.map +1 -0
- package/error.d.mts +2 -0
- package/error.d.mts.map +1 -0
- package/error.d.ts +2 -0
- package/error.d.ts.map +1 -0
- package/error.js +19 -0
- package/error.js.map +1 -0
- package/error.mjs +2 -0
- package/error.mjs.map +1 -0
- package/index.d.mts +7 -0
- package/index.d.mts.map +1 -0
- package/index.d.ts +7 -0
- package/index.d.ts.map +1 -0
- package/index.js +32 -0
- package/index.js.map +1 -0
- package/index.mjs +8 -0
- package/index.mjs.map +1 -0
- package/internal/builtin-types.d.mts +75 -0
- package/internal/builtin-types.d.mts.map +1 -0
- package/internal/builtin-types.d.ts +75 -0
- package/internal/builtin-types.d.ts.map +1 -0
- package/internal/builtin-types.js +4 -0
- package/internal/builtin-types.js.map +1 -0
- package/internal/builtin-types.mjs +3 -0
- package/internal/builtin-types.mjs.map +1 -0
- package/internal/detect-platform.d.mts +15 -0
- package/internal/detect-platform.d.mts.map +1 -0
- package/internal/detect-platform.d.ts +15 -0
- package/internal/detect-platform.d.ts.map +1 -0
- package/internal/detect-platform.js +162 -0
- package/internal/detect-platform.js.map +1 -0
- package/internal/detect-platform.mjs +157 -0
- package/internal/detect-platform.mjs.map +1 -0
- package/internal/errors.d.mts +3 -0
- package/internal/errors.d.mts.map +1 -0
- package/internal/errors.d.ts +3 -0
- package/internal/errors.d.ts.map +1 -0
- package/internal/errors.js +41 -0
- package/internal/errors.js.map +1 -0
- package/internal/errors.mjs +36 -0
- package/internal/errors.mjs.map +1 -0
- package/internal/headers.d.mts +21 -0
- package/internal/headers.d.mts.map +1 -0
- package/internal/headers.d.ts +21 -0
- package/internal/headers.d.ts.map +1 -0
- package/internal/headers.js +79 -0
- package/internal/headers.js.map +1 -0
- package/internal/headers.mjs +74 -0
- package/internal/headers.mjs.map +1 -0
- package/internal/parse.d.mts +13 -0
- package/internal/parse.d.mts.map +1 -0
- package/internal/parse.d.ts +13 -0
- package/internal/parse.d.ts.map +1 -0
- package/internal/parse.js +36 -0
- package/internal/parse.js.map +1 -0
- package/internal/parse.mjs +32 -0
- package/internal/parse.mjs.map +1 -0
- package/internal/qs/formats.d.mts +6 -0
- package/internal/qs/formats.d.mts.map +1 -0
- package/internal/qs/formats.d.ts +6 -0
- package/internal/qs/formats.d.ts.map +1 -0
- package/internal/qs/formats.js +11 -0
- package/internal/qs/formats.js.map +1 -0
- package/internal/qs/formats.mjs +8 -0
- package/internal/qs/formats.mjs.map +1 -0
- package/internal/qs/index.d.mts +10 -0
- package/internal/qs/index.d.mts.map +1 -0
- package/internal/qs/index.d.ts +10 -0
- package/internal/qs/index.d.ts.map +1 -0
- package/internal/qs/index.js +14 -0
- package/internal/qs/index.js.map +1 -0
- package/internal/qs/index.mjs +10 -0
- package/internal/qs/index.mjs.map +1 -0
- package/internal/qs/stringify.d.mts +3 -0
- package/internal/qs/stringify.d.mts.map +1 -0
- package/internal/qs/stringify.d.ts +3 -0
- package/internal/qs/stringify.d.ts.map +1 -0
- package/internal/qs/stringify.js +280 -0
- package/internal/qs/stringify.js.map +1 -0
- package/internal/qs/stringify.mjs +276 -0
- package/internal/qs/stringify.mjs.map +1 -0
- package/internal/qs/types.d.mts +57 -0
- package/internal/qs/types.d.mts.map +1 -0
- package/internal/qs/types.d.ts +57 -0
- package/internal/qs/types.d.ts.map +1 -0
- package/{dist/src/common/interfaces.js → internal/qs/types.js} +1 -0
- package/internal/qs/types.js.map +1 -0
- package/internal/qs/types.mjs +2 -0
- package/internal/qs/types.mjs.map +1 -0
- package/internal/qs/utils.d.mts +14 -0
- package/internal/qs/utils.d.mts.map +1 -0
- package/internal/qs/utils.d.ts +14 -0
- package/internal/qs/utils.d.ts.map +1 -0
- package/internal/qs/utils.js +229 -0
- package/internal/qs/utils.js.map +1 -0
- package/internal/qs/utils.mjs +217 -0
- package/internal/qs/utils.mjs.map +1 -0
- package/internal/request-options.d.mts +33 -0
- package/internal/request-options.d.mts.map +1 -0
- package/internal/request-options.d.ts +33 -0
- package/internal/request-options.d.ts.map +1 -0
- package/internal/request-options.js +14 -0
- package/internal/request-options.js.map +1 -0
- package/internal/request-options.mjs +10 -0
- package/internal/request-options.mjs.map +1 -0
- package/internal/shim-types.d.mts +28 -0
- package/internal/shim-types.d.ts +28 -0
- package/internal/shims/crypto.d.mts +13 -0
- package/internal/shims/crypto.d.mts.map +1 -0
- package/internal/shims/crypto.d.ts +13 -0
- package/internal/shims/crypto.d.ts.map +1 -0
- package/internal/shims/crypto.js +13 -0
- package/internal/shims/crypto.js.map +1 -0
- package/internal/shims/crypto.mjs +9 -0
- package/internal/shims/crypto.mjs.map +1 -0
- package/internal/shims/file.d.mts +23 -0
- package/internal/shims/file.d.mts.map +1 -0
- package/internal/shims/file.d.ts +23 -0
- package/internal/shims/file.d.ts.map +1 -0
- package/internal/shims/file.js +16 -0
- package/internal/shims/file.js.map +1 -0
- package/internal/shims/file.mjs +12 -0
- package/internal/shims/file.mjs.map +1 -0
- package/internal/shims/getBuiltinModule.d.mts +11 -0
- package/internal/shims/getBuiltinModule.d.mts.map +1 -0
- package/internal/shims/getBuiltinModule.d.ts +11 -0
- package/internal/shims/getBuiltinModule.d.ts.map +1 -0
- package/internal/shims/getBuiltinModule.js +71 -0
- package/internal/shims/getBuiltinModule.js.map +1 -0
- package/internal/shims/getBuiltinModule.mjs +67 -0
- package/internal/shims/getBuiltinModule.mjs.map +1 -0
- package/internal/shims/nullGetBuiltinModule.d.mts +2 -0
- package/internal/shims/nullGetBuiltinModule.d.mts.map +1 -0
- package/internal/shims/nullGetBuiltinModule.d.ts +2 -0
- package/internal/shims/nullGetBuiltinModule.d.ts.map +1 -0
- package/internal/shims/nullGetBuiltinModule.js +5 -0
- package/internal/shims/nullGetBuiltinModule.js.map +1 -0
- package/internal/shims/nullGetBuiltinModule.mjs +2 -0
- package/internal/shims/nullGetBuiltinModule.mjs.map +1 -0
- package/internal/shims.d.mts +20 -0
- package/internal/shims.d.mts.map +1 -0
- package/internal/shims.d.ts +20 -0
- package/internal/shims.d.ts.map +1 -0
- package/internal/shims.js +93 -0
- package/internal/shims.js.map +1 -0
- package/internal/shims.mjs +85 -0
- package/internal/shims.mjs.map +1 -0
- package/internal/to-file.d.mts +46 -0
- package/internal/to-file.d.mts.map +1 -0
- package/internal/to-file.d.ts +46 -0
- package/internal/to-file.d.ts.map +1 -0
- package/internal/to-file.js +91 -0
- package/internal/to-file.js.map +1 -0
- package/internal/to-file.mjs +87 -0
- package/internal/to-file.mjs.map +1 -0
- package/internal/types.d.mts +68 -0
- package/internal/types.d.mts.map +1 -0
- package/internal/types.d.ts +68 -0
- package/internal/types.d.ts.map +1 -0
- package/internal/types.js +4 -0
- package/internal/types.js.map +1 -0
- package/internal/types.mjs +3 -0
- package/internal/types.mjs.map +1 -0
- package/internal/uploads.d.mts +44 -0
- package/internal/uploads.d.mts.map +1 -0
- package/internal/uploads.d.ts +44 -0
- package/internal/uploads.d.ts.map +1 -0
- package/internal/uploads.js +131 -0
- package/internal/uploads.js.map +1 -0
- package/internal/uploads.mjs +122 -0
- package/internal/uploads.mjs.map +1 -0
- package/internal/utils/base64.d.mts +3 -0
- package/internal/utils/base64.d.mts.map +1 -0
- package/internal/utils/base64.d.ts +3 -0
- package/internal/utils/base64.d.ts.map +1 -0
- package/internal/utils/base64.js +38 -0
- package/internal/utils/base64.js.map +1 -0
- package/internal/utils/base64.mjs +33 -0
- package/internal/utils/base64.mjs.map +1 -0
- package/internal/utils/bytes.d.mts +4 -0
- package/internal/utils/bytes.d.mts.map +1 -0
- package/internal/utils/bytes.d.ts +4 -0
- package/internal/utils/bytes.d.ts.map +1 -0
- package/internal/utils/bytes.js +32 -0
- package/internal/utils/bytes.js.map +1 -0
- package/internal/utils/bytes.mjs +26 -0
- package/internal/utils/bytes.mjs.map +1 -0
- package/internal/utils/env.d.mts +9 -0
- package/internal/utils/env.d.mts.map +1 -0
- package/internal/utils/env.d.ts +9 -0
- package/internal/utils/env.d.ts.map +1 -0
- package/internal/utils/env.js +22 -0
- package/internal/utils/env.js.map +1 -0
- package/internal/utils/env.mjs +18 -0
- package/internal/utils/env.mjs.map +1 -0
- package/internal/utils/log.d.mts +38 -0
- package/internal/utils/log.d.mts.map +1 -0
- package/internal/utils/log.d.ts +38 -0
- package/internal/utils/log.d.ts.map +1 -0
- package/internal/utils/log.js +85 -0
- package/internal/utils/log.js.map +1 -0
- package/internal/utils/log.mjs +79 -0
- package/internal/utils/log.mjs.map +1 -0
- package/internal/utils/path.d.mts +15 -0
- package/internal/utils/path.d.mts.map +1 -0
- package/internal/utils/path.d.ts +15 -0
- package/internal/utils/path.d.ts.map +1 -0
- package/internal/utils/path.js +58 -0
- package/internal/utils/path.js.map +1 -0
- package/internal/utils/path.mjs +53 -0
- package/internal/utils/path.mjs.map +1 -0
- package/internal/utils/sleep.d.mts +2 -0
- package/internal/utils/sleep.d.mts.map +1 -0
- package/internal/utils/sleep.d.ts +2 -0
- package/internal/utils/sleep.d.ts.map +1 -0
- package/internal/utils/sleep.js +7 -0
- package/internal/utils/sleep.js.map +1 -0
- package/internal/utils/sleep.mjs +3 -0
- package/internal/utils/sleep.mjs.map +1 -0
- package/internal/utils/uuid.d.mts +5 -0
- package/internal/utils/uuid.d.mts.map +1 -0
- package/internal/utils/uuid.d.ts +5 -0
- package/internal/utils/uuid.d.ts.map +1 -0
- package/internal/utils/uuid.js +20 -0
- package/internal/utils/uuid.js.map +1 -0
- package/internal/utils/uuid.mjs +16 -0
- package/internal/utils/uuid.mjs.map +1 -0
- package/internal/utils/values.d.mts +16 -0
- package/internal/utils/values.d.mts.map +1 -0
- package/internal/utils/values.d.ts +16 -0
- package/internal/utils/values.d.ts.map +1 -0
- package/internal/utils/values.js +109 -0
- package/internal/utils/values.js.map +1 -0
- package/internal/utils/values.mjs +92 -0
- package/internal/utils/values.mjs.map +1 -0
- package/internal/utils.d.mts +7 -0
- package/internal/utils.d.mts.map +1 -0
- package/internal/utils.d.ts +7 -0
- package/internal/utils.d.ts.map +1 -0
- package/internal/utils.js +24 -0
- package/internal/utils.js.map +1 -0
- package/internal/utils.mjs +8 -0
- package/internal/utils.mjs.map +1 -0
- package/lib/index.d.mts +6 -0
- package/lib/index.d.mts.map +1 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.d.ts.map +1 -0
- package/{dist/src → lib}/index.js +6 -10
- package/lib/index.js.map +1 -0
- package/lib/index.mjs +6 -0
- package/lib/index.mjs.map +1 -0
- package/lib/tokenSigner.d.mts +46 -0
- package/lib/tokenSigner.d.mts.map +1 -0
- package/lib/tokenSigner.d.ts +46 -0
- package/lib/tokenSigner.d.ts.map +1 -0
- package/lib/tokenSigner.js +154 -0
- package/lib/tokenSigner.js.map +1 -0
- package/lib/tokenSigner.mjs +125 -0
- package/lib/tokenSigner.mjs.map +1 -0
- package/lib/userTokens.d.mts +32 -0
- package/lib/userTokens.d.mts.map +1 -0
- package/{dist/src/common → lib}/userTokens.d.ts +7 -3
- package/lib/userTokens.d.ts.map +1 -0
- package/{dist/src/common → lib}/userTokens.js +5 -1
- package/lib/userTokens.js.map +1 -0
- package/lib/userTokens.mjs +12 -0
- package/lib/userTokens.mjs.map +1 -0
- package/package.json +157 -39
- package/pagination.d.mts +2 -0
- package/pagination.d.mts.map +1 -0
- package/pagination.d.ts +2 -0
- package/pagination.d.ts.map +1 -0
- package/pagination.js +19 -0
- package/pagination.js.map +1 -0
- package/pagination.mjs +2 -0
- package/pagination.mjs.map +1 -0
- package/resource.d.mts +2 -0
- package/resource.d.mts.map +1 -0
- package/resource.d.ts +2 -0
- package/resource.d.ts.map +1 -0
- package/resource.js +19 -0
- package/resource.js.map +1 -0
- package/resource.mjs +2 -0
- package/resource.mjs.map +1 -0
- package/resources/audiences.d.mts +123 -0
- package/resources/audiences.d.mts.map +1 -0
- package/resources/audiences.d.ts +123 -0
- package/resources/audiences.d.ts.map +1 -0
- package/resources/audiences.js +28 -0
- package/resources/audiences.js.map +1 -0
- package/resources/audiences.mjs +24 -0
- package/resources/audiences.mjs.map +1 -0
- package/resources/bulk-operations.d.mts +90 -0
- package/resources/bulk-operations.d.mts.map +1 -0
- package/resources/bulk-operations.d.ts +90 -0
- package/resources/bulk-operations.d.ts.map +1 -0
- package/resources/bulk-operations.js +16 -0
- package/resources/bulk-operations.js.map +1 -0
- package/resources/bulk-operations.mjs +12 -0
- package/resources/bulk-operations.mjs.map +1 -0
- package/resources/channels/bulk.d.mts +61 -0
- package/resources/channels/bulk.d.mts.map +1 -0
- package/resources/channels/bulk.d.ts +61 -0
- package/resources/channels/bulk.d.ts.map +1 -0
- package/resources/channels/bulk.js +19 -0
- package/resources/channels/bulk.js.map +1 -0
- package/resources/channels/bulk.mjs +15 -0
- package/resources/channels/bulk.mjs.map +1 -0
- package/resources/channels/channels.d.mts +10 -0
- package/resources/channels/channels.d.mts.map +1 -0
- package/resources/channels/channels.d.ts +10 -0
- package/resources/channels/channels.d.ts.map +1 -0
- package/resources/channels/channels.js +39 -0
- package/resources/channels/channels.js.map +1 -0
- package/resources/channels/channels.mjs +12 -0
- package/resources/channels/channels.mjs.map +1 -0
- package/resources/channels/index.d.mts +3 -0
- package/resources/channels/index.d.mts.map +1 -0
- package/resources/channels/index.d.ts +3 -0
- package/resources/channels/index.d.ts.map +1 -0
- package/resources/channels/index.js +9 -0
- package/resources/channels/index.js.map +1 -0
- package/resources/channels/index.mjs +4 -0
- package/resources/channels/index.mjs.map +1 -0
- package/resources/channels.d.mts +2 -0
- package/resources/channels.d.mts.map +1 -0
- package/resources/channels.d.ts +2 -0
- package/resources/channels.d.ts.map +1 -0
- package/resources/channels.js +19 -0
- package/resources/channels.js.map +1 -0
- package/resources/channels.mjs +3 -0
- package/resources/channels.mjs.map +1 -0
- package/resources/index.d.mts +14 -0
- package/resources/index.d.mts.map +1 -0
- package/resources/index.d.ts +14 -0
- package/resources/index.d.ts.map +1 -0
- package/resources/index.js +31 -0
- package/resources/index.js.map +1 -0
- package/resources/index.mjs +15 -0
- package/resources/index.mjs.map +1 -0
- package/resources/integrations/census.d.mts +41 -0
- package/resources/integrations/census.d.mts.map +1 -0
- package/resources/integrations/census.d.ts +41 -0
- package/resources/integrations/census.d.ts.map +1 -0
- package/resources/integrations/census.js +15 -0
- package/resources/integrations/census.js.map +1 -0
- package/resources/integrations/census.mjs +11 -0
- package/resources/integrations/census.mjs.map +1 -0
- package/resources/integrations/hightouch.d.mts +41 -0
- package/resources/integrations/hightouch.d.mts.map +1 -0
- package/resources/integrations/hightouch.d.ts +41 -0
- package/resources/integrations/hightouch.d.ts.map +1 -0
- package/resources/integrations/hightouch.js +15 -0
- package/resources/integrations/hightouch.js.map +1 -0
- package/resources/integrations/hightouch.mjs +11 -0
- package/resources/integrations/hightouch.mjs.map +1 -0
- package/resources/integrations/index.d.mts +4 -0
- package/resources/integrations/index.d.mts.map +1 -0
- package/resources/integrations/index.d.ts +4 -0
- package/resources/integrations/index.d.ts.map +1 -0
- package/resources/integrations/index.js +11 -0
- package/resources/integrations/index.js.map +1 -0
- package/resources/integrations/index.mjs +5 -0
- package/resources/integrations/index.mjs.map +1 -0
- package/resources/integrations/integrations.d.mts +14 -0
- package/resources/integrations/integrations.d.mts.map +1 -0
- package/resources/integrations/integrations.d.ts +14 -0
- package/resources/integrations/integrations.d.ts.map +1 -0
- package/resources/integrations/integrations.js +43 -0
- package/resources/integrations/integrations.js.map +1 -0
- package/resources/integrations/integrations.mjs +16 -0
- package/resources/integrations/integrations.mjs.map +1 -0
- package/resources/integrations.d.mts +2 -0
- package/resources/integrations.d.mts.map +1 -0
- package/resources/integrations.d.ts +2 -0
- package/resources/integrations.d.ts.map +1 -0
- package/resources/integrations.js +19 -0
- package/resources/integrations.js.map +1 -0
- package/resources/integrations.mjs +3 -0
- package/resources/integrations.mjs.map +1 -0
- package/resources/messages/activities.d.mts +22 -0
- package/resources/messages/activities.d.mts.map +1 -0
- package/resources/messages/activities.d.ts +22 -0
- package/resources/messages/activities.d.ts.map +1 -0
- package/resources/messages/activities.js +17 -0
- package/resources/messages/activities.js.map +1 -0
- package/resources/messages/activities.mjs +13 -0
- package/resources/messages/activities.mjs.map +1 -0
- package/resources/messages/batch.d.mts +379 -0
- package/resources/messages/batch.d.mts.map +1 -0
- package/resources/messages/batch.d.ts +379 -0
- package/resources/messages/batch.d.ts.map +1 -0
- package/resources/messages/batch.js +71 -0
- package/resources/messages/batch.js.map +1 -0
- package/resources/messages/batch.mjs +67 -0
- package/resources/messages/batch.mjs.map +1 -0
- package/resources/messages/index.d.mts +4 -0
- package/resources/messages/index.d.mts.map +1 -0
- package/resources/messages/index.d.ts +4 -0
- package/resources/messages/index.d.ts.map +1 -0
- package/resources/messages/index.js +11 -0
- package/resources/messages/index.js.map +1 -0
- package/resources/messages/index.mjs +5 -0
- package/resources/messages/index.mjs.map +1 -0
- package/resources/messages/messages.d.mts +677 -0
- package/resources/messages/messages.d.mts.map +1 -0
- package/resources/messages/messages.d.ts +677 -0
- package/resources/messages/messages.d.ts.map +1 -0
- package/resources/messages/messages.js +144 -0
- package/resources/messages/messages.js.map +1 -0
- package/resources/messages/messages.mjs +117 -0
- package/resources/messages/messages.mjs.map +1 -0
- package/resources/messages.d.mts +2 -0
- package/resources/messages.d.mts.map +1 -0
- package/resources/messages.d.ts +2 -0
- package/resources/messages.d.ts.map +1 -0
- package/resources/messages.js +19 -0
- package/resources/messages.js.map +1 -0
- package/resources/messages.mjs +3 -0
- package/resources/messages.mjs.map +1 -0
- package/resources/objects/bulk.d.mts +59 -0
- package/resources/objects/bulk.d.mts.map +1 -0
- package/resources/objects/bulk.d.ts +59 -0
- package/resources/objects/bulk.d.ts.map +1 -0
- package/resources/objects/bulk.js +32 -0
- package/resources/objects/bulk.js.map +1 -0
- package/resources/objects/bulk.mjs +28 -0
- package/resources/objects/bulk.mjs.map +1 -0
- package/resources/objects/index.d.mts +3 -0
- package/resources/objects/index.d.mts.map +1 -0
- package/resources/objects/index.d.ts +3 -0
- package/resources/objects/index.d.ts.map +1 -0
- package/resources/objects/index.js +9 -0
- package/resources/objects/index.js.map +1 -0
- package/resources/objects/index.mjs +4 -0
- package/resources/objects/index.mjs.map +1 -0
- package/resources/objects/objects.d.mts +389 -0
- package/resources/objects/objects.d.mts.map +1 -0
- package/resources/objects/objects.d.ts +389 -0
- package/resources/objects/objects.d.ts.map +1 -0
- package/resources/objects/objects.js +163 -0
- package/resources/objects/objects.js.map +1 -0
- package/resources/objects/objects.mjs +136 -0
- package/resources/objects/objects.mjs.map +1 -0
- package/resources/objects.d.mts +2 -0
- package/resources/objects.d.mts.map +1 -0
- package/resources/objects.d.ts +2 -0
- package/resources/objects.d.ts.map +1 -0
- package/resources/objects.js +19 -0
- package/resources/objects.js.map +1 -0
- package/resources/objects.mjs +3 -0
- package/resources/objects.mjs.map +1 -0
- package/resources/providers/index.d.mts +4 -0
- package/resources/providers/index.d.mts.map +1 -0
- package/resources/providers/index.d.ts +4 -0
- package/resources/providers/index.d.ts.map +1 -0
- package/resources/providers/index.js +11 -0
- package/resources/providers/index.js.map +1 -0
- package/resources/providers/index.mjs +5 -0
- package/resources/providers/index.mjs.map +1 -0
- package/resources/providers/ms-teams.d.mts +183 -0
- package/resources/providers/ms-teams.d.mts.map +1 -0
- package/resources/providers/ms-teams.d.ts +183 -0
- package/resources/providers/ms-teams.d.ts.map +1 -0
- package/resources/providers/ms-teams.js +42 -0
- package/resources/providers/ms-teams.js.map +1 -0
- package/resources/providers/ms-teams.mjs +38 -0
- package/resources/providers/ms-teams.mjs.map +1 -0
- package/resources/providers/providers.d.mts +14 -0
- package/resources/providers/providers.d.mts.map +1 -0
- package/resources/providers/providers.d.ts +14 -0
- package/resources/providers/providers.d.ts.map +1 -0
- package/resources/providers/providers.js +43 -0
- package/resources/providers/providers.js.map +1 -0
- package/resources/providers/providers.mjs +16 -0
- package/resources/providers/providers.mjs.map +1 -0
- package/resources/providers/slack.d.mts +127 -0
- package/resources/providers/slack.d.mts.map +1 -0
- package/resources/providers/slack.d.ts +127 -0
- package/resources/providers/slack.d.ts.map +1 -0
- package/resources/providers/slack.js +33 -0
- package/resources/providers/slack.js.map +1 -0
- package/resources/providers/slack.mjs +29 -0
- package/resources/providers/slack.mjs.map +1 -0
- package/resources/providers.d.mts +2 -0
- package/resources/providers.d.mts.map +1 -0
- package/resources/providers.d.ts +2 -0
- package/resources/providers.d.ts.map +1 -0
- package/resources/providers.js +19 -0
- package/resources/providers.js.map +1 -0
- package/resources/providers.mjs +3 -0
- package/resources/providers.mjs.map +1 -0
- package/resources/recipients/channel-data.d.mts +205 -0
- package/resources/recipients/channel-data.d.mts.map +1 -0
- package/resources/recipients/channel-data.d.ts +205 -0
- package/resources/recipients/channel-data.d.ts.map +1 -0
- package/resources/recipients/channel-data.js +9 -0
- package/resources/recipients/channel-data.js.map +1 -0
- package/resources/recipients/channel-data.mjs +5 -0
- package/resources/recipients/channel-data.mjs.map +1 -0
- package/resources/recipients/index.d.mts +5 -0
- package/resources/recipients/index.d.mts.map +1 -0
- package/resources/recipients/index.d.ts +5 -0
- package/resources/recipients/index.d.ts.map +1 -0
- package/resources/recipients/index.js +13 -0
- package/resources/recipients/index.js.map +1 -0
- package/resources/recipients/index.mjs +6 -0
- package/resources/recipients/index.mjs.map +1 -0
- package/resources/recipients/preferences.d.mts +155 -0
- package/resources/recipients/preferences.d.mts.map +1 -0
- package/resources/recipients/preferences.d.ts +155 -0
- package/resources/recipients/preferences.d.ts.map +1 -0
- package/resources/recipients/preferences.js +9 -0
- package/resources/recipients/preferences.js.map +1 -0
- package/resources/recipients/preferences.mjs +5 -0
- package/resources/recipients/preferences.mjs.map +1 -0
- package/resources/recipients/recipients.d.mts +51 -0
- package/resources/recipients/recipients.d.mts.map +1 -0
- package/resources/recipients/recipients.d.ts +51 -0
- package/resources/recipients/recipients.d.ts.map +1 -0
- package/resources/recipients/recipients.js +45 -0
- package/resources/recipients/recipients.js.map +1 -0
- package/resources/recipients/recipients.mjs +18 -0
- package/resources/recipients/recipients.mjs.map +1 -0
- package/resources/recipients/subscriptions.d.mts +40 -0
- package/resources/recipients/subscriptions.d.mts.map +1 -0
- package/resources/recipients/subscriptions.d.ts +40 -0
- package/resources/recipients/subscriptions.d.ts.map +1 -0
- package/resources/recipients/subscriptions.js +9 -0
- package/resources/recipients/subscriptions.js.map +1 -0
- package/resources/recipients/subscriptions.mjs +5 -0
- package/resources/recipients/subscriptions.mjs.map +1 -0
- package/resources/recipients.d.mts +2 -0
- package/resources/recipients.d.mts.map +1 -0
- package/resources/recipients.d.ts +2 -0
- package/resources/recipients.d.ts.map +1 -0
- package/resources/recipients.js +19 -0
- package/resources/recipients.js.map +1 -0
- package/resources/recipients.mjs +3 -0
- package/resources/recipients.mjs.map +1 -0
- package/resources/schedules/bulk.d.mts +68 -0
- package/resources/schedules/bulk.d.mts.map +1 -0
- package/resources/schedules/bulk.d.ts +68 -0
- package/resources/schedules/bulk.d.ts.map +1 -0
- package/resources/schedules/bulk.js +17 -0
- package/resources/schedules/bulk.js.map +1 -0
- package/resources/schedules/bulk.mjs +13 -0
- package/resources/schedules/bulk.mjs.map +1 -0
- package/resources/schedules/index.d.mts +3 -0
- package/resources/schedules/index.d.mts.map +1 -0
- package/resources/schedules/index.d.ts +3 -0
- package/resources/schedules/index.d.ts.map +1 -0
- package/resources/schedules/index.js +9 -0
- package/resources/schedules/index.js.map +1 -0
- package/resources/schedules/index.mjs +4 -0
- package/resources/schedules/index.mjs.map +1 -0
- package/resources/schedules/schedules.d.mts +225 -0
- package/resources/schedules/schedules.d.mts.map +1 -0
- package/resources/schedules/schedules.d.ts +225 -0
- package/resources/schedules/schedules.d.ts.map +1 -0
- package/resources/schedules/schedules.js +74 -0
- package/resources/schedules/schedules.js.map +1 -0
- package/resources/schedules/schedules.mjs +47 -0
- package/resources/schedules/schedules.mjs.map +1 -0
- package/resources/schedules.d.mts +2 -0
- package/resources/schedules.d.mts.map +1 -0
- package/resources/schedules.d.ts +2 -0
- package/resources/schedules.d.ts.map +1 -0
- package/resources/schedules.js +19 -0
- package/resources/schedules.js.map +1 -0
- package/resources/schedules.mjs +3 -0
- package/resources/schedules.mjs.map +1 -0
- package/resources/shared.d.mts +45 -0
- package/resources/shared.d.mts.map +1 -0
- package/resources/shared.d.ts +45 -0
- package/resources/shared.d.ts.map +1 -0
- package/resources/shared.js +9 -0
- package/resources/shared.js.map +1 -0
- package/resources/shared.mjs +5 -0
- package/resources/shared.mjs.map +1 -0
- package/resources/tenants/bulk.d.mts +31 -0
- package/resources/tenants/bulk.d.mts.map +1 -0
- package/resources/tenants/bulk.d.ts +31 -0
- package/resources/tenants/bulk.d.ts.map +1 -0
- package/resources/tenants/bulk.js +22 -0
- package/resources/tenants/bulk.js.map +1 -0
- package/resources/tenants/bulk.mjs +18 -0
- package/resources/tenants/bulk.mjs.map +1 -0
- package/resources/tenants/index.d.mts +3 -0
- package/resources/tenants/index.d.mts.map +1 -0
- package/resources/tenants/index.d.ts +3 -0
- package/resources/tenants/index.d.ts.map +1 -0
- package/resources/tenants/index.js +9 -0
- package/resources/tenants/index.js.map +1 -0
- package/resources/tenants/index.mjs +4 -0
- package/resources/tenants/index.mjs.map +1 -0
- package/resources/tenants/tenants.d.mts +233 -0
- package/resources/tenants/tenants.d.mts.map +1 -0
- package/resources/tenants/tenants.d.ts +233 -0
- package/resources/tenants/tenants.d.ts.map +1 -0
- package/resources/tenants/tenants.js +66 -0
- package/resources/tenants/tenants.js.map +1 -0
- package/resources/tenants/tenants.mjs +39 -0
- package/resources/tenants/tenants.mjs.map +1 -0
- package/resources/tenants.d.mts +2 -0
- package/resources/tenants.d.mts.map +1 -0
- package/resources/tenants.d.ts +2 -0
- package/resources/tenants.d.ts.map +1 -0
- package/resources/tenants.js +19 -0
- package/resources/tenants.js.map +1 -0
- package/resources/tenants.mjs +3 -0
- package/resources/tenants.mjs.map +1 -0
- package/resources/users/bulk.d.mts +51 -0
- package/resources/users/bulk.d.mts.map +1 -0
- package/resources/users/bulk.d.ts +51 -0
- package/resources/users/bulk.d.ts.map +1 -0
- package/resources/users/bulk.js +32 -0
- package/resources/users/bulk.js.map +1 -0
- package/resources/users/bulk.mjs +28 -0
- package/resources/users/bulk.mjs.map +1 -0
- package/resources/users/feeds.d.mts +229 -0
- package/resources/users/feeds.d.mts.map +1 -0
- package/resources/users/feeds.d.ts +229 -0
- package/resources/users/feeds.d.ts.map +1 -0
- package/resources/users/feeds.js +24 -0
- package/resources/users/feeds.js.map +1 -0
- package/resources/users/feeds.mjs +20 -0
- package/resources/users/feeds.mjs.map +1 -0
- package/resources/users/guides.d.mts +225 -0
- package/resources/users/guides.d.mts.map +1 -0
- package/resources/users/guides.d.ts +225 -0
- package/resources/users/guides.d.ts.map +1 -0
- package/resources/users/guides.js +46 -0
- package/resources/users/guides.js.map +1 -0
- package/resources/users/guides.mjs +42 -0
- package/resources/users/guides.mjs.map +1 -0
- package/resources/users/index.d.mts +5 -0
- package/resources/users/index.d.mts.map +1 -0
- package/resources/users/index.d.ts +5 -0
- package/resources/users/index.d.ts.map +1 -0
- package/resources/users/index.js +13 -0
- package/resources/users/index.js.map +1 -0
- package/resources/users/index.mjs +6 -0
- package/resources/users/index.mjs.map +1 -0
- package/resources/users/users.d.mts +431 -0
- package/resources/users/users.d.mts.map +1 -0
- package/resources/users/users.d.ts +431 -0
- package/resources/users/users.d.ts.map +1 -0
- package/resources/users/users.js +145 -0
- package/resources/users/users.js.map +1 -0
- package/resources/users/users.mjs +118 -0
- package/resources/users/users.mjs.map +1 -0
- package/resources/users.d.mts +2 -0
- package/resources/users.d.mts.map +1 -0
- package/resources/users.d.ts +2 -0
- package/resources/users.d.ts.map +1 -0
- package/resources/users.js +19 -0
- package/resources/users.js.map +1 -0
- package/resources/users.mjs +3 -0
- package/resources/users.mjs.map +1 -0
- package/resources/workflows.d.mts +83 -0
- package/resources/workflows.d.mts.map +1 -0
- package/resources/workflows.d.ts +83 -0
- package/resources/workflows.d.ts.map +1 -0
- package/resources/workflows.js +28 -0
- package/resources/workflows.js.map +1 -0
- package/resources/workflows.mjs +24 -0
- package/resources/workflows.mjs.map +1 -0
- package/resources.d.mts +2 -0
- package/resources.d.mts.map +1 -0
- package/resources.d.ts +2 -0
- package/resources.d.ts.map +1 -0
- package/resources.js +18 -0
- package/resources.js.map +1 -0
- package/resources.mjs +2 -0
- package/resources.mjs.map +1 -0
- package/src/api-promise.ts +2 -0
- package/src/client.ts +967 -0
- package/src/core/README.md +3 -0
- package/src/core/api-promise.ts +92 -0
- package/src/core/error.ts +130 -0
- package/src/core/pagination.ts +323 -0
- package/src/core/resource.ts +11 -0
- package/src/core/uploads.ts +2 -0
- package/src/error.ts +2 -0
- package/src/index.ts +23 -0
- package/src/internal/README.md +3 -0
- package/src/internal/builtin-types.ts +93 -0
- package/src/internal/detect-platform.ts +196 -0
- package/src/internal/errors.ts +33 -0
- package/src/internal/headers.ts +97 -0
- package/src/internal/parse.ts +50 -0
- package/src/internal/qs/LICENSE.md +13 -0
- package/src/internal/qs/README.md +3 -0
- package/src/internal/qs/formats.ts +9 -0
- package/src/internal/qs/index.ts +13 -0
- package/src/internal/qs/stringify.ts +388 -0
- package/src/internal/qs/types.ts +71 -0
- package/src/internal/qs/utils.ts +265 -0
- package/src/internal/request-options.ts +37 -0
- package/src/internal/shim-types.d.ts +28 -0
- package/src/internal/shims/crypto.ts +18 -0
- package/src/internal/shims/file.ts +32 -0
- package/src/internal/shims/getBuiltinModule.ts +66 -0
- package/src/internal/shims/nullGetBuiltinModule.ts +1 -0
- package/src/internal/shims.ts +107 -0
- package/src/internal/to-file.ts +152 -0
- package/src/internal/types.ts +92 -0
- package/src/internal/uploads.ts +175 -0
- package/src/internal/utils/base64.ts +40 -0
- package/src/internal/utils/bytes.ts +32 -0
- package/src/internal/utils/env.ts +18 -0
- package/src/internal/utils/log.ts +126 -0
- package/src/internal/utils/path.ts +63 -0
- package/src/internal/utils/sleep.ts +3 -0
- package/src/internal/utils/uuid.ts +19 -0
- package/src/internal/utils/values.ts +102 -0
- package/src/internal/utils.ts +8 -0
- package/src/lib/.keep +4 -0
- package/src/lib/index.ts +6 -0
- package/src/lib/tokenSigner.ts +170 -0
- package/src/lib/userTokens.ts +38 -0
- package/src/pagination.ts +2 -0
- package/src/resource.ts +2 -0
- package/src/resources/audiences.ts +163 -0
- package/src/resources/bulk-operations.ts +113 -0
- package/src/resources/channels/bulk.ts +107 -0
- package/src/resources/channels/channels.ts +15 -0
- package/src/resources/channels/index.ts +4 -0
- package/src/resources/channels.ts +3 -0
- package/src/resources/index.ts +108 -0
- package/src/resources/integrations/census.ts +58 -0
- package/src/resources/integrations/hightouch.ts +58 -0
- package/src/resources/integrations/index.ts +9 -0
- package/src/resources/integrations/integrations.ts +33 -0
- package/src/resources/integrations.ts +3 -0
- package/src/resources/messages/activities.ts +38 -0
- package/src/resources/messages/batch.ts +499 -0
- package/src/resources/messages/index.ts +39 -0
- package/src/resources/messages/messages.ts +954 -0
- package/src/resources/messages.ts +3 -0
- package/src/resources/objects/bulk.ts +92 -0
- package/src/resources/objects/index.ts +23 -0
- package/src/resources/objects/objects.ts +623 -0
- package/src/resources/objects.ts +3 -0
- package/src/resources/providers/index.ts +25 -0
- package/src/resources/providers/ms-teams.ts +260 -0
- package/src/resources/providers/providers.ts +61 -0
- package/src/resources/providers/slack.ts +186 -0
- package/src/resources/providers.ts +3 -0
- package/src/resources/recipients/channel-data.ts +255 -0
- package/src/resources/recipients/index.ts +22 -0
- package/src/resources/recipients/preferences.ts +192 -0
- package/src/resources/recipients/recipients.ts +101 -0
- package/src/resources/recipients/subscriptions.ts +49 -0
- package/src/resources/recipients.ts +3 -0
- package/src/resources/schedules/bulk.ts +82 -0
- package/src/resources/schedules/index.ts +16 -0
- package/src/resources/schedules/schedules.ts +295 -0
- package/src/resources/schedules.ts +3 -0
- package/src/resources/shared.ts +72 -0
- package/src/resources/tenants/bulk.ts +42 -0
- package/src/resources/tenants/index.ts +13 -0
- package/src/resources/tenants/tenants.ts +300 -0
- package/src/resources/tenants.ts +3 -0
- package/src/resources/users/bulk.ts +73 -0
- package/src/resources/users/feeds.ts +296 -0
- package/src/resources/users/guides.ts +318 -0
- package/src/resources/users/index.ts +40 -0
- package/src/resources/users/users.ts +666 -0
- package/src/resources/users.ts +3 -0
- package/src/resources/workflows.ts +110 -0
- package/src/resources.ts +1 -0
- package/src/tsconfig.json +11 -0
- package/src/uploads.ts +2 -0
- package/src/version.ts +1 -0
- package/uploads.d.mts +2 -0
- package/uploads.d.mts.map +1 -0
- package/uploads.d.ts +2 -0
- package/uploads.d.ts.map +1 -0
- package/uploads.js +19 -0
- package/uploads.js.map +1 -0
- package/uploads.mjs +2 -0
- package/uploads.mjs.map +1 -0
- package/version.d.mts +2 -0
- package/version.d.mts.map +1 -0
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/version.js +5 -0
- package/version.js.map +1 -0
- package/version.mjs +2 -0
- package/version.mjs.map +1 -0
- package/dist/package.json +0 -48
- package/dist/src/common/exceptions.d.ts +0 -48
- package/dist/src/common/exceptions.js +0 -78
- package/dist/src/common/fetchClient.d.ts +0 -28
- package/dist/src/common/fetchClient.js +0 -148
- package/dist/src/common/interfaces.d.ts +0 -70
- package/dist/src/index.d.ts +0 -8
- package/dist/src/knock.d.ts +0 -57
- package/dist/src/knock.js +0 -241
- package/dist/src/resources/activities/interfaces.d.ts +0 -11
- package/dist/src/resources/activities/interfaces.js +0 -2
- package/dist/src/resources/bulk_operations/index.d.ts +0 -7
- package/dist/src/resources/bulk_operations/index.js +0 -24
- package/dist/src/resources/bulk_operations/interfaces.d.ts +0 -12
- package/dist/src/resources/bulk_operations/interfaces.js +0 -2
- package/dist/src/resources/messages/index.d.ts +0 -16
- package/dist/src/resources/messages/index.js +0 -93
- package/dist/src/resources/messages/interfaces.d.ts +0 -58
- package/dist/src/resources/messages/interfaces.js +0 -2
- package/dist/src/resources/objects/index.d.ts +0 -36
- package/dist/src/resources/objects/index.js +0 -203
- package/dist/src/resources/objects/interfaces.d.ts +0 -51
- package/dist/src/resources/objects/interfaces.js +0 -2
- package/dist/src/resources/preferences/helpers.d.ts +0 -7
- package/dist/src/resources/preferences/helpers.js +0 -11
- package/dist/src/resources/preferences/interfaces.d.ts +0 -30
- package/dist/src/resources/preferences/interfaces.js +0 -2
- package/dist/src/resources/slack/index.d.ts +0 -9
- package/dist/src/resources/slack/index.js +0 -75
- package/dist/src/resources/slack/interfaces.d.ts +0 -30
- package/dist/src/resources/slack/interfaces.js +0 -2
- package/dist/src/resources/tenants/index.d.ts +0 -11
- package/dist/src/resources/tenants/index.js +0 -42
- package/dist/src/resources/tenants/interfaces.d.ts +0 -32
- package/dist/src/resources/tenants/interfaces.js +0 -2
- package/dist/src/resources/users/index.d.ts +0 -36
- package/dist/src/resources/users/index.js +0 -232
- package/dist/src/resources/users/interfaces.d.ts +0 -34
- package/dist/src/resources/users/interfaces.js +0 -2
- package/dist/src/resources/workflows/index.d.ts +0 -13
- package/dist/src/resources/workflows/index.js +0 -72
- package/dist/src/resources/workflows/interfaces.d.ts +0 -90
- package/dist/src/resources/workflows/interfaces.js +0 -20
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { KnockError } from '../../core/error';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Percent-encode everything that isn't safe to have in a path without encoding safe chars.
|
|
5
|
+
*
|
|
6
|
+
* Taken from https://datatracker.ietf.org/doc/html/rfc3986#section-3.3:
|
|
7
|
+
* > unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
|
|
8
|
+
* > sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
|
|
9
|
+
* > pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
|
|
10
|
+
*/
|
|
11
|
+
export function encodeURIPath(str: string) {
|
|
12
|
+
return str.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g, encodeURIComponent);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const createPathTagFunction = (pathEncoder = encodeURIPath) =>
|
|
16
|
+
function path(statics: readonly string[], ...params: readonly unknown[]): string {
|
|
17
|
+
// If there are no params, no processing is needed.
|
|
18
|
+
if (statics.length === 1) return statics[0]!;
|
|
19
|
+
|
|
20
|
+
let postPath = false;
|
|
21
|
+
const path = statics.reduce((previousValue, currentValue, index) => {
|
|
22
|
+
if (/[?#]/.test(currentValue)) {
|
|
23
|
+
postPath = true;
|
|
24
|
+
}
|
|
25
|
+
return (
|
|
26
|
+
previousValue +
|
|
27
|
+
currentValue +
|
|
28
|
+
(index === params.length ? '' : (postPath ? encodeURIComponent : pathEncoder)(String(params[index])))
|
|
29
|
+
);
|
|
30
|
+
}, '');
|
|
31
|
+
|
|
32
|
+
const pathOnly = path.split(/[?#]/, 1)[0]!;
|
|
33
|
+
const invalidSegments = [];
|
|
34
|
+
const invalidSegmentPattern = /(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;
|
|
35
|
+
let match;
|
|
36
|
+
|
|
37
|
+
// Find all invalid segments
|
|
38
|
+
while ((match = invalidSegmentPattern.exec(pathOnly)) !== null) {
|
|
39
|
+
invalidSegments.push({
|
|
40
|
+
start: match.index,
|
|
41
|
+
length: match[0].length,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (invalidSegments.length > 0) {
|
|
46
|
+
let lastEnd = 0;
|
|
47
|
+
const underline = invalidSegments.reduce((acc, segment) => {
|
|
48
|
+
const spaces = ' '.repeat(segment.start - lastEnd);
|
|
49
|
+
const arrows = '^'.repeat(segment.length);
|
|
50
|
+
lastEnd = segment.start + segment.length;
|
|
51
|
+
return acc + spaces + arrows;
|
|
52
|
+
}, '');
|
|
53
|
+
|
|
54
|
+
throw new KnockError(`Path parameters result in path with invalid segments:\n${path}\n${underline}`);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return path;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* URI-encodes path params and ensures no unsafe /./ or /../ path segments are introduced.
|
|
62
|
+
*/
|
|
63
|
+
export const path = createPathTagFunction(encodeURIPath);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { getCrypto } from '../shims/crypto';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* https://stackoverflow.com/a/2117523
|
|
7
|
+
*/
|
|
8
|
+
export let uuid4 = function () {
|
|
9
|
+
const crypto = getCrypto();
|
|
10
|
+
if (crypto?.randomUUID) {
|
|
11
|
+
uuid4 = crypto.randomUUID.bind(crypto);
|
|
12
|
+
return crypto.randomUUID();
|
|
13
|
+
}
|
|
14
|
+
const u8 = new Uint8Array(1);
|
|
15
|
+
const randomByte = crypto ? () => crypto.getRandomValues(u8)[0]! : () => (Math.random() * 0xff) & 0xff;
|
|
16
|
+
return '10000000-1000-4000-8000-100000000000'.replace(/[018]/g, (c) =>
|
|
17
|
+
(+c ^ (randomByte() & (15 >> (+c / 4)))).toString(16),
|
|
18
|
+
);
|
|
19
|
+
};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { KnockError } from '../../core/error';
|
|
4
|
+
|
|
5
|
+
// https://url.spec.whatwg.org/#url-scheme-string
|
|
6
|
+
const startsWithSchemeRegexp = /^[a-z][a-z0-9+.-]*:/i;
|
|
7
|
+
|
|
8
|
+
export const isAbsoluteURL = (url: string): boolean => {
|
|
9
|
+
return startsWithSchemeRegexp.test(url);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
/** Returns an object if the given value isn't an object, otherwise returns as-is */
|
|
13
|
+
export function maybeObj(x: unknown): object {
|
|
14
|
+
if (typeof x !== 'object') {
|
|
15
|
+
return {};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return x ?? {};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// https://stackoverflow.com/a/34491287
|
|
22
|
+
export function isEmptyObj(obj: Object | null | undefined): boolean {
|
|
23
|
+
if (!obj) return true;
|
|
24
|
+
for (const _k in obj) return false;
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// https://eslint.org/docs/latest/rules/no-prototype-builtins
|
|
29
|
+
export function hasOwn<T extends object = object>(obj: T, key: PropertyKey): key is keyof T {
|
|
30
|
+
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function isObj(obj: unknown): obj is Record<string, unknown> {
|
|
34
|
+
return obj != null && typeof obj === 'object' && !Array.isArray(obj);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export const ensurePresent = <T>(value: T | null | undefined): T => {
|
|
38
|
+
if (value == null) {
|
|
39
|
+
throw new KnockError(`Expected a value to be given but received ${value} instead.`);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return value;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export const validatePositiveInteger = (name: string, n: unknown): number => {
|
|
46
|
+
if (typeof n !== 'number' || !Number.isInteger(n)) {
|
|
47
|
+
throw new KnockError(`${name} must be an integer`);
|
|
48
|
+
}
|
|
49
|
+
if (n < 0) {
|
|
50
|
+
throw new KnockError(`${name} must be a positive integer`);
|
|
51
|
+
}
|
|
52
|
+
return n;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export const coerceInteger = (value: unknown): number => {
|
|
56
|
+
if (typeof value === 'number') return Math.round(value);
|
|
57
|
+
if (typeof value === 'string') return parseInt(value, 10);
|
|
58
|
+
|
|
59
|
+
throw new KnockError(`Could not coerce ${value} (type: ${typeof value}) into a number`);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export const coerceFloat = (value: unknown): number => {
|
|
63
|
+
if (typeof value === 'number') return value;
|
|
64
|
+
if (typeof value === 'string') return parseFloat(value);
|
|
65
|
+
|
|
66
|
+
throw new KnockError(`Could not coerce ${value} (type: ${typeof value}) into a number`);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export const coerceBoolean = (value: unknown): boolean => {
|
|
70
|
+
if (typeof value === 'boolean') return value;
|
|
71
|
+
if (typeof value === 'string') return value === 'true';
|
|
72
|
+
return Boolean(value);
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export const maybeCoerceInteger = (value: unknown): number | undefined => {
|
|
76
|
+
if (value === undefined) {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
return coerceInteger(value);
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export const maybeCoerceFloat = (value: unknown): number | undefined => {
|
|
83
|
+
if (value === undefined) {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
return coerceFloat(value);
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export const maybeCoerceBoolean = (value: unknown): boolean | undefined => {
|
|
90
|
+
if (value === undefined) {
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
return coerceBoolean(value);
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
export const safeJSON = (text: string) => {
|
|
97
|
+
try {
|
|
98
|
+
return JSON.parse(text);
|
|
99
|
+
} catch (err) {
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
export * from './utils/values';
|
|
4
|
+
export * from './utils/base64';
|
|
5
|
+
export * from './utils/env';
|
|
6
|
+
export * from './utils/log';
|
|
7
|
+
export * from './utils/uuid';
|
|
8
|
+
export * from './utils/sleep';
|
package/src/lib/.keep
ADDED
package/src/lib/index.ts
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token signing functionality for Knock authentication
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as crypto from 'crypto';
|
|
6
|
+
import type { TokenEntity, TokenGrant, TokenGrantOptions } from './userTokens';
|
|
7
|
+
|
|
8
|
+
// Default hostname for Knock API
|
|
9
|
+
const DEFAULT_HOSTNAME = 'https://api.knock.app';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Options for signing a user token
|
|
13
|
+
*/
|
|
14
|
+
export interface SignUserTokenOptions {
|
|
15
|
+
/**
|
|
16
|
+
* The signing key to use (in PEM or base-64 encoded format)
|
|
17
|
+
* If not provided, it will try to use process.env.KNOCK_SIGNING_KEY
|
|
18
|
+
*/
|
|
19
|
+
signingKey?: string | undefined;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* How long the token should be valid for in seconds
|
|
23
|
+
* @default 3600 (1 hour)
|
|
24
|
+
*/
|
|
25
|
+
expiresInSeconds?: number | undefined;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Grants to include in the token
|
|
29
|
+
*/
|
|
30
|
+
grants?: TokenGrant[] | undefined;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Prepare the signing key for use
|
|
35
|
+
*/
|
|
36
|
+
function prepareSigningKey(key?: string): string {
|
|
37
|
+
const maybeSigningKey = key ?? process.env['KNOCK_SIGNING_KEY'];
|
|
38
|
+
if (!maybeSigningKey)
|
|
39
|
+
throw new Error(
|
|
40
|
+
'No signing key provided. Set KNOCK_SIGNING_KEY environment variable or pass signingKey option.',
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
// If it's already in PEM format
|
|
44
|
+
if (maybeSigningKey.startsWith('-----BEGIN')) return maybeSigningKey;
|
|
45
|
+
|
|
46
|
+
// LS0tLS1CRUdJTi is the base64 encoded version of "-----BEGIN"
|
|
47
|
+
if (maybeSigningKey.startsWith('LS0tLS1CRUdJTi'))
|
|
48
|
+
return Buffer.from(maybeSigningKey, 'base64').toString('utf-8');
|
|
49
|
+
|
|
50
|
+
throw new Error('Invalid signing key format. Must be PEM or base64 encoded PEM.');
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Prepare the token entity URI
|
|
55
|
+
*/
|
|
56
|
+
function prepareTokenEntityUri(entity: TokenEntity): string {
|
|
57
|
+
switch (entity.type) {
|
|
58
|
+
case 'user':
|
|
59
|
+
return `${DEFAULT_HOSTNAME}/v1/users/${entity.id}`;
|
|
60
|
+
case 'tenant':
|
|
61
|
+
return `${DEFAULT_HOSTNAME}/v1/objects/$tenants/${entity.id}`;
|
|
62
|
+
case 'object':
|
|
63
|
+
return `${DEFAULT_HOSTNAME}/v1/objects/${entity.collection}/${entity.id}`;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Create and sign a JWT using Node.js crypto
|
|
69
|
+
*/
|
|
70
|
+
function createJWT(header: object, payload: object, privateKey: string): string {
|
|
71
|
+
// Base64Url encode the header
|
|
72
|
+
const headerBase64 = Buffer.from(JSON.stringify(header))
|
|
73
|
+
.toString('base64')
|
|
74
|
+
.replace(/=/g, '')
|
|
75
|
+
.replace(/\+/g, '-')
|
|
76
|
+
.replace(/\//g, '_');
|
|
77
|
+
|
|
78
|
+
// Base64Url encode the payload
|
|
79
|
+
const payloadBase64 = Buffer.from(JSON.stringify(payload))
|
|
80
|
+
.toString('base64')
|
|
81
|
+
.replace(/=/g, '')
|
|
82
|
+
.replace(/\+/g, '-')
|
|
83
|
+
.replace(/\//g, '_');
|
|
84
|
+
|
|
85
|
+
// Create the content to sign
|
|
86
|
+
const signatureContent = `${headerBase64}.${payloadBase64}`;
|
|
87
|
+
|
|
88
|
+
// Sign the content
|
|
89
|
+
const signer = crypto.createSign('RSA-SHA256');
|
|
90
|
+
signer.update(signatureContent);
|
|
91
|
+
|
|
92
|
+
const signature = signer
|
|
93
|
+
.sign(privateKey, 'base64')
|
|
94
|
+
.replace(/=/g, '')
|
|
95
|
+
.replace(/\+/g, '-')
|
|
96
|
+
.replace(/\//g, '_');
|
|
97
|
+
|
|
98
|
+
// Combine to create the JWT
|
|
99
|
+
return `${signatureContent}.${signature}`;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Prepare user token grants
|
|
104
|
+
*/
|
|
105
|
+
export function maybePrepareUserTokenGrants(
|
|
106
|
+
grants: TokenGrant[] | undefined,
|
|
107
|
+
): Record<string, TokenGrant['grants']> | undefined {
|
|
108
|
+
if (!grants) return undefined;
|
|
109
|
+
|
|
110
|
+
// Given a list of token grants, flattens them into a single object
|
|
111
|
+
// like: { "entity": { "slack/channels_read": [] } }
|
|
112
|
+
return grants.reduce<Record<string, TokenGrant['grants']>>((acc, grant) => {
|
|
113
|
+
if (acc[grant.entity]) {
|
|
114
|
+
const currentGrants = acc[grant.entity];
|
|
115
|
+
return { ...acc, [grant.entity]: { ...currentGrants, ...grant.grants } };
|
|
116
|
+
} else {
|
|
117
|
+
return { ...acc, [grant.entity]: grant.grants };
|
|
118
|
+
}
|
|
119
|
+
}, {});
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Helper function to build user token grants to pass to the `signUserToken` method.
|
|
124
|
+
*
|
|
125
|
+
* @param entity {TokenEntity} The type of entity to build a grant for
|
|
126
|
+
* @param grants {TokenGrantOptions} A list of grants to give to the entity for the user
|
|
127
|
+
*
|
|
128
|
+
* @returns {TokenGrant} A single token grant that can be passed to the signUserToken function
|
|
129
|
+
*/
|
|
130
|
+
export function buildUserTokenGrant(entity: TokenEntity, grants: TokenGrantOptions): TokenGrant {
|
|
131
|
+
return {
|
|
132
|
+
entity: prepareTokenEntityUri(entity),
|
|
133
|
+
grants: grants.reduce((acc, grant) => ({ ...acc, [grant]: [] }), {}),
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Generate JWT for authenticating client-side requests (e.g. in-app feeds)
|
|
139
|
+
* For more information, visit https://docs.knock.app/in-app-ui/security-and-authentication#authentication-with-enhanced-security-enabled
|
|
140
|
+
*
|
|
141
|
+
* @param userId {string} The ID of the user that needs a token, e.g. the user viewing an in-app feed.
|
|
142
|
+
* @param options Optionally specify the signing key to use (in PEM or base-64 encoded format), and how long the token should be valid for in seconds
|
|
143
|
+
* @returns {Promise<string>} A JWT token that can be used to authenticate requests to the Knock API (e.g. by passing into the <KnockFeedProvider /> component)
|
|
144
|
+
*/
|
|
145
|
+
export async function signUserToken(userId: string, options?: SignUserTokenOptions): Promise<string> {
|
|
146
|
+
const signingKey = prepareSigningKey(options?.signingKey);
|
|
147
|
+
|
|
148
|
+
// JWT NumericDates specified in seconds
|
|
149
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
150
|
+
|
|
151
|
+
// Default to 1 hour from now
|
|
152
|
+
const expireInSeconds = options?.expiresInSeconds ?? 60 * 60;
|
|
153
|
+
|
|
154
|
+
// Create JWT header
|
|
155
|
+
const header = {
|
|
156
|
+
alg: 'RS256',
|
|
157
|
+
typ: 'JWT',
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
// Create JWT payload
|
|
161
|
+
const payload = {
|
|
162
|
+
sub: userId,
|
|
163
|
+
grants: maybePrepareUserTokenGrants(options?.grants),
|
|
164
|
+
iat: currentTime,
|
|
165
|
+
exp: currentTime + expireInSeconds,
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
// Create and sign the JWT
|
|
169
|
+
return createJWT(header, payload, signingKey);
|
|
170
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User token signing functionality for Knock authentication
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export enum Grants {
|
|
6
|
+
SlackChannelsRead = 'slack/channels_read',
|
|
7
|
+
MsTeamsChannelsRead = 'ms_teams/channels_read',
|
|
8
|
+
ChannelDataRead = 'channel_data/read',
|
|
9
|
+
ChannelDataWrite = 'channel_data/write',
|
|
10
|
+
UserFeedRead = 'user/feed_read',
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export type TokenGrantOptions = Grants[];
|
|
14
|
+
|
|
15
|
+
export type TokenEntity = TenantTokenEntity | UserTokenEntity | ObjectTokenEntity;
|
|
16
|
+
|
|
17
|
+
export interface TenantTokenEntity {
|
|
18
|
+
type: 'tenant';
|
|
19
|
+
id: string;
|
|
20
|
+
collection?: never;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface ObjectTokenEntity {
|
|
24
|
+
type: 'object';
|
|
25
|
+
id: string;
|
|
26
|
+
collection: string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface UserTokenEntity {
|
|
30
|
+
type: 'user';
|
|
31
|
+
id: string;
|
|
32
|
+
collection?: never;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export type TokenGrant = {
|
|
36
|
+
entity: string;
|
|
37
|
+
grants: Partial<Record<Grants, []>>;
|
|
38
|
+
};
|
package/src/resource.ts
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { APIResource } from '../core/resource';
|
|
4
|
+
import * as SharedAPI from './shared';
|
|
5
|
+
import * as UsersAPI from './users/users';
|
|
6
|
+
import { APIPromise } from '../core/api-promise';
|
|
7
|
+
import { RequestOptions } from '../internal/request-options';
|
|
8
|
+
import { path } from '../internal/utils/path';
|
|
9
|
+
|
|
10
|
+
export class Audiences extends APIResource {
|
|
11
|
+
/**
|
|
12
|
+
* Adds one or more members to the specified audience.
|
|
13
|
+
*/
|
|
14
|
+
addMembers(key: string, body: AudienceAddMembersParams, options?: RequestOptions): APIPromise<string> {
|
|
15
|
+
return this._client.post(path`/v1/audiences/${key}/members`, { body, ...options });
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Returns a paginated list of members for the specified audience.
|
|
20
|
+
*/
|
|
21
|
+
listMembers(key: string, options?: RequestOptions): APIPromise<AudienceListMembersResponse> {
|
|
22
|
+
return this._client.get(path`/v1/audiences/${key}/members`, options);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Removes one or more members from the specified audience.
|
|
27
|
+
*/
|
|
28
|
+
removeMembers(
|
|
29
|
+
key: string,
|
|
30
|
+
body: AudienceRemoveMembersParams,
|
|
31
|
+
options?: RequestOptions,
|
|
32
|
+
): APIPromise<string> {
|
|
33
|
+
return this._client.delete(path`/v1/audiences/${key}/members`, { body, ...options });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* An audience member.
|
|
39
|
+
*/
|
|
40
|
+
export interface AudienceMember {
|
|
41
|
+
/**
|
|
42
|
+
* The typename of the schema.
|
|
43
|
+
*/
|
|
44
|
+
__typename: string;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Timestamp when the resource was created.
|
|
48
|
+
*/
|
|
49
|
+
added_at: string;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* A [User](/concepts/users) represents an individual in your system who can
|
|
53
|
+
* receive notifications through Knock. Users are the most common recipients of
|
|
54
|
+
* notifications and are always referenced by your internal identifier.
|
|
55
|
+
*/
|
|
56
|
+
user: UsersAPI.User;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The ID for the user that you set when identifying them in Knock.
|
|
60
|
+
*/
|
|
61
|
+
user_id: string;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* The unique identifier for the tenant.
|
|
65
|
+
*/
|
|
66
|
+
tenant?: string | null;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* A `204 No Content` response.
|
|
71
|
+
*/
|
|
72
|
+
export type AudienceAddMembersResponse = string;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* A paginated list of audience members.
|
|
76
|
+
*/
|
|
77
|
+
export interface AudienceListMembersResponse {
|
|
78
|
+
/**
|
|
79
|
+
* A list of audience members.
|
|
80
|
+
*/
|
|
81
|
+
entries: Array<AudienceMember>;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Pagination information for a list of resources.
|
|
85
|
+
*/
|
|
86
|
+
page_info: SharedAPI.PageInfo;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* A `204 No Content` response.
|
|
91
|
+
*/
|
|
92
|
+
export type AudienceRemoveMembersResponse = string;
|
|
93
|
+
|
|
94
|
+
export interface AudienceAddMembersParams {
|
|
95
|
+
/**
|
|
96
|
+
* A list of audience members to add.
|
|
97
|
+
*/
|
|
98
|
+
members: Array<AudienceAddMembersParams.Member>;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export namespace AudienceAddMembersParams {
|
|
102
|
+
/**
|
|
103
|
+
* An audience member.
|
|
104
|
+
*/
|
|
105
|
+
export interface Member {
|
|
106
|
+
user: Member.User;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* The unique identifier for the tenant.
|
|
110
|
+
*/
|
|
111
|
+
tenant?: string | null;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export namespace Member {
|
|
115
|
+
export interface User {
|
|
116
|
+
/**
|
|
117
|
+
* The ID for the user that you set when identifying them in Knock.
|
|
118
|
+
*/
|
|
119
|
+
id?: string;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export interface AudienceRemoveMembersParams {
|
|
125
|
+
/**
|
|
126
|
+
* A list of audience members to remove.
|
|
127
|
+
*/
|
|
128
|
+
members: Array<AudienceRemoveMembersParams.Member>;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export namespace AudienceRemoveMembersParams {
|
|
132
|
+
/**
|
|
133
|
+
* An audience member.
|
|
134
|
+
*/
|
|
135
|
+
export interface Member {
|
|
136
|
+
user: Member.User;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* The unique identifier for the tenant.
|
|
140
|
+
*/
|
|
141
|
+
tenant?: string | null;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export namespace Member {
|
|
145
|
+
export interface User {
|
|
146
|
+
/**
|
|
147
|
+
* The ID for the user that you set when identifying them in Knock.
|
|
148
|
+
*/
|
|
149
|
+
id?: string;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export declare namespace Audiences {
|
|
155
|
+
export {
|
|
156
|
+
type AudienceMember as AudienceMember,
|
|
157
|
+
type AudienceAddMembersResponse as AudienceAddMembersResponse,
|
|
158
|
+
type AudienceListMembersResponse as AudienceListMembersResponse,
|
|
159
|
+
type AudienceRemoveMembersResponse as AudienceRemoveMembersResponse,
|
|
160
|
+
type AudienceAddMembersParams as AudienceAddMembersParams,
|
|
161
|
+
type AudienceRemoveMembersParams as AudienceRemoveMembersParams,
|
|
162
|
+
};
|
|
163
|
+
}
|