@burtson-labs/agent-core 1.6.48 → 1.6.49

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/dist/index.d.ts CHANGED
@@ -15,6 +15,7 @@ export * from './tools';
15
15
  export * from './graph';
16
16
  export * from './suggestions';
17
17
  export * from './lessons';
18
+ export * from './spec';
18
19
  export * from './mcp';
19
20
  export { redactSecrets, redactSecretsString, BUILTIN_SECRET_PATTERNS, type SecretPattern, type RedactionResult } from './security/secretPatterns';
20
21
  export { TelemetryExporter, resolveTelemetryConfig, TTFT_BUCKETS, DURATION_BUCKETS, type TelemetryConfig } from './telemetry/otlpExporter';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,yBAA0B,SAAQ,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IAC/F,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,eAAO,MAAM,kBAAkB,GAAI,UAAS,yBAA8B,KAAG,YAO5E,CAAC;AAGF,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAExB,cAAc,eAAe,CAAC;AAE9B,cAAc,WAAW,CAAC;AAK1B,cAAc,OAAO,CAAC;AAKtB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,yBAA0B,SAAQ,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IAC/F,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,eAAO,MAAM,kBAAkB,GAAI,UAAS,yBAA8B,KAAG,YAO5E,CAAC;AAGF,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAExB,cAAc,eAAe,CAAC;AAE9B,cAAc,WAAW,CAAC;AAE1B,cAAc,QAAQ,CAAC;AAKvB,cAAc,OAAO,CAAC;AAKtB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -45,6 +45,8 @@ __exportStar(require("./graph"), exports);
45
45
  __exportStar(require("./suggestions"), exports);
46
46
  // Learning memory — distill durable repo lessons from turns (host stores them).
47
47
  __exportStar(require("./lessons"), exports);
48
+ // Spec-driven development — spec markdown → graph plan (criteria = contracts).
49
+ __exportStar(require("./spec"), exports);
48
50
  // MCP — Model Context Protocol client (Phase 1: groundwork). See
49
51
  // docs/integration-playlist/mcp-roadmap.md. Off by default — hosts
50
52
  // that don't construct an McpClientPool get zero behavior change.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,yDAAsD;AACtD,+EAAiF;AAGjF,gDAA8B;AAC9B,gDAA8B;AAC9B,uCAAkD;AAAzC,0GAAA,iBAAiB,OAAA;AAE1B,+DAIqC;AADnC,oHAAA,iBAAiB,OAAA;AAGnB,6EAG4C;AAF1C,qIAAA,2BAA2B,OAAA;AAI7B,uDAUgC;AAT9B,4GAAA,YAAY,OAAA;AAeP,MAAM,kBAAkB,GAAG,CAAC,UAAqC,EAAE,EAAgB,EAAE;IAC1F,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,QAAQ,GAAG,gBAAgB,IAAI,IAAI,oDAA2B,EAAE,CAAC;IACvE,OAAO,IAAI,2BAAY,CAAC;QACtB,QAAQ;QACR,GAAI,IAA8C;KACnD,CAAC,CAAC;AACL,CAAC,CAAC;AAPW,QAAA,kBAAkB,sBAO7B;AAEF,cAAc;AACd,0CAAwB;AACxB,uEAAuE;AACvE,8EAA8E;AAC9E,0CAAwB;AACxB,gEAAgE;AAChE,gDAA8B;AAC9B,gFAAgF;AAChF,4CAA0B;AAE1B,iEAAiE;AACjE,mEAAmE;AACnE,kEAAkE;AAClE,wCAAsB;AAEtB,wDAAwD;AACxD,mEAAmE;AACnE,4CAA4C;AAC5C,4DAMmC;AALjC,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA;AACnB,yHAAA,uBAAuB,OAAA;AAKzB,iFAAiF;AACjF,iFAAiF;AACjF,yDAMkC;AALhC,iHAAA,iBAAiB,OAAA;AACjB,sHAAA,sBAAsB,OAAA;AACtB,4GAAA,YAAY,OAAA;AACZ,gHAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,yDAAsD;AACtD,+EAAiF;AAGjF,gDAA8B;AAC9B,gDAA8B;AAC9B,uCAAkD;AAAzC,0GAAA,iBAAiB,OAAA;AAE1B,+DAIqC;AADnC,oHAAA,iBAAiB,OAAA;AAGnB,6EAG4C;AAF1C,qIAAA,2BAA2B,OAAA;AAI7B,uDAUgC;AAT9B,4GAAA,YAAY,OAAA;AAeP,MAAM,kBAAkB,GAAG,CAAC,UAAqC,EAAE,EAAgB,EAAE;IAC1F,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,QAAQ,GAAG,gBAAgB,IAAI,IAAI,oDAA2B,EAAE,CAAC;IACvE,OAAO,IAAI,2BAAY,CAAC;QACtB,QAAQ;QACR,GAAI,IAA8C;KACnD,CAAC,CAAC;AACL,CAAC,CAAC;AAPW,QAAA,kBAAkB,sBAO7B;AAEF,cAAc;AACd,0CAAwB;AACxB,uEAAuE;AACvE,8EAA8E;AAC9E,0CAAwB;AACxB,gEAAgE;AAChE,gDAA8B;AAC9B,gFAAgF;AAChF,4CAA0B;AAC1B,+EAA+E;AAC/E,yCAAuB;AAEvB,iEAAiE;AACjE,mEAAmE;AACnE,kEAAkE;AAClE,wCAAsB;AAEtB,wDAAwD;AACxD,mEAAmE;AACnE,4CAA4C;AAC5C,4DAMmC;AALjC,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA;AACnB,yHAAA,uBAAuB,OAAA;AAKzB,iFAAiF;AACjF,iFAAiF;AACjF,yDAMkC;AALhC,iHAAA,iBAAiB,OAAA;AACjB,sHAAA,sBAAsB,OAAA;AACtB,4GAAA,YAAY,OAAA;AACZ,gHAAA,gBAAgB,OAAA"}
package/dist/spec.d.ts ADDED
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Spec-driven development — the shared core.
3
+ *
4
+ * A spec is a durable, human-written markdown artifact: a goal plus explicit
5
+ * acceptance criteria. It's the most leveraged thing a person can produce when
6
+ * an agent writes the code. This module turns that spec into a GRAPH PLAN:
7
+ * the planner (Phase 9) proposes nodes that implement the spec, and the
8
+ * acceptance criteria become the run's verification — the same completion-
9
+ * contract / verification-node machinery the graph runtime already enforces.
10
+ *
11
+ * So spec-driven dev here is a COMPOSITION, not a new engine: spec → planner →
12
+ * graph → contracts-as-acceptance-criteria. This file is pure (parse + prompt
13
+ * building), mirroring the planner/suggestions/lessons split; the host reads
14
+ * the file, runs the graph, and checks the criteria.
15
+ */
16
+ export interface SpecDoc {
17
+ /** Title (the `# heading`). */
18
+ title: string;
19
+ /** The goal paragraph(s) under `## Goal`. */
20
+ goal: string;
21
+ /** Acceptance criteria (bullets/checkboxes under `## Acceptance criteria`).
22
+ * These become the run's verification targets. */
23
+ criteria: string[];
24
+ /** Files/paths named under `## Context` (bias the plan toward real work). */
25
+ context: string[];
26
+ /** Hard constraints under `## Constraints` ("don't touch the public API"). */
27
+ constraints: string[];
28
+ }
29
+ /** A blank spec to scaffold with `bandit spec new`. */
30
+ export declare function specTemplate(title: string): string;
31
+ /**
32
+ * Parse a structured markdown spec. Lenient: a bare goal with no headings is
33
+ * treated as the goal; missing sections yield empty arrays. Checkbox markers
34
+ * (`- [ ]` / `- [x]`) and plain bullets both count as criteria.
35
+ */
36
+ export declare function parseSpec(markdown: string): SpecDoc;
37
+ export interface SpecValidation {
38
+ ok: boolean;
39
+ errors: string[];
40
+ }
41
+ /** A spec is runnable only if it has a goal and at least one criterion. */
42
+ export declare function validateSpec(spec: SpecDoc): SpecValidation;
43
+ /**
44
+ * Build the planner prompt for a spec. It asks for the SAME GraphProposal JSON
45
+ * the planner already emits (so parseGraphProposal validates it), but seeded
46
+ * with the spec: implementation nodes for the work, then a final verification
47
+ * node whose job is to check every acceptance criterion. The host maps that
48
+ * final node to a completion contract, so "did we meet the spec?" is enforced
49
+ * by the graph runtime, not asserted in prose.
50
+ */
51
+ export declare function buildSpecPlanPrompt(spec: SpecDoc, maxNodes?: number): string;
52
+ //# sourceMappingURL=spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,OAAO;IACtB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb;uDACmD;IACnD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBlD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAkDnD;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAK1D;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,SAAI,GAAG,MAAM,CAyBvE"}
package/dist/spec.js ADDED
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ /**
3
+ * Spec-driven development — the shared core.
4
+ *
5
+ * A spec is a durable, human-written markdown artifact: a goal plus explicit
6
+ * acceptance criteria. It's the most leveraged thing a person can produce when
7
+ * an agent writes the code. This module turns that spec into a GRAPH PLAN:
8
+ * the planner (Phase 9) proposes nodes that implement the spec, and the
9
+ * acceptance criteria become the run's verification — the same completion-
10
+ * contract / verification-node machinery the graph runtime already enforces.
11
+ *
12
+ * So spec-driven dev here is a COMPOSITION, not a new engine: spec → planner →
13
+ * graph → contracts-as-acceptance-criteria. This file is pure (parse + prompt
14
+ * building), mirroring the planner/suggestions/lessons split; the host reads
15
+ * the file, runs the graph, and checks the criteria.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.specTemplate = specTemplate;
19
+ exports.parseSpec = parseSpec;
20
+ exports.validateSpec = validateSpec;
21
+ exports.buildSpecPlanPrompt = buildSpecPlanPrompt;
22
+ /** A blank spec to scaffold with `bandit spec new`. */
23
+ function specTemplate(title) {
24
+ const t = title.trim() || 'Untitled feature';
25
+ return [
26
+ `# ${t}`,
27
+ '',
28
+ '## Goal',
29
+ '<One short paragraph: what should be true when this is done, and why.>',
30
+ '',
31
+ '## Acceptance criteria',
32
+ '- [ ] <A concrete, checkable outcome — e.g. "GET /health returns 200 with {status:\'ok\'}">',
33
+ '- [ ] <Another — keep each one independently verifiable>',
34
+ '',
35
+ '## Context',
36
+ '- <path/to/relevant/file.ts>',
37
+ '',
38
+ '## Constraints',
39
+ '- <e.g. "Do not change the public API in src/index.ts">',
40
+ ''
41
+ ].join('\n');
42
+ }
43
+ /**
44
+ * Parse a structured markdown spec. Lenient: a bare goal with no headings is
45
+ * treated as the goal; missing sections yield empty arrays. Checkbox markers
46
+ * (`- [ ]` / `- [x]`) and plain bullets both count as criteria.
47
+ */
48
+ function parseSpec(markdown) {
49
+ const lines = markdown.replace(/\r\n/g, '\n').split('\n');
50
+ let title = '';
51
+ const sections = new Map();
52
+ let current = 'goal'; // text before the first heading is the goal
53
+ for (const line of lines) {
54
+ const h1 = /^#\s+(.+)$/.exec(line);
55
+ const h2 = /^##\s+(.+)$/.exec(line);
56
+ if (h1 && !title) {
57
+ title = h1[1].trim();
58
+ continue;
59
+ }
60
+ if (h2) {
61
+ current = h2[1].trim().toLowerCase();
62
+ if (!sections.has(current))
63
+ sections.set(current, []);
64
+ continue;
65
+ }
66
+ const bucket = sections.get(current) ?? [];
67
+ bucket.push(line);
68
+ sections.set(current, bucket);
69
+ }
70
+ const bullets = (key) => (sections.get(key) ?? [])
71
+ .map((l) => l.trim())
72
+ .map((l) => l.replace(/^[-*]\s+(\[[ xX]\]\s*)?/, '')) // strip bullet + optional checkbox
73
+ .filter((l) => l.length > 0 && !/^<.*>$/.test(l)); // drop empties + template placeholders
74
+ const paragraph = (key) => (sections.get(key) ?? [])
75
+ .map((l) => l.trim())
76
+ .filter((l) => l.length > 0 && !/^<.*>$/.test(l))
77
+ .join(' ')
78
+ .trim();
79
+ // Accept a few heading aliases people actually type.
80
+ const criteria = bullets('acceptance criteria').length
81
+ ? bullets('acceptance criteria')
82
+ : bullets('criteria').length
83
+ ? bullets('criteria')
84
+ : bullets('requirements');
85
+ return {
86
+ title: title || 'Untitled spec',
87
+ goal: paragraph('goal'),
88
+ criteria,
89
+ context: bullets('context'),
90
+ constraints: bullets('constraints')
91
+ };
92
+ }
93
+ /** A spec is runnable only if it has a goal and at least one criterion. */
94
+ function validateSpec(spec) {
95
+ const errors = [];
96
+ if (!spec.goal.trim())
97
+ errors.push('spec has no ## Goal');
98
+ if (spec.criteria.length === 0)
99
+ errors.push('spec has no ## Acceptance criteria (need at least one checkable outcome)');
100
+ return { ok: errors.length === 0, errors };
101
+ }
102
+ /**
103
+ * Build the planner prompt for a spec. It asks for the SAME GraphProposal JSON
104
+ * the planner already emits (so parseGraphProposal validates it), but seeded
105
+ * with the spec: implementation nodes for the work, then a final verification
106
+ * node whose job is to check every acceptance criterion. The host maps that
107
+ * final node to a completion contract, so "did we meet the spec?" is enforced
108
+ * by the graph runtime, not asserted in prose.
109
+ */
110
+ function buildSpecPlanPrompt(spec, maxNodes = 6) {
111
+ const criteria = spec.criteria.map((c, i) => ` ${i + 1}. ${c}`).join('\n');
112
+ const context = spec.context.length ? `\nRelevant files:\n${spec.context.map((c) => ` - ${c}`).join('\n')}` : '';
113
+ const constraints = spec.constraints.length ? `\nConstraints (must honor):\n${spec.constraints.map((c) => ` - ${c}`).join('\n')}` : '';
114
+ return [
115
+ `You are planning how to implement a SPEC as a dependency graph. Output ONE JSON object in a \`\`\`json fence and nothing else.`,
116
+ '',
117
+ `Spec: ${spec.title}`,
118
+ `Goal: ${spec.goal}`,
119
+ '',
120
+ 'Acceptance criteria (the definition of done):',
121
+ criteria,
122
+ context,
123
+ constraints,
124
+ '',
125
+ 'JSON shape (same as the planner):',
126
+ '{"kind":"graph","reason":"one sentence","nodes":[{"id":"kebab-case","label":"short","prompt":"self-contained instruction","dependsOn":["other-id"],"readOnly":false}]}',
127
+ '',
128
+ 'Rules:',
129
+ `- Always "kind":"graph". Use 2-${maxNodes} nodes.`,
130
+ '- Early nodes do the implementation work, split by concern; ids kebab-case + unique; dependsOn lists only earlier ids; no cycles.',
131
+ '- The LAST node must be a verification node that depends on the others and checks EVERY acceptance criterion is satisfied, reporting per-criterion pass/fail. Give it id "verify-spec".',
132
+ '- Each node prompt is self-contained (its reader sees only that prompt + its dependencies\' results). Reference the specific criteria a node addresses.',
133
+ '- Mark investigation/verification nodes "readOnly": true.'
134
+ ].filter((l) => l !== '').join('\n');
135
+ }
136
+ //# sourceMappingURL=spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burtson-labs/agent-core",
3
- "version": "1.6.48",
3
+ "version": "1.6.49",
4
4
  "author": {
5
5
  "name": "Burtson Labs",
6
6
  "email": "team@burtson.ai",