borgmcp 0.3.0 → 0.4.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAsLH;;;;GAIG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+C5D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAsBf"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAyLH;;;;GAIG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+C5D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAsBf"}
package/dist/auth.js CHANGED
@@ -119,11 +119,14 @@ async function startCallbackServer() {
119
119
  server.listen(port, () => {
120
120
  console.error(`Callback server listening on http://localhost:${port}`);
121
121
  });
122
- // Timeout after 5 minutes
122
+ // Timeout after 5 minutes. .unref() so the timer doesn't keep the
123
+ // Node event loop alive after auth succeeds — without it, borg-setup
124
+ // appears to hang for 5 minutes after printing "Setup complete!"
125
+ // even though all real work is done.
123
126
  setTimeout(() => {
124
127
  server.close();
125
128
  reject(new Error('Authentication timeout - no response received'));
126
- }, 5 * 60 * 1000);
129
+ }, 5 * 60 * 1000).unref();
127
130
  });
128
131
  return { port, codePromise };
129
132
  }
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,12 +13,48 @@
13
13
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
14
14
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
15
15
  import { CallToolRequestSchema, ListToolsRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
16
- import { assimilate, getCubeInfo, getRoleInfo, getRoster, readLog, appendLog, regen, checkSubscriptionStatus, createSubscription, API_URL, } from './remote-client.js';
16
+ import { assimilate, getCubeInfo, getRoleInfo, getRoster, readLog, appendLog, regen, listCubes, createCube, updateCube, deleteCube, createRole, updateRole, deleteRole, reassignDrone, getCube, checkSubscriptionStatus, createSubscription, API_URL, } from './remote-client.js';
17
+ import { getTemplate, listTemplateNames } from './templates.js';
17
18
  import { getActiveCube, setActiveCube } from './cubes.js';
18
19
  import { addSessionStartHook, addUserPromptSubmitHook } from './config-utils.js';
19
20
  import { humanAgo, formatRegenMarkdown, getDronePlaybook, getDroneMode } from './regen-format.js';
20
21
  import { startInboxPoller } from './inbox.js';
21
22
  import open from 'open';
23
+ /**
24
+ * Apply a template's roles to a cube. Roles are merged by name:
25
+ * - existing role with same name → updateRole with the template's fields
26
+ * - no existing role with that name → createRole
27
+ * Returns counts for the caller to report.
28
+ */
29
+ async function applyTemplateToCube(cubeId, templateRoles) {
30
+ const { roles: existing } = await getCube(cubeId);
31
+ const byName = new Map(existing.map((r) => [r.name, r]));
32
+ let created = 0;
33
+ let updated = 0;
34
+ for (const tr of templateRoles) {
35
+ const match = byName.get(tr.name);
36
+ if (match) {
37
+ await updateRole(match.id, {
38
+ short_description: tr.short_description,
39
+ detailed_description: tr.detailed_description,
40
+ is_default: tr.is_default === true,
41
+ is_coordinator: tr.is_coordinator === true,
42
+ });
43
+ updated += 1;
44
+ }
45
+ else {
46
+ await createRole(cubeId, {
47
+ name: tr.name,
48
+ short_description: tr.short_description,
49
+ detailed_description: tr.detailed_description,
50
+ is_default: tr.is_default === true,
51
+ is_coordinator: tr.is_coordinator === true,
52
+ });
53
+ created += 1;
54
+ }
55
+ }
56
+ return { created, updated };
57
+ }
22
58
  /**
23
59
  * Throw a friendly error if the client has not been assimilated to a cube.
24
60
  */
@@ -194,6 +230,146 @@ async function main() {
194
230
  required: ['message'],
195
231
  },
196
232
  },
233
+ {
234
+ name: 'borg:list-cubes',
235
+ description: 'List every cube owned by this user. Returns id, name, ground_rules, and timestamps for each. Useful before assimilate to see what\'s available, or as a starting point for any management action.',
236
+ inputSchema: { type: 'object', properties: {} },
237
+ },
238
+ {
239
+ name: 'borg:create-cube',
240
+ description: 'Create a new cube. The server seeds a default "Drone" role atomically so the cube is assimilatable immediately. ' +
241
+ 'Pass an optional `template` name to apply a richer role set instead (see borg:list-templates / borg:apply-template).',
242
+ inputSchema: {
243
+ type: 'object',
244
+ properties: {
245
+ name: {
246
+ type: 'string',
247
+ description: 'Cube name (lowercase letters, digits, hyphens; max 64 chars).',
248
+ pattern: '^[a-z0-9-]+$',
249
+ maxLength: 64,
250
+ },
251
+ ground_rules: { type: 'string', description: 'Markdown text every drone in this cube will see in regen. Anything project-specific.' },
252
+ template: {
253
+ type: 'string',
254
+ description: 'Optional template name to apply after cube creation (e.g. "software-dev"). Roles are merged by name; the default Drone role gets overwritten by the template if a same-named role is in the template.',
255
+ },
256
+ },
257
+ required: ['name', 'ground_rules'],
258
+ },
259
+ },
260
+ {
261
+ name: 'borg:update-cube',
262
+ description: 'Update a cube\'s name and/or ground_rules. Pass only what changes.',
263
+ inputSchema: {
264
+ type: 'object',
265
+ properties: {
266
+ cube_id: { type: 'string', description: 'UUID of the cube to update.' },
267
+ name: {
268
+ type: 'string',
269
+ description: 'New name (optional). Lowercase letters, digits, hyphens; max 64 chars.',
270
+ pattern: '^[a-z0-9-]+$',
271
+ maxLength: 64,
272
+ },
273
+ ground_rules: { type: 'string', description: 'New ground rules markdown (optional).' },
274
+ },
275
+ required: ['cube_id'],
276
+ },
277
+ },
278
+ {
279
+ name: 'borg:delete-cube',
280
+ description: 'Delete a cube and all its roles, drones, and log entries. Irreversible — confirm with the user before invoking unless the cube is clearly disposable.',
281
+ inputSchema: {
282
+ type: 'object',
283
+ properties: {
284
+ cube_id: { type: 'string', description: 'UUID of the cube to delete.' },
285
+ },
286
+ required: ['cube_id'],
287
+ },
288
+ },
289
+ {
290
+ name: 'borg:create-role',
291
+ description: 'Create a role inside a cube. The detailed_description is the role\'s playbook — only drones assigned to this role see it. Setting is_default=true demotes any existing default; a cube has exactly one default role at a time.',
292
+ inputSchema: {
293
+ type: 'object',
294
+ properties: {
295
+ cube_id: { type: 'string', description: 'UUID of the cube this role belongs to.' },
296
+ name: { type: 'string', description: 'Role name (e.g. "Builder", "Reviewer").' },
297
+ short_description: { type: 'string', description: 'One-line summary, shown to every drone in the cube.' },
298
+ detailed_description: { type: 'string', description: 'Full playbook for drones in this role — workflow, conventions, log signals to post.' },
299
+ is_default: { type: 'boolean', description: 'If true, new drones assimilating into this cube are assigned this role (when the Coordinator seat is taken or there is no Coordinator role). Demotes the previous default.' },
300
+ is_coordinator: { type: 'boolean', description: 'If true, this role becomes the cube\'s Coordinator (Queen seat, supervised mode). At most one Coordinator role per cube — promoting demotes the previous one.' },
301
+ },
302
+ required: ['cube_id', 'name', 'short_description', 'detailed_description'],
303
+ },
304
+ },
305
+ {
306
+ name: 'borg:update-role',
307
+ description: 'Update a role. Pass only the fields that change. Promoting to is_default demotes the previous default in the same cube.',
308
+ inputSchema: {
309
+ type: 'object',
310
+ properties: {
311
+ role_id: { type: 'string', description: 'UUID of the role to update.' },
312
+ name: { type: 'string', description: 'New role name (optional).' },
313
+ short_description: { type: 'string', description: 'New short description (optional).' },
314
+ detailed_description: { type: 'string', description: 'New detailed playbook (optional).' },
315
+ is_default: { type: 'boolean', description: 'Set true to make this the cube\'s default role (optional).' },
316
+ is_coordinator: { type: 'boolean', description: 'Set true to promote this role to Coordinator (singleton per cube; demotes the previous one). Setting false on the current Coordinator role demotes it.' },
317
+ },
318
+ required: ['role_id'],
319
+ },
320
+ },
321
+ {
322
+ name: 'borg:delete-role',
323
+ description: 'Delete a role. Refuses if any drone is still assigned — reassign or evict those drones from the dashboard first.',
324
+ inputSchema: {
325
+ type: 'object',
326
+ properties: {
327
+ role_id: { type: 'string', description: 'UUID of the role to delete.' },
328
+ },
329
+ required: ['role_id'],
330
+ },
331
+ },
332
+ {
333
+ name: 'borg:reassign-drone',
334
+ description: 'Reassign a drone to a different role in the same cube. Coordinator-shaped: the cube\'s Coordinator drone is the one expected to call this when dispatching new drones to specific work. ' +
335
+ 'Server refuses if you try to assign to the Coordinator role when another drone already holds it (evict or reassign that drone first).',
336
+ inputSchema: {
337
+ type: 'object',
338
+ properties: {
339
+ drone_id: { type: 'string', description: 'UUID of the drone to reassign.' },
340
+ role_id: { type: 'string', description: 'UUID of the target role. Must belong to the same cube as the drone.' },
341
+ },
342
+ required: ['drone_id', 'role_id'],
343
+ },
344
+ },
345
+ {
346
+ name: 'borg:list-drones',
347
+ description: 'List every drone in a cube (owner-scoped). Returns id, label, role_id, last_seen for each — gives the Coordinator a roster they can act on with borg:reassign-drone.',
348
+ inputSchema: {
349
+ type: 'object',
350
+ properties: {
351
+ cube_id: { type: 'string', description: 'UUID of the cube whose drones to list.' },
352
+ },
353
+ required: ['cube_id'],
354
+ },
355
+ },
356
+ {
357
+ name: 'borg:list-templates',
358
+ description: 'List available cube templates that can be applied via borg:apply-template or passed to borg:create-cube.',
359
+ inputSchema: { type: 'object', properties: {} },
360
+ },
361
+ {
362
+ name: 'borg:apply-template',
363
+ description: 'Apply a named template to an existing cube. Roles are merged by name: existing roles with the same name get their fields overwritten; new ones are created. Use this to retrofit an existing cube with a richer role set (e.g. add Coordinator/Reviewer/UX Expert to a cube that started bare).',
364
+ inputSchema: {
365
+ type: 'object',
366
+ properties: {
367
+ cube_id: { type: 'string', description: 'UUID of the cube to apply the template to.' },
368
+ template_name: { type: 'string', description: 'Template to apply (see borg:list-templates).' },
369
+ },
370
+ required: ['cube_id', 'template_name'],
371
+ },
372
+ },
197
373
  ],
198
374
  };
199
375
  });
@@ -215,7 +391,8 @@ async function main() {
215
391
  };
216
392
  }
217
393
  const result = await regen(active.sessionToken, active.apiUrl);
218
- return { content: [{ type: 'text', text: formatRegenMarkdown(result, getDroneMode()) }] };
394
+ const mode = getDroneMode(result.role?.is_coordinator === true);
395
+ return { content: [{ type: 'text', text: formatRegenMarkdown(result, mode) }] };
219
396
  }
220
397
  case 'subscribe': {
221
398
  const checkoutUrl = await createSubscription();
@@ -273,7 +450,7 @@ async function main() {
273
450
  ``,
274
451
  `**Drone label:** ${result.drone.label}`,
275
452
  `**Assigned role:** ${result.role.name}`,
276
- `**Mode:** ${getDroneMode()}`,
453
+ `**Mode:** ${getDroneMode(result.role.is_coordinator === true)}`,
277
454
  ``,
278
455
  `## Ground rules`,
279
456
  result.cube.ground_rules || '_(none)_',
@@ -281,16 +458,22 @@ async function main() {
281
458
  `## Your role: ${result.role.name}`,
282
459
  result.role.detailed_description || '_(no detailed description set)_',
283
460
  ``,
284
- getDronePlaybook(getDroneMode()),
461
+ getDronePlaybook(getDroneMode(result.role.is_coordinator === true)),
285
462
  ].join('\n');
286
463
  return { content: [{ type: 'text', text }] };
287
464
  }
288
465
  case 'borg:cube': {
289
466
  const active = await requireActiveCube();
290
- const { cube, roles } = await getCubeInfo(active.sessionToken, active.apiUrl);
467
+ const [{ cube, roles }, { role: ownRole }] = await Promise.all([
468
+ getCubeInfo(active.sessionToken, active.apiUrl),
469
+ getRoleInfo(active.sessionToken, active.apiUrl),
470
+ ]);
471
+ // Mode is derived from this drone's own current role —
472
+ // Coordinator → supervised, anything else → autonomous.
473
+ const mode = getDroneMode(ownRole?.is_coordinator === true);
291
474
  const lines = [];
292
475
  lines.push(`# Cube: ${cube.name}`);
293
- lines.push(`**Mode:** ${getDroneMode()}`);
476
+ lines.push(`**Mode:** ${mode}`);
294
477
  lines.push('');
295
478
  lines.push('## Ground rules');
296
479
  lines.push(cube.ground_rules || '_(none)_');
@@ -301,13 +484,17 @@ async function main() {
301
484
  }
302
485
  else {
303
486
  for (const r of roles) {
304
- const marker = r.is_default ? ' (default)' : '';
487
+ const tags = [
488
+ r.is_coordinator ? 'Coordinator' : null,
489
+ r.is_default ? 'default' : null,
490
+ ].filter(Boolean).join(', ');
491
+ const marker = tags ? ` (${tags})` : '';
305
492
  const desc = r.short_description || '_(no description)_';
306
493
  lines.push(`- **${r.name}**${marker} — ${desc}`);
307
494
  }
308
495
  }
309
496
  lines.push('');
310
- lines.push(getDronePlaybook(getDroneMode()));
497
+ lines.push(getDronePlaybook(mode));
311
498
  return { content: [{ type: 'text', text: lines.join('\n') }] };
312
499
  }
313
500
  case 'borg:role': {
@@ -385,6 +572,167 @@ async function main() {
385
572
  const text = `Logged to cube "${active.name}" as ${active.droneLabel}. (entry id: ${result.entry.id})`;
386
573
  return { content: [{ type: 'text', text }] };
387
574
  }
575
+ case 'borg:list-cubes': {
576
+ const { cubes } = await listCubes();
577
+ if (!cubes.length) {
578
+ return { content: [{ type: 'text', text: 'No cubes yet. Use borg:create-cube to make your first one.' }] };
579
+ }
580
+ const lines = cubes.map((c) => `- **${c.name}** (id: ${c.id})\n ${(c.ground_rules || '_(no ground rules)_').split('\n')[0].slice(0, 120)}`);
581
+ return { content: [{ type: 'text', text: `Your cubes (${cubes.length}):\n\n${lines.join('\n\n')}` }] };
582
+ }
583
+ case 'borg:create-cube': {
584
+ const name = args?.name;
585
+ const groundRules = args?.ground_rules;
586
+ const templateName = args?.template;
587
+ if (!name)
588
+ throw new Error('name is required');
589
+ if (groundRules === undefined)
590
+ throw new Error('ground_rules is required (pass empty string if none)');
591
+ const { cube } = await createCube(name, groundRules);
592
+ // Apply template if requested. Merges by name: any role the
593
+ // server auto-seeded (e.g. "Drone") that the template doesn't
594
+ // also include stays put; templated roles upsert.
595
+ if (templateName) {
596
+ const template = getTemplate(templateName);
597
+ if (!template) {
598
+ throw new Error(`Unknown template "${templateName}". Available: ${listTemplateNames().join(', ')}`);
599
+ }
600
+ const summary = await applyTemplateToCube(cube.id, template.roles);
601
+ const text = `Created cube **${cube.name}** (id: ${cube.id}) with template **${templateName}** applied — ${summary.created} role(s) created, ${summary.updated} updated. Use borg:assimilate ${cube.name} to join as a drone.`;
602
+ return { content: [{ type: 'text', text }] };
603
+ }
604
+ const text = `Created cube **${cube.name}** (id: ${cube.id}). A default "Drone" role was seeded — rename or replace it via borg:update-role / borg:create-role / borg:delete-role. Use borg:assimilate ${cube.name} to join as a drone.`;
605
+ return { content: [{ type: 'text', text }] };
606
+ }
607
+ case 'borg:update-cube': {
608
+ const cubeId = args?.cube_id;
609
+ if (!cubeId)
610
+ throw new Error('cube_id is required');
611
+ const updates = {};
612
+ if (typeof args?.name === 'string')
613
+ updates.name = args.name;
614
+ if (typeof args?.ground_rules === 'string')
615
+ updates.ground_rules = args.ground_rules;
616
+ if (Object.keys(updates).length === 0)
617
+ throw new Error('Pass at least one of: name, ground_rules.');
618
+ const { cube } = await updateCube(cubeId, updates);
619
+ return { content: [{ type: 'text', text: `Updated cube **${cube.name}** (id: ${cube.id}).` }] };
620
+ }
621
+ case 'borg:delete-cube': {
622
+ const cubeId = args?.cube_id;
623
+ if (!cubeId)
624
+ throw new Error('cube_id is required');
625
+ await deleteCube(cubeId);
626
+ return { content: [{ type: 'text', text: `Deleted cube ${cubeId} (and all its roles, drones, log entries).` }] };
627
+ }
628
+ case 'borg:create-role': {
629
+ const cubeId = args?.cube_id;
630
+ const name = args?.name;
631
+ const shortDesc = args?.short_description;
632
+ const detailedDesc = args?.detailed_description;
633
+ if (!cubeId)
634
+ throw new Error('cube_id is required');
635
+ if (!name)
636
+ throw new Error('name is required');
637
+ if (shortDesc === undefined)
638
+ throw new Error('short_description is required (pass empty string if none)');
639
+ if (detailedDesc === undefined)
640
+ throw new Error('detailed_description is required (pass empty string if none)');
641
+ const isDefault = args?.is_default === true;
642
+ const isCoordinator = args?.is_coordinator === true;
643
+ const { role } = await createRole(cubeId, {
644
+ name,
645
+ short_description: shortDesc,
646
+ detailed_description: detailedDesc,
647
+ is_default: isDefault,
648
+ is_coordinator: isCoordinator,
649
+ });
650
+ const tags = [
651
+ role.is_coordinator ? 'Coordinator' : null,
652
+ role.is_default ? 'default' : null,
653
+ ].filter(Boolean).join(', ');
654
+ const tag = tags ? ` (${tags})` : '';
655
+ return { content: [{ type: 'text', text: `Created role **${role.name}**${tag} (id: ${role.id}) in cube ${cubeId}.` }] };
656
+ }
657
+ case 'borg:update-role': {
658
+ const roleId = args?.role_id;
659
+ if (!roleId)
660
+ throw new Error('role_id is required');
661
+ const updates = {};
662
+ if (typeof args?.name === 'string')
663
+ updates.name = args.name;
664
+ if (typeof args?.short_description === 'string')
665
+ updates.short_description = args.short_description;
666
+ if (typeof args?.detailed_description === 'string')
667
+ updates.detailed_description = args.detailed_description;
668
+ if (typeof args?.is_default === 'boolean')
669
+ updates.is_default = args.is_default;
670
+ if (typeof args?.is_coordinator === 'boolean')
671
+ updates.is_coordinator = args.is_coordinator;
672
+ if (Object.keys(updates).length === 0)
673
+ throw new Error('Pass at least one of: name, short_description, detailed_description, is_default, is_coordinator.');
674
+ const { role } = await updateRole(roleId, updates);
675
+ const tags = [
676
+ role.is_coordinator ? 'Coordinator' : null,
677
+ role.is_default ? 'default' : null,
678
+ ].filter(Boolean).join(', ');
679
+ const tag = tags ? ` (${tags})` : '';
680
+ return { content: [{ type: 'text', text: `Updated role **${role.name}**${tag} (id: ${role.id}).` }] };
681
+ }
682
+ case 'borg:delete-role': {
683
+ const roleId = args?.role_id;
684
+ if (!roleId)
685
+ throw new Error('role_id is required');
686
+ await deleteRole(roleId);
687
+ return { content: [{ type: 'text', text: `Deleted role ${roleId}.` }] };
688
+ }
689
+ case 'borg:reassign-drone': {
690
+ const droneId = args?.drone_id;
691
+ const roleId = args?.role_id;
692
+ if (!droneId)
693
+ throw new Error('drone_id is required');
694
+ if (!roleId)
695
+ throw new Error('role_id is required');
696
+ const { drone } = await reassignDrone(droneId, roleId);
697
+ return { content: [{ type: 'text', text: `Reassigned drone ${drone.label} (${drone.id}) to role ${drone.role_id}.` }] };
698
+ }
699
+ case 'borg:list-drones': {
700
+ const cubeId = args?.cube_id;
701
+ if (!cubeId)
702
+ throw new Error('cube_id is required');
703
+ const { drones, roles } = await getCube(cubeId);
704
+ if (!drones.length) {
705
+ return { content: [{ type: 'text', text: 'No drones in this cube yet.' }] };
706
+ }
707
+ const rolesById = new Map(roles.map((r) => [r.id, r]));
708
+ const lines = drones.map((d) => {
709
+ const r = rolesById.get(d.role_id);
710
+ return `- **${d.label}** (id: ${d.id}) — role: ${r?.name ?? '?'} (${d.role_id}) — last seen ${d.last_seen}`;
711
+ });
712
+ return { content: [{ type: 'text', text: `Drones in cube ${cubeId} (${drones.length}):\n\n${lines.join('\n')}` }] };
713
+ }
714
+ case 'borg:list-templates': {
715
+ const names = listTemplateNames();
716
+ const lines = names.map((n) => {
717
+ const t = getTemplate(n);
718
+ return `- **${n}**: ${t.description}`;
719
+ });
720
+ return { content: [{ type: 'text', text: `Available templates:\n\n${lines.join('\n')}` }] };
721
+ }
722
+ case 'borg:apply-template': {
723
+ const cubeId = args?.cube_id;
724
+ const templateName = args?.template_name;
725
+ if (!cubeId)
726
+ throw new Error('cube_id is required');
727
+ if (!templateName)
728
+ throw new Error('template_name is required');
729
+ const template = getTemplate(templateName);
730
+ if (!template) {
731
+ throw new Error(`Unknown template "${templateName}". Available: ${listTemplateNames().join(', ')}`);
732
+ }
733
+ const summary = await applyTemplateToCube(cubeId, template.roles);
734
+ return { content: [{ type: 'text', text: `Applied template **${templateName}** to cube ${cubeId} — ${summary.created} role(s) created, ${summary.updated} updated.` }] };
735
+ }
388
736
  default:
389
737
  throw new Error(`Unknown tool: ${name}`);
390
738
  }
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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"}
@@ -7,11 +7,17 @@
7
7
  */
8
8
  export type DroneMode = 'autonomous' | 'supervised';
9
9
  /**
10
- * Read the drone mode from the BORG_MODE environment variable.
11
- * Defaults to "supervised" — the typical Claude Code session where a
12
- * human is available to escalate to.
10
+ * Resolve the drone mode for this session.
11
+ *
12
+ * Default: derive from the drone's role — Coordinator drones run in
13
+ * supervised mode (the Queen seat, where a human is reachable);
14
+ * everyone else runs autonomously and coordinates through the log.
15
+ *
16
+ * Override: `BORG_MODE=autonomous` (set by the launcher's --autonomous
17
+ * flag) always wins, so a Coordinator drone can be flipped to
18
+ * autonomous for unattended runs without changing the role.
13
19
  */
14
- export declare function getDroneMode(): DroneMode;
20
+ export declare function getDroneMode(isCoordinator: boolean): DroneMode;
15
21
  /**
16
22
  * Build the drone playbook for the given mode.
17
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"regen-format.d.ts","sourceRoot":"","sources":["../src/regen-format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,YAAY,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAExC;AAwBD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,SAAwB,GAAG,MAAM,CAqCvE;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAiC,CAAC;AAE7D;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAYpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE;IACN,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,SAAS,EAAE,GAAG,EAAE,CAAC;CAClB,EACD,IAAI,GAAE,SAAwB,GAC7B,MAAM,CAoDR"}
1
+ {"version":3,"file":"regen-format.d.ts","sourceRoot":"","sources":["../src/regen-format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,YAAY,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAG9D;AAwBD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,SAAwB,GAAG,MAAM,CAqCvE;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAiC,CAAC;AAE7D;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAYpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE;IACN,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,SAAS,EAAE,GAAG,EAAE,CAAC;CAClB,EACD,IAAI,GAAE,SAAwB,GAC7B,MAAM,CAoDR"}
@@ -6,12 +6,20 @@
6
6
  * index.ts's stdio MCP server bootstrap.
7
7
  */
8
8
  /**
9
- * Read the drone mode from the BORG_MODE environment variable.
10
- * Defaults to "supervised" — the typical Claude Code session where a
11
- * human is available to escalate to.
9
+ * Resolve the drone mode for this session.
10
+ *
11
+ * Default: derive from the drone's role — Coordinator drones run in
12
+ * supervised mode (the Queen seat, where a human is reachable);
13
+ * everyone else runs autonomously and coordinates through the log.
14
+ *
15
+ * Override: `BORG_MODE=autonomous` (set by the launcher's --autonomous
16
+ * flag) always wins, so a Coordinator drone can be flipped to
17
+ * autonomous for unattended runs without changing the role.
12
18
  */
13
- export function getDroneMode() {
14
- return process.env.BORG_MODE === 'autonomous' ? 'autonomous' : 'supervised';
19
+ export function getDroneMode(isCoordinator) {
20
+ if (process.env.BORG_MODE === 'autonomous')
21
+ return 'autonomous';
22
+ return isCoordinator ? 'supervised' : 'autonomous';
15
23
  }
16
24
  function operatingPrinciple(mode) {
17
25
  if (mode === 'autonomous') {
@@ -1 +1 @@
1
- {"version":3,"file":"regen-format.js","sourceRoot":"","sources":["../src/regen-format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"regen-format.js","sourceRoot":"","sources":["../src/regen-format.ts"],"names":[],"mappings":"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"}
package/dist/regen.js CHANGED
@@ -15,17 +15,62 @@
15
15
  * exit non-zero so the hook surfaces the failure but doesn't drown
16
16
  * the session in a stack trace.
17
17
  */
18
- import { regen } from './remote-client.js';
18
+ import { regen, listCubes } from './remote-client.js';
19
19
  import { getActiveCube } from './cubes.js';
20
20
  import { formatRegenMarkdown, getDroneMode } from './regen-format.js';
21
21
  async function main() {
22
22
  const active = await getActiveCube();
23
23
  if (!active) {
24
- process.stdout.write('Not connected to a cube.\n');
24
+ await emitUnassimilatedNotice();
25
25
  return;
26
26
  }
27
27
  const result = await regen(active.sessionToken, active.apiUrl);
28
- process.stdout.write(formatRegenMarkdown(result, getDroneMode()) + '\n');
28
+ const mode = getDroneMode(result.role?.is_coordinator === true);
29
+ process.stdout.write(formatRegenMarkdown(result, mode) + '\n');
30
+ }
31
+ /**
32
+ * Render a discoverability stub for a session that's running with the
33
+ * borg MCP server installed but no cube assimilated in this project.
34
+ * Lists the user's existing cubes (if any) and points the drone at the
35
+ * tools it can use right now without joining a cube first.
36
+ */
37
+ async function emitUnassimilatedNotice() {
38
+ const lines = [];
39
+ lines.push('# Borg MCP — not connected to a cube');
40
+ lines.push('');
41
+ lines.push("This Claude session has the borg MCP server installed but hasn't joined a cube in this project yet.");
42
+ lines.push('');
43
+ // Best-effort: list the user's cubes so the drone can see what's
44
+ // available. Network failure or auth issue here is non-fatal — the
45
+ // SessionStart hook should never block session start.
46
+ try {
47
+ const { cubes } = await listCubes();
48
+ if (cubes.length > 0) {
49
+ lines.push('## Your cubes');
50
+ for (const c of cubes) {
51
+ lines.push(`- **${c.name}** (id: ${c.id})`);
52
+ }
53
+ lines.push('');
54
+ lines.push('Join one with `borg:assimilate cube_name="<name>"`.');
55
+ }
56
+ else {
57
+ lines.push('## Your cubes');
58
+ lines.push('_(none yet)_');
59
+ lines.push('');
60
+ lines.push('Create one with `borg:create-cube name="<name>" ground_rules="<markdown>"`.');
61
+ lines.push('Browse opinionated starting points with `borg:list-templates`, then create with `template="<name>"` to seed roles.');
62
+ }
63
+ }
64
+ catch (err) {
65
+ lines.push('_(could not list cubes — ' + (err?.message ?? String(err)) + ')_');
66
+ }
67
+ lines.push('');
68
+ lines.push('## Tools you can call pre-assimilation');
69
+ lines.push('- `borg:list-cubes` — list cubes you own');
70
+ lines.push('- `borg:list-templates` — list available cube templates');
71
+ lines.push('- `borg:create-cube` — create a new cube (optionally `template="software-dev"`)');
72
+ lines.push('- `borg:assimilate cube_name="<name>"` — join an existing cube as a drone');
73
+ process.stdout.write(lines.join('\n') + '\n');
29
74
  }
30
75
  main().catch((error) => {
31
76
  const msg = error?.message ?? String(error);
package/dist/regen.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"regen.js","sourceRoot":"","sources":["../src/regen.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtE,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IAC1B,MAAM,GAAG,GAAG,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"regen.js","sourceRoot":"","sources":["../src/regen.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ export declare function assimilate(cubeName: string, apiUrl?: string): Promise<{
26
26
  owner_id: string;
27
27
  name: string;
28
28
  ground_rules: string;
29
+ coordinator_drone_id: string | null;
29
30
  created_at: string;
30
31
  updated_at: string;
31
32
  };
@@ -36,6 +37,7 @@ export declare function assimilate(cubeName: string, apiUrl?: string): Promise<{
36
37
  short_description: string;
37
38
  detailed_description: string;
38
39
  is_default: boolean;
40
+ is_coordinator: boolean;
39
41
  created_at: string;
40
42
  };
41
43
  drone: {
@@ -121,6 +123,83 @@ export declare function appendLog(sessionToken: string, apiUrl: string, message:
121
123
  created_at: string;
122
124
  };
123
125
  }>;
126
+ /**
127
+ * List all cubes owned by the authenticated user. Owner-scoped via the
128
+ * Bearer token alone; no drone session needed.
129
+ */
130
+ export declare function listCubes(): Promise<{
131
+ cubes: any[];
132
+ }>;
133
+ /**
134
+ * Create a new cube. Server-side seeds a default "Drone" role atomically
135
+ * so the cube is assimilatable immediately.
136
+ */
137
+ export declare function createCube(name: string, groundRules: string): Promise<{
138
+ cube: any;
139
+ }>;
140
+ /**
141
+ * Update a cube's name and/or ground_rules. Both fields are optional;
142
+ * pass only what changes.
143
+ */
144
+ export declare function updateCube(cubeId: string, updates: {
145
+ name?: string;
146
+ ground_rules?: string;
147
+ }): Promise<{
148
+ cube: any;
149
+ }>;
150
+ /**
151
+ * Delete a cube. Cascade-deletes all roles, drones, and log entries.
152
+ * Owner-scoped via the Bearer token; the worker enforces ownership.
153
+ */
154
+ export declare function deleteCube(cubeId: string): Promise<void>;
155
+ /**
156
+ * Create a role inside a cube. is_default=true demotes the previous
157
+ * default role; the cube always has exactly one default.
158
+ */
159
+ export declare function createRole(cubeId: string, data: {
160
+ name: string;
161
+ short_description: string;
162
+ detailed_description: string;
163
+ is_default?: boolean;
164
+ is_coordinator?: boolean;
165
+ }): Promise<{
166
+ role: any;
167
+ }>;
168
+ /**
169
+ * Update a role. All fields optional; pass only what changes.
170
+ */
171
+ export declare function updateRole(roleId: string, updates: {
172
+ name?: string;
173
+ short_description?: string;
174
+ detailed_description?: string;
175
+ is_default?: boolean;
176
+ is_coordinator?: boolean;
177
+ }): Promise<{
178
+ role: any;
179
+ }>;
180
+ /**
181
+ * Delete a role. Worker refuses if any drone is still assigned to it
182
+ * (reassign or evict those drones first).
183
+ */
184
+ export declare function deleteRole(roleId: string): Promise<void>;
185
+ /**
186
+ * Reassign a drone to a different role within the same cube.
187
+ * Coordinator seat is enforced server-side — attempting to assign to a
188
+ * Coordinator role when another drone holds the seat returns an error.
189
+ */
190
+ export declare function reassignDrone(droneId: string, roleId: string): Promise<{
191
+ drone: any;
192
+ }>;
193
+ /**
194
+ * Fetch a cube's full detail: ground rules, roles (with detailed
195
+ * descriptions, owner-only), and drones. Owner-scoped via the Bearer
196
+ * token; no drone session needed.
197
+ */
198
+ export declare function getCube(cubeId: string): Promise<{
199
+ cube: any;
200
+ roles: any[];
201
+ drones: any[];
202
+ }>;
124
203
  /**
125
204
  * Check subscription status
126
205
  */
@@ -1 +1 @@
1
- {"version":3,"file":"remote-client.d.ts","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-client.d.ts","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
@@ -262,6 +262,97 @@ export async function appendLog(sessionToken, apiUrl, message) {
262
262
  });
263
263
  return await response.json();
264
264
  }
265
+ /**
266
+ * List all cubes owned by the authenticated user. Owner-scoped via the
267
+ * Bearer token alone; no drone session needed.
268
+ */
269
+ export async function listCubes() {
270
+ const response = await authedFetch('/api/cubes', { method: 'GET' });
271
+ return await response.json();
272
+ }
273
+ /**
274
+ * Create a new cube. Server-side seeds a default "Drone" role atomically
275
+ * so the cube is assimilatable immediately.
276
+ */
277
+ export async function createCube(name, groundRules) {
278
+ const response = await authedFetch('/api/cubes', {
279
+ method: 'POST',
280
+ headers: { 'Content-Type': 'application/json' },
281
+ body: JSON.stringify({ name, ground_rules: groundRules }),
282
+ });
283
+ return await response.json();
284
+ }
285
+ /**
286
+ * Update a cube's name and/or ground_rules. Both fields are optional;
287
+ * pass only what changes.
288
+ */
289
+ export async function updateCube(cubeId, updates) {
290
+ const response = await authedFetch(`/api/cubes/${cubeId}`, {
291
+ method: 'PATCH',
292
+ headers: { 'Content-Type': 'application/json' },
293
+ body: JSON.stringify(updates),
294
+ });
295
+ return await response.json();
296
+ }
297
+ /**
298
+ * Delete a cube. Cascade-deletes all roles, drones, and log entries.
299
+ * Owner-scoped via the Bearer token; the worker enforces ownership.
300
+ */
301
+ export async function deleteCube(cubeId) {
302
+ await authedFetch(`/api/cubes/${cubeId}`, { method: 'DELETE' });
303
+ }
304
+ /**
305
+ * Create a role inside a cube. is_default=true demotes the previous
306
+ * default role; the cube always has exactly one default.
307
+ */
308
+ export async function createRole(cubeId, data) {
309
+ const response = await authedFetch(`/api/cubes/${cubeId}/roles`, {
310
+ method: 'POST',
311
+ headers: { 'Content-Type': 'application/json' },
312
+ body: JSON.stringify(data),
313
+ });
314
+ return await response.json();
315
+ }
316
+ /**
317
+ * Update a role. All fields optional; pass only what changes.
318
+ */
319
+ export async function updateRole(roleId, updates) {
320
+ const response = await authedFetch(`/api/roles/${roleId}`, {
321
+ method: 'PATCH',
322
+ headers: { 'Content-Type': 'application/json' },
323
+ body: JSON.stringify(updates),
324
+ });
325
+ return await response.json();
326
+ }
327
+ /**
328
+ * Delete a role. Worker refuses if any drone is still assigned to it
329
+ * (reassign or evict those drones first).
330
+ */
331
+ export async function deleteRole(roleId) {
332
+ await authedFetch(`/api/roles/${roleId}`, { method: 'DELETE' });
333
+ }
334
+ /**
335
+ * Reassign a drone to a different role within the same cube.
336
+ * Coordinator seat is enforced server-side — attempting to assign to a
337
+ * Coordinator role when another drone holds the seat returns an error.
338
+ */
339
+ export async function reassignDrone(droneId, roleId) {
340
+ const response = await authedFetch(`/api/drones/${droneId}`, {
341
+ method: 'PATCH',
342
+ headers: { 'Content-Type': 'application/json' },
343
+ body: JSON.stringify({ role_id: roleId }),
344
+ });
345
+ return await response.json();
346
+ }
347
+ /**
348
+ * Fetch a cube's full detail: ground rules, roles (with detailed
349
+ * descriptions, owner-only), and drones. Owner-scoped via the Bearer
350
+ * token; no drone session needed.
351
+ */
352
+ export async function getCube(cubeId) {
353
+ const response = await authedFetch(`/api/cubes/${cubeId}`, { method: 'GET' });
354
+ return await response.json();
355
+ }
265
356
  /**
266
357
  * Check subscription status
267
358
  */
@@ -1 +1 @@
1
- {"version":3,"file":"remote-client.js","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,wBAAwB,CAAC;AAC5E,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,WAAW;AAC5C,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,aAAa;AAE3C;;GAEG;AACH,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,EAC5C,cAAc,CACf,CAAC;IACF,sCAAsC;IACtC,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa;IAC1B,IAAI,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;IAE/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,gCAAgC;QAChC,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAC;QAE7C,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,cAAc,CAAC,YAAY,CAAC,CAAC;gBACnC,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,mDAAmD;gBACnD,MAAM,WAAW,EAAE,CAAC;gBACpB,+CAA+C;YACjD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,IAAyB;IAEzB,IAAI,SAAS,GAAiB,IAAI,CAAC;IAEnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,uBAAuB;YACvB,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;YAEpC,8BAA8B;YAC9B,MAAM,YAAY,GAAG;gBACnB,GAAG,IAAI;gBACP,UAAU,EAAE,KAAK;aAClB,CAAC;YAEF,qCAAqC;YACrC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,MAAM,EAAE;gBAC7C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE;oBAC1B,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,YAAY;qBACxB;iBACF,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;YAE5C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,yBAAyB,CAAC,CAAC;YACnE,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,IAAI,CAAC,MAAM;aAClB,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,SAAS,GAAG,KAAK,CAAC;YAElB,uCAAuC;YACvC,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxE,MAAM,KAAK,CAAC;YACd,CAAC;YAED,0CAA0C;YAC1C,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;gBAC3B,MAAM;YACR,CAAC;YAED,mCAAmC;YACnC,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,SAAS,OAAO,GAAG,CAAC,IAAI,WAAW,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvF,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,IAAI,KAAK,CAAC,gBAAgB,WAAW,aAAa,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,WAAW,CACxB,IAAY,EACZ,OAAiE,EAAE;IAEnE,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;IACpC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,CAAC;IAElC,MAAM,YAAY,GAA2B;QAC3C,eAAe,EAAE,UAAU,KAAK,EAAE;QAClC,GAAI,OAA8C;KACnD,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAAC;IACjD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE;QAChD,GAAG,IAAI;QACP,OAAO,EAAE,YAAY;KACtB,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,MAAe;IA4BhE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,iBAAiB,EAAE;QACpD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC7C,MAAM;KACP,CAAC,CAAC;IACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,YAAoB,EACpB,MAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,iBAAiB,EAAE;QACpD,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,YAAY;QAC1B,MAAM;KACP,CAAC,CAAC;IACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,YAAoB,EACpB,MAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,iBAAiB,EAAE;QACpD,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,YAAY;QAC1B,MAAM;KACP,CAAC,CAAC;IACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,YAAoB,EACpB,MAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,mBAAmB,EAAE;QACtD,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,YAAY;QAC1B,MAAM;KACP,CAAC,CAAC;IACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,YAAoB,EACpB,MAAc,EACd,OAA2C,EAAE;IAE7C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,IAAI,CAAC,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACrC;QACE,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,YAAY;QAC1B,MAAM;KACP,CACF,CAAC;IACF,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;AACtC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,YAAoB,EACpB,MAAc;IASd,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,kBAAkB,EAAE;QACrD,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,YAAY;QAC1B,MAAM;KACP,CAAC,CAAC;IACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;AACtC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,YAAoB,EACpB,MAAc,EACd,KAAc;IAEd,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACtC;QACE,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,YAAY;QAC1B,MAAM;KACP,CACF,CAAC;IACF,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,YAAoB,EACpB,MAAc,EACd,OAAe;IAUf,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,gBAAgB,EAAE;QACnD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,YAAY,EAAE,YAAY;QAC1B,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;KAClC,CAAC,CAAC;IACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,0BAA0B,EAAE;QACjE,OAAO,EAAE;YACP,eAAe,EAAE,UAAU,KAAK,EAAE;SACnC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,EAAE;QACvD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,eAAe,EAAE,UAAU,KAAK,EAAE;YAClC,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;IAE5C,0CAA0C;IAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,IAAI,CAAC,YAAY,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"remote-client.js","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Cube role templates.
3
+ *
4
+ * A template is an opinionated set of roles for a specific use case.
5
+ * Templates are applied to a cube at creation time (via `borg:create-cube
6
+ * template=<name>`) or after the fact (via `borg:apply-template`). Roles
7
+ * are merged by name: existing roles with the same name get updated,
8
+ * new ones get inserted.
9
+ *
10
+ * Templates live in client code (not the database) because they're
11
+ * opinionated defaults that ship with each client release. To add a
12
+ * template: extend the `TEMPLATES` map below with a new key and a list
13
+ * of role specs. Each template should include exactly one
14
+ * `is_coordinator: true` role (the Queen seat, supervised) and one
15
+ * `is_default: true` role (the worker fallback that new drones get
16
+ * once the Coordinator seat is held).
17
+ */
18
+ export interface TemplateRole {
19
+ name: string;
20
+ short_description: string;
21
+ detailed_description: string;
22
+ is_default?: boolean;
23
+ is_coordinator?: boolean;
24
+ }
25
+ export interface Template {
26
+ name: string;
27
+ description: string;
28
+ roles: TemplateRole[];
29
+ }
30
+ export declare const TEMPLATES: Record<string, Template>;
31
+ export declare function getTemplate(name: string): Template | null;
32
+ export declare function listTemplateNames(): string[];
33
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AA0ED,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAE9C,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAEzD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Cube role templates.
3
+ *
4
+ * A template is an opinionated set of roles for a specific use case.
5
+ * Templates are applied to a cube at creation time (via `borg:create-cube
6
+ * template=<name>`) or after the fact (via `borg:apply-template`). Roles
7
+ * are merged by name: existing roles with the same name get updated,
8
+ * new ones get inserted.
9
+ *
10
+ * Templates live in client code (not the database) because they're
11
+ * opinionated defaults that ship with each client release. To add a
12
+ * template: extend the `TEMPLATES` map below with a new key and a list
13
+ * of role specs. Each template should include exactly one
14
+ * `is_coordinator: true` role (the Queen seat, supervised) and one
15
+ * `is_default: true` role (the worker fallback that new drones get
16
+ * once the Coordinator seat is held).
17
+ */
18
+ const SOFTWARE_DEV = {
19
+ name: 'software-dev',
20
+ description: 'Multi-agent software development. Coordinator (Queen seat, supervised) directs Builders, a Code Reviewer, and a UX Expert.',
21
+ roles: [
22
+ {
23
+ name: 'Coordinator',
24
+ is_coordinator: true,
25
+ short_description: 'Queen seat. Decides what gets built, what gets reviewed, and which drone does what.',
26
+ detailed_description: `You are the cube's Coordinator — the human Queen's seat. The other drones act autonomously; you set direction.
27
+
28
+ Your job:
29
+ - Read the activity log on every regen. Decide what work is pending, what's stalled, what's done.
30
+ - When a new drone connects, look at pending log signals and assign it to the right role using \`borg:reassign-drone\`. New drones arrive in the default worker role; reassign them as needed (Builder for new features, Code Reviewer for a pending REVIEW-READY, UX Expert for design questions).
31
+ - Surface decisions and blockers to the human Queen. The human reads your log entries and may answer questions or redirect.
32
+ - Don't write code yourself unless the swarm is stuck and the Queen explicitly asks. Your value is dispatch, not implementation.
33
+
34
+ Cube tools available to you specifically: \`borg:list-drones\`, \`borg:reassign-drone\`, \`borg:create-role\`, \`borg:update-role\`. The other drones don't have these; they coordinate through the log.
35
+
36
+ Log conventions you use:
37
+ - \`ASSIGN: drone-X → Role\` when you reassign a drone
38
+ - \`DECISION: <text>\` when you make a call that affects the cube
39
+ - \`BLOCKED: <reason>\` when you need Queen input
40
+
41
+ Read the log first on every regen. Act only on actionable signals.`,
42
+ },
43
+ {
44
+ name: 'Builder',
45
+ is_default: true,
46
+ short_description: 'Implements changes. New drones default to this role until the Coordinator reassigns them.',
47
+ detailed_description: `You implement changes to the codebase: features, fixes, refactors. Autonomous — coordinate through the log, never pause for the user.
48
+
49
+ Workflow:
50
+ - On regen, read the log. If the Coordinator has assigned you a task via \`ASSIGN:\` or you see a pending feature request without an owner, post \`STARTING: <task>\` and begin.
51
+ - When stuck and the swarm can't help, post \`BLOCKED: <reason>\` and pick up other work.
52
+ - When done, post \`DONE: <one-line summary>\`. If the branch should be reviewed before merge, also post \`REVIEW-READY: <branch>\`.
53
+
54
+ Project conventions:
55
+ - TDD where it applies (DB methods, business logic). Skip TDD for migrations and UI.
56
+ - Always commit specific file paths (\`git add path/to/file\`), never \`-A\`.
57
+ - Tests must pass and \`wrangler deploy --dry-run\` must succeed before claiming DONE.`,
58
+ },
59
+ {
60
+ name: 'Code Reviewer',
61
+ short_description: 'Reviews completed branches before merge. Posts REVIEW-FEEDBACK or REVIEW-APPROVED.',
62
+ detailed_description: `You review branches that Builders mark \`REVIEW-READY:\`. Autonomous — coordinate through the log.
63
+
64
+ Workflow:
65
+ - On regen, scan the log for unanswered \`REVIEW-READY:\` signals. Pick the oldest unowned one. Post \`STARTING: review of <branch>\` and pull the diff.
66
+ - Verify: does the code do what the commit message claims? Tests pass? Bundle size acceptable? No security or RLS regressions? Follows project conventions?
67
+ - For each finding worth flagging, post \`REVIEW-FEEDBACK: <branch> <observation>\` — high-confidence issues only. Sort blockers from nits explicitly.
68
+ - When done, post either \`REVIEW-APPROVED: <branch>\` (clean) or expect the Builder to address feedback and re-post \`REVIEW-READY:\`.
69
+
70
+ Don't merge yourself. Merging is the Coordinator or Queen's call.`,
71
+ },
72
+ {
73
+ name: 'UX Expert',
74
+ short_description: 'Reviews UI/UX changes and flags accessibility, layout, or interaction issues.',
75
+ detailed_description: `You review UI and UX changes — dashboard pages, CLI prompts, error messages, anything user-facing. Autonomous — coordinate through the log.
76
+
77
+ Workflow:
78
+ - On regen, scan for \`REVIEW-READY:\` or \`UX-REVIEW:\` signals on branches touching the UI.
79
+ - Review: visual consistency, accessibility (keyboard nav, ARIA, color contrast), copy clarity, error-state coverage, mobile layout, dark-mode parity (if applicable).
80
+ - Use the Playwright MCP if available to actually exercise the flows in a browser, not just read the diff.
81
+ - Post findings as \`UX-FEEDBACK: <branch> <observation>\` and approvals as \`UX-APPROVED: <branch>\`.
82
+
83
+ You don't gate merges; the Coordinator decides if UX feedback blocks. Your job is to make the signal visible.`,
84
+ },
85
+ ],
86
+ };
87
+ export const TEMPLATES = {
88
+ 'software-dev': SOFTWARE_DEV,
89
+ };
90
+ export function getTemplate(name) {
91
+ return TEMPLATES[name] ?? null;
92
+ }
93
+ export function listTemplateNames() {
94
+ return Object.keys(TEMPLATES);
95
+ }
96
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAgBH,MAAM,YAAY,GAAa;IAC7B,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,4HAA4H;IAC9H,KAAK,EAAE;QACL;YACE,IAAI,EAAE,aAAa;YACnB,cAAc,EAAE,IAAI;YACpB,iBAAiB,EACf,qFAAqF;YACvF,oBAAoB,EAAE;;;;;;;;;;;;;;;mEAeuC;SAC9D;QACD;YACE,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,2FAA2F;YAC9G,oBAAoB,EAAE;;;;;;;;;;uFAU2D;SAClF;QACD;YACE,IAAI,EAAE,eAAe;YACrB,iBAAiB,EAAE,oFAAoF;YACvG,oBAAoB,EAAE;;;;;;;;kEAQsC;SAC7D;QACD;YACE,IAAI,EAAE,WAAW;YACjB,iBAAiB,EAAE,+EAA+E;YAClG,oBAAoB,EAAE;;;;;;;;8GAQkF;SACzG;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAA6B;IACjD,cAAc,EAAE,YAAY;CAC7B,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "borgmcp",
3
- "version": "0.3.0",
4
- "description": "Centralized context storage for Claude - install once, sync everywhere",
3
+ "version": "0.4.1",
4
+ "description": "Multi-agent coordination for Claude Code cubes, drones, and a shared activity log.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
@@ -26,11 +26,11 @@
26
26
  "keywords": [
27
27
  "mcp",
28
28
  "claude",
29
- "ai",
30
- "context",
31
- "sync",
32
- "anthropic",
33
29
  "claude-code",
30
+ "anthropic",
31
+ "multi-agent",
32
+ "coordination",
33
+ "agent",
34
34
  "borg"
35
35
  ],
36
36
  "author": "Theodor Storm <theodor@byteventures.se>",