opencode-swarm-plugin 0.31.7 → 0.32.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.
Files changed (48) hide show
  1. package/.turbo/turbo-build.log +10 -9
  2. package/.turbo/turbo-test.log +319 -317
  3. package/CHANGELOG.md +134 -0
  4. package/README.md +7 -4
  5. package/bin/swarm.ts +388 -128
  6. package/dist/compaction-hook.d.ts +1 -1
  7. package/dist/compaction-hook.d.ts.map +1 -1
  8. package/dist/hive.d.ts.map +1 -1
  9. package/dist/index.d.ts +0 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +123 -134
  12. package/dist/memory-tools.d.ts.map +1 -1
  13. package/dist/memory.d.ts +5 -4
  14. package/dist/memory.d.ts.map +1 -1
  15. package/dist/plugin.js +118 -131
  16. package/dist/swarm-orchestrate.d.ts +29 -5
  17. package/dist/swarm-orchestrate.d.ts.map +1 -1
  18. package/dist/swarm-prompts.d.ts +7 -0
  19. package/dist/swarm-prompts.d.ts.map +1 -1
  20. package/dist/swarm.d.ts +0 -2
  21. package/dist/swarm.d.ts.map +1 -1
  22. package/evals/lib/{data-loader.test.ts → data-loader.evalite-test.ts} +7 -6
  23. package/evals/lib/data-loader.ts +1 -1
  24. package/evals/scorers/{outcome-scorers.test.ts → outcome-scorers.evalite-test.ts} +1 -1
  25. package/examples/plugin-wrapper-template.ts +19 -4
  26. package/global-skills/swarm-coordination/SKILL.md +118 -8
  27. package/package.json +2 -2
  28. package/src/compaction-hook.ts +5 -3
  29. package/src/hive.integration.test.ts +83 -1
  30. package/src/hive.ts +37 -12
  31. package/src/mandate-storage.integration.test.ts +601 -0
  32. package/src/memory-tools.ts +6 -4
  33. package/src/memory.integration.test.ts +117 -49
  34. package/src/memory.test.ts +41 -217
  35. package/src/memory.ts +12 -8
  36. package/src/repo-crawl.integration.test.ts +441 -0
  37. package/src/skills.integration.test.ts +1056 -0
  38. package/src/structured.integration.test.ts +817 -0
  39. package/src/swarm-deferred.integration.test.ts +157 -0
  40. package/src/swarm-deferred.test.ts +38 -0
  41. package/src/swarm-mail.integration.test.ts +15 -19
  42. package/src/swarm-orchestrate.integration.test.ts +282 -0
  43. package/src/swarm-orchestrate.ts +96 -201
  44. package/src/swarm-prompts.test.ts +92 -0
  45. package/src/swarm-prompts.ts +69 -0
  46. package/src/swarm-review.integration.test.ts +290 -0
  47. package/src/swarm.integration.test.ts +23 -20
  48. package/src/tool-adapter.integration.test.ts +1221 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -27084,7 +27084,7 @@ import {
27084
27084
  FlushManager,
27085
27085
  importFromJSONL,
27086
27086
  syncMemories,
27087
- getSwarmMail,
27087
+ getSwarmMailLibSQL,
27088
27088
  resolvePartialId
27089
27089
  } from "swarm-mail";
27090
27090
  import { existsSync, readFileSync } from "node:fs";
@@ -27977,7 +27977,7 @@ async function getHiveAdapter(projectKey) {
27977
27977
  if (adapterCache.has(projectKey)) {
27978
27978
  return adapterCache.get(projectKey);
27979
27979
  }
27980
- const swarmMail = await getSwarmMail(projectKey);
27980
+ const swarmMail = await getSwarmMailLibSQL(projectKey);
27981
27981
  const db = await swarmMail.getDatabase();
27982
27982
  const adapter = createHiveAdapter(db, projectKey);
27983
27983
  await adapter.runMigrations();
@@ -28345,7 +28345,7 @@ var hive_sync = tool({
28345
28345
  outputPath: `${projectKey}/.hive/issues.jsonl`
28346
28346
  });
28347
28347
  const flushResult = await withTimeout(flushManager.flush(), TIMEOUT_MS, "flush hive");
28348
- const swarmMail = await getSwarmMail(projectKey);
28348
+ const swarmMail = await getSwarmMailLibSQL(projectKey);
28349
28349
  const db = await swarmMail.getDatabase();
28350
28350
  const hivePath = join(projectKey, ".hive");
28351
28351
  let memoriesSynced = 0;
@@ -28378,9 +28378,27 @@ var hive_sync = tool({
28378
28378
  const remoteCheckResult2 = await runGitCommand(["remote"]);
28379
28379
  const hasRemote2 = remoteCheckResult2.stdout.trim() !== "";
28380
28380
  if (hasRemote2) {
28381
- const pullResult = await withTimeout(runGitCommand(["pull", "--rebase"]), TIMEOUT_MS, "git pull --rebase");
28382
- if (pullResult.exitCode !== 0) {
28383
- throw new HiveError(`Failed to pull: ${pullResult.stderr}`, "git pull --rebase", pullResult.exitCode);
28381
+ const statusResult = await runGitCommand(["status", "--porcelain"]);
28382
+ const hasUnstagedChanges = statusResult.stdout.trim() !== "";
28383
+ let didStash = false;
28384
+ if (hasUnstagedChanges) {
28385
+ const stashResult = await runGitCommand(["stash", "push", "-u", "-m", "hive_sync: auto-stash before pull"]);
28386
+ if (stashResult.exitCode === 0) {
28387
+ didStash = true;
28388
+ }
28389
+ }
28390
+ try {
28391
+ const pullResult = await withTimeout(runGitCommand(["pull", "--rebase"]), TIMEOUT_MS, "git pull --rebase");
28392
+ if (pullResult.exitCode !== 0) {
28393
+ throw new HiveError(`Failed to pull: ${pullResult.stderr}`, "git pull --rebase", pullResult.exitCode);
28394
+ }
28395
+ } finally {
28396
+ if (didStash) {
28397
+ const popResult = await runGitCommand(["stash", "pop"]);
28398
+ if (popResult.exitCode !== 0) {
28399
+ console.warn(`[hive_sync] Warning: stash pop failed. Your changes are in 'git stash list'. Error: ${popResult.stderr}`);
28400
+ }
28401
+ }
28384
28402
  }
28385
28403
  }
28386
28404
  }
@@ -32936,7 +32954,8 @@ import {
32936
32954
  sendSwarmMessage as sendSwarmMessage3,
32937
32955
  getAgent,
32938
32956
  createEvent as createEvent2,
32939
- appendEvent as appendEvent2
32957
+ appendEvent as appendEvent2,
32958
+ getSwarmMailLibSQL as getSwarmMailLibSQL2
32940
32959
  } from "swarm-mail";
32941
32960
  init_skills();
32942
32961
 
@@ -33740,60 +33759,6 @@ ${progress.blockers.map((b) => `- ${b}`).join(`
33740
33759
 
33741
33760
  `);
33742
33761
  }
33743
- async function runUbsScan(files) {
33744
- if (files.length === 0) {
33745
- return null;
33746
- }
33747
- const ubsAvailable = await isToolAvailable("ubs");
33748
- if (!ubsAvailable) {
33749
- warnMissingTool("ubs");
33750
- return null;
33751
- }
33752
- try {
33753
- const result = await Bun.$`ubs scan ${files.join(" ")} --json`.quiet().nothrow();
33754
- const output = result.stdout.toString();
33755
- if (!output.trim()) {
33756
- return {
33757
- exitCode: result.exitCode,
33758
- bugs: [],
33759
- summary: { total: 0, critical: 0, high: 0, medium: 0, low: 0 }
33760
- };
33761
- }
33762
- try {
33763
- const parsed = JSON.parse(output);
33764
- if (typeof parsed !== "object" || parsed === null) {
33765
- throw new Error("UBS output is not an object");
33766
- }
33767
- if (!Array.isArray(parsed.bugs)) {
33768
- console.warn("[swarm] UBS output missing bugs array, using empty");
33769
- }
33770
- if (typeof parsed.summary !== "object" || parsed.summary === null) {
33771
- console.warn("[swarm] UBS output missing summary object, using empty");
33772
- }
33773
- return {
33774
- exitCode: result.exitCode,
33775
- bugs: Array.isArray(parsed.bugs) ? parsed.bugs : [],
33776
- summary: parsed.summary || {
33777
- total: 0,
33778
- critical: 0,
33779
- high: 0,
33780
- medium: 0,
33781
- low: 0
33782
- }
33783
- };
33784
- } catch (error45) {
33785
- console.error(`[swarm] CRITICAL: UBS scan failed to parse JSON output because output is malformed:`, error45);
33786
- console.error(`[swarm] Raw output: ${output}. Try: Run 'ubs doctor' to check installation, verify UBS version with 'ubs --version' (need v1.0.0+), or check if UBS supports --json flag.`);
33787
- return {
33788
- exitCode: result.exitCode,
33789
- bugs: [],
33790
- summary: { total: 0, critical: 0, high: 0, medium: 0, low: 0 }
33791
- };
33792
- }
33793
- } catch {
33794
- return null;
33795
- }
33796
- }
33797
33762
  async function runTypecheckVerification() {
33798
33763
  const step = {
33799
33764
  name: "typecheck",
@@ -33878,34 +33843,9 @@ async function runTestVerification(filesTouched) {
33878
33843
  }
33879
33844
  return step;
33880
33845
  }
33881
- async function runVerificationGate(filesTouched, skipUbs = false) {
33846
+ async function runVerificationGate(filesTouched, _skipUbs = false) {
33882
33847
  const steps = [];
33883
33848
  const blockers = [];
33884
- if (!skipUbs && filesTouched.length > 0) {
33885
- const ubsResult = await runUbsScan(filesTouched);
33886
- if (ubsResult) {
33887
- const ubsStep = {
33888
- name: "ubs_scan",
33889
- command: `ubs scan ${filesTouched.join(" ")}`,
33890
- passed: ubsResult.summary.critical === 0,
33891
- exitCode: ubsResult.exitCode
33892
- };
33893
- if (!ubsStep.passed) {
33894
- ubsStep.error = `Found ${ubsResult.summary.critical} critical bugs`;
33895
- blockers.push(`UBS found ${ubsResult.summary.critical} critical bug(s). Try: Run 'ubs scan ${filesTouched.join(" ")}' to see details, fix critical bugs in reported files, or use skip_ubs_scan=true to bypass (not recommended).`);
33896
- }
33897
- steps.push(ubsStep);
33898
- } else {
33899
- steps.push({
33900
- name: "ubs_scan",
33901
- command: "ubs scan",
33902
- passed: true,
33903
- exitCode: 0,
33904
- skipped: true,
33905
- skipReason: "UBS not available"
33906
- });
33907
- }
33908
- }
33909
33849
  const typecheckStep = await runTypecheckVerification();
33910
33850
  steps.push(typecheckStep);
33911
33851
  if (!typecheckStep.passed && !typecheckStep.skipped) {
@@ -34228,16 +34168,15 @@ ${args.files_affected.map((f) => `- \`${f}\``).join(`
34228
34168
  }
34229
34169
  });
34230
34170
  var swarm_complete = tool({
34231
- description: "Mark subtask complete with Verification Gate. Runs UBS scan, typecheck, and tests before allowing completion.",
34171
+ description: "Mark subtask complete with Verification Gate. Runs typecheck and tests before allowing completion.",
34232
34172
  args: {
34233
34173
  project_key: tool.schema.string().describe("Project path"),
34234
34174
  agent_name: tool.schema.string().describe("Your Agent Mail name"),
34235
34175
  bead_id: tool.schema.string().describe("Subtask bead ID"),
34236
34176
  summary: tool.schema.string().describe("Brief summary of work done"),
34237
34177
  evaluation: tool.schema.string().optional().describe("Self-evaluation JSON (Evaluation schema)"),
34238
- files_touched: tool.schema.array(tool.schema.string()).optional().describe("Files modified - will be verified (UBS, typecheck, tests)"),
34239
- skip_ubs_scan: tool.schema.boolean().optional().describe("Skip UBS bug scan (default: false)"),
34240
- skip_verification: tool.schema.boolean().optional().describe("Skip ALL verification (UBS, typecheck, tests). Use sparingly! (default: false)"),
34178
+ files_touched: tool.schema.array(tool.schema.string()).optional().describe("Files modified - will be verified (typecheck, tests)"),
34179
+ skip_verification: tool.schema.boolean().optional().describe("Skip ALL verification (typecheck, tests). Use sparingly! (default: false)"),
34241
34180
  planned_files: tool.schema.array(tool.schema.string()).optional().describe("Files that were originally planned to be modified"),
34242
34181
  start_time: tool.schema.number().optional().describe("Task start timestamp (Unix ms) for duration calculation"),
34243
34182
  error_count: tool.schema.number().optional().describe("Number of errors encountered during task"),
@@ -34320,7 +34259,7 @@ Continuing with completion, but this should be fixed for future subtasks.`;
34320
34259
  }
34321
34260
  let verificationResult = null;
34322
34261
  if (!args.skip_verification && args.files_touched?.length) {
34323
- verificationResult = await runVerificationGate(args.files_touched, args.skip_ubs_scan ?? false);
34262
+ verificationResult = await runVerificationGate(args.files_touched, false);
34324
34263
  if (!verificationResult.passed) {
34325
34264
  return JSON.stringify({
34326
34265
  success: false,
@@ -34342,21 +34281,6 @@ Continuing with completion, but this should be fixed for future subtasks.`;
34342
34281
  }, null, 2);
34343
34282
  }
34344
34283
  }
34345
- let ubsResult = null;
34346
- if (!args.skip_verification && !verificationResult && args.files_touched?.length && !args.skip_ubs_scan) {
34347
- ubsResult = await runUbsScan(args.files_touched);
34348
- if (ubsResult && ubsResult.summary.critical > 0) {
34349
- return JSON.stringify({
34350
- success: false,
34351
- error: `UBS found ${ubsResult.summary.critical} critical bug(s) that must be fixed before completing`,
34352
- ubs_scan: {
34353
- critical_count: ubsResult.summary.critical,
34354
- bugs: ubsResult.bugs.filter((b) => b.severity === "critical")
34355
- },
34356
- hint: `Fix these critical bugs: ${ubsResult.bugs.filter((b) => b.severity === "critical").map((b) => `${b.file}:${b.line} - ${b.message}`).slice(0, 3).join("; ")}. Try: Run 'ubs scan ${args.files_touched?.join(" ") || "."} --json' for full report, fix reported issues, or use skip_ubs_scan=true to bypass (not recommended).`
34357
- }, null, 2);
34358
- }
34359
- }
34360
34284
  let contractValidation = null;
34361
34285
  let contractWarning;
34362
34286
  if (args.files_touched && args.files_touched.length > 0) {
@@ -34426,6 +34350,23 @@ This will be recorded as a negative learning signal.`;
34426
34350
  }
34427
34351
  }, null, 2);
34428
34352
  }
34353
+ let deferredResolved = false;
34354
+ let deferredError;
34355
+ try {
34356
+ const swarmMail = await getSwarmMailLibSQL2(args.project_key);
34357
+ const db = await swarmMail.getDatabase();
34358
+ const deferredUrl = `deferred:${args.bead_id}`;
34359
+ const checkResult = await db.query(`SELECT url, resolved FROM deferred WHERE url = ? AND resolved = 0`, [deferredUrl]);
34360
+ if (checkResult.rows.length > 0) {
34361
+ await db.query(`UPDATE deferred SET resolved = 1, value = ? WHERE url = ? AND resolved = 0`, [JSON.stringify({ completed: true, summary: args.summary }), deferredUrl]);
34362
+ deferredResolved = true;
34363
+ } else {
34364
+ console.info(`[swarm_complete] No deferred found for ${args.bead_id} - task may not be part of active swarm`);
34365
+ }
34366
+ } catch (error45) {
34367
+ deferredError = error45 instanceof Error ? error45.message : String(error45);
34368
+ console.warn(`[swarm_complete] Failed to resolve deferred (non-fatal): ${deferredError}`);
34369
+ }
34429
34370
  let syncSuccess = false;
34430
34371
  let syncError;
34431
34372
  try {
@@ -34530,6 +34471,8 @@ This will be recorded as a negative learning signal.`;
34530
34471
  sync_error: syncError,
34531
34472
  message_sent: messageSent,
34532
34473
  message_error: messageError,
34474
+ deferred_resolved: deferredResolved,
34475
+ deferred_error: deferredError,
34533
34476
  agent_registration: {
34534
34477
  verified: agentRegistered,
34535
34478
  warning: registrationWarning || undefined
@@ -34544,15 +34487,6 @@ This will be recorded as a negative learning signal.`;
34544
34487
  skipReason: s.skipReason
34545
34488
  }))
34546
34489
  } : args.skip_verification ? { skipped: true, reason: "skip_verification=true" } : { skipped: true, reason: "no files_touched provided" },
34547
- ubs_scan: ubsResult ? {
34548
- ran: true,
34549
- bugs_found: ubsResult.summary.total,
34550
- summary: ubsResult.summary,
34551
- warnings: ubsResult.bugs.filter((b) => b.severity !== "critical")
34552
- } : verificationResult ? { ran: true, included_in_verification_gate: true } : {
34553
- ran: false,
34554
- reason: args.skip_ubs_scan ? "skipped" : "no files or ubs unavailable"
34555
- },
34556
34490
  learning_prompt: `## Reflection
34557
34491
 
34558
34492
  Did you learn anything reusable during this subtask? Consider:
@@ -34590,9 +34524,7 @@ Files touched: ${args.files_touched?.join(", ") || "none recorded"}`,
34590
34524
  const errorStack = error45 instanceof Error ? error45.stack : undefined;
34591
34525
  let failedStep = "unknown";
34592
34526
  if (errorMessage.includes("verification")) {
34593
- failedStep = "Verification Gate (UBS/typecheck/tests)";
34594
- } else if (errorMessage.includes("UBS") || errorMessage.includes("ubs")) {
34595
- failedStep = "UBS scan";
34527
+ failedStep = "Verification Gate (typecheck/tests)";
34596
34528
  } else if (errorMessage.includes("evaluation")) {
34597
34529
  failedStep = "Self-evaluation parsing";
34598
34530
  } else if (errorMessage.includes("bead") || errorMessage.includes("close")) {
@@ -34624,7 +34556,6 @@ ${errorStack.slice(0, 1000)}
34624
34556
  `### Context`,
34625
34557
  `- **Summary**: ${args.summary}`,
34626
34558
  `- **Files touched**: ${args.files_touched?.length ? args.files_touched.join(", ") : "none"}`,
34627
- `- **Skip UBS**: ${args.skip_ubs_scan ?? false}`,
34628
34559
  `- **Skip verification**: ${args.skip_verification ?? false}`,
34629
34560
  "",
34630
34561
  `### Recovery Actions`,
@@ -34662,7 +34593,6 @@ ${errorStack.slice(0, 1000)}
34662
34593
  context: {
34663
34594
  summary: args.summary,
34664
34595
  files_touched: args.files_touched || [],
34665
- skip_ubs_scan: args.skip_ubs_scan ?? false,
34666
34596
  skip_verification: args.skip_verification ?? false
34667
34597
  },
34668
34598
  recovery: {
@@ -34674,7 +34604,6 @@ ${errorStack.slice(0, 1000)}
34674
34604
  ],
34675
34605
  common_fixes: {
34676
34606
  "Verification Gate": "Use skip_verification=true to bypass (not recommended)",
34677
- "UBS scan": "Use skip_ubs_scan=true to bypass",
34678
34607
  "Cell close": "Check cell status with hive_query(), may need hive_update() first",
34679
34608
  "Self-evaluation": "Check evaluation JSON format matches EvaluationSchema"
34680
34609
  }
@@ -34980,8 +34909,9 @@ var swarm_recover = tool({
34980
34909
  },
34981
34910
  async execute(args) {
34982
34911
  try {
34983
- const { getDatabase } = await import("swarm-mail");
34984
- const db = await getDatabase(args.project_key);
34912
+ const { getSwarmMailLibSQL: getSwarmMailLibSQL3 } = await import("swarm-mail");
34913
+ const swarmMail = await getSwarmMailLibSQL3(args.project_key);
34914
+ const db = await swarmMail.getDatabase();
34985
34915
  const result = await db.query(`SELECT * FROM swarm_contexts
34986
34916
  WHERE epic_id = $1
34987
34917
  ORDER BY updated_at DESC
@@ -35615,6 +35545,58 @@ Other cell operations:
35615
35545
  **Memory is the swarm's collective intelligence. Query it. Feed it.**
35616
35546
 
35617
35547
  Begin now.`;
35548
+ var COORDINATOR_POST_WORKER_CHECKLIST = `
35549
+ ## ⚠️ MANDATORY: Post-Worker Review (DO THIS IMMEDIATELY)
35550
+
35551
+ **A worker just returned. Before doing ANYTHING else, complete this checklist:**
35552
+
35553
+ ### Step 1: Check Swarm Mail
35554
+ \`\`\`
35555
+ swarmmail_inbox()
35556
+ swarmmail_read_message(message_id=N) // Read any messages from the worker
35557
+ \`\`\`
35558
+
35559
+ ### Step 2: Review the Work
35560
+ \`\`\`
35561
+ swarm_review(
35562
+ project_key="{project_key}",
35563
+ epic_id="{epic_id}",
35564
+ task_id="{task_id}",
35565
+ files_touched=[{files_touched}]
35566
+ )
35567
+ \`\`\`
35568
+
35569
+ This generates a review prompt with:
35570
+ - Epic context (what we're trying to achieve)
35571
+ - Subtask requirements
35572
+ - Git diff of changes
35573
+ - Dependency status
35574
+
35575
+ ### Step 3: Evaluate Against Criteria
35576
+ - Does the work fulfill the subtask requirements?
35577
+ - Does it serve the overall epic goal?
35578
+ - Does it enable downstream tasks?
35579
+ - Type safety, no obvious bugs?
35580
+
35581
+ ### Step 4: Send Feedback
35582
+ \`\`\`
35583
+ swarm_review_feedback(
35584
+ project_key="{project_key}",
35585
+ task_id="{task_id}",
35586
+ worker_id="{worker_id}",
35587
+ status="approved", // or "needs_changes"
35588
+ summary="<brief summary>",
35589
+ issues="[]" // or "[{file, line, issue, suggestion}]"
35590
+ )
35591
+ \`\`\`
35592
+
35593
+ ### Step 5: ONLY THEN Continue
35594
+ - If approved: Close the cell, spawn next worker
35595
+ - If needs_changes: Worker gets feedback, retries (max 3 attempts)
35596
+ - If 3 failures: Mark blocked, escalate to human
35597
+
35598
+ **⚠️ DO NOT spawn the next worker until review is complete.**
35599
+ `;
35618
35600
  var EVALUATION_PROMPT = `Evaluate the work completed for this subtask.
35619
35601
 
35620
35602
  ## Subtask
@@ -35786,6 +35768,8 @@ var swarm_spawn_subtask = tool({
35786
35768
  liteModel: "anthropic/claude-haiku-4-5"
35787
35769
  };
35788
35770
  const selectedModel = selectWorkerModel2(subtask, config2);
35771
+ const filesJoined = args.files.map((f) => `"${f}"`).join(", ");
35772
+ const postCompletionInstructions = COORDINATOR_POST_WORKER_CHECKLIST.replace(/{project_key}/g, args.project_path || "$PWD").replace(/{epic_id}/g, args.epic_id).replace(/{task_id}/g, args.bead_id).replace(/{files_touched}/g, filesJoined).replace(/{worker_id}/g, "worker");
35789
35773
  return JSON.stringify({
35790
35774
  prompt,
35791
35775
  bead_id: args.bead_id,
@@ -35793,7 +35777,8 @@ var swarm_spawn_subtask = tool({
35793
35777
  files: args.files,
35794
35778
  project_path: args.project_path,
35795
35779
  recovery_context: args.recovery_context,
35796
- recommended_model: selectedModel
35780
+ recommended_model: selectedModel,
35781
+ post_completion_instructions: postCompletionInstructions
35797
35782
  }, null, 2);
35798
35783
  }
35799
35784
  });
@@ -37006,7 +36991,7 @@ var mandateTools = {
37006
36991
 
37007
36992
  // src/memory-tools.ts
37008
36993
  init_dist();
37009
- import { getSwarmMail as getSwarmMail2 } from "swarm-mail";
36994
+ import { getSwarmMailLibSQL as getSwarmMailLibSQL3 } from "swarm-mail";
37010
36995
 
37011
36996
  // ../../node_modules/.bun/effect@3.19.12/node_modules/effect/dist/esm/Function.js
37012
36997
  var isFunction = (input) => typeof input === "function";
@@ -50427,7 +50412,8 @@ import {
50427
50412
  makeOllamaLive,
50428
50413
  Ollama,
50429
50414
  legacyDatabaseExists,
50430
- migrateLegacyMemories
50415
+ migrateLegacyMemories,
50416
+ toSwarmDb
50431
50417
  } from "swarm-mail";
50432
50418
  var migrationChecked = false;
50433
50419
  async function maybeAutoMigrate(db) {
@@ -50461,7 +50447,8 @@ async function createMemoryAdapter(db) {
50461
50447
  migrationChecked = true;
50462
50448
  await maybeAutoMigrate(db);
50463
50449
  }
50464
- const store = createMemoryStore(db);
50450
+ const drizzleDb = toSwarmDb(db);
50451
+ const store = createMemoryStore(drizzleDb);
50465
50452
  const config2 = getDefaultConfig();
50466
50453
  const ollamaLayer = makeOllamaLive(config2);
50467
50454
  const generateId = () => {
@@ -50606,9 +50593,9 @@ async function getMemoryAdapter(projectPath) {
50606
50593
  if (cachedAdapter && cachedProjectPath === path2) {
50607
50594
  return cachedAdapter;
50608
50595
  }
50609
- const swarmMail = await getSwarmMail2(path2);
50610
- const db = await swarmMail.getDatabase();
50611
- cachedAdapter = await createMemoryAdapter(db);
50596
+ const swarmMail = await getSwarmMailLibSQL3(path2);
50597
+ const dbAdapter = await swarmMail.getDatabase();
50598
+ cachedAdapter = await createMemoryAdapter(dbAdapter);
50612
50599
  cachedProjectPath = path2;
50613
50600
  return cachedAdapter;
50614
50601
  }
@@ -51472,9 +51459,11 @@ Extract from session context:
51472
51459
 
51473
51460
  1. \`swarm_status(epic_id="<epic>", project_key="<path>")\` - Get current state
51474
51461
  2. \`swarmmail_inbox(limit=5)\` - Check for agent messages
51475
- 3. **Spawn ready subtasks** - Don't wait, fire them off
51476
- 4. **Unblock blocked work** - Resolve dependencies, reassign if needed
51477
- 5. **Collect completed work** - Close done subtasks, verify quality
51462
+ 3. \`swarm_review(project_key, epic_id, task_id, files_touched)\` - Review any completed work
51463
+ 4. \`swarm_review_feedback(project_key, task_id, worker_id, status, issues)\` - Approve or request changes
51464
+ 5. **Spawn ready subtasks** - Don't wait, fire them off
51465
+ 6. **Unblock blocked work** - Resolve dependencies, reassign if needed
51466
+ 7. **Collect completed work** - Close done subtasks, verify quality
51478
51467
 
51479
51468
  ### Keep the Swarm Cooking
51480
51469
 
@@ -1 +1 @@
1
- {"version":3,"file":"memory-tools.d.ts","sourceRoot":"","sources":["../src/memory-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EACN,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,MAAM,UAAU,CAAC;AAGlB,YAAY,EACX,aAAa,EACb,SAAS,EACT,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,eAAe,GACf,CAAC;AA2CF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAGD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAM/B;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;CA6BhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;CA2B/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;CAU9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;CAUjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;CAWnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;CAa/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;CAQhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;CAShC,CAAC;AAMH;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASd,CAAC"}
1
+ {"version":3,"file":"memory-tools.d.ts","sourceRoot":"","sources":["../src/memory-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EACN,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,MAAM,UAAU,CAAC;AAGlB,YAAY,EACX,aAAa,EACb,SAAS,EACT,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,eAAe,GACf,CAAC;AA6CF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAGD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAM/B;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;CA6BhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;CA2B/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;CAU9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;CAUjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;CAWnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;CAa/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;CAQhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;CAShC,CAAC;AAMH;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASd,CAAC"}
package/dist/memory.d.ts CHANGED
@@ -107,16 +107,17 @@ export interface MemoryAdapter {
107
107
  /**
108
108
  * Create Memory Adapter
109
109
  *
110
- * @param db - DatabaseAdapter (from SwarmMail)
110
+ * @param db - DatabaseAdapter from swarm-mail's getDatabase()
111
111
  * @returns Memory adapter with high-level operations
112
112
  *
113
113
  * @example
114
114
  * ```typescript
115
- * import { getSwarmMail } from 'swarm-mail';
115
+ * import { getSwarmMailLibSQL } from 'swarm-mail';
116
116
  * import { createMemoryAdapter } from './memory';
117
117
  *
118
- * const swarmMail = await getSwarmMail('/path/to/project');
119
- * const adapter = await createMemoryAdapter(swarmMail.db);
118
+ * const swarmMail = await getSwarmMailLibSQL('/path/to/project');
119
+ * const db = await swarmMail.getDatabase();
120
+ * const adapter = await createMemoryAdapter(db);
120
121
  *
121
122
  * await adapter.store({ information: "Learning X" });
122
123
  * const results = await adapter.find({ query: "X" });
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}