@1presence/bridge 0.93.0 → 0.95.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/claude.js CHANGED
@@ -137,6 +137,9 @@ const PERMISSION_TRANSPORT_DEAD_RE = /Tool permission request failed/i;
137
137
  export function isPermissionTransportFailure(text) {
138
138
  return PERMISSION_TRANSPORT_DEAD_RE.test(text);
139
139
  }
140
+ export function isLiveTurnResult(result, producedRealOutput) {
141
+ return producedRealOutput || result.is_error === true;
142
+ }
140
143
  const MCP_TOOL_UNREGISTERED_RE = new RegExp(`No such tool available:\\s*(?:${MCP_TOOL_PREFIX}|${LEGACY_MCP_TOOL_PREFIX})`, 'i');
141
144
  export function shouldReconnectRemoteMcp(args) {
142
145
  const { toolName, isError, text } = args;
@@ -679,7 +682,7 @@ export function spawnClaude(params) {
679
682
  };
680
683
  if (handleEvent(event))
681
684
  onEvent(event);
682
- if (producedRealOutput) {
685
+ if (isLiveTurnResult(rm, producedRealOutput)) {
683
686
  clearTimeout(inputReleaseTimer);
684
687
  input.release();
685
688
  }
package/dist/config.js CHANGED
@@ -54,7 +54,7 @@ function detectClaudeDefaultModel() {
54
54
  }
55
55
  const MODEL_OPTIONS = [
56
56
  { num: 1, model: null, label: 'Use Claude Code default' },
57
- { num: 2, model: 'claude-opus-5', label: 'claude-opus-5' },
57
+ { num: 2, model: 'claude-opus-5-5', label: 'claude-opus-5-5' },
58
58
  { num: 3, model: 'claude-fable-5-1', label: 'claude-fable-5-1' },
59
59
  { num: 4, model: 'claude-sonnet-5', label: 'claude-sonnet-5' },
60
60
  { num: 5, model: 'claude-haiku-4-5', label: 'claude-haiku-4-5' },
package/dist/index.js CHANGED
@@ -527,8 +527,10 @@ function connect(auth, retryDelay = 1000) {
527
527
  }
528
528
  if (msg.type === 'cancel' && msg.conversationId) {
529
529
  const cancelled = cancelConversation(msg.conversationId);
530
- if (cancelled)
531
- console.log(`[bridge] ✕ stopped conversation ${msg.conversationId}`);
530
+ if (cancelled) {
531
+ const elapsed = stopTurnTimer();
532
+ console.log(`[bridge] ✕ stopped conversation ${msg.conversationId} (${formatElapsed(elapsed)})`);
533
+ }
532
534
  return;
533
535
  }
534
536
  if (msg.type === 'doc_recon_request') {
package/dist/timer.js CHANGED
@@ -23,8 +23,11 @@ export function formatElapsed(seconds) {
23
23
  return `${h}h ${m.toString().padStart(2, '0')}m`;
24
24
  }
25
25
  export function startTurnTimer() {
26
- if (intervalId !== null)
26
+ if (intervalId !== null) {
27
+ startedAt = Date.now();
28
+ draw();
27
29
  return;
30
+ }
28
31
  startedAt = Date.now();
29
32
  originalLog = console.log;
30
33
  originalError = console.error;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1presence/bridge",
3
- "version": "0.93.0",
3
+ "version": "0.95.0",
4
4
  "description": "Run 1Presence on your Mac and use your Claude.ai Pro subscription from any device",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -21,7 +21,7 @@
21
21
  "start": "node dist/index.js"
22
22
  },
23
23
  "dependencies": {
24
- "@anthropic-ai/claude-agent-sdk": "^0.3.257",
24
+ "@anthropic-ai/claude-agent-sdk": "^0.3.280",
25
25
  "ws": "^8.20.0",
26
26
  "zod": "^4.0.0"
27
27
  },