dotdo 0.0.2 → 0.1.0

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.
Files changed (313) hide show
  1. package/cli/README.md +238 -0
  2. package/cli/agent.ts +72 -0
  3. package/cli/bin.js +44 -0
  4. package/cli/bin.ts +38 -0
  5. package/cli/build.ts +157 -0
  6. package/cli/commands/auth/login.ts +14 -0
  7. package/cli/commands/auth/logout.ts +6 -0
  8. package/cli/commands/auth/whoami.ts +16 -0
  9. package/cli/commands/deploy-multi.ts +245 -0
  10. package/cli/commands/dev/deploy.ts +100 -0
  11. package/cli/commands/dev/dev.ts +95 -0
  12. package/cli/commands/dev/logs.ts +91 -0
  13. package/cli/commands/dev-local.ts +88 -0
  14. package/cli/commands/do-ops.ts +314 -0
  15. package/cli/commands/index.ts +100 -0
  16. package/cli/commands/init.ts +247 -0
  17. package/cli/commands/introspect/emitter.ts +315 -0
  18. package/cli/commands/introspect/index.ts +193 -0
  19. package/cli/commands/link.ts +598 -0
  20. package/cli/commands/snippets.ts +415 -0
  21. package/cli/commands/tunnel.ts +239 -0
  22. package/cli/device-auth.ts +289 -0
  23. package/cli/fallback.ts +12 -0
  24. package/cli/index.ts +121 -0
  25. package/cli/main.ts +246 -0
  26. package/cli/mcp-stdio.ts +790 -0
  27. package/cli/package.json +62 -0
  28. package/cli/runtime/do-registry.ts +193 -0
  29. package/cli/runtime/embedded-db.ts +344 -0
  30. package/cli/runtime/index.ts +9 -0
  31. package/cli/runtime/miniflare-adapter.ts +162 -0
  32. package/cli/sandbox.ts +82 -0
  33. package/cli/src/args.ts +174 -0
  34. package/cli/src/auth.ts +55 -0
  35. package/cli/src/commands/call.ts +84 -0
  36. package/cli/src/commands/charge.ts +96 -0
  37. package/cli/src/commands/config.ts +115 -0
  38. package/cli/src/commands/email.ts +112 -0
  39. package/cli/src/commands/llm.ts +115 -0
  40. package/cli/src/commands/queue.ts +134 -0
  41. package/cli/src/commands/text.ts +86 -0
  42. package/cli/src/config.ts +185 -0
  43. package/cli/src/output.ts +246 -0
  44. package/cli/src/rpc.ts +192 -0
  45. package/cli/utils/config.ts +282 -0
  46. package/cli/utils/detect.ts +73 -0
  47. package/cli/utils/index.ts +15 -0
  48. package/cli/utils/logger.ts +232 -0
  49. package/dist/ai/template-literals.js +2 -2
  50. package/dist/ai/template-literals.js.map +1 -1
  51. package/dist/api/middleware/auth.js +3 -2
  52. package/dist/api/middleware/auth.js.map +1 -1
  53. package/dist/db/iceberg/inverted-index.js +1 -1
  54. package/dist/db/iceberg/inverted-index.js.map +1 -1
  55. package/dist/db/iceberg/puffin.js.map +1 -1
  56. package/dist/db/json-indexes.js.map +1 -1
  57. package/dist/db/objects.js.map +1 -1
  58. package/dist/db/primitives/dag-scheduler/index.js +1 -1
  59. package/dist/db/primitives/dag-scheduler/index.js.map +1 -1
  60. package/dist/db/primitives/observability.js.map +1 -1
  61. package/dist/db/primitives/schema-evolution.js.map +1 -1
  62. package/dist/db/primitives/temporal-store.js.map +1 -1
  63. package/dist/db/primitives/typed-column-store.js.map +1 -1
  64. package/dist/db/primitives/utils/duration.js.map +1 -1
  65. package/dist/db/primitives/utils/murmur3.js +12 -14
  66. package/dist/db/primitives/utils/murmur3.js.map +1 -1
  67. package/dist/db/primitives/window-manager.js.map +1 -1
  68. package/dist/db/stores.js.map +1 -1
  69. package/dist/db/things.js.map +1 -1
  70. package/dist/lib/DODispatcher.js +2 -2
  71. package/dist/lib/DODispatcher.js.map +1 -1
  72. package/dist/lib/auto-wiring.js.map +1 -1
  73. package/dist/lib/channels/email.js +1 -1
  74. package/dist/lib/channels/email.js.map +1 -1
  75. package/dist/lib/channels/slack-blockkit.js.map +1 -1
  76. package/dist/lib/cloudflare/ai.js +1 -1
  77. package/dist/lib/cloudflare/ai.js.map +1 -1
  78. package/dist/lib/cloudflare/kv.js +1 -1
  79. package/dist/lib/cloudflare/kv.js.map +1 -1
  80. package/dist/lib/cloudflare/r2.js +3 -3
  81. package/dist/lib/cloudflare/r2.js.map +1 -1
  82. package/dist/lib/cloudflare/vectorize.js.map +1 -1
  83. package/dist/lib/cloudflare/workflows.js.map +1 -1
  84. package/dist/lib/executors/AgenticFunctionExecutor.js.map +1 -1
  85. package/dist/lib/executors/CodeFunctionExecutor.js.map +1 -1
  86. package/dist/lib/executors/GenerativeFunctionExecutor.js.map +1 -1
  87. package/dist/lib/executors/HumanFunctionExecutor.js +1 -1
  88. package/dist/lib/executors/HumanFunctionExecutor.js.map +1 -1
  89. package/dist/lib/executors/ParallelStepExecutor.js.map +1 -1
  90. package/dist/lib/experiments.js.map +1 -1
  91. package/dist/lib/flags/store.js.map +1 -1
  92. package/dist/lib/functions/FunctionComposition.js.map +1 -1
  93. package/dist/lib/functions/FunctionMiddleware.js.map +1 -1
  94. package/dist/lib/functions/FunctionRegistry.js.map +1 -1
  95. package/dist/lib/humans/templates.js.map +1 -1
  96. package/dist/lib/identity.js +2 -2
  97. package/dist/lib/identity.js.map +1 -1
  98. package/dist/lib/logging/index.js.map +1 -1
  99. package/dist/lib/mixins/bash.js +1 -73
  100. package/dist/lib/mixins/bash.js.map +1 -1
  101. package/dist/lib/mixins/git.js +0 -5
  102. package/dist/lib/mixins/git.js.map +1 -1
  103. package/dist/lib/mixins/npm.js.map +1 -1
  104. package/dist/lib/noun-id.js.map +1 -1
  105. package/dist/lib/rate-limit/sliding-window.js.map +1 -1
  106. package/dist/lib/rpc/bindings.js.map +1 -1
  107. package/dist/lib/safe-stringify.js.map +1 -1
  108. package/dist/lib/sandbox/miniflare-sandbox.js.map +1 -1
  109. package/dist/lib/sqids.js.map +1 -1
  110. package/dist/lib/sql/adapters/node-sql-parser.js.map +1 -1
  111. package/dist/lib/sql/adapters/pgsql-parser.js +19 -18
  112. package/dist/lib/sql/adapters/pgsql-parser.js.map +1 -1
  113. package/dist/metrics/hunch.js.map +1 -1
  114. package/dist/objects/API.js +1 -1
  115. package/dist/objects/API.js.map +1 -1
  116. package/dist/objects/Agent.js.map +1 -1
  117. package/dist/objects/Browser.js.map +1 -1
  118. package/dist/objects/CLI.js.map +1 -1
  119. package/dist/objects/DOBase.js.map +1 -1
  120. package/dist/objects/DOCache.js +153 -0
  121. package/dist/objects/DOCache.js.map +1 -0
  122. package/dist/objects/DOFull.js.map +1 -1
  123. package/dist/objects/Entity.js.map +1 -1
  124. package/dist/objects/Human.js.map +1 -1
  125. package/dist/objects/IcebergMetadataDO.js.map +1 -1
  126. package/dist/objects/IntegrationsDO.js.map +1 -1
  127. package/dist/objects/ObservabilityBroadcaster.js.map +1 -1
  128. package/dist/objects/Package.js.map +1 -1
  129. package/dist/objects/Product.js +1 -1
  130. package/dist/objects/Product.js.map +1 -1
  131. package/dist/objects/SaaS.js.map +1 -1
  132. package/dist/objects/SandboxDO.js.map +1 -1
  133. package/dist/objects/Service.js.map +1 -1
  134. package/dist/objects/VectorShardDO.js +9 -7
  135. package/dist/objects/VectorShardDO.js.map +1 -1
  136. package/dist/objects/Workflow.js.map +1 -1
  137. package/dist/objects/WorkflowFactory.js.map +1 -1
  138. package/dist/objects/WorkflowRuntime.js.map +1 -1
  139. package/dist/objects/lifecycle/Branch.js.map +1 -1
  140. package/dist/objects/lifecycle/Clone.js +1 -1
  141. package/dist/objects/lifecycle/Clone.js.map +1 -1
  142. package/dist/objects/lifecycle/Compact.js.map +1 -1
  143. package/dist/objects/lifecycle/Shard.js.map +1 -1
  144. package/dist/objects/persistence/checkpoint-manager.js.map +1 -1
  145. package/dist/objects/persistence/migration-runner.js.map +1 -1
  146. package/dist/objects/persistence/replication-manager.js +2 -2
  147. package/dist/objects/persistence/replication-manager.js.map +1 -1
  148. package/dist/objects/persistence/tiered-storage-manager.js.map +1 -1
  149. package/dist/objects/persistence/wal-manager.js.map +1 -1
  150. package/dist/objects/transport/auth-layer.js.map +1 -1
  151. package/dist/objects/transport/chain.js.map +1 -1
  152. package/dist/objects/transport/mcp-server.js +7 -6
  153. package/dist/objects/transport/mcp-server.js.map +1 -1
  154. package/dist/objects/transport/rest-autowire.js +3 -2
  155. package/dist/objects/transport/rest-autowire.js.map +1 -1
  156. package/dist/objects/transport/rest-router.js.map +1 -1
  157. package/dist/objects/transport/rpc-server.js +18 -15
  158. package/dist/objects/transport/rpc-server.js.map +1 -1
  159. package/dist/objects/transport/shared.js +2 -1
  160. package/dist/objects/transport/shared.js.map +1 -1
  161. package/dist/snippets/artifacts-ingest.js.map +1 -1
  162. package/dist/snippets/artifacts-serve.js.map +1 -1
  163. package/dist/snippets/search.js.map +1 -1
  164. package/dist/workflows/ScheduleManager.js.map +1 -1
  165. package/dist/workflows/StepResultStorage.js.map +1 -1
  166. package/dist/workflows/WaitForEventManager.js.map +1 -1
  167. package/dist/workflows/compat/backends/cloudflare-workflows.js.map +1 -1
  168. package/dist/workflows/compat/inngest/index.js.map +1 -1
  169. package/dist/workflows/compat/qstash/index.js.map +1 -1
  170. package/dist/workflows/compat/temporal/client.js.map +1 -1
  171. package/dist/workflows/compat/temporal/index.js.map +1 -1
  172. package/dist/workflows/compat/trigger/index.js.map +1 -1
  173. package/dist/workflows/compat/utils/index.js.map +1 -1
  174. package/dist/workflows/context/correlation.js +2 -2
  175. package/dist/workflows/context/correlation.js.map +1 -1
  176. package/dist/workflows/context/experiment.js +1 -1
  177. package/dist/workflows/context/experiment.js.map +1 -1
  178. package/dist/workflows/context/flag.js +1 -1
  179. package/dist/workflows/context/flag.js.map +1 -1
  180. package/dist/workflows/context/measure.js +1 -1
  181. package/dist/workflows/context/measure.js.map +1 -1
  182. package/dist/workflows/context/rate-limit.js.map +1 -1
  183. package/dist/workflows/data/entity-events/entity-events.js.map +1 -1
  184. package/dist/workflows/data/experiment/index.js.map +1 -1
  185. package/dist/workflows/data/goal/context.js +1 -1
  186. package/dist/workflows/data/goal/context.js.map +1 -1
  187. package/dist/workflows/data/measure/index.js +1 -1
  188. package/dist/workflows/data/measure/index.js.map +1 -1
  189. package/dist/workflows/data/stream/index.js +10 -76
  190. package/dist/workflows/data/stream/index.js.map +1 -1
  191. package/dist/workflows/data/track/context.js.map +1 -1
  192. package/dist/workflows/data/view/context.js.map +1 -1
  193. package/dist/workflows/domain.js.map +1 -1
  194. package/dist/workflows/flags.js +1 -1
  195. package/dist/workflows/flags.js.map +1 -1
  196. package/dist/workflows/hash.js.map +1 -1
  197. package/dist/workflows/on.js +1 -1
  198. package/dist/workflows/on.js.map +1 -1
  199. package/dist/workflows/schedule-builder.js.map +1 -1
  200. package/dist/workflows/visibility/index.js +0 -2
  201. package/dist/workflows/visibility/index.js.map +1 -1
  202. package/dist/workflows/visibility/query-parser.js.map +1 -1
  203. package/package.json +18 -3
  204. package/dist/api/analytics/router.js +0 -601
  205. package/dist/api/analytics/router.js.map +0 -1
  206. package/dist/api/index.js +0 -158
  207. package/dist/api/index.js.map +0 -1
  208. package/dist/api/middleware/error-handling.js +0 -176
  209. package/dist/api/middleware/error-handling.js.map +0 -1
  210. package/dist/api/middleware/request-id.js +0 -21
  211. package/dist/api/middleware/request-id.js.map +0 -1
  212. package/dist/api/pages.js +0 -1180
  213. package/dist/api/pages.js.map +0 -1
  214. package/dist/api/routes/api.js +0 -612
  215. package/dist/api/routes/api.js.map +0 -1
  216. package/dist/api/routes/browsers.js +0 -471
  217. package/dist/api/routes/browsers.js.map +0 -1
  218. package/dist/api/routes/do.js +0 -188
  219. package/dist/api/routes/do.js.map +0 -1
  220. package/dist/api/routes/mcp.js +0 -459
  221. package/dist/api/routes/mcp.js.map +0 -1
  222. package/dist/api/routes/obs.js +0 -445
  223. package/dist/api/routes/obs.js.map +0 -1
  224. package/dist/api/routes/openapi.js +0 -794
  225. package/dist/api/routes/openapi.js.map +0 -1
  226. package/dist/api/routes/rpc.js +0 -1103
  227. package/dist/api/routes/rpc.js.map +0 -1
  228. package/dist/api/routes/sandboxes.js +0 -389
  229. package/dist/api/routes/sandboxes.js.map +0 -1
  230. package/dist/api/test-do.js +0 -38
  231. package/dist/api/test-do.js.map +0 -1
  232. package/dist/api/types.js +0 -11
  233. package/dist/api/types.js.map +0 -1
  234. package/dist/cli/bin.js +0 -2
  235. package/dist/cli/main.js +0 -52342
  236. package/dist/do/bash.js +0 -35
  237. package/dist/do/bash.js.map +0 -1
  238. package/dist/do/fs.js +0 -25
  239. package/dist/do/fs.js.map +0 -1
  240. package/dist/do/full.js +0 -61
  241. package/dist/do/full.js.map +0 -1
  242. package/dist/do/git.js +0 -28
  243. package/dist/do/git.js.map +0 -1
  244. package/dist/do/index.js +0 -52
  245. package/dist/do/index.js.map +0 -1
  246. package/dist/lib/agent/tools/bash.js +0 -336
  247. package/dist/lib/agent/tools/bash.js.map +0 -1
  248. package/dist/lib/agent/tools/edit.js +0 -157
  249. package/dist/lib/agent/tools/edit.js.map +0 -1
  250. package/dist/lib/agent/tools/glob.js +0 -137
  251. package/dist/lib/agent/tools/glob.js.map +0 -1
  252. package/dist/lib/agent/tools/grep.js +0 -315
  253. package/dist/lib/agent/tools/grep.js.map +0 -1
  254. package/dist/lib/agent/tools/index.js +0 -71
  255. package/dist/lib/agent/tools/index.js.map +0 -1
  256. package/dist/lib/agent/tools/read.js +0 -212
  257. package/dist/lib/agent/tools/read.js.map +0 -1
  258. package/dist/lib/agent/tools/types.js +0 -197
  259. package/dist/lib/agent/tools/types.js.map +0 -1
  260. package/dist/lib/agent/tools/write.js +0 -159
  261. package/dist/lib/agent/tools/write.js.map +0 -1
  262. package/dist/lib/mixins/index.js +0 -29
  263. package/dist/lib/mixins/index.js.map +0 -1
  264. package/dist/primitives/bashx/src/ast/analyze.js +0 -1472
  265. package/dist/primitives/bashx/src/ast/analyze.js.map +0 -1
  266. package/dist/primitives/bashx/src/ast/parser.js +0 -1488
  267. package/dist/primitives/bashx/src/ast/parser.js.map +0 -1
  268. package/dist/primitives/bashx/src/do/commands/crypto.js +0 -1954
  269. package/dist/primitives/bashx/src/do/commands/crypto.js.map +0 -1
  270. package/dist/primitives/bashx/src/do/commands/data-processing.js +0 -1812
  271. package/dist/primitives/bashx/src/do/commands/data-processing.js.map +0 -1
  272. package/dist/primitives/bashx/src/do/commands/extended-utils.js +0 -804
  273. package/dist/primitives/bashx/src/do/commands/extended-utils.js.map +0 -1
  274. package/dist/primitives/bashx/src/do/commands/math-control.js +0 -1122
  275. package/dist/primitives/bashx/src/do/commands/math-control.js.map +0 -1
  276. package/dist/primitives/bashx/src/do/commands/posix-utils.js +0 -1015
  277. package/dist/primitives/bashx/src/do/commands/posix-utils.js.map +0 -1
  278. package/dist/primitives/bashx/src/do/commands/system-utils.js +0 -687
  279. package/dist/primitives/bashx/src/do/commands/system-utils.js.map +0 -1
  280. package/dist/primitives/bashx/src/do/commands/test-command.js +0 -523
  281. package/dist/primitives/bashx/src/do/commands/test-command.js.map +0 -1
  282. package/dist/primitives/bashx/src/do/commands/text-processing.js +0 -1550
  283. package/dist/primitives/bashx/src/do/commands/text-processing.js.map +0 -1
  284. package/dist/primitives/bashx/src/do/container-executor.js +0 -429
  285. package/dist/primitives/bashx/src/do/container-executor.js.map +0 -1
  286. package/dist/primitives/bashx/src/do/index.js +0 -668
  287. package/dist/primitives/bashx/src/do/index.js.map +0 -1
  288. package/dist/primitives/bashx/src/do/tiered-executor.js +0 -2647
  289. package/dist/primitives/bashx/src/do/tiered-executor.js.map +0 -1
  290. package/dist/primitives/bashx/src/do/worker.js +0 -352
  291. package/dist/primitives/bashx/src/do/worker.js.map +0 -1
  292. package/dist/primitives/bashx/src/types.js +0 -10
  293. package/dist/primitives/bashx/src/types.js.map +0 -1
  294. package/dist/primitives/fsx/core/backend.js +0 -480
  295. package/dist/primitives/fsx/core/backend.js.map +0 -1
  296. package/dist/primitives/fsx/core/constants.js +0 -140
  297. package/dist/primitives/fsx/core/constants.js.map +0 -1
  298. package/dist/primitives/fsx/core/fsx.js +0 -1184
  299. package/dist/primitives/fsx/core/fsx.js.map +0 -1
  300. package/dist/primitives/fsx/core/glob/glob.js +0 -438
  301. package/dist/primitives/fsx/core/glob/glob.js.map +0 -1
  302. package/dist/primitives/fsx/core/glob/index.js +0 -8
  303. package/dist/primitives/fsx/core/glob/index.js.map +0 -1
  304. package/dist/primitives/fsx/core/glob/match.js +0 -392
  305. package/dist/primitives/fsx/core/glob/match.js.map +0 -1
  306. package/dist/primitives/fsx/core/types.js +0 -307
  307. package/dist/primitives/fsx/core/types.js.map +0 -1
  308. package/dist/sdk/capnweb-compat.js +0 -42
  309. package/dist/sdk/capnweb-compat.js.map +0 -1
  310. package/dist/sdk/client.js +0 -20
  311. package/dist/sdk/client.js.map +0 -1
  312. package/dist/sdk/index.js +0 -17
  313. package/dist/sdk/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../api/routes/rpc.ts"],"names":[],"mappings":"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"}
@@ -1,389 +0,0 @@
1
- /**
2
- * Sandbox Session REST API Routes
3
- *
4
- * Routes for managing code execution sandbox sessions via the SandboxDO Durable Object.
5
- *
6
- * Endpoints:
7
- * - GET /sandboxes - List all sandbox sessions
8
- * - POST /sandboxes - Create a new sandbox session
9
- * - GET /sandboxes/:id/state - Get session state
10
- * - DELETE /sandboxes/:id - Destroy sandbox session
11
- * - POST /sandboxes/:id/exec - Execute command
12
- * - GET /sandboxes/:id/terminal - WebSocket terminal upgrade
13
- * - POST /sandboxes/:id/file - Write file
14
- * - GET /sandboxes/:id/file - Read file
15
- * - GET /sandboxes/:id/ports - List exposed ports
16
- * - POST /sandboxes/:id/port - Expose a port
17
- *
18
- * @see objects/SandboxDO.ts - Sandbox Durable Object implementation
19
- */
20
- import { Hono } from 'hono';
21
- // In-memory session registry (for listing - real state is in DO)
22
- const sessionRegistry = new Map();
23
- // ============================================================================
24
- // Helper Functions
25
- // ============================================================================
26
- function jsonError(code, message, status) {
27
- return {
28
- error: { code, message },
29
- status,
30
- };
31
- }
32
- async function getSandboxStub(c, id) {
33
- const doId = c.env.SANDBOX_DO.idFromName(id);
34
- return c.env.SANDBOX_DO.get(doId);
35
- }
36
- // ============================================================================
37
- // Routes
38
- // ============================================================================
39
- export const sandboxesRoutes = new Hono();
40
- // --------------------------------------------------------------------------
41
- // GET /sandboxes - List all sandbox sessions
42
- // --------------------------------------------------------------------------
43
- sandboxesRoutes.get('/', async (c) => {
44
- // Get sessions from registry
45
- const sandboxes = [];
46
- for (const [id, meta] of sessionRegistry.entries()) {
47
- try {
48
- // Fetch actual state from DO
49
- const stub = await getSandboxStub(c, id);
50
- const stateRes = await stub.fetch(new Request('http://do/state'));
51
- const state = (await stateRes.json());
52
- sandboxes.push({
53
- id,
54
- status: state.status,
55
- createdAt: meta.createdAt,
56
- });
57
- }
58
- catch {
59
- // Session may no longer exist, remove from registry
60
- sessionRegistry.delete(id);
61
- }
62
- }
63
- return c.json({ sandboxes });
64
- });
65
- // --------------------------------------------------------------------------
66
- // POST /sandboxes - Create new sandbox session
67
- // --------------------------------------------------------------------------
68
- sandboxesRoutes.post('/', async (c) => {
69
- // Validate Content-Type
70
- const contentType = c.req.header('content-type');
71
- if (!contentType || !contentType.includes('application/json')) {
72
- return c.json({ error: { code: 'BAD_REQUEST', message: 'Content-Type must be application/json' } }, 400);
73
- }
74
- // Parse body
75
- let body;
76
- try {
77
- const text = await c.req.text();
78
- if (!text || text.trim() === '') {
79
- body = {};
80
- }
81
- else {
82
- body = JSON.parse(text);
83
- }
84
- }
85
- catch {
86
- return c.json({ error: { code: 'BAD_REQUEST', message: 'Invalid JSON body' } }, 400);
87
- }
88
- // Generate session ID
89
- const id = `sandbox-${crypto.randomUUID().slice(0, 8)}`;
90
- // Get DO stub and create session
91
- const stub = await getSandboxStub(c, id);
92
- const createRes = await stub.fetch(new Request('http://do/create', {
93
- method: 'POST',
94
- headers: { 'Content-Type': 'application/json' },
95
- body: JSON.stringify({
96
- sleepAfter: body.sleepAfter,
97
- keepAlive: body.keepAlive,
98
- }),
99
- }));
100
- if (!createRes.ok) {
101
- const error = (await createRes.json());
102
- return c.json({ error: { code: 'INTERNAL_ERROR', message: error.error || error.message || 'Failed to create session' } }, 500);
103
- }
104
- // Register session
105
- sessionRegistry.set(id, {
106
- id,
107
- createdAt: new Date().toISOString(),
108
- });
109
- return c.json({
110
- id,
111
- status: 'created',
112
- }, 201);
113
- });
114
- // --------------------------------------------------------------------------
115
- // Method not allowed handlers for /sandboxes collection
116
- // --------------------------------------------------------------------------
117
- sandboxesRoutes.delete('/', (c) => {
118
- return c.json({ error: { code: 'METHOD_NOT_ALLOWED', message: 'Method not allowed. Allowed: GET, POST' } }, 405, { Allow: 'GET, POST' });
119
- });
120
- sandboxesRoutes.put('/', (c) => {
121
- return c.json({ error: { code: 'METHOD_NOT_ALLOWED', message: 'Method not allowed. Allowed: GET, POST' } }, 405, { Allow: 'GET, POST' });
122
- });
123
- sandboxesRoutes.patch('/', (c) => {
124
- return c.json({ error: { code: 'METHOD_NOT_ALLOWED', message: 'Method not allowed. Allowed: GET, POST' } }, 405, { Allow: 'GET, POST' });
125
- });
126
- // --------------------------------------------------------------------------
127
- // GET /sandboxes/:id/state - Get session state
128
- // --------------------------------------------------------------------------
129
- sandboxesRoutes.get('/:id/state', async (c) => {
130
- const id = c.req.param('id');
131
- // Check if session exists in registry
132
- if (!sessionRegistry.has(id)) {
133
- return c.json({ error: { code: 'NOT_FOUND', message: 'Sandbox session not found' } }, 404);
134
- }
135
- try {
136
- const stub = await getSandboxStub(c, id);
137
- const stateRes = await stub.fetch(new Request('http://do/state'));
138
- if (!stateRes.ok) {
139
- return c.json({ error: { code: 'NOT_FOUND', message: 'Sandbox session not found' } }, 404);
140
- }
141
- const state = await stateRes.json();
142
- return c.json(state);
143
- }
144
- catch {
145
- return c.json({ error: { code: 'NOT_FOUND', message: 'Sandbox session not found' } }, 404);
146
- }
147
- });
148
- // --------------------------------------------------------------------------
149
- // DELETE /sandboxes/:id - Destroy sandbox session
150
- // --------------------------------------------------------------------------
151
- sandboxesRoutes.delete('/:id', async (c) => {
152
- const id = c.req.param('id');
153
- // Check if session exists in registry
154
- if (!sessionRegistry.has(id)) {
155
- return c.json({ error: { code: 'NOT_FOUND', message: 'Sandbox session not found' } }, 404);
156
- }
157
- try {
158
- const stub = await getSandboxStub(c, id);
159
- const destroyRes = await stub.fetch(new Request('http://do/destroy', {
160
- method: 'POST',
161
- }));
162
- if (!destroyRes.ok) {
163
- const error = (await destroyRes.json());
164
- return c.json({ error: { code: 'INTERNAL_ERROR', message: error.error || 'Failed to destroy session' } }, 500);
165
- }
166
- // Remove from registry
167
- sessionRegistry.delete(id);
168
- return c.json({ success: true });
169
- }
170
- catch {
171
- return c.json({ error: { code: 'INTERNAL_ERROR', message: 'Failed to destroy session' } }, 500);
172
- }
173
- });
174
- // --------------------------------------------------------------------------
175
- // POST /sandboxes/:id/exec - Execute command
176
- // --------------------------------------------------------------------------
177
- sandboxesRoutes.post('/:id/exec', async (c) => {
178
- const id = c.req.param('id');
179
- // Check if session exists
180
- if (!sessionRegistry.has(id)) {
181
- return c.json({ error: { code: 'NOT_FOUND', message: 'Sandbox session not found' } }, 404);
182
- }
183
- // Parse body
184
- let body;
185
- try {
186
- body = await c.req.json();
187
- }
188
- catch {
189
- return c.json({ error: { code: 'BAD_REQUEST', message: 'Invalid JSON body' } }, 400);
190
- }
191
- // Validate command
192
- if (!body.command || body.command.trim() === '') {
193
- return c.json({ error: { code: 'BAD_REQUEST', message: 'Missing required field: command' } }, 400);
194
- }
195
- try {
196
- const stub = await getSandboxStub(c, id);
197
- const execRes = await stub.fetch(new Request('http://do/exec', {
198
- method: 'POST',
199
- headers: { 'Content-Type': 'application/json' },
200
- body: JSON.stringify({ command: body.command }),
201
- }));
202
- if (!execRes.ok) {
203
- const error = (await execRes.json());
204
- return c.json({ error: { code: 'INTERNAL_ERROR', message: error.error || error.message || 'Failed to execute command' } }, 500);
205
- }
206
- const result = await execRes.json();
207
- return c.json(result);
208
- }
209
- catch {
210
- return c.json({ error: { code: 'INTERNAL_ERROR', message: 'Failed to execute command' } }, 500);
211
- }
212
- });
213
- // --------------------------------------------------------------------------
214
- // GET /sandboxes/:id/terminal - WebSocket terminal upgrade
215
- // --------------------------------------------------------------------------
216
- sandboxesRoutes.get('/:id/terminal', async (c) => {
217
- const id = c.req.param('id');
218
- // Check if session exists
219
- if (!sessionRegistry.has(id)) {
220
- return c.json({ error: { code: 'NOT_FOUND', message: 'Sandbox session not found' } }, 404);
221
- }
222
- const upgradeHeader = c.req.header('Upgrade');
223
- if (!upgradeHeader || upgradeHeader.toLowerCase() !== 'websocket') {
224
- return c.json({ error: { code: 'UPGRADE_REQUIRED', message: 'WebSocket upgrade required' } }, 426);
225
- }
226
- // Forward WebSocket upgrade to DO
227
- try {
228
- const stub = await getSandboxStub(c, id);
229
- return stub.fetch(c.req.raw);
230
- }
231
- catch {
232
- return c.json({ error: { code: 'INTERNAL_ERROR', message: 'Failed to upgrade connection' } }, 500);
233
- }
234
- });
235
- // --------------------------------------------------------------------------
236
- // POST /sandboxes/:id/file - Write file
237
- // --------------------------------------------------------------------------
238
- sandboxesRoutes.post('/:id/file', async (c) => {
239
- const id = c.req.param('id');
240
- // Check if session exists
241
- if (!sessionRegistry.has(id)) {
242
- return c.json({ error: { code: 'NOT_FOUND', message: 'Sandbox session not found' } }, 404);
243
- }
244
- // Parse body
245
- let body;
246
- try {
247
- body = await c.req.json();
248
- }
249
- catch {
250
- return c.json({ error: { code: 'BAD_REQUEST', message: 'Invalid JSON body' } }, 400);
251
- }
252
- // Validate path
253
- if (!body.path) {
254
- return c.json({ error: { code: 'BAD_REQUEST', message: 'Missing required field: path' } }, 400);
255
- }
256
- // Validate content
257
- if (body.content === undefined || body.content === null) {
258
- return c.json({ error: { code: 'BAD_REQUEST', message: 'Missing required field: content' } }, 400);
259
- }
260
- try {
261
- const stub = await getSandboxStub(c, id);
262
- const writeRes = await stub.fetch(new Request('http://do/file/write', {
263
- method: 'POST',
264
- headers: { 'Content-Type': 'application/json' },
265
- body: JSON.stringify({
266
- path: body.path,
267
- content: body.content,
268
- encoding: body.encoding || 'utf-8',
269
- }),
270
- }));
271
- if (!writeRes.ok) {
272
- const error = (await writeRes.json());
273
- return c.json({ error: { code: 'INTERNAL_ERROR', message: error.error || 'Failed to write file' } }, 500);
274
- }
275
- return c.json({ success: true });
276
- }
277
- catch {
278
- return c.json({ error: { code: 'INTERNAL_ERROR', message: 'Failed to write file' } }, 500);
279
- }
280
- });
281
- // --------------------------------------------------------------------------
282
- // GET /sandboxes/:id/file - Read file
283
- // --------------------------------------------------------------------------
284
- sandboxesRoutes.get('/:id/file', async (c) => {
285
- const id = c.req.param('id');
286
- // Check if session exists
287
- if (!sessionRegistry.has(id)) {
288
- return c.json({ error: { code: 'NOT_FOUND', message: 'Sandbox session not found' } }, 404);
289
- }
290
- const path = c.req.query('path');
291
- if (!path) {
292
- return c.json({ error: { code: 'BAD_REQUEST', message: 'Missing required query parameter: path' } }, 400);
293
- }
294
- try {
295
- const stub = await getSandboxStub(c, id);
296
- const readRes = await stub.fetch(new Request(`http://do/file/read?path=${encodeURIComponent(path)}`));
297
- if (!readRes.ok) {
298
- const error = (await readRes.json());
299
- if (error.error?.includes('not found')) {
300
- return c.json({ error: { code: 'NOT_FOUND', message: 'File not found' } }, 404);
301
- }
302
- return c.json({ error: { code: 'INTERNAL_ERROR', message: error.error || 'Failed to read file' } }, 500);
303
- }
304
- const result = await readRes.json();
305
- return c.json(result);
306
- }
307
- catch {
308
- return c.json({ error: { code: 'INTERNAL_ERROR', message: 'Failed to read file' } }, 500);
309
- }
310
- });
311
- // --------------------------------------------------------------------------
312
- // GET /sandboxes/:id/ports - List exposed ports
313
- // --------------------------------------------------------------------------
314
- sandboxesRoutes.get('/:id/ports', async (c) => {
315
- const id = c.req.param('id');
316
- // Check if session exists
317
- if (!sessionRegistry.has(id)) {
318
- return c.json({ error: { code: 'NOT_FOUND', message: 'Sandbox session not found' } }, 404);
319
- }
320
- try {
321
- const stub = await getSandboxStub(c, id);
322
- const portsRes = await stub.fetch(new Request('http://do/ports'));
323
- if (!portsRes.ok) {
324
- return c.json({ error: { code: 'INTERNAL_ERROR', message: 'Failed to get ports' } }, 500);
325
- }
326
- const result = (await portsRes.json());
327
- // Wrap in { ports: [...] } for consistency
328
- if (Array.isArray(result)) {
329
- return c.json({ ports: result });
330
- }
331
- return c.json({ ports: result.ports || [] });
332
- }
333
- catch {
334
- return c.json({ error: { code: 'INTERNAL_ERROR', message: 'Failed to get ports' } }, 500);
335
- }
336
- });
337
- // --------------------------------------------------------------------------
338
- // POST /sandboxes/:id/port - Expose a port
339
- // --------------------------------------------------------------------------
340
- sandboxesRoutes.post('/:id/port', async (c) => {
341
- const id = c.req.param('id');
342
- // Check if session exists
343
- if (!sessionRegistry.has(id)) {
344
- return c.json({ error: { code: 'NOT_FOUND', message: 'Sandbox session not found' } }, 404);
345
- }
346
- // Parse body
347
- let body;
348
- try {
349
- body = await c.req.json();
350
- }
351
- catch {
352
- return c.json({ error: { code: 'BAD_REQUEST', message: 'Invalid JSON body' } }, 400);
353
- }
354
- // Validate port
355
- if (body.port === undefined || body.port === null) {
356
- return c.json({ error: { code: 'BAD_REQUEST', message: 'Missing required field: port' } }, 400);
357
- }
358
- if (typeof body.port !== 'number' || body.port < 1 || body.port > 65535) {
359
- return c.json({ error: { code: 'BAD_REQUEST', message: 'Invalid port number' } }, 400);
360
- }
361
- try {
362
- const stub = await getSandboxStub(c, id);
363
- const exposeRes = await stub.fetch(new Request('http://do/port/expose', {
364
- method: 'POST',
365
- headers: { 'Content-Type': 'application/json' },
366
- body: JSON.stringify({
367
- port: body.port,
368
- name: body.name,
369
- }),
370
- }));
371
- if (!exposeRes.ok) {
372
- const error = (await exposeRes.json());
373
- return c.json({ error: { code: 'INTERNAL_ERROR', message: error.error || 'Failed to expose port' } }, 500);
374
- }
375
- const result = await exposeRes.json();
376
- return c.json(result);
377
- }
378
- catch {
379
- return c.json({ error: { code: 'INTERNAL_ERROR', message: 'Failed to expose port' } }, 500);
380
- }
381
- });
382
- // --------------------------------------------------------------------------
383
- // Catch-all for unknown sandbox routes
384
- // --------------------------------------------------------------------------
385
- sandboxesRoutes.all('*', (c) => {
386
- return c.json({ error: { code: 'NOT_FOUND', message: `Not found: ${c.req.path}` } }, 404);
387
- });
388
- export default sandboxesRoutes;
389
- //# sourceMappingURL=sandboxes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sandboxes.js","sourceRoot":"","sources":["../../../api/routes/sandboxes.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Test Durable Object for vitest infrastructure testing
3
- * This DO is used only in tests to verify storage isolation works correctly.
4
- */
5
- export class TestDurableObject {
6
- state;
7
- constructor(state) {
8
- this.state = state;
9
- }
10
- async fetch(request) {
11
- const url = new URL(request.url);
12
- if (url.pathname === '/store' && request.method === 'POST') {
13
- const body = (await request.json());
14
- await this.state.storage.put(body.key, body.value);
15
- return new Response(JSON.stringify({ success: true }), {
16
- headers: { 'Content-Type': 'application/json' },
17
- });
18
- }
19
- if (url.pathname === '/get') {
20
- const key = url.searchParams.get('key');
21
- if (!key) {
22
- return new Response(JSON.stringify({ error: 'Missing key' }), {
23
- status: 400,
24
- headers: { 'Content-Type': 'application/json' },
25
- });
26
- }
27
- const value = await this.state.storage.get(key);
28
- return new Response(JSON.stringify({ value: value ?? null }), {
29
- headers: { 'Content-Type': 'application/json' },
30
- });
31
- }
32
- return new Response(JSON.stringify({ error: 'Not found' }), {
33
- status: 404,
34
- headers: { 'Content-Type': 'application/json' },
35
- });
36
- }
37
- }
38
- //# sourceMappingURL=test-do.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-do.js","sourceRoot":"","sources":["../../api/test-do.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACpB,KAAK,CAAoB;IAEjC,YAAY,KAAyB;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAgB;QAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAEhC,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAmC,CAAA;YACrE,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YAClD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE;gBACrD,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAChD,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACvC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,EAAE;oBAC5D,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAChD,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC/C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,EAAE;gBAC5D,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAChD,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE;YAC1D,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAC,CAAA;IACJ,CAAC;CACF"}
package/dist/api/types.js DELETED
@@ -1,11 +0,0 @@
1
- /**
2
- * API Types - Shared type definitions for the API layer
3
- *
4
- * This module exists to break circular dependencies between api/index.ts
5
- * and the route files in api/routes/*.
6
- *
7
- * By extracting the Env type here, both the main index and routes can
8
- * import from this shared module without creating import cycles.
9
- */
10
- export {};
11
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../api/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
package/dist/cli/bin.js DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- import './main.js'