@snowyroad/braid 0.72.0 → 0.72.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/dist/cli.js +34 -22
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -7259,16 +7259,24 @@ async function runHandoff(opts) {
|
|
|
7259
7259
|
const label = opts.channelLabel ?? `#${tag}`;
|
|
7260
7260
|
const sessionId = session.liveSessionId();
|
|
7261
7261
|
if (!sessionId) {
|
|
7262
|
-
out.write(
|
|
7262
|
+
out.write(
|
|
7263
|
+
`
|
|
7263
7264
|
[handoff] no live session yet for ${label} - nothing to call up
|
|
7264
|
-
`
|
|
7265
|
+
`
|
|
7266
|
+
);
|
|
7265
7267
|
return;
|
|
7266
7268
|
}
|
|
7267
|
-
const spec = (opts.specFor ?? interactiveResumeSpecFor)(
|
|
7269
|
+
const spec = (opts.specFor ?? interactiveResumeSpecFor)(
|
|
7270
|
+
provider,
|
|
7271
|
+
sessionId,
|
|
7272
|
+
cwd
|
|
7273
|
+
);
|
|
7268
7274
|
if (!spec) {
|
|
7269
|
-
out.write(
|
|
7275
|
+
out.write(
|
|
7276
|
+
`
|
|
7270
7277
|
[handoff] not available for this provider yet (verified for Claude Code, Codex, Grok, and opencode so far)
|
|
7271
|
-
`
|
|
7278
|
+
`
|
|
7279
|
+
);
|
|
7272
7280
|
return;
|
|
7273
7281
|
}
|
|
7274
7282
|
const spawnFn = opts.spawnFn ?? nodeSpawn;
|
|
@@ -7277,34 +7285,38 @@ async function runHandoff(opts) {
|
|
|
7277
7285
|
{ scope: opts.scope },
|
|
7278
7286
|
provider
|
|
7279
7287
|
);
|
|
7280
|
-
out.write(
|
|
7281
|
-
"
|
|
7282
|
-
|
|
7283
|
-
|
|
7284
|
-
"WARNING: changes you make inside PERSIST after you leave -",
|
|
7285
|
-
"switching model or mode (or compacting/clearing) carries over into",
|
|
7286
|
-
"how this agent serves the channel afterwards.",
|
|
7287
|
-
// BL-173: the natural moment to grab the session is exactly while the agent is
|
|
7288
|
-
// visibly working — tell the owner what taking over does to the in-flight turn.
|
|
7289
|
-
...session.hasPendingWork?.() === true ? [
|
|
7288
|
+
out.write(
|
|
7289
|
+
banner("handoff", `TAKING CONTROL of ${label}`, [
|
|
7290
|
+
"pausing the bridge and opening the agent's REAL interactive session",
|
|
7291
|
+
"on this terminal. Quit it (Ctrl-C or /exit) to hand control back.",
|
|
7290
7292
|
"",
|
|
7291
|
-
"
|
|
7292
|
-
"
|
|
7293
|
-
|
|
7294
|
-
|
|
7293
|
+
"WARNING: changes you make inside PERSIST after you leave -",
|
|
7294
|
+
"switching model or mode (or compacting/clearing) carries over into",
|
|
7295
|
+
"how this agent serves the channel afterwards.",
|
|
7296
|
+
// BL-173: the natural moment to grab the session is exactly while the agent is
|
|
7297
|
+
// visibly working — tell the owner what taking over does to the in-flight turn.
|
|
7298
|
+
...session.hasPendingWork?.() === true ? [
|
|
7299
|
+
"",
|
|
7300
|
+
"NOTE: a reply is being worked on right now; taking control interrupts",
|
|
7301
|
+
"it. The interrupted message will re-run when you hand back."
|
|
7302
|
+
] : []
|
|
7303
|
+
])
|
|
7304
|
+
);
|
|
7295
7305
|
await session.handoffPause();
|
|
7296
7306
|
try {
|
|
7297
7307
|
await new Promise((resolve2) => {
|
|
7298
7308
|
const child = spawnFn(scoped.command, scoped.args, {
|
|
7299
7309
|
stdio: "inherit",
|
|
7300
7310
|
cwd: scoped.cwd,
|
|
7301
|
-
env:
|
|
7311
|
+
env: buildAcpEnv(process.env, scoped.env ?? void 0)
|
|
7302
7312
|
});
|
|
7303
7313
|
child.on("exit", () => resolve2());
|
|
7304
7314
|
child.on("error", (e) => {
|
|
7305
|
-
out.write(
|
|
7315
|
+
out.write(
|
|
7316
|
+
`
|
|
7306
7317
|
[handoff] failed to open the session: ${sanitizeForTty(String(e?.message ?? e))}
|
|
7307
|
-
`
|
|
7318
|
+
`
|
|
7319
|
+
);
|
|
7308
7320
|
resolve2();
|
|
7309
7321
|
});
|
|
7310
7322
|
});
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@snowyroad/braid",
|
|
3
|
-
"version": "0.72.
|
|
3
|
+
"version": "0.72.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@snowyroad/braid",
|
|
9
|
-
"version": "0.72.
|
|
9
|
+
"version": "0.72.1",
|
|
10
10
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@agentclientprotocol/sdk": "0.25.1",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@snowyroad/braid",
|
|
3
|
-
"version": "0.72.
|
|
3
|
+
"version": "0.72.1",
|
|
4
4
|
"description": "Braid: connect your own coding agent (Claude Code, Codex, Gemini, Grok) to a Braid channel and collaborate with other agents and humans.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "SnowyRoad",
|