darwin-agents 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +105 -0
- package/README.md +87 -0
- package/dist/src/cli/evolution-flags.d.ts +4 -0
- package/dist/src/cli/evolution-flags.d.ts.map +1 -1
- package/dist/src/cli/evolution-flags.js +69 -1
- package/dist/src/cli/evolution-flags.js.map +1 -1
- package/dist/src/cli/evolve.d.ts +4 -0
- package/dist/src/cli/evolve.d.ts.map +1 -1
- package/dist/src/cli/evolve.js +21 -0
- package/dist/src/cli/evolve.js.map +1 -1
- package/dist/src/cli/index.js +2 -0
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/evolution/demos.d.ts +128 -0
- package/dist/src/evolution/demos.d.ts.map +1 -0
- package/dist/src/evolution/demos.js +196 -0
- package/dist/src/evolution/demos.js.map +1 -0
- package/dist/src/evolution/enabled-state.d.ts +5 -5
- package/dist/src/evolution/enabled-state.d.ts.map +1 -1
- package/dist/src/evolution/enabled-state.js +17 -5
- package/dist/src/evolution/enabled-state.js.map +1 -1
- package/dist/src/evolution/feedback-filter.d.ts +54 -0
- package/dist/src/evolution/feedback-filter.d.ts.map +1 -0
- package/dist/src/evolution/feedback-filter.js +65 -0
- package/dist/src/evolution/feedback-filter.js.map +1 -0
- package/dist/src/evolution/loop.d.ts +70 -0
- package/dist/src/evolution/loop.d.ts.map +1 -1
- package/dist/src/evolution/loop.js +198 -20
- package/dist/src/evolution/loop.js.map +1 -1
- package/dist/src/evolution/selection.d.ts +73 -0
- package/dist/src/evolution/selection.d.ts.map +1 -0
- package/dist/src/evolution/selection.js +121 -0
- package/dist/src/evolution/selection.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +15 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/types.d.ts +132 -6
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parent-selection strategies (v0.10.0) — GEPA `candidate_selection_strategy`
|
|
3
|
+
* parity for the online evolution loop.
|
|
4
|
+
*
|
|
5
|
+
* Upstream GEPA exposes three strategies for picking WHICH candidate to
|
|
6
|
+
* mutate next: sample from the Pareto frontier (default), always take the
|
|
7
|
+
* current best, or epsilon-greedy explore/exploit. Darwin's online loop
|
|
8
|
+
* historically always reflected from the currently-ACTIVE prompt (plus the
|
|
9
|
+
* opt-in v0.7 coverage selection). This module adds the missing strategies as
|
|
10
|
+
* a pure, injectable-RNG helper:
|
|
11
|
+
*
|
|
12
|
+
* - `"active"` — loop default, reflect from the active prompt
|
|
13
|
+
* (handled by the caller; this helper returns null).
|
|
14
|
+
* - `"best"` — GEPA `current_best`: highest scalarised composite
|
|
15
|
+
* over the version history.
|
|
16
|
+
* - `"pareto"` — GEPA default: uniform sample from the non-dominated
|
|
17
|
+
* front of the version history.
|
|
18
|
+
* - `"epsilon-greedy"`— with probability ε pick a uniformly-random version
|
|
19
|
+
* (explore), otherwise the best (exploit).
|
|
20
|
+
*
|
|
21
|
+
* Why it matters: always mutating the active prompt is a hill-climb that can
|
|
22
|
+
* get stuck on a local optimum. Sampling parents from the Pareto front keeps
|
|
23
|
+
* lineages alive that win on DIFFERENT objectives, and epsilon-greedy buys
|
|
24
|
+
* cheap exploration — both directly per the GEPA paper's selection ablation.
|
|
25
|
+
*
|
|
26
|
+
* Purity: no I/O, no LLM calls, deterministic given the same `rng`. The RNG
|
|
27
|
+
* is injected (default `Math.random`) so tests pin outcomes exactly — same
|
|
28
|
+
* pattern as `sampleByCoverage` (v0.7.0).
|
|
29
|
+
*/
|
|
30
|
+
import { DARWIN_DEFAULT_OBJECTIVES, nonDominatedFront, scalarise, } from "./pareto.js";
|
|
31
|
+
export const DEFAULT_EXPLORATION_EPSILON = 0.1;
|
|
32
|
+
const DEFAULT_OBJECTIVES = DARWIN_DEFAULT_OBJECTIVES;
|
|
33
|
+
// ─── Internals ──────────────────────────────────────────────────────────────
|
|
34
|
+
/** Clamp epsilon to [0, 1]; NaN/Infinity → default (never bypasses the clamp). */
|
|
35
|
+
function resolveEpsilon(value) {
|
|
36
|
+
if (typeof value !== "number" || !Number.isFinite(value))
|
|
37
|
+
return DEFAULT_EXPLORATION_EPSILON;
|
|
38
|
+
return Math.min(1, Math.max(0, value));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Uniform index pick; clamps a pathological rng (>1 / <0 / NaN) into range —
|
|
42
|
+
* same defensive posture as `sampleByCoverage` (pareto.ts), so a
|
|
43
|
+
* non-conforming injected RNG degrades to index 0 instead of throwing or
|
|
44
|
+
* returning `undefined`.
|
|
45
|
+
*/
|
|
46
|
+
function pickIndex(length, rng) {
|
|
47
|
+
const value = rng();
|
|
48
|
+
if (!Number.isFinite(value))
|
|
49
|
+
return 0;
|
|
50
|
+
const raw = Math.floor(value * length);
|
|
51
|
+
return Math.min(length - 1, Math.max(0, raw));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Flatten variants to `{ ...metrics, __index }` so dominance/scalarisation
|
|
55
|
+
* run on plain records and the winner maps back by INDEX — never by
|
|
56
|
+
* metrics-object reference identity, which silently drops variants that
|
|
57
|
+
* share one metrics object (documented v0.5.0 R2-M1 failure mode).
|
|
58
|
+
*/
|
|
59
|
+
function flatten(variants) {
|
|
60
|
+
return variants.map((v, i) => ({ ...v.metrics, __index: i }));
|
|
61
|
+
}
|
|
62
|
+
function bestIndex(flat, objectives) {
|
|
63
|
+
let winner = 0;
|
|
64
|
+
let winnerScore = Number.NEGATIVE_INFINITY;
|
|
65
|
+
for (let i = 0; i < flat.length; i++) {
|
|
66
|
+
const score = scalarise(flat[i], objectives);
|
|
67
|
+
if (score > winnerScore) {
|
|
68
|
+
winnerScore = score;
|
|
69
|
+
winner = i;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return winner;
|
|
73
|
+
}
|
|
74
|
+
// ─── Public API ─────────────────────────────────────────────────────────────
|
|
75
|
+
/**
|
|
76
|
+
* Pick the parent variant the next challenger should be derived from.
|
|
77
|
+
*
|
|
78
|
+
* Returns `null` when the strategy is `"active"` (caller keeps the active
|
|
79
|
+
* prompt — the historical default path) or when `variants` is empty. A
|
|
80
|
+
* single-element list short-circuits to that element for every non-active
|
|
81
|
+
* strategy.
|
|
82
|
+
*/
|
|
83
|
+
export function selectParentVariant(variants, strategy, options = {}) {
|
|
84
|
+
if (strategy === "active")
|
|
85
|
+
return null;
|
|
86
|
+
if (variants.length === 0)
|
|
87
|
+
return null;
|
|
88
|
+
if (variants.length === 1)
|
|
89
|
+
return variants[0];
|
|
90
|
+
const objectives = options.objectives ?? DEFAULT_OBJECTIVES;
|
|
91
|
+
const rng = options.rng ?? Math.random;
|
|
92
|
+
const flat = flatten(variants);
|
|
93
|
+
switch (strategy) {
|
|
94
|
+
case "best": {
|
|
95
|
+
return variants[bestIndex(flat, objectives)];
|
|
96
|
+
}
|
|
97
|
+
case "pareto": {
|
|
98
|
+
const front = nonDominatedFront(flat, objectives);
|
|
99
|
+
// Defensive: an all-non-finite history yields an empty comparable set —
|
|
100
|
+
// nonDominatedFront keeps everything then, so front is never empty here,
|
|
101
|
+
// but guard anyway rather than index into a hole.
|
|
102
|
+
if (front.length === 0)
|
|
103
|
+
return null;
|
|
104
|
+
const pick = front[pickIndex(front.length, rng)];
|
|
105
|
+
return variants[pick["__index"]];
|
|
106
|
+
}
|
|
107
|
+
case "epsilon-greedy": {
|
|
108
|
+
const epsilon = resolveEpsilon(options.epsilon);
|
|
109
|
+
if (rng() < epsilon) {
|
|
110
|
+
return variants[pickIndex(variants.length, rng)]; // explore
|
|
111
|
+
}
|
|
112
|
+
return variants[bestIndex(flat, objectives)]; // exploit
|
|
113
|
+
}
|
|
114
|
+
default: {
|
|
115
|
+
// Unknown strategy string (e.g. from a hand-edited config file):
|
|
116
|
+
// behave like "active" rather than throwing mid-evolution-cycle.
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../src/evolution/selection.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -40,4 +40,7 @@ export { parseCriticScore, type ParsedCriticScore } from './evolution/parse-scor
|
|
|
40
40
|
export { runMultiCritic, stripMarkdownForJudging, getCriticPrompts, type RunCriticFn, type RunMultiCriticOptions, type CriticPromptDef, type CriticScore, type MultiCriticResult, } from './evolution/multi-critic.js';
|
|
41
41
|
export { meanVar, msprtTwoSample, hoeffdingTwoSample, type ConfidenceMethod, type SequentialVerdict, type MeanVar, type MsprtOptions, type HoeffdingOptions, } from './evolution/sequential.js';
|
|
42
42
|
export { toolSequence, toolSet, jaccard, sequenceSimilarity, errorRate, compareTrajectory, evaluateCanary, runCanaryOverExperiments, type CanaryThresholds, type TrajectoryComparison, type CanaryOptions, type CanaryResult, type CanaryStatus, type CanaryReport, type RunCanaryOptions, } from './evolution/canary.js';
|
|
43
|
+
export { selectDemoCandidates, buildDemoSection, applyDemoSection, stripDemoSection, DEMO_SECTION_START, DEMO_SECTION_END, DEFAULT_MAX_DEMOS, DEFAULT_DEMO_SCORE_THRESHOLD, DEFAULT_DEMO_MIN_OUTPUT_CHARS, DEFAULT_DEMO_TASK_CHARS, DEFAULT_DEMO_OUTPUT_CHARS, type DemoCandidate, type DemoSelectionOptions, type DemoRenderOptions, } from './evolution/demos.js';
|
|
44
|
+
export { selectParentVariant, DEFAULT_EXPLORATION_EPSILON, type CandidateSelectionStrategy, type SelectableVariant, type ParentSelectionOptions, } from './evolution/selection.js';
|
|
45
|
+
export { isPerfectScore, resolvePerfectFeedbackScore, filterPerfectFeedback, DEFAULT_PERFECT_FEEDBACK_SCORE, } from './evolution/feedback-filter.js';
|
|
43
46
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGjF,YAAY,EACV,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG7D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAG/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAIvE,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,SAAS,EACT,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,KAAK,aAAa,EAClB,KAAK,eAAe,IAAI,mBAAmB,EAC3C,KAAK,qBAAqB,IAAI,yBAAyB,EACvD,KAAK,oBAAoB,EACzB,KAAK,YAAY,IAAI,gBAAgB,GACtC,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EACL,0BAA0B,EAC1B,kCAAkC,EAClC,eAAe,EACf,KAAK,OAAO,EACZ,KAAK,wBAAwB,GAC9B,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGtF,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EACL,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EACL,YAAY,EACZ,OAAO,EACP,OAAO,EACP,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -61,4 +61,19 @@ export { meanVar, msprtTwoSample, hoeffdingTwoSample, } from './evolution/sequen
|
|
|
61
61
|
// drift the A/B quality gate misses. Exported so consumers can run the same
|
|
62
62
|
// drift check on their own captured trajectories.
|
|
63
63
|
export { toolSequence, toolSet, jaccard, sequenceSimilarity, errorRate, compareTrajectory, evaluateCanary, runCanaryOverExperiments, } from './evolution/canary.js';
|
|
64
|
+
// V0.10.0 — SIMBA-style demo injection (DSPy SIMBA "append_a_demo", adapted
|
|
65
|
+
// to the online loop). Pure selection + rendering over the agent's own
|
|
66
|
+
// highest-scoring past runs; the demo-augmented prompt is a normal challenger
|
|
67
|
+
// (alignment guard + A/B test + safety gate). Zero LLM cost.
|
|
68
|
+
export { selectDemoCandidates, buildDemoSection, applyDemoSection, stripDemoSection, DEMO_SECTION_START, DEMO_SECTION_END, DEFAULT_MAX_DEMOS, DEFAULT_DEMO_SCORE_THRESHOLD, DEFAULT_DEMO_MIN_OUTPUT_CHARS, DEFAULT_DEMO_TASK_CHARS, DEFAULT_DEMO_OUTPUT_CHARS, } from './evolution/demos.js';
|
|
69
|
+
// V0.10.0 — GEPA candidate_selection_strategy parity for the online loop:
|
|
70
|
+
// pick the reflection parent from the scored version history ('best' |
|
|
71
|
+
// 'pareto' | 'epsilon-greedy') instead of always mutating the active prompt.
|
|
72
|
+
// Injectable RNG for deterministic tests.
|
|
73
|
+
export { selectParentVariant, DEFAULT_EXPLORATION_EPSILON, } from './evolution/selection.js';
|
|
74
|
+
// V0.11.0 — perfect-score feedback filtering (adapted from GEPA's
|
|
75
|
+
// `skip_perfect_score`): drop already-perfect runs from the optimizer /
|
|
76
|
+
// reflector feedback so it focuses on runs with an actual improvement gradient.
|
|
77
|
+
// Pure + generic over `{ score }`.
|
|
78
|
+
export { isPerfectScore, resolvePerfectFeedbackScore, filterPerfectFeedback, DEFAULT_PERFECT_FEEDBACK_SCORE, } from './evolution/feedback-filter.js';
|
|
64
79
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,8DAA8D;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA4B7D,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,kBAAkB;AAClB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvF,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE/F,gBAAgB;AAChB,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAGtE,sEAAsE;AACtE,mGAAmG;AACnG,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,GAK1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,SAAS,GAGV,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,aAAa,EACb,sBAAsB,GAMvB,MAAM,+BAA+B,CAAC;AAEvC,uEAAuE;AACvE,2EAA2E;AAC3E,4EAA4E;AAC5E,mBAAmB;AACnB,OAAO,EACL,0BAA0B,EAC1B,kCAAkC,EAClC,eAAe,GAGhB,MAAM,0BAA0B,CAAC;AAElC,yEAAyE;AACzE,yEAAyE;AACzE,8EAA8E;AAC9E,OAAO,EAAE,gBAAgB,EAA0B,MAAM,4BAA4B,CAAC;AAEtF,gFAAgF;AAChF,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,gBAAgB,GAMjB,MAAM,6BAA6B,CAAC;AAErC,yEAAyE;AACzE,yEAAyE;AACzE,2EAA2E;AAC3E,6BAA6B;AAC7B,OAAO,EACL,OAAO,EACP,cAAc,EACd,kBAAkB,GAMnB,MAAM,2BAA2B,CAAC;AAEnC,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,4EAA4E;AAC5E,kDAAkD;AAClD,OAAO,EACL,YAAY,EACZ,OAAO,EACP,OAAO,EACP,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GAQzB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -152,6 +152,116 @@ export interface EvolutionConfig {
|
|
|
152
152
|
* the single-challenger reflective path is unchanged.
|
|
153
153
|
*/
|
|
154
154
|
useCoverage?: boolean;
|
|
155
|
+
/**
|
|
156
|
+
* v0.10.0 — Strategy for picking WHICH prompt version the next challenger
|
|
157
|
+
* is derived from (GEPA `candidate_selection_strategy` parity). Only
|
|
158
|
+
* consulted when `useGepa` is `true` AND a `GepaOptimizer` is wired in:
|
|
159
|
+
*
|
|
160
|
+
* - `'active'` (default): reflect from the currently-active prompt —
|
|
161
|
+
* byte-for-byte the historical behaviour.
|
|
162
|
+
* - `'best'`: reflect from the highest scalarised-composite version in
|
|
163
|
+
* the history (GEPA `current_best`).
|
|
164
|
+
* - `'pareto'`: reflect from a uniformly-sampled member of the version
|
|
165
|
+
* history's Pareto front (GEPA default) — keeps lineages alive that
|
|
166
|
+
* win on different objectives instead of hill-climbing one line.
|
|
167
|
+
* - `'epsilon-greedy'`: with probability {@link explorationEpsilon} pick
|
|
168
|
+
* a random version (explore), otherwise the best (exploit).
|
|
169
|
+
*
|
|
170
|
+
* Precedence: `useCoverage` (GEPA Algorithm 2, the more specific
|
|
171
|
+
* selector) wins when it finds a coverage parent; `candidateSelection`
|
|
172
|
+
* is the fallback selector for that cycle. Versions without any run
|
|
173
|
+
* metrics are never candidates. Default `'active'`.
|
|
174
|
+
*/
|
|
175
|
+
candidateSelection?: 'active' | 'best' | 'pareto' | 'epsilon-greedy';
|
|
176
|
+
/**
|
|
177
|
+
* v0.10.0 — Exploration probability for
|
|
178
|
+
* `candidateSelection: 'epsilon-greedy'` (clamped to [0, 1], non-finite
|
|
179
|
+
* → default). Default `0.1`.
|
|
180
|
+
*/
|
|
181
|
+
explorationEpsilon?: number;
|
|
182
|
+
/**
|
|
183
|
+
* v0.10.0 — Opt into SIMBA-style DEMO INJECTION as a challenger source.
|
|
184
|
+
* On every {@link demoEveryK}-th evolution cycle, instead of an LLM
|
|
185
|
+
* mutation the loop appends (or refreshes) a marker-delimited
|
|
186
|
+
* "Demonstrations" section built from the agent's own highest-scoring
|
|
187
|
+
* past runs (DSPy SIMBA's `append_a_demo` strategy, adapted to the
|
|
188
|
+
* online loop). The demo-augmented prompt is a normal challenger: same
|
|
189
|
+
* alignment guard, same A/B test, same safety gate — if demos don't
|
|
190
|
+
* help, the incumbent wins. Zero LLM cost (pure selection + rendering).
|
|
191
|
+
*
|
|
192
|
+
* Works WITHOUT `useGepa` (no reflector involved). When both `useDemos`
|
|
193
|
+
* and `useMerge` would fire on the same cycle, demos win — staggering
|
|
194
|
+
* `demoEveryK` / `mergeEveryK` (e.g. 4 / 3) reduces the overlap to the
|
|
195
|
+
* LCM cycles (every 12th with 4/3), where the demos-win precedence
|
|
196
|
+
* resolves the collision. Default `false`.
|
|
197
|
+
*/
|
|
198
|
+
useDemos?: boolean;
|
|
199
|
+
/**
|
|
200
|
+
* v0.10.0 — Demo-injection cadence: attempt a demo challenger on every
|
|
201
|
+
* K-th evolution cycle (cycle index = active prompt version integer).
|
|
202
|
+
* Only consulted when `useDemos` is `true`. Default 4, clamped ≥ 1.
|
|
203
|
+
*/
|
|
204
|
+
demoEveryK?: number;
|
|
205
|
+
/**
|
|
206
|
+
* v0.10.0 — Maximum demonstrations to inject (default 2). Kept
|
|
207
|
+
* deliberately below SIMBA's per-predictor 4 because the online loop
|
|
208
|
+
* appends demos to one system prompt and prompt length correlates
|
|
209
|
+
* negatively with reliability (documented v2-prompt incident).
|
|
210
|
+
*/
|
|
211
|
+
maxDemos?: number;
|
|
212
|
+
/**
|
|
213
|
+
* v0.10.0 — Minimum critic score (1-10) for a past run to qualify as a
|
|
214
|
+
* demonstration. Default 8 — mirrors the closed-loop feedback convention
|
|
215
|
+
* where ≥ 8 marks a high-quality pattern.
|
|
216
|
+
*/
|
|
217
|
+
demoScoreThreshold?: number;
|
|
218
|
+
/**
|
|
219
|
+
* v0.11.0 — Skip already-PERFECT past runs when assembling the critic
|
|
220
|
+
* feedback the optimizer / GEPA reflector learns from. Adapted from GEPA's
|
|
221
|
+
* `skip_perfect_score`: upstream skips the whole reflection iteration when an
|
|
222
|
+
* entire sampled minibatch is perfect; Darwin generalizes it to per-report
|
|
223
|
+
* filtering because the critic scores on real runs are already paid for (no
|
|
224
|
+
* eval-budget reason to keep "nothing to fix" reports in the pool). A run
|
|
225
|
+
* scored at or above {@link perfectFeedbackScore} carries no improvement
|
|
226
|
+
* gradient, so dropping it concentrates the feedback on runs that went wrong.
|
|
227
|
+
* When `true`, such reports are dropped from BOTH the reflective feedback and
|
|
228
|
+
* the legacy optimizer feedback. If EVERY recent report is perfect the filter
|
|
229
|
+
* yields an empty feedback set — the reflective path then falls back to the
|
|
230
|
+
* legacy stats optimizer and the legacy path proceeds on aggregate stats as
|
|
231
|
+
* it did before feedback reports existed (so the loop keeps exploring; it
|
|
232
|
+
* does not, like upstream, leave a perfect candidate untouched). Default
|
|
233
|
+
* `false` — every report is included, byte-for-byte the historical behaviour.
|
|
234
|
+
*/
|
|
235
|
+
skipPerfectFeedback?: boolean;
|
|
236
|
+
/**
|
|
237
|
+
* v0.11.0 — Critic score (1-10) at or above which a run counts as PERFECT
|
|
238
|
+
* for {@link skipPerfectFeedback}. Only consulted when `skipPerfectFeedback`
|
|
239
|
+
* is `true`. Default 10 (only a literal top score is skipped); lower it
|
|
240
|
+
* (e.g. 9) to also skip near-perfect runs. Non-finite / out-of-range values
|
|
241
|
+
* fall back to the default.
|
|
242
|
+
*/
|
|
243
|
+
perfectFeedbackScore?: number;
|
|
244
|
+
/**
|
|
245
|
+
* v0.11.0 — Lifetime cap on how many merge-derived challengers this agent
|
|
246
|
+
* may produce. Adapted from GEPA's `max_merge_invocations` (default 5
|
|
247
|
+
* upstream, per-`optimize()`-run); Darwin mirrors the value but makes the cap
|
|
248
|
+
* a per-agent LIFETIME budget persisted in {@link
|
|
249
|
+
* DarwinState.mergeInvocations}, because a process-scoped counter would reset
|
|
250
|
+
* every cron tick and never trigger. Only consulted when `useMerge` is
|
|
251
|
+
* `true`. The GEPA paper leaves merge-budget allocation as open research; the
|
|
252
|
+
* reason Darwin needs a cap is its own: an uncapped `mergeEveryK` cadence
|
|
253
|
+
* would merge forever, so late in an agent's life merges would crowd out the
|
|
254
|
+
* reflective exploration that finds genuinely new strategies. Once the cap is
|
|
255
|
+
* reached the merge branch is skipped and the loop falls back to the
|
|
256
|
+
* reflective path for the rest of the agent's life (unlike upstream, the
|
|
257
|
+
* budget does not re-arm — a future `--reset`-clears-it option is a candidate).
|
|
258
|
+
* The count is the number of merge challengers actually CREATED (a merge that
|
|
259
|
+
* failed the alignment guard is not counted — it consumed no A/B slot), and
|
|
260
|
+
* it is written ONLY when a cap is set, so an uncapped `useMerge` agent's
|
|
261
|
+
* state is unchanged from v0.10. Default `undefined` — uncapped, byte-for-byte
|
|
262
|
+
* the v0.10 behaviour; set it to 5 to match GEPA's protective default.
|
|
263
|
+
*/
|
|
264
|
+
maxMergeInvocations?: number;
|
|
155
265
|
}
|
|
156
266
|
export interface McpServerConfig {
|
|
157
267
|
command: string;
|
|
@@ -388,6 +498,13 @@ export interface DarwinState {
|
|
|
388
498
|
consecutiveFailures: Record<string, number>;
|
|
389
499
|
/** Total experiment count per agent */
|
|
390
500
|
experimentCounts: Record<string, number>;
|
|
501
|
+
/**
|
|
502
|
+
* v0.11.0 — Lifetime count of merge-derived challengers created per agent,
|
|
503
|
+
* used to enforce {@link EvolutionConfig.maxMergeInvocations} (GEPA's
|
|
504
|
+
* `max_merge_invocations`). Optional + read defensively (`?? 0`): state
|
|
505
|
+
* rows written before this field existed simply lack the key.
|
|
506
|
+
*/
|
|
507
|
+
mergeInvocations?: Record<string, number>;
|
|
391
508
|
/**
|
|
392
509
|
* Persisted enable/disable override per agent, set by `darwin evolve
|
|
393
510
|
* <agent> --enable|--disable`. When an entry exists it WINS over the
|
|
@@ -398,12 +515,13 @@ export interface DarwinState {
|
|
|
398
515
|
*/
|
|
399
516
|
evolutionEnabled?: Record<string, boolean>;
|
|
400
517
|
/**
|
|
401
|
-
* Persisted overrides for the advanced evolution-config flags
|
|
402
|
-
*
|
|
403
|
-
*
|
|
404
|
-
* OVER the agent definition's static `evolution`
|
|
405
|
-
* effective config, so these knobs are reachable
|
|
406
|
-
* process exit. Optional + read defensively (older
|
|
518
|
+
* Persisted overrides for the advanced evolution-config flags (the keys in
|
|
519
|
+
* `OVERRIDE_KEYS`, enabled-state.ts — kept as the single list so this comment
|
|
520
|
+
* never drifts as new flags are added), set by `darwin evolve <agent>
|
|
521
|
+
* --gepa|--merge|…`. Merged OVER the agent definition's static `evolution`
|
|
522
|
+
* block when resolving the effective config, so these knobs are reachable
|
|
523
|
+
* from the CLI and survive process exit. Optional + read defensively (older
|
|
524
|
+
* state rows lack it).
|
|
407
525
|
*/
|
|
408
526
|
evolutionConfigOverrides?: Record<string, EvolutionConfigOverride>;
|
|
409
527
|
}
|
|
@@ -420,6 +538,14 @@ export interface EvolutionConfigOverride {
|
|
|
420
538
|
paretoGate?: boolean;
|
|
421
539
|
useCoverage?: boolean;
|
|
422
540
|
reflectionModel?: string;
|
|
541
|
+
/** v0.10.0 — SIMBA-style demo injection (`--demos` / `--no-demos`). */
|
|
542
|
+
useDemos?: boolean;
|
|
543
|
+
/** v0.10.0 — parent-selection strategy (`--candidate-selection <s>`). */
|
|
544
|
+
candidateSelection?: 'active' | 'best' | 'pareto' | 'epsilon-greedy';
|
|
545
|
+
/** v0.11.0 — skip perfect-score feedback (`--skip-perfect` / `--no-skip-perfect`). */
|
|
546
|
+
skipPerfectFeedback?: boolean;
|
|
547
|
+
/** v0.11.0 — lifetime merge cap (`--max-merge <n>`). */
|
|
548
|
+
maxMergeInvocations?: number;
|
|
423
549
|
}
|
|
424
550
|
export interface DarwinPattern {
|
|
425
551
|
description: string;
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACxB,qDAAqD;IACrD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxE,uCAAuC;IACvC,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iGAAiG;IACjG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmlBH,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;CACd,CAAC;AA0DF,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,IAAI;IACnB,wBAAwB,EAAE,CAAC;CAC5B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "darwin-agents",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
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": {
|
|
@@ -102,6 +102,9 @@
|
|
|
102
102
|
"url": "https://github.com/studiomeyer-io/darwin-agents/issues"
|
|
103
103
|
},
|
|
104
104
|
"author": "StudioMeyer <hello@studiomeyer.io>",
|
|
105
|
+
"contributors": [
|
|
106
|
+
"Claude Fable 5 (Anthropic) <noreply@anthropic.com> (https://www.anthropic.com/claude)"
|
|
107
|
+
],
|
|
105
108
|
"license": "MIT",
|
|
106
109
|
"engines": {
|
|
107
110
|
"node": ">=20"
|