@madarco/agentbox 0.11.1 → 0.11.2
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 +9 -0
- package/dist/{_cloud-attach-45ECDTRL.js → _cloud-attach-XWCVLO5V.js} +6 -4
- package/dist/{chunk-PZ2TJF2U.js → chunk-GYJ62GFL.js} +32 -12
- package/dist/chunk-GYJ62GFL.js.map +1 -0
- package/dist/index.js +66 -24
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/chunk-PZ2TJF2U.js.map +0 -1
- /package/dist/{_cloud-attach-45ECDTRL.js.map → _cloud-attach-XWCVLO5V.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -40,6 +40,7 @@ import {
|
|
|
40
40
|
buildCloudAttachInnerCommand,
|
|
41
41
|
clipboardCaptureAvailable,
|
|
42
42
|
cloudAgentAttach,
|
|
43
|
+
cloudAgentStartDetached,
|
|
43
44
|
createMenuLines,
|
|
44
45
|
detectHostTerminal,
|
|
45
46
|
getProvider,
|
|
@@ -61,7 +62,7 @@ import {
|
|
|
61
62
|
statusLine,
|
|
62
63
|
stripTitleGlyph,
|
|
63
64
|
subscribePrompts
|
|
64
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-GYJ62GFL.js";
|
|
65
66
|
import {
|
|
66
67
|
AmbiguousBoxError,
|
|
67
68
|
BOX_STATUS_EVENT,
|
|
@@ -220,8 +221,8 @@ import {
|
|
|
220
221
|
import "./chunk-G3H2L3O2.js";
|
|
221
222
|
|
|
222
223
|
// src/version.ts
|
|
223
|
-
var AGENTBOX_VERSION = true ? "0.11.
|
|
224
|
-
var AGENTBOX_COMMIT = true ? "
|
|
224
|
+
var AGENTBOX_VERSION = true ? "0.11.2" : "0.0.0-dev";
|
|
225
|
+
var AGENTBOX_COMMIT = true ? "3683063c" : "dev";
|
|
225
226
|
|
|
226
227
|
// src/index.ts
|
|
227
228
|
import { Command as Command46 } from "commander";
|
|
@@ -2249,11 +2250,6 @@ var claudeCommand = new Command2("claude").description("Create a sandboxed box a
|
|
|
2249
2250
|
const providerName = opts.provider ?? cfg.effective.box.provider ?? "docker";
|
|
2250
2251
|
const isCloud = providerName !== "docker";
|
|
2251
2252
|
if (opts.initialPrompt && opts.initialPrompt.length > 0) {
|
|
2252
|
-
if (isCloud) {
|
|
2253
|
-
log8.error("-i / --initial-prompt is currently docker-only (cloud sessions only start on attach).");
|
|
2254
|
-
cmdLog.close();
|
|
2255
|
-
process.exit(2);
|
|
2256
|
-
}
|
|
2257
2253
|
try {
|
|
2258
2254
|
await assertAgentCredsAvailable({
|
|
2259
2255
|
agent: "claude-code",
|
|
@@ -3664,11 +3660,6 @@ var codexCommand = new Command5("codex").description("Create a sandboxed box and
|
|
|
3664
3660
|
const providerDefault = resolveDefaultCheckpoint(cfg.effective, providerName);
|
|
3665
3661
|
const checkpointRef = opts.snapshot && opts.snapshot.length > 0 ? opts.snapshot : providerDefault.length > 0 ? providerDefault : void 0;
|
|
3666
3662
|
if (opts.initialPrompt && opts.initialPrompt.length > 0) {
|
|
3667
|
-
if (isCloud) {
|
|
3668
|
-
log11.error("-i / --initial-prompt is currently docker-only (cloud sessions only start on attach).");
|
|
3669
|
-
cmdLog.close();
|
|
3670
|
-
process.exit(2);
|
|
3671
|
-
}
|
|
3672
3663
|
try {
|
|
3673
3664
|
await assertAgentCredsAvailable({
|
|
3674
3665
|
agent: "codex",
|
|
@@ -4382,11 +4373,6 @@ var opencodeCommand = new Command6("opencode").description("Create a sandboxed b
|
|
|
4382
4373
|
const providerDefault = resolveDefaultCheckpoint(cfg.effective, providerName);
|
|
4383
4374
|
const checkpointRef = opts.snapshot && opts.snapshot.length > 0 ? opts.snapshot : providerDefault.length > 0 ? providerDefault : void 0;
|
|
4384
4375
|
if (opts.initialPrompt && opts.initialPrompt.length > 0) {
|
|
4385
|
-
if (isCloud) {
|
|
4386
|
-
log12.error("-i / --initial-prompt is currently docker-only (cloud sessions only start on attach).");
|
|
4387
|
-
cmdLog.close();
|
|
4388
|
-
process.exit(2);
|
|
4389
|
-
}
|
|
4390
4376
|
try {
|
|
4391
4377
|
await assertAgentCredsAvailable({
|
|
4392
4378
|
agent: "opencode",
|
|
@@ -5419,7 +5405,7 @@ var createCommand = new Command9("create").description("Create and start a new a
|
|
|
5419
5405
|
}
|
|
5420
5406
|
outro4("done");
|
|
5421
5407
|
if (attachClaudeAfter) {
|
|
5422
|
-
const { cloudAgentAttach: cloudAgentAttach2 } = await import("./_cloud-attach-
|
|
5408
|
+
const { cloudAgentAttach: cloudAgentAttach2 } = await import("./_cloud-attach-XWCVLO5V.js");
|
|
5423
5409
|
await cloudAgentAttach2({
|
|
5424
5410
|
box: result.record,
|
|
5425
5411
|
binary: "claude",
|
|
@@ -10866,9 +10852,14 @@ var runQueuedJobCommand = new Command35("_run-queued-job").description("internal
|
|
|
10866
10852
|
log44.close();
|
|
10867
10853
|
process.exit(64);
|
|
10868
10854
|
}
|
|
10869
|
-
|
|
10855
|
+
const onBoxCreated = (boxId) => {
|
|
10870
10856
|
if (job) job = { ...job, boxId };
|
|
10871
|
-
}
|
|
10857
|
+
};
|
|
10858
|
+
if ((job.providerName || "docker") === "docker") {
|
|
10859
|
+
await runDockerJob(job, log44, onBoxCreated);
|
|
10860
|
+
} else {
|
|
10861
|
+
await runCloudJob(job, log44, onBoxCreated);
|
|
10862
|
+
}
|
|
10872
10863
|
const done = {
|
|
10873
10864
|
...job,
|
|
10874
10865
|
status: "done",
|
|
@@ -10906,9 +10897,6 @@ async function runDockerJob(job, log44, onBoxCreated) {
|
|
|
10906
10897
|
});
|
|
10907
10898
|
const projectRoot = (await findProjectRoot(opts.workspace)).root;
|
|
10908
10899
|
const providerName = job.providerName || cfg.effective.box.provider || "docker";
|
|
10909
|
-
if (providerName !== "docker") {
|
|
10910
|
-
throw new Error(`worker only supports docker provider (got "${providerName}")`);
|
|
10911
|
-
}
|
|
10912
10900
|
const providerDefault = resolveDefaultCheckpoint(cfg.effective, providerName);
|
|
10913
10901
|
const checkpointRef = opts.snapshot && opts.snapshot.length > 0 ? opts.snapshot : providerDefault.length > 0 ? providerDefault : void 0;
|
|
10914
10902
|
const useSnapshot = opts.hostSnapshot === false ? false : opts.hostSnapshot === true ? true : cfg.effective.box.hostSnapshot ?? false;
|
|
@@ -10981,6 +10969,60 @@ async function runDockerJob(job, log44, onBoxCreated) {
|
|
|
10981
10969
|
throw new Error(`unknown agent kind: ${String(job.agent)}`);
|
|
10982
10970
|
}
|
|
10983
10971
|
}
|
|
10972
|
+
async function runCloudJob(job, log44, onBoxCreated) {
|
|
10973
|
+
const opts = job.createOpts;
|
|
10974
|
+
const cfg = await loadEffectiveConfig(opts.workspace, {
|
|
10975
|
+
cliOverrides: buildOverridesFromJob(job)
|
|
10976
|
+
});
|
|
10977
|
+
const projectRoot = (await findProjectRoot(opts.workspace)).root;
|
|
10978
|
+
const providerName = job.providerName || cfg.effective.box.provider || "docker";
|
|
10979
|
+
const provider = await providerForCreate({ flag: providerName, config: cfg.effective });
|
|
10980
|
+
const providerDefault = resolveDefaultCheckpoint(cfg.effective, providerName);
|
|
10981
|
+
const checkpointRef = opts.snapshot && opts.snapshot.length > 0 ? opts.snapshot : providerDefault.length > 0 ? providerDefault : void 0;
|
|
10982
|
+
const withPlaywright = cfg.effective.box.withPlaywright || cfg.effective.browser.default !== "agent-browser";
|
|
10983
|
+
log44.write(`creating cloud box (${providerName}) for agent=${job.agent}`);
|
|
10984
|
+
const result = await provider.create({
|
|
10985
|
+
workspacePath: opts.workspace,
|
|
10986
|
+
name: opts.name && opts.name.length > 0 ? opts.name : void 0,
|
|
10987
|
+
checkpointRef,
|
|
10988
|
+
image: cfg.effective.box.image,
|
|
10989
|
+
withPlaywright,
|
|
10990
|
+
withEnv: cfg.effective.box.withEnv,
|
|
10991
|
+
vnc: { enabled: cfg.effective.box.vnc },
|
|
10992
|
+
limits: resolveLimits(cfg.effective.box, opts),
|
|
10993
|
+
projectRoot,
|
|
10994
|
+
onLog: (line) => log44.write(line)
|
|
10995
|
+
});
|
|
10996
|
+
log44.write(`box created: ${result.record.id}`);
|
|
10997
|
+
onBoxCreated(result.record.id);
|
|
10998
|
+
await writeJob({ ...job, boxId: result.record.id });
|
|
10999
|
+
const promptedArgs = buildPromptArgs(job.agent, job.prompt, job.agentArgs);
|
|
11000
|
+
let binary;
|
|
11001
|
+
let sessionName;
|
|
11002
|
+
let extraArgs;
|
|
11003
|
+
if (job.agent === "claude-code") {
|
|
11004
|
+
binary = "claude";
|
|
11005
|
+
sessionName = cfg.effective.claude.sessionName;
|
|
11006
|
+
extraArgs = applyClaudeSkipPermissions(promptedArgs, cfg.effective);
|
|
11007
|
+
} else if (job.agent === "codex") {
|
|
11008
|
+
binary = "codex";
|
|
11009
|
+
sessionName = cfg.effective.codex.sessionName;
|
|
11010
|
+
extraArgs = applyCodexSkipPermissions(promptedArgs, cfg.effective);
|
|
11011
|
+
} else if (job.agent === "opencode") {
|
|
11012
|
+
binary = "opencode";
|
|
11013
|
+
sessionName = cfg.effective.opencode.sessionName;
|
|
11014
|
+
extraArgs = promptedArgs;
|
|
11015
|
+
} else {
|
|
11016
|
+
throw new Error(`unknown agent kind: ${String(job.agent)}`);
|
|
11017
|
+
}
|
|
11018
|
+
log44.write(`starting detached ${job.agent} session`);
|
|
11019
|
+
await cloudAgentStartDetached({
|
|
11020
|
+
box: result.record,
|
|
11021
|
+
binary,
|
|
11022
|
+
sessionName,
|
|
11023
|
+
extraArgs
|
|
11024
|
+
});
|
|
11025
|
+
}
|
|
10984
11026
|
function buildOverridesFromJob(job) {
|
|
10985
11027
|
const opts = job.createOpts;
|
|
10986
11028
|
const box = {};
|