@agentuity/core 1.0.33 → 1.0.35
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/dist/index.d.ts +2 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -15
- package/dist/index.js.map +1 -1
- package/dist/services/adapter.d.ts +57 -22
- package/dist/services/adapter.d.ts.map +1 -1
- package/dist/services/adapter.js +52 -1
- package/dist/services/adapter.js.map +1 -1
- package/dist/services/api.d.ts +222 -0
- package/dist/services/api.d.ts.map +1 -0
- package/dist/services/api.js +662 -0
- package/dist/services/api.js.map +1 -0
- package/dist/services/apikey/create.d.ts +34 -0
- package/dist/services/apikey/create.d.ts.map +1 -0
- package/dist/services/apikey/create.js +29 -0
- package/dist/services/apikey/create.js.map +1 -0
- package/dist/services/apikey/delete.d.ts.map +1 -0
- package/dist/services/apikey/delete.js.map +1 -0
- package/dist/services/apikey/get.d.ts.map +1 -0
- package/dist/services/apikey/get.js.map +1 -0
- package/dist/services/apikey/index.d.ts.map +1 -0
- package/dist/services/apikey/index.js.map +1 -0
- package/dist/services/apikey/list.d.ts +65 -0
- package/dist/services/apikey/list.d.ts.map +1 -0
- package/dist/services/apikey/list.js +50 -0
- package/dist/services/apikey/list.js.map +1 -0
- package/dist/services/apikey/util.d.ts.map +1 -0
- package/dist/services/apikey/util.js.map +1 -0
- package/dist/services/config.d.ts +22 -0
- package/dist/services/config.d.ts.map +1 -0
- package/dist/services/config.js +55 -0
- package/dist/services/config.js.map +1 -0
- package/dist/services/db/index.d.ts +6 -0
- package/dist/services/db/index.d.ts.map +1 -0
- package/dist/services/db/index.js +6 -0
- package/dist/services/db/index.js.map +1 -0
- package/dist/services/db/logs.d.ts.map +1 -0
- package/dist/services/db/logs.js.map +1 -0
- package/dist/services/db/query.d.ts +40 -0
- package/dist/services/db/query.d.ts.map +1 -0
- package/dist/services/db/query.js +55 -0
- package/dist/services/db/query.js.map +1 -0
- package/dist/services/db/stats.d.ts +146 -0
- package/dist/services/db/stats.d.ts.map +1 -0
- package/dist/services/db/stats.js +94 -0
- package/dist/services/db/stats.js.map +1 -0
- package/dist/services/db/tables.d.ts +50 -0
- package/dist/services/db/tables.d.ts.map +1 -0
- package/dist/services/db/tables.js +64 -0
- package/dist/services/db/tables.js.map +1 -0
- package/dist/services/db/util.d.ts.map +1 -0
- package/dist/services/db/util.js.map +1 -0
- package/dist/services/email/index.d.ts +2 -0
- package/dist/services/email/index.d.ts.map +1 -0
- package/dist/services/email/index.js +2 -0
- package/dist/services/email/index.js.map +1 -0
- package/dist/services/email/service.d.ts +742 -0
- package/dist/services/email/service.d.ts.map +1 -0
- package/dist/services/email/service.js +1107 -0
- package/dist/services/email/service.js.map +1 -0
- package/dist/services/env.d.ts.map +1 -0
- package/dist/services/env.js.map +1 -0
- package/dist/services/eval/events.d.ts +93 -0
- package/dist/services/eval/events.d.ts.map +1 -0
- package/dist/services/eval/events.js +24 -0
- package/dist/services/eval/events.js.map +1 -0
- package/dist/services/eval/get.d.ts.map +1 -0
- package/dist/services/eval/get.js.map +1 -0
- package/dist/services/eval/index.d.ts +6 -0
- package/dist/services/eval/index.d.ts.map +1 -0
- package/dist/services/eval/index.js +6 -0
- package/dist/services/eval/index.js.map +1 -0
- package/dist/services/eval/list.d.ts.map +1 -0
- package/dist/services/eval/list.js.map +1 -0
- package/dist/services/eval/run-get.d.ts.map +1 -0
- package/dist/services/eval/run-get.js.map +1 -0
- package/dist/services/eval/run-list.d.ts.map +1 -0
- package/dist/services/eval/run-list.js.map +1 -0
- package/dist/services/exception.d.ts +28 -9
- package/dist/services/exception.d.ts.map +1 -1
- package/dist/services/exception.js +14 -0
- package/dist/services/exception.js.map +1 -1
- package/dist/services/index.d.ts +26 -12
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +26 -11
- package/dist/services/index.js.map +1 -1
- package/dist/services/keyvalue/index.d.ts +2 -0
- package/dist/services/keyvalue/index.d.ts.map +1 -0
- package/dist/services/keyvalue/index.js +2 -0
- package/dist/services/keyvalue/index.js.map +1 -0
- package/dist/services/keyvalue/service.d.ts +261 -0
- package/dist/services/keyvalue/service.d.ts.map +1 -0
- package/dist/services/keyvalue/service.js +475 -0
- package/dist/services/keyvalue/service.js.map +1 -0
- package/dist/services/logger.d.ts.map +1 -0
- package/dist/services/logger.js.map +1 -0
- package/dist/services/machine/index.d.ts.map +1 -0
- package/dist/services/machine/index.js.map +1 -0
- package/dist/services/machine/machine.d.ts.map +1 -0
- package/dist/services/machine/machine.js +177 -0
- package/dist/services/machine/machine.js.map +1 -0
- package/dist/services/machine/util.d.ts.map +1 -0
- package/dist/services/machine/util.js.map +1 -0
- package/dist/services/org/env-delete.d.ts.map +1 -0
- package/dist/services/org/env-delete.js.map +1 -0
- package/dist/services/org/env-get.d.ts +33 -0
- package/dist/services/org/env-get.d.ts.map +1 -0
- package/dist/services/org/env-get.js +33 -0
- package/dist/services/org/env-get.js.map +1 -0
- package/dist/services/org/env-update.d.ts.map +1 -0
- package/dist/services/org/env-update.js.map +1 -0
- package/dist/services/org/index.d.ts.map +1 -0
- package/dist/services/org/index.js.map +1 -0
- package/dist/services/org/list.d.ts.map +1 -0
- package/dist/services/org/list.js.map +1 -0
- package/dist/services/org/resources.d.ts +150 -0
- package/dist/services/org/resources.d.ts.map +1 -0
- package/dist/services/org/resources.js +111 -0
- package/dist/services/org/resources.js.map +1 -0
- package/dist/services/org/util.d.ts.map +1 -0
- package/dist/services/org/util.js.map +1 -0
- package/dist/services/pagination.d.ts +38 -11
- package/dist/services/pagination.d.ts.map +1 -1
- package/dist/services/pagination.js +30 -1
- package/dist/services/pagination.js.map +1 -1
- package/dist/services/project/agent.d.ts.map +1 -0
- package/dist/services/project/agent.js.map +1 -0
- package/dist/services/project/create.d.ts.map +1 -0
- package/dist/services/project/create.js.map +1 -0
- package/dist/services/project/delete.d.ts.map +1 -0
- package/dist/services/project/delete.js +15 -0
- package/dist/services/project/delete.js.map +1 -0
- package/dist/services/project/deploy.d.ts +468 -0
- package/dist/services/project/deploy.d.ts.map +1 -0
- package/dist/services/project/deploy.js.map +1 -0
- package/dist/services/project/deployment.d.ts.map +1 -0
- package/dist/services/project/deployment.js +180 -0
- package/dist/services/project/deployment.js.map +1 -0
- package/dist/services/project/env-delete.d.ts.map +1 -0
- package/dist/services/project/env-delete.js.map +1 -0
- package/dist/services/project/env-update.d.ts.map +1 -0
- package/dist/services/project/env-update.js.map +1 -0
- package/dist/services/project/exists.d.ts.map +1 -0
- package/dist/services/project/exists.js.map +1 -0
- package/dist/services/project/get.d.ts.map +1 -0
- package/dist/services/project/get.js.map +1 -0
- package/dist/services/project/hostname.d.ts.map +1 -0
- package/dist/services/project/hostname.js +43 -0
- package/dist/services/project/hostname.js.map +1 -0
- package/dist/services/project/index.d.ts.map +1 -0
- package/dist/services/project/index.js.map +1 -0
- package/dist/services/project/list.d.ts.map +1 -0
- package/dist/services/project/list.js.map +1 -0
- package/dist/services/project/malware.d.ts.map +1 -0
- package/dist/services/project/malware.js +57 -0
- package/dist/services/project/malware.js.map +1 -0
- package/dist/services/project/update-region.d.ts.map +1 -0
- package/dist/services/project/update-region.js.map +1 -0
- package/dist/services/project/util.d.ts.map +1 -0
- package/dist/services/project/util.js.map +1 -0
- package/dist/services/queue/analytics.d.ts +261 -0
- package/dist/services/queue/analytics.d.ts.map +1 -0
- package/dist/services/queue/analytics.js +254 -0
- package/dist/services/queue/analytics.js.map +1 -0
- package/dist/services/queue/consumers.d.ts +48 -0
- package/dist/services/queue/consumers.d.ts.map +1 -0
- package/dist/services/queue/consumers.js +43 -0
- package/dist/services/queue/consumers.js.map +1 -0
- package/dist/services/queue/destinations.d.ts +269 -0
- package/dist/services/queue/destinations.d.ts.map +1 -0
- package/dist/services/queue/destinations.js +215 -0
- package/dist/services/queue/destinations.js.map +1 -0
- package/dist/services/queue/dlq.d.ts +170 -0
- package/dist/services/queue/dlq.d.ts.map +1 -0
- package/dist/services/queue/dlq.js.map +1 -0
- package/dist/services/queue/index.d.ts +58 -0
- package/dist/services/queue/index.d.ts.map +1 -0
- package/dist/services/queue/index.js +98 -0
- package/dist/services/queue/index.js.map +1 -0
- package/dist/services/queue/messages.d.ts +511 -0
- package/dist/services/queue/messages.d.ts.map +1 -0
- package/dist/services/queue/messages.js.map +1 -0
- package/dist/services/queue/queues.d.ts +228 -0
- package/dist/services/queue/queues.d.ts.map +1 -0
- package/dist/services/queue/queues.js.map +1 -0
- package/dist/services/queue/service.d.ts +309 -0
- package/dist/services/queue/service.d.ts.map +1 -0
- package/dist/services/queue/service.js +456 -0
- package/dist/services/queue/service.js.map +1 -0
- package/dist/services/queue/sources.d.ts +252 -0
- package/dist/services/queue/sources.d.ts.map +1 -0
- package/dist/services/queue/sources.js +249 -0
- package/dist/services/queue/sources.js.map +1 -0
- package/dist/services/queue/types.d.ts +1335 -0
- package/dist/services/queue/types.d.ts.map +1 -0
- package/dist/services/queue/types.js +1382 -0
- package/dist/services/queue/types.js.map +1 -0
- package/dist/services/queue/util.d.ts +278 -0
- package/dist/services/queue/util.d.ts.map +1 -0
- package/dist/services/queue/util.js +233 -0
- package/dist/services/queue/util.js.map +1 -0
- package/dist/services/queue/validation.d.ts +218 -0
- package/dist/services/queue/validation.d.ts.map +1 -0
- package/dist/services/queue/validation.js +498 -0
- package/dist/services/queue/validation.js.map +1 -0
- package/dist/services/queue/websocket.d.ts +154 -0
- package/dist/services/queue/websocket.d.ts.map +1 -0
- package/dist/services/queue/websocket.js +491 -0
- package/dist/services/queue/websocket.js.map +1 -0
- package/dist/services/region/create.d.ts.map +1 -0
- package/dist/services/region/create.js.map +1 -0
- package/dist/services/region/delete.d.ts.map +1 -0
- package/dist/services/region/delete.js.map +1 -0
- package/dist/services/region/index.d.ts.map +1 -0
- package/dist/services/region/index.js.map +1 -0
- package/dist/services/region/list.d.ts.map +1 -0
- package/dist/services/region/list.js.map +1 -0
- package/dist/services/region/resources.d.ts.map +1 -0
- package/dist/services/region/resources.js.map +1 -0
- package/dist/services/region/util.d.ts.map +1 -0
- package/dist/services/region/util.js.map +1 -0
- package/dist/services/sandbox/cli-list.d.ts +103 -0
- package/dist/services/sandbox/cli-list.d.ts.map +1 -0
- package/dist/services/sandbox/cli-list.js +106 -0
- package/dist/services/sandbox/cli-list.js.map +1 -0
- package/dist/services/sandbox/client.d.ts +173 -0
- package/dist/services/sandbox/client.d.ts.map +1 -0
- package/dist/services/sandbox/client.js +302 -0
- package/dist/services/sandbox/client.js.map +1 -0
- package/dist/services/sandbox/create.d.ts +193 -0
- package/dist/services/sandbox/create.d.ts.map +1 -0
- package/dist/services/sandbox/create.js +215 -0
- package/dist/services/sandbox/create.js.map +1 -0
- package/dist/services/sandbox/destroy.d.ts +23 -0
- package/dist/services/sandbox/destroy.d.ts.map +1 -0
- package/dist/services/sandbox/destroy.js +30 -0
- package/dist/services/sandbox/destroy.js.map +1 -0
- package/dist/services/sandbox/disk-checkpoint.d.ts +108 -0
- package/dist/services/sandbox/disk-checkpoint.d.ts.map +1 -0
- package/dist/services/sandbox/disk-checkpoint.js +124 -0
- package/dist/services/sandbox/disk-checkpoint.js.map +1 -0
- package/dist/services/sandbox/execute.d.ts +96 -0
- package/dist/services/sandbox/execute.d.ts.map +1 -0
- package/dist/services/sandbox/execute.js +109 -0
- package/dist/services/sandbox/execute.js.map +1 -0
- package/dist/services/sandbox/execution.d.ts +145 -0
- package/dist/services/sandbox/execution.d.ts.map +1 -0
- package/dist/services/sandbox/execution.js +113 -0
- package/dist/services/sandbox/execution.js.map +1 -0
- package/dist/services/sandbox/files.d.ts +269 -0
- package/dist/services/sandbox/files.d.ts.map +1 -0
- package/dist/services/sandbox/files.js +454 -0
- package/dist/services/sandbox/files.js.map +1 -0
- package/dist/services/sandbox/get.d.ts +284 -0
- package/dist/services/sandbox/get.d.ts.map +1 -0
- package/dist/services/sandbox/get.js +231 -0
- package/dist/services/sandbox/get.js.map +1 -0
- package/dist/services/sandbox/getStatus.d.ts +20 -0
- package/dist/services/sandbox/getStatus.d.ts.map +1 -0
- package/dist/services/sandbox/getStatus.js +36 -0
- package/dist/services/sandbox/getStatus.js.map +1 -0
- package/dist/services/sandbox/index.d.ts +40 -0
- package/dist/services/sandbox/index.d.ts.map +1 -0
- package/dist/services/sandbox/index.js +21 -0
- package/dist/services/sandbox/index.js.map +1 -0
- package/dist/services/sandbox/list.d.ts +327 -0
- package/dist/services/sandbox/list.d.ts.map +1 -0
- package/dist/services/sandbox/list.js +204 -0
- package/dist/services/sandbox/list.js.map +1 -0
- package/dist/services/sandbox/pause.d.ts +23 -0
- package/dist/services/sandbox/pause.d.ts.map +1 -0
- package/dist/services/sandbox/pause.js +30 -0
- package/dist/services/sandbox/pause.js.map +1 -0
- package/dist/services/sandbox/resolve.d.ts +75 -0
- package/dist/services/sandbox/resolve.d.ts.map +1 -0
- package/dist/services/sandbox/resolve.js +76 -0
- package/dist/services/sandbox/resolve.js.map +1 -0
- package/dist/services/sandbox/resume.d.ts +23 -0
- package/dist/services/sandbox/resume.d.ts.map +1 -0
- package/dist/services/sandbox/resume.js +30 -0
- package/dist/services/sandbox/resume.js.map +1 -0
- package/dist/services/sandbox/run.d.ts +71 -0
- package/dist/services/sandbox/run.d.ts.map +1 -0
- package/dist/services/sandbox/run.js +355 -0
- package/dist/services/sandbox/run.js.map +1 -0
- package/dist/services/sandbox/runtime.d.ts +94 -0
- package/dist/services/sandbox/runtime.d.ts.map +1 -0
- package/dist/services/sandbox/runtime.js +82 -0
- package/dist/services/sandbox/runtime.js.map +1 -0
- package/dist/services/sandbox/snapshot-build.d.ts.map +1 -0
- package/dist/services/sandbox/snapshot-build.js.map +1 -0
- package/dist/services/sandbox/snapshot.d.ts +596 -0
- package/dist/services/sandbox/snapshot.d.ts.map +1 -0
- package/dist/services/sandbox/snapshot.js +612 -0
- package/dist/services/sandbox/snapshot.js.map +1 -0
- package/dist/services/sandbox/types.d.ts +851 -0
- package/dist/services/sandbox/types.d.ts.map +1 -0
- package/dist/services/sandbox/types.js +674 -0
- package/dist/services/sandbox/types.js.map +1 -0
- package/dist/services/sandbox/util.d.ts +295 -0
- package/dist/services/sandbox/util.d.ts.map +1 -0
- package/dist/services/sandbox/util.js +233 -0
- package/dist/services/sandbox/util.js.map +1 -0
- package/dist/services/schedule/index.d.ts +2 -0
- package/dist/services/schedule/index.d.ts.map +1 -0
- package/dist/services/schedule/index.js +2 -0
- package/dist/services/schedule/index.js.map +1 -0
- package/dist/services/schedule/service.d.ts +439 -0
- package/dist/services/schedule/service.d.ts.map +1 -0
- package/dist/services/schedule/service.js +701 -0
- package/dist/services/schedule/service.js.map +1 -0
- package/dist/services/session/events.d.ts +127 -0
- package/dist/services/session/events.d.ts.map +1 -0
- package/dist/services/session/events.js +42 -0
- package/dist/services/session/events.js.map +1 -0
- package/dist/services/session/get.d.ts +170 -0
- package/dist/services/session/get.d.ts.map +1 -0
- package/dist/services/session/get.js.map +1 -0
- package/dist/services/session/index.d.ts +5 -0
- package/dist/services/session/index.d.ts.map +1 -0
- package/dist/services/session/index.js +5 -0
- package/dist/services/session/index.js.map +1 -0
- package/dist/services/session/list.d.ts +150 -0
- package/dist/services/session/list.d.ts.map +1 -0
- package/dist/services/session/list.js +117 -0
- package/dist/services/session/list.js.map +1 -0
- package/dist/services/session/logs.d.ts.map +1 -0
- package/dist/services/session/logs.js.map +1 -0
- package/dist/services/session/util.d.ts.map +1 -0
- package/dist/services/session/util.js.map +1 -0
- package/dist/services/stats.d.ts +261 -0
- package/dist/services/stats.d.ts.map +1 -0
- package/dist/services/stats.js +181 -0
- package/dist/services/stats.js.map +1 -0
- package/dist/services/storage/config.d.ts.map +1 -0
- package/dist/services/storage/config.js.map +1 -0
- package/dist/services/storage/index.d.ts.map +1 -0
- package/dist/services/storage/index.js.map +1 -0
- package/dist/services/storage/objects.d.ts +158 -0
- package/dist/services/storage/objects.d.ts.map +1 -0
- package/dist/services/storage/objects.js +161 -0
- package/dist/services/storage/objects.js.map +1 -0
- package/dist/services/storage/types.d.ts.map +1 -0
- package/dist/services/storage/types.js.map +1 -0
- package/dist/services/storage/util.d.ts.map +1 -0
- package/dist/services/storage/util.js.map +1 -0
- package/dist/services/stream/get.d.ts.map +1 -0
- package/dist/services/stream/get.js.map +1 -0
- package/dist/services/stream/index.d.ts +5 -0
- package/dist/services/stream/index.d.ts.map +1 -0
- package/dist/services/stream/index.js +5 -0
- package/dist/services/stream/index.js.map +1 -0
- package/dist/services/stream/list.d.ts +96 -0
- package/dist/services/stream/list.d.ts.map +1 -0
- package/dist/services/stream/list.js +92 -0
- package/dist/services/stream/list.js.map +1 -0
- package/dist/services/stream/service.d.ts +264 -0
- package/dist/services/stream/service.d.ts.map +1 -0
- package/dist/services/stream/service.js +631 -0
- package/dist/services/stream/service.js.map +1 -0
- package/dist/services/stream/util.d.ts.map +1 -0
- package/dist/services/stream/util.js.map +1 -0
- package/dist/services/task/index.d.ts +2 -0
- package/dist/services/task/index.d.ts.map +1 -0
- package/dist/services/task/index.js +2 -0
- package/dist/services/task/index.js.map +1 -0
- package/dist/services/task/service.d.ts +1491 -0
- package/dist/services/task/service.d.ts.map +1 -0
- package/dist/services/task/service.js +1887 -0
- package/dist/services/task/service.js.map +1 -0
- package/dist/services/thread/delete.d.ts.map +1 -0
- package/dist/services/thread/delete.js.map +1 -0
- package/dist/services/thread/get.d.ts.map +1 -0
- package/dist/services/thread/get.js.map +1 -0
- package/dist/services/thread/index.d.ts.map +1 -0
- package/dist/services/thread/index.js.map +1 -0
- package/dist/services/thread/list.d.ts +75 -0
- package/dist/services/thread/list.d.ts.map +1 -0
- package/dist/services/thread/list.js +65 -0
- package/dist/services/thread/list.js.map +1 -0
- package/dist/services/thread/util.d.ts.map +1 -0
- package/dist/services/thread/util.js.map +1 -0
- package/dist/services/user/index.d.ts.map +1 -0
- package/dist/services/user/index.js.map +1 -0
- package/dist/services/user/util.d.ts.map +1 -0
- package/dist/services/user/util.js.map +1 -0
- package/dist/services/user/whoami.d.ts.map +1 -0
- package/dist/services/user/whoami.js.map +1 -0
- package/dist/services/vector/index.d.ts +2 -0
- package/dist/services/vector/index.d.ts.map +1 -0
- package/dist/services/vector/index.js +2 -0
- package/dist/services/vector/index.js.map +1 -0
- package/dist/services/vector/service.d.ts +459 -0
- package/dist/services/vector/service.d.ts.map +1 -0
- package/dist/services/vector/service.js +707 -0
- package/dist/services/vector/service.js.map +1 -0
- package/dist/services/webhook/analytics.d.ts +77 -0
- package/dist/services/webhook/analytics.d.ts.map +1 -0
- package/dist/services/webhook/analytics.js +56 -0
- package/dist/services/webhook/analytics.js.map +1 -0
- package/dist/services/webhook/deliveries.d.ts +94 -0
- package/dist/services/webhook/deliveries.d.ts.map +1 -0
- package/dist/services/webhook/deliveries.js.map +1 -0
- package/dist/services/webhook/destinations.d.ts +140 -0
- package/dist/services/webhook/destinations.d.ts.map +1 -0
- package/dist/services/webhook/destinations.js.map +1 -0
- package/dist/services/webhook/index.d.ts +43 -0
- package/dist/services/webhook/index.d.ts.map +1 -0
- package/dist/services/webhook/index.js +64 -0
- package/dist/services/webhook/index.js.map +1 -0
- package/dist/services/webhook/receipts.d.ts.map +1 -0
- package/dist/services/webhook/receipts.js.map +1 -0
- package/dist/services/webhook/service.d.ts +374 -0
- package/dist/services/webhook/service.d.ts.map +1 -0
- package/dist/services/webhook/service.js +663 -0
- package/dist/services/webhook/service.js.map +1 -0
- package/dist/services/webhook/types.d.ts +182 -0
- package/dist/services/webhook/types.d.ts.map +1 -0
- package/dist/services/webhook/types.js +188 -0
- package/dist/services/webhook/types.js.map +1 -0
- package/dist/services/webhook/util.d.ts.map +1 -0
- package/dist/services/webhook/util.js.map +1 -0
- package/dist/services/webhook/webhooks.d.ts +150 -0
- package/dist/services/webhook/webhooks.d.ts.map +1 -0
- package/dist/services/webhook/webhooks.js.map +1 -0
- package/package.json +59 -7
- package/src/index.ts +6 -247
- package/src/services/adapter.ts +69 -24
- package/src/services/api.ts +951 -0
- package/src/services/apikey/create.ts +48 -0
- package/src/services/apikey/list.ts +66 -0
- package/src/services/config.ts +65 -0
- package/src/services/db/index.ts +42 -0
- package/src/services/db/query.ts +69 -0
- package/src/services/db/stats.ts +121 -0
- package/src/services/db/tables.ts +94 -0
- package/src/services/email/index.ts +1 -0
- package/src/services/email/service.ts +1476 -0
- package/src/services/eval/index.ts +29 -0
- package/src/services/exception.ts +16 -7
- package/src/services/index.ts +29 -28
- package/src/services/keyvalue/index.ts +1 -0
- package/src/services/keyvalue/service.ts +677 -0
- package/src/services/machine/machine.ts +228 -0
- package/src/services/org/env-get.ts +48 -0
- package/src/services/org/resources.ts +140 -0
- package/src/services/pagination.ts +40 -11
- package/src/services/project/delete.ts +27 -0
- package/src/services/project/deploy.ts +433 -0
- package/src/services/project/deployment.ts +250 -0
- package/src/services/project/hostname.ts +79 -0
- package/src/services/project/malware.ts +85 -0
- package/src/services/queue/analytics.ts +343 -0
- package/src/services/queue/consumers.ts +56 -0
- package/src/services/queue/destinations.ts +329 -0
- package/src/services/queue/index.ts +339 -0
- package/src/services/queue/service.ts +634 -0
- package/src/services/queue/sources.ts +364 -0
- package/src/services/queue/types.ts +1666 -0
- package/src/services/queue/util.ts +275 -0
- package/src/services/queue/validation.ts +541 -0
- package/src/services/queue/websocket.ts +578 -0
- package/src/services/sandbox/cli-list.ts +117 -0
- package/src/services/sandbox/client.ts +435 -0
- package/src/services/sandbox/create.ts +249 -0
- package/src/services/sandbox/destroy.ts +43 -0
- package/src/services/sandbox/disk-checkpoint.ts +184 -0
- package/src/services/sandbox/execute.ts +134 -0
- package/src/services/sandbox/execution.ts +144 -0
- package/src/services/sandbox/files.ts +608 -0
- package/src/services/sandbox/get.ts +262 -0
- package/src/services/sandbox/getStatus.ts +51 -0
- package/src/services/sandbox/index.ts +230 -0
- package/src/services/sandbox/list.ts +234 -0
- package/src/services/sandbox/pause.ts +41 -0
- package/src/services/sandbox/resolve.ts +96 -0
- package/src/services/sandbox/resume.ts +41 -0
- package/src/services/sandbox/run.ts +441 -0
- package/src/services/sandbox/runtime.ts +106 -0
- package/src/services/sandbox/snapshot.ts +791 -0
- package/src/services/sandbox/types.ts +798 -0
- package/src/services/sandbox/util.ts +279 -0
- package/src/services/schedule/index.ts +1 -0
- package/src/services/schedule/service.ts +814 -0
- package/src/services/session/get.ts +108 -0
- package/src/services/session/index.ts +4 -0
- package/src/services/session/list.ts +143 -0
- package/src/services/stats.ts +232 -0
- package/src/services/storage/objects.ts +256 -0
- package/src/services/stream/index.ts +14 -0
- package/src/services/stream/list.ts +105 -0
- package/src/services/stream/service.ts +929 -0
- package/src/services/task/index.ts +1 -0
- package/src/services/task/service.ts +2573 -0
- package/src/services/thread/list.ts +81 -0
- package/src/services/vector/index.ts +1 -0
- package/src/services/vector/service.ts +1242 -0
- package/src/services/webhook/analytics.ts +80 -0
- package/src/services/webhook/index.ts +160 -0
- package/src/services/webhook/service.ts +900 -0
- package/src/services/webhook/types.ts +277 -0
- package/dist/api/api.d.ts +0 -226
- package/dist/api/api.d.ts.map +0 -1
- package/dist/api/api.js +0 -635
- package/dist/api/api.js.map +0 -1
- package/dist/api/apikey/create.d.ts +0 -33
- package/dist/api/apikey/create.d.ts.map +0 -1
- package/dist/api/apikey/create.js +0 -23
- package/dist/api/apikey/create.js.map +0 -1
- package/dist/api/apikey/delete.d.ts.map +0 -1
- package/dist/api/apikey/delete.js.map +0 -1
- package/dist/api/apikey/get.d.ts.map +0 -1
- package/dist/api/apikey/get.js.map +0 -1
- package/dist/api/apikey/index.d.ts.map +0 -1
- package/dist/api/apikey/index.js.map +0 -1
- package/dist/api/apikey/list.d.ts +0 -64
- package/dist/api/apikey/list.d.ts.map +0 -1
- package/dist/api/apikey/list.js +0 -46
- package/dist/api/apikey/list.js.map +0 -1
- package/dist/api/apikey/util.d.ts.map +0 -1
- package/dist/api/apikey/util.js.map +0 -1
- package/dist/api/config.d.ts +0 -20
- package/dist/api/config.d.ts.map +0 -1
- package/dist/api/config.js +0 -43
- package/dist/api/config.js.map +0 -1
- package/dist/api/db/index.d.ts +0 -5
- package/dist/api/db/index.d.ts.map +0 -1
- package/dist/api/db/index.js +0 -5
- package/dist/api/db/index.js.map +0 -1
- package/dist/api/db/logs.d.ts.map +0 -1
- package/dist/api/db/logs.js.map +0 -1
- package/dist/api/db/query.d.ts +0 -39
- package/dist/api/db/query.d.ts.map +0 -1
- package/dist/api/db/query.js +0 -49
- package/dist/api/db/query.js.map +0 -1
- package/dist/api/db/tables.d.ts +0 -49
- package/dist/api/db/tables.d.ts.map +0 -1
- package/dist/api/db/tables.js +0 -59
- package/dist/api/db/tables.js.map +0 -1
- package/dist/api/db/util.d.ts.map +0 -1
- package/dist/api/db/util.js.map +0 -1
- package/dist/api/env.d.ts.map +0 -1
- package/dist/api/env.js.map +0 -1
- package/dist/api/eval/get.d.ts.map +0 -1
- package/dist/api/eval/get.js.map +0 -1
- package/dist/api/eval/index.d.ts +0 -5
- package/dist/api/eval/index.d.ts.map +0 -1
- package/dist/api/eval/index.js +0 -5
- package/dist/api/eval/index.js.map +0 -1
- package/dist/api/eval/list.d.ts.map +0 -1
- package/dist/api/eval/list.js.map +0 -1
- package/dist/api/eval/run-get.d.ts.map +0 -1
- package/dist/api/eval/run-get.js.map +0 -1
- package/dist/api/eval/run-list.d.ts.map +0 -1
- package/dist/api/eval/run-list.js.map +0 -1
- package/dist/api/index.d.ts +0 -21
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js +0 -21
- package/dist/api/index.js.map +0 -1
- package/dist/api/logger.d.ts.map +0 -1
- package/dist/api/logger.js.map +0 -1
- package/dist/api/machine/index.d.ts.map +0 -1
- package/dist/api/machine/index.js.map +0 -1
- package/dist/api/machine/machine.d.ts.map +0 -1
- package/dist/api/machine/machine.js +0 -109
- package/dist/api/machine/machine.js.map +0 -1
- package/dist/api/machine/util.d.ts.map +0 -1
- package/dist/api/machine/util.js.map +0 -1
- package/dist/api/org/env-delete.d.ts.map +0 -1
- package/dist/api/org/env-delete.js.map +0 -1
- package/dist/api/org/env-get.d.ts +0 -33
- package/dist/api/org/env-get.d.ts.map +0 -1
- package/dist/api/org/env-get.js +0 -26
- package/dist/api/org/env-get.js.map +0 -1
- package/dist/api/org/env-update.d.ts.map +0 -1
- package/dist/api/org/env-update.js.map +0 -1
- package/dist/api/org/index.d.ts.map +0 -1
- package/dist/api/org/index.js.map +0 -1
- package/dist/api/org/list.d.ts.map +0 -1
- package/dist/api/org/list.js.map +0 -1
- package/dist/api/org/resources.d.ts +0 -141
- package/dist/api/org/resources.d.ts.map +0 -1
- package/dist/api/org/resources.js +0 -97
- package/dist/api/org/resources.js.map +0 -1
- package/dist/api/org/util.d.ts.map +0 -1
- package/dist/api/org/util.js.map +0 -1
- package/dist/api/project/agent.d.ts.map +0 -1
- package/dist/api/project/agent.js.map +0 -1
- package/dist/api/project/create.d.ts.map +0 -1
- package/dist/api/project/create.js.map +0 -1
- package/dist/api/project/delete.d.ts.map +0 -1
- package/dist/api/project/delete.js +0 -13
- package/dist/api/project/delete.js.map +0 -1
- package/dist/api/project/deploy.d.ts +0 -490
- package/dist/api/project/deploy.d.ts.map +0 -1
- package/dist/api/project/deploy.js.map +0 -1
- package/dist/api/project/deployment.d.ts.map +0 -1
- package/dist/api/project/deployment.js +0 -127
- package/dist/api/project/deployment.js.map +0 -1
- package/dist/api/project/env-delete.d.ts.map +0 -1
- package/dist/api/project/env-delete.js.map +0 -1
- package/dist/api/project/env-update.d.ts.map +0 -1
- package/dist/api/project/env-update.js.map +0 -1
- package/dist/api/project/exists.d.ts.map +0 -1
- package/dist/api/project/exists.js.map +0 -1
- package/dist/api/project/get.d.ts.map +0 -1
- package/dist/api/project/get.js.map +0 -1
- package/dist/api/project/hostname.d.ts.map +0 -1
- package/dist/api/project/hostname.js +0 -37
- package/dist/api/project/hostname.js.map +0 -1
- package/dist/api/project/index.d.ts.map +0 -1
- package/dist/api/project/index.js.map +0 -1
- package/dist/api/project/list.d.ts.map +0 -1
- package/dist/api/project/list.js.map +0 -1
- package/dist/api/project/malware.d.ts.map +0 -1
- package/dist/api/project/malware.js +0 -42
- package/dist/api/project/malware.js.map +0 -1
- package/dist/api/project/update-region.d.ts.map +0 -1
- package/dist/api/project/update-region.js.map +0 -1
- package/dist/api/project/util.d.ts.map +0 -1
- package/dist/api/project/util.js.map +0 -1
- package/dist/api/queue/analytics.d.ts +0 -250
- package/dist/api/queue/analytics.d.ts.map +0 -1
- package/dist/api/queue/analytics.js +0 -233
- package/dist/api/queue/analytics.js.map +0 -1
- package/dist/api/queue/destinations.d.ts +0 -202
- package/dist/api/queue/destinations.d.ts.map +0 -1
- package/dist/api/queue/destinations.js +0 -168
- package/dist/api/queue/destinations.js.map +0 -1
- package/dist/api/queue/dlq.d.ts +0 -168
- package/dist/api/queue/dlq.d.ts.map +0 -1
- package/dist/api/queue/dlq.js.map +0 -1
- package/dist/api/queue/index.d.ts +0 -56
- package/dist/api/queue/index.d.ts.map +0 -1
- package/dist/api/queue/index.js +0 -90
- package/dist/api/queue/index.js.map +0 -1
- package/dist/api/queue/messages.d.ts +0 -503
- package/dist/api/queue/messages.d.ts.map +0 -1
- package/dist/api/queue/messages.js.map +0 -1
- package/dist/api/queue/queues.d.ts +0 -226
- package/dist/api/queue/queues.d.ts.map +0 -1
- package/dist/api/queue/queues.js.map +0 -1
- package/dist/api/queue/sources.d.ts +0 -202
- package/dist/api/queue/sources.d.ts.map +0 -1
- package/dist/api/queue/sources.js +0 -202
- package/dist/api/queue/sources.js.map +0 -1
- package/dist/api/queue/types.d.ts +0 -1218
- package/dist/api/queue/types.d.ts.map +0 -1
- package/dist/api/queue/types.js +0 -1002
- package/dist/api/queue/types.js.map +0 -1
- package/dist/api/queue/util.d.ts +0 -278
- package/dist/api/queue/util.d.ts.map +0 -1
- package/dist/api/queue/util.js +0 -233
- package/dist/api/queue/util.js.map +0 -1
- package/dist/api/queue/validation.d.ts +0 -247
- package/dist/api/queue/validation.d.ts.map +0 -1
- package/dist/api/queue/validation.js +0 -513
- package/dist/api/queue/validation.js.map +0 -1
- package/dist/api/queue/websocket.d.ts +0 -172
- package/dist/api/queue/websocket.d.ts.map +0 -1
- package/dist/api/queue/websocket.js +0 -396
- package/dist/api/queue/websocket.js.map +0 -1
- package/dist/api/region/create.d.ts.map +0 -1
- package/dist/api/region/create.js.map +0 -1
- package/dist/api/region/delete.d.ts.map +0 -1
- package/dist/api/region/delete.js.map +0 -1
- package/dist/api/region/index.d.ts.map +0 -1
- package/dist/api/region/index.js.map +0 -1
- package/dist/api/region/list.d.ts.map +0 -1
- package/dist/api/region/list.js.map +0 -1
- package/dist/api/region/resources.d.ts.map +0 -1
- package/dist/api/region/resources.js.map +0 -1
- package/dist/api/region/util.d.ts.map +0 -1
- package/dist/api/region/util.js.map +0 -1
- package/dist/api/sandbox/cli-list.d.ts +0 -114
- package/dist/api/sandbox/cli-list.d.ts.map +0 -1
- package/dist/api/sandbox/cli-list.js +0 -71
- package/dist/api/sandbox/cli-list.js.map +0 -1
- package/dist/api/sandbox/client.d.ts +0 -192
- package/dist/api/sandbox/client.d.ts.map +0 -1
- package/dist/api/sandbox/client.js +0 -262
- package/dist/api/sandbox/client.js.map +0 -1
- package/dist/api/sandbox/create.d.ts +0 -118
- package/dist/api/sandbox/create.d.ts.map +0 -1
- package/dist/api/sandbox/create.js +0 -211
- package/dist/api/sandbox/create.js.map +0 -1
- package/dist/api/sandbox/destroy.d.ts +0 -22
- package/dist/api/sandbox/destroy.d.ts.map +0 -1
- package/dist/api/sandbox/destroy.js +0 -25
- package/dist/api/sandbox/destroy.js.map +0 -1
- package/dist/api/sandbox/disk-checkpoint.d.ts +0 -104
- package/dist/api/sandbox/disk-checkpoint.d.ts.map +0 -1
- package/dist/api/sandbox/disk-checkpoint.js +0 -104
- package/dist/api/sandbox/disk-checkpoint.js.map +0 -1
- package/dist/api/sandbox/execute.d.ts +0 -69
- package/dist/api/sandbox/execute.d.ts.map +0 -1
- package/dist/api/sandbox/execute.js +0 -103
- package/dist/api/sandbox/execute.js.map +0 -1
- package/dist/api/sandbox/execution.d.ts +0 -169
- package/dist/api/sandbox/execution.d.ts.map +0 -1
- package/dist/api/sandbox/execution.js +0 -118
- package/dist/api/sandbox/execution.js.map +0 -1
- package/dist/api/sandbox/files.d.ts +0 -261
- package/dist/api/sandbox/files.d.ts.map +0 -1
- package/dist/api/sandbox/files.js +0 -386
- package/dist/api/sandbox/files.js.map +0 -1
- package/dist/api/sandbox/get.d.ts +0 -283
- package/dist/api/sandbox/get.d.ts.map +0 -1
- package/dist/api/sandbox/get.js +0 -215
- package/dist/api/sandbox/get.js.map +0 -1
- package/dist/api/sandbox/getStatus.d.ts +0 -16
- package/dist/api/sandbox/getStatus.d.ts.map +0 -1
- package/dist/api/sandbox/getStatus.js +0 -32
- package/dist/api/sandbox/getStatus.js.map +0 -1
- package/dist/api/sandbox/index.d.ts +0 -39
- package/dist/api/sandbox/index.d.ts.map +0 -1
- package/dist/api/sandbox/index.js +0 -20
- package/dist/api/sandbox/index.js.map +0 -1
- package/dist/api/sandbox/list.d.ts +0 -293
- package/dist/api/sandbox/list.d.ts.map +0 -1
- package/dist/api/sandbox/list.js +0 -191
- package/dist/api/sandbox/list.js.map +0 -1
- package/dist/api/sandbox/pause.d.ts +0 -22
- package/dist/api/sandbox/pause.d.ts.map +0 -1
- package/dist/api/sandbox/pause.js +0 -25
- package/dist/api/sandbox/pause.js.map +0 -1
- package/dist/api/sandbox/resolve.d.ts +0 -82
- package/dist/api/sandbox/resolve.d.ts.map +0 -1
- package/dist/api/sandbox/resolve.js +0 -71
- package/dist/api/sandbox/resolve.js.map +0 -1
- package/dist/api/sandbox/resume.d.ts +0 -22
- package/dist/api/sandbox/resume.d.ts.map +0 -1
- package/dist/api/sandbox/resume.js +0 -25
- package/dist/api/sandbox/resume.js.map +0 -1
- package/dist/api/sandbox/run.d.ts +0 -28
- package/dist/api/sandbox/run.d.ts.map +0 -1
- package/dist/api/sandbox/run.js +0 -342
- package/dist/api/sandbox/run.js.map +0 -1
- package/dist/api/sandbox/runtime.d.ts +0 -83
- package/dist/api/sandbox/runtime.d.ts.map +0 -1
- package/dist/api/sandbox/runtime.js +0 -78
- package/dist/api/sandbox/runtime.js.map +0 -1
- package/dist/api/sandbox/snapshot-build.d.ts.map +0 -1
- package/dist/api/sandbox/snapshot-build.js.map +0 -1
- package/dist/api/sandbox/snapshot.d.ts +0 -595
- package/dist/api/sandbox/snapshot.d.ts.map +0 -1
- package/dist/api/sandbox/snapshot.js +0 -598
- package/dist/api/sandbox/snapshot.js.map +0 -1
- package/dist/api/sandbox/util.d.ts +0 -284
- package/dist/api/sandbox/util.d.ts.map +0 -1
- package/dist/api/sandbox/util.js +0 -210
- package/dist/api/sandbox/util.js.map +0 -1
- package/dist/api/services/index.d.ts +0 -2
- package/dist/api/services/index.d.ts.map +0 -1
- package/dist/api/services/index.js +0 -2
- package/dist/api/services/index.js.map +0 -1
- package/dist/api/services/stats.d.ts +0 -263
- package/dist/api/services/stats.d.ts.map +0 -1
- package/dist/api/services/stats.js +0 -144
- package/dist/api/services/stats.js.map +0 -1
- package/dist/api/session/get.d.ts +0 -169
- package/dist/api/session/get.d.ts.map +0 -1
- package/dist/api/session/get.js.map +0 -1
- package/dist/api/session/index.d.ts +0 -4
- package/dist/api/session/index.d.ts.map +0 -1
- package/dist/api/session/index.js +0 -4
- package/dist/api/session/index.js.map +0 -1
- package/dist/api/session/list.d.ts +0 -143
- package/dist/api/session/list.d.ts.map +0 -1
- package/dist/api/session/list.js +0 -91
- package/dist/api/session/list.js.map +0 -1
- package/dist/api/session/logs.d.ts.map +0 -1
- package/dist/api/session/logs.js.map +0 -1
- package/dist/api/session/util.d.ts.map +0 -1
- package/dist/api/session/util.js.map +0 -1
- package/dist/api/storage/config.d.ts.map +0 -1
- package/dist/api/storage/config.js.map +0 -1
- package/dist/api/storage/index.d.ts.map +0 -1
- package/dist/api/storage/index.js.map +0 -1
- package/dist/api/storage/objects.d.ts +0 -155
- package/dist/api/storage/objects.d.ts.map +0 -1
- package/dist/api/storage/objects.js +0 -148
- package/dist/api/storage/objects.js.map +0 -1
- package/dist/api/storage/types.d.ts.map +0 -1
- package/dist/api/storage/types.js.map +0 -1
- package/dist/api/storage/util.d.ts.map +0 -1
- package/dist/api/storage/util.js.map +0 -1
- package/dist/api/stream/get.d.ts.map +0 -1
- package/dist/api/stream/get.js.map +0 -1
- package/dist/api/stream/index.d.ts +0 -4
- package/dist/api/stream/index.d.ts.map +0 -1
- package/dist/api/stream/index.js +0 -4
- package/dist/api/stream/index.js.map +0 -1
- package/dist/api/stream/list.d.ts +0 -120
- package/dist/api/stream/list.d.ts.map +0 -1
- package/dist/api/stream/list.js +0 -77
- package/dist/api/stream/list.js.map +0 -1
- package/dist/api/stream/util.d.ts.map +0 -1
- package/dist/api/stream/util.js.map +0 -1
- package/dist/api/thread/delete.d.ts.map +0 -1
- package/dist/api/thread/delete.js.map +0 -1
- package/dist/api/thread/get.d.ts.map +0 -1
- package/dist/api/thread/get.js.map +0 -1
- package/dist/api/thread/index.d.ts.map +0 -1
- package/dist/api/thread/index.js.map +0 -1
- package/dist/api/thread/list.d.ts +0 -69
- package/dist/api/thread/list.d.ts.map +0 -1
- package/dist/api/thread/list.js +0 -51
- package/dist/api/thread/list.js.map +0 -1
- package/dist/api/thread/util.d.ts.map +0 -1
- package/dist/api/thread/util.js.map +0 -1
- package/dist/api/user/index.d.ts.map +0 -1
- package/dist/api/user/index.js.map +0 -1
- package/dist/api/user/util.d.ts.map +0 -1
- package/dist/api/user/util.js.map +0 -1
- package/dist/api/user/whoami.d.ts.map +0 -1
- package/dist/api/user/whoami.js.map +0 -1
- package/dist/api/webhook/deliveries.d.ts +0 -94
- package/dist/api/webhook/deliveries.d.ts.map +0 -1
- package/dist/api/webhook/deliveries.js.map +0 -1
- package/dist/api/webhook/destinations.d.ts +0 -136
- package/dist/api/webhook/destinations.d.ts.map +0 -1
- package/dist/api/webhook/destinations.js.map +0 -1
- package/dist/api/webhook/index.d.ts +0 -41
- package/dist/api/webhook/index.d.ts.map +0 -1
- package/dist/api/webhook/index.js +0 -59
- package/dist/api/webhook/index.js.map +0 -1
- package/dist/api/webhook/receipts.d.ts.map +0 -1
- package/dist/api/webhook/receipts.js.map +0 -1
- package/dist/api/webhook/types.d.ts +0 -249
- package/dist/api/webhook/types.d.ts.map +0 -1
- package/dist/api/webhook/types.js +0 -221
- package/dist/api/webhook/types.js.map +0 -1
- package/dist/api/webhook/util.d.ts.map +0 -1
- package/dist/api/webhook/util.js.map +0 -1
- package/dist/api/webhook/webhooks.d.ts +0 -146
- package/dist/api/webhook/webhooks.d.ts.map +0 -1
- package/dist/api/webhook/webhooks.js.map +0 -1
- package/dist/services/email.d.ts +0 -901
- package/dist/services/email.d.ts.map +0 -1
- package/dist/services/email.js +0 -722
- package/dist/services/email.js.map +0 -1
- package/dist/services/evalrun.d.ts +0 -93
- package/dist/services/evalrun.d.ts.map +0 -1
- package/dist/services/evalrun.js +0 -24
- package/dist/services/evalrun.js.map +0 -1
- package/dist/services/keyvalue.d.ts +0 -283
- package/dist/services/keyvalue.d.ts.map +0 -1
- package/dist/services/keyvalue.js +0 -305
- package/dist/services/keyvalue.js.map +0 -1
- package/dist/services/queue.d.ts +0 -361
- package/dist/services/queue.d.ts.map +0 -1
- package/dist/services/queue.js +0 -308
- package/dist/services/queue.js.map +0 -1
- package/dist/services/sandbox.d.ts +0 -1241
- package/dist/services/sandbox.d.ts.map +0 -1
- package/dist/services/sandbox.js +0 -6
- package/dist/services/sandbox.js.map +0 -1
- package/dist/services/schedule.d.ts +0 -501
- package/dist/services/schedule.d.ts.map +0 -1
- package/dist/services/schedule.js +0 -425
- package/dist/services/schedule.js.map +0 -1
- package/dist/services/session.d.ts +0 -127
- package/dist/services/session.d.ts.map +0 -1
- package/dist/services/session.js +0 -42
- package/dist/services/session.js.map +0 -1
- package/dist/services/stream.d.ts +0 -293
- package/dist/services/stream.d.ts.map +0 -1
- package/dist/services/stream.js +0 -500
- package/dist/services/stream.js.map +0 -1
- package/dist/services/task.d.ts +0 -1337
- package/dist/services/task.d.ts.map +0 -1
- package/dist/services/task.js +0 -1397
- package/dist/services/task.js.map +0 -1
- package/dist/services/vector.d.ts +0 -498
- package/dist/services/vector.d.ts.map +0 -1
- package/dist/services/vector.js +0 -381
- package/dist/services/vector.js.map +0 -1
- package/dist/services/webhook.d.ts +0 -454
- package/dist/services/webhook.d.ts.map +0 -1
- package/dist/services/webhook.js +0 -589
- package/dist/services/webhook.js.map +0 -1
- package/src/api/api.ts +0 -931
- package/src/api/apikey/create.ts +0 -41
- package/src/api/apikey/list.ts +0 -64
- package/src/api/config.ts +0 -60
- package/src/api/db/index.ts +0 -27
- package/src/api/db/query.ts +0 -67
- package/src/api/db/tables.ts +0 -92
- package/src/api/eval/index.ts +0 -28
- package/src/api/index.ts +0 -20
- package/src/api/machine/machine.ts +0 -160
- package/src/api/org/env-get.ts +0 -43
- package/src/api/org/resources.ts +0 -140
- package/src/api/project/delete.ts +0 -25
- package/src/api/project/deploy.ts +0 -458
- package/src/api/project/deployment.ts +0 -195
- package/src/api/project/hostname.ts +0 -73
- package/src/api/project/malware.ts +0 -68
- package/src/api/queue/analytics.ts +0 -311
- package/src/api/queue/destinations.ts +0 -259
- package/src/api/queue/index.ts +0 -308
- package/src/api/queue/sources.ts +0 -294
- package/src/api/queue/types.ts +0 -1325
- package/src/api/queue/util.ts +0 -275
- package/src/api/queue/validation.ts +0 -560
- package/src/api/queue/websocket.ts +0 -521
- package/src/api/sandbox/cli-list.ts +0 -127
- package/src/api/sandbox/client.ts +0 -460
- package/src/api/sandbox/create.ts +0 -256
- package/src/api/sandbox/destroy.ts +0 -41
- package/src/api/sandbox/disk-checkpoint.ts +0 -179
- package/src/api/sandbox/execute.ts +0 -132
- package/src/api/sandbox/execution.ts +0 -183
- package/src/api/sandbox/files.ts +0 -596
- package/src/api/sandbox/get.ts +0 -249
- package/src/api/sandbox/getStatus.ts +0 -54
- package/src/api/sandbox/index.ts +0 -211
- package/src/api/sandbox/list.ts +0 -224
- package/src/api/sandbox/pause.ts +0 -39
- package/src/api/sandbox/resolve.ts +0 -98
- package/src/api/sandbox/resume.ts +0 -39
- package/src/api/sandbox/run.ts +0 -439
- package/src/api/sandbox/runtime.ts +0 -104
- package/src/api/sandbox/snapshot.ts +0 -781
- package/src/api/sandbox/util.ts +0 -275
- package/src/api/services/index.ts +0 -1
- package/src/api/services/stats.ts +0 -213
- package/src/api/session/get.ts +0 -106
- package/src/api/session/index.ts +0 -3
- package/src/api/session/list.ts +0 -136
- package/src/api/storage/objects.ts +0 -250
- package/src/api/stream/index.ts +0 -3
- package/src/api/stream/list.ts +0 -127
- package/src/api/thread/list.ts +0 -76
- package/src/api/webhook/index.ts +0 -133
- package/src/api/webhook/types.ts +0 -309
- package/src/services/email.ts +0 -1410
- package/src/services/keyvalue.ts +0 -620
- package/src/services/queue.ts +0 -603
- package/src/services/sandbox.ts +0 -1466
- package/src/services/schedule.ts +0 -763
- package/src/services/stream.ts +0 -886
- package/src/services/task.ts +0 -2611
- package/src/services/vector.ts +0 -1119
- package/src/services/webhook.ts +0 -921
- /package/dist/{api → services}/apikey/delete.d.ts +0 -0
- /package/dist/{api → services}/apikey/delete.js +0 -0
- /package/dist/{api → services}/apikey/get.d.ts +0 -0
- /package/dist/{api → services}/apikey/get.js +0 -0
- /package/dist/{api → services}/apikey/index.d.ts +0 -0
- /package/dist/{api → services}/apikey/index.js +0 -0
- /package/dist/{api → services}/apikey/util.d.ts +0 -0
- /package/dist/{api → services}/apikey/util.js +0 -0
- /package/dist/{api → services}/db/logs.d.ts +0 -0
- /package/dist/{api → services}/db/logs.js +0 -0
- /package/dist/{api → services}/db/util.d.ts +0 -0
- /package/dist/{api → services}/db/util.js +0 -0
- /package/dist/{api → services}/env.d.ts +0 -0
- /package/dist/{api → services}/env.js +0 -0
- /package/dist/{api → services}/eval/get.d.ts +0 -0
- /package/dist/{api → services}/eval/get.js +0 -0
- /package/dist/{api → services}/eval/list.d.ts +0 -0
- /package/dist/{api → services}/eval/list.js +0 -0
- /package/dist/{api → services}/eval/run-get.d.ts +0 -0
- /package/dist/{api → services}/eval/run-get.js +0 -0
- /package/dist/{api → services}/eval/run-list.d.ts +0 -0
- /package/dist/{api → services}/eval/run-list.js +0 -0
- /package/dist/{api → services}/logger.d.ts +0 -0
- /package/dist/{api → services}/logger.js +0 -0
- /package/dist/{api → services}/machine/index.d.ts +0 -0
- /package/dist/{api → services}/machine/index.js +0 -0
- /package/dist/{api → services}/machine/machine.d.ts +0 -0
- /package/dist/{api → services}/machine/util.d.ts +0 -0
- /package/dist/{api → services}/machine/util.js +0 -0
- /package/dist/{api → services}/org/env-delete.d.ts +0 -0
- /package/dist/{api → services}/org/env-delete.js +0 -0
- /package/dist/{api → services}/org/env-update.d.ts +0 -0
- /package/dist/{api → services}/org/env-update.js +0 -0
- /package/dist/{api → services}/org/index.d.ts +0 -0
- /package/dist/{api → services}/org/index.js +0 -0
- /package/dist/{api → services}/org/list.d.ts +0 -0
- /package/dist/{api → services}/org/list.js +0 -0
- /package/dist/{api → services}/org/util.d.ts +0 -0
- /package/dist/{api → services}/org/util.js +0 -0
- /package/dist/{api → services}/project/agent.d.ts +0 -0
- /package/dist/{api → services}/project/agent.js +0 -0
- /package/dist/{api → services}/project/create.d.ts +0 -0
- /package/dist/{api → services}/project/create.js +0 -0
- /package/dist/{api → services}/project/delete.d.ts +0 -0
- /package/dist/{api → services}/project/deploy.js +0 -0
- /package/dist/{api → services}/project/deployment.d.ts +0 -0
- /package/dist/{api → services}/project/env-delete.d.ts +0 -0
- /package/dist/{api → services}/project/env-delete.js +0 -0
- /package/dist/{api → services}/project/env-update.d.ts +0 -0
- /package/dist/{api → services}/project/env-update.js +0 -0
- /package/dist/{api → services}/project/exists.d.ts +0 -0
- /package/dist/{api → services}/project/exists.js +0 -0
- /package/dist/{api → services}/project/get.d.ts +0 -0
- /package/dist/{api → services}/project/get.js +0 -0
- /package/dist/{api → services}/project/hostname.d.ts +0 -0
- /package/dist/{api → services}/project/index.d.ts +0 -0
- /package/dist/{api → services}/project/index.js +0 -0
- /package/dist/{api → services}/project/list.d.ts +0 -0
- /package/dist/{api → services}/project/list.js +0 -0
- /package/dist/{api → services}/project/malware.d.ts +0 -0
- /package/dist/{api → services}/project/update-region.d.ts +0 -0
- /package/dist/{api → services}/project/update-region.js +0 -0
- /package/dist/{api → services}/project/util.d.ts +0 -0
- /package/dist/{api → services}/project/util.js +0 -0
- /package/dist/{api → services}/queue/dlq.js +0 -0
- /package/dist/{api → services}/queue/messages.js +0 -0
- /package/dist/{api → services}/queue/queues.js +0 -0
- /package/dist/{api → services}/region/create.d.ts +0 -0
- /package/dist/{api → services}/region/create.js +0 -0
- /package/dist/{api → services}/region/delete.d.ts +0 -0
- /package/dist/{api → services}/region/delete.js +0 -0
- /package/dist/{api → services}/region/index.d.ts +0 -0
- /package/dist/{api → services}/region/index.js +0 -0
- /package/dist/{api → services}/region/list.d.ts +0 -0
- /package/dist/{api → services}/region/list.js +0 -0
- /package/dist/{api → services}/region/resources.d.ts +0 -0
- /package/dist/{api → services}/region/resources.js +0 -0
- /package/dist/{api → services}/region/util.d.ts +0 -0
- /package/dist/{api → services}/region/util.js +0 -0
- /package/dist/{api → services}/sandbox/snapshot-build.d.ts +0 -0
- /package/dist/{api → services}/sandbox/snapshot-build.js +0 -0
- /package/dist/{api → services}/session/get.js +0 -0
- /package/dist/{api → services}/session/logs.d.ts +0 -0
- /package/dist/{api → services}/session/logs.js +0 -0
- /package/dist/{api → services}/session/util.d.ts +0 -0
- /package/dist/{api → services}/session/util.js +0 -0
- /package/dist/{api → services}/storage/config.d.ts +0 -0
- /package/dist/{api → services}/storage/config.js +0 -0
- /package/dist/{api → services}/storage/index.d.ts +0 -0
- /package/dist/{api → services}/storage/index.js +0 -0
- /package/dist/{api → services}/storage/types.d.ts +0 -0
- /package/dist/{api → services}/storage/types.js +0 -0
- /package/dist/{api → services}/storage/util.d.ts +0 -0
- /package/dist/{api → services}/storage/util.js +0 -0
- /package/dist/{api → services}/stream/get.d.ts +0 -0
- /package/dist/{api → services}/stream/get.js +0 -0
- /package/dist/{api → services}/stream/util.d.ts +0 -0
- /package/dist/{api → services}/stream/util.js +0 -0
- /package/dist/{api → services}/thread/delete.d.ts +0 -0
- /package/dist/{api → services}/thread/delete.js +0 -0
- /package/dist/{api → services}/thread/get.d.ts +0 -0
- /package/dist/{api → services}/thread/get.js +0 -0
- /package/dist/{api → services}/thread/index.d.ts +0 -0
- /package/dist/{api → services}/thread/index.js +0 -0
- /package/dist/{api → services}/thread/util.d.ts +0 -0
- /package/dist/{api → services}/thread/util.js +0 -0
- /package/dist/{api → services}/user/index.d.ts +0 -0
- /package/dist/{api → services}/user/index.js +0 -0
- /package/dist/{api → services}/user/util.d.ts +0 -0
- /package/dist/{api → services}/user/util.js +0 -0
- /package/dist/{api → services}/user/whoami.d.ts +0 -0
- /package/dist/{api → services}/user/whoami.js +0 -0
- /package/dist/{api → services}/webhook/deliveries.js +0 -0
- /package/dist/{api → services}/webhook/destinations.js +0 -0
- /package/dist/{api → services}/webhook/receipts.d.ts +0 -0
- /package/dist/{api → services}/webhook/receipts.js +0 -0
- /package/dist/{api → services}/webhook/util.d.ts +0 -0
- /package/dist/{api → services}/webhook/util.js +0 -0
- /package/dist/{api → services}/webhook/webhooks.js +0 -0
- /package/src/{api → services}/api-example.md +0 -0
- /package/src/{api → services}/apikey/delete.ts +0 -0
- /package/src/{api → services}/apikey/get.ts +0 -0
- /package/src/{api → services}/apikey/index.ts +0 -0
- /package/src/{api → services}/apikey/util.ts +0 -0
- /package/src/{api → services}/db/logs.ts +0 -0
- /package/src/{api → services}/db/util.ts +0 -0
- /package/src/{api → services}/env.ts +0 -0
- /package/src/services/{evalrun.ts → eval/events.ts} +0 -0
- /package/src/{api → services}/eval/get.ts +0 -0
- /package/src/{api → services}/eval/list.ts +0 -0
- /package/src/{api → services}/eval/run-get.ts +0 -0
- /package/src/{api → services}/eval/run-list.ts +0 -0
- /package/src/{api → services}/logger.ts +0 -0
- /package/src/{api → services}/machine/index.ts +0 -0
- /package/src/{api → services}/machine/util.ts +0 -0
- /package/src/{api → services}/org/env-delete.ts +0 -0
- /package/src/{api → services}/org/env-update.ts +0 -0
- /package/src/{api → services}/org/index.ts +0 -0
- /package/src/{api → services}/org/list.ts +0 -0
- /package/src/{api → services}/org/util.ts +0 -0
- /package/src/{api → services}/project/agent.ts +0 -0
- /package/src/{api → services}/project/create.ts +0 -0
- /package/src/{api → services}/project/env-delete.ts +0 -0
- /package/src/{api → services}/project/env-update.ts +0 -0
- /package/src/{api → services}/project/exists.ts +0 -0
- /package/src/{api → services}/project/get.ts +0 -0
- /package/src/{api → services}/project/index.ts +0 -0
- /package/src/{api → services}/project/list.ts +0 -0
- /package/src/{api → services}/project/update-region.ts +0 -0
- /package/src/{api → services}/project/util.ts +0 -0
- /package/src/{api → services}/queue/dlq.ts +0 -0
- /package/src/{api → services}/queue/messages.ts +0 -0
- /package/src/{api → services}/queue/queues.ts +0 -0
- /package/src/{api → services}/region/create.ts +0 -0
- /package/src/{api → services}/region/delete.ts +0 -0
- /package/src/{api → services}/region/index.ts +0 -0
- /package/src/{api → services}/region/list.ts +0 -0
- /package/src/{api → services}/region/resources.ts +0 -0
- /package/src/{api → services}/region/util.ts +0 -0
- /package/src/{api → services}/sandbox/snapshot-build.ts +0 -0
- /package/src/services/{session.ts → session/events.ts} +0 -0
- /package/src/{api → services}/session/logs.ts +0 -0
- /package/src/{api → services}/session/util.ts +0 -0
- /package/src/{api → services}/storage/config.ts +0 -0
- /package/src/{api → services}/storage/index.ts +0 -0
- /package/src/{api → services}/storage/types.ts +0 -0
- /package/src/{api → services}/storage/util.ts +0 -0
- /package/src/{api → services}/stream/get.ts +0 -0
- /package/src/{api → services}/stream/util.ts +0 -0
- /package/src/{api → services}/thread/delete.ts +0 -0
- /package/src/{api → services}/thread/get.ts +0 -0
- /package/src/{api → services}/thread/index.ts +0 -0
- /package/src/{api → services}/thread/util.ts +0 -0
- /package/src/{api → services}/user/index.ts +0 -0
- /package/src/{api → services}/user/util.ts +0 -0
- /package/src/{api → services}/user/whoami.ts +0 -0
- /package/src/{api → services}/webhook/deliveries.ts +0 -0
- /package/src/{api → services}/webhook/destinations.ts +0 -0
- /package/src/{api → services}/webhook/receipts.ts +0 -0
- /package/src/{api → services}/webhook/util.ts +0 -0
- /package/src/{api → services}/webhook/webhooks.ts +0 -0
|
@@ -0,0 +1,929 @@
|
|
|
1
|
+
import { StructuredError } from '../../error.ts';
|
|
2
|
+
import { safeStringify } from '../../json.ts';
|
|
3
|
+
import { buildUrl, toServiceException } from '../_util.ts';
|
|
4
|
+
import type { FetchAdapter } from '../adapter.ts';
|
|
5
|
+
import { ListParamsSchema } from '../pagination.ts';
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Minimum TTL value in seconds (1 minute)
|
|
10
|
+
*/
|
|
11
|
+
export const STREAM_MIN_TTL_SECONDS = 60;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Maximum TTL value in seconds (90 days)
|
|
15
|
+
*/
|
|
16
|
+
export const STREAM_MAX_TTL_SECONDS = 7776000;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Default TTL value in seconds (30 days) - used when no TTL is specified
|
|
20
|
+
*/
|
|
21
|
+
export const STREAM_DEFAULT_TTL_SECONDS = 2592000;
|
|
22
|
+
|
|
23
|
+
// Web Streams API (ReadableStream, WritableStream, CompressionStream) are globally
|
|
24
|
+
// available in all modern runtimes: Node.js 18+, Bun, Deno, and browsers.
|
|
25
|
+
const NativeWritableStream = globalThis.WritableStream;
|
|
26
|
+
const NativeReadableStream = globalThis.ReadableStream;
|
|
27
|
+
const NativeCompressionStream = globalThis.CompressionStream;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Properties for creating a stream
|
|
31
|
+
*/
|
|
32
|
+
export const CreateStreamPropsSchema = z.object({
|
|
33
|
+
/**
|
|
34
|
+
* optional metadata for the stream
|
|
35
|
+
*/
|
|
36
|
+
metadata: z
|
|
37
|
+
.record(z.string(), z.string())
|
|
38
|
+
.optional()
|
|
39
|
+
.describe('optional metadata for the stream'),
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* optional contentType for the stream data. If not set, defaults to application/octet-stream
|
|
43
|
+
*/
|
|
44
|
+
contentType: z
|
|
45
|
+
.string()
|
|
46
|
+
.optional()
|
|
47
|
+
.describe(
|
|
48
|
+
'optional contentType for the stream data. If not set, defaults to application/octet-stream'
|
|
49
|
+
),
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* optional flag to enable gzip compression of stream data during upload. if true, will also
|
|
53
|
+
* add Content-Encoding: gzip header to responses. The client MUST be able to accept gzip
|
|
54
|
+
* compression for this to work or must be able to uncompress the raw data it receives.
|
|
55
|
+
*/
|
|
56
|
+
compress: z
|
|
57
|
+
.literal(true)
|
|
58
|
+
.optional()
|
|
59
|
+
.describe(
|
|
60
|
+
'optional flag to enable gzip compression of stream data during upload. if true, will also add Content-Encoding: gzip header to responses.'
|
|
61
|
+
),
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* optional time-to-live in seconds for the stream. Controls when the stream expires and is automatically deleted.
|
|
65
|
+
* - `undefined` (not provided): Stream expires after 30 days (default)
|
|
66
|
+
* - `null` or `0`: Stream never expires
|
|
67
|
+
* - positive number (≥60): Stream expires after the specified number of seconds (max 90 days)
|
|
68
|
+
*
|
|
69
|
+
* @remarks
|
|
70
|
+
* TTL values below 60 seconds are clamped to 60 seconds by the server.
|
|
71
|
+
* TTL values above 7,776,000 seconds (90 days) are clamped to 90 days.
|
|
72
|
+
*
|
|
73
|
+
* @default 2592000 (30 days)
|
|
74
|
+
*/
|
|
75
|
+
ttl: z
|
|
76
|
+
.number()
|
|
77
|
+
.nullable()
|
|
78
|
+
.optional()
|
|
79
|
+
.describe(
|
|
80
|
+
'optional time-to-live in seconds for the stream. Controls when the stream expires and is automatically deleted.'
|
|
81
|
+
),
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
export type CreateStreamProps = z.infer<typeof CreateStreamPropsSchema>;
|
|
85
|
+
|
|
86
|
+
export const StreamSortFieldSchema = z.enum([
|
|
87
|
+
'name',
|
|
88
|
+
'created',
|
|
89
|
+
'updated',
|
|
90
|
+
'size',
|
|
91
|
+
'count',
|
|
92
|
+
'lastUsed',
|
|
93
|
+
]);
|
|
94
|
+
|
|
95
|
+
export type StreamSortField = z.infer<typeof StreamSortFieldSchema>;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Parameters for listing streams.
|
|
99
|
+
*
|
|
100
|
+
* Note: If both `namespace` and `name` are provided, `namespace` takes precedence
|
|
101
|
+
* and `name` is ignored in the API request body.
|
|
102
|
+
*/
|
|
103
|
+
export const ListStreamsParamsSchema = ListParamsSchema(StreamSortFieldSchema).extend({
|
|
104
|
+
/**
|
|
105
|
+
* optional namespace filter to search for streams
|
|
106
|
+
*/
|
|
107
|
+
namespace: z.string().optional().describe('optional namespace filter to search for streams'),
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* optional name filter to search for streams
|
|
111
|
+
*/
|
|
112
|
+
name: z.string().optional().describe('optional name filter to search for streams'),
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* optional metadata filters to match streams
|
|
116
|
+
*/
|
|
117
|
+
metadata: z
|
|
118
|
+
.record(z.string(), z.string())
|
|
119
|
+
.optional()
|
|
120
|
+
.describe('optional metadata filters to match streams'),
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
export type ListStreamsParams = z.infer<typeof ListStreamsParamsSchema>;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Stream information returned by list operation
|
|
127
|
+
*/
|
|
128
|
+
export const StreamInfoSchema = z.object({
|
|
129
|
+
/**
|
|
130
|
+
* unique stream identifier
|
|
131
|
+
*/
|
|
132
|
+
id: z.string().describe('unique stream identifier'),
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* the namespace of the stream
|
|
136
|
+
*/
|
|
137
|
+
namespace: z.string().describe('the namespace of the stream'),
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* the stream metadata
|
|
141
|
+
*/
|
|
142
|
+
metadata: z.record(z.string(), z.string()).describe('the stream metadata'),
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* the public URL to access the stream
|
|
146
|
+
*/
|
|
147
|
+
url: z.string().describe('the public URL to access the stream'),
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* the size of the stream in bytes
|
|
151
|
+
*/
|
|
152
|
+
sizeBytes: z.number().describe('the size of the stream in bytes'),
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* ISO 8601 timestamp when stream expires, or null if stream never expires
|
|
156
|
+
*/
|
|
157
|
+
expiresAt: z
|
|
158
|
+
.string()
|
|
159
|
+
.nullable()
|
|
160
|
+
.describe('ISO 8601 timestamp when stream expires, or null if stream never expires'),
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
export type StreamInfo = z.infer<typeof StreamInfoSchema>;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Response from listing streams
|
|
167
|
+
*/
|
|
168
|
+
export const ListStreamsResponseSchema = z.object({
|
|
169
|
+
/**
|
|
170
|
+
* whether the request was successful
|
|
171
|
+
*/
|
|
172
|
+
success: z.boolean().describe('whether the request was successful'),
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* optional error message if not successful
|
|
176
|
+
*/
|
|
177
|
+
message: z.string().optional().describe('optional error message if not successful'),
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* array of streams matching the filter criteria
|
|
181
|
+
*/
|
|
182
|
+
streams: z.array(StreamInfoSchema).describe('array of streams matching the filter criteria'),
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* total count of streams matching the filter (useful for pagination)
|
|
186
|
+
*/
|
|
187
|
+
total: z.number().describe('total count of streams matching the filter (useful for pagination)'),
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
export type ListStreamsResponse = z.infer<typeof ListStreamsResponseSchema>;
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* A durable and resumable stream that can be written to and read many times.
|
|
194
|
+
* The underlying stream is backed by a durable storage system and the URL
|
|
195
|
+
* returned is public and guaranteed to return the same data every time it is accessed.
|
|
196
|
+
* You can read from this stream internal in the agent using the getReader() method or
|
|
197
|
+
* return the URL to the stream to be used externally.
|
|
198
|
+
*
|
|
199
|
+
* You must write and close the stream before it can be read but if you attempt to read
|
|
200
|
+
* before any data is written, the reader will block until the first write occurs.
|
|
201
|
+
*/
|
|
202
|
+
export interface Stream extends WritableStream {
|
|
203
|
+
/**
|
|
204
|
+
* unique stream identifier
|
|
205
|
+
*/
|
|
206
|
+
id: string;
|
|
207
|
+
/**
|
|
208
|
+
* the unique stream url to consume the stream
|
|
209
|
+
*/
|
|
210
|
+
url: string;
|
|
211
|
+
/**
|
|
212
|
+
* the total number of bytes written to the stream
|
|
213
|
+
*/
|
|
214
|
+
readonly bytesWritten: number;
|
|
215
|
+
/**
|
|
216
|
+
* whether the stream is using compression
|
|
217
|
+
*/
|
|
218
|
+
readonly compressed: boolean;
|
|
219
|
+
/**
|
|
220
|
+
* Write data to the stream.
|
|
221
|
+
*
|
|
222
|
+
* Each write call can send up to 5MB of data. For larger payloads, split the data
|
|
223
|
+
* across multiple write calls.
|
|
224
|
+
*
|
|
225
|
+
* @param chunk - The data to write (string, binary, or object that will be JSON-serialized)
|
|
226
|
+
* @throws ServiceException with status 413 if chunk exceeds 5MB
|
|
227
|
+
*/
|
|
228
|
+
write(chunk: string | Uint8Array | ArrayBuffer | object): Promise<void>;
|
|
229
|
+
/**
|
|
230
|
+
* close the stream gracefully, handling already closed streams without error
|
|
231
|
+
*/
|
|
232
|
+
close(): Promise<void>;
|
|
233
|
+
/**
|
|
234
|
+
* get a ReadableStream that streams from the internal URL
|
|
235
|
+
*
|
|
236
|
+
* Note: This method will block waiting for data until writes start to the Stream.
|
|
237
|
+
* The returned ReadableStream will remain open until the Stream is closed or an error occurs.
|
|
238
|
+
*
|
|
239
|
+
* @returns a ReadableStream that can be passed to response.stream()
|
|
240
|
+
*/
|
|
241
|
+
getReader(): ReadableStream<Uint8Array>;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Stream API for creating and managing durable, resumable data streams.
|
|
246
|
+
* Streams are backed by durable storage and provide public URLs for access.
|
|
247
|
+
*/
|
|
248
|
+
export interface StreamStorage {
|
|
249
|
+
/**
|
|
250
|
+
* Create a new stream for writing data that can be read multiple times
|
|
251
|
+
*
|
|
252
|
+
* @param namespace - the namespace of the stream (1-254 characters). Use namespaces to group and organize streams.
|
|
253
|
+
* @param props - optional properties including metadata, content type, compression, and TTL
|
|
254
|
+
* @returns a Promise that resolves to the created Stream
|
|
255
|
+
*
|
|
256
|
+
* @example
|
|
257
|
+
* ```typescript
|
|
258
|
+
* // Create a simple text stream (expires in 30 days by default)
|
|
259
|
+
* const stream = await streams.create('agent-logs');
|
|
260
|
+
* await stream.write('Starting agent execution\n');
|
|
261
|
+
* await stream.write('Processing data...\n');
|
|
262
|
+
* await stream.close();
|
|
263
|
+
* console.log('Stream URL:', stream.url);
|
|
264
|
+
*
|
|
265
|
+
* // Create a stream with custom TTL (expires in 1 hour)
|
|
266
|
+
* const tempStream = await streams.create('temp-data', {
|
|
267
|
+
* ttl: 3600 // 1 hour in seconds
|
|
268
|
+
* });
|
|
269
|
+
*
|
|
270
|
+
* // Create a stream that never expires
|
|
271
|
+
* const permanentStream = await streams.create('permanent-data', {
|
|
272
|
+
* ttl: null // or ttl: 0
|
|
273
|
+
* });
|
|
274
|
+
*
|
|
275
|
+
* // Create a compressed JSON stream with metadata
|
|
276
|
+
* const dataStream = await streams.create('data-export', {
|
|
277
|
+
* contentType: 'application/json',
|
|
278
|
+
* compress: true,
|
|
279
|
+
* metadata: { exportDate: '2024-01-15', version: '1.0' }
|
|
280
|
+
* });
|
|
281
|
+
* await dataStream.write({ records: [...] });
|
|
282
|
+
* await dataStream.close();
|
|
283
|
+
*
|
|
284
|
+
* // Read back from the stream
|
|
285
|
+
* const reader = dataStream.getReader();
|
|
286
|
+
* for await (const chunk of reader) {
|
|
287
|
+
* console.log('Chunk:', chunk);
|
|
288
|
+
* }
|
|
289
|
+
* ```
|
|
290
|
+
*/
|
|
291
|
+
create(namespace: string, props?: CreateStreamProps): Promise<Stream>;
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Get stream metadata by ID
|
|
295
|
+
*
|
|
296
|
+
* @param id - the stream ID
|
|
297
|
+
* @returns a Promise that resolves to the stream information
|
|
298
|
+
*
|
|
299
|
+
* @example
|
|
300
|
+
* ```typescript
|
|
301
|
+
* const stream = await streams.get('stream_0199a52b06e3767dbe2f10afabb5e5e4');
|
|
302
|
+
* console.log(`Namespace: ${stream.namespace}, Size: ${stream.sizeBytes} bytes`);
|
|
303
|
+
* ```
|
|
304
|
+
*/
|
|
305
|
+
get(id: string): Promise<StreamInfo>;
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Download stream content
|
|
309
|
+
*
|
|
310
|
+
* @param id - the stream ID to download
|
|
311
|
+
* @returns a Promise that resolves to a ReadableStream of the content
|
|
312
|
+
*
|
|
313
|
+
* @example
|
|
314
|
+
* ```typescript
|
|
315
|
+
* const readable = await streams.download('stream_0199a52b06e3767dbe2f10afabb5e5e4');
|
|
316
|
+
* // Pipe to a file or process the stream
|
|
317
|
+
* ```
|
|
318
|
+
*/
|
|
319
|
+
download(id: string): Promise<ReadableStream<Uint8Array>>;
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* List streams with optional filtering and pagination
|
|
323
|
+
*
|
|
324
|
+
* @param params - optional parameters for filtering and pagination
|
|
325
|
+
* @returns a Promise that resolves to the list of streams with metadata
|
|
326
|
+
*
|
|
327
|
+
* @example
|
|
328
|
+
* ```typescript
|
|
329
|
+
* // List all streams
|
|
330
|
+
* const all = await streams.list();
|
|
331
|
+
* console.log(`Found ${all.total} streams`);
|
|
332
|
+
*
|
|
333
|
+
* // Filter by namespace
|
|
334
|
+
* const logs = await streams.list({ namespace: 'agent-logs' });
|
|
335
|
+
*
|
|
336
|
+
* // Filter by metadata and paginate
|
|
337
|
+
* const filtered = await streams.list({
|
|
338
|
+
* metadata: { type: 'export' },
|
|
339
|
+
* limit: 50,
|
|
340
|
+
* offset: 100
|
|
341
|
+
* });
|
|
342
|
+
*
|
|
343
|
+
* for (const stream of filtered.streams) {
|
|
344
|
+
* console.log(`${stream.namespace}: ${stream.sizeBytes} bytes at ${stream.url}`);
|
|
345
|
+
* }
|
|
346
|
+
* ```
|
|
347
|
+
*/
|
|
348
|
+
list(params?: ListStreamsParams): Promise<ListStreamsResponse>;
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* Delete a stream by its ID
|
|
352
|
+
*
|
|
353
|
+
* @param id - the stream ID to delete
|
|
354
|
+
* @returns a Promise that resolves when the stream is deleted
|
|
355
|
+
*
|
|
356
|
+
* @example
|
|
357
|
+
* ```typescript
|
|
358
|
+
* await streams.delete('stream-id-123');
|
|
359
|
+
* ```
|
|
360
|
+
*/
|
|
361
|
+
delete(id: string): Promise<void>;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
const encoder = new TextEncoder();
|
|
365
|
+
|
|
366
|
+
const ReadStreamFailedError = StructuredError('ReadStreamFailedError')<{ status: number }>();
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* A writable stream implementation using composition (browser-compatible)
|
|
370
|
+
* This approach works across all environments since native WritableStream can't be properly extended
|
|
371
|
+
*/
|
|
372
|
+
class StreamImpl implements Stream {
|
|
373
|
+
public readonly id: string;
|
|
374
|
+
public readonly url: string;
|
|
375
|
+
readonly #writable: WritableStream<Uint8Array>;
|
|
376
|
+
#compressed: boolean;
|
|
377
|
+
#adapter: FetchAdapter;
|
|
378
|
+
#sink: UnderlyingSinkState;
|
|
379
|
+
#closed = false;
|
|
380
|
+
|
|
381
|
+
constructor(
|
|
382
|
+
id: string,
|
|
383
|
+
url: string,
|
|
384
|
+
compressed: boolean,
|
|
385
|
+
sink: UnderlyingSinkState,
|
|
386
|
+
writable: WritableStream<Uint8Array>,
|
|
387
|
+
adapter: FetchAdapter
|
|
388
|
+
) {
|
|
389
|
+
this.id = id;
|
|
390
|
+
this.url = url;
|
|
391
|
+
this.#compressed = compressed;
|
|
392
|
+
this.#adapter = adapter;
|
|
393
|
+
this.#sink = sink;
|
|
394
|
+
this.#writable = writable;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
get bytesWritten(): number {
|
|
398
|
+
return this.#sink.total;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
get compressed(): boolean {
|
|
402
|
+
return this.#compressed;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
// WritableStream interface properties
|
|
406
|
+
get locked(): boolean {
|
|
407
|
+
return this.#writable.locked;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
/**
|
|
411
|
+
* Write data to the stream
|
|
412
|
+
*/
|
|
413
|
+
async write(chunk: string | Uint8Array | ArrayBuffer | object): Promise<void> {
|
|
414
|
+
let binaryChunk: Uint8Array;
|
|
415
|
+
if (chunk instanceof Uint8Array) {
|
|
416
|
+
binaryChunk = chunk;
|
|
417
|
+
} else if (typeof chunk === 'string') {
|
|
418
|
+
binaryChunk = encoder.encode(chunk);
|
|
419
|
+
} else if (chunk instanceof ArrayBuffer) {
|
|
420
|
+
binaryChunk = new Uint8Array(chunk);
|
|
421
|
+
} else if (typeof chunk === 'object' && chunk !== null) {
|
|
422
|
+
binaryChunk = encoder.encode(safeStringify(chunk));
|
|
423
|
+
} else {
|
|
424
|
+
binaryChunk = encoder.encode(String(chunk));
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
// Delegate to the underlying sink's write method
|
|
428
|
+
await this.#sink.write(binaryChunk);
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* Close the stream gracefully, handling already closed streams without error
|
|
433
|
+
*/
|
|
434
|
+
async close(): Promise<void> {
|
|
435
|
+
if (this.#closed) {
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
438
|
+
this.#closed = true;
|
|
439
|
+
|
|
440
|
+
try {
|
|
441
|
+
await this.#sink.close();
|
|
442
|
+
} catch (error) {
|
|
443
|
+
// If we get a TypeError about the stream being closed, locked, or errored,
|
|
444
|
+
// that means pipeTo() or another operation already closed it or it's in use
|
|
445
|
+
if (
|
|
446
|
+
error instanceof TypeError &&
|
|
447
|
+
(error.message.includes('closed') ||
|
|
448
|
+
error.message.includes('errored') ||
|
|
449
|
+
error.message.includes('Cannot close'))
|
|
450
|
+
) {
|
|
451
|
+
// Silently return - this is the desired behavior
|
|
452
|
+
return;
|
|
453
|
+
}
|
|
454
|
+
// If the stream is locked, try to close the underlying writer
|
|
455
|
+
if (error instanceof TypeError && error.message.includes('locked')) {
|
|
456
|
+
// Best-effort closure for locked streams
|
|
457
|
+
return;
|
|
458
|
+
}
|
|
459
|
+
// Re-throw any other errors
|
|
460
|
+
throw error;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
/**
|
|
465
|
+
* Abort the stream with an optional reason
|
|
466
|
+
*/
|
|
467
|
+
abort(reason?: unknown): Promise<void> {
|
|
468
|
+
return this.#writable.abort(reason);
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Get a writer for the underlying stream
|
|
473
|
+
*/
|
|
474
|
+
getWriter(): WritableStreamDefaultWriter<Uint8Array> {
|
|
475
|
+
return this.#writable.getWriter();
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
/**
|
|
479
|
+
* Get a ReadableStream that streams from the internal URL
|
|
480
|
+
*
|
|
481
|
+
* Note: This method will block waiting for data until writes start to the Stream.
|
|
482
|
+
* The returned ReadableStream will remain open until the Stream is closed or an error occurs.
|
|
483
|
+
*
|
|
484
|
+
* @returns a ReadableStream that can be passed to response.stream()
|
|
485
|
+
*/
|
|
486
|
+
getReader(): ReadableStream<Uint8Array> {
|
|
487
|
+
const url = this.url;
|
|
488
|
+
const adapter = this.#adapter;
|
|
489
|
+
let ac: AbortController | null = null;
|
|
490
|
+
// Use native ReadableStream to avoid polyfill interference
|
|
491
|
+
return new NativeReadableStream({
|
|
492
|
+
async start(controller) {
|
|
493
|
+
try {
|
|
494
|
+
ac = new AbortController();
|
|
495
|
+
const res = await adapter.invoke(url, {
|
|
496
|
+
method: 'GET',
|
|
497
|
+
signal: ac.signal,
|
|
498
|
+
binary: true,
|
|
499
|
+
});
|
|
500
|
+
|
|
501
|
+
const response = res.response;
|
|
502
|
+
|
|
503
|
+
if (!res.ok) {
|
|
504
|
+
controller.error(
|
|
505
|
+
new ReadStreamFailedError({
|
|
506
|
+
status: response.status,
|
|
507
|
+
message: `Failed to read stream: ${response.status} ${response.statusText}`,
|
|
508
|
+
})
|
|
509
|
+
);
|
|
510
|
+
return;
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
if (!response.body) {
|
|
514
|
+
controller.error(
|
|
515
|
+
new ReadStreamFailedError({
|
|
516
|
+
status: response.status,
|
|
517
|
+
message: 'Response body was null',
|
|
518
|
+
})
|
|
519
|
+
);
|
|
520
|
+
return;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
const reader = response.body.getReader();
|
|
524
|
+
try {
|
|
525
|
+
// Iterative read to avoid recursive promise chains
|
|
526
|
+
while (true) {
|
|
527
|
+
const { done, value } = await reader.read();
|
|
528
|
+
if (done) break;
|
|
529
|
+
if (value) controller.enqueue(value);
|
|
530
|
+
}
|
|
531
|
+
controller.close();
|
|
532
|
+
} catch (error) {
|
|
533
|
+
controller.error(error);
|
|
534
|
+
}
|
|
535
|
+
} catch (error) {
|
|
536
|
+
controller.error(error);
|
|
537
|
+
}
|
|
538
|
+
},
|
|
539
|
+
cancel(reason?: unknown) {
|
|
540
|
+
if (ac) {
|
|
541
|
+
ac.abort(reason);
|
|
542
|
+
ac = null;
|
|
543
|
+
}
|
|
544
|
+
},
|
|
545
|
+
});
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
const StreamAPIError = StructuredError('StreamAPIError')<{ status: number }>();
|
|
550
|
+
|
|
551
|
+
/**
|
|
552
|
+
* Check if compression is available in the current environment.
|
|
553
|
+
* CompressionStream is available in:
|
|
554
|
+
* - Node.js 18+ (via stream/web)
|
|
555
|
+
* - Chrome 80+
|
|
556
|
+
* - Safari 16.4+
|
|
557
|
+
* - Firefox 113+
|
|
558
|
+
*/
|
|
559
|
+
function isCompressionAvailable(): boolean {
|
|
560
|
+
return typeof NativeCompressionStream !== 'undefined' && NativeCompressionStream !== null;
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
/**
|
|
564
|
+
* State object that handles streaming to the backend using the append API.
|
|
565
|
+
* Each write() call sends data immediately via a separate HTTP POST request,
|
|
566
|
+
* enabling real-time streaming without buffering issues.
|
|
567
|
+
*/
|
|
568
|
+
class UnderlyingSinkState {
|
|
569
|
+
adapter: FetchAdapter;
|
|
570
|
+
total = 0;
|
|
571
|
+
closed = false;
|
|
572
|
+
url: string;
|
|
573
|
+
props?: CreateStreamProps;
|
|
574
|
+
compressionEnabled = false;
|
|
575
|
+
writable: WritableStream<Uint8Array> | null = null;
|
|
576
|
+
|
|
577
|
+
constructor(url: string, adapter: FetchAdapter, props?: CreateStreamProps) {
|
|
578
|
+
this.url = url;
|
|
579
|
+
this.adapter = adapter;
|
|
580
|
+
this.props = props;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
async start(): Promise<WritableStream<Uint8Array>> {
|
|
584
|
+
// Check if compression is enabled and available
|
|
585
|
+
this.compressionEnabled = !!(this.props?.compress && isCompressionAvailable());
|
|
586
|
+
|
|
587
|
+
// Create a WritableStream that wraps our append-based write
|
|
588
|
+
this.writable = new NativeWritableStream<Uint8Array>({
|
|
589
|
+
write: async (chunk) => {
|
|
590
|
+
await this.write(chunk);
|
|
591
|
+
},
|
|
592
|
+
close: async () => {
|
|
593
|
+
await this.close();
|
|
594
|
+
},
|
|
595
|
+
abort: async (reason) => {
|
|
596
|
+
await this.abort(reason);
|
|
597
|
+
},
|
|
598
|
+
});
|
|
599
|
+
|
|
600
|
+
return this.writable;
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
async write(chunk: Uint8Array) {
|
|
604
|
+
if (this.closed) {
|
|
605
|
+
return;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
// Note: For append-based streaming, we don't compress individual chunks
|
|
609
|
+
// because each would become a separate gzip stream that can't be concatenated.
|
|
610
|
+
// Instead, compression is handled server-side during the complete phase.
|
|
611
|
+
this.total += chunk.length;
|
|
612
|
+
|
|
613
|
+
// Send the chunk immediately via POST to /append endpoint
|
|
614
|
+
const appendUrl = `${this.url}/append`;
|
|
615
|
+
const signal = AbortSignal.timeout(30_000);
|
|
616
|
+
|
|
617
|
+
const res = await this.adapter.invoke(appendUrl, {
|
|
618
|
+
method: 'POST',
|
|
619
|
+
headers: {
|
|
620
|
+
'Content-Type': 'application/octet-stream',
|
|
621
|
+
},
|
|
622
|
+
body: chunk,
|
|
623
|
+
signal,
|
|
624
|
+
});
|
|
625
|
+
|
|
626
|
+
if (!res.ok) {
|
|
627
|
+
throw new StreamAPIError({
|
|
628
|
+
status: res.response.status,
|
|
629
|
+
message: `Append request failed: ${res.response.status} ${res.response.statusText}`,
|
|
630
|
+
});
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
async close() {
|
|
635
|
+
if (this.closed) {
|
|
636
|
+
return;
|
|
637
|
+
}
|
|
638
|
+
this.closed = true;
|
|
639
|
+
|
|
640
|
+
// Call the complete endpoint to finalize the stream
|
|
641
|
+
// Pass compress flag to request server-side compression
|
|
642
|
+
const completeUrl = `${this.url}/complete`;
|
|
643
|
+
const signal = AbortSignal.timeout(60_000); // Longer timeout for compression
|
|
644
|
+
|
|
645
|
+
const headers: Record<string, string> = {};
|
|
646
|
+
if (this.compressionEnabled) {
|
|
647
|
+
headers['X-Compress'] = 'gzip';
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
const res = await this.adapter.invoke(completeUrl, {
|
|
651
|
+
method: 'POST',
|
|
652
|
+
headers,
|
|
653
|
+
signal,
|
|
654
|
+
});
|
|
655
|
+
|
|
656
|
+
if (!res.ok) {
|
|
657
|
+
throw new StreamAPIError({
|
|
658
|
+
status: res.response.status,
|
|
659
|
+
message: `Complete request failed: ${res.response.status} ${res.response.statusText}`,
|
|
660
|
+
});
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
async abort(_reason?: unknown) {
|
|
665
|
+
this.closed = true;
|
|
666
|
+
// For append-based streaming, abort is a no-op since each request is independent
|
|
667
|
+
// The stream will simply be incomplete if not all chunks were sent
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
const StreamNamespaceInvalidError = StructuredError(
|
|
672
|
+
'StreamNamespaceInvalidError',
|
|
673
|
+
'Stream namespace must be between 1 and 254 characters'
|
|
674
|
+
);
|
|
675
|
+
|
|
676
|
+
const StreamLimitInvalidError = StructuredError(
|
|
677
|
+
'StreamLimitInvalidError',
|
|
678
|
+
'Stream limit must be greater than 0 and less than or equal to 1000'
|
|
679
|
+
);
|
|
680
|
+
|
|
681
|
+
const StreamIDRequiredError = StructuredError(
|
|
682
|
+
'StreamIDRequiredError',
|
|
683
|
+
'Stream id is required and must be a non-empty string'
|
|
684
|
+
);
|
|
685
|
+
|
|
686
|
+
export class StreamStorageService implements StreamStorage {
|
|
687
|
+
#adapter: FetchAdapter;
|
|
688
|
+
#baseUrl: string;
|
|
689
|
+
|
|
690
|
+
constructor(baseUrl: string, adapter: FetchAdapter) {
|
|
691
|
+
this.#adapter = adapter;
|
|
692
|
+
this.#baseUrl = baseUrl;
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
async create(namespace: string, props?: CreateStreamProps): Promise<Stream> {
|
|
696
|
+
if (!namespace || namespace.length < 1 || namespace.length > 254) {
|
|
697
|
+
throw new StreamNamespaceInvalidError();
|
|
698
|
+
}
|
|
699
|
+
const url = this.#baseUrl;
|
|
700
|
+
const signal = AbortSignal.timeout(30_000); // 30s timeout for Neon cold starts;
|
|
701
|
+
const attributes: Record<string, string> = {
|
|
702
|
+
namespace,
|
|
703
|
+
};
|
|
704
|
+
if (!props?.contentType) {
|
|
705
|
+
props = props ?? {};
|
|
706
|
+
props.contentType = 'application/octet-stream';
|
|
707
|
+
}
|
|
708
|
+
if (props?.metadata) {
|
|
709
|
+
attributes['metadata'] = JSON.stringify(props.metadata);
|
|
710
|
+
}
|
|
711
|
+
if (props?.contentType) {
|
|
712
|
+
attributes['stream.content_type'] = props.contentType;
|
|
713
|
+
}
|
|
714
|
+
// Map namespace to name for the API (backend still uses 'name')
|
|
715
|
+
// Note: Pulse expects content-type in the headers object, not as a separate contentType field
|
|
716
|
+
const headers: Record<string, string> = {};
|
|
717
|
+
if (props?.contentType) {
|
|
718
|
+
headers['content-type'] = props.contentType;
|
|
719
|
+
}
|
|
720
|
+
const body = JSON.stringify({
|
|
721
|
+
name: namespace,
|
|
722
|
+
...(props?.metadata && { metadata: props.metadata }),
|
|
723
|
+
...(Object.keys(headers).length > 0 && { headers }),
|
|
724
|
+
// TTL handling: only include if explicitly provided
|
|
725
|
+
// null or 0 = no expiration, positive = TTL in seconds
|
|
726
|
+
// undefined = not sent, server uses default (30 days)
|
|
727
|
+
...(props?.ttl !== undefined && { ttl: props.ttl === null ? 0 : props.ttl }),
|
|
728
|
+
});
|
|
729
|
+
const res = await this.#adapter.invoke<{ id: string }>(url, {
|
|
730
|
+
method: 'POST',
|
|
731
|
+
body,
|
|
732
|
+
contentType: 'application/json',
|
|
733
|
+
signal,
|
|
734
|
+
telemetry: {
|
|
735
|
+
name: 'agentuity.stream.create',
|
|
736
|
+
attributes,
|
|
737
|
+
},
|
|
738
|
+
});
|
|
739
|
+
if (res.ok) {
|
|
740
|
+
const streamUrl = buildUrl(this.#baseUrl, res.data.id);
|
|
741
|
+
const sink = new UnderlyingSinkState(streamUrl, this.#adapter, props);
|
|
742
|
+
// Initialize the sink (start the PUT request) and get the writable stream
|
|
743
|
+
const writable = await sink.start();
|
|
744
|
+
|
|
745
|
+
const stream = new StreamImpl(
|
|
746
|
+
res.data.id,
|
|
747
|
+
streamUrl,
|
|
748
|
+
sink.compressionEnabled,
|
|
749
|
+
sink,
|
|
750
|
+
writable,
|
|
751
|
+
this.#adapter
|
|
752
|
+
);
|
|
753
|
+
|
|
754
|
+
return stream;
|
|
755
|
+
}
|
|
756
|
+
throw await toServiceException('POST', url, res.response);
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
async list(params?: ListStreamsParams): Promise<ListStreamsResponse> {
|
|
760
|
+
const attributes: Record<string, string> = {};
|
|
761
|
+
if (params?.limit !== undefined) {
|
|
762
|
+
if (params.limit <= 0 || params.limit > 1000) {
|
|
763
|
+
throw new StreamLimitInvalidError();
|
|
764
|
+
}
|
|
765
|
+
attributes['limit'] = String(params.limit);
|
|
766
|
+
}
|
|
767
|
+
if (params?.offset !== undefined) {
|
|
768
|
+
attributes['offset'] = String(params.offset);
|
|
769
|
+
}
|
|
770
|
+
if (params?.namespace) {
|
|
771
|
+
attributes['namespace'] = params.namespace;
|
|
772
|
+
}
|
|
773
|
+
if (params?.name) {
|
|
774
|
+
attributes['name'] = params.name;
|
|
775
|
+
}
|
|
776
|
+
if (params?.metadata) {
|
|
777
|
+
attributes['metadata'] = JSON.stringify(params.metadata);
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
// Map namespace to name for the API (backend still uses 'name')
|
|
781
|
+
const requestBody: Record<string, unknown> = {};
|
|
782
|
+
if (params?.namespace) {
|
|
783
|
+
requestBody.name = params.namespace;
|
|
784
|
+
} else if (params?.name) {
|
|
785
|
+
requestBody.name = params.name;
|
|
786
|
+
}
|
|
787
|
+
if (params?.metadata) {
|
|
788
|
+
requestBody.metadata = params.metadata;
|
|
789
|
+
}
|
|
790
|
+
if (params?.limit) {
|
|
791
|
+
requestBody.limit = params.limit;
|
|
792
|
+
}
|
|
793
|
+
if (params?.offset) {
|
|
794
|
+
requestBody.offset = params.offset;
|
|
795
|
+
}
|
|
796
|
+
if (params?.sort) {
|
|
797
|
+
requestBody.sort = params.sort;
|
|
798
|
+
}
|
|
799
|
+
if (params?.direction) {
|
|
800
|
+
requestBody.direction = params.direction;
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
const signal = AbortSignal.timeout(30_000);
|
|
804
|
+
const url = buildUrl(this.#baseUrl, 'list');
|
|
805
|
+
const res = await this.#adapter.invoke<{
|
|
806
|
+
success: boolean;
|
|
807
|
+
message?: string;
|
|
808
|
+
streams: Array<{
|
|
809
|
+
id: string;
|
|
810
|
+
name: string;
|
|
811
|
+
metadata: Record<string, string>;
|
|
812
|
+
url: string;
|
|
813
|
+
size_bytes: number;
|
|
814
|
+
expires_at?: string;
|
|
815
|
+
}>;
|
|
816
|
+
total: number;
|
|
817
|
+
}>(url, {
|
|
818
|
+
method: 'POST',
|
|
819
|
+
signal,
|
|
820
|
+
body: JSON.stringify(requestBody),
|
|
821
|
+
contentType: 'application/json',
|
|
822
|
+
telemetry: {
|
|
823
|
+
name: 'agentuity.stream.list',
|
|
824
|
+
attributes,
|
|
825
|
+
},
|
|
826
|
+
});
|
|
827
|
+
if (res.ok) {
|
|
828
|
+
// Transform snake_case to camelCase and map name to namespace
|
|
829
|
+
return {
|
|
830
|
+
success: res.data.success,
|
|
831
|
+
message: res.data.message,
|
|
832
|
+
streams: res.data.streams.map((s) => ({
|
|
833
|
+
id: s.id,
|
|
834
|
+
namespace: s.name,
|
|
835
|
+
metadata: s.metadata ?? {},
|
|
836
|
+
url: s.url,
|
|
837
|
+
sizeBytes: s.size_bytes,
|
|
838
|
+
expiresAt: s.expires_at ?? null,
|
|
839
|
+
})),
|
|
840
|
+
total: res.data.total,
|
|
841
|
+
};
|
|
842
|
+
}
|
|
843
|
+
throw await toServiceException('POST', url, res.response);
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
async get(id: string): Promise<StreamInfo> {
|
|
847
|
+
if (!id || typeof id !== 'string' || id.trim().length === 0) {
|
|
848
|
+
throw new StreamIDRequiredError();
|
|
849
|
+
}
|
|
850
|
+
const signal = AbortSignal.timeout(30_000);
|
|
851
|
+
const url = buildUrl(this.#baseUrl, id, 'info');
|
|
852
|
+
const res = await this.#adapter.invoke<{
|
|
853
|
+
id: string;
|
|
854
|
+
name: string;
|
|
855
|
+
metadata: Record<string, string>;
|
|
856
|
+
url: string;
|
|
857
|
+
size_bytes: number;
|
|
858
|
+
expires_at?: string;
|
|
859
|
+
}>(url, {
|
|
860
|
+
method: 'POST',
|
|
861
|
+
signal,
|
|
862
|
+
body: '{}',
|
|
863
|
+
contentType: 'application/json',
|
|
864
|
+
telemetry: {
|
|
865
|
+
name: 'agentuity.stream.get',
|
|
866
|
+
attributes: {
|
|
867
|
+
'stream.id': id,
|
|
868
|
+
},
|
|
869
|
+
},
|
|
870
|
+
});
|
|
871
|
+
if (res.ok) {
|
|
872
|
+
// Map name to namespace for the SDK interface
|
|
873
|
+
return {
|
|
874
|
+
id: res.data.id,
|
|
875
|
+
namespace: res.data.name,
|
|
876
|
+
metadata: res.data.metadata ?? {},
|
|
877
|
+
url: res.data.url,
|
|
878
|
+
sizeBytes: res.data.size_bytes,
|
|
879
|
+
expiresAt: res.data.expires_at ?? null,
|
|
880
|
+
};
|
|
881
|
+
}
|
|
882
|
+
throw await toServiceException('POST', url, res.response);
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
async download(id: string): Promise<ReadableStream<Uint8Array>> {
|
|
886
|
+
if (!id || typeof id !== 'string' || id.trim().length === 0) {
|
|
887
|
+
throw new StreamIDRequiredError();
|
|
888
|
+
}
|
|
889
|
+
const signal = AbortSignal.timeout(300_000); // 5 minutes for download
|
|
890
|
+
const url = buildUrl(this.#baseUrl, id);
|
|
891
|
+
const res = await this.#adapter.invoke(url, {
|
|
892
|
+
method: 'GET',
|
|
893
|
+
signal,
|
|
894
|
+
binary: true,
|
|
895
|
+
telemetry: {
|
|
896
|
+
name: 'agentuity.stream.download',
|
|
897
|
+
attributes: {
|
|
898
|
+
'stream.id': id,
|
|
899
|
+
},
|
|
900
|
+
},
|
|
901
|
+
});
|
|
902
|
+
if (res.ok && res.response.body) {
|
|
903
|
+
return res.response.body;
|
|
904
|
+
}
|
|
905
|
+
throw await toServiceException('GET', url, res.response);
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
async delete(id: string): Promise<void> {
|
|
909
|
+
if (!id || typeof id !== 'string' || id.trim().length === 0) {
|
|
910
|
+
throw new StreamIDRequiredError();
|
|
911
|
+
}
|
|
912
|
+
const signal = AbortSignal.timeout(30_000);
|
|
913
|
+
const url = buildUrl(this.#baseUrl, id);
|
|
914
|
+
const res = await this.#adapter.invoke<void>(url, {
|
|
915
|
+
method: 'DELETE',
|
|
916
|
+
signal,
|
|
917
|
+
telemetry: {
|
|
918
|
+
name: 'agentuity.stream.delete',
|
|
919
|
+
attributes: {
|
|
920
|
+
'stream.id': id,
|
|
921
|
+
},
|
|
922
|
+
},
|
|
923
|
+
});
|
|
924
|
+
if (res.ok) {
|
|
925
|
+
return;
|
|
926
|
+
}
|
|
927
|
+
throw await toServiceException('DELETE', url, res.response);
|
|
928
|
+
}
|
|
929
|
+
}
|