@lorikeetai/node-sdk 1.4.0 → 2.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 +55 -713
- package/LICENSE +1 -1
- package/README.md +125 -49
- 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 +6 -0
- package/api-promise.js.map +1 -0
- package/api-promise.mjs +2 -0
- package/api-promise.mjs.map +1 -0
- package/bin/cli +53 -0
- package/bin/migration-config.json +50 -0
- package/client.d.mts +197 -0
- package/client.d.mts.map +1 -0
- package/client.d.ts +197 -0
- package/client.d.ts.map +1 -0
- package/client.js +504 -0
- package/client.js.map +1 -0
- package/client.mjs +500 -0
- package/client.mjs.map +1 -0
- package/core/api-promise.d.mts +46 -0
- package/core/api-promise.d.mts.map +1 -0
- package/core/api-promise.d.ts +46 -0
- package/core/api-promise.d.ts.map +1 -0
- package/core/api-promise.js +74 -0
- package/core/api-promise.js.map +1 -0
- package/core/api-promise.mjs +70 -0
- package/core/api-promise.mjs.map +1 -0
- package/core/error.d.mts +46 -0
- package/core/error.d.mts.map +1 -0
- package/core/error.d.ts +46 -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/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 +1 -46
- package/error.d.ts.map +1 -1
- package/error.js +3 -110
- package/error.js.map +1 -1
- package/error.mjs +1 -96
- package/error.mjs.map +1 -1
- package/index.d.mts +7 -144
- package/index.d.mts.map +1 -0
- package/index.d.ts +6 -143
- package/index.d.ts.map +1 -1
- package/index.js +14 -157
- package/index.js.map +1 -1
- package/index.mjs +6 -129
- package/index.mjs.map +1 -1
- package/internal/builtin-types.d.mts +73 -0
- package/internal/builtin-types.d.mts.map +1 -0
- package/internal/builtin-types.d.ts +73 -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/{src/resources/oauth.ts → internal/builtin-types.mjs} +2 -2
- 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 +20 -0
- package/internal/headers.d.mts.map +1 -0
- package/internal/headers.d.ts +20 -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 +12 -0
- package/internal/parse.d.mts.map +1 -0
- package/internal/parse.d.ts +12 -0
- package/internal/parse.d.ts.map +1 -0
- package/internal/parse.js +40 -0
- package/internal/parse.js.map +1 -0
- package/internal/parse.mjs +37 -0
- package/internal/parse.mjs.map +1 -0
- package/internal/request-options.d.mts +75 -0
- package/internal/request-options.d.mts.map +1 -0
- package/internal/request-options.d.ts +75 -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 +17 -0
- package/internal/shim-types.d.mts.map +1 -0
- package/internal/shim-types.d.ts +17 -0
- package/internal/shim-types.d.ts.map +1 -0
- package/internal/shim-types.js +4 -0
- package/internal/shim-types.js.map +1 -0
- package/{resources/top-level.mjs → internal/shim-types.mjs} +1 -1
- package/internal/shim-types.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 +92 -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 +45 -0
- package/internal/to-file.d.mts.map +1 -0
- package/internal/to-file.d.ts +45 -0
- package/internal/to-file.d.ts.map +1 -0
- package/internal/to-file.js +92 -0
- package/internal/to-file.js.map +1 -0
- package/internal/to-file.mjs +89 -0
- package/internal/to-file.mjs.map +1 -0
- package/internal/tslib.js +81 -0
- package/internal/tslib.mjs +17 -0
- package/internal/types.d.mts +69 -0
- package/internal/types.d.mts.map +1 -0
- package/internal/types.d.ts +69 -0
- package/internal/types.d.ts.map +1 -0
- package/{resources/top-level.js → internal/types.js} +1 -1
- package/internal/types.js.map +1 -0
- package/{src/resources/top-level.ts → internal/types.mjs} +1 -1
- package/internal/types.mjs.map +1 -0
- package/internal/uploads.d.mts +42 -0
- package/internal/uploads.d.mts.map +1 -0
- package/internal/uploads.d.ts +42 -0
- package/internal/uploads.d.ts.map +1 -0
- package/internal/uploads.js +141 -0
- package/internal/uploads.js.map +1 -0
- package/internal/uploads.mjs +131 -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 +31 -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 +37 -0
- package/internal/utils/log.d.mts.map +1 -0
- package/internal/utils/log.d.ts +37 -0
- package/internal/utils/log.d.ts.map +1 -0
- package/internal/utils/log.js +86 -0
- package/internal/utils/log.js.map +1 -0
- package/internal/utils/log.mjs +80 -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 +79 -0
- package/internal/utils/path.js.map +1 -0
- package/internal/utils/path.mjs +74 -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 +19 -0
- package/internal/utils/uuid.js.map +1 -0
- package/internal/utils/uuid.mjs +15 -0
- package/internal/utils/uuid.mjs.map +1 -0
- package/internal/utils/values.d.mts +18 -0
- package/internal/utils/values.d.mts.map +1 -0
- package/internal/utils/values.d.ts +18 -0
- package/internal/utils/values.d.ts.map +1 -0
- package/internal/utils/values.js +112 -0
- package/internal/utils/values.js.map +1 -0
- package/internal/utils/values.mjs +94 -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 +11 -0
- package/internal/utils.js.map +1 -0
- package/internal/utils.mjs +8 -0
- package/internal/utils.mjs.map +1 -0
- package/lib/generate-signature.d.mts +7 -0
- package/lib/generate-signature.d.mts.map +1 -0
- package/lib/generate-signature.d.ts +1 -1
- package/lib/generate-signature.d.ts.map +1 -1
- package/lib/generate-signature.js +3 -3
- package/lib/generate-signature.js.map +1 -1
- package/lib/generate-signature.mjs +1 -1
- package/lib/generate-signature.mjs.map +1 -1
- package/lib/poll-until.d.mts +20 -0
- package/lib/poll-until.d.mts.map +1 -0
- package/lib/poll-until.d.ts.map +1 -1
- package/lib/promise.d.mts +55 -0
- package/lib/promise.d.mts.map +1 -0
- package/package.json +125 -74
- package/resource.d.mts +2 -0
- package/resource.d.mts.map +1 -0
- package/resource.d.ts +1 -5
- package/resource.d.ts.map +1 -1
- package/resource.js +3 -8
- package/resource.js.map +1 -1
- package/resource.mjs +1 -6
- package/resource.mjs.map +1 -1
- package/resources/api-keys.d.mts +130 -0
- package/resources/api-keys.d.mts.map +1 -0
- package/resources/api-keys.d.ts +130 -0
- package/resources/api-keys.d.ts.map +1 -0
- package/resources/api-keys.js +63 -0
- package/resources/api-keys.js.map +1 -0
- package/resources/api-keys.mjs +59 -0
- package/resources/api-keys.mjs.map +1 -0
- package/resources/conversation/chat.d.mts +312 -0
- package/resources/conversation/chat.d.mts.map +1 -0
- package/resources/conversation/chat.d.ts +60 -78
- package/resources/conversation/chat.d.ts.map +1 -1
- package/resources/conversation/chat.js +14 -48
- package/resources/conversation/chat.js.map +1 -1
- package/resources/conversation/chat.mjs +14 -48
- package/resources/conversation/chat.mjs.map +1 -1
- package/resources/conversation/conversation.d.mts +77 -0
- package/resources/conversation/conversation.d.mts.map +1 -0
- package/resources/conversation/conversation.d.ts +2 -59
- package/resources/conversation/conversation.d.ts.map +1 -1
- package/resources/conversation/conversation.js +5 -63
- package/resources/conversation/conversation.js.map +1 -1
- package/resources/conversation/conversation.mjs +1 -37
- package/resources/conversation/conversation.mjs.map +1 -1
- package/resources/conversation/email.d.mts +257 -0
- package/resources/conversation/email.d.mts.map +1 -0
- package/resources/conversation/email.d.ts +25 -9
- package/resources/conversation/email.d.ts.map +1 -1
- package/resources/conversation/email.js +6 -6
- package/resources/conversation/email.js.map +1 -1
- package/resources/conversation/email.mjs +6 -6
- package/resources/conversation/email.mjs.map +1 -1
- package/resources/conversation/index.d.mts +5 -0
- package/resources/conversation/index.d.mts.map +1 -0
- package/resources/conversation/index.d.ts +2 -2
- package/resources/conversation/index.d.ts.map +1 -1
- package/resources/conversation/index.js.map +1 -1
- package/resources/conversation/index.mjs +1 -1
- package/resources/conversation/index.mjs.map +1 -1
- package/resources/conversation/voice.d.mts +45 -0
- package/resources/conversation/voice.d.mts.map +1 -0
- package/resources/conversation/voice.d.ts +7 -4
- package/resources/conversation/voice.d.ts.map +1 -1
- package/resources/conversation/voice.js +3 -2
- package/resources/conversation/voice.js.map +1 -1
- package/resources/conversation/voice.mjs +3 -2
- package/resources/conversation/voice.mjs.map +1 -1
- package/resources/conversation.d.mts +2 -0
- package/resources/conversation.d.mts.map +1 -0
- package/resources/conversation.d.ts.map +1 -1
- package/resources/conversation.js +2 -15
- package/resources/conversation.js.map +1 -1
- package/resources/customer/customer.d.mts +333 -0
- package/resources/customer/customer.d.mts.map +1 -0
- package/resources/customer/customer.d.ts +43 -10
- package/resources/customer/customer.d.ts.map +1 -1
- package/resources/customer/customer.js +9 -32
- package/resources/customer/customer.js.map +1 -1
- package/resources/customer/customer.mjs +6 -7
- package/resources/customer/customer.mjs.map +1 -1
- package/resources/customer/index.d.mts +4 -0
- package/resources/customer/index.d.mts.map +1 -0
- package/resources/customer/index.d.ts +1 -1
- package/resources/customer/index.d.ts.map +1 -1
- package/resources/customer/index.js.map +1 -1
- package/resources/customer/index.mjs.map +1 -1
- package/resources/customer/profile.d.mts +30 -0
- package/resources/customer/profile.d.mts.map +1 -0
- package/resources/customer/profile.d.ts +7 -48
- package/resources/customer/profile.d.ts.map +1 -1
- package/resources/customer/profile.js +3 -2
- package/resources/customer/profile.js.map +1 -1
- package/resources/customer/profile.mjs +3 -2
- package/resources/customer/profile.mjs.map +1 -1
- package/resources/customer/remote.d.mts +164 -0
- package/resources/customer/remote.d.mts.map +1 -0
- package/resources/customer/remote.d.ts +17 -4
- package/resources/customer/remote.d.ts.map +1 -1
- package/resources/customer/remote.js +6 -5
- package/resources/customer/remote.js.map +1 -1
- package/resources/customer/remote.mjs +6 -5
- package/resources/customer/remote.mjs.map +1 -1
- package/resources/customer.d.mts +2 -0
- package/resources/customer.d.mts.map +1 -0
- package/resources/customer.d.ts.map +1 -1
- package/resources/customer.js +2 -15
- package/resources/customer.js.map +1 -1
- package/resources/index.d.mts +5 -0
- package/resources/index.d.mts.map +1 -0
- package/resources/index.d.ts +4 -8
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +3 -11
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -5
- package/resources/index.mjs.map +1 -1
- package/resources/ingest.d.mts +27 -0
- package/resources/ingest.d.mts.map +1 -0
- package/resources/ingest.d.ts +15 -10
- package/resources/ingest.d.ts.map +1 -1
- package/resources/ingest.js +11 -11
- package/resources/ingest.js.map +1 -1
- package/resources/ingest.mjs +11 -11
- package/resources/ingest.mjs.map +1 -1
- package/resources.d.mts +2 -0
- package/resources.d.mts.map +1 -0
- package/resources.d.ts.map +1 -1
- package/resources.js +2 -15
- package/resources.js.map +1 -1
- package/src/api-promise.ts +2 -0
- package/src/client.ts +835 -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/resource.ts +11 -0
- package/src/core/uploads.ts +2 -0
- package/src/error.ts +2 -130
- package/src/index.ts +6 -297
- 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 +56 -0
- package/src/internal/request-options.ts +91 -0
- package/src/internal/shim-types.ts +26 -0
- package/src/internal/shims.ts +107 -0
- package/src/internal/to-file.ts +156 -0
- package/src/internal/types.ts +95 -0
- package/src/internal/uploads.ts +187 -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 +127 -0
- package/src/internal/utils/path.ts +88 -0
- package/src/internal/utils/sleep.ts +3 -0
- package/src/internal/utils/uuid.ts +17 -0
- package/src/internal/utils/values.ts +105 -0
- package/src/internal/utils.ts +8 -0
- package/src/lib/generate-signature.ts +2 -2
- package/src/resource.ts +2 -11
- package/src/resources/api-keys.ts +171 -0
- package/src/resources/conversation/chat.ts +76 -96
- package/src/resources/conversation/conversation.ts +1 -91
- package/src/resources/conversation/email.ts +29 -13
- package/src/resources/conversation/index.ts +6 -10
- package/src/resources/conversation/voice.ts +9 -5
- package/src/resources/customer/customer.ts +58 -12
- package/src/resources/customer/index.ts +1 -0
- package/src/resources/customer/profile.ts +9 -62
- package/src/resources/customer/remote.ts +25 -8
- package/src/resources/index.ts +9 -10
- package/src/resources/ingest.ts +26 -24
- package/src/tsconfig.json +2 -2
- package/src/uploads.ts +2 -256
- package/src/version.ts +1 -1
- package/uploads.d.mts +2 -0
- package/uploads.d.mts.map +1 -0
- package/uploads.d.ts +1 -74
- package/uploads.d.ts.map +1 -1
- package/uploads.js +3 -167
- package/uploads.js.map +1 -1
- package/uploads.mjs +1 -156
- package/uploads.mjs.map +1 -1
- package/version.d.mts +2 -0
- package/version.d.mts.map +1 -0
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/_shims/MultipartBody.d.ts +0 -9
- package/_shims/MultipartBody.d.ts.map +0 -1
- package/_shims/MultipartBody.js +0 -16
- package/_shims/MultipartBody.js.map +0 -1
- package/_shims/MultipartBody.mjs +0 -12
- package/_shims/MultipartBody.mjs.map +0 -1
- package/_shims/README.md +0 -46
- package/_shims/auto/runtime-bun.d.ts +0 -5
- package/_shims/auto/runtime-bun.d.ts.map +0 -1
- package/_shims/auto/runtime-bun.js +0 -21
- package/_shims/auto/runtime-bun.js.map +0 -1
- package/_shims/auto/runtime-bun.mjs +0 -2
- package/_shims/auto/runtime-bun.mjs.map +0 -1
- package/_shims/auto/runtime-node.d.ts +0 -5
- package/_shims/auto/runtime-node.d.ts.map +0 -1
- package/_shims/auto/runtime-node.js +0 -21
- package/_shims/auto/runtime-node.js.map +0 -1
- package/_shims/auto/runtime-node.mjs +0 -2
- package/_shims/auto/runtime-node.mjs.map +0 -1
- package/_shims/auto/runtime.d.ts +0 -5
- package/_shims/auto/runtime.d.ts.map +0 -1
- package/_shims/auto/runtime.js +0 -21
- package/_shims/auto/runtime.js.map +0 -1
- package/_shims/auto/runtime.mjs +0 -2
- package/_shims/auto/runtime.mjs.map +0 -1
- package/_shims/auto/types-node.d.ts +0 -5
- package/_shims/auto/types-node.d.ts.map +0 -1
- package/_shims/auto/types-node.js +0 -21
- package/_shims/auto/types-node.js.map +0 -1
- package/_shims/auto/types-node.mjs +0 -2
- package/_shims/auto/types-node.mjs.map +0 -1
- package/_shims/auto/types.d.ts +0 -101
- package/_shims/auto/types.js +0 -3
- package/_shims/auto/types.mjs +0 -3
- package/_shims/bun-runtime.d.ts +0 -6
- package/_shims/bun-runtime.d.ts.map +0 -1
- package/_shims/bun-runtime.js +0 -13
- package/_shims/bun-runtime.js.map +0 -1
- package/_shims/bun-runtime.mjs +0 -10
- package/_shims/bun-runtime.mjs.map +0 -1
- package/_shims/index.d.ts +0 -83
- package/_shims/index.js +0 -17
- package/_shims/index.mjs +0 -11
- package/_shims/manual-types.d.ts +0 -12
- package/_shims/manual-types.js +0 -3
- package/_shims/manual-types.mjs +0 -3
- package/_shims/node-runtime.d.ts +0 -3
- package/_shims/node-runtime.d.ts.map +0 -1
- package/_shims/node-runtime.js +0 -88
- package/_shims/node-runtime.js.map +0 -1
- package/_shims/node-runtime.mjs +0 -56
- package/_shims/node-runtime.mjs.map +0 -1
- package/_shims/node-types.d.ts +0 -42
- package/_shims/node-types.js +0 -3
- package/_shims/node-types.mjs +0 -3
- package/_shims/registry.d.ts +0 -37
- package/_shims/registry.d.ts.map +0 -1
- package/_shims/registry.js +0 -41
- package/_shims/registry.js.map +0 -1
- package/_shims/registry.mjs +0 -37
- package/_shims/registry.mjs.map +0 -1
- package/_shims/web-runtime.d.ts +0 -5
- package/_shims/web-runtime.d.ts.map +0 -1
- package/_shims/web-runtime.js +0 -77
- package/_shims/web-runtime.js.map +0 -1
- package/_shims/web-runtime.mjs +0 -71
- package/_shims/web-runtime.mjs.map +0 -1
- package/_shims/web-types.d.ts +0 -83
- package/_shims/web-types.js +0 -3
- package/_shims/web-types.mjs +0 -3
- package/core.d.ts +0 -253
- package/core.d.ts.map +0 -1
- package/core.js +0 -924
- package/core.js.map +0 -1
- package/core.mjs +0 -892
- package/core.mjs.map +0 -1
- package/internal/qs/formats.d.ts +0 -6
- package/internal/qs/formats.d.ts.map +0 -1
- package/internal/qs/formats.js +0 -11
- package/internal/qs/formats.js.map +0 -1
- package/internal/qs/formats.mjs +0 -8
- package/internal/qs/formats.mjs.map +0 -1
- package/internal/qs/index.d.ts +0 -10
- package/internal/qs/index.d.ts.map +0 -1
- package/internal/qs/index.js +0 -14
- package/internal/qs/index.js.map +0 -1
- package/internal/qs/index.mjs +0 -10
- package/internal/qs/index.mjs.map +0 -1
- package/internal/qs/stringify.d.ts +0 -3
- package/internal/qs/stringify.d.ts.map +0 -1
- package/internal/qs/stringify.js +0 -279
- package/internal/qs/stringify.js.map +0 -1
- package/internal/qs/stringify.mjs +0 -276
- package/internal/qs/stringify.mjs.map +0 -1
- package/internal/qs/types.d.ts +0 -57
- package/internal/qs/types.d.ts.map +0 -1
- package/internal/qs/types.js +0 -3
- package/internal/qs/types.js.map +0 -1
- package/internal/qs/types.mjs +0 -2
- package/internal/qs/types.mjs.map +0 -1
- package/internal/qs/utils.d.ts +0 -14
- package/internal/qs/utils.d.ts.map +0 -1
- package/internal/qs/utils.js +0 -229
- package/internal/qs/utils.js.map +0 -1
- package/internal/qs/utils.mjs +0 -217
- package/internal/qs/utils.mjs.map +0 -1
- package/resources/file.d.ts +0 -7
- package/resources/file.d.ts.map +0 -1
- package/resources/file.js +0 -21
- package/resources/file.js.map +0 -1
- package/resources/file.mjs +0 -17
- package/resources/file.mjs.map +0 -1
- package/resources/oauth/authorization.d.ts +0 -6
- package/resources/oauth/authorization.d.ts.map +0 -1
- package/resources/oauth/authorization.js +0 -15
- package/resources/oauth/authorization.js.map +0 -1
- package/resources/oauth/authorization.mjs +0 -11
- package/resources/oauth/authorization.mjs.map +0 -1
- package/resources/oauth/index.d.ts +0 -3
- package/resources/oauth/index.d.ts.map +0 -1
- package/resources/oauth/index.js +0 -9
- package/resources/oauth/index.js.map +0 -1
- package/resources/oauth/index.mjs +0 -4
- package/resources/oauth/index.mjs.map +0 -1
- package/resources/oauth/oauth.d.ts +0 -24
- package/resources/oauth/oauth.d.ts.map +0 -1
- package/resources/oauth/oauth.js +0 -65
- package/resources/oauth/oauth.js.map +0 -1
- package/resources/oauth/oauth.mjs +0 -38
- package/resources/oauth/oauth.mjs.map +0 -1
- package/resources/oauth.d.ts +0 -2
- package/resources/oauth.d.ts.map +0 -1
- package/resources/oauth.js +0 -19
- package/resources/oauth.js.map +0 -1
- package/resources/oauth.mjs +0 -3
- package/resources/oauth.mjs.map +0 -1
- package/resources/suggestion.d.ts +0 -7
- package/resources/suggestion.d.ts.map +0 -1
- package/resources/suggestion.js +0 -21
- package/resources/suggestion.js.map +0 -1
- package/resources/suggestion.mjs +0 -17
- package/resources/suggestion.mjs.map +0 -1
- package/resources/ticket.d.ts +0 -14
- package/resources/ticket.d.ts.map +0 -1
- package/resources/ticket.js +0 -16
- package/resources/ticket.js.map +0 -1
- package/resources/ticket.mjs +0 -12
- package/resources/ticket.mjs.map +0 -1
- package/resources/top-level.d.ts +0 -2
- package/resources/top-level.d.ts.map +0 -1
- package/resources/top-level.js.map +0 -1
- package/resources/top-level.mjs.map +0 -1
- package/resources/webhooks.d.ts +0 -6
- package/resources/webhooks.d.ts.map +0 -1
- package/resources/webhooks.js +0 -15
- package/resources/webhooks.js.map +0 -1
- package/resources/webhooks.mjs +0 -11
- package/resources/webhooks.mjs.map +0 -1
- package/resources/workflow.d.ts +0 -8
- package/resources/workflow.d.ts.map +0 -1
- package/resources/workflow.js +0 -21
- package/resources/workflow.js.map +0 -1
- package/resources/workflow.mjs +0 -17
- package/resources/workflow.mjs.map +0 -1
- package/shims/node.d.ts +0 -26
- package/shims/node.d.ts.map +0 -1
- package/shims/node.js +0 -6
- package/shims/node.js.map +0 -1
- package/shims/node.mjs +0 -4
- package/shims/node.mjs.map +0 -1
- package/shims/web.d.ts +0 -26
- package/shims/web.d.ts.map +0 -1
- package/shims/web.js +0 -6
- package/shims/web.js.map +0 -1
- package/shims/web.mjs +0 -4
- package/shims/web.mjs.map +0 -1
- package/src/_shims/MultipartBody.ts +0 -9
- package/src/_shims/README.md +0 -46
- package/src/_shims/auto/runtime-bun.ts +0 -4
- package/src/_shims/auto/runtime-node.ts +0 -4
- package/src/_shims/auto/runtime.ts +0 -4
- package/src/_shims/auto/types-node.ts +0 -4
- package/src/_shims/auto/types.d.ts +0 -101
- package/src/_shims/auto/types.js +0 -3
- package/src/_shims/auto/types.mjs +0 -3
- package/src/_shims/bun-runtime.ts +0 -14
- package/src/_shims/index.d.ts +0 -83
- package/src/_shims/index.js +0 -17
- package/src/_shims/index.mjs +0 -11
- package/src/_shims/manual-types.d.ts +0 -12
- package/src/_shims/manual-types.js +0 -3
- package/src/_shims/manual-types.mjs +0 -3
- package/src/_shims/node-runtime.ts +0 -81
- package/src/_shims/node-types.d.ts +0 -42
- package/src/_shims/node-types.js +0 -3
- package/src/_shims/node-types.mjs +0 -3
- package/src/_shims/registry.ts +0 -67
- package/src/_shims/web-runtime.ts +0 -103
- package/src/_shims/web-types.d.ts +0 -83
- package/src/_shims/web-types.js +0 -3
- package/src/_shims/web-types.mjs +0 -3
- package/src/core.ts +0 -1236
- package/src/internal/qs/LICENSE.md +0 -13
- package/src/internal/qs/README.md +0 -3
- package/src/internal/qs/formats.ts +0 -9
- package/src/internal/qs/index.ts +0 -13
- package/src/internal/qs/stringify.ts +0 -388
- package/src/internal/qs/types.ts +0 -71
- package/src/internal/qs/utils.ts +0 -265
- package/src/resources/file.ts +0 -20
- package/src/resources/oauth/authorization.ts +0 -13
- package/src/resources/oauth/index.ts +0 -4
- package/src/resources/oauth/oauth.ts +0 -63
- package/src/resources/suggestion.ts +0 -20
- package/src/resources/ticket.ts +0 -30
- package/src/resources/webhooks.ts +0 -13
- package/src/resources/workflow.ts +0 -21
- package/src/shims/node.ts +0 -50
- package/src/shims/web.ts +0 -50
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { hasOwn } from './values';
|
|
4
|
+
import { type Lorikeet } from '../../client';
|
|
5
|
+
import { RequestOptions } from '../request-options';
|
|
6
|
+
|
|
7
|
+
type LogFn = (message: string, ...rest: unknown[]) => void;
|
|
8
|
+
export type Logger = {
|
|
9
|
+
error: LogFn;
|
|
10
|
+
warn: LogFn;
|
|
11
|
+
info: LogFn;
|
|
12
|
+
debug: LogFn;
|
|
13
|
+
};
|
|
14
|
+
export type LogLevel = 'off' | 'error' | 'warn' | 'info' | 'debug';
|
|
15
|
+
|
|
16
|
+
const levelNumbers = {
|
|
17
|
+
off: 0,
|
|
18
|
+
error: 200,
|
|
19
|
+
warn: 300,
|
|
20
|
+
info: 400,
|
|
21
|
+
debug: 500,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const parseLogLevel = (
|
|
25
|
+
maybeLevel: string | undefined,
|
|
26
|
+
sourceName: string,
|
|
27
|
+
client: Lorikeet,
|
|
28
|
+
): LogLevel | undefined => {
|
|
29
|
+
if (!maybeLevel) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
if (hasOwn(levelNumbers, maybeLevel)) {
|
|
33
|
+
return maybeLevel;
|
|
34
|
+
}
|
|
35
|
+
loggerFor(client).warn(
|
|
36
|
+
`${sourceName} was set to ${JSON.stringify(maybeLevel)}, expected one of ${JSON.stringify(
|
|
37
|
+
Object.keys(levelNumbers),
|
|
38
|
+
)}`,
|
|
39
|
+
);
|
|
40
|
+
return undefined;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
function noop() {}
|
|
44
|
+
|
|
45
|
+
function makeLogFn(fnLevel: keyof Logger, logger: Logger | undefined, logLevel: LogLevel) {
|
|
46
|
+
if (!logger || levelNumbers[fnLevel] > levelNumbers[logLevel]) {
|
|
47
|
+
return noop;
|
|
48
|
+
} else {
|
|
49
|
+
// Don't wrap logger functions, we want the stacktrace intact!
|
|
50
|
+
return logger[fnLevel].bind(logger);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const noopLogger = {
|
|
55
|
+
error: noop,
|
|
56
|
+
warn: noop,
|
|
57
|
+
info: noop,
|
|
58
|
+
debug: noop,
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
let cachedLoggers = /* @__PURE__ */ new WeakMap<Logger, [LogLevel, Logger]>();
|
|
62
|
+
|
|
63
|
+
export function loggerFor(client: Lorikeet): Logger {
|
|
64
|
+
const logger = client.logger;
|
|
65
|
+
const logLevel = client.logLevel ?? 'off';
|
|
66
|
+
if (!logger) {
|
|
67
|
+
return noopLogger;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const cachedLogger = cachedLoggers.get(logger);
|
|
71
|
+
if (cachedLogger && cachedLogger[0] === logLevel) {
|
|
72
|
+
return cachedLogger[1];
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const levelLogger = {
|
|
76
|
+
error: makeLogFn('error', logger, logLevel),
|
|
77
|
+
warn: makeLogFn('warn', logger, logLevel),
|
|
78
|
+
info: makeLogFn('info', logger, logLevel),
|
|
79
|
+
debug: makeLogFn('debug', logger, logLevel),
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
cachedLoggers.set(logger, [logLevel, levelLogger]);
|
|
83
|
+
|
|
84
|
+
return levelLogger;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export const formatRequestDetails = (details: {
|
|
88
|
+
options?: RequestOptions | undefined;
|
|
89
|
+
headers?: Headers | Record<string, string> | undefined;
|
|
90
|
+
retryOfRequestLogID?: string | undefined;
|
|
91
|
+
retryOf?: string | undefined;
|
|
92
|
+
url?: string | undefined;
|
|
93
|
+
status?: number | undefined;
|
|
94
|
+
method?: string | undefined;
|
|
95
|
+
durationMs?: number | undefined;
|
|
96
|
+
message?: unknown;
|
|
97
|
+
body?: unknown;
|
|
98
|
+
}) => {
|
|
99
|
+
if (details.options) {
|
|
100
|
+
details.options = { ...details.options };
|
|
101
|
+
delete details.options['headers']; // redundant + leaks internals
|
|
102
|
+
}
|
|
103
|
+
if (details.headers) {
|
|
104
|
+
details.headers = Object.fromEntries(
|
|
105
|
+
(details.headers instanceof Headers ? [...details.headers] : Object.entries(details.headers)).map(
|
|
106
|
+
([name, value]) => [
|
|
107
|
+
name,
|
|
108
|
+
(
|
|
109
|
+
name.toLowerCase() === 'authorization' ||
|
|
110
|
+
name.toLowerCase() === 'x-lorikeet-signature' ||
|
|
111
|
+
name.toLowerCase() === 'cookie' ||
|
|
112
|
+
name.toLowerCase() === 'set-cookie'
|
|
113
|
+
) ?
|
|
114
|
+
'***'
|
|
115
|
+
: value,
|
|
116
|
+
],
|
|
117
|
+
),
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
if ('retryOfRequestLogID' in details) {
|
|
121
|
+
if (details.retryOfRequestLogID) {
|
|
122
|
+
details.retryOf = details.retryOfRequestLogID;
|
|
123
|
+
}
|
|
124
|
+
delete details.retryOfRequestLogID;
|
|
125
|
+
}
|
|
126
|
+
return details;
|
|
127
|
+
};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { LorikeetError } 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
|
+
const EMPTY = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.create(null));
|
|
16
|
+
|
|
17
|
+
export const createPathTagFunction = (pathEncoder = encodeURIPath) =>
|
|
18
|
+
function path(statics: readonly string[], ...params: readonly unknown[]): string {
|
|
19
|
+
// If there are no params, no processing is needed.
|
|
20
|
+
if (statics.length === 1) return statics[0]!;
|
|
21
|
+
|
|
22
|
+
let postPath = false;
|
|
23
|
+
const invalidSegments = [];
|
|
24
|
+
const path = statics.reduce((previousValue, currentValue, index) => {
|
|
25
|
+
if (/[?#]/.test(currentValue)) {
|
|
26
|
+
postPath = true;
|
|
27
|
+
}
|
|
28
|
+
const value = params[index];
|
|
29
|
+
let encoded = (postPath ? encodeURIComponent : pathEncoder)('' + value);
|
|
30
|
+
if (
|
|
31
|
+
index !== params.length &&
|
|
32
|
+
(value == null ||
|
|
33
|
+
(typeof value === 'object' &&
|
|
34
|
+
// handle values from other realms
|
|
35
|
+
value.toString ===
|
|
36
|
+
Object.getPrototypeOf(Object.getPrototypeOf((value as any).hasOwnProperty ?? EMPTY) ?? EMPTY)
|
|
37
|
+
?.toString))
|
|
38
|
+
) {
|
|
39
|
+
encoded = value + '';
|
|
40
|
+
invalidSegments.push({
|
|
41
|
+
start: previousValue.length + currentValue.length,
|
|
42
|
+
length: encoded.length,
|
|
43
|
+
error: `Value of type ${Object.prototype.toString
|
|
44
|
+
.call(value)
|
|
45
|
+
.slice(8, -1)} is not a valid path parameter`,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return previousValue + currentValue + (index === params.length ? '' : encoded);
|
|
49
|
+
}, '');
|
|
50
|
+
|
|
51
|
+
const pathOnly = path.split(/[?#]/, 1)[0]!;
|
|
52
|
+
const invalidSegmentPattern = /(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;
|
|
53
|
+
let match;
|
|
54
|
+
|
|
55
|
+
// Find all invalid segments
|
|
56
|
+
while ((match = invalidSegmentPattern.exec(pathOnly)) !== null) {
|
|
57
|
+
invalidSegments.push({
|
|
58
|
+
start: match.index,
|
|
59
|
+
length: match[0].length,
|
|
60
|
+
error: `Value "${match[0]}" can\'t be safely passed as a path parameter`,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
invalidSegments.sort((a, b) => a.start - b.start);
|
|
65
|
+
|
|
66
|
+
if (invalidSegments.length > 0) {
|
|
67
|
+
let lastEnd = 0;
|
|
68
|
+
const underline = invalidSegments.reduce((acc, segment) => {
|
|
69
|
+
const spaces = ' '.repeat(segment.start - lastEnd);
|
|
70
|
+
const arrows = '^'.repeat(segment.length);
|
|
71
|
+
lastEnd = segment.start + segment.length;
|
|
72
|
+
return acc + spaces + arrows;
|
|
73
|
+
}, '');
|
|
74
|
+
|
|
75
|
+
throw new LorikeetError(
|
|
76
|
+
`Path parameters result in path with invalid segments:\n${invalidSegments
|
|
77
|
+
.map((e) => e.error)
|
|
78
|
+
.join('\n')}\n${path}\n${underline}`,
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return path;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* URI-encodes path params and ensures no unsafe /./ or /../ path segments are introduced.
|
|
87
|
+
*/
|
|
88
|
+
export const path = /* @__PURE__ */ createPathTagFunction(encodeURIPath);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* https://stackoverflow.com/a/2117523
|
|
5
|
+
*/
|
|
6
|
+
export let uuid4 = function () {
|
|
7
|
+
const { crypto } = globalThis as any;
|
|
8
|
+
if (crypto?.randomUUID) {
|
|
9
|
+
uuid4 = crypto.randomUUID.bind(crypto);
|
|
10
|
+
return crypto.randomUUID();
|
|
11
|
+
}
|
|
12
|
+
const u8 = new Uint8Array(1);
|
|
13
|
+
const randomByte = crypto ? () => crypto.getRandomValues(u8)[0]! : () => (Math.random() * 0xff) & 0xff;
|
|
14
|
+
return '10000000-1000-4000-8000-100000000000'.replace(/[018]/g, (c) =>
|
|
15
|
+
(+c ^ (randomByte() & (15 >> (+c / 4)))).toString(16),
|
|
16
|
+
);
|
|
17
|
+
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { LorikeetError } 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
|
+
export let isArray = (val: unknown): val is unknown[] => ((isArray = Array.isArray), isArray(val));
|
|
13
|
+
export let isReadonlyArray = isArray as (val: unknown) => val is readonly unknown[];
|
|
14
|
+
|
|
15
|
+
/** Returns an object if the given value isn't an object, otherwise returns as-is */
|
|
16
|
+
export function maybeObj(x: unknown): object {
|
|
17
|
+
if (typeof x !== 'object') {
|
|
18
|
+
return {};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return x ?? {};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// https://stackoverflow.com/a/34491287
|
|
25
|
+
export function isEmptyObj(obj: Object | null | undefined): boolean {
|
|
26
|
+
if (!obj) return true;
|
|
27
|
+
for (const _k in obj) return false;
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// https://eslint.org/docs/latest/rules/no-prototype-builtins
|
|
32
|
+
export function hasOwn<T extends object = object>(obj: T, key: PropertyKey): key is keyof T {
|
|
33
|
+
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function isObj(obj: unknown): obj is Record<string, unknown> {
|
|
37
|
+
return obj != null && typeof obj === 'object' && !Array.isArray(obj);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export const ensurePresent = <T>(value: T | null | undefined): T => {
|
|
41
|
+
if (value == null) {
|
|
42
|
+
throw new LorikeetError(`Expected a value to be given but received ${value} instead.`);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return value;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export const validatePositiveInteger = (name: string, n: unknown): number => {
|
|
49
|
+
if (typeof n !== 'number' || !Number.isInteger(n)) {
|
|
50
|
+
throw new LorikeetError(`${name} must be an integer`);
|
|
51
|
+
}
|
|
52
|
+
if (n < 0) {
|
|
53
|
+
throw new LorikeetError(`${name} must be a positive integer`);
|
|
54
|
+
}
|
|
55
|
+
return n;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export const coerceInteger = (value: unknown): number => {
|
|
59
|
+
if (typeof value === 'number') return Math.round(value);
|
|
60
|
+
if (typeof value === 'string') return parseInt(value, 10);
|
|
61
|
+
|
|
62
|
+
throw new LorikeetError(`Could not coerce ${value} (type: ${typeof value}) into a number`);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export const coerceFloat = (value: unknown): number => {
|
|
66
|
+
if (typeof value === 'number') return value;
|
|
67
|
+
if (typeof value === 'string') return parseFloat(value);
|
|
68
|
+
|
|
69
|
+
throw new LorikeetError(`Could not coerce ${value} (type: ${typeof value}) into a number`);
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export const coerceBoolean = (value: unknown): boolean => {
|
|
73
|
+
if (typeof value === 'boolean') return value;
|
|
74
|
+
if (typeof value === 'string') return value === 'true';
|
|
75
|
+
return Boolean(value);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export const maybeCoerceInteger = (value: unknown): number | undefined => {
|
|
79
|
+
if (value == null) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
return coerceInteger(value);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const maybeCoerceFloat = (value: unknown): number | undefined => {
|
|
86
|
+
if (value == null) {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
return coerceFloat(value);
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export const maybeCoerceBoolean = (value: unknown): boolean | undefined => {
|
|
93
|
+
if (value == null) {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
return coerceBoolean(value);
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export const safeJSON = (text: string) => {
|
|
100
|
+
try {
|
|
101
|
+
return JSON.parse(text);
|
|
102
|
+
} catch (err) {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
@@ -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';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { createHmac } from 'crypto';
|
|
1
|
+
import { createHmac } from 'node:crypto';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Generate a signature for a given payload using a secret key.
|
|
5
5
|
*
|
|
6
6
|
* @param payload - The payload to sign - If no payload is provided, the signature will be generated for an empty string.
|
|
7
7
|
*/
|
|
8
|
-
export function generateSignature(payload: Buffer | string | undefined, secret: string) {
|
|
8
|
+
export function generateSignature(payload: Buffer | Uint8Array | string | undefined, secret: string) {
|
|
9
9
|
if (!payload) {
|
|
10
10
|
return createHmac('sha256', secret).digest('base64').replace(/\+/g, '-').replace(/\//g, '_');
|
|
11
11
|
}
|
package/src/resource.ts
CHANGED
|
@@ -1,11 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import type { Lorikeet } from './index';
|
|
4
|
-
|
|
5
|
-
export abstract class APIResource {
|
|
6
|
-
protected _client: Lorikeet;
|
|
7
|
-
|
|
8
|
-
constructor(client: Lorikeet) {
|
|
9
|
-
this._client = client;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
1
|
+
/** @deprecated Import from ./core/resource instead */
|
|
2
|
+
export * from './core/resource';
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { APIResource } from '../core/resource';
|
|
4
|
+
import { APIPromise } from '../core/api-promise';
|
|
5
|
+
import { buildHeaders } from '../internal/headers';
|
|
6
|
+
import { RequestOptions } from '../internal/request-options';
|
|
7
|
+
import { path } from '../internal/utils/path';
|
|
8
|
+
|
|
9
|
+
export class APIKeys extends APIResource {
|
|
10
|
+
/**
|
|
11
|
+
* Generate a new API key pair (clientId + clientSecret) for the authenticated
|
|
12
|
+
* subscriber. The clientSecret is only returned once on creation.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* const apiKey = await client.apiKeys.create();
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
create(body: APIKeyCreateParams, options?: RequestOptions): APIPromise<APIKeyCreateResponse> {
|
|
20
|
+
return this._client.post('/v1/api-keys', { body, ...options });
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* List all API keys for the authenticated subscriber. Secrets are masked.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* const apiKeys = await client.apiKeys.list();
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
list(options?: RequestOptions): APIPromise<APIKeyListResponse> {
|
|
32
|
+
return this._client.get('/v1/api-keys', options);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Permanently delete an API key. This action cannot be undone.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* await client.apiKeys.delete(
|
|
41
|
+
* '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
|
|
42
|
+
* );
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
delete(id: string, options?: RequestOptions): APIPromise<void> {
|
|
46
|
+
return this._client.delete(path`/v1/api-keys/${id}`, {
|
|
47
|
+
...options,
|
|
48
|
+
headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Get details of a specific API key. Secret is masked.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* const apiKey = await client.apiKeys.get(
|
|
58
|
+
* '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
|
|
59
|
+
* );
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
get(id: string, options?: RequestOptions): APIPromise<APIKeyGetResponse> {
|
|
63
|
+
return this._client.get(path`/v1/api-keys/${id}`, options);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export interface APIKeyCreateResponse {
|
|
68
|
+
/**
|
|
69
|
+
* Unique identifier for the API key
|
|
70
|
+
*/
|
|
71
|
+
id: string;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Public client ID used in API requests
|
|
75
|
+
*/
|
|
76
|
+
clientId: string;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Secret key for signing requests. Only returned on creation - store securely.
|
|
80
|
+
*/
|
|
81
|
+
clientSecret: string;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Timestamp when the API key was created
|
|
85
|
+
*/
|
|
86
|
+
createdAt: string;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Environment label for the API key
|
|
90
|
+
*/
|
|
91
|
+
env: string;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export interface APIKeyListResponse {
|
|
95
|
+
/**
|
|
96
|
+
* List of API keys
|
|
97
|
+
*/
|
|
98
|
+
keys: Array<APIKeyListResponse.Key>;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export namespace APIKeyListResponse {
|
|
102
|
+
export interface Key {
|
|
103
|
+
/**
|
|
104
|
+
* Unique identifier for the API key
|
|
105
|
+
*/
|
|
106
|
+
id: string;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Public client ID used in API requests
|
|
110
|
+
*/
|
|
111
|
+
clientId: string;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Masked preview of the secret key
|
|
115
|
+
*/
|
|
116
|
+
clientSecretPreview: string;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Timestamp when the API key was created
|
|
120
|
+
*/
|
|
121
|
+
createdAt: string;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Environment label for the API key
|
|
125
|
+
*/
|
|
126
|
+
env: string;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export interface APIKeyGetResponse {
|
|
131
|
+
/**
|
|
132
|
+
* Unique identifier for the API key
|
|
133
|
+
*/
|
|
134
|
+
id: string;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Public client ID used in API requests
|
|
138
|
+
*/
|
|
139
|
+
clientId: string;
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Masked preview of the secret key
|
|
143
|
+
*/
|
|
144
|
+
clientSecretPreview: string;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Timestamp when the API key was created
|
|
148
|
+
*/
|
|
149
|
+
createdAt: string;
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Environment label for the API key
|
|
153
|
+
*/
|
|
154
|
+
env: string;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export interface APIKeyCreateParams {
|
|
158
|
+
/**
|
|
159
|
+
* Environment label for the API key (e.g., "api", "production", "staging")
|
|
160
|
+
*/
|
|
161
|
+
env?: string;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export declare namespace APIKeys {
|
|
165
|
+
export {
|
|
166
|
+
type APIKeyCreateResponse as APIKeyCreateResponse,
|
|
167
|
+
type APIKeyListResponse as APIKeyListResponse,
|
|
168
|
+
type APIKeyGetResponse as APIKeyGetResponse,
|
|
169
|
+
type APIKeyCreateParams as APIKeyCreateParams,
|
|
170
|
+
};
|
|
171
|
+
}
|