agent-bober 0.5.1 → 0.6.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 (56) hide show
  1. package/README.md +13 -7
  2. package/agents/bober-evaluator.md +62 -54
  3. package/agents/bober-generator.md +4 -0
  4. package/dist/contracts/eval-result.d.ts +339 -0
  5. package/dist/contracts/eval-result.d.ts.map +1 -1
  6. package/dist/contracts/eval-result.js +36 -0
  7. package/dist/contracts/eval-result.js.map +1 -1
  8. package/dist/evaluators/builtin/playwright.d.ts.map +1 -1
  9. package/dist/evaluators/builtin/playwright.js +50 -15
  10. package/dist/evaluators/builtin/playwright.js.map +1 -1
  11. package/dist/index.d.ts +5 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +4 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/orchestrator/agent-loader.d.ts +26 -0
  16. package/dist/orchestrator/agent-loader.d.ts.map +1 -0
  17. package/dist/orchestrator/agent-loader.js +125 -0
  18. package/dist/orchestrator/agent-loader.js.map +1 -0
  19. package/dist/orchestrator/agentic-loop.d.ts +53 -0
  20. package/dist/orchestrator/agentic-loop.d.ts.map +1 -0
  21. package/dist/orchestrator/agentic-loop.js +145 -0
  22. package/dist/orchestrator/agentic-loop.js.map +1 -0
  23. package/dist/orchestrator/evaluator-agent.d.ts +4 -1
  24. package/dist/orchestrator/evaluator-agent.d.ts.map +1 -1
  25. package/dist/orchestrator/evaluator-agent.js +107 -84
  26. package/dist/orchestrator/evaluator-agent.js.map +1 -1
  27. package/dist/orchestrator/generator-agent.d.ts +14 -2
  28. package/dist/orchestrator/generator-agent.d.ts.map +1 -1
  29. package/dist/orchestrator/generator-agent.js +96 -73
  30. package/dist/orchestrator/generator-agent.js.map +1 -1
  31. package/dist/orchestrator/model-resolver.d.ts +9 -0
  32. package/dist/orchestrator/model-resolver.d.ts.map +1 -0
  33. package/dist/orchestrator/model-resolver.js +21 -0
  34. package/dist/orchestrator/model-resolver.js.map +1 -0
  35. package/dist/orchestrator/pipeline.d.ts.map +1 -1
  36. package/dist/orchestrator/pipeline.js +21 -4
  37. package/dist/orchestrator/pipeline.js.map +1 -1
  38. package/dist/orchestrator/planner-agent.d.ts +3 -2
  39. package/dist/orchestrator/planner-agent.d.ts.map +1 -1
  40. package/dist/orchestrator/planner-agent.js +39 -75
  41. package/dist/orchestrator/planner-agent.js.map +1 -1
  42. package/dist/orchestrator/tools/handlers.d.ts +9 -0
  43. package/dist/orchestrator/tools/handlers.d.ts.map +1 -0
  44. package/dist/orchestrator/tools/handlers.js +279 -0
  45. package/dist/orchestrator/tools/handlers.js.map +1 -0
  46. package/dist/orchestrator/tools/index.d.ts +21 -0
  47. package/dist/orchestrator/tools/index.d.ts.map +1 -0
  48. package/dist/orchestrator/tools/index.js +33 -0
  49. package/dist/orchestrator/tools/index.js.map +1 -0
  50. package/dist/orchestrator/tools/schemas.d.ts +16 -0
  51. package/dist/orchestrator/tools/schemas.d.ts.map +1 -0
  52. package/dist/orchestrator/tools/schemas.js +138 -0
  53. package/dist/orchestrator/tools/schemas.js.map +1 -0
  54. package/package.json +1 -1
  55. package/templates/presets/nextjs/bober.config.json +1 -1
  56. package/templates/presets/react-vite/bober.config.json +1 -1
@@ -10,6 +10,35 @@ export const EvalDetailSchema = z.object({
10
10
  line: z.number().int().optional(),
11
11
  severity: SeveritySchema,
12
12
  });
13
+ // ── Structured feedback types (for enriched results) ────────────────
14
+ export const CriterionResultSchema = z.object({
15
+ criterionId: z.string(),
16
+ description: z.string(),
17
+ required: z.boolean(),
18
+ result: z.enum(["pass", "fail", "skipped"]),
19
+ evidence: z.string().optional(),
20
+ feedback: z.string().optional(),
21
+ });
22
+ export const RegressionSchema = z.object({
23
+ description: z.string(),
24
+ evidence: z.string(),
25
+ severity: z.enum(["critical", "major", "minor"]),
26
+ });
27
+ export const GeneratorFeedbackItemSchema = z.object({
28
+ priority: z.enum(["critical", "high", "medium", "low"]),
29
+ category: z.enum([
30
+ "bug",
31
+ "missing-feature",
32
+ "regression",
33
+ "quality",
34
+ "performance",
35
+ ]),
36
+ file: z.string().optional(),
37
+ line: z.number().optional(),
38
+ description: z.string(),
39
+ expected: z.string().optional(),
40
+ reproduction: z.string().optional(),
41
+ });
13
42
  // ── Eval Result ─────────────────────────────────────────────────────
14
43
  export const EvalResultSchema = z.object({
15
44
  evaluator: z.string().min(1),
@@ -19,6 +48,13 @@ export const EvalResultSchema = z.object({
19
48
  summary: z.string(),
20
49
  feedback: z.string(),
21
50
  timestamp: z.string().datetime(),
51
+ // Enriched fields (optional, populated by agent evaluator)
52
+ iteration: z.number().int().min(1).optional(),
53
+ contractId: z.string().optional(),
54
+ criteriaResults: z.array(CriterionResultSchema).optional(),
55
+ regressions: z.array(RegressionSchema).optional(),
56
+ designScore: z.number().min(0).max(100).optional(),
57
+ generatorFeedback: z.array(GeneratorFeedbackItemSchema).optional(),
22
58
  });
23
59
  // ── Sprint Evaluation ───────────────────────────────────────────────
24
60
  export const SprintEvaluationSchema = z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"eval-result.js","sourceRoot":"","sources":["../../src/contracts/eval-result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eval-result.js","sourceRoot":"","sources":["../../src/contracts/eval-result.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../../../src/evaluators/builtin/playwright.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,UAAU,EAEV,WAAW,EACZ,MAAM,wBAAwB,CAAC;AA8QhC,qBAAa,mBAAoB,YAAW,eAAe;IACzD,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,WAAW,2DAA2D;IAEzE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAyEzD;;;OAGG;YACW,kBAAkB;YAYlB,aAAa;IA2E3B;;;;OAIG;YACW,mBAAmB;YAsBnB,eAAe;IAkF7B,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,WAAW;CAmCpB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,eAAe,CAE3D"}
1
+ {"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../../../src/evaluators/builtin/playwright.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,UAAU,EAEV,WAAW,EACZ,MAAM,wBAAwB,CAAC;AA8QhC,qBAAa,mBAAoB,YAAW,eAAe;IACzD,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,WAAW,2DAA2D;IAEzE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAgHzD;;;OAGG;YACW,kBAAkB;YAYlB,aAAa;IA2E3B;;;;OAIG;YACW,mBAAmB;YAsBnB,eAAe;IAkF7B,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,WAAW;CAmCpB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,eAAe,CAE3D"}
@@ -199,14 +199,27 @@ export class PlaywrightEvaluator {
199
199
  const timestamp = new Date().toISOString();
200
200
  const timeout = strategy.config?.timeout ?? DEFAULT_TIMEOUT_MS;
201
201
  // Check if Playwright is installed at all
202
+ // When strategy is required, missing prerequisites = FAIL (not skip)
203
+ const isRequired = strategy.required;
202
204
  if (!(await hasPlaywright(projectRoot))) {
203
205
  return {
204
206
  evaluator: this.name,
205
- passed: true,
206
- score: undefined,
207
- details: [],
208
- summary: "Playwright not installed. Skipped.",
209
- feedback: "Playwright is not installed in this project. Run /bober-playwright setup to initialize. Marked as skipped, not failed.",
207
+ passed: !isRequired,
208
+ score: isRequired ? 0 : undefined,
209
+ details: isRequired
210
+ ? [
211
+ {
212
+ criterion: "Playwright installation",
213
+ passed: false,
214
+ message: "Playwright is configured as a required evaluation strategy but is not installed.",
215
+ severity: "error",
216
+ },
217
+ ]
218
+ : [],
219
+ summary: isRequired
220
+ ? "FAIL: Playwright is required but not installed."
221
+ : "Playwright not installed. Skipped.",
222
+ feedback: "Playwright is not installed in this project. Run /bober-playwright setup to initialize.",
210
223
  timestamp,
211
224
  };
212
225
  }
@@ -214,11 +227,22 @@ export class PlaywrightEvaluator {
214
227
  if (!(await hasPlaywrightConfig(projectRoot))) {
215
228
  return {
216
229
  evaluator: this.name,
217
- passed: true,
218
- score: undefined,
219
- details: [],
220
- summary: "Playwright config not found. Skipped.",
221
- feedback: "No playwright.config.ts found. Run /bober-playwright setup to create one. Marked as skipped, not failed.",
230
+ passed: !isRequired,
231
+ score: isRequired ? 0 : undefined,
232
+ details: isRequired
233
+ ? [
234
+ {
235
+ criterion: "Playwright config",
236
+ passed: false,
237
+ message: "Playwright is configured as a required strategy but no playwright.config.ts was found.",
238
+ severity: "error",
239
+ },
240
+ ]
241
+ : [],
242
+ summary: isRequired
243
+ ? "FAIL: Playwright is required but config is missing."
244
+ : "Playwright config not found. Skipped.",
245
+ feedback: "No playwright.config.ts found. Run /bober-playwright setup to create one.",
222
246
  timestamp,
223
247
  };
224
248
  }
@@ -226,11 +250,22 @@ export class PlaywrightEvaluator {
226
250
  if (!(await hasE2eTests(projectRoot))) {
227
251
  return {
228
252
  evaluator: this.name,
229
- passed: true,
230
- score: undefined,
231
- details: [],
232
- summary: "No E2E test files found. Skipped.",
233
- feedback: "No test files found in e2e/ directory. Use /bober-playwright to generate tests. Marked as skipped, not failed.",
253
+ passed: !isRequired,
254
+ score: isRequired ? 0 : undefined,
255
+ details: isRequired
256
+ ? [
257
+ {
258
+ criterion: "E2E test files",
259
+ passed: false,
260
+ message: "Playwright is configured as a required strategy but no E2E test files exist in e2e/ directory.",
261
+ severity: "error",
262
+ },
263
+ ]
264
+ : [],
265
+ summary: isRequired
266
+ ? "FAIL: Playwright is required but no E2E tests exist."
267
+ : "No E2E test files found. Skipped.",
268
+ feedback: "No test files found in e2e/ directory. The generator must create Playwright tests.",
234
269
  timestamp,
235
270
  };
236
271
  }
@@ -1 +1 @@
1
- {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../../../src/evaluators/builtin/playwright.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../../../src/evaluators/builtin/playwright.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,12 +3,16 @@ export { loadConfig, configExists } from "./config/loader.js";
3
3
  export { getDefaults, getPresetNames } from "./config/defaults.js";
4
4
  export { type SprintContract, type SuccessCriterion, type ContractStatus, createContract, updateContractStatus, } from "./contracts/sprint-contract.js";
5
5
  export { type PlanSpec, type FeatureSpec, createSpec, } from "./contracts/spec.js";
6
- export { type EvalResult, type EvalDetail, type SprintEvaluation as ContractSprintEvaluation, aggregateResults, formatFeedback, } from "./contracts/eval-result.js";
6
+ export { type EvalResult, type EvalDetail, type CriterionResult, type Regression, type GeneratorFeedbackItem, type SprintEvaluation as ContractSprintEvaluation, aggregateResults, formatFeedback, } from "./contracts/eval-result.js";
7
7
  export { type ContextHandoff, type Decision, type ProjectContext, createHandoff, serializeHandoff, summarizeOlderSprints, } from "./orchestrator/context-handoff.js";
8
8
  export { runPlanner } from "./orchestrator/planner-agent.js";
9
9
  export { runGenerator, type GeneratorResult, } from "./orchestrator/generator-agent.js";
10
10
  export { runEvaluatorAgent } from "./orchestrator/evaluator-agent.js";
11
11
  export { runPipeline, type PipelineResult, } from "./orchestrator/pipeline.js";
12
+ export { resolveModel } from "./orchestrator/model-resolver.js";
13
+ export { loadAgentDefinition, clearAgentCache, type AgentDefinition, } from "./orchestrator/agent-loader.js";
14
+ export { buildToolSet, type ToolSet, type AgentRole, } from "./orchestrator/tools/index.js";
15
+ export { runAgenticLoop, type AgenticLoopParams, type AgenticLoopResult, } from "./orchestrator/agentic-loop.js";
12
16
  export { EvaluatorRegistry, createDefaultRegistry, runEvaluation, type EvaluationRunResult, } from "./evaluators/registry.js";
13
17
  export type { EvaluatorPlugin, EvaluatorFactory, EvalContext, } from "./evaluators/plugin-interface.js";
14
18
  export { ensureBoberDir, saveContract, loadContract, listContracts, updateContract, saveSpec, loadSpec, loadLatestSpec, listSpecs, appendHistory, loadHistory, } from "./state/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAInE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,cAAc,EACd,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,IAAI,wBAAwB,EACjD,gBAAgB,EAChB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EACL,YAAY,EACZ,KAAK,eAAe,GACrB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EACL,WAAW,EACX,KAAK,cAAc,GACpB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,KAAK,mBAAmB,GACzB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,GACZ,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,SAAS,EACT,aAAa,EACb,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAInE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,cAAc,EACd,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,IAAI,wBAAwB,EACjD,gBAAgB,EAChB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EACL,YAAY,EACZ,KAAK,eAAe,GACrB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EACL,WAAW,EACX,KAAK,cAAc,GACpB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,KAAK,eAAe,GACrB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,YAAY,EACZ,KAAK,OAAO,EACZ,KAAK,SAAS,GACf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,KAAK,mBAAmB,GACzB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,GACZ,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,SAAS,EACT,aAAa,EACb,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -12,6 +12,10 @@ export { runPlanner } from "./orchestrator/planner-agent.js";
12
12
  export { runGenerator, } from "./orchestrator/generator-agent.js";
13
13
  export { runEvaluatorAgent } from "./orchestrator/evaluator-agent.js";
14
14
  export { runPipeline, } from "./orchestrator/pipeline.js";
15
+ export { resolveModel } from "./orchestrator/model-resolver.js";
16
+ export { loadAgentDefinition, clearAgentCache, } from "./orchestrator/agent-loader.js";
17
+ export { buildToolSet, } from "./orchestrator/tools/index.js";
18
+ export { runAgenticLoop, } from "./orchestrator/agentic-loop.js";
15
19
  // ── Evaluators ─────────────────────────────────────────────────────
16
20
  export { EvaluatorRegistry, createDefaultRegistry, runEvaluation, } from "./evaluators/registry.js";
17
21
  // ── State ──────────────────────────────────────────────────────────
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAOL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEnE,sEAAsE;AAEtE,OAAO,EAIL,cAAc,EACd,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAGL,UAAU,GACX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAIL,gBAAgB,EAChB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAEpC,sEAAsE;AAEtE,OAAO,EAIL,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EACL,YAAY,GAEb,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EACL,WAAW,GAEZ,MAAM,4BAA4B,CAAC;AAEpC,sEAAsE;AAEtE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,GAEd,MAAM,0BAA0B,CAAC;AAQlC,sEAAsE;AAEtE,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,SAAS,EACT,aAAa,EACb,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,sEAAsE;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAOL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEnE,sEAAsE;AAEtE,OAAO,EAIL,cAAc,EACd,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAGL,UAAU,GACX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAOL,gBAAgB,EAChB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAEpC,sEAAsE;AAEtE,OAAO,EAIL,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EACL,YAAY,GAEb,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EACL,WAAW,GAEZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EACL,mBAAmB,EACnB,eAAe,GAEhB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,YAAY,GAGb,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,cAAc,GAGf,MAAM,gCAAgC,CAAC;AAExC,sEAAsE;AAEtE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,GAEd,MAAM,0BAA0B,CAAC;AAQlC,sEAAsE;AAEtE,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,SAAS,EACT,aAAa,EACb,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,sEAAsE;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,26 @@
1
+ export interface AgentDefinition {
2
+ /** Agent name from frontmatter. */
3
+ name: string;
4
+ /** One-line description from frontmatter. */
5
+ description: string;
6
+ /** Tool names listed in frontmatter (e.g. ["Read", "Write", "Bash"]). */
7
+ tools: string[];
8
+ /** Preferred model from frontmatter (e.g. "opus", "sonnet"). */
9
+ model: string;
10
+ /** The full markdown body after frontmatter — used as system prompt. */
11
+ systemPrompt: string;
12
+ }
13
+ /**
14
+ * Load an agent definition from its .md file.
15
+ *
16
+ * @param agentName The agent name (e.g. "bober-planner", "bober-generator").
17
+ * @param projectRoot Optional project root for local overrides.
18
+ * @returns The parsed AgentDefinition.
19
+ * @throws If the agent file cannot be found.
20
+ */
21
+ export declare function loadAgentDefinition(agentName: string, projectRoot?: string): Promise<AgentDefinition>;
22
+ /**
23
+ * Clear the agent definition cache. Useful for testing.
24
+ */
25
+ export declare function clearAgentCache(): void;
26
+ //# sourceMappingURL=agent-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-loader.d.ts","sourceRoot":"","sources":["../../src/orchestrator/agent-loader.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;CACtB;AA+GD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,CAAC,CA2B1B;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
@@ -0,0 +1,125 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { join, dirname } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { fileExists } from "../utils/fs.js";
5
+ // ── Cache ──────────────────────────────────────────────────────────
6
+ const cache = new Map();
7
+ // ── Frontmatter parser ─────────────────────────────────────────────
8
+ /**
9
+ * Parse simple YAML frontmatter from an agent .md file.
10
+ * Handles both flow sequences `[A, B]` and block sequences `- A\n- B`.
11
+ */
12
+ function parseFrontmatter(raw) {
13
+ const match = raw.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n([\s\S]*)$/);
14
+ if (!match) {
15
+ return { meta: {}, body: raw };
16
+ }
17
+ const [, yamlBlock, body] = match;
18
+ const meta = {};
19
+ let currentKey = null;
20
+ let currentList = null;
21
+ for (const line of yamlBlock.split("\n")) {
22
+ const trimmed = line.trim();
23
+ // Block sequence item (e.g. " - Read")
24
+ if (trimmed.startsWith("- ") && currentKey && currentList) {
25
+ currentList.push(trimmed.slice(2).trim());
26
+ continue;
27
+ }
28
+ // Flush any pending list
29
+ if (currentKey && currentList) {
30
+ meta[currentKey] = currentList;
31
+ currentKey = null;
32
+ currentList = null;
33
+ }
34
+ // Key-value pair
35
+ const kvMatch = trimmed.match(/^(\w[\w-]*):\s*(.*)$/);
36
+ if (!kvMatch)
37
+ continue;
38
+ const [, key, value] = kvMatch;
39
+ if (!value) {
40
+ // Start of a block sequence (value on next lines)
41
+ currentKey = key;
42
+ currentList = [];
43
+ continue;
44
+ }
45
+ // Flow sequence (e.g. "[Read, Write, Bash]")
46
+ const flowMatch = value.match(/^\[([^\]]*)\]$/);
47
+ if (flowMatch) {
48
+ meta[key] = flowMatch[1]
49
+ .split(",")
50
+ .map((s) => s.trim())
51
+ .filter(Boolean);
52
+ continue;
53
+ }
54
+ // Scalar value
55
+ meta[key] = value;
56
+ }
57
+ // Flush trailing list
58
+ if (currentKey && currentList) {
59
+ meta[currentKey] = currentList;
60
+ }
61
+ return { meta, body };
62
+ }
63
+ // ── Loader ─────────────────────────────────────────────────────────
64
+ /**
65
+ * Resolve the path to an agent definition file.
66
+ *
67
+ * Resolution order:
68
+ * 1. `<projectRoot>/agents/<agentName>.md` (project-local override)
69
+ * 2. Bundled default from the package's `agents/` directory
70
+ */
71
+ async function resolveAgentPath(agentName, projectRoot) {
72
+ // 1. Project-local
73
+ if (projectRoot) {
74
+ const localPath = join(projectRoot, "agents", `${agentName}.md`);
75
+ if (await fileExists(localPath)) {
76
+ return localPath;
77
+ }
78
+ }
79
+ // 2. Bundled with the package
80
+ const currentDir = dirname(fileURLToPath(import.meta.url));
81
+ // src/orchestrator/ -> package root is ../../
82
+ const packageRoot = join(currentDir, "..", "..");
83
+ const bundledPath = join(packageRoot, "agents", `${agentName}.md`);
84
+ if (await fileExists(bundledPath)) {
85
+ return bundledPath;
86
+ }
87
+ return null;
88
+ }
89
+ /**
90
+ * Load an agent definition from its .md file.
91
+ *
92
+ * @param agentName The agent name (e.g. "bober-planner", "bober-generator").
93
+ * @param projectRoot Optional project root for local overrides.
94
+ * @returns The parsed AgentDefinition.
95
+ * @throws If the agent file cannot be found.
96
+ */
97
+ export async function loadAgentDefinition(agentName, projectRoot) {
98
+ const cacheKey = `${projectRoot ?? ""}:${agentName}`;
99
+ const cached = cache.get(cacheKey);
100
+ if (cached)
101
+ return cached;
102
+ const agentPath = await resolveAgentPath(agentName, projectRoot);
103
+ if (!agentPath) {
104
+ throw new Error(`Agent definition not found: "${agentName}". ` +
105
+ `Looked in ${projectRoot ? `${projectRoot}/agents/ and ` : ""}the bundled agents/ directory.`);
106
+ }
107
+ const raw = await readFile(agentPath, "utf-8");
108
+ const { meta, body } = parseFrontmatter(raw);
109
+ const definition = {
110
+ name: typeof meta.name === "string" ? meta.name : agentName,
111
+ description: typeof meta.description === "string" ? meta.description : "",
112
+ tools: Array.isArray(meta.tools) ? meta.tools : [],
113
+ model: typeof meta.model === "string" ? meta.model : "sonnet",
114
+ systemPrompt: body.trim(),
115
+ };
116
+ cache.set(cacheKey, definition);
117
+ return definition;
118
+ }
119
+ /**
120
+ * Clear the agent definition cache. Useful for testing.
121
+ */
122
+ export function clearAgentCache() {
123
+ cache.clear();
124
+ }
125
+ //# sourceMappingURL=agent-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-loader.js","sourceRoot":"","sources":["../../src/orchestrator/agent-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type Anthropic from "@anthropic-ai/sdk";
2
+ import type { ToolHandler } from "./tools/index.js";
3
+ type Tool = Anthropic.Messages.Tool;
4
+ export interface AgenticLoopParams {
5
+ /** Anthropic SDK client instance. */
6
+ client: Anthropic;
7
+ /** Model ID (resolved via model-resolver). */
8
+ model: string;
9
+ /** System prompt (loaded from agent .md file). */
10
+ systemPrompt: string;
11
+ /** Initial user message (task description, handoff, etc.). */
12
+ userMessage: string;
13
+ /** Tool schemas to pass to the API. */
14
+ tools: Tool[];
15
+ /** Handler functions for each tool, keyed by name. */
16
+ toolHandlers: Map<string, ToolHandler>;
17
+ /** Max tool-use round trips before stopping. */
18
+ maxTurns: number;
19
+ /** Per-message max_tokens. Defaults to 16384. */
20
+ maxTokens?: number;
21
+ /** Called when the model invokes a tool (for logging/progress). */
22
+ onToolUse?: (name: string, input: unknown) => void;
23
+ /** Called after each completed turn (for progress tracking). */
24
+ onTurnComplete?: (turn: number, toolsCalled: string[]) => void;
25
+ }
26
+ export interface AgenticLoopResult {
27
+ /** The final text response from the model. */
28
+ finalText: string;
29
+ /** Total tool-use round trips completed. */
30
+ turnsUsed: number;
31
+ /** Names of all tools called across all turns. */
32
+ toolsCalled: string[];
33
+ /** Cumulative token usage. */
34
+ usage: {
35
+ inputTokens: number;
36
+ outputTokens: number;
37
+ };
38
+ /** The stop reason of the final API response. */
39
+ stopReason: string;
40
+ }
41
+ /**
42
+ * Run a multi-turn agentic conversation loop.
43
+ *
44
+ * The loop sends the initial user message, then iterates: if the model
45
+ * responds with tool_use, we execute the tools and feed results back.
46
+ * This continues until the model stops requesting tools or maxTurns
47
+ * is exceeded.
48
+ *
49
+ * @returns The final text response and metadata about the conversation.
50
+ */
51
+ export declare function runAgenticLoop(params: AgenticLoopParams): Promise<AgenticLoopResult>;
52
+ export {};
53
+ //# sourceMappingURL=agentic-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentic-loop.d.ts","sourceRoot":"","sources":["../../src/orchestrator/agentic-loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKpD,KAAK,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;AAKpC,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,MAAM,EAAE,SAAS,CAAC;IAClB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,sDAAsD;IACtD,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,gEAAgE;IAChE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAChE;AAED,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,8BAA8B;IAC9B,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAeD;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CA2J5B"}