darwin-agents 0.7.1 → 0.8.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 (188) hide show
  1. package/README.md +33 -1
  2. package/dist/src/cli/evolution-flags.d.ts +40 -0
  3. package/dist/src/cli/evolution-flags.d.ts.map +1 -0
  4. package/dist/src/cli/evolution-flags.js +106 -0
  5. package/dist/src/cli/evolution-flags.js.map +1 -0
  6. package/dist/src/cli/evolve.d.ts +10 -1
  7. package/dist/src/cli/evolve.d.ts.map +1 -1
  8. package/dist/src/cli/evolve.js +93 -8
  9. package/dist/src/cli/evolve.js.map +1 -1
  10. package/dist/src/cli/index.js +13 -0
  11. package/dist/src/cli/index.js.map +1 -1
  12. package/dist/src/cli/run.d.ts.map +1 -1
  13. package/dist/src/cli/run.js +38 -69
  14. package/dist/src/cli/run.js.map +1 -1
  15. package/dist/src/evolution/build-loop.d.ts +20 -0
  16. package/dist/src/evolution/build-loop.d.ts.map +1 -0
  17. package/dist/src/evolution/build-loop.js +67 -0
  18. package/dist/src/evolution/build-loop.js.map +1 -0
  19. package/dist/src/evolution/enabled-state.d.ts +59 -0
  20. package/dist/src/evolution/enabled-state.d.ts.map +1 -0
  21. package/dist/src/evolution/enabled-state.js +122 -0
  22. package/dist/src/evolution/enabled-state.js.map +1 -0
  23. package/dist/src/evolution/loop.d.ts +46 -0
  24. package/dist/src/evolution/loop.d.ts.map +1 -1
  25. package/dist/src/evolution/loop.js +119 -1
  26. package/dist/src/evolution/loop.js.map +1 -1
  27. package/dist/src/evolution/parse-score.d.ts +35 -0
  28. package/dist/src/evolution/parse-score.d.ts.map +1 -0
  29. package/dist/src/evolution/parse-score.js +115 -0
  30. package/dist/src/evolution/parse-score.js.map +1 -0
  31. package/dist/src/evolution/tracker.d.ts +13 -0
  32. package/dist/src/evolution/tracker.d.ts.map +1 -1
  33. package/dist/src/evolution/tracker.js +34 -0
  34. package/dist/src/evolution/tracker.js.map +1 -1
  35. package/dist/src/index.d.ts +2 -1
  36. package/dist/src/index.d.ts.map +1 -1
  37. package/dist/src/index.js +4 -0
  38. package/dist/src/index.js.map +1 -1
  39. package/dist/src/memory/postgres-memory.d.ts.map +1 -1
  40. package/dist/src/memory/postgres-memory.js +1 -0
  41. package/dist/src/memory/postgres-memory.js.map +1 -1
  42. package/dist/src/memory/sqlite-memory.d.ts.map +1 -1
  43. package/dist/src/memory/sqlite-memory.js +1 -0
  44. package/dist/src/memory/sqlite-memory.js.map +1 -1
  45. package/dist/src/types.d.ts +45 -0
  46. package/dist/src/types.d.ts.map +1 -1
  47. package/dist/src/types.js.map +1 -1
  48. package/package.json +1 -1
  49. package/dist/agents/analyst.d.ts +0 -11
  50. package/dist/agents/analyst.d.ts.map +0 -1
  51. package/dist/agents/analyst.js +0 -78
  52. package/dist/agents/analyst.js.map +0 -1
  53. package/dist/agents/blog-writer.d.ts +0 -13
  54. package/dist/agents/blog-writer.d.ts.map +0 -1
  55. package/dist/agents/blog-writer.js +0 -59
  56. package/dist/agents/blog-writer.js.map +0 -1
  57. package/dist/agents/critic.d.ts +0 -11
  58. package/dist/agents/critic.d.ts.map +0 -1
  59. package/dist/agents/critic.js +0 -57
  60. package/dist/agents/critic.js.map +0 -1
  61. package/dist/agents/index.d.ts +0 -15
  62. package/dist/agents/index.d.ts.map +0 -1
  63. package/dist/agents/index.js +0 -31
  64. package/dist/agents/index.js.map +0 -1
  65. package/dist/agents/investigator-critic.d.ts +0 -10
  66. package/dist/agents/investigator-critic.d.ts.map +0 -1
  67. package/dist/agents/investigator-critic.js +0 -78
  68. package/dist/agents/investigator-critic.js.map +0 -1
  69. package/dist/agents/investigator.d.ts +0 -13
  70. package/dist/agents/investigator.d.ts.map +0 -1
  71. package/dist/agents/investigator.js +0 -105
  72. package/dist/agents/investigator.js.map +0 -1
  73. package/dist/agents/marketing.d.ts +0 -13
  74. package/dist/agents/marketing.d.ts.map +0 -1
  75. package/dist/agents/marketing.js +0 -59
  76. package/dist/agents/marketing.js.map +0 -1
  77. package/dist/agents/researcher.d.ts +0 -11
  78. package/dist/agents/researcher.d.ts.map +0 -1
  79. package/dist/agents/researcher.js +0 -68
  80. package/dist/agents/researcher.js.map +0 -1
  81. package/dist/agents/writer.d.ts +0 -9
  82. package/dist/agents/writer.d.ts.map +0 -1
  83. package/dist/agents/writer.js +0 -47
  84. package/dist/agents/writer.js.map +0 -1
  85. package/dist/cli/create.d.ts +0 -11
  86. package/dist/cli/create.d.ts.map +0 -1
  87. package/dist/cli/create.js +0 -104
  88. package/dist/cli/create.js.map +0 -1
  89. package/dist/cli/evolve.d.ts +0 -13
  90. package/dist/cli/evolve.d.ts.map +0 -1
  91. package/dist/cli/evolve.js +0 -69
  92. package/dist/cli/evolve.js.map +0 -1
  93. package/dist/cli/index.d.ts +0 -13
  94. package/dist/cli/index.d.ts.map +0 -1
  95. package/dist/cli/index.js +0 -84
  96. package/dist/cli/index.js.map +0 -1
  97. package/dist/cli/init.d.ts +0 -12
  98. package/dist/cli/init.d.ts.map +0 -1
  99. package/dist/cli/init.js +0 -68
  100. package/dist/cli/init.js.map +0 -1
  101. package/dist/cli/run.d.ts +0 -7
  102. package/dist/cli/run.d.ts.map +0 -1
  103. package/dist/cli/run.js +0 -371
  104. package/dist/cli/run.js.map +0 -1
  105. package/dist/cli/status.d.ts +0 -7
  106. package/dist/cli/status.d.ts.map +0 -1
  107. package/dist/cli/status.js +0 -123
  108. package/dist/cli/status.js.map +0 -1
  109. package/dist/core/agent.d.ts +0 -53
  110. package/dist/core/agent.d.ts.map +0 -1
  111. package/dist/core/agent.js +0 -172
  112. package/dist/core/agent.js.map +0 -1
  113. package/dist/core/runner.d.ts +0 -75
  114. package/dist/core/runner.d.ts.map +0 -1
  115. package/dist/core/runner.js +0 -255
  116. package/dist/core/runner.js.map +0 -1
  117. package/dist/evolution/loop.d.ts +0 -100
  118. package/dist/evolution/loop.d.ts.map +0 -1
  119. package/dist/evolution/loop.js +0 -424
  120. package/dist/evolution/loop.js.map +0 -1
  121. package/dist/evolution/multi-critic.d.ts +0 -58
  122. package/dist/evolution/multi-critic.d.ts.map +0 -1
  123. package/dist/evolution/multi-critic.js +0 -326
  124. package/dist/evolution/multi-critic.js.map +0 -1
  125. package/dist/evolution/notifications.d.ts +0 -32
  126. package/dist/evolution/notifications.d.ts.map +0 -1
  127. package/dist/evolution/notifications.js +0 -92
  128. package/dist/evolution/notifications.js.map +0 -1
  129. package/dist/evolution/optimizer.d.ts +0 -64
  130. package/dist/evolution/optimizer.d.ts.map +0 -1
  131. package/dist/evolution/optimizer.js +0 -223
  132. package/dist/evolution/optimizer.js.map +0 -1
  133. package/dist/evolution/patterns.d.ts +0 -63
  134. package/dist/evolution/patterns.d.ts.map +0 -1
  135. package/dist/evolution/patterns.js +0 -297
  136. package/dist/evolution/patterns.js.map +0 -1
  137. package/dist/evolution/safety.d.ts +0 -76
  138. package/dist/evolution/safety.d.ts.map +0 -1
  139. package/dist/evolution/safety.js +0 -182
  140. package/dist/evolution/safety.js.map +0 -1
  141. package/dist/evolution/tracker.d.ts +0 -48
  142. package/dist/evolution/tracker.d.ts.map +0 -1
  143. package/dist/evolution/tracker.js +0 -163
  144. package/dist/evolution/tracker.js.map +0 -1
  145. package/dist/index.d.ts +0 -32
  146. package/dist/index.d.ts.map +0 -1
  147. package/dist/index.js +0 -35
  148. package/dist/index.js.map +0 -1
  149. package/dist/memory/index.d.ts +0 -32
  150. package/dist/memory/index.d.ts.map +0 -1
  151. package/dist/memory/index.js +0 -49
  152. package/dist/memory/index.js.map +0 -1
  153. package/dist/memory/postgres-memory.d.ts +0 -52
  154. package/dist/memory/postgres-memory.d.ts.map +0 -1
  155. package/dist/memory/postgres-memory.js +0 -515
  156. package/dist/memory/postgres-memory.js.map +0 -1
  157. package/dist/memory/sqlite-memory.d.ts +0 -36
  158. package/dist/memory/sqlite-memory.d.ts.map +0 -1
  159. package/dist/memory/sqlite-memory.js +0 -380
  160. package/dist/memory/sqlite-memory.js.map +0 -1
  161. package/dist/providers/anthropic.d.ts +0 -20
  162. package/dist/providers/anthropic.d.ts.map +0 -1
  163. package/dist/providers/anthropic.js +0 -82
  164. package/dist/providers/anthropic.js.map +0 -1
  165. package/dist/providers/claude-cli.d.ts +0 -35
  166. package/dist/providers/claude-cli.d.ts.map +0 -1
  167. package/dist/providers/claude-cli.js +0 -153
  168. package/dist/providers/claude-cli.js.map +0 -1
  169. package/dist/providers/index.d.ts +0 -39
  170. package/dist/providers/index.d.ts.map +0 -1
  171. package/dist/providers/index.js +0 -58
  172. package/dist/providers/index.js.map +0 -1
  173. package/dist/providers/ollama.d.ts +0 -17
  174. package/dist/providers/ollama.d.ts.map +0 -1
  175. package/dist/providers/ollama.js +0 -64
  176. package/dist/providers/ollama.js.map +0 -1
  177. package/dist/providers/openai.d.ts +0 -19
  178. package/dist/providers/openai.d.ts.map +0 -1
  179. package/dist/providers/openai.js +0 -75
  180. package/dist/providers/openai.js.map +0 -1
  181. package/dist/providers/types.d.ts +0 -62
  182. package/dist/providers/types.d.ts.map +0 -1
  183. package/dist/providers/types.js +0 -9
  184. package/dist/providers/types.js.map +0 -1
  185. package/dist/types.d.ts +0 -221
  186. package/dist/types.d.ts.map +0 -1
  187. package/dist/types.js +0 -19
  188. package/dist/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Darwin — Evolution-loop builder.
3
+ *
4
+ * Constructs a fully-wired {@link DarwinLoop} (tracker + patterns + safety +
5
+ * legacy optimizer + opt-in GEPA reflective optimizer + notifications) for a
6
+ * given agent. The optimizer/reflector closures route their LLM calls through
7
+ * {@link runAgent} exactly the way `darwin run` does, so the on-demand
8
+ * `darwin evolve --force` path produces the SAME challenger the automatic loop
9
+ * would.
10
+ */
11
+ import { DarwinLoop } from './loop.js';
12
+ import type { AgentDefinition, DarwinConfig, MemoryProvider } from '../types.js';
13
+ /**
14
+ * Build a DarwinLoop for `agent` against `memory`/`config`. Mirrors the wiring
15
+ * in `cli/run.ts` so both the automatic (`afterRun`) and manual (`forceEvolve`)
16
+ * entry points behave identically. GEPA is only wired when the agent opts in
17
+ * via `evolution.useGepa`.
18
+ */
19
+ export declare function buildEvolutionLoop(agent: AgentDefinition, config: DarwinConfig, memory: MemoryProvider): DarwinLoop;
20
+ //# sourceMappingURL=build-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-loop.d.ts","sourceRoot":"","sources":["../../../src/evolution/build-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAOvC,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,cAAc,GACrB,UAAU,CAsDZ"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Darwin — Evolution-loop builder.
3
+ *
4
+ * Constructs a fully-wired {@link DarwinLoop} (tracker + patterns + safety +
5
+ * legacy optimizer + opt-in GEPA reflective optimizer + notifications) for a
6
+ * given agent. The optimizer/reflector closures route their LLM calls through
7
+ * {@link runAgent} exactly the way `darwin run` does, so the on-demand
8
+ * `darwin evolve --force` path produces the SAME challenger the automatic loop
9
+ * would.
10
+ */
11
+ import { runAgent } from '../core/runner.js';
12
+ import { DarwinLoop } from './loop.js';
13
+ import { ExperimentTracker } from './tracker.js';
14
+ import { PatternDetector } from './patterns.js';
15
+ import { PromptOptimizer } from './optimizer.js';
16
+ import { GepaOptimizer } from './optimizer-gepa.js';
17
+ import { SafetyGate } from './safety.js';
18
+ import { loadNotificationConfig } from './notifications.js';
19
+ /**
20
+ * Build a DarwinLoop for `agent` against `memory`/`config`. Mirrors the wiring
21
+ * in `cli/run.ts` so both the automatic (`afterRun`) and manual (`forceEvolve`)
22
+ * entry points behave identically. GEPA is only wired when the agent opts in
23
+ * via `evolution.useGepa`.
24
+ */
25
+ export function buildEvolutionLoop(agent, config, memory) {
26
+ const tracker = new ExperimentTracker(memory);
27
+ const patterns = new PatternDetector(memory);
28
+ const safety = new SafetyGate();
29
+ // The optimizer uses the configured provider to generate improved prompts.
30
+ const optimizer = new PromptOptimizer(async (metaPrompt) => {
31
+ const optimizerResult = await runAgent({
32
+ name: 'optimizer',
33
+ role: 'Prompt Optimizer',
34
+ description: 'Generates improved prompt variants',
35
+ type: 'llm',
36
+ systemPrompt: 'You are a prompt optimization expert. Return ONLY the improved prompt text.',
37
+ maxTurns: 3,
38
+ model: 'claude-sonnet-4-6',
39
+ }, metaPrompt, { config, taskType: 'optimization', autonomous: true });
40
+ return optimizerResult.output;
41
+ });
42
+ // v0.6.0 — GEPA reflective optimizer (opt-in via agent.evolution.useGepa).
43
+ let gepa;
44
+ if (agent.evolution?.useGepa) {
45
+ const reflectionModel = agent.evolution.reflectionModel;
46
+ if (!reflectionModel) {
47
+ console.warn('[darwin] evolution.useGepa is on but no evolution.reflectionModel is set — ' +
48
+ 'reflection will use the agent model. GEPA works best with a STRONGER reflection ' +
49
+ 'model (e.g. claude-opus-4-8); set agent.evolution.reflectionModel to silence this.');
50
+ }
51
+ gepa = new GepaOptimizer(async (reflectionPrompt) => {
52
+ const reflectionResult = await runAgent({
53
+ name: 'reflector',
54
+ role: 'GEPA Reflector',
55
+ description: 'Reflective prompt mutator (GEPA smallest-possible-edit)',
56
+ type: 'llm',
57
+ systemPrompt: 'You are a prompt-engineering reflector. Return ONLY the mutated prompt text.',
58
+ maxTurns: 3,
59
+ model: reflectionModel ?? agent.model ?? 'claude-sonnet-4-6',
60
+ }, reflectionPrompt, { config, taskType: 'reflection', autonomous: true });
61
+ return reflectionResult.output;
62
+ });
63
+ }
64
+ const notifications = loadNotificationConfig();
65
+ return new DarwinLoop({ memory, tracker, optimizer, safety, patterns, agent, notifications, gepa });
66
+ }
67
+ //# sourceMappingURL=build-loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-loop.js","sourceRoot":"","sources":["../../../src/evolution/build-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG5D;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAsB,EACtB,MAAoB,EACpB,MAAsB;IAEtB,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAEhC,2EAA2E;IAC3E,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,KAAK,EAAE,UAAkB,EAAE,EAAE;QACjE,MAAM,eAAe,GAAG,MAAM,QAAQ,CACpC;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,oCAAoC;YACjD,IAAI,EAAE,KAAK;YACX,YAAY,EAAE,6EAA6E;YAC3F,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,mBAAmB;SAC3B,EACD,UAAU,EACV,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,CACvD,CAAC;QACF,OAAO,eAAe,CAAC,MAAM,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,2EAA2E;IAC3E,IAAI,IAA+B,CAAC;IACpC,IAAI,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC;QACxD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CACV,6EAA6E;gBAC7E,kFAAkF;gBAClF,oFAAoF,CACrF,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,gBAAwB,EAAE,EAAE;YAC1D,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CACrC;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,yDAAyD;gBACtE,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,8EAA8E;gBAC5F,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,eAAe,IAAI,KAAK,CAAC,KAAK,IAAI,mBAAmB;aAC7D,EACD,gBAAgB,EAChB,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CACrD,CAAC;YACF,OAAO,gBAAgB,CAAC,MAAM,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAC;IAC/C,OAAO,IAAI,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;AACtG,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Darwin — Persisted Evolution Enable/Disable State
3
+ *
4
+ * `darwin evolve <agent> --enable|--disable` used to mutate the in-memory
5
+ * agent singleton (`agent.evolution.enabled = true`) and never persist it,
6
+ * so the flag was lost the moment the process exited — and `darwin run`
7
+ * then read the STATIC source default again. This module makes the toggle
8
+ * durable by recording it in {@link DarwinState.evolutionEnabled} (the same
9
+ * JSON state blob every backend already round-trips) and resolving the
10
+ * effective value with the persisted override winning over the static
11
+ * default.
12
+ */
13
+ import type { AgentDefinition, DarwinState, EvolutionConfig, EvolutionConfigOverride, MemoryProvider } from '../types.js';
14
+ /**
15
+ * The effective "is evolution enabled for this agent" decision.
16
+ *
17
+ * Resolution order:
18
+ * 1. A persisted override in `state.evolutionEnabled[agentName]` (set by
19
+ * `darwin evolve --enable/--disable`) — wins when present.
20
+ * 2. The agent definition's static `evolution.enabled` default.
21
+ * 3. `false` when the agent has no `evolution` block at all.
22
+ *
23
+ * Read defensively: state written before the `evolutionEnabled` field
24
+ * existed simply lacks the key, in which case rule 1 is skipped and the
25
+ * static default applies — so old installs keep their previous behaviour.
26
+ */
27
+ export declare function resolveEvolutionEnabled(agent: AgentDefinition, state: Pick<DarwinState, 'evolutionEnabled'>): boolean;
28
+ /**
29
+ * Persist the enable/disable override for an agent atomically.
30
+ *
31
+ * Uses {@link MemoryProvider.updateState} so a concurrent writer cannot lose
32
+ * the update, and initialises the `evolutionEnabled` map lazily for state
33
+ * rows that predate the field.
34
+ */
35
+ export declare function setEvolutionEnabled(memory: MemoryProvider, agentName: string, enabled: boolean): Promise<void>;
36
+ /**
37
+ * Resolve the effective {@link EvolutionConfig} for an agent: the static
38
+ * definition's `evolution` block with any persisted override
39
+ * ({@link DarwinState.evolutionConfigOverrides}) merged ON TOP, then any
40
+ * in-this-process CLI override merged last (e.g. `darwin run … --gepa`).
41
+ *
42
+ * Only the five advanced flags are overridable; every other field
43
+ * (`enabled`, `metrics`, `minRuns`, …) is taken verbatim from the static
44
+ * config. Returns `undefined` when the agent has no `evolution` block AND no
45
+ * persisted/CLI override would create one — overriding a flag on an agent that
46
+ * never opted into evolution is meaningless.
47
+ *
48
+ * Read defensively: undefined override values are skipped so they never clobber
49
+ * a static default with `undefined`.
50
+ */
51
+ export declare function resolveEvolutionConfig(agent: AgentDefinition, state: Pick<DarwinState, 'evolutionConfigOverrides'>, cliOverride?: EvolutionConfigOverride): EvolutionConfig | undefined;
52
+ /**
53
+ * Persist advanced-config overrides for an agent atomically, merging the given
54
+ * partial into any existing override map (so toggling `--gepa` does not wipe a
55
+ * previously-set `--reflection-model`). Initialises the map lazily for state
56
+ * rows that predate the field.
57
+ */
58
+ export declare function setEvolutionConfigOverrides(memory: MemoryProvider, agentName: string, partial: EvolutionConfigOverride): Promise<void>;
59
+ //# sourceMappingURL=enabled-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enabled-state.d.ts","sourceRoot":"","sources":["../../../src/evolution/enabled-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,eAAe,EACf,uBAAuB,EACvB,cAAc,EACf,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,GAC3C,OAAO,CAUT;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAQf;AAaD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,EACpD,WAAW,CAAC,EAAE,uBAAuB,GACpC,eAAe,GAAG,SAAS,CA8B7B;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CASf"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Darwin — Persisted Evolution Enable/Disable State
3
+ *
4
+ * `darwin evolve <agent> --enable|--disable` used to mutate the in-memory
5
+ * agent singleton (`agent.evolution.enabled = true`) and never persist it,
6
+ * so the flag was lost the moment the process exited — and `darwin run`
7
+ * then read the STATIC source default again. This module makes the toggle
8
+ * durable by recording it in {@link DarwinState.evolutionEnabled} (the same
9
+ * JSON state blob every backend already round-trips) and resolving the
10
+ * effective value with the persisted override winning over the static
11
+ * default.
12
+ */
13
+ /**
14
+ * The effective "is evolution enabled for this agent" decision.
15
+ *
16
+ * Resolution order:
17
+ * 1. A persisted override in `state.evolutionEnabled[agentName]` (set by
18
+ * `darwin evolve --enable/--disable`) — wins when present.
19
+ * 2. The agent definition's static `evolution.enabled` default.
20
+ * 3. `false` when the agent has no `evolution` block at all.
21
+ *
22
+ * Read defensively: state written before the `evolutionEnabled` field
23
+ * existed simply lacks the key, in which case rule 1 is skipped and the
24
+ * static default applies — so old installs keep their previous behaviour.
25
+ */
26
+ export function resolveEvolutionEnabled(agent, state) {
27
+ const persisted = state.evolutionEnabled?.[agent.name];
28
+ if (typeof persisted === 'boolean') {
29
+ // A persisted `true` only takes effect when the agent actually carries an
30
+ // `evolution` config block — the run/critic loop needs an evaluator and
31
+ // metrics to act on. Enabling an agent that has no evolution config is a
32
+ // no-op (returns false), not a crash. A persisted `false` always disables.
33
+ return persisted && agent.evolution !== undefined;
34
+ }
35
+ return agent.evolution?.enabled ?? false;
36
+ }
37
+ /**
38
+ * Persist the enable/disable override for an agent atomically.
39
+ *
40
+ * Uses {@link MemoryProvider.updateState} so a concurrent writer cannot lose
41
+ * the update, and initialises the `evolutionEnabled` map lazily for state
42
+ * rows that predate the field.
43
+ */
44
+ export async function setEvolutionEnabled(memory, agentName, enabled) {
45
+ await memory.updateState((state) => {
46
+ if (!state.evolutionEnabled) {
47
+ state.evolutionEnabled = {};
48
+ }
49
+ state.evolutionEnabled[agentName] = enabled;
50
+ return state;
51
+ });
52
+ }
53
+ // ─── Advanced evolution-config overrides (useGepa / useMerge / …) ───
54
+ /** The keys the CLI is allowed to override + persist. */
55
+ const OVERRIDE_KEYS = [
56
+ 'useGepa',
57
+ 'useMerge',
58
+ 'paretoGate',
59
+ 'useCoverage',
60
+ 'reflectionModel',
61
+ ];
62
+ /**
63
+ * Resolve the effective {@link EvolutionConfig} for an agent: the static
64
+ * definition's `evolution` block with any persisted override
65
+ * ({@link DarwinState.evolutionConfigOverrides}) merged ON TOP, then any
66
+ * in-this-process CLI override merged last (e.g. `darwin run … --gepa`).
67
+ *
68
+ * Only the five advanced flags are overridable; every other field
69
+ * (`enabled`, `metrics`, `minRuns`, …) is taken verbatim from the static
70
+ * config. Returns `undefined` when the agent has no `evolution` block AND no
71
+ * persisted/CLI override would create one — overriding a flag on an agent that
72
+ * never opted into evolution is meaningless.
73
+ *
74
+ * Read defensively: undefined override values are skipped so they never clobber
75
+ * a static default with `undefined`.
76
+ */
77
+ export function resolveEvolutionConfig(agent, state, cliOverride) {
78
+ const persisted = state.evolutionConfigOverrides?.[agent.name];
79
+ const base = agent.evolution;
80
+ if (!base && !persisted && !cliOverride) {
81
+ return undefined;
82
+ }
83
+ // Start from the static config (or a disabled stub when the only reason we
84
+ // are here is an override — the loop still gates on `enabled`, which stays
85
+ // false unless the static config or the separate enable-toggle turns it on).
86
+ const resolved = base ? { ...base } : { enabled: false };
87
+ for (const layer of [persisted, cliOverride]) {
88
+ if (!layer)
89
+ continue;
90
+ for (const key of OVERRIDE_KEYS) {
91
+ const value = layer[key];
92
+ if (value !== undefined) {
93
+ // Each key is assigned to its own matching field — typed per-key to
94
+ // keep `any` out of the codebase.
95
+ if (key === 'reflectionModel') {
96
+ resolved.reflectionModel = value;
97
+ }
98
+ else {
99
+ resolved[key] = value;
100
+ }
101
+ }
102
+ }
103
+ }
104
+ return resolved;
105
+ }
106
+ /**
107
+ * Persist advanced-config overrides for an agent atomically, merging the given
108
+ * partial into any existing override map (so toggling `--gepa` does not wipe a
109
+ * previously-set `--reflection-model`). Initialises the map lazily for state
110
+ * rows that predate the field.
111
+ */
112
+ export async function setEvolutionConfigOverrides(memory, agentName, partial) {
113
+ await memory.updateState((state) => {
114
+ if (!state.evolutionConfigOverrides) {
115
+ state.evolutionConfigOverrides = {};
116
+ }
117
+ const existing = state.evolutionConfigOverrides[agentName] ?? {};
118
+ state.evolutionConfigOverrides[agentName] = { ...existing, ...partial };
119
+ return state;
120
+ });
121
+ }
122
+ //# sourceMappingURL=enabled-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enabled-state.js","sourceRoot":"","sources":["../../../src/evolution/enabled-state.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,34 @@ export declare class DarwinLoop {
83
83
  * 5. Evolution trigger (if enough data and no active test)
84
84
  */
85
85
  afterRun(experiment: DarwinExperiment): Promise<EvolutionResult>;
86
+ /**
87
+ * Manual / on-demand evolution trigger — the engine behind
88
+ * `darwin evolve <agent> --force`.
89
+ *
90
+ * Runs the SAME variant-generation + A/B-start path as the automatic loop's
91
+ * Step 5, but WITHOUT the "enough runs / actionable patterns / data-quality"
92
+ * gates. Use it to deliberately kick off an optimisation from the current
93
+ * best prompt using the experiments collected so far, instead of waiting for
94
+ * the loop to decide on its own.
95
+ *
96
+ * It still refuses the cases where evolution is genuinely impossible or
97
+ * unsafe:
98
+ * - no active prompt seeded yet (nothing to mutate from),
99
+ * - no recorded experiments (the optimizer has nothing to learn from),
100
+ * - an A/B test already running (can't start a second concurrent test).
101
+ *
102
+ * Patterns are still DETECTED (so the change reason and the GEPA/legacy
103
+ * feedback are meaningful) — they are simply not used as a gate.
104
+ */
105
+ forceEvolve(agentName: string): Promise<EvolutionResult>;
106
+ /**
107
+ * Shared tail of the evolution cycle: generate one challenger prompt (GEPA
108
+ * reflective path when opted in, else the legacy meta-prompt optimizer),
109
+ * persist it as a new version, and start an A/B test against the incumbent.
110
+ * Called by both the gated automatic loop ({@link afterRun}) and the
111
+ * on-demand {@link forceEvolve}. Mutates and returns the passed `result`.
112
+ */
113
+ private generateAndStartABTest;
86
114
  private handleABTest;
87
115
  /**
88
116
  * Roll back to the last known good prompt version.
@@ -159,6 +187,24 @@ export declare class DarwinLoop {
159
187
  * runs {@link runAlignmentGuard} on it.
160
188
  */
161
189
  private tryMergeVariant;
190
+ /**
191
+ * v0.7.0 — GEPA Algorithm 2 instance-wise coverage selection.
192
+ *
193
+ * Builds a {@link ScoredVariant} per RUN prompt-version (its averaged
194
+ * objective vector + its per-task-type composite map from {@link
195
+ * ExperimentTracker.getPerKeyScoresByCategory}), then asks the
196
+ * {@link GepaOptimizer#nextGeneration} coverage path to pick the survivor
197
+ * that wins on the MOST DIFFERENT task types. Returns that survivor's prompt
198
+ * text — the version to reflect the next challenger from.
199
+ *
200
+ * Returns `null` (→ caller reflects from the active prompt as before) when no
201
+ * optimizer is wired or fewer than two versions carry per-task-type data —
202
+ * coverage selection is meaningless with a single covered version. This is
203
+ * the ONLINE adaptation: it selects the reflection PARENT among already-run
204
+ * versions by their real per-task-type scores. (Per-challenger coverage of
205
+ * unrun candidates needs the offline scored-pool path and is out of scope.)
206
+ */
207
+ private selectCoverageParent;
162
208
  /**
163
209
  * v0.6.0 — Build GEPA {@link ReflectiveFeedback} from the most recent
164
210
  * experiments that carry critic feedback. Each becomes a (variantId,
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../../src/evolution/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAkE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAK9G,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,UAAU,cAAc;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,eAAe,CAAC;IAC1B,gEAAgE;IAChE,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,4BAA4B,CAAC,EAAE,MAAM,CAAC;CACvC;AAYD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,KAAK,CAAC,CAAkB;IAChC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAgB;IAC7B,OAAO,CAAC,KAAK,CAAC,CAAU;IACxB,OAAO,CAAC,4BAA4B,CAAC,CAAS;gBAElC,IAAI,EAAE,cAAc;IAahC;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;YA0PxD,YAAY;IAwJ1B;;;OAGG;YACW,QAAQ;IA8BtB;;OAEG;YACW,eAAe;IAe7B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAMtB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAKlB;;;;;;OAMG;YACW,iBAAiB;IAe/B;;;;;;;;;;;;;;;;;OAiBG;YACW,mBAAmB;IA8EjC;;;;;;;;OAQG;YACW,iBAAiB;IAa/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;;;;;;;;;;;OAYG;YACW,eAAe;IA2C7B;;;;;;OAMG;YACW,qBAAqB;IAsBnC;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAKvB;;;OAGG;YACW,mBAAmB;IAiDjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAsB1B"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../../src/evolution/loop.ts"],"names":[],"mappings":"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"}
@@ -171,6 +171,67 @@ export class DarwinLoop {
171
171
  result.message = 'No active prompt found — cannot evolve.';
172
172
  return result;
173
173
  }
174
+ // Generate the challenger + start the A/B test (shared with forceEvolve()).
175
+ return this.generateAndStartABTest(agent, activePrompt, detectedPatterns, stats, result);
176
+ }
177
+ /**
178
+ * Manual / on-demand evolution trigger — the engine behind
179
+ * `darwin evolve <agent> --force`.
180
+ *
181
+ * Runs the SAME variant-generation + A/B-start path as the automatic loop's
182
+ * Step 5, but WITHOUT the "enough runs / actionable patterns / data-quality"
183
+ * gates. Use it to deliberately kick off an optimisation from the current
184
+ * best prompt using the experiments collected so far, instead of waiting for
185
+ * the loop to decide on its own.
186
+ *
187
+ * It still refuses the cases where evolution is genuinely impossible or
188
+ * unsafe:
189
+ * - no active prompt seeded yet (nothing to mutate from),
190
+ * - no recorded experiments (the optimizer has nothing to learn from),
191
+ * - an A/B test already running (can't start a second concurrent test).
192
+ *
193
+ * Patterns are still DETECTED (so the change reason and the GEPA/legacy
194
+ * feedback are meaningful) — they are simply not used as a gate.
195
+ */
196
+ async forceEvolve(agentName) {
197
+ const result = {
198
+ patternsFound: [],
199
+ promptEvolved: false,
200
+ abTestStarted: false,
201
+ abTestCompleted: false,
202
+ rolledBack: false,
203
+ message: '',
204
+ };
205
+ const state = await this.memory.getState();
206
+ if (state.abTests[agentName]) {
207
+ result.message =
208
+ `An A/B test is already running for "${agentName}" — let it finish before forcing another.`;
209
+ return result;
210
+ }
211
+ const experiments = await this.memory.loadExperiments(agentName);
212
+ if (experiments.length === 0) {
213
+ result.message =
214
+ `No recorded experiments for "${agentName}" yet — run it at least once before forcing evolution.`;
215
+ return result;
216
+ }
217
+ const activePrompt = await this.memory.getActivePrompt(agentName);
218
+ if (!activePrompt) {
219
+ result.message = 'No active prompt found — cannot evolve.';
220
+ return result;
221
+ }
222
+ const stats = await this.tracker.getStats(agentName);
223
+ const detectedPatterns = await this.patterns.detectPatterns(agentName);
224
+ result.patternsFound = detectedPatterns;
225
+ return this.generateAndStartABTest(agentName, activePrompt, detectedPatterns, stats, result);
226
+ }
227
+ /**
228
+ * Shared tail of the evolution cycle: generate one challenger prompt (GEPA
229
+ * reflective path when opted in, else the legacy meta-prompt optimizer),
230
+ * persist it as a new version, and start an A/B test against the incumbent.
231
+ * Called by both the gated automatic loop ({@link afterRun}) and the
232
+ * on-demand {@link forceEvolve}. Mutates and returns the passed `result`.
233
+ */
234
+ async generateAndStartABTest(agent, activePrompt, detectedPatterns, stats, result) {
174
235
  // Build tool context (P0-2) and category stats (P2-5) for optimizer
175
236
  const toolContext = this.agent
176
237
  ? { mcp: this.agent.mcp, tools: this.agent.tools }
@@ -486,6 +547,19 @@ export class DarwinLoop {
486
547
  console.warn(`[darwin] GEPA merge for "${agentName}" failed the alignment guard, falling through to reflective.`);
487
548
  }
488
549
  }
550
+ // v0.7.0: GEPA Algorithm 2 instance-wise coverage selection (opt-in via
551
+ // evolution.useCoverage). Pick the prompt VERSION to reflect from by
552
+ // per-task-type coverage breadth — the version that wins on the most
553
+ // DIFFERENT task types — instead of always reflecting from the single
554
+ // currently-active prompt. Falls back to the active prompt when fewer than
555
+ // two versions carry per-task-type data (selectCoverageParent → null).
556
+ let parentPrompt = currentPrompt;
557
+ if (this.agent?.evolution?.useCoverage === true) {
558
+ const coverageParent = await this.selectCoverageParent(agentName);
559
+ if (coverageParent !== null) {
560
+ parentPrompt = coverageParent;
561
+ }
562
+ }
489
563
  // v0.7.0: pull the configurable feedback window (default 15, was 5).
490
564
  let feedbacks = await this.getReflectiveFeedback(agentName, this.feedbackWindow());
491
565
  // v0.7.0: optional epoch-shuffled minibatch — reflect on a focused, rotating
@@ -503,7 +577,7 @@ export class DarwinLoop {
503
577
  }
504
578
  let mutated;
505
579
  try {
506
- const variants = await this.gepa.generate(currentPrompt, feedbacks, {
580
+ const variants = await this.gepa.generate(parentPrompt, feedbacks, {
507
581
  numVariants: 1,
508
582
  feedbackStrategy: 'single',
509
583
  });
@@ -605,6 +679,50 @@ export class DarwinLoop {
605
679
  return null;
606
680
  }
607
681
  }
682
+ /**
683
+ * v0.7.0 — GEPA Algorithm 2 instance-wise coverage selection.
684
+ *
685
+ * Builds a {@link ScoredVariant} per RUN prompt-version (its averaged
686
+ * objective vector + its per-task-type composite map from {@link
687
+ * ExperimentTracker.getPerKeyScoresByCategory}), then asks the
688
+ * {@link GepaOptimizer#nextGeneration} coverage path to pick the survivor
689
+ * that wins on the MOST DIFFERENT task types. Returns that survivor's prompt
690
+ * text — the version to reflect the next challenger from.
691
+ *
692
+ * Returns `null` (→ caller reflects from the active prompt as before) when no
693
+ * optimizer is wired or fewer than two versions carry per-task-type data —
694
+ * coverage selection is meaningless with a single covered version. This is
695
+ * the ONLINE adaptation: it selects the reflection PARENT among already-run
696
+ * versions by their real per-task-type scores. (Per-challenger coverage of
697
+ * unrun candidates needs the offline scored-pool path and is out of scope.)
698
+ */
699
+ async selectCoverageParent(agentName) {
700
+ if (!this.gepa)
701
+ return null;
702
+ const versions = await this.memory.getAllPromptVersions(agentName);
703
+ const scored = [];
704
+ for (const v of versions) {
705
+ if (!v.promptText)
706
+ continue;
707
+ const metrics = await this.tracker.getAverageMetrics(agentName, v.version);
708
+ if (Object.keys(metrics).length === 0)
709
+ continue; // no runs for this version
710
+ const perKeyScores = await this.tracker.getPerKeyScoresByCategory(agentName, v.version);
711
+ if (Object.keys(perKeyScores).length === 0)
712
+ continue;
713
+ scored.push({ id: v.version, prompt: v.promptText, metrics, perKeyScores });
714
+ }
715
+ // Coverage selection needs ≥2 covered versions to be meaningful.
716
+ if (scored.length < 2)
717
+ return null;
718
+ const survivors = this.gepa.nextGeneration(scored, {
719
+ objectives: DARWIN_DEFAULT_OBJECTIVES,
720
+ maxCarry: 1,
721
+ useCoverage: true,
722
+ });
723
+ const winner = survivors[0];
724
+ return winner && winner.prompt.length > 0 ? winner.prompt : null;
725
+ }
608
726
  /**
609
727
  * v0.6.0 — Build GEPA {@link ReflectiveFeedback} from the most recent
610
728
  * experiments that carry critic feedback. Each becomes a (variantId,