@cachly-dev/mcp-server 0.10.78 → 0.10.79
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/src/handlers/brain.js +10 -1
- package/dist/src/handlers/brain.js.map +1 -1
- package/dist/src/handlers/share.js +172 -1
- package/dist/src/handlers/share.js.map +1 -1
- package/dist/src/index.js +68 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/tools.d.ts +51 -0
- package/dist/src/tools.js +46 -0
- package/dist/src/tools.js.map +1 -1
- package/package.json +1 -1
- package/server.json +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { safeJsonParse } from '../utils.js';
|
|
2
2
|
export const SHARE_TOOL_NAMES = new Set([
|
|
3
|
-
'brain_share', 'brain_import',
|
|
3
|
+
'brain_share', 'brain_import', 'brain_share_list', 'brain_unshare', 'brain_discover',
|
|
4
4
|
]);
|
|
5
5
|
async function scanAllLessons(redis, topicFilter) {
|
|
6
6
|
const keys = [];
|
|
@@ -249,6 +249,177 @@ export async function handleShareTool(name, args, getConnection, apiFetch) {
|
|
|
249
249
|
}
|
|
250
250
|
return lines.join('\n');
|
|
251
251
|
}
|
|
252
|
+
// ── brain_share_list ───────────────────────────────────────────────────────
|
|
253
|
+
case 'brain_share_list': {
|
|
254
|
+
const { instance_id } = args;
|
|
255
|
+
if (!instance_id)
|
|
256
|
+
return '⚠️ `brain_share_list` requires `instance_id`.';
|
|
257
|
+
const redis = await getConnection(instance_id);
|
|
258
|
+
// Load from local provenance log
|
|
259
|
+
let localShares = [];
|
|
260
|
+
try {
|
|
261
|
+
const raw = await redis.lrange('cachly:brain:shares', 0, -1);
|
|
262
|
+
localShares = raw.map(r => {
|
|
263
|
+
try {
|
|
264
|
+
return JSON.parse(r);
|
|
265
|
+
}
|
|
266
|
+
catch {
|
|
267
|
+
return null;
|
|
268
|
+
}
|
|
269
|
+
}).filter(Boolean);
|
|
270
|
+
}
|
|
271
|
+
catch { /* non-critical */ }
|
|
272
|
+
// Also try API for authoritative list
|
|
273
|
+
let apiShares = [];
|
|
274
|
+
try {
|
|
275
|
+
const result = await apiFetch('/api/v1/brains/share');
|
|
276
|
+
apiShares = result.shares ?? [];
|
|
277
|
+
}
|
|
278
|
+
catch { /* API may not be live yet */ }
|
|
279
|
+
// Merge: API is authoritative; local fills gaps
|
|
280
|
+
const merged = apiShares.length > 0 ? apiShares : localShares;
|
|
281
|
+
if (merged.length === 0) {
|
|
282
|
+
return [
|
|
283
|
+
`📤 **brain_share_list** — no shares yet`,
|
|
284
|
+
``,
|
|
285
|
+
`You haven't shared any Brain snapshots from this instance.`,
|
|
286
|
+
``,
|
|
287
|
+
`Create one with: \`brain_share(instance_id="${instance_id}", title="My Patterns")\``,
|
|
288
|
+
].join('\n');
|
|
289
|
+
}
|
|
290
|
+
const lines = [
|
|
291
|
+
`📤 **Your Brain Shares** (${merged.length})`,
|
|
292
|
+
``,
|
|
293
|
+
`| # | Title | Lessons | Visibility | Created |`,
|
|
294
|
+
`|---|-------|---------|------------|---------|`,
|
|
295
|
+
];
|
|
296
|
+
for (const [i, s] of merged.entries()) {
|
|
297
|
+
const d = new Date(s.created_at);
|
|
298
|
+
const created = isNaN(d.getTime()) ? s.created_at : d.toISOString().slice(0, 10);
|
|
299
|
+
const vis = s.visibility === 'public' ? '🌐 public' : '🔗 unlisted';
|
|
300
|
+
lines.push(`| ${i + 1} | ${s.title ?? '—'} | ${s.lesson_count ?? '?'} | ${vis} | ${created} |`);
|
|
301
|
+
}
|
|
302
|
+
const newest = merged[merged.length - 1];
|
|
303
|
+
lines.push(``, `**Import command:** \`brain_import(instance_id="<their-id>", share_id="${newest?.share_id ?? '...'}")\``, `**Revoke:** \`brain_unshare(instance_id="${instance_id}", share_id="<id>")\``);
|
|
304
|
+
return lines.join('\n');
|
|
305
|
+
}
|
|
306
|
+
// ── brain_unshare ──────────────────────────────────────────────────────────
|
|
307
|
+
case 'brain_unshare': {
|
|
308
|
+
const { instance_id, share_id } = args;
|
|
309
|
+
if (!instance_id)
|
|
310
|
+
return '⚠️ `brain_unshare` requires `instance_id`.';
|
|
311
|
+
if (!share_id)
|
|
312
|
+
return '⚠️ `brain_unshare` requires `share_id`.';
|
|
313
|
+
// Call API to delete
|
|
314
|
+
try {
|
|
315
|
+
await apiFetch(`/api/v1/brains/share/${share_id}`, { method: 'DELETE' });
|
|
316
|
+
}
|
|
317
|
+
catch (e) {
|
|
318
|
+
const msg = e.message ?? '';
|
|
319
|
+
if (msg.includes('404') || msg.includes('not found')) {
|
|
320
|
+
return `❌ Share \`${share_id}\` not found — it may have already been removed.`;
|
|
321
|
+
}
|
|
322
|
+
// If API is down, just remove from local log and warn
|
|
323
|
+
if (msg.includes('ECONNREFUSED') || msg.includes('fetch failed')) {
|
|
324
|
+
const redis = await getConnection(instance_id);
|
|
325
|
+
try {
|
|
326
|
+
const raw = await redis.lrange('cachly:brain:shares', 0, -1);
|
|
327
|
+
const kept = raw.filter(r => { try {
|
|
328
|
+
return JSON.parse(r).share_id !== share_id;
|
|
329
|
+
}
|
|
330
|
+
catch {
|
|
331
|
+
return true;
|
|
332
|
+
} });
|
|
333
|
+
await redis.del('cachly:brain:shares');
|
|
334
|
+
for (const entry of kept)
|
|
335
|
+
await redis.rpush('cachly:brain:shares', entry);
|
|
336
|
+
}
|
|
337
|
+
catch { /* non-critical */ }
|
|
338
|
+
return [
|
|
339
|
+
`⚠️ **brain_unshare** — removed from local log`,
|
|
340
|
+
``,
|
|
341
|
+
`API unreachable — removed \`${share_id}\` from your local share registry.`,
|
|
342
|
+
`The public link may still be accessible until the API confirms deletion.`,
|
|
343
|
+
].join('\n');
|
|
344
|
+
}
|
|
345
|
+
return `❌ brain_unshare failed: ${msg}`;
|
|
346
|
+
}
|
|
347
|
+
// Remove from local log
|
|
348
|
+
const redis = await getConnection(instance_id);
|
|
349
|
+
try {
|
|
350
|
+
const raw = await redis.lrange('cachly:brain:shares', 0, -1);
|
|
351
|
+
const kept = raw.filter(r => { try {
|
|
352
|
+
return JSON.parse(r).share_id !== share_id;
|
|
353
|
+
}
|
|
354
|
+
catch {
|
|
355
|
+
return true;
|
|
356
|
+
} });
|
|
357
|
+
await redis.del('cachly:brain:shares');
|
|
358
|
+
for (const entry of kept)
|
|
359
|
+
await redis.rpush('cachly:brain:shares', entry);
|
|
360
|
+
}
|
|
361
|
+
catch { /* non-critical */ }
|
|
362
|
+
return [
|
|
363
|
+
`🗑️ **brain_unshare** — share revoked`,
|
|
364
|
+
``,
|
|
365
|
+
`Share \`${share_id}\` has been deleted. The public link is no longer accessible.`,
|
|
366
|
+
``,
|
|
367
|
+
`_Anyone who already imported this Brain keeps their local copy._`,
|
|
368
|
+
].join('\n');
|
|
369
|
+
}
|
|
370
|
+
// ── brain_discover ─────────────────────────────────────────────────────────
|
|
371
|
+
case 'brain_discover': {
|
|
372
|
+
const { query = '', topic = '', limit = 10, } = args;
|
|
373
|
+
// Search public Brain marketplace
|
|
374
|
+
let results = [];
|
|
375
|
+
try {
|
|
376
|
+
const params = new URLSearchParams();
|
|
377
|
+
if (query)
|
|
378
|
+
params.set('q', query);
|
|
379
|
+
if (topic)
|
|
380
|
+
params.set('topic', topic);
|
|
381
|
+
params.set('limit', String(limit));
|
|
382
|
+
results = await apiFetch(`/api/v1/brains/discover?${params.toString()}`);
|
|
383
|
+
}
|
|
384
|
+
catch (e) {
|
|
385
|
+
const msg = e.message ?? '';
|
|
386
|
+
if (msg.includes('404') || msg.includes('ECONNREFUSED') || msg.includes('fetch failed')) {
|
|
387
|
+
return [
|
|
388
|
+
`🔍 **brain_discover** — marketplace not yet live`,
|
|
389
|
+
``,
|
|
390
|
+
`The public Brain marketplace is coming soon.`,
|
|
391
|
+
``,
|
|
392
|
+
`**In the meantime:**`,
|
|
393
|
+
` • Share your Brain: \`brain_share(instance_id="...", visibility="public")\``,
|
|
394
|
+
` • Import by ID: \`brain_import(instance_id="...", share_id="<id>")\``,
|
|
395
|
+
` • Community index: https://cachly.dev/brains`,
|
|
396
|
+
].join('\n');
|
|
397
|
+
}
|
|
398
|
+
return `❌ brain_discover failed: ${msg}`;
|
|
399
|
+
}
|
|
400
|
+
if (results.length === 0) {
|
|
401
|
+
const hint = query ? `matching "${query}"` : topic ? `in topic "${topic}"` : '';
|
|
402
|
+
return [
|
|
403
|
+
`🔍 **brain_discover** — no public Brains found ${hint}`.trim(),
|
|
404
|
+
``,
|
|
405
|
+
`Be the first! \`brain_share(instance_id="...", visibility="public")\``,
|
|
406
|
+
].join('\n');
|
|
407
|
+
}
|
|
408
|
+
const lines = [
|
|
409
|
+
`🔍 **brain_discover**${query ? ` — "${query}"` : ''}${topic ? ` · topic: ${topic}` : ''} (${results.length} result${results.length !== 1 ? 's' : ''})`,
|
|
410
|
+
``,
|
|
411
|
+
];
|
|
412
|
+
for (const [i, r] of results.entries()) {
|
|
413
|
+
const d = new Date(r.created_at);
|
|
414
|
+
const created = isNaN(d.getTime()) ? '' : ` · ${d.toISOString().slice(0, 10)}`;
|
|
415
|
+
const importCount = r.imports != null ? ` · ${r.imports} imports` : '';
|
|
416
|
+
const topicStr = r.topics?.length ? ` · topics: ${r.topics.slice(0, 4).join(', ')}` : '';
|
|
417
|
+
const by = r.author ? ` by **${r.author}**` : '';
|
|
418
|
+
lines.push(`**${i + 1}. ${r.title}**${by}`, ` 📚 ${r.lesson_count} lessons${topicStr}${importCount}${created}`, r.description ? ` _${r.description.slice(0, 120)}_` : '', ` \`brain_import(instance_id="...", share_id="${r.share_id}")\``, ``);
|
|
419
|
+
}
|
|
420
|
+
lines.push(`_Browse more at https://cachly.dev/brains_`);
|
|
421
|
+
return lines.filter(l => l !== ' ').join('\n');
|
|
422
|
+
}
|
|
252
423
|
default:
|
|
253
424
|
return null;
|
|
254
425
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../../src/handlers/share.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../../src/handlers/share.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -65,7 +65,7 @@ import { Redis } from 'ioredis';
|
|
|
65
65
|
let API_URL = process.env.CACHLY_API_URL ?? 'https://api.cachly.dev';
|
|
66
66
|
let JWT = process.env.CACHLY_JWT ?? '';
|
|
67
67
|
const _EMBED_MODEL = process.env.CACHLY_EMBED_MODEL ?? '';
|
|
68
|
-
const CURRENT_VERSION = '0.10.
|
|
68
|
+
const CURRENT_VERSION = '0.10.79';
|
|
69
69
|
// Max time to wait for a freshly-provisioned instance to become "running" before
|
|
70
70
|
// giving up. Free-tier provisioning in high-latency regions can take 45–90s, so the
|
|
71
71
|
// old hard-coded 25s caused spurious "instance_not_reachable" on first run.
|
|
@@ -1868,6 +1868,72 @@ if (process.argv[2] === 'share') {
|
|
|
1868
1868
|
}
|
|
1869
1869
|
process.exit(0);
|
|
1870
1870
|
}
|
|
1871
|
+
// ── CLI: cachly publish ───────────────────────────────────────────────────────
|
|
1872
|
+
// Creates a publicly importable Brain snapshot and prints the share URL + card.
|
|
1873
|
+
// Usage: npx @cachly-dev/mcp-server@latest publish [--public] [--title "My Patterns"]
|
|
1874
|
+
if (process.argv[2] === 'publish') {
|
|
1875
|
+
const apiKey = process.env.CACHLY_JWT ?? '';
|
|
1876
|
+
const instanceId = process.env.CACHLY_BRAIN_INSTANCE_ID ?? '';
|
|
1877
|
+
if (!apiKey || !instanceId) {
|
|
1878
|
+
console.log('\n⚠️ CACHLY_JWT and CACHLY_BRAIN_INSTANCE_ID must be set.');
|
|
1879
|
+
console.log(' Run: npx @cachly-dev/mcp-server@latest setup\n');
|
|
1880
|
+
process.exit(1);
|
|
1881
|
+
}
|
|
1882
|
+
const titleIdx = process.argv.indexOf('--title');
|
|
1883
|
+
const publishTitle = titleIdx !== -1 ? (process.argv[titleIdx + 1] ?? 'My Brain Snapshot') : 'My Brain Snapshot';
|
|
1884
|
+
const isPublic = process.argv.includes('--public');
|
|
1885
|
+
process.stdout.write('\n🧠 Publishing Brain snapshot...\n');
|
|
1886
|
+
try {
|
|
1887
|
+
// Fetch stats for the card
|
|
1888
|
+
const statsRes = await fetch(`${API_URL}/api/v1/instances/${instanceId}/brain/stats`, {
|
|
1889
|
+
headers: { Authorization: `Bearer ${apiKey}` },
|
|
1890
|
+
signal: AbortSignal.timeout(8000),
|
|
1891
|
+
});
|
|
1892
|
+
let lessons = 0, recalls = 0;
|
|
1893
|
+
if (statsRes.ok) {
|
|
1894
|
+
const stats = await statsRes.json();
|
|
1895
|
+
lessons = stats.lesson_count ?? 0;
|
|
1896
|
+
recalls = stats.total_recall_count ?? 0;
|
|
1897
|
+
}
|
|
1898
|
+
// Create the public share via API
|
|
1899
|
+
const shareRes = await fetch(`${API_URL}/api/v1/brains/share`, {
|
|
1900
|
+
method: 'POST',
|
|
1901
|
+
headers: { Authorization: `Bearer ${apiKey}`, 'Content-Type': 'application/json' },
|
|
1902
|
+
body: JSON.stringify({ title: publishTitle, visibility: isPublic ? 'public' : 'unlisted', instance_id: instanceId }),
|
|
1903
|
+
signal: AbortSignal.timeout(15000),
|
|
1904
|
+
});
|
|
1905
|
+
if (!shareRes.ok)
|
|
1906
|
+
throw new Error(`HTTP ${shareRes.status}`);
|
|
1907
|
+
const share = await shareRes.json();
|
|
1908
|
+
const shareId = share.share_id ?? 'unavailable';
|
|
1909
|
+
const shareUrl = `https://cachly.dev/brain/share/${shareId}`;
|
|
1910
|
+
console.log('');
|
|
1911
|
+
console.log('┌─────────────────────────────────────────────────────────────┐');
|
|
1912
|
+
console.log('│ 📤 Brain Published · powered by \x1b[35mcachly.dev\x1b[0m │');
|
|
1913
|
+
console.log('├─────────────────────────────────────────────────────────────┤');
|
|
1914
|
+
console.log(`│ Title : \x1b[33m${publishTitle.slice(0, 44).padEnd(44)}\x1b[0m│`);
|
|
1915
|
+
console.log(`│ Lessons : \x1b[32m${String(lessons).padEnd(10)}\x1b[0m Recalls: \x1b[36m${String(recalls).padEnd(26)}\x1b[0m│`);
|
|
1916
|
+
console.log(`│ Visibility: \x1b[${isPublic ? '32' : '33'}m${(isPublic ? 'public (discoverable)' : 'unlisted (link only)').padEnd(44)}\x1b[0m│`);
|
|
1917
|
+
console.log('├─────────────────────────────────────────────────────────────┤');
|
|
1918
|
+
console.log(`│ \x1b[1mShare URL:\x1b[0m \x1b[36m${shareUrl.padEnd(51)}\x1b[0m│`);
|
|
1919
|
+
console.log('├─────────────────────────────────────────────────────────────┤');
|
|
1920
|
+
console.log('│ \x1b[2mAnyone can import with:\x1b[0m │');
|
|
1921
|
+
console.log(`│ \x1b[90m brain_import(instance_id="...", share_id="${shareId.slice(0, 17)}")\x1b[0m│`);
|
|
1922
|
+
console.log('└─────────────────────────────────────────────────────────────┘');
|
|
1923
|
+
console.log('');
|
|
1924
|
+
console.log(` \x1b[1m📋 Share this with your team:\x1b[0m`);
|
|
1925
|
+
console.log(` ${shareUrl}`);
|
|
1926
|
+
console.log('');
|
|
1927
|
+
console.log(` \x1b[2mTo list all your shares:\x1b[0m brain_share_list(instance_id="${instanceId.slice(0, 24)}...")`);
|
|
1928
|
+
console.log(` \x1b[2mTo revoke this share:\x1b[0m brain_unshare(share_id="${shareId.slice(0, 24)}...")`);
|
|
1929
|
+
console.log('');
|
|
1930
|
+
}
|
|
1931
|
+
catch (e) {
|
|
1932
|
+
console.log(`\n❌ Could not publish Brain: ${e.message}\n`);
|
|
1933
|
+
process.exit(1);
|
|
1934
|
+
}
|
|
1935
|
+
process.exit(0);
|
|
1936
|
+
}
|
|
1871
1937
|
// ── CLI: cachly badge ─────────────────────────────────────────────────────────
|
|
1872
1938
|
// Outputs the Markdown + HTML snippet for embedding a live Brain lesson-count
|
|
1873
1939
|
// badge in any README or website. Badge SVG served by cachly API (public, no auth).
|
|
@@ -3001,7 +3067,7 @@ if (process.argv[2] === 'learn-git') {
|
|
|
3001
3067
|
// • Editor as an MCP stdio server (non-TTY) → ONE stderr hint, then KEEP RUNNING
|
|
3002
3068
|
// so tools/list works and the first tool call starts the browser sign-in.
|
|
3003
3069
|
// Skip entirely for CLI subcommands that intentionally run without credentials.
|
|
3004
|
-
const _cliNoAuthCommands = ['demo', 'share', 'health', 'setup', 'init', 'digest', 'invite', 'badge', 'join', 'upgrade'];
|
|
3070
|
+
const _cliNoAuthCommands = ['demo', 'share', 'publish', 'health', 'setup', 'init', 'digest', 'invite', 'badge', 'join', 'upgrade'];
|
|
3005
3071
|
if (!JWT && !_cliNoAuthCommands.includes(process.argv[2] ?? '')) {
|
|
3006
3072
|
const runningInTerminal = !process.argv[2] && process.stdout.isTTY === true && _isMain;
|
|
3007
3073
|
if (runningInTerminal) {
|