cohvu 1.0.21 → 1.0.22

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
File without changes
package/dist/proxy.js CHANGED
@@ -2,6 +2,10 @@
2
2
  // MCP proxy — stdio-to-HTTP bridge for agent connections.
3
3
  // When an agent spawns `npx cohvu` (non-TTY stdin), this bridges
4
4
  // stdio MCP ↔ Streamable HTTP transport to the Cohvu API.
5
+ //
6
+ // The proxy automatically reconnects when the backend deploys,
7
+ // the session expires, or the network drops. The agent never
8
+ // needs to know a disruption happened.
5
9
  Object.defineProperty(exports, "__esModule", { value: true });
6
10
  exports.proxy = proxy;
7
11
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
@@ -49,7 +53,9 @@ async function proxy() {
49
53
  const headers = {
50
54
  Authorization: `Bearer ${accessToken}`,
51
55
  };
52
- // Refresh handler — deduplicates concurrent refresh attempts with backoff
56
+ // ---------------------------------------------------------------------------
57
+ // Token refresh — deduplicates concurrent attempts with backoff
58
+ // ---------------------------------------------------------------------------
53
59
  let refreshing = null;
54
60
  let refreshFailures = 0;
55
61
  let refreshBackoffUntil = 0;
@@ -85,7 +91,27 @@ async function proxy() {
85
91
  await refreshing;
86
92
  return ok;
87
93
  }
88
- // Resilient fetch: timeouts, network retry with backoff, 401 refresh
94
+ // Refresh token every 50 minutes (access tokens expire at 60)
95
+ setInterval(async () => {
96
+ try {
97
+ const auth = await (0, auth_1.getAuthToken)(baseUrl);
98
+ headers.Authorization = `Bearer ${auth.accessToken}`;
99
+ }
100
+ catch {
101
+ await new Promise((r) => setTimeout(r, 5000));
102
+ try {
103
+ const auth = await (0, auth_1.getAuthToken)(baseUrl);
104
+ headers.Authorization = `Bearer ${auth.accessToken}`;
105
+ }
106
+ catch {
107
+ process.stderr.write("Token refresh failed. Session may expire.\n");
108
+ }
109
+ }
110
+ }, 50 * 60 * 1000);
111
+ // ---------------------------------------------------------------------------
112
+ // Resilient fetch: timeouts, network retry, 401 refresh, session loss detect
113
+ // ---------------------------------------------------------------------------
114
+ let sessionLost = false;
89
115
  const resilientFetch = async (url, init) => {
90
116
  const applyTimeout = (opts) => {
91
117
  const ms = opts?.method === 'POST' ? 300_000 : 60_000;
@@ -119,64 +145,169 @@ async function proxy() {
119
145
  const retryInit = init ? { ...init, headers: { ...init.headers, ...headers } } : { headers };
120
146
  return attempt(retryInit);
121
147
  }
148
+ // Session expired or lost — signal reconnect
149
+ if (res.status === 410 || res.status === 404) {
150
+ sessionLost = true;
151
+ }
122
152
  return res;
123
153
  };
124
- const httpTransport = new streamableHttp_js_1.StreamableHTTPClientTransport(new URL(`${baseUrl}/v1/mcp`), { requestInit: { headers }, fetch: resilientFetch });
125
- // Refresh token every 50 minutes (access tokens expire at 60)
126
- setInterval(async () => {
154
+ // ---------------------------------------------------------------------------
155
+ // Transport lifecycle create, connect, reconnect
156
+ // ---------------------------------------------------------------------------
157
+ let httpTransport = null;
158
+ let reconnecting = false;
159
+ let reconnectAttempts = 0;
160
+ function createTransport() {
161
+ const transport = new streamableHttp_js_1.StreamableHTTPClientTransport(new URL(`${baseUrl}/v1/mcp`), { requestInit: { headers }, fetch: resilientFetch });
162
+ transport.onmessage = (message) => {
163
+ reconnectAttempts = 0;
164
+ stdioTransport.send(message).catch((error) => {
165
+ process.stderr.write(`Error forwarding to client: ${error}\n`);
166
+ });
167
+ };
168
+ transport.onclose = () => {
169
+ // Don't exit — reconnect
170
+ if (!reconnecting) {
171
+ process.stderr.write("Transport closed. Reconnecting...\n");
172
+ reconnect();
173
+ }
174
+ };
175
+ transport.onerror = (error) => {
176
+ process.stderr.write(`Transport error: ${error}\n`);
177
+ };
178
+ return transport;
179
+ }
180
+ async function connect() {
127
181
  try {
128
- const auth = await (0, auth_1.getAuthToken)(baseUrl);
129
- headers.Authorization = `Bearer ${auth.accessToken}`;
182
+ const transport = createTransport();
183
+ await transport.start();
184
+ httpTransport = transport;
185
+ sessionLost = false;
186
+ reconnecting = false;
187
+ reconnectAttempts = 0;
188
+ return true;
130
189
  }
131
- catch {
132
- // Retry once after 5s
133
- await new Promise((r) => setTimeout(r, 5000));
190
+ catch (error) {
191
+ process.stderr.write(`Connection failed: ${error}\n`);
192
+ return false;
193
+ }
194
+ }
195
+ async function reconnect() {
196
+ if (reconnecting)
197
+ return;
198
+ reconnecting = true;
199
+ // Tear down old transport
200
+ const old = httpTransport;
201
+ httpTransport = null;
202
+ if (old) {
203
+ old.onclose = () => { };
204
+ old.onerror = () => { };
205
+ old.close().catch(() => { });
206
+ }
207
+ // Retry with exponential backoff
208
+ while (reconnecting) {
209
+ const delay = Math.min(1000 * Math.pow(2, Math.min(reconnectAttempts, 5)), 30_000);
210
+ reconnectAttempts++;
211
+ if (reconnectAttempts > 1) {
212
+ process.stderr.write(`Reconnecting (attempt ${reconnectAttempts}, ${delay}ms delay)...\n`);
213
+ }
214
+ else {
215
+ process.stderr.write("Reconnecting...\n");
216
+ }
217
+ await new Promise((r) => setTimeout(r, delay));
218
+ // Refresh token before reconnecting in case it expired
134
219
  try {
135
220
  const auth = await (0, auth_1.getAuthToken)(baseUrl);
136
221
  headers.Authorization = `Bearer ${auth.accessToken}`;
137
222
  }
138
- catch {
139
- process.stderr.write("Token refresh failed. Session may expire.\n");
223
+ catch { }
224
+ if (await connect()) {
225
+ process.stderr.write("Reconnected.\n");
226
+ // Flush any queued messages
227
+ flushPending();
228
+ return;
140
229
  }
141
230
  }
142
- }, 50 * 60 * 1000);
143
- // Bridge: stdio → HTTP → stdio
144
- stdioTransport.onmessage = (message) => {
145
- httpTransport.send(message).catch((error) => {
146
- process.stderr.write(`Error forwarding to server: ${error}\n`);
147
- const msg = message;
148
- if (msg.id !== undefined) {
231
+ }
232
+ // ---------------------------------------------------------------------------
233
+ // Message queue buffer messages while reconnecting
234
+ // ---------------------------------------------------------------------------
235
+ const pending = [];
236
+ const MAX_PENDING = 50;
237
+ function flushPending() {
238
+ while (pending.length > 0 && httpTransport) {
239
+ const entry = pending.shift();
240
+ const transport = httpTransport;
241
+ transport.send(entry.message).catch(() => {
242
+ // Failed again — return error to agent, don't re-queue forever
149
243
  stdioTransport.send({
150
244
  jsonrpc: "2.0",
151
- id: msg.id,
245
+ id: entry.id,
152
246
  error: {
153
247
  code: -32603,
154
248
  message: "Cohvu had a temporary connection issue. This is not a problem — just try your read or contribute call again.",
155
249
  },
156
250
  }).catch(() => { });
251
+ });
252
+ }
253
+ }
254
+ // ---------------------------------------------------------------------------
255
+ // Bridge: stdio → HTTP → stdio
256
+ // ---------------------------------------------------------------------------
257
+ stdioTransport.onmessage = async (message) => {
258
+ const msg = message;
259
+ // Check if session was lost on a previous request
260
+ if (sessionLost && httpTransport) {
261
+ reconnect();
262
+ }
263
+ // If no transport (reconnecting), queue the message
264
+ if (!httpTransport) {
265
+ if (msg.id !== undefined) {
266
+ if (pending.length < MAX_PENDING) {
267
+ pending.push({ message, id: msg.id });
268
+ }
269
+ else {
270
+ // Queue full — reject immediately
271
+ stdioTransport.send({
272
+ jsonrpc: "2.0",
273
+ id: msg.id,
274
+ error: {
275
+ code: -32603,
276
+ message: "Cohvu is reconnecting. Please try again in a moment.",
277
+ },
278
+ }).catch(() => { });
279
+ }
157
280
  }
158
- });
159
- };
160
- httpTransport.onmessage = (message) => {
161
- stdioTransport.send(message).catch((error) => {
162
- process.stderr.write(`Error forwarding to client: ${error}\n`);
163
- });
164
- };
165
- httpTransport.onclose = () => {
166
- stdioTransport.close().catch(() => { });
167
- process.exit(0);
281
+ return;
282
+ }
283
+ try {
284
+ await httpTransport.send(message);
285
+ }
286
+ catch (error) {
287
+ process.stderr.write(`Error forwarding to server: ${error}\n`);
288
+ // Queue for retry and reconnect
289
+ if (msg.id !== undefined) {
290
+ pending.push({ message, id: msg.id });
291
+ }
292
+ reconnect();
293
+ }
168
294
  };
169
295
  stdioTransport.onclose = () => {
170
- httpTransport.close().catch(() => { });
296
+ // Agent disconnected — clean up and exit
297
+ reconnecting = false;
298
+ if (httpTransport) {
299
+ httpTransport.onclose = () => { };
300
+ httpTransport.close().catch(() => { });
301
+ }
171
302
  process.exit(0);
172
303
  };
173
- httpTransport.onerror = (error) => {
174
- process.stderr.write(`Remote transport error: ${error}\n`);
175
- };
176
304
  stdioTransport.onerror = (error) => {
177
305
  process.stderr.write(`Stdio transport error: ${error}\n`);
178
306
  };
307
+ // ---------------------------------------------------------------------------
308
+ // Start
309
+ // ---------------------------------------------------------------------------
179
310
  await stdioTransport.start();
180
- await httpTransport.start();
311
+ await connect();
181
312
  }
182
313
  //# sourceMappingURL=proxy.js.map
package/dist/proxy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cohvu",
3
- "version": "1.0.21",
3
+ "version": "1.0.22",
4
4
  "description": "Cohvu — continuous memory for AI-native development",
5
5
  "bin": {
6
6
  "cohvu": "dist/index.js"