@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.
- package/README.md +75 -3
- package/dist/index.d.ts +323 -175
- package/dist/index.js +441 -386
- package/dist/index.js.map +1 -1
- package/package.json +1 -2
- package/src/client.ts +0 -293
- package/src/errors.ts +0 -136
- package/src/http.test.ts +0 -374
- package/src/http.ts +0 -390
- package/src/index.ts +0 -564
- package/src/resources/admin.ts +0 -359
- package/src/resources/analytics.ts +0 -60
- package/src/resources/api-keys.ts +0 -135
- package/src/resources/audit-log.ts +0 -64
- package/src/resources/benchmarks.ts +0 -104
- package/src/resources/builder-sessions.ts +0 -75
- package/src/resources/channels.ts +0 -143
- package/src/resources/checkpoints.ts +0 -225
- package/src/resources/command-center.ts +0 -73
- package/src/resources/community.ts +0 -103
- package/src/resources/completions.ts +0 -104
- package/src/resources/computer-auto-stop.ts +0 -43
- package/src/resources/computer-env.ts +0 -76
- package/src/resources/computer-logs.ts +0 -50
- package/src/resources/computer-osa.ts +0 -76
- package/src/resources/computer-ports.ts +0 -91
- package/src/resources/computer-terminal.ts +0 -61
- package/src/resources/computer-volumes.ts +0 -64
- package/src/resources/computer.ts +0 -551
- package/src/resources/computers.ts +0 -75
- package/src/resources/credits.ts +0 -43
- package/src/resources/cron-jobs.ts +0 -191
- package/src/resources/custom_domains.ts +0 -123
- package/src/resources/dashboard.ts +0 -49
- package/src/resources/databases.ts +0 -218
- package/src/resources/deployments.test.ts +0 -194
- package/src/resources/deployments.ts +0 -1060
- package/src/resources/desktop.ts +0 -134
- package/src/resources/docker-deploy.test.ts +0 -102
- package/src/resources/docker-deploy.ts +0 -183
- package/src/resources/egress.test.ts +0 -318
- package/src/resources/egressAudit.ts +0 -245
- package/src/resources/egressNetwork.ts +0 -450
- package/src/resources/egressSecrets.ts +0 -577
- package/src/resources/email.ts +0 -212
- package/src/resources/embeddings.ts +0 -36
- package/src/resources/events.ts +0 -296
- package/src/resources/exec.ts +0 -319
- package/src/resources/external-keys.ts +0 -79
- package/src/resources/files.test.ts +0 -339
- package/src/resources/files.ts +0 -220
- package/src/resources/flat-custom-domains.ts +0 -127
- package/src/resources/functions.ts +0 -178
- package/src/resources/governance.test.ts +0 -355
- package/src/resources/governance.ts +0 -528
- package/src/resources/health-checks.ts +0 -165
- package/src/resources/integrations.ts +0 -183
- package/src/resources/mcp.ts +0 -70
- package/src/resources/models.ts +0 -45
- package/src/resources/network_policy.ts +0 -73
- package/src/resources/open-computers/agents.ts +0 -91
- package/src/resources/open-computers/apps.ts +0 -102
- package/src/resources/open-computers/clusters.ts +0 -88
- package/src/resources/open-computers/desktop.ts +0 -34
- package/src/resources/open-computers/files.ts +0 -97
- package/src/resources/open-computers/hosts.ts +0 -85
- package/src/resources/open-computers/index.ts +0 -98
- package/src/resources/open-computers/jobs.ts +0 -75
- package/src/resources/open-computers/open_computers.test.ts +0 -288
- package/src/resources/open-computers/secrets.ts +0 -115
- package/src/resources/open-computers/terminal.ts +0 -33
- package/src/resources/open-computers/tunnels.ts +0 -87
- package/src/resources/open-computers/types.ts +0 -343
- package/src/resources/open-computers/workspaces.ts +0 -135
- package/src/resources/org-invites.ts +0 -189
- package/src/resources/phase1.test.ts +0 -187
- package/src/resources/project-auth.ts +0 -142
- package/src/resources/project-integrations.ts +0 -133
- package/src/resources/provider-defaults.ts +0 -89
- package/src/resources/quotas.ts +0 -77
- package/src/resources/regions.ts +0 -94
- package/src/resources/sandbox-processes.ts +0 -112
- package/src/resources/sandbox-shares.ts +0 -83
- package/src/resources/sandbox-templates.ts +0 -195
- package/src/resources/sandboxes.live.test.ts +0 -92
- package/src/resources/sandboxes.test.ts +0 -653
- package/src/resources/sandboxes.ts +0 -1433
- package/src/resources/settings.ts +0 -143
- package/src/resources/snapshots-standalone.ts +0 -51
- package/src/resources/storage.ts +0 -221
- package/src/resources/tenant-events.ts +0 -32
- package/src/resources/tenant.ts +0 -148
- package/src/resources/usage.ts +0 -85
- package/src/resources/volumes.ts +0 -117
- package/src/resources/webhooks.ts +0 -224
- package/src/resources/workspace-invites.ts +0 -188
- package/src/resources/workspace-members.test.ts +0 -121
- package/src/resources/workspace-members.ts +0 -143
- package/src/resources/workspaces.ts +0 -285
- 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
|
-
//
|
|
33
|
-
const sbx = await miosa.sandboxes.
|
|
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
|
-
|
|
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
|
|