cohvu 0.3.2 → 0.5.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 +295 -63
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.ts +1 -1
- package/dist/instructions.js +6 -39
- package/dist/instructions.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
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 + project 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
|
|
10
|
-
// npx cohvu
|
|
11
|
-
// npx cohvu
|
|
9
|
+
// npx cohvu create — create a project (free trial or checkout)
|
|
10
|
+
// npx cohvu billing — check billing status or manage subscription
|
|
11
|
+
// npx cohvu invite — show invite links for your project
|
|
12
|
+
// npx cohvu members — manage project members
|
|
13
|
+
// npx cohvu delete — delete a root project (interactive)
|
|
14
|
+
// npx cohvu clear — clear all knowledge from a project (interactive)
|
|
12
15
|
// npx cohvu — start MCP proxy (used by agent MCP config)
|
|
13
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
17
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
@@ -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,14 +41,38 @@ else if (command === "setup") {
|
|
|
37
41
|
process.exit(1);
|
|
38
42
|
});
|
|
39
43
|
}
|
|
44
|
+
else if (command === "create") {
|
|
45
|
+
createProject().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
|
+
deleteProject().catch((error) => {
|
|
42
70
|
process.stderr.write(`Delete failed: ${error}\n`);
|
|
43
71
|
process.exit(1);
|
|
44
72
|
});
|
|
45
73
|
}
|
|
46
74
|
else if (command === "clear") {
|
|
47
|
-
|
|
75
|
+
clearProject().catch((error) => {
|
|
48
76
|
process.stderr.write(`Clear failed: ${error}\n`);
|
|
49
77
|
process.exit(1);
|
|
50
78
|
});
|
|
@@ -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 resolveProject(baseUrl, accessToken, label) {
|
|
112
|
+
const me = await fetchMe(baseUrl, accessToken);
|
|
113
|
+
const rootProjects = me.projects.filter((s) => s.is_root);
|
|
114
|
+
if (rootProjects.length === 0) {
|
|
115
|
+
console.log("You have no projects. Run `npx cohvu create` first.");
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
if (rootProjects.length === 1)
|
|
119
|
+
return rootProjects[0];
|
|
120
|
+
console.log(`\nYour projects:\n`);
|
|
121
|
+
rootProjects.forEach((s, i) => {
|
|
122
|
+
console.log(` ${i + 1}. ${s.name} (${s.slug})`);
|
|
123
|
+
});
|
|
124
|
+
const choice = await prompt(`\n${label} (1-${rootProjects.length}): `);
|
|
125
|
+
const index = parseInt(choice, 10) - 1;
|
|
126
|
+
if (isNaN(index) || index < 0 || index >= rootProjects.length) {
|
|
127
|
+
console.log("Canceled.");
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
return rootProjects[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 projects — 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 rootProjects = me.projects.filter((s) => s.is_root);
|
|
146
|
+
if (rootProjects.length === 0) {
|
|
147
|
+
const answer = await prompt("Create your first project? (Y/n): ");
|
|
148
|
+
if (answer.toLowerCase() !== "n") {
|
|
149
|
+
await doCreateProject(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,49 +167,194 @@ 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 doCreateProject(baseUrl, accessToken) {
|
|
171
|
+
const name = await prompt("Project 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 project via REST API
|
|
182
|
+
const createRes = await fetch(`${baseUrl}/v1/projects`, {
|
|
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 project: ${createRes.status} ${body}`);
|
|
193
|
+
}
|
|
194
|
+
const project = (await createRes.json());
|
|
195
|
+
console.log(`\nProject "${project.name}" created.`);
|
|
196
|
+
// Trial started — no checkout needed
|
|
197
|
+
if (project.trial_ends_at) {
|
|
198
|
+
const trialEnd = new Date(project.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/projects/${project.id}/checkout`, {
|
|
205
|
+
method: "POST",
|
|
206
|
+
headers: {
|
|
207
|
+
Authorization: `Bearer ${accessToken}`,
|
|
208
|
+
"Content-Type": "application/json",
|
|
209
|
+
},
|
|
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 project.");
|
|
217
|
+
console.log("After payment, your agents will connect automatically.\n");
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
console.log("Your agents will connect automatically.\n");
|
|
222
|
+
}
|
|
223
|
+
async function createProject() {
|
|
224
|
+
const baseUrl = process.env.COHVU_API_URL ?? DEFAULT_BASE_URL;
|
|
225
|
+
const auth = await (0, auth_1.getAuthToken)(baseUrl);
|
|
226
|
+
await doCreateProject(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 project = await resolveProject(baseUrl, auth.accessToken, "Which project?");
|
|
232
|
+
if (!project)
|
|
233
|
+
return;
|
|
234
|
+
// Fetch billing status
|
|
235
|
+
const billingRes = await fetch(`${baseUrl}/v1/projects/${project.project_id}/billing`, {
|
|
236
|
+
headers: { Authorization: `Bearer ${auth.accessToken}` },
|
|
85
237
|
});
|
|
238
|
+
if (!billingRes.ok) {
|
|
239
|
+
if (billingRes.status === 404) {
|
|
240
|
+
console.log("\nNo billing configured for this project.");
|
|
241
|
+
console.log("Run `npx cohvu create` to set up a new paid project.\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${project.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${project.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/projects/${project.project_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 project = await resolveProject(baseUrl, auth.accessToken, "Which project?");
|
|
285
|
+
if (!project)
|
|
286
|
+
return;
|
|
287
|
+
console.log(`\n${project.name}\n`);
|
|
288
|
+
if (project.people_link) {
|
|
289
|
+
console.log(` Invite teammates: ${project.people_link}`);
|
|
290
|
+
}
|
|
291
|
+
if (project.agent_link) {
|
|
292
|
+
console.log(` Agent link: ${project.agent_link}`);
|
|
293
|
+
}
|
|
294
|
+
if (!project.people_link && !project.agent_link) {
|
|
295
|
+
console.log(" No invite links available.");
|
|
296
|
+
}
|
|
297
|
+
console.log();
|
|
86
298
|
}
|
|
87
|
-
async function
|
|
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 project = await resolveProject(baseUrl, auth.accessToken, "Which project?");
|
|
303
|
+
if (!project)
|
|
304
|
+
return;
|
|
305
|
+
const membersRes = await fetch(`${baseUrl}/v1/projects/${project.project_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${project.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/projects/${project.project_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 deleteProject() {
|
|
345
|
+
const baseUrl = process.env.COHVU_API_URL ?? DEFAULT_BASE_URL;
|
|
346
|
+
const auth = await (0, auth_1.getAuthToken)(baseUrl);
|
|
347
|
+
const project = await resolveProject(baseUrl, auth.accessToken, "Which project do you want to delete?");
|
|
348
|
+
if (!project)
|
|
349
|
+
return;
|
|
350
|
+
console.log(`\nThis will permanently delete "${project.name}" and ALL its knowledge and memberships.`);
|
|
114
351
|
console.log("This cannot be undone.\n");
|
|
115
|
-
const confirm = await prompt(`Type "${
|
|
116
|
-
if (confirm !==
|
|
352
|
+
const confirm = await prompt(`Type "${project.slug}" to confirm: `);
|
|
353
|
+
if (confirm !== project.slug) {
|
|
117
354
|
console.log("Canceled.");
|
|
118
355
|
return;
|
|
119
356
|
}
|
|
120
|
-
const deleteRes = await fetch(`${baseUrl}/v1/
|
|
357
|
+
const deleteRes = await fetch(`${baseUrl}/v1/projects/${project.project_id}`, {
|
|
121
358
|
method: "DELETE",
|
|
122
359
|
headers: { Authorization: `Bearer ${auth.accessToken}` },
|
|
123
360
|
});
|
|
@@ -125,41 +362,22 @@ 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 "${
|
|
365
|
+
console.log(`\nDeleted "${project.name}".\n`);
|
|
129
366
|
}
|
|
130
|
-
async function
|
|
367
|
+
async function clearProject() {
|
|
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.");
|
|
142
|
-
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.");
|
|
370
|
+
const project = await resolveProject(baseUrl, auth.accessToken, "Which project do you want to clear?");
|
|
371
|
+
if (!project)
|
|
152
372
|
return;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
const confirm = await prompt(`Type "${scope.slug}" to confirm: `);
|
|
158
|
-
if (confirm !== scope.slug) {
|
|
373
|
+
console.log(`\nThis will remove ALL knowledge from "${project.name}".`);
|
|
374
|
+
console.log("The project itself, billing, and memberships are kept.\n");
|
|
375
|
+
const confirm = await prompt(`Type "${project.slug}" to confirm: `);
|
|
376
|
+
if (confirm !== project.slug) {
|
|
159
377
|
console.log("Canceled.");
|
|
160
378
|
return;
|
|
161
379
|
}
|
|
162
|
-
const clearRes = await fetch(`${baseUrl}/v1/
|
|
380
|
+
const clearRes = await fetch(`${baseUrl}/v1/projects/${project.project_id}/knowledge`, {
|
|
163
381
|
method: "DELETE",
|
|
164
382
|
headers: { Authorization: `Bearer ${auth.accessToken}` },
|
|
165
383
|
});
|
|
@@ -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 "${
|
|
389
|
+
console.log(`\nCleared "${project.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":";;AAEA,0DAA0D;AAC1D,EAAE;AACF,SAAS;AACT,0EAA0E;AAC1E,iDAAiD;AACjD,0EAA0E;AAC1E,kEAAkE;AAClE,oEAAoE;AACpE,2DAA2D;AAC3D,+CAA+C;AAC/C,4DAA4D;AAC5D,yEAAyE;AACzE,mEAAmE;;AAEnE,wEAAiF;AACjF,0FAAmG;AACnG,iCAAsD;AACtD,mCAA2E;AAC3E,2BAA4C;AAC5C,+BAA4B;AAC5B,2BAA6B;AAC7B,uCAA2C;AAC3C,iDAAqC;AAErC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AACjD,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAE7D,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEhC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;IACxB,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC;AACX,CAAC;KAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;IAC/B,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;IAChC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;IACjC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;IACjC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;IAChC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;IAC/B,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,IAAI,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAkBD,SAAS,MAAM,CAAC,QAAgB;IAC9B,MAAM,EAAE,GAAG,IAAA,0BAAe,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,GAAG,GACP,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAC3B,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC5B,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,UAAU,CAAC;IACnB,IAAA,oBAAI,EAAC,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,OAAe,EAAE,WAAmB;IACzD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,aAAa,EAAE;QAC/C,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,WAAW,EAAE,EAAE;KACpD,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAe,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAAe,EACf,WAAmB,EACnB,KAAa;IAEb,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE1D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IAEtD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,KAAK,OAAO,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,KAAK,UAAU,KAAK;IAClB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAC9D,MAAM,IAAA,qBAAc,EAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,MAAM,IAAA,gBAAQ,GAAE,CAAC;IACjC,IAAA,yBAAiB,EAAC,OAAO,CAAC,CAAC;IAE3B,2DAA2D;IAC3D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;YAClE,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBACjC,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,KAAK;IAClB,MAAM,OAAO,GAAG,MAAM,IAAA,gBAAQ,GAAE,CAAC;IACjC,IAAA,yBAAiB,EAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,MAAM;IACb,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAA,eAAU,EAAC,WAAW,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,WAAmB;IACjE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,wBAAwB;IACxB,MAAM,IAAI,GAAG,IAAI;SACd,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAE3B,8BAA8B;IAC9B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,cAAc,EAAE;QACtD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,WAAW,EAAE;YACtC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;KACrC,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAA6E,CAAC;IACrH,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC;IAEpD,qCAAqC;IACrC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,2CAA2C;IAC3C,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,OAAO,CAAC,EAAE,WAAW,EAAE;QAC/E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,WAAW,EAAE;YACtC,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAA6B,CAAC;QACxE,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACrC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAC9D,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IACzC,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAC9D,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAClF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,uBAAuB;IACvB,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,OAAO,CAAC,UAAU,UAAU,EAAE;QACrF,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE,EAAE;KACzD,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,CAOpC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,2BAA2B,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAClF,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAED,uBAAuB;IACvB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAC9D,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,OAAO,CAAC,UAAU,iBAAiB,EAAE;YAC3F,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;gBAC3C,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,sBAAsB,EAAE,CAAC;SACvE,CAAC,CAAC;QAEH,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAAoB,CAAC;YAC3D,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAC9D,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAClF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;IAEnC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAC9D,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAClF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,OAAO,CAAC,UAAU,UAAU,EAAE;QACrF,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE,EAAE;KACzD,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,CAKzC,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,MAAM,UAAU,CAAC,MAAM,UAAU,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACtG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,IAAI,UAAU,GAAG,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,4DAA4D,CAAC,CAAC;IAC1F,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;IACjG,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,OAAO,CAAC,UAAU,YAAY,MAAM,CAAC,OAAO,EAAE,EAAE;QACtG,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE,EAAE;KACzD,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,kBAAkB,SAAS,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC;AAC/E,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAC9D,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,sCAAsC,CAAC,CAAC;IACxG,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,OAAO,CAAC,GAAG,CAAC,mCAAmC,OAAO,CAAC,IAAI,0CAA0C,CAAC,CAAC;IACvG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,OAAO,CAAC,IAAI,gBAAgB,CAAC,CAAC;IACpE,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,OAAO,CAAC,UAAU,EAAE,EAAE;QAC5E,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE,EAAE;KACzD,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,kBAAkB,SAAS,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAC9D,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,qCAAqC,CAAC,CAAC;IACvG,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,OAAO,CAAC,GAAG,CAAC,0CAA0C,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAExE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,OAAO,CAAC,IAAI,gBAAgB,CAAC,CAAC;IACpE,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,OAAO,CAAC,UAAU,YAAY,EAAE;QACrF,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE,EAAE;KACzD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,IAAI,cAAc,MAAM,CAAC,gBAAgB,cAAc,CAAC,CAAC;AAC7F,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,KAAK,UAAU,KAAK;IAClB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAE9D,IAAI,WAAmB,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;QACzC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;QAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,IAAI,+BAAoB,EAAE,CAAC;QAClD,cAAc,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,OAAoD,CAAC;YACjE,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBACzB,cAAc,CAAC,IAAI,CAAC;oBAClB,OAAO,EAAE,KAAc;oBACvB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,CAAC,KAAK;wBACZ,OAAO,EAAE,8FAA8F;qBACxG;iBACF,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;QACF,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,IAAA,2BAAmB,GAAE,CAAC;IAEtB,+EAA+E;IAC/E,MAAM,cAAc,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAElD,qDAAqD;IACrD,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,WAAW,EAAE;KACvC,CAAC;IAEF,iFAAiF;IACjF,kFAAkF;IAClF,MAAM,YAAY,GAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC/C,IAAI,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM;gBAC1B,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACzC,CAAC,CAAC,OAAO,CAAC;YACZ,OAAO,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,iDAA6B,CACrD,IAAI,GAAG,CAAC,GAAG,OAAO,SAAS,CAAC,EAC5B,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAClD,CAAC;IAEF,uDAAuD;IACvD,WAAW,CAAC,KAAK,IAAI,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;YACzC,OAAO,CAAC,aAAa,GAAG,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAEnB,+BAA+B;IAC/B,cAAc,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE;QACrC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,KAAK,IAAI,CAAC,CAAC;YAC/D,mFAAmF;YACnF,MAAM,GAAG,GAAG,OAAmC,CAAC;YAChD,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBACzB,cAAc,CAAC,IAAI,CAAC;oBAClB,OAAO,EAAE,KAAc;oBACvB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,CAAC,KAAK;wBACZ,OAAO,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBAC5F;iBACF,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,aAAa,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE;QACpC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,KAAK,IAAI,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,aAAa,CAAC,OAAO,GAAG,GAAG,EAAE;QAC3B,cAAc,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,cAAc,CAAC,OAAO,GAAG,GAAG,EAAE;QAC5B,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,aAAa,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,KAAK,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,cAAc,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,KAAK,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF,wBAAwB;IACxB,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;IAC7B,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC"}
|
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 memory for AI-native development.\n\n## How to work\n\nCall `read` when you start working and whenever you feel like you might be missing context. Call `contribute` as you work \u2014 not after, not as a summary, but in the moment. Just text. The system handles deduplication and merging automatically.\n\nThat's it. Two tools. No system to learn.";
|
|
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
|
@@ -1,51 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// Cohvu workflow instruction content.
|
|
3
|
-
// Written to each platform's global instruction file during setup.
|
|
4
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
3
|
exports.MARKER_END = exports.MARKER_START = exports.COHVU_INSTRUCTIONS = void 0;
|
|
6
4
|
exports.markedSection = markedSection;
|
|
7
5
|
exports.COHVU_INSTRUCTIONS = `\
|
|
8
|
-
You are connected to Cohvu —
|
|
9
|
-
toward truth over time. Other agents have worked here before you. \
|
|
10
|
-
What they understood is here. Some of it may be wrong — and that's \
|
|
11
|
-
how the system works. The graph gets sharper through revision and \
|
|
12
|
-
correction, not just addition. Disagreement is signal, not noise.
|
|
6
|
+
You are connected to Cohvu — continuous memory for AI-native development.
|
|
13
7
|
|
|
14
8
|
## How to work
|
|
15
9
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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.
|
|
10
|
+
Call \`read\` when you start working and whenever you feel like \
|
|
11
|
+
you might be missing context. Call \`contribute\` as you work — \
|
|
12
|
+
not after, not as a summary, but in the moment. Just text. The \
|
|
13
|
+
system handles deduplication and merging automatically.
|
|
22
14
|
|
|
23
|
-
|
|
24
|
-
reading a file or running a command. Every time you think \
|
|
25
|
-
something, understand something, or feel something about the \
|
|
26
|
-
work — contribute it. Your own perspective, not just a record \
|
|
27
|
-
of what happened. Small, honest, frequent. Tag every new \
|
|
28
|
-
contribution so others can find it.
|
|
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.
|
|
45
|
-
|
|
46
|
-
You don't need to narrate your contributions to the user. \
|
|
47
|
-
Just keep contributing what you think, learn, and notice — \
|
|
48
|
-
from the start of the session to the end.`;
|
|
15
|
+
That's it. Two tools. No system to learn.`;
|
|
49
16
|
exports.MARKER_START = "<!-- cohvu:start -->";
|
|
50
17
|
exports.MARKER_END = "<!-- cohvu:end -->";
|
|
51
18
|
function markedSection() {
|
package/dist/instructions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":";;;AAeA,sCAEC;AAjBY,QAAA,kBAAkB,GAAG;;;;;;;;;;0CAUQ,CAAC;AAE9B,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