@geohar/un-bien 0.14.0 → 0.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +9 -9
  2. package/dist/bin/launcher.js +22 -0
  3. package/dist/bin/launcher.js.map +1 -1
  4. package/dist/client.d.ts +15 -0
  5. package/dist/client.js +15 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/commands/deps.d.ts +6 -2
  8. package/dist/commands/lifecycle.js +5 -2
  9. package/dist/commands/lifecycle.js.map +1 -1
  10. package/dist/config.d.ts +9 -0
  11. package/dist/config.js.map +1 -1
  12. package/dist/daemon/install.d.ts +2 -2
  13. package/dist/daemon/install.js +8 -4
  14. package/dist/daemon/install.js.map +1 -1
  15. package/dist/index.js +37 -8
  16. package/dist/index.js.map +1 -1
  17. package/dist/launch.d.ts +5 -0
  18. package/dist/launch.js +16 -1
  19. package/dist/launch.js.map +1 -1
  20. package/dist/launcher/launcher.js +48 -5
  21. package/dist/launcher/launcher.js.map +1 -1
  22. package/dist/pairing/signed_allow_list.d.ts +20 -0
  23. package/dist/pairing/signed_allow_list.js +22 -0
  24. package/dist/pairing/signed_allow_list.js.map +1 -0
  25. package/dist/pairing/storage.d.ts +22 -0
  26. package/dist/pairing/storage.js +129 -0
  27. package/dist/pairing/storage.js.map +1 -1
  28. package/dist/session/relay_lifecycle.d.ts +15 -0
  29. package/dist/session/relay_lifecycle.js +94 -32
  30. package/dist/session/relay_lifecycle.js.map +1 -1
  31. package/dist/session/rpc_inbound.d.ts +27 -7
  32. package/dist/session/rpc_inbound.js +82 -10
  33. package/dist/session/rpc_inbound.js.map +1 -1
  34. package/dist/transport/relay_client.d.ts +10 -1
  35. package/dist/transport/relay_client.js +16 -3
  36. package/dist/transport/relay_client.js.map +1 -1
  37. package/docs/daemon.md +12 -12
  38. package/package.json +6 -2
@@ -9,14 +9,83 @@
9
9
  // Command shapes: pi.dev/docs/latest/rpc. v1 surface = prompt / steer /
10
10
  // follow_up / abort / set_model / set_thinking_level. get_state / get_entries /
11
11
  // compact / bash follow (they need the fuller ctx.sessionManager).
12
- /** Page budget for get_entries replies (design: get_entries backfill paging).
13
- * Keeps each reply frame comfortably under every transport cap: the relay's
14
- * 500 KiB POST /mesh body limit, URLSessionWebSocketTask's 1 MiB default
15
- * maximumMessageSize, and the 4 MiB WS outer-envelope limit. ~256 KiB of
16
- * entries leaves ample headroom for envelope + signature overhead. This is
17
- * chunking BEHAVIOR, not protocol the frame shapes stay byte-faithful to
18
- * pi's rpc (`success(id, "get_entries", { entries, leafId })`). */
19
- export const GET_ENTRIES_PAGE_BUDGET_BYTES = 256 * 1024;
12
+ /** Page budget for get_entries replies (design: get_entries backfill paging;
13
+ * raised 256 KiB 1 MiB 2 MiB after device testing, 2026-09-10).
14
+ * 2 MiB of entry JSON per page fewer round trips than the original,
15
+ * still wide margin under every cap: body ≈ 2 MiB + envelope overhead
16
+ * 2.7 MiB base64 wire decoded estimate ≈ 2 MiB, ~1.9 MiB UNDER the
17
+ * relay's 4 MiB ct cap (RELAY_MAX_CT_MIB) < the app's 8 MiB WS receive.
18
+ * A page carrying one MAX_ENTRY_JSON_BYTES (2 MiB) fitted entry alone also
19
+ * fits with the same margin. (The 500 KiB POST /mesh cap does NOT apply —
20
+ * pages ride the peer WS plane, not mesh.) Fold cost: the reader folds a
21
+ * page on its main actor; 2 MiB parses in ~5-10 ms — device-verified smooth.
22
+ * If refusals (payload_too_large) ever appear in logs, dial this back toward
23
+ * 1 MiB — the refusal frames make that visible now. This is chunking
24
+ * BEHAVIOR, not protocol — frames stay byte-faithful to pi's rpc
25
+ * (`success(id, "get_entries", { entries, leafId })`). */
26
+ export const GET_ENTRIES_PAGE_BUDGET_BYTES = 2 * 1024 * 1024;
27
+ /** Hard ceiling for a SINGLE entry's JSON (design: transport-fit paging). The
28
+ * at-least-one-entry progress rule means an entry beyond the relay's ct cap
29
+ * would ride alone, get refused payload_too_large, and stall the reader's
30
+ * walk on the same cursor FOREVER — one giant entry (a multi-MB tool result)
31
+ * poisoned the whole session's backfill. Fitted entries deep-truncate long
32
+ * strings (suffix marker) so shape + ids survive and the walk always crosses.
33
+ * 2 MiB JSON → ≈2.7 MiB base64 ≈ 2.7 MiB decoded estimate — half the relay
34
+ * cap, deliberately, so a page carrying one fitted entry still has margin. */
35
+ export const MAX_ENTRY_JSON_BYTES = 2 * 1024 * 1024;
36
+ const truncationMarker = (cut, total) => `…[transport-truncated ${total - cut}/${total} bytes]`;
37
+ function truncateStringsDeep(value, cap) {
38
+ if (typeof value === "string") {
39
+ return value.length > cap
40
+ ? value.slice(0, cap) + truncationMarker(cap, value.length)
41
+ : value;
42
+ }
43
+ if (Array.isArray(value)) {
44
+ return value.map((v) => truncateStringsDeep(v, cap));
45
+ }
46
+ if (value && typeof value === "object") {
47
+ const out = {};
48
+ for (const [k, v] of Object.entries(value)) {
49
+ out[k] = truncateStringsDeep(v, cap);
50
+ }
51
+ return out;
52
+ }
53
+ return value;
54
+ }
55
+ /** Fit one entry for transport: unchanged when small enough; string-truncated
56
+ * (shrinking per-string caps across passes) when oversized; ultimate fallback
57
+ * is a minimal content-elided stub so the walk ALWAYS crosses this entry. */
58
+ export function fitEntryForTransport(entry) {
59
+ if (JSON.stringify(entry).length <= MAX_ENTRY_JSON_BYTES)
60
+ return entry;
61
+ for (const cap of [64 * 1024, 8 * 1024, 256]) {
62
+ // SAFETY: SessionEntry serializes to a JSON tree; the cast only moves it
63
+ // into the walker's domain type.
64
+ const fitted = truncateStringsDeep(entry, cap);
65
+ // SAFETY: the deep walk only replaces string LEAVES (same keys, same
66
+ // structure), so the result keeps SessionEntry's shape — TS can't prove
67
+ // that through the JsonTree round-trip.
68
+ const candidate = fitted;
69
+ if (JSON.stringify(candidate).length <= MAX_ENTRY_JSON_BYTES)
70
+ return candidate;
71
+ }
72
+ // SAFETY: hand-built to the message-entry shape; the cast papers over the
73
+ // pi union's narrower content typing.
74
+ return {
75
+ type: "message",
76
+ id: entry.id,
77
+ parentId: entry.parentId,
78
+ message: {
79
+ role: "assistant",
80
+ content: [
81
+ {
82
+ type: "text",
83
+ text: `[entry ${entry.id} exceeds the transport ceiling — content elided]`,
84
+ },
85
+ ],
86
+ },
87
+ };
88
+ }
20
89
  /** Slice the entry log into one budget-bounded page starting AFTER `since`
21
90
  * (undefined = from the start). Handlers pre-validate `since` pi-faithfully
22
91
  * (unknown id → `Entry not found` error); this helper stays tolerant (an
@@ -38,8 +107,11 @@ export function pageEntries(all, since, leafId, budgetBytes = GET_ENTRIES_PAGE_B
38
107
  const page = [];
39
108
  let used = 0;
40
109
  for (const e of remaining) {
41
- page.push(e);
42
- used += JSON.stringify(e).length;
110
+ // Transport-fit FIRST: an oversized entry must never ride raw (it would be
111
+ // refused and stall the walk); budget accounting uses the FITTED size.
112
+ const fitted = fitEntryForTransport(e);
113
+ page.push(fitted);
114
+ used += JSON.stringify(fitted).length;
43
115
  if (used >= budgetBytes)
44
116
  break;
45
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rpc_inbound.js","sourceRoot":"","sources":["../../src/session/rpc_inbound.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc_inbound.js","sourceRoot":"","sources":["../../src/session/rpc_inbound.ts"],"names":[],"mappings":"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"}
@@ -35,10 +35,19 @@ export interface RoomMetaUpdateFrame {
35
35
  model?: string;
36
36
  working?: boolean;
37
37
  thinking?: ThinkingLevel;
38
+ name?: string;
38
39
  parent?: string;
39
40
  parentSessionId?: string;
40
41
  };
41
42
  }
43
+ /** Control frame pushing this machine's ROOMS-gate allow-list to the relay
44
+ * (design 01M1ZE43): the set of Owner epks (relay `peer_id` encoding) permitted
45
+ * to list this machine's rooms. Full-set replace on connect + every change. */
46
+ export interface PairingSetFrame {
47
+ type: "pairing_set";
48
+ blob: string;
49
+ sig: string;
50
+ }
42
51
  export interface ConnectOptions {
43
52
  roomId?: string;
44
53
  roomMeta?: RoomMeta;
@@ -104,7 +113,7 @@ export declare class RelayClient extends EventEmitter {
104
113
  * the WS isn't open (best-effort: control frames are observational; we
105
114
  * don't want them throwing inside SDK event callbacks).
106
115
  */
107
- sendControl(frame: RoomMetaUpdateFrame): void;
116
+ sendControl(frame: RoomMetaUpdateFrame | PairingSetFrame): void;
108
117
  close(): void;
109
118
  /** Force-close the WS when no inbound frame has arrived for
110
119
  * `LIVENESS_TIMEOUT_MS` — see the constant's doc for why. `terminate()`
@@ -1,7 +1,13 @@
1
1
  import { EventEmitter } from "node:events";
2
2
  import WebSocket from "ws";
3
3
  import { ed25519Sign } from "../pairing/crypto.js";
4
+ import { envLog } from "../session/debug_log.js";
4
5
  const AUTH_TIMEOUT_MS = 5_000;
6
+ /** Inbound frame cap for the `ws` socket — PINNED, not the lib's 100 MiB
7
+ * default: aligned with the relay's WS message limit (64 MiB). The largest
8
+ * LEGAL frame is a max-ct envelope ≈ 5.4 MiB, so this is pure headroom that
9
+ * can't drift with a `ws` upgrade. */
10
+ const MAX_WS_PAYLOAD_BYTES = 64 * 1024 * 1024;
5
11
  /**
6
12
  * Liveness watchdog. The relay sends a WS Ping every ~25s (relay `peer.rs`),
7
13
  * so a healthy connection sees inbound frames at least that often. If NOTHING
@@ -67,7 +73,7 @@ export class RelayClient extends EventEmitter {
67
73
  */
68
74
  async connect(options = {}) {
69
75
  return new Promise((resolve, reject) => {
70
- const ws = new WebSocket(this.url);
76
+ const ws = new WebSocket(this.url, { maxPayload: MAX_WS_PAYLOAD_BYTES });
71
77
  this.ws = ws;
72
78
  ws.on("error", (err) => reject(err));
73
79
  ws.on("open", async () => {
@@ -82,8 +88,15 @@ export class RelayClient extends EventEmitter {
82
88
  const text = Buffer.isBuffer(raw) ? raw.toString() : String(raw);
83
89
  for (const line of text.split("\n")) {
84
90
  const trimmed = line.trim();
85
- if (trimmed)
86
- this.emit("message", trimmed);
91
+ if (!trimmed)
92
+ continue;
93
+ // Relay refusal (payload_too_large / invalid_envelope / unknown_peer):
94
+ // surface in the envelope debug log so an oversized send is VISIBLE
95
+ // instead of the message silently vanishing (silent-drop fix).
96
+ if (trimmed.startsWith('{"type":"error"')) {
97
+ envLog(`relay error frame: ${trimmed}`);
98
+ }
99
+ this.emit("message", trimmed);
87
100
  }
88
101
  });
89
102
  // The relay pings every ~25s; `ws` auto-replies Pong (keeping the
@@ -1 +1 @@
1
- {"version":3,"file":"relay_client.js","sourceRoot":"","sources":["../../src/transport/relay_client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay_client.js","sourceRoot":"","sources":["../../src/transport/relay_client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,SAAS,MAAM,IAAI,CAAA;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,MAAM,eAAe,GAAG,KAAK,CAAA;AAE7B;;;uCAGuC;AACvC,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAE7C;;;;;;;;GAQG;AACH,MAAM,mBAAmB,GAAG,MAAM,CAAA,CAAC,6CAA6C;AAChF,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAiFhC,iFAAiF;AACjF,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACjB;IAA5B,YAA4B,MAA0B;QACpD,KAAK,CACH,MAAM;YACJ,CAAC,CAAC,8BAA8B,MAAM,6BAA6B;YACnE,CAAC,CAAC,8CAA8C,CACnD,CAAA;QALyB,WAAM,GAAN,MAAM,CAAoB;QAMpD,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;IACpC,CAAC;CACF;AASD;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,WAAY,SAAQ,YAAY;IAOxB;IACA;IAPX,EAAE,GAAqB,IAAI,CAAA;IACnC,wEAAwE;IAChE,cAAc,GAAG,CAAC,CAAA;IAClB,aAAa,GAA0C,IAAI,CAAA;IAEnE,YACmB,GAAW,EACX,OAAuB;QAExC,KAAK,EAAE,CAAA;QAHU,QAAG,GAAH,GAAG,CAAQ;QACX,YAAO,GAAP,OAAO,CAAgB;IAG1C,CAAC;IAED,+EAA+E;IAE/E;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,OAAO,CAAC,UAA0B,EAAE;QACxC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC,CAAA;YACxE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;YAEZ,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YAEpC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBACvB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;oBAErC,mEAAmE;oBACnE,mEAAmE;oBACnE,kBAAkB;oBAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;oBAChC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;wBACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;wBAChC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;wBAChE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;4BACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;4BAC3B,IAAI,CAAC,OAAO;gCAAE,SAAQ;4BACtB,uEAAuE;4BACvE,oEAAoE;4BACpE,+DAA+D;4BAC/D,IAAI,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;gCAC1C,MAAM,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAA;4BACzC,CAAC;4BACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;wBAC/B,CAAC;oBACH,CAAC,CAAC,CAAA;oBACF,kEAAkE;oBAClE,mEAAmE;oBACnE,qEAAqE;oBACrE,6BAA6B;oBAC7B,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;wBACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;oBAClC,CAAC,CAAC,CAAA;oBACF,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;wBACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;oBAClC,CAAC,CAAC,CAAA;oBAEF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;wBAClB,IAAI,CAAC,aAAa,EAAE,CAAA;wBACpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBACpB,CAAC,CAAC,CAAA;oBACF,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;oBACvB,OAAO,EAAE,CAAA;gBACX,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,EAAE,CAAC,SAAS,EAAE,CAAA;oBACd,MAAM,CAAC,GAAG,CAAC,CAAA;gBACb,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,2EAA2E;IAC3E,MAAM;QACJ,OAAO,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,CAAA;IAC/C,CAAC;IAED;;;oEAGgE;IAChE,IAAI,CAAC,IAAY,EAAE,SAAiC;QAClD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC/B,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,KAA4C;QACtD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;YAAE,OAAM;QAC7D,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IACrC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAA;QAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,6EAA6E;IAE7E;;iEAE6D;IACrD,cAAc,CAAC,EAAa;QAClC,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;YACpC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,GAAG,mBAAmB,EAAE,CAAC;gBAC3D,IAAI,CAAC,aAAa,EAAE,CAAA;gBACpB,EAAE,CAAC,SAAS,EAAE,CAAA;YAChB,CAAC;QACH,CAAC,EAAE,iBAAiB,CAAC,CAAA;IACvB,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,+EAA+E;IAEvE,KAAK,CAAC,aAAa,CACzB,EAAa,EACb,IAAoB;QAEpB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACxE,MAAM,KAAK,GAAa,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;QAC5D,IAAI,IAAI,CAAC,MAAM;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA;QAC5C,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAA;QAClD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAExC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC5C,IAAI,SAC+D,CAAA;QACnE,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAqB,CAAA;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAAA;QACjE,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAI,SAA+B,CAAC,IAAI,IAAI,EAAE,CAAA;YACxD,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBACjC,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC7C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,IAAK,SAAkC,CAAC,OAAO,IAAI,SAAS,EAAE,CAC5F,CAAA;QACH,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,IAAI,CAAE,SAA0B,CAAC,KAAK,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CACb,8CAA8C,YAAY,EAAE,CAC7D,CAAA;QACH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAE,SAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACtE,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACtD,MAAM,IAAI,GAAY;YACpB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACzC,CAAA;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAEvC,mEAAmE;QACnE,0CAA0C;IAC5C,CAAC;IAED,2DAA2D;IACnD,QAAQ,CAAC,EAAa;QAC5B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAC7C,eAAe,CAChB,CAAA;YACD,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,YAAY,CAAC,KAAK,CAAC,CAAA;gBACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9D,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,QAAQ,CAAC,EAAa,EAAE,IAAY;QAC1C,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;CACF"}
package/docs/daemon.md CHANGED
@@ -6,7 +6,7 @@ likely causes and how to fix it.
6
6
 
7
7
  ---
8
8
 
9
- ## 1. `unbien install` fails
9
+ ## 1. `unbien-admin install` fails
10
10
 
11
11
  ### "launcher script not found"
12
12
 
@@ -16,7 +16,7 @@ likely causes and how to fix it.
16
16
  `npm install -g @geohar/un-bien` (prod) first.
17
17
  ```
18
18
 
19
- You're running `unbien install` from a dev clone where `dist/` doesn't
19
+ You're running `unbien-admin install` from a dev clone where `dist/` doesn't
20
20
  exist yet, or from a partial install.
21
21
 
22
22
  ```bash
@@ -25,7 +25,7 @@ cd extension && pnpm build
25
25
 
26
26
  # Production install:
27
27
  npm install -g @geohar/un-bien
28
- unbien install
28
+ unbien-admin install
29
29
  ```
30
30
 
31
31
  ### "launchctl: bootstrap … already running"
@@ -38,7 +38,7 @@ new one. If it still fails:
38
38
  launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/dev.unbien.launcher.plist
39
39
  launchctl unload ~/Library/LaunchAgents/dev.unbien.launcher.plist 2>/dev/null
40
40
  rm ~/Library/LaunchAgents/dev.unbien.launcher.plist
41
- unbien install
41
+ unbien-admin install
42
42
  ```
43
43
 
44
44
  ### "systemctl --user … No such file or directory"
@@ -50,12 +50,12 @@ the unit survives logout:
50
50
  ```bash
51
51
  loginctl enable-linger $USER
52
52
  systemctl --user daemon-reload
53
- unbien install
53
+ unbien-admin install
54
54
  ```
55
55
 
56
56
  ### Windows: the UAC prompt fails or is declined
57
57
 
58
- `unbien install` needs elevation **once** — only the `schtasks /Create`
58
+ `unbien-admin install` needs elevation **once** — only the `schtasks /Create`
59
59
  that registers the task requires admin. Accept the prompt when it appears.
60
60
  Stopping/starting the task afterwards (`/End`, `/Run`) works un-elevated.
61
61
 
@@ -81,11 +81,11 @@ tail -100 ~/.local/state/un-bien/launcher.log
81
81
  baked into the unit/plist no longer match where the package lives. This
82
82
  happens when you reinstall Node via a version manager (nvm/fnm) or
83
83
  uninstall/reinstall the package to a different location. Fix:
84
- `unbien uninstall && unbien install` (install snapshots the current
84
+ `unbien-admin uninstall && unbien-admin install` (install snapshots the current
85
85
  node binary and paths).
86
86
  - **`tmux: command not found`** (at launch time, not startup) — the PATH
87
87
  captured at install time didn't include the remote-launch backend.
88
- Install tmux (or herdr), then re-run `unbien install` to refresh PATH.
88
+ Install tmux (or herdr), then re-run `unbien-admin install` to refresh PATH.
89
89
  - **First connect race** — the launcher logs `initial connect failed (…)
90
90
  — retrying every 3000ms` and retries on its own. This is normal when
91
91
  the relay starts in the same breath; it clears once the relay is up.
@@ -103,7 +103,7 @@ node $(npm root -g)/@geohar/un-bien/dist/bin/launcher.js
103
103
 
104
104
  If it prints `[un-bien launcher] listening on control room …` and stays
105
105
  up, the daemon itself is fine — the problem is in the unit/plist
106
- environment (PATH, node path). Re-run `unbien install`.
106
+ environment (PATH, node path). Re-run `unbien-admin install`.
107
107
 
108
108
  ---
109
109
 
@@ -149,7 +149,7 @@ tmux kill-session -t un-bien # or tmux kill-server (kills ALL sessions)
149
149
  tmux new-session -d -s un-bien
150
150
  ```
151
151
 
152
- 2. **Run the launcher as a login service** (`unbien install` — launchd
152
+ 2. **Run the launcher as a login service** (`unbien-admin install` — launchd
153
153
  LaunchAgent / systemd `--user`), not from a detached daemon: the launcher
154
154
  — and any tmux server it creates — stays inside your login session where
155
155
  the keychain just works.
@@ -237,11 +237,11 @@ session on the machine and scan the QR from the app.
237
237
  When you suspect everything is misconfigured:
238
238
 
239
239
  ```bash
240
- unbien uninstall # removes the service, keeps config + pairing
240
+ unbien-admin uninstall # removes the service, keeps config + pairing
241
241
  rm -rf ~/.local/state/un-bien # nukes pairing + identity (re-pair after this)
242
242
  npm uninstall -g @geohar/un-bien
243
243
  npm install -g @geohar/un-bien
244
- unbien install
244
+ unbien-admin install
245
245
  # Then re-pair from scratch: pi → /unbien pair
246
246
  ```
247
247
 
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@geohar/un-bien",
3
- "version": "0.14.0",
3
+ "version": "0.18.2",
4
4
  "description": "Mobile remote control and local agent mesh for the Pi coding agent. Pair your phone via QR over a relay, watch tool calls in real time, run multi-Pi sessions over a local Unix Domain Socket broker, and let agents talk to each other through structured request/reply. Derived from remote-pi by Jacob Moura (https://github.com/jacobaraujo7/remote_pi), MIT.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "bin": {
9
- "unbien": "dist/index.js"
9
+ "unbien-admin": "dist/index.js"
10
10
  },
11
11
  "exports": {
12
12
  ".": {
@@ -17,6 +17,10 @@
17
17
  "types": "./dist/bin/launcher.d.ts",
18
18
  "default": "./dist/bin/launcher.js"
19
19
  },
20
+ "./client": {
21
+ "types": "./dist/client.d.ts",
22
+ "default": "./dist/client.js"
23
+ },
20
24
  "./package.json": "./package.json"
21
25
  },
22
26
  "scripts": {