@agentuity/core 1.0.32 → 1.0.34
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/env-example.d.ts +11 -0
- package/dist/env-example.d.ts.map +1 -0
- package/dist/env-example.js +70 -0
- package/dist/env-example.js.map +1 -0
- package/dist/index.d.ts +6 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -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 +19 -0
- package/dist/services/apikey/delete.d.ts.map +1 -0
- package/dist/services/apikey/delete.js +19 -0
- package/dist/services/apikey/delete.js.map +1 -0
- package/dist/services/apikey/get.d.ts +45 -0
- package/dist/services/apikey/get.d.ts.map +1 -0
- package/dist/services/apikey/get.js +36 -0
- package/dist/services/apikey/get.js.map +1 -0
- package/dist/services/apikey/index.d.ts +6 -0
- package/dist/services/apikey/index.d.ts.map +1 -0
- package/dist/services/apikey/index.js +6 -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 +23 -0
- package/dist/services/apikey/util.d.ts.map +1 -0
- package/dist/services/apikey/util.js +3 -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 +5 -0
- package/dist/services/db/index.d.ts.map +1 -0
- package/dist/services/db/index.js +5 -0
- package/dist/services/db/index.js.map +1 -0
- package/dist/services/db/logs.d.ts +70 -0
- package/dist/services/db/logs.d.ts.map +1 -0
- package/dist/services/db/logs.js +59 -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/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 +31 -0
- package/dist/services/db/util.d.ts.map +1 -0
- package/dist/services/db/util.js +4 -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.d.ts → email/service.d.ts} +137 -296
- package/dist/services/email/service.d.ts.map +1 -0
- package/dist/services/{email.js → email/service.js} +403 -18
- package/dist/services/email/service.js.map +1 -0
- package/dist/services/env.d.ts +5 -0
- package/dist/services/env.d.ts.map +1 -0
- package/dist/services/env.js +10 -0
- package/dist/services/env.js.map +1 -0
- package/dist/services/{evalrun.d.ts → eval/events.d.ts} +1 -1
- package/dist/services/eval/events.d.ts.map +1 -0
- package/dist/services/{evalrun.js → eval/events.js} +1 -1
- package/dist/services/eval/events.js.map +1 -0
- package/dist/services/eval/get.d.ts +36 -0
- package/dist/services/eval/get.d.ts.map +1 -0
- package/dist/services/eval/get.js +23 -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 +50 -0
- package/dist/services/eval/list.d.ts.map +1 -0
- package/dist/services/eval/list.js +32 -0
- package/dist/services/eval/list.js.map +1 -0
- package/dist/services/eval/run-get.d.ts +48 -0
- package/dist/services/eval/run-get.d.ts.map +1 -0
- package/dist/services/eval/run-get.js +29 -0
- package/dist/services/eval/run-get.js.map +1 -0
- package/dist/services/eval/run-list.d.ts +70 -0
- package/dist/services/eval/run-list.d.ts.map +1 -0
- package/dist/services/eval/run-list.js +42 -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.d.ts → keyvalue/service.d.ts} +98 -120
- package/dist/services/keyvalue/service.d.ts.map +1 -0
- package/dist/services/{keyvalue.js → keyvalue/service.js} +182 -12
- package/dist/services/keyvalue/service.js.map +1 -0
- package/dist/services/logger.d.ts +7 -0
- package/dist/services/logger.d.ts.map +1 -0
- package/dist/services/logger.js +23 -0
- package/dist/services/logger.js.map +1 -0
- package/dist/services/machine/index.d.ts +3 -0
- package/dist/services/machine/index.d.ts.map +1 -0
- package/dist/services/machine/index.js +3 -0
- package/dist/services/machine/index.js.map +1 -0
- package/dist/services/machine/machine.d.ts +192 -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 +14 -0
- package/dist/services/machine/util.d.ts.map +1 -0
- package/dist/services/machine/util.js +3 -0
- package/dist/services/machine/util.js.map +1 -0
- package/dist/services/org/env-delete.d.ts +23 -0
- package/dist/services/org/env-delete.d.ts.map +1 -0
- package/dist/services/org/env-delete.js +25 -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 +24 -0
- package/dist/services/org/env-update.d.ts.map +1 -0
- package/dist/services/org/env-update.js +26 -0
- package/dist/services/org/env-update.js.map +1 -0
- package/dist/services/org/index.d.ts +7 -0
- package/dist/services/org/index.d.ts.map +1 -0
- package/dist/services/org/index.js +7 -0
- package/dist/services/org/index.js.map +1 -0
- package/dist/services/org/list.d.ts +27 -0
- package/dist/services/org/list.d.ts.map +1 -0
- package/dist/services/org/list.js +22 -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 +45 -0
- package/dist/services/org/util.d.ts.map +1 -0
- package/dist/services/org/util.js +4 -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 +89 -0
- package/dist/services/project/agent.d.ts.map +1 -0
- package/dist/services/project/agent.js +60 -0
- package/dist/services/project/agent.js.map +1 -0
- package/dist/services/project/create.d.ts +37 -0
- package/dist/services/project/create.d.ts.map +1 -0
- package/dist/services/project/create.js +31 -0
- package/dist/services/project/create.js.map +1 -0
- package/dist/services/project/delete.d.ts +15 -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 +313 -0
- package/dist/services/project/deploy.js.map +1 -0
- package/dist/services/project/deployment.d.ts +237 -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 +22 -0
- package/dist/services/project/env-delete.d.ts.map +1 -0
- package/dist/services/project/env-delete.js +29 -0
- package/dist/services/project/env-delete.js.map +1 -0
- package/dist/services/project/env-update.d.ts +31 -0
- package/dist/services/project/env-update.d.ts.map +1 -0
- package/dist/services/project/env-update.js +36 -0
- package/dist/services/project/env-update.js.map +1 -0
- package/dist/services/project/exists.d.ts +25 -0
- package/dist/services/project/exists.d.ts.map +1 -0
- package/dist/services/project/exists.js +45 -0
- package/dist/services/project/exists.js.map +1 -0
- package/dist/services/project/get.d.ts +43 -0
- package/dist/services/project/get.d.ts.map +1 -0
- package/dist/services/project/get.js +36 -0
- package/dist/services/project/get.js.map +1 -0
- package/dist/services/project/hostname.d.ts +25 -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 +14 -0
- package/dist/services/project/index.d.ts.map +1 -0
- package/dist/services/project/index.js +14 -0
- package/dist/services/project/index.js.map +1 -0
- package/dist/services/project/list.d.ts +48 -0
- package/dist/services/project/list.d.ts.map +1 -0
- package/dist/services/project/list.js +38 -0
- package/dist/services/project/list.js.map +1 -0
- package/dist/services/project/malware.d.ts +71 -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 +27 -0
- package/dist/services/project/update-region.d.ts.map +1 -0
- package/dist/services/project/update-region.js +25 -0
- package/dist/services/project/update-region.js.map +1 -0
- package/dist/services/project/util.d.ts +62 -0
- package/dist/services/project/util.d.ts.map +1 -0
- package/dist/services/project/util.js +6 -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 +166 -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 +549 -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 +321 -0
- package/dist/services/queue/queues.js.map +1 -0
- package/dist/services/{queue.d.ts → queue/service.d.ts} +44 -96
- package/dist/services/queue/service.d.ts.map +1 -0
- package/dist/services/{queue.js → queue/service.js} +154 -6
- 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 +1376 -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 +472 -0
- package/dist/services/queue/websocket.js.map +1 -0
- package/dist/services/region/create.d.ts +81 -0
- package/dist/services/region/create.d.ts.map +1 -0
- package/dist/services/region/create.js +177 -0
- package/dist/services/region/create.js.map +1 -0
- package/dist/services/region/delete.d.ts +62 -0
- package/dist/services/region/delete.d.ts.map +1 -0
- package/dist/services/region/delete.js +37 -0
- package/dist/services/region/delete.js.map +1 -0
- package/dist/services/region/index.d.ts +5 -0
- package/dist/services/region/index.d.ts.map +1 -0
- package/dist/services/region/index.js +5 -0
- package/dist/services/region/index.js.map +1 -0
- package/dist/services/region/list.d.ts +27 -0
- package/dist/services/region/list.d.ts.map +1 -0
- package/dist/services/region/list.js +22 -0
- package/dist/services/region/list.js.map +1 -0
- package/dist/services/region/resources.d.ts +71 -0
- package/dist/services/region/resources.d.ts.map +1 -0
- package/dist/services/region/resources.js +53 -0
- package/dist/services/region/resources.js.map +1 -0
- package/dist/services/region/util.d.ts +23 -0
- package/dist/services/region/util.d.ts.map +1 -0
- package/dist/services/region/util.js +3 -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 +48 -0
- package/dist/services/sandbox/snapshot-build.d.ts.map +1 -0
- package/dist/services/sandbox/snapshot-build.js +72 -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.d.ts → schedule/service.d.ts} +150 -212
- package/dist/services/schedule/service.d.ts.map +1 -0
- package/dist/services/{schedule.js → schedule/service.js} +286 -12
- package/dist/services/schedule/service.js.map +1 -0
- package/dist/services/{session.d.ts → session/events.d.ts} +5 -5
- package/dist/services/session/events.d.ts.map +1 -0
- package/dist/services/{session.js → session/events.js} +1 -1
- 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 +56 -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 +40 -0
- package/dist/services/session/logs.d.ts.map +1 -0
- package/dist/services/session/logs.js +28 -0
- package/dist/services/session/logs.js.map +1 -0
- package/dist/services/session/util.d.ts +23 -0
- package/dist/services/session/util.d.ts.map +1 -0
- package/dist/services/session/util.js +3 -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 +99 -0
- package/dist/services/storage/config.d.ts.map +1 -0
- package/dist/services/storage/config.js +61 -0
- package/dist/services/storage/config.js.map +1 -0
- package/dist/services/storage/index.d.ts +5 -0
- package/dist/services/storage/index.d.ts.map +1 -0
- package/dist/services/storage/index.js +5 -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 +161 -0
- package/dist/services/storage/types.d.ts.map +1 -0
- package/dist/services/storage/types.js +141 -0
- package/dist/services/storage/types.js.map +1 -0
- package/dist/services/storage/util.d.ts +45 -0
- package/dist/services/storage/util.d.ts.map +1 -0
- package/dist/services/storage/util.js +4 -0
- package/dist/services/storage/util.js.map +1 -0
- package/dist/services/stream/get.d.ts +58 -0
- package/dist/services/stream/get.d.ts.map +1 -0
- package/dist/services/stream/get.js +40 -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.d.ts → stream/service.d.ts} +62 -91
- package/dist/services/stream/service.d.ts.map +1 -0
- package/dist/services/{stream.js → stream/service.js} +137 -6
- package/dist/services/stream/service.js.map +1 -0
- package/dist/services/stream/util.d.ts +23 -0
- package/dist/services/stream/util.d.ts.map +1 -0
- package/dist/services/stream/util.js +3 -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.d.ts → task/service.d.ts} +591 -437
- package/dist/services/task/service.d.ts.map +1 -0
- package/dist/services/{task.js → task/service.js} +494 -4
- package/dist/services/task/service.js.map +1 -0
- package/dist/services/thread/delete.d.ts +23 -0
- package/dist/services/thread/delete.d.ts.map +1 -0
- package/dist/services/thread/delete.js +21 -0
- package/dist/services/thread/delete.js.map +1 -0
- package/dist/services/thread/get.d.ts +36 -0
- package/dist/services/thread/get.d.ts.map +1 -0
- package/dist/services/thread/get.js +23 -0
- package/dist/services/thread/get.js.map +1 -0
- package/dist/services/thread/index.d.ts +5 -0
- package/dist/services/thread/index.d.ts.map +1 -0
- package/dist/services/thread/index.js +5 -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 +23 -0
- package/dist/services/thread/util.d.ts.map +1 -0
- package/dist/services/thread/util.js +3 -0
- package/dist/services/thread/util.js.map +1 -0
- package/dist/services/user/index.d.ts +2 -0
- package/dist/services/user/index.d.ts.map +1 -0
- package/dist/services/user/index.js +2 -0
- package/dist/services/user/index.js.map +1 -0
- package/dist/services/user/util.d.ts +23 -0
- package/dist/services/user/util.d.ts.map +1 -0
- package/dist/services/user/util.js +3 -0
- package/dist/services/user/util.js.map +1 -0
- package/dist/services/user/whoami.d.ts +39 -0
- package/dist/services/user/whoami.d.ts.map +1 -0
- package/dist/services/user/whoami.js +27 -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.d.ts → vector/service.d.ts} +178 -217
- package/dist/services/vector/service.d.ts.map +1 -0
- package/dist/services/{vector.js → vector/service.js} +339 -13
- package/dist/services/vector/service.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 +79 -0
- package/dist/services/webhook/deliveries.js.map +1 -0
- package/dist/services/webhook/destinations.d.ts +136 -0
- package/dist/services/webhook/destinations.d.ts.map +1 -0
- package/dist/services/webhook/destinations.js +137 -0
- package/dist/services/webhook/destinations.js.map +1 -0
- package/dist/services/webhook/index.d.ts +42 -0
- package/dist/services/webhook/index.d.ts.map +1 -0
- package/dist/services/webhook/index.js +60 -0
- package/dist/services/webhook/index.js.map +1 -0
- package/dist/services/webhook/receipts.d.ts +77 -0
- package/dist/services/webhook/receipts.d.ts.map +1 -0
- package/dist/services/webhook/receipts.js +78 -0
- package/dist/services/webhook/receipts.js.map +1 -0
- package/dist/services/{webhook.d.ts → webhook/service.d.ts} +23 -144
- package/dist/services/webhook/service.d.ts.map +1 -0
- package/dist/services/{webhook.js → webhook/service.js} +15 -17
- package/dist/services/webhook/service.js.map +1 -0
- package/dist/services/webhook/types.d.ts +103 -0
- package/dist/services/webhook/types.d.ts.map +1 -0
- package/dist/services/webhook/types.js +126 -0
- package/dist/services/webhook/types.js.map +1 -0
- package/dist/services/webhook/util.d.ts +202 -0
- package/dist/services/webhook/util.d.ts.map +1 -0
- package/dist/services/webhook/util.js +199 -0
- package/dist/services/webhook/util.js.map +1 -0
- package/dist/services/webhook/webhooks.d.ts +146 -0
- package/dist/services/webhook/webhooks.d.ts.map +1 -0
- package/dist/services/webhook/webhooks.js +165 -0
- package/dist/services/webhook/webhooks.js.map +1 -0
- package/package.json +59 -7
- package/src/env-example.ts +90 -0
- package/src/index.ts +12 -250
- package/src/services/adapter.ts +69 -24
- package/src/services/api-example.md +164 -0
- package/src/services/api.ts +951 -0
- package/src/services/apikey/create.ts +48 -0
- package/src/services/apikey/delete.ts +30 -0
- package/src/services/apikey/get.ts +48 -0
- package/src/services/apikey/index.ts +5 -0
- package/src/services/apikey/list.ts +66 -0
- package/src/services/apikey/util.ts +3 -0
- package/src/services/config.ts +65 -0
- package/src/services/db/index.ts +27 -0
- package/src/services/db/logs.ts +75 -0
- package/src/services/db/query.ts +69 -0
- package/src/services/db/tables.ts +94 -0
- package/src/services/db/util.ts +9 -0
- package/src/services/email/index.ts +1 -0
- package/src/services/{email.ts → email/service.ts} +172 -115
- package/src/services/env.ts +9 -0
- package/src/services/eval/get.ts +33 -0
- package/src/services/eval/index.ts +29 -0
- package/src/services/eval/list.ts +49 -0
- package/src/services/eval/run-get.ts +39 -0
- package/src/services/eval/run-list.ts +59 -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.ts → keyvalue/service.ts} +149 -95
- package/src/services/logger.ts +24 -0
- package/src/services/machine/index.ts +2 -0
- package/src/services/machine/machine.ts +228 -0
- package/src/services/machine/util.ts +5 -0
- package/src/services/org/env-delete.ts +37 -0
- package/src/services/org/env-get.ts +48 -0
- package/src/services/org/env-update.ts +38 -0
- package/src/services/org/index.ts +6 -0
- package/src/services/org/list.ts +28 -0
- package/src/services/org/resources.ts +140 -0
- package/src/services/org/util.ts +4 -0
- package/src/services/pagination.ts +40 -11
- package/src/services/project/agent.ts +86 -0
- package/src/services/project/create.ts +47 -0
- 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/env-delete.ts +45 -0
- package/src/services/project/env-update.ts +55 -0
- package/src/services/project/exists.ts +58 -0
- package/src/services/project/get.ts +49 -0
- package/src/services/project/hostname.ts +79 -0
- package/src/services/project/index.ts +13 -0
- package/src/services/project/list.ts +54 -0
- package/src/services/project/malware.ts +85 -0
- package/src/services/project/update-region.ts +44 -0
- package/src/services/project/util.ts +8 -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/dlq.ts +243 -0
- package/src/services/queue/index.ts +339 -0
- package/src/services/queue/messages.ts +784 -0
- package/src/services/queue/queues.ts +460 -0
- package/src/services/{queue.ts → queue/service.ts} +71 -43
- package/src/services/queue/sources.ts +364 -0
- package/src/services/queue/types.ts +1656 -0
- package/src/services/queue/util.ts +275 -0
- package/src/services/queue/validation.ts +541 -0
- package/src/services/queue/websocket.ts +554 -0
- package/src/services/region/create.ts +207 -0
- package/src/services/region/delete.ts +57 -0
- package/src/services/region/index.ts +4 -0
- package/src/services/region/list.ts +32 -0
- package/src/services/region/resources.ts +69 -0
- package/src/services/region/util.ts +3 -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-build.ts +94 -0
- package/src/services/sandbox/snapshot.ts +791 -0
- package/src/services/sandbox/types.ts +799 -0
- package/src/services/sandbox/util.ts +279 -0
- package/src/services/schedule/index.ts +1 -0
- package/src/services/{schedule.ts → schedule/service.ts} +120 -80
- 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/session/logs.ts +47 -0
- package/src/services/session/util.ts +3 -0
- package/src/services/stats.ts +232 -0
- package/src/services/storage/config.ts +111 -0
- package/src/services/storage/index.ts +4 -0
- package/src/services/storage/objects.ts +256 -0
- package/src/services/storage/types.ts +174 -0
- package/src/services/storage/util.ts +4 -0
- package/src/services/stream/get.ts +51 -0
- package/src/services/stream/index.ts +14 -0
- package/src/services/stream/list.ts +105 -0
- package/src/services/{stream.ts → stream/service.ts} +78 -35
- package/src/services/stream/util.ts +3 -0
- package/src/services/task/index.ts +1 -0
- package/src/services/{task.ts → task/service.ts} +314 -352
- package/src/services/thread/delete.ts +31 -0
- package/src/services/thread/get.ts +34 -0
- package/src/services/thread/index.ts +4 -0
- package/src/services/thread/list.ts +81 -0
- package/src/services/thread/util.ts +3 -0
- package/src/services/user/index.ts +1 -0
- package/src/services/user/util.ts +3 -0
- package/src/services/user/whoami.ts +32 -0
- package/src/services/vector/index.ts +1 -0
- package/src/services/{vector.ts → vector/service.ts} +266 -146
- package/src/services/webhook/deliveries.ts +129 -0
- package/src/services/webhook/destinations.ts +224 -0
- package/src/services/webhook/index.ts +135 -0
- package/src/services/webhook/receipts.ts +124 -0
- package/src/services/{webhook.ts → webhook/service.ts} +48 -203
- package/src/services/webhook/types.ts +185 -0
- package/src/services/webhook/util.ts +234 -0
- package/src/services/webhook/webhooks.ts +260 -0
- package/dist/services/email.d.ts.map +0 -1
- package/dist/services/email.js.map +0 -1
- package/dist/services/evalrun.d.ts.map +0 -1
- package/dist/services/evalrun.js.map +0 -1
- package/dist/services/keyvalue.d.ts.map +0 -1
- package/dist/services/keyvalue.js.map +0 -1
- package/dist/services/queue.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/services/schedule.js.map +0 -1
- package/dist/services/session.d.ts.map +0 -1
- package/dist/services/session.js.map +0 -1
- package/dist/services/stream.d.ts.map +0 -1
- package/dist/services/stream.js.map +0 -1
- package/dist/services/task.d.ts.map +0 -1
- package/dist/services/task.js.map +0 -1
- package/dist/services/vector.d.ts.map +0 -1
- package/dist/services/vector.js.map +0 -1
- package/dist/services/webhook.d.ts.map +0 -1
- package/dist/services/webhook.js.map +0 -1
- package/src/services/sandbox.ts +0 -1466
- /package/src/services/{evalrun.ts → eval/events.ts} +0 -0
- /package/src/services/{session.ts → session/events.ts} +0 -0
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module websocket
|
|
3
|
+
*
|
|
4
|
+
* WebSocket client for real-time queue message subscriptions.
|
|
5
|
+
*
|
|
6
|
+
* Provides both a callback-based API ({@link createQueueWebSocket}) and an
|
|
7
|
+
* async iterator API ({@link subscribeToQueue}) for receiving messages from
|
|
8
|
+
* a queue in real time via WebSocket.
|
|
9
|
+
*
|
|
10
|
+
* @example Callback-based API
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { createQueueWebSocket } from '@agentuity/server';
|
|
13
|
+
*
|
|
14
|
+
* const connection = createQueueWebSocket({
|
|
15
|
+
* queueName: 'order-processing',
|
|
16
|
+
* baseUrl: 'https://catalyst.agentuity.cloud',
|
|
17
|
+
* onMessage: (message) => {
|
|
18
|
+
* console.log('Received:', message.id, message.payload);
|
|
19
|
+
* },
|
|
20
|
+
* onOpen: () => console.log('Connected'),
|
|
21
|
+
* onClose: (code, reason) => console.log('Closed:', code, reason),
|
|
22
|
+
* onError: (error) => console.error('Error:', error),
|
|
23
|
+
* });
|
|
24
|
+
*
|
|
25
|
+
* // Later: close the connection
|
|
26
|
+
* connection.close();
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @example Resuming from a previous session
|
|
30
|
+
* ```typescript
|
|
31
|
+
* import { createQueueWebSocket } from '@agentuity/server';
|
|
32
|
+
*
|
|
33
|
+
* // Use a previously obtained clientId and lastOffset to resume
|
|
34
|
+
* const connection = createQueueWebSocket({
|
|
35
|
+
* queueName: 'order-processing',
|
|
36
|
+
* baseUrl: 'https://catalyst.agentuity.cloud',
|
|
37
|
+
* clientId: previousClientId,
|
|
38
|
+
* lastOffset: previousOffset,
|
|
39
|
+
* onMessage: (message) => {
|
|
40
|
+
* console.log('Received:', message.id, message.payload);
|
|
41
|
+
* },
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @example Async iterator API
|
|
46
|
+
* ```typescript
|
|
47
|
+
* import { subscribeToQueue } from '@agentuity/server';
|
|
48
|
+
*
|
|
49
|
+
* const controller = new AbortController();
|
|
50
|
+
* for await (const message of subscribeToQueue({
|
|
51
|
+
* queueName: 'order-processing',
|
|
52
|
+
* baseUrl: 'https://catalyst.agentuity.cloud',
|
|
53
|
+
* signal: controller.signal,
|
|
54
|
+
* })) {
|
|
55
|
+
* console.log('Received:', message.id, message.payload);
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
import { z } from 'zod';
|
|
60
|
+
import { WebSocketAuthResponseSchema, WebSocketMessageSchema } from "./types.js";
|
|
61
|
+
import { getEnv } from "../env.js";
|
|
62
|
+
import { QueueError } from "./util.js";
|
|
63
|
+
import { validateQueueName } from "./validation.js";
|
|
64
|
+
/** Options for creating a queue WebSocket subscription. */
|
|
65
|
+
export const QueueWebSocketOptionsSchema = z.object({
|
|
66
|
+
queueName: z.string().describe('Queue name to subscribe to'),
|
|
67
|
+
apiKey: z
|
|
68
|
+
.string()
|
|
69
|
+
.optional()
|
|
70
|
+
.describe('Optional API key override; falls back to AGENTUITY_SDK_KEY'),
|
|
71
|
+
baseUrl: z.string().describe('Base Catalyst URL used to construct the WebSocket endpoint'),
|
|
72
|
+
onMessage: z
|
|
73
|
+
.custom()
|
|
74
|
+
.describe('Callback invoked for each received queue message'),
|
|
75
|
+
onOpen: z.custom().optional().describe('Callback invoked after auth succeeds'),
|
|
76
|
+
onClose: z
|
|
77
|
+
.custom()
|
|
78
|
+
.optional()
|
|
79
|
+
.describe('Callback invoked when the socket closes'),
|
|
80
|
+
onError: z
|
|
81
|
+
.custom()
|
|
82
|
+
.optional()
|
|
83
|
+
.describe('Callback invoked when an error occurs'),
|
|
84
|
+
autoReconnect: z
|
|
85
|
+
.boolean()
|
|
86
|
+
.optional()
|
|
87
|
+
.describe('Whether to automatically reconnect after disconnection'),
|
|
88
|
+
maxReconnectAttempts: z
|
|
89
|
+
.number()
|
|
90
|
+
.optional()
|
|
91
|
+
.describe('Maximum reconnect attempts before giving up'),
|
|
92
|
+
reconnectDelayMs: z.number().optional().describe('Initial reconnect delay in milliseconds'),
|
|
93
|
+
maxReconnectDelayMs: z.number().optional().describe('Maximum reconnect delay in milliseconds'),
|
|
94
|
+
clientId: z.string().optional().describe('Optional prior client id used for resume semantics'),
|
|
95
|
+
lastOffset: z
|
|
96
|
+
.number()
|
|
97
|
+
.optional()
|
|
98
|
+
.describe('Optional last processed offset used to resume stream consumption'),
|
|
99
|
+
orgId: z
|
|
100
|
+
.string()
|
|
101
|
+
.optional()
|
|
102
|
+
.describe('Optional org id for API keys requiring explicit org scope'),
|
|
103
|
+
});
|
|
104
|
+
/** Options for the async iterator queue subscription. */
|
|
105
|
+
export const SubscribeToQueueOptionsSchema = z.object({
|
|
106
|
+
queueName: z.string().describe('Queue name to subscribe to'),
|
|
107
|
+
apiKey: z
|
|
108
|
+
.string()
|
|
109
|
+
.optional()
|
|
110
|
+
.describe('Optional API key override; falls back to AGENTUITY_SDK_KEY'),
|
|
111
|
+
baseUrl: z.string().describe('Base Catalyst URL used to construct the WebSocket endpoint'),
|
|
112
|
+
signal: z.custom().optional().describe('AbortSignal used to stop the subscription'),
|
|
113
|
+
clientId: z.string().optional().describe('Optional prior client id used for resume semantics'),
|
|
114
|
+
lastOffset: z
|
|
115
|
+
.number()
|
|
116
|
+
.optional()
|
|
117
|
+
.describe('Optional last processed offset used to resume stream consumption'),
|
|
118
|
+
orgId: z
|
|
119
|
+
.string()
|
|
120
|
+
.optional()
|
|
121
|
+
.describe('Optional org id for API keys requiring explicit org scope'),
|
|
122
|
+
});
|
|
123
|
+
// ============================================================================
|
|
124
|
+
// Internal Helpers
|
|
125
|
+
// ============================================================================
|
|
126
|
+
/**
|
|
127
|
+
* Resolve the API key from the options or the AGENTUITY_SDK_KEY environment variable.
|
|
128
|
+
* Throws a {@link QueueError} if no API key is available.
|
|
129
|
+
*/
|
|
130
|
+
function resolveApiKey(apiKey) {
|
|
131
|
+
const key = apiKey ?? getEnv('AGENTUITY_SDK_KEY');
|
|
132
|
+
if (!key) {
|
|
133
|
+
throw new QueueError({
|
|
134
|
+
message: 'No API key provided. Pass apiKey in options or set the AGENTUITY_SDK_KEY environment variable.',
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
return key;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Convert an HTTP(S) base URL to a WebSocket URL and append the queue path.
|
|
141
|
+
*
|
|
142
|
+
* The WebSocket route is registered at `/queue/ws/{name}` (not versioned).
|
|
143
|
+
*/
|
|
144
|
+
function buildWebSocketUrl(baseUrl, queueName) {
|
|
145
|
+
const wsUrl = baseUrl.replace(/^https:\/\//, 'wss://').replace(/^http:\/\//, 'ws://');
|
|
146
|
+
// Remove trailing slash if present
|
|
147
|
+
const base = wsUrl.replace(/\/$/, '');
|
|
148
|
+
return `${base}/queue/ws/${encodeURIComponent(queueName)}`;
|
|
149
|
+
}
|
|
150
|
+
// ============================================================================
|
|
151
|
+
// Callback-based API
|
|
152
|
+
// ============================================================================
|
|
153
|
+
/**
|
|
154
|
+
* Create a WebSocket connection to receive real-time messages from a queue.
|
|
155
|
+
*
|
|
156
|
+
* The connection handles authentication, automatic reconnection with exponential
|
|
157
|
+
* backoff, and ping/pong keep-alive (handled automatically by the WebSocket
|
|
158
|
+
* implementation).
|
|
159
|
+
*
|
|
160
|
+
* @param options - Configuration for the WebSocket connection
|
|
161
|
+
* @returns A {@link QueueWebSocketConnection} handle for managing the connection
|
|
162
|
+
* @throws {QueueError} If no API key is available
|
|
163
|
+
* @throws {QueueValidationError} If the queue name is invalid
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* ```typescript
|
|
167
|
+
* const connection = createQueueWebSocket({
|
|
168
|
+
* queueName: 'order-processing',
|
|
169
|
+
* baseUrl: 'https://catalyst.agentuity.cloud',
|
|
170
|
+
* onMessage: (message) => {
|
|
171
|
+
* console.log('Received:', message.id, message.payload);
|
|
172
|
+
* },
|
|
173
|
+
* });
|
|
174
|
+
*
|
|
175
|
+
* // Later: close the connection
|
|
176
|
+
* connection.close();
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
export function createQueueWebSocket(options) {
|
|
180
|
+
// Validate inputs eagerly so callers get immediate feedback.
|
|
181
|
+
validateQueueName(options.queueName);
|
|
182
|
+
const apiKey = resolveApiKey(options.apiKey);
|
|
183
|
+
const { queueName, baseUrl, onMessage, onOpen, onClose, onError, autoReconnect = true, maxReconnectAttempts = Infinity, reconnectDelayMs = 1000, maxReconnectDelayMs = 30000, orgId, } = options;
|
|
184
|
+
let state = 'connecting';
|
|
185
|
+
let ws = null;
|
|
186
|
+
let intentionallyClosed = false;
|
|
187
|
+
let reconnectAttempts = 0;
|
|
188
|
+
let reconnectTimer = null;
|
|
189
|
+
let clientId = options.clientId;
|
|
190
|
+
let lastProcessedOffset = options.lastOffset;
|
|
191
|
+
function connect() {
|
|
192
|
+
if (intentionallyClosed)
|
|
193
|
+
return;
|
|
194
|
+
const url = buildWebSocketUrl(baseUrl, queueName);
|
|
195
|
+
state = reconnectAttempts > 0 ? 'reconnecting' : 'connecting';
|
|
196
|
+
try {
|
|
197
|
+
ws = new WebSocket(url);
|
|
198
|
+
}
|
|
199
|
+
catch (err) {
|
|
200
|
+
state = 'closed';
|
|
201
|
+
onError?.(new QueueError({
|
|
202
|
+
message: `Failed to create WebSocket connection: ${err instanceof Error ? err.message : String(err)}`,
|
|
203
|
+
queueName,
|
|
204
|
+
cause: err instanceof Error ? err : undefined,
|
|
205
|
+
}));
|
|
206
|
+
scheduleReconnect();
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
ws.onopen = () => {
|
|
210
|
+
state = 'authenticating';
|
|
211
|
+
// Send auth message — raw API key, no "Bearer " prefix.
|
|
212
|
+
// Include client_id and last_offset on reconnect for resumption.
|
|
213
|
+
const authPayload = { authorization: apiKey, orgId };
|
|
214
|
+
if (clientId) {
|
|
215
|
+
authPayload.client_id = clientId;
|
|
216
|
+
}
|
|
217
|
+
if (lastProcessedOffset !== undefined) {
|
|
218
|
+
authPayload.last_offset = lastProcessedOffset;
|
|
219
|
+
}
|
|
220
|
+
ws.send(JSON.stringify(authPayload));
|
|
221
|
+
};
|
|
222
|
+
/** Whether the auth handshake has completed successfully. */
|
|
223
|
+
let authenticated = false;
|
|
224
|
+
ws.onmessage = (event) => {
|
|
225
|
+
const raw = typeof event.data === 'string' ? event.data : String(event.data);
|
|
226
|
+
if (!authenticated) {
|
|
227
|
+
// First message after open must be the auth response.
|
|
228
|
+
try {
|
|
229
|
+
const parsed = JSON.parse(raw);
|
|
230
|
+
const authResult = WebSocketAuthResponseSchema.safeParse(parsed);
|
|
231
|
+
if (!authResult.success) {
|
|
232
|
+
const err = new QueueError({
|
|
233
|
+
message: `Unexpected auth response from server: ${raw}`,
|
|
234
|
+
queueName,
|
|
235
|
+
});
|
|
236
|
+
onError?.(err);
|
|
237
|
+
ws?.close(4000, 'Invalid auth response');
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
if (!authResult.data.success) {
|
|
241
|
+
const err = new QueueError({
|
|
242
|
+
message: `Authentication failed: ${authResult.data.error ?? 'Unknown error'}`,
|
|
243
|
+
queueName,
|
|
244
|
+
});
|
|
245
|
+
onError?.(err);
|
|
246
|
+
// Auth rejection is terminal — do not reconnect with the same bad credentials.
|
|
247
|
+
intentionallyClosed = true;
|
|
248
|
+
ws?.close(4001, 'Auth failed');
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
authenticated = true;
|
|
252
|
+
reconnectAttempts = 0; // Reset on successful auth.
|
|
253
|
+
state = 'connected';
|
|
254
|
+
if (authResult.data.client_id) {
|
|
255
|
+
clientId = authResult.data.client_id;
|
|
256
|
+
}
|
|
257
|
+
onOpen?.();
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
const err = new QueueError({
|
|
261
|
+
message: `Failed to parse auth response: ${raw}`,
|
|
262
|
+
queueName,
|
|
263
|
+
});
|
|
264
|
+
onError?.(err);
|
|
265
|
+
ws?.close(4000, 'Invalid auth response');
|
|
266
|
+
}
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
// Normal message after authentication.
|
|
270
|
+
try {
|
|
271
|
+
const parsed = JSON.parse(raw);
|
|
272
|
+
const msgResult = WebSocketMessageSchema.safeParse(parsed);
|
|
273
|
+
if (msgResult.success && msgResult.data.messages.length > 0) {
|
|
274
|
+
for (const msg of msgResult.data.messages) {
|
|
275
|
+
onMessage(msg);
|
|
276
|
+
if (msg.offset !== undefined) {
|
|
277
|
+
lastProcessedOffset = msg.offset;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
catch {
|
|
283
|
+
// Non-JSON frames are silently ignored; the server may send
|
|
284
|
+
// ping text frames that are not JSON.
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
ws.onclose = (event) => {
|
|
288
|
+
state = 'closed';
|
|
289
|
+
ws = null;
|
|
290
|
+
onClose?.(event.code, event.reason);
|
|
291
|
+
// Reconnect on any unintentional close — whether we were fully
|
|
292
|
+
// connected, mid-auth, or never authenticated (transient network issue).
|
|
293
|
+
if (!intentionallyClosed) {
|
|
294
|
+
scheduleReconnect();
|
|
295
|
+
}
|
|
296
|
+
};
|
|
297
|
+
ws.onerror = () => {
|
|
298
|
+
// The browser/Node WebSocket fires `error` then `close`.
|
|
299
|
+
// We report the error but let `onclose` handle reconnection.
|
|
300
|
+
onError?.(new QueueError({
|
|
301
|
+
message: 'WebSocket connection error',
|
|
302
|
+
queueName,
|
|
303
|
+
}));
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
function scheduleReconnect() {
|
|
307
|
+
if (intentionallyClosed || !autoReconnect)
|
|
308
|
+
return;
|
|
309
|
+
if (reconnectAttempts >= maxReconnectAttempts) {
|
|
310
|
+
onError?.(new QueueError({
|
|
311
|
+
message: `Exceeded maximum reconnection attempts (${maxReconnectAttempts})`,
|
|
312
|
+
queueName,
|
|
313
|
+
}));
|
|
314
|
+
return;
|
|
315
|
+
}
|
|
316
|
+
// Exponential backoff with jitter, capped at maxReconnectDelayMs.
|
|
317
|
+
const baseDelay = reconnectDelayMs * Math.pow(2, reconnectAttempts);
|
|
318
|
+
const jitter = 0.5 + Math.random() * 0.5;
|
|
319
|
+
const delay = Math.min(Math.floor(baseDelay * jitter), maxReconnectDelayMs);
|
|
320
|
+
reconnectAttempts++;
|
|
321
|
+
state = 'reconnecting';
|
|
322
|
+
reconnectTimer = setTimeout(() => {
|
|
323
|
+
reconnectTimer = null;
|
|
324
|
+
connect();
|
|
325
|
+
}, delay);
|
|
326
|
+
}
|
|
327
|
+
// Kick off the initial connection.
|
|
328
|
+
connect();
|
|
329
|
+
return {
|
|
330
|
+
close() {
|
|
331
|
+
intentionallyClosed = true;
|
|
332
|
+
if (reconnectTimer !== null) {
|
|
333
|
+
clearTimeout(reconnectTimer);
|
|
334
|
+
reconnectTimer = null;
|
|
335
|
+
}
|
|
336
|
+
if (ws) {
|
|
337
|
+
ws.close(1000, 'Client closed');
|
|
338
|
+
ws = null;
|
|
339
|
+
}
|
|
340
|
+
state = 'closed';
|
|
341
|
+
},
|
|
342
|
+
get state() {
|
|
343
|
+
return state;
|
|
344
|
+
},
|
|
345
|
+
get clientId() {
|
|
346
|
+
return clientId;
|
|
347
|
+
},
|
|
348
|
+
get lastOffset() {
|
|
349
|
+
return lastProcessedOffset;
|
|
350
|
+
},
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
// ============================================================================
|
|
354
|
+
// Async Iterator API
|
|
355
|
+
// ============================================================================
|
|
356
|
+
/**
|
|
357
|
+
* Subscribe to real-time messages from a queue via WebSocket.
|
|
358
|
+
*
|
|
359
|
+
* Returns an async iterator that yields messages as they arrive.
|
|
360
|
+
* The connection is automatically managed (auth, reconnection, cleanup).
|
|
361
|
+
*
|
|
362
|
+
* @param options - Configuration for the subscription
|
|
363
|
+
* @returns An async generator that yields {@link Message} objects
|
|
364
|
+
* @throws {QueueError} If no API key is available
|
|
365
|
+
* @throws {QueueValidationError} If the queue name is invalid
|
|
366
|
+
*
|
|
367
|
+
* @example
|
|
368
|
+
* ```typescript
|
|
369
|
+
* const controller = new AbortController();
|
|
370
|
+
* for await (const message of subscribeToQueue({
|
|
371
|
+
* queueName: 'order-processing',
|
|
372
|
+
* baseUrl: 'https://catalyst.agentuity.cloud',
|
|
373
|
+
* signal: controller.signal,
|
|
374
|
+
* })) {
|
|
375
|
+
* console.log('Received:', message.id, message.payload);
|
|
376
|
+
* }
|
|
377
|
+
* ```
|
|
378
|
+
*/
|
|
379
|
+
export async function* subscribeToQueue(options) {
|
|
380
|
+
const { signal } = options;
|
|
381
|
+
// Check if already aborted.
|
|
382
|
+
if (signal?.aborted)
|
|
383
|
+
return;
|
|
384
|
+
// A queue for buffering messages between the WebSocket callbacks and the
|
|
385
|
+
// async iterator consumer.
|
|
386
|
+
const buffer = [];
|
|
387
|
+
let resolve = null;
|
|
388
|
+
let done = false;
|
|
389
|
+
let lastError = null;
|
|
390
|
+
function push(message) {
|
|
391
|
+
buffer.push(message);
|
|
392
|
+
if (resolve) {
|
|
393
|
+
resolve();
|
|
394
|
+
resolve = null;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
function finish(error) {
|
|
398
|
+
done = true;
|
|
399
|
+
if (error)
|
|
400
|
+
lastError = error;
|
|
401
|
+
if (resolve) {
|
|
402
|
+
resolve();
|
|
403
|
+
resolve = null;
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
const connection = createQueueWebSocket({
|
|
407
|
+
queueName: options.queueName,
|
|
408
|
+
apiKey: options.apiKey,
|
|
409
|
+
baseUrl: options.baseUrl,
|
|
410
|
+
clientId: options.clientId,
|
|
411
|
+
lastOffset: options.lastOffset,
|
|
412
|
+
orgId: options.orgId,
|
|
413
|
+
onMessage: push,
|
|
414
|
+
onError: (err) => {
|
|
415
|
+
// Terminal errors should stop the iterator.
|
|
416
|
+
// Auth failures and max-reconnect-exceeded are terminal.
|
|
417
|
+
// Transient errors (connection drops, server shutdown) are handled
|
|
418
|
+
// by the reconnection logic in createQueueWebSocket.
|
|
419
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
420
|
+
if (msg.includes('Authentication failed') ||
|
|
421
|
+
msg.includes('Exceeded maximum reconnection attempts') ||
|
|
422
|
+
msg.includes('No API key provided')) {
|
|
423
|
+
finish(err);
|
|
424
|
+
}
|
|
425
|
+
else {
|
|
426
|
+
// Transient error — don't store it; the reconnection logic in
|
|
427
|
+
// createQueueWebSocket will handle retry. Storing it would cause
|
|
428
|
+
// it to be thrown on clean shutdown / abort.
|
|
429
|
+
}
|
|
430
|
+
},
|
|
431
|
+
onClose: () => {
|
|
432
|
+
// Only finish if the connection is intentionally closed (signal aborted).
|
|
433
|
+
// Otherwise, the callback-based API handles reconnection.
|
|
434
|
+
},
|
|
435
|
+
autoReconnect: true,
|
|
436
|
+
});
|
|
437
|
+
// Wire up the abort signal to close the connection.
|
|
438
|
+
const onAbort = () => {
|
|
439
|
+
connection.close();
|
|
440
|
+
finish();
|
|
441
|
+
};
|
|
442
|
+
signal?.addEventListener('abort', onAbort, { once: true });
|
|
443
|
+
try {
|
|
444
|
+
while (!done) {
|
|
445
|
+
// Drain buffered messages.
|
|
446
|
+
while (buffer.length > 0) {
|
|
447
|
+
yield buffer.shift();
|
|
448
|
+
// Re-check after yield in case signal was aborted.
|
|
449
|
+
if (done || signal?.aborted)
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
if (done || signal?.aborted)
|
|
453
|
+
return;
|
|
454
|
+
// Wait for the next message or completion.
|
|
455
|
+
await new Promise((r) => {
|
|
456
|
+
resolve = r;
|
|
457
|
+
});
|
|
458
|
+
}
|
|
459
|
+
// Drain any remaining messages.
|
|
460
|
+
while (buffer.length > 0) {
|
|
461
|
+
yield buffer.shift();
|
|
462
|
+
}
|
|
463
|
+
if (lastError) {
|
|
464
|
+
throw lastError;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
finally {
|
|
468
|
+
signal?.removeEventListener('abort', onAbort);
|
|
469
|
+
connection.close();
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
//# sourceMappingURL=websocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/services/queue/websocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIClient } from '../api.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Validates a database name for PostgreSQL compatibility.
|
|
5
|
+
* Matches the server-side validation in catalyst.
|
|
6
|
+
*/
|
|
7
|
+
export declare function validateDatabaseName(name: string): {
|
|
8
|
+
valid: boolean;
|
|
9
|
+
error?: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Validates an S3 bucket name according to AWS S3 naming rules.
|
|
13
|
+
* Matches the server-side validation in catalyst.
|
|
14
|
+
*/
|
|
15
|
+
export declare function validateBucketName(name: string): {
|
|
16
|
+
valid: boolean;
|
|
17
|
+
error?: string;
|
|
18
|
+
};
|
|
19
|
+
export declare const ResourceSpec: z.ZodObject<{
|
|
20
|
+
type: z.ZodEnum<{
|
|
21
|
+
s3: "s3";
|
|
22
|
+
db: "db";
|
|
23
|
+
}>;
|
|
24
|
+
name: z.ZodOptional<z.ZodString>;
|
|
25
|
+
description: z.ZodOptional<z.ZodString>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export declare const CreateResourcesRequest: z.ZodObject<{
|
|
28
|
+
resources: z.ZodArray<z.ZodObject<{
|
|
29
|
+
type: z.ZodEnum<{
|
|
30
|
+
s3: "s3";
|
|
31
|
+
db: "db";
|
|
32
|
+
}>;
|
|
33
|
+
name: z.ZodOptional<z.ZodString>;
|
|
34
|
+
description: z.ZodOptional<z.ZodString>;
|
|
35
|
+
}, z.core.$strip>>;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
export declare const CreatedResource: z.ZodObject<{
|
|
38
|
+
type: z.ZodString;
|
|
39
|
+
name: z.ZodString;
|
|
40
|
+
env: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
export declare const CreateResourcesResponse: z.ZodObject<{
|
|
43
|
+
created: z.ZodArray<z.ZodObject<{
|
|
44
|
+
type: z.ZodString;
|
|
45
|
+
name: z.ZodString;
|
|
46
|
+
env: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
47
|
+
}, z.core.$strip>>;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
export declare const CreateResourcesResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
50
|
+
success: z.ZodLiteral<false>;
|
|
51
|
+
message: z.ZodString;
|
|
52
|
+
code: z.ZodOptional<z.ZodString>;
|
|
53
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
54
|
+
success: z.ZodLiteral<true>;
|
|
55
|
+
data: z.ZodObject<{
|
|
56
|
+
created: z.ZodArray<z.ZodObject<{
|
|
57
|
+
type: z.ZodString;
|
|
58
|
+
name: z.ZodString;
|
|
59
|
+
env: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
60
|
+
}, z.core.$strip>>;
|
|
61
|
+
}, z.core.$strip>;
|
|
62
|
+
}, z.core.$strip>], "success">;
|
|
63
|
+
export type CreateResourcesRequest = z.infer<typeof CreateResourcesRequest>;
|
|
64
|
+
export type CreateResourcesResponse = z.infer<typeof CreateResourcesResponseSchema>;
|
|
65
|
+
export type CreatedResource = z.infer<typeof CreatedResource>;
|
|
66
|
+
/**
|
|
67
|
+
* Create one or more resources (DB or S3) for an organization in a specific region
|
|
68
|
+
* Requires CLI authentication
|
|
69
|
+
*
|
|
70
|
+
* @param client - Catalyst API client
|
|
71
|
+
* @param orgId - Organization ID
|
|
72
|
+
* @param region - Cloud region
|
|
73
|
+
* @param resources - Array of resources to create
|
|
74
|
+
* @returns
|
|
75
|
+
*/
|
|
76
|
+
export declare function createResources(client: APIClient, orgId: string, region: string, resources: Array<{
|
|
77
|
+
type: 'db' | 's3';
|
|
78
|
+
name?: string;
|
|
79
|
+
description?: string;
|
|
80
|
+
}>): Promise<CreatedResource[]>;
|
|
81
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/services/region/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,SAAS,EAAE,MAAM,WAAW,CAAC;AA6BzD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA0BrF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAqDnF;AAgBD,eAAO,MAAM,YAAY;;;;;;;iBAIvB,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;iBAEjC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;iBAI1B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;iBAElC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;8BAA6C,CAAC;AAExF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACpC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC1E,OAAO,CAAC,eAAe,EAAE,CAAC,CA8B5B"}
|