qca-sdk 0.1.0-dev.1
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/LICENSE +21 -0
- package/README.md +134 -0
- package/dist/core/api-promise.d.ts +19 -0
- package/dist/core/api-promise.d.ts.map +1 -0
- package/dist/core/api-promise.js +30 -0
- package/dist/core/api-promise.js.map +1 -0
- package/dist/core/client.d.ts +52 -0
- package/dist/core/client.d.ts.map +1 -0
- package/dist/core/client.js +312 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/credentials.d.ts +11 -0
- package/dist/core/credentials.d.ts.map +1 -0
- package/dist/core/credentials.js +21 -0
- package/dist/core/credentials.js.map +1 -0
- package/dist/core/error.d.ts +39 -0
- package/dist/core/error.d.ts.map +1 -0
- package/dist/core/error.js +76 -0
- package/dist/core/error.js.map +1 -0
- package/dist/core/pagination.d.ts +40 -0
- package/dist/core/pagination.d.ts.map +1 -0
- package/dist/core/pagination.js +101 -0
- package/dist/core/pagination.js.map +1 -0
- package/dist/core/resource.d.ts +7 -0
- package/dist/core/resource.d.ts.map +1 -0
- package/dist/core/resource.js +12 -0
- package/dist/core/resource.js.map +1 -0
- package/dist/core/streaming.d.ts +20 -0
- package/dist/core/streaming.d.ts.map +1 -0
- package/dist/core/streaming.js +140 -0
- package/dist/core/streaming.js.map +1 -0
- package/dist/core/uploads.d.ts +9 -0
- package/dist/core/uploads.d.ts.map +1 -0
- package/dist/core/uploads.js +60 -0
- package/dist/core/uploads.js.map +1 -0
- package/dist/esm/core/api-promise.d.ts +19 -0
- package/dist/esm/core/api-promise.d.ts.map +1 -0
- package/dist/esm/core/api-promise.js +26 -0
- package/dist/esm/core/api-promise.js.map +1 -0
- package/dist/esm/core/client.d.ts +52 -0
- package/dist/esm/core/client.d.ts.map +1 -0
- package/dist/esm/core/client.js +306 -0
- package/dist/esm/core/client.js.map +1 -0
- package/dist/esm/core/credentials.d.ts +11 -0
- package/dist/esm/core/credentials.d.ts.map +1 -0
- package/dist/esm/core/credentials.js +16 -0
- package/dist/esm/core/credentials.js.map +1 -0
- package/dist/esm/core/error.d.ts +39 -0
- package/dist/esm/core/error.d.ts.map +1 -0
- package/dist/esm/core/error.js +60 -0
- package/dist/esm/core/error.js.map +1 -0
- package/dist/esm/core/pagination.d.ts +40 -0
- package/dist/esm/core/pagination.d.ts.map +1 -0
- package/dist/esm/core/pagination.js +96 -0
- package/dist/esm/core/pagination.js.map +1 -0
- package/dist/esm/core/resource.d.ts +7 -0
- package/dist/esm/core/resource.d.ts.map +1 -0
- package/dist/esm/core/resource.js +8 -0
- package/dist/esm/core/resource.js.map +1 -0
- package/dist/esm/core/streaming.d.ts +20 -0
- package/dist/esm/core/streaming.d.ts.map +1 -0
- package/dist/esm/core/streaming.js +135 -0
- package/dist/esm/core/streaming.js.map +1 -0
- package/dist/esm/core/uploads.d.ts +9 -0
- package/dist/esm/core/uploads.d.ts.map +1 -0
- package/dist/esm/core/uploads.js +56 -0
- package/dist/esm/core/uploads.js.map +1 -0
- package/dist/esm/forward/_utils.d.ts +6 -0
- package/dist/esm/forward/_utils.d.ts.map +1 -0
- package/dist/esm/forward/_utils.js +31 -0
- package/dist/esm/forward/_utils.js.map +1 -0
- package/dist/esm/forward/batch-task.d.ts +15 -0
- package/dist/esm/forward/batch-task.d.ts.map +1 -0
- package/dist/esm/forward/batch-task.js +16 -0
- package/dist/esm/forward/batch-task.js.map +1 -0
- package/dist/esm/forward/batch.d.ts +53 -0
- package/dist/esm/forward/batch.d.ts.map +1 -0
- package/dist/esm/forward/batch.js +93 -0
- package/dist/esm/forward/batch.js.map +1 -0
- package/dist/esm/forward/channel-pairing.d.ts +22 -0
- package/dist/esm/forward/channel-pairing.d.ts.map +1 -0
- package/dist/esm/forward/channel-pairing.js +37 -0
- package/dist/esm/forward/channel-pairing.js.map +1 -0
- package/dist/esm/forward/channel-qr-session.d.ts +22 -0
- package/dist/esm/forward/channel-qr-session.d.ts.map +1 -0
- package/dist/esm/forward/channel-qr-session.js +36 -0
- package/dist/esm/forward/channel-qr-session.js.map +1 -0
- package/dist/esm/forward/channel.d.ts +46 -0
- package/dist/esm/forward/channel.d.ts.map +1 -0
- package/dist/esm/forward/channel.js +80 -0
- package/dist/esm/forward/channel.js.map +1 -0
- package/dist/esm/forward/environment.d.ts +51 -0
- package/dist/esm/forward/environment.d.ts.map +1 -0
- package/dist/esm/forward/environment.js +91 -0
- package/dist/esm/forward/environment.js.map +1 -0
- package/dist/esm/forward/file.d.ts +44 -0
- package/dist/esm/forward/file.d.ts.map +1 -0
- package/dist/esm/forward/file.js +73 -0
- package/dist/esm/forward/file.js.map +1 -0
- package/dist/esm/forward/forwardClient.d.ts +35 -0
- package/dist/esm/forward/forwardClient.d.ts.map +1 -0
- package/dist/esm/forward/forwardClient.js +37 -0
- package/dist/esm/forward/forwardClient.js.map +1 -0
- package/dist/esm/forward/identity-config.d.ts +37 -0
- package/dist/esm/forward/identity-config.d.ts.map +1 -0
- package/dist/esm/forward/identity-config.js +61 -0
- package/dist/esm/forward/identity-config.js.map +1 -0
- package/dist/esm/forward/identity-memory-store.d.ts +29 -0
- package/dist/esm/forward/identity-memory-store.d.ts.map +1 -0
- package/dist/esm/forward/identity-memory-store.js +49 -0
- package/dist/esm/forward/identity-memory-store.js.map +1 -0
- package/dist/esm/forward/identity.d.ts +90 -0
- package/dist/esm/forward/identity.d.ts.map +1 -0
- package/dist/esm/forward/identity.js +167 -0
- package/dist/esm/forward/identity.js.map +1 -0
- package/dist/esm/forward/index.d.ts +39 -0
- package/dist/esm/forward/index.d.ts.map +1 -0
- package/dist/esm/forward/index.js +35 -0
- package/dist/esm/forward/index.js.map +1 -0
- package/dist/esm/forward/memory-store-memory-version.d.ts +30 -0
- package/dist/esm/forward/memory-store-memory-version.d.ts.map +1 -0
- package/dist/esm/forward/memory-store-memory-version.js +44 -0
- package/dist/esm/forward/memory-store-memory-version.js.map +1 -0
- package/dist/esm/forward/memory-store-memory.d.ts +44 -0
- package/dist/esm/forward/memory-store-memory.d.ts.map +1 -0
- package/dist/esm/forward/memory-store-memory.js +74 -0
- package/dist/esm/forward/memory-store-memory.js.map +1 -0
- package/dist/esm/forward/memory-store.d.ts +55 -0
- package/dist/esm/forward/memory-store.d.ts.map +1 -0
- package/dist/esm/forward/memory-store.js +94 -0
- package/dist/esm/forward/memory-store.js.map +1 -0
- package/dist/esm/forward/model.d.ts +15 -0
- package/dist/esm/forward/model.d.ts.map +1 -0
- package/dist/esm/forward/model.js +19 -0
- package/dist/esm/forward/model.js.map +1 -0
- package/dist/esm/forward/schedule-run.d.ts +23 -0
- package/dist/esm/forward/schedule-run.d.ts.map +1 -0
- package/dist/esm/forward/schedule-run.js +31 -0
- package/dist/esm/forward/schedule-run.js.map +1 -0
- package/dist/esm/forward/schedule.d.ts +72 -0
- package/dist/esm/forward/schedule.d.ts.map +1 -0
- package/dist/esm/forward/schedule.js +145 -0
- package/dist/esm/forward/schedule.js.map +1 -0
- package/dist/esm/forward/session-event.d.ts +31 -0
- package/dist/esm/forward/session-event.d.ts.map +1 -0
- package/dist/esm/forward/session-event.js +51 -0
- package/dist/esm/forward/session-event.js.map +1 -0
- package/dist/esm/forward/session-resource.d.ts +15 -0
- package/dist/esm/forward/session-resource.d.ts.map +1 -0
- package/dist/esm/forward/session-resource.js +21 -0
- package/dist/esm/forward/session-resource.js.map +1 -0
- package/dist/esm/forward/session-thread-event.d.ts +24 -0
- package/dist/esm/forward/session-thread-event.d.ts.map +1 -0
- package/dist/esm/forward/session-thread-event.js +33 -0
- package/dist/esm/forward/session-thread-event.js.map +1 -0
- package/dist/esm/forward/session-thread.d.ts +32 -0
- package/dist/esm/forward/session-thread.d.ts.map +1 -0
- package/dist/esm/forward/session-thread.js +48 -0
- package/dist/esm/forward/session-thread.js.map +1 -0
- package/dist/esm/forward/session.d.ts +57 -0
- package/dist/esm/forward/session.d.ts.map +1 -0
- package/dist/esm/forward/session.js +102 -0
- package/dist/esm/forward/session.js.map +1 -0
- package/dist/esm/forward/skill-version.d.ts +44 -0
- package/dist/esm/forward/skill-version.d.ts.map +1 -0
- package/dist/esm/forward/skill-version.js +75 -0
- package/dist/esm/forward/skill-version.js.map +1 -0
- package/dist/esm/forward/skill.d.ts +46 -0
- package/dist/esm/forward/skill.d.ts.map +1 -0
- package/dist/esm/forward/skill.js +81 -0
- package/dist/esm/forward/skill.js.map +1 -0
- package/dist/esm/forward/template.d.ts +51 -0
- package/dist/esm/forward/template.d.ts.map +1 -0
- package/dist/esm/forward/template.js +97 -0
- package/dist/esm/forward/template.js.map +1 -0
- package/dist/esm/forward/types.d.ts +3153 -0
- package/dist/esm/forward/types.d.ts.map +1 -0
- package/dist/esm/forward/types.js +2 -0
- package/dist/esm/forward/types.js.map +1 -0
- package/dist/esm/forward/vault-credential.d.ts +37 -0
- package/dist/esm/forward/vault-credential.d.ts.map +1 -0
- package/dist/esm/forward/vault-credential.js +62 -0
- package/dist/esm/forward/vault-credential.js.map +1 -0
- package/dist/esm/forward/vault.d.ts +39 -0
- package/dist/esm/forward/vault.d.ts.map +1 -0
- package/dist/esm/forward/vault.js +64 -0
- package/dist/esm/forward/vault.js.map +1 -0
- package/dist/esm/index.d.ts +10 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/managed/client.d.ts +30 -0
- package/dist/esm/managed/client.d.ts.map +1 -0
- package/dist/esm/managed/client.js +29 -0
- package/dist/esm/managed/client.js.map +1 -0
- package/dist/esm/managed/index.d.ts +12 -0
- package/dist/esm/managed/index.d.ts.map +1 -0
- package/dist/esm/managed/index.js +10 -0
- package/dist/esm/managed/index.js.map +1 -0
- package/dist/esm/managed/internal.d.ts +11 -0
- package/dist/esm/managed/internal.d.ts.map +1 -0
- package/dist/esm/managed/internal.js +53 -0
- package/dist/esm/managed/internal.js.map +1 -0
- package/dist/esm/managed/managedClient.d.ts +3 -0
- package/dist/esm/managed/managedClient.d.ts.map +1 -0
- package/dist/esm/managed/managedClient.js +2 -0
- package/dist/esm/managed/managedClient.js.map +1 -0
- package/dist/esm/managed/resources/agent-version.d.ts +13 -0
- package/dist/esm/managed/resources/agent-version.d.ts.map +1 -0
- package/dist/esm/managed/resources/agent-version.js +14 -0
- package/dist/esm/managed/resources/agent-version.js.map +1 -0
- package/dist/esm/managed/resources/agent.d.ts +32 -0
- package/dist/esm/managed/resources/agent.d.ts.map +1 -0
- package/dist/esm/managed/resources/agent.js +44 -0
- package/dist/esm/managed/resources/agent.js.map +1 -0
- package/dist/esm/managed/resources/deployment-run.d.ts +18 -0
- package/dist/esm/managed/resources/deployment-run.d.ts.map +1 -0
- package/dist/esm/managed/resources/deployment-run.js +21 -0
- package/dist/esm/managed/resources/deployment-run.js.map +1 -0
- package/dist/esm/managed/resources/deployment.d.ts +42 -0
- package/dist/esm/managed/resources/deployment.d.ts.map +1 -0
- package/dist/esm/managed/resources/deployment.js +63 -0
- package/dist/esm/managed/resources/deployment.js.map +1 -0
- package/dist/esm/managed/resources/dream.d.ts +30 -0
- package/dist/esm/managed/resources/dream.d.ts.map +1 -0
- package/dist/esm/managed/resources/dream.js +42 -0
- package/dist/esm/managed/resources/dream.js.map +1 -0
- package/dist/esm/managed/resources/environment-work.d.ts +78 -0
- package/dist/esm/managed/resources/environment-work.d.ts.map +1 -0
- package/dist/esm/managed/resources/environment-work.js +99 -0
- package/dist/esm/managed/resources/environment-work.js.map +1 -0
- package/dist/esm/managed/resources/environment.d.ts +37 -0
- package/dist/esm/managed/resources/environment.d.ts.map +1 -0
- package/dist/esm/managed/resources/environment.js +52 -0
- package/dist/esm/managed/resources/environment.js.map +1 -0
- package/dist/esm/managed/resources/file.d.ts +30 -0
- package/dist/esm/managed/resources/file.d.ts.map +1 -0
- package/dist/esm/managed/resources/file.js +44 -0
- package/dist/esm/managed/resources/file.js.map +1 -0
- package/dist/esm/managed/resources/index.d.ts +22 -0
- package/dist/esm/managed/resources/index.d.ts.map +1 -0
- package/dist/esm/managed/resources/index.js +22 -0
- package/dist/esm/managed/resources/index.js.map +1 -0
- package/dist/esm/managed/resources/memory-store-memory-version.d.ts +22 -0
- package/dist/esm/managed/resources/memory-store-memory-version.d.ts.map +1 -0
- package/dist/esm/managed/resources/memory-store-memory-version.js +28 -0
- package/dist/esm/managed/resources/memory-store-memory-version.js.map +1 -0
- package/dist/esm/managed/resources/memory-store-memory.d.ts +30 -0
- package/dist/esm/managed/resources/memory-store-memory.d.ts.map +1 -0
- package/dist/esm/managed/resources/memory-store-memory.js +42 -0
- package/dist/esm/managed/resources/memory-store-memory.js.map +1 -0
- package/dist/esm/managed/resources/memory-store.d.ts +38 -0
- package/dist/esm/managed/resources/memory-store.d.ts.map +1 -0
- package/dist/esm/managed/resources/memory-store.js +53 -0
- package/dist/esm/managed/resources/memory-store.js.map +1 -0
- package/dist/esm/managed/resources/model.d.ts +16 -0
- package/dist/esm/managed/resources/model.d.ts.map +1 -0
- package/dist/esm/managed/resources/model.js +17 -0
- package/dist/esm/managed/resources/model.js.map +1 -0
- package/dist/esm/managed/resources/session-event.d.ts +23 -0
- package/dist/esm/managed/resources/session-event.d.ts.map +1 -0
- package/dist/esm/managed/resources/session-event.js +30 -0
- package/dist/esm/managed/resources/session-event.js.map +1 -0
- package/dist/esm/managed/resources/session-resource.d.ts +30 -0
- package/dist/esm/managed/resources/session-resource.d.ts.map +1 -0
- package/dist/esm/managed/resources/session-resource.js +42 -0
- package/dist/esm/managed/resources/session-resource.js.map +1 -0
- package/dist/esm/managed/resources/session-thread-event.d.ts +19 -0
- package/dist/esm/managed/resources/session-thread-event.d.ts.map +1 -0
- package/dist/esm/managed/resources/session-thread-event.js +23 -0
- package/dist/esm/managed/resources/session-thread-event.js.map +1 -0
- package/dist/esm/managed/resources/session-thread.d.ts +24 -0
- package/dist/esm/managed/resources/session-thread.d.ts.map +1 -0
- package/dist/esm/managed/resources/session-thread.js +30 -0
- package/dist/esm/managed/resources/session-thread.js.map +1 -0
- package/dist/esm/managed/resources/session.d.ts +40 -0
- package/dist/esm/managed/resources/session.d.ts.map +1 -0
- package/dist/esm/managed/resources/session.js +55 -0
- package/dist/esm/managed/resources/session.js.map +1 -0
- package/dist/esm/managed/resources/skill-version.d.ts +30 -0
- package/dist/esm/managed/resources/skill-version.d.ts.map +1 -0
- package/dist/esm/managed/resources/skill-version.js +44 -0
- package/dist/esm/managed/resources/skill-version.js.map +1 -0
- package/dist/esm/managed/resources/skill.d.ts +28 -0
- package/dist/esm/managed/resources/skill.d.ts.map +1 -0
- package/dist/esm/managed/resources/skill.js +37 -0
- package/dist/esm/managed/resources/skill.js.map +1 -0
- package/dist/esm/managed/resources/vault-credential.d.ts +38 -0
- package/dist/esm/managed/resources/vault-credential.d.ts.map +1 -0
- package/dist/esm/managed/resources/vault-credential.js +56 -0
- package/dist/esm/managed/resources/vault-credential.js.map +1 -0
- package/dist/esm/managed/resources/vault.d.ts +32 -0
- package/dist/esm/managed/resources/vault.d.ts.map +1 -0
- package/dist/esm/managed/resources/vault.js +44 -0
- package/dist/esm/managed/resources/vault.js.map +1 -0
- package/dist/esm/managed/types.d.ts +10612 -0
- package/dist/esm/managed/types.d.ts.map +1 -0
- package/dist/esm/managed/types.js +3 -0
- package/dist/esm/managed/types.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/forward/_utils.d.ts +6 -0
- package/dist/forward/_utils.d.ts.map +1 -0
- package/dist/forward/_utils.js +35 -0
- package/dist/forward/_utils.js.map +1 -0
- package/dist/forward/batch-task.d.ts +15 -0
- package/dist/forward/batch-task.d.ts.map +1 -0
- package/dist/forward/batch-task.js +20 -0
- package/dist/forward/batch-task.js.map +1 -0
- package/dist/forward/batch.d.ts +53 -0
- package/dist/forward/batch.d.ts.map +1 -0
- package/dist/forward/batch.js +97 -0
- package/dist/forward/batch.js.map +1 -0
- package/dist/forward/channel-pairing.d.ts +22 -0
- package/dist/forward/channel-pairing.d.ts.map +1 -0
- package/dist/forward/channel-pairing.js +41 -0
- package/dist/forward/channel-pairing.js.map +1 -0
- package/dist/forward/channel-qr-session.d.ts +22 -0
- package/dist/forward/channel-qr-session.d.ts.map +1 -0
- package/dist/forward/channel-qr-session.js +40 -0
- package/dist/forward/channel-qr-session.js.map +1 -0
- package/dist/forward/channel.d.ts +46 -0
- package/dist/forward/channel.d.ts.map +1 -0
- package/dist/forward/channel.js +84 -0
- package/dist/forward/channel.js.map +1 -0
- package/dist/forward/environment.d.ts +51 -0
- package/dist/forward/environment.d.ts.map +1 -0
- package/dist/forward/environment.js +95 -0
- package/dist/forward/environment.js.map +1 -0
- package/dist/forward/file.d.ts +44 -0
- package/dist/forward/file.d.ts.map +1 -0
- package/dist/forward/file.js +77 -0
- package/dist/forward/file.js.map +1 -0
- package/dist/forward/forwardClient.d.ts +35 -0
- package/dist/forward/forwardClient.d.ts.map +1 -0
- package/dist/forward/forwardClient.js +41 -0
- package/dist/forward/forwardClient.js.map +1 -0
- package/dist/forward/identity-config.d.ts +37 -0
- package/dist/forward/identity-config.d.ts.map +1 -0
- package/dist/forward/identity-config.js +65 -0
- package/dist/forward/identity-config.js.map +1 -0
- package/dist/forward/identity-memory-store.d.ts +29 -0
- package/dist/forward/identity-memory-store.d.ts.map +1 -0
- package/dist/forward/identity-memory-store.js +53 -0
- package/dist/forward/identity-memory-store.js.map +1 -0
- package/dist/forward/identity.d.ts +90 -0
- package/dist/forward/identity.d.ts.map +1 -0
- package/dist/forward/identity.js +171 -0
- package/dist/forward/identity.js.map +1 -0
- package/dist/forward/index.d.ts +39 -0
- package/dist/forward/index.d.ts.map +1 -0
- package/dist/forward/index.js +86 -0
- package/dist/forward/index.js.map +1 -0
- package/dist/forward/memory-store-memory-version.d.ts +30 -0
- package/dist/forward/memory-store-memory-version.d.ts.map +1 -0
- package/dist/forward/memory-store-memory-version.js +48 -0
- package/dist/forward/memory-store-memory-version.js.map +1 -0
- package/dist/forward/memory-store-memory.d.ts +44 -0
- package/dist/forward/memory-store-memory.d.ts.map +1 -0
- package/dist/forward/memory-store-memory.js +78 -0
- package/dist/forward/memory-store-memory.js.map +1 -0
- package/dist/forward/memory-store.d.ts +55 -0
- package/dist/forward/memory-store.d.ts.map +1 -0
- package/dist/forward/memory-store.js +98 -0
- package/dist/forward/memory-store.js.map +1 -0
- package/dist/forward/model.d.ts +15 -0
- package/dist/forward/model.d.ts.map +1 -0
- package/dist/forward/model.js +23 -0
- package/dist/forward/model.js.map +1 -0
- package/dist/forward/schedule-run.d.ts +23 -0
- package/dist/forward/schedule-run.d.ts.map +1 -0
- package/dist/forward/schedule-run.js +35 -0
- package/dist/forward/schedule-run.js.map +1 -0
- package/dist/forward/schedule.d.ts +72 -0
- package/dist/forward/schedule.d.ts.map +1 -0
- package/dist/forward/schedule.js +149 -0
- package/dist/forward/schedule.js.map +1 -0
- package/dist/forward/session-event.d.ts +31 -0
- package/dist/forward/session-event.d.ts.map +1 -0
- package/dist/forward/session-event.js +55 -0
- package/dist/forward/session-event.js.map +1 -0
- package/dist/forward/session-resource.d.ts +15 -0
- package/dist/forward/session-resource.d.ts.map +1 -0
- package/dist/forward/session-resource.js +25 -0
- package/dist/forward/session-resource.js.map +1 -0
- package/dist/forward/session-thread-event.d.ts +24 -0
- package/dist/forward/session-thread-event.d.ts.map +1 -0
- package/dist/forward/session-thread-event.js +37 -0
- package/dist/forward/session-thread-event.js.map +1 -0
- package/dist/forward/session-thread.d.ts +32 -0
- package/dist/forward/session-thread.d.ts.map +1 -0
- package/dist/forward/session-thread.js +52 -0
- package/dist/forward/session-thread.js.map +1 -0
- package/dist/forward/session.d.ts +57 -0
- package/dist/forward/session.d.ts.map +1 -0
- package/dist/forward/session.js +106 -0
- package/dist/forward/session.js.map +1 -0
- package/dist/forward/skill-version.d.ts +44 -0
- package/dist/forward/skill-version.d.ts.map +1 -0
- package/dist/forward/skill-version.js +79 -0
- package/dist/forward/skill-version.js.map +1 -0
- package/dist/forward/skill.d.ts +46 -0
- package/dist/forward/skill.d.ts.map +1 -0
- package/dist/forward/skill.js +85 -0
- package/dist/forward/skill.js.map +1 -0
- package/dist/forward/template.d.ts +51 -0
- package/dist/forward/template.d.ts.map +1 -0
- package/dist/forward/template.js +101 -0
- package/dist/forward/template.js.map +1 -0
- package/dist/forward/types.d.ts +3153 -0
- package/dist/forward/types.d.ts.map +1 -0
- package/dist/forward/types.js +3 -0
- package/dist/forward/types.js.map +1 -0
- package/dist/forward/vault-credential.d.ts +37 -0
- package/dist/forward/vault-credential.d.ts.map +1 -0
- package/dist/forward/vault-credential.js +66 -0
- package/dist/forward/vault-credential.js.map +1 -0
- package/dist/forward/vault.d.ts +39 -0
- package/dist/forward/vault.d.ts.map +1 -0
- package/dist/forward/vault.js +68 -0
- package/dist/forward/vault.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -0
- package/dist/managed/client.d.ts +30 -0
- package/dist/managed/client.d.ts.map +1 -0
- package/dist/managed/client.js +33 -0
- package/dist/managed/client.js.map +1 -0
- package/dist/managed/index.d.ts +12 -0
- package/dist/managed/index.d.ts.map +1 -0
- package/dist/managed/index.js +34 -0
- package/dist/managed/index.js.map +1 -0
- package/dist/managed/internal.d.ts +11 -0
- package/dist/managed/internal.d.ts.map +1 -0
- package/dist/managed/internal.js +58 -0
- package/dist/managed/internal.js.map +1 -0
- package/dist/managed/managedClient.d.ts +3 -0
- package/dist/managed/managedClient.d.ts.map +1 -0
- package/dist/managed/managedClient.js +7 -0
- package/dist/managed/managedClient.js.map +1 -0
- package/dist/managed/resources/agent-version.d.ts +13 -0
- package/dist/managed/resources/agent-version.d.ts.map +1 -0
- package/dist/managed/resources/agent-version.js +18 -0
- package/dist/managed/resources/agent-version.js.map +1 -0
- package/dist/managed/resources/agent.d.ts +32 -0
- package/dist/managed/resources/agent.d.ts.map +1 -0
- package/dist/managed/resources/agent.js +48 -0
- package/dist/managed/resources/agent.js.map +1 -0
- package/dist/managed/resources/deployment-run.d.ts +18 -0
- package/dist/managed/resources/deployment-run.d.ts.map +1 -0
- package/dist/managed/resources/deployment-run.js +25 -0
- package/dist/managed/resources/deployment-run.js.map +1 -0
- package/dist/managed/resources/deployment.d.ts +42 -0
- package/dist/managed/resources/deployment.d.ts.map +1 -0
- package/dist/managed/resources/deployment.js +67 -0
- package/dist/managed/resources/deployment.js.map +1 -0
- package/dist/managed/resources/dream.d.ts +30 -0
- package/dist/managed/resources/dream.d.ts.map +1 -0
- package/dist/managed/resources/dream.js +46 -0
- package/dist/managed/resources/dream.js.map +1 -0
- package/dist/managed/resources/environment-work.d.ts +78 -0
- package/dist/managed/resources/environment-work.d.ts.map +1 -0
- package/dist/managed/resources/environment-work.js +103 -0
- package/dist/managed/resources/environment-work.js.map +1 -0
- package/dist/managed/resources/environment.d.ts +37 -0
- package/dist/managed/resources/environment.d.ts.map +1 -0
- package/dist/managed/resources/environment.js +56 -0
- package/dist/managed/resources/environment.js.map +1 -0
- package/dist/managed/resources/file.d.ts +30 -0
- package/dist/managed/resources/file.d.ts.map +1 -0
- package/dist/managed/resources/file.js +48 -0
- package/dist/managed/resources/file.js.map +1 -0
- package/dist/managed/resources/index.d.ts +22 -0
- package/dist/managed/resources/index.d.ts.map +1 -0
- package/dist/managed/resources/index.js +46 -0
- package/dist/managed/resources/index.js.map +1 -0
- package/dist/managed/resources/memory-store-memory-version.d.ts +22 -0
- package/dist/managed/resources/memory-store-memory-version.d.ts.map +1 -0
- package/dist/managed/resources/memory-store-memory-version.js +32 -0
- package/dist/managed/resources/memory-store-memory-version.js.map +1 -0
- package/dist/managed/resources/memory-store-memory.d.ts +30 -0
- package/dist/managed/resources/memory-store-memory.d.ts.map +1 -0
- package/dist/managed/resources/memory-store-memory.js +46 -0
- package/dist/managed/resources/memory-store-memory.js.map +1 -0
- package/dist/managed/resources/memory-store.d.ts +38 -0
- package/dist/managed/resources/memory-store.d.ts.map +1 -0
- package/dist/managed/resources/memory-store.js +57 -0
- package/dist/managed/resources/memory-store.js.map +1 -0
- package/dist/managed/resources/model.d.ts +16 -0
- package/dist/managed/resources/model.d.ts.map +1 -0
- package/dist/managed/resources/model.js +21 -0
- package/dist/managed/resources/model.js.map +1 -0
- package/dist/managed/resources/session-event.d.ts +23 -0
- package/dist/managed/resources/session-event.d.ts.map +1 -0
- package/dist/managed/resources/session-event.js +34 -0
- package/dist/managed/resources/session-event.js.map +1 -0
- package/dist/managed/resources/session-resource.d.ts +30 -0
- package/dist/managed/resources/session-resource.d.ts.map +1 -0
- package/dist/managed/resources/session-resource.js +46 -0
- package/dist/managed/resources/session-resource.js.map +1 -0
- package/dist/managed/resources/session-thread-event.d.ts +19 -0
- package/dist/managed/resources/session-thread-event.d.ts.map +1 -0
- package/dist/managed/resources/session-thread-event.js +27 -0
- package/dist/managed/resources/session-thread-event.js.map +1 -0
- package/dist/managed/resources/session-thread.d.ts +24 -0
- package/dist/managed/resources/session-thread.d.ts.map +1 -0
- package/dist/managed/resources/session-thread.js +34 -0
- package/dist/managed/resources/session-thread.js.map +1 -0
- package/dist/managed/resources/session.d.ts +40 -0
- package/dist/managed/resources/session.d.ts.map +1 -0
- package/dist/managed/resources/session.js +59 -0
- package/dist/managed/resources/session.js.map +1 -0
- package/dist/managed/resources/skill-version.d.ts +30 -0
- package/dist/managed/resources/skill-version.d.ts.map +1 -0
- package/dist/managed/resources/skill-version.js +48 -0
- package/dist/managed/resources/skill-version.js.map +1 -0
- package/dist/managed/resources/skill.d.ts +28 -0
- package/dist/managed/resources/skill.d.ts.map +1 -0
- package/dist/managed/resources/skill.js +41 -0
- package/dist/managed/resources/skill.js.map +1 -0
- package/dist/managed/resources/vault-credential.d.ts +38 -0
- package/dist/managed/resources/vault-credential.d.ts.map +1 -0
- package/dist/managed/resources/vault-credential.js +60 -0
- package/dist/managed/resources/vault-credential.js.map +1 -0
- package/dist/managed/resources/vault.d.ts +32 -0
- package/dist/managed/resources/vault.d.ts.map +1 -0
- package/dist/managed/resources/vault.js +48 -0
- package/dist/managed/resources/vault.js.map +1 -0
- package/dist/managed/types.d.ts +10612 -0
- package/dist/managed/types.d.ts.map +1 -0
- package/dist/managed/types.js +4 -0
- package/dist/managed/types.js.map +1 -0
- package/docs/forward-api.md +2346 -0
- package/docs/managed-api.md +2306 -0
- package/package.json +88 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Qoder
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Qoder Cloud Agents TypeScript SDK
|
|
2
|
+
|
|
3
|
+
The client is structured after `anthropic-sdk-typescript`. Its HTTP API surface and request protocol follow `qoder-cloud-agents-sdk-go`: **110** Forward operations and **95** Managed operations, **205** in total.
|
|
4
|
+
|
|
5
|
+
Requires Node.js 20.12 or later. Ships CommonJS, ES modules and strict TypeScript types, with no third-party runtime dependencies.
|
|
6
|
+
|
|
7
|
+
Full SDK API reference: [Forward API](docs/forward-api.md) (110 operations) and [Managed API](docs/managed-api.md) (95 operations), covering call examples, parameters, return types, pagination and error handling.
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
npm install qca-sdk
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { ForwardClient, ManagedClient, PATCredential } from 'qca-sdk';
|
|
15
|
+
|
|
16
|
+
const forward = new ForwardClient({ credential: PATCredential.fromEnv() });
|
|
17
|
+
const managed = new ManagedClient({ accessToken: process.env.QODER_ACCESS_TOKEN });
|
|
18
|
+
|
|
19
|
+
for await (const model of managed.models.list()) {
|
|
20
|
+
console.log(model.id);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const template = await forward.templates.create({ name: 'Support', model: 'ultimate', environment_id: 'env_id' });
|
|
24
|
+
console.log(template.id);
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The client exposes the same resource tree as the Go SDK. Go's `New` maps to `create` and `Get` maps to `retrieve`; all other methods use lowerCamelCase, so `Identities.Configs.Upsert` becomes `identities.configs.upsert`. Positional argument order is preserved, and path fields that live in a Go parameter object stay in the parameter object here. All request and response fields keep the snake_case naming used on the wire.
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
const agent = await managed.agents.retrieve('agent_id');
|
|
31
|
+
const version = await managed.skills.versions.retrieve('version_id', { skill_id: 'skill_id' });
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Each entry point can also be imported on its own — `qca-sdk/forward` and `qca-sdk/managed` — both providing a default client and named exports. The `*Api` and `*Raw` methods of the previous OpenAPI Generator output are gone, as are APIs outside the Go SDK surface such as Service Account Token, Managed Search and Webhook.
|
|
35
|
+
|
|
36
|
+
## Configuration and responses
|
|
37
|
+
|
|
38
|
+
The default credential environment variable is `QODER_ACCESS_TOKEN`. Forward reads `QODER_FORWARD_BASE_URL`, defaulting to `https://api.qoder.com/api/v1/forward`; Managed reads `QODER_BASE_URL`, defaulting to `https://api.qoder.com/api/v1/cloud`. Explicit constructor options take precedence.
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
const client = new ManagedClient({
|
|
42
|
+
accessToken: process.env.QODER_ACCESS_TOKEN,
|
|
43
|
+
baseURL: 'https://api.qoder.com/api/v1/cloud',
|
|
44
|
+
timeout: 30_000,
|
|
45
|
+
maxRetries: 2,
|
|
46
|
+
defaultHeaders: { 'X-Application': 'my-app' },
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
const { data, response, request_id } = await client.agents
|
|
50
|
+
.retrieve('agent_id', { signal: AbortSignal.timeout(5_000) })
|
|
51
|
+
.withResponse();
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`APIPromise` supports `await`, `.asResponse()` and `.withResponse()`. The latter two preserve the raw response; `.asResponse()` hands the body to the caller to read or discard. JSON decoding keeps unknown fields, and on the way out `undefined` is omitted while `null`, empty arrays, empty strings and `false` are sent as-is.
|
|
55
|
+
|
|
56
|
+
`APIError` carries `status`, `type`, `code`, `request_id`, `request`, `response` and the raw error payload. A `request_id` in the error body takes precedence over the response header. Network failures, request timeouts and caller-initiated cancellation surface as `APIConnectionError`, `APIConnectionTimeoutError` and `APIUserAbortError` respectively.
|
|
57
|
+
|
|
58
|
+
Requests are retried up to 2 times by default. Matching the Go SDK: GET/HEAD requests and replayable requests carrying an idempotency key retry on network errors and specific server errors; 429 also retries replayable writes; 409 is never retried. Every attempt re-resolves the credential and sends `X-Qoder-Retry-Count`, and the response `Retry-After` and `x-should-retry` headers feed into the decision. Set `maxRetries: 0` to disable retries.
|
|
59
|
+
|
|
60
|
+
## Pagination, streaming and files
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
// Auto-pagination — no need to await the page first.
|
|
64
|
+
for await (const agent of client.agents.list({ limit: 20 })) {
|
|
65
|
+
console.log(agent.id);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Or walk one page at a time.
|
|
69
|
+
const page = await client.agents.list({ limit: 20 });
|
|
70
|
+
if (page.hasNextPage()) console.log((await page.getNextPage())?.data);
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
The pagination style follows the corresponding Go method: ID cursors use `before_id`/`after_id`, opaque cursors use `next_page` → `page`. Auto-pagination carries filter parameters forward and rejects a cursor that fails to advance.
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
const stream = await forward.sessions.events.streamEvents('session_id', {
|
|
77
|
+
'event_deltas[]': ['agent.message'],
|
|
78
|
+
});
|
|
79
|
+
try {
|
|
80
|
+
for await (const event of stream) console.log(event);
|
|
81
|
+
} finally {
|
|
82
|
+
await stream.close();
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
The SSE reader preserves delta frames that share an ID as well as unknown event types, skips pings, terminates on `[DONE]`, and throws an `APIError` on error events. Read `stream.lastEventID` to get a reconnect cursor and pass it back as the `last_event_id` method parameter. The SDK does not reconnect and replay events on your behalf.
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
import { toFile } from 'qca-sdk';
|
|
90
|
+
|
|
91
|
+
const file = await forward.files.upload({
|
|
92
|
+
file: await toFile(new TextEncoder().encode('Hello'), 'hello.txt'),
|
|
93
|
+
purpose: 'session_input',
|
|
94
|
+
});
|
|
95
|
+
const download = await forward.files.download(file.id);
|
|
96
|
+
const bytes = await download.arrayBuffer();
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
`toFile` accepts Blob/File values, byte arrays, a `Response`, a `ReadableStream` and async iterables, including Node file streams. Skill uploads preserve the relative paths of the file tree and the repeated `files` field. Downloads first resolve a temporary link, then issue an isolated storage request that carries no API credential, default headers or middleware.
|
|
100
|
+
|
|
101
|
+
## Development and verification
|
|
102
|
+
|
|
103
|
+
```sh
|
|
104
|
+
npm ci
|
|
105
|
+
npm test
|
|
106
|
+
npm run typecheck
|
|
107
|
+
npm run test:scenarios
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
A live-scenario entry point equivalent to Go's `example -scenario all` is included. Install dependencies and run an initial build at the repository root, fill in `.env.live`, then run:
|
|
111
|
+
|
|
112
|
+
```sh
|
|
113
|
+
npm ci
|
|
114
|
+
npm run build
|
|
115
|
+
npm run example -- -mode both -scenario all -region international -model auto
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
`npm run example` rebuilds the SDK before every run, executes six Forward and six Managed real scenarios, and cleans up the resources it created. The default `-region cn` overrides the hostname from `.env.live`, so international accounts must pass `-region international` explicitly. The `all` example does not depend on the `LIVE_ALLOW_*` switches used by the migrated live tests. See [examples/README.md](examples/README.md) for single-scenario runs, credentials and JSON reports; results are written to `build/example-results/`.
|
|
119
|
+
|
|
120
|
+
The offline contracts for all 205 APIs, the 46 migrated live scenarios and the 12 example scenarios above are distinct layers of verification — the 12 examples do not mean all 205 remote operations were exercised individually. The API cross-reference lives in [Forward API inventory](src/forward/api-inventory.json) and [Managed API inventory](src/managed/api-inventory.json).
|
|
121
|
+
|
|
122
|
+
Resource code and types can be regenerated from a given Go checkout. The generator validates the API inventory and fails on any signature or type it cannot recognize:
|
|
123
|
+
|
|
124
|
+
```sh
|
|
125
|
+
python3 scripts/generate-forward.py ../qoder-cloud-agents-sdk-go
|
|
126
|
+
python3 scripts/generate-managed.py ../qoder-cloud-agents-sdk-go
|
|
127
|
+
npm test
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
The generator only touches `src/forward` and `src/managed`; the shared transport layer lives in `src/core`. The Go snapshots used by the tests are maintained separately, so a change to the API surface should be reviewed against both the contract diff and the test migration index.
|
|
131
|
+
|
|
132
|
+
## License
|
|
133
|
+
|
|
134
|
+
Released under the [MIT License](LICENSE).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** Response helpers follow anthropic-sdk-typescript's lazy parsing contract. */
|
|
2
|
+
export declare class APIPromise<T> extends Promise<T> {
|
|
3
|
+
private readonly responsePromise;
|
|
4
|
+
private readonly parseResponse;
|
|
5
|
+
private parsed?;
|
|
6
|
+
constructor(responsePromise: Promise<Response>, parseResponse: (response: Response) => T | PromiseLike<T>);
|
|
7
|
+
static get [Symbol.species](): PromiseConstructor;
|
|
8
|
+
asResponse(): Promise<Response>;
|
|
9
|
+
withResponse(): Promise<{
|
|
10
|
+
data: T;
|
|
11
|
+
response: Response;
|
|
12
|
+
request_id: string | null;
|
|
13
|
+
}>;
|
|
14
|
+
private parse;
|
|
15
|
+
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
|
|
16
|
+
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null): Promise<T | TResult>;
|
|
17
|
+
finally(onfinally?: (() => void) | null): Promise<T>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=api-promise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-promise.d.ts","sourceRoot":"","sources":["../../src/core/api-promise.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,qBAAa,UAAU,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IAIzC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJhC,OAAO,CAAC,MAAM,CAAC,CAAa;gBAGT,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,EAClC,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAO5E,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAoB;IACrE,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC;IAEzB,YAAY,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAKzF,OAAO,CAAC,KAAK;IAEJ,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAC1C,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,EACrE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GACtE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAEtB,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IAInH,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;CAC9D"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.APIPromise = void 0;
|
|
4
|
+
/** Response helpers follow anthropic-sdk-typescript's lazy parsing contract. */
|
|
5
|
+
class APIPromise extends Promise {
|
|
6
|
+
responsePromise;
|
|
7
|
+
parseResponse;
|
|
8
|
+
parsed;
|
|
9
|
+
constructor(responsePromise, parseResponse) {
|
|
10
|
+
super((resolve) => resolve(undefined));
|
|
11
|
+
this.responsePromise = responsePromise;
|
|
12
|
+
this.parseResponse = parseResponse;
|
|
13
|
+
// A request starts immediately; parsing (and its errors) stays lazy.
|
|
14
|
+
void responsePromise.catch(() => { });
|
|
15
|
+
}
|
|
16
|
+
static get [Symbol.species]() { return Promise; }
|
|
17
|
+
asResponse() { return this.responsePromise; }
|
|
18
|
+
async withResponse() {
|
|
19
|
+
const [data, response] = await Promise.all([this.parse(), this.asResponse()]);
|
|
20
|
+
return { data, response, request_id: response.headers.get('x-request-id') ?? response.headers.get('request-id') };
|
|
21
|
+
}
|
|
22
|
+
parse() { return this.parsed ??= this.responsePromise.then(this.parseResponse); }
|
|
23
|
+
then(onfulfilled, onrejected) { return this.parse().then(onfulfilled, onrejected); }
|
|
24
|
+
catch(onrejected) {
|
|
25
|
+
return this.parse().catch(onrejected);
|
|
26
|
+
}
|
|
27
|
+
finally(onfinally) { return this.parse().finally(onfinally); }
|
|
28
|
+
}
|
|
29
|
+
exports.APIPromise = APIPromise;
|
|
30
|
+
//# sourceMappingURL=api-promise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-promise.js","sourceRoot":"","sources":["../../src/core/api-promise.ts"],"names":[],"mappings":";;;AAAA,gFAAgF;AAChF,MAAa,UAAc,SAAQ,OAAU;IAIxB;IACA;IAJX,MAAM,CAAc;IAE5B,YACmB,eAAkC,EAClC,aAAyD;QAE1E,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAc,CAAC,CAAC,CAAC;QAH3B,oBAAe,GAAf,eAAe,CAAmB;QAClC,kBAAa,GAAb,aAAa,CAA4C;QAG1E,qEAAqE;QACrE,KAAK,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAyB,OAAO,OAAO,CAAC,CAAC,CAAC;IACrE,UAAU,KAAwB,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAEhE,KAAK,CAAC,YAAY;QAChB,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC9E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;IACpH,CAAC;IAEO,KAAK,KAAiB,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAE5F,IAAI,CACX,WAAqE,EACrE,UAAuE,IACvC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAE7E,KAAK,CAAkB,UAAqE;QACnG,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAEQ,OAAO,CAAC,SAA+B,IAAgB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAC1G;AAhCD,gCAgCC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { APIPromise } from './api-promise.js';
|
|
2
|
+
import { type Credential } from './credentials.js';
|
|
3
|
+
import { PagePromise, type PaginationMode } from './pagination.js';
|
|
4
|
+
export type HeadersLike = HeadersInit | Record<string, string | null | undefined>;
|
|
5
|
+
export type Middleware = (request: Request, next: (request: Request) => Promise<Response>) => Promise<Response>;
|
|
6
|
+
export interface ClientOptions {
|
|
7
|
+
accessToken?: string | (() => string | Promise<string>);
|
|
8
|
+
credential?: Credential;
|
|
9
|
+
baseURL?: string;
|
|
10
|
+
fetch?: typeof globalThis.fetch;
|
|
11
|
+
maxRetries?: number;
|
|
12
|
+
timeout?: number;
|
|
13
|
+
defaultHeaders?: HeadersLike;
|
|
14
|
+
defaultQuery?: Record<string, unknown>;
|
|
15
|
+
middleware?: Middleware[];
|
|
16
|
+
}
|
|
17
|
+
export interface RequestOptions {
|
|
18
|
+
headers?: HeadersLike;
|
|
19
|
+
query?: object;
|
|
20
|
+
body?: unknown;
|
|
21
|
+
signal?: AbortSignal | null;
|
|
22
|
+
timeout?: number;
|
|
23
|
+
maxRetries?: number;
|
|
24
|
+
idempotencyKey?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface APIRequestOptions extends RequestOptions {
|
|
27
|
+
method: string;
|
|
28
|
+
path: string;
|
|
29
|
+
responseType?: 'json' | 'stream' | 'binary' | 'response' | 'void';
|
|
30
|
+
}
|
|
31
|
+
export declare function mergeHeaders(...sources: (HeadersLike | undefined)[]): Headers;
|
|
32
|
+
export declare function stringifyQuery(query: object, arrayFormat?: 'repeat' | 'brackets'): string;
|
|
33
|
+
export declare class APIClient {
|
|
34
|
+
readonly mode: 'forward' | 'managed';
|
|
35
|
+
readonly baseURL: string;
|
|
36
|
+
readonly maxRetries: number;
|
|
37
|
+
readonly timeout: number;
|
|
38
|
+
protected readonly options: ClientOptions;
|
|
39
|
+
private readonly fetchImpl;
|
|
40
|
+
private readonly controllers;
|
|
41
|
+
constructor(options?: ClientOptions, mode?: 'forward' | 'managed');
|
|
42
|
+
private validateOptions;
|
|
43
|
+
request<T>(options: APIRequestOptions): APIPromise<T>;
|
|
44
|
+
getAPIList<T>(path: string, query?: object, options?: RequestOptions, pagination?: PaginationMode): PagePromise<T>;
|
|
45
|
+
/** Resolve the API grant, then send a separate request without API credentials or headers. */
|
|
46
|
+
downloadFile(path: string, options?: RequestOptions): APIPromise<Response>;
|
|
47
|
+
private retryable;
|
|
48
|
+
private retryDelay;
|
|
49
|
+
private execute;
|
|
50
|
+
private wrapResponse;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.APIClient = void 0;
|
|
4
|
+
exports.mergeHeaders = mergeHeaders;
|
|
5
|
+
exports.stringifyQuery = stringifyQuery;
|
|
6
|
+
const api_promise_js_1 = require("./api-promise.js");
|
|
7
|
+
const credentials_js_1 = require("./credentials.js");
|
|
8
|
+
const error_js_1 = require("./error.js");
|
|
9
|
+
const pagination_js_1 = require("./pagination.js");
|
|
10
|
+
const streaming_js_1 = require("./streaming.js");
|
|
11
|
+
function mergeHeaders(...sources) {
|
|
12
|
+
const headers = new Headers();
|
|
13
|
+
for (const source of sources) {
|
|
14
|
+
if (!source)
|
|
15
|
+
continue;
|
|
16
|
+
if (source instanceof Headers || Array.isArray(source)) {
|
|
17
|
+
new Headers(source).forEach((value, key) => headers.set(key, value));
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
for (const [key, value] of Object.entries(source)) {
|
|
21
|
+
if (value === null)
|
|
22
|
+
headers.delete(key);
|
|
23
|
+
else if (value !== undefined)
|
|
24
|
+
headers.set(key, value);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return headers;
|
|
29
|
+
}
|
|
30
|
+
function stringifyQuery(query, arrayFormat = 'repeat') {
|
|
31
|
+
const params = new URLSearchParams();
|
|
32
|
+
const append = (key, value) => {
|
|
33
|
+
if (value === undefined || value === null)
|
|
34
|
+
return;
|
|
35
|
+
if (Array.isArray(value)) {
|
|
36
|
+
for (const item of value)
|
|
37
|
+
append(arrayFormat === 'brackets' && !key.endsWith('[]') ? `${key}[]` : key, item);
|
|
38
|
+
}
|
|
39
|
+
else if (value instanceof Date)
|
|
40
|
+
params.append(key, value.toISOString());
|
|
41
|
+
else if (typeof value === 'object') {
|
|
42
|
+
for (const [name, child] of Object.entries(value))
|
|
43
|
+
append(`${key}[${name}]`, child);
|
|
44
|
+
}
|
|
45
|
+
else
|
|
46
|
+
params.append(key, String(value));
|
|
47
|
+
};
|
|
48
|
+
for (const [key, value] of Object.entries(query))
|
|
49
|
+
append(key, value);
|
|
50
|
+
return params.toString();
|
|
51
|
+
}
|
|
52
|
+
function abortError(signal, timedOut) {
|
|
53
|
+
return timedOut ? new error_js_1.APIConnectionTimeoutError('Request timed out', { cause: signal.reason })
|
|
54
|
+
: new error_js_1.APIUserAbortError('Request was aborted', { cause: signal.reason });
|
|
55
|
+
}
|
|
56
|
+
async function withSignal(promise, signal, timedOut) {
|
|
57
|
+
if (signal.aborted) {
|
|
58
|
+
void Promise.resolve(promise).catch(() => { });
|
|
59
|
+
throw abortError(signal, timedOut());
|
|
60
|
+
}
|
|
61
|
+
return new Promise((resolve, reject) => {
|
|
62
|
+
const abort = () => reject(abortError(signal, timedOut()));
|
|
63
|
+
signal.addEventListener('abort', abort, { once: true });
|
|
64
|
+
Promise.resolve(promise).then(resolve, reject).finally(() => signal.removeEventListener('abort', abort));
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
async function wait(ms, signal, timedOut) {
|
|
68
|
+
let timer;
|
|
69
|
+
try {
|
|
70
|
+
await withSignal(new Promise((resolve) => { timer = setTimeout(resolve, ms); }), signal, timedOut);
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
clearTimeout(timer);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
class APIClient {
|
|
77
|
+
mode;
|
|
78
|
+
baseURL;
|
|
79
|
+
maxRetries;
|
|
80
|
+
timeout;
|
|
81
|
+
options;
|
|
82
|
+
fetchImpl;
|
|
83
|
+
controllers = new WeakMap();
|
|
84
|
+
constructor(options = {}, mode = 'managed') {
|
|
85
|
+
this.mode = mode;
|
|
86
|
+
this.options = { ...options };
|
|
87
|
+
this.baseURL = (options.baseURL ?? (0, credentials_js_1.readEnv)(mode === 'forward' ? 'QODER_FORWARD_BASE_URL' : 'QODER_BASE_URL')
|
|
88
|
+
?? `https://api.qoder.com/api/v1/${mode === 'forward' ? 'forward' : 'cloud'}`).replace(/\/+$/, '');
|
|
89
|
+
const url = new URL(this.baseURL);
|
|
90
|
+
if (!['http:', 'https:'].includes(url.protocol) || url.username || url.password)
|
|
91
|
+
throw new error_js_1.QoderError('Invalid baseURL');
|
|
92
|
+
this.maxRetries = options.maxRetries ?? 2;
|
|
93
|
+
this.timeout = options.timeout ?? 600_000;
|
|
94
|
+
this.validateOptions(this.maxRetries, this.timeout);
|
|
95
|
+
this.fetchImpl = options.fetch ?? globalThis.fetch;
|
|
96
|
+
if (!this.fetchImpl)
|
|
97
|
+
throw new error_js_1.QoderError('A fetch implementation is required');
|
|
98
|
+
}
|
|
99
|
+
validateOptions(retries, timeout) {
|
|
100
|
+
if (!Number.isInteger(retries) || retries < 0)
|
|
101
|
+
throw new error_js_1.QoderError('maxRetries must be a non-negative integer');
|
|
102
|
+
if (!Number.isFinite(timeout) || timeout < 0)
|
|
103
|
+
throw new error_js_1.QoderError('timeout must be a non-negative number');
|
|
104
|
+
}
|
|
105
|
+
request(options) {
|
|
106
|
+
return new api_promise_js_1.APIPromise(this.execute(options), async (response) => {
|
|
107
|
+
if (options.responseType === 'response' || options.responseType === 'binary')
|
|
108
|
+
return response;
|
|
109
|
+
if (options.responseType === 'stream')
|
|
110
|
+
return new streaming_js_1.Stream(response, this.controllers.get(response));
|
|
111
|
+
if (options.responseType === 'void' || response.status === 204 || response.status === 205) {
|
|
112
|
+
await response.body?.cancel();
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
return await response.json();
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
getAPIList(path, query = {}, options = {}, pagination = this.mode === 'forward' ? 'cursor' : 'page') {
|
|
119
|
+
const merged = { ...this.options.defaultQuery, ...query, ...options.query };
|
|
120
|
+
return new pagination_js_1.PagePromise(this.execute({ ...options, method: 'GET', path, query: merged }), async (response) => new pagination_js_1.Page(this, response, await response.json(), path, merged, { ...options, query: undefined }, pagination));
|
|
121
|
+
}
|
|
122
|
+
/** Resolve the API grant, then send a separate request without API credentials or headers. */
|
|
123
|
+
downloadFile(path, options = {}) {
|
|
124
|
+
const response = (async () => {
|
|
125
|
+
const link = await this.request({ ...options, method: 'GET', path, responseType: 'json' });
|
|
126
|
+
const url = new URL(link.url);
|
|
127
|
+
if (!['http:', 'https:'].includes(url.protocol) || url.username || url.password)
|
|
128
|
+
throw new error_js_1.QoderError('Invalid file content link');
|
|
129
|
+
return this.execute({ method: 'GET', path: url.href, timeout: options.timeout, maxRetries: options.maxRetries, signal: options.signal, responseType: 'response' }, true);
|
|
130
|
+
})();
|
|
131
|
+
return new api_promise_js_1.APIPromise(response, (value) => value);
|
|
132
|
+
}
|
|
133
|
+
retryable(method, headers, replayable, response) {
|
|
134
|
+
if (!replayable)
|
|
135
|
+
return false;
|
|
136
|
+
const safe = ['GET', 'HEAD'].includes(method) || !!headers.get('idempotency-key');
|
|
137
|
+
if (!response)
|
|
138
|
+
return safe;
|
|
139
|
+
if (response.status === 409 || (!safe && response.status !== 429))
|
|
140
|
+
return false;
|
|
141
|
+
if (response.headers.get('x-should-retry') === 'false')
|
|
142
|
+
return false;
|
|
143
|
+
if (response.headers.get('x-should-retry') === 'true')
|
|
144
|
+
return true;
|
|
145
|
+
return response.status === 429 || response.status === 408 || response.status >= 500;
|
|
146
|
+
}
|
|
147
|
+
retryDelay(response, attempt) {
|
|
148
|
+
if (response) {
|
|
149
|
+
const ms = response.headers.get('retry-after-ms');
|
|
150
|
+
if (ms !== null && Number.isFinite(Number(ms)) && Number(ms) >= 0)
|
|
151
|
+
return Number(ms);
|
|
152
|
+
const after = response.headers.get('retry-after');
|
|
153
|
+
if (after) {
|
|
154
|
+
const seconds = Number(after);
|
|
155
|
+
const delay = Number.isFinite(seconds) ? seconds * 1000 : Date.parse(after) - Date.now();
|
|
156
|
+
if (Number.isFinite(delay) && delay >= 0)
|
|
157
|
+
return delay;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return Math.min(500 * 2 ** attempt, 8000) * (1 - Math.random() * 0.25);
|
|
161
|
+
}
|
|
162
|
+
async execute(options, storage = false) {
|
|
163
|
+
const retries = options.maxRetries ?? this.maxRetries;
|
|
164
|
+
const timeout = options.timeout ?? this.timeout;
|
|
165
|
+
this.validateOptions(retries, timeout);
|
|
166
|
+
const callerSignal = options.signal ?? new AbortController().signal;
|
|
167
|
+
if (callerSignal.aborted)
|
|
168
|
+
throw abortError(callerSignal, false);
|
|
169
|
+
const url = storage ? new URL(options.path) : new URL(`${this.baseURL}/${options.path.replace(/^\/+/, '')}`);
|
|
170
|
+
if (!storage) {
|
|
171
|
+
const query = stringifyQuery({ ...this.options.defaultQuery, ...options.query }, this.mode === 'managed' ? 'brackets' : 'repeat');
|
|
172
|
+
if (query)
|
|
173
|
+
url.search += `${url.search ? '&' : ''}${query}`;
|
|
174
|
+
}
|
|
175
|
+
const method = options.method.toUpperCase();
|
|
176
|
+
const value = await withSignal(Promise.resolve(options.body), callerSignal, () => false);
|
|
177
|
+
const headers = storage ? new Headers() : mergeHeaders({ Accept: options.responseType === 'stream' ? 'text/event-stream' : 'application/json' }, this.options.defaultHeaders, options.headers);
|
|
178
|
+
if (options.idempotencyKey !== undefined)
|
|
179
|
+
headers.set('Idempotency-Key', options.idempotencyKey);
|
|
180
|
+
let body;
|
|
181
|
+
if (value !== undefined) {
|
|
182
|
+
if (value instanceof FormData) {
|
|
183
|
+
body = value;
|
|
184
|
+
headers.delete('content-type');
|
|
185
|
+
}
|
|
186
|
+
else if (typeof value === 'string' || value instanceof Blob || value instanceof ArrayBuffer || value instanceof Uint8Array || value instanceof URLSearchParams || value instanceof ReadableStream)
|
|
187
|
+
body = value;
|
|
188
|
+
else {
|
|
189
|
+
body = JSON.stringify(value);
|
|
190
|
+
if (!headers.has('content-type'))
|
|
191
|
+
headers.set('Content-Type', 'application/json');
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
const replayable = !(body instanceof ReadableStream);
|
|
195
|
+
for (let attempt = 0;; attempt++) {
|
|
196
|
+
const controller = new AbortController();
|
|
197
|
+
let timedOut = false;
|
|
198
|
+
const onAbort = () => controller.abort(callerSignal.reason);
|
|
199
|
+
if (callerSignal.aborted)
|
|
200
|
+
onAbort();
|
|
201
|
+
else
|
|
202
|
+
callerSignal.addEventListener('abort', onAbort, { once: true });
|
|
203
|
+
const timer = timeout ? setTimeout(() => { timedOut = true; controller.abort(); }, timeout) : undefined;
|
|
204
|
+
const cleanup = () => { clearTimeout(timer); callerSignal.removeEventListener('abort', onAbort); };
|
|
205
|
+
const signal = controller.signal;
|
|
206
|
+
let handedOff = false;
|
|
207
|
+
let retryDelay;
|
|
208
|
+
try {
|
|
209
|
+
if (signal.aborted)
|
|
210
|
+
throw abortError(signal, timedOut);
|
|
211
|
+
const attemptHeaders = new Headers(headers);
|
|
212
|
+
if (!storage) {
|
|
213
|
+
attemptHeaders.set('X-Qoder-Retry-Count', String(attempt));
|
|
214
|
+
if (!attemptHeaders.has('authorization')) {
|
|
215
|
+
const credential = this.options.credential;
|
|
216
|
+
const configured = this.options.accessToken;
|
|
217
|
+
const token = await withSignal(Promise.resolve(credential ? credential.getToken() : typeof configured === 'function' ? configured() : configured ?? (0, credentials_js_1.readEnv)('QODER_ACCESS_TOKEN')), signal, () => timedOut);
|
|
218
|
+
if (token)
|
|
219
|
+
attemptHeaders.set('Authorization', `Bearer ${token}`);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
let response;
|
|
223
|
+
try {
|
|
224
|
+
const init = { method, headers: attemptHeaders, body, signal, redirect: storage ? 'follow' : 'error' };
|
|
225
|
+
if (body instanceof ReadableStream)
|
|
226
|
+
init.duplex = 'half';
|
|
227
|
+
const middleware = storage ? [] : this.options.middleware ?? [];
|
|
228
|
+
let fetchPromise;
|
|
229
|
+
if (middleware.length) {
|
|
230
|
+
const next = middleware.reduceRight((next, handler) => request => handler(request, next), request => this.fetchImpl.call(undefined, request));
|
|
231
|
+
fetchPromise = next(new Request(url, init));
|
|
232
|
+
}
|
|
233
|
+
else
|
|
234
|
+
fetchPromise = this.fetchImpl.call(undefined, url.toString(), init);
|
|
235
|
+
response = await withSignal(fetchPromise, signal, () => timedOut);
|
|
236
|
+
if (!(response instanceof Response))
|
|
237
|
+
throw new Error('fetch returned no Response');
|
|
238
|
+
}
|
|
239
|
+
catch (error) {
|
|
240
|
+
if (callerSignal.aborted)
|
|
241
|
+
throw abortError(callerSignal, false);
|
|
242
|
+
if (attempt < retries && this.retryable(method, attemptHeaders, replayable)) {
|
|
243
|
+
retryDelay = this.retryDelay(undefined, attempt);
|
|
244
|
+
continue;
|
|
245
|
+
}
|
|
246
|
+
if (timedOut)
|
|
247
|
+
throw abortError(signal, true);
|
|
248
|
+
throw new error_js_1.APIConnectionError('Connection error', { cause: error });
|
|
249
|
+
}
|
|
250
|
+
if (!response.ok) {
|
|
251
|
+
if (attempt < retries && this.retryable(method, attemptHeaders, replayable, response)) {
|
|
252
|
+
retryDelay = this.retryDelay(response, attempt);
|
|
253
|
+
await response.body?.cancel();
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
const raw = await withSignal(response.text(), signal, () => timedOut);
|
|
257
|
+
let error = raw;
|
|
258
|
+
try {
|
|
259
|
+
error = JSON.parse(raw);
|
|
260
|
+
}
|
|
261
|
+
catch { /* Preserve gateway text. */ }
|
|
262
|
+
const retained = new Response(raw, { status: response.status, statusText: response.statusText, headers: response.headers });
|
|
263
|
+
const failure = error_js_1.APIError.generate(response.status, error, undefined, response.headers, retained);
|
|
264
|
+
failure.request = new Request(url, { method, headers: attemptHeaders });
|
|
265
|
+
throw failure;
|
|
266
|
+
}
|
|
267
|
+
const wrapped = this.wrapResponse(response, controller, cleanup, () => timedOut);
|
|
268
|
+
this.controllers.set(wrapped, controller);
|
|
269
|
+
handedOff = true;
|
|
270
|
+
return wrapped;
|
|
271
|
+
}
|
|
272
|
+
finally {
|
|
273
|
+
if (!handedOff)
|
|
274
|
+
cleanup();
|
|
275
|
+
if (retryDelay !== undefined)
|
|
276
|
+
await wait(retryDelay, callerSignal, () => false);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
wrapResponse(response, controller, cleanup, timedOut) {
|
|
281
|
+
if (!response.body) {
|
|
282
|
+
cleanup();
|
|
283
|
+
return response;
|
|
284
|
+
}
|
|
285
|
+
const reader = response.body.getReader();
|
|
286
|
+
const body = new ReadableStream({
|
|
287
|
+
async pull(target) {
|
|
288
|
+
try {
|
|
289
|
+
const result = await withSignal(reader.read(), controller.signal, timedOut);
|
|
290
|
+
if (result.done) {
|
|
291
|
+
cleanup();
|
|
292
|
+
reader.releaseLock();
|
|
293
|
+
target.close();
|
|
294
|
+
}
|
|
295
|
+
else
|
|
296
|
+
target.enqueue(result.value);
|
|
297
|
+
}
|
|
298
|
+
catch (error) {
|
|
299
|
+
cleanup();
|
|
300
|
+
await reader.cancel().catch(() => { });
|
|
301
|
+
target.error(error);
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
async cancel(reason) { cleanup(); await reader.cancel(reason); },
|
|
305
|
+
}, { highWaterMark: 0 });
|
|
306
|
+
const result = new Response(body, { status: response.status, statusText: response.statusText, headers: response.headers });
|
|
307
|
+
Object.defineProperty(result, 'url', { value: response.url });
|
|
308
|
+
return result;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
exports.APIClient = APIClient;
|
|
312
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface Credential {
|
|
2
|
+
getToken(): string | Promise<string>;
|
|
3
|
+
}
|
|
4
|
+
export declare function readEnv(name: string): string | undefined;
|
|
5
|
+
export declare class PATCredential implements Credential {
|
|
6
|
+
private readonly token;
|
|
7
|
+
constructor(token: string);
|
|
8
|
+
static fromEnv(name?: string): PATCredential;
|
|
9
|
+
getToken(): string;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/core/credentials.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,QAAQ,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAExD;AAED,qBAAa,aAAc,YAAW,UAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAI1C,MAAM,CAAC,OAAO,CAAC,IAAI,SAAuB,GAAG,aAAa;IAI1D,QAAQ,IAAI,MAAM;CACnB"}
|