@miosa/sdk 1.2.4 → 1.2.6

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 (100) hide show
  1. package/README.md +75 -3
  2. package/dist/index.d.ts +323 -175
  3. package/dist/index.js +441 -386
  4. package/dist/index.js.map +1 -1
  5. package/package.json +1 -2
  6. package/src/client.ts +0 -293
  7. package/src/errors.ts +0 -136
  8. package/src/http.test.ts +0 -374
  9. package/src/http.ts +0 -390
  10. package/src/index.ts +0 -564
  11. package/src/resources/admin.ts +0 -359
  12. package/src/resources/analytics.ts +0 -60
  13. package/src/resources/api-keys.ts +0 -135
  14. package/src/resources/audit-log.ts +0 -64
  15. package/src/resources/benchmarks.ts +0 -104
  16. package/src/resources/builder-sessions.ts +0 -75
  17. package/src/resources/channels.ts +0 -143
  18. package/src/resources/checkpoints.ts +0 -225
  19. package/src/resources/command-center.ts +0 -73
  20. package/src/resources/community.ts +0 -103
  21. package/src/resources/completions.ts +0 -104
  22. package/src/resources/computer-auto-stop.ts +0 -43
  23. package/src/resources/computer-env.ts +0 -76
  24. package/src/resources/computer-logs.ts +0 -50
  25. package/src/resources/computer-osa.ts +0 -76
  26. package/src/resources/computer-ports.ts +0 -91
  27. package/src/resources/computer-terminal.ts +0 -61
  28. package/src/resources/computer-volumes.ts +0 -64
  29. package/src/resources/computer.ts +0 -551
  30. package/src/resources/computers.ts +0 -75
  31. package/src/resources/credits.ts +0 -43
  32. package/src/resources/cron-jobs.ts +0 -191
  33. package/src/resources/custom_domains.ts +0 -123
  34. package/src/resources/dashboard.ts +0 -49
  35. package/src/resources/databases.ts +0 -218
  36. package/src/resources/deployments.test.ts +0 -194
  37. package/src/resources/deployments.ts +0 -1060
  38. package/src/resources/desktop.ts +0 -134
  39. package/src/resources/docker-deploy.test.ts +0 -102
  40. package/src/resources/docker-deploy.ts +0 -183
  41. package/src/resources/egress.test.ts +0 -318
  42. package/src/resources/egressAudit.ts +0 -245
  43. package/src/resources/egressNetwork.ts +0 -450
  44. package/src/resources/egressSecrets.ts +0 -577
  45. package/src/resources/email.ts +0 -212
  46. package/src/resources/embeddings.ts +0 -36
  47. package/src/resources/events.ts +0 -296
  48. package/src/resources/exec.ts +0 -319
  49. package/src/resources/external-keys.ts +0 -79
  50. package/src/resources/files.test.ts +0 -339
  51. package/src/resources/files.ts +0 -220
  52. package/src/resources/flat-custom-domains.ts +0 -127
  53. package/src/resources/functions.ts +0 -178
  54. package/src/resources/governance.test.ts +0 -355
  55. package/src/resources/governance.ts +0 -528
  56. package/src/resources/health-checks.ts +0 -165
  57. package/src/resources/integrations.ts +0 -183
  58. package/src/resources/mcp.ts +0 -70
  59. package/src/resources/models.ts +0 -45
  60. package/src/resources/network_policy.ts +0 -73
  61. package/src/resources/open-computers/agents.ts +0 -91
  62. package/src/resources/open-computers/apps.ts +0 -102
  63. package/src/resources/open-computers/clusters.ts +0 -88
  64. package/src/resources/open-computers/desktop.ts +0 -34
  65. package/src/resources/open-computers/files.ts +0 -97
  66. package/src/resources/open-computers/hosts.ts +0 -85
  67. package/src/resources/open-computers/index.ts +0 -98
  68. package/src/resources/open-computers/jobs.ts +0 -75
  69. package/src/resources/open-computers/open_computers.test.ts +0 -288
  70. package/src/resources/open-computers/secrets.ts +0 -115
  71. package/src/resources/open-computers/terminal.ts +0 -33
  72. package/src/resources/open-computers/tunnels.ts +0 -87
  73. package/src/resources/open-computers/types.ts +0 -343
  74. package/src/resources/open-computers/workspaces.ts +0 -135
  75. package/src/resources/org-invites.ts +0 -189
  76. package/src/resources/phase1.test.ts +0 -187
  77. package/src/resources/project-auth.ts +0 -142
  78. package/src/resources/project-integrations.ts +0 -133
  79. package/src/resources/provider-defaults.ts +0 -89
  80. package/src/resources/quotas.ts +0 -77
  81. package/src/resources/regions.ts +0 -94
  82. package/src/resources/sandbox-processes.ts +0 -112
  83. package/src/resources/sandbox-shares.ts +0 -83
  84. package/src/resources/sandbox-templates.ts +0 -195
  85. package/src/resources/sandboxes.live.test.ts +0 -92
  86. package/src/resources/sandboxes.test.ts +0 -653
  87. package/src/resources/sandboxes.ts +0 -1433
  88. package/src/resources/settings.ts +0 -143
  89. package/src/resources/snapshots-standalone.ts +0 -51
  90. package/src/resources/storage.ts +0 -221
  91. package/src/resources/tenant-events.ts +0 -32
  92. package/src/resources/tenant.ts +0 -148
  93. package/src/resources/usage.ts +0 -85
  94. package/src/resources/volumes.ts +0 -117
  95. package/src/resources/webhooks.ts +0 -224
  96. package/src/resources/workspace-invites.ts +0 -188
  97. package/src/resources/workspace-members.test.ts +0 -121
  98. package/src/resources/workspace-members.ts +0 -143
  99. package/src/resources/workspaces.ts +0 -285
  100. package/src/types.ts +0 -463
package/README.md CHANGED
@@ -29,8 +29,11 @@ import { Miosa } from "@miosa/sdk";
29
29
 
30
30
  const miosa = new Miosa({ apiKey: "msk_live_..." });
31
31
 
32
- // Boot a sandbox, write a file, run a command
33
- const sbx = await miosa.sandboxes.create({ name: "my-build" });
32
+ // Create or resume a persistent sandbox workspace, then work inside it.
33
+ const sbx = await miosa.sandboxes.createAgentWorkspace({
34
+ name: "my-build",
35
+ externalWorkspaceId: "customer-workspace-123",
36
+ });
34
37
 
35
38
  await sbx.files.write("/workspace/hello.ts", `console.log("hello from miosa")`);
36
39
  const result = await sbx.exec("npx tsx /workspace/hello.ts");
@@ -40,7 +43,9 @@ console.log(result.stdout); // hello from miosa
40
43
  const url = await sbx.expose(3000);
41
44
  console.log(url); // https://3000-<slug>.sandbox.miosa.ai
42
45
 
43
- await sbx.destroy();
46
+ // Keep progress. Pause preserves the workspace so the next session can resume.
47
+ await sbx.snapshots.create("after-hello-world");
48
+ await sbx.pause();
44
49
  ```
45
50
 
46
51
  ## What's included
@@ -61,6 +66,53 @@ await sbx.destroy();
61
66
  | `miosa.completions` | OpenAI-compatible chat completions with SSE streaming |
62
67
  | `miosa.embeddings` | OpenAI-compatible embedding vectors |
63
68
 
69
+ ## Agent workspaces
70
+
71
+ For AI builders, code assistants, and white-label agent products, the sandbox
72
+ is the development machine. Do not run builds on the user's laptop and upload
73
+ the result as the primary flow. Create or resume a stable sandbox workspace,
74
+ write files under `/workspace`, run package installs/tests/builds inside the
75
+ sandbox, expose previews from the sandbox, and publish from that sandbox.
76
+
77
+ ```ts
78
+ const sbx = await miosa.sandboxes.getOrCreate({
79
+ name: "acme-marketing-page",
80
+ templateId: "miosa-sandbox",
81
+ persistent: true,
82
+ timeoutSec: 86_400,
83
+ idleTimeoutSec: 1800,
84
+ snapshotExpirationDays: 30,
85
+ keepLastSnapshots: 1,
86
+ externalWorkspaceId: "acme",
87
+ externalUserId: "jane",
88
+ waitUntilReady: true,
89
+ });
90
+
91
+ await sbx.files.writeMany([
92
+ { path: "/workspace/package.json", content: `{"scripts":{"dev":"vite --host 0.0.0.0"}}` },
93
+ { path: "/workspace/index.html", content: `<main id="app"></main>` },
94
+ ]);
95
+
96
+ for await (const event of sbx.exec.stream("cd /workspace && npm install && npm run dev -- --port 3000")) {
97
+ console.log(event);
98
+ }
99
+
100
+ const preview = await sbx.previews.create(3000);
101
+ console.log(preview.url);
102
+ ```
103
+
104
+ `createAgentWorkspace()` is a convenience wrapper around `getOrCreate()` with
105
+ builder defaults: a 24-hour activity cap, thirty-minute idle snapshot/pause,
106
+ readiness waiting, 30-day snapshot-retention metadata, keep-last-snapshot
107
+ metadata, and metadata that marks the sandbox as an agent workspace.
108
+
109
+ That mirrors the Vercel-style persistent-sandbox model without keeping CPU
110
+ running forever: activity extends the running session, idle workspaces are
111
+ checkpointed and paused, and later sessions resume from the checkpoint. Use
112
+ `extend(86_400)` before long builds, `pause()` when the user is done for now,
113
+ `resume()` for the next session, `snapshots.create()` for manual checkpoints,
114
+ and `destroy()` only when the workspace should be permanently deleted.
115
+
64
116
  ## Sandbox sub-resources
65
117
 
66
118
  Every `Sandbox` instance exposes composable sub-resources:
@@ -126,6 +178,26 @@ const deployment = await sbx.deploy({
126
178
  });
127
179
  ```
128
180
 
181
+ For workspace Docker Deploy, publish from the same sandbox but choose the
182
+ Docker Deploy target:
183
+
184
+ ```ts
185
+ const deployment = await sbx.deployDocker({
186
+ name: "lead-magnet",
187
+ path: "/workspace",
188
+ buildCommand: "npm run build",
189
+ runCommand: "npm start",
190
+ port: 3000,
191
+ });
192
+
193
+ console.log(deployment.url ?? deployment.public_url);
194
+ ```
195
+
196
+ Docker Deploy runs app containers inside the workspace's dedicated MIOSA
197
+ Docker Deploy appliance VM. It is separate from normal MIOSA dynamic runtime
198
+ VMs and is useful when a workspace needs many small apps, funnels, lead
199
+ magnets, APIs, or client sites.
200
+
129
201
  Always display the server-returned `url` / `public_url`. Do not hardcode
130
202
  `preview.miosa.app`, `api.miosa.app`, or `<tenant>.miosa.app`.
131
203