@guyghost/swarm-dao-pi-adapter 0.2.1 → 0.3.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.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
+ export declare function assertSafePiModel(model: string): void;
3
+ export declare function assertSafePiPrompt(prompt: string): void;
2
4
  export default function swarmDaoExtension(pi: ExtensionAPI): void;
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAA2B,MAAM,iCAAiC,CAAC;AA8c7F,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,EAAE,YAAY,QA2oBzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAA2B,MAAM,iCAAiC,CAAC;AA4F7F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAmBrD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAIvD;AAqXD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,EAAE,YAAY,QA+lBzD"}
package/dist/index.js CHANGED
@@ -5,21 +5,13 @@
5
5
  // Registers tools, commands, and event hooks.
6
6
  import { spawn } from "node:child_process";
7
7
  import { StringEnum } from "@earendil-works/pi-ai";
8
- import { addRating, calculateCompositeScore, classifyRiskZone, computeHealthScore, createDispatchModelContext, createProposal, createProposalsBatch, dispatchSwarm,
8
+ import {
9
+ // Commands registry (source of truth for the /dao surface)
10
+ buildDaoCommandHelp, computeHealthScore,
9
11
  // Delivery
10
- execCommand, executeProposal, formatAllArtefacts, formatAuditTrail, formatCompositeScore, formatControlResult, formatDryRun, formatHealthScore, formatPlan, formatRollback, formatRoundTableResults, formatTallyResult, generateAllArtefacts, generateDashboard, generateDeliveryPlan, getAllAuditLog, getOrCreateState, getPlan, getProposal, getState, getUnexecutedDependencies,
11
- // Governance
12
- initializeAgents, initStorage, loadAgentDefinitions, loadConfig,
13
- // Persistence
14
- loadState, PROPOSAL_TYPE_LABELS,
12
+ execCommand, FileDaoStateRepository, formatAllArtefacts, formatAuditTrail, formatHealthScore, formatPlan, generateAllArtefacts, generateDashboard, getAllAuditLog, getPlan, getProposal, getState, handleDaoCheckEdit, handleDaoConfigGithub, handleDaoControl, handleDaoDeliberate, handleDaoDryRun, handleDaoExecute, handleDaoGithubCreateBranch, handleDaoGithubOpenPr, handleDaoPropose, handleDaoRate, handleDaoRollback, handleDaoRoundtable, handleDaoSetup, handleDaoShip, handleDaoUpdateProposal, logger,
15
13
  // Types
16
- PROPOSAL_TYPES,
17
- // Voting & Scoring
18
- parseVoteFromOutput, performDryRun, performRollback, readFileContained, recordAudit,
19
- // Control
20
- runGates,
21
- // Round Table
22
- runRoundTable, saveState, setState, storeCompositeScore, storeDeliberationBatch, storeDeliveryPlan, storeSynthesis, synthesize, tallyVotes, transitionProposal, writeFileContained, } from "@guyghost/swarm-dao-core";
14
+ PROPOSAL_TYPES, readFileContained, resolveDaoCommand, setRepository, suggestDaoCommand, writeFileContained, } from "@guyghost/swarm-dao-core";
23
15
  import { Type } from "typebox";
24
16
  let currentSessionModel = process.env.PI_MODEL;
25
17
  function detectParentSessionModel(ctx) {
@@ -58,10 +50,43 @@ function extractPiJsonContent(stdout) {
58
50
  const trimmed = stdout.trim();
59
51
  return trimmed.length > 0 ? trimmed : null;
60
52
  }
53
+ export function assertSafePiModel(model) {
54
+ // Reject empty values, null bytes (cannot be represented in argv), and values
55
+ // that look like command-line options (start with a dash). Allow any other
56
+ // characters so provider-defined identifiers (including @, +, Unicode, etc.)
57
+ // are accepted when spawn is invoked with an argv array and shell: false.
58
+ if (typeof model !== "string" || model.length === 0) {
59
+ throw new Error(`Invalid pi model identifier: ${JSON.stringify(model)}`);
60
+ }
61
+ if (model.includes("\0")) {
62
+ throw new Error("Invalid pi model identifier: null bytes are not allowed");
63
+ }
64
+ if (model.startsWith("-")) {
65
+ throw new Error(`Invalid pi model identifier: ${JSON.stringify(model)} (must not start with '-')`);
66
+ }
67
+ // Reject characters that could enable shell injection when invoked in a shell.
68
+ // Semicolons and other control characters are not allowed in model identifiers.
69
+ if (/[;&|$`<>]/.test(model)) {
70
+ throw new Error(`Invalid pi model identifier: ${JSON.stringify(model)}`);
71
+ }
72
+ }
73
+ export function assertSafePiPrompt(prompt) {
74
+ if (prompt.includes("\0")) {
75
+ throw new Error("Invalid pi prompt: null bytes are not allowed");
76
+ }
77
+ }
61
78
  async function spawnPiSubprocess(systemPrompt, model, timeoutMs) {
79
+ try {
80
+ assertSafePiModel(model);
81
+ assertSafePiPrompt(systemPrompt);
82
+ }
83
+ catch (error) {
84
+ const message = error instanceof Error ? error.message : String(error);
85
+ return { content: null, error: message };
86
+ }
62
87
  return new Promise((resolve) => {
63
88
  const args = ["--mode", "json", "-p", "--no-session", "--model", model, "-e", systemPrompt];
64
- const child = spawn("pi", args, { stdio: ["ignore", "pipe", "pipe"] });
89
+ const child = spawn("pi", args, { stdio: ["ignore", "pipe", "pipe"], shell: false });
65
90
  let stdout = "";
66
91
  let stderr = "";
67
92
  let timedOut = false;
@@ -242,7 +267,16 @@ function createPiHostAdapter(_pi, ctx) {
242
267
  return Promise.all(params.agents.map((agent) => this.spawnAgent({ agent, proposal: params.proposal, systemPrompt: agent.systemPrompt })));
243
268
  },
244
269
  async log(params) {
245
- console.log(`[${params.level}] ${params.service}: ${params.message}`);
270
+ const message = `[${params.service}] ${params.message}`;
271
+ if (params.level === "error") {
272
+ logger.error(message);
273
+ }
274
+ else if (params.level === "warn") {
275
+ logger.warn(message);
276
+ }
277
+ else {
278
+ logger.info(message);
279
+ }
246
280
  },
247
281
  getWorkingDirectory() {
248
282
  return process.cwd();
@@ -276,31 +310,14 @@ const PI_ONBOARDING_MESSAGE = [
276
310
  "2. Run `/dao` to confirm the dashboard is available.",
277
311
  '3. Start your first proposal with `dao_propose title="..." type="product-feature" description="..."`.',
278
312
  ].join("\n");
279
- const DAO_COMMAND_HELP = [
280
- "# /dao Help",
281
- "",
282
- "Use `/dao` with one of these subcommands:",
283
- "- `/dao` or `/dao status` — show dashboard summary.",
284
- "- `/dao help` — show this help.",
285
- "- `/dao setup` — initialize DAO with default agents.",
286
- "",
287
- "Main tools you can run next:",
288
- "- `dao_setup`",
289
- '- `dao_propose title="..." type="product-feature" description="..."`',
290
- "- `dao_deliberate proposalId=1`",
291
- "- `dao_check proposalId=1`",
292
- "- `dao_ship proposalId=1`",
293
- ].join("\n");
294
313
  // ── Main Extension Export ────────────────────────────────────
295
314
  export default function swarmDaoExtension(pi) {
315
+ let repository;
296
316
  // Restore state on session start
297
317
  pi.on("session_start", async (_event, _ctx) => {
298
318
  const cwd = process.cwd();
299
- await initStorage(cwd);
300
- const loaded = await loadState(cwd);
301
- if (!loaded) {
302
- setState(getOrCreateState(cwd));
303
- }
319
+ repository = await FileDaoStateRepository.open(cwd);
320
+ setRepository(repository);
304
321
  return undefined;
305
322
  });
306
323
  // System prompt injection
@@ -340,16 +357,13 @@ export default function swarmDaoExtension(pi) {
340
357
  useDefaults: Type.Optional(Type.Boolean({ description: "Use default agents (default: true)" })),
341
358
  }),
342
359
  async execute(_id, params) {
343
- const state = getState();
344
- if (state.initialized) {
345
- return toolResult(`DAO already initialized with ${state.agents.length} agents.`);
346
- }
347
- const agents = initializeAgents(params.useDefaults !== false ? undefined : []);
348
- state.agents = agents;
349
- state.initialized = true;
350
- await saveState();
351
- const table = agents.map((a) => `| ${a.name} | ${a.weight} | ${a.role} |`).join("\n");
352
- return toolResult(`# DAO Initialized\n\n| Agent | Weight | Role |\n|-------|--------|------|\n${table}\n\nRun \`dao_propose\` to create proposals.`);
360
+ return toolResult(await handleDaoSetup({
361
+ adapter: createPiHostAdapter(pi),
362
+ workDir: process.cwd(),
363
+ deliberationMode: "auto",
364
+ controlToolName: "dao_check",
365
+ repository,
366
+ }, params.useDefaults !== false));
353
367
  },
354
368
  });
355
369
  // ── Tool: dao_propose ────────────────────────────────────
@@ -369,26 +383,7 @@ export default function swarmDaoExtension(pi) {
369
383
  affectedPaths: Type.Optional(Type.Array(Type.String())),
370
384
  }),
371
385
  async execute(_id, params) {
372
- const state = getState();
373
- if (!state.initialized)
374
- return toolResult(PI_ONBOARDING_MESSAGE);
375
- const proposal = await createProposal(params.title, params.type, params.description, "user", params.context);
376
- if (params.problemStatement !== undefined)
377
- proposal.problemStatement = params.problemStatement;
378
- if (params.acceptanceCriteria !== undefined)
379
- proposal.acceptanceCriteria = params.acceptanceCriteria;
380
- if (params.successMetrics !== undefined)
381
- proposal.successMetrics = params.successMetrics;
382
- if (params.rollbackConditions !== undefined)
383
- proposal.rollbackConditions = params.rollbackConditions;
384
- if (params.affectedPaths !== undefined)
385
- proposal.affectedPaths = params.affectedPaths;
386
- const zone = classifyRiskZone(proposal);
387
- proposal.riskZone = zone;
388
- await saveState();
389
- await recordAudit(proposal.id, "governance", "proposal_created", "user", `Proposal "${params.title}" created`);
390
- await saveState();
391
- return toolResult(`# 📋 Proposal Created — #${proposal.id}\n\n**Title:** ${params.title}\n**Type:** ${PROPOSAL_TYPE_LABELS[params.type]}\n**Zone:** ${zone}\n\nRun \`dao_deliberate proposalId=${proposal.id}\` to deliberate.`);
386
+ return toolResult(await handleDaoPropose({ ...params, type: params.type }, repository));
392
387
  },
393
388
  });
394
389
  // ── Tool: dao_deliberate ─────────────────────────────────
@@ -400,74 +395,29 @@ export default function swarmDaoExtension(pi) {
400
395
  proposalId: Type.Number(),
401
396
  }),
402
397
  async execute(_id, params, _signal, onUpdate, ctx) {
403
- const state = getState();
404
- if (!state.initialized)
405
- return toolResult(PI_ONBOARDING_MESSAGE);
406
- const proposal = getProposal(Number(params.proposalId));
407
- if (!proposal)
408
- return toolResult(`Proposal #${params.proposalId} not found.`);
409
- if (proposal.status !== "open")
410
- return toolResult(`Proposal #${proposal.id} is ${proposal.status}, must be open.`);
411
- // Transition
412
- const transition = transitionProposal(proposal, "deliberate");
413
- if (!transition.success)
414
- return toolResult(`Cannot deliberate: ${transition.error}`);
415
- await recordAudit(proposal.id, "governance", "deliberation_started", "system", `Deliberation on #${proposal.id}`);
416
- await saveState();
417
398
  if (onUpdate) {
418
- onUpdate({ content: [{ type: "text", text: `🗳️ Deliberating proposal #${proposal.id}...` }], details: {} });
399
+ onUpdate({
400
+ content: [{ type: "text", text: `🗳️ Deliberating proposal #${params.proposalId}...` }],
401
+ details: {},
402
+ });
419
403
  }
420
- const startTime = Date.now();
421
404
  const adapter = createPiHostAdapter(pi, ctx);
422
- const projectConfig = await loadConfig(state.daoRoot);
423
- const agents = await loadAgentDefinitions(state.daoRoot, projectConfig);
424
- const modelContext = createDispatchModelContext(state.config.defaultModel, adapter);
425
- const outputs = await dispatchSwarm(proposal, agents, adapter, state.config.maxConcurrent, modelContext, (update) => {
426
- if (onUpdate) {
427
- onUpdate({
428
- content: [{ type: "text", text: `${update.agentName}: ${update.phase}` }],
429
- details: {},
430
- });
431
- }
432
- });
433
- // Parse votes
434
- const votes = [];
435
- const persistedOutputs = [];
436
- for (const output of outputs) {
437
- if (output.content) {
438
- const vote = parseVoteFromOutput(output.agentId, output.agentName, agents.find((a) => a.id === output.agentId)?.weight ?? 1, output.content);
439
- if (vote) {
440
- vote.weight = agents.find((a) => a.id === output.agentId)?.weight ?? 1;
441
- votes.push(vote);
405
+ return toolResult(await handleDaoDeliberate({
406
+ adapter,
407
+ workDir: process.cwd(),
408
+ deliberationMode: "auto",
409
+ controlToolName: "dao_check",
410
+ failOnGateFailure: true,
411
+ repository,
412
+ onDeliberationProgress: (update) => {
413
+ if (onUpdate) {
414
+ onUpdate({
415
+ content: [{ type: "text", text: `${update.agentName}: ${update.phase}` }],
416
+ details: {},
417
+ });
442
418
  }
443
- }
444
- persistedOutputs.push(output);
445
- }
446
- if (votes.length > 0 || persistedOutputs.length > 0) {
447
- await storeDeliberationBatch(proposal.id, votes, persistedOutputs);
448
- }
449
- proposal.votes = votes;
450
- // Composite score
451
- const compositeScore = calculateCompositeScore(outputs);
452
- proposal.compositeScore = compositeScore;
453
- await storeCompositeScore(proposal.id, compositeScore);
454
- // Synthesis
455
- const tally = tallyVotes(proposal, state.config);
456
- const synthesisText = synthesize(proposal, agents, outputs, tally);
457
- proposal.synthesis = synthesisText;
458
- await storeSynthesis(proposal.id, synthesisText);
459
- // Final transition
460
- if (tally.approved) {
461
- transitionProposal(proposal, "approve");
462
- await recordAudit(proposal.id, "intelligence", "deliberation_approved", "system", `Approved: ${tally.approvalScore}%`);
463
- }
464
- else {
465
- transitionProposal(proposal, "reject");
466
- await recordAudit(proposal.id, "intelligence", "deliberation_rejected", "system", `Rejected: ${tally.approvalScore}%`);
467
- }
468
- await saveState();
469
- const duration = Date.now() - startTime;
470
- return toolResult(`# 🗳️ Deliberation Complete — #${proposal.id} (${duration}ms)\n\n${formatTallyResult(tally)}\n\n${formatCompositeScore(compositeScore)}\n\n${synthesisText}\n\n> Next: \`dao_check proposalId=${proposal.id}\``);
419
+ },
420
+ }, Number(params.proposalId)));
471
421
  },
472
422
  });
473
423
  // ── Tool: dao_check ──────────────────────────────────────
@@ -477,30 +427,14 @@ export default function swarmDaoExtension(pi) {
477
427
  description: "Run quality control gates",
478
428
  parameters: Type.Object({ proposalId: Type.Number() }),
479
429
  async execute(_id, params) {
480
- const state = getState();
481
- if (!state.initialized)
482
- return toolResult(PI_ONBOARDING_MESSAGE);
483
- const proposal = getProposal(params.proposalId);
484
- if (!proposal)
485
- return toolResult(`Proposal #${params.proposalId} not found.`);
486
- if (proposal.status !== "approved")
487
- return toolResult(`Must be approved (current: ${proposal.status})`);
488
- const result = runGates(proposal, state.config);
489
- if (result.allGatesPassed) {
490
- transitionProposal(proposal, "control");
491
- await recordAudit(proposal.id, "control", "gates_passed", "system", "All gates passed");
492
- // Generate delivery plan after gates pass, making it available before execution
493
- if (!state.deliveryPlans[proposal.id]) {
494
- const plan = generateDeliveryPlan(proposal);
495
- await storeDeliveryPlan(proposal.id, plan);
496
- }
497
- }
498
- else {
499
- transitionProposal(proposal, "fail");
500
- await recordAudit(proposal.id, "control", "gates_failed", "system", `${result.blockerCount} blockers`);
501
- }
502
- await saveState();
503
- return toolResult(formatControlResult(result));
430
+ return toolResult(await handleDaoControl({
431
+ adapter: createPiHostAdapter(pi),
432
+ workDir: process.cwd(),
433
+ deliberationMode: "auto",
434
+ controlToolName: "dao_check",
435
+ failOnGateFailure: true,
436
+ repository,
437
+ }, params.proposalId));
504
438
  },
505
439
  });
506
440
  // ── Tool: dao_plan ───────────────────────────────────────
@@ -542,18 +476,13 @@ export default function swarmDaoExtension(pi) {
542
476
  description: "Execute a controlled proposal",
543
477
  parameters: Type.Object({ proposalId: Type.Number() }),
544
478
  async execute(_id, params) {
545
- const _state = getState();
546
- const proposal = getProposal(params.proposalId);
547
- if (!proposal)
548
- return toolResult(`Proposal #${params.proposalId} not found.`);
549
- if (proposal.status !== "controlled") {
550
- return toolResult(`Must be controlled (current: ${proposal.status}). Run dao_control first.`);
551
- }
552
- const result = await executeProposal(proposal);
553
- await saveState();
554
- await recordAudit(proposal.id, "delivery", "proposal_executed", "user", `Executed #${proposal.id}`);
555
- await saveState();
556
- return toolResult(result.result);
479
+ return toolResult(await handleDaoExecute({
480
+ adapter: createPiHostAdapter(pi),
481
+ workDir: process.cwd(),
482
+ deliberationMode: "auto",
483
+ controlToolName: "dao_check",
484
+ repository,
485
+ }, params.proposalId));
557
486
  },
558
487
  });
559
488
  // ── Tool: dao_ship ───────────────────────────────────────
@@ -567,69 +496,13 @@ export default function swarmDaoExtension(pi) {
567
496
  force: Type.Optional(Type.Boolean()),
568
497
  }),
569
498
  async execute(_id, params) {
570
- const state = getState();
571
- if (!state.initialized)
572
- return toolResult(PI_ONBOARDING_MESSAGE);
573
- const proposal = getProposal(params.proposalId);
574
- if (!proposal)
575
- return toolResult(`Proposal #${params.proposalId} not found.`);
576
- const cascade = params.cascade === true;
577
- const force = params.force === true;
578
- const shipOne = async (proposalId) => {
579
- const target = getProposal(proposalId);
580
- if (!target)
581
- return `Proposal #${proposalId} not found.`;
582
- if (target.status !== "controlled") {
583
- return `Proposal #${target.id} must be in 'controlled' state to ship (current: ${target.status})`;
584
- }
585
- const result = await executeProposal(target);
586
- if (!result.success)
587
- return result.result;
588
- await recordAudit(target.id, "delivery", "proposal-shipped", "pi", "shipped via dao_ship");
589
- return null;
590
- };
591
- const shipped = [];
592
- if (!force) {
593
- const depsResolution = getUnexecutedDependencies(proposal.id, state.proposals);
594
- if (depsResolution.error)
595
- return toolResult(depsResolution.error);
596
- const pendingDeps = depsResolution.order ?? [];
597
- if (pendingDeps.length > 0 && !cascade) {
598
- const lines = pendingDeps.map((depId) => {
599
- const dep = getProposal(depId);
600
- return dep ? `- #${dep.id} [${dep.status}] ${dep.title}` : `- #${depId} [missing]`;
601
- });
602
- return toolResult(`Cannot ship proposal #${proposal.id}: unexecuted dependencies found.\n\n${lines.join("\n")}\n\nRetry with \`dao_ship proposalId=${proposal.id} cascade=true\` or \`force=true\`.`);
603
- }
604
- if (cascade && pendingDeps.length > 0) {
605
- const notControlled = pendingDeps.filter((depId) => getProposal(depId)?.status !== "controlled");
606
- if (notControlled.length > 0) {
607
- const details = notControlled
608
- .map((depId) => {
609
- const dep = getProposal(depId);
610
- return dep ? `#${dep.id} (${dep.status})` : `#${depId} (missing)`;
611
- })
612
- .join(", ");
613
- return toolResult(`Cannot cascade ship: dependencies not in 'controlled' state: ${details}`);
614
- }
615
- for (const depId of pendingDeps) {
616
- const dep = getProposal(depId);
617
- if (!dep || dep.status === "executed")
618
- continue;
619
- const depError = await shipOne(depId);
620
- if (depError)
621
- return toolResult(depError);
622
- shipped.push(depId);
623
- }
624
- }
625
- }
626
- const targetError = await shipOne(proposal.id);
627
- if (targetError)
628
- return toolResult(targetError);
629
- shipped.push(proposal.id);
630
- await saveState();
631
- const summary = shipped.map((id) => `- #${id}`).join("\n");
632
- return toolResult(`# 🚀 Ship Complete\n\nShipped proposals:\n${summary}`);
499
+ return toolResult(await handleDaoShip({
500
+ adapter: createPiHostAdapter(pi),
501
+ workDir: process.cwd(),
502
+ deliberationMode: "auto",
503
+ controlToolName: "dao_check",
504
+ repository,
505
+ }, params.proposalId, { cascade: params.cascade, force: params.force }));
633
506
  },
634
507
  });
635
508
  // ── Tool: dao_audit ──────────────────────────────────────
@@ -670,20 +543,7 @@ export default function swarmDaoExtension(pi) {
670
543
  comment: Type.String(),
671
544
  }),
672
545
  async execute(_id, params) {
673
- const proposal = getProposal(Number(params.proposalId));
674
- if (!proposal)
675
- return toolResult(`Proposal #${params.proposalId} not found.`);
676
- if (proposal.status !== "executed")
677
- return toolResult(`Proposal #${proposal.id} is ${proposal.status}, must be executed.`);
678
- await addRating(proposal.id, {
679
- proposalId: proposal.id,
680
- rater: "user",
681
- score: Number(params.score),
682
- comment: params.comment,
683
- ratedAt: new Date().toISOString(),
684
- });
685
- await saveState();
686
- return toolResult(`# ⭐ Rating Recorded — #${proposal.id}\n\n**Score:** ${params.score}/5\n**Comment:** ${params.comment}`);
546
+ return toolResult(await handleDaoRate(Number(params.proposalId), Number(params.score), params.comment, repository));
687
547
  },
688
548
  });
689
549
  // ── Tool: dao_dashboard ──────────────────────────────────
@@ -708,14 +568,7 @@ export default function swarmDaoExtension(pi) {
708
568
  description: "Preview execution without applying changes",
709
569
  parameters: Type.Object({ proposalId: Type.Number() }),
710
570
  async execute(_id, params) {
711
- const proposal = getProposal(Number(params.proposalId));
712
- if (!proposal)
713
- return toolResult(`Proposal #${params.proposalId} not found.`);
714
- const result = await performDryRun(proposal);
715
- proposal.dryRunAt = new Date().toISOString();
716
- proposal.dryRunCanProceed = result.canProceed;
717
- await saveState();
718
- return toolResult(formatDryRun(result));
571
+ return toolResult(await handleDaoDryRun(Number(params.proposalId), repository));
719
572
  },
720
573
  });
721
574
  // ── Tool: dao_rollback ───────────────────────────────────
@@ -725,8 +578,7 @@ export default function swarmDaoExtension(pi) {
725
578
  description: "Revert proposal execution to pre-execution snapshot",
726
579
  parameters: Type.Object({ proposalId: Type.Number() }),
727
580
  async execute(_id, params) {
728
- const result = await performRollback(Number(params.proposalId));
729
- return toolResult(formatRollback(result));
581
+ return toolResult(await handleDaoRollback(Number(params.proposalId), repository));
730
582
  },
731
583
  });
732
584
  // ── Tool: dao_roundtable ─────────────────────────────────
@@ -736,44 +588,15 @@ export default function swarmDaoExtension(pi) {
736
588
  description: "Ask every agent to suggest a proposal idea",
737
589
  parameters: Type.Object({}),
738
590
  async execute(_id, _params, _signal, _onUpdate, ctx) {
739
- const state = getState();
740
- if (!state.initialized)
741
- return toolResult(PI_ONBOARDING_MESSAGE);
742
591
  const adapter = createPiHostAdapter(pi, ctx);
743
- const projectConfig = await loadConfig(state.daoRoot);
744
- const agents = await loadAgentDefinitions(state.daoRoot, projectConfig);
745
- const modelContext = createDispatchModelContext(state.config.defaultModel, adapter);
746
- const suggestions = await runRoundTable(adapter, agents, state.config.maxConcurrent, modelContext);
747
- // Create proposals from valid suggestions
748
- const proposalIds = new Map();
749
- const parsedSuggestions = suggestions
750
- .map((suggestion) => ({ suggestion, parsed: suggestion.parsed }))
751
- .filter((entry) => Boolean(entry.parsed));
752
- try {
753
- const proposals = await createProposalsBatch(parsedSuggestions.map(({ suggestion, parsed }) => ({
754
- title: parsed.title,
755
- type: parsed.type,
756
- description: parsed.description,
757
- proposedBy: suggestion.agentId,
758
- })));
759
- for (const [index, { suggestion }] of parsedSuggestions.entries()) {
760
- const proposal = proposals[index];
761
- if (!proposal)
762
- continue;
763
- proposal.riskZone = classifyRiskZone(proposal);
764
- suggestion.proposalId = proposal.id;
765
- proposalIds.set(suggestion.agentId, proposal.id);
766
- await recordAudit(proposal.id, "intelligence", "roundtable_proposal_created", suggestion.agentId, `Auto-created from round table`);
767
- }
768
- }
769
- catch (error) {
770
- const message = error instanceof Error ? error.message : String(error);
771
- for (const { suggestion } of parsedSuggestions) {
772
- suggestion.error = `Failed to create proposal: ${message}`;
773
- }
774
- }
775
- await saveState();
776
- return toolResult(formatRoundTableResults(suggestions, proposalIds));
592
+ return toolResult(await handleDaoRoundtable({
593
+ adapter,
594
+ workDir: process.cwd(),
595
+ deliberationMode: "auto",
596
+ controlToolName: "dao_check",
597
+ getSessionModel: () => detectParentSessionModel(ctx),
598
+ repository,
599
+ }));
777
600
  },
778
601
  });
779
602
  // ── Tool: dao_update_proposal ────────────────────────────
@@ -789,70 +612,213 @@ export default function swarmDaoExtension(pi) {
789
612
  rollbackConditions: Type.Optional(Type.Array(Type.String())),
790
613
  }),
791
614
  async execute(_id, params) {
792
- const proposal = getProposal(Number(params.proposalId));
793
- if (!proposal)
794
- return toolResult(`Proposal #${params.proposalId} not found.`);
795
- if (proposal.status !== "open")
796
- return toolResult(`Must be open (current: ${proposal.status})`);
797
- if (params.problemStatement !== undefined)
798
- proposal.problemStatement = params.problemStatement;
799
- if (params.acceptanceCriteria !== undefined)
800
- proposal.acceptanceCriteria = params.acceptanceCriteria;
801
- if (params.successMetrics !== undefined)
802
- proposal.successMetrics = params.successMetrics;
803
- if (params.rollbackConditions !== undefined)
804
- proposal.rollbackConditions = params.rollbackConditions;
805
- await saveState();
806
- return toolResult(`# 📝 Proposal Updated #${proposal.id}\n\nUpdated fields applied.`);
615
+ return toolResult(await handleDaoUpdateProposal(Number(params.proposalId), {
616
+ problemStatement: params.problemStatement,
617
+ acceptanceCriteria: params.acceptanceCriteria,
618
+ successMetrics: params.successMetrics,
619
+ rollbackConditions: params.rollbackConditions,
620
+ }, repository));
621
+ },
622
+ });
623
+ // ── Tool: dao_check_edit ─────────────────────────────────
624
+ pi.registerTool({
625
+ name: "dao_check_edit",
626
+ label: "DAO Check Edit",
627
+ description: "Check whether paths may be edited under the configured mode (opt-in/suggest/enforce)",
628
+ parameters: Type.Object({
629
+ paths: Type.Array(Type.String(), { description: "Files about to be edited" }),
630
+ }),
631
+ async execute(_id, params) {
632
+ return toolResult(await handleDaoCheckEdit({
633
+ adapter: createPiHostAdapter(pi),
634
+ workDir: process.cwd(),
635
+ deliberationMode: "auto",
636
+ controlToolName: "dao_check",
637
+ repository,
638
+ }, params.paths));
639
+ },
640
+ });
641
+ // ── Tool: dao_config_github ─────────────────────────────
642
+ pi.registerTool({
643
+ name: "dao_config_github",
644
+ label: "DAO GitHub Config",
645
+ description: "Configure the GitHub integration (token, owner, repo)",
646
+ parameters: Type.Object({
647
+ token: Type.String({ description: "GitHub personal access token" }),
648
+ owner: Type.String({ description: "Repository owner (user or org)" }),
649
+ repo: Type.String({ description: "Repository name" }),
650
+ }),
651
+ async execute(_id, params) {
652
+ return toolResult(await handleDaoConfigGithub({
653
+ adapter: createPiHostAdapter(pi),
654
+ workDir: process.cwd(),
655
+ deliberationMode: "auto",
656
+ controlToolName: "dao_check",
657
+ repository,
658
+ }, params));
659
+ },
660
+ });
661
+ // ── Tool: dao_github_create_branch ──────────────────────
662
+ pi.registerTool({
663
+ name: "dao_github_create_branch",
664
+ label: "DAO GitHub Branch",
665
+ description: "Create a GitHub branch (dao/<id>-<slug>) for a proposal",
666
+ parameters: Type.Object({ proposalId: Type.Number() }),
667
+ async execute(_id, params) {
668
+ return toolResult(await handleDaoGithubCreateBranch({
669
+ adapter: createPiHostAdapter(pi),
670
+ workDir: process.cwd(),
671
+ deliberationMode: "auto",
672
+ controlToolName: "dao_check",
673
+ repository,
674
+ }, params.proposalId));
675
+ },
676
+ });
677
+ // ── Tool: dao_github_open_pr ────────────────────────────
678
+ pi.registerTool({
679
+ name: "dao_github_open_pr",
680
+ label: "DAO GitHub PR",
681
+ description: "Open a GitHub pull request for a proposal",
682
+ parameters: Type.Object({
683
+ proposalId: Type.Number(),
684
+ headBranch: Type.String({ description: "Branch containing the work" }),
685
+ }),
686
+ async execute(_id, params) {
687
+ return toolResult(await handleDaoGithubOpenPr({
688
+ adapter: createPiHostAdapter(pi),
689
+ workDir: process.cwd(),
690
+ deliberationMode: "auto",
691
+ controlToolName: "dao_check",
692
+ repository,
693
+ }, params.proposalId, params.headBranch));
807
694
  },
808
695
  });
809
696
  // ── Command: /dao ────────────────────────────────────────
697
+ // Registry-driven dispatcher. `/dao help` enumerates every command; every
698
+ // known subcommand resolves through DaoCommandRegistry. Pi slash commands
699
+ // cannot invoke Pi tools directly, so mutating commands route the user to
700
+ // the matching `dao_*` tool; read-only commands render inline.
701
+ const renderDashboard = (state) => {
702
+ const byStatus = {};
703
+ for (const p of state.proposals) {
704
+ byStatus[p.status] = (byStatus[p.status] ?? 0) + 1;
705
+ }
706
+ let output = `# Swarm DAO Dashboard\n`;
707
+ output += `Agents: ${state.agents.length} | Proposals: ${state.proposals.length}\n`;
708
+ for (const [status, count] of Object.entries(byStatus)) {
709
+ output += ` ${status}: ${count}\n`;
710
+ }
711
+ return output.trim();
712
+ };
713
+ const runDaoSetup = async () => {
714
+ return handleDaoSetup({
715
+ adapter: createPiHostAdapter(pi),
716
+ workDir: process.cwd(),
717
+ deliberationMode: "auto",
718
+ controlToolName: "dao_check",
719
+ repository,
720
+ });
721
+ };
722
+ const renderProposalList = (state, filters = {}) => {
723
+ let proposals = state.proposals;
724
+ if (filters.status)
725
+ proposals = proposals.filter((p) => p.status === filters.status);
726
+ if (filters.type)
727
+ proposals = proposals.filter((p) => p.type === filters.type);
728
+ if (proposals.length === 0) {
729
+ const active = filters.status || filters.type;
730
+ return active
731
+ ? "No proposals match those filters."
732
+ : "No proposals yet. Run the `dao_propose` tool to create one.";
733
+ }
734
+ const rows = proposals.map((p) => `- #${p.id} [${p.status}] ${p.title} (${p.type})`).join("\n");
735
+ return `# Proposals (${proposals.length})\n\n${rows}`;
736
+ };
737
+ const renderAgentList = (state) => {
738
+ if (state.agents.length === 0)
739
+ return "No agents configured. Run `/dao setup` to initialize.";
740
+ const rows = state.agents.map((a) => `- ${a.name} [${a.role}] weight ${a.weight}`).join("\n");
741
+ return `# DAO Agents (${state.agents.length})\n\n${rows}`;
742
+ };
743
+ /** Parse `--status <s>` / `--type <T>` flags from the tokens after `/dao list`. */
744
+ const parseListFilters = (tokens) => {
745
+ const filters = {};
746
+ for (let i = 0; i < tokens.length; i++) {
747
+ const t = tokens[i];
748
+ const next = tokens[i + 1];
749
+ if ((t === "--status" || t === "-s") && next !== undefined) {
750
+ filters.status = next;
751
+ i++;
752
+ }
753
+ else if ((t === "--type" || t === "-t") && next !== undefined) {
754
+ filters.type = next;
755
+ i++;
756
+ }
757
+ }
758
+ return filters;
759
+ };
760
+ /** Parse a numeric proposal id; returns undefined for missing or non-numeric input. */
761
+ const parseProposalId = (token) => {
762
+ if (token === undefined)
763
+ return undefined;
764
+ const n = Number.parseInt(token, 10);
765
+ return Number.isNaN(n) ? undefined : n;
766
+ };
810
767
  pi.registerCommand("/dao", {
811
- description: "DAO command: dashboard, help, setup",
768
+ description: "DAO dispatcher `/dao help` lists every subcommand (propose, deliberate, control, execute, ship, …)",
812
769
  handler: async (args, _ctx) => {
813
- const subcommand = args.trim().toLowerCase();
770
+ const raw = args.trim();
771
+ const tokens = raw.split(/\s+/).filter(Boolean);
772
+ const subcommand = (tokens[0] ?? "").toLowerCase();
773
+ const rest = tokens.slice(1);
774
+ // `/dao help`
814
775
  if (subcommand === "help" || subcommand === "-h" || subcommand === "--help") {
815
- return DAO_COMMAND_HELP;
776
+ return buildDaoCommandHelp({ host: "pi" });
777
+ }
778
+ // `/dao setup` / `/dao init` (works even before storage exists)
779
+ if (subcommand === "setup" || subcommand === "init") {
780
+ return await runDaoSetup();
816
781
  }
782
+ // Everything else needs initialized state.
817
783
  let state;
818
784
  try {
819
785
  state = getState();
820
786
  }
821
787
  catch {
822
- if (subcommand === "setup" || subcommand === "init") {
823
- const newState = getOrCreateState(process.cwd());
824
- const agents = initializeAgents();
825
- newState.agents = agents;
826
- newState.initialized = true;
827
- setState(newState);
828
- await saveState();
829
- return `# DAO Initialized\n\nAgents: ${agents.length}\nRun \`/dao status\` to view the dashboard.`;
830
- }
831
788
  return PI_ONBOARDING_MESSAGE;
832
789
  }
833
- if (!state.initialized) {
834
- if (subcommand === "setup" || subcommand === "init") {
835
- const agents = initializeAgents();
836
- state.agents = agents;
837
- state.initialized = true;
838
- await saveState();
839
- return `# DAO Initialized\n\nAgents: ${agents.length}\nRun \`/dao status\` to view the dashboard.`;
840
- }
790
+ if (!state.initialized)
841
791
  return PI_ONBOARDING_MESSAGE;
792
+ // `/dao` or `/dao status` → dashboard
793
+ if (subcommand === "" || subcommand === "status" || subcommand === "dashboard") {
794
+ return renderDashboard(state);
842
795
  }
843
- if (subcommand !== "" && subcommand !== "status" && subcommand !== "dashboard") {
844
- return `Unknown /dao subcommand: "${subcommand}".\n\nTry \`/dao help\`.`;
845
- }
846
- const byStatus = {};
847
- for (const p of state.proposals) {
848
- byStatus[p.status] = (byStatus[p.status] ?? 0) + 1;
796
+ // Read-only commands the slash command fulfils inline (arguments preserved).
797
+ if (subcommand === "list")
798
+ return renderProposalList(state, parseListFilters(rest));
799
+ if (subcommand === "agents")
800
+ return renderAgentList(state);
801
+ if (subcommand === "audit") {
802
+ const proposalId = parseProposalId(rest[0]);
803
+ if (rest[0] !== undefined && proposalId === undefined) {
804
+ return `Invalid proposal ID: \`${rest[0]}\`.\n\nUsage: \`/dao audit [proposalId]\``;
805
+ }
806
+ const entries = proposalId !== undefined ? getAllAuditLog().filter((e) => e.proposalId === proposalId) : getAllAuditLog();
807
+ return formatAuditTrail(entries, proposalId);
849
808
  }
850
- let output = `# Swarm DAO Dashboard\n`;
851
- output += `Agents: ${state.agents.length} | Proposals: ${state.proposals.length}\n`;
852
- for (const [status, count] of Object.entries(byStatus)) {
853
- output += ` ${status}: ${count}\n`;
809
+ // Registry resolution for the rest.
810
+ const cmd = resolveDaoCommand(subcommand, "pi");
811
+ if (!cmd)
812
+ return suggestDaoCommand(subcommand, "pi");
813
+ // Known command → route to its Pi tool (slash commands can't call tools).
814
+ // Pi registers the quality-control tool as `dao_check`, so map the registry's
815
+ // canonical `dao_control` (and the `check` alias) onto it.
816
+ if (cmd.tool) {
817
+ const tool = cmd.tool === "dao_control" ? "dao_check" : cmd.tool;
818
+ const argHint = cmd.args ? ` — e.g. \`${tool} ${cmd.args}\`` : "";
819
+ return `${cmd.summary}.\n\n→ Run the \`${tool}\` tool${argHint}.\n\n(\`/dao ${cmd.id}\` is the discovery alias; Pi executes it via the \`${tool}\` tool.)`;
854
820
  }
855
- return output.trim();
821
+ return suggestDaoCommand(subcommand, "pi");
856
822
  },
857
823
  });
858
824
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guyghost/swarm-dao-pi-adapter",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "Swarm DAO adapter for the Pi coding agent — multi-agent governance tools, commands, and event hooks",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -24,7 +24,7 @@
24
24
  "prepublishOnly": "bun run build"
25
25
  },
26
26
  "dependencies": {
27
- "@guyghost/swarm-dao-core": "^0.3.0"
27
+ "@guyghost/swarm-dao-core": "^0.5.0"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "@earendil-works/pi-ai": ">=0.1.0",