@yefengr/remote-pi 0.7.9 → 0.7.11

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/index.js CHANGED
@@ -2,28 +2,28 @@
2
2
  /** One local Pi process is one stable Relay endpoint with replaceable sessions. */
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { readFileSync, realpathSync } from "node:fs";
5
+ import { hostname } from "node:os";
5
6
  import { dirname, join } from "node:path";
6
7
  import { fileURLToPath } from "node:url";
7
- import { hostname } from "node:os";
8
8
  import { canonicalizeEd25519PublicKey } from "./pairing/crypto.js";
9
9
  import { qrSession } from "./pairing/qr.js";
10
- import { addPeer, getOrCreateEd25519Keypair, KeyringUnavailableError, PairedIdentityMissingError, listPeers, } from "./pairing/storage.js";
10
+ import { addPeer, getOrCreateEd25519Keypair, KeyringUnavailableError, PairedIdentityMissingError, listPeers } from "./pairing/storage.js";
11
11
  import { RelayClient } from "./transport/relay_client.js";
12
12
  import { V2PeerChannel } from "./transport/peer_channel.js";
13
13
  import { TimelineV2Service } from "./timeline/v2_service.js";
14
14
  import { TimelineRuntime } from "./timeline/runtime.js";
15
15
  import { createExtensionUiBridge } from "./extension_ui_bridge.js";
16
- import { handleModelSet, handleSessionCompact, handleThinkingSet, getModelsList, } from "./actions/handlers.js";
16
+ import { handleModelSet, handleSessionCompact, handleThinkingSet, getModelsList } from "./actions/handlers.js";
17
17
  import { ensureModelRegistry } from "./actions/registry.js";
18
- import { EXIT_DAEMON_FRESH_SESSION } from "./daemon/rpc_child.js";
18
+ import { SessionNewBridge } from "./actions/session_new_bridge.js";
19
+ import { RPC_CONTROL_STATUS_KEY } from "./daemon/rpc_child.js";
19
20
  import { defaultAgentName, loadLocalConfig } from "./session/local_config.js";
20
21
  import { resolveRelayUrl, toWebSocketUrl } from "./config.js";
21
22
  import { persistModelDefault, registerCommands, runDirectCli } from "./daemon/commands.js";
22
23
  import { installOwnerRouter } from "./runtime/owner_router.js";
24
+ import { RelayLifecycle } from "./runtime/relay_lifecycle.js";
23
25
  const CONTROL_PROTOCOL_VERSION = 2;
24
- const RECONNECT_BACKOFFS_MS = [1_000, 2_000, 5_000, 10_000, 30_000];
25
- const ENDPOINT_ID_ENV = "REMOTE_PI_ENDPOINT_ID";
26
- const RUNTIME_INSTANCE_ID_ENV = "REMOTE_PI_RUNTIME_INSTANCE_ID";
26
+ const ENDPOINT_ID_ENV = "REMOTE_PI_ENDPOINT_ID", RUNTIME_INSTANCE_ID_ENV = "REMOTE_PI_RUNTIME_INSTANCE_ID";
27
27
  const CTRL_PREFIX = "\x00remote-pi-ctrl:";
28
28
  const PROCESS_IDENTITY_KEY = Symbol.for("remote-pi.endpoint-process-identity");
29
29
  function opaqueUuidFromEnv(name) {
@@ -45,14 +45,6 @@ export function processEndpointIdentity() {
45
45
  return identity;
46
46
  }
47
47
  const endpointIdentity = processEndpointIdentity();
48
- let state = "idle";
49
- let relay = null;
50
- let relayUrl = null;
51
- let keypair = null;
52
- let reconnectTimer = null;
53
- let reconnectAttempt = 0;
54
- let lifecycle = 0;
55
- let disposed = false;
56
48
  let currentModel;
57
49
  let currentThinking;
58
50
  let working = false;
@@ -64,24 +56,25 @@ let lastCommandCtx = null;
64
56
  let lastEventCtx = null;
65
57
  let extensionUiBridge = null;
66
58
  let currentTurnId = null;
67
- export const _getState = () => state === "idle" ? "idle" : activeOwners.size > 0 ? "paired" : "started";
68
- export const _getCachedPublicKeyForTest = () => keypair ? Buffer.from(keypair.publicKey).toString("base64") : null;
59
+ let replacedSessionId = null;
60
+ const sessionNewBridge = new SessionNewBridge({ getPi: () => piApi, onCommandContext: (ctx) => { lastCommandCtx = ctx; }, onReplaced: (ctx) => { lastCommandCtx = ctx; }, onFinished: () => finishSessionReplacement() });
61
+ export const _getState = () => relayLifecycle.state === "idle" ? "idle" : activeOwners.size > 0 ? "paired" : "started";
62
+ export const _getCachedPublicKeyForTest = () => relayLifecycle.keypair ? Buffer.from(relayLifecycle.keypair.publicKey).toString("base64") : null;
69
63
  export const _getCurrentTurnIdForTest = () => currentTurnId;
70
64
  export const _setPiForTest = (value) => { piApi = value; };
71
65
  export const _setCurrentModelForTest = (value) => { currentModel = value; };
72
66
  export const _setSessionStartedAtForTest = (_value) => { };
73
67
  export const _setMessageBufferForTest = (_value) => { };
74
68
  export const _getMessageBufferForTest = () => [];
75
- export const _hasPendingReconnect = () => reconnectTimer !== null;
69
+ export const _hasPendingReconnect = () => relayLifecycle.hasPendingReconnect;
76
70
  export const _getActivePeerCountForTest = () => activeOwners.size;
77
71
  export const _hasActivePeerForTest = (ownerId) => activeOwners.has(ownerId);
78
- export const _getDisposedForTest = () => disposed;
79
- export const _setDisposedForTest = (value) => { disposed = value; };
72
+ export const _getDisposedForTest = () => relayLifecycle.disposed;
73
+ export const _setDisposedForTest = (value) => { relayLifecycle.setDisposed(value); };
80
74
  export const _resetAutoInitedForTest = () => undefined;
81
75
  export const _setAutoInitedForTest = (_value) => undefined;
82
- function displayName(cwd = process.cwd()) {
83
- return loadLocalConfig(cwd).agent_name ?? defaultAgentName(cwd);
84
- }
76
+ export const _setSessionNewBridgeTimeoutForTest = (timeoutMs) => sessionNewBridge.setTimeoutForTest(timeoutMs);
77
+ function displayName(cwd = process.cwd()) { return loadLocalConfig(cwd).agent_name ?? defaultAgentName(cwd); }
85
78
  function endpointMetadata(cwd = process.cwd()) {
86
79
  return {
87
80
  kind: process.env.REMOTE_PI_DAEMON === "1" ? "daemon" : "interactive",
@@ -95,13 +88,10 @@ function endpointMetadata(cwd = process.cwd()) {
95
88
  };
96
89
  }
97
90
  function routeIdentity() {
91
+ const keypair = relayLifecycle.keypair;
98
92
  if (!keypair)
99
93
  throw new Error("remote-pi identity is unavailable");
100
- return {
101
- deviceId: Buffer.from(keypair.publicKey).toString("base64"),
102
- endpointId: endpointIdentity.endpointId,
103
- runtimeInstanceId: endpointIdentity.runtimeInstanceId,
104
- };
94
+ return { deviceId: Buffer.from(keypair.publicKey).toString("base64"), endpointId: endpointIdentity.endpointId, runtimeInstanceId: endpointIdentity.runtimeInstanceId };
105
95
  }
106
96
  async function authorizedOwnerIds() {
107
97
  const owners = new Set();
@@ -113,12 +103,16 @@ async function authorizedOwnerIds() {
113
103
  }
114
104
  return [...owners];
115
105
  }
116
- function relayStatus() {
117
- if (state === "idle")
118
- return "disconnected";
119
- return relay?.isOpen() ? "connected" : "reconnecting";
120
- }
106
+ function relayStatus() { return relayLifecycle.status; }
121
107
  function emitRuntimeEvent(type, details) {
108
+ if (process.env.REMOTE_PI_DAEMON === "1") {
109
+ const ui = lastEventCtx?.ui ?? lastCommandCtx?.ui;
110
+ try {
111
+ ui?.setStatus(RPC_CONTROL_STATUS_KEY, JSON.stringify({ type: type.replace(/-/g, "_"), ...details }));
112
+ }
113
+ catch { /* a stale RPC UI context must not take down the process */ }
114
+ return;
115
+ }
122
116
  try {
123
117
  piApi?.sendMessage({ customType: `remote-pi:${type}`, content: "", details, display: false });
124
118
  }
@@ -138,6 +132,7 @@ function emitRuntimeFailed(stage, code, message, retryable) {
138
132
  emitRuntimeEvent("runtime-failed", { stage, code, message, retryable });
139
133
  }
140
134
  async function updateEndpoint() {
135
+ const relay = relayLifecycle.relay;
141
136
  if (!relay?.isOpen())
142
137
  return;
143
138
  try {
@@ -154,14 +149,43 @@ function refreshFooter(ctx) {
154
149
  if (!ui || typeof ui.setStatus !== "function" || typeof ui.setTitle !== "function")
155
150
  return;
156
151
  try {
157
- ui.setStatus("remote-pi:relay", state === "idle" ? undefined : activeOwners.size ? "🟢 relay" : "🟡 relay waiting for pairing");
152
+ ui.setStatus("remote-pi:relay", relayLifecycle.state === "idle" ? undefined : activeOwners.size ? "🟢 relay" : "🟡 relay waiting for pairing");
158
153
  ui.setStatus("remote-pi:owner-active", activeOwners.size ? `📱 ${[...activeOwners.keys()][0].slice(0, 8)}` : undefined);
159
154
  ui.setStatus("remote-pi:session", undefined);
160
- ui.setTitle(`${displayName()} · ${state === "idle" ? "Off" : "On"}`);
155
+ ui.setTitle(`${displayName()} · ${relayLifecycle.state === "idle" ? "Off" : "On"}`);
161
156
  }
162
157
  catch { /* stale UI context */ }
163
158
  }
164
159
  const activeOwners = new Map();
160
+ const relayLifecycle = new RelayLifecycle({
161
+ loadIdentity: getOrCreateEd25519Keypair,
162
+ resolveRelayUrl,
163
+ createClient: (url, identity) => new RelayClient(toWebSocketUrl(url), identity),
164
+ buildConnectOptions: hostConnectOptions,
165
+ handleIdentityError: (error, ctx) => {
166
+ if (!(error instanceof KeyringUnavailableError) && !(error instanceof PairedIdentityMissingError))
167
+ return false;
168
+ emitRuntimeFailed("identity", error instanceof KeyringUnavailableError ? "keyring_unavailable" : "paired_identity_missing", error.message, false);
169
+ try {
170
+ ctx.ui.notify(`[remote-pi] Cannot access the established device identity: ${error.message}`, "error");
171
+ }
172
+ catch { /* stale UI context */ }
173
+ return true;
174
+ },
175
+ describeConnection: (resolution) => `[remote-pi] Connecting endpoint ${endpointIdentity.endpointId.slice(0, 8)} to ${resolution.url} (source: ${resolution.source})…`,
176
+ onStateChange: emitRelayState,
177
+ onConnected: (client, ctx) => {
178
+ installRouteListener(client);
179
+ if (ctx)
180
+ refreshFooter(ctx);
181
+ else
182
+ void updateEndpoint();
183
+ },
184
+ onDisconnected: () => {
185
+ for (const ownerId of [...activeOwners.keys()])
186
+ detachOwner(ownerId);
187
+ },
188
+ });
165
189
  function detachOwner(ownerId) {
166
190
  const binding = activeOwners.get(ownerId);
167
191
  if (!binding)
@@ -175,15 +199,23 @@ function detachOwner(ownerId) {
175
199
  }
176
200
  function sendToOwner(ownerId, frames) {
177
201
  const binding = activeOwners.get(ownerId);
178
- if (!binding)
179
- return;
180
- for (const frame of frames)
181
- binding.channel.sendV2(frame);
202
+ if (binding)
203
+ for (const frame of frames)
204
+ binding.channel.sendV2(frame);
182
205
  }
183
206
  function broadcastV2(factory) {
184
- for (const { channel, service } of activeOwners.values()) {
207
+ for (const { channel, service } of activeOwners.values())
185
208
  for (const frame of factory(service))
186
209
  channel.sendV2(frame);
210
+ }
211
+ function finishSessionReplacement() {
212
+ const sessionId = replacedSessionId;
213
+ if (!sessionId)
214
+ return;
215
+ replacedSessionId = null;
216
+ for (const [ownerId, { channel, service }] of [...activeOwners]) {
217
+ channel.sendV2({ protocol_version: 2, type: "bye", session_id: sessionId, history_generation: service.generation, reason: "session_replaced" });
218
+ detachOwner(ownerId);
187
219
  }
188
220
  }
189
221
  function ensureTimeline(sessionManager) {
@@ -254,21 +286,9 @@ function routeAction(ownerId, frame) {
254
286
  case "session_compact":
255
287
  handleSessionCompact(ctx, sender, frame);
256
288
  return;
257
- case "session_new": {
258
- const freshSession = () => {
259
- sender.send({ type: "action_ok", in_reply_to: frame.id, action: "session_new" });
260
- if (process.env.REMOTE_PI_DAEMON === "1")
261
- setTimeout(() => process.exit(EXIT_DAEMON_FRESH_SESSION), 100);
262
- };
263
- if (!ctx?.newSession) {
264
- freshSession();
265
- return;
266
- }
267
- void ctx.newSession({ withSession: async (fresh) => { lastCommandCtx = fresh; } })
268
- .then((result) => result.cancelled ? sender.send({ type: "action_error", in_reply_to: frame.id, action: "session_new", error: "cancelled" }) : freshSession())
269
- .catch((error) => sender.send({ type: "action_error", in_reply_to: frame.id, action: "session_new", error: String(error) }));
289
+ case "session_new":
290
+ sessionNewBridge.dispatch(sender, frame);
270
291
  return;
271
- }
272
292
  case "model_set":
273
293
  if (piApi)
274
294
  void handleModelSet(piApi, ctx, ensureModelRegistry(ctx), sender, frame, persistModelDefault);
@@ -325,9 +345,8 @@ function routeClientFrame(ownerId, frame) {
325
345
  binding.channel.sendV2(response);
326
346
  }
327
347
  function installRouteListener(relayClient) {
328
- const expectedLifecycle = lifecycle;
329
348
  return installOwnerRouter(relayClient, {
330
- isCurrent: (candidate) => !disposed && state === "started" && relay === candidate && lifecycle === expectedLifecycle,
349
+ isCurrent: (candidate) => relayLifecycle.isCurrent(candidate),
331
350
  routeIdentity,
332
351
  hasOwner: (ownerId) => activeOwners.has(ownerId),
333
352
  findKnownOwner: async (ownerId) => !!await findKnownOwner(ownerId),
@@ -384,77 +403,15 @@ async function handlePairRequest(relayClient, ownerId, frame) {
384
403
  });
385
404
  }
386
405
  function closeRelay(reason) {
387
- lifecycle += 1;
388
- if (reconnectTimer) {
389
- clearTimeout(reconnectTimer);
390
- reconnectTimer = null;
391
- }
392
- reconnectAttempt = 0;
406
+ sessionNewBridge.clear("session replacement cancelled because the endpoint closed");
407
+ replacedSessionId = null;
393
408
  if (reason) {
394
409
  for (const { channel, service } of activeOwners.values()) {
395
410
  channel.sendV2({ protocol_version: 2, type: "bye", session_id: currentSessionManager?.getSessionId() ?? "unknown", history_generation: service.generation, reason });
396
411
  }
397
412
  }
398
- for (const ownerId of [...activeOwners.keys()])
399
- detachOwner(ownerId);
400
- const oldRelay = relay;
401
- relay = null;
402
- relayUrl = null;
403
- state = "idle";
404
- oldRelay?.close();
413
+ relayLifecycle.stop();
405
414
  refreshFooter();
406
- emitRelayState();
407
- }
408
- function scheduleRelayReconnect(url) {
409
- if (!keypair || disposed || state !== "started")
410
- return;
411
- if (reconnectTimer)
412
- clearTimeout(reconnectTimer);
413
- const localLifecycle = ++lifecycle;
414
- const delay = RECONNECT_BACKOFFS_MS[Math.min(reconnectAttempt++, RECONNECT_BACKOFFS_MS.length - 1)];
415
- reconnectTimer = setTimeout(() => {
416
- reconnectTimer = null;
417
- if (disposed || state !== "started" || lifecycle !== localLifecycle)
418
- return;
419
- void reconnect(url, localLifecycle);
420
- }, delay);
421
- }
422
- function onRelayClose(closed) {
423
- if (closed !== relay || state === "idle")
424
- return;
425
- for (const ownerId of [...activeOwners.keys()])
426
- detachOwner(ownerId);
427
- relay = null;
428
- emitRelayState();
429
- const url = relayUrl;
430
- if (url)
431
- scheduleRelayReconnect(url);
432
- }
433
- async function reconnect(url, expectedLifecycle) {
434
- if (!keypair || disposed || state !== "started" || lifecycle !== expectedLifecycle)
435
- return;
436
- const candidate = new RelayClient(toWebSocketUrl(url), keypair);
437
- try {
438
- await candidate.connect(await hostConnectOptions());
439
- }
440
- catch {
441
- candidate.close();
442
- if (state === "started" && lifecycle === expectedLifecycle) {
443
- emitRelayState();
444
- scheduleRelayReconnect(url);
445
- }
446
- return;
447
- }
448
- if (disposed || state !== "started" || lifecycle !== expectedLifecycle) {
449
- candidate.close();
450
- return;
451
- }
452
- relay = candidate;
453
- reconnectAttempt = 0;
454
- candidate.on("close", () => onRelayClose(candidate));
455
- installRouteListener(candidate);
456
- emitRelayState();
457
- void updateEndpoint();
458
415
  }
459
416
  async function hostConnectOptions(cwd = process.cwd()) {
460
417
  return {
@@ -465,65 +422,8 @@ async function hostConnectOptions(cwd = process.cwd()) {
465
422
  authorizedOwnerIds: await authorizedOwnerIds(),
466
423
  };
467
424
  }
468
- async function start(ctx) {
469
- if (state !== "idle") {
470
- try {
471
- ctx.ui.notify("[remote-pi] Already connected.", "warning");
472
- }
473
- catch { /* stale UI context */ }
474
- return;
475
- }
476
- const candidateLifecycle = ++lifecycle;
477
- try {
478
- keypair = await getOrCreateEd25519Keypair();
479
- }
480
- catch (error) {
481
- if (error instanceof KeyringUnavailableError || error instanceof PairedIdentityMissingError) {
482
- emitRuntimeFailed("identity", error instanceof KeyringUnavailableError ? "keyring_unavailable" : "paired_identity_missing", error.message, false);
483
- try {
484
- ctx.ui.notify(`[remote-pi] Cannot access the established device identity: ${error.message}`, "error");
485
- }
486
- catch { /* stale UI context */ }
487
- return;
488
- }
489
- throw error;
490
- }
491
- if (disposed || lifecycle !== candidateLifecycle)
492
- return;
493
- const resolution = resolveRelayUrl();
494
- relayUrl = resolution.url;
495
- state = "started";
496
- emitRelayState();
497
- const candidate = new RelayClient(toWebSocketUrl(resolution.url), keypair);
498
- try {
499
- ctx.ui.notify(`[remote-pi] Connecting endpoint ${endpointIdentity.endpointId.slice(0, 8)} to ${resolution.url} (source: ${resolution.source})…`);
500
- }
501
- catch { /* stale UI context */ }
502
- try {
503
- await candidate.connect(await hostConnectOptions(ctx.cwd));
504
- }
505
- catch (error) {
506
- candidate.close();
507
- if (!disposed && lifecycle === candidateLifecycle) {
508
- try {
509
- ctx.ui.notify(`[remote-pi] Relay unavailable; reconnecting in background: ${String(error)}`, "warning");
510
- }
511
- catch { /* stale UI context */ }
512
- emitRelayState();
513
- scheduleRelayReconnect(resolution.url);
514
- }
515
- return;
516
- }
517
- if (disposed || lifecycle !== candidateLifecycle) {
518
- candidate.close();
519
- return;
520
- }
521
- relay = candidate;
522
- candidate.on("close", () => onRelayClose(candidate));
523
- installRouteListener(candidate);
524
- refreshFooter(ctx);
525
- emitRelayState();
526
- }
425
+ function start(ctx) { return relayLifecycle.start(ctx); }
426
+ function waitForInitialRelay() { return relayLifecycle.waitForInitial(); }
527
427
  const extensionVersion = () => {
528
428
  try {
529
429
  const here = fileURLToPath(import.meta.url);
@@ -541,20 +441,22 @@ function appliedSet() {
541
441
  }
542
442
  const commandDependencies = {
543
443
  start,
444
+ waitForInitialRelay,
544
445
  stop: () => closeRelay("peer_stop"),
545
- state: () => state,
446
+ state: () => relayLifecycle.state,
546
447
  relayStatus,
547
- relayUrl: () => relayUrl,
448
+ relayUrl: () => relayLifecycle.relayUrl,
548
449
  endpointIdentity: () => endpointIdentity,
549
450
  activeOwnerCount: () => activeOwners.size,
550
451
  isOwnerActive: (ownerId) => activeOwners.has(ownerId),
551
452
  detachOwner,
552
453
  updateEndpoint,
553
454
  displayName,
554
- keypair: () => keypair,
555
- hasRelay: () => relay !== null,
455
+ keypair: () => relayLifecycle.keypair,
456
+ hasRelay: () => relayLifecycle.relay?.isOpen() === true,
556
457
  piApi: () => piApi,
557
458
  setCommandContext: (ctx) => { lastCommandCtx = ctx; },
459
+ runInternalSessionNew: (token, ctx) => sessionNewBridge.run(token, ctx),
558
460
  };
559
461
  const extension = (pi) => {
560
462
  if (appliedSet().has(pi))
@@ -577,6 +479,8 @@ const extension = (pi) => {
577
479
  }
578
480
  return undefined;
579
481
  });
482
+ pi.on("session_before_switch", (event) => sessionNewBridge.beforeSwitch(event.reason));
483
+ pi.on("session_before_fork", () => sessionNewBridge.beforeFork());
580
484
  pi.on("model_select", (event) => {
581
485
  const model = event.model;
582
486
  currentModel = model?.name ?? model?.id;
@@ -605,28 +509,33 @@ const extension = (pi) => {
605
509
  const manager = ctx.sessionManager;
606
510
  if (manager) {
607
511
  currentSessionManager = manager;
512
+ timelineGeneration = randomUUID();
608
513
  ensureTimeline(manager).resetSession(manager);
609
- rotateGeneration("session_replaced");
610
514
  emitRuntimeEvent("session-changed", { endpoint_id: endpointIdentity.endpointId, runtime_instance_id: endpointIdentity.runtimeInstanceId, session_id: manager.getSessionId(), history_generation: timelineGeneration });
611
515
  emitRuntimeReady();
516
+ if (!sessionNewBridge.isRunning())
517
+ finishSessionReplacement();
612
518
  }
613
519
  try {
614
520
  currentThinking = pi.getThinkingLevel();
615
521
  }
616
522
  catch { /* optional SDK capability */ }
617
- if (loadLocalConfig(process.cwd()).auto_start_relay !== false && state === "idle") {
523
+ if (loadLocalConfig(process.cwd()).auto_start_relay !== false && relayLifecycle.state === "idle") {
618
524
  void start(ctx);
619
525
  }
620
526
  });
621
527
  pi.on("session_tree", () => rotateGeneration("branch_changed"));
622
528
  pi.on("session_shutdown", (event) => {
623
529
  const isProcessShutdown = event.reason === "quit";
624
- if (isProcessShutdown) {
625
- disposed = true;
626
- extensionUiBridge?.dispose();
627
- extensionUiBridge = null;
530
+ if (!isProcessShutdown) {
531
+ replacedSessionId = currentSessionManager?.getSessionId() ?? null;
532
+ currentSessionManager = null;
533
+ return;
628
534
  }
629
- closeRelay(isProcessShutdown ? "shutdown" : "session_replaced");
535
+ relayLifecycle.setDisposed(true);
536
+ extensionUiBridge?.dispose();
537
+ extensionUiBridge = null;
538
+ closeRelay("shutdown");
630
539
  });
631
540
  };
632
541
  export default extension;
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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"}
@@ -14,7 +14,7 @@ export declare class QRSession {
14
14
  }
15
15
  export declare const qrSession: QRSession;
16
16
  /** Builds the endpoint-aware pairing URI. */
17
- export declare function buildQRUri(token: string, longtermEdPk: Uint8Array, sessionName: string, endpointId: string, runtimeInstanceId: string): string;
17
+ export declare function buildQRUri(token: string, longtermEdPk: Uint8Array, sessionName: string, endpointId: string, runtimeInstanceId: string, relayUrl?: string): string;
18
18
  export declare function renderQRAscii(uri: string): string;
19
19
  export declare function displayQR(uri: string): void;
20
- export declare function startQRRotation(longtermEdPk: Uint8Array, sessionName: string, endpointId: string, runtimeInstanceId: string): () => void;
20
+ export declare function startQRRotation(longtermEdPk: Uint8Array, sessionName: string, endpointId: string, runtimeInstanceId: string, relayUrl: string): () => void;
@@ -35,7 +35,7 @@ export class QRSession {
35
35
  }
36
36
  export const qrSession = new QRSession();
37
37
  /** Builds the endpoint-aware pairing URI. */
38
- export function buildQRUri(token, longtermEdPk, sessionName, endpointId, runtimeInstanceId) {
38
+ export function buildQRUri(token, longtermEdPk, sessionName, endpointId, runtimeInstanceId, relayUrl) {
39
39
  const params = new URLSearchParams({
40
40
  t: token,
41
41
  epk: Buffer.from(longtermEdPk).toString("base64url"),
@@ -43,6 +43,14 @@ export function buildQRUri(token, longtermEdPk, sessionName, endpointId, runtime
43
43
  ep: endpointId,
44
44
  rt: runtimeInstanceId,
45
45
  });
46
+ if (relayUrl) {
47
+ try {
48
+ const protocol = new URL(relayUrl).protocol;
49
+ if (protocol === "http:" || protocol === "https:")
50
+ params.set("r", relayUrl);
51
+ }
52
+ catch { /* invalid optional hint */ }
53
+ }
46
54
  return `remotepi://pair?${params.toString()}`;
47
55
  }
48
56
  export function renderQRAscii(uri) {
@@ -53,14 +61,14 @@ export function renderQRAscii(uri) {
53
61
  export function displayQR(uri) {
54
62
  process.stderr.write(`\nScan to pair:\n\n${renderQRAscii(uri)}\n`);
55
63
  }
56
- export function startQRRotation(longtermEdPk, sessionName, endpointId, runtimeInstanceId) {
64
+ export function startQRRotation(longtermEdPk, sessionName, endpointId, runtimeInstanceId, relayUrl) {
57
65
  let timer = null;
58
66
  let stopped = false;
59
67
  const rotate = () => {
60
68
  if (stopped)
61
69
  return;
62
70
  const { token, expiresAt } = qrSession.issueToken();
63
- displayQR(buildQRUri(token, longtermEdPk, sessionName, endpointId, runtimeInstanceId));
71
+ displayQR(buildQRUri(token, longtermEdPk, sessionName, endpointId, runtimeInstanceId, relayUrl));
64
72
  console.log(`Renews at ${new Date(expiresAt).toLocaleTimeString()} — waiting for scan…`);
65
73
  timer = setTimeout(rotate, TOKEN_TTL_MS);
66
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"qr.js","sourceRoot":"","sources":["../../src/pairing/qr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qr.js","sourceRoot":"","sources":["../../src/pairing/qr.ts"],"names":[],"mappings":"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"}