@cachly-dev/mcp-server 0.9.19 โ†’ 0.9.21

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.
Files changed (39) hide show
  1. package/.github/workflows/publish.yml +42 -0
  2. package/LICENSE +202 -0
  3. package/dist/handlers/advanced.d.ts +6 -0
  4. package/dist/handlers/advanced.js +586 -0
  5. package/dist/handlers/advanced.js.map +1 -0
  6. package/dist/handlers/cache.d.ts +6 -0
  7. package/dist/handlers/cache.js +520 -0
  8. package/dist/handlers/cache.js.map +1 -0
  9. package/dist/handlers/context.d.ts +6 -0
  10. package/dist/handlers/context.js +177 -0
  11. package/dist/handlers/context.js.map +1 -0
  12. package/dist/handlers/fedbrain.d.ts +6 -0
  13. package/dist/handlers/fedbrain.js +1078 -0
  14. package/dist/handlers/fedbrain.js.map +1 -0
  15. package/dist/handlers/instances.d.ts +9 -0
  16. package/dist/handlers/instances.js +153 -0
  17. package/dist/handlers/instances.js.map +1 -0
  18. package/dist/handlers/roadmap.d.ts +6 -0
  19. package/dist/handlers/roadmap.js +165 -0
  20. package/dist/handlers/roadmap.js.map +1 -0
  21. package/dist/handlers/syndicate.d.ts +6 -0
  22. package/dist/handlers/syndicate.js +339 -0
  23. package/dist/handlers/syndicate.js.map +1 -0
  24. package/dist/handlers/team.d.ts +6 -0
  25. package/dist/handlers/team.js +1048 -0
  26. package/dist/handlers/team.js.map +1 -0
  27. package/dist/index.js +38 -4018
  28. package/dist/index.js.map +1 -1
  29. package/glama.json +6 -0
  30. package/package.json +1 -1
  31. package/src/handlers/advanced.ts +637 -0
  32. package/src/handlers/cache.ts +634 -0
  33. package/src/handlers/context.ts +218 -0
  34. package/src/handlers/fedbrain.ts +1143 -0
  35. package/src/handlers/instances.ts +180 -0
  36. package/src/handlers/roadmap.ts +192 -0
  37. package/src/handlers/syndicate.ts +451 -0
  38. package/src/handlers/team.ts +1163 -0
  39. package/src/index.ts +44 -4465
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fedbrain.js","sourceRoot":"","sources":["../../src/handlers/fedbrain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Redis } from 'ioredis';
2
+ import type { Instance } from './brain.js';
3
+ type GetConnection = (instanceId: string) => Promise<Redis>;
4
+ type ApiFetch = <T>(path: string, options?: RequestInit) => Promise<T>;
5
+ export declare const INSTANCE_TOOL_NAMES: Set<string>;
6
+ declare function formatInstance(inst: Instance): string;
7
+ declare function buildConnectionString(inst: Instance): string;
8
+ export declare function handleInstanceTool(name: string, args: Record<string, unknown>, getConnection: GetConnection, apiFetch: ApiFetch): Promise<string | null>;
9
+ export { formatInstance, buildConnectionString };
@@ -0,0 +1,153 @@
1
+ export const INSTANCE_TOOL_NAMES = new Set([
2
+ 'list_instances', 'create_instance', 'get_instance', 'get_connection_string', 'delete_instance',
3
+ 'list_orgs', 'create_org', 'invite_member', 'get_org_plan',
4
+ ]);
5
+ function formatInstance(inst) {
6
+ const badge = inst.status === 'running' ? '๐ŸŸข' : inst.status === 'provisioning' ? '๐ŸŸก' : '๐Ÿ”ด';
7
+ const mb = inst.memory_mb >= 1024 ? `${inst.memory_mb / 1024}GB` : `${inst.memory_mb}MB`;
8
+ return `${badge} **${inst.name}** (\`${inst.id}\`) ยท ${inst.tier} ยท ${mb} ยท ${inst.region}`;
9
+ }
10
+ function buildConnectionString(inst) {
11
+ if (!inst.host)
12
+ return 'โŒ Instance not ready yet.';
13
+ const proto = inst.tls_enabled ? 'rediss' : 'redis';
14
+ const auth = inst.password ? `:${inst.password}@` : '';
15
+ return `${proto}://${auth}${inst.host}:${inst.port ?? 6379}`;
16
+ }
17
+ export async function handleInstanceTool(name, args, getConnection, apiFetch) {
18
+ switch (name) {
19
+ case 'list_instances': {
20
+ const res = await apiFetch('/api/v1/instances');
21
+ const instances = res.data ?? [];
22
+ if (instances.length === 0)
23
+ return 'You have no cache instances yet. Use `create_instance` to create one.';
24
+ return [`Found ${instances.length} instance(s):\n`, ...instances.map(formatInstance)].join('\n');
25
+ }
26
+ case 'create_instance': {
27
+ const { name: instName, tier } = args;
28
+ const res = await apiFetch('/api/v1/instances', {
29
+ method: 'POST',
30
+ body: JSON.stringify({ name: instName, tier, created_via: 'api' }),
31
+ });
32
+ if (res.checkout_url) {
33
+ return [
34
+ `โœ… Instance **${instName}** (${tier}) created! ID: \`${res.instance_id}\``,
35
+ ``,
36
+ `๐Ÿ’ณ This is a paid tier. Complete payment to activate:`,
37
+ ` ${res.checkout_url}`,
38
+ ``,
39
+ `After payment, provisioning starts automatically (~30 seconds).`,
40
+ ].join('\n');
41
+ }
42
+ return [
43
+ `โœ… Instance **${instName}** (${tier}) created and provisioning started!`,
44
+ ` ID: \`${res.instance_id}\``,
45
+ ` Status: ${res.status}`,
46
+ ``,
47
+ `Use \`get_instance\` or \`get_connection_string\` to get your connection details.`,
48
+ ].join('\n');
49
+ }
50
+ case 'get_instance': {
51
+ const inst = await apiFetch(`/api/v1/instances/${args.instance_id}`);
52
+ return formatInstance(inst);
53
+ }
54
+ case 'get_connection_string': {
55
+ const inst = await apiFetch(`/api/v1/instances/${args.instance_id}`);
56
+ if (inst.status !== 'running') {
57
+ return `Instance is not running yet (status: ${inst.status}). Provisioning takes ~30 seconds after payment.`;
58
+ }
59
+ const connStr = buildConnectionString(inst);
60
+ return [
61
+ `**Connection string for ${inst.name}:**`,
62
+ `\`\`\``,
63
+ connStr,
64
+ `\`\`\``,
65
+ ``,
66
+ `**Environment variable:**`,
67
+ `\`\`\`bash`,
68
+ `REDIS_URL="${connStr}"`,
69
+ `CACHLY_URL="${connStr}"`,
70
+ `\`\`\``,
71
+ ``,
72
+ `**Quick test:**`,
73
+ `\`\`\`bash`,
74
+ `redis-cli -u "${connStr}" PING`,
75
+ `\`\`\``,
76
+ ].join('\n');
77
+ }
78
+ case 'delete_instance': {
79
+ const { instance_id, confirm } = args;
80
+ if (!confirm)
81
+ return 'Deletion cancelled. Set `confirm: true` to proceed.';
82
+ // Clean up cached connection (best-effort; connection times out otherwise)
83
+ try {
84
+ getConnection._pool?.delete?.(instance_id);
85
+ }
86
+ catch { /* ignore */ }
87
+ await apiFetch(`/api/v1/instances/${instance_id}`, { method: 'DELETE' });
88
+ return `โœ… Instance \`${instance_id}\` has been deleted and all data removed.`;
89
+ }
90
+ // โ”€โ”€ Org / Team management โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
91
+ case 'list_orgs': {
92
+ const res = await apiFetch('/api/v1/orgs');
93
+ const orgs = res.orgs ?? [];
94
+ if (orgs.length === 0)
95
+ return `๐Ÿ“ญ No organizations yet.\n\nCreate one with \`create_org(name="My Team")\`.\nOrg plans: Team โ‚ฌ99/mo (10 seats), Business โ‚ฌ299/mo (50 seats), Enterprise custom.`;
96
+ return [
97
+ `๐Ÿข **Your organizations (${orgs.length})**\n`,
98
+ ...orgs.map(o => `โ€ข **${o.name}** (\`${o.slug}\`) โ€” plan: ${o.plan} ยท seats: ${o.member_count ?? '?'}/${o.max_members}\n ID: \`${o.id}\``),
99
+ `\n_Manage: \`get_org_plan\`, \`invite_member\`, dashboard โ†’ /team_`,
100
+ ].join('\n');
101
+ }
102
+ case 'create_org': {
103
+ const { name: orgName, slug } = args;
104
+ const body = { name: orgName };
105
+ if (slug)
106
+ body.slug = slug;
107
+ const res = await apiFetch('/api/v1/orgs', {
108
+ method: 'POST',
109
+ body: JSON.stringify(body),
110
+ });
111
+ return [
112
+ `โœ… **Organization created:** ${res.name}`,
113
+ ` ID: \`${res.id}\` ยท Slug: \`${res.slug}\` ยท Plan: ${res.plan}`,
114
+ ``,
115
+ `**Next steps:**`,
116
+ `1. Invite team members: \`invite_member(org_id="${res.id}", email="dev@example.com")\``,
117
+ `2. Upgrade plan: open billing portal via dashboard โ†’ /team`,
118
+ ` Team: โ‚ฌ99/mo (10 seats) ยท Business: โ‚ฌ299/mo (50 seats)`,
119
+ ].join('\n');
120
+ }
121
+ case 'invite_member': {
122
+ const { org_id, email, role = 'member' } = args;
123
+ await apiFetch(`/api/v1/orgs/${org_id}/members`, {
124
+ method: 'POST',
125
+ body: JSON.stringify({ email, role }),
126
+ });
127
+ return `โœ… Invite sent to **${email}** as \`${role}\` in org \`${org_id}\`.\n\nThey will receive an email to join the organization.`;
128
+ }
129
+ case 'get_org_plan': {
130
+ const { org_id } = args;
131
+ const org = await apiFetch(`/api/v1/orgs/${org_id}`);
132
+ const accepted = (org.members ?? []).filter(m => m.accepted_at).length;
133
+ const pending = (org.members ?? []).filter(m => !m.accepted_at).length;
134
+ const planPrice = { free: 'โ‚ฌ0', team: 'โ‚ฌ99/mo', business: 'โ‚ฌ299/mo', enterprise: 'custom' };
135
+ return [
136
+ `๐Ÿข **${org.name}** โ€” Plan: **${org.plan}** (${planPrice[org.plan] ?? org.plan})`,
137
+ ` Seats: ${accepted} active + ${pending} pending / ${org.max_members} max`,
138
+ ``,
139
+ `**Members:**`,
140
+ ...(org.members ?? []).map(m => ` โ€ข ${m.invite_email} (${m.role})${m.accepted_at ? '' : ' โ€” pending'}`),
141
+ ``,
142
+ org.stripe_customer_id
143
+ ? `๐Ÿ’ณ Billing: managed via Stripe. Upgrade/cancel: dashboard โ†’ /billing`
144
+ : `๐Ÿ’ณ No payment method yet. Upgrade: dashboard โ†’ /billing โ†’ Team Plans`,
145
+ ].join('\n');
146
+ }
147
+ // โ”€โ”€ Live cache operations โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
148
+ default:
149
+ return null;
150
+ }
151
+ }
152
+ export { formatInstance, buildConnectionString };
153
+ //# sourceMappingURL=instances.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instances.js","sourceRoot":"","sources":["../../src/handlers/instances.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Redis } from 'ioredis';
2
+ type GetConnection = (instanceId: string) => Promise<Redis>;
3
+ type ApiFetch = <T>(path: string, options?: RequestInit) => Promise<T>;
4
+ export declare const ROADMAP_TOOL_NAMES: Set<string>;
5
+ export declare function handleRoadmapTool(name: string, args: Record<string, unknown>, getConnection: GetConnection, apiFetch: ApiFetch): Promise<string | null>;
6
+ export {};
@@ -0,0 +1,165 @@
1
+ export const ROADMAP_TOOL_NAMES = new Set([
2
+ 'roadmap_add', 'roadmap_update', 'roadmap_list', 'roadmap_next',
3
+ ]);
4
+ export async function handleRoadmapTool(name, args, getConnection, apiFetch) {
5
+ switch (name) {
6
+ case 'roadmap_add': {
7
+ const { instance_id: rid, title, description: desc = '', priority = 'medium', tags: rtags = [], milestone = '', } = args;
8
+ const redis = await getConnection(rid);
9
+ const id = `rm_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 6)}`;
10
+ const item = {
11
+ id, title, description: desc, priority, tags: rtags, milestone,
12
+ status: 'planned',
13
+ created: new Date().toISOString(),
14
+ updated: new Date().toISOString(),
15
+ notes: '',
16
+ };
17
+ await redis.hset(`cachly:roadmap:${rid}`, id, JSON.stringify(item));
18
+ const PRIORITY_ICON = { critical: '๐Ÿ”ด', high: '๐ŸŸ ', medium: '๐ŸŸก', low: '๐Ÿ”ต' };
19
+ return [
20
+ `๐Ÿ“‹ **Roadmap item added**`,
21
+ ``,
22
+ ` ID: \`${id}\``,
23
+ ` Title: ${title}`,
24
+ ` Priority: ${PRIORITY_ICON[priority] ?? 'โšช'} ${priority}`,
25
+ ` Status: planned`,
26
+ milestone ? ` Milestone: ${milestone}` : '',
27
+ rtags.length ? ` Tags: ${rtags.join(', ')}` : '',
28
+ ``,
29
+ `๐Ÿ’ก Use \`roadmap_update(id: "${id}", status: "in-progress")\` when you start working on it.`,
30
+ ].filter(Boolean).join('\n');
31
+ }
32
+ case 'roadmap_update': {
33
+ const { instance_id: rid, id: itemId, status: newStatus, priority: newPriority, notes: newNotes, title: newTitle, description: newDesc, } = args;
34
+ const redis = await getConnection(rid);
35
+ const raw = await redis.hget(`cachly:roadmap:${rid}`, itemId);
36
+ if (!raw)
37
+ return `โš ๏ธ **roadmap_update** โ€“ Item \`${itemId}\` not found. Use \`roadmap_list\` to see all items.`;
38
+ const item = JSON.parse(raw);
39
+ const oldStatus = item.status;
40
+ if (newStatus)
41
+ item.status = newStatus;
42
+ if (newPriority)
43
+ item.priority = newPriority;
44
+ if (newTitle)
45
+ item.title = newTitle;
46
+ if (newDesc)
47
+ item.description = newDesc;
48
+ if (newNotes)
49
+ item.notes = item.notes ? `${item.notes}\n[${new Date().toISOString().slice(0, 10)}] ${newNotes}` : `[${new Date().toISOString().slice(0, 10)}] ${newNotes}`;
50
+ item.updated = new Date().toISOString();
51
+ await redis.hset(`cachly:roadmap:${rid}`, itemId, JSON.stringify(item));
52
+ const statusEmoji = { planned: '๐Ÿ“‹', 'in-progress': 'โšก', done: 'โœ…', blocked: '๐Ÿšซ', cancelled: '๐Ÿ—‘๏ธ' };
53
+ return [
54
+ `${statusEmoji[newStatus ?? oldStatus] ?? '๐Ÿ“‹'} **Roadmap updated** \`${itemId}\``,
55
+ ``,
56
+ ` Title: ${item.title}`,
57
+ oldStatus !== newStatus ? ` Status: ${oldStatus} โ†’ ${newStatus}` : ` Status: ${item.status}`,
58
+ newNotes ? ` Notes: ${newNotes}` : '',
59
+ ].filter(Boolean).join('\n');
60
+ }
61
+ case 'roadmap_list': {
62
+ const { instance_id: rid, status: filterStatus = 'open', tag: filterTag, milestone: filterMilestone, priority: filterPriority, } = args;
63
+ const redis = await getConnection(rid);
64
+ const all = await redis.hgetall(`cachly:roadmap:${rid}`);
65
+ if (!all || Object.keys(all).length === 0) {
66
+ return '๐Ÿ“‹ **Roadmap is empty.**\n\nUse `roadmap_add` to create your first item.';
67
+ }
68
+ const PRIORITY_ORDER = { critical: 0, high: 1, medium: 2, low: 3 };
69
+ const PRIORITY_ICON = { critical: '๐Ÿ”ด', high: '๐ŸŸ ', medium: '๐ŸŸก', low: '๐Ÿ”ต' };
70
+ const STATUS_ICON = { planned: '๐Ÿ“‹', 'in-progress': 'โšก', done: 'โœ…', blocked: '๐Ÿšซ', cancelled: '๐Ÿ—‘๏ธ' };
71
+ const openStatuses = new Set(['planned', 'in-progress', 'blocked']);
72
+ let items = Object.values(all).map(v => JSON.parse(v));
73
+ // Filter
74
+ if (filterStatus === 'open')
75
+ items = items.filter(i => openStatuses.has(i.status));
76
+ else if (filterStatus)
77
+ items = items.filter(i => i.status === filterStatus);
78
+ if (filterTag)
79
+ items = items.filter(i => i.tags.includes(filterTag));
80
+ if (filterMilestone)
81
+ items = items.filter(i => i.milestone === filterMilestone);
82
+ if (filterPriority)
83
+ items = items.filter(i => (PRIORITY_ORDER[i.priority] ?? 99) <= (PRIORITY_ORDER[filterPriority] ?? 99));
84
+ // Sort: priority asc, then created asc
85
+ items.sort((a, b) => {
86
+ const pa = PRIORITY_ORDER[a.priority] ?? 99;
87
+ const pb = PRIORITY_ORDER[b.priority] ?? 99;
88
+ return pa !== pb ? pa - pb : a.created.localeCompare(b.created);
89
+ });
90
+ if (items.length === 0)
91
+ return `๐Ÿ“‹ **No roadmap items** match the current filter (status: ${filterStatus}).`;
92
+ const grouped = {};
93
+ for (const it of items) {
94
+ const st = it.status;
95
+ if (!grouped[st])
96
+ grouped[st] = [];
97
+ grouped[st].push(it);
98
+ }
99
+ const lines = [`๐Ÿ“‹ **Roadmap** (${items.length} item${items.length !== 1 ? 's' : ''})`, ''];
100
+ for (const [st, grp] of Object.entries(grouped)) {
101
+ lines.push(`**${STATUS_ICON[st] ?? 'โ€ข'} ${st.toUpperCase()}** (${grp.length})`);
102
+ for (const it of grp) {
103
+ const tags = it.tags.length ? ` [${it.tags.join(', ')}]` : '';
104
+ const milestone = it.milestone ? ` ยท ${it.milestone}` : '';
105
+ lines.push(` ${PRIORITY_ICON[it.priority] ?? 'โšช'} \`${it.id}\` **${it.title}**${tags}${milestone}`);
106
+ if (it.description)
107
+ lines.push(` ${it.description.slice(0, 120)}`);
108
+ if (it.notes)
109
+ lines.push(` ๐Ÿ“ ${it.notes.split('\n').pop()?.slice(0, 100)}`);
110
+ }
111
+ lines.push('');
112
+ }
113
+ lines.push(`๐Ÿ’ก \`roadmap_update(id, status: "in-progress")\` to start ยท \`roadmap_next\` for top priority item`);
114
+ return lines.join('\n');
115
+ }
116
+ case 'roadmap_next': {
117
+ const { instance_id: rid, tag: filterTag } = args;
118
+ const redis = await getConnection(rid);
119
+ const all = await redis.hgetall(`cachly:roadmap:${rid}`);
120
+ if (!all || Object.keys(all).length === 0) {
121
+ return '๐Ÿ“‹ **Roadmap is empty.** Use `roadmap_add` to plan your first task.';
122
+ }
123
+ const PRIORITY_ORDER = { critical: 0, high: 1, medium: 2, low: 3 };
124
+ const PRIORITY_ICON = { critical: '๐Ÿ”ด', high: '๐ŸŸ ', medium: '๐ŸŸก', low: '๐Ÿ”ต' };
125
+ let items = Object.values(all)
126
+ .map(v => JSON.parse(v))
127
+ .filter(i => i.status === 'in-progress' || i.status === 'planned')
128
+ .filter(i => !filterTag || i.tags.includes(filterTag));
129
+ if (items.length === 0)
130
+ return '๐ŸŽ‰ **No open roadmap items!** All tasks are done (or use `roadmap_list` to check).';
131
+ // in-progress first, then by priority
132
+ items.sort((a, b) => {
133
+ if (a.status === 'in-progress' && b.status !== 'in-progress')
134
+ return -1;
135
+ if (b.status === 'in-progress' && a.status !== 'in-progress')
136
+ return 1;
137
+ return (PRIORITY_ORDER[a.priority] ?? 99) - (PRIORITY_ORDER[b.priority] ?? 99);
138
+ });
139
+ const next = items[0];
140
+ const remaining = items.length - 1;
141
+ const tags = next.tags.length ? `\nTags: ${next.tags.join(', ')}` : '';
142
+ const milestone = next.milestone ? `\nMilestone: ${next.milestone}` : '';
143
+ const notes = next.notes ? `\nNotes: ${next.notes.split('\n').pop()?.slice(0, 120)}` : '';
144
+ return [
145
+ `${next.status === 'in-progress' ? 'โšก' : '๐Ÿ“‹'} **Next up: ${next.title}**`,
146
+ ``,
147
+ `ID: \`${next.id}\``,
148
+ `Priority: ${PRIORITY_ICON[next.priority] ?? 'โšช'} ${next.priority}`,
149
+ `Status: ${next.status}`,
150
+ next.description ? `\nWhat to do:\n${next.description}` : '',
151
+ tags, milestone, notes,
152
+ ``,
153
+ remaining > 0 ? `(+${remaining} more open item${remaining !== 1 ? 's' : ''} in roadmap)` : '(last open item)',
154
+ ``,
155
+ next.status === 'planned'
156
+ ? `๐Ÿ’ก Start with: \`roadmap_update(id: "${next.id}", status: "in-progress")\``
157
+ : `๐Ÿ’ก Finish with: \`roadmap_update(id: "${next.id}", status: "done", notes: "...")\``,
158
+ ].filter(s => s !== undefined).join('\n');
159
+ }
160
+ // โ”€โ”€ v0.6 Cognitive Cache: memory_consolidate โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
161
+ default:
162
+ return null;
163
+ }
164
+ }
165
+ //# sourceMappingURL=roadmap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roadmap.js","sourceRoot":"","sources":["../../src/handlers/roadmap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Redis } from 'ioredis';
2
+ type GetConnection = (instanceId: string) => Promise<Redis>;
3
+ type ApiFetch = <T>(path: string, options?: RequestInit) => Promise<T>;
4
+ export declare const SYNDICATE_TOOL_NAMES: Set<string>;
5
+ export declare function handleSyndicateTool(name: string, args: Record<string, unknown>, getConnection: GetConnection, apiFetch: ApiFetch): Promise<string | null>;
6
+ export {};