@guyghost/swarm-dao-pi-adapter 0.3.5 → 0.4.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,6 +1,13 @@
1
1
  import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
2
  export declare function assertSafePiModel(model: string): void;
3
3
  export declare function assertSafePiPrompt(prompt: string): void;
4
+ /** Quote-aware tokenizer for `/dao` subcommand arguments. */
5
+ export declare function tokenizeDaoArgs(input: string): string[];
6
+ /**
7
+ * Parse `/dao <subcommand>` argument tokens into tool parameters.
8
+ * Returns a usage/error string when required arguments are missing or invalid.
9
+ */
10
+ export declare function parseDaoToolArgs(toolName: string, tokens: string[]): Record<string, unknown> | string;
4
11
  /** Greedy word-wrap of a single line to `maxWidth`, hard-splitting unbreakable runs. */
5
12
  export declare function wrapDaoLine(line: string, maxWidth: number): string[];
6
13
  /**
@@ -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;AAkG7F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAmBrD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAIvD;AA6YD,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAwBpE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAmBlF;AAID,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,EAAE,YAAY,QA2rBzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAA2B,MAAM,iCAAiC,CAAC;AAkG7F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAmBrD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAIvD;AAyUD,6DAA6D;AAC7D,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BvD;AA4BD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CA6HrG;AAqGD,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAwBpE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAmBlF;AAID,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,EAAE,YAAY,QAytBzD"}
package/dist/index.js CHANGED
@@ -334,6 +334,203 @@ function toolResult(content) {
334
334
  details: {},
335
335
  };
336
336
  }
337
+ /** Extract plain text from a tool result for command output rendering. */
338
+ function daoToolResultText(result) {
339
+ return result.content
340
+ .map((block) => (block.type === "text" ? block.text : ""))
341
+ .join("\n")
342
+ .trim();
343
+ }
344
+ /** Quote-aware tokenizer for `/dao` subcommand arguments. */
345
+ export function tokenizeDaoArgs(input) {
346
+ const tokens = [];
347
+ let current = "";
348
+ let quote = null;
349
+ let started = false;
350
+ for (const char of input) {
351
+ if (quote) {
352
+ if (char === quote)
353
+ quote = null;
354
+ else
355
+ current += char;
356
+ continue;
357
+ }
358
+ if (char === '"' || char === "'") {
359
+ quote = char;
360
+ started = true;
361
+ continue;
362
+ }
363
+ if (/\s/.test(char)) {
364
+ if (current.length > 0 || started)
365
+ tokens.push(current);
366
+ current = "";
367
+ started = false;
368
+ continue;
369
+ }
370
+ current += char;
371
+ }
372
+ if (current.length > 0 || started)
373
+ tokens.push(current);
374
+ return tokens;
375
+ }
376
+ /** Usage lines for each tool reachable from the `/dao` command surface. */
377
+ const DAO_ARG_USAGE = {
378
+ dao_propose: '/dao propose "<title>" <type> <description…> — type: product-feature | technical-change | security-change | release-change | governance-change',
379
+ dao_deliberate: "/dao deliberate <proposalId>",
380
+ dao_check: "/dao check <proposalId>",
381
+ dao_execute: "/dao execute <proposalId>",
382
+ dao_ship: "/dao ship <proposalId> [--cascade] [--force]",
383
+ dao_rollback: "/dao rollback <proposalId>",
384
+ dao_plan: "/dao plan <proposalId>",
385
+ dao_artefacts: "/dao artefacts <proposalId>",
386
+ dao_dry_run: "/dao dry-run <proposalId>",
387
+ dao_rate: '/dao rate <proposalId> <1-5> "<comment>"',
388
+ dao_update_proposal: "/dao update-proposal <proposalId> [--problem <text>] [--criteria <a,b>] [--metrics <a,b>] [--rollback <a,b>]",
389
+ dao_check_edit: "/dao check-edit <path> [<path…>]",
390
+ dao_config_github: "/dao github-config --token <token> --owner <owner> --repo <repo>",
391
+ dao_github_create_branch: "/dao github-branch <proposalId>",
392
+ dao_github_open_pr: "/dao github-pr <proposalId> <headBranch>",
393
+ dao_roundtable: "/dao roundtable",
394
+ };
395
+ function daoUsage(toolName) {
396
+ return `Usage: ${DAO_ARG_USAGE[toolName] ?? "`/dao help`"}`;
397
+ }
398
+ /**
399
+ * Parse `/dao <subcommand>` argument tokens into tool parameters.
400
+ * Returns a usage/error string when required arguments are missing or invalid.
401
+ */
402
+ export function parseDaoToolArgs(toolName, tokens) {
403
+ const usage = daoUsage(toolName);
404
+ const splitFlags = (allowed) => {
405
+ const flags = {};
406
+ const positional = [];
407
+ for (let i = 0; i < tokens.length; i++) {
408
+ const token = tokens[i];
409
+ if (token === undefined)
410
+ continue;
411
+ if (token.startsWith("--")) {
412
+ const name = token.slice(2);
413
+ const kind = allowed[name];
414
+ if (!kind)
415
+ return `Unknown flag: --${name}\n\n${usage}`;
416
+ if (kind === "boolean") {
417
+ flags[name] = true;
418
+ continue;
419
+ }
420
+ const value = tokens[i + 1];
421
+ if (value === undefined)
422
+ return `Missing value for --${name}\n\n${usage}`;
423
+ flags[name] = value;
424
+ i++;
425
+ continue;
426
+ }
427
+ positional.push(token);
428
+ }
429
+ return { flags, positional };
430
+ };
431
+ const proposalIdFrom = (raw) => {
432
+ if (raw === undefined)
433
+ return usage;
434
+ const value = Number.parseInt(raw, 10);
435
+ if (Number.isNaN(value))
436
+ return `Invalid proposal ID: \`${raw}\`.\n\n${usage}`;
437
+ return value;
438
+ };
439
+ const commaList = (raw) => raw
440
+ .split(",")
441
+ .map((item) => item.trim())
442
+ .filter(Boolean);
443
+ switch (toolName) {
444
+ case "dao_roundtable":
445
+ return {};
446
+ case "dao_deliberate":
447
+ case "dao_check":
448
+ case "dao_execute":
449
+ case "dao_rollback":
450
+ case "dao_plan":
451
+ case "dao_artefacts":
452
+ case "dao_dry_run":
453
+ case "dao_github_create_branch": {
454
+ const proposalId = proposalIdFrom(tokens[0]);
455
+ return typeof proposalId === "string" ? proposalId : { proposalId };
456
+ }
457
+ case "dao_ship": {
458
+ const split = splitFlags({ cascade: "boolean", force: "boolean" });
459
+ if (typeof split === "string")
460
+ return split;
461
+ const proposalId = proposalIdFrom(split.positional[0]);
462
+ if (typeof proposalId === "string")
463
+ return proposalId;
464
+ return { proposalId, cascade: split.flags.cascade === true, force: split.flags.force === true };
465
+ }
466
+ case "dao_propose": {
467
+ const [title, type, ...descriptionTokens] = tokens;
468
+ if (!title || !type || descriptionTokens.length === 0)
469
+ return usage;
470
+ if (!PROPOSAL_TYPES.includes(type)) {
471
+ return `Invalid type: \`${type}\`. Expected one of: ${PROPOSAL_TYPES.join(", ")}.\n\n${usage}`;
472
+ }
473
+ return { title, type, description: descriptionTokens.join(" ") };
474
+ }
475
+ case "dao_rate": {
476
+ const [idRaw, scoreRaw, ...commentTokens] = tokens;
477
+ const proposalId = idRaw === undefined ? Number.NaN : Number.parseInt(idRaw, 10);
478
+ const score = scoreRaw === undefined ? Number.NaN : Number.parseInt(scoreRaw, 10);
479
+ if (Number.isNaN(proposalId) || Number.isNaN(score) || score < 1 || score > 5 || commentTokens.length === 0) {
480
+ return usage;
481
+ }
482
+ return { proposalId, score, comment: commentTokens.join(" ") };
483
+ }
484
+ case "dao_update_proposal": {
485
+ const split = splitFlags({ problem: "string", criteria: "string", metrics: "string", rollback: "string" });
486
+ if (typeof split === "string")
487
+ return split;
488
+ const proposalId = proposalIdFrom(split.positional[0]);
489
+ if (typeof proposalId === "string")
490
+ return proposalId;
491
+ const params = { proposalId };
492
+ if (typeof split.flags.problem === "string")
493
+ params.problemStatement = split.flags.problem;
494
+ if (typeof split.flags.criteria === "string")
495
+ params.acceptanceCriteria = commaList(split.flags.criteria);
496
+ if (typeof split.flags.metrics === "string")
497
+ params.successMetrics = commaList(split.flags.metrics);
498
+ if (typeof split.flags.rollback === "string")
499
+ params.rollbackConditions = commaList(split.flags.rollback);
500
+ return params;
501
+ }
502
+ case "dao_check_edit": {
503
+ if (tokens.length === 0)
504
+ return usage;
505
+ return { paths: [...tokens] };
506
+ }
507
+ case "dao_config_github": {
508
+ const split = splitFlags({ token: "string", owner: "string", repo: "string" });
509
+ if (typeof split === "string")
510
+ return split;
511
+ const token = split.flags.token;
512
+ const owner = split.flags.owner;
513
+ const repo = split.flags.repo;
514
+ if (typeof token !== "string" || typeof owner !== "string" || typeof repo !== "string")
515
+ return usage;
516
+ return { token, owner, repo };
517
+ }
518
+ case "dao_github_open_pr": {
519
+ const split = splitFlags({ "head-branch": "string" });
520
+ if (typeof split === "string")
521
+ return split;
522
+ const proposalId = proposalIdFrom(split.positional[0]);
523
+ if (typeof proposalId === "string")
524
+ return proposalId;
525
+ const headBranch = split.flags["head-branch"] ?? split.positional[1];
526
+ if (typeof headBranch !== "string" || headBranch.length === 0)
527
+ return usage;
528
+ return { proposalId, headBranch };
529
+ }
530
+ default:
531
+ return {};
532
+ }
533
+ }
337
534
  const PI_ONBOARDING_MESSAGE = [
338
535
  "# DAO not initialized",
339
536
  "",
@@ -402,6 +599,15 @@ export function frameDaoPanel(title, body, width) {
402
599
  // ── Main Extension Export ────────────────────────────────────
403
600
  export default function swarmDaoExtension(pi) {
404
601
  let repository;
602
+ // Executors for this session's dao tools, keyed by tool name. The `/dao`
603
+ // dispatcher invokes these directly so slash commands run the same logic
604
+ // as the LLM-facing tools instead of routing users to them.
605
+ const daoToolExecutors = new Map();
606
+ /** Register a dao tool with Pi and capture its executor for `/dao`. */
607
+ const registerDaoTool = (tool) => {
608
+ daoToolExecutors.set(tool.name, tool.execute);
609
+ pi.registerTool(tool);
610
+ };
405
611
  // Restore state on session start
406
612
  pi.on("session_start", async (_event, _ctx) => {
407
613
  const cwd = process.cwd();
@@ -457,7 +663,7 @@ export default function swarmDaoExtension(pi) {
457
663
  return { systemPrompt: event.systemPrompt + daoContext };
458
664
  });
459
665
  // ── Tool: dao_setup ──────────────────────────────────────
460
- pi.registerTool({
666
+ registerDaoTool({
461
667
  name: "dao_setup",
462
668
  label: "DAO Setup",
463
669
  description: "Initialize the DAO with 7 default agents",
@@ -475,7 +681,7 @@ export default function swarmDaoExtension(pi) {
475
681
  },
476
682
  });
477
683
  // ── Tool: dao_propose ────────────────────────────────────
478
- pi.registerTool({
684
+ registerDaoTool({
479
685
  name: "dao_propose",
480
686
  label: "DAO Propose",
481
687
  description: "Create a new proposal",
@@ -495,7 +701,7 @@ export default function swarmDaoExtension(pi) {
495
701
  },
496
702
  });
497
703
  // ── Tool: dao_deliberate ─────────────────────────────────
498
- pi.registerTool({
704
+ registerDaoTool({
499
705
  name: "dao_deliberate",
500
706
  label: "DAO Deliberate",
501
707
  description: "Run swarm deliberation on a proposal",
@@ -529,7 +735,7 @@ export default function swarmDaoExtension(pi) {
529
735
  },
530
736
  });
531
737
  // ── Tool: dao_check ──────────────────────────────────────
532
- pi.registerTool({
738
+ registerDaoTool({
533
739
  name: "dao_check",
534
740
  label: "DAO Check",
535
741
  description: "Run quality control gates",
@@ -546,7 +752,7 @@ export default function swarmDaoExtension(pi) {
546
752
  },
547
753
  });
548
754
  // ── Tool: dao_plan ───────────────────────────────────────
549
- pi.registerTool({
755
+ registerDaoTool({
550
756
  name: "dao_plan",
551
757
  label: "DAO Plan",
552
758
  description: "Get delivery plan",
@@ -578,7 +784,7 @@ export default function swarmDaoExtension(pi) {
578
784
  },
579
785
  });
580
786
  // ── Tool: dao_execute ────────────────────────────────────
581
- pi.registerTool({
787
+ registerDaoTool({
582
788
  name: "dao_execute",
583
789
  label: "DAO Execute",
584
790
  description: "Execute a controlled proposal",
@@ -594,7 +800,7 @@ export default function swarmDaoExtension(pi) {
594
800
  },
595
801
  });
596
802
  // ── Tool: dao_ship ───────────────────────────────────────
597
- pi.registerTool({
803
+ registerDaoTool({
598
804
  name: "dao_ship",
599
805
  label: "DAO Ship",
600
806
  description: "Ship a controlled proposal (optionally cascade dependencies)",
@@ -614,7 +820,7 @@ export default function swarmDaoExtension(pi) {
614
820
  },
615
821
  });
616
822
  // ── Tool: dao_audit ──────────────────────────────────────
617
- pi.registerTool({
823
+ registerDaoTool({
618
824
  name: "dao_audit",
619
825
  label: "DAO Audit",
620
826
  description: "View audit trail",
@@ -627,7 +833,7 @@ export default function swarmDaoExtension(pi) {
627
833
  },
628
834
  });
629
835
  // ── Tool: dao_artefacts ─────────────────────────────────
630
- pi.registerTool({
836
+ registerDaoTool({
631
837
  name: "dao_artefacts",
632
838
  label: "DAO Artefacts",
633
839
  description: "View auto-generated artefacts for a proposal",
@@ -641,7 +847,7 @@ export default function swarmDaoExtension(pi) {
641
847
  },
642
848
  });
643
849
  // ── Tool: dao_rate ───────────────────────────────────────
644
- pi.registerTool({
850
+ registerDaoTool({
645
851
  name: "dao_rate",
646
852
  label: "DAO Rate",
647
853
  description: "Rate a proposal outcome post-execution (1-5 stars)",
@@ -655,7 +861,7 @@ export default function swarmDaoExtension(pi) {
655
861
  },
656
862
  });
657
863
  // ── Tool: dao_dashboard ──────────────────────────────────
658
- pi.registerTool({
864
+ registerDaoTool({
659
865
  name: "dao_dashboard",
660
866
  label: "DAO Dashboard",
661
867
  description: "View outcome tracking dashboard",
@@ -670,7 +876,7 @@ export default function swarmDaoExtension(pi) {
670
876
  },
671
877
  });
672
878
  // ── Tool: dao_dry_run ────────────────────────────────────
673
- pi.registerTool({
879
+ registerDaoTool({
674
880
  name: "dao_dry_run",
675
881
  label: "DAO Dry Run",
676
882
  description: "Preview execution without applying changes",
@@ -680,7 +886,7 @@ export default function swarmDaoExtension(pi) {
680
886
  },
681
887
  });
682
888
  // ── Tool: dao_rollback ───────────────────────────────────
683
- pi.registerTool({
889
+ registerDaoTool({
684
890
  name: "dao_rollback",
685
891
  label: "DAO Rollback",
686
892
  description: "Revert proposal execution to pre-execution snapshot",
@@ -690,7 +896,7 @@ export default function swarmDaoExtension(pi) {
690
896
  },
691
897
  });
692
898
  // ── Tool: dao_roundtable ─────────────────────────────────
693
- pi.registerTool({
899
+ registerDaoTool({
694
900
  name: "dao_roundtable",
695
901
  label: "DAO Roundtable",
696
902
  description: "Ask every agent to suggest a proposal idea",
@@ -708,7 +914,7 @@ export default function swarmDaoExtension(pi) {
708
914
  },
709
915
  });
710
916
  // ── Tool: dao_update_proposal ────────────────────────────
711
- pi.registerTool({
917
+ registerDaoTool({
712
918
  name: "dao_update_proposal",
713
919
  label: "DAO Update Proposal",
714
920
  description: "Update structured fields on an open proposal",
@@ -729,7 +935,7 @@ export default function swarmDaoExtension(pi) {
729
935
  },
730
936
  });
731
937
  // ── Tool: dao_check_edit ─────────────────────────────────
732
- pi.registerTool({
938
+ registerDaoTool({
733
939
  name: "dao_check_edit",
734
940
  label: "DAO Check Edit",
735
941
  description: "Check whether paths may be edited under the configured mode (opt-in/suggest/enforce)",
@@ -747,7 +953,7 @@ export default function swarmDaoExtension(pi) {
747
953
  },
748
954
  });
749
955
  // ── Tool: dao_config_github ─────────────────────────────
750
- pi.registerTool({
956
+ registerDaoTool({
751
957
  name: "dao_config_github",
752
958
  label: "DAO GitHub Config",
753
959
  description: "Configure the GitHub integration (token, owner, repo)",
@@ -767,7 +973,7 @@ export default function swarmDaoExtension(pi) {
767
973
  },
768
974
  });
769
975
  // ── Tool: dao_github_create_branch ──────────────────────
770
- pi.registerTool({
976
+ registerDaoTool({
771
977
  name: "dao_github_create_branch",
772
978
  label: "DAO GitHub Branch",
773
979
  description: "Create a GitHub branch (dao/<id>-<slug>) for a proposal",
@@ -783,7 +989,7 @@ export default function swarmDaoExtension(pi) {
783
989
  },
784
990
  });
785
991
  // ── Tool: dao_github_open_pr ────────────────────────────
786
- pi.registerTool({
992
+ registerDaoTool({
787
993
  name: "dao_github_open_pr",
788
994
  label: "DAO GitHub PR",
789
995
  description: "Open a GitHub pull request for a proposal",
@@ -937,13 +1143,13 @@ export default function swarmDaoExtension(pi) {
937
1143
  return matches.length > 0 ? matches.map((value) => ({ value, label: value })) : null;
938
1144
  },
939
1145
  handler: async (args, ctx) => {
940
- await displayDaoOutput(ctx, "Swarm DAO", await runDaoCommand(args));
1146
+ await displayDaoOutput(ctx, "Swarm DAO", await runDaoCommand(args, ctx));
941
1147
  },
942
1148
  });
943
1149
  /** Pure dispatcher for the `/dao` command surface — returns the output text. */
944
- const runDaoCommand = async (args) => {
1150
+ const runDaoCommand = async (args, ctx) => {
945
1151
  const raw = args.trim();
946
- const tokens = raw.split(/\s+/).filter(Boolean);
1152
+ const tokens = tokenizeDaoArgs(raw);
947
1153
  const subcommand = (tokens[0] ?? "").toLowerCase();
948
1154
  const rest = tokens.slice(1);
949
1155
  // `/dao help`
@@ -985,13 +1191,22 @@ export default function swarmDaoExtension(pi) {
985
1191
  const cmd = resolveDaoCommand(subcommand, "pi");
986
1192
  if (!cmd)
987
1193
  return suggestDaoCommand(subcommand, "pi");
988
- // Known command → route to its Pi tool (slash commands can't call tools).
989
- // Pi registers the quality-control tool as `dao_check`, so map the registry's
990
- // canonical `dao_control` (and the `check` alias) onto it.
1194
+ // Known command → execute its tool logic directly. Pi slash commands
1195
+ // cannot invoke Pi tools, but this extension owns both surfaces, so the
1196
+ // registered executor runs here and the result is rendered like any
1197
+ // command output. Pi registers the quality-control tool as `dao_check`,
1198
+ // so map the registry's canonical `dao_control` (and the `check` alias)
1199
+ // onto it.
991
1200
  if (cmd.tool) {
992
- const tool = cmd.tool === "dao_control" ? "dao_check" : cmd.tool;
993
- const argHint = cmd.args ? ` — e.g. \`${tool} ${cmd.args}\`` : "";
994
- 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.)`;
1201
+ const toolName = cmd.tool === "dao_control" ? "dao_check" : cmd.tool;
1202
+ const executor = daoToolExecutors.get(toolName);
1203
+ if (!executor)
1204
+ return suggestDaoCommand(subcommand, "pi");
1205
+ const parsed = parseDaoToolArgs(toolName, rest);
1206
+ if (typeof parsed === "string")
1207
+ return parsed;
1208
+ const result = await executor(`dao-cmd-${cmd.id}`, parsed, undefined, undefined, ctx);
1209
+ return daoToolResultText(result);
995
1210
  }
996
1211
  return suggestDaoCommand(subcommand, "pi");
997
1212
  };
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.3.5",
3
+ "version": "0.4.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.9.0"
27
+ "@guyghost/swarm-dao-core": "^0.10.1"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "@earendil-works/pi-ai": ">=0.1.0",