opencode-autoresearch 3.6.0 → 3.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.
- package/.opencode-plugin/plugin.json +1 -1
- package/CHANGELOG.md +166 -0
- package/INSTALL.md +2 -2
- package/README.md +83 -39
- package/VERSION +1 -1
- package/dist/badge.d.ts +9 -0
- package/dist/badge.d.ts.map +1 -0
- package/dist/badge.js +86 -0
- package/dist/badge.js.map +1 -0
- package/dist/cli.js +578 -26
- package/dist/cli.js.map +1 -1
- package/dist/constants.d.ts +7 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +7 -1
- package/dist/constants.js.map +1 -1
- package/dist/goal-init.d.ts +30 -0
- package/dist/goal-init.d.ts.map +1 -0
- package/dist/goal-init.js +109 -0
- package/dist/goal-init.js.map +1 -0
- package/dist/helpers.d.ts +13 -2
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +152 -9
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +12 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/memory-manager.d.ts +24 -0
- package/dist/memory-manager.d.ts.map +1 -0
- package/dist/memory-manager.js +336 -0
- package/dist/memory-manager.js.map +1 -0
- package/dist/run-manager.d.ts +27 -2
- package/dist/run-manager.d.ts.map +1 -1
- package/dist/run-manager.js +210 -15
- package/dist/run-manager.js.map +1 -1
- package/dist/score-parser.d.ts +56 -0
- package/dist/score-parser.d.ts.map +1 -0
- package/dist/score-parser.js +109 -0
- package/dist/score-parser.js.map +1 -0
- package/dist/subagent-pool.d.ts +11 -0
- package/dist/subagent-pool.d.ts.map +1 -1
- package/dist/subagent-pool.js +95 -0
- package/dist/subagent-pool.js.map +1 -1
- package/dist/task-schema.d.ts +62 -0
- package/dist/task-schema.d.ts.map +1 -0
- package/dist/task-schema.js +95 -0
- package/dist/task-schema.js.map +1 -0
- package/dist/translators/cli.d.ts +5 -0
- package/dist/translators/cli.d.ts.map +1 -0
- package/dist/translators/cli.js +85 -0
- package/dist/translators/cli.js.map +1 -0
- package/dist/translators/hermes.d.ts +28 -0
- package/dist/translators/hermes.d.ts.map +1 -0
- package/dist/translators/hermes.js +102 -0
- package/dist/translators/hermes.js.map +1 -0
- package/dist/types.d.ts +113 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/verifier-parser.d.ts +19 -0
- package/dist/verifier-parser.d.ts.map +1 -0
- package/dist/verifier-parser.js +161 -0
- package/dist/verifier-parser.js.map +1 -0
- package/docs/ARCHITECTURE.md +3 -0
- package/docs/RELEASE.md +15 -36
- package/docs/index.html +5 -0
- package/hooks/verify-package.sh +5 -1
- package/package.json +6 -6
package/dist/subagent-pool.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
import { MAX_DRAFTS } from "./constants.js";
|
|
2
|
+
import { AutoresearchError } from "./helpers.js";
|
|
1
3
|
const ROLE_LIMIT = 6;
|
|
2
4
|
let poolKeyCounter = 0;
|
|
5
|
+
let branchIdCounter = 0;
|
|
6
|
+
export function resetBranchIdCounter() {
|
|
7
|
+
branchIdCounter = 0;
|
|
8
|
+
}
|
|
3
9
|
const RESOURCE_TIERS = {
|
|
4
10
|
lite: ["orchestrator", "scout", "verifier"],
|
|
5
11
|
balanced: ["orchestrator", "scout", "analyst", "verifier"],
|
|
@@ -12,6 +18,26 @@ const BASE_ROLES = [
|
|
|
12
18
|
{ id: "verifier", name: "Verifier", focus: "Check claims with commands, tests, or log reads before the pool settles." },
|
|
13
19
|
{ id: "synthesizer", name: "Synthesizer", focus: "Condense the best evidence into a stable summary the orchestrator can reuse." },
|
|
14
20
|
];
|
|
21
|
+
export const BRANCH_SELECTION_POLICIES = [
|
|
22
|
+
{
|
|
23
|
+
id: "best",
|
|
24
|
+
label: "Greedy (Best)",
|
|
25
|
+
description: "Selects the branch with the best metric value. Exploits known good solutions.",
|
|
26
|
+
recommended_for: ["optimization", "performance tuning", "bug fixes", "refinement"],
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: "roulette",
|
|
30
|
+
label: "Exploratory (Roulette)",
|
|
31
|
+
description: "Randomly selects from completed branches. Explores the search space without strong exploitation.",
|
|
32
|
+
recommended_for: ["exploration", "creative tasks", "novel solutions", "broad search"],
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: "diverse",
|
|
36
|
+
label: "Diversity-First",
|
|
37
|
+
description: "Selects the most recently completed branch. Prioritizes exploring diverse approaches.",
|
|
38
|
+
recommended_for: ["architecture", "design decisions", "multi-objective optimization", "research"],
|
|
39
|
+
},
|
|
40
|
+
];
|
|
15
41
|
const SPECIAL_ROLES = [
|
|
16
42
|
{ id: "security_reviewer", name: "Security Reviewer", focus: "Look for safety, abuse, auth, and data-handling risks.", triggers: ["security", "vuln", "threat", "auth", "permission"] },
|
|
17
43
|
{ id: "debugger", name: "Debugger", focus: "Reproduce failures, isolate causes, and narrow the repair path.", triggers: ["debug", "fix", "bug", "error", "fail", "failing"] },
|
|
@@ -108,4 +134,73 @@ export function buildContinuationPolicy(mode) {
|
|
|
108
134
|
],
|
|
109
135
|
};
|
|
110
136
|
}
|
|
137
|
+
function selectFallbackBranch(pendingBranchId, completedDrafts, activeDrafts) {
|
|
138
|
+
return pendingBranchId ?? completedDrafts[0]?.branch_id ?? activeDrafts[0]?.branch_id;
|
|
139
|
+
}
|
|
140
|
+
export function buildDraftPoolPlan(input) {
|
|
141
|
+
const { num_drafts, branch_selection_policy, baseline_iteration, branch_policy_overrides } = input;
|
|
142
|
+
if (!Number.isSafeInteger(num_drafts) || num_drafts <= 0 || num_drafts > MAX_DRAFTS) {
|
|
143
|
+
throw new AutoresearchError(`Invalid num_drafts: ${num_drafts} (must be a positive integer at most ${MAX_DRAFTS})`);
|
|
144
|
+
}
|
|
145
|
+
const activeDrafts = [];
|
|
146
|
+
for (let i = 0; i < num_drafts; i++) {
|
|
147
|
+
const draftId = `draft-${branchIdCounter++}`;
|
|
148
|
+
const policyOverride = branch_policy_overrides?.[draftId];
|
|
149
|
+
activeDrafts.push({
|
|
150
|
+
branch_id: draftId,
|
|
151
|
+
iteration: i + 1,
|
|
152
|
+
parent_iteration: baseline_iteration ?? 0,
|
|
153
|
+
status: "pending",
|
|
154
|
+
policy_override: policyOverride,
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
return {
|
|
158
|
+
kind: "autoresearch_draft_pool",
|
|
159
|
+
version: 1,
|
|
160
|
+
num_drafts,
|
|
161
|
+
branch_selection_policy,
|
|
162
|
+
active_drafts: activeDrafts,
|
|
163
|
+
best_branch_id: activeDrafts[0]?.branch_id,
|
|
164
|
+
available_policies: BRANCH_SELECTION_POLICIES,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
export function selectNextBranch(activeDrafts, policy, direction, poolPolicy) {
|
|
168
|
+
const completedDrafts = activeDrafts.filter((d) => d.status === "completed");
|
|
169
|
+
const pendingBranchId = activeDrafts.find((d) => d.status === "pending")?.branch_id;
|
|
170
|
+
if (completedDrafts.length === 0) {
|
|
171
|
+
return pendingBranchId;
|
|
172
|
+
}
|
|
173
|
+
const effectivePolicy = poolPolicy ?? policy;
|
|
174
|
+
const sortDirection = direction === "lower" || direction === "higher"
|
|
175
|
+
? direction
|
|
176
|
+
: (() => {
|
|
177
|
+
throw new Error(`Invalid branch selection direction: ${String(direction)}`);
|
|
178
|
+
})();
|
|
179
|
+
switch (effectivePolicy) {
|
|
180
|
+
case "best": {
|
|
181
|
+
const scoredDrafts = completedDrafts
|
|
182
|
+
.map((draft) => ({
|
|
183
|
+
branch_id: draft.branch_id,
|
|
184
|
+
parsed_metric: Number.parseFloat(draft.metric_value ?? ""),
|
|
185
|
+
}))
|
|
186
|
+
.filter((draft) => Number.isFinite(draft.parsed_metric));
|
|
187
|
+
if (scoredDrafts.length === 0) {
|
|
188
|
+
return selectFallbackBranch(pendingBranchId, completedDrafts, activeDrafts);
|
|
189
|
+
}
|
|
190
|
+
const sorted = [...scoredDrafts].sort((a, b) => sortDirection === "lower" ? a.parsed_metric - b.parsed_metric : b.parsed_metric - a.parsed_metric);
|
|
191
|
+
return sorted[0]?.branch_id;
|
|
192
|
+
}
|
|
193
|
+
case "roulette": {
|
|
194
|
+
const idx = Math.floor(Math.random() * completedDrafts.length);
|
|
195
|
+
return completedDrafts[idx]?.branch_id;
|
|
196
|
+
}
|
|
197
|
+
case "diverse": {
|
|
198
|
+
const maxIter = Math.max(...completedDrafts.map(d => d.iteration));
|
|
199
|
+
const mostRecent = completedDrafts.find(d => d.iteration === maxIter);
|
|
200
|
+
return mostRecent?.branch_id ?? completedDrafts[0]?.branch_id;
|
|
201
|
+
}
|
|
202
|
+
default:
|
|
203
|
+
return activeDrafts[0]?.branch_id;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
111
206
|
//# sourceMappingURL=subagent-pool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-pool.js","sourceRoot":"","sources":["../src/subagent-pool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subagent-pool.js","sourceRoot":"","sources":["../src/subagent-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export type TaskSource = "cli" | "hermes" | "mcp" | "webhook" | "api";
|
|
2
|
+
export interface TaskContext {
|
|
3
|
+
id: string;
|
|
4
|
+
source: TaskSource;
|
|
5
|
+
origin?: string;
|
|
6
|
+
owner?: string;
|
|
7
|
+
goal: string;
|
|
8
|
+
scope?: string;
|
|
9
|
+
metric: TaskMetric;
|
|
10
|
+
instrument_metric?: TaskMetric;
|
|
11
|
+
verify_command?: string;
|
|
12
|
+
guard_command?: string;
|
|
13
|
+
constraints: TaskConstraints;
|
|
14
|
+
iteration_policy?: TaskIterationPolicy;
|
|
15
|
+
metadata?: Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
export interface TaskMetric {
|
|
18
|
+
name: string;
|
|
19
|
+
direction: "lower" | "higher";
|
|
20
|
+
baseline?: string;
|
|
21
|
+
target?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface TaskConstraints {
|
|
24
|
+
max_iterations?: number;
|
|
25
|
+
max_duration_seconds?: number;
|
|
26
|
+
required_keep_labels?: string[];
|
|
27
|
+
required_stop_labels?: string[];
|
|
28
|
+
}
|
|
29
|
+
export interface TaskIterationPolicy {
|
|
30
|
+
mode: "foreground" | "background";
|
|
31
|
+
stop_condition?: string;
|
|
32
|
+
rollback_strategy?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface TaskResult {
|
|
35
|
+
task_id: string;
|
|
36
|
+
decision: "keep" | "discard" | "needs_human" | "stopped";
|
|
37
|
+
metric_value?: string;
|
|
38
|
+
change_summary?: string;
|
|
39
|
+
labels: string[];
|
|
40
|
+
timestamp: string;
|
|
41
|
+
}
|
|
42
|
+
export declare function createTaskContext(params: {
|
|
43
|
+
id: string;
|
|
44
|
+
source: TaskSource;
|
|
45
|
+
goal: string;
|
|
46
|
+
metric: TaskMetric;
|
|
47
|
+
instrument_metric?: TaskMetric;
|
|
48
|
+
verify_command?: string;
|
|
49
|
+
guard_command?: string;
|
|
50
|
+
scope?: string;
|
|
51
|
+
max_iterations?: number;
|
|
52
|
+
max_duration_seconds?: number;
|
|
53
|
+
mode?: "foreground" | "background";
|
|
54
|
+
required_keep_labels?: string[];
|
|
55
|
+
required_stop_labels?: string[];
|
|
56
|
+
origin?: string;
|
|
57
|
+
owner?: string;
|
|
58
|
+
stop_condition?: string;
|
|
59
|
+
metadata?: Record<string, unknown>;
|
|
60
|
+
}): TaskContext;
|
|
61
|
+
export declare function validateTaskContext(context: unknown): context is TaskContext;
|
|
62
|
+
//# sourceMappingURL=task-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-schema.d.ts","sourceRoot":"","sources":["../src/task-schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;AAEtE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,eAAe,CAAC;IAC7B,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,YAAY,GAAG,YAAY,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,WAAW,CAwBd;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,WAAW,CAgC5E"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
export function createTaskContext(params) {
|
|
2
|
+
return {
|
|
3
|
+
id: params.id,
|
|
4
|
+
source: params.source,
|
|
5
|
+
origin: params.origin,
|
|
6
|
+
owner: params.owner,
|
|
7
|
+
goal: params.goal,
|
|
8
|
+
scope: params.scope,
|
|
9
|
+
metric: params.metric,
|
|
10
|
+
instrument_metric: params.instrument_metric,
|
|
11
|
+
verify_command: params.verify_command,
|
|
12
|
+
guard_command: params.guard_command,
|
|
13
|
+
constraints: {
|
|
14
|
+
max_iterations: params.max_iterations,
|
|
15
|
+
max_duration_seconds: params.max_duration_seconds,
|
|
16
|
+
required_keep_labels: params.required_keep_labels,
|
|
17
|
+
required_stop_labels: params.required_stop_labels,
|
|
18
|
+
},
|
|
19
|
+
iteration_policy: {
|
|
20
|
+
mode: params.mode ?? "foreground",
|
|
21
|
+
stop_condition: params.stop_condition,
|
|
22
|
+
},
|
|
23
|
+
metadata: params.metadata,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function validateTaskContext(context) {
|
|
27
|
+
if (!isRecord(context))
|
|
28
|
+
return false;
|
|
29
|
+
const obj = context;
|
|
30
|
+
if (typeof obj.id !== "string")
|
|
31
|
+
return false;
|
|
32
|
+
if (!["cli", "hermes", "mcp", "webhook", "api"].includes(obj.source))
|
|
33
|
+
return false;
|
|
34
|
+
if (!isOptionalString(obj.origin))
|
|
35
|
+
return false;
|
|
36
|
+
if (!isOptionalString(obj.owner))
|
|
37
|
+
return false;
|
|
38
|
+
if (typeof obj.goal !== "string")
|
|
39
|
+
return false;
|
|
40
|
+
if (!isOptionalString(obj.scope))
|
|
41
|
+
return false;
|
|
42
|
+
if (!isRecord(obj.metric))
|
|
43
|
+
return false;
|
|
44
|
+
const metric = obj.metric;
|
|
45
|
+
if (typeof metric.name !== "string")
|
|
46
|
+
return false;
|
|
47
|
+
if (!["lower", "higher"].includes(metric.direction))
|
|
48
|
+
return false;
|
|
49
|
+
if (!isOptionalString(metric.baseline))
|
|
50
|
+
return false;
|
|
51
|
+
if (!isOptionalString(metric.target))
|
|
52
|
+
return false;
|
|
53
|
+
if (!isOptionalString(obj.verify_command))
|
|
54
|
+
return false;
|
|
55
|
+
if (!isOptionalString(obj.guard_command))
|
|
56
|
+
return false;
|
|
57
|
+
if (!isRecord(obj.constraints))
|
|
58
|
+
return false;
|
|
59
|
+
const constraints = obj.constraints;
|
|
60
|
+
if (!isOptionalNumber(constraints.max_iterations))
|
|
61
|
+
return false;
|
|
62
|
+
if (!isOptionalNumber(constraints.max_duration_seconds))
|
|
63
|
+
return false;
|
|
64
|
+
if (!isOptionalStringArray(constraints.required_keep_labels))
|
|
65
|
+
return false;
|
|
66
|
+
if (!isOptionalStringArray(constraints.required_stop_labels))
|
|
67
|
+
return false;
|
|
68
|
+
if (obj.iteration_policy !== undefined) {
|
|
69
|
+
if (!isRecord(obj.iteration_policy))
|
|
70
|
+
return false;
|
|
71
|
+
const policy = obj.iteration_policy;
|
|
72
|
+
if (!["foreground", "background"].includes(policy.mode))
|
|
73
|
+
return false;
|
|
74
|
+
if (!isOptionalString(policy.stop_condition))
|
|
75
|
+
return false;
|
|
76
|
+
if (!isOptionalString(policy.rollback_strategy))
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
if (obj.metadata !== undefined && !isRecord(obj.metadata))
|
|
80
|
+
return false;
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
function isRecord(value) {
|
|
84
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
85
|
+
}
|
|
86
|
+
function isOptionalString(value) {
|
|
87
|
+
return value === undefined || typeof value === "string";
|
|
88
|
+
}
|
|
89
|
+
function isOptionalNumber(value) {
|
|
90
|
+
return value === undefined || typeof value === "number";
|
|
91
|
+
}
|
|
92
|
+
function isOptionalStringArray(value) {
|
|
93
|
+
return value === undefined || (Array.isArray(value) && value.every((item) => typeof item === "string"));
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=task-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-schema.js","sourceRoot":"","sources":["../src/task-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { TaskContext } from "../task-schema.js";
|
|
2
|
+
import type { RunConfig } from "../types.js";
|
|
3
|
+
export declare function taskContextFromRunConfig(id: string, config: RunConfig): TaskContext;
|
|
4
|
+
export declare function runConfigFromTaskContext(context: TaskContext): RunConfig;
|
|
5
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/translators/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,SAAS,GAChB,WAAW,CAsCb;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAuBxE"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export function taskContextFromRunConfig(id, config) {
|
|
2
|
+
const metric = {
|
|
3
|
+
name: config.outcome_metric ?? config.metric,
|
|
4
|
+
direction: (config.outcome_direction ?? config.direction),
|
|
5
|
+
baseline: config.baseline,
|
|
6
|
+
};
|
|
7
|
+
const instrumentMetric = config.instrument_metric
|
|
8
|
+
? {
|
|
9
|
+
name: config.instrument_metric,
|
|
10
|
+
direction: (config.instrument_direction ?? config.direction),
|
|
11
|
+
baseline: config.baseline,
|
|
12
|
+
}
|
|
13
|
+
: undefined;
|
|
14
|
+
const policy = {
|
|
15
|
+
mode: config.mode,
|
|
16
|
+
stop_condition: config.stop_condition,
|
|
17
|
+
};
|
|
18
|
+
return {
|
|
19
|
+
id,
|
|
20
|
+
source: "cli",
|
|
21
|
+
goal: config.goal,
|
|
22
|
+
scope: config.scope,
|
|
23
|
+
metric,
|
|
24
|
+
instrument_metric: instrumentMetric,
|
|
25
|
+
verify_command: config.verify,
|
|
26
|
+
guard_command: config.guard,
|
|
27
|
+
constraints: {
|
|
28
|
+
max_iterations: config.iterations,
|
|
29
|
+
max_duration_seconds: config.duration ? parseDuration(config.duration) : undefined,
|
|
30
|
+
required_keep_labels: config.required_keep_labels,
|
|
31
|
+
required_stop_labels: config.required_stop_labels,
|
|
32
|
+
},
|
|
33
|
+
iteration_policy: policy,
|
|
34
|
+
metadata: config.run_tag ? { run_tag: config.run_tag } : undefined,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function runConfigFromTaskContext(context) {
|
|
38
|
+
return {
|
|
39
|
+
goal: context.goal,
|
|
40
|
+
metric: context.metric.name,
|
|
41
|
+
direction: context.metric.direction,
|
|
42
|
+
verify: context.verify_command ?? "",
|
|
43
|
+
guard: context.guard_command ?? "",
|
|
44
|
+
mode: context.iteration_policy?.mode ?? "foreground",
|
|
45
|
+
scope: context.scope,
|
|
46
|
+
iterations: context.constraints.max_iterations,
|
|
47
|
+
duration: context.constraints.max_duration_seconds
|
|
48
|
+
? formatDuration(context.constraints.max_duration_seconds)
|
|
49
|
+
: undefined,
|
|
50
|
+
required_keep_labels: context.constraints.required_keep_labels,
|
|
51
|
+
required_stop_labels: context.constraints.required_stop_labels,
|
|
52
|
+
stop_condition: context.iteration_policy?.stop_condition,
|
|
53
|
+
run_tag: context.metadata?.run_tag ?? undefined,
|
|
54
|
+
baseline: context.metric.baseline,
|
|
55
|
+
outcome_metric: context.metric.name,
|
|
56
|
+
outcome_direction: context.metric.direction,
|
|
57
|
+
instrument_metric: context.instrument_metric?.name,
|
|
58
|
+
instrument_direction: context.instrument_metric?.direction,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function parseDuration(value) {
|
|
62
|
+
const normalized = value.trim().toLowerCase();
|
|
63
|
+
if (/^\d+$/.test(normalized)) {
|
|
64
|
+
return parseInt(normalized) || undefined;
|
|
65
|
+
}
|
|
66
|
+
const tokens = [...normalized.matchAll(/(\d+)([smhd])/g)];
|
|
67
|
+
let total = 0;
|
|
68
|
+
for (const match of tokens) {
|
|
69
|
+
const amount = parseInt(match[1]);
|
|
70
|
+
const unit = match[2];
|
|
71
|
+
const multiplier = { s: 1, m: 60, h: 3600, d: 86400 };
|
|
72
|
+
total += amount * multiplier[unit];
|
|
73
|
+
}
|
|
74
|
+
return total > 0 ? total : undefined;
|
|
75
|
+
}
|
|
76
|
+
function formatDuration(seconds) {
|
|
77
|
+
if (seconds >= 86400)
|
|
78
|
+
return `${Math.floor(seconds / 86400)}d`;
|
|
79
|
+
if (seconds >= 3600)
|
|
80
|
+
return `${Math.floor(seconds / 3600)}h`;
|
|
81
|
+
if (seconds >= 60)
|
|
82
|
+
return `${Math.floor(seconds / 60)}m`;
|
|
83
|
+
return `${seconds}s`;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/translators/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { TaskContext } from "../task-schema.js";
|
|
2
|
+
import type { RunState } from "../types.js";
|
|
3
|
+
export interface HermesTaskPayload {
|
|
4
|
+
run_id: string;
|
|
5
|
+
goal: string;
|
|
6
|
+
metric: {
|
|
7
|
+
name: string;
|
|
8
|
+
direction: "lower" | "higher";
|
|
9
|
+
baseline?: string;
|
|
10
|
+
};
|
|
11
|
+
verify_command: string;
|
|
12
|
+
guard_command?: string;
|
|
13
|
+
mode: "foreground" | "background";
|
|
14
|
+
scope?: string;
|
|
15
|
+
max_iterations?: number;
|
|
16
|
+
max_duration_seconds?: number;
|
|
17
|
+
required_keep_labels?: string[];
|
|
18
|
+
required_stop_labels?: string[];
|
|
19
|
+
stop_condition?: string;
|
|
20
|
+
origin?: string;
|
|
21
|
+
owner?: string;
|
|
22
|
+
metadata?: Record<string, unknown>;
|
|
23
|
+
}
|
|
24
|
+
export declare function taskContextFromHermesPayload(payload: HermesTaskPayload): TaskContext;
|
|
25
|
+
export declare function hermesPayloadFromTaskContext(context: TaskContext): HermesTaskPayload;
|
|
26
|
+
export declare function taskContextFromRunState(state: RunState): TaskContext;
|
|
27
|
+
export declare function runStateFromTaskContext(context: TaskContext): Partial<RunState>;
|
|
28
|
+
//# sourceMappingURL=hermes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hermes.d.ts","sourceRoot":"","sources":["../../src/translators/hermes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,YAAY,GAAG,YAAY,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,iBAAiB,GACzB,WAAW,CA+Bb;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,GACnB,iBAAiB,CAsBnB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW,CAyBpE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqB/E"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
export function taskContextFromHermesPayload(payload) {
|
|
2
|
+
const metric = {
|
|
3
|
+
name: payload.metric.name,
|
|
4
|
+
direction: payload.metric.direction,
|
|
5
|
+
baseline: payload.metric.baseline,
|
|
6
|
+
};
|
|
7
|
+
const policy = {
|
|
8
|
+
mode: payload.mode,
|
|
9
|
+
stop_condition: payload.stop_condition,
|
|
10
|
+
};
|
|
11
|
+
return {
|
|
12
|
+
id: payload.run_id,
|
|
13
|
+
source: "hermes",
|
|
14
|
+
origin: payload.origin,
|
|
15
|
+
owner: payload.owner,
|
|
16
|
+
goal: payload.goal,
|
|
17
|
+
scope: payload.scope,
|
|
18
|
+
metric,
|
|
19
|
+
verify_command: payload.verify_command,
|
|
20
|
+
guard_command: payload.guard_command,
|
|
21
|
+
constraints: {
|
|
22
|
+
max_iterations: payload.max_iterations,
|
|
23
|
+
max_duration_seconds: payload.max_duration_seconds,
|
|
24
|
+
required_keep_labels: payload.required_keep_labels,
|
|
25
|
+
required_stop_labels: payload.required_stop_labels,
|
|
26
|
+
},
|
|
27
|
+
iteration_policy: policy,
|
|
28
|
+
metadata: payload.metadata,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export function hermesPayloadFromTaskContext(context) {
|
|
32
|
+
return {
|
|
33
|
+
run_id: context.id,
|
|
34
|
+
goal: context.goal,
|
|
35
|
+
metric: {
|
|
36
|
+
name: context.metric.name,
|
|
37
|
+
direction: context.metric.direction,
|
|
38
|
+
baseline: context.metric.baseline,
|
|
39
|
+
},
|
|
40
|
+
verify_command: context.verify_command ?? "",
|
|
41
|
+
guard_command: context.guard_command,
|
|
42
|
+
mode: context.iteration_policy?.mode ?? "foreground",
|
|
43
|
+
scope: context.scope,
|
|
44
|
+
max_iterations: context.constraints.max_iterations,
|
|
45
|
+
max_duration_seconds: context.constraints.max_duration_seconds,
|
|
46
|
+
required_keep_labels: context.constraints.required_keep_labels,
|
|
47
|
+
required_stop_labels: context.constraints.required_stop_labels,
|
|
48
|
+
stop_condition: context.iteration_policy?.stop_condition,
|
|
49
|
+
origin: context.origin,
|
|
50
|
+
owner: context.owner,
|
|
51
|
+
metadata: context.metadata,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export function taskContextFromRunState(state) {
|
|
55
|
+
return {
|
|
56
|
+
id: state.run_id,
|
|
57
|
+
source: "hermes",
|
|
58
|
+
goal: state.goal,
|
|
59
|
+
scope: state.scope,
|
|
60
|
+
metric: {
|
|
61
|
+
name: state.metric.name,
|
|
62
|
+
direction: state.metric.direction,
|
|
63
|
+
baseline: state.metric.baseline,
|
|
64
|
+
},
|
|
65
|
+
verify_command: state.verify,
|
|
66
|
+
guard_command: state.guard,
|
|
67
|
+
constraints: {
|
|
68
|
+
max_iterations: state.iterations_cap,
|
|
69
|
+
max_duration_seconds: state.duration_seconds,
|
|
70
|
+
required_keep_labels: state.label_requirements.keep,
|
|
71
|
+
required_stop_labels: state.label_requirements.stop,
|
|
72
|
+
},
|
|
73
|
+
iteration_policy: {
|
|
74
|
+
mode: state.mode,
|
|
75
|
+
stop_condition: state.stop_condition,
|
|
76
|
+
},
|
|
77
|
+
metadata: state.memory,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
export function runStateFromTaskContext(context) {
|
|
81
|
+
return {
|
|
82
|
+
run_id: context.id,
|
|
83
|
+
goal: context.goal,
|
|
84
|
+
scope: context.scope ?? "",
|
|
85
|
+
metric: {
|
|
86
|
+
name: context.metric.name,
|
|
87
|
+
direction: context.metric.direction,
|
|
88
|
+
baseline: context.metric.baseline,
|
|
89
|
+
},
|
|
90
|
+
verify: context.verify_command ?? "",
|
|
91
|
+
guard: context.guard_command,
|
|
92
|
+
mode: context.iteration_policy?.mode ?? "foreground",
|
|
93
|
+
iterations_cap: context.constraints.max_iterations,
|
|
94
|
+
duration_seconds: context.constraints.max_duration_seconds ?? undefined,
|
|
95
|
+
stop_condition: context.iteration_policy?.stop_condition,
|
|
96
|
+
label_requirements: {
|
|
97
|
+
keep: context.constraints.required_keep_labels ?? [],
|
|
98
|
+
stop: context.constraints.required_stop_labels ?? [],
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=hermes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hermes.js","sourceRoot":"","sources":["../../src/translators/hermes.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,4BAA4B,CAC1C,OAA0B;IAE1B,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;QACzB,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;QACnC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;KAClC,CAAC;IAEF,MAAM,MAAM,GAAwB;QAClC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,MAAM;QAClB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM;QACN,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,WAAW,EAAE;YACX,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACnD;QACD,gBAAgB,EAAE,MAAM;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAoB;IAEpB,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,EAAE;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE;YACN,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;YACnC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;SAClC;QACD,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;QAC5C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,IAAI,EAAE,OAAO,CAAC,gBAAgB,EAAE,IAAI,IAAI,YAAY;QACpD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,cAAc;QAClD,oBAAoB,EAAE,OAAO,CAAC,WAAW,CAAC,oBAAoB;QAC9D,oBAAoB,EAAE,OAAO,CAAC,WAAW,CAAC,oBAAoB;QAC9D,oBAAoB,EAAE,OAAO,CAAC,WAAW,CAAC,oBAAoB;QAC9D,cAAc,EAAE,OAAO,CAAC,gBAAgB,EAAE,cAAc;QACxD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAe;IACrD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,MAAM;QAChB,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE;YACN,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;YACvB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAA+B;YACvD,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;SAChC;QACD,cAAc,EAAE,KAAK,CAAC,MAAM;QAC5B,aAAa,EAAE,KAAK,CAAC,KAAK;QAC1B,WAAW,EAAE;YACX,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,oBAAoB,EAAE,KAAK,CAAC,gBAAgB;YAC5C,oBAAoB,EAAE,KAAK,CAAC,kBAAkB,CAAC,IAAI;YACnD,oBAAoB,EAAE,KAAK,CAAC,kBAAkB,CAAC,IAAI;SACpD;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,KAAK,CAAC,IAAmC;YAC/C,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC;QACD,QAAQ,EAAE,KAAK,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAoB;IAC1D,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,EAAE;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,MAAM,EAAE;YACN,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;YACnC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;SAClC;QACD,MAAM,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;QACpC,KAAK,EAAE,OAAO,CAAC,aAAa;QAC5B,IAAI,EAAE,OAAO,CAAC,gBAAgB,EAAE,IAAI,IAAI,YAAY;QACpD,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,cAAc;QAClD,gBAAgB,EAAE,OAAO,CAAC,WAAW,CAAC,oBAAoB,IAAI,SAAS;QACvE,cAAc,EAAE,OAAO,CAAC,gBAAgB,EAAE,cAAc;QACxD,kBAAkB,EAAE;YAClB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,oBAAoB,IAAI,EAAE;YACpD,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,oBAAoB,IAAI,EAAE;SACrD;KACF,CAAC;AACJ,CAAC"}
|