teamshare-bridge 0.25.2 → 0.25.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.
@@ -7,6 +7,8 @@ exports.getProbeToken = getProbeToken;
7
7
  exports.startProbeServer = startProbeServer;
8
8
  exports.registerSessionToken = registerSessionToken;
9
9
  exports.revokeSessionToken = revokeSessionToken;
10
+ exports.noteSessionLive = noteSessionLive;
11
+ exports.resolveRelayFallbackAgentId = resolveRelayFallbackAgentId;
10
12
  exports.probeErrorMessage = probeErrorMessage;
11
13
  /**
12
14
  * Localhost probe server - the piece the TeamShare website detects.
@@ -423,8 +425,10 @@ function handle(req, res, getStatus, onReload, onPushState, sessionCallbacks, on
423
425
  res.end();
424
426
  return;
425
427
  }
426
- // Token gate for everything else. `/mcp-relay` is exempt because it already
427
- // validates its own per-session token, which a web page cannot obtain either.
428
+ // Token gate for everything else. `/mcp-relay` is exempt because it validates
429
+ // its own callers (a per-session token, or - for an OpenCode V2 shared service
430
+ // that bypasses the per-session config - the live-session/primary-agent
431
+ // fallback, which refuses browser-originated requests outright).
428
432
  if (!publicRead && url.pathname !== '/mcp-relay' && !authenticated) {
429
433
  res.writeHead(401, { 'Content-Type': 'application/json' });
430
434
  res.end(JSON.stringify({ ok: false, error: 'unauthorized - send X-TeamShare-Probe-Token' }));
@@ -555,6 +559,36 @@ function handle(req, res, getStatus, onReload, onPushState, sessionCallbacks, on
555
559
  });
556
560
  return;
557
561
  }
562
+ // Mint a per-session MCP relay token (2026-10-15). The CLI knows its own
563
+ // agent key and the probe token (from runtime.json), so it can arm the relay
564
+ // for its harness WITHOUT the key ever being written to a config file:
565
+ // POST /internal/mcp-token { apiKey, label? } -> { token }
566
+ // The token is single-purpose (this daemon, 1 h) and revoked when the harness
567
+ // exits; it identifies the run to `/mcp-relay`.
568
+ if (req.method === 'POST' && url.pathname === '/internal/mcp-token') {
569
+ void (async () => {
570
+ try {
571
+ const chunks = [];
572
+ for await (const chunk of req)
573
+ chunks.push(chunk);
574
+ const parsed = JSON.parse(Buffer.concat(chunks).toString('utf8') || '{}');
575
+ const apiKey = typeof parsed.apiKey === 'string' ? parsed.apiKey.trim() : '';
576
+ if (!apiKey.startsWith('ts_')) {
577
+ res.writeHead(400, { 'Content-Type': 'application/json' });
578
+ res.end(JSON.stringify({ ok: false, error: 'apiKey (ts_...) is required' }));
579
+ return;
580
+ }
581
+ const token = registerSessionToken(apiKey, typeof parsed.label === 'string' ? parsed.label : undefined);
582
+ res.writeHead(200, { 'Content-Type': 'application/json' });
583
+ res.end(JSON.stringify({ ok: true, token }));
584
+ }
585
+ catch (err) {
586
+ res.writeHead(500, { 'Content-Type': 'application/json' });
587
+ res.end(JSON.stringify({ ok: false, error: (0, config_1.msg)(err) }));
588
+ }
589
+ })();
590
+ return;
591
+ }
558
592
  // Browser state: query active browser sessions (for web UI display).
559
593
  if (req.method === 'GET' && url.pathname === '/internal/browser-state') {
560
594
  const manager = (0, manager_1.getBrowserManager)();
@@ -633,22 +667,76 @@ function handle(req, res, getStatus, onReload, onPushState, sessionCallbacks, on
633
667
  res.writeHead(404, { 'Content-Type': 'application/json' });
634
668
  res.end(JSON.stringify({ ok: false, error: 'not found' }));
635
669
  }
636
- // ── MCP relay + session tokens ─────────────────────────────────────────────
637
- // Harnesses talk to http://127.0.0.1:<port>/mcp-relay with a per-session
638
- // token. The relay injects X-Api-Key from daemon memory and forwards to the
639
- // real API — the key never appears in config files, argv, or env.
640
670
  const TOKEN_TTL_MS = 60 * 60 * 1000; // 1 hour
641
671
  const sessionTokens = new Map();
642
- /** Register a new session token for the given agent. Returns the token. */
643
- function registerSessionToken(agentId, apiKey) {
672
+ /** Agents with a session the daemon currently considers live (agentId -> last ping). */
673
+ const liveSessionAgents = new Map();
674
+ const LIVE_SESSION_MAX_MS = 12 * 60 * 60 * 1000;
675
+ /** agentId -> { key, at } so the fallback does not read the secret store per call. */
676
+ const keyCache = new Map();
677
+ const KEY_CACHE_MS = 60_000;
678
+ /** Register a new session token for the given agent key. Returns the token. */
679
+ function registerSessionToken(apiKey, label) {
644
680
  const token = (0, node_crypto_1.randomBytes)(24).toString('hex');
645
- sessionTokens.set(token, { agentId, apiKey, createdAt: Date.now() });
681
+ sessionTokens.set(token, { apiKey, label, createdAt: Date.now() });
646
682
  return token;
647
683
  }
648
684
  /** Revoke a session token (harness exit). */
649
685
  function revokeSessionToken(token) {
650
686
  sessionTokens.delete(token);
651
687
  }
688
+ /**
689
+ * The daemon reports session liveness so the token-less relay path can answer
690
+ * "which agent is this run?" when the harness's own config was bypassed.
691
+ * Entries expire (a session that died without its end callback must not make
692
+ * every later request ambiguous).
693
+ */
694
+ function noteSessionLive(agentId, live) {
695
+ if (live)
696
+ liveSessionAgents.set(agentId, Date.now());
697
+ else
698
+ liveSessionAgents.delete(agentId);
699
+ }
700
+ /** The agent id a token-less relay request should act as, or null when ambiguous. */
701
+ function resolveRelayFallbackAgentId() {
702
+ const cutoff = Date.now() - LIVE_SESSION_MAX_MS;
703
+ for (const [agentId, at] of liveSessionAgents) {
704
+ if (at < cutoff)
705
+ liveSessionAgents.delete(agentId);
706
+ }
707
+ if (liveSessionAgents.size === 1)
708
+ return [...liveSessionAgents.keys()][0];
709
+ if (liveSessionAgents.size === 0) {
710
+ // No run in flight: the machine's primary agent (the one `connect` wired),
711
+ // which is what an interactive `opencode` on this machine expects.
712
+ try {
713
+ const config = (0, config_1.loadConfig)();
714
+ return config.agents[0]?.agentId ?? null;
715
+ }
716
+ catch {
717
+ return null;
718
+ }
719
+ }
720
+ // Several agents are mid-run and the caller did not identify itself: refusing
721
+ // is the only honest answer. Wrong identity is worse than no identity.
722
+ return null;
723
+ }
724
+ /** Cached lookup of a configured agent's current key. */
725
+ function agentKeyById(agentId) {
726
+ const hit = keyCache.get(agentId);
727
+ if (hit && Date.now() - hit.at < KEY_CACHE_MS)
728
+ return hit.key;
729
+ let key = null;
730
+ try {
731
+ const agent = (0, config_1.loadConfig)().agents.find((a) => a.agentId === agentId);
732
+ key = agent ? (0, config_1.getAgentKey)(agent) : null;
733
+ }
734
+ catch {
735
+ key = null;
736
+ }
737
+ keyCache.set(agentId, { key, at: Date.now() });
738
+ return key;
739
+ }
652
740
  /** Expire tokens older than TTL (called periodically). */
653
741
  function expireTokens() {
654
742
  const now = Date.now();
@@ -659,18 +747,48 @@ function expireTokens() {
659
747
  }
660
748
  // Expire every 5 minutes.
661
749
  setInterval(expireTokens, 5 * 60_000).unref?.();
750
+ /** A web page cannot set these; a local Node client always does. */
751
+ function isBrowserRequest(req) {
752
+ const origin = req.headers.origin;
753
+ if (origin)
754
+ return true;
755
+ const ct = req.headers['content-type'];
756
+ return !(typeof ct === 'string' && ct.toLowerCase().includes('application/json'));
757
+ }
662
758
  async function handleMcpRelay(req, res) {
663
- const token = req.headers['x-teamshare-session-token'];
664
- if (!token) {
665
- res.writeHead(401, { 'Content-Type': 'application/json' });
666
- res.end(JSON.stringify({ ok: false, error: 'missing X-TeamShare-Session-Token' }));
667
- return;
759
+ const rawToken = req.headers['x-teamshare-session-token'];
760
+ const token = typeof rawToken === 'string' ? rawToken : undefined;
761
+ let apiKey = null;
762
+ if (token) {
763
+ const session = sessionTokens.get(token);
764
+ if (!session) {
765
+ res.writeHead(401, { 'Content-Type': 'application/json' });
766
+ res.end(JSON.stringify({ ok: false, error: 'invalid or expired session token' }));
767
+ return;
768
+ }
769
+ apiKey = session.apiKey;
668
770
  }
669
- const session = sessionTokens.get(token);
670
- if (!session) {
671
- res.writeHead(401, { 'Content-Type': 'application/json' });
672
- res.end(JSON.stringify({ ok: false, error: 'invalid or expired session token' }));
673
- return;
771
+ else {
772
+ if (isBrowserRequest(req)) {
773
+ res.writeHead(403, { 'Content-Type': 'application/json' });
774
+ res.end(JSON.stringify({
775
+ ok: false,
776
+ error: 'mcp-relay refuses browser-originated requests - run the agent through the CLI',
777
+ }));
778
+ return;
779
+ }
780
+ const agentId = resolveRelayFallbackAgentId();
781
+ apiKey = agentId ? agentKeyById(agentId) : null;
782
+ if (!apiKey) {
783
+ res.writeHead(401, { 'Content-Type': 'application/json' });
784
+ res.end(JSON.stringify({
785
+ ok: false,
786
+ error: 'mcp-relay cannot tell which agent this session belongs to ' +
787
+ '(several agents are running, or none is configured). ' +
788
+ 'Run `teamshare-agent connect --agent <agentId> --key <ts_...>`.',
789
+ }));
790
+ return;
791
+ }
674
792
  }
675
793
  // Read the full request body.
676
794
  const chunks = [];
@@ -689,7 +807,7 @@ async function handleMcpRelay(req, res) {
689
807
  method: 'POST',
690
808
  headers: {
691
809
  'Content-Type': req.headers['content-type'] ?? 'application/json',
692
- 'X-Api-Key': session.apiKey,
810
+ 'X-Api-Key': apiKey,
693
811
  ...(req.headers['x-teamshare-session-mode']
694
812
  ? { 'X-TeamShare-Session-Mode': req.headers['x-teamshare-session-mode'] }
695
813
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"local-server.js","sourceRoot":"","sources":["../../src/bridge/local-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-server.js","sourceRoot":"","sources":["../../src/bridge/local-server.ts"],"names":[],"mappings":"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"}
@@ -44,10 +44,10 @@ async function cmdConnect(flags) {
44
44
  console.log('[daemon] bridge daemon not reachable - run: teamshare-bridge start');
45
45
  }
46
46
  })();
47
- const wired = (0, config_1.wireOpencodeMcp)(apiKey);
48
- console.log(wired
49
- ? '[mcp] wired TeamShare MCP into opencode.jsonc — agent now has 21 tools (create_task, list_tasks, search, etc.)'
50
- : '[mcp] TeamShare MCP already wired in opencode.jsonc — skipping');
47
+ const wire = (0, config_1.wireOpencodeMcpBest)(apiKey);
48
+ console.log(wire.mode === 'relay'
49
+ ? `[mcp] wired TeamShare MCP into opencode.jsonc → ${wire.url} (this machine's relay: the run's own agent key is injected per session, nothing secret is written)`
50
+ : '[mcp] wired TeamShare MCP into opencode.jsonc — agent now has 21 tools (create_task, list_tasks, search, etc.)');
51
51
  console.log('Ready: teamshare-agent run --task <taskId> --agent ' + agentId + '');
52
52
  }
53
53
  //# sourceMappingURL=connect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/cli/commands/connect.ts"],"names":[],"mappings":";;AAUA,gCA2CC;AArDD;;GAEG;AACH,uCAA6C;AAC7C,6CAAgE;AAChE,iDAAqD;AACrD,oDAAyE;AACzE,kDAA8D;AAC9D,oCAA4C;AAErC,KAAK,UAAU,UAAU,CAAC,KAA0B;IACzD,MAAM,OAAO,GAAG,IAAA,YAAI,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAA,YAAI,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,kBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvC,IAAA,oBAAW,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,0CAA0C,CAAC,CAAC;IAEnF,oEAAoE;IACpE,oEAAoE;IACpE,IAAI,CAAC;QACH,IAAA,yBAAc,GAAE,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,sDAAsD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvH,OAAO,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IACrF,CAAC;IAED,uEAAuE;IACvE,mEAAmE;IACnE,wDAAwD;IACxD,IAAA,gCAAsB,GAAE,CAAC;IAEzB,qEAAqE;IACrE,sEAAsE;IACtE,qEAAqE;IACrE,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAA,gBAAU,EAAC,kBAAkB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACnE,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,KAAK,GAAG,IAAA,wBAAe,EAAC,MAAM,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CACT,KAAK;QACH,CAAC,CAAC,gHAAgH;QAClH,CAAC,CAAC,gEAAgE,CACrE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,qDAAqD,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/cli/commands/connect.ts"],"names":[],"mappings":";;AAUA,gCA2CC;AArDD;;GAEG;AACH,uCAA6C;AAC7C,6CAAoE;AACpE,iDAAqD;AACrD,oDAAyE;AACzE,kDAA8D;AAC9D,oCAA4C;AAErC,KAAK,UAAU,UAAU,CAAC,KAA0B;IACzD,MAAM,OAAO,GAAG,IAAA,YAAI,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAA,YAAI,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,kBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvC,IAAA,oBAAW,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,0CAA0C,CAAC,CAAC;IAEnF,oEAAoE;IACpE,oEAAoE;IACpE,IAAI,CAAC;QACH,IAAA,yBAAc,GAAE,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,sDAAsD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvH,OAAO,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IACrF,CAAC;IAED,uEAAuE;IACvE,mEAAmE;IACnE,wDAAwD;IACxD,IAAA,gCAAsB,GAAE,CAAC;IAEzB,qEAAqE;IACrE,sEAAsE;IACtE,qEAAqE;IACrE,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAA,gBAAU,EAAC,kBAAkB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACnE,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,IAAI,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,IAAI,KAAK,OAAO;QACnB,CAAC,CAAC,mDAAmD,IAAI,CAAC,GAAG,qGAAqG;QAClK,CAAC,CAAC,gHAAgH,CACrH,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,qDAAqD,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;AACpF,CAAC"}
@@ -103,10 +103,10 @@ async function cmdMcp(flags, action) {
103
103
  process.exitCode = 2;
104
104
  return;
105
105
  }
106
- const wired = (0, config_1.wireOpencodeMcp)(apiKey);
107
- console.log(wired
108
- ? '[mcp] wired TeamShare MCP into opencode.jsonc — agent now has 21 tools'
109
- : '[mcp] TeamShare MCP already wired — skipping');
106
+ const wire = (0, config_1.wireOpencodeMcpBest)(apiKey);
107
+ console.log(wire.mode === 'relay'
108
+ ? `[mcp] wired TeamShare MCP into opencode.jsonc -> ${wire.url} (relay: the agent key is injected per session)`
109
+ : '[mcp] wired TeamShare MCP into opencode.jsonc — agent now has 21 tools');
110
110
  return;
111
111
  }
112
112
  if (action2 === 'unwire') {
@@ -119,8 +119,10 @@ async function cmdMcp(flags, action) {
119
119
  const status = (0, config_1.mcpStatus)();
120
120
  console.log('TeamShare MCP in opencode:');
121
121
  console.log(status.configPath ? ` config : ${status.configPath}` : ' config : opencode.jsonc not found');
122
- console.log(status.wired
123
- ? ' status: WIRED — agent has 21 TeamShare tools'
124
- : ' status: NOT WIRED — agent has no TeamShare tools in opencode sessions');
122
+ console.log(!status.wired
123
+ ? ' status: NOT WIRED — agent has no TeamShare tools in opencode sessions'
124
+ : status.mode === 'relay'
125
+ ? ' status: WIRED via the local relay (identity resolved per run; no API key stored here)'
126
+ : ' status: WIRED with a stored API key — if runs show another agent\'s projects, re-run `connect` or `mcp wire` (the key can go stale)');
125
127
  }
126
128
  //# sourceMappingURL=key.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"key.js","sourceRoot":"","sources":["../../../src/cli/commands/key.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key.js","sourceRoot":"","sources":["../../../src/cli/commands/key.ts"],"names":[],"mappings":"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"}
@@ -286,24 +286,57 @@ export declare function chatKey(): string | null;
286
286
  export declare function setAutoUpgrade(enabled: boolean): BridgeConfig;
287
287
  export declare function msg(err: unknown): string;
288
288
  /**
289
- * Wires the TeamShare MCP server into opencode's config. Idempotent —
290
- * skips if already wired. The entry is:
291
- * mcp.teamshare = { type: "remote", url: "https://api.teamshare.name.ng/mcp",
289
+ * Wires the TeamShare MCP server into opencode's config:
290
+ * mcp.teamshare = { type: "remote", url: "<api>/mcp",
292
291
  * headers: { "X-Api-Key": "<key>" } }
293
292
  *
294
- * Returns true if wired, false if already present.
293
+ * ALWAYS REFRESHES (2026-10-15). It used to `return false` when an entry was
294
+ * already present, which meant the key written by the FIRST `connect` outlived
295
+ * every later one - a rotated/foreign key stayed in the file and every harness
296
+ * that read that file (OpenCode V2's shared service reads the GLOBAL config and
297
+ * ignores the per-session `OPENCODE_CONFIG` override) authenticated as the
298
+ * wrong agent. Returns true when the entry was written or updated.
295
299
  */
296
300
  export declare function wireOpencodeMcp(apiKey: string): boolean;
301
+ /**
302
+ * Point opencode's global TeamShare MCP entry at this machine's RELAY
303
+ * (2026-10-15): `http://127.0.0.1:<port>/mcp-relay`, no key at all.
304
+ *
305
+ * This is what makes a run's identity correct under OpenCode V2, whose shared
306
+ * service owns the MCP clients and reads the global config (so the per-session
307
+ * config the bridge writes with `OPENCODE_CONFIG` never reaches MCP). The relay
308
+ * resolves the agent itself - per-run token when the harness carries one,
309
+ * otherwise the single live session / the machine's primary agent - so the
310
+ * global file can no longer decide which agent a run acts as, and no API key
311
+ * needs to sit in it.
312
+ *
313
+ * Returns true when the entry changed.
314
+ */
315
+ export declare function ensureOpencodeMcpRelay(relayUrl: string): boolean;
316
+ /** The URL the global opencode MCP entry points at, if any. */
317
+ export declare function opencodeMcpUrl(): string | null;
318
+ /**
319
+ * Wire opencode's MCP entry the way this machine should have it (2026-10-15):
320
+ * through the RELAY when the daemon is running (no key on disk, identity
321
+ * resolved per run), otherwise the direct API entry with the given key.
322
+ */
323
+ export declare function wireOpencodeMcpBest(apiKey: string): {
324
+ mode: 'relay' | 'key';
325
+ url: string;
326
+ };
297
327
  /**
298
328
  * Removes the TeamShare MCP entry from opencode's config.
299
329
  * Returns true if removed, false if not present.
300
330
  */
301
331
  export declare function unwireOpencodeMcp(): boolean;
302
332
  /**
303
- * Returns the current MCP wiring status for opencode.
333
+ * Returns the current MCP wiring status for opencode: `mode: 'relay'` when the
334
+ * entry points at this machine's relay (no key on disk), `'key'` for a direct
335
+ * API entry carrying an X-Api-Key, null when unwired.
304
336
  */
305
337
  export declare function mcpStatus(): {
306
338
  wired: boolean;
339
+ mode: 'relay' | 'key' | null;
307
340
  configPath: string | null;
308
341
  entry?: unknown;
309
342
  };
@@ -30,6 +30,9 @@ exports.chatKey = chatKey;
30
30
  exports.setAutoUpgrade = setAutoUpgrade;
31
31
  exports.msg = msg;
32
32
  exports.wireOpencodeMcp = wireOpencodeMcp;
33
+ exports.ensureOpencodeMcpRelay = ensureOpencodeMcpRelay;
34
+ exports.opencodeMcpUrl = opencodeMcpUrl;
35
+ exports.wireOpencodeMcpBest = wireOpencodeMcpBest;
33
36
  exports.unwireOpencodeMcp = unwireOpencodeMcp;
34
37
  exports.mcpStatus = mcpStatus;
35
38
  /**
@@ -634,29 +637,97 @@ function writeOpencodeConfig(config) {
634
637
  (0, node_fs_1.writeFileSync)(path, JSON.stringify(config, null, 2) + '\n', 'utf8');
635
638
  }
636
639
  /**
637
- * Wires the TeamShare MCP server into opencode's config. Idempotent —
638
- * skips if already wired. The entry is:
639
- * mcp.teamshare = { type: "remote", url: "https://api.teamshare.name.ng/mcp",
640
+ * Wires the TeamShare MCP server into opencode's config:
641
+ * mcp.teamshare = { type: "remote", url: "<api>/mcp",
640
642
  * headers: { "X-Api-Key": "<key>" } }
641
643
  *
642
- * Returns true if wired, false if already present.
644
+ * ALWAYS REFRESHES (2026-10-15). It used to `return false` when an entry was
645
+ * already present, which meant the key written by the FIRST `connect` outlived
646
+ * every later one - a rotated/foreign key stayed in the file and every harness
647
+ * that read that file (OpenCode V2's shared service reads the GLOBAL config and
648
+ * ignores the per-session `OPENCODE_CONFIG` override) authenticated as the
649
+ * wrong agent. Returns true when the entry was written or updated.
643
650
  */
644
651
  function wireOpencodeMcp(apiKey) {
652
+ return writeOpencodeMcpEntry({
653
+ type: 'remote',
654
+ url: `${api_1.DEFAULT_API_URL}/mcp`,
655
+ headers: { 'X-Api-Key': apiKey },
656
+ });
657
+ }
658
+ /**
659
+ * Point opencode's global TeamShare MCP entry at this machine's RELAY
660
+ * (2026-10-15): `http://127.0.0.1:<port>/mcp-relay`, no key at all.
661
+ *
662
+ * This is what makes a run's identity correct under OpenCode V2, whose shared
663
+ * service owns the MCP clients and reads the global config (so the per-session
664
+ * config the bridge writes with `OPENCODE_CONFIG` never reaches MCP). The relay
665
+ * resolves the agent itself - per-run token when the harness carries one,
666
+ * otherwise the single live session / the machine's primary agent - so the
667
+ * global file can no longer decide which agent a run acts as, and no API key
668
+ * needs to sit in it.
669
+ *
670
+ * Returns true when the entry changed.
671
+ */
672
+ function ensureOpencodeMcpRelay(relayUrl) {
673
+ const url = relayUrl.trim();
674
+ if (!url)
675
+ return false;
676
+ // Never CREATE an opencode config for someone who does not use opencode: this
677
+ // runs at daemon boot and before every harness spawn, so it must not leave a
678
+ // `~/.config/opencode/opencode.json` behind on a machine that has none.
679
+ if (!opencodeConfigPath())
680
+ return false;
681
+ return writeOpencodeMcpEntry({ type: 'remote', url });
682
+ }
683
+ function writeOpencodeMcpEntry(entry) {
645
684
  const config = readOpencodeConfig() ?? {};
646
685
  const mcp = (typeof config.mcp === 'object' && config.mcp !== null
647
686
  ? config.mcp
648
687
  : {});
649
- if (TEAMSHARE_MCP_KEY in mcp)
650
- return false; // already wired
651
- mcp[TEAMSHARE_MCP_KEY] = {
652
- type: 'remote',
653
- url: `${api_1.DEFAULT_API_URL}/mcp`,
654
- headers: { 'X-Api-Key': apiKey },
655
- };
688
+ const current = mcp[TEAMSHARE_MCP_KEY];
689
+ const same = current &&
690
+ current.type === entry.type &&
691
+ current.url === entry.url &&
692
+ JSON.stringify(current.headers ?? null) === JSON.stringify(entry.headers ?? null);
693
+ if (same)
694
+ return false;
695
+ mcp[TEAMSHARE_MCP_KEY] = entry;
656
696
  config.mcp = mcp;
657
697
  writeOpencodeConfig(config);
658
698
  return true;
659
699
  }
700
+ /** The URL the global opencode MCP entry points at, if any. */
701
+ function opencodeMcpUrl() {
702
+ const entry = mcpStatus().entry;
703
+ return typeof entry?.url === 'string' ? entry.url : null;
704
+ }
705
+ /** Probe port from runtime.json - where this machine's relay lives. */
706
+ function daemonProbePort() {
707
+ try {
708
+ const raw = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)((0, node_os_1.homedir)(), '.teamshare', 'runtime.json'), 'utf8'));
709
+ return typeof raw.port === 'number' ? raw.port : null;
710
+ }
711
+ catch {
712
+ return null;
713
+ }
714
+ }
715
+ /**
716
+ * Wire opencode's MCP entry the way this machine should have it (2026-10-15):
717
+ * through the RELAY when the daemon is running (no key on disk, identity
718
+ * resolved per run), otherwise the direct API entry with the given key.
719
+ */
720
+ function wireOpencodeMcpBest(apiKey) {
721
+ const port = daemonProbePort();
722
+ if (port) {
723
+ const url = `http://127.0.0.1:${port}/mcp-relay`;
724
+ writeOpencodeMcpEntry({ type: 'remote', url });
725
+ return { mode: 'relay', url };
726
+ }
727
+ const url = `${api_1.DEFAULT_API_URL}/mcp`;
728
+ writeOpencodeMcpEntry({ type: 'remote', url, headers: { 'X-Api-Key': apiKey } });
729
+ return { mode: 'key', url };
730
+ }
660
731
  /**
661
732
  * Removes the TeamShare MCP entry from opencode's config.
662
733
  * Returns true if removed, false if not present.
@@ -674,13 +745,24 @@ function unwireOpencodeMcp() {
674
745
  return true;
675
746
  }
676
747
  /**
677
- * Returns the current MCP wiring status for opencode.
748
+ * Returns the current MCP wiring status for opencode: `mode: 'relay'` when the
749
+ * entry points at this machine's relay (no key on disk), `'key'` for a direct
750
+ * API entry carrying an X-Api-Key, null when unwired.
678
751
  */
679
752
  function mcpStatus() {
680
753
  const path = opencodeConfigPath();
681
754
  const config = readOpencodeConfig();
682
755
  const mcp = config && typeof config.mcp === 'object' ? config.mcp : undefined;
683
756
  const entry = mcp?.[TEAMSHARE_MCP_KEY];
684
- return { wired: !!entry, configPath: path, entry };
757
+ const headers = (entry?.headers ?? {});
758
+ const url = typeof entry?.url === 'string' ? entry.url : '';
759
+ const mode = !entry
760
+ ? null
761
+ : url.includes('/mcp-relay')
762
+ ? 'relay'
763
+ : typeof headers['X-Api-Key'] === 'string'
764
+ ? 'key'
765
+ : null;
766
+ return { wired: !!entry, mode, configPath: path, entry };
685
767
  }
686
768
  //# sourceMappingURL=config.js.map