@somacheck/vibecheck 0.6.15 → 0.6.16

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/README.md CHANGED
@@ -11,7 +11,7 @@ Your agent has your context. It does not have your gut. This is the bridge.
11
11
 
12
12
  Fair. Here is what you need, without executing anything.
13
13
 
14
- **What the `link` command does.** `npx -y @somacheck/vibecheck@0.6.15 link <CODE> --client <CLIENT>`
14
+ **What the `link` command does.** `npx -y @somacheck/vibecheck@0.6.16 link <CODE> --client <CLIENT>`
15
15
  exchanges a short-lived pairing code, generated inside the SomaCheck iOS app, for
16
16
  a bearer token. It writes that token to `~/.sensie/config.json` with mode `0600`,
17
17
  offers to configure supported agent clients found on the computer, and checks the
@@ -102,20 +102,20 @@ before the pairing code is redeemed.
102
102
  To configure or repair a client later:
103
103
 
104
104
  ```text
105
- npx -y @somacheck/vibecheck@0.6.15 setup codex
106
- npx -y @somacheck/vibecheck@0.6.15 setup claude
107
- npx -y @somacheck/vibecheck@0.6.15 doctor
105
+ npx -y @somacheck/vibecheck@0.6.16 setup codex
106
+ npx -y @somacheck/vibecheck@0.6.16 setup claude
107
+ npx -y @somacheck/vibecheck@0.6.16 doctor
108
108
  ```
109
109
 
110
110
  Manual Codex registration remains available. Its stdio runtime command is
111
- `npx -y @somacheck/vibecheck@0.6.15 serve --client codex`:
111
+ `npx -y @somacheck/vibecheck@0.6.16 serve --client codex`:
112
112
 
113
113
  ```json
114
114
  {
115
115
  "mcpServers": {
116
116
  "vibecheck": {
117
117
  "command": "npx",
118
- "args": ["-y", "@somacheck/vibecheck@0.6.15", "serve", "--client", "codex"]
118
+ "args": ["-y", "@somacheck/vibecheck@0.6.16", "serve", "--client", "codex"]
119
119
  }
120
120
  }
121
121
  }
package/dist/constants.js CHANGED
@@ -2,7 +2,7 @@
2
2
  export const SUPABASE_URL = "https://pbldcmniommltbdwuykk.supabase.co";
3
3
  export const SUPABASE_PUBLISHABLE_KEY = "sb_publishable_af-lUNI2FqEcb-oGy-4uxQ_cnm6kY85";
4
4
  export const PACKAGE_NAME = "@somacheck/vibecheck";
5
- export const PACKAGE_VERSION = "0.6.15";
5
+ export const PACKAGE_VERSION = "0.6.16";
6
6
  export const PACKAGE_SPEC = `${PACKAGE_NAME}@${PACKAGE_VERSION}`;
7
7
  export const SOMACHECK_SETUP_URL = "https://testflight.apple.com/join/C4mAH3zz";
8
8
  export const MCP_SERVER_NAME = "vibecheck";
package/dist/server.js CHANGED
@@ -458,7 +458,6 @@ async function watchForClaudeChannelResult(created, token, identity, dependencie
458
458
  ? expiryDeadline
459
459
  : Math.min(expiryDeadline, startedAt + maxWatchMs);
460
460
  let interval = initialInterval;
461
- let consecutiveReadFailures = 0;
462
461
  // Preserve the explicit zero-duration test switch without issuing a
463
462
  // surprising immediate read.
464
463
  if (deadline <= startedAt)
@@ -481,11 +480,9 @@ async function watchForClaudeChannelResult(created, token, identity, dependencie
481
480
  let lifecycle;
482
481
  try {
483
482
  lifecycle = await dependencies.api.liveVibecheckResult(token, identity, requestId, readAbort.signal);
484
- consecutiveReadFailures = 0;
485
483
  }
486
- catch {
487
- consecutiveReadFailures += 1;
488
- if (consecutiveReadFailures >= 3)
484
+ catch (error) {
485
+ if (isPermanentClaudeChannelReadFailure(error) || readAt >= deadline)
489
486
  return;
490
487
  interval = Math.min(pollIntervalCeiling(options, now() - startedAt, initialInterval), interval * 2);
491
488
  continue;
@@ -529,6 +526,16 @@ async function watchForClaudeChannelResult(created, token, identity, dependencie
529
526
  return;
530
527
  }
531
528
  }
529
+ function isPermanentClaudeChannelReadFailure(error) {
530
+ if (error instanceof SomaCheckCompatibilityError ||
531
+ error instanceof SomaCheckLiveAskClientError) {
532
+ return true;
533
+ }
534
+ if (error instanceof SomaCheckHttpError) {
535
+ return error.status >= 400 && error.status < 500 && error.status !== 408 && error.status !== 429;
536
+ }
537
+ return false;
538
+ }
532
539
  function pollIntervalCeiling(options, elapsedMs, initialInterval) {
533
540
  if (options?.maxPollIntervalMs !== undefined) {
534
541
  return Math.max(initialInterval, options.maxPollIntervalMs);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@somacheck/vibecheck",
3
- "version": "0.6.15",
3
+ "version": "0.6.16",
4
4
  "mcpName": "io.github.Sensie-agents/vibecheck",
5
5
  "description": "Body language for AI agents, on your terms. A consented SomaCheck signal for how a thought or choice lands.",
6
6
  "repository": {