@brad-frost-web/eddie-brain 0.32.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 (239) hide show
  1. package/README.md +109 -0
  2. package/dist/analyze/drift-detector.d.ts +30 -0
  3. package/dist/analyze/drift-detector.d.ts.map +1 -0
  4. package/dist/analyze/drift-detector.js +310 -0
  5. package/dist/analyze/drift-detector.js.map +1 -0
  6. package/dist/analyze/health-scorer.d.ts +71 -0
  7. package/dist/analyze/health-scorer.d.ts.map +1 -0
  8. package/dist/analyze/health-scorer.js +420 -0
  9. package/dist/analyze/health-scorer.js.map +1 -0
  10. package/dist/analyze/index.d.ts +11 -0
  11. package/dist/analyze/index.d.ts.map +1 -0
  12. package/dist/analyze/index.js +11 -0
  13. package/dist/analyze/index.js.map +1 -0
  14. package/dist/analyze/naming-validator.d.ts +99 -0
  15. package/dist/analyze/naming-validator.d.ts.map +1 -0
  16. package/dist/analyze/naming-validator.js +430 -0
  17. package/dist/analyze/naming-validator.js.map +1 -0
  18. package/dist/analyze/slot-contract-validator.d.ts +68 -0
  19. package/dist/analyze/slot-contract-validator.d.ts.map +1 -0
  20. package/dist/analyze/slot-contract-validator.js +232 -0
  21. package/dist/analyze/slot-contract-validator.js.map +1 -0
  22. package/dist/analyze/token-validator.d.ts +62 -0
  23. package/dist/analyze/token-validator.d.ts.map +1 -0
  24. package/dist/analyze/token-validator.js +348 -0
  25. package/dist/analyze/token-validator.js.map +1 -0
  26. package/dist/cli/brain.d.ts +12 -0
  27. package/dist/cli/brain.d.ts.map +1 -0
  28. package/dist/cli/brain.js +641 -0
  29. package/dist/cli/brain.js.map +1 -0
  30. package/dist/cli/formatters/json.d.ts +15 -0
  31. package/dist/cli/formatters/json.d.ts.map +1 -0
  32. package/dist/cli/formatters/json.js +18 -0
  33. package/dist/cli/formatters/json.js.map +1 -0
  34. package/dist/cli/formatters/terminal.d.ts +19 -0
  35. package/dist/cli/formatters/terminal.d.ts.map +1 -0
  36. package/dist/cli/formatters/terminal.js +125 -0
  37. package/dist/cli/formatters/terminal.js.map +1 -0
  38. package/dist/cli/index.d.ts +7 -0
  39. package/dist/cli/index.d.ts.map +1 -0
  40. package/dist/cli/index.js +7 -0
  41. package/dist/cli/index.js.map +1 -0
  42. package/dist/data/governance-rules.json +94 -0
  43. package/dist/governance/audit-log.d.ts +17 -0
  44. package/dist/governance/audit-log.d.ts.map +1 -0
  45. package/dist/governance/audit-log.js +44 -0
  46. package/dist/governance/audit-log.js.map +1 -0
  47. package/dist/governance/index.d.ts +8 -0
  48. package/dist/governance/index.d.ts.map +1 -0
  49. package/dist/governance/index.js +8 -0
  50. package/dist/governance/index.js.map +1 -0
  51. package/dist/governance/permissions.d.ts +26 -0
  52. package/dist/governance/permissions.d.ts.map +1 -0
  53. package/dist/governance/permissions.js +75 -0
  54. package/dist/governance/permissions.js.map +1 -0
  55. package/dist/governance/rules-engine.d.ts +24 -0
  56. package/dist/governance/rules-engine.d.ts.map +1 -0
  57. package/dist/governance/rules-engine.js +111 -0
  58. package/dist/governance/rules-engine.js.map +1 -0
  59. package/dist/governance/trust-manager.d.ts +34 -0
  60. package/dist/governance/trust-manager.d.ts.map +1 -0
  61. package/dist/governance/trust-manager.js +148 -0
  62. package/dist/governance/trust-manager.js.map +1 -0
  63. package/dist/index.d.ts +23 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +28 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/knowledge-graph/component-index.d.ts +320 -0
  68. package/dist/knowledge-graph/component-index.d.ts.map +1 -0
  69. package/dist/knowledge-graph/component-index.js +1033 -0
  70. package/dist/knowledge-graph/component-index.js.map +1 -0
  71. package/dist/knowledge-graph/index.d.ts +134 -0
  72. package/dist/knowledge-graph/index.d.ts.map +1 -0
  73. package/dist/knowledge-graph/index.js +249 -0
  74. package/dist/knowledge-graph/index.js.map +1 -0
  75. package/dist/knowledge-graph/learning-history.d.ts +77 -0
  76. package/dist/knowledge-graph/learning-history.d.ts.map +1 -0
  77. package/dist/knowledge-graph/learning-history.js +187 -0
  78. package/dist/knowledge-graph/learning-history.js.map +1 -0
  79. package/dist/knowledge-graph/relationship-map.d.ts +55 -0
  80. package/dist/knowledge-graph/relationship-map.d.ts.map +1 -0
  81. package/dist/knowledge-graph/relationship-map.js +238 -0
  82. package/dist/knowledge-graph/relationship-map.js.map +1 -0
  83. package/dist/knowledge-graph/token-taxonomy.d.ts +127 -0
  84. package/dist/knowledge-graph/token-taxonomy.d.ts.map +1 -0
  85. package/dist/knowledge-graph/token-taxonomy.js +357 -0
  86. package/dist/knowledge-graph/token-taxonomy.js.map +1 -0
  87. package/dist/loop/fix-agent.d.ts +55 -0
  88. package/dist/loop/fix-agent.d.ts.map +1 -0
  89. package/dist/loop/fix-agent.js +344 -0
  90. package/dist/loop/fix-agent.js.map +1 -0
  91. package/dist/loop/index.d.ts +8 -0
  92. package/dist/loop/index.d.ts.map +1 -0
  93. package/dist/loop/index.js +8 -0
  94. package/dist/loop/index.js.map +1 -0
  95. package/dist/loop/issue-fetcher.d.ts +51 -0
  96. package/dist/loop/issue-fetcher.d.ts.map +1 -0
  97. package/dist/loop/issue-fetcher.js +188 -0
  98. package/dist/loop/issue-fetcher.js.map +1 -0
  99. package/dist/loop/observer.d.ts +42 -0
  100. package/dist/loop/observer.d.ts.map +1 -0
  101. package/dist/loop/observer.js +220 -0
  102. package/dist/loop/observer.js.map +1 -0
  103. package/dist/loop/pacer.d.ts +44 -0
  104. package/dist/loop/pacer.d.ts.map +1 -0
  105. package/dist/loop/pacer.js +90 -0
  106. package/dist/loop/pacer.js.map +1 -0
  107. package/dist/loop/reporter.d.ts +9 -0
  108. package/dist/loop/reporter.d.ts.map +1 -0
  109. package/dist/loop/reporter.js +119 -0
  110. package/dist/loop/reporter.js.map +1 -0
  111. package/dist/loop/runner.d.ts +57 -0
  112. package/dist/loop/runner.d.ts.map +1 -0
  113. package/dist/loop/runner.js +390 -0
  114. package/dist/loop/runner.js.map +1 -0
  115. package/dist/loop/types.d.ts +151 -0
  116. package/dist/loop/types.d.ts.map +1 -0
  117. package/dist/loop/types.js +22 -0
  118. package/dist/loop/types.js.map +1 -0
  119. package/dist/mcp/index.d.ts +7 -0
  120. package/dist/mcp/index.d.ts.map +1 -0
  121. package/dist/mcp/index.js +7 -0
  122. package/dist/mcp/index.js.map +1 -0
  123. package/dist/mcp/server.d.ts +12 -0
  124. package/dist/mcp/server.d.ts.map +1 -0
  125. package/dist/mcp/server.js +618 -0
  126. package/dist/mcp/server.js.map +1 -0
  127. package/dist/pipeline/agent-runner.d.ts +34 -0
  128. package/dist/pipeline/agent-runner.d.ts.map +1 -0
  129. package/dist/pipeline/agent-runner.js +323 -0
  130. package/dist/pipeline/agent-runner.js.map +1 -0
  131. package/dist/pipeline/agents/accessibility-auditor.d.ts +10 -0
  132. package/dist/pipeline/agents/accessibility-auditor.d.ts.map +1 -0
  133. package/dist/pipeline/agents/accessibility-auditor.js +69 -0
  134. package/dist/pipeline/agents/accessibility-auditor.js.map +1 -0
  135. package/dist/pipeline/agents/code-reviewer.d.ts +10 -0
  136. package/dist/pipeline/agents/code-reviewer.d.ts.map +1 -0
  137. package/dist/pipeline/agents/code-reviewer.js +75 -0
  138. package/dist/pipeline/agents/code-reviewer.js.map +1 -0
  139. package/dist/pipeline/agents/code-writer.d.ts +10 -0
  140. package/dist/pipeline/agents/code-writer.d.ts.map +1 -0
  141. package/dist/pipeline/agents/code-writer.js +103 -0
  142. package/dist/pipeline/agents/code-writer.js.map +1 -0
  143. package/dist/pipeline/agents/component-architect.d.ts +13 -0
  144. package/dist/pipeline/agents/component-architect.d.ts.map +1 -0
  145. package/dist/pipeline/agents/component-architect.js +81 -0
  146. package/dist/pipeline/agents/component-architect.js.map +1 -0
  147. package/dist/pipeline/agents/index.d.ts +16 -0
  148. package/dist/pipeline/agents/index.d.ts.map +1 -0
  149. package/dist/pipeline/agents/index.js +24 -0
  150. package/dist/pipeline/agents/index.js.map +1 -0
  151. package/dist/pipeline/agents/library-researcher.d.ts +12 -0
  152. package/dist/pipeline/agents/library-researcher.d.ts.map +1 -0
  153. package/dist/pipeline/agents/library-researcher.js +85 -0
  154. package/dist/pipeline/agents/library-researcher.js.map +1 -0
  155. package/dist/pipeline/agents/quality-gate.d.ts +9 -0
  156. package/dist/pipeline/agents/quality-gate.d.ts.map +1 -0
  157. package/dist/pipeline/agents/quality-gate.js +71 -0
  158. package/dist/pipeline/agents/quality-gate.js.map +1 -0
  159. package/dist/pipeline/agents/spec-analyst.d.ts +10 -0
  160. package/dist/pipeline/agents/spec-analyst.d.ts.map +1 -0
  161. package/dist/pipeline/agents/spec-analyst.js +72 -0
  162. package/dist/pipeline/agents/spec-analyst.js.map +1 -0
  163. package/dist/pipeline/agents/story-author.d.ts +9 -0
  164. package/dist/pipeline/agents/story-author.d.ts.map +1 -0
  165. package/dist/pipeline/agents/story-author.js +65 -0
  166. package/dist/pipeline/agents/story-author.js.map +1 -0
  167. package/dist/pipeline/artifact-store.d.ts +27 -0
  168. package/dist/pipeline/artifact-store.d.ts.map +1 -0
  169. package/dist/pipeline/artifact-store.js +77 -0
  170. package/dist/pipeline/artifact-store.js.map +1 -0
  171. package/dist/pipeline/conversational-gate.d.ts +26 -0
  172. package/dist/pipeline/conversational-gate.d.ts.map +1 -0
  173. package/dist/pipeline/conversational-gate.js +122 -0
  174. package/dist/pipeline/conversational-gate.js.map +1 -0
  175. package/dist/pipeline/index.d.ts +14 -0
  176. package/dist/pipeline/index.d.ts.map +1 -0
  177. package/dist/pipeline/index.js +17 -0
  178. package/dist/pipeline/index.js.map +1 -0
  179. package/dist/pipeline/iteration-tracker.d.ts +29 -0
  180. package/dist/pipeline/iteration-tracker.d.ts.map +1 -0
  181. package/dist/pipeline/iteration-tracker.js +102 -0
  182. package/dist/pipeline/iteration-tracker.js.map +1 -0
  183. package/dist/pipeline/learning-bridge.d.ts +37 -0
  184. package/dist/pipeline/learning-bridge.d.ts.map +1 -0
  185. package/dist/pipeline/learning-bridge.js +118 -0
  186. package/dist/pipeline/learning-bridge.js.map +1 -0
  187. package/dist/pipeline/orchestrator.d.ts +45 -0
  188. package/dist/pipeline/orchestrator.d.ts.map +1 -0
  189. package/dist/pipeline/orchestrator.js +473 -0
  190. package/dist/pipeline/orchestrator.js.map +1 -0
  191. package/dist/pipeline/templates/architecture.d.ts +27 -0
  192. package/dist/pipeline/templates/architecture.d.ts.map +1 -0
  193. package/dist/pipeline/templates/architecture.js +111 -0
  194. package/dist/pipeline/templates/architecture.js.map +1 -0
  195. package/dist/pipeline/templates/brief.d.ts +22 -0
  196. package/dist/pipeline/templates/brief.d.ts.map +1 -0
  197. package/dist/pipeline/templates/brief.js +121 -0
  198. package/dist/pipeline/templates/brief.js.map +1 -0
  199. package/dist/pipeline/templates/component-rules.d.ts +25 -0
  200. package/dist/pipeline/templates/component-rules.d.ts.map +1 -0
  201. package/dist/pipeline/templates/component-rules.js +93 -0
  202. package/dist/pipeline/templates/component-rules.js.map +1 -0
  203. package/dist/pipeline/templates/index.d.ts +9 -0
  204. package/dist/pipeline/templates/index.d.ts.map +1 -0
  205. package/dist/pipeline/templates/index.js +7 -0
  206. package/dist/pipeline/templates/index.js.map +1 -0
  207. package/dist/pipeline/tool-handler.d.ts +25 -0
  208. package/dist/pipeline/tool-handler.d.ts.map +1 -0
  209. package/dist/pipeline/tool-handler.js +392 -0
  210. package/dist/pipeline/tool-handler.js.map +1 -0
  211. package/dist/pipeline/types.d.ts +146 -0
  212. package/dist/pipeline/types.d.ts.map +1 -0
  213. package/dist/pipeline/types.js +27 -0
  214. package/dist/pipeline/types.js.map +1 -0
  215. package/dist/plan/action-types.d.ts +31 -0
  216. package/dist/plan/action-types.d.ts.map +1 -0
  217. package/dist/plan/action-types.js +83 -0
  218. package/dist/plan/action-types.js.map +1 -0
  219. package/dist/plan/decision-engine.d.ts +57 -0
  220. package/dist/plan/decision-engine.d.ts.map +1 -0
  221. package/dist/plan/decision-engine.js +162 -0
  222. package/dist/plan/decision-engine.js.map +1 -0
  223. package/dist/plan/index.d.ts +6 -0
  224. package/dist/plan/index.d.ts.map +1 -0
  225. package/dist/plan/index.js +6 -0
  226. package/dist/plan/index.js.map +1 -0
  227. package/dist/types.d.ts +351 -0
  228. package/dist/types.d.ts.map +1 -0
  229. package/dist/types.js +26 -0
  230. package/dist/types.js.map +1 -0
  231. package/dist/utils/anthropic.d.ts +15 -0
  232. package/dist/utils/anthropic.d.ts.map +1 -0
  233. package/dist/utils/anthropic.js +40 -0
  234. package/dist/utils/anthropic.js.map +1 -0
  235. package/dist/utils/id.d.ts +8 -0
  236. package/dist/utils/id.d.ts.map +1 -0
  237. package/dist/utils/id.js +14 -0
  238. package/dist/utils/id.js.map +1 -0
  239. package/package.json +80 -0
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Architecture Template — Structured template for the component architect's output
3
+ *
4
+ * The architecture.md artifact is the blueprint for the code writer.
5
+ * It includes a push-back section with [BLOCKING]/[OVERRIDE]/[SUGGESTION] markers.
6
+ */
7
+ export const ARCHITECTURE_TEMPLATE = `# Architecture: {{componentName}}
8
+
9
+ ## Class Hierarchy
10
+ <!-- Which base class, what it extends, why. -->
11
+ \`\`\`
12
+ {{componentName}} extends EdElement (LitElement)
13
+ \`\`\`
14
+
15
+ ## TypeScript Interface
16
+ <!-- All @property decorators with types and defaults. -->
17
+ \`\`\`typescript
18
+ @property({ type: String }) variant: string = 'default';
19
+ @property({ type: String }) size: string = 'md';
20
+ \`\`\`
21
+
22
+ ## Slots
23
+ <!-- Named slots with descriptions. -->
24
+ | Slot | Description | Required |
25
+ |------|-------------|----------|
26
+ | (default) | Main content | Yes |
27
+
28
+ ## Events
29
+ <!-- Custom events dispatched by this component. -->
30
+ | Event | Detail | When |
31
+ |-------|--------|------|
32
+ <!-- None by default -->
33
+
34
+ ## Internal State
35
+ <!-- @state() properties for internal rendering logic. -->
36
+
37
+ ## Render Structure
38
+ <!-- Shadow DOM template outline in pseudocode/HTML. -->
39
+ \`\`\`html
40
+ <div class="ed-c-{{shortName}}">
41
+ <slot></slot>
42
+ </div>
43
+ \`\`\`
44
+
45
+ ## SCSS Structure
46
+ <!-- BEM class map and token usage plan. -->
47
+ \`\`\`scss
48
+ .ed-c-{{shortName}} {
49
+ // Token usage plan:
50
+ // background: var(--ed-theme-color-background-default);
51
+ // padding: var(--ed-spacing-md);
52
+ }
53
+ \`\`\`
54
+
55
+ ## Compound Component Split
56
+ <!-- If this needs child components, list them here. -->
57
+ <!-- e.g., ed-{{shortName}}-item, ed-{{shortName}}-header -->
58
+
59
+ ## Accessibility Plan
60
+ <!-- ARIA roles, keyboard navigation, focus management. -->
61
+ - Role:
62
+ - Keyboard:
63
+ - Focus management:
64
+ - Screen reader:
65
+
66
+ ## Handoff Notes
67
+ <!-- Anything the code writer needs to know that isn't obvious from the structure. -->
68
+
69
+ ## Push-Backs
70
+ <!-- Issues found during architecture design. -->
71
+ <!-- Format: [BLOCKING|OVERRIDE|SUGGESTION] Category: Message. Recommendation: ... -->
72
+ `;
73
+ /**
74
+ * Extract the TypeScript interface from architecture.md.
75
+ */
76
+ export function extractProperties(content) {
77
+ const properties = [];
78
+ const propRegex = /@property\(\{[^}]*\}\)\s+(\w+):\s+(\w+)\s*=\s*(.+?);/g;
79
+ // Find the TypeScript Interface section
80
+ const sectionRegex = /## TypeScript Interface[\s\S]*?```typescript\n([\s\S]*?)```/;
81
+ const sectionMatch = sectionRegex.exec(content);
82
+ if (sectionMatch) {
83
+ let match;
84
+ while ((match = propRegex.exec(sectionMatch[1])) !== null) {
85
+ properties.push({
86
+ name: match[1],
87
+ type: match[2],
88
+ default: match[3].trim().replace(/['"]/g, ''),
89
+ decorator: match[0],
90
+ });
91
+ }
92
+ }
93
+ return properties;
94
+ }
95
+ /**
96
+ * Extract the render structure HTML from architecture.md.
97
+ */
98
+ export function extractRenderStructure(content) {
99
+ const regex = /## Render Structure[\s\S]*?```html\n([\s\S]*?)```/;
100
+ const match = regex.exec(content);
101
+ return match ? match[1].trim() : null;
102
+ }
103
+ /**
104
+ * Extract the SCSS structure from architecture.md.
105
+ */
106
+ export function extractScssStructure(content) {
107
+ const regex = /## SCSS Structure[\s\S]*?```scss\n([\s\S]*?)```/;
108
+ const match = regex.exec(content);
109
+ return match ? match[1].trim() : null;
110
+ }
111
+ //# sourceMappingURL=architecture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture.js","sourceRoot":"","sources":["../../../src/pipeline/templates/architecture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEpC,CAAC;AAUF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,uDAAuD,CAAC;IAE1E,wCAAwC;IACxC,MAAM,YAAY,GAAG,6DAA6D,CAAC;IACnF,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEhD,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1D,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7C,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,MAAM,KAAK,GAAG,mDAAmD,CAAC;IAClE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,KAAK,GAAG,iDAAiD,CAAC;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Brief Template — Structured template for the spec analyst's output
3
+ *
4
+ * The brief.md artifact captures the human's intent expanded into a
5
+ * structured format that downstream agents can parse unambiguously.
6
+ */
7
+ export declare const BRIEF_TEMPLATE = "# Component Brief: {{componentName}}\n\n## Intent\n<!-- What this component is for. One sentence. -->\n\n## User Stories\n<!-- Who uses it and why. -->\n- As a [role], I want [feature] so that [benefit]\n\n## Variants\n<!-- Visual/functional variants (e.g., primary, secondary, danger). -->\n- default\n\n## Sizes\n<!-- Available sizes using t-shirt sizing: xs, sm, md, lg, xl. -->\n- md (default)\n\n## States\n<!-- Interactive states the component supports. -->\n- default\n- hover\n- focus\n- disabled\n\n## Content Model\n<!-- What goes inside (slots, text props, icons). -->\n### Default Slot\n<!-- Main content -->\n\n### Named Slots\n<!-- Additional slot points -->\n\n### Properties\n<!-- Key properties with types -->\n\n## Interactions\n<!-- How users interact with this component. -->\n\n## Accessibility Requirements\n<!-- WCAG compliance, keyboard nav, ARIA patterns. -->\n\n## Token Categories\n<!-- Which token categories this component will use. -->\n- color (background, content, border)\n- spacing\n- typography\n\n## Composition Needs\n<!-- Does it compose with or contain other Eddie components? -->\n\n## Constraints\n<!-- Hard requirements, edge cases, or known limitations. -->\n\n## Pending Items\n<!-- Anything that needs human clarification. Mark with [PENDING]. -->\n";
8
+ /** Section names in the brief for parsing */
9
+ export declare const BRIEF_SECTIONS: readonly ["Intent", "User Stories", "Variants", "Sizes", "States", "Content Model", "Interactions", "Accessibility Requirements", "Token Categories", "Composition Needs", "Constraints", "Pending Items"];
10
+ /**
11
+ * Parse a brief.md artifact into structured sections.
12
+ */
13
+ export declare function parseBrief(content: string): Record<string, string>;
14
+ /**
15
+ * Check if the brief has any [PENDING] markers.
16
+ */
17
+ export declare function hasPendingItems(content: string): boolean;
18
+ /**
19
+ * Extract all [PENDING] markers from the brief.
20
+ */
21
+ export declare function extractPendingItems(content: string): string[];
22
+ //# sourceMappingURL=brief.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brief.d.ts","sourceRoot":"","sources":["../../../src/pipeline/templates/brief.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,cAAc,mxCAuD1B,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,cAAc,4MAajB,CAAC;AAEX;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2BlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ7D"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Brief Template — Structured template for the spec analyst's output
3
+ *
4
+ * The brief.md artifact captures the human's intent expanded into a
5
+ * structured format that downstream agents can parse unambiguously.
6
+ */
7
+ export const BRIEF_TEMPLATE = `# Component Brief: {{componentName}}
8
+
9
+ ## Intent
10
+ <!-- What this component is for. One sentence. -->
11
+
12
+ ## User Stories
13
+ <!-- Who uses it and why. -->
14
+ - As a [role], I want [feature] so that [benefit]
15
+
16
+ ## Variants
17
+ <!-- Visual/functional variants (e.g., primary, secondary, danger). -->
18
+ - default
19
+
20
+ ## Sizes
21
+ <!-- Available sizes using t-shirt sizing: xs, sm, md, lg, xl. -->
22
+ - md (default)
23
+
24
+ ## States
25
+ <!-- Interactive states the component supports. -->
26
+ - default
27
+ - hover
28
+ - focus
29
+ - disabled
30
+
31
+ ## Content Model
32
+ <!-- What goes inside (slots, text props, icons). -->
33
+ ### Default Slot
34
+ <!-- Main content -->
35
+
36
+ ### Named Slots
37
+ <!-- Additional slot points -->
38
+
39
+ ### Properties
40
+ <!-- Key properties with types -->
41
+
42
+ ## Interactions
43
+ <!-- How users interact with this component. -->
44
+
45
+ ## Accessibility Requirements
46
+ <!-- WCAG compliance, keyboard nav, ARIA patterns. -->
47
+
48
+ ## Token Categories
49
+ <!-- Which token categories this component will use. -->
50
+ - color (background, content, border)
51
+ - spacing
52
+ - typography
53
+
54
+ ## Composition Needs
55
+ <!-- Does it compose with or contain other Eddie components? -->
56
+
57
+ ## Constraints
58
+ <!-- Hard requirements, edge cases, or known limitations. -->
59
+
60
+ ## Pending Items
61
+ <!-- Anything that needs human clarification. Mark with [PENDING]. -->
62
+ `;
63
+ /** Section names in the brief for parsing */
64
+ export const BRIEF_SECTIONS = [
65
+ 'Intent',
66
+ 'User Stories',
67
+ 'Variants',
68
+ 'Sizes',
69
+ 'States',
70
+ 'Content Model',
71
+ 'Interactions',
72
+ 'Accessibility Requirements',
73
+ 'Token Categories',
74
+ 'Composition Needs',
75
+ 'Constraints',
76
+ 'Pending Items',
77
+ ];
78
+ /**
79
+ * Parse a brief.md artifact into structured sections.
80
+ */
81
+ export function parseBrief(content) {
82
+ const sections = {};
83
+ for (let i = 0; i < BRIEF_SECTIONS.length; i++) {
84
+ const section = BRIEF_SECTIONS[i];
85
+ const nextSection = BRIEF_SECTIONS[i + 1];
86
+ const startRegex = new RegExp(`^##\\s+${section}`, 'm');
87
+ const startMatch = startRegex.exec(content);
88
+ if (!startMatch)
89
+ continue;
90
+ const startIdx = startMatch.index + startMatch[0].length;
91
+ let endIdx = content.length;
92
+ if (nextSection) {
93
+ const endRegex = new RegExp(`^##\\s+${nextSection}`, 'm');
94
+ const endMatch = endRegex.exec(content.slice(startIdx));
95
+ if (endMatch) {
96
+ endIdx = startIdx + endMatch.index;
97
+ }
98
+ }
99
+ sections[section] = content.slice(startIdx, endIdx).trim();
100
+ }
101
+ return sections;
102
+ }
103
+ /**
104
+ * Check if the brief has any [PENDING] markers.
105
+ */
106
+ export function hasPendingItems(content) {
107
+ return /\[PENDING\]/i.test(content);
108
+ }
109
+ /**
110
+ * Extract all [PENDING] markers from the brief.
111
+ */
112
+ export function extractPendingItems(content) {
113
+ const items = [];
114
+ const regex = /\[PENDING\]\s*(.+?)$/gm;
115
+ let match;
116
+ while ((match = regex.exec(content)) !== null) {
117
+ items.push(match[1].trim());
118
+ }
119
+ return items;
120
+ }
121
+ //# sourceMappingURL=brief.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brief.js","sourceRoot":"","sources":["../../../src/pipeline/templates/brief.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuD7B,CAAC;AAEF,6CAA6C;AAC7C,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,QAAQ;IACR,cAAc;IACd,UAAU;IACV,OAAO;IACP,QAAQ;IACR,eAAe;IACf,cAAc;IACd,4BAA4B;IAC5B,kBAAkB;IAClB,mBAAmB;IACnB,aAAa;IACb,eAAe;CACP,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,UAAU,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,UAAU;YAAE,SAAS;QAE1B,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzD,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE5B,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,UAAU,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;YACrC,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,wBAAwB,CAAC;IACvC,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Component Rules Template — Structured template for the library researcher's output
3
+ *
4
+ * The component-rules.md artifact contains mandatory (CR-*) and advisory (AR-*)
5
+ * rules derived from the knowledge graph. The code writer MUST read this first.
6
+ */
7
+ export declare const COMPONENT_RULES_TEMPLATE = "# Component Rules: {{componentName}}\n\n## Base Class Selection\n<!-- EdElement or EdFormElement. Include rationale. -->\n**Base Class:** EdElement\n**Rationale:**\n\n## Mandatory Rules (CR-*)\n<!-- Rules the code writer MUST follow. Violation = build failure. -->\n\n### CR-001: Tag Name\n- Tag: `ed-{{shortName}}`\n- CSS Class: `ed-c-{{shortName}}`\n\n### CR-002: BEM Naming\n- Block: `ed-c-{{shortName}}`\n- Elements: `ed-c-{{shortName}}__[element]`\n- Modifiers: `ed-c-{{shortName}}--[modifier]`\n\n### CR-003: Token Usage\n- No raw hex/px/font values\n- Use tier 2 (--ed-theme-*) or tier 3 tokens only\n- Intent must match property (background tokens for backgrounds, etc.)\n\n### CR-004: Base Class Contract\n<!-- Properties/methods inherited from the base class that must be used correctly. -->\n\n### CR-005: Slot Strategy\n<!-- Required slot structure. -->\n\n## Advisory Rules (AR-*)\n<!-- Recommendations. Can be overridden with rationale. -->\n\n### AR-001: Composition Patterns\n<!-- How this component should compose with others. -->\n\n### AR-002: Existing Component Reuse\n<!-- Components from the library that should be used internally. -->\n\n### AR-003: API Conventions\n<!-- Property naming: variant, size, text, title, label, iconName, etc. -->\n\n## Token Requirements\n<!-- Specific tokens this component should use. -->\n### Colors\n### Spacing\n### Typography\n### Other\n\n## Dependency Audit\n<!-- Other Eddie components this depends on. -->\n\n## Anti-Patterns\n<!-- Things explicitly NOT to do. -->\n";
8
+ /** Rule types */
9
+ export type RuleType = 'mandatory' | 'advisory';
10
+ /** A parsed rule */
11
+ export interface ParsedRule {
12
+ id: string;
13
+ type: RuleType;
14
+ title: string;
15
+ content: string;
16
+ }
17
+ /**
18
+ * Parse component-rules.md into structured rules.
19
+ */
20
+ export declare function parseRules(content: string): ParsedRule[];
21
+ /**
22
+ * Extract the base class from component-rules.md.
23
+ */
24
+ export declare function extractBaseClass(content: string): 'EdElement' | 'EdFormElement';
25
+ //# sourceMappingURL=component-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-rules.d.ts","sourceRoot":"","sources":["../../../src/pipeline/templates/component-rules.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,wBAAwB,8/CAsDpC,CAAC;AAEF,iBAAiB;AACjB,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AAEhD,oBAAoB;AACpB,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAwBxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,CAG/E"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Component Rules Template — Structured template for the library researcher's output
3
+ *
4
+ * The component-rules.md artifact contains mandatory (CR-*) and advisory (AR-*)
5
+ * rules derived from the knowledge graph. The code writer MUST read this first.
6
+ */
7
+ export const COMPONENT_RULES_TEMPLATE = `# Component Rules: {{componentName}}
8
+
9
+ ## Base Class Selection
10
+ <!-- EdElement or EdFormElement. Include rationale. -->
11
+ **Base Class:** EdElement
12
+ **Rationale:**
13
+
14
+ ## Mandatory Rules (CR-*)
15
+ <!-- Rules the code writer MUST follow. Violation = build failure. -->
16
+
17
+ ### CR-001: Tag Name
18
+ - Tag: \`ed-{{shortName}}\`
19
+ - CSS Class: \`ed-c-{{shortName}}\`
20
+
21
+ ### CR-002: BEM Naming
22
+ - Block: \`ed-c-{{shortName}}\`
23
+ - Elements: \`ed-c-{{shortName}}__[element]\`
24
+ - Modifiers: \`ed-c-{{shortName}}--[modifier]\`
25
+
26
+ ### CR-003: Token Usage
27
+ - No raw hex/px/font values
28
+ - Use tier 2 (--ed-theme-*) or tier 3 tokens only
29
+ - Intent must match property (background tokens for backgrounds, etc.)
30
+
31
+ ### CR-004: Base Class Contract
32
+ <!-- Properties/methods inherited from the base class that must be used correctly. -->
33
+
34
+ ### CR-005: Slot Strategy
35
+ <!-- Required slot structure. -->
36
+
37
+ ## Advisory Rules (AR-*)
38
+ <!-- Recommendations. Can be overridden with rationale. -->
39
+
40
+ ### AR-001: Composition Patterns
41
+ <!-- How this component should compose with others. -->
42
+
43
+ ### AR-002: Existing Component Reuse
44
+ <!-- Components from the library that should be used internally. -->
45
+
46
+ ### AR-003: API Conventions
47
+ <!-- Property naming: variant, size, text, title, label, iconName, etc. -->
48
+
49
+ ## Token Requirements
50
+ <!-- Specific tokens this component should use. -->
51
+ ### Colors
52
+ ### Spacing
53
+ ### Typography
54
+ ### Other
55
+
56
+ ## Dependency Audit
57
+ <!-- Other Eddie components this depends on. -->
58
+
59
+ ## Anti-Patterns
60
+ <!-- Things explicitly NOT to do. -->
61
+ `;
62
+ /**
63
+ * Parse component-rules.md into structured rules.
64
+ */
65
+ export function parseRules(content) {
66
+ const rules = [];
67
+ // Match CR-### and AR-### sections
68
+ const ruleRegex = /###\s+(CR|AR)-(\d+):\s*(.+?)(?=\n###|\n## |$)/gs;
69
+ let match;
70
+ while ((match = ruleRegex.exec(content)) !== null) {
71
+ const prefix = match[1];
72
+ const number = match[2];
73
+ const titleAndContent = match[3];
74
+ const lines = titleAndContent.split('\n');
75
+ const title = lines[0].trim();
76
+ const ruleContent = lines.slice(1).join('\n').trim();
77
+ rules.push({
78
+ id: `${prefix}-${number}`,
79
+ type: prefix === 'CR' ? 'mandatory' : 'advisory',
80
+ title,
81
+ content: ruleContent,
82
+ });
83
+ }
84
+ return rules;
85
+ }
86
+ /**
87
+ * Extract the base class from component-rules.md.
88
+ */
89
+ export function extractBaseClass(content) {
90
+ const match = /\*\*Base Class:\*\*\s*(EdElement|EdFormElement)/i.exec(content);
91
+ return match?.[1] ?? 'EdElement';
92
+ }
93
+ //# sourceMappingURL=component-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-rules.js","sourceRoot":"","sources":["../../../src/pipeline/templates/component-rules.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDvC,CAAC;AAaF;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,MAAM,KAAK,GAAiB,EAAE,CAAC;IAE/B,mCAAmC;IACnC,MAAM,SAAS,GAAG,iDAAiD,CAAC;IACpE,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEjC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAErD,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE;YACzB,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;YAChD,KAAK;YACL,OAAO,EAAE,WAAW;SACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,KAAK,GAAG,kDAAkD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/E,OAAQ,KAAK,EAAE,CAAC,CAAC,CAAmC,IAAI,WAAW,CAAC;AACtE,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Pipeline Templates — Re-exports all artifact templates
3
+ */
4
+ export { BRIEF_TEMPLATE, parseBrief, hasPendingItems, extractPendingItems } from './brief.js';
5
+ export { COMPONENT_RULES_TEMPLATE, parseRules, extractBaseClass } from './component-rules.js';
6
+ export { ARCHITECTURE_TEMPLATE, extractProperties, extractRenderStructure, extractScssStructure, } from './architecture.js';
7
+ export type { ParsedRule, RuleType } from './component-rules.js';
8
+ export type { ArchitectureProperty } from './architecture.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pipeline/templates/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Pipeline Templates — Re-exports all artifact templates
3
+ */
4
+ export { BRIEF_TEMPLATE, parseBrief, hasPendingItems, extractPendingItems } from './brief.js';
5
+ export { COMPONENT_RULES_TEMPLATE, parseRules, extractBaseClass } from './component-rules.js';
6
+ export { ARCHITECTURE_TEMPLATE, extractProperties, extractRenderStructure, extractScssStructure, } from './architecture.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pipeline/templates/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * ToolHandler — Executes eddie-brain tools without MCP transport
3
+ *
4
+ * Replicates the dispatch logic from mcp/server.ts but calls
5
+ * KnowledgeGraph/TokenValidator/NamingValidator/HealthScorer directly.
6
+ * Returns plain strings instead of MCP content objects.
7
+ */
8
+ import type { KnowledgeGraph } from '../knowledge-graph/index.js';
9
+ import type { EddieTool } from './types.js';
10
+ export declare function setDesignSystemsMcpHandler(handler: (toolName: string, input: Record<string, unknown>) => Promise<string>): void;
11
+ /** Tool input/output description for Anthropic API tool definitions */
12
+ export interface ToolDefinition {
13
+ name: string;
14
+ description: string;
15
+ input_schema: Record<string, unknown>;
16
+ }
17
+ /**
18
+ * Execute an eddie-brain tool call and return the result as a string.
19
+ */
20
+ export declare function executeToolCall(toolName: EddieTool, toolInput: Record<string, unknown>, knowledgeGraph: KnowledgeGraph, rootDir: string): Promise<string>;
21
+ /**
22
+ * Build Anthropic API tool definitions for the specified tools.
23
+ */
24
+ export declare function buildToolDefinitions(tools: EddieTool[]): ToolDefinition[];
25
+ //# sourceMappingURL=tool-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-handler.d.ts","sourceRoot":"","sources":["../../src/pipeline/tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAQ5C,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,GAC7E,IAAI,CAEN;AAED,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAqCjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAEzE"}