@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 @@
|
|
|
1
|
+
{"version":3,"file":"cli-list.d.ts","sourceRoot":"","sources":["../../../src/services/sandbox/cli-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,WAAW,CAAC;AAG9D,eAAO,MAAM,iBAAiB;;;;;;;;;;iBAU5B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;iBAGhC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;8BAA2C,CAAC;AAElF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC/E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACvE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE/D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;iBAkCtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,qBAA0B,GACjC,OAAO,CAAC,kBAAkB,CAAC,CA0B7B"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIResponseSchema } from "../api.js";
|
|
3
|
+
import { SandboxResponseError } from "./util.js";
|
|
4
|
+
export const SandboxInfoSchema = z.object({
|
|
5
|
+
id: z.string().describe('the sandbox id'),
|
|
6
|
+
name: z.string().nullable().describe('the sandbox name'),
|
|
7
|
+
description: z.string().nullable().describe('the sandbox description'),
|
|
8
|
+
status: z.string().describe('sandbox status'),
|
|
9
|
+
region: z.string().nullable().describe('cloud region'),
|
|
10
|
+
createdAt: z.string().nullable().describe('ISO 8601 creation timestamp'),
|
|
11
|
+
orgId: z.string().describe('the organization id'),
|
|
12
|
+
orgName: z.string().nullable().describe('the organization name'),
|
|
13
|
+
projectId: z.string().nullable().describe('the project id'),
|
|
14
|
+
});
|
|
15
|
+
export const SandboxListDataSchema = z.object({
|
|
16
|
+
sandboxes: z.array(SandboxInfoSchema).describe('list of sandboxes'),
|
|
17
|
+
total: z.number().describe('total count of matching sandboxes'),
|
|
18
|
+
});
|
|
19
|
+
export const SandboxListResponseSchema = APIResponseSchema(SandboxListDataSchema);
|
|
20
|
+
export const CLISandboxListOptionsSchema = z.object({
|
|
21
|
+
/** Filter by sandbox name */
|
|
22
|
+
name: z.string().optional().describe('Filter by sandbox name'),
|
|
23
|
+
/** Filter by sandbox mode */
|
|
24
|
+
mode: z.enum(['oneshot', 'interactive']).optional().describe('Filter by sandbox mode'),
|
|
25
|
+
/** Filter by specific project ID */
|
|
26
|
+
projectId: z.string().optional().describe('Filter by specific project ID'),
|
|
27
|
+
/** Filter by specific organization ID */
|
|
28
|
+
orgId: z.string().optional().describe('Filter by specific organization ID'),
|
|
29
|
+
/** Filter by sandbox status */
|
|
30
|
+
status: z
|
|
31
|
+
.enum([
|
|
32
|
+
'creating',
|
|
33
|
+
'idle',
|
|
34
|
+
'running',
|
|
35
|
+
'paused',
|
|
36
|
+
'stopping',
|
|
37
|
+
'suspended',
|
|
38
|
+
'terminated',
|
|
39
|
+
'failed',
|
|
40
|
+
])
|
|
41
|
+
.optional()
|
|
42
|
+
.describe('Filter by sandbox status'),
|
|
43
|
+
/** Maximum number of sandboxes to return (default: 50, max: 100) */
|
|
44
|
+
limit: z
|
|
45
|
+
.number()
|
|
46
|
+
.optional()
|
|
47
|
+
.describe('Maximum number of sandboxes to return (default: 50, max: 100)'),
|
|
48
|
+
/** Number of sandboxes to skip for pagination */
|
|
49
|
+
offset: z.number().optional().describe('Number of sandboxes to skip for pagination'),
|
|
50
|
+
/** Field to sort by */
|
|
51
|
+
sort: z.string().optional().describe('Field to sort by'),
|
|
52
|
+
/** Sort direction (default: desc) */
|
|
53
|
+
direction: z.enum(['asc', 'desc']).optional().describe('Sort direction (default: desc)'),
|
|
54
|
+
});
|
|
55
|
+
/**
|
|
56
|
+
* List sandboxes with optional filtering using the CLI API endpoint.
|
|
57
|
+
*
|
|
58
|
+
* This endpoint searches across all organizations the user is a member of,
|
|
59
|
+
* unlike the Catalyst API which requires an orgId.
|
|
60
|
+
*
|
|
61
|
+
* @param client - The API client
|
|
62
|
+
* @param options - Filtering and pagination options
|
|
63
|
+
* @returns A promise that resolves to the list of sandboxes
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* // List all sandboxes across all orgs
|
|
67
|
+
* const result = await cliSandboxList(client);
|
|
68
|
+
* console.log(`Found ${result.total} sandboxes`);
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* // List running sandboxes
|
|
72
|
+
* const result = await cliSandboxList(client, { status: 'running' });
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* // List sandboxes for a specific project
|
|
76
|
+
* const result = await cliSandboxList(client, { projectId: 'proj_123' });
|
|
77
|
+
*/
|
|
78
|
+
export async function cliSandboxList(client, options = {}) {
|
|
79
|
+
const { projectId, orgId, status, limit, offset, sort, direction } = options;
|
|
80
|
+
const params = new URLSearchParams();
|
|
81
|
+
if (options.name)
|
|
82
|
+
params.set('name', options.name);
|
|
83
|
+
if (options.mode)
|
|
84
|
+
params.set('mode', options.mode);
|
|
85
|
+
if (projectId)
|
|
86
|
+
params.set('projectId', projectId);
|
|
87
|
+
if (orgId)
|
|
88
|
+
params.set('orgId', orgId);
|
|
89
|
+
if (status)
|
|
90
|
+
params.set('status', status);
|
|
91
|
+
if (limit !== undefined)
|
|
92
|
+
params.set('limit', limit.toString());
|
|
93
|
+
if (offset !== undefined)
|
|
94
|
+
params.set('offset', offset.toString());
|
|
95
|
+
if (sort)
|
|
96
|
+
params.set('sort', sort);
|
|
97
|
+
if (direction)
|
|
98
|
+
params.set('direction', direction);
|
|
99
|
+
const queryString = params.toString();
|
|
100
|
+
const resp = await client.request('GET', `/cli/sandbox${queryString ? `?${queryString}` : ''}`, SandboxListResponseSchema);
|
|
101
|
+
if (resp.success) {
|
|
102
|
+
return resp.data;
|
|
103
|
+
}
|
|
104
|
+
throw new SandboxResponseError({ message: resp.message });
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=cli-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-list.js","sourceRoot":"","sources":["../../../src/services/sandbox/cli-list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { type SandboxCreateOptions, type SandboxInfo, type Execution, type FileToWrite, type SandboxRunOptions, type SandboxRunResult } from './types.ts';
|
|
2
|
+
import type { Logger } from '../../logger.ts';
|
|
3
|
+
import type { Readable, Writable } from 'node:stream';
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { type SandboxCreateResponse } from './create.ts';
|
|
6
|
+
/**
|
|
7
|
+
* Extended execute options that support piping output to writable streams
|
|
8
|
+
*/
|
|
9
|
+
export declare const ExecuteOptionsSchema: z.ZodObject<{
|
|
10
|
+
command: z.ZodArray<z.ZodString>;
|
|
11
|
+
files: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
12
|
+
path: z.ZodString;
|
|
13
|
+
content: z.ZodCustom<Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>>;
|
|
14
|
+
}, z.core.$strip>>>;
|
|
15
|
+
timeout: z.ZodOptional<z.ZodString>;
|
|
16
|
+
stream: z.ZodOptional<z.ZodObject<{
|
|
17
|
+
stdout: z.ZodOptional<z.ZodString>;
|
|
18
|
+
stderr: z.ZodOptional<z.ZodString>;
|
|
19
|
+
timestamps: z.ZodOptional<z.ZodBoolean>;
|
|
20
|
+
}, z.core.$strip>>;
|
|
21
|
+
signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
|
|
22
|
+
pipe: z.ZodOptional<z.ZodObject<{
|
|
23
|
+
stdout: z.ZodOptional<z.ZodCustom<Writable, Writable>>;
|
|
24
|
+
stderr: z.ZodOptional<z.ZodCustom<Writable, Writable>>;
|
|
25
|
+
}, z.core.$strip>>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export type ExecuteOptions = z.infer<typeof ExecuteOptionsSchema>;
|
|
28
|
+
export declare const SandboxClientOptionsSchema: z.ZodObject<{
|
|
29
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
30
|
+
url: z.ZodOptional<z.ZodString>;
|
|
31
|
+
orgId: z.ZodOptional<z.ZodString>;
|
|
32
|
+
logger: z.ZodOptional<z.ZodCustom<Logger, Logger>>;
|
|
33
|
+
}, z.core.$strip>;
|
|
34
|
+
export type SandboxClientOptions = z.infer<typeof SandboxClientOptionsSchema>;
|
|
35
|
+
/**
|
|
36
|
+
* I/O options for one-shot sandbox execution via run()
|
|
37
|
+
*/
|
|
38
|
+
export declare const SandboxClientRunIOSchema: z.ZodObject<{
|
|
39
|
+
signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
|
|
40
|
+
stdin: z.ZodOptional<z.ZodCustom<Readable, Readable>>;
|
|
41
|
+
stdout: z.ZodOptional<z.ZodCustom<Writable, Writable>>;
|
|
42
|
+
stderr: z.ZodOptional<z.ZodCustom<Writable, Writable>>;
|
|
43
|
+
logger: z.ZodOptional<z.ZodCustom<Logger, Logger>>;
|
|
44
|
+
}, z.core.$strip>;
|
|
45
|
+
export type SandboxClientRunIO = z.infer<typeof SandboxClientRunIOSchema>;
|
|
46
|
+
/**
|
|
47
|
+
* A sandbox instance returned by SandboxClient.create()
|
|
48
|
+
*/
|
|
49
|
+
export interface SandboxInstance {
|
|
50
|
+
/**
|
|
51
|
+
* Unique sandbox identifier
|
|
52
|
+
*/
|
|
53
|
+
id: string;
|
|
54
|
+
/**
|
|
55
|
+
* Sandbox status at creation time
|
|
56
|
+
*/
|
|
57
|
+
status: SandboxCreateResponse['status'];
|
|
58
|
+
/**
|
|
59
|
+
* URL to stream stdout output
|
|
60
|
+
*/
|
|
61
|
+
stdoutStreamUrl?: string;
|
|
62
|
+
/**
|
|
63
|
+
* URL to stream stderr output
|
|
64
|
+
*/
|
|
65
|
+
stderrStreamUrl?: string;
|
|
66
|
+
/**
|
|
67
|
+
* URL to stream audit events (eBPF/Tetragon security events)
|
|
68
|
+
*/
|
|
69
|
+
auditStreamUrl?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Execute a command in the sandbox
|
|
72
|
+
*/
|
|
73
|
+
execute(options: ExecuteOptions): Promise<Execution>;
|
|
74
|
+
/**
|
|
75
|
+
* Write files to the sandbox workspace
|
|
76
|
+
*/
|
|
77
|
+
writeFiles(files: FileToWrite[]): Promise<number>;
|
|
78
|
+
/**
|
|
79
|
+
* Read a file from the sandbox workspace
|
|
80
|
+
*/
|
|
81
|
+
readFile(path: string): Promise<ReadableStream<Uint8Array>>;
|
|
82
|
+
/**
|
|
83
|
+
* Get current sandbox information
|
|
84
|
+
*/
|
|
85
|
+
get(): Promise<SandboxInfo>;
|
|
86
|
+
/**
|
|
87
|
+
* Destroy the sandbox and release all resources
|
|
88
|
+
*/
|
|
89
|
+
destroy(): Promise<void>;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Convenience client for sandbox operations.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```typescript
|
|
96
|
+
* // Interactive sandbox usage
|
|
97
|
+
* const client = new SandboxClient();
|
|
98
|
+
* const sandbox = await client.create();
|
|
99
|
+
* const result = await sandbox.execute({ command: ['echo', 'hello'] });
|
|
100
|
+
* await sandbox.destroy();
|
|
101
|
+
*
|
|
102
|
+
* // One-shot execution with streaming
|
|
103
|
+
* const result = await client.run(
|
|
104
|
+
* { command: { exec: ['bun', 'run', 'script.ts'] } },
|
|
105
|
+
* { stdout: process.stdout, stderr: process.stderr }
|
|
106
|
+
* );
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
export declare class SandboxClient {
|
|
110
|
+
#private;
|
|
111
|
+
constructor(options?: SandboxClientOptions);
|
|
112
|
+
/**
|
|
113
|
+
* Run a one-shot command in a new sandbox (creates, executes, destroys)
|
|
114
|
+
*
|
|
115
|
+
* This is a high-level convenience method that handles the full lifecycle:
|
|
116
|
+
* creating a sandbox, streaming I/O, polling for completion, and cleanup.
|
|
117
|
+
*
|
|
118
|
+
* @param options - Execution options including command and configuration
|
|
119
|
+
* @param io - Optional I/O streams and abort signal
|
|
120
|
+
* @returns The run result including exit code and duration
|
|
121
|
+
* @throws {Error} If stdin is provided without an API key
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* const client = new SandboxClient();
|
|
126
|
+
* const result = await client.run(
|
|
127
|
+
* { command: { exec: ['bun', 'run', 'script.ts'] } },
|
|
128
|
+
* { stdout: process.stdout, stderr: process.stderr }
|
|
129
|
+
* );
|
|
130
|
+
* console.log('Exit code:', result.exitCode);
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
run(options: SandboxRunOptions, io?: SandboxClientRunIO): Promise<SandboxRunResult>;
|
|
134
|
+
/**
|
|
135
|
+
* Create a new sandbox instance
|
|
136
|
+
*
|
|
137
|
+
* @param options - Optional sandbox configuration
|
|
138
|
+
* @returns A sandbox instance with execute and destroy methods
|
|
139
|
+
*/
|
|
140
|
+
create(options?: SandboxCreateOptions): Promise<SandboxInstance>;
|
|
141
|
+
/**
|
|
142
|
+
* Get sandbox information by ID
|
|
143
|
+
*
|
|
144
|
+
* @param sandboxId - The sandbox ID
|
|
145
|
+
* @returns Sandbox information
|
|
146
|
+
*/
|
|
147
|
+
get(sandboxId: string): Promise<SandboxInfo>;
|
|
148
|
+
/**
|
|
149
|
+
* Destroy a sandbox by ID
|
|
150
|
+
*
|
|
151
|
+
* @param sandboxId - The sandbox ID to destroy
|
|
152
|
+
*/
|
|
153
|
+
destroy(sandboxId: string): Promise<void>;
|
|
154
|
+
/**
|
|
155
|
+
* Write files to a sandbox workspace
|
|
156
|
+
*
|
|
157
|
+
* @param sandboxId - The sandbox ID
|
|
158
|
+
* @param files - Array of files to write with path and content
|
|
159
|
+
* @param signal - Optional AbortSignal to cancel the operation
|
|
160
|
+
* @returns The number of files written
|
|
161
|
+
*/
|
|
162
|
+
writeFiles(sandboxId: string, files: FileToWrite[], signal?: AbortSignal): Promise<number>;
|
|
163
|
+
/**
|
|
164
|
+
* Read a file from a sandbox workspace
|
|
165
|
+
*
|
|
166
|
+
* @param sandboxId - The sandbox ID
|
|
167
|
+
* @param path - Path to the file relative to the sandbox workspace
|
|
168
|
+
* @param signal - Optional AbortSignal to cancel the operation
|
|
169
|
+
* @returns A ReadableStream of the file contents
|
|
170
|
+
*/
|
|
171
|
+
readFile(sandboxId: string, path: string, signal?: AbortSignal): Promise<ReadableStream<Uint8Array>>;
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/services/sandbox/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAiB,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAyExE;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;iBAS/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B;;;;;iBASrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;iBAWnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAExC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAErD;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IAE5D;;OAEG;IACH,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAE5B;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAa;;gBAOb,OAAO,GAAE,oBAAyB;IAwB9C;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,GAAE,kBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkB7F;;;;;OAKG;IACG,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IA6FtE;;;;;OAKG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIlD;;;;OAIG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;;;;;;OAOG;IACG,UAAU,CACf,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,WAAW,EAAE,EACpB,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC;IAUlB;;;;;;;OAOG;IACG,QAAQ,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;CAQtC"}
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { ExecuteOptionsSchema as CoreExecuteOptionsSchema, } from "./types.js";
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { APIClient } from "../api.js";
|
|
4
|
+
import { getEnv } from "../env.js";
|
|
5
|
+
import { sandboxCreate } from "./create.js";
|
|
6
|
+
import { sandboxDestroy } from "./destroy.js";
|
|
7
|
+
import { sandboxGet } from "./get.js";
|
|
8
|
+
import { sandboxExecute } from "./execute.js";
|
|
9
|
+
import { sandboxWriteFiles, sandboxReadFile } from "./files.js";
|
|
10
|
+
import { sandboxRun } from "./run.js";
|
|
11
|
+
import { executionGet } from "./execution.js";
|
|
12
|
+
import { createMinimalLogger } from "../logger.js";
|
|
13
|
+
import { getServiceUrls } from "../config.js";
|
|
14
|
+
import { writeAndDrain } from "./util.js";
|
|
15
|
+
// Server-side long-poll wait duration (max 5 minutes supported by server)
|
|
16
|
+
const EXECUTION_WAIT_DURATION = '5m';
|
|
17
|
+
/**
|
|
18
|
+
* Wait for execution completion using server-side long-polling.
|
|
19
|
+
* This is more efficient than client-side polling and provides immediate
|
|
20
|
+
* error detection if the sandbox is terminated.
|
|
21
|
+
*/
|
|
22
|
+
async function waitForExecution(client, executionId, orgId, signal) {
|
|
23
|
+
if (signal?.aborted) {
|
|
24
|
+
throw new DOMException('The operation was aborted.', 'AbortError');
|
|
25
|
+
}
|
|
26
|
+
// Use server-side long-polling - the server will hold the connection
|
|
27
|
+
// until the execution reaches a terminal state or the wait duration expires
|
|
28
|
+
return executionGet(client, {
|
|
29
|
+
executionId,
|
|
30
|
+
orgId,
|
|
31
|
+
wait: EXECUTION_WAIT_DURATION,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Pipes a remote stream URL to a local writable stream with proper backpressure handling
|
|
36
|
+
*/
|
|
37
|
+
async function pipeStreamToWritable(streamUrl, writable, signal) {
|
|
38
|
+
const response = await fetch(streamUrl, { signal });
|
|
39
|
+
if (!response.ok) {
|
|
40
|
+
throw new Error(`Failed to fetch stream: ${response.status} ${response.statusText}`);
|
|
41
|
+
}
|
|
42
|
+
if (!response.body) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const reader = response.body.getReader();
|
|
46
|
+
try {
|
|
47
|
+
while (true) {
|
|
48
|
+
const { done, value } = await reader.read();
|
|
49
|
+
if (done)
|
|
50
|
+
break;
|
|
51
|
+
if (value) {
|
|
52
|
+
await writeAndDrain(writable, value);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
try {
|
|
58
|
+
await reader.cancel();
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
// Ignore cancel errors - stream may already be closed
|
|
62
|
+
}
|
|
63
|
+
reader.releaseLock();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Extended execute options that support piping output to writable streams
|
|
68
|
+
*/
|
|
69
|
+
export const ExecuteOptionsSchema = CoreExecuteOptionsSchema.extend({
|
|
70
|
+
/** Pipe stdout/stderr to writable streams (e.g., process.stdout) */
|
|
71
|
+
pipe: z
|
|
72
|
+
.object({
|
|
73
|
+
stdout: z.custom().optional().describe('stdout writable stream'),
|
|
74
|
+
stderr: z.custom().optional().describe('stderr writable stream'),
|
|
75
|
+
})
|
|
76
|
+
.optional()
|
|
77
|
+
.describe('Pipe stdout/stderr to writable streams (e.g., process.stdout)'),
|
|
78
|
+
});
|
|
79
|
+
export const SandboxClientOptionsSchema = z.object({
|
|
80
|
+
/** API key for authentication. Defaults to AGENTUITY_SDK_KEY/AGENTUITY_CLI_KEY */
|
|
81
|
+
apiKey: z.string().optional().describe('API key for authentication'),
|
|
82
|
+
/** Base URL for the sandbox API */
|
|
83
|
+
url: z.string().optional().describe('Base URL for the sandbox API'),
|
|
84
|
+
/** Organization ID for multi-tenant operations */
|
|
85
|
+
orgId: z.string().optional().describe('Organization ID for multi-tenant operations'),
|
|
86
|
+
/** Custom logger instance */
|
|
87
|
+
logger: z.custom().optional().describe('Custom logger instance'),
|
|
88
|
+
});
|
|
89
|
+
/**
|
|
90
|
+
* I/O options for one-shot sandbox execution via run()
|
|
91
|
+
*/
|
|
92
|
+
export const SandboxClientRunIOSchema = z.object({
|
|
93
|
+
/** AbortSignal to cancel the execution */
|
|
94
|
+
signal: z.custom().optional().describe('AbortSignal to cancel the execution'),
|
|
95
|
+
/** Readable stream for stdin input */
|
|
96
|
+
stdin: z.custom().optional().describe('Readable stream for stdin input'),
|
|
97
|
+
/** Writable stream for stdout output */
|
|
98
|
+
stdout: z.custom().optional().describe('Writable stream for stdout output'),
|
|
99
|
+
/** Writable stream for stderr output */
|
|
100
|
+
stderr: z.custom().optional().describe('Writable stream for stderr output'),
|
|
101
|
+
/** Optional logger override for this run */
|
|
102
|
+
logger: z.custom().optional().describe('Optional logger override for this run'),
|
|
103
|
+
});
|
|
104
|
+
/**
|
|
105
|
+
* Convenience client for sandbox operations.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```typescript
|
|
109
|
+
* // Interactive sandbox usage
|
|
110
|
+
* const client = new SandboxClient();
|
|
111
|
+
* const sandbox = await client.create();
|
|
112
|
+
* const result = await sandbox.execute({ command: ['echo', 'hello'] });
|
|
113
|
+
* await sandbox.destroy();
|
|
114
|
+
*
|
|
115
|
+
* // One-shot execution with streaming
|
|
116
|
+
* const result = await client.run(
|
|
117
|
+
* { command: { exec: ['bun', 'run', 'script.ts'] } },
|
|
118
|
+
* { stdout: process.stdout, stderr: process.stderr }
|
|
119
|
+
* );
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export class SandboxClient {
|
|
123
|
+
#client;
|
|
124
|
+
#orgId;
|
|
125
|
+
#apiKey;
|
|
126
|
+
#region;
|
|
127
|
+
#logger;
|
|
128
|
+
constructor(options = {}) {
|
|
129
|
+
const apiKey = options.apiKey || getEnv('AGENTUITY_SDK_KEY') || getEnv('AGENTUITY_CLI_KEY');
|
|
130
|
+
const region = getEnv('AGENTUITY_REGION') ?? 'usc';
|
|
131
|
+
const serviceUrls = getServiceUrls(region);
|
|
132
|
+
const url = options.url ||
|
|
133
|
+
getEnv('AGENTUITY_SANDBOX_URL') ||
|
|
134
|
+
getEnv('AGENTUITY_CATALYST_URL') ||
|
|
135
|
+
getEnv('AGENTUITY_TRANSPORT_URL') ||
|
|
136
|
+
serviceUrls.sandbox;
|
|
137
|
+
const logger = options.logger ?? createMinimalLogger();
|
|
138
|
+
// Disable retries for sandbox operations - 409 Conflict means sandbox is busy,
|
|
139
|
+
// not a retryable rate limit. Retrying would waste ~360s (4 attempts × 90s timeout).
|
|
140
|
+
this.#client = new APIClient(url, logger, apiKey ?? '', { maxRetries: 0 });
|
|
141
|
+
this.#orgId = options.orgId;
|
|
142
|
+
this.#apiKey = apiKey;
|
|
143
|
+
this.#region = region;
|
|
144
|
+
this.#logger = logger;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Run a one-shot command in a new sandbox (creates, executes, destroys)
|
|
148
|
+
*
|
|
149
|
+
* This is a high-level convenience method that handles the full lifecycle:
|
|
150
|
+
* creating a sandbox, streaming I/O, polling for completion, and cleanup.
|
|
151
|
+
*
|
|
152
|
+
* @param options - Execution options including command and configuration
|
|
153
|
+
* @param io - Optional I/O streams and abort signal
|
|
154
|
+
* @returns The run result including exit code and duration
|
|
155
|
+
* @throws {Error} If stdin is provided without an API key
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* const client = new SandboxClient();
|
|
160
|
+
* const result = await client.run(
|
|
161
|
+
* { command: { exec: ['bun', 'run', 'script.ts'] } },
|
|
162
|
+
* { stdout: process.stdout, stderr: process.stderr }
|
|
163
|
+
* );
|
|
164
|
+
* console.log('Exit code:', result.exitCode);
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
async run(options, io = {}) {
|
|
168
|
+
if (io.stdin && !this.#apiKey) {
|
|
169
|
+
throw new Error('SandboxClient.run(): stdin streaming requires an API key');
|
|
170
|
+
}
|
|
171
|
+
return sandboxRun(this.#client, {
|
|
172
|
+
options,
|
|
173
|
+
orgId: this.#orgId,
|
|
174
|
+
region: this.#region,
|
|
175
|
+
apiKey: this.#apiKey,
|
|
176
|
+
signal: io.signal,
|
|
177
|
+
stdin: io.stdin,
|
|
178
|
+
stdout: io.stdout,
|
|
179
|
+
stderr: io.stderr,
|
|
180
|
+
logger: io.logger ?? this.#logger,
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Create a new sandbox instance
|
|
185
|
+
*
|
|
186
|
+
* @param options - Optional sandbox configuration
|
|
187
|
+
* @returns A sandbox instance with execute and destroy methods
|
|
188
|
+
*/
|
|
189
|
+
async create(options) {
|
|
190
|
+
const response = await sandboxCreate(this.#client, {
|
|
191
|
+
options,
|
|
192
|
+
orgId: this.#orgId,
|
|
193
|
+
});
|
|
194
|
+
const sandboxId = response.sandboxId;
|
|
195
|
+
const client = this.#client;
|
|
196
|
+
const orgId = this.#orgId;
|
|
197
|
+
return {
|
|
198
|
+
id: sandboxId,
|
|
199
|
+
status: response.status,
|
|
200
|
+
stdoutStreamUrl: response.stdoutStreamUrl,
|
|
201
|
+
stderrStreamUrl: response.stderrStreamUrl,
|
|
202
|
+
auditStreamUrl: response.auditStreamUrl,
|
|
203
|
+
async execute(executeOptions) {
|
|
204
|
+
const { pipe, ...coreOptions } = executeOptions;
|
|
205
|
+
const initialResult = await sandboxExecute(client, {
|
|
206
|
+
sandboxId,
|
|
207
|
+
options: coreOptions,
|
|
208
|
+
orgId,
|
|
209
|
+
signal: coreOptions.signal,
|
|
210
|
+
});
|
|
211
|
+
// If pipe options provided, stream the output to the writable streams
|
|
212
|
+
if (pipe) {
|
|
213
|
+
const streamPromises = [];
|
|
214
|
+
if (pipe.stdout && initialResult.stdoutStreamUrl) {
|
|
215
|
+
streamPromises.push(pipeStreamToWritable(initialResult.stdoutStreamUrl, pipe.stdout, coreOptions.signal));
|
|
216
|
+
}
|
|
217
|
+
if (pipe.stderr && initialResult.stderrStreamUrl) {
|
|
218
|
+
streamPromises.push(pipeStreamToWritable(initialResult.stderrStreamUrl, pipe.stderr, coreOptions.signal));
|
|
219
|
+
}
|
|
220
|
+
// Wait for all streams to complete
|
|
221
|
+
if (streamPromises.length > 0) {
|
|
222
|
+
await Promise.all(streamPromises);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
// Wait for execution to complete and get final result with exit code
|
|
226
|
+
const finalResult = await waitForExecution(client, initialResult.executionId, orgId, coreOptions.signal);
|
|
227
|
+
return {
|
|
228
|
+
executionId: finalResult.executionId,
|
|
229
|
+
status: finalResult.status,
|
|
230
|
+
exitCode: finalResult.exitCode,
|
|
231
|
+
durationMs: finalResult.durationMs,
|
|
232
|
+
stdoutStreamUrl: initialResult.stdoutStreamUrl,
|
|
233
|
+
stderrStreamUrl: initialResult.stderrStreamUrl,
|
|
234
|
+
};
|
|
235
|
+
},
|
|
236
|
+
async writeFiles(files) {
|
|
237
|
+
const result = await sandboxWriteFiles(client, { sandboxId, files, orgId });
|
|
238
|
+
return result.filesWritten;
|
|
239
|
+
},
|
|
240
|
+
async readFile(path) {
|
|
241
|
+
return sandboxReadFile(client, { sandboxId, path, orgId });
|
|
242
|
+
},
|
|
243
|
+
async get() {
|
|
244
|
+
return sandboxGet(client, { sandboxId, orgId });
|
|
245
|
+
},
|
|
246
|
+
async destroy() {
|
|
247
|
+
return sandboxDestroy(client, { sandboxId, orgId });
|
|
248
|
+
},
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Get sandbox information by ID
|
|
253
|
+
*
|
|
254
|
+
* @param sandboxId - The sandbox ID
|
|
255
|
+
* @returns Sandbox information
|
|
256
|
+
*/
|
|
257
|
+
async get(sandboxId) {
|
|
258
|
+
return sandboxGet(this.#client, { sandboxId, orgId: this.#orgId });
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Destroy a sandbox by ID
|
|
262
|
+
*
|
|
263
|
+
* @param sandboxId - The sandbox ID to destroy
|
|
264
|
+
*/
|
|
265
|
+
async destroy(sandboxId) {
|
|
266
|
+
return sandboxDestroy(this.#client, { sandboxId, orgId: this.#orgId });
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Write files to a sandbox workspace
|
|
270
|
+
*
|
|
271
|
+
* @param sandboxId - The sandbox ID
|
|
272
|
+
* @param files - Array of files to write with path and content
|
|
273
|
+
* @param signal - Optional AbortSignal to cancel the operation
|
|
274
|
+
* @returns The number of files written
|
|
275
|
+
*/
|
|
276
|
+
async writeFiles(sandboxId, files, signal) {
|
|
277
|
+
const result = await sandboxWriteFiles(this.#client, {
|
|
278
|
+
sandboxId,
|
|
279
|
+
files,
|
|
280
|
+
orgId: this.#orgId,
|
|
281
|
+
signal,
|
|
282
|
+
});
|
|
283
|
+
return result.filesWritten;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Read a file from a sandbox workspace
|
|
287
|
+
*
|
|
288
|
+
* @param sandboxId - The sandbox ID
|
|
289
|
+
* @param path - Path to the file relative to the sandbox workspace
|
|
290
|
+
* @param signal - Optional AbortSignal to cancel the operation
|
|
291
|
+
* @returns A ReadableStream of the file contents
|
|
292
|
+
*/
|
|
293
|
+
async readFile(sandboxId, path, signal) {
|
|
294
|
+
return sandboxReadFile(this.#client, {
|
|
295
|
+
sandboxId,
|
|
296
|
+
path,
|
|
297
|
+
orgId: this.#orgId,
|
|
298
|
+
signal,
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/services/sandbox/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,IAAI,wBAAwB,GAOhD,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAA8B,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,0EAA0E;AAC1E,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAC9B,MAAiB,EACjB,WAAmB,EACnB,KAAc,EACd,MAAoB;IAEpB,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,YAAY,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC;IAED,qEAAqE;IACrE,4EAA4E;IAC5E,OAAO,YAAY,CAAC,MAAM,EAAE;QAC3B,WAAW;QACX,KAAK;QACL,IAAI,EAAE,uBAAuB;KAC7B,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB,CAClC,SAAiB,EACjB,QAAkB,EAClB,MAAoB;IAEpB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO;IACR,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,IAAI,CAAC;QACJ,OAAO,IAAI,EAAE,CAAC;YACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,IAAI,KAAK,EAAE,CAAC;gBACX,MAAM,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;QACF,CAAC;IACF,CAAC;YAAS,CAAC;QACV,IAAI,CAAC;YACJ,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACR,sDAAsD;QACvD,CAAC;QACD,MAAM,CAAC,WAAW,EAAE,CAAC;IACtB,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,MAAM,CAAC;IACnE,oEAAoE;IACpE,IAAI,EAAE,CAAC;SACL,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC1E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KAC1E,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC;CAC3E,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,kFAAkF;IAClF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACpE,mCAAmC;IACnC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACnE,kDAAkD;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IACpF,6BAA6B;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CACxE,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,0CAA0C;IAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC1F,sCAAsC;IACtC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAClF,wCAAwC;IACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACrF,wCAAwC;IACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACrF,4CAA4C;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CACvF,CAAC,CAAC;AA0DH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,aAAa;IAChB,OAAO,CAAY;IACnB,MAAM,CAAU;IAChB,OAAO,CAAU;IACjB,OAAO,CAAS;IAChB,OAAO,CAAS;IAEzB,YAAY,UAAgC,EAAE;QAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAE5F,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC;QACnD,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAE3C,MAAM,GAAG,GACR,OAAO,CAAC,GAAG;YACX,MAAM,CAAC,uBAAuB,CAAC;YAC/B,MAAM,CAAC,wBAAwB,CAAC;YAChC,MAAM,CAAC,yBAAyB,CAAC;YACjC,WAAW,CAAC,OAAO,CAAC;QAErB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,mBAAmB,EAAE,CAAC;QAEvD,+EAA+E;QAC/E,qFAAqF;QACrF,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,GAAG,CAAC,OAA0B,EAAE,KAAyB,EAAE;QAChE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE;YAC/B,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO;SACjC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,OAA8B;QAC1C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE;YAClD,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,MAAM;SAClB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,OAAO;YACN,EAAE,EAAE,SAAS;YACb,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,cAAc,EAAE,QAAQ,CAAC,cAAc;YAEvC,KAAK,CAAC,OAAO,CAAC,cAA8B;gBAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,GAAG,cAAc,CAAC;gBAEhD,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE;oBAClD,SAAS;oBACT,OAAO,EAAE,WAAW;oBACpB,KAAK;oBACL,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC1B,CAAC,CAAC;gBAEH,sEAAsE;gBACtE,IAAI,IAAI,EAAE,CAAC;oBACV,MAAM,cAAc,GAAoB,EAAE,CAAC;oBAE3C,IAAI,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC;wBAClD,cAAc,CAAC,IAAI,CAClB,oBAAoB,CACnB,aAAa,CAAC,eAAe,EAC7B,IAAI,CAAC,MAAM,EACX,WAAW,CAAC,MAAM,CAClB,CACD,CAAC;oBACH,CAAC;oBACD,IAAI,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC;wBAClD,cAAc,CAAC,IAAI,CAClB,oBAAoB,CACnB,aAAa,CAAC,eAAe,EAC7B,IAAI,CAAC,MAAM,EACX,WAAW,CAAC,MAAM,CAClB,CACD,CAAC;oBACH,CAAC;oBAED,mCAAmC;oBACnC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBACnC,CAAC;gBACF,CAAC;gBAED,qEAAqE;gBACrE,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACzC,MAAM,EACN,aAAa,CAAC,WAAW,EACzB,KAAK,EACL,WAAW,CAAC,MAAM,CAClB,CAAC;gBAEF,OAAO;oBACN,WAAW,EAAE,WAAW,CAAC,WAAW;oBACpC,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,QAAQ,EAAE,WAAW,CAAC,QAAQ;oBAC9B,UAAU,EAAE,WAAW,CAAC,UAAU;oBAClC,eAAe,EAAE,aAAa,CAAC,eAAe;oBAC9C,eAAe,EAAE,aAAa,CAAC,eAAe;iBAC9C,CAAC;YACH,CAAC;YAED,KAAK,CAAC,UAAU,CAAC,KAAoB;gBACpC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC5E,OAAO,MAAM,CAAC,YAAY,CAAC;YAC5B,CAAC;YAED,KAAK,CAAC,QAAQ,CAAC,IAAY;gBAC1B,OAAO,eAAe,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,KAAK,CAAC,GAAG;gBACR,OAAO,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACjD,CAAC;YAED,KAAK,CAAC,OAAO;gBACZ,OAAO,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACrD,CAAC;SACD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,SAAiB;QAC1B,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC9B,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CACf,SAAiB,EACjB,KAAoB,EACpB,MAAoB;QAEpB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE;YACpD,SAAS;YACT,KAAK;YACL,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,MAAM;SACN,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,YAAY,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CACb,SAAiB,EACjB,IAAY,EACZ,MAAoB;QAEpB,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE;YACpC,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,MAAM;SACN,CAAC,CAAC;IACJ,CAAC;CACD"}
|