@magic-ingredients/tiny-brain-local 0.7.0 → 0.10.1

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 (175) hide show
  1. package/dist/agents/formatters/claude-code-formatter.d.ts +37 -0
  2. package/dist/agents/formatters/claude-code-formatter.d.ts.map +1 -0
  3. package/dist/agents/formatters/claude-code-formatter.js +217 -0
  4. package/dist/agents/formatters/claude-code-formatter.js.map +1 -0
  5. package/dist/agents/formatters/formatter-factory.d.ts +25 -0
  6. package/dist/agents/formatters/formatter-factory.d.ts.map +1 -0
  7. package/dist/agents/formatters/formatter-factory.js +61 -0
  8. package/dist/agents/formatters/formatter-factory.js.map +1 -0
  9. package/dist/agents/types.d.ts +68 -0
  10. package/dist/agents/types.d.ts.map +1 -0
  11. package/dist/agents/types.js +12 -0
  12. package/dist/agents/types.js.map +1 -0
  13. package/dist/analyser/analyzers/script-analyzer.d.ts +10 -0
  14. package/dist/analyser/analyzers/script-analyzer.d.ts.map +1 -0
  15. package/dist/analyser/analyzers/script-analyzer.js +205 -0
  16. package/dist/analyser/analyzers/script-analyzer.js.map +1 -0
  17. package/dist/analyser/detectors/base-detector.d.ts +12 -0
  18. package/dist/analyser/detectors/base-detector.d.ts.map +1 -0
  19. package/dist/analyser/detectors/base-detector.js +50 -0
  20. package/dist/analyser/detectors/base-detector.js.map +1 -0
  21. package/dist/analyser/detectors/javascript-detector.d.ts +19 -0
  22. package/dist/analyser/detectors/javascript-detector.d.ts.map +1 -0
  23. package/dist/analyser/detectors/javascript-detector.js +347 -0
  24. package/dist/analyser/detectors/javascript-detector.js.map +1 -0
  25. package/dist/analyser/index.d.ts +5 -0
  26. package/dist/analyser/index.d.ts.map +1 -0
  27. package/dist/analyser/index.js +315 -0
  28. package/dist/analyser/index.js.map +1 -0
  29. package/dist/analyser/types.d.ts +2 -0
  30. package/dist/analyser/types.d.ts.map +1 -0
  31. package/dist/analyser/types.js +2 -0
  32. package/dist/analyser/types.js.map +1 -0
  33. package/dist/analyser/utils.d.ts +5 -0
  34. package/dist/analyser/utils.d.ts.map +1 -0
  35. package/dist/analyser/utils.js +24 -0
  36. package/dist/analyser/utils.js.map +1 -0
  37. package/dist/cli/cli-factory.d.ts.map +1 -1
  38. package/dist/cli/cli-factory.js +44 -1
  39. package/dist/cli/cli-factory.js.map +1 -1
  40. package/dist/cli/commands/analyse.command.d.ts +7 -0
  41. package/dist/cli/commands/analyse.command.d.ts.map +1 -0
  42. package/dist/cli/commands/analyse.command.js +130 -0
  43. package/dist/cli/commands/analyse.command.js.map +1 -0
  44. package/dist/cli/commands/config.command.d.ts +17 -0
  45. package/dist/cli/commands/config.command.d.ts.map +1 -0
  46. package/dist/cli/commands/config.command.js +117 -0
  47. package/dist/cli/commands/config.command.js.map +1 -0
  48. package/dist/cli/commands/status.command.d.ts +7 -1
  49. package/dist/cli/commands/status.command.d.ts.map +1 -1
  50. package/dist/cli/commands/status.command.js +275 -12
  51. package/dist/cli/commands/status.command.js.map +1 -1
  52. package/dist/cli/installers/claude-code-installer.d.ts.map +1 -1
  53. package/dist/cli/installers/claude-code-installer.js +22 -1
  54. package/dist/cli/installers/claude-code-installer.js.map +1 -1
  55. package/dist/cli/installers/installer-factory.d.ts.map +1 -1
  56. package/dist/cli/installers/installer-factory.js +10 -9
  57. package/dist/cli/installers/installer-factory.js.map +1 -1
  58. package/dist/cli/utils/system-info.d.ts +20 -0
  59. package/dist/cli/utils/system-info.d.ts.map +1 -0
  60. package/dist/cli/utils/system-info.js +90 -0
  61. package/dist/cli/utils/system-info.js.map +1 -0
  62. package/dist/core/mcp-server.d.ts +45 -2
  63. package/dist/core/mcp-server.d.ts.map +1 -1
  64. package/dist/core/mcp-server.js +298 -85
  65. package/dist/core/mcp-server.js.map +1 -1
  66. package/dist/index.d.ts +3 -0
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +33 -8
  69. package/dist/index.js.map +1 -1
  70. package/dist/prompts/persona/persona.prompt.d.ts.map +1 -1
  71. package/dist/prompts/persona/persona.prompt.js +5 -6
  72. package/dist/prompts/persona/persona.prompt.js.map +1 -1
  73. package/dist/prompts/planning/planning.prompt.d.ts +0 -8
  74. package/dist/prompts/planning/planning.prompt.d.ts.map +1 -1
  75. package/dist/prompts/planning/planning.prompt.js +0 -175
  76. package/dist/prompts/planning/planning.prompt.js.map +1 -1
  77. package/dist/services/agent-installation-service.d.ts +101 -0
  78. package/dist/services/agent-installation-service.d.ts.map +1 -0
  79. package/dist/services/agent-installation-service.js +328 -0
  80. package/dist/services/agent-installation-service.js.map +1 -0
  81. package/dist/services/agent-manager.d.ts +45 -0
  82. package/dist/services/agent-manager.d.ts.map +1 -0
  83. package/dist/services/agent-manager.js +154 -0
  84. package/dist/services/agent-manager.js.map +1 -0
  85. package/dist/services/agent-service.d.ts +70 -0
  86. package/dist/services/agent-service.d.ts.map +1 -0
  87. package/dist/services/agent-service.js +273 -0
  88. package/dist/services/agent-service.js.map +1 -0
  89. package/dist/services/analyse-service.d.ts +97 -0
  90. package/dist/services/analyse-service.d.ts.map +1 -0
  91. package/dist/services/analyse-service.js +370 -0
  92. package/dist/services/analyse-service.js.map +1 -0
  93. package/dist/services/credential-storage.service.d.ts +26 -0
  94. package/dist/services/credential-storage.service.d.ts.map +1 -0
  95. package/dist/services/credential-storage.service.js +149 -0
  96. package/dist/services/credential-storage.service.js.map +1 -0
  97. package/dist/services/dashboard-launcher.service.d.ts +20 -0
  98. package/dist/services/dashboard-launcher.service.d.ts.map +1 -0
  99. package/dist/services/dashboard-launcher.service.js +30 -0
  100. package/dist/services/dashboard-launcher.service.js.map +1 -0
  101. package/dist/services/persona-enhancer.d.ts +52 -0
  102. package/dist/services/persona-enhancer.d.ts.map +1 -0
  103. package/dist/services/persona-enhancer.js +252 -0
  104. package/dist/services/persona-enhancer.js.map +1 -0
  105. package/dist/services/persona-grouper.d.ts +29 -0
  106. package/dist/services/persona-grouper.d.ts.map +1 -0
  107. package/dist/services/persona-grouper.js +111 -0
  108. package/dist/services/persona-grouper.js.map +1 -0
  109. package/dist/services/persona-service.d.ts +52 -0
  110. package/dist/services/persona-service.d.ts.map +1 -0
  111. package/dist/services/persona-service.js +292 -0
  112. package/dist/services/persona-service.js.map +1 -0
  113. package/dist/services/remote/auth-token-service.d.ts +55 -0
  114. package/dist/services/remote/auth-token-service.d.ts.map +1 -0
  115. package/dist/services/remote/auth-token-service.js +195 -0
  116. package/dist/services/remote/auth-token-service.js.map +1 -0
  117. package/dist/services/remote/persona-sync-service.d.ts +131 -0
  118. package/dist/services/remote/persona-sync-service.d.ts.map +1 -0
  119. package/dist/services/remote/persona-sync-service.js +560 -0
  120. package/dist/services/remote/persona-sync-service.js.map +1 -0
  121. package/dist/services/remote/system-persona-service.d.ts +43 -0
  122. package/dist/services/remote/system-persona-service.d.ts.map +1 -0
  123. package/dist/services/remote/system-persona-service.js +292 -0
  124. package/dist/services/remote/system-persona-service.js.map +1 -0
  125. package/dist/services/repo-service.d.ts +195 -0
  126. package/dist/services/repo-service.d.ts.map +1 -0
  127. package/dist/services/repo-service.js +1023 -0
  128. package/dist/services/repo-service.js.map +1 -0
  129. package/dist/services/types/persona-types.d.ts +84 -0
  130. package/dist/services/types/persona-types.d.ts.map +1 -0
  131. package/dist/services/types/persona-types.js +5 -0
  132. package/dist/services/types/persona-types.js.map +1 -0
  133. package/dist/services/versioning-service.d.ts +79 -0
  134. package/dist/services/versioning-service.d.ts.map +1 -0
  135. package/dist/services/versioning-service.js +191 -0
  136. package/dist/services/versioning-service.js.map +1 -0
  137. package/dist/storage/local-filesystem-adapter.d.ts +1 -0
  138. package/dist/storage/local-filesystem-adapter.d.ts.map +1 -1
  139. package/dist/storage/local-filesystem-adapter.js +47 -3
  140. package/dist/storage/local-filesystem-adapter.js.map +1 -1
  141. package/dist/storage/platform-config-adapter.d.ts +9 -0
  142. package/dist/storage/platform-config-adapter.d.ts.map +1 -1
  143. package/dist/storage/platform-config-adapter.js +55 -1
  144. package/dist/storage/platform-config-adapter.js.map +1 -1
  145. package/dist/tools/analyse.tool.d.ts +17 -0
  146. package/dist/tools/analyse.tool.d.ts.map +1 -0
  147. package/dist/tools/analyse.tool.js +124 -0
  148. package/dist/tools/analyse.tool.js.map +1 -0
  149. package/dist/tools/persona/as.tool.d.ts +32 -11
  150. package/dist/tools/persona/as.tool.d.ts.map +1 -1
  151. package/dist/tools/persona/as.tool.js +452 -273
  152. package/dist/tools/persona/as.tool.js.map +1 -1
  153. package/dist/tools/persona/persona.tool.d.ts.map +1 -1
  154. package/dist/tools/persona/persona.tool.js +19 -5
  155. package/dist/tools/persona/persona.tool.js.map +1 -1
  156. package/dist/tools/plan/plan.tool.d.ts +3 -3
  157. package/dist/tools/plan/plan.tool.d.ts.map +1 -1
  158. package/dist/tools/plan/plan.tool.js +78 -55
  159. package/dist/tools/plan/plan.tool.js.map +1 -1
  160. package/dist/tools/tool-registry.d.ts.map +1 -1
  161. package/dist/tools/tool-registry.js +4 -0
  162. package/dist/tools/tool-registry.js.map +1 -1
  163. package/dist/types/local-context.d.ts +17 -0
  164. package/dist/types/local-context.d.ts.map +1 -0
  165. package/dist/types/local-context.js +7 -0
  166. package/dist/types/local-context.js.map +1 -0
  167. package/dist/utils/repo-utils.d.ts +10 -0
  168. package/dist/utils/repo-utils.d.ts.map +1 -0
  169. package/dist/utils/repo-utils.js +55 -0
  170. package/dist/utils/repo-utils.js.map +1 -0
  171. package/package.json +6 -2
  172. package/dist/services/plan-watcher.service.d.ts +0 -141
  173. package/dist/services/plan-watcher.service.d.ts.map +0 -1
  174. package/dist/services/plan-watcher.service.js +0 -1005
  175. package/dist/services/plan-watcher.service.js.map +0 -1
@@ -0,0 +1,37 @@
1
+ import { Agent, AgentFormat, AgentFormatter, FormattedAgent } from '../types.js';
2
+ import type { LibraryPersonaResponse } from '@magic-ingredients/tiny-brain-core';
3
+ /**
4
+ * Formats agents for Claude Code using YAML frontmatter + markdown
5
+ *
6
+ * Format:
7
+ * ---
8
+ * name: agent-name
9
+ * description: When to use this agent
10
+ * tools: tool1, tool2, tool3
11
+ * ---
12
+ *
13
+ * System prompt in markdown
14
+ */
15
+ export declare class ClaudeCodeFormatter implements AgentFormatter {
16
+ format: AgentFormat;
17
+ getRepoContextFilePath(): string;
18
+ getAgentInstallPath(): string;
19
+ /**
20
+ * Format TBR agent JSON directly to Claude Code format
21
+ */
22
+ formatTbrAgent(agentData: LibraryPersonaResponse['agents'][0]): FormattedAgent;
23
+ private generateTbrFrontmatter;
24
+ private generateTbrContent;
25
+ formatAgent(agent: Agent): FormattedAgent;
26
+ formatAgents(agents: Agent[]): FormattedAgent[];
27
+ private generateFrontmatter;
28
+ private generateContent;
29
+ private formatExamples;
30
+ private escapeYaml;
31
+ parseAgent(content: string): Agent;
32
+ private parseFrontmatter;
33
+ private extractSection;
34
+ private extractListSection;
35
+ private extractExamples;
36
+ }
37
+ //# sourceMappingURL=claude-code-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-formatter.d.ts","sourceRoot":"","sources":["../../../src/agents/formatters/claude-code-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAgB,MAAM,aAAa,CAAC;AAC/F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAEjF;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAoB,YAAW,cAAc;IACxD,MAAM,cAA2B;IAEjC,sBAAsB,IAAI,MAAM;IAKhC,mBAAmB,IAAI,MAAM;IAK7B;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc;IAe9E,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,kBAAkB;IA0D1B,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc;IAezC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE;IAI/C,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,UAAU;IAQlB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IAuBlC,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,eAAe;CAIxB"}
@@ -0,0 +1,217 @@
1
+ import { AgentFormat } from '../types.js';
2
+ /**
3
+ * Formats agents for Claude Code using YAML frontmatter + markdown
4
+ *
5
+ * Format:
6
+ * ---
7
+ * name: agent-name
8
+ * description: When to use this agent
9
+ * tools: tool1, tool2, tool3
10
+ * ---
11
+ *
12
+ * System prompt in markdown
13
+ */
14
+ export class ClaudeCodeFormatter {
15
+ format = AgentFormat.CLAUDE_CODE;
16
+ getRepoContextFilePath() {
17
+ // Claude Code uses CLAUDE.md in the repo root
18
+ return 'CLAUDE.md';
19
+ }
20
+ getAgentInstallPath() {
21
+ // Claude Code installs agents in .claude/agents/
22
+ return '.claude/agents';
23
+ }
24
+ /**
25
+ * Format TBR agent JSON directly to Claude Code format
26
+ */
27
+ formatTbrAgent(agentData) {
28
+ const frontmatter = this.generateTbrFrontmatter(agentData);
29
+ const content = this.generateTbrContent(agentData);
30
+ return {
31
+ format: this.format,
32
+ filename: `${agentData.name}.md`,
33
+ content: `---\n${frontmatter}---\n\n${content}`,
34
+ metadata: {
35
+ platform: 'claude-code',
36
+ version: agentData.details.version || '1.0.0'
37
+ }
38
+ };
39
+ }
40
+ generateTbrFrontmatter(agent) {
41
+ const lines = [];
42
+ // Required fields
43
+ lines.push(`name: ${agent.name}`);
44
+ lines.push(`description: ${this.escapeYaml(agent.details.description)}`);
45
+ // Tools would need to be extracted from the agent data if available
46
+ // For now, we'll leave tools empty as they're not in the TBR structure
47
+ return lines.join('\n') + '\n';
48
+ }
49
+ generateTbrContent(agent) {
50
+ const sections = [];
51
+ // Main mindset/system prompt
52
+ if (agent.mindset) {
53
+ sections.push(agent.mindset);
54
+ }
55
+ // Add purpose from description
56
+ sections.push(`## Your Single Purpose\n${agent.details.description}`);
57
+ // Add boundaries if provided
58
+ if (agent.boundaries) {
59
+ if (agent.boundaries.will?.length > 0) {
60
+ sections.push(`## What You Will Do\n${agent.boundaries.will.map(b => `- ${b}`).join('\n')}`);
61
+ }
62
+ if (agent.boundaries.wont?.length > 0) {
63
+ sections.push(`## What You Won't Do\n${agent.boundaries.wont.map(b => `- ${b}`).join('\n')}`);
64
+ }
65
+ }
66
+ // Add tasks as capabilities
67
+ if (agent.tasks && agent.tasks.length > 0) {
68
+ sections.push(`## Your Capabilities\n${agent.tasks.map(t => `- ${t}`).join('\n')}`);
69
+ }
70
+ // Add flow if provided
71
+ if (agent.flow) {
72
+ if (agent.flow.phases && agent.flow.phases.length > 0) {
73
+ const phaseList = agent.flow.phases.map(p => {
74
+ let item = `- ${p.name}`;
75
+ if (p.tollgate)
76
+ item += ` (Tollgate: ${p.tollgate})`;
77
+ return item;
78
+ }).join('\n');
79
+ sections.push(`## Your Workflow\n${phaseList}`);
80
+ }
81
+ if (agent.flow.priorities && agent.flow.priorities.length > 0) {
82
+ sections.push(`## Priorities\n${agent.flow.priorities.map(p => `- ${p}`).join('\n')}`);
83
+ }
84
+ }
85
+ // Add output format if provided
86
+ if (agent.output) {
87
+ let outputSection = `## Output Format\nFormat: ${agent.output.format}\n`;
88
+ if (agent.output.includes && agent.output.includes.length > 0) {
89
+ outputSection += `\nShould include:\n${agent.output.includes.map(i => `- ${i}`).join('\n')}`;
90
+ }
91
+ sections.push(outputSection);
92
+ }
93
+ // Add notes if any
94
+ if (agent.details.notes && agent.details.notes.length > 0) {
95
+ sections.push(`## Important Notes\n${agent.details.notes.map(n => `- ${n}`).join('\n')}`);
96
+ }
97
+ return sections.join('\n\n');
98
+ }
99
+ formatAgent(agent) {
100
+ const frontmatter = this.generateFrontmatter(agent);
101
+ const content = this.generateContent(agent);
102
+ return {
103
+ format: this.format,
104
+ filename: `${agent.id}.md`,
105
+ content: `---\n${frontmatter}---\n\n${content}`,
106
+ metadata: {
107
+ platform: 'claude-code',
108
+ version: agent.version || '1.0.0'
109
+ }
110
+ };
111
+ }
112
+ formatAgents(agents) {
113
+ return agents.map(agent => this.formatAgent(agent));
114
+ }
115
+ generateFrontmatter(agent) {
116
+ const lines = [];
117
+ // Required fields
118
+ lines.push(`name: ${agent.id}`);
119
+ lines.push(`description: ${this.escapeYaml(agent.description)}`);
120
+ // Optional tools
121
+ if (agent.tools && agent.tools.length > 0) {
122
+ lines.push(`tools: ${agent.tools.join(', ')}`);
123
+ }
124
+ return lines.join('\n') + '\n';
125
+ }
126
+ generateContent(agent) {
127
+ const sections = [];
128
+ // Main system prompt
129
+ sections.push(agent.systemPrompt);
130
+ // Add purpose section
131
+ if (agent.purpose) {
132
+ sections.push(`## Your Single Purpose\n${agent.purpose}`);
133
+ }
134
+ // Add capabilities
135
+ if (agent.capabilities.length > 0) {
136
+ sections.push(`## Your Capabilities\n${agent.capabilities.map(c => `- ${c}`).join('\n')}`);
137
+ }
138
+ // Add examples if provided
139
+ if (agent.examples && agent.examples.length > 0) {
140
+ sections.push(this.formatExamples(agent.examples));
141
+ }
142
+ // Add dependencies note if any
143
+ if (agent.dependencies && agent.dependencies.length > 0) {
144
+ sections.push(`## Dependencies\nThis agent requires: ${agent.dependencies.join(', ')}`);
145
+ }
146
+ return sections.join('\n\n');
147
+ }
148
+ formatExamples(examples) {
149
+ const exampleSections = examples.map(ex => {
150
+ let section = '### Example';
151
+ if (ex.description) {
152
+ section += `: ${ex.description}`;
153
+ }
154
+ section += '\n\n**Input:**\n```\n' + ex.input + '\n```\n\n';
155
+ section += '**Output:**\n```\n' + ex.output + '\n```';
156
+ return section;
157
+ });
158
+ return `## Examples\n\n${exampleSections.join('\n\n')}`;
159
+ }
160
+ escapeYaml(str) {
161
+ // Escape special YAML characters
162
+ if (str.includes(':') || str.includes('"') || str.includes("'") || str.includes('\n')) {
163
+ return `"${str.replace(/"/g, '\\"')}"`;
164
+ }
165
+ return str;
166
+ }
167
+ parseAgent(content) {
168
+ // Parse YAML frontmatter and markdown back to Agent
169
+ const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
170
+ if (!frontmatterMatch) {
171
+ throw new Error('Invalid Claude Code agent format: missing frontmatter');
172
+ }
173
+ const frontmatter = this.parseFrontmatter(frontmatterMatch[1]);
174
+ const markdown = content.slice(frontmatterMatch[0].length).trim();
175
+ return {
176
+ id: frontmatter.name,
177
+ name: frontmatter.name,
178
+ description: frontmatter.description,
179
+ tools: frontmatter.tools ? frontmatter.tools.split(',').map(t => t.trim()) : [],
180
+ systemPrompt: markdown,
181
+ purpose: this.extractSection(markdown, 'Your Single Purpose'),
182
+ capabilities: this.extractListSection(markdown, 'Your Capabilities'),
183
+ examples: this.extractExamples(markdown),
184
+ dependencies: this.extractListSection(markdown, 'Dependencies')
185
+ };
186
+ }
187
+ parseFrontmatter(yaml) {
188
+ const result = {};
189
+ const lines = yaml.split('\n');
190
+ for (const line of lines) {
191
+ const match = line.match(/^(\w+):\s*(.+)$/);
192
+ if (match) {
193
+ result[match[1]] = match[2].replace(/^["']|["']$/g, '');
194
+ }
195
+ }
196
+ return result;
197
+ }
198
+ extractSection(markdown, heading) {
199
+ const regex = new RegExp(`## ${heading}\\n([^#]+)`, 'i');
200
+ const match = markdown.match(regex);
201
+ return match ? match[1].trim() : '';
202
+ }
203
+ extractListSection(markdown, heading) {
204
+ const section = this.extractSection(markdown, heading);
205
+ if (!section)
206
+ return [];
207
+ return section
208
+ .split('\n')
209
+ .filter(line => line.startsWith('-'))
210
+ .map(line => line.replace(/^-\s*/, '').trim());
211
+ }
212
+ extractExamples(_markdown) {
213
+ // TODO: Implement example extraction from markdown
214
+ return [];
215
+ }
216
+ }
217
+ //# sourceMappingURL=claude-code-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-formatter.js","sourceRoot":"","sources":["../../../src/agents/formatters/claude-code-formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { AgentFormat, AgentFormatter } from '../types.js';
2
+ /**
3
+ * Factory for creating agent formatters based on platform
4
+ * Currently only supports Claude Code format
5
+ */
6
+ export declare class FormatterFactory {
7
+ private static formatters;
8
+ /**
9
+ * Get formatter for a specific platform
10
+ */
11
+ static getFormatter(format: AgentFormat): AgentFormatter;
12
+ /**
13
+ * Register a custom formatter
14
+ */
15
+ static registerFormatter(format: AgentFormat, formatter: AgentFormatter): void;
16
+ /**
17
+ * Get all available formats
18
+ */
19
+ static getAvailableFormats(): AgentFormat[];
20
+ /**
21
+ * Detect format based on platform or environment
22
+ */
23
+ static detectFormat(platform?: string): AgentFormat;
24
+ }
25
+ //# sourceMappingURL=formatter-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter-factory.d.ts","sourceRoot":"","sources":["../../../src/agents/formatters/formatter-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI1D;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,UAAU,CAEtB;IAEH;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc;IAQxD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,GAAG,IAAI;IAI9E;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,WAAW,EAAE;IAI3C;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW;CAyBpD"}
@@ -0,0 +1,61 @@
1
+ import { AgentFormat } from '../types.js';
2
+ import { ClaudeCodeFormatter } from './claude-code-formatter.js';
3
+ import { PlatformConfigAdapter } from '../../storage/platform-config-adapter.js';
4
+ /**
5
+ * Factory for creating agent formatters based on platform
6
+ * Currently only supports Claude Code format
7
+ */
8
+ export class FormatterFactory {
9
+ static formatters = new Map([
10
+ [AgentFormat.CLAUDE_CODE, new ClaudeCodeFormatter()],
11
+ ]);
12
+ /**
13
+ * Get formatter for a specific platform
14
+ */
15
+ static getFormatter(format) {
16
+ const formatter = this.formatters.get(format);
17
+ if (!formatter) {
18
+ throw new Error(`No formatter available for format: ${format}`);
19
+ }
20
+ return formatter;
21
+ }
22
+ /**
23
+ * Register a custom formatter
24
+ */
25
+ static registerFormatter(format, formatter) {
26
+ this.formatters.set(format, formatter);
27
+ }
28
+ /**
29
+ * Get all available formats
30
+ */
31
+ static getAvailableFormats() {
32
+ return Array.from(this.formatters.keys());
33
+ }
34
+ /**
35
+ * Detect format based on platform or environment
36
+ */
37
+ static detectFormat(platform) {
38
+ // Platform-specific detection
39
+ if (platform) {
40
+ switch (platform.toLowerCase()) {
41
+ case 'claude':
42
+ case 'claude-code':
43
+ case 'claude-desktop':
44
+ case 'anthropic':
45
+ return AgentFormat.CLAUDE_CODE;
46
+ default:
47
+ throw new Error(`Unsupported platform: ${platform}. Only Claude Code is currently supported.`);
48
+ }
49
+ }
50
+ // Use the existing platform detection from PlatformConfigAdapter
51
+ const detectedPlatform = PlatformConfigAdapter.detectPlatform();
52
+ switch (detectedPlatform) {
53
+ case 'claude-code':
54
+ case 'claude-desktop':
55
+ return AgentFormat.CLAUDE_CODE;
56
+ default:
57
+ throw new Error(`Unsupported platform: ${detectedPlatform}. Only Claude Code is currently supported.`);
58
+ }
59
+ }
60
+ }
61
+ //# sourceMappingURL=formatter-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter-factory.js","sourceRoot":"","sources":["../../../src/agents/formatters/formatter-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,CAA8B;QAC/D,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,mBAAmB,EAAE,CAAC;KACrD,CAAC,CAAC;IAEH;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,MAAmB;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAmB,EAAE,SAAyB;QACrE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAiB;QACnC,8BAA8B;QAC9B,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC/B,KAAK,QAAQ,CAAC;gBACd,KAAK,aAAa,CAAC;gBACnB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,WAAW;oBACd,OAAO,WAAW,CAAC,WAAW,CAAC;gBACjC;oBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,4CAA4C,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,cAAc,EAAE,CAAC;QAEhE,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,aAAa,CAAC;YACnB,KAAK,gBAAgB;gBACnB,OAAO,WAAW,CAAC,WAAW,CAAC;YACjC;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,gBAAgB,4CAA4C,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Core agent definition that's platform-agnostic
3
+ */
4
+ export interface Agent {
5
+ id: string;
6
+ name: string;
7
+ description: string;
8
+ category?: string;
9
+ purpose?: string;
10
+ capabilities: string[];
11
+ tools?: string[];
12
+ systemPrompt: string;
13
+ examples?: AgentExample[];
14
+ dependencies?: string[];
15
+ tags?: string[];
16
+ version?: string;
17
+ }
18
+ export interface AgentExample {
19
+ input: string;
20
+ output: string;
21
+ description?: string;
22
+ }
23
+ /**
24
+ * Platform-specific agent formats
25
+ */
26
+ export declare enum AgentFormat {
27
+ CLAUDE_CODE = "claude-code",// YAML frontmatter + markdown
28
+ OPENAI = "openai",// JSON format for OpenAI assistants
29
+ LANGCHAIN = "langchain",// Python code
30
+ MARKDOWN = "markdown",// Pure markdown
31
+ JSON = "json"
32
+ }
33
+ /**
34
+ * Formatted agent ready for a specific platform
35
+ */
36
+ export interface FormattedAgent {
37
+ format: AgentFormat;
38
+ filename: string;
39
+ content: string;
40
+ metadata?: Record<string, any>;
41
+ }
42
+ /**
43
+ * Agent formatter interface - each platform implements this
44
+ */
45
+ export interface AgentFormatter {
46
+ format: AgentFormat;
47
+ /**
48
+ * Convert an agent definition to platform-specific format
49
+ */
50
+ formatAgent(agent: Agent): FormattedAgent;
51
+ /**
52
+ * Format multiple agents
53
+ */
54
+ formatAgents(agents: Agent[]): FormattedAgent[];
55
+ /**
56
+ * Parse platform-specific format back to agent definition
57
+ */
58
+ parseAgent?(content: string): Agent;
59
+ /**
60
+ * Get the platform-specific repository context file path
61
+ */
62
+ getRepoContextFilePath(): string;
63
+ /**
64
+ * Get the platform-specific agent installation directory
65
+ */
66
+ getAgentInstallPath(): string;
67
+ }
68
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB,WAAW,gBAAgB,CAAK,8BAA8B;IAC9D,MAAM,WAAW,CAAe,oCAAoC;IACpE,SAAS,cAAc,CAAS,cAAc;IAC9C,QAAQ,aAAa,CAAW,gBAAgB;IAChD,IAAI,SAAS;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAAC;IAE1C;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC;IAEhD;;OAEG;IACH,UAAU,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAEpC;;OAEG;IACH,sBAAsB,IAAI,MAAM,CAAC;IAEjC;;OAEG;IACH,mBAAmB,IAAI,MAAM,CAAC;CAC/B"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Platform-specific agent formats
3
+ */
4
+ export var AgentFormat;
5
+ (function (AgentFormat) {
6
+ AgentFormat["CLAUDE_CODE"] = "claude-code";
7
+ AgentFormat["OPENAI"] = "openai";
8
+ AgentFormat["LANGCHAIN"] = "langchain";
9
+ AgentFormat["MARKDOWN"] = "markdown";
10
+ AgentFormat["JSON"] = "json"; // Generic JSON
11
+ })(AgentFormat || (AgentFormat = {}));
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAwBA;;GAEG;AACH,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,0CAA2B,CAAA;IAC3B,gCAAiB,CAAA;IACjB,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;IACrB,4BAAa,CAAA,CAAmB,eAAe;AACjD,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB"}
@@ -0,0 +1,10 @@
1
+ import { ScriptAnalysis } from '../types.js';
2
+ export declare class ScriptAnalyzer {
3
+ analyze(scripts: Record<string, string> | undefined): ScriptAnalysis;
4
+ private analyzeTestScript;
5
+ private analyzeLintScript;
6
+ private analyzeBuildScript;
7
+ private analyzeDevScript;
8
+ private analyzeE2EScript;
9
+ }
10
+ //# sourceMappingURL=script-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-analyzer.d.ts","sourceRoot":"","sources":["../../../src/analyser/analyzers/script-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,cAAc;IAgBpE,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,gBAAgB;IAqCxB,OAAO,CAAC,gBAAgB;CA4BzB"}