@brutalist/mcp 0.8.1 → 1.0.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 (61) hide show
  1. package/README.md +34 -7
  2. package/dist/brutalist-server.d.ts +55 -16
  3. package/dist/brutalist-server.d.ts.map +1 -1
  4. package/dist/brutalist-server.js +550 -732
  5. package/dist/brutalist-server.js.map +1 -1
  6. package/dist/cli-agents.d.ts +9 -7
  7. package/dist/cli-agents.d.ts.map +1 -1
  8. package/dist/cli-agents.js +290 -202
  9. package/dist/cli-agents.js.map +1 -1
  10. package/dist/domains/argument-space.d.ts +12 -3
  11. package/dist/domains/argument-space.d.ts.map +1 -1
  12. package/dist/domains/argument-space.js +30 -23
  13. package/dist/domains/argument-space.js.map +1 -1
  14. package/dist/domains/critique-domain.d.ts +12 -0
  15. package/dist/domains/critique-domain.d.ts.map +1 -1
  16. package/dist/domains/critique-domain.js +12 -1
  17. package/dist/domains/critique-domain.js.map +1 -1
  18. package/dist/formatting/response-formatter.d.ts +43 -0
  19. package/dist/formatting/response-formatter.d.ts.map +1 -0
  20. package/dist/formatting/response-formatter.js +277 -0
  21. package/dist/formatting/response-formatter.js.map +1 -0
  22. package/dist/generators/tool-generator.d.ts.map +1 -1
  23. package/dist/generators/tool-generator.js +8 -6
  24. package/dist/generators/tool-generator.js.map +1 -1
  25. package/dist/handlers/tool-handler.d.ts +33 -0
  26. package/dist/handlers/tool-handler.d.ts.map +1 -0
  27. package/dist/handlers/tool-handler.js +307 -0
  28. package/dist/handlers/tool-handler.js.map +1 -0
  29. package/dist/registry/argument-spaces.js +17 -17
  30. package/dist/registry/argument-spaces.js.map +1 -1
  31. package/dist/registry/domains.d.ts +10 -0
  32. package/dist/registry/domains.d.ts.map +1 -1
  33. package/dist/registry/domains.js +153 -11
  34. package/dist/registry/domains.js.map +1 -1
  35. package/dist/system-prompts.d.ts +8 -0
  36. package/dist/system-prompts.d.ts.map +1 -0
  37. package/dist/system-prompts.js +596 -0
  38. package/dist/system-prompts.js.map +1 -0
  39. package/dist/tool-definitions.d.ts +20 -1
  40. package/dist/tool-definitions.d.ts.map +1 -1
  41. package/dist/tool-definitions.js +42 -213
  42. package/dist/tool-definitions.js.map +1 -1
  43. package/dist/tool-router.d.ts +12 -0
  44. package/dist/tool-router.d.ts.map +1 -0
  45. package/dist/tool-router.js +59 -0
  46. package/dist/tool-router.js.map +1 -0
  47. package/dist/transport/http-transport.d.ts +40 -0
  48. package/dist/transport/http-transport.d.ts.map +1 -0
  49. package/dist/transport/http-transport.js +182 -0
  50. package/dist/transport/http-transport.js.map +1 -0
  51. package/dist/types/brutalist.d.ts +1 -0
  52. package/dist/types/brutalist.d.ts.map +1 -1
  53. package/dist/types/tool-config.d.ts +4 -3
  54. package/dist/types/tool-config.d.ts.map +1 -1
  55. package/dist/types/tool-config.js +7 -6
  56. package/dist/types/tool-config.js.map +1 -1
  57. package/dist/utils.d.ts +1 -1
  58. package/dist/utils.d.ts.map +1 -1
  59. package/dist/utils.js +13 -6
  60. package/dist/utils.js.map +1 -1
  61. package/package.json +1 -1
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * These are extracted from the original TOOL_CONFIGS and elevated to first-class abstractions.
5
5
  */
6
+ import { ARGUMENT_SPACES } from './argument-spaces.js';
6
7
  export const DOMAINS = {
7
8
  CODEBASE: {
8
9
  id: 'codebase',
@@ -14,42 +15,78 @@ export const DOMAINS = {
14
15
  'performance_profiling',
15
16
  'scalability_analysis'
16
17
  ],
17
- artifactTypes: ['code', 'directory_structure']
18
+ artifactTypes: ['code', 'directory_structure'],
19
+ inputType: 'filesystem',
20
+ requiredFields: ['targetPath'],
21
+ optionalFields: [],
22
+ argumentSpaceId: 'FILESYSTEM',
23
+ promptType: 'codebase',
24
+ keywords: ['code', 'codebase', 'review', 'audit', 'quality']
18
25
  },
19
26
  FILE_STRUCTURE: {
20
27
  id: 'file_structure',
21
28
  name: 'File Organization',
22
29
  description: 'File and directory structure organization review',
23
30
  capabilities: ['static_analysis'],
24
- artifactTypes: ['directory_structure']
31
+ artifactTypes: ['directory_structure'],
32
+ inputType: 'filesystem',
33
+ requiredFields: ['targetPath'],
34
+ optionalFields: ['depth'],
35
+ argumentSpaceId: 'FILESYSTEM_DEPTH',
36
+ promptType: 'fileStructure',
37
+ keywords: ['files', 'structure', 'organization', 'directory']
25
38
  },
26
39
  DEPENDENCIES: {
27
40
  id: 'dependencies',
28
41
  name: 'Dependency Management',
29
42
  description: 'Package dependency analysis for security and version conflicts',
30
43
  capabilities: ['security_scanning', 'compliance_audit'],
31
- artifactTypes: ['package_manifest']
44
+ artifactTypes: ['package_manifest'],
45
+ inputType: 'filesystem',
46
+ requiredFields: ['targetPath'],
47
+ optionalFields: ['includeDevDeps'],
48
+ argumentSpaceId: 'PACKAGE_MANIFEST',
49
+ promptType: 'dependencies',
50
+ keywords: ['dependencies', 'packages', 'npm', 'security', 'versions']
32
51
  },
33
52
  GIT_HISTORY: {
34
53
  id: 'git_history',
35
54
  name: 'Git History',
36
55
  description: 'Version control history and workflow analysis',
37
56
  capabilities: ['static_analysis'],
38
- artifactTypes: ['git_history']
57
+ artifactTypes: ['git_history'],
58
+ inputType: 'filesystem',
59
+ requiredFields: ['targetPath'],
60
+ optionalFields: ['commitRange'],
61
+ argumentSpaceId: 'GIT_REPOSITORY',
62
+ promptType: 'gitHistory',
63
+ keywords: ['git', 'commits', 'history', 'workflow']
39
64
  },
40
65
  TEST_COVERAGE: {
41
66
  id: 'test_coverage',
42
67
  name: 'Test Coverage',
43
68
  description: 'Testing strategy and coverage analysis',
44
69
  capabilities: ['static_analysis'],
45
- artifactTypes: ['test_suite', 'code']
70
+ artifactTypes: ['test_suite', 'code'],
71
+ inputType: 'filesystem',
72
+ requiredFields: ['targetPath'],
73
+ optionalFields: ['runCoverage'],
74
+ argumentSpaceId: 'TEST_SUITE',
75
+ promptType: 'testCoverage',
76
+ keywords: ['tests', 'coverage', 'testing', 'quality']
46
77
  },
47
78
  IDEA: {
48
79
  id: 'idea',
49
80
  name: 'Idea Validation',
50
81
  description: 'Business and technical idea feasibility analysis',
51
82
  capabilities: ['threat_modeling', 'scalability_analysis', 'cost_estimation'],
52
- artifactTypes: ['text_description']
83
+ artifactTypes: ['text_description'],
84
+ inputType: 'content',
85
+ requiredFields: ['content', 'targetPath'],
86
+ optionalFields: ['resources', 'timeline'],
87
+ argumentSpaceId: 'EXTENDED_TEXT_INPUT',
88
+ promptType: 'idea',
89
+ keywords: ['idea', 'startup', 'concept', 'feasibility']
53
90
  },
54
91
  ARCHITECTURE: {
55
92
  id: 'architecture',
@@ -61,14 +98,26 @@ export const DOMAINS = {
61
98
  'performance_profiling',
62
99
  'threat_modeling'
63
100
  ],
64
- artifactTypes: ['architecture_diagram', 'text_description', 'code']
101
+ artifactTypes: ['architecture_diagram', 'text_description', 'code'],
102
+ inputType: 'content',
103
+ requiredFields: ['content', 'targetPath'],
104
+ optionalFields: ['scale', 'constraints', 'deployment'],
105
+ argumentSpaceId: 'ARCHITECTURE_SPECIFIC',
106
+ promptType: 'architecture',
107
+ keywords: ['architecture', 'design', 'system', 'scale']
65
108
  },
66
109
  RESEARCH: {
67
110
  id: 'research',
68
111
  name: 'Research Methodology',
69
112
  description: 'Academic research methodology and statistical validity review',
70
113
  capabilities: ['static_analysis'],
71
- artifactTypes: ['text_description', 'documentation']
114
+ artifactTypes: ['text_description', 'documentation'],
115
+ inputType: 'content',
116
+ requiredFields: ['content', 'targetPath'],
117
+ optionalFields: ['field', 'claims', 'data'],
118
+ argumentSpaceId: 'RESEARCH_SPECIFIC',
119
+ promptType: 'research',
120
+ keywords: ['research', 'methodology', 'academic', 'statistics']
72
121
  },
73
122
  SECURITY: {
74
123
  id: 'security',
@@ -80,14 +129,26 @@ export const DOMAINS = {
80
129
  'security_scanning',
81
130
  'compliance_audit'
82
131
  ],
83
- artifactTypes: ['code', 'architecture_diagram', 'api_spec', 'deployment_config']
132
+ artifactTypes: ['code', 'architecture_diagram', 'api_spec', 'deployment_config'],
133
+ inputType: 'content',
134
+ requiredFields: ['content', 'targetPath'],
135
+ optionalFields: ['assets', 'threatModel', 'compliance'],
136
+ argumentSpaceId: 'SECURITY_SPECIFIC',
137
+ promptType: 'security',
138
+ keywords: ['security', 'vulnerability', 'threat', 'pentest']
84
139
  },
85
140
  PRODUCT: {
86
141
  id: 'product',
87
142
  name: 'Product Review',
88
143
  description: 'Product design and user experience analysis',
89
144
  capabilities: ['usability_review', 'threat_modeling'],
90
- artifactTypes: ['text_description', 'documentation', 'code']
145
+ artifactTypes: ['text_description', 'documentation', 'code'],
146
+ inputType: 'content',
147
+ requiredFields: ['content', 'targetPath'],
148
+ optionalFields: ['users', 'competition', 'metrics'],
149
+ argumentSpaceId: 'PRODUCT_SPECIFIC',
150
+ promptType: 'product',
151
+ keywords: ['product', 'ux', 'user', 'market']
91
152
  },
92
153
  INFRASTRUCTURE: {
93
154
  id: 'infrastructure',
@@ -99,7 +160,13 @@ export const DOMAINS = {
99
160
  'threat_modeling',
100
161
  'performance_profiling'
101
162
  ],
102
- artifactTypes: ['deployment_config', 'text_description', 'architecture_diagram']
163
+ artifactTypes: ['deployment_config', 'text_description', 'architecture_diagram'],
164
+ inputType: 'content',
165
+ requiredFields: ['content', 'targetPath'],
166
+ optionalFields: ['scale', 'sla', 'budget'],
167
+ argumentSpaceId: 'INFRASTRUCTURE_SPECIFIC',
168
+ promptType: 'infrastructure',
169
+ keywords: ['infrastructure', 'devops', 'cloud', 'operations']
103
170
  }
104
171
  };
105
172
  /**
@@ -126,4 +193,79 @@ export function findDomainsByCapability(capability) {
126
193
  export function findDomainsByArtifactType(artifactType) {
127
194
  return Object.values(DOMAINS).filter(d => d.artifactTypes.includes(artifactType));
128
195
  }
196
+ /**
197
+ * Create a context builder function based on domain configuration
198
+ */
199
+ function createContextBuilder(domain, argSpace) {
200
+ // Special case: file_structure has a custom format
201
+ if (domain.id === 'file_structure') {
202
+ return (args) => `Project structure analysis (depth: ${args.depth || 3}). ${args.context || ''}`;
203
+ }
204
+ // Special case: dependencies has a prefix
205
+ if (domain.id === 'dependencies') {
206
+ return (args) => `Dependency analysis${args.includeDevDeps === false ? ' (production only)' : ''}. ${args.context || ''}`;
207
+ }
208
+ // Special case: git_history has a custom format
209
+ if (domain.id === 'git_history') {
210
+ return (args) => `Git history analysis${args.commitRange ? ` for ${args.commitRange}` : ' (last 20 commits)'}. ${args.context || ''}`;
211
+ }
212
+ // Special case: test_coverage has a custom format
213
+ if (domain.id === 'test_coverage') {
214
+ return (args) => `Test coverage analysis${args.runCoverage === false ? ' (static analysis only)' : ''}. ${args.context || ''}`;
215
+ }
216
+ // Field label overrides for better readability
217
+ const labelOverrides = {
218
+ threatModel: 'Threats',
219
+ includeDevDeps: 'Include Dev Dependencies',
220
+ runCoverage: 'Run Coverage'
221
+ };
222
+ // For domains with optional fields, build context from those fields
223
+ if (domain.optionalFields.length > 0) {
224
+ return (args) => {
225
+ let ctx = args.context || '';
226
+ // Add optional fields with human-readable labels
227
+ for (const field of domain.optionalFields) {
228
+ if (args[field]) {
229
+ // Use override label if available, otherwise convert camelCase to Title Case
230
+ const label = labelOverrides[field] ||
231
+ (field.charAt(0).toUpperCase() + field.slice(1).replace(/([A-Z])/g, ' $1'));
232
+ ctx += ` ${label}: ${args[field]}.`;
233
+ }
234
+ }
235
+ return ctx.trim();
236
+ };
237
+ }
238
+ // No context builder needed for simple domains
239
+ return undefined;
240
+ }
241
+ /**
242
+ * Generate a ToolConfig from a CritiqueDomain.
243
+ * This is the canonical way to create tools - no more duplication.
244
+ */
245
+ export function generateToolConfig(domain) {
246
+ const argSpace = ARGUMENT_SPACES[domain.argumentSpaceId];
247
+ if (!argSpace) {
248
+ throw new Error(`Unknown argument space: ${domain.argumentSpaceId}`);
249
+ }
250
+ // Build schema extensions from argument space DOMAIN fields only
251
+ // BASE_ROAST_SCHEMA is merged separately in brutalist-server.ts
252
+ const schemaExtensions = { ...argSpace.domain.shape };
253
+ // Build context builder based on domain type
254
+ const contextBuilder = createContextBuilder(domain, argSpace);
255
+ return {
256
+ name: `roast_${domain.id}`,
257
+ description: `Deploy brutal AI critics to systematically destroy your ${domain.name.toLowerCase()}. ${domain.description}.`,
258
+ analysisType: domain.promptType,
259
+ schemaExtensions,
260
+ cacheKeyFields: [...domain.requiredFields, ...domain.optionalFields, 'context', 'clis', 'models'],
261
+ primaryArgField: domain.inputType === 'filesystem' ? 'targetPath' : 'content',
262
+ contextBuilder
263
+ };
264
+ }
265
+ /**
266
+ * Generate all tool configs from the domain registry.
267
+ */
268
+ export function generateAllToolConfigs() {
269
+ return Object.values(DOMAINS).map(generateToolConfig);
270
+ }
129
271
  //# sourceMappingURL=domains.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"domains.js","sourceRoot":"","sources":["../../src/registry/domains.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domains.js","sourceRoot":"","sources":["../../src/registry/domains.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { BrutalistPromptType } from './cli-agents.js';
2
+ export declare const SYSTEM_PROMPTS: Record<BrutalistPromptType, string>;
3
+ /**
4
+ * Get the system prompt for a given analysis type.
5
+ * Falls back to a generic brutal prompt if type is not found.
6
+ */
7
+ export declare function getSystemPrompt(analysisType: BrutalistPromptType): string;
8
+ //# sourceMappingURL=system-prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-prompts.d.ts","sourceRoot":"","sources":["../src/system-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAyEtD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAmgB9D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,mBAAmB,GAAG,MAAM,CA4BzE"}