@geohar/unbien-cli 0.3.2 → 0.3.4

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/client.d.ts CHANGED
@@ -34,7 +34,9 @@ export declare class SessionClient extends EventEmitter<SessionClientEvents> {
34
34
  constructor(relayUrl: string, keypair: Ed25519Keypair, invite: PairingInvite);
35
35
  /** Snapshot the pi's currently-open rooms (one per live session). */
36
36
  listRooms(timeoutMs?: number): Promise<RoomInfo[]>;
37
- connect(): Promise<void>;
37
+ connect(options?: {
38
+ roomId?: string;
39
+ }): Promise<void>;
38
40
  /** The one non-envelope frame a client ever sends — nothing exists before it. */
39
41
  pair(deviceName: string): void;
40
42
  /** Ask the extension to replay panels + pending UI for this session. */
@@ -69,6 +71,9 @@ export declare class SessionClient extends EventEmitter<SessionClientEvents> {
69
71
  * handles today.
70
72
  */
71
73
  sendUb(type: string, params?: Record<string, unknown>): void;
74
+ /** Re-target the client at a room discovered post-connect (e.g. the
75
+ * launcher daemon's control room, found by its is_daemon capability). */
76
+ setRoom(roomId: string): void;
72
77
  /** Drive the agent. `prompt` is pi's own rpc verb — no invented hop. */
73
78
  prompt(message: string): void;
74
79
  /** Interrupt a running turn with a steering message. */
package/dist/client.js CHANGED
@@ -44,11 +44,15 @@ export class SessionClient extends EventEmitter {
44
44
  this.relay.send(JSON.stringify({ type: "rooms_check", peers: [this.invite.epk] }));
45
45
  });
46
46
  }
47
- async connect() {
47
+ async connect(options) {
48
48
  this.relay.on("message", (line) => this.onLine(line));
49
49
  this.relay.on("close", () => this.emit("close"));
50
- // No room_id: an owner subscribes to rooms, it does not own one.
51
- await this.relay.connect();
50
+ // No room_id by default: an owner subscribes to rooms, it does not own
51
+ // one. Daemon-facing verbs (create/resume-session) PASS a roomId — the
52
+ // relay (0.7.x subscription model) only routes frames between mutual
53
+ // subscribers of a room, so a roomless client's frames never reach the
54
+ // daemon's control room (verified: handler never fired, replies timed out).
55
+ await this.relay.connect(options?.roomId ? { roomId: options.roomId } : undefined);
52
56
  }
53
57
  /** The one non-envelope frame a client ever sends — nothing exists before it. */
54
58
  pair(deviceName) {
@@ -142,6 +146,11 @@ export class SessionClient extends EventEmitter {
142
146
  const frame = { type, id: randomUUID(), ...params };
143
147
  this.sendEnvelope({ ub: frame });
144
148
  }
149
+ /** Re-target the client at a room discovered post-connect (e.g. the
150
+ * launcher daemon's control room, found by its is_daemon capability). */
151
+ setRoom(roomId) {
152
+ this.room = roomId;
153
+ }
145
154
  /** Drive the agent. `prompt` is pi's own rpc verb — no invented hop. */
146
155
  prompt(message) {
147
156
  this.sendEnvelope({
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/connect.js CHANGED
@@ -122,7 +122,7 @@ async function listAllSessions(keypair) {
122
122
  }
123
123
  catch {
124
124
  deadRelays.push(relayLabelFor(relayUrl));
125
- return;
125
+ return; // unreachable relay: skip this group
126
126
  }
127
127
  }
128
128
  const label = relayLabelFor(relayUrl);
@@ -131,6 +131,7 @@ async function listAllSessions(keypair) {
131
131
  choices.push({ ...room, relayUrl, relayLabel: label });
132
132
  }
133
133
  }
134
+ return; // explicit: this callback is a Promise.all worker
134
135
  }));
135
136
  if (deadRelays.length > 0) {
136
137
  console.error(`[relay] unreachable: ${deadRelays.join(", ")} (skipped)`);
@@ -489,15 +490,43 @@ catch (err) {
489
490
  }
490
491
  // A token means this is a first pairing; a remembered machine skips straight
491
492
  // to routing, since the extension auto-attaches any peer it already trusts.
493
+ // The verdict is AWAITED: a stale/expired token previously looked successful
494
+ // (rememberPeer ran before the machine's pair_error landed), leaving a peers
495
+ // entry the machine's allow-list never learned — frames silently undeliverable.
492
496
  if (invite.token) {
493
- client.pair(flags.get("name") ?? "unbien-cli");
497
+ const deviceName = flags.get("name") ?? "unbien-cli";
498
+ const verdict = await new Promise((resolve) => {
499
+ const onControl = (frame) => {
500
+ const t = String(frame.type ?? "");
501
+ if (t === "pair_ok")
502
+ resolve({ ok: true });
503
+ else if (t === "pair_error")
504
+ resolve({
505
+ ok: false,
506
+ detail: String(frame.message ?? frame.code ?? "rejected"),
507
+ });
508
+ };
509
+ client.on("control", onControl);
510
+ client.pair(deviceName);
511
+ setTimeout(() => {
512
+ client.off("control", onControl);
513
+ resolve({
514
+ ok: false,
515
+ detail: "timed out — run /unbien pair for a fresh code and retry",
516
+ });
517
+ }, 10_000);
518
+ });
519
+ if (!verdict.ok) {
520
+ console.error(`[pair] machine did not accept the pairing: ${verdict.detail}`);
521
+ process.exit(1);
522
+ }
494
523
  rememberPeer({
495
524
  epk: invite.epk,
496
525
  relayUrl,
497
- name: flags.get("name") ?? "unbien-cli",
526
+ name: deviceName,
498
527
  pairedAt: new Date().toISOString(),
499
528
  });
500
- console.error("[paired] machine remembered — future runs need no token");
529
+ console.error(`[paired] ${deviceName} remembered — future runs need no token`);
501
530
  }
502
531
  // MULTI-RELAY SESSION LISTING: fan out to every relay with paired peers,
503
532
  // aggregate rooms with provenance. Falls back to the single-relay path when
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * `unbien create-session <machine> [--dir <cwd>] [--name <session-name>]`
3
+ *
4
+ * Creates a NEW pi session on an idle machine: sends `ub.session_launch` to
5
+ * that machine's control room, where the launcher daemon (remote_launch cap)
6
+ * spawns a pi window via tmux/herdr — the same path the app's LaunchSessionSheet
7
+ * uses. No live pi needs to be running; the daemon is the whole story.
8
+ *
9
+ * The new session joins the mesh once pi starts (same announce path as any
10
+ * launch), so it shows up in `unbien connect --list` and the app — attach is
11
+ * a separate, normal connect.
12
+ */
13
+ export declare function run(argv: string[]): Promise<void>;
@@ -0,0 +1,75 @@
1
+ import { loadPeers } from "./store.js";
2
+ import { requireMachine, connectControlRoom, launchAndWait, waitForRoom, handoffToConnect } from "./machine.js";
3
+ import { Shell } from "./tui.js";
4
+ /**
5
+ * `unbien create-session <machine> [--dir <cwd>] [--name <session-name>]`
6
+ *
7
+ * Creates a NEW pi session on an idle machine: sends `ub.session_launch` to
8
+ * that machine's control room, where the launcher daemon (remote_launch cap)
9
+ * spawns a pi window via tmux/herdr — the same path the app's LaunchSessionSheet
10
+ * uses. No live pi needs to be running; the daemon is the whole story.
11
+ *
12
+ * The new session joins the mesh once pi starts (same announce path as any
13
+ * launch), so it shows up in `unbien connect --list` and the app — attach is
14
+ * a separate, normal connect.
15
+ */
16
+ export async function run(argv) {
17
+ const flags = new Map();
18
+ let target = "";
19
+ for (let i = 0; i < argv.length; i++) {
20
+ const a = argv[i];
21
+ if (a === "--dir")
22
+ flags.set("dir", argv[++i] ?? "");
23
+ else if (a === "--name")
24
+ flags.set("name", argv[++i] ?? "");
25
+ else if (a === "--relay")
26
+ flags.set("relay", argv[++i] ?? "");
27
+ else if (!a.startsWith("--"))
28
+ target = a;
29
+ }
30
+ if (loadPeers().length === 0) {
31
+ console.error("no paired machines yet — run `/unbien pair` in a session, then `unbien connect '<invite>'`");
32
+ Shell.exitAfterDrain(1);
33
+ process.exit(1);
34
+ }
35
+ const machine = requireMachine(target);
36
+ const label = machine.name ?? machine.epk.slice(0, 12);
37
+ const client = await connectControlRoom(machine, flags.get("relay"));
38
+ const cwd = flags.get("dir") || undefined;
39
+ const name = flags.get("name") || undefined;
40
+ console.error(`launching pi on ${label}${cwd ? ` in ${cwd}` : ""}${name ? ` as '${name}'` : ""} …`);
41
+ // Pre-launch room snapshot: the new session is the room that appears after
42
+ // this point (pi mints a fresh id, so there is no id to match upfront).
43
+ const beforeRooms = new Set((await client.listRooms()).map((r) => r.room_id));
44
+ const outcome = await launchAndWait(client, { cwd, name });
45
+ if (!outcome.ok) {
46
+ console.error(`launch rejected: ${outcome.note}`);
47
+ Shell.exitAfterDrain(1);
48
+ process.exit(1);
49
+ }
50
+ console.error(`launched — waiting for the session to go live…`);
51
+ const room = await waitForRoom(client, (r) => {
52
+ if (beforeRooms.has(r.room_id))
53
+ return false; // pre-existing session
54
+ if (name && r.name === name)
55
+ return true;
56
+ if (cwd && r.cwd === cwd)
57
+ return true;
58
+ return !name && !cwd; // no matcher given: any new room is ours
59
+ });
60
+ if (!room) {
61
+ console.error(`the session did not come live within 30s — it may still be starting. ` +
62
+ `Check the machine and attach later with:\n unbien connect ${machine.epk.slice(0, 8)} --list`);
63
+ Shell.exitAfterDrain(1);
64
+ process.exit(1);
65
+ }
66
+ if (!room.sessionId) {
67
+ console.error(`session is live (${room.name ?? room.room_id}) — attach with:\n unbien connect ${machine.epk.slice(0, 8)} --list`);
68
+ Shell.exitAfterDrain(0);
69
+ process.exit(0);
70
+ }
71
+ console.error(`session is live — attaching…`);
72
+ process.exit(await handoffToConnect(machine, room.sessionId));
73
+ }
74
+ await run(process.argv.slice(2));
75
+ //# sourceMappingURL=create_session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_session.js","sourceRoot":"","sources":["../src/create_session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { type PairedPeer } from "./store.js";
2
+ import { SessionClient, type RoomInfo } from "./client.js";
3
+ /**
4
+ * Shared machine-control-room plumbing for the daemon-facing verbs
5
+ * (create-session, resume-session): machine discovery by name/epk, the
6
+ * control-room derivation (must match the daemon's own roomIdForControl),
7
+ * and the launch request/response exchange.
8
+ */
9
+ /** Machine discovery: name (exact or prefix) or epk prefix, over paired peers. */
10
+ export declare function resolveMachine(target: string): PairedPeer | null;
11
+ /** Resolve + print the no-match error; exits the process when unresolved. */
12
+ export declare function requireMachine(target: string): PairedPeer;
13
+ /** Control room of a machine's launcher daemon — must match the daemon's own
14
+ * roomIdForControl (base64url(sha256(NUL+'control'+NUL+epk)).prefix(12)). */
15
+ export declare function controlRoomFor(epk: string): string;
16
+ export interface LaunchOutcome {
17
+ ok: boolean;
18
+ note: string;
19
+ }
20
+ /** Send `session_launch` and await the daemon's error frame (or its absence).
21
+ * Success carries no ack — the new session announces itself via its own room. */
22
+ export declare function launchAndWait(client: SessionClient, params: {
23
+ cwd?: string;
24
+ name?: string;
25
+ resume?: string;
26
+ }, timeoutMs?: number): Promise<LaunchOutcome>;
27
+ /** Poll the machine's room list until a session matching `match` goes live
28
+ * (pi startup + mesh join take a few seconds after a launch). Resolves the
29
+ * live room, or null on timeout. */
30
+ export declare function waitForRoom(client: SessionClient, match: (room: RoomInfo) => boolean, timeoutMs?: number, intervalMs?: number): Promise<RoomInfo | null>;
31
+ /** Spawn the interactive `unbien connect` attach flow for a live session and
32
+ * wait for it (stdio inherited — the child owns the terminal). Returns the
33
+ * child's exit code. */
34
+ export declare function handoffToConnect(machine: PairedPeer, sessionId: string): Promise<number>;
35
+ /** Connect a SessionClient to a machine's control room. Exits on unreachable. */
36
+ export declare function connectControlRoom(machine: PairedPeer, relayUrlOverride?: string): Promise<SessionClient>;
@@ -0,0 +1,157 @@
1
+ import { createHash } from "node:crypto";
2
+ import { Buffer } from "node:buffer";
3
+ import { loadPeers } from "./store.js";
4
+ import { loadOrCreateIdentity } from "./identity.js";
5
+ import { SessionClient } from "./client.js";
6
+ import { Shell } from "./tui.js";
7
+ /**
8
+ * Shared machine-control-room plumbing for the daemon-facing verbs
9
+ * (create-session, resume-session): machine discovery by name/epk, the
10
+ * control-room derivation (must match the daemon's own roomIdForControl),
11
+ * and the launch request/response exchange.
12
+ */
13
+ /** Machine discovery: name (exact or prefix) or epk prefix, over paired peers. */
14
+ export function resolveMachine(target) {
15
+ const peers = loadPeers();
16
+ if (peers.length === 0)
17
+ return null;
18
+ if (!target)
19
+ return peers[peers.length - 1]; // last-paired, matching connect's default
20
+ const t = target.toLowerCase();
21
+ return (peers.find((p) => p.name?.toLowerCase() === t) ??
22
+ peers.find((p) => p.name?.toLowerCase().startsWith(t)) ??
23
+ peers.find((p) => p.epk.startsWith(target)) ??
24
+ null);
25
+ }
26
+ /** Resolve + print the no-match error; exits the process when unresolved. */
27
+ export function requireMachine(target) {
28
+ const machine = resolveMachine(target);
29
+ if (machine)
30
+ return machine;
31
+ console.error(`no machine matching '${target}'. Known:` +
32
+ loadPeers()
33
+ .map((p) => `\n ${p.name ?? p.epk.slice(0, 12)} (${p.epk.slice(0, 10)}…)`)
34
+ .join(""));
35
+ Shell.exitAfterDrain(1);
36
+ process.exit(1); // narrowing: drain is async
37
+ }
38
+ /** Control room of a machine's launcher daemon — must match the daemon's own
39
+ * roomIdForControl (base64url(sha256(NUL+'control'+NUL+epk)).prefix(12)). */
40
+ export function controlRoomFor(epk) {
41
+ const sep = String.fromCharCode(0);
42
+ // CANONICALIZE first: peers.json may store standard base64 (+//) while the
43
+ // daemon derives its room from the base64url form of the same key — the raw
44
+ // strings hash to different rooms (verified live: kVXLntWnczuI vs -R1hyjN5pwsD).
45
+ const canonical = Buffer.from(epk, "base64").toString("base64url");
46
+ return createHash("sha256")
47
+ .update(sep + "control" + sep + canonical)
48
+ .digest("base64url")
49
+ .slice(0, 12);
50
+ }
51
+ /** Send `session_launch` and await the daemon's error frame (or its absence).
52
+ * Success carries no ack — the new session announces itself via its own room. */
53
+ export async function launchAndWait(client, params, timeoutMs = 8_000) {
54
+ return new Promise((resolve) => {
55
+ let settled = false;
56
+ const onUb = (frame) => {
57
+ try {
58
+ if (settled)
59
+ return;
60
+ if (String(frame.type ?? "") === "error") {
61
+ settled = true;
62
+ resolve({
63
+ ok: false,
64
+ note: String(frame.message ?? frame.code ?? "launch rejected"),
65
+ });
66
+ }
67
+ }
68
+ catch (err) {
69
+ // A malformed frame must not crash the verb mid-wait.
70
+ console.error(`frame handling error (ignored): ${String(err).slice(0, 120)}`);
71
+ }
72
+ };
73
+ client.on("ub", onUb);
74
+ // Daemon errors ride control; relay refusals ride relayControl — both
75
+ // terminal for the launch (they'd otherwise read as a silent timeout).
76
+ const onError = (frame) => {
77
+ if (settled)
78
+ return;
79
+ if (String(frame.type ?? "") === "error") {
80
+ settled = true;
81
+ resolve({
82
+ ok: false,
83
+ note: String(frame.message ?? frame.code ?? "launch rejected"),
84
+ });
85
+ }
86
+ };
87
+ client.on("control", onError);
88
+ client.on("relayControl", onError);
89
+ client.sendUb("session_launch", params);
90
+ setTimeout(() => {
91
+ if (settled)
92
+ return;
93
+ settled = true;
94
+ client.off("ub", onUb);
95
+ resolve({ ok: true, note: "" });
96
+ }, timeoutMs);
97
+ });
98
+ }
99
+ /** Poll the machine's room list until a session matching `match` goes live
100
+ * (pi startup + mesh join take a few seconds after a launch). Resolves the
101
+ * live room, or null on timeout. */
102
+ export async function waitForRoom(client, match, timeoutMs = 30_000, intervalMs = 2_000) {
103
+ const deadline = Date.now() + timeoutMs;
104
+ while (Date.now() < deadline) {
105
+ try {
106
+ const rooms = await client.listRooms();
107
+ const found = rooms.find(match);
108
+ if (found)
109
+ return found;
110
+ }
111
+ catch {
112
+ /* transient relay hiccup — keep polling */
113
+ }
114
+ await new Promise((r) => setTimeout(r, intervalMs));
115
+ }
116
+ return null;
117
+ }
118
+ /** Spawn the interactive `unbien connect` attach flow for a live session and
119
+ * wait for it (stdio inherited — the child owns the terminal). Returns the
120
+ * child's exit code. */
121
+ export async function handoffToConnect(machine, sessionId) {
122
+ const { spawn } = await import("node:child_process");
123
+ const { fileURLToPath } = await import("node:url");
124
+ // dist/machine.js → dist/main.js (the CLI front door routes `connect`)
125
+ const mainJs = fileURLToPath(new URL("./main.js", import.meta.url));
126
+ const target = machine.name ?? machine.epk.slice(0, 8);
127
+ const child = spawn(process.execPath, [mainJs, "connect", target, "--session", sessionId], { stdio: "inherit", env: process.env });
128
+ return new Promise((resolve) => child.on("exit", (code) => resolve(code ?? 1)));
129
+ }
130
+ /** Connect a SessionClient to a machine's control room. Exits on unreachable. */
131
+ export async function connectControlRoom(machine, relayUrlOverride) {
132
+ const relayUrl = relayUrlOverride ?? machine.relayUrl;
133
+ const label = machine.name ?? machine.epk.slice(0, 12);
134
+ const client = new SessionClient(relayUrl, loadOrCreateIdentity(), {
135
+ token: "",
136
+ epk: machine.epk,
137
+ roomId: controlRoomFor(machine.epk),
138
+ });
139
+ try {
140
+ await client.connect({ roomId: controlRoomFor(machine.epk) });
141
+ }
142
+ catch {
143
+ console.error(`[relay] unreachable: ${relayUrl} (${label})`);
144
+ Shell.exitAfterDrain(1);
145
+ process.exit(1);
146
+ }
147
+ // DISCOVER the daemon's control room from its announce (caps include
148
+ // is_daemon) instead of deriving it from the stored epk — derivation
149
+ // silently targets the wrong room whenever the stored key and the
150
+ // machine's live key disagree in form or vintage.
151
+ const rooms = await client.listRooms();
152
+ const daemonRoom = rooms.find((r) => (r.caps ?? []).includes("is_daemon"));
153
+ if (daemonRoom)
154
+ client.setRoom(daemonRoom.room_id);
155
+ return client;
156
+ }
157
+ //# sourceMappingURL=machine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine.js","sourceRoot":"","sources":["../src/machine.ts"],"names":[],"mappings":"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"}
package/dist/main.js CHANGED
@@ -2,6 +2,8 @@
2
2
  /** Single front door: `unbien <command>`. */
3
3
  const COMMANDS = new Map([
4
4
  ["connect", () => import("./connect.js")],
5
+ ["create-session", () => import("./create_session.js")],
6
+ ["resume-session", () => import("./resume_session.js")],
5
7
  ["replay", () => import("./replay.js")],
6
8
  ["pair", () => import("./pair.js")],
7
9
  ["relay", () => import("./relay.js")],
@@ -31,6 +33,10 @@ const load = verb ? COMMANDS.get(verb) : undefined;
31
33
  if (!load) {
32
34
  console.error(`usage: unbien [command] [options]\n\n` +
33
35
  " connect attach to a live pi session over the relay (default)\n" +
36
+ " create-session <machine> [--dir <cwd>] [--name <name>]\n" +
37
+ " spawn a fresh pi session on an idle machine\n" +
38
+ " resume-session <machine> [--dir <cwd>] [--filter <text>] [--all]\n" +
39
+ " resume a stored session (picker: name/summary, recency)\n" +
34
40
  " replay render a captured envelope stream from a file\n" +
35
41
  " pair pair with a machine (paste its unbien:// invite)\n" +
36
42
  " relay manage remembered relays (add / remove / list)\n\n" +
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AACA,6CAA6C;AAE7C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;CACtC,CAAC,CAAA;AAEF,4EAA4E;AAC5E,wEAAwE;AACxE,6DAA6D;AAC7D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAClE,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,4EAA4E;QAC5E,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACvC,2EAA2E;AAC3E,6EAA6E;AAC7E,qDAAqD;AACrD,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AACzE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAElD,IAAI,CAAC,IAAI,EAAE,CAAC;IACV,OAAO,CAAC,KAAK,CACX,uCAAuC;QACrC,oEAAoE;QACpE,6DAA6D;QAC7D,gEAAgE;QAChE,gEAAgE;QAChE,2DAA2D,CAC9D,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/B,CAAC;AAED,8EAA8E;AAC9E,IAAI,IAAI;IAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACnC,MAAM,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AACA,6CAA6C;AAE7C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACvD,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACvD,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;CACtC,CAAC,CAAA;AAEF,4EAA4E;AAC5E,wEAAwE;AACxE,6DAA6D;AAC7D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAClE,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,4EAA4E;QAC5E,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACvC,2EAA2E;AAC3E,6EAA6E;AAC7E,qDAAqD;AACrD,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AACzE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAElD,IAAI,CAAC,IAAI,EAAE,CAAC;IACV,OAAO,CAAC,KAAK,CACX,uCAAuC;QACrC,oEAAoE;QACpE,4DAA4D;QAC5D,2DAA2D;QAC3D,sEAAsE;QACtE,uEAAuE;QACvE,6DAA6D;QAC7D,gEAAgE;QAChE,gEAAgE;QAChE,2DAA2D,CAC9D,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/B,CAAC;AAED,8EAA8E;AAC9E,IAAI,IAAI;IAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACnC,MAAM,IAAI,EAAE,CAAA"}
package/dist/picker.d.ts CHANGED
@@ -1,6 +1,18 @@
1
+ import { type SelectItem } from "@earendil-works/pi-tui";
1
2
  import type { RoomInfo } from "./client.js";
2
3
  /**
3
4
  * Renders on stderr in raw mode so stdout stays clean for the transcript.
4
5
  * Resolves to the chosen session, or null if cancelled.
5
6
  */
6
7
  export declare function pickSession(rooms: readonly RoomInfo[]): Promise<RoomInfo | null>;
8
+ /**
9
+ * Generic variant: raw-mode SelectList over caller-built items (the resume
10
+ * chooser reuses this — its rows carry name/summary/recency, not RoomInfo).
11
+ * Resolves the chosen `value`, or null if cancelled.
12
+ */
13
+ export declare function pickRaw(items: readonly SelectItem[], opts?: {
14
+ /** Substring filter over the caller's semantics (name/summary/cwd) —
15
+ * SelectList's own setFilter is prefix-on-value only, which never
16
+ * matches what the rows display. Without it, prefix-on-value applies. */
17
+ filter?: (filter: string, all: readonly SelectItem[]) => SelectItem[];
18
+ }): Promise<string | null>;
package/dist/picker.js CHANGED
@@ -1,15 +1,80 @@
1
1
  /**
2
2
  * Session picker built on pi's own `SelectList` — arrow-key highlight,
3
3
  * type-to-filter, and pi's list theme, rather than "enter a number".
4
+ *
5
+ * Rendering goes to stderr (raw mode) so stdout stays clean for transcripts.
6
+ * Input: readline keypress events — arrows/enter/escape feed SelectList's own
7
+ * handleInput (its keybindings decode the escape sequences); printable chars
8
+ * drive type-to-filter. The legacy raw-"data" parsing ignored multi-byte
9
+ * escape sequences entirely, which is why arrows never moved.
4
10
  */
5
- import { getSelectListTheme } from "@earendil-works/pi-coding-agent";
11
+ import { getSelectListTheme, initTheme } from "@earendil-works/pi-coding-agent";
6
12
  import { SelectList } from "@earendil-works/pi-tui";
13
+ import { StdinBuffer } from "@earendil-works/pi-tui";
7
14
  const MAX_VISIBLE = 12;
15
+ let themeInitialized = false;
16
+ /** The SDK's theme must be initialized before any get*Theme() call; the CLI
17
+ * has no interactive theme bootstrapping, so the default (no name) it is. */
18
+ function ensureTheme() {
19
+ if (themeInitialized)
20
+ return;
21
+ initTheme();
22
+ themeInitialized = true;
23
+ }
8
24
  /**
9
- * `SelectList.setFilter` prefix-matches on `value`, so the value must be what a
10
- * person would type the session name, not its routing id. Names are not
11
- * unique, so collisions get a short session-id suffix to stay addressable.
25
+ * Shared keypress wiring for the pickers: arrows/enter/escape feed the list's
26
+ * own handleInput (keybindings decode the raw sequences); printable chars
27
+ * drive type-to-filter; backspace trims; Ctrl-C cancels. Registers on the
28
+ * input stream; returns the unsubscribe (finish must call it).
29
+ * `paint(filter)` re-renders after any filter change.
12
30
  */
31
+ function wireKeys(input, list, paint, finish, applyFilter) {
32
+ // pi-tui's own input decoder: buffers split escape sequences and emits
33
+ // COMPLETE sequences — the same decoding pi's TUI pickers rely on. Hand-
34
+ // parsing raw "data" chunks loses arrows whenever ESC and [A arrive apart.
35
+ const buffer = new StdinBuffer();
36
+ let filter = "";
37
+ buffer.on("data", (sequence) => {
38
+ // Navigation + confirm + cancel: the list's keybindings decode sequences.
39
+ // NAVIGATION MUST REPAINT: handleInput moves the selection internally —
40
+ // without paint() the highlight moves invisibly (the "arrows don't work"
41
+ // symptom).
42
+ if (sequence === "\x1b[A" ||
43
+ sequence === "\x1b[B") {
44
+ list.handleInput(sequence);
45
+ paint(filter);
46
+ return;
47
+ }
48
+ if (sequence === "\r" || sequence === "\x1b") {
49
+ return list.handleInput(sequence);
50
+ }
51
+ if (sequence === "\x7f" || sequence === "\b") {
52
+ filter = filter.slice(0, -1);
53
+ applyFilter ? applyFilter(filter) : list.setFilter(filter);
54
+ paint(filter);
55
+ return;
56
+ }
57
+ if (sequence === "\x03")
58
+ return finish(null);
59
+ // Printable run: type-to-filter (a paste arrives as one chunk).
60
+ if (/^[\x20-\x7e]+$/.test(sequence)) {
61
+ filter += sequence;
62
+ applyFilter ? applyFilter(filter) : list.setFilter(filter);
63
+ paint(filter);
64
+ }
65
+ // Anything else (mouse, kitty CSI-u, …): silently ignored.
66
+ });
67
+ const onData = (chunk) => {
68
+ buffer.process(typeof chunk === "string" ? chunk : chunk.toString("utf8"));
69
+ };
70
+ input.on("data", onData);
71
+ return () => {
72
+ input.off("data", onData);
73
+ buffer.destroy();
74
+ };
75
+ }
76
+ /** Build picker items from session rooms: name (or id), deduped with a short
77
+ * session-id suffix so same-named sessions stay addressable. */
13
78
  function buildItems(rooms) {
14
79
  const seen = new Map();
15
80
  const items = [];
@@ -34,14 +99,14 @@ function buildItems(rooms) {
34
99
  * Resolves to the chosen session, or null if cancelled.
35
100
  */
36
101
  export function pickSession(rooms) {
102
+ ensureTheme();
37
103
  const { items, byValue } = buildItems(rooms);
38
104
  const list = new SelectList(items, MAX_VISIBLE, getSelectListTheme());
39
105
  const input = process.stdin;
40
106
  const output = process.stderr;
41
107
  const width = output.columns ?? 100;
42
- let filter = "";
43
108
  let lastHeight = 0;
44
- const paint = () => {
109
+ const paint = (filter = "") => {
45
110
  if (lastHeight > 0)
46
111
  output.write(`\u001b[${lastHeight}A`);
47
112
  const lines = [
@@ -54,7 +119,7 @@ export function pickSession(rooms) {
54
119
  };
55
120
  return new Promise((resolve) => {
56
121
  const finish = (room) => {
57
- input.off("data", onData);
122
+ offKeys();
58
123
  if (input.isTTY)
59
124
  input.setRawMode(false);
60
125
  // Deliberately NOT paused: the shell takes stdin over next, and a paused
@@ -62,33 +127,68 @@ export function pickSession(rooms) {
62
127
  output.write("\u001b[?25h");
63
128
  resolve(room);
64
129
  };
130
+ const offKeys = wireKeys(input, list, paint, () => finish(null));
65
131
  list.onSelect = (item) => finish(byValue.get(item.value) ?? null);
66
132
  list.onCancel = () => finish(null);
67
- const onData = (chunk) => {
68
- const data = chunk.toString("utf8");
69
- if (data === "\u0003") {
70
- finish(null);
71
- return;
72
- }
73
- if (data === "\u007f" || data === "\b") {
74
- filter = filter.slice(0, -1);
75
- list.setFilter(filter);
76
- }
77
- else if (/^[\x20-\x7e]+$/.test(data)) {
78
- filter += data;
79
- list.setFilter(filter);
80
- }
81
- else {
82
- list.handleInput(data);
83
- }
84
- paint();
133
+ if (input.isTTY)
134
+ input.setRawMode(true);
135
+ paint();
136
+ });
137
+ }
138
+ /**
139
+ * Generic variant: raw-mode SelectList over caller-built items (the resume
140
+ * chooser reuses this — its rows carry name/summary/recency, not RoomInfo).
141
+ * Resolves the chosen `value`, or null if cancelled.
142
+ */
143
+ export function pickRaw(items, opts) {
144
+ ensureTheme();
145
+ const all = [...items];
146
+ const list = new SelectList([...items], MAX_VISIBLE, getSelectListTheme());
147
+ // Apply the caller's substring filter by REASSIGNING items — SelectList's
148
+ // own setFilter is prefix-on-value and can't match displayed text.
149
+ const applyFilter = (filter) => {
150
+ if (opts?.filter) {
151
+ // SAFETY: `items` is a plain instance field at runtime ( SelectList's
152
+ // `private` is type-only); assigning it is the only way to run a
153
+ // SUBSTRING filter — the class's own setFilter is prefix-on-value.
154
+ // Invariant: after this assignment, setFilter("") rebuilds
155
+ // filteredItems from exactly the filtered set.
156
+ const mutable = list;
157
+ mutable.items = filter ? opts.filter(filter, all) : all;
158
+ list.setFilter(""); // items already filtered; reset the internal filter
159
+ }
160
+ else {
161
+ list.setFilter(filter);
162
+ }
163
+ };
164
+ const input = process.stdin;
165
+ const output = process.stderr;
166
+ const width = output.columns ?? 100;
167
+ let lastHeight = 0;
168
+ const paint = (filter = "") => {
169
+ if (lastHeight > 0)
170
+ output.write(`\u001b[${lastHeight}A`);
171
+ const lines = [
172
+ ` filter: ${filter}\u001b[K`,
173
+ ...list.render(width).map((line) => `${line}\u001b[K`),
174
+ ];
175
+ for (const line of lines)
176
+ output.write(`${line}\n`);
177
+ lastHeight = lines.length;
178
+ };
179
+ return new Promise((resolve) => {
180
+ const finish = (value) => {
181
+ offKeys();
182
+ if (input.isTTY)
183
+ input.setRawMode(false);
184
+ output.write("\u001b[?25h");
185
+ resolve(value);
85
186
  };
86
- output.write("Select a session (↑/↓ move · type to filter · enter · esc)\n\n");
87
- output.write("\u001b[?25l");
187
+ const offKeys = wireKeys(input, list, paint, () => finish(null), applyFilter);
188
+ list.onSelect = (item) => finish(item.value);
189
+ list.onCancel = () => finish(null);
88
190
  if (input.isTTY)
89
191
  input.setRawMode(true);
90
- input.resume();
91
- input.on("data", onData);
92
192
  paint();
93
193
  });
94
194
  }
@@ -1 +1 @@
1
- {"version":3,"file":"picker.js","sourceRoot":"","sources":["../src/picker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"picker.js","sourceRoot":"","sources":["../src/picker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function run(argv: string[]): Promise<void>;
@@ -0,0 +1,172 @@
1
+ import { requireMachine, connectControlRoom, launchAndWait, waitForRoom, handoffToConnect } from "./machine.js";
2
+ import { pickRaw } from "./picker.js";
3
+ import { Shell } from "./tui.js";
4
+ function relTime(iso) {
5
+ const delta = Date.now() - new Date(iso).getTime();
6
+ const m = Math.round(delta / 60_000);
7
+ if (m < 1)
8
+ return "just now";
9
+ if (m < 60)
10
+ return `${m}m ago`;
11
+ const h = Math.round(m / 60);
12
+ if (h < 24)
13
+ return `${h}h ago`;
14
+ return `${Math.round(h / 24)}d ago`;
15
+ }
16
+ /** Send `sessions_list`, await the correlated result. */
17
+ async function listSessions(client, params, timeoutMs = 10_000) {
18
+ const id = `sl-${Date.now()}`;
19
+ return new Promise((resolve) => {
20
+ let settled = false;
21
+ function onUb(frame) {
22
+ try {
23
+ handle(frame);
24
+ }
25
+ catch (err) {
26
+ // A malformed frame must not crash the verb mid-wait.
27
+ console.error(`frame handling error (ignored): ${String(err).slice(0, 120)}`);
28
+ }
29
+ }
30
+ function handle(frame) {
31
+ if (settled)
32
+ return;
33
+ const type = String(frame.type ?? "");
34
+ if (type === "error") {
35
+ // Daemon gate/launch rejections (unknown_peer, permission_denied…)
36
+ // must reach the user — an empty list would read as "nothing stored".
37
+ settled = true;
38
+ client.off("ub", onUb);
39
+ console.error(`machine rejected the listing: ${String(frame.message ?? frame.code)}`);
40
+ resolve([]);
41
+ return;
42
+ }
43
+ if (type === "sessions_list_result" && frame.in_reply_to === id) {
44
+ settled = true;
45
+ client.off("ub", onUb);
46
+ resolve(Array.isArray(frame.sessions) ? frame.sessions : []);
47
+ }
48
+ }
49
+ // The reply is a ub-FRAMED envelope — SessionClient emits those on
50
+ // "envelope" (raw inner frames land on "control", relay refusals on
51
+ // "relayControl"; both handled above via onError).
52
+ const onEnvelope = (env) => {
53
+ if (env.ub)
54
+ onUb(env.ub);
55
+ };
56
+ client.on("envelope", onEnvelope);
57
+ // Errors arrive on TWO other surfaces, both terminal for this request:
58
+ // - control: the daemon's own error frames (unknown_peer, list_failed…)
59
+ // - relayControl: relay-level refusals (fail-closed content gate)
60
+ const onError = (frame) => {
61
+ if (settled)
62
+ return;
63
+ if (String(frame.type ?? "") === "error") {
64
+ settled = true;
65
+ client.off("ub", onUb);
66
+ client.off("control", onError);
67
+ client.off("relayControl", onError);
68
+ console.error(`machine refused the listing: ${String(frame.code)} — ${String(frame.message ?? "").slice(0, 120)}`);
69
+ resolve([]);
70
+ }
71
+ };
72
+ client.on("control", onError);
73
+ client.on("relayControl", onError);
74
+ client.sendUb("sessions_list", { id, ...params });
75
+ setTimeout(() => {
76
+ if (settled)
77
+ return;
78
+ settled = true;
79
+ client.off("ub", onUb);
80
+ console.error("no reply from the machine (is the launcher daemon installed and the relay up?)");
81
+ resolve([]);
82
+ }, timeoutMs);
83
+ });
84
+ }
85
+ export async function run(argv) {
86
+ const flags = new Map();
87
+ let target = "";
88
+ for (let i = 0; i < argv.length; i++) {
89
+ const a = argv[i];
90
+ if (a === "--dir")
91
+ flags.set("dir", argv[++i] ?? "");
92
+ else if (a === "--filter")
93
+ flags.set("filter", argv[++i] ?? "");
94
+ else if (a === "--name")
95
+ flags.set("name", argv[++i] ?? "");
96
+ else if (a === "--relay")
97
+ flags.set("relay", argv[++i] ?? "");
98
+ else if (a === "--all")
99
+ flags.set("all", "1");
100
+ else if (!a.startsWith("--"))
101
+ target = a;
102
+ }
103
+ const machine = requireMachine(target);
104
+ const label = machine.name ?? machine.epk.slice(0, 12);
105
+ const client = await connectControlRoom(machine, flags.get("relay"));
106
+ // Default GLOBAL: bare `resume-session` must not depend on the daemon's
107
+ // cwd (under launchd that's "/", and scoping to it is meaningless — and
108
+ // was crashing the daemon's lister). --dir opts into directory scope.
109
+ const scope = flags.get("dir") && !flags.get("all") ? "cwd" : "all";
110
+ const cwd = flags.get("dir") || undefined;
111
+ const filter = flags.get("filter") || undefined;
112
+ console.error(`stored sessions on ${label} (${scope === "all" ? "all directories" : cwd ?? "machine cwd"})…`);
113
+ const sessions = await listSessions(client, { scope, cwd, filter });
114
+ if (sessions.length === 0) {
115
+ console.error("no stored sessions matched.");
116
+ Shell.exitAfterDrain(0);
117
+ process.exit(0);
118
+ }
119
+ // Type-to-filter picker, recency order (the daemon sorts). Global scope
120
+ // shows cwd per row — it's the disambiguator there.
121
+ const items = sessions.map((s) => ({
122
+ value: s.path,
123
+ label: `${s.name ?? s.summary.slice(0, 56)} · ${relTime(s.modified)} · ${s.messageCount} msgs`,
124
+ description: scope === "all" ? s.cwd : undefined,
125
+ }));
126
+ // Substring filter over WHAT THE ROWS SHOW (name/summary + cwd) — the
127
+ // SelectList's own setFilter is prefix-on-value (the path), which never
128
+ // matches what a person types.
129
+ const picked = await pickRaw(items, {
130
+ filter: (filter, all) => all.filter((it) => {
131
+ const s = sessions.find((sess) => sess.path === it.value);
132
+ const hay = `${s?.name ?? ""} ${s?.summary ?? ""} ${s?.cwd ?? ""}`.toLowerCase();
133
+ return hay.includes(filter.toLowerCase());
134
+ }),
135
+ });
136
+ if (!picked) {
137
+ console.error("cancelled.");
138
+ Shell.exitAfterDrain(0);
139
+ process.exit(0);
140
+ }
141
+ const chosen = sessions.find((s) => s.path === picked);
142
+ if (!chosen) {
143
+ console.error("picked session vanished — retry.");
144
+ Shell.exitAfterDrain(1);
145
+ process.exit(1);
146
+ }
147
+ const name = flags.get("name") || undefined;
148
+ const outcome = await launchAndWait(client, {
149
+ cwd: chosen.cwd || cwd,
150
+ name,
151
+ resume: chosen.path,
152
+ });
153
+ if (!outcome.ok) {
154
+ console.error(`launch rejected: ${outcome.note}`);
155
+ Shell.exitAfterDrain(1);
156
+ process.exit(1);
157
+ }
158
+ console.error(`launched — waiting for the session to go live…`);
159
+ // pi REUSES the session id on resume (it lives in the session file header),
160
+ // so the resumed room is matchable by sessionId deterministically.
161
+ const room = await waitForRoom(client, (r) => r.sessionId === chosen.id);
162
+ if (!room) {
163
+ console.error(`the session did not come live within 30s — it may still be starting. ` +
164
+ `Attach later with:\n unbien connect ${machine.epk.slice(0, 8)} --session ${chosen.id}`);
165
+ Shell.exitAfterDrain(1);
166
+ process.exit(1);
167
+ }
168
+ console.error(`session is live — attaching…`);
169
+ process.exit(await handoffToConnect(machine, chosen.id));
170
+ }
171
+ await run(process.argv.slice(2));
172
+ //# sourceMappingURL=resume_session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume_session.js","sourceRoot":"","sources":["../src/resume_session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geohar/unbien-cli",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "unbien — a terminal client for remote Pi coding-agent sessions. Attach over an un-bien relay and render the transcript with pi's own TUI components: markdown, syntax highlighting, native tool cards, and your pi theme.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -41,7 +41,7 @@
41
41
  "dependencies": {
42
42
  "@earendil-works/pi-coding-agent": ">=0.84.3",
43
43
  "@earendil-works/pi-tui": "^0.84.4",
44
- "@geohar/un-bien": "0.20.2"
44
+ "@geohar/un-bien": "0.20.4"
45
45
  },
46
46
  "files": [
47
47
  "dist",