agent-bober 0.11.5 → 0.12.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 +98 -0
- package/README.md +12 -6
- package/agents/bober-evaluator.md +38 -0
- package/agents/bober-generator.md +54 -0
- package/agents/bober-planner.md +256 -34
- package/dist/cli/commands/eval.js +6 -6
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/init.js +47 -3
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/plan.d.ts +12 -0
- package/dist/cli/commands/plan.d.ts.map +1 -1
- package/dist/cli/commands/plan.js +232 -37
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/run.js +2 -2
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/sprint.d.ts.map +1 -1
- package/dist/cli/commands/sprint.js +8 -8
- package/dist/cli/commands/sprint.js.map +1 -1
- package/dist/cli/index.js +23 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/config/schema.d.ts +40 -40
- package/dist/contracts/eval-result.d.ts +38 -38
- package/dist/contracts/index.d.ts +2 -2
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +8 -4
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/spec.d.ts +335 -40
- package/dist/contracts/spec.d.ts.map +1 -1
- package/dist/contracts/spec.js +210 -18
- package/dist/contracts/spec.js.map +1 -1
- package/dist/contracts/sprint-contract.d.ts +155 -88
- package/dist/contracts/sprint-contract.d.ts.map +1 -1
- package/dist/contracts/sprint-contract.js +176 -29
- package/dist/contracts/sprint-contract.js.map +1 -1
- package/dist/evaluators/builtin/api-check.js +1 -1
- package/dist/evaluators/builtin/api-check.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/tools/contracts.js +2 -2
- package/dist/mcp/tools/contracts.js.map +1 -1
- package/dist/mcp/tools/eval.js +8 -8
- package/dist/mcp/tools/eval.js.map +1 -1
- package/dist/mcp/tools/plan.d.ts.map +1 -1
- package/dist/mcp/tools/plan.js +40 -14
- package/dist/mcp/tools/plan.js.map +1 -1
- package/dist/mcp/tools/sprint.d.ts.map +1 -1
- package/dist/mcp/tools/sprint.js +11 -11
- package/dist/mcp/tools/sprint.js.map +1 -1
- package/dist/orchestrator/context-handoff.d.ts +484 -224
- package/dist/orchestrator/context-handoff.d.ts.map +1 -1
- package/dist/orchestrator/context-handoff.js +32 -12
- package/dist/orchestrator/context-handoff.js.map +1 -1
- package/dist/orchestrator/curator-agent.d.ts.map +1 -1
- package/dist/orchestrator/curator-agent.js +4 -4
- package/dist/orchestrator/curator-agent.js.map +1 -1
- package/dist/orchestrator/evaluator-agent.js +2 -2
- package/dist/orchestrator/evaluator-agent.js.map +1 -1
- package/dist/orchestrator/generator-agent.js +3 -3
- package/dist/orchestrator/generator-agent.js.map +1 -1
- package/dist/orchestrator/model-resolver.js +2 -2
- package/dist/orchestrator/model-resolver.js.map +1 -1
- package/dist/orchestrator/pipeline.d.ts +7 -0
- package/dist/orchestrator/pipeline.d.ts.map +1 -1
- package/dist/orchestrator/pipeline.js +67 -28
- package/dist/orchestrator/pipeline.js.map +1 -1
- package/dist/orchestrator/planner-agent.d.ts +21 -1
- package/dist/orchestrator/planner-agent.d.ts.map +1 -1
- package/dist/orchestrator/planner-agent.js +11 -2
- package/dist/orchestrator/planner-agent.js.map +1 -1
- package/dist/state/history.d.ts.map +1 -1
- package/dist/state/history.js +3 -3
- package/dist/state/history.js.map +1 -1
- package/dist/state/plan-state.js +1 -1
- package/dist/state/plan-state.js.map +1 -1
- package/dist/state/sprint-state.d.ts +9 -2
- package/dist/state/sprint-state.d.ts.map +1 -1
- package/dist/state/sprint-state.js +25 -11
- package/dist/state/sprint-state.js.map +1 -1
- package/package.json +2 -1
- package/scripts/migrate-specs.mjs +127 -0
- package/scripts/sync-skills.mjs +96 -0
- package/skills/bober.plan/SKILL.md +41 -0
- package/skills/bober.plan/references/spec-schema.md +31 -4
- package/skills/bober.run/SKILL.md +41 -7
- package/skills/bober.sprint/SKILL.md +6 -259
package/dist/mcp/tools/sprint.js
CHANGED
|
@@ -97,20 +97,20 @@ export function registerSprintTool() {
|
|
|
97
97
|
status: "all-complete",
|
|
98
98
|
message: "All sprints are already completed.",
|
|
99
99
|
contracts: contracts.map((c) => ({
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
contractId: c.contractId,
|
|
101
|
+
title: c.title,
|
|
102
102
|
status: c.status,
|
|
103
103
|
})),
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
106
|
break;
|
|
107
107
|
}
|
|
108
|
-
process.stderr.write(`[bober_sprint] Starting sprint: ${nextSprint.
|
|
108
|
+
process.stderr.write(`[bober_sprint] Starting sprint: ${nextSprint.title} (${nextSprint.contractId})\n`);
|
|
109
109
|
const completedContracts = contracts.filter((c) => c.status === "passed");
|
|
110
110
|
const maxIterations = config.evaluator.maxIterations;
|
|
111
111
|
let currentContract = updateContractStatus(nextSprint, "in-progress");
|
|
112
112
|
await updateContract(projectRoot, currentContract);
|
|
113
|
-
const contractIndex = contracts.findIndex((c) => c.
|
|
113
|
+
const contractIndex = contracts.findIndex((c) => c.contractId === currentContract.contractId);
|
|
114
114
|
if (contractIndex !== -1) {
|
|
115
115
|
contracts[contractIndex] = currentContract;
|
|
116
116
|
}
|
|
@@ -118,7 +118,7 @@ export function registerSprintTool() {
|
|
|
118
118
|
let lastEvalSummary;
|
|
119
119
|
let lastEvalScore;
|
|
120
120
|
for (let iteration = 1; iteration <= maxIterations; iteration++) {
|
|
121
|
-
process.stderr.write(`[bober_sprint] Iteration ${iteration}/${maxIterations} for ${currentContract.
|
|
121
|
+
process.stderr.write(`[bober_sprint] Iteration ${iteration}/${maxIterations} for ${currentContract.contractId}\n`);
|
|
122
122
|
const handoff = createHandoff({
|
|
123
123
|
from: iteration === 1 ? "planner" : "evaluator",
|
|
124
124
|
to: "generator",
|
|
@@ -126,7 +126,7 @@ export function registerSprintTool() {
|
|
|
126
126
|
spec,
|
|
127
127
|
currentContract,
|
|
128
128
|
sprintHistory: completedContracts,
|
|
129
|
-
instructions: `Implement sprint: ${currentContract.
|
|
129
|
+
instructions: `Implement sprint: ${currentContract.title}\n\n${currentContract.description}`,
|
|
130
130
|
issues: currentContract.evaluatorFeedback
|
|
131
131
|
? [currentContract.evaluatorFeedback]
|
|
132
132
|
: [],
|
|
@@ -137,7 +137,7 @@ export function registerSprintTool() {
|
|
|
137
137
|
timestamp: new Date().toISOString(),
|
|
138
138
|
event: "generator-start",
|
|
139
139
|
phase: "generating",
|
|
140
|
-
sprintId: currentContract.
|
|
140
|
+
sprintId: currentContract.contractId,
|
|
141
141
|
details: { iteration },
|
|
142
142
|
});
|
|
143
143
|
const generatorResult = await runGenerator(compactedHandoff, projectRoot, config);
|
|
@@ -158,7 +158,7 @@ export function registerSprintTool() {
|
|
|
158
158
|
// Auto-commit
|
|
159
159
|
if (config.generator.autoCommit) {
|
|
160
160
|
try {
|
|
161
|
-
const hash = await commitAll(projectRoot, `bober: ${currentContract.
|
|
161
|
+
const hash = await commitAll(projectRoot, `bober: ${currentContract.title} (round ${iteration})`);
|
|
162
162
|
process.stderr.write(`[bober_sprint] Committed: ${hash}\n`);
|
|
163
163
|
}
|
|
164
164
|
catch (err) {
|
|
@@ -182,7 +182,7 @@ export function registerSprintTool() {
|
|
|
182
182
|
spec,
|
|
183
183
|
currentContract,
|
|
184
184
|
sprintHistory: completedContracts,
|
|
185
|
-
instructions: `Evaluate sprint: ${currentContract.
|
|
185
|
+
instructions: `Evaluate sprint: ${currentContract.title}`,
|
|
186
186
|
changedFiles,
|
|
187
187
|
});
|
|
188
188
|
const evaluation = await runEvaluatorAgent(evalHandoff, projectRoot, config);
|
|
@@ -214,8 +214,8 @@ export function registerSprintTool() {
|
|
|
214
214
|
contracts[contractIndex] = currentContract;
|
|
215
215
|
}
|
|
216
216
|
results.push({
|
|
217
|
-
contractId: currentContract.
|
|
218
|
-
|
|
217
|
+
contractId: currentContract.contractId,
|
|
218
|
+
title: currentContract.title,
|
|
219
219
|
status: currentContract.status,
|
|
220
220
|
passed: sprintPassed,
|
|
221
221
|
score: lastEvalScore,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sprint.js","sourceRoot":"","sources":["../../../src/mcp/tools/sprint.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sprint.js","sourceRoot":"","sources":["../../../src/mcp/tools/sprint.ts"],"names":[],"mappings":"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"}
|