qca-sdk 0.0.1-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 +311 -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 +14 -0
- package/dist/esm/forward/batch-task.d.ts.map +1 -0
- package/dist/esm/forward/batch-task.js +15 -0
- package/dist/esm/forward/batch-task.js.map +1 -0
- package/dist/esm/forward/batch.d.ts +47 -0
- package/dist/esm/forward/batch.d.ts.map +1 -0
- package/dist/esm/forward/batch.js +87 -0
- package/dist/esm/forward/batch.js.map +1 -0
- package/dist/esm/forward/channel-pairing.d.ts +20 -0
- package/dist/esm/forward/channel-pairing.d.ts.map +1 -0
- package/dist/esm/forward/channel-pairing.js +35 -0
- package/dist/esm/forward/channel-pairing.js.map +1 -0
- package/dist/esm/forward/channel-qr-session.d.ts +20 -0
- package/dist/esm/forward/channel-qr-session.d.ts.map +1 -0
- package/dist/esm/forward/channel-qr-session.js +34 -0
- package/dist/esm/forward/channel-qr-session.js.map +1 -0
- package/dist/esm/forward/channel.d.ts +41 -0
- package/dist/esm/forward/channel.d.ts.map +1 -0
- package/dist/esm/forward/channel.js +75 -0
- package/dist/esm/forward/channel.js.map +1 -0
- package/dist/esm/forward/environment.d.ts +45 -0
- package/dist/esm/forward/environment.d.ts.map +1 -0
- package/dist/esm/forward/environment.js +85 -0
- package/dist/esm/forward/environment.js.map +1 -0
- package/dist/esm/forward/file.d.ts +39 -0
- package/dist/esm/forward/file.d.ts.map +1 -0
- package/dist/esm/forward/file.js +68 -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 +33 -0
- package/dist/esm/forward/identity-config.d.ts.map +1 -0
- package/dist/esm/forward/identity-config.js +57 -0
- package/dist/esm/forward/identity-config.js.map +1 -0
- package/dist/esm/forward/identity-memory-store.d.ts +26 -0
- package/dist/esm/forward/identity-memory-store.d.ts.map +1 -0
- package/dist/esm/forward/identity-memory-store.js +46 -0
- package/dist/esm/forward/identity-memory-store.js.map +1 -0
- package/dist/esm/forward/identity.d.ts +79 -0
- package/dist/esm/forward/identity.d.ts.map +1 -0
- package/dist/esm/forward/identity.js +156 -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 +27 -0
- package/dist/esm/forward/memory-store-memory-version.d.ts.map +1 -0
- package/dist/esm/forward/memory-store-memory-version.js +41 -0
- package/dist/esm/forward/memory-store-memory-version.js.map +1 -0
- package/dist/esm/forward/memory-store-memory.d.ts +39 -0
- package/dist/esm/forward/memory-store-memory.d.ts.map +1 -0
- package/dist/esm/forward/memory-store-memory.js +69 -0
- package/dist/esm/forward/memory-store-memory.js.map +1 -0
- package/dist/esm/forward/memory-store.d.ts +49 -0
- package/dist/esm/forward/memory-store.d.ts.map +1 -0
- package/dist/esm/forward/memory-store.js +88 -0
- package/dist/esm/forward/memory-store.js.map +1 -0
- package/dist/esm/forward/model.d.ts +14 -0
- package/dist/esm/forward/model.d.ts.map +1 -0
- package/dist/esm/forward/model.js +18 -0
- package/dist/esm/forward/model.js.map +1 -0
- package/dist/esm/forward/schedule-run.d.ts +21 -0
- package/dist/esm/forward/schedule-run.d.ts.map +1 -0
- package/dist/esm/forward/schedule-run.js +29 -0
- package/dist/esm/forward/schedule-run.js.map +1 -0
- package/dist/esm/forward/schedule.d.ts +63 -0
- package/dist/esm/forward/schedule.d.ts.map +1 -0
- package/dist/esm/forward/schedule.js +136 -0
- package/dist/esm/forward/schedule.js.map +1 -0
- package/dist/esm/forward/session-event.d.ts +28 -0
- package/dist/esm/forward/session-event.d.ts.map +1 -0
- package/dist/esm/forward/session-event.js +48 -0
- package/dist/esm/forward/session-event.js.map +1 -0
- package/dist/esm/forward/session-resource.d.ts +14 -0
- package/dist/esm/forward/session-resource.d.ts.map +1 -0
- package/dist/esm/forward/session-resource.js +20 -0
- package/dist/esm/forward/session-resource.js.map +1 -0
- package/dist/esm/forward/session-thread-event.d.ts +22 -0
- package/dist/esm/forward/session-thread-event.d.ts.map +1 -0
- package/dist/esm/forward/session-thread-event.js +31 -0
- package/dist/esm/forward/session-thread-event.js.map +1 -0
- package/dist/esm/forward/session-thread.d.ts +29 -0
- package/dist/esm/forward/session-thread.d.ts.map +1 -0
- package/dist/esm/forward/session-thread.js +45 -0
- package/dist/esm/forward/session-thread.js.map +1 -0
- package/dist/esm/forward/session.d.ts +51 -0
- package/dist/esm/forward/session.d.ts.map +1 -0
- package/dist/esm/forward/session.js +96 -0
- package/dist/esm/forward/session.js.map +1 -0
- package/dist/esm/forward/skill-version.d.ts +39 -0
- package/dist/esm/forward/skill-version.d.ts.map +1 -0
- package/dist/esm/forward/skill-version.js +70 -0
- package/dist/esm/forward/skill-version.js.map +1 -0
- package/dist/esm/forward/skill.d.ts +41 -0
- package/dist/esm/forward/skill.d.ts.map +1 -0
- package/dist/esm/forward/skill.js +76 -0
- package/dist/esm/forward/skill.js.map +1 -0
- package/dist/esm/forward/template.d.ts +45 -0
- package/dist/esm/forward/template.d.ts.map +1 -0
- package/dist/esm/forward/template.js +91 -0
- package/dist/esm/forward/template.js.map +1 -0
- package/dist/esm/forward/types.d.ts +2972 -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 +33 -0
- package/dist/esm/forward/vault-credential.d.ts.map +1 -0
- package/dist/esm/forward/vault-credential.js +58 -0
- package/dist/esm/forward/vault-credential.js.map +1 -0
- package/dist/esm/forward/vault.d.ts +35 -0
- package/dist/esm/forward/vault.d.ts.map +1 -0
- package/dist/esm/forward/vault.js +60 -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 +14 -0
- package/dist/forward/batch-task.d.ts.map +1 -0
- package/dist/forward/batch-task.js +19 -0
- package/dist/forward/batch-task.js.map +1 -0
- package/dist/forward/batch.d.ts +47 -0
- package/dist/forward/batch.d.ts.map +1 -0
- package/dist/forward/batch.js +91 -0
- package/dist/forward/batch.js.map +1 -0
- package/dist/forward/channel-pairing.d.ts +20 -0
- package/dist/forward/channel-pairing.d.ts.map +1 -0
- package/dist/forward/channel-pairing.js +39 -0
- package/dist/forward/channel-pairing.js.map +1 -0
- package/dist/forward/channel-qr-session.d.ts +20 -0
- package/dist/forward/channel-qr-session.d.ts.map +1 -0
- package/dist/forward/channel-qr-session.js +38 -0
- package/dist/forward/channel-qr-session.js.map +1 -0
- package/dist/forward/channel.d.ts +41 -0
- package/dist/forward/channel.d.ts.map +1 -0
- package/dist/forward/channel.js +79 -0
- package/dist/forward/channel.js.map +1 -0
- package/dist/forward/environment.d.ts +45 -0
- package/dist/forward/environment.d.ts.map +1 -0
- package/dist/forward/environment.js +89 -0
- package/dist/forward/environment.js.map +1 -0
- package/dist/forward/file.d.ts +39 -0
- package/dist/forward/file.d.ts.map +1 -0
- package/dist/forward/file.js +72 -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 +33 -0
- package/dist/forward/identity-config.d.ts.map +1 -0
- package/dist/forward/identity-config.js +61 -0
- package/dist/forward/identity-config.js.map +1 -0
- package/dist/forward/identity-memory-store.d.ts +26 -0
- package/dist/forward/identity-memory-store.d.ts.map +1 -0
- package/dist/forward/identity-memory-store.js +50 -0
- package/dist/forward/identity-memory-store.js.map +1 -0
- package/dist/forward/identity.d.ts +79 -0
- package/dist/forward/identity.d.ts.map +1 -0
- package/dist/forward/identity.js +160 -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 +27 -0
- package/dist/forward/memory-store-memory-version.d.ts.map +1 -0
- package/dist/forward/memory-store-memory-version.js +45 -0
- package/dist/forward/memory-store-memory-version.js.map +1 -0
- package/dist/forward/memory-store-memory.d.ts +39 -0
- package/dist/forward/memory-store-memory.d.ts.map +1 -0
- package/dist/forward/memory-store-memory.js +73 -0
- package/dist/forward/memory-store-memory.js.map +1 -0
- package/dist/forward/memory-store.d.ts +49 -0
- package/dist/forward/memory-store.d.ts.map +1 -0
- package/dist/forward/memory-store.js +92 -0
- package/dist/forward/memory-store.js.map +1 -0
- package/dist/forward/model.d.ts +14 -0
- package/dist/forward/model.d.ts.map +1 -0
- package/dist/forward/model.js +22 -0
- package/dist/forward/model.js.map +1 -0
- package/dist/forward/schedule-run.d.ts +21 -0
- package/dist/forward/schedule-run.d.ts.map +1 -0
- package/dist/forward/schedule-run.js +33 -0
- package/dist/forward/schedule-run.js.map +1 -0
- package/dist/forward/schedule.d.ts +63 -0
- package/dist/forward/schedule.d.ts.map +1 -0
- package/dist/forward/schedule.js +140 -0
- package/dist/forward/schedule.js.map +1 -0
- package/dist/forward/session-event.d.ts +28 -0
- package/dist/forward/session-event.d.ts.map +1 -0
- package/dist/forward/session-event.js +52 -0
- package/dist/forward/session-event.js.map +1 -0
- package/dist/forward/session-resource.d.ts +14 -0
- package/dist/forward/session-resource.d.ts.map +1 -0
- package/dist/forward/session-resource.js +24 -0
- package/dist/forward/session-resource.js.map +1 -0
- package/dist/forward/session-thread-event.d.ts +22 -0
- package/dist/forward/session-thread-event.d.ts.map +1 -0
- package/dist/forward/session-thread-event.js +35 -0
- package/dist/forward/session-thread-event.js.map +1 -0
- package/dist/forward/session-thread.d.ts +29 -0
- package/dist/forward/session-thread.d.ts.map +1 -0
- package/dist/forward/session-thread.js +49 -0
- package/dist/forward/session-thread.js.map +1 -0
- package/dist/forward/session.d.ts +51 -0
- package/dist/forward/session.d.ts.map +1 -0
- package/dist/forward/session.js +100 -0
- package/dist/forward/session.js.map +1 -0
- package/dist/forward/skill-version.d.ts +39 -0
- package/dist/forward/skill-version.d.ts.map +1 -0
- package/dist/forward/skill-version.js +74 -0
- package/dist/forward/skill-version.js.map +1 -0
- package/dist/forward/skill.d.ts +41 -0
- package/dist/forward/skill.d.ts.map +1 -0
- package/dist/forward/skill.js +80 -0
- package/dist/forward/skill.js.map +1 -0
- package/dist/forward/template.d.ts +45 -0
- package/dist/forward/template.d.ts.map +1 -0
- package/dist/forward/template.js +95 -0
- package/dist/forward/template.js.map +1 -0
- package/dist/forward/types.d.ts +2972 -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 +33 -0
- package/dist/forward/vault-credential.d.ts.map +1 -0
- package/dist/forward/vault-credential.js +62 -0
- package/dist/forward/vault-credential.js.map +1 -0
- package/dist/forward/vault.d.ts +35 -0
- package/dist/forward/vault.d.ts.map +1 -0
- package/dist/forward/vault.js +64 -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/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,311 @@
|
|
|
1
|
+
# Qoder Cloud Agents TypeScript SDK
|
|
2
|
+
|
|
3
|
+
[](https://npmjs.org/package/qca-sdk)
|
|
4
|
+
|
|
5
|
+
> [!IMPORTANT]
|
|
6
|
+
> This SDK is in preview. The published versions are pre-releases, and the API surface may still change.
|
|
7
|
+
|
|
8
|
+
TypeScript and JavaScript library for the Qoder Cloud Agents API. It provides typed access to the Forward and Managed APIs, ships CommonJS, ES modules and strict TypeScript types, and has no third-party runtime dependencies.
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```sh
|
|
13
|
+
npm install qca-sdk
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Node.js 20.12 or later is required.
|
|
17
|
+
|
|
18
|
+
## Usage
|
|
19
|
+
|
|
20
|
+
The library exposes two clients, one per API. Both are constructed the same way and share the same transport behaviour.
|
|
21
|
+
|
|
22
|
+
```ts
|
|
23
|
+
import { ForwardClient } from 'qca-sdk';
|
|
24
|
+
|
|
25
|
+
const client = new ForwardClient({
|
|
26
|
+
accessToken: process.env.QODER_ACCESS_TOKEN, // this is the default and can be omitted
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
const session = await client.sessions.create({
|
|
30
|
+
identity_id: 'identity_id',
|
|
31
|
+
template_id: 'template_id',
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
await client.sessions.events.send(session.id, {
|
|
35
|
+
events: [{ type: 'user.message', content: [{ type: 'text', text: 'Hello, Qoder' }] }],
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
for await (const event of client.sessions.events.list(session.id, { order: 'asc' })) {
|
|
39
|
+
console.log(event.type);
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
`ForwardClient` covers the Forward API — `templates`, `identities`, `sessions`, `schedules`, `scheduleRuns`, `batches`, `channels`, `channelPairings`, `environments`, `files`, `skills`, `vaults`, `memoryStores` and `models`.
|
|
44
|
+
|
|
45
|
+
```ts
|
|
46
|
+
import { ManagedClient } from 'qca-sdk';
|
|
47
|
+
|
|
48
|
+
const client = new ManagedClient();
|
|
49
|
+
|
|
50
|
+
const session = await client.sessions.create({
|
|
51
|
+
agent: 'agent_id',
|
|
52
|
+
environment_id: 'environment_id',
|
|
53
|
+
});
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
`ManagedClient` covers the Managed API — `agents`, `sessions`, `deployments`, `deploymentRuns`, `dreams`, `environments`, `skills`, `vaults`, `files`, `memoryStores` and `models`.
|
|
57
|
+
|
|
58
|
+
Nested resources are reached through their parent. On a `ForwardClient`, path segments are positional arguments:
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
const version = await forward.skills.versions.retrieve('skill_id', 'version');
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
On a `ManagedClient`, the parent ID stays in the parameter object:
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
const version = await managed.skills.versions.retrieve('version', { skill_id: 'skill_id' });
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Each client also has its own entry point — `qca-sdk/forward` and `qca-sdk/managed` — exported both by name and as the default export, so you can pull in only the half you use.
|
|
71
|
+
|
|
72
|
+
```ts
|
|
73
|
+
import ForwardClient from 'qca-sdk/forward';
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Configuration
|
|
77
|
+
|
|
78
|
+
`accessToken` accepts a string or a function returning a string or a promise, which is re-resolved before every request attempt — useful for short-lived tokens. A `Credential` object can be supplied instead; `PATCredential.fromEnv()` reads `QODER_ACCESS_TOKEN`.
|
|
79
|
+
|
|
80
|
+
The base URL comes from `QODER_FORWARD_BASE_URL` for Forward and `QODER_BASE_URL` for Managed, defaulting to `https://api.qoder.com/api/v1/forward` and `https://api.qoder.com/api/v1/cloud`. Explicit constructor options always win.
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
import { ManagedClient, PATCredential } from 'qca-sdk';
|
|
84
|
+
|
|
85
|
+
const client = new ManagedClient({
|
|
86
|
+
credential: PATCredential.fromEnv(),
|
|
87
|
+
baseURL: 'https://api.qoder.com/api/v1/cloud',
|
|
88
|
+
timeout: 30_000,
|
|
89
|
+
maxRetries: 2,
|
|
90
|
+
defaultHeaders: { 'X-Application': 'my-app' },
|
|
91
|
+
});
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Request and response types
|
|
95
|
+
|
|
96
|
+
Every operation is typed. The two APIs define independent type sets, so request and response types are exported from the subpath entry points rather than the package root:
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
import type { Session, SessionCreateParams, Template } from 'qca-sdk/forward';
|
|
100
|
+
import type { ManagedAgentsAgent } from 'qca-sdk/managed';
|
|
101
|
+
|
|
102
|
+
const params: SessionCreateParams = { identity_id: 'identity_id', template_id: 'template_id' };
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
All fields keep the snake_case naming used on the wire. Unknown fields are preserved when decoding, so a server-side addition reaches you before the types catch up. On the way out `undefined` is omitted, while `null`, `false`, empty strings and empty arrays are sent as-is.
|
|
106
|
+
|
|
107
|
+
## Streaming
|
|
108
|
+
|
|
109
|
+
Session events can be consumed as a server-sent event stream.
|
|
110
|
+
|
|
111
|
+
```ts
|
|
112
|
+
const stream = await client.sessions.events.streamEvents(session.id, {
|
|
113
|
+
include_tool_calls: true,
|
|
114
|
+
'event_deltas[]': ['agent.message'],
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
for await (const event of stream) {
|
|
118
|
+
console.log(event.type);
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
The stream can be ended early with `stream.controller.abort()` or `await stream.close()`. Ping frames are skipped, delta frames that share an ID are preserved, unknown event types are passed through, and an error event throws an `APIError`.
|
|
123
|
+
|
|
124
|
+
`stream.lastEventID` holds the ID of the most recent event. Pass it back as `last_event_id` to resume where you stopped — the SDK does not reconnect or replay on your behalf.
|
|
125
|
+
|
|
126
|
+
```ts
|
|
127
|
+
const resumed = await client.sessions.events.streamEvents(session.id, {
|
|
128
|
+
last_event_id: stream.lastEventID,
|
|
129
|
+
});
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## File uploads
|
|
133
|
+
|
|
134
|
+
File parameters accept a `File`, a `Blob`, a byte array, a `Response`, a `ReadableStream` or an async iterable — including a Node file stream. `toFile` wraps any of those with an explicit filename.
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
import { toFile } from 'qca-sdk';
|
|
138
|
+
import fs from 'node:fs';
|
|
139
|
+
|
|
140
|
+
const uploaded = await client.files.upload({
|
|
141
|
+
file: await toFile(fs.createReadStream('input.csv'), 'input.csv'),
|
|
142
|
+
purpose: 'session_resource',
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
const inline = await client.files.upload({
|
|
146
|
+
file: await toFile(new TextEncoder().encode('Hello'), 'hello.txt'),
|
|
147
|
+
});
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
A value passed without a filename is sent as `upload`, so give one whenever the name matters — either through `toFile`, or as `{ data, name }`. Operations taking a repeated `files` field accept an array, and each part keeps its own filename; skill uploads use that to carry relative paths such as `code-review/scripts/run.sh`.
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
await client.skills.create({
|
|
154
|
+
files: [
|
|
155
|
+
{ data: await fs.promises.readFile('code-review/SKILL.md'), name: 'code-review/SKILL.md' },
|
|
156
|
+
{ data: await fs.promises.readFile('code-review/scripts/run.sh'), name: 'code-review/scripts/run.sh' },
|
|
157
|
+
],
|
|
158
|
+
});
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Downloads first resolve a temporary link, then issue an isolated storage request that carries no API credential, default headers or middleware.
|
|
162
|
+
|
|
163
|
+
```ts
|
|
164
|
+
const download = await client.files.download(uploaded.id);
|
|
165
|
+
const bytes = new Uint8Array(await download.arrayBuffer());
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Handling errors
|
|
169
|
+
|
|
170
|
+
A non-2xx response throws a subclass of `APIError` carrying `status`, `code`, `type`, `request_id`, the parsed error payload, and the underlying `request` and `response`.
|
|
171
|
+
|
|
172
|
+
```ts
|
|
173
|
+
import { APIError, NotFoundError } from 'qca-sdk';
|
|
174
|
+
|
|
175
|
+
try {
|
|
176
|
+
await client.sessions.retrieve('sess_missing');
|
|
177
|
+
} catch (error) {
|
|
178
|
+
if (error instanceof NotFoundError) {
|
|
179
|
+
console.log(error.status, error.code, error.request_id);
|
|
180
|
+
} else if (error instanceof APIError) {
|
|
181
|
+
console.log(error.status, error.message);
|
|
182
|
+
} else {
|
|
183
|
+
throw error;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
| Status | Error class |
|
|
189
|
+
| ------ | ----------------------- |
|
|
190
|
+
| 400 | `BadRequestError` |
|
|
191
|
+
| 401 | `AuthenticationError` |
|
|
192
|
+
| 403 | `PermissionDeniedError` |
|
|
193
|
+
| 404 | `NotFoundError` |
|
|
194
|
+
| 409 | `ConflictError` |
|
|
195
|
+
| 422 | `UnprocessableEntityError` |
|
|
196
|
+
| 429 | `RateLimitError` |
|
|
197
|
+
| >=500 | `InternalServerError` |
|
|
198
|
+
|
|
199
|
+
Connection failures throw `APIConnectionError`, an exhausted timeout throws `APIConnectionTimeoutError`, and aborting through your own signal throws `APIUserAbortError`. Client-side misconfiguration — an invalid `baseURL`, a negative `maxRetries` — throws `QoderError`, the base class of all of the above.
|
|
200
|
+
|
|
201
|
+
### Request IDs
|
|
202
|
+
|
|
203
|
+
Every response carries a request ID, exposed as `request_id` on errors and available on successful responses through `withResponse()`. Include it when reporting a problem.
|
|
204
|
+
|
|
205
|
+
```ts
|
|
206
|
+
const { data, request_id } = await client.sessions.retrieve(session.id).withResponse();
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## Retries
|
|
210
|
+
|
|
211
|
+
Connection errors, timeouts, 408, 429 and 5xx responses are retried twice by default with exponential backoff and jitter. Only replayable requests are eligible: `GET` and `HEAD`, plus any request sent with an idempotency key. Writes without an idempotency key are retried on 429 only, 409 is never retried, and a request whose body is a `ReadableStream` is never replayed because the body cannot be re-read. A `retry-after-ms`, `retry-after` or `x-should-retry` response header overrides the default decision.
|
|
212
|
+
|
|
213
|
+
```ts
|
|
214
|
+
const client = new ForwardClient({ maxRetries: 0 }); // disable retries
|
|
215
|
+
await client.sessions.create(params, { maxRetries: 5, idempotencyKey: 'my-key' });
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Each attempt re-resolves the credential and sends an `X-Qoder-Retry-Count` header.
|
|
219
|
+
|
|
220
|
+
## Timeouts
|
|
221
|
+
|
|
222
|
+
Requests time out after 10 minutes by default and are then retried according to the rules above. Configure the client default or override per request:
|
|
223
|
+
|
|
224
|
+
```ts
|
|
225
|
+
const client = new ForwardClient({ timeout: 20 * 1000 });
|
|
226
|
+
await client.sessions.list({}, { timeout: 5 * 1000 });
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Pass `signal` to cancel a request yourself. The deadline stays armed while the response body is being read, so a stream is aborted once the subscription as a whole outlives the timeout — give a long-running subscription a limit sized for the whole session, not for one event.
|
|
230
|
+
|
|
231
|
+
```ts
|
|
232
|
+
await client.sessions.list({}, { signal: AbortSignal.timeout(5_000) });
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Auto-pagination
|
|
236
|
+
|
|
237
|
+
List methods return an async-iterable page. Iterating the result fetches subsequent pages as needed, carrying your filter parameters forward.
|
|
238
|
+
|
|
239
|
+
```ts
|
|
240
|
+
for await (const template of client.templates.list({ limit: 20 })) {
|
|
241
|
+
console.log(template.id);
|
|
242
|
+
}
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Pages can also be walked one at a time:
|
|
246
|
+
|
|
247
|
+
```ts
|
|
248
|
+
const page = await client.templates.list({ limit: 20 });
|
|
249
|
+
console.log(page.data.length);
|
|
250
|
+
|
|
251
|
+
if (page.hasNextPage()) {
|
|
252
|
+
const next = await page.getNextPage();
|
|
253
|
+
console.log(next?.data);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
for await (const p of page.iterPages()) {
|
|
257
|
+
console.log(p.data.length);
|
|
258
|
+
}
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
Cursor style follows the operation: ID cursors use `after_id` and `before_id`, opaque cursors use `next_page` fed back as `page`. Auto-pagination stops with an error if a cursor fails to advance, rather than looping forever.
|
|
262
|
+
|
|
263
|
+
## Advanced usage
|
|
264
|
+
|
|
265
|
+
### Accessing raw response data
|
|
266
|
+
|
|
267
|
+
Every method returns an `APIPromise`. Awaiting it gives the parsed body; `asResponse()` returns the raw `Response` without reading the body, and `withResponse()` gives you both.
|
|
268
|
+
|
|
269
|
+
```ts
|
|
270
|
+
const response = await client.sessions.retrieve(session.id).asResponse();
|
|
271
|
+
console.log(response.headers.get('x-request-id'));
|
|
272
|
+
|
|
273
|
+
const { data, response: raw } = await client.sessions.retrieve(session.id).withResponse();
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
### Undocumented endpoints and fields
|
|
277
|
+
|
|
278
|
+
Request parameter types accept extra properties, so a field the types do not know about yet can be sent as-is. For an endpoint with no generated method, call the transport directly:
|
|
279
|
+
|
|
280
|
+
```ts
|
|
281
|
+
await client.request({ method: 'POST', path: 'undocumented/endpoint', body: { key: 'value' } });
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Extra query parameters and headers go through `query` and `headers` on the per-request options. Undocumented response fields survive decoding but are not typed, so reach them through a cast.
|
|
285
|
+
|
|
286
|
+
### Middleware and custom fetch
|
|
287
|
+
|
|
288
|
+
`middleware` wraps each attempt, which is the hook for logging, tracing or request rewriting. `fetch` replaces the implementation entirely.
|
|
289
|
+
|
|
290
|
+
```ts
|
|
291
|
+
const client = new ForwardClient({
|
|
292
|
+
middleware: [
|
|
293
|
+
async (request, next) => {
|
|
294
|
+
const started = Date.now();
|
|
295
|
+
const response = await next(request);
|
|
296
|
+
console.log(request.method, request.url, response.status, `${Date.now() - started}ms`);
|
|
297
|
+
return response;
|
|
298
|
+
},
|
|
299
|
+
],
|
|
300
|
+
});
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
Neither hook is applied to file downloads, which deliberately bypass the client to avoid sending credentials to storage.
|
|
304
|
+
|
|
305
|
+
## Requirements
|
|
306
|
+
|
|
307
|
+
Node.js 20.12 or later. The SDK relies only on the platform's `fetch`, `Request`, `Response`, `Headers`, `AbortController`, `Blob` and `File` — any runtime providing those, and a `fetch` you can inject if not, should work. Deno, Bun, Cloudflare Workers and Vercel Edge are not part of the test matrix.
|
|
308
|
+
|
|
309
|
+
## License
|
|
310
|
+
|
|
311
|
+
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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,KAAK,UAAU,EAAW,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAQ,WAAW,EAAqB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG5F,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAClF,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;CAC3B;AACD,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;CACnE;AAED,wBAAgB,YAAY,CAAC,GAAG,OAAO,EAAE,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,GAAG,OAAO,CAc7E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,GAAE,QAAQ,GAAG,UAAqB,GAAG,MAAM,CAYnG;AAyBD,qBAAa,SAAS;IAQqB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAP7E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;gBAE5D,OAAO,GAAE,aAAkB,EAAW,IAAI,GAAE,SAAS,GAAG,SAAqB;IAazF,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC;IAYrD,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,EAAE,OAAO,GAAE,cAAmB,EAAE,UAAU,GAAE,cAA4D,GAAG,WAAW,CAAC,CAAC,CAAC;IAMvK,8FAA8F;IAC9F,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,UAAU,CAAC,QAAQ,CAAC;IAU9E,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,UAAU;YAcJ,OAAO;IA6FrB,OAAO,CAAC,YAAY;CAiBrB"}
|