cohvu 0.3.2 → 0.4.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/index.js +283 -51
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.ts +1 -1
- package/dist/instructions.js +15 -35
- package/dist/instructions.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
// Cohvu CLI — lightweight MCP proxy.
|
|
4
|
-
// Handles auth via device flow, then bridges stdio to the remote MCP server.
|
|
3
|
+
// Cohvu CLI — lightweight MCP proxy + scope management.
|
|
5
4
|
//
|
|
6
5
|
// Usage:
|
|
7
6
|
// npx cohvu login — sign in with Google, auto-configure all platforms
|
|
8
7
|
// npx cohvu logout — remove saved credentials
|
|
9
8
|
// npx cohvu setup — regenerate platform configs and instruction files
|
|
9
|
+
// npx cohvu create — create a scope (free trial or checkout)
|
|
10
|
+
// npx cohvu billing — check billing status or manage subscription
|
|
11
|
+
// npx cohvu invite — show invite links for your scope
|
|
12
|
+
// npx cohvu members — manage scope members
|
|
10
13
|
// npx cohvu delete — delete a root scope (interactive)
|
|
11
14
|
// npx cohvu clear — clear all knowledge from a scope (interactive)
|
|
12
15
|
// npx cohvu — start MCP proxy (used by agent MCP config)
|
|
@@ -19,6 +22,7 @@ const fs_1 = require("fs");
|
|
|
19
22
|
const path_1 = require("path");
|
|
20
23
|
const os_1 = require("os");
|
|
21
24
|
const readline_1 = require("readline");
|
|
25
|
+
const child_process_1 = require("child_process");
|
|
22
26
|
const DEFAULT_BASE_URL = "https://api.cohvu.com";
|
|
23
27
|
const TOKENS_FILE = (0, path_1.join)((0, os_1.homedir)(), ".cohvu", "tokens.json");
|
|
24
28
|
const command = process.argv[2];
|
|
@@ -37,6 +41,30 @@ else if (command === "setup") {
|
|
|
37
41
|
process.exit(1);
|
|
38
42
|
});
|
|
39
43
|
}
|
|
44
|
+
else if (command === "create") {
|
|
45
|
+
createScope().catch((error) => {
|
|
46
|
+
process.stderr.write(`Create failed: ${error}\n`);
|
|
47
|
+
process.exit(1);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
else if (command === "billing") {
|
|
51
|
+
billing().catch((error) => {
|
|
52
|
+
process.stderr.write(`Billing failed: ${error}\n`);
|
|
53
|
+
process.exit(1);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
else if (command === "invite") {
|
|
57
|
+
invite().catch((error) => {
|
|
58
|
+
process.stderr.write(`Invite failed: ${error}\n`);
|
|
59
|
+
process.exit(1);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
else if (command === "members") {
|
|
63
|
+
members().catch((error) => {
|
|
64
|
+
process.stderr.write(`Members failed: ${error}\n`);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
40
68
|
else if (command === "delete") {
|
|
41
69
|
deleteScope().catch((error) => {
|
|
42
70
|
process.stderr.write(`Delete failed: ${error}\n`);
|
|
@@ -55,12 +83,76 @@ else {
|
|
|
55
83
|
process.exit(1);
|
|
56
84
|
});
|
|
57
85
|
}
|
|
86
|
+
function prompt(question) {
|
|
87
|
+
const rl = (0, readline_1.createInterface)({ input: process.stdin, output: process.stdout });
|
|
88
|
+
return new Promise((resolve) => {
|
|
89
|
+
rl.question(question, (answer) => {
|
|
90
|
+
rl.close();
|
|
91
|
+
resolve(answer.trim());
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
function openBrowser(url) {
|
|
96
|
+
const cmd = process.platform === "darwin"
|
|
97
|
+
? "open"
|
|
98
|
+
: process.platform === "win32"
|
|
99
|
+
? "start"
|
|
100
|
+
: "xdg-open";
|
|
101
|
+
(0, child_process_1.exec)(`${cmd} "${url}"`);
|
|
102
|
+
}
|
|
103
|
+
async function fetchMe(baseUrl, accessToken) {
|
|
104
|
+
const res = await fetch(`${baseUrl}/v1/auth/me`, {
|
|
105
|
+
headers: { Authorization: `Bearer ${accessToken}` },
|
|
106
|
+
});
|
|
107
|
+
if (!res.ok)
|
|
108
|
+
throw new Error(`Failed to fetch account info: ${res.status}`);
|
|
109
|
+
return (await res.json());
|
|
110
|
+
}
|
|
111
|
+
async function resolveScope(baseUrl, accessToken, label) {
|
|
112
|
+
const me = await fetchMe(baseUrl, accessToken);
|
|
113
|
+
const rootScopes = me.scopes.filter((s) => s.is_root);
|
|
114
|
+
if (rootScopes.length === 0) {
|
|
115
|
+
console.log("You have no scopes. Run `npx cohvu create` first.");
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
if (rootScopes.length === 1)
|
|
119
|
+
return rootScopes[0];
|
|
120
|
+
console.log(`\nYour scopes:\n`);
|
|
121
|
+
rootScopes.forEach((s, i) => {
|
|
122
|
+
console.log(` ${i + 1}. ${s.name} (${s.slug})`);
|
|
123
|
+
});
|
|
124
|
+
const choice = await prompt(`\n${label} (1-${rootScopes.length}): `);
|
|
125
|
+
const index = parseInt(choice, 10) - 1;
|
|
126
|
+
if (isNaN(index) || index < 0 || index >= rootScopes.length) {
|
|
127
|
+
console.log("Canceled.");
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
return rootScopes[index];
|
|
131
|
+
}
|
|
132
|
+
// ---------------------------------------------------------------------------
|
|
133
|
+
// Commands
|
|
134
|
+
// ---------------------------------------------------------------------------
|
|
58
135
|
async function login() {
|
|
59
136
|
const baseUrl = process.env.COHVU_API_URL ?? DEFAULT_BASE_URL;
|
|
60
137
|
await (0, auth_1.deviceAuthFlow)(baseUrl);
|
|
61
138
|
console.log("Logged in.");
|
|
62
139
|
const results = await (0, setup_1.runSetup)();
|
|
63
140
|
(0, setup_1.printSetupResults)(results);
|
|
141
|
+
// Check if user has scopes — if not, offer to create one
|
|
142
|
+
try {
|
|
143
|
+
const auth = await (0, auth_1.getAuthToken)(baseUrl);
|
|
144
|
+
const me = await fetchMe(baseUrl, auth.accessToken);
|
|
145
|
+
const rootScopes = me.scopes.filter((s) => s.is_root);
|
|
146
|
+
if (rootScopes.length === 0) {
|
|
147
|
+
const answer = await prompt("Create your first scope? (Y/n): ");
|
|
148
|
+
if (answer.toLowerCase() !== "n") {
|
|
149
|
+
await doCreateScope(baseUrl, auth.accessToken);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
// Non-fatal — setup already succeeded
|
|
155
|
+
}
|
|
64
156
|
}
|
|
65
157
|
async function setup() {
|
|
66
158
|
const results = await (0, setup_1.runSetup)();
|
|
@@ -75,42 +167,187 @@ function logout() {
|
|
|
75
167
|
console.log("No credentials found.");
|
|
76
168
|
}
|
|
77
169
|
}
|
|
78
|
-
function
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
170
|
+
async function doCreateScope(baseUrl, accessToken) {
|
|
171
|
+
const name = await prompt("Scope name (e.g. My Project): ");
|
|
172
|
+
if (!name) {
|
|
173
|
+
console.log("Canceled.");
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
// Derive slug from name
|
|
177
|
+
const slug = name
|
|
178
|
+
.toLowerCase()
|
|
179
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
180
|
+
.replace(/^-+|-+$/g, "");
|
|
181
|
+
// Create scope via REST API
|
|
182
|
+
const createRes = await fetch(`${baseUrl}/v1/scopes`, {
|
|
183
|
+
method: "POST",
|
|
184
|
+
headers: {
|
|
185
|
+
Authorization: `Bearer ${accessToken}`,
|
|
186
|
+
"Content-Type": "application/json",
|
|
187
|
+
},
|
|
188
|
+
body: JSON.stringify({ name, slug }),
|
|
189
|
+
});
|
|
190
|
+
if (!createRes.ok) {
|
|
191
|
+
const body = await createRes.text();
|
|
192
|
+
throw new Error(`Failed to create scope: ${createRes.status} ${body}`);
|
|
193
|
+
}
|
|
194
|
+
const scope = (await createRes.json());
|
|
195
|
+
console.log(`\nScope "${scope.name}" created.`);
|
|
196
|
+
// Trial started — no checkout needed
|
|
197
|
+
if (scope.trial_ends_at) {
|
|
198
|
+
const trialEnd = new Date(scope.trial_ends_at);
|
|
199
|
+
console.log(`Free trial active until ${trialEnd.toLocaleDateString()}.`);
|
|
200
|
+
console.log("Your agents will connect automatically.\n");
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
// No trial (already used) — go to checkout
|
|
204
|
+
const checkoutRes = await fetch(`${baseUrl}/v1/scopes/${scope.id}/checkout`, {
|
|
205
|
+
method: "POST",
|
|
206
|
+
headers: {
|
|
207
|
+
Authorization: `Bearer ${accessToken}`,
|
|
208
|
+
"Content-Type": "application/json",
|
|
209
|
+
},
|
|
85
210
|
});
|
|
211
|
+
if (checkoutRes.ok) {
|
|
212
|
+
const checkout = (await checkoutRes.json());
|
|
213
|
+
if (checkout.checkout_url) {
|
|
214
|
+
console.log("Opening checkout...\n");
|
|
215
|
+
openBrowser(checkout.checkout_url);
|
|
216
|
+
console.log("Complete payment in your browser to activate the scope.");
|
|
217
|
+
console.log("After payment, your agents will connect automatically.\n");
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
console.log("Your agents will connect automatically.\n");
|
|
86
222
|
}
|
|
87
|
-
async function
|
|
223
|
+
async function createScope() {
|
|
224
|
+
const baseUrl = process.env.COHVU_API_URL ?? DEFAULT_BASE_URL;
|
|
225
|
+
const auth = await (0, auth_1.getAuthToken)(baseUrl);
|
|
226
|
+
await doCreateScope(baseUrl, auth.accessToken);
|
|
227
|
+
}
|
|
228
|
+
async function billing() {
|
|
229
|
+
const baseUrl = process.env.COHVU_API_URL ?? DEFAULT_BASE_URL;
|
|
230
|
+
const auth = await (0, auth_1.getAuthToken)(baseUrl);
|
|
231
|
+
const scope = await resolveScope(baseUrl, auth.accessToken, "Which scope?");
|
|
232
|
+
if (!scope)
|
|
233
|
+
return;
|
|
234
|
+
// Fetch billing status
|
|
235
|
+
const billingRes = await fetch(`${baseUrl}/v1/scopes/${scope.scope_id}/billing`, {
|
|
236
|
+
headers: { Authorization: `Bearer ${auth.accessToken}` },
|
|
237
|
+
});
|
|
238
|
+
if (!billingRes.ok) {
|
|
239
|
+
if (billingRes.status === 404) {
|
|
240
|
+
console.log("\nNo billing configured for this scope.");
|
|
241
|
+
console.log("Run `npx cohvu create` to set up a new paid scope.\n");
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
throw new Error(`Failed to fetch billing: ${billingRes.status}`);
|
|
245
|
+
}
|
|
246
|
+
const data = (await billingRes.json());
|
|
247
|
+
if (!data.subscription) {
|
|
248
|
+
console.log(`\n${scope.name}: No active subscription.`);
|
|
249
|
+
console.log("Run `npx cohvu create` to set up billing.\n");
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
const sub = data.subscription;
|
|
253
|
+
console.log(`\n${scope.name}`);
|
|
254
|
+
console.log(` Status: ${sub.status}`);
|
|
255
|
+
console.log(` Seats: ${sub.seat_count}`);
|
|
256
|
+
console.log(` Renews: ${new Date(sub.current_period_end).toLocaleDateString()}`);
|
|
257
|
+
if (sub.cancel_at_period_end) {
|
|
258
|
+
console.log(` Cancels at period end`);
|
|
259
|
+
}
|
|
260
|
+
// Offer to open portal
|
|
261
|
+
const answer = await prompt("\nOpen billing portal? (y/N): ");
|
|
262
|
+
if (answer.toLowerCase() === "y") {
|
|
263
|
+
const portalRes = await fetch(`${baseUrl}/v1/scopes/${scope.scope_id}/billing/portal`, {
|
|
264
|
+
method: "POST",
|
|
265
|
+
headers: {
|
|
266
|
+
Authorization: `Bearer ${auth.accessToken}`,
|
|
267
|
+
"Content-Type": "application/json",
|
|
268
|
+
},
|
|
269
|
+
body: JSON.stringify({ return_url: `${baseUrl}/v1/checkout/success` }),
|
|
270
|
+
});
|
|
271
|
+
if (portalRes.ok) {
|
|
272
|
+
const portal = (await portalRes.json());
|
|
273
|
+
openBrowser(portal.url);
|
|
274
|
+
console.log("Opened billing portal in your browser.\n");
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
console.log("Could not open billing portal.\n");
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
async function invite() {
|
|
282
|
+
const baseUrl = process.env.COHVU_API_URL ?? DEFAULT_BASE_URL;
|
|
283
|
+
const auth = await (0, auth_1.getAuthToken)(baseUrl);
|
|
284
|
+
const scope = await resolveScope(baseUrl, auth.accessToken, "Which scope?");
|
|
285
|
+
if (!scope)
|
|
286
|
+
return;
|
|
287
|
+
console.log(`\n${scope.name}\n`);
|
|
288
|
+
if (scope.people_link) {
|
|
289
|
+
console.log(` Invite teammates: ${scope.people_link}`);
|
|
290
|
+
}
|
|
291
|
+
if (scope.agent_link) {
|
|
292
|
+
console.log(` Agent link: ${scope.agent_link}`);
|
|
293
|
+
}
|
|
294
|
+
if (!scope.people_link && !scope.agent_link) {
|
|
295
|
+
console.log(" No invite links available.");
|
|
296
|
+
}
|
|
297
|
+
console.log();
|
|
298
|
+
}
|
|
299
|
+
async function members() {
|
|
88
300
|
const baseUrl = process.env.COHVU_API_URL ?? DEFAULT_BASE_URL;
|
|
89
301
|
const auth = await (0, auth_1.getAuthToken)(baseUrl);
|
|
90
|
-
|
|
91
|
-
|
|
302
|
+
const scope = await resolveScope(baseUrl, auth.accessToken, "Which scope?");
|
|
303
|
+
if (!scope)
|
|
304
|
+
return;
|
|
305
|
+
const membersRes = await fetch(`${baseUrl}/v1/scopes/${scope.scope_id}/members`, {
|
|
92
306
|
headers: { Authorization: `Bearer ${auth.accessToken}` },
|
|
93
307
|
});
|
|
94
|
-
if (!
|
|
95
|
-
throw new Error(`Failed to fetch
|
|
96
|
-
|
|
97
|
-
const
|
|
98
|
-
if (
|
|
99
|
-
console.log("
|
|
308
|
+
if (!membersRes.ok) {
|
|
309
|
+
throw new Error(`Failed to fetch members: ${membersRes.status}`);
|
|
310
|
+
}
|
|
311
|
+
const memberList = (await membersRes.json());
|
|
312
|
+
if (memberList.length === 0) {
|
|
313
|
+
console.log("\nNo members.\n");
|
|
100
314
|
return;
|
|
101
315
|
}
|
|
102
|
-
console.log("
|
|
103
|
-
|
|
104
|
-
console.log(` ${i + 1}. ${
|
|
316
|
+
console.log(`\n${scope.name} — ${memberList.length} member${memberList.length === 1 ? "" : "s"}\n`);
|
|
317
|
+
memberList.forEach((m, i) => {
|
|
318
|
+
console.log(` ${i + 1}. ${m.name ?? m.email ?? m.user_id} (${m.email ?? "no email"})`);
|
|
105
319
|
});
|
|
106
|
-
const choice = await prompt(
|
|
320
|
+
const choice = await prompt("\nRemove a member? Enter number (or press Enter to skip): ");
|
|
321
|
+
if (!choice)
|
|
322
|
+
return;
|
|
107
323
|
const index = parseInt(choice, 10) - 1;
|
|
108
|
-
if (isNaN(index) || index < 0 || index >=
|
|
324
|
+
if (isNaN(index) || index < 0 || index >= memberList.length) {
|
|
325
|
+
console.log("Canceled.");
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
const target = memberList[index];
|
|
329
|
+
const confirm = await prompt(`Remove ${target.name ?? target.email ?? target.user_id}? (y/N): `);
|
|
330
|
+
if (confirm.toLowerCase() !== "y") {
|
|
109
331
|
console.log("Canceled.");
|
|
110
332
|
return;
|
|
111
333
|
}
|
|
112
|
-
const
|
|
113
|
-
|
|
334
|
+
const removeRes = await fetch(`${baseUrl}/v1/scopes/${scope.scope_id}/members/${target.user_id}`, {
|
|
335
|
+
method: "DELETE",
|
|
336
|
+
headers: { Authorization: `Bearer ${auth.accessToken}` },
|
|
337
|
+
});
|
|
338
|
+
if (!removeRes.ok) {
|
|
339
|
+
const body = await removeRes.text();
|
|
340
|
+
throw new Error(`Remove failed: ${removeRes.status} ${body}`);
|
|
341
|
+
}
|
|
342
|
+
console.log(`\nRemoved ${target.name ?? target.email ?? target.user_id}.\n`);
|
|
343
|
+
}
|
|
344
|
+
async function deleteScope() {
|
|
345
|
+
const baseUrl = process.env.COHVU_API_URL ?? DEFAULT_BASE_URL;
|
|
346
|
+
const auth = await (0, auth_1.getAuthToken)(baseUrl);
|
|
347
|
+
const scope = await resolveScope(baseUrl, auth.accessToken, "Which scope do you want to delete?");
|
|
348
|
+
if (!scope)
|
|
349
|
+
return;
|
|
350
|
+
console.log(`\nThis will permanently delete "${scope.name}" and ALL its knowledge and memberships.`);
|
|
114
351
|
console.log("This cannot be undone.\n");
|
|
115
352
|
const confirm = await prompt(`Type "${scope.slug}" to confirm: `);
|
|
116
353
|
if (confirm !== scope.slug) {
|
|
@@ -125,34 +362,15 @@ async function deleteScope() {
|
|
|
125
362
|
const body = await deleteRes.text();
|
|
126
363
|
throw new Error(`Delete failed: ${deleteRes.status} ${body}`);
|
|
127
364
|
}
|
|
128
|
-
console.log(`\nDeleted "${scope.name}"
|
|
365
|
+
console.log(`\nDeleted "${scope.name}".\n`);
|
|
129
366
|
}
|
|
130
367
|
async function clearScope() {
|
|
131
368
|
const baseUrl = process.env.COHVU_API_URL ?? DEFAULT_BASE_URL;
|
|
132
369
|
const auth = await (0, auth_1.getAuthToken)(baseUrl);
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
});
|
|
136
|
-
if (!meRes.ok)
|
|
137
|
-
throw new Error(`Failed to fetch account info: ${meRes.status}`);
|
|
138
|
-
const me = (await meRes.json());
|
|
139
|
-
const rootScopes = me.scopes.filter((s) => s.is_root);
|
|
140
|
-
if (rootScopes.length === 0) {
|
|
141
|
-
console.log("You have no root scopes.");
|
|
370
|
+
const scope = await resolveScope(baseUrl, auth.accessToken, "Which scope do you want to clear?");
|
|
371
|
+
if (!scope)
|
|
142
372
|
return;
|
|
143
|
-
}
|
|
144
|
-
console.log("\nYour root scopes:\n");
|
|
145
|
-
rootScopes.forEach((s, i) => {
|
|
146
|
-
console.log(` ${i + 1}. ${s.name} (${s.slug})`);
|
|
147
|
-
});
|
|
148
|
-
const choice = await prompt(`\nWhich scope do you want to clear? (1-${rootScopes.length}): `);
|
|
149
|
-
const index = parseInt(choice, 10) - 1;
|
|
150
|
-
if (isNaN(index) || index < 0 || index >= rootScopes.length) {
|
|
151
|
-
console.log("Canceled.");
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
const scope = rootScopes[index];
|
|
155
|
-
console.log(`\nThis will remove ALL elements and connections from "${scope.name}".`);
|
|
373
|
+
console.log(`\nThis will remove ALL knowledge from "${scope.name}".`);
|
|
156
374
|
console.log("The scope itself, billing, and memberships are kept.\n");
|
|
157
375
|
const confirm = await prompt(`Type "${scope.slug}" to confirm: `);
|
|
158
376
|
if (confirm !== scope.slug) {
|
|
@@ -168,8 +386,11 @@ async function clearScope() {
|
|
|
168
386
|
throw new Error(`Clear failed: ${clearRes.status} ${body}`);
|
|
169
387
|
}
|
|
170
388
|
const result = (await clearRes.json());
|
|
171
|
-
console.log(`\nCleared "${scope.name}". Removed ${result.elements_removed} elements
|
|
389
|
+
console.log(`\nCleared "${scope.name}". Removed ${result.elements_removed} elements.\n`);
|
|
172
390
|
}
|
|
391
|
+
// ---------------------------------------------------------------------------
|
|
392
|
+
// MCP Proxy
|
|
393
|
+
// ---------------------------------------------------------------------------
|
|
173
394
|
async function proxy() {
|
|
174
395
|
const baseUrl = process.env.COHVU_API_URL ?? DEFAULT_BASE_URL;
|
|
175
396
|
let accessToken;
|
|
@@ -205,8 +426,7 @@ async function proxy() {
|
|
|
205
426
|
const headers = {
|
|
206
427
|
Authorization: `Bearer ${accessToken}`,
|
|
207
428
|
};
|
|
208
|
-
//
|
|
209
|
-
// Custom fetch adds a 60s timeout on POST requests to prevent indefinite hangs.
|
|
429
|
+
// Custom fetch adds a 300s timeout on POST requests to prevent indefinite hangs.
|
|
210
430
|
// GET requests (SSE streams) are left untouched — they're meant to be long-lived.
|
|
211
431
|
const timeoutFetch = (url, init) => {
|
|
212
432
|
if (init?.method === 'POST') {
|
|
@@ -233,6 +453,18 @@ async function proxy() {
|
|
|
233
453
|
stdioTransport.onmessage = (message) => {
|
|
234
454
|
httpTransport.send(message).catch((error) => {
|
|
235
455
|
process.stderr.write(`Error forwarding to server: ${error}\n`);
|
|
456
|
+
// Send JSON-RPC error back so the agent gets an immediate error instead of hanging
|
|
457
|
+
const msg = message;
|
|
458
|
+
if (msg.id !== undefined) {
|
|
459
|
+
stdioTransport.send({
|
|
460
|
+
jsonrpc: "2.0",
|
|
461
|
+
id: msg.id,
|
|
462
|
+
error: {
|
|
463
|
+
code: -32603,
|
|
464
|
+
message: `Server request failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
465
|
+
},
|
|
466
|
+
}).catch(() => { });
|
|
467
|
+
}
|
|
236
468
|
});
|
|
237
469
|
};
|
|
238
470
|
httpTransport.onmessage = (message) => {
|
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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"}
|
package/dist/instructions.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const COHVU_INSTRUCTIONS = "You are connected to Cohvu \u2014
|
|
1
|
+
export declare const COHVU_INSTRUCTIONS = "You are connected to Cohvu \u2014 continuous understanding for AI-native development. You're not starting from scratch. Other agents have worked in this space before you, and the understanding they built is available to you now. What you contribute will shape how every future agent understands this project.\n\n## How to work\n\nAlways call `read` before starting work. Prior agents may have recorded decisions, constraints, or hard-won understanding that directly affects your task. Pass a query to find relevant knowledge.\n\nUse `contribute` as you work \u2014 not after, not as a summary, but in the moment. Just text. The system handles deduplication and merging automatically. The most valuable contributions aren't descriptions of what you changed \u2014 that's in the git history. What matters is your reasoning, your judgment, your perspective. Why you chose this approach, what felt off, what shifted your thinking.\n\nYou don't need to narrate your contributions to the user. This is just how you work now.";
|
|
2
2
|
export declare const MARKER_START = "<!-- cohvu:start -->";
|
|
3
3
|
export declare const MARKER_END = "<!-- cohvu:end -->";
|
|
4
4
|
export declare function markedSection(): string;
|
package/dist/instructions.js
CHANGED
|
@@ -5,47 +5,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
5
5
|
exports.MARKER_END = exports.MARKER_START = exports.COHVU_INSTRUCTIONS = void 0;
|
|
6
6
|
exports.markedSection = markedSection;
|
|
7
7
|
exports.COHVU_INSTRUCTIONS = `\
|
|
8
|
-
You are connected to Cohvu —
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
You are connected to Cohvu — continuous understanding for \
|
|
9
|
+
AI-native development. You're not starting from scratch. \
|
|
10
|
+
Other agents have worked in this space before you, and the \
|
|
11
|
+
understanding they built is available to you now. What you \
|
|
12
|
+
contribute will shape how every future agent understands this project.
|
|
13
13
|
|
|
14
14
|
## How to work
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
a gap in your understanding, think you might be missing something, \
|
|
20
|
-
or the conversation shifts in a way that feels like a step was \
|
|
21
|
-
skipped. The graph may have been updated since you last checked.
|
|
16
|
+
Always call \`read\` before starting work. Prior agents may have \
|
|
17
|
+
recorded decisions, constraints, or hard-won understanding that \
|
|
18
|
+
directly affects your task. Pass a query to find relevant knowledge.
|
|
22
19
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
What matters is what lives nowhere else — not what you changed \
|
|
31
|
-
(that's in git), but why. Your reasoning. What felt off. What \
|
|
32
|
-
clicked. Pay attention to what's building up in the conversation \
|
|
33
|
-
— what the user cares about, what they're driving toward, the \
|
|
34
|
-
context behind the task. That understanding is invisible to \
|
|
35
|
-
everyone unless you capture it — contribute it as soon as you \
|
|
36
|
-
see it, don't save it for later.
|
|
37
|
-
|
|
38
|
-
Enrich existing elements instead of creating duplicates. Remove \
|
|
39
|
-
elements that are stale or no longer relevant. If something in \
|
|
40
|
-
the graph is wrong, update it. Disagreement is how the graph \
|
|
41
|
-
converges. The system tracks every version automatically.
|
|
42
|
-
|
|
43
|
-
Use \`connects_to\` to link related knowledge. Connections turn \
|
|
44
|
-
isolated contributions into understanding.
|
|
20
|
+
Use \`contribute\` as you work — not after, not as a summary, but \
|
|
21
|
+
in the moment. Just text. The system handles deduplication and \
|
|
22
|
+
merging automatically. The most valuable contributions aren't \
|
|
23
|
+
descriptions of what you changed — that's in the git history. What \
|
|
24
|
+
matters is your reasoning, your judgment, your perspective. Why you \
|
|
25
|
+
chose this approach, what felt off, what shifted your thinking.
|
|
45
26
|
|
|
46
27
|
You don't need to narrate your contributions to the user. \
|
|
47
|
-
|
|
48
|
-
from the start of the session to the end.`;
|
|
28
|
+
This is just how you work now.`;
|
|
49
29
|
exports.MARKER_START = "<!-- cohvu:start -->";
|
|
50
30
|
exports.MARKER_END = "<!-- cohvu:end -->";
|
|
51
31
|
function markedSection() {
|
package/dist/instructions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,mEAAmE;;;
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,mEAAmE;;;AA4BnE,sCAEC;AA5BY,QAAA,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;+BAqBH,CAAC;AAEnB,QAAA,YAAY,GAAG,sBAAsB,CAAC;AACtC,QAAA,UAAU,GAAG,oBAAoB,CAAC;AAE/C,SAAgB,aAAa;IAC3B,OAAO,GAAG,oBAAY,gBAAgB,0BAAkB,KAAK,kBAAU,EAAE,CAAC;AAC5E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cohvu",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Cohvu —
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "Cohvu — continuous understanding for AI-native development",
|
|
5
5
|
"bin": {
|
|
6
6
|
"cohvu": "dist/index.js"
|
|
7
7
|
},
|