@madarco/agentbox 0.10.0 → 0.10.1
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/CHANGELOG.md +13 -0
- package/dist/{_cloud-attach-O6NYTLES.js → _cloud-attach-2DGI6FUA.js} +4 -4
- package/dist/{chunk-7UIAO7PC.js → chunk-CDKVD6UO.js} +27 -11
- package/dist/chunk-CDKVD6UO.js.map +1 -0
- package/dist/{chunk-R4O5WPHW.js → chunk-I7NOGCL4.js} +6 -6
- package/dist/{chunk-2GPORKYF.js → chunk-M2UWJKFA.js} +3 -3
- package/dist/{chunk-KL36BRN4.js → chunk-PWUVHPN6.js} +66 -17
- package/dist/{chunk-KL36BRN4.js.map → chunk-PWUVHPN6.js.map} +1 -1
- package/dist/{dist-TMHSUVTP.js → dist-BD5QJRDC.js} +4 -4
- package/dist/{dist-5FQGYRW5.js → dist-BNI5PQYK.js} +4 -4
- package/dist/{dist-BQNX7RQE.js → dist-SBCQVFCE.js} +13 -3
- package/dist/{dist-PZW3GWWU.js → dist-SJHY3HYN.js} +4 -4
- package/dist/index.js +35 -23
- package/dist/index.js.map +1 -1
- package/dist/{prepared-state-CL4CWXQA-H5THETIM.js → prepared-state-MQHD3M5F-O5M4NIN4.js} +2 -2
- package/package.json +5 -5
- package/runtime/docker/apps/cli/share/agentbox-setup/SKILL.md +1 -1
- package/runtime/docker/packages/ctl/dist/bin.cjs +6 -0
- package/runtime/hetzner/agentbox-setup-skill.md +1 -1
- package/runtime/hetzner/ctl.cjs +6 -0
- package/runtime/relay/bin.cjs +9 -0
- package/runtime/vercel/agentbox-setup-skill.md +1 -1
- package/runtime/vercel/ctl.cjs +6 -0
- package/share/agentbox-setup/SKILL.md +1 -1
- package/dist/chunk-7UIAO7PC.js.map +0 -1
- /package/dist/{_cloud-attach-O6NYTLES.js.map → _cloud-attach-2DGI6FUA.js.map} +0 -0
- /package/dist/{chunk-R4O5WPHW.js.map → chunk-I7NOGCL4.js.map} +0 -0
- /package/dist/{chunk-2GPORKYF.js.map → chunk-M2UWJKFA.js.map} +0 -0
- /package/dist/{dist-TMHSUVTP.js.map → dist-BD5QJRDC.js.map} +0 -0
- /package/dist/{dist-5FQGYRW5.js.map → dist-BNI5PQYK.js.map} +0 -0
- /package/dist/{dist-BQNX7RQE.js.map → dist-SBCQVFCE.js.map} +0 -0
- /package/dist/{dist-PZW3GWWU.js.map → dist-SJHY3HYN.js.map} +0 -0
- /package/dist/{prepared-state-CL4CWXQA-H5THETIM.js.map → prepared-state-MQHD3M5F-O5M4NIN4.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
probeCloudCheckpoint,
|
|
32
32
|
resolveCloudCheckpoint,
|
|
33
33
|
seedAgentVolumesIfFresh
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-M2UWJKFA.js";
|
|
35
35
|
import {
|
|
36
36
|
ADVANCED_HINT_GROUPS,
|
|
37
37
|
ALERT_BAND_ROWS,
|
|
@@ -61,7 +61,7 @@ import {
|
|
|
61
61
|
statusLine,
|
|
62
62
|
stripTitleGlyph,
|
|
63
63
|
subscribePrompts
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-I7NOGCL4.js";
|
|
65
65
|
import {
|
|
66
66
|
AmbiguousBoxError,
|
|
67
67
|
BOX_STATUS_EVENT,
|
|
@@ -207,7 +207,7 @@ import {
|
|
|
207
207
|
waitForTmuxPaneContent,
|
|
208
208
|
warmUpClaudeCredentials,
|
|
209
209
|
writeJob
|
|
210
|
-
} from "./chunk-
|
|
210
|
+
} from "./chunk-CDKVD6UO.js";
|
|
211
211
|
import {
|
|
212
212
|
DEFAULT_BOX_IMAGE,
|
|
213
213
|
STATE_DIR,
|
|
@@ -215,12 +215,12 @@ import {
|
|
|
215
215
|
imageInfo,
|
|
216
216
|
readState,
|
|
217
217
|
resolveBoxRef
|
|
218
|
-
} from "./chunk-
|
|
218
|
+
} from "./chunk-PWUVHPN6.js";
|
|
219
219
|
import "./chunk-G3H2L3O2.js";
|
|
220
220
|
|
|
221
221
|
// src/version.ts
|
|
222
|
-
var AGENTBOX_VERSION = true ? "0.10.
|
|
223
|
-
var AGENTBOX_COMMIT = true ? "
|
|
222
|
+
var AGENTBOX_VERSION = true ? "0.10.1" : "0.0.0-dev";
|
|
223
|
+
var AGENTBOX_COMMIT = true ? "1957cb4a" : "dev";
|
|
224
224
|
|
|
225
225
|
// src/index.ts
|
|
226
226
|
import { Command as Command46 } from "commander";
|
|
@@ -1854,11 +1854,11 @@ import { basename } from "path";
|
|
|
1854
1854
|
async function cloudBackendForProvider(provider) {
|
|
1855
1855
|
switch (provider) {
|
|
1856
1856
|
case "daytona":
|
|
1857
|
-
return (await import("./dist-
|
|
1857
|
+
return (await import("./dist-BD5QJRDC.js")).daytonaBackend;
|
|
1858
1858
|
case "hetzner":
|
|
1859
|
-
return (await import("./dist-
|
|
1859
|
+
return (await import("./dist-BNI5PQYK.js")).hetznerBackend;
|
|
1860
1860
|
case "vercel":
|
|
1861
|
-
return (await import("./dist-
|
|
1861
|
+
return (await import("./dist-SJHY3HYN.js")).vercelBackend;
|
|
1862
1862
|
default:
|
|
1863
1863
|
return null;
|
|
1864
1864
|
}
|
|
@@ -2770,11 +2770,11 @@ var CLOUD_BACKENDS = ["daytona", "hetzner", "vercel"];
|
|
|
2770
2770
|
async function cloudProviderFor(backend) {
|
|
2771
2771
|
switch (backend) {
|
|
2772
2772
|
case "daytona":
|
|
2773
|
-
return (await import("./dist-
|
|
2773
|
+
return (await import("./dist-BD5QJRDC.js")).daytonaProvider;
|
|
2774
2774
|
case "hetzner":
|
|
2775
|
-
return (await import("./dist-
|
|
2775
|
+
return (await import("./dist-BNI5PQYK.js")).hetznerProvider;
|
|
2776
2776
|
case "vercel":
|
|
2777
|
-
return (await import("./dist-
|
|
2777
|
+
return (await import("./dist-SJHY3HYN.js")).vercelProvider;
|
|
2778
2778
|
}
|
|
2779
2779
|
}
|
|
2780
2780
|
var CHECKPOINT_NOTICE = "Checkpoint in progress \u2014 the box will be unresponsive for a moment";
|
|
@@ -5139,7 +5139,10 @@ async function attachShell(record) {
|
|
|
5139
5139
|
var createCommand = new Command9("create").description("Create and start a new agent box (Docker container with /workspace seeded via in-container git worktree)").option("-w, --workspace <path>", "host workspace to mount", process.cwd()).option("-n, --name <name>", "friendly box name (default: <workspace-basename>-<id>)").option("--provider <name>", "sandbox backend: 'docker' (default) or 'daytona' (cloud)").option("--host-snapshot", "APFS-clone the host workspace into a per-box scratch dir before seeding /workspace (stabilizes the tar-pipe source)").option("--no-host-snapshot", "bind the live workspace directly (host edits leak into reads)").option(
|
|
5140
5140
|
"--snapshot <ref>",
|
|
5141
5141
|
"start from a project checkpoint (see `agentbox checkpoint`); overrides box.defaultCheckpoint"
|
|
5142
|
-
).option("--image <ref>", "override the box image", void 0).option(
|
|
5142
|
+
).option("--image <ref>", "override the box image", void 0).option(
|
|
5143
|
+
"--build",
|
|
5144
|
+
"build the docker base image locally instead of pulling the prebuilt one from the registry"
|
|
5145
|
+
).option("--attach", "drop into a shell inside the box after it is ready").option("--with-playwright", "also install @playwright/cli@latest globally inside the box").option(
|
|
5143
5146
|
"--with-env",
|
|
5144
5147
|
"copy host env/config files (.env*, secrets.toml, agentbox.yaml, ...) into /workspace at create time (gitignore-bypassing)"
|
|
5145
5148
|
).option("--no-vnc", "disable the per-box Xvnc + noVNC web client (on by default)").option(
|
|
@@ -5277,6 +5280,8 @@ var createCommand = new Command9("create").description("Create and start a new a
|
|
|
5277
5280
|
name: opts.name,
|
|
5278
5281
|
checkpointRef,
|
|
5279
5282
|
image: cfg.effective.box.image,
|
|
5283
|
+
allowPull: opts.build ? false : void 0,
|
|
5284
|
+
imageRegistry: cfg.effective.box.imageRegistry,
|
|
5280
5285
|
withPlaywright,
|
|
5281
5286
|
withEnv: cfg.effective.box.withEnv,
|
|
5282
5287
|
envFilesToImport: wiz.envFilesToImport,
|
|
@@ -5357,7 +5362,7 @@ var createCommand = new Command9("create").description("Create and start a new a
|
|
|
5357
5362
|
}
|
|
5358
5363
|
outro5("done");
|
|
5359
5364
|
if (attachClaudeAfter) {
|
|
5360
|
-
const { cloudAgentAttach: cloudAgentAttach2 } = await import("./_cloud-attach-
|
|
5365
|
+
const { cloudAgentAttach: cloudAgentAttach2 } = await import("./_cloud-attach-2DGI6FUA.js");
|
|
5361
5366
|
await cloudAgentAttach2({
|
|
5362
5367
|
box: result.record,
|
|
5363
5368
|
binary: "claude",
|
|
@@ -8753,7 +8758,7 @@ async function dockerChecks() {
|
|
|
8753
8758
|
];
|
|
8754
8759
|
}
|
|
8755
8760
|
const daemonRes = { label: "docker daemon", status: "ok", detail: "reachable" };
|
|
8756
|
-
const mod = await import("./dist-
|
|
8761
|
+
const mod = await import("./dist-SBCQVFCE.js");
|
|
8757
8762
|
let imgRes;
|
|
8758
8763
|
try {
|
|
8759
8764
|
const img = await mod.imageInfo(mod.DEFAULT_BOX_IMAGE);
|
|
@@ -8784,7 +8789,7 @@ async function dockerChecks() {
|
|
|
8784
8789
|
}
|
|
8785
8790
|
async function daytonaChecks() {
|
|
8786
8791
|
try {
|
|
8787
|
-
const mod = await import("./dist-
|
|
8792
|
+
const mod = await import("./dist-BD5QJRDC.js");
|
|
8788
8793
|
const status = await mod.getDaytonaStatus();
|
|
8789
8794
|
if (!status.configured) {
|
|
8790
8795
|
return [
|
|
@@ -8820,7 +8825,7 @@ async function daytonaChecks() {
|
|
|
8820
8825
|
}
|
|
8821
8826
|
async function hetznerChecks() {
|
|
8822
8827
|
try {
|
|
8823
|
-
const mod = await import("./dist-
|
|
8828
|
+
const mod = await import("./dist-BNI5PQYK.js");
|
|
8824
8829
|
const cred = mod.readHetznerCredStatus();
|
|
8825
8830
|
const credRes = cred.source === "none" ? {
|
|
8826
8831
|
label: "credentials",
|
|
@@ -8852,7 +8857,7 @@ async function hetznerChecks() {
|
|
|
8852
8857
|
}
|
|
8853
8858
|
async function vercelChecks() {
|
|
8854
8859
|
try {
|
|
8855
|
-
const mod = await import("./dist-
|
|
8860
|
+
const mod = await import("./dist-SJHY3HYN.js");
|
|
8856
8861
|
const cred = mod.readVercelCredStatus();
|
|
8857
8862
|
const credRes = cred.auth === "none" ? {
|
|
8858
8863
|
label: "credentials",
|
|
@@ -9063,7 +9068,7 @@ async function renderDocker(status) {
|
|
|
9063
9068
|
}
|
|
9064
9069
|
async function daytonaStatus() {
|
|
9065
9070
|
try {
|
|
9066
|
-
const mod = await import("./dist-
|
|
9071
|
+
const mod = await import("./dist-BD5QJRDC.js");
|
|
9067
9072
|
return await mod.getDaytonaStatus();
|
|
9068
9073
|
} catch (err) {
|
|
9069
9074
|
return {
|
|
@@ -9141,6 +9146,7 @@ async function runPrepare(providerName, opts = {}) {
|
|
|
9141
9146
|
process.exit(1);
|
|
9142
9147
|
}
|
|
9143
9148
|
const cwd = opts.cwd ?? process.cwd();
|
|
9149
|
+
const registry = providerName === "docker" ? await loadEffectiveConfig(cwd).then((c) => c.effective.box.imageRegistry).catch(() => void 0) : void 0;
|
|
9144
9150
|
const sp = spinner7();
|
|
9145
9151
|
sp.start(`preparing ${providerName}\u2026`);
|
|
9146
9152
|
try {
|
|
@@ -9148,6 +9154,8 @@ async function runPrepare(providerName, opts = {}) {
|
|
|
9148
9154
|
name: opts.name,
|
|
9149
9155
|
hostWorkspace: cwd,
|
|
9150
9156
|
force: opts.force,
|
|
9157
|
+
allowPull: opts.build ? false : void 0,
|
|
9158
|
+
registry,
|
|
9151
9159
|
onLog: (line) => sp.message(line.slice(0, 80))
|
|
9152
9160
|
});
|
|
9153
9161
|
if (result.snapshotName !== void 0) {
|
|
@@ -9184,7 +9192,10 @@ var prepareCommand = new Command24("prepare").description(
|
|
|
9184
9192
|
).option(
|
|
9185
9193
|
"-p, --provider <name>",
|
|
9186
9194
|
"provider to prepare (docker | daytona | hetzner | vercel). Omit for status-only."
|
|
9187
|
-
).option("-n, --name <name>", "snapshot name (Daytona only; default: agentbox-base-<timestamp>)").option("-f, --force", "rebuild even if the image / snapshot already exists").option(
|
|
9195
|
+
).option("-n, --name <name>", "snapshot name (Daytona only; default: agentbox-base-<timestamp>)").option("-f, --force", "rebuild even if the image / snapshot already exists").option(
|
|
9196
|
+
"--build",
|
|
9197
|
+
"docker: build the base image locally instead of pulling the prebuilt one from the registry"
|
|
9198
|
+
).option("-y, --yes", "skip confirmation prompts (cost / time warnings)").option("--status", "show status without preparing anything").action(async (opts) => {
|
|
9188
9199
|
if (!opts.provider || opts.status) {
|
|
9189
9200
|
await showStatus({});
|
|
9190
9201
|
return;
|
|
@@ -9194,6 +9205,7 @@ var prepareCommand = new Command24("prepare").description(
|
|
|
9194
9205
|
await runPrepare(providerName, {
|
|
9195
9206
|
name: opts.name,
|
|
9196
9207
|
force: opts.force,
|
|
9208
|
+
build: opts.build,
|
|
9197
9209
|
yes: opts.yes
|
|
9198
9210
|
});
|
|
9199
9211
|
});
|
|
@@ -9394,7 +9406,7 @@ function ensureTty() {
|
|
|
9394
9406
|
async function runProviderLogin(name) {
|
|
9395
9407
|
if (name === "docker") return true;
|
|
9396
9408
|
if (name === "daytona") {
|
|
9397
|
-
const mod2 = await import("./dist-
|
|
9409
|
+
const mod2 = await import("./dist-BD5QJRDC.js");
|
|
9398
9410
|
const status2 = await mod2.getDaytonaStatus();
|
|
9399
9411
|
if (status2.configured) {
|
|
9400
9412
|
log30.info("daytona: already configured");
|
|
@@ -9407,7 +9419,7 @@ async function runProviderLogin(name) {
|
|
|
9407
9419
|
return true;
|
|
9408
9420
|
}
|
|
9409
9421
|
if (name === "hetzner") {
|
|
9410
|
-
const mod2 = await import("./dist-
|
|
9422
|
+
const mod2 = await import("./dist-BNI5PQYK.js");
|
|
9411
9423
|
const status2 = mod2.readHetznerCredStatus();
|
|
9412
9424
|
if (status2.source !== "none") {
|
|
9413
9425
|
log30.info("hetzner: already configured");
|
|
@@ -9419,7 +9431,7 @@ async function runProviderLogin(name) {
|
|
|
9419
9431
|
await mod2.ensureHetznerCredentials();
|
|
9420
9432
|
return true;
|
|
9421
9433
|
}
|
|
9422
|
-
const mod = await import("./dist-
|
|
9434
|
+
const mod = await import("./dist-SJHY3HYN.js");
|
|
9423
9435
|
const status = mod.readVercelCredStatus();
|
|
9424
9436
|
if (status.auth !== "none") {
|
|
9425
9437
|
log30.info(`vercel: already configured (${status.auth})`);
|