borgmcp 0.6.1 → 0.6.3
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/claude.d.ts +4 -2
- package/dist/claude.d.ts.map +1 -1
- package/dist/claude.js +21 -2
- package/dist/claude.js.map +1 -1
- package/dist/index.js +18 -20
- package/dist/index.js.map +1 -1
- package/dist/regen-format.d.ts.map +1 -1
- package/dist/regen-format.js +4 -0
- package/dist/regen-format.js.map +1 -1
- package/dist/remote-client.d.ts +12 -2
- package/dist/remote-client.d.ts.map +1 -1
- package/dist/remote-client.js +12 -2
- package/dist/remote-client.js.map +1 -1
- package/dist/roster-render.d.ts +43 -0
- package/dist/roster-render.d.ts.map +1 -0
- package/dist/roster-render.js +58 -0
- package/dist/roster-render.js.map +1 -0
- package/dist/spawn.d.ts +116 -0
- package/dist/spawn.d.ts.map +1 -0
- package/dist/spawn.js +273 -0
- package/dist/spawn.js.map +1 -0
- package/dist/stream-status.js +1 -1
- package/dist/stream-status.js.map +1 -1
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +30 -1
- package/dist/templates.js.map +1 -1
- package/dist/terminal-title.d.ts +60 -0
- package/dist/terminal-title.d.ts.map +1 -0
- package/dist/terminal-title.js +68 -0
- package/dist/terminal-title.js.map +1 -0
- package/package.json +1 -1
package/dist/claude.d.ts
CHANGED
|
@@ -8,8 +8,10 @@
|
|
|
8
8
|
* "look at the log and act" directive never executes.
|
|
9
9
|
*
|
|
10
10
|
* Commands:
|
|
11
|
-
* borg
|
|
12
|
-
* borg setup
|
|
11
|
+
* borg → Launch Claude with kickoff prompt
|
|
12
|
+
* borg setup → Re-route to the setup wizard
|
|
13
|
+
* borg spawn <name> → Create a sibling git worktree + launch a
|
|
14
|
+
* fresh drone inside it (see spawn.ts)
|
|
13
15
|
*/
|
|
14
16
|
export {};
|
|
15
17
|
//# sourceMappingURL=claude.d.ts.map
|
package/dist/claude.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG"}
|
package/dist/claude.js
CHANGED
|
@@ -8,13 +8,18 @@
|
|
|
8
8
|
* "look at the log and act" directive never executes.
|
|
9
9
|
*
|
|
10
10
|
* Commands:
|
|
11
|
-
* borg
|
|
12
|
-
* borg setup
|
|
11
|
+
* borg → Launch Claude with kickoff prompt
|
|
12
|
+
* borg setup → Re-route to the setup wizard
|
|
13
|
+
* borg spawn <name> → Create a sibling git worktree + launch a
|
|
14
|
+
* fresh drone inside it (see spawn.ts)
|
|
13
15
|
*/
|
|
14
16
|
import { spawn } from 'child_process';
|
|
17
|
+
import { basename } from 'node:path';
|
|
15
18
|
import chalk from 'chalk';
|
|
16
19
|
import { getActiveCube, inboxPathForDrone } from './cubes.js';
|
|
17
20
|
import { handleVersionFlag } from './version.js';
|
|
21
|
+
import { parseSpawnArgs, runSpawn } from './spawn.js';
|
|
22
|
+
import { setTerminalTitle } from './terminal-title.js';
|
|
18
23
|
async function main() {
|
|
19
24
|
// Honor `--version` / `-v` before any other work.
|
|
20
25
|
handleVersionFlag();
|
|
@@ -23,6 +28,15 @@ async function main() {
|
|
|
23
28
|
await import('./setup.js');
|
|
24
29
|
return;
|
|
25
30
|
}
|
|
31
|
+
if (process.argv[2] === 'spawn') {
|
|
32
|
+
const parsed = parseSpawnArgs(process.argv.slice(3));
|
|
33
|
+
if (!parsed.ok) {
|
|
34
|
+
process.stderr.write(chalk.red(`◼ borg spawn: ${parsed.error}\n`));
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
const code = await runSpawn(parsed.args);
|
|
38
|
+
process.exit(code);
|
|
39
|
+
}
|
|
26
40
|
// Forward any user-supplied flags (e.g. --resume <id>, --cwd, etc.) to
|
|
27
41
|
// claude unchanged, except for --autonomous which we intercept and
|
|
28
42
|
// translate into BORG_MODE=autonomous on the spawned env.
|
|
@@ -47,6 +61,11 @@ async function main() {
|
|
|
47
61
|
// no signal. The user can assimilate and relaunch to engage real-time
|
|
48
62
|
// wake; the /loop heartbeat alone covers the meantime.
|
|
49
63
|
const active = await getActiveCube();
|
|
64
|
+
// Set the terminal title so sibling drone sessions are
|
|
65
|
+
// distinguishable in Cmd-Tab / tab bars / Mission Control. No-op
|
|
66
|
+
// when stdout isn't a TTY (piped invocation, CI). Claude Code does
|
|
67
|
+
// not set its own title, so this persists for the session.
|
|
68
|
+
setTerminalTitle(active ? { label: active.droneLabel, cubeName: active.name } : null, basename(process.cwd()));
|
|
50
69
|
const monitorClause = active
|
|
51
70
|
? `If you haven't yet, arm a persistent Monitor that watches the file ${inboxPathForDrone(active.cubeId, active.droneId)} ` +
|
|
52
71
|
`for new lines so you wake immediately when other drones post to the cube. `
|
package/dist/claude.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,7 @@ import { humanAgo, formatRegenMarkdown, getDronePlaybook, getDroneMode } from '.
|
|
|
21
21
|
import { startLogStream, getStreamStatus } from './log-stream.js';
|
|
22
22
|
import { getPackageVersion, handleVersionFlag } from './version.js';
|
|
23
23
|
import { renderStreamStatus, checkInboxMonitorHealthy } from './stream-status.js';
|
|
24
|
+
import { renderRoster } from './roster-render.js';
|
|
24
25
|
import open from 'open';
|
|
25
26
|
/**
|
|
26
27
|
* Apply a template's roles to a cube. Roles are merged by name:
|
|
@@ -206,10 +207,15 @@ async function main() {
|
|
|
206
207
|
},
|
|
207
208
|
{
|
|
208
209
|
name: 'borg:roster',
|
|
209
|
-
description: "List all currently connected drones in your cube, with each drone's label, role, and last-seen time.",
|
|
210
|
+
description: "List all currently connected drones in your cube, with each drone's label, role, and last-seen time. Optional `since` argument adds a sender-side liveness column — pass either an activity_log entry id (e.g., from a dispatch you posted) or an ISO-8601 timestamp; each drone is marked `awake` if they've made a tool call after that point, otherwise `stale-since-X`. Useful for confirming a dispatch reached its named recipients (catches the silent-wake-path-failure class where SSE delivered but the drone's /loop never woke).",
|
|
210
211
|
inputSchema: {
|
|
211
212
|
type: 'object',
|
|
212
|
-
properties: {
|
|
213
|
+
properties: {
|
|
214
|
+
since: {
|
|
215
|
+
type: 'string',
|
|
216
|
+
description: 'Optional liveness reference point. Either an activity_log entry id (UUID; server resolves to its created_at) OR an ISO-8601 timestamp. When provided, each drone in the output is tagged awake/stale relative to that point.',
|
|
217
|
+
},
|
|
218
|
+
},
|
|
213
219
|
required: [],
|
|
214
220
|
},
|
|
215
221
|
},
|
|
@@ -539,24 +545,16 @@ async function main() {
|
|
|
539
545
|
}
|
|
540
546
|
case 'borg:roster': {
|
|
541
547
|
const active = await requireActiveCube();
|
|
542
|
-
const
|
|
543
|
-
const
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
}
|
|
552
|
-
else {
|
|
553
|
-
for (const d of drones) {
|
|
554
|
-
const role = roleById.get(d.role_id);
|
|
555
|
-
const roleName = role?.name ?? 'unknown';
|
|
556
|
-
lines.push(`- **${d.label}** (${roleName}) — last seen ${humanAgo(d.last_seen)}`);
|
|
557
|
-
}
|
|
558
|
-
}
|
|
559
|
-
return { content: [{ type: 'text', text: lines.join('\n') }] };
|
|
548
|
+
const since = typeof args?.since === 'string' ? args.since : undefined;
|
|
549
|
+
const { drones, roles, since: resolvedSince } = await getRoster(active.sessionToken, active.apiUrl, since);
|
|
550
|
+
const text = renderRoster({
|
|
551
|
+
cubeName: active.name,
|
|
552
|
+
drones,
|
|
553
|
+
roles,
|
|
554
|
+
resolvedSince: resolvedSince ?? null,
|
|
555
|
+
humanAgo,
|
|
556
|
+
});
|
|
557
|
+
return { content: [{ type: 'text', text }] };
|
|
560
558
|
}
|
|
561
559
|
case 'borg:stream-status': {
|
|
562
560
|
// Probe the in-process SSE consumer state. Does NOT require
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regen-format.d.ts","sourceRoot":"","sources":["../src/regen-format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,YAAY,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAG9D;AAwBD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,SAAwB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"regen-format.d.ts","sourceRoot":"","sources":["../src/regen-format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,YAAY,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAG9D;AAwBD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,SAAwB,GAAG,MAAM,CA2CvE;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAiC,CAAC;AAE7D;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAYpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE;IACN,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,SAAS,EAAE,GAAG,EAAE,CAAC;CAClB,EACD,IAAI,GAAE,SAAwB,GAC7B,MAAM,CAoDR"}
|
package/dist/regen-format.js
CHANGED
|
@@ -83,6 +83,10 @@ If there's a user prompt waiting, respond to it informed by the cube context. Ap
|
|
|
83
83
|
|
|
84
84
|
**When you wake from a \`<task-notification>\`:** the event payload is a preview and may be truncated by the harness (appended with \`...(truncated)\`). The full entry is always in the DB. Before acting on a truncated entry, call \`borg:read-log since=<timestamp from the notification>\` or \`borg:regen\` to fetch the complete message — don't act on the truncated preview alone.
|
|
85
85
|
|
|
86
|
+
**When you first wake in a session:** post one \`ARRIVAL: <your-drone-label> (<your-role>) online on <hostname> at <project-path>\` entry to the cube log so the Coordinator and other drones know you've joined. Run the \`hostname\` shell command for the hostname value; use your current working directory for the project path. This is a one-time-per-session post — subsequent wakes don't repeat it. Skip if you posted ARRIVAL earlier in this same session (rare but possible after a \`/mcp\` reconnect).
|
|
87
|
+
|
|
88
|
+
**When a log entry routes work to you specifically:** post \`ACK: <entry-id-or-one-line-context>\` within ~60s of reading it. Applies to entries that explicitly mention your drone label and ask for action — typically \`ASSIGN:\`, \`DISPATCH:\`, \`ROUTING:\`, or a direct \`<your-drone-label>:\` mention requesting a response. The ACK signals to the sender that the dispatch was received and processed (not that the work is done — \`STARTING\` / \`DONE\` per your role's conventions still apply for that). You don't need to ACK every entry that mentions your label — only routing-class signals. Mere broadcast information that happens to mention you doesn't need an ACK.
|
|
89
|
+
|
|
86
90
|
${stuckGuidance(mode)}
|
|
87
91
|
|
|
88
92
|
**Posting to the log:**
|
package/dist/regen-format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regen-format.js","sourceRoot":"","sources":["../src/regen-format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,aAAsB;IACjD,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,YAAY;QAAE,OAAO,YAAY,CAAC;IAChE,OAAO,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;AACrD,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAe;IACzC,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,OAAO;;mYAEwX,CAAC;IAClY,CAAC;IACD,OAAO;;sZAE6Y,CAAC;AACvZ,CAAC;AAED,SAAS,aAAa,CAAC,IAAe;IACpC,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,OAAO;;+LAEoL,CAAC;IAC9L,CAAC;IACD,OAAO;;+MAEsM,CAAC;AAChN,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAkB,YAAY;IAC7D,OAAO;;;;;;;;;;;;;;;;;EAiBP,kBAAkB,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"regen-format.js","sourceRoot":"","sources":["../src/regen-format.ts"],"names":[],"mappings":"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"}
|
package/dist/remote-client.d.ts
CHANGED
|
@@ -73,10 +73,20 @@ export declare function getRoleInfo(sessionToken: string, apiUrl: string): Promi
|
|
|
73
73
|
}>;
|
|
74
74
|
/**
|
|
75
75
|
* List all currently-connected drones in this cube.
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
*
|
|
77
|
+
* Optional `since` is the T2.1 sender-side liveness probe — pass either
|
|
78
|
+
* an activity_log entry id (UUID; server resolves to its `created_at`)
|
|
79
|
+
* OR an ISO-8601 timestamp. When provided, the response includes:
|
|
80
|
+
* - per-drone `seen_since: boolean` — true iff that drone's
|
|
81
|
+
* `last_seen` is strictly after the resolved timestamp
|
|
82
|
+
* - top-level `since: ISO-string | null` — the resolved timestamp
|
|
83
|
+
* (echoed back so the renderer can label the column accurately
|
|
84
|
+
* even when the caller passed an entry-id)
|
|
85
|
+
*/
|
|
86
|
+
export declare function getRoster(sessionToken: string, apiUrl: string, since?: string): Promise<{
|
|
78
87
|
drones: any[];
|
|
79
88
|
roles: any[];
|
|
89
|
+
since?: string | null;
|
|
80
90
|
}>;
|
|
81
91
|
/**
|
|
82
92
|
* Read recent log entries for the cube.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-client.d.ts","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;AAEhE,eAAO,MAAM,OAAO,QAAuD,CAAC;AAwB5E;;;;;;GAMG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAwBrD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,cAAc,CAAC,CAoEzB;AA4CD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3E,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,iBAAiB,EAAE,MAAM,CAAC;QAC1B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,UAAU,EAAE,OAAO,CAAC;QACpB,cAAc,EAAE,OAAO,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAQD;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,GAAG,EAAE,CAAA;CAAE,CAAC,CAOtC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,CAAA;CAAE,CAAC,CAOxB;AAED
|
|
1
|
+
{"version":3,"file":"remote-client.d.ts","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
|
package/dist/remote-client.js
CHANGED
|
@@ -190,9 +190,19 @@ export async function getRoleInfo(sessionToken, apiUrl) {
|
|
|
190
190
|
}
|
|
191
191
|
/**
|
|
192
192
|
* List all currently-connected drones in this cube.
|
|
193
|
+
*
|
|
194
|
+
* Optional `since` is the T2.1 sender-side liveness probe — pass either
|
|
195
|
+
* an activity_log entry id (UUID; server resolves to its `created_at`)
|
|
196
|
+
* OR an ISO-8601 timestamp. When provided, the response includes:
|
|
197
|
+
* - per-drone `seen_since: boolean` — true iff that drone's
|
|
198
|
+
* `last_seen` is strictly after the resolved timestamp
|
|
199
|
+
* - top-level `since: ISO-string | null` — the resolved timestamp
|
|
200
|
+
* (echoed back so the renderer can label the column accurately
|
|
201
|
+
* even when the caller passed an entry-id)
|
|
193
202
|
*/
|
|
194
|
-
export async function getRoster(sessionToken, apiUrl) {
|
|
195
|
-
const
|
|
203
|
+
export async function getRoster(sessionToken, apiUrl, since) {
|
|
204
|
+
const qs = since ? `?since=${encodeURIComponent(since)}` : '';
|
|
205
|
+
const response = await authedFetch(`/api/drone/roster${qs}`, {
|
|
196
206
|
method: 'GET',
|
|
197
207
|
droneSession: sessionToken,
|
|
198
208
|
apiUrl,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-client.js","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"remote-client.js","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure renderer for the `borg:roster` MCP tool output.
|
|
3
|
+
*
|
|
4
|
+
* Split out from `index.ts` so the T2.1 sender-side liveness probe
|
|
5
|
+
* (the `awake`/`stale-since-X` column rendering when a `since` arg is
|
|
6
|
+
* passed) can be unit-tested without spinning up the MCP server. Same
|
|
7
|
+
* pure-function + injected-`humanAgo` pattern as `stream-status.ts`.
|
|
8
|
+
*
|
|
9
|
+
* Two modes:
|
|
10
|
+
* - No `since` provided: classic roster — one line per drone with
|
|
11
|
+
* label, role, and `last seen` relative time.
|
|
12
|
+
* - `since` provided: each line additionally carries an `awake`
|
|
13
|
+
* marker if the drone's `last_seen` is after the resolved
|
|
14
|
+
* timestamp, otherwise a `stale-since-<relative>` marker derived
|
|
15
|
+
* from the resolved timestamp the server echoed back.
|
|
16
|
+
*/
|
|
17
|
+
export interface RosterDrone {
|
|
18
|
+
id?: string;
|
|
19
|
+
label: string;
|
|
20
|
+
role_id: string;
|
|
21
|
+
last_seen: string | Date;
|
|
22
|
+
/** Only present when the request carried `since`. */
|
|
23
|
+
seen_since?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface RosterRole {
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
}
|
|
29
|
+
export interface RenderRosterInputs {
|
|
30
|
+
cubeName: string;
|
|
31
|
+
drones: RosterDrone[];
|
|
32
|
+
roles: RosterRole[];
|
|
33
|
+
/**
|
|
34
|
+
* Server-echoed resolved timestamp (ISO-8601). Present iff caller
|
|
35
|
+
* passed `since` to `borg:roster`. Drives both the column header copy
|
|
36
|
+
* AND the relative-time label on `stale-since-X` cells.
|
|
37
|
+
*/
|
|
38
|
+
resolvedSince: string | null;
|
|
39
|
+
/** Relative-time formatter, injected so the renderer is pure. */
|
|
40
|
+
humanAgo: (d: Date | string) => string;
|
|
41
|
+
}
|
|
42
|
+
export declare function renderRoster(inputs: RenderRosterInputs): string;
|
|
43
|
+
//# sourceMappingURL=roster-render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roster-render.d.ts","sourceRoot":"","sources":["../src/roster-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB;;;;OAIG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iEAAiE;IACjE,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAmD/D"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure renderer for the `borg:roster` MCP tool output.
|
|
3
|
+
*
|
|
4
|
+
* Split out from `index.ts` so the T2.1 sender-side liveness probe
|
|
5
|
+
* (the `awake`/`stale-since-X` column rendering when a `since` arg is
|
|
6
|
+
* passed) can be unit-tested without spinning up the MCP server. Same
|
|
7
|
+
* pure-function + injected-`humanAgo` pattern as `stream-status.ts`.
|
|
8
|
+
*
|
|
9
|
+
* Two modes:
|
|
10
|
+
* - No `since` provided: classic roster — one line per drone with
|
|
11
|
+
* label, role, and `last seen` relative time.
|
|
12
|
+
* - `since` provided: each line additionally carries an `awake`
|
|
13
|
+
* marker if the drone's `last_seen` is after the resolved
|
|
14
|
+
* timestamp, otherwise a `stale-since-<relative>` marker derived
|
|
15
|
+
* from the resolved timestamp the server echoed back.
|
|
16
|
+
*/
|
|
17
|
+
export function renderRoster(inputs) {
|
|
18
|
+
const { cubeName, drones, roles, resolvedSince, humanAgo } = inputs;
|
|
19
|
+
const roleById = new Map();
|
|
20
|
+
for (const r of roles)
|
|
21
|
+
roleById.set(r.id, r);
|
|
22
|
+
const lines = [];
|
|
23
|
+
lines.push(`# Drones in cube: ${cubeName}`);
|
|
24
|
+
lines.push('');
|
|
25
|
+
if (resolvedSince) {
|
|
26
|
+
// Surface the liveness-probe context so the reader knows what the
|
|
27
|
+
// `awake`/`stale-since-X` column is measured against.
|
|
28
|
+
lines.push(`_Liveness probe since ${resolvedSince} (${humanAgo(resolvedSince)}). \`awake\` = drone made a tool call after that point._`);
|
|
29
|
+
lines.push('');
|
|
30
|
+
}
|
|
31
|
+
if (!drones.length) {
|
|
32
|
+
lines.push('_(no drones connected)_');
|
|
33
|
+
return lines.join('\n');
|
|
34
|
+
}
|
|
35
|
+
for (const d of drones) {
|
|
36
|
+
const role = roleById.get(d.role_id);
|
|
37
|
+
const roleName = role?.name ?? 'unknown';
|
|
38
|
+
const lastSeen = humanAgo(d.last_seen);
|
|
39
|
+
if (resolvedSince) {
|
|
40
|
+
// T2.1 awake/stale column. `seen_since === true` → drone called a
|
|
41
|
+
// tool after the resolved timestamp; treat as awake. False or
|
|
42
|
+
// missing → stale-since-the-resolved-point. Missing should not
|
|
43
|
+
// happen when the server echoed a since, but defending against a
|
|
44
|
+
// shape mismatch is cheap and matches the renderer's no-server-
|
|
45
|
+
// assumptions discipline established in stream-status.ts.
|
|
46
|
+
const isAwake = d.seen_since === true;
|
|
47
|
+
const marker = isAwake
|
|
48
|
+
? '`awake`'
|
|
49
|
+
: `\`stale-since-${humanAgo(resolvedSince)}\``;
|
|
50
|
+
lines.push(`- **${d.label}** (${roleName}) — last seen ${lastSeen} · ${marker}`);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
lines.push(`- **${d.label}** (${roleName}) — last seen ${lastSeen}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return lines.join('\n');
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=roster-render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roster-render.js","sourceRoot":"","sources":["../src/roster-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA8BH,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,aAAa,EAAE,CAAC;QAClB,kEAAkE;QAClE,sDAAsD;QACtD,KAAK,CAAC,IAAI,CACR,yBAAyB,aAAa,KAAK,QAAQ,CACjD,aAAa,CACd,0DAA0D,CAC5D,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC;QACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,aAAa,EAAE,CAAC;YAClB,kEAAkE;YAClE,8DAA8D;YAC9D,+DAA+D;YAC/D,iEAAiE;YACjE,gEAAgE;YAChE,0DAA0D;YAC1D,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO;gBACpB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,iBAAiB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;YACjD,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,CAAC,KAAK,OAAO,QAAQ,iBAAiB,QAAQ,MAAM,MAAM,EAAE,CACrE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,CAAC,KAAK,OAAO,QAAQ,iBAAiB,QAAQ,EAAE,CACzD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/dist/spawn.d.ts
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `borg spawn` — create a new git worktree for a sibling drone and
|
|
3
|
+
* (by default) launch a fresh Claude Code session inside it.
|
|
4
|
+
*
|
|
5
|
+
* Why this exists: the cube's multi-drone pattern wants each drone to
|
|
6
|
+
* have its own worktree so parallel branches don't step on each other,
|
|
7
|
+
* but the manual ceremony (`git worktree add ../foo-name`, then
|
|
8
|
+
* `cd ../foo-name && borg`) is enough friction that drones drift back
|
|
9
|
+
* to working in one worktree and serializing. The subcommand collapses
|
|
10
|
+
* that to `borg spawn <name>`.
|
|
11
|
+
*
|
|
12
|
+
* Layout:
|
|
13
|
+
* Given the current worktree's primary at `/path/to/borg-mcp`, a
|
|
14
|
+
* `borg spawn builder` call creates `/path/to/borg-mcp-builder` as
|
|
15
|
+
* a sibling directory and runs `git worktree add` to register it.
|
|
16
|
+
* Default checkout is detached HEAD at the current HEAD so the new
|
|
17
|
+
* drone starts on a clean reference point without competing with
|
|
18
|
+
* the source worktree's branch state.
|
|
19
|
+
*
|
|
20
|
+
* Flags:
|
|
21
|
+
* --no-launch Create the worktree but don't run `borg` inside.
|
|
22
|
+
* Useful for setting up a tree to come back to later.
|
|
23
|
+
* --branch <ref> Check out a specific branch instead of detached
|
|
24
|
+
* HEAD. If <ref> is already checked out in another
|
|
25
|
+
* worktree, git refuses and we surface that error.
|
|
26
|
+
*
|
|
27
|
+
* Edge cases:
|
|
28
|
+
* - Not inside a git repo → friendly error, exit 1
|
|
29
|
+
* - Target path already exists → friendly error, exit 1
|
|
30
|
+
* - Empty name / name with slashes → format-hint error, exit 1
|
|
31
|
+
* - git worktree add fails → surface git's stderr verbatim, exit 1
|
|
32
|
+
*/
|
|
33
|
+
export interface SpawnArgs {
|
|
34
|
+
name: string;
|
|
35
|
+
noLaunch: boolean;
|
|
36
|
+
branch: string | null;
|
|
37
|
+
}
|
|
38
|
+
export type ParseResult = {
|
|
39
|
+
ok: true;
|
|
40
|
+
args: SpawnArgs;
|
|
41
|
+
} | {
|
|
42
|
+
ok: false;
|
|
43
|
+
error: string;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Parse `argv.slice(2)` (i.e. arguments to `borg`, with `spawn` already
|
|
47
|
+
* stripped) into a structured SpawnArgs or a friendly error.
|
|
48
|
+
*
|
|
49
|
+
* Supported shapes:
|
|
50
|
+
* borg spawn <name>
|
|
51
|
+
* borg spawn <name> --no-launch
|
|
52
|
+
* borg spawn <name> --branch <ref>
|
|
53
|
+
* borg spawn <name> --branch <ref> --no-launch
|
|
54
|
+
* (flag order doesn't matter; positional `<name>` may appear before
|
|
55
|
+
* or after the flags)
|
|
56
|
+
*
|
|
57
|
+
* Unknown flags and missing/duplicate positional name are caller-
|
|
58
|
+
* friendly errors with format hints.
|
|
59
|
+
*/
|
|
60
|
+
export declare function parseSpawnArgs(rawArgs: string[]): ParseResult;
|
|
61
|
+
export declare function validateName(name: string): {
|
|
62
|
+
ok: true;
|
|
63
|
+
} | {
|
|
64
|
+
ok: false;
|
|
65
|
+
error: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Given the absolute path to the primary worktree and a validated
|
|
69
|
+
* spawn name, return the absolute path of the new sibling worktree.
|
|
70
|
+
*
|
|
71
|
+
* Naming convention: `<sibling-parent>/<primary-basename>-<name>`.
|
|
72
|
+
* Example: primary `/home/x/borg-mcp` + name `builder` →
|
|
73
|
+
* `/home/x/borg-mcp-builder`. Keeps related worktrees alphabetically
|
|
74
|
+
* adjacent in `ls`, which matters when a drone-operator has a dozen
|
|
75
|
+
* sibling trees.
|
|
76
|
+
*
|
|
77
|
+
* Pure. Tested directly.
|
|
78
|
+
*/
|
|
79
|
+
export declare function computeWorktreePath(primaryWorktreeAbs: string, name: string): string;
|
|
80
|
+
export interface SpawnDeps {
|
|
81
|
+
/** Synchronous spawn — used for `git ...` invocations. */
|
|
82
|
+
runSync?: (cmd: string, args: string[], cwd?: string) => SpawnSyncResult;
|
|
83
|
+
/** Path existence — used to bail on collisions. */
|
|
84
|
+
pathExists?: (p: string) => boolean;
|
|
85
|
+
/** Async spawn — used to launch the in-worktree `borg`. */
|
|
86
|
+
runDetached?: (cmd: string, args: string[], cwd: string) => Promise<number>;
|
|
87
|
+
/** Inject for tests; defaults to `process.cwd()`. */
|
|
88
|
+
cwd?: () => string;
|
|
89
|
+
/** stderr sink — overridable for tests. */
|
|
90
|
+
stderr?: (line: string) => void;
|
|
91
|
+
}
|
|
92
|
+
export interface SpawnSyncResult {
|
|
93
|
+
status: number | null;
|
|
94
|
+
stdout: string;
|
|
95
|
+
stderr: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Run the `borg spawn` flow against the given args. Returns the
|
|
99
|
+
* desired process exit code. Pure side-effects flow through `deps`
|
|
100
|
+
* so tests can inject mocks for every external interaction.
|
|
101
|
+
*
|
|
102
|
+
* Flow:
|
|
103
|
+
* 1. Validate name
|
|
104
|
+
* 2. Resolve primary worktree path via `git rev-parse --show-toplevel`
|
|
105
|
+
* (run from the operator's cwd — handles nested worktrees by
|
|
106
|
+
* asking git to find the top, which always points at the current
|
|
107
|
+
* worktree's root; for our naming convention we want the
|
|
108
|
+
* `--git-common-dir` parent which IS the primary worktree's
|
|
109
|
+
* filesystem dir, NOT the current worktree's. Resolve below.)
|
|
110
|
+
* 3. Compute target path; abort if exists
|
|
111
|
+
* 4. Run `git worktree add <target> [<ref>|--detach HEAD]`
|
|
112
|
+
* 5. Print stderr nudge
|
|
113
|
+
* 6. If !noLaunch, exec `borg` inside the new worktree
|
|
114
|
+
*/
|
|
115
|
+
export declare function runSpawn(args: SpawnArgs, deps?: SpawnDeps): Promise<number>;
|
|
116
|
+
//# sourceMappingURL=spawn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAWH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC7B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,CA0C7D;AAkBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAatF;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAIpF;AAMD,MAAM,WAAW,SAAS;IACxB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IACzE,mDAAmD;IACnD,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC,2DAA2D;IAC3D,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5E,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAsBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,SAAS,EACf,IAAI,GAAE,SAAc,GACnB,OAAO,CAAC,MAAM,CAAC,CAwGjB"}
|
package/dist/spawn.js
ADDED
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `borg spawn` — create a new git worktree for a sibling drone and
|
|
3
|
+
* (by default) launch a fresh Claude Code session inside it.
|
|
4
|
+
*
|
|
5
|
+
* Why this exists: the cube's multi-drone pattern wants each drone to
|
|
6
|
+
* have its own worktree so parallel branches don't step on each other,
|
|
7
|
+
* but the manual ceremony (`git worktree add ../foo-name`, then
|
|
8
|
+
* `cd ../foo-name && borg`) is enough friction that drones drift back
|
|
9
|
+
* to working in one worktree and serializing. The subcommand collapses
|
|
10
|
+
* that to `borg spawn <name>`.
|
|
11
|
+
*
|
|
12
|
+
* Layout:
|
|
13
|
+
* Given the current worktree's primary at `/path/to/borg-mcp`, a
|
|
14
|
+
* `borg spawn builder` call creates `/path/to/borg-mcp-builder` as
|
|
15
|
+
* a sibling directory and runs `git worktree add` to register it.
|
|
16
|
+
* Default checkout is detached HEAD at the current HEAD so the new
|
|
17
|
+
* drone starts on a clean reference point without competing with
|
|
18
|
+
* the source worktree's branch state.
|
|
19
|
+
*
|
|
20
|
+
* Flags:
|
|
21
|
+
* --no-launch Create the worktree but don't run `borg` inside.
|
|
22
|
+
* Useful for setting up a tree to come back to later.
|
|
23
|
+
* --branch <ref> Check out a specific branch instead of detached
|
|
24
|
+
* HEAD. If <ref> is already checked out in another
|
|
25
|
+
* worktree, git refuses and we surface that error.
|
|
26
|
+
*
|
|
27
|
+
* Edge cases:
|
|
28
|
+
* - Not inside a git repo → friendly error, exit 1
|
|
29
|
+
* - Target path already exists → friendly error, exit 1
|
|
30
|
+
* - Empty name / name with slashes → format-hint error, exit 1
|
|
31
|
+
* - git worktree add fails → surface git's stderr verbatim, exit 1
|
|
32
|
+
*/
|
|
33
|
+
import { spawnSync, spawn } from 'node:child_process';
|
|
34
|
+
import { existsSync } from 'node:fs';
|
|
35
|
+
import { basename, dirname, join, resolve } from 'node:path';
|
|
36
|
+
import chalk from 'chalk';
|
|
37
|
+
/**
|
|
38
|
+
* Parse `argv.slice(2)` (i.e. arguments to `borg`, with `spawn` already
|
|
39
|
+
* stripped) into a structured SpawnArgs or a friendly error.
|
|
40
|
+
*
|
|
41
|
+
* Supported shapes:
|
|
42
|
+
* borg spawn <name>
|
|
43
|
+
* borg spawn <name> --no-launch
|
|
44
|
+
* borg spawn <name> --branch <ref>
|
|
45
|
+
* borg spawn <name> --branch <ref> --no-launch
|
|
46
|
+
* (flag order doesn't matter; positional `<name>` may appear before
|
|
47
|
+
* or after the flags)
|
|
48
|
+
*
|
|
49
|
+
* Unknown flags and missing/duplicate positional name are caller-
|
|
50
|
+
* friendly errors with format hints.
|
|
51
|
+
*/
|
|
52
|
+
export function parseSpawnArgs(rawArgs) {
|
|
53
|
+
let name = null;
|
|
54
|
+
let noLaunch = false;
|
|
55
|
+
let branch = null;
|
|
56
|
+
for (let i = 0; i < rawArgs.length; i += 1) {
|
|
57
|
+
const arg = rawArgs[i];
|
|
58
|
+
if (arg === '--no-launch') {
|
|
59
|
+
noLaunch = true;
|
|
60
|
+
}
|
|
61
|
+
else if (arg === '--branch') {
|
|
62
|
+
const next = rawArgs[i + 1];
|
|
63
|
+
if (typeof next !== 'string' || next.length === 0) {
|
|
64
|
+
return {
|
|
65
|
+
ok: false,
|
|
66
|
+
error: `--branch requires a ref argument (e.g. \`--branch main\`)`,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
branch = next;
|
|
70
|
+
i += 1;
|
|
71
|
+
}
|
|
72
|
+
else if (arg.startsWith('--')) {
|
|
73
|
+
return {
|
|
74
|
+
ok: false,
|
|
75
|
+
error: `unknown flag: ${arg}. Supported: --no-launch, --branch <ref>`,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
if (name !== null) {
|
|
80
|
+
return {
|
|
81
|
+
ok: false,
|
|
82
|
+
error: `unexpected extra argument: ${arg} (already have name "${name}")`,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
name = arg;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (name === null) {
|
|
89
|
+
return {
|
|
90
|
+
ok: false,
|
|
91
|
+
error: `missing required argument <name>. Usage: borg spawn <name> [--branch <ref>] [--no-launch]`,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
return { ok: true, args: { name, noLaunch, branch } };
|
|
95
|
+
}
|
|
96
|
+
// ------------------------------------------------------------------
|
|
97
|
+
// Name validation
|
|
98
|
+
// ------------------------------------------------------------------
|
|
99
|
+
/**
|
|
100
|
+
* Worktree names get tacked onto the parent directory's path. They
|
|
101
|
+
* must therefore be filesystem-safe AND short enough that the
|
|
102
|
+
* resulting path doesn't make `ls` unreadable. Reject anything with
|
|
103
|
+
* slashes, parent-directory tokens, leading dashes (would parse as
|
|
104
|
+
* a flag), or shell-metacharacter punctuation.
|
|
105
|
+
*
|
|
106
|
+
* Allowed: lowercase ASCII letters, digits, hyphens, underscores.
|
|
107
|
+
* Length 1–48. Anchored. No leading hyphen.
|
|
108
|
+
*/
|
|
109
|
+
const NAME_RE = /^[a-z0-9_][a-z0-9_-]{0,47}$/;
|
|
110
|
+
export function validateName(name) {
|
|
111
|
+
if (name.length === 0) {
|
|
112
|
+
return { ok: false, error: `name must not be empty` };
|
|
113
|
+
}
|
|
114
|
+
if (!NAME_RE.test(name)) {
|
|
115
|
+
return {
|
|
116
|
+
ok: false,
|
|
117
|
+
error: `invalid name "${name}". Use lowercase letters, digits, hyphens, or ` +
|
|
118
|
+
`underscores; max 48 chars; must not start with a hyphen.`,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
return { ok: true };
|
|
122
|
+
}
|
|
123
|
+
// ------------------------------------------------------------------
|
|
124
|
+
// Path computation (pure)
|
|
125
|
+
// ------------------------------------------------------------------
|
|
126
|
+
/**
|
|
127
|
+
* Given the absolute path to the primary worktree and a validated
|
|
128
|
+
* spawn name, return the absolute path of the new sibling worktree.
|
|
129
|
+
*
|
|
130
|
+
* Naming convention: `<sibling-parent>/<primary-basename>-<name>`.
|
|
131
|
+
* Example: primary `/home/x/borg-mcp` + name `builder` →
|
|
132
|
+
* `/home/x/borg-mcp-builder`. Keeps related worktrees alphabetically
|
|
133
|
+
* adjacent in `ls`, which matters when a drone-operator has a dozen
|
|
134
|
+
* sibling trees.
|
|
135
|
+
*
|
|
136
|
+
* Pure. Tested directly.
|
|
137
|
+
*/
|
|
138
|
+
export function computeWorktreePath(primaryWorktreeAbs, name) {
|
|
139
|
+
const parent = dirname(primaryWorktreeAbs);
|
|
140
|
+
const base = basename(primaryWorktreeAbs);
|
|
141
|
+
return join(parent, `${base}-${name}`);
|
|
142
|
+
}
|
|
143
|
+
const defaultDeps = {
|
|
144
|
+
runSync: (cmd, args, cwd) => {
|
|
145
|
+
const r = spawnSync(cmd, args, { cwd, encoding: 'utf-8' });
|
|
146
|
+
return {
|
|
147
|
+
status: r.status,
|
|
148
|
+
stdout: r.stdout ?? '',
|
|
149
|
+
stderr: r.stderr ?? '',
|
|
150
|
+
};
|
|
151
|
+
},
|
|
152
|
+
pathExists: (p) => existsSync(p),
|
|
153
|
+
runDetached: (cmd, args, cwd) => new Promise((resolveExit, rejectExit) => {
|
|
154
|
+
const child = spawn(cmd, args, { cwd, stdio: 'inherit', shell: false });
|
|
155
|
+
child.on('error', rejectExit);
|
|
156
|
+
child.on('exit', (code) => resolveExit(code ?? 0));
|
|
157
|
+
}),
|
|
158
|
+
cwd: () => process.cwd(),
|
|
159
|
+
stderr: (line) => process.stderr.write(line),
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* Run the `borg spawn` flow against the given args. Returns the
|
|
163
|
+
* desired process exit code. Pure side-effects flow through `deps`
|
|
164
|
+
* so tests can inject mocks for every external interaction.
|
|
165
|
+
*
|
|
166
|
+
* Flow:
|
|
167
|
+
* 1. Validate name
|
|
168
|
+
* 2. Resolve primary worktree path via `git rev-parse --show-toplevel`
|
|
169
|
+
* (run from the operator's cwd — handles nested worktrees by
|
|
170
|
+
* asking git to find the top, which always points at the current
|
|
171
|
+
* worktree's root; for our naming convention we want the
|
|
172
|
+
* `--git-common-dir` parent which IS the primary worktree's
|
|
173
|
+
* filesystem dir, NOT the current worktree's. Resolve below.)
|
|
174
|
+
* 3. Compute target path; abort if exists
|
|
175
|
+
* 4. Run `git worktree add <target> [<ref>|--detach HEAD]`
|
|
176
|
+
* 5. Print stderr nudge
|
|
177
|
+
* 6. If !noLaunch, exec `borg` inside the new worktree
|
|
178
|
+
*/
|
|
179
|
+
export async function runSpawn(args, deps = {}) {
|
|
180
|
+
const { runSync, pathExists, runDetached, cwd, stderr } = {
|
|
181
|
+
...defaultDeps,
|
|
182
|
+
...deps,
|
|
183
|
+
};
|
|
184
|
+
// (1) Name validation
|
|
185
|
+
const nameCheck = validateName(args.name);
|
|
186
|
+
if (!nameCheck.ok) {
|
|
187
|
+
stderr(chalk.red(`◼ borg spawn: ${nameCheck.error}\n`));
|
|
188
|
+
return 1;
|
|
189
|
+
}
|
|
190
|
+
// (2) Primary worktree resolution.
|
|
191
|
+
//
|
|
192
|
+
// `git rev-parse --git-common-dir` returns the path to the SHARED
|
|
193
|
+
// `.git` directory (the primary worktree's `.git`). The PRIMARY
|
|
194
|
+
// WORKTREE itself is that directory's parent — which is what we
|
|
195
|
+
// want to use as the basis for the sibling worktree's path. This
|
|
196
|
+
// resolution works correctly even when `borg spawn` is invoked
|
|
197
|
+
// from inside a non-primary worktree (e.g. the operator already
|
|
198
|
+
// cd'd into a sibling drone tree and wants to spin up another).
|
|
199
|
+
const cwdValue = cwd();
|
|
200
|
+
const gitCommonDir = runSync('git', ['rev-parse', '--git-common-dir'], cwdValue);
|
|
201
|
+
if (gitCommonDir.status !== 0) {
|
|
202
|
+
stderr(chalk.red(`◼ borg spawn: not in a git repository (cwd: ${cwdValue})\n`));
|
|
203
|
+
return 1;
|
|
204
|
+
}
|
|
205
|
+
const commonDirRaw = gitCommonDir.stdout.trim();
|
|
206
|
+
// `--git-common-dir` may print a relative path (e.g. `.git`); resolve
|
|
207
|
+
// against cwd to get an absolute reference.
|
|
208
|
+
const commonDirAbs = resolve(cwdValue, commonDirRaw);
|
|
209
|
+
// Strip the trailing `.git` segment to get the primary worktree root.
|
|
210
|
+
// commonDirAbs ends in `/.git` for a regular checkout, or in
|
|
211
|
+
// `/.git/worktrees/<name>` for a non-primary worktree's perspective
|
|
212
|
+
// (but `--common-dir` always returns the SHARED `.git`, so the suffix
|
|
213
|
+
// is just `/.git`). dirname() peels the `.git` segment off.
|
|
214
|
+
const primaryWorktree = basename(commonDirAbs) === '.git' ? dirname(commonDirAbs) : commonDirAbs;
|
|
215
|
+
// (3) Compute + collision-check target path
|
|
216
|
+
const targetPath = computeWorktreePath(primaryWorktree, args.name);
|
|
217
|
+
if (pathExists(targetPath)) {
|
|
218
|
+
stderr(chalk.red(`◼ borg spawn: target path already exists: ${targetPath}\n`));
|
|
219
|
+
return 1;
|
|
220
|
+
}
|
|
221
|
+
// (4) Create the worktree
|
|
222
|
+
const worktreeArgs = args.branch
|
|
223
|
+
? ['worktree', 'add', targetPath, args.branch]
|
|
224
|
+
: ['worktree', 'add', '--detach', targetPath, 'HEAD'];
|
|
225
|
+
const createResult = runSync('git', worktreeArgs, primaryWorktree);
|
|
226
|
+
if (createResult.status !== 0) {
|
|
227
|
+
const gitErr = createResult.stderr.trim() || createResult.stdout.trim();
|
|
228
|
+
stderr(chalk.red(`◼ borg spawn: git worktree add failed:\n${gitErr}\n`));
|
|
229
|
+
return 1;
|
|
230
|
+
}
|
|
231
|
+
// (5) Stderr nudge.
|
|
232
|
+
//
|
|
233
|
+
// Even though `git worktree add` already prints its own confirmation
|
|
234
|
+
// line, we add a short summary that names the next steps the operator
|
|
235
|
+
// typically wants — particularly the "checkout a branch and pull"
|
|
236
|
+
// reminder for the default detached case, which catches users who
|
|
237
|
+
// would otherwise start work on a stale HEAD without realising.
|
|
238
|
+
stderr(chalk.blue(`◼ Spawned worktree at ${targetPath}\n`));
|
|
239
|
+
if (!args.branch) {
|
|
240
|
+
const shortSha = readShortSha(runSync, targetPath);
|
|
241
|
+
stderr(chalk.gray(`◼ Detached HEAD at ${shortSha}\n`));
|
|
242
|
+
stderr(chalk.gray(`◼ Run \`git checkout main && git pull\` before starting work\n`));
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
stderr(chalk.gray(`◼ Checked out ${args.branch}\n`));
|
|
246
|
+
}
|
|
247
|
+
// (6) Optional drone launch.
|
|
248
|
+
if (args.noLaunch) {
|
|
249
|
+
stderr(chalk.gray(`◼ --no-launch: skipping borg launch\n`));
|
|
250
|
+
stderr(chalk.gray(` cd ${targetPath} && borg\n`));
|
|
251
|
+
return 0;
|
|
252
|
+
}
|
|
253
|
+
stderr(chalk.blue(`◼ Launching Claude Code in ${targetPath}…\n`));
|
|
254
|
+
try {
|
|
255
|
+
const code = await runDetached('borg', [], targetPath);
|
|
256
|
+
return code;
|
|
257
|
+
}
|
|
258
|
+
catch (err) {
|
|
259
|
+
stderr(chalk.red(`◼ borg spawn: failed to launch borg in new worktree: ${err?.message ?? err}\n`));
|
|
260
|
+
return 1;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Best-effort short SHA of the new worktree's HEAD. Used only for the
|
|
265
|
+
* cosmetic "Detached HEAD at <sha>" line; failure here is non-fatal.
|
|
266
|
+
*/
|
|
267
|
+
function readShortSha(runSync, worktreePath) {
|
|
268
|
+
const r = runSync('git', ['rev-parse', '--short', 'HEAD'], worktreePath);
|
|
269
|
+
if (r.status === 0)
|
|
270
|
+
return r.stdout.trim();
|
|
271
|
+
return '(unknown)';
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=spawn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":"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"}
|
package/dist/stream-status.js
CHANGED
|
@@ -138,7 +138,7 @@ export function renderStreamStatus(inputs) {
|
|
|
138
138
|
if (inboxPath && droneLabel && cubeName) {
|
|
139
139
|
lines.push('');
|
|
140
140
|
lines.push('## Real-time wake-up (do this now)');
|
|
141
|
-
lines.push('No process is tailing this drone\'s inbox file —
|
|
141
|
+
lines.push('No process is tailing this drone\'s inbox file — this session won\'t wake on real-time cube activity, only on its fallback timer, and will miss live coordination from other drones. Arm an inbox Monitor:');
|
|
142
142
|
lines.push('');
|
|
143
143
|
lines.push(`> Monitor command: \`tail -n 0 -F ${inboxPath}\` — persistent, 1h timeout, description "borg inbox for ${droneLabel} on cube ${cubeName}".`);
|
|
144
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-status.js","sourceRoot":"","sources":["../src/stream-status.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stream-status.js","sourceRoot":"","sources":["../src/stream-status.ts"],"names":[],"mappings":"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"}
|
package/dist/templates.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AA8JD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAE9C,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAEzD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C"}
|
package/dist/templates.js
CHANGED
|
@@ -72,8 +72,9 @@ Project conventions:
|
|
|
72
72
|
|
|
73
73
|
Workflow:
|
|
74
74
|
- On regen, scan the log for unanswered \`REVIEW-READY:\` signals. Pick the oldest unowned one. Post \`STARTING: review of <branch>\` and pull the diff.
|
|
75
|
-
- Verify: does the code do what the commit message claims? Tests pass? Bundle size acceptable?
|
|
75
|
+
- Verify: does the code do what the commit message claims? Tests pass? Bundle size acceptable? Follows project conventions?
|
|
76
76
|
- **Replaced-module behavioral diff.** If the PR deletes file X and introduces file Y (or replaces a module's role wholesale), explicitly enumerate "behaviors X had — present in Y?" before approval. Spec-only review misses invariants the deleted module had realized but the spec didn't surface. The 0.5.0 SSE cutover lost the silent-self filter exactly this way; checking the new \`log-stream.ts\` against the deleted \`inbox.ts:87-88\` directly would have caught it pre-merge.
|
|
77
|
+
- **Security review is Security Auditor's lane, not yours.** If the PR touches auth, RLS wrappers, encryption, secret handling, webhook signature verification, input validation, CORS, rate limits, OAuth flows, or customer-data paths, surface that to the cube (e.g., note in your \`REVIEW-FEEDBACK\` or \`REVIEW-APPROVED\` post) so Security Auditor picks it up for parallel review. Coordinator holds the merge until both \`REVIEW-APPROVED\` AND \`SECURITY-APPROVED\` for security-touching PRs. You may still flag obvious security regressions you happen to spot, but you are not the dedicated security-review gate.
|
|
77
78
|
- For each finding worth flagging, post \`REVIEW-FEEDBACK: <branch> <observation>\` — high-confidence issues only. Sort blockers from nits explicitly.
|
|
78
79
|
- When done, post either \`REVIEW-APPROVED: <branch>\` (clean) or expect the Builder to address feedback and re-post \`REVIEW-READY:\`.
|
|
79
80
|
|
|
@@ -137,6 +138,34 @@ Operating principles:
|
|
|
137
138
|
|
|
138
139
|
Read the log first on every regen — including older entries that may have surfaced retrospectives you can build on.`,
|
|
139
140
|
},
|
|
141
|
+
{
|
|
142
|
+
name: 'Security Auditor',
|
|
143
|
+
short_description: 'Reviews security-touching changes for vulnerability classes, auth/RLS/crypto correctness, and adherence to documented security expectations. Continuous low-grade vigilance.',
|
|
144
|
+
detailed_description: `You are the cube's security specialist — the dedicated owner of the security expectations the project documents but no other role enforces. Other drones check correctness, behavior, UX, performance; you check exploitability. Autonomous — coordinate through the log.
|
|
145
|
+
|
|
146
|
+
Your job:
|
|
147
|
+
- Review security-touching code changes for vulnerability classes: OWASP top 10, command injection, XSS, SQL injection, auth bypass, data leaks, path traversal, SSRF, race conditions in auth/billing paths.
|
|
148
|
+
- Audit security-critical surfaces: auth flows (JWT/OAuth verification, JWKS caching), RLS wrappers (\`withUserId()\` and equivalents — any function that gates user-data access by session identity), encryption (algorithms, key handling, IV/nonce uniqueness, secret storage), webhook signature verification (HMAC), input validation at API boundaries (Zod schemas), CORS / origin allowlists, rate limiters, dependency hygiene (CVE checks on dependency bumps), customer-data and billing paths.
|
|
149
|
+
- Run periodic full-codebase sweeps separate from per-PR review — walk the documented security expectations (CLAUDE.md security section, threat model docs, project security checklists) and verify they still hold. Cadence: once per minor release or every ~2 weeks, whichever comes first. Catches the "we documented it but stopped enforcing it" failure mode.
|
|
150
|
+
|
|
151
|
+
When you engage on a PR:
|
|
152
|
+
- On regen, scan the log for \`REVIEW-READY:\` signals on branches touching security surface (auth, RLS, encryption, webhooks, input validation, CORS, rate limits, OAuth, customer-data paths, dependency bumps).
|
|
153
|
+
- For non-security-relevant changes (UX copy, version bumps, test infra, internal refactors of non-security code), DON'T gate. Code Reviewer alone is the merge gate for those.
|
|
154
|
+
- Post \`STARTING: security review of <branch>\` and pull the diff.
|
|
155
|
+
|
|
156
|
+
For each finding, post \`SECURITY-FINDING: <branch> <severity>: <observation> — remediation: <fix>\` using these severity classes:
|
|
157
|
+
- **CRITICAL** — data leak, auth bypass, RCE potential → block merge
|
|
158
|
+
- **HIGH** — significant exposure under realistic conditions → fix before merge
|
|
159
|
+
- **MEDIUM** — limited exposure or requires unusual conditions → fix this sprint
|
|
160
|
+
- **LOW** — defense-in-depth, hardening → track for follow-up
|
|
161
|
+
- **INFORMATIONAL** — pattern note, best-practice suggestion → non-blocking
|
|
162
|
+
|
|
163
|
+
When done, post \`SECURITY-APPROVED: <branch>\` (clean), or \`SECURITY-DEFER: <branch> <issue> — track: <where>\` for a known issue acceptable for this release but documented for follow-up. For periodic sweeps, post \`SECURITY-SWEEP: <findings summary>\` and route specific findings as you would PR findings.
|
|
164
|
+
|
|
165
|
+
Don't merge yourself — \`SECURITY-APPROVED\` is the signal; the Coordinator does the actual merge. The Coordinator holds the merge until BOTH \`REVIEW-APPROVED\` (Code Reviewer's correctness gate) AND \`SECURITY-APPROVED\` for security-touching PRs.
|
|
166
|
+
|
|
167
|
+
You DON'T do: correctness review (Code Reviewer's lane), QA testing (QA Tester's lane), UX evaluation (UX Expert's lane), merging, or releasing. Your output is \`SECURITY-FINDING:\` / \`SECURITY-APPROVED:\` / \`SECURITY-DEFER:\` / \`SECURITY-SWEEP:\` signals on the log.`,
|
|
168
|
+
},
|
|
140
169
|
],
|
|
141
170
|
};
|
|
142
171
|
export const TEMPLATES = {
|
package/dist/templates.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAgBH,MAAM,YAAY,GAAa;IAC7B,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,yIAAyI;IAC3I,KAAK,EAAE;QACL;YACE,IAAI,EAAE,aAAa;YACnB,cAAc,EAAE,IAAI;YACpB,iBAAiB,EACf,qFAAqF;YACvF,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;mEAuBuC;SAC9D;QACD;YACE,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,2FAA2F;YAC9G,oBAAoB,EAAE;;;;;;;;;;;uFAW2D;SAClF;QACD;YACE,IAAI,EAAE,eAAe;YACrB,iBAAiB,EAAE,oFAAoF;YACvG,oBAAoB,EAAE
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAgBH,MAAM,YAAY,GAAa;IAC7B,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,yIAAyI;IAC3I,KAAK,EAAE;QACL;YACE,IAAI,EAAE,aAAa;YACnB,cAAc,EAAE,IAAI;YACpB,iBAAiB,EACf,qFAAqF;YACvF,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;mEAuBuC;SAC9D;QACD;YACE,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,2FAA2F;YAC9G,oBAAoB,EAAE;;;;;;;;;;;uFAW2D;SAClF;QACD;YACE,IAAI,EAAE,eAAe;YACrB,iBAAiB,EAAE,oFAAoF;YACvG,oBAAoB,EAAE;;;;;;;;;;yGAU6E;SACpG;QACD;YACE,IAAI,EAAE,WAAW;YACjB,iBAAiB,EAAE,6FAA6F;YAChH,oBAAoB,EAAE;;;;;;;;;;iNAUqL;SAC5M;QACD;YACE,IAAI,EAAE,WAAW;YACjB,iBAAiB,EAAE,+EAA+E;YAClG,oBAAoB,EAAE;;;;;;;;2KAQ+I;SACtK;QACD;YACE,IAAI,EAAE,WAAW;YACjB,iBAAiB,EAAE,qIAAqI;YACxJ,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;oHAyBwF;SAC/G;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,iBAAiB,EAAE,8KAA8K;YACjM,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;+QAuBmP;SAC1Q;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAA6B;IACjD,cAAc,EAAE,YAAY;CAC7B,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal-title setter for borg drone sessions.
|
|
3
|
+
*
|
|
4
|
+
* Multiple Claude Code sessions across sibling worktrees are visually
|
|
5
|
+
* indistinguishable in Cmd-Tab / tab bars / Mission Control on macOS,
|
|
6
|
+
* and likewise on most Linux terminal emulators. Setting the terminal
|
|
7
|
+
* title via the OSC 0 / OSC 2 escape gives each window a free per-
|
|
8
|
+
* session identity.
|
|
9
|
+
*
|
|
10
|
+
* Format (Queen-specified):
|
|
11
|
+
* - Assimilated drone session: `borg · <label> · <cubeName>`
|
|
12
|
+
* - Unassimilated session: `borg · <repo-basename>`
|
|
13
|
+
*
|
|
14
|
+
* Why OSC 0 (`\x1b]0;…\x07`): sets both window title AND icon name on
|
|
15
|
+
* most terminals. OSC 2 sets only window title; OSC 1 sets only icon
|
|
16
|
+
* name. OSC 0 is the maximally-portable choice — works in iTerm2,
|
|
17
|
+
* macOS Terminal, kitty, alacritty, ghostty, GNOME Terminal, xterm.
|
|
18
|
+
*
|
|
19
|
+
* Lifetime: the escape is emitted once, before spawning Claude Code.
|
|
20
|
+
* Claude Code itself does not set its own window title (verified
|
|
21
|
+
* 2026-05-11), so the borg-set title persists for the whole session.
|
|
22
|
+
*
|
|
23
|
+
* Limitations (acceptable for v1; flagged for future):
|
|
24
|
+
* - Title doesn't update mid-session on `borg:assimilate`. The
|
|
25
|
+
* borgmcp client process can't write the escape post-spawn
|
|
26
|
+
* because stdio is owned by Claude Code at that point (and stdio
|
|
27
|
+
* to Claude is JSON-RPC — terminal escapes would be parsed as
|
|
28
|
+
* invalid messages).
|
|
29
|
+
* - Falls back to repo-basename for the unassimilated case; loses
|
|
30
|
+
* drone identity until the cube is joined. Typical pattern is
|
|
31
|
+
* "drone has been around long enough that cubes.json is already
|
|
32
|
+
* populated," so the assimilated path is the common case.
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* Pure: compose the title string for a session. Exported so tests can
|
|
36
|
+
* exercise every branch without TTY / process / fs dependencies.
|
|
37
|
+
*
|
|
38
|
+
* @param activeDrone — `{label, cubeName}` if this project is
|
|
39
|
+
* assimilated to a cube, null otherwise.
|
|
40
|
+
* @param repoBasename — fallback identity for the unassimilated case
|
|
41
|
+
* (typically `basename(process.cwd())`).
|
|
42
|
+
*/
|
|
43
|
+
export declare function composeTerminalTitle(activeDrone: {
|
|
44
|
+
label: string;
|
|
45
|
+
cubeName: string;
|
|
46
|
+
} | null, repoBasename: string): string;
|
|
47
|
+
/**
|
|
48
|
+
* Side-effecting: emit the OSC 0 escape to stdout, but only if stdout
|
|
49
|
+
* is a TTY. When stdout is piped (CI, redirection, scripted
|
|
50
|
+
* invocation), emitting the raw escape would pollute the captured
|
|
51
|
+
* output without doing anything useful — so we no-op.
|
|
52
|
+
*
|
|
53
|
+
* Returns the title string that WOULD have been emitted, regardless of
|
|
54
|
+
* TTY state, so callers can log it independently for diagnostics.
|
|
55
|
+
*/
|
|
56
|
+
export declare function setTerminalTitle(activeDrone: {
|
|
57
|
+
label: string;
|
|
58
|
+
cubeName: string;
|
|
59
|
+
} | null, repoBasename: string, stdout?: NodeJS.WriteStream): string;
|
|
60
|
+
//# sourceMappingURL=terminal-title.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-title.d.ts","sourceRoot":"","sources":["../src/terminal-title.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EACvD,YAAY,EAAE,MAAM,GACnB,MAAM,CAKR;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EACvD,YAAY,EAAE,MAAM,EACpB,MAAM,GAAE,MAAM,CAAC,WAA4B,GAC1C,MAAM,CASR"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal-title setter for borg drone sessions.
|
|
3
|
+
*
|
|
4
|
+
* Multiple Claude Code sessions across sibling worktrees are visually
|
|
5
|
+
* indistinguishable in Cmd-Tab / tab bars / Mission Control on macOS,
|
|
6
|
+
* and likewise on most Linux terminal emulators. Setting the terminal
|
|
7
|
+
* title via the OSC 0 / OSC 2 escape gives each window a free per-
|
|
8
|
+
* session identity.
|
|
9
|
+
*
|
|
10
|
+
* Format (Queen-specified):
|
|
11
|
+
* - Assimilated drone session: `borg · <label> · <cubeName>`
|
|
12
|
+
* - Unassimilated session: `borg · <repo-basename>`
|
|
13
|
+
*
|
|
14
|
+
* Why OSC 0 (`\x1b]0;…\x07`): sets both window title AND icon name on
|
|
15
|
+
* most terminals. OSC 2 sets only window title; OSC 1 sets only icon
|
|
16
|
+
* name. OSC 0 is the maximally-portable choice — works in iTerm2,
|
|
17
|
+
* macOS Terminal, kitty, alacritty, ghostty, GNOME Terminal, xterm.
|
|
18
|
+
*
|
|
19
|
+
* Lifetime: the escape is emitted once, before spawning Claude Code.
|
|
20
|
+
* Claude Code itself does not set its own window title (verified
|
|
21
|
+
* 2026-05-11), so the borg-set title persists for the whole session.
|
|
22
|
+
*
|
|
23
|
+
* Limitations (acceptable for v1; flagged for future):
|
|
24
|
+
* - Title doesn't update mid-session on `borg:assimilate`. The
|
|
25
|
+
* borgmcp client process can't write the escape post-spawn
|
|
26
|
+
* because stdio is owned by Claude Code at that point (and stdio
|
|
27
|
+
* to Claude is JSON-RPC — terminal escapes would be parsed as
|
|
28
|
+
* invalid messages).
|
|
29
|
+
* - Falls back to repo-basename for the unassimilated case; loses
|
|
30
|
+
* drone identity until the cube is joined. Typical pattern is
|
|
31
|
+
* "drone has been around long enough that cubes.json is already
|
|
32
|
+
* populated," so the assimilated path is the common case.
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* Pure: compose the title string for a session. Exported so tests can
|
|
36
|
+
* exercise every branch without TTY / process / fs dependencies.
|
|
37
|
+
*
|
|
38
|
+
* @param activeDrone — `{label, cubeName}` if this project is
|
|
39
|
+
* assimilated to a cube, null otherwise.
|
|
40
|
+
* @param repoBasename — fallback identity for the unassimilated case
|
|
41
|
+
* (typically `basename(process.cwd())`).
|
|
42
|
+
*/
|
|
43
|
+
export function composeTerminalTitle(activeDrone, repoBasename) {
|
|
44
|
+
if (activeDrone) {
|
|
45
|
+
return `borg · ${activeDrone.label} · ${activeDrone.cubeName}`;
|
|
46
|
+
}
|
|
47
|
+
return `borg · ${repoBasename}`;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Side-effecting: emit the OSC 0 escape to stdout, but only if stdout
|
|
51
|
+
* is a TTY. When stdout is piped (CI, redirection, scripted
|
|
52
|
+
* invocation), emitting the raw escape would pollute the captured
|
|
53
|
+
* output without doing anything useful — so we no-op.
|
|
54
|
+
*
|
|
55
|
+
* Returns the title string that WOULD have been emitted, regardless of
|
|
56
|
+
* TTY state, so callers can log it independently for diagnostics.
|
|
57
|
+
*/
|
|
58
|
+
export function setTerminalTitle(activeDrone, repoBasename, stdout = process.stdout) {
|
|
59
|
+
const title = composeTerminalTitle(activeDrone, repoBasename);
|
|
60
|
+
if (stdout.isTTY) {
|
|
61
|
+
// OSC 0: ESC ] 0 ; <title> BEL
|
|
62
|
+
// (BEL terminator is honored by all OSC-supporting terminals;
|
|
63
|
+
// ST = `ESC \` is an alternative but BEL has wider compat.)
|
|
64
|
+
stdout.write(`\x1b]0;${title}\x07`);
|
|
65
|
+
}
|
|
66
|
+
return title;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=terminal-title.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-title.js","sourceRoot":"","sources":["../src/terminal-title.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAuD,EACvD,YAAoB;IAEpB,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,UAAU,WAAW,CAAC,KAAK,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,UAAU,YAAY,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAuD,EACvD,YAAoB,EACpB,SAA6B,OAAO,CAAC,MAAM;IAE3C,MAAM,KAAK,GAAG,oBAAoB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC9D,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,+BAA+B;QAC/B,8DAA8D;QAC9D,4DAA4D;QAC5D,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|