@agentuity/server 1.0.17 → 1.0.19
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/api/api.d.ts.map +1 -1
- package/dist/api/api.js.map +1 -1
- package/dist/api/apikey/create.d.ts +1 -1
- package/dist/api/apikey/create.d.ts.map +1 -1
- package/dist/api/apikey/create.js +2 -2
- package/dist/api/apikey/create.js.map +1 -1
- package/dist/api/apikey/delete.d.ts +1 -1
- package/dist/api/apikey/delete.d.ts.map +1 -1
- package/dist/api/apikey/delete.js +2 -2
- package/dist/api/apikey/delete.js.map +1 -1
- package/dist/api/apikey/get.d.ts +1 -1
- package/dist/api/apikey/get.d.ts.map +1 -1
- package/dist/api/apikey/get.js +2 -2
- package/dist/api/apikey/get.js.map +1 -1
- package/dist/api/apikey/index.d.ts +5 -5
- package/dist/api/apikey/index.d.ts.map +1 -1
- package/dist/api/apikey/index.js +5 -5
- package/dist/api/apikey/index.js.map +1 -1
- package/dist/api/apikey/list.d.ts +1 -1
- package/dist/api/apikey/list.d.ts.map +1 -1
- package/dist/api/apikey/list.js +2 -2
- package/dist/api/apikey/list.js.map +1 -1
- package/dist/api/db/index.d.ts +4 -4
- package/dist/api/db/index.d.ts.map +1 -1
- package/dist/api/db/index.js +4 -4
- package/dist/api/db/index.js.map +1 -1
- package/dist/api/db/logs.d.ts +1 -1
- package/dist/api/db/logs.d.ts.map +1 -1
- package/dist/api/db/logs.js +2 -2
- package/dist/api/db/logs.js.map +1 -1
- package/dist/api/db/query.d.ts +1 -1
- package/dist/api/db/query.d.ts.map +1 -1
- package/dist/api/db/query.js +2 -2
- package/dist/api/db/query.js.map +1 -1
- package/dist/api/db/tables.d.ts +1 -1
- package/dist/api/db/tables.d.ts.map +1 -1
- package/dist/api/db/tables.js +2 -2
- package/dist/api/db/tables.js.map +1 -1
- package/dist/api/eval/get.d.ts +1 -1
- package/dist/api/eval/get.d.ts.map +1 -1
- package/dist/api/eval/get.js +1 -1
- package/dist/api/eval/get.js.map +1 -1
- package/dist/api/eval/index.d.ts +4 -4
- package/dist/api/eval/index.d.ts.map +1 -1
- package/dist/api/eval/index.js +4 -4
- package/dist/api/eval/index.js.map +1 -1
- package/dist/api/eval/list.d.ts +1 -1
- package/dist/api/eval/list.d.ts.map +1 -1
- package/dist/api/eval/list.js +1 -1
- package/dist/api/eval/list.js.map +1 -1
- package/dist/api/eval/run-get.d.ts +1 -1
- package/dist/api/eval/run-get.d.ts.map +1 -1
- package/dist/api/eval/run-get.js +1 -1
- package/dist/api/eval/run-get.js.map +1 -1
- package/dist/api/eval/run-list.d.ts +1 -1
- package/dist/api/eval/run-list.d.ts.map +1 -1
- package/dist/api/eval/run-list.js +1 -1
- package/dist/api/eval/run-list.js.map +1 -1
- package/dist/api/index.d.ts +14 -14
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +14 -14
- package/dist/api/index.js.map +1 -1
- package/dist/api/machine/index.d.ts +2 -2
- package/dist/api/machine/index.d.ts.map +1 -1
- package/dist/api/machine/index.js +2 -2
- package/dist/api/machine/index.js.map +1 -1
- package/dist/api/machine/machine.d.ts +1 -1
- package/dist/api/machine/machine.d.ts.map +1 -1
- package/dist/api/machine/machine.js +2 -2
- package/dist/api/machine/machine.js.map +1 -1
- package/dist/api/org/env-delete.d.ts +1 -1
- package/dist/api/org/env-delete.d.ts.map +1 -1
- package/dist/api/org/env-delete.js +2 -2
- package/dist/api/org/env-delete.js.map +1 -1
- package/dist/api/org/env-get.d.ts +1 -1
- package/dist/api/org/env-get.d.ts.map +1 -1
- package/dist/api/org/env-get.js +2 -2
- package/dist/api/org/env-get.js.map +1 -1
- package/dist/api/org/env-update.d.ts +1 -1
- package/dist/api/org/env-update.d.ts.map +1 -1
- package/dist/api/org/env-update.js +2 -2
- package/dist/api/org/env-update.js.map +1 -1
- package/dist/api/org/index.d.ts +6 -6
- package/dist/api/org/index.d.ts.map +1 -1
- package/dist/api/org/index.js +6 -6
- package/dist/api/org/index.js.map +1 -1
- package/dist/api/org/list.d.ts +1 -1
- package/dist/api/org/list.d.ts.map +1 -1
- package/dist/api/org/list.js +2 -2
- package/dist/api/org/list.js.map +1 -1
- package/dist/api/org/resources.d.ts +1 -1
- package/dist/api/org/resources.d.ts.map +1 -1
- package/dist/api/org/resources.js +2 -2
- package/dist/api/org/resources.js.map +1 -1
- package/dist/api/project/agent.d.ts +1 -1
- package/dist/api/project/agent.d.ts.map +1 -1
- package/dist/api/project/agent.js +2 -2
- package/dist/api/project/agent.js.map +1 -1
- package/dist/api/project/create.d.ts +1 -1
- package/dist/api/project/create.d.ts.map +1 -1
- package/dist/api/project/create.js +2 -2
- package/dist/api/project/create.js.map +1 -1
- package/dist/api/project/delete.d.ts +1 -1
- package/dist/api/project/delete.d.ts.map +1 -1
- package/dist/api/project/delete.js +2 -2
- package/dist/api/project/delete.js.map +1 -1
- package/dist/api/project/deploy.d.ts +1 -1
- package/dist/api/project/deploy.d.ts.map +1 -1
- package/dist/api/project/deploy.js +2 -2
- package/dist/api/project/deploy.js.map +1 -1
- package/dist/api/project/deployment.d.ts +1 -1
- package/dist/api/project/deployment.d.ts.map +1 -1
- package/dist/api/project/deployment.js +2 -2
- package/dist/api/project/deployment.js.map +1 -1
- package/dist/api/project/env-delete.d.ts +1 -1
- package/dist/api/project/env-delete.d.ts.map +1 -1
- package/dist/api/project/env-delete.js +2 -2
- package/dist/api/project/env-delete.js.map +1 -1
- package/dist/api/project/env-update.d.ts +2 -2
- package/dist/api/project/env-update.d.ts.map +1 -1
- package/dist/api/project/env-update.js +3 -3
- package/dist/api/project/env-update.js.map +1 -1
- package/dist/api/project/exists.d.ts +1 -1
- package/dist/api/project/exists.d.ts.map +1 -1
- package/dist/api/project/exists.js +2 -2
- package/dist/api/project/exists.js.map +1 -1
- package/dist/api/project/get.d.ts +1 -1
- package/dist/api/project/get.d.ts.map +1 -1
- package/dist/api/project/get.js +2 -2
- package/dist/api/project/get.js.map +1 -1
- package/dist/api/project/hostname.d.ts +1 -1
- package/dist/api/project/hostname.d.ts.map +1 -1
- package/dist/api/project/hostname.js +2 -2
- package/dist/api/project/hostname.js.map +1 -1
- package/dist/api/project/index.d.ts +13 -13
- package/dist/api/project/index.d.ts.map +1 -1
- package/dist/api/project/index.js +13 -13
- package/dist/api/project/index.js.map +1 -1
- package/dist/api/project/list.d.ts +1 -1
- package/dist/api/project/list.d.ts.map +1 -1
- package/dist/api/project/list.js +2 -2
- package/dist/api/project/list.js.map +1 -1
- package/dist/api/project/malware.d.ts +1 -1
- package/dist/api/project/malware.d.ts.map +1 -1
- package/dist/api/project/malware.js +6 -2
- package/dist/api/project/malware.js.map +1 -1
- package/dist/api/project/update-region.d.ts +1 -1
- package/dist/api/project/update-region.d.ts.map +1 -1
- package/dist/api/project/update-region.js +2 -2
- package/dist/api/project/update-region.js.map +1 -1
- package/dist/api/project/util.d.ts +13 -0
- package/dist/api/project/util.d.ts.map +1 -1
- package/dist/api/project/util.js +1 -0
- package/dist/api/project/util.js.map +1 -1
- package/dist/api/queue/analytics.d.ts +2 -2
- package/dist/api/queue/analytics.d.ts.map +1 -1
- package/dist/api/queue/analytics.js +6 -18
- package/dist/api/queue/analytics.js.map +1 -1
- package/dist/api/queue/destinations.d.ts +2 -2
- package/dist/api/queue/destinations.d.ts.map +1 -1
- package/dist/api/queue/destinations.js +14 -84
- package/dist/api/queue/destinations.js.map +1 -1
- package/dist/api/queue/dlq.d.ts +2 -2
- package/dist/api/queue/dlq.d.ts.map +1 -1
- package/dist/api/queue/dlq.js +8 -46
- package/dist/api/queue/dlq.js.map +1 -1
- package/dist/api/queue/index.d.ts +10 -10
- package/dist/api/queue/index.d.ts.map +1 -1
- package/dist/api/queue/index.js +10 -10
- package/dist/api/queue/index.js.map +1 -1
- package/dist/api/queue/messages.d.ts +2 -2
- package/dist/api/queue/messages.d.ts.map +1 -1
- package/dist/api/queue/messages.js +17 -107
- package/dist/api/queue/messages.js.map +1 -1
- package/dist/api/queue/queues.d.ts +2 -2
- package/dist/api/queue/queues.d.ts.map +1 -1
- package/dist/api/queue/queues.js +9 -39
- package/dist/api/queue/queues.js.map +1 -1
- package/dist/api/queue/sources.d.ts +2 -2
- package/dist/api/queue/sources.d.ts.map +1 -1
- package/dist/api/queue/sources.js +15 -98
- package/dist/api/queue/sources.js.map +1 -1
- package/dist/api/queue/util.d.ts +16 -0
- package/dist/api/queue/util.d.ts.map +1 -1
- package/dist/api/queue/util.js +64 -0
- package/dist/api/queue/util.js.map +1 -1
- package/dist/api/queue/websocket.d.ts +1 -1
- package/dist/api/queue/websocket.d.ts.map +1 -1
- package/dist/api/queue/websocket.js +3 -3
- package/dist/api/queue/websocket.js.map +1 -1
- package/dist/api/region/create.d.ts +1 -1
- package/dist/api/region/create.d.ts.map +1 -1
- package/dist/api/region/create.js +8 -2
- package/dist/api/region/create.js.map +1 -1
- package/dist/api/region/delete.d.ts +1 -1
- package/dist/api/region/delete.d.ts.map +1 -1
- package/dist/api/region/delete.js +2 -2
- package/dist/api/region/delete.js.map +1 -1
- package/dist/api/region/index.d.ts +4 -4
- package/dist/api/region/index.d.ts.map +1 -1
- package/dist/api/region/index.js +4 -4
- package/dist/api/region/index.js.map +1 -1
- package/dist/api/region/list.d.ts +1 -1
- package/dist/api/region/list.d.ts.map +1 -1
- package/dist/api/region/list.js +2 -2
- package/dist/api/region/list.js.map +1 -1
- package/dist/api/region/resources.d.ts +1 -1
- package/dist/api/region/resources.d.ts.map +1 -1
- package/dist/api/region/resources.js +2 -2
- package/dist/api/region/resources.js.map +1 -1
- package/dist/api/sandbox/cli-list.d.ts +1 -1
- package/dist/api/sandbox/cli-list.d.ts.map +1 -1
- package/dist/api/sandbox/cli-list.js +2 -2
- package/dist/api/sandbox/cli-list.js.map +1 -1
- package/dist/api/sandbox/client.d.ts +5 -1
- package/dist/api/sandbox/client.d.ts.map +1 -1
- package/dist/api/sandbox/client.js +12 -11
- package/dist/api/sandbox/client.js.map +1 -1
- package/dist/api/sandbox/create.d.ts +7 -1
- package/dist/api/sandbox/create.d.ts.map +1 -1
- package/dist/api/sandbox/create.js +15 -4
- package/dist/api/sandbox/create.js.map +1 -1
- package/dist/api/sandbox/destroy.d.ts +1 -1
- package/dist/api/sandbox/destroy.d.ts.map +1 -1
- package/dist/api/sandbox/destroy.js +2 -2
- package/dist/api/sandbox/destroy.js.map +1 -1
- package/dist/api/sandbox/execute.d.ts +1 -1
- package/dist/api/sandbox/execute.d.ts.map +1 -1
- package/dist/api/sandbox/execute.js +2 -2
- package/dist/api/sandbox/execute.js.map +1 -1
- package/dist/api/sandbox/execution.d.ts +1 -1
- package/dist/api/sandbox/execution.d.ts.map +1 -1
- package/dist/api/sandbox/execution.js +2 -2
- package/dist/api/sandbox/execution.js.map +1 -1
- package/dist/api/sandbox/files.d.ts +1 -1
- package/dist/api/sandbox/files.d.ts.map +1 -1
- package/dist/api/sandbox/files.js +1 -1
- package/dist/api/sandbox/files.js.map +1 -1
- package/dist/api/sandbox/get.d.ts +5 -1
- package/dist/api/sandbox/get.d.ts.map +1 -1
- package/dist/api/sandbox/get.js +17 -3
- package/dist/api/sandbox/get.js.map +1 -1
- package/dist/api/sandbox/index.d.ts +34 -30
- package/dist/api/sandbox/index.d.ts.map +1 -1
- package/dist/api/sandbox/index.js +17 -15
- package/dist/api/sandbox/index.js.map +1 -1
- package/dist/api/sandbox/list.d.ts +7 -1
- package/dist/api/sandbox/list.d.ts.map +1 -1
- package/dist/api/sandbox/list.js +17 -3
- package/dist/api/sandbox/list.js.map +1 -1
- package/dist/api/sandbox/pause.d.ts +22 -0
- package/dist/api/sandbox/pause.d.ts.map +1 -0
- package/dist/api/sandbox/pause.js +25 -0
- package/dist/api/sandbox/pause.js.map +1 -0
- package/dist/api/sandbox/resolve.d.ts +1 -1
- package/dist/api/sandbox/resolve.d.ts.map +1 -1
- package/dist/api/sandbox/resolve.js +1 -1
- package/dist/api/sandbox/resolve.js.map +1 -1
- package/dist/api/sandbox/resume.d.ts +22 -0
- package/dist/api/sandbox/resume.d.ts.map +1 -0
- package/dist/api/sandbox/resume.js +25 -0
- package/dist/api/sandbox/resume.js.map +1 -0
- package/dist/api/sandbox/run.d.ts +1 -1
- package/dist/api/sandbox/run.d.ts.map +1 -1
- package/dist/api/sandbox/run.js +6 -6
- package/dist/api/sandbox/run.js.map +1 -1
- package/dist/api/sandbox/runtime.d.ts +1 -1
- package/dist/api/sandbox/runtime.d.ts.map +1 -1
- package/dist/api/sandbox/runtime.js +2 -2
- package/dist/api/sandbox/runtime.js.map +1 -1
- package/dist/api/sandbox/snapshot.d.ts +1 -1
- package/dist/api/sandbox/snapshot.d.ts.map +1 -1
- package/dist/api/sandbox/snapshot.js +3 -3
- package/dist/api/sandbox/snapshot.js.map +1 -1
- package/dist/api/sandbox/util.d.ts +6 -0
- package/dist/api/sandbox/util.d.ts.map +1 -1
- package/dist/api/sandbox/util.js +6 -0
- package/dist/api/sandbox/util.js.map +1 -1
- package/dist/api/session/get.d.ts +2 -2
- package/dist/api/session/get.d.ts.map +1 -1
- package/dist/api/session/get.js +3 -3
- package/dist/api/session/get.js.map +1 -1
- package/dist/api/session/index.d.ts +3 -3
- package/dist/api/session/index.d.ts.map +1 -1
- package/dist/api/session/index.js +3 -3
- package/dist/api/session/index.js.map +1 -1
- package/dist/api/session/list.d.ts +1 -1
- package/dist/api/session/list.d.ts.map +1 -1
- package/dist/api/session/list.js +2 -2
- package/dist/api/session/list.js.map +1 -1
- package/dist/api/session/logs.d.ts +1 -1
- package/dist/api/session/logs.d.ts.map +1 -1
- package/dist/api/session/logs.js +2 -2
- package/dist/api/session/logs.js.map +1 -1
- package/dist/api/stream/get.d.ts +1 -1
- package/dist/api/stream/get.d.ts.map +1 -1
- package/dist/api/stream/get.js +2 -2
- package/dist/api/stream/get.js.map +1 -1
- package/dist/api/stream/index.d.ts +3 -3
- package/dist/api/stream/index.d.ts.map +1 -1
- package/dist/api/stream/index.js +3 -3
- package/dist/api/stream/index.js.map +1 -1
- package/dist/api/stream/list.d.ts +1 -1
- package/dist/api/stream/list.d.ts.map +1 -1
- package/dist/api/stream/list.js +2 -2
- package/dist/api/stream/list.js.map +1 -1
- package/dist/api/thread/delete.d.ts +1 -1
- package/dist/api/thread/delete.d.ts.map +1 -1
- package/dist/api/thread/delete.js +2 -2
- package/dist/api/thread/delete.js.map +1 -1
- package/dist/api/thread/get.d.ts +2 -2
- package/dist/api/thread/get.d.ts.map +1 -1
- package/dist/api/thread/get.js +3 -3
- package/dist/api/thread/get.js.map +1 -1
- package/dist/api/thread/index.d.ts +4 -4
- package/dist/api/thread/index.d.ts.map +1 -1
- package/dist/api/thread/index.js +4 -4
- package/dist/api/thread/index.js.map +1 -1
- package/dist/api/thread/list.d.ts +1 -1
- package/dist/api/thread/list.d.ts.map +1 -1
- package/dist/api/thread/list.js +2 -2
- package/dist/api/thread/list.js.map +1 -1
- package/dist/api/user/index.d.ts +1 -1
- package/dist/api/user/index.d.ts.map +1 -1
- package/dist/api/user/index.js +1 -1
- package/dist/api/user/index.js.map +1 -1
- package/dist/api/user/whoami.d.ts +1 -1
- package/dist/api/user/whoami.d.ts.map +1 -1
- package/dist/api/user/whoami.js +2 -2
- package/dist/api/user/whoami.js.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/runtime-bootstrap.js +1 -1
- package/dist/runtime-bootstrap.js.map +1 -1
- package/package.json +4 -4
- package/src/api/api.ts +3 -8
- package/src/api/apikey/create.ts +2 -2
- package/src/api/apikey/delete.ts +2 -2
- package/src/api/apikey/get.ts +2 -2
- package/src/api/apikey/index.ts +5 -5
- package/src/api/apikey/list.ts +2 -2
- package/src/api/db/index.ts +4 -4
- package/src/api/db/logs.ts +2 -2
- package/src/api/db/query.ts +2 -2
- package/src/api/db/tables.ts +2 -2
- package/src/api/eval/get.ts +1 -1
- package/src/api/eval/index.ts +4 -4
- package/src/api/eval/list.ts +1 -1
- package/src/api/eval/run-get.ts +1 -1
- package/src/api/eval/run-list.ts +1 -1
- package/src/api/index.ts +14 -14
- package/src/api/machine/index.ts +2 -2
- package/src/api/machine/machine.ts +2 -2
- package/src/api/org/env-delete.ts +2 -2
- package/src/api/org/env-get.ts +2 -2
- package/src/api/org/env-update.ts +2 -2
- package/src/api/org/index.ts +6 -6
- package/src/api/org/list.ts +2 -2
- package/src/api/org/resources.ts +2 -2
- package/src/api/project/agent.ts +3 -3
- package/src/api/project/create.ts +2 -2
- package/src/api/project/delete.ts +2 -2
- package/src/api/project/deploy.ts +2 -2
- package/src/api/project/deployment.ts +2 -2
- package/src/api/project/env-delete.ts +2 -2
- package/src/api/project/env-update.ts +4 -4
- package/src/api/project/exists.ts +2 -2
- package/src/api/project/get.ts +2 -2
- package/src/api/project/hostname.ts +2 -2
- package/src/api/project/index.ts +13 -13
- package/src/api/project/list.ts +2 -2
- package/src/api/project/malware.ts +6 -2
- package/src/api/project/update-region.ts +2 -2
- package/src/api/project/util.ts +3 -0
- package/src/api/queue/analytics.ts +22 -28
- package/src/api/queue/destinations.ts +55 -119
- package/src/api/queue/dlq.ts +32 -72
- package/src/api/queue/index.ts +10 -10
- package/src/api/queue/messages.ts +92 -185
- package/src/api/queue/queues.ts +50 -71
- package/src/api/queue/sources.ts +50 -140
- package/src/api/queue/util.ts +74 -0
- package/src/api/queue/websocket.ts +8 -8
- package/src/api/region/create.ts +8 -2
- package/src/api/region/delete.ts +2 -2
- package/src/api/region/index.ts +4 -4
- package/src/api/region/list.ts +2 -2
- package/src/api/region/resources.ts +2 -2
- package/src/api/sandbox/cli-list.ts +11 -3
- package/src/api/sandbox/client.ts +17 -11
- package/src/api/sandbox/create.ts +17 -4
- package/src/api/sandbox/destroy.ts +2 -2
- package/src/api/sandbox/execute.ts +2 -2
- package/src/api/sandbox/execution.ts +2 -2
- package/src/api/sandbox/files.ts +2 -2
- package/src/api/sandbox/get.ts +17 -3
- package/src/api/sandbox/index.ts +34 -30
- package/src/api/sandbox/list.ts +17 -3
- package/src/api/sandbox/pause.ts +39 -0
- package/src/api/sandbox/resolve.ts +1 -1
- package/src/api/sandbox/resume.ts +39 -0
- package/src/api/sandbox/run.ts +6 -6
- package/src/api/sandbox/runtime.ts +2 -2
- package/src/api/sandbox/snapshot.ts +3 -3
- package/src/api/sandbox/util.ts +6 -0
- package/src/api/session/get.ts +3 -3
- package/src/api/session/index.ts +3 -3
- package/src/api/session/list.ts +2 -2
- package/src/api/session/logs.ts +2 -2
- package/src/api/stream/get.ts +2 -2
- package/src/api/stream/index.ts +3 -3
- package/src/api/stream/list.ts +2 -2
- package/src/api/thread/delete.ts +2 -2
- package/src/api/thread/get.ts +3 -3
- package/src/api/thread/index.ts +4 -4
- package/src/api/thread/list.ts +2 -2
- package/src/api/user/index.ts +1 -1
- package/src/api/user/whoami.ts +2 -2
- package/src/index.ts +8 -8
- package/src/runtime-bootstrap.ts +1 -1
package/src/api/queue/queues.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { type APIClient, APIResponseSchema, APIResponseSchemaNoData } from '../api';
|
|
2
|
+
import { type APIClient, APIResponseSchema, APIResponseSchemaNoData } from '../api.ts';
|
|
3
3
|
import {
|
|
4
4
|
type CreateQueueRequest,
|
|
5
5
|
CreateQueueRequestSchema,
|
|
@@ -9,14 +9,14 @@ import {
|
|
|
9
9
|
QueueSchema,
|
|
10
10
|
type UpdateQueueRequest,
|
|
11
11
|
UpdateQueueRequestSchema,
|
|
12
|
-
} from './types';
|
|
12
|
+
} from './types.ts';
|
|
13
13
|
import {
|
|
14
14
|
buildQueueHeaders,
|
|
15
15
|
QueueError,
|
|
16
|
-
QueueNotFoundError,
|
|
17
16
|
queueApiPath,
|
|
18
17
|
queueApiPathWithQuery,
|
|
19
|
-
|
|
18
|
+
withQueueErrorHandling,
|
|
19
|
+
} from './util.ts';
|
|
20
20
|
import {
|
|
21
21
|
validateDescription,
|
|
22
22
|
validateLimit,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
validateQueueType,
|
|
28
28
|
validateTTL,
|
|
29
29
|
validateVisibilityTimeout,
|
|
30
|
-
} from './validation';
|
|
30
|
+
} from './validation.ts';
|
|
31
31
|
|
|
32
32
|
export const QueueResponseSchema = APIResponseSchema(z.object({ queue: QueueSchema }));
|
|
33
33
|
export const QueuesListResponseSchema = APIResponseSchema(
|
|
@@ -138,24 +138,15 @@ export async function getQueue(
|
|
|
138
138
|
): Promise<Queue> {
|
|
139
139
|
validateQueueName(name);
|
|
140
140
|
const url = queueApiPath('get', name);
|
|
141
|
-
const resp = await
|
|
142
|
-
url,
|
|
143
|
-
|
|
144
|
-
undefined,
|
|
145
|
-
buildQueueHeaders(options?.orgId)
|
|
141
|
+
const resp = await withQueueErrorHandling(
|
|
142
|
+
() => client.get(url, QueueResponseSchema, undefined, buildQueueHeaders(options?.orgId)),
|
|
143
|
+
{ queueName: name }
|
|
146
144
|
);
|
|
147
145
|
|
|
148
146
|
if (resp.success) {
|
|
149
147
|
return resp.data.queue;
|
|
150
148
|
}
|
|
151
149
|
|
|
152
|
-
if (resp.message?.includes('not found')) {
|
|
153
|
-
throw new QueueNotFoundError({
|
|
154
|
-
queueName: name,
|
|
155
|
-
message: resp.message,
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
|
|
159
150
|
throw new QueueError({
|
|
160
151
|
queueName: name,
|
|
161
152
|
message: resp.message || 'Failed to get queue',
|
|
@@ -302,26 +293,23 @@ export async function updateQueue(
|
|
|
302
293
|
}
|
|
303
294
|
|
|
304
295
|
const url = queueApiPath('update', name);
|
|
305
|
-
const resp = await
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
296
|
+
const resp = await withQueueErrorHandling(
|
|
297
|
+
() =>
|
|
298
|
+
client.patch(
|
|
299
|
+
url,
|
|
300
|
+
params,
|
|
301
|
+
QueueResponseSchema,
|
|
302
|
+
UpdateQueueRequestSchema,
|
|
303
|
+
undefined,
|
|
304
|
+
buildQueueHeaders(options?.orgId)
|
|
305
|
+
),
|
|
306
|
+
{ queueName: name }
|
|
312
307
|
);
|
|
313
308
|
|
|
314
309
|
if (resp.success) {
|
|
315
310
|
return resp.data.queue;
|
|
316
311
|
}
|
|
317
312
|
|
|
318
|
-
if (resp.message?.includes('not found')) {
|
|
319
|
-
throw new QueueNotFoundError({
|
|
320
|
-
queueName: name,
|
|
321
|
-
message: resp.message,
|
|
322
|
-
});
|
|
323
|
-
}
|
|
324
|
-
|
|
325
313
|
throw new QueueError({
|
|
326
314
|
queueName: name,
|
|
327
315
|
message: resp.message || 'Failed to update queue',
|
|
@@ -352,24 +340,21 @@ export async function deleteQueue(
|
|
|
352
340
|
): Promise<void> {
|
|
353
341
|
validateQueueName(name);
|
|
354
342
|
const url = queueApiPath('delete', name);
|
|
355
|
-
const resp = await
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
343
|
+
const resp = await withQueueErrorHandling(
|
|
344
|
+
() =>
|
|
345
|
+
client.delete(
|
|
346
|
+
url,
|
|
347
|
+
DeleteQueueResponseSchema,
|
|
348
|
+
undefined,
|
|
349
|
+
buildQueueHeaders(options?.orgId)
|
|
350
|
+
),
|
|
351
|
+
{ queueName: name }
|
|
360
352
|
);
|
|
361
353
|
|
|
362
354
|
if (resp.success) {
|
|
363
355
|
return;
|
|
364
356
|
}
|
|
365
357
|
|
|
366
|
-
if (resp.message?.includes('not found')) {
|
|
367
|
-
throw new QueueNotFoundError({
|
|
368
|
-
queueName: name,
|
|
369
|
-
message: resp.message,
|
|
370
|
-
});
|
|
371
|
-
}
|
|
372
|
-
|
|
373
358
|
throw new QueueError({
|
|
374
359
|
queueName: name,
|
|
375
360
|
message: resp.message || 'Failed to delete queue',
|
|
@@ -402,26 +387,23 @@ export async function pauseQueue(
|
|
|
402
387
|
): Promise<Queue> {
|
|
403
388
|
validateQueueName(name);
|
|
404
389
|
const url = queueApiPath('pause', name);
|
|
405
|
-
const resp = await
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
390
|
+
const resp = await withQueueErrorHandling(
|
|
391
|
+
() =>
|
|
392
|
+
client.post(
|
|
393
|
+
url,
|
|
394
|
+
{},
|
|
395
|
+
QueueResponseSchema,
|
|
396
|
+
z.object({}),
|
|
397
|
+
undefined,
|
|
398
|
+
buildQueueHeaders(options?.orgId)
|
|
399
|
+
),
|
|
400
|
+
{ queueName: name }
|
|
412
401
|
);
|
|
413
402
|
|
|
414
403
|
if (resp.success) {
|
|
415
404
|
return resp.data.queue;
|
|
416
405
|
}
|
|
417
406
|
|
|
418
|
-
if (resp.message?.includes('not found')) {
|
|
419
|
-
throw new QueueNotFoundError({
|
|
420
|
-
queueName: name,
|
|
421
|
-
message: resp.message,
|
|
422
|
-
});
|
|
423
|
-
}
|
|
424
|
-
|
|
425
407
|
throw new QueueError({
|
|
426
408
|
queueName: name,
|
|
427
409
|
message: resp.message || 'Failed to pause queue',
|
|
@@ -454,26 +436,23 @@ export async function resumeQueue(
|
|
|
454
436
|
): Promise<Queue> {
|
|
455
437
|
validateQueueName(name);
|
|
456
438
|
const url = queueApiPath('resume', name);
|
|
457
|
-
const resp = await
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
439
|
+
const resp = await withQueueErrorHandling(
|
|
440
|
+
() =>
|
|
441
|
+
client.post(
|
|
442
|
+
url,
|
|
443
|
+
{},
|
|
444
|
+
QueueResponseSchema,
|
|
445
|
+
z.object({}),
|
|
446
|
+
undefined,
|
|
447
|
+
buildQueueHeaders(options?.orgId)
|
|
448
|
+
),
|
|
449
|
+
{ queueName: name }
|
|
464
450
|
);
|
|
465
451
|
|
|
466
452
|
if (resp.success) {
|
|
467
453
|
return resp.data.queue;
|
|
468
454
|
}
|
|
469
455
|
|
|
470
|
-
if (resp.message?.includes('not found')) {
|
|
471
|
-
throw new QueueNotFoundError({
|
|
472
|
-
queueName: name,
|
|
473
|
-
message: resp.message,
|
|
474
|
-
});
|
|
475
|
-
}
|
|
476
|
-
|
|
477
456
|
throw new QueueError({
|
|
478
457
|
queueName: name,
|
|
479
458
|
message: resp.message || 'Failed to resume queue',
|
package/src/api/queue/sources.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { type APIClient,
|
|
2
|
+
import { type APIClient, APIResponseSchema, APIResponseSchemaNoData } from '../api.ts';
|
|
3
3
|
import {
|
|
4
4
|
type CreateSourceRequest,
|
|
5
5
|
CreateSourceRequestSchema,
|
|
@@ -8,16 +8,9 @@ import {
|
|
|
8
8
|
SourceSchema,
|
|
9
9
|
type UpdateSourceRequest,
|
|
10
10
|
UpdateSourceRequestSchema,
|
|
11
|
-
} from './types';
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
QueueError,
|
|
15
|
-
QueueNotFoundError,
|
|
16
|
-
queueApiPath,
|
|
17
|
-
SourceAlreadyExistsError,
|
|
18
|
-
SourceNotFoundError,
|
|
19
|
-
} from './util';
|
|
20
|
-
import { validateQueueName, validateSourceId, validateSourceName } from './validation';
|
|
11
|
+
} from './types.ts';
|
|
12
|
+
import { buildQueueHeaders, QueueError, queueApiPath, withQueueErrorHandling } from './util.ts';
|
|
13
|
+
import { validateQueueName, validateSourceId, validateSourceName } from './validation.ts';
|
|
21
14
|
|
|
22
15
|
export const SourceResponseSchema = APIResponseSchema(z.object({ source: SourceSchema }));
|
|
23
16
|
export const SourcesListResponseSchema = APIResponseSchema(
|
|
@@ -64,63 +57,27 @@ export async function createSource(
|
|
|
64
57
|
validateSourceName(params.name);
|
|
65
58
|
|
|
66
59
|
const url = queueApiPath('sources/create', queueName);
|
|
60
|
+
const resp = await withQueueErrorHandling(
|
|
61
|
+
() =>
|
|
62
|
+
client.post(
|
|
63
|
+
url,
|
|
64
|
+
params,
|
|
65
|
+
SourceResponseSchema,
|
|
66
|
+
CreateSourceRequestSchema,
|
|
67
|
+
undefined,
|
|
68
|
+
buildQueueHeaders(options?.orgId)
|
|
69
|
+
),
|
|
70
|
+
{ queueName, sourceName: params.name }
|
|
71
|
+
);
|
|
67
72
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
url,
|
|
71
|
-
params,
|
|
72
|
-
SourceResponseSchema,
|
|
73
|
-
CreateSourceRequestSchema,
|
|
74
|
-
undefined,
|
|
75
|
-
buildQueueHeaders(options?.orgId)
|
|
76
|
-
);
|
|
77
|
-
|
|
78
|
-
if (resp.success) {
|
|
79
|
-
return resp.data.source;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (resp.message?.includes('queue') && resp.message?.includes('not found')) {
|
|
83
|
-
throw new QueueNotFoundError({
|
|
84
|
-
queueName,
|
|
85
|
-
message: resp.message,
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if (resp.message?.includes('already exists')) {
|
|
90
|
-
throw new SourceAlreadyExistsError({
|
|
91
|
-
queueName,
|
|
92
|
-
name: params.name,
|
|
93
|
-
message: `A source with name "${params.name}" already exists for queue "${queueName}"`,
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
throw new QueueError({
|
|
98
|
-
queueName,
|
|
99
|
-
message: resp.message || 'Failed to create source',
|
|
100
|
-
});
|
|
101
|
-
} catch (error) {
|
|
102
|
-
if (error instanceof APIError) {
|
|
103
|
-
const message = error.message || '';
|
|
104
|
-
if (message.includes('already exists')) {
|
|
105
|
-
throw new SourceAlreadyExistsError({
|
|
106
|
-
queueName,
|
|
107
|
-
name: params.name,
|
|
108
|
-
message: `A source with name "${params.name}" already exists for queue "${queueName}"`,
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
if (message.includes('queue') && message.includes('not found')) {
|
|
112
|
-
throw new QueueNotFoundError({
|
|
113
|
-
queueName,
|
|
114
|
-
message,
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
throw new QueueError({
|
|
118
|
-
queueName,
|
|
119
|
-
message: message || 'Failed to create source',
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
throw error;
|
|
73
|
+
if (resp.success) {
|
|
74
|
+
return resp.data.source;
|
|
123
75
|
}
|
|
76
|
+
|
|
77
|
+
throw new QueueError({
|
|
78
|
+
queueName,
|
|
79
|
+
message: resp.message || 'Failed to create source',
|
|
80
|
+
});
|
|
124
81
|
}
|
|
125
82
|
|
|
126
83
|
/**
|
|
@@ -153,24 +110,16 @@ export async function listSources(
|
|
|
153
110
|
): Promise<Source[]> {
|
|
154
111
|
validateQueueName(queueName);
|
|
155
112
|
const url = queueApiPath('sources/list', queueName);
|
|
156
|
-
const resp = await
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
buildQueueHeaders(options?.orgId)
|
|
113
|
+
const resp = await withQueueErrorHandling(
|
|
114
|
+
() =>
|
|
115
|
+
client.get(url, SourcesListResponseSchema, undefined, buildQueueHeaders(options?.orgId)),
|
|
116
|
+
{ queueName }
|
|
161
117
|
);
|
|
162
118
|
|
|
163
119
|
if (resp.success) {
|
|
164
120
|
return resp.data.sources;
|
|
165
121
|
}
|
|
166
122
|
|
|
167
|
-
if (resp.message?.includes('not found')) {
|
|
168
|
-
throw new QueueNotFoundError({
|
|
169
|
-
queueName,
|
|
170
|
-
message: resp.message,
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
|
|
174
123
|
throw new QueueError({
|
|
175
124
|
queueName,
|
|
176
125
|
message: resp.message || 'Failed to list sources',
|
|
@@ -210,32 +159,15 @@ export async function getSource(
|
|
|
210
159
|
validateSourceId(sourceId);
|
|
211
160
|
|
|
212
161
|
const url = queueApiPath('sources/get', queueName, sourceId);
|
|
213
|
-
const resp = await
|
|
214
|
-
url,
|
|
215
|
-
|
|
216
|
-
undefined,
|
|
217
|
-
buildQueueHeaders(options?.orgId)
|
|
162
|
+
const resp = await withQueueErrorHandling(
|
|
163
|
+
() => client.get(url, SourceResponseSchema, undefined, buildQueueHeaders(options?.orgId)),
|
|
164
|
+
{ queueName, sourceId }
|
|
218
165
|
);
|
|
219
166
|
|
|
220
167
|
if (resp.success) {
|
|
221
168
|
return resp.data.source;
|
|
222
169
|
}
|
|
223
170
|
|
|
224
|
-
if (resp.message?.includes('source') && resp.message?.includes('not found')) {
|
|
225
|
-
throw new SourceNotFoundError({
|
|
226
|
-
queueName,
|
|
227
|
-
sourceId,
|
|
228
|
-
message: resp.message,
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
if (resp.message?.includes('queue') && resp.message?.includes('not found')) {
|
|
233
|
-
throw new QueueNotFoundError({
|
|
234
|
-
queueName,
|
|
235
|
-
message: resp.message,
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
|
|
239
171
|
throw new QueueError({
|
|
240
172
|
queueName,
|
|
241
173
|
message: resp.message || 'Failed to get source',
|
|
@@ -286,34 +218,23 @@ export async function updateSource(
|
|
|
286
218
|
}
|
|
287
219
|
|
|
288
220
|
const url = queueApiPath('sources/update', queueName, sourceId);
|
|
289
|
-
const resp = await
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
221
|
+
const resp = await withQueueErrorHandling(
|
|
222
|
+
() =>
|
|
223
|
+
client.patch(
|
|
224
|
+
url,
|
|
225
|
+
params,
|
|
226
|
+
SourceResponseSchema,
|
|
227
|
+
UpdateSourceRequestSchema,
|
|
228
|
+
undefined,
|
|
229
|
+
buildQueueHeaders(options?.orgId)
|
|
230
|
+
),
|
|
231
|
+
{ queueName, sourceId }
|
|
296
232
|
);
|
|
297
233
|
|
|
298
234
|
if (resp.success) {
|
|
299
235
|
return resp.data.source;
|
|
300
236
|
}
|
|
301
237
|
|
|
302
|
-
if (resp.message?.includes('source') && resp.message?.includes('not found')) {
|
|
303
|
-
throw new SourceNotFoundError({
|
|
304
|
-
queueName,
|
|
305
|
-
sourceId,
|
|
306
|
-
message: resp.message,
|
|
307
|
-
});
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
if (resp.message?.includes('queue') && resp.message?.includes('not found')) {
|
|
311
|
-
throw new QueueNotFoundError({
|
|
312
|
-
queueName,
|
|
313
|
-
message: resp.message,
|
|
314
|
-
});
|
|
315
|
-
}
|
|
316
|
-
|
|
317
238
|
throw new QueueError({
|
|
318
239
|
queueName,
|
|
319
240
|
message: resp.message || 'Failed to update source',
|
|
@@ -351,32 +272,21 @@ export async function deleteSource(
|
|
|
351
272
|
validateSourceId(sourceId);
|
|
352
273
|
|
|
353
274
|
const url = queueApiPath('sources/delete', queueName, sourceId);
|
|
354
|
-
const resp = await
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
275
|
+
const resp = await withQueueErrorHandling(
|
|
276
|
+
() =>
|
|
277
|
+
client.delete(
|
|
278
|
+
url,
|
|
279
|
+
DeleteSourceResponseSchema,
|
|
280
|
+
undefined,
|
|
281
|
+
buildQueueHeaders(options?.orgId)
|
|
282
|
+
),
|
|
283
|
+
{ queueName, sourceId }
|
|
359
284
|
);
|
|
360
285
|
|
|
361
286
|
if (resp.success) {
|
|
362
287
|
return;
|
|
363
288
|
}
|
|
364
289
|
|
|
365
|
-
if (resp.message?.includes('source') && resp.message?.includes('not found')) {
|
|
366
|
-
throw new SourceNotFoundError({
|
|
367
|
-
queueName,
|
|
368
|
-
sourceId,
|
|
369
|
-
message: resp.message,
|
|
370
|
-
});
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
if (resp.message?.includes('queue') && resp.message?.includes('not found')) {
|
|
374
|
-
throw new QueueNotFoundError({
|
|
375
|
-
queueName,
|
|
376
|
-
message: resp.message,
|
|
377
|
-
});
|
|
378
|
-
}
|
|
379
|
-
|
|
380
290
|
throw new QueueError({
|
|
381
291
|
queueName,
|
|
382
292
|
message: resp.message || 'Failed to delete source',
|
package/src/api/queue/util.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { StructuredError } from '@agentuity/core';
|
|
2
|
+
import { APIError } from '../api.ts';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* General queue operation error.
|
|
@@ -202,3 +203,76 @@ export function buildQueueHeaders(orgId?: string): Record<string, string> | unde
|
|
|
202
203
|
}
|
|
203
204
|
return undefined;
|
|
204
205
|
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Wraps an API call and translates APIError with HTTP status codes to domain-specific queue errors.
|
|
209
|
+
*
|
|
210
|
+
* - 404 → QueueNotFoundError / MessageNotFoundError / DestinationNotFoundError / SourceNotFoundError
|
|
211
|
+
* - 409 with "already exists" → DestinationAlreadyExistsError / SourceAlreadyExistsError
|
|
212
|
+
*
|
|
213
|
+
* @internal
|
|
214
|
+
*/
|
|
215
|
+
export async function withQueueErrorHandling<T>(
|
|
216
|
+
apiCall: () => Promise<T>,
|
|
217
|
+
context: {
|
|
218
|
+
queueName?: string;
|
|
219
|
+
messageId?: string;
|
|
220
|
+
destinationId?: string;
|
|
221
|
+
sourceId?: string;
|
|
222
|
+
sourceName?: string;
|
|
223
|
+
destinationUrl?: string;
|
|
224
|
+
}
|
|
225
|
+
): Promise<T> {
|
|
226
|
+
try {
|
|
227
|
+
return await apiCall();
|
|
228
|
+
} catch (error) {
|
|
229
|
+
if (error instanceof APIError) {
|
|
230
|
+
if (error.status === 404) {
|
|
231
|
+
if (context.messageId && context.queueName) {
|
|
232
|
+
throw new MessageNotFoundError({
|
|
233
|
+
queueName: context.queueName,
|
|
234
|
+
messageId: context.messageId,
|
|
235
|
+
message: error.message,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
if (context.destinationId && context.queueName) {
|
|
239
|
+
throw new DestinationNotFoundError({
|
|
240
|
+
queueName: context.queueName,
|
|
241
|
+
destinationId: context.destinationId,
|
|
242
|
+
message: error.message,
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
if (context.sourceId && context.queueName) {
|
|
246
|
+
throw new SourceNotFoundError({
|
|
247
|
+
queueName: context.queueName,
|
|
248
|
+
sourceId: context.sourceId,
|
|
249
|
+
message: error.message,
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
if (context.queueName) {
|
|
253
|
+
throw new QueueNotFoundError({
|
|
254
|
+
queueName: context.queueName,
|
|
255
|
+
message: error.message,
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
if (error.status === 409) {
|
|
260
|
+
if (context.destinationUrl && context.queueName) {
|
|
261
|
+
throw new DestinationAlreadyExistsError({
|
|
262
|
+
queueName: context.queueName,
|
|
263
|
+
url: context.destinationUrl,
|
|
264
|
+
message: error.message,
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
if (context.sourceName && context.queueName) {
|
|
268
|
+
throw new SourceAlreadyExistsError({
|
|
269
|
+
queueName: context.queueName,
|
|
270
|
+
name: context.sourceName,
|
|
271
|
+
message: error.message,
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
throw error;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
@@ -41,10 +41,10 @@
|
|
|
41
41
|
* ```
|
|
42
42
|
*/
|
|
43
43
|
|
|
44
|
-
import type { Message } from './types';
|
|
45
|
-
import { WebSocketAuthResponseSchema, WebSocketMessageSchema } from './types';
|
|
46
|
-
import { QueueError } from './util';
|
|
47
|
-
import { validateQueueName } from './validation';
|
|
44
|
+
import type { Message } from './types.ts';
|
|
45
|
+
import { WebSocketAuthResponseSchema, WebSocketMessageSchema } from './types.ts';
|
|
46
|
+
import { QueueError } from './util.ts';
|
|
47
|
+
import { validateQueueName } from './validation.ts';
|
|
48
48
|
|
|
49
49
|
// ============================================================================
|
|
50
50
|
// Types
|
|
@@ -210,7 +210,7 @@ export function createQueueWebSocket(options: QueueWebSocketOptions): QueueWebSo
|
|
|
210
210
|
message: `Failed to create WebSocket connection: ${err instanceof Error ? err.message : String(err)}`,
|
|
211
211
|
queueName,
|
|
212
212
|
cause: err instanceof Error ? err : undefined,
|
|
213
|
-
})
|
|
213
|
+
})
|
|
214
214
|
);
|
|
215
215
|
scheduleReconnect();
|
|
216
216
|
return;
|
|
@@ -319,7 +319,7 @@ export function createQueueWebSocket(options: QueueWebSocketOptions): QueueWebSo
|
|
|
319
319
|
new QueueError({
|
|
320
320
|
message: 'WebSocket connection error',
|
|
321
321
|
queueName,
|
|
322
|
-
})
|
|
322
|
+
})
|
|
323
323
|
);
|
|
324
324
|
};
|
|
325
325
|
}
|
|
@@ -331,7 +331,7 @@ export function createQueueWebSocket(options: QueueWebSocketOptions): QueueWebSo
|
|
|
331
331
|
new QueueError({
|
|
332
332
|
message: `Exceeded maximum reconnection attempts (${maxReconnectAttempts})`,
|
|
333
333
|
queueName,
|
|
334
|
-
})
|
|
334
|
+
})
|
|
335
335
|
);
|
|
336
336
|
return;
|
|
337
337
|
}
|
|
@@ -405,7 +405,7 @@ export function createQueueWebSocket(options: QueueWebSocketOptions): QueueWebSo
|
|
|
405
405
|
* ```
|
|
406
406
|
*/
|
|
407
407
|
export async function* subscribeToQueue(
|
|
408
|
-
options: SubscribeToQueueOptions
|
|
408
|
+
options: SubscribeToQueueOptions
|
|
409
409
|
): AsyncGenerator<Message, void, unknown> {
|
|
410
410
|
const { signal } = options;
|
|
411
411
|
|
package/src/api/region/create.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { APIResponseSchema, APIClient } from '../api';
|
|
3
|
-
import { RegionResponseError } from './util';
|
|
2
|
+
import { APIResponseSchema, APIClient } from '../api.ts';
|
|
3
|
+
import { RegionResponseError } from './util.ts';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Database name validation regex - must match catalyst server validation:
|
|
@@ -51,6 +51,12 @@ export function validateDatabaseName(name: string): { valid: boolean; error?: st
|
|
|
51
51
|
error: 'database name must start with a letter or underscore and contain only lowercase letters, digits, and underscores',
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
|
+
if (name.startsWith('pg_')) {
|
|
55
|
+
return {
|
|
56
|
+
valid: false,
|
|
57
|
+
error: "database name cannot start with 'pg_' (reserved by PostgreSQL)",
|
|
58
|
+
};
|
|
59
|
+
}
|
|
54
60
|
return { valid: true };
|
|
55
61
|
}
|
|
56
62
|
|
package/src/api/region/delete.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { APIResponseSchema, APIClient } from '../api';
|
|
3
|
-
import { RegionResponseError } from './util';
|
|
2
|
+
import { APIResponseSchema, APIClient } from '../api.ts';
|
|
3
|
+
import { RegionResponseError } from './util.ts';
|
|
4
4
|
|
|
5
5
|
export const DeleteResourceSpec = z.object({
|
|
6
6
|
type: z.enum(['db', 's3']).describe('the resource type'),
|
package/src/api/region/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './list';
|
|
2
|
-
export * from './resources';
|
|
3
|
-
export * from './create';
|
|
4
|
-
export * from './delete';
|
|
1
|
+
export * from './list.ts';
|
|
2
|
+
export * from './resources.ts';
|
|
3
|
+
export * from './create.ts';
|
|
4
|
+
export * from './delete.ts';
|
package/src/api/region/list.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { APIResponseSchema, APIClient } from '../api';
|
|
3
|
-
import { RegionResponseError } from './util';
|
|
2
|
+
import { APIResponseSchema, APIClient } from '../api.ts';
|
|
3
|
+
import { RegionResponseError } from './util.ts';
|
|
4
4
|
|
|
5
5
|
export const ListRegionsResponse = z.array(
|
|
6
6
|
z.object({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { APIResponseSchema, APIClient } from '../api';
|
|
3
|
-
import { RegionResponseError } from './util';
|
|
2
|
+
import { APIResponseSchema, APIClient } from '../api.ts';
|
|
3
|
+
import { RegionResponseError } from './util.ts';
|
|
4
4
|
|
|
5
5
|
export const ResourceListResponse = z.object({
|
|
6
6
|
s3: z.array(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { type APIClient, APIResponseSchema } from '../api';
|
|
3
|
-
import { SandboxResponseError } from './util';
|
|
2
|
+
import { type APIClient, APIResponseSchema } from '../api.ts';
|
|
3
|
+
import { SandboxResponseError } from './util.ts';
|
|
4
4
|
|
|
5
5
|
export const SandboxInfoSchema = z.object({
|
|
6
6
|
id: z.string().describe('the sandbox id'),
|
|
@@ -45,7 +45,15 @@ export interface CLISandboxListOptions {
|
|
|
45
45
|
/**
|
|
46
46
|
* Filter by sandbox status
|
|
47
47
|
*/
|
|
48
|
-
status?:
|
|
48
|
+
status?:
|
|
49
|
+
| 'creating'
|
|
50
|
+
| 'idle'
|
|
51
|
+
| 'running'
|
|
52
|
+
| 'paused'
|
|
53
|
+
| 'stopping'
|
|
54
|
+
| 'suspended'
|
|
55
|
+
| 'terminated'
|
|
56
|
+
| 'failed';
|
|
49
57
|
/**
|
|
50
58
|
* Maximum number of sandboxes to return (default: 50, max: 100)
|
|
51
59
|
*/
|