@boxes-dev/dvb-runtime 1.0.957 → 1.0.958
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/dist/bin/dvb.mjs +28 -15
- package/dist/bin/dvbd.mjs +8 -8
- package/dist/product-docs/references/cli.md +8 -3
- package/dist/product-docs/references/onbox-agent-tools.md +4 -0
- package/dist/product-docs/references/threads-and-agents.md +14 -12
- package/dist/product-docs/references/troubleshooting.md +2 -2
- package/package.json +2 -2
package/dist/bin/dvb.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
3
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8cb3e81f-1a45-5309-aca4-748b6f610d13")}catch(e){}}();
|
|
4
4
|
import { createRequire as __dvbCreateRequire } from "node:module";
|
|
5
5
|
import { dirname as __dvbDirname } from "node:path";
|
|
6
6
|
import { fileURLToPath as __dvbFileURLToPath } from "node:url";
|
|
@@ -101145,8 +101145,8 @@ var init_otel = __esm({
|
|
|
101145
101145
|
return trimmed && trimmed.length > 0 ? trimmed : void 0;
|
|
101146
101146
|
};
|
|
101147
101147
|
readBuildMetadata = () => {
|
|
101148
|
-
const rawPackageVersion = "1.0.
|
|
101149
|
-
const rawGitSha = "
|
|
101148
|
+
const rawPackageVersion = "1.0.958";
|
|
101149
|
+
const rawGitSha = "1436ae0e44cbd7325937bad75a389dc22a69ba80";
|
|
101150
101150
|
const packageVersion = typeof rawPackageVersion === "string" ? rawPackageVersion : void 0;
|
|
101151
101151
|
const gitSha = typeof rawGitSha === "string" ? rawGitSha : void 0;
|
|
101152
101152
|
return { packageVersion, gitSha };
|
|
@@ -133552,9 +133552,9 @@ var init_sentry = __esm({
|
|
|
133552
133552
|
uncaughtExceptionMonitorInstalled = false;
|
|
133553
133553
|
currentDevboxSentryUser = null;
|
|
133554
133554
|
readBuildMetadata2 = () => {
|
|
133555
|
-
const rawPackageVersion = "1.0.
|
|
133556
|
-
const rawGitSha = "
|
|
133557
|
-
const rawSentryRelease = "boxes-dev-dvb@1.0.
|
|
133555
|
+
const rawPackageVersion = "1.0.958";
|
|
133556
|
+
const rawGitSha = "1436ae0e44cbd7325937bad75a389dc22a69ba80";
|
|
133557
|
+
const rawSentryRelease = "boxes-dev-dvb@1.0.958+1436ae0e44cbd7325937bad75a389dc22a69ba80";
|
|
133558
133558
|
const packageVersion = typeof rawPackageVersion === "string" ? rawPackageVersion : void 0;
|
|
133559
133559
|
const gitSha = typeof rawGitSha === "string" ? rawGitSha : void 0;
|
|
133560
133560
|
const sentryRelease = typeof rawSentryRelease === "string" ? rawSentryRelease : void 0;
|
|
@@ -138717,7 +138717,7 @@ var init_packageVersion = __esm({
|
|
|
138717
138717
|
return path17.join(process.cwd(), "dvb");
|
|
138718
138718
|
};
|
|
138719
138719
|
readEmbeddedPackageVersion = () => {
|
|
138720
|
-
const raw = "1.0.
|
|
138720
|
+
const raw = "1.0.958";
|
|
138721
138721
|
return trimVersion(raw);
|
|
138722
138722
|
};
|
|
138723
138723
|
readNearestPackageMetadata = (basePath) => {
|
|
@@ -204404,7 +204404,7 @@ var formatThreadBackendLabel, formatThreadBackendConnectingLabel, formatThreadBa
|
|
|
204404
204404
|
var init_threadBackendLabels = __esm({
|
|
204405
204405
|
"../../../../shared/threadRuntime/threadBackendLabels.ts"() {
|
|
204406
204406
|
"use strict";
|
|
204407
|
-
formatThreadBackendLabel = (backend) => backend === "codex" ? "Codex" : "Claude";
|
|
204407
|
+
formatThreadBackendLabel = (backend) => backend === "codex" ? "Codex" : backend === "claude_code" ? "Claude Code CLI" : "Claude Code";
|
|
204408
204408
|
formatThreadBackendConnectingLabel = (backend) => `Connecting ${formatThreadBackendLabel(backend)}`;
|
|
204409
204409
|
formatThreadBackendDefaultTitle = (backend) => `${formatThreadBackendLabel(backend)} thread`;
|
|
204410
204410
|
}
|
|
@@ -231930,7 +231930,7 @@ var init_actionPresentation = __esm({
|
|
|
231930
231930
|
switch (outcome.kind) {
|
|
231931
231931
|
case "detached":
|
|
231932
231932
|
return {
|
|
231933
|
-
message: "Claude is still open in terminal. Press Enter to reattach.",
|
|
231933
|
+
message: backend === "claude_code" ? "Claude is still running. Press Enter to reattach its terminal." : "Claude is still open in terminal. Press Enter to reattach.",
|
|
231934
231934
|
tone: "neutral"
|
|
231935
231935
|
};
|
|
231936
231936
|
case "terminal_exit":
|
|
@@ -286497,6 +286497,10 @@ var init_controller = __esm({
|
|
|
286497
286497
|
}
|
|
286498
286498
|
let target = null;
|
|
286499
286499
|
if (selected.kind === "thread") {
|
|
286500
|
+
if (selected.target.backend === "claude_code") {
|
|
286501
|
+
this.setPreviewUnavailableForClaudeCode();
|
|
286502
|
+
return;
|
|
286503
|
+
}
|
|
286500
286504
|
target = {
|
|
286501
286505
|
selectedKey: selected.key,
|
|
286502
286506
|
primaryInstanceId: selected.target.primaryInstanceId,
|
|
@@ -286515,6 +286519,10 @@ var init_controller = __esm({
|
|
|
286515
286519
|
);
|
|
286516
286520
|
return;
|
|
286517
286521
|
}
|
|
286522
|
+
if (anchor.backend === "claude_code") {
|
|
286523
|
+
this.setPreviewUnavailableForClaudeCode();
|
|
286524
|
+
return;
|
|
286525
|
+
}
|
|
286518
286526
|
target = {
|
|
286519
286527
|
selectedKey: selected.key,
|
|
286520
286528
|
primaryInstanceId: anchor.primaryInstanceId,
|
|
@@ -286602,6 +286610,11 @@ var init_controller = __esm({
|
|
|
286602
286610
|
confirmPreviewRendered(args) {
|
|
286603
286611
|
this.peekController.confirmRendered(args);
|
|
286604
286612
|
}
|
|
286613
|
+
setPreviewUnavailableForClaudeCode() {
|
|
286614
|
+
this.setPreviewControlStatus(
|
|
286615
|
+
"Preview isn\u2019t available for Claude Code threads. Press Enter to open this thread."
|
|
286616
|
+
);
|
|
286617
|
+
}
|
|
286605
286618
|
setPreviewControlStatus(message) {
|
|
286606
286619
|
this.selectedActionStatusContext = null;
|
|
286607
286620
|
this.snapshot = {
|
|
@@ -286886,7 +286899,7 @@ var init_controller = __esm({
|
|
|
286886
286899
|
selected,
|
|
286887
286900
|
suspendAction ?? (async (callback) => await callback())
|
|
286888
286901
|
);
|
|
286889
|
-
} else if (selected.kind === "thread" && selected.actions.enter.backend === "claude") {
|
|
286902
|
+
} else if (selected.kind === "thread" && (selected.actions.enter.backend === "claude" || selected.actions.enter.backend === "claude_code")) {
|
|
286890
286903
|
await this.activateClaudeThread(
|
|
286891
286904
|
selected,
|
|
286892
286905
|
suspendAction ?? (async (callback) => await callback()),
|
|
@@ -287329,7 +287342,7 @@ var init_controller = __esm({
|
|
|
287329
287342
|
}
|
|
287330
287343
|
async activateClaudeThread(selected, suspendAction, confirmation) {
|
|
287331
287344
|
const action = selected.actions.enter;
|
|
287332
|
-
if (action.kind !== "native_thread" || action.backend !== "claude" || !this.actionDependencies.openClaude) {
|
|
287345
|
+
if (action.kind !== "native_thread" || action.backend !== "claude" && action.backend !== "claude_code" || !this.actionDependencies.openClaude) {
|
|
287333
287346
|
return;
|
|
287334
287347
|
}
|
|
287335
287348
|
const claudeBackend = action.backend;
|
|
@@ -287339,7 +287352,7 @@ var init_controller = __esm({
|
|
|
287339
287352
|
...this.snapshot,
|
|
287340
287353
|
claudeConfirmation: null,
|
|
287341
287354
|
selectedActionPending: true,
|
|
287342
|
-
selectedActionPendingLabel: confirmation !== null && confirmationWarning === "desktop_turn_active" ? "Interrupting Claude in the desktop app\u2026" : "Opening Claude in terminal\u2026",
|
|
287355
|
+
selectedActionPendingLabel: claudeBackend === "claude_code" ? "Opening terminal\u2026" : confirmation !== null && confirmationWarning === "desktop_turn_active" ? "Interrupting Claude in the desktop app\u2026" : "Opening Claude in terminal\u2026",
|
|
287343
287356
|
selectedActionStatusMessage: null,
|
|
287344
287357
|
selectedActionStatusTone: "neutral"
|
|
287345
287358
|
};
|
|
@@ -292616,7 +292629,7 @@ var init_workspaceProtocol = __esm({
|
|
|
292616
292629
|
};
|
|
292617
292630
|
}
|
|
292618
292631
|
if (kind === "claude") {
|
|
292619
|
-
if (record3.backend !== "claude") {
|
|
292632
|
+
if (record3.backend !== "claude" && record3.backend !== "claude_code") {
|
|
292620
292633
|
throw new Error("Invalid workspace Claude backend.");
|
|
292621
292634
|
}
|
|
292622
292635
|
return {
|
|
@@ -292789,7 +292802,7 @@ var init_workspaceActionClient = __esm({
|
|
|
292789
292802
|
case "codex_empty":
|
|
292790
292803
|
return "Codex";
|
|
292791
292804
|
case "claude":
|
|
292792
|
-
return "Claude";
|
|
292805
|
+
return action.backend === "claude_code" ? "Claude Code" : "Claude";
|
|
292793
292806
|
case "claude_empty":
|
|
292794
292807
|
return "Claude";
|
|
292795
292808
|
case "shell":
|
|
@@ -357351,4 +357364,4 @@ react/cjs/react-jsx-runtime.development.js:
|
|
|
357351
357364
|
*)
|
|
357352
357365
|
*/
|
|
357353
357366
|
|
|
357354
|
-
//# debugId=
|
|
357367
|
+
//# debugId=8cb3e81f-1a45-5309-aca4-748b6f610d13
|
package/dist/bin/dvbd.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
3
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9693a639-b909-5aca-a5d7-5c8663346d95")}catch(e){}}();
|
|
4
4
|
import { createRequire as __dvbCreateRequire } from "node:module";
|
|
5
5
|
import { dirname as __dvbDirname } from "node:path";
|
|
6
6
|
import { fileURLToPath as __dvbFileURLToPath } from "node:url";
|
|
@@ -96328,8 +96328,8 @@ var init_otel = __esm({
|
|
|
96328
96328
|
return trimmed && trimmed.length > 0 ? trimmed : void 0;
|
|
96329
96329
|
};
|
|
96330
96330
|
readBuildMetadata = () => {
|
|
96331
|
-
const rawPackageVersion = "1.0.
|
|
96332
|
-
const rawGitSha = "
|
|
96331
|
+
const rawPackageVersion = "1.0.958";
|
|
96332
|
+
const rawGitSha = "1436ae0e44cbd7325937bad75a389dc22a69ba80";
|
|
96333
96333
|
const packageVersion = typeof rawPackageVersion === "string" ? rawPackageVersion : void 0;
|
|
96334
96334
|
const gitSha = typeof rawGitSha === "string" ? rawGitSha : void 0;
|
|
96335
96335
|
return { packageVersion, gitSha };
|
|
@@ -128624,9 +128624,9 @@ var init_sentry = __esm({
|
|
|
128624
128624
|
uncaughtExceptionMonitorInstalled = false;
|
|
128625
128625
|
currentDevboxSentryUser = null;
|
|
128626
128626
|
readBuildMetadata2 = () => {
|
|
128627
|
-
const rawPackageVersion = "1.0.
|
|
128628
|
-
const rawGitSha = "
|
|
128629
|
-
const rawSentryRelease = "boxes-dev-dvb@1.0.
|
|
128627
|
+
const rawPackageVersion = "1.0.958";
|
|
128628
|
+
const rawGitSha = "1436ae0e44cbd7325937bad75a389dc22a69ba80";
|
|
128629
|
+
const rawSentryRelease = "boxes-dev-dvb@1.0.958+1436ae0e44cbd7325937bad75a389dc22a69ba80";
|
|
128630
128630
|
const packageVersion = typeof rawPackageVersion === "string" ? rawPackageVersion : void 0;
|
|
128631
128631
|
const gitSha = typeof rawGitSha === "string" ? rawGitSha : void 0;
|
|
128632
128632
|
const sentryRelease = typeof rawSentryRelease === "string" ? rawSentryRelease : void 0;
|
|
@@ -130818,7 +130818,7 @@ var init_packageVersion = __esm({
|
|
|
130818
130818
|
return path8.join(process.cwd(), "dvb");
|
|
130819
130819
|
};
|
|
130820
130820
|
readEmbeddedPackageVersion = () => {
|
|
130821
|
-
const raw = "1.0.
|
|
130821
|
+
const raw = "1.0.958";
|
|
130822
130822
|
return trimVersion(raw);
|
|
130823
130823
|
};
|
|
130824
130824
|
readNearestPackageMetadata = (basePath) => {
|
|
@@ -144013,4 +144013,4 @@ long/umd/index.js:
|
|
|
144013
144013
|
*)
|
|
144014
144014
|
*/
|
|
144015
144015
|
|
|
144016
|
-
//# debugId=
|
|
144016
|
+
//# debugId=9693a639-b909-5aca-a5d7-5c8663346d95
|
|
@@ -199,6 +199,9 @@ another thread:
|
|
|
199
199
|
a time. Moving it between the desktop app and the terminal asks first; the
|
|
200
200
|
desktop app can continue showing progress, interrupt the terminal turn, or
|
|
201
201
|
take control again.
|
|
202
|
+
- A Claude Code CLI thread reuses its existing persistent terminal. Moving it
|
|
203
|
+
to another surface disconnects the prior terminal view without restarting
|
|
204
|
+
Claude.
|
|
202
205
|
|
|
203
206
|
In Codex, press `Ctrl+D` with an empty composer to return to the switchboard
|
|
204
207
|
without interrupting a running turn. Press `Esc` to interrupt the current turn
|
|
@@ -226,7 +229,9 @@ complete key guide.
|
|
|
226
229
|
Press Space on a Codex or Claude row to preview recent saved messages without
|
|
227
230
|
waking its machine, attaching to its terminal, or moving input ownership. The
|
|
228
231
|
preview clears unread only after the exact ready content is rendered. Loading,
|
|
229
|
-
unavailable, and stale content do not clear it.
|
|
232
|
+
unavailable, and stale content do not clear it. Claude Code CLI preview is
|
|
233
|
+
deferred; Space explains that it is unavailable and Enter still reattaches the
|
|
234
|
+
persistent terminal normally.
|
|
230
235
|
|
|
231
236
|
Use `p` to pin or unpin an eligible Template-box thread or devbox anchor, `r`
|
|
232
237
|
to rename a thread, and `x` to archive or restore it. On an archived
|
|
@@ -260,8 +265,8 @@ draft or keep a non-blank draft; while waiting for `Ctrl+O`, `Esc` cancels only
|
|
|
260
265
|
the automatic open and leaves the agent running.
|
|
261
266
|
|
|
262
267
|
CLI-created Claude threads use a persistent Claude terminal but remain ordinary
|
|
263
|
-
Claude threads in the desktop app. They do not
|
|
264
|
-
|
|
268
|
+
Claude threads in the desktop app. They do not become separate Claude Code CLI
|
|
269
|
+
threads. The desktop app can observe their progress and use the usual
|
|
265
270
|
interrupt-and-transfer flow when control needs to move between surfaces. They
|
|
266
271
|
use the same autonomous permission mode as Claude threads started from the
|
|
267
272
|
desktop app.
|
|
@@ -30,6 +30,10 @@ authority, and an unassociated box receives no targets.
|
|
|
30
30
|
|
|
31
31
|
## Current Box Role
|
|
32
32
|
|
|
33
|
+
Every managed agent, terminal, and child process receives `BOXES_DEVBOX=1` on
|
|
34
|
+
both Template boxes and ordinary devboxes. Use this presence flag when a tool
|
|
35
|
+
or skill only needs to know that it is running in a boxes.dev environment.
|
|
36
|
+
|
|
33
37
|
An on-box agent can read whether it is running on the project's Template box or
|
|
34
38
|
an ordinary devbox without contacting or waking another machine:
|
|
35
39
|
|
|
@@ -86,7 +86,8 @@ it cannot retry safely instead of risking a duplicate prompt.
|
|
|
86
86
|
Space shows a compact read-only preview of recent saved Codex or Claude
|
|
87
87
|
messages. Preview does not wake the machine, connect to the agent, or move
|
|
88
88
|
Claude input ownership. Unread clears only after the exact ready attention
|
|
89
|
-
event renders.
|
|
89
|
+
event renders. Claude Code CLI preview is deferred, but Enter can still
|
|
90
|
+
reattach its persistent terminal.
|
|
90
91
|
|
|
91
92
|
The switchboard can pin or unpin eligible Template-box threads and devbox
|
|
92
93
|
anchors with `p`, rename with `r`, and archive or restore with `x`. Restoring a
|
|
@@ -270,7 +271,8 @@ For eligible new Codex and Claude Code devbox drafts, typing can begin preparing
|
|
|
270
271
|
the devbox and agent in the background. If the first prompt is sent before that
|
|
271
272
|
preparation finishes, the startup area shows `Preparing devbox` while the same
|
|
272
273
|
work completes. If the devbox and agent are already prepared, the prompt
|
|
273
|
-
proceeds directly without that wait.
|
|
274
|
+
proceeds directly without that wait. This does not apply to Claude Code CLI
|
|
275
|
+
threads.
|
|
274
276
|
|
|
275
277
|
On mobile, you can return to the thread list immediately after tapping Send.
|
|
276
278
|
boxes.dev keeps the first prompt and its attachments while devbox and agent
|
|
@@ -416,31 +418,31 @@ catalog install and lets the turn proceed; Not now declines it. Plugin requests
|
|
|
416
418
|
use the scope-aware actions described under **Plugins**. Pending requests
|
|
417
419
|
remain visible after returning to or reloading the thread until resolved.
|
|
418
420
|
|
|
419
|
-
## Claude Controls
|
|
421
|
+
## Claude Code Controls
|
|
420
422
|
|
|
421
|
-
Claude threads expose model and reasoning controls when available. Claude
|
|
422
|
-
supports slash commands when the thread surface has command lookup
|
|
423
|
+
Claude Code threads expose model and reasoning controls when available. Claude
|
|
424
|
+
Code also supports slash commands when the thread surface has command lookup
|
|
423
425
|
enabled. On desktop, `/model` opens the model picker, and `/model <model>`
|
|
424
426
|
switches directly to a known model. Older supported model generations appear
|
|
425
427
|
under **More models** in the picker.
|
|
426
428
|
|
|
427
|
-
An idle Claude chat can continue in a separate chat on the same Template
|
|
429
|
+
An idle Claude Code chat can continue in a separate chat on the same Template
|
|
428
430
|
box or devbox. Use exact `/fork` to continue from the current tip, or use the
|
|
429
431
|
Split icon beneath a completed desktop response to keep history only through
|
|
430
432
|
that response. Its tooltip reads **Continue in new chat**. Mobile exposes only
|
|
431
433
|
exact `/fork`. The new chat shares the same files and working directory; this
|
|
432
434
|
does not create or rewind a devbox, worktree, or snapshot. The original chat is
|
|
433
435
|
unchanged, and both chats can continue independently. These controls appear
|
|
434
|
-
only for managed Claude chats whose connected runtime supports chat
|
|
435
|
-
forking.
|
|
436
|
+
only for managed Claude Code chats whose connected runtime supports chat
|
|
437
|
+
forking; Claude Code CLI threads do not expose them.
|
|
436
438
|
|
|
437
|
-
Model and reasoning selections belong to the Claude thread. A new
|
|
439
|
+
Model and reasoning selections belong to the Claude Code thread. A new
|
|
438
440
|
selection remains associated with that thread while it is applied, and the
|
|
439
441
|
confirmed settings follow the thread when it is reopened or resumed on desktop
|
|
440
442
|
or mobile. Changing one thread does not change another existing thread; the
|
|
441
443
|
last-used selection can still become the starting default for a new thread.
|
|
442
444
|
|
|
443
|
-
On a connected managed Claude thread, the desktop and mobile composers
|
|
445
|
+
On a connected managed Claude Code thread, the desktop and mobile composers
|
|
444
446
|
also offer these modes when the runtime supports switching them:
|
|
445
447
|
|
|
446
448
|
- **Full-access** is the standard boxes.dev mode and the default for every new
|
|
@@ -460,7 +462,7 @@ choice, so leaving Plan restores the prior mode. While a mode change is being
|
|
|
460
462
|
confirmed, the selector and Send action stay disabled so a prompt cannot run
|
|
461
463
|
under the previous mode.
|
|
462
464
|
|
|
463
|
-
Claude can switch a Fable thread to Opus when Fable's safeguards decline
|
|
465
|
+
Claude Code can switch a Fable thread to Opus when Fable's safeguards decline
|
|
464
466
|
part of the conversation and Claude retries it with a fallback model. The
|
|
465
467
|
transcript shows a **Switched to Opus 4.8** notice with a link to Anthropic's
|
|
466
468
|
explanation, and the model picker then shows Opus 4.8 as the thread's current
|
|
@@ -656,7 +658,7 @@ conversation, status, commands, tool output, diffs, attachments, and images, so
|
|
|
656
658
|
review the conversation for source, credentials, or other sensitive content
|
|
657
659
|
before sharing it. GUI and Terminal views share the same ordinary conversation,
|
|
658
660
|
so the selected view does not change sharing eligibility. Drafts, setup threads,
|
|
659
|
-
and
|
|
661
|
+
and legacy Claude CLI threads cannot be shared.
|
|
660
662
|
|
|
661
663
|
Under **All threads**, sharing a thread that is not private takes one click:
|
|
662
664
|
boxes.dev creates the link and copies it without asking for confirmation,
|
|
@@ -91,7 +91,7 @@ then retry setup.
|
|
|
91
91
|
|
|
92
92
|
## Agent Auth Problems
|
|
93
93
|
|
|
94
|
-
If a Codex or Claude thread cannot start or continue because auth is
|
|
94
|
+
If a Codex or Claude Code thread cannot start or continue because auth is
|
|
95
95
|
missing or expired, open **Configure agents** from the desktop app and reconnect
|
|
96
96
|
the affected agent.
|
|
97
97
|
|
|
@@ -111,7 +111,7 @@ is shared through boxes.dev, so the same auth can be applied to all of your
|
|
|
111
111
|
Template boxes and devboxes. To repair Codex auth from a terminal, run
|
|
112
112
|
`dvb setup --agents` on your laptop.
|
|
113
113
|
|
|
114
|
-
Codex can be connected through ChatGPT login or an API key. Claude can be
|
|
114
|
+
Codex can be connected through ChatGPT login or an API key. Claude Code can be
|
|
115
115
|
connected through Claude login or an API key. After reconnecting, retry the
|
|
116
116
|
thread or start a new one.
|
|
117
117
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@boxes-dev/dvb-runtime",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.958",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"imports": {
|
|
@@ -77,5 +77,5 @@
|
|
|
77
77
|
"e2b": "^2.18.0",
|
|
78
78
|
"ink-testing-library": "^4.0.0"
|
|
79
79
|
},
|
|
80
|
-
"devboxReleasedAt": "2026-08-26T22:
|
|
80
|
+
"devboxReleasedAt": "2026-08-26T22:43:53Z"
|
|
81
81
|
}
|