darwin-agents 0.12.0 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,44 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.12.2] — 2026-07-17
6
+
7
+ ### Security
8
+
9
+ - **Evolution-loop optimizer/reflector subprocesses no longer run with
10
+ `bypassPermissions`.** `buildEvolutionLoop`'s two LLM closures (legacy
11
+ optimizer meta-prompt + GEPA reflector) are pure text mutators, but they
12
+ passed `autonomous: true` to `runAgent`, which spawns the Claude CLI with
13
+ `--permission-mode bypassPermissions` — and since neither agent definition
14
+ declares tools/MCP servers, no `--allowedTools` restriction was emitted
15
+ either. Their input quotes untrusted agent output (critic feedback reports
16
+ can contain scraped web content), so a prompt injection could in principle
17
+ have steered an unrestricted subprocess into tool calls. Both closures now
18
+ run `autonomous: false` (the CLI's deny-by-default permission mode);
19
+ legitimate runs are unaffected because the templates demand "return ONLY
20
+ the prompt text". Found by an adversarial review of the first external
21
+ consumer wiring `buildEvolutionLoop` (severity: plausible, low
22
+ probability, real surface). `tests/build-loop-security.test.ts` is the
23
+ regression tripwire.
24
+
25
+ ## [0.12.1] — 2026-07-16
26
+
27
+ Export patch — no behavioural change. Completes the v0.12.0
28
+ "bring-your-own-judges" story: custom judges were usable, but an external
29
+ post-run hook still could not *drive the evolution loop* from the published
30
+ package, because the loop-composition surface was internal and the package
31
+ `exports` map (correctly) blocks deep imports from `dist/`.
32
+
33
+ ### Added
34
+
35
+ - **Root exports for the loop-composition surface:** `buildEvolutionLoop`
36
+ (wires tracker/patterns/safety/legacy-optimizer/opt-in-GEPA/notifications
37
+ around a `DarwinLoop` exactly like the CLI run path — GEPA activates via
38
+ `agent.evolution.useGepa`), plus the individual classes `DarwinLoop`,
39
+ `ExperimentTracker`, `PatternDetector`, `PromptOptimizer`, `SafetyGate`
40
+ and the types `EvolutionResult` / `AgentToolContext` for consumers
41
+ composing custom loops. New `tests/root-exports.test.ts` locks the surface.
42
+
5
43
  ## [0.12.0] — 2026-07-16
6
44
 
7
45
  Bring-your-own-judges: the multi-critic runner accepts caller-supplied critic
@@ -1 +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"}
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,CA+DZ"}
@@ -27,6 +27,14 @@ export function buildEvolutionLoop(agent, config, memory) {
27
27
  const patterns = new PatternDetector(memory);
28
28
  const safety = new SafetyGate();
29
29
  // The optimizer uses the configured provider to generate improved prompts.
30
+ //
31
+ // SECURITY (v0.12.2): optimizer + reflector are pure TEXT mutators — they
32
+ // never need tools. Running them non-autonomously keeps the spawned CLI in
33
+ // its deny-by-default permission mode instead of bypassPermissions, so a
34
+ // prompt-injection smuggled in via critic feedback (which quotes untrusted
35
+ // agent output, including scraped web content) cannot make the subprocess
36
+ // execute tool calls. Legitimate runs are unaffected: the templates demand
37
+ // "return ONLY the prompt text".
30
38
  const optimizer = new PromptOptimizer(async (metaPrompt) => {
31
39
  const optimizerResult = await runAgent({
32
40
  name: 'optimizer',
@@ -36,7 +44,7 @@ export function buildEvolutionLoop(agent, config, memory) {
36
44
  systemPrompt: 'You are a prompt optimization expert. Return ONLY the improved prompt text.',
37
45
  maxTurns: 3,
38
46
  model: 'claude-sonnet-4-6',
39
- }, metaPrompt, { config, taskType: 'optimization', autonomous: true });
47
+ }, metaPrompt, { config, taskType: 'optimization', autonomous: false });
40
48
  return optimizerResult.output;
41
49
  });
42
50
  // v0.6.0 — GEPA reflective optimizer (opt-in via agent.evolution.useGepa).
@@ -57,7 +65,9 @@ export function buildEvolutionLoop(agent, config, memory) {
57
65
  systemPrompt: 'You are a prompt-engineering reflector. Return ONLY the mutated prompt text.',
58
66
  maxTurns: 3,
59
67
  model: reflectionModel ?? agent.model ?? 'claude-sonnet-4-6',
60
- }, reflectionPrompt, { config, taskType: 'reflection', autonomous: true });
68
+ }, reflectionPrompt,
69
+ // Same deny-by-default posture as the optimizer above (v0.12.2).
70
+ { config, taskType: 'reflection', autonomous: false });
61
71
  return reflectionResult.output;
62
72
  });
63
73
  }
@@ -1 +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"}
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,EAAE;IACF,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,iCAAiC;IACjC,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,KAAK,EAAE,CACxD,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;YAChB,iEAAiE;YACjE,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,CACtD,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"}
@@ -31,6 +31,12 @@ export { ClaudeCliProvider } from './providers/claude-cli.js';
31
31
  export { createMemory, SqliteMemoryProvider, PostgresMemoryProvider } from './memory/index.js';
32
32
  export { loadNotificationConfig } from './evolution/notifications.js';
33
33
  export type { NotificationConfig } from './evolution/notifications.js';
34
+ export { buildEvolutionLoop } from './evolution/build-loop.js';
35
+ export { DarwinLoop, type EvolutionResult } from './evolution/loop.js';
36
+ export { ExperimentTracker } from './evolution/tracker.js';
37
+ export { PatternDetector } from './evolution/patterns.js';
38
+ export { PromptOptimizer, type AgentToolContext } from './evolution/optimizer.js';
39
+ export { SafetyGate } from './evolution/safety.js';
34
40
  export { dominates, dominatesEpsilon, nonDominatedFront, paretoSelect, scalarise, crowdingDistance, coverageFrontier, coverageWeights, selectByCoverage, sampleByCoverage, DARWIN_DEFAULT_OBJECTIVES, type ParetoObjective, type ParetoTruncationStrategy, type FrontierKey, type CoverageScores, } from './evolution/pareto.js';
35
41
  export { Reflector, type ReflectiveFeedback, type ReflectOptions, } from './evolution/reflector.js';
36
42
  export type { RunPromptFn } from './evolution/run-prompt-fn.js';
@@ -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/src/index.js CHANGED
@@ -34,6 +34,19 @@ export { ClaudeCliProvider } from './providers/claude-cli.js';
34
34
  export { createMemory, SqliteMemoryProvider, PostgresMemoryProvider } from './memory/index.js';
35
35
  // Notifications
36
36
  export { loadNotificationConfig } from './evolution/notifications.js';
37
+ // V0.12.1 — the production-loop composition surface. `buildEvolutionLoop`
38
+ // wires tracker/patterns/safety/legacy-optimizer/opt-in-GEPA/notifications
39
+ // around a DarwinLoop exactly the way the CLI run path does — external
40
+ // post-run hooks (score with your own judges via `runMultiCritic`'s
41
+ // `criticPrompts`, then drive the same evolution cycle) previously had to
42
+ // deep-import these from `dist/`, which the package `exports` map blocks.
43
+ // The individual classes are exported for consumers composing custom loops.
44
+ export { buildEvolutionLoop } from './evolution/build-loop.js';
45
+ export { DarwinLoop } from './evolution/loop.js';
46
+ export { ExperimentTracker } from './evolution/tracker.js';
47
+ export { PatternDetector } from './evolution/patterns.js';
48
+ export { PromptOptimizer } from './evolution/optimizer.js';
49
+ export { SafetyGate } from './evolution/safety.js';
37
50
  // V0.5.0-alpha.2 — GEPA-Style Reflective Optimizer (S1185 Phase 2 A2)
38
51
  // V0.5.1 — crowdingDistance + ParetoTruncationStrategy + GepaOptimizer.merge + reflectionRunPrompt
39
52
  export { dominates, dominatesEpsilon, nonDominatedFront, paretoSelect, scalarise, crowdingDistance, coverageFrontier, coverageWeights, selectByCoverage, sampleByCoverage, DARWIN_DEFAULT_OBJECTIVES, } from './evolution/pareto.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "darwin-agents",
3
- "version": "0.12.0",
3
+ "version": "0.12.2",
4
4
  "description": "AI agents that improve themselves. Self-evolving prompts via A/B testing, multi-model critics, safety gates, and pattern detection.",
5
5
  "type": "module",
6
6
  "bin": {