duocode 0.1.0 → 1.2.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 (51) hide show
  1. package/dist/cli.js +94 -12
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/duo.js +29 -12
  4. package/dist/commands/duo.js.map +1 -1
  5. package/dist/commands/repl_commands.js +3 -2
  6. package/dist/commands/repl_commands.js.map +1 -1
  7. package/dist/duo/duo_orchestrator.d.ts +3 -1
  8. package/dist/duo/duo_orchestrator.js +166 -37
  9. package/dist/duo/duo_orchestrator.js.map +1 -1
  10. package/dist/duo/duo_session.d.ts +1 -1
  11. package/dist/duo/duo_session.js +8 -4
  12. package/dist/duo/duo_session.js.map +1 -1
  13. package/dist/duo/duo_types.d.ts +27 -1
  14. package/dist/duo/duo_types.js.map +1 -1
  15. package/dist/duo/swarm_orchestrator.d.ts +30 -0
  16. package/dist/duo/swarm_orchestrator.js +353 -0
  17. package/dist/duo/swarm_orchestrator.js.map +1 -0
  18. package/dist/github/mcp_client.d.ts +5 -0
  19. package/dist/github/mcp_client.js +26 -0
  20. package/dist/github/mcp_client.js.map +1 -1
  21. package/dist/providers/cost_tracker.js +20 -0
  22. package/dist/providers/cost_tracker.js.map +1 -1
  23. package/dist/providers/factory.js +97 -0
  24. package/dist/providers/factory.js.map +1 -1
  25. package/dist/providers/registry_loader.js.map +1 -1
  26. package/dist/providers/router.js +76 -4
  27. package/dist/providers/router.js.map +1 -1
  28. package/dist/tools/agent_loop.d.ts +6 -0
  29. package/dist/tools/agent_loop.js +16 -2
  30. package/dist/tools/agent_loop.js.map +1 -1
  31. package/dist/tools/definitions.d.ts +3 -0
  32. package/dist/tools/definitions.js +20 -0
  33. package/dist/tools/definitions.js.map +1 -1
  34. package/dist/tools/discover_tools.d.ts +11 -0
  35. package/dist/tools/discover_tools.js +41 -0
  36. package/dist/tools/discover_tools.js.map +1 -0
  37. package/dist/tools/executor.d.ts +4 -0
  38. package/dist/tools/executor.js +44 -0
  39. package/dist/tools/executor.js.map +1 -1
  40. package/dist/tools/intent_preloader.d.ts +17 -0
  41. package/dist/tools/intent_preloader.js +60 -0
  42. package/dist/tools/intent_preloader.js.map +1 -0
  43. package/dist/tools/tool_registry.d.ts +64 -0
  44. package/dist/tools/tool_registry.js +138 -0
  45. package/dist/tools/tool_registry.js.map +1 -0
  46. package/dist/ui/banner.js +4 -2
  47. package/dist/ui/banner.js.map +1 -1
  48. package/dist/ui/callbacks.d.ts +13 -1
  49. package/dist/ui/callbacks.js +116 -13
  50. package/dist/ui/callbacks.js.map +1 -1
  51. package/package.json +9 -2
@@ -10,6 +10,7 @@ import { phaseBanner, formatElapsed, Spinner } from "../ui/progress.js";
10
10
  import { estimateTokens } from "../context/token_budget.js";
11
11
  import { runAgentLoop } from "../tools/agent_loop.js";
12
12
  import { createLogger } from "../ui/logger.js";
13
+ import { extractLogicalProvider } from "../providers/router.js";
13
14
  const log = createLogger("orchestrator");
14
15
  function displayProvider(profile) {
15
16
  // When using OpenRouter, models are registered under "openai" provider
@@ -87,6 +88,7 @@ export class DuoOrchestrator {
87
88
  performanceTracker;
88
89
  confirmationCallback;
89
90
  architectReviewCallback;
91
+ executorReviewCallback;
90
92
  modelPickerCallback;
91
93
  permissionConfig;
92
94
  retryConfig;
@@ -186,6 +188,9 @@ export class DuoOrchestrator {
186
188
  setArchitectReviewCallback(cb) {
187
189
  this.architectReviewCallback = cb;
188
190
  }
191
+ setExecutorReviewCallback(cb) {
192
+ this.executorReviewCallback = cb;
193
+ }
189
194
  setModelPickerCallback(cb) {
190
195
  this.modelPickerCallback = cb;
191
196
  }
@@ -197,7 +202,7 @@ export class DuoOrchestrator {
197
202
  return profiles
198
203
  .map((p) => ({
199
204
  model: p.model,
200
- provider: p.provider,
205
+ provider: extractLogicalProvider(p.model, p.provider),
201
206
  roleAffinity: p.roleAffinity?.[role] ?? 0.5,
202
207
  estimatedCostUsd: this.costTracker.estimate(p.model, {
203
208
  inputTokens: estimatedInputTokens,
@@ -347,11 +352,43 @@ export class DuoOrchestrator {
347
352
  durationMs,
348
353
  };
349
354
  }
350
- // 3c. Review architect plan before proceeding to executor
355
+ // 3c. Review architect plan before proceeding to executor (with revision loop)
351
356
  if (!validated.precomputedPlan && this.architectReviewCallback) {
352
- const proceed = await this.architectReviewCallback(architectOutput);
353
- if (!proceed) {
354
- return null;
357
+ const MAX_REVISIONS = 3;
358
+ for (let rev = 0; rev <= MAX_REVISIONS; rev++) {
359
+ const review = await this.architectReviewCallback(architectOutput);
360
+ if (review.action === "abort")
361
+ return null;
362
+ if (review.action === "approve")
363
+ break;
364
+ // "revise" — re-run architect with feedback
365
+ if (rev === MAX_REVISIONS) {
366
+ log.warn("Maximum architect revisions reached, proceeding with current plan.");
367
+ break;
368
+ }
369
+ log.raw(`\n${DM}Re-running architect with revision feedback...${R}\n`);
370
+ const revisedPrompt = `${validated.prompt}\n\n## Revision Feedback\n${review.feedback ?? "Please revise the plan."}`;
371
+ printPhaseHeader("architect", assignment.architect.profile.model);
372
+ const revStart = Date.now();
373
+ const revStream = await this.streamPhase({
374
+ model: assignment.architect.profile.model,
375
+ messages: [
376
+ { role: "system", content: hasContext
377
+ ? "You are the Architect. The user has an ongoing conversation. Revise your previous plan " +
378
+ "based on the feedback below. Include file structure, interfaces, algorithms, and edge cases. " +
379
+ "Do NOT write implementation code — only the plan and spec."
380
+ : "You are the Architect. Revise your previous plan based on the feedback below. " +
381
+ "Include file structure, interfaces, algorithms, and edge cases. " +
382
+ "Do NOT write implementation code — only the plan and spec." },
383
+ { role: "user", content: `## Previous Plan\n${architectOutput}\n\n${revisedPrompt}` },
384
+ ],
385
+ temperature: 0.3,
386
+ });
387
+ architectOutput = revStream.text;
388
+ const revCost = revStream.costUsd;
389
+ totalCostUsd += revCost;
390
+ const revTokens = estimateTokens(architectOutput);
391
+ printPhaseDone("architect", Date.now() - revStart, revCost, revTokens);
355
392
  }
356
393
  }
357
394
  // 4. Executor phase
@@ -431,6 +468,73 @@ export class DuoOrchestrator {
431
468
  totalCostUsd += execCost;
432
469
  const execTokens = estimateTokens(executorOutput);
433
470
  printPhaseDone("executor", Date.now() - execStart, execCost, execTokens);
471
+ // 4b. Review executor output before grading (with revision loop)
472
+ if (this.executorReviewCallback) {
473
+ const MAX_REVISIONS = 3;
474
+ for (let rev = 0; rev <= MAX_REVISIONS; rev++) {
475
+ const review = await this.executorReviewCallback(executorOutput);
476
+ if (review.action === "abort") {
477
+ const durationMs = Date.now() - start;
478
+ return {
479
+ assignment,
480
+ architectOutput,
481
+ executorOutput,
482
+ totalCostUsd,
483
+ durationMs,
484
+ fileChanges: loopFileChanges,
485
+ toolCallCount: loopToolCallCount,
486
+ };
487
+ }
488
+ if (review.action === "approve")
489
+ break;
490
+ // "revise" — re-run executor with feedback
491
+ if (rev === MAX_REVISIONS) {
492
+ log.warn("Maximum executor revisions reached, proceeding with current output.");
493
+ break;
494
+ }
495
+ log.raw(`\n${DM}Re-running executor with revision feedback...${R}\n`);
496
+ printPhaseHeader("executor", assignment.executor.profile.model);
497
+ const revExecStart = Date.now();
498
+ const revisedExecParts = [
499
+ ...executorUserParts,
500
+ `\n## Revision Feedback\n${review.feedback ?? "Please revise the implementation."}`,
501
+ `\n## Previous Output\n${executorOutput}`,
502
+ ];
503
+ if (validated.enableTools && validated.projectRoot) {
504
+ const revLoop = await runAgentLoop({
505
+ providerRouter: this.providerRouter,
506
+ model: assignment.executor.profile.model,
507
+ systemPrompt: "You are the Executor with access to file and command tools. " +
508
+ "Revise your previous implementation based on the feedback below. " +
509
+ "Use your tools to read, write, and edit files, search code, and run commands.",
510
+ userPrompt: revisedExecParts.join("\n\n"),
511
+ projectRoot: validated.projectRoot,
512
+ permissions: this.permissionConfig ?? { level: "confirm-writes" },
513
+ temperature: 0.2,
514
+ });
515
+ executorOutput = revLoop.text;
516
+ execCost = revLoop.totalCostUsd;
517
+ loopFileChanges = revLoop.fileChanges;
518
+ loopToolCallCount = revLoop.toolCallCount;
519
+ }
520
+ else {
521
+ const revStream = await this.streamPhase({
522
+ model: assignment.executor.profile.model,
523
+ messages: [
524
+ { role: "system", content: "You are the Executor. Revise your previous implementation " +
525
+ "based on the feedback below. Write clean, tested, production-ready code." },
526
+ { role: "user", content: revisedExecParts.join("\n\n") },
527
+ ],
528
+ temperature: 0.2,
529
+ });
530
+ executorOutput = revStream.text;
531
+ execCost = revStream.costUsd;
532
+ }
533
+ totalCostUsd += execCost;
534
+ const revExecTokens = estimateTokens(executorOutput);
535
+ printPhaseDone("executor", Date.now() - revExecStart, execCost, revExecTokens);
536
+ }
537
+ }
434
538
  // 5. Grade executor (optional)
435
539
  let grading;
436
540
  let architectGrading;
@@ -438,45 +542,70 @@ export class DuoOrchestrator {
438
542
  log.raw(`\n${phaseBanner(totalPhases, totalPhases, "Grading")}\n`);
439
543
  const gradeSpinner = new Spinner("Grading executor output...");
440
544
  gradeSpinner.start();
441
- grading = await this.gradingRubric.grade({
442
- code: executorOutput,
443
- taskDescription: validated.prompt,
444
- model: assignment.executor.profile.model,
445
- role: "executor",
446
- judgeModel: validated.judgeModel,
447
- });
448
- gradeSpinner.stop();
449
- printGrading(grading);
450
- if (this.db) {
451
- insertGradingResult(this.db, grading);
545
+ try {
546
+ grading = await this.gradingRubric.grade({
547
+ code: executorOutput,
548
+ taskDescription: validated.prompt,
549
+ model: assignment.executor.profile.model,
550
+ role: "executor",
551
+ judgeModel: validated.judgeModel,
552
+ });
553
+ }
554
+ catch (err) {
555
+ log.warn(`Grading executor output failed: ${err instanceof Error ? err.message : String(err)}`);
556
+ }
557
+ finally {
558
+ gradeSpinner.stop();
559
+ }
560
+ if (grading) {
561
+ printGrading(grading);
562
+ if (this.db) {
563
+ insertGradingResult(this.db, grading);
564
+ }
452
565
  }
453
566
  // 5a. Grade architect plan
454
567
  log.raw(`${DM}Grading architect plan...${R}\n`);
455
- architectGrading = await this.gradingRubric.gradeArchitectPlan({
456
- plan: architectOutput,
457
- taskDescription: validated.prompt,
458
- model: assignment.architect.profile.model,
459
- judgeModel: validated.judgeModel,
460
- });
461
- printGrading(architectGrading);
462
- if (this.db) {
463
- insertGradingResult(this.db, architectGrading);
568
+ const archGradeSpinner = new Spinner("Grading architect plan...");
569
+ archGradeSpinner.start();
570
+ try {
571
+ architectGrading = await this.gradingRubric.gradeArchitectPlan({
572
+ plan: architectOutput,
573
+ taskDescription: validated.prompt,
574
+ model: assignment.architect.profile.model,
575
+ judgeModel: validated.judgeModel,
576
+ });
577
+ }
578
+ catch (err) {
579
+ log.warn(`Grading architect plan failed: ${err instanceof Error ? err.message : String(err)}`);
580
+ }
581
+ finally {
582
+ archGradeSpinner.stop();
583
+ }
584
+ if (architectGrading) {
585
+ printGrading(architectGrading);
586
+ if (this.db) {
587
+ insertGradingResult(this.db, architectGrading);
588
+ }
464
589
  }
465
590
  // 5b. Update ELO from grades
466
591
  if (this.performanceTracker) {
467
592
  const capabilityBucket = analysis.intent.capabilities[0] ?? "general";
468
- this.performanceTracker.recordGradeResult({
469
- model: assignment.executor.profile.model,
470
- role: "executor",
471
- capabilityBucket,
472
- compositeScore: grading.compositeScore,
473
- });
474
- this.performanceTracker.recordGradeResult({
475
- model: assignment.architect.profile.model,
476
- role: "architect",
477
- capabilityBucket,
478
- compositeScore: architectGrading.compositeScore,
479
- });
593
+ if (grading) {
594
+ this.performanceTracker.recordGradeResult({
595
+ model: assignment.executor.profile.model,
596
+ role: "executor",
597
+ capabilityBucket,
598
+ compositeScore: grading.compositeScore,
599
+ });
600
+ }
601
+ if (architectGrading) {
602
+ this.performanceTracker.recordGradeResult({
603
+ model: assignment.architect.profile.model,
604
+ role: "architect",
605
+ capabilityBucket,
606
+ compositeScore: architectGrading.compositeScore,
607
+ });
608
+ }
480
609
  }
481
610
  }
482
611
  const durationMs = Date.now() - start;
@@ -1 +1 @@
1
- {"version":3,"file":"duo_orchestrator.js","sourceRoot":"","sources":["../../src/duo/duo_orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duo_orchestrator.js","sourceRoot":"","sources":["../../src/duo/duo_orchestrator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { GradingResult, DuoPairAssignment } from "./duo_types.js";
2
- export type InteractiveMode = "code" | "plan" | "execute" | "debug";
2
+ export type InteractiveMode = "code" | "plan" | "review" | "debug" | "test" | "swarm";
3
3
  export declare const MODE_LABELS: Record<InteractiveMode, string>;
4
4
  export declare const MODE_DESCRIPTIONS: Record<InteractiveMode, string>;
5
5
  export interface PendingPlan {
@@ -1,15 +1,19 @@
1
- const MODE_CYCLE = ["code", "plan", "execute", "debug"];
1
+ const MODE_CYCLE = ["code", "plan", "review", "debug", "test", "swarm"];
2
2
  export const MODE_LABELS = {
3
3
  code: "Code",
4
4
  plan: "Plan",
5
- execute: "Execute",
5
+ review: "Review",
6
6
  debug: "Debug",
7
+ test: "Test",
8
+ swarm: "Swarm",
7
9
  };
8
10
  export const MODE_DESCRIPTIONS = {
9
11
  code: "Full pipeline: architect plan → review → executor",
10
12
  plan: "Architect only — generates plan, stops before execution",
11
- execute: "Full pipeline, no pauses auto-confirms everything",
12
- debug: "Debug-focused — wraps prompt for error analysis and fixes",
13
+ review: "Read-only code reviewanalyzes without modifying files",
14
+ debug: "Debug-focused — error analysis, root cause, and fixes",
15
+ test: "Test generation — architect identifies gaps, executor writes tests",
16
+ swarm: "Parallel swarm — multiple agents work concurrently, outputs merged",
13
17
  };
14
18
  const DEFAULT_MAX_CONTEXT_TURNS = 3;
15
19
  const DEFAULT_MAX_PLAN_CHARS = 2000;
@@ -1 +1 @@
1
- {"version":3,"file":"duo_session.js","sourceRoot":"","sources":["../../src/duo/duo_session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duo_session.js","sourceRoot":"","sources":["../../src/duo/duo_session.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,GAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3F,MAAM,CAAC,MAAM,WAAW,GAAoC;IAC1D,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAoC;IAChE,IAAI,EAAE,mDAAmD;IACzD,IAAI,EAAE,yDAAyD;IAC/D,MAAM,EAAE,0DAA0D;IAClE,KAAK,EAAE,uDAAuD;IAC9D,IAAI,EAAE,oEAAoE;IAC1E,KAAK,EAAE,oEAAoE;CAC5E,CAAC;AAmBF,MAAM,yBAAyB,GAAG,CAAC,CAAC;AACpC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,SAAS,QAAQ,CAAC,IAAY,EAAE,QAAgB;IAC9C,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7B,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,MAAM,GAAG,iBAAiB,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,OAAO,UAAU;IACb,KAAK,GAAuB,EAAE,CAAC;IAC/B,YAAY,GAAG,CAAC,CAAC;IACjB,WAAW,GAA6B,IAAI,CAAC;IAC7C,eAAe,GAAG,IAAI,CAAC;IACvB,YAAY,GAAG,KAAK,CAAC;IACrB,KAAK,GAAoB,MAAM,CAAC;IAChC,YAAY,GAAuB,IAAI,CAAC;IAEhD,OAAO,CAAC,IAAsB;QAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC;IACpC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,0EAA0E;IAC5E,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,KAA+B;QAC5C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,aAAa;QACX,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;QAC7C,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,SAAS;QACP,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAqB;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,IAAiB;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,YAAY,CACV,QAAQ,GAAG,yBAAyB,EACpC,YAAY,GAAG,sBAAsB,EACrC,cAAc,GAAG,wBAAwB;QAEzC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEvC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,KAAK,GAAa,CAAC,4BAA4B,CAAC,CAAC;QAEvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,YAAY,SAAS,MAAM,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,wBAAwB,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YACjF,KAAK,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;YACrF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,0BAA0B,CAAC;QAE/D,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE;gBAC3C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;gBAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO;gBACxB,CAAC,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBACzD,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,aAAa,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,KAAK,KAAK,GAAG,CAAC,CAAC;QAC7G,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF"}
@@ -72,7 +72,12 @@ export interface ModelPickerOption {
72
72
  isCurrent: boolean;
73
73
  }
74
74
  export type ModelPickerCallback = (role: DuoRole, options: ModelPickerOption[], currentModel: string) => Promise<string | null>;
75
- export type ArchitectReviewCallback = (architectOutput: string) => Promise<boolean>;
75
+ export interface ReviewFeedback {
76
+ action: "approve" | "revise" | "abort";
77
+ feedback?: string;
78
+ }
79
+ export type ArchitectReviewCallback = (architectOutput: string) => Promise<ReviewFeedback>;
80
+ export type ExecutorReviewCallback = (executorOutput: string) => Promise<ReviewFeedback>;
76
81
  export interface DuoPairRequest {
77
82
  prompt: string;
78
83
  conversationContext?: string;
@@ -166,3 +171,24 @@ export interface DuoPipelineResult {
166
171
  /** Number of tool calls made during executor phase */
167
172
  toolCallCount?: number;
168
173
  }
174
+ export type SwarmMemberRole = "researcher" | "executor" | "reviewer";
175
+ export interface SwarmMemberResult {
176
+ role: SwarmMemberRole;
177
+ model: string;
178
+ output: string;
179
+ costUsd: number;
180
+ durationMs: number;
181
+ status: "fulfilled" | "rejected";
182
+ error?: string;
183
+ }
184
+ export interface SwarmPipelineResult {
185
+ memberResults: SwarmMemberResult[];
186
+ synthesisOutput: string;
187
+ synthesisCostUsd: number;
188
+ totalCostUsd: number;
189
+ durationMs: number;
190
+ memberCount: number;
191
+ }
192
+ export type SwarmConfirmationAction = "proceed" | "abort" | "pick-researcher" | "pick-executor" | "pick-reviewer";
193
+ export type SwarmConfirmationCallback = (estimate: CostEstimate) => Promise<SwarmConfirmationAction>;
194
+ export type SwarmMemberPickerCallback = (role: SwarmMemberRole, options: ModelPickerOption[], currentModel: string) => Promise<string | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"duo_types.js","sourceRoot":"","sources":["../../src/duo/duo_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,gBAAgB;IAChB,qBAAqB;IACrB,YAAY;IACZ,eAAe;IACf,mBAAmB;IACnB,aAAa;CACL,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,0BAA0B;IAC1B,eAAe;CACP,CAAC;AAsBX,sEAAsE;AAEtE,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,aAAa;IACb,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,WAAW;CACH,CAAC;AAIX,MAAM,CAAC,MAAM,iBAAiB,GAAqC;IACjE,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,IAAI;CAChB,CAAC;AAkBF,sEAAsE;AAEtE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;AAChC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAsEnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3C,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtF,CAAC,CAAC"}
1
+ {"version":3,"file":"duo_types.js","sourceRoot":"","sources":["../../src/duo/duo_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,gBAAgB;IAChB,qBAAqB;IACrB,YAAY;IACZ,eAAe;IACf,mBAAmB;IACnB,aAAa;CACL,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,0BAA0B;IAC1B,eAAe;CACP,CAAC;AAsBX,sEAAsE;AAEtE,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,aAAa;IACb,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,WAAW;CACH,CAAC;AAIX,MAAM,CAAC,MAAM,iBAAiB,GAAqC;IACjE,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,IAAI;CAChB,CAAC;AAkBF,sEAAsE;AAEtE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;AAChC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AA4EnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3C,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtF,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { ProviderRouter, CapabilityRouter } from "../providers/router.js";
2
+ import type { CostTracker } from "../providers/cost_tracker.js";
3
+ import type { SwarmPipelineResult, SwarmConfirmationCallback, SwarmMemberPickerCallback } from "./duo_types.js";
4
+ export interface SwarmRequest {
5
+ prompt: string;
6
+ conversationContext?: string;
7
+ projectContext?: string;
8
+ requireConfirmation?: boolean;
9
+ memberCount?: number;
10
+ preferredResearcher?: string;
11
+ preferredExecutor?: string;
12
+ preferredReviewer?: string;
13
+ }
14
+ export declare class SwarmOrchestrator {
15
+ private readonly providerRouter;
16
+ private readonly capabilityRouter;
17
+ private readonly costTracker;
18
+ private confirmationCallback?;
19
+ private memberPickerCallback?;
20
+ constructor(providerRouter: ProviderRouter, capabilityRouter: CapabilityRouter, costTracker: CostTracker);
21
+ setConfirmationCallback(cb: SwarmConfirmationCallback | undefined): void;
22
+ setMemberPickerCallback(cb: SwarmMemberPickerCallback | undefined): void;
23
+ execute(request: SwarmRequest): Promise<SwarmPipelineResult | null>;
24
+ private assignModels;
25
+ private printSwarmAssignment;
26
+ private buildCostEstimate;
27
+ private buildSwarmPickerOptions;
28
+ private runMembers;
29
+ private buildSynthesisPrompt;
30
+ }