@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
@@ -0,0 +1,307 @@
1
+ import { logger } from '../logger.js';
2
+ import { extractPaginationParams, parseCursor } from '../utils/pagination.js';
3
+ import { getSystemPrompt } from '../system-prompts.js';
4
+ /**
5
+ * ToolHandler - Handles roast tool execution with caching and pagination
6
+ * Extracted from BrutalistServer to follow Single Responsibility Principle
7
+ */
8
+ export class ToolHandler {
9
+ cliOrchestrator;
10
+ responseCache;
11
+ formatter;
12
+ config;
13
+ activeSessions;
14
+ handleStreamingEvent;
15
+ handleProgressUpdate;
16
+ ensureSessionCapacity;
17
+ constructor(cliOrchestrator, responseCache, formatter, config, activeSessions, handleStreamingEvent, handleProgressUpdate, ensureSessionCapacity) {
18
+ this.cliOrchestrator = cliOrchestrator;
19
+ this.responseCache = responseCache;
20
+ this.formatter = formatter;
21
+ this.config = config;
22
+ this.activeSessions = activeSessions;
23
+ this.handleStreamingEvent = handleStreamingEvent;
24
+ this.handleProgressUpdate = handleProgressUpdate;
25
+ this.ensureSessionCapacity = ensureSessionCapacity;
26
+ }
27
+ /**
28
+ * Unified handler for all roast tools - DRY principle
29
+ */
30
+ async handleRoastTool(config, args, extra) {
31
+ try {
32
+ // CRITICAL: Prevent recursion - reject tool calls from brutalist-spawned subprocesses
33
+ if (process.env.BRUTALIST_SUBPROCESS === '1') {
34
+ logger.warn(`🚫 Rejecting tool call from brutalist subprocess (recursion prevented)`);
35
+ return {
36
+ content: [{
37
+ type: "text",
38
+ text: `ERROR: Brutalist MCP tools cannot be used from within a brutalist-spawned CLI subprocess (recursion prevented)`
39
+ }]
40
+ };
41
+ }
42
+ const progressToken = extra._meta?.progressToken;
43
+ // Extract session context for security
44
+ // IMPORTANT: Use consistent "anonymous" for all anonymous users to enable cache sharing
45
+ const sessionId = extra?.sessionId ||
46
+ extra?._meta?.sessionId ||
47
+ extra?.headers?.['mcp-session-id'] ||
48
+ 'anonymous'; // Consistent for cache sharing across pagination requests
49
+ const requestId = `${sessionId}-${Date.now()}-${Math.random().toString(36).substring(7)}`;
50
+ logger.debug(`🔐 Processing request with session: ${sessionId.substring(0, 8)}..., request: ${requestId.substring(0, 12)}...`);
51
+ // Track session activity
52
+ if (!this.activeSessions.has(sessionId)) {
53
+ this.ensureSessionCapacity(); // Ensure capacity before adding new session
54
+ this.activeSessions.set(sessionId, {
55
+ startTime: Date.now(),
56
+ requestCount: 0,
57
+ lastActivity: Date.now()
58
+ });
59
+ }
60
+ const sessionInfo = this.activeSessions.get(sessionId);
61
+ sessionInfo.requestCount++;
62
+ sessionInfo.lastActivity = Date.now();
63
+ logger.debug(`Tool execution: ${config.name}, primaryArgField=${config.primaryArgField}`);
64
+ logger.debug(`Args: ${JSON.stringify(args, null, 2)}`);
65
+ // Extract pagination parameters
66
+ const paginationParams = extractPaginationParams(args);
67
+ if (args.cursor) {
68
+ const cursorParams = parseCursor(args.cursor);
69
+ Object.assign(paginationParams, cursorParams);
70
+ }
71
+ // Determine if pagination was explicitly requested by the user
72
+ const explicitPaginationRequested = args.offset !== undefined ||
73
+ args.limit !== undefined ||
74
+ args.cursor !== undefined ||
75
+ args.context_id !== undefined;
76
+ logger.info(`🔧 DEBUG: explicitPaginationRequested=${explicitPaginationRequested}, offset=${args.offset}, limit=${args.limit}, cursor=${args.cursor}, context_id=${args.context_id}, resume=${args.resume}`);
77
+ // Validate resume flag requires context_id
78
+ if (args.resume && !args.context_id) {
79
+ throw new Error(`The 'resume' flag requires a 'context_id' from a previous response. ` +
80
+ `Run an initial analysis first, then use the returned context_id with resume: true.`);
81
+ }
82
+ // Check cache if context_id provided
83
+ // Two modes: PAGINATION (context_id alone) vs CONTINUATION (context_id + resume: true)
84
+ let conversationHistory;
85
+ let resumeFollowUpQuestion; // Store follow-up for conversation history
86
+ let resumeOriginalParams; // Original params for filesystem tools
87
+ if (args.context_id && !args.force_refresh) {
88
+ const cachedResponse = await this.responseCache.getByContextId(args.context_id, sessionId);
89
+ if (cachedResponse) {
90
+ logger.info(`🎯 Cache HIT for context_id: ${args.context_id}`);
91
+ if (args.resume === true) {
92
+ // CONVERSATION CONTINUATION: User explicitly wants to continue with history injection
93
+ const textContent = args.content || args.idea || args.architecture || args.research || args.product || args.security || args.infrastructure;
94
+ const primaryArg = textContent || args[config.primaryArgField];
95
+ if (!primaryArg || primaryArg.trim() === '') {
96
+ throw new Error(`Conversation continuation (resume: true) requires new content/prompt. ` +
97
+ `Provide your follow-up question or comment in the content field.`);
98
+ }
99
+ // Store the follow-up question for conversation history
100
+ resumeFollowUpQuestion = primaryArg;
101
+ // Store original request params (for filesystem tools that need original targetPath)
102
+ resumeOriginalParams = cachedResponse.requestParams;
103
+ logger.info(`💬 Conversation continuation - new prompt: "${primaryArg.substring(0, 50)}..."`);
104
+ conversationHistory = cachedResponse.conversationHistory || [];
105
+ // Fall through to execute new analysis with history
106
+ }
107
+ else {
108
+ // PAGINATION: Just retrieving previous response (no resume flag)
109
+ logger.info(`📖 Pagination request - returning cached response`);
110
+ const cachedResult = {
111
+ success: true,
112
+ responses: [{
113
+ agent: 'cached',
114
+ success: true,
115
+ output: cachedResponse.content,
116
+ executionTime: 0
117
+ }]
118
+ };
119
+ return this.formatter.formatToolResponse(cachedResult, args.verbose, paginationParams, args.context_id, explicitPaginationRequested);
120
+ }
121
+ }
122
+ else {
123
+ logger.warn(`❌ Cache MISS for context_id: ${args.context_id}, session: ${sessionId}`);
124
+ throw new Error(`Context ID "${args.context_id}" not found in cache. ` +
125
+ `It may have expired (2 hour TTL) or belong to a different session. ` +
126
+ `Remove context_id parameter to run a new analysis.`);
127
+ }
128
+ }
129
+ // Generate cache key for this request
130
+ const cacheKey = this.responseCache.generateCacheKey(config.cacheKeyFields.reduce((acc, field) => {
131
+ acc.tool = config.name;
132
+ if (args[field] !== undefined)
133
+ acc[field] = args[field];
134
+ return acc;
135
+ }, {}));
136
+ // Check if we have a cached result (unless forcing refresh)
137
+ if (!args.force_refresh) {
138
+ const cachedContent = await this.responseCache.get(cacheKey, sessionId);
139
+ if (cachedContent) {
140
+ // Get existing context_id or create new alias
141
+ const existingContextId = this.responseCache.findContextIdForKey(cacheKey);
142
+ const contextId = existingContextId
143
+ ? this.responseCache.createAlias(existingContextId, cacheKey)
144
+ : this.responseCache.generateContextId(cacheKey);
145
+ logger.info(`🎯 Cache hit for new request, using context_id: ${contextId}`);
146
+ const cachedResult = {
147
+ success: true,
148
+ responses: [{
149
+ agent: 'cached',
150
+ success: true,
151
+ output: cachedContent,
152
+ executionTime: 0
153
+ }]
154
+ };
155
+ return this.formatter.formatToolResponse(cachedResult, args.verbose, paginationParams, contextId, explicitPaginationRequested);
156
+ }
157
+ }
158
+ // Build context with custom builder if available
159
+ let context = config.contextBuilder ? config.contextBuilder(args) : args.context;
160
+ // Get the primary argument (targetPath or content)
161
+ // All abstract tools now use 'content', filesystem tools use 'targetPath'
162
+ let primaryArg = args[config.primaryArgField];
163
+ // For resume mode with filesystem tools, use original targetPath from cached params
164
+ // and inject the follow-up question into context instead
165
+ const filesystemTools = ['codebase', 'fileStructure', 'dependencies', 'gitHistory', 'testCoverage'];
166
+ if (resumeOriginalParams && filesystemTools.includes(config.analysisType)) {
167
+ // Use original targetPath for the CLI execution (needed for path validation)
168
+ const originalTargetPath = resumeOriginalParams.targetPath;
169
+ if (originalTargetPath) {
170
+ logger.info(`🔄 Resume mode: Using original targetPath="${originalTargetPath}" for filesystem tool`);
171
+ primaryArg = originalTargetPath;
172
+ // Also restore workingDirectory if available
173
+ if (resumeOriginalParams.workingDirectory) {
174
+ args.workingDirectory = resumeOriginalParams.workingDirectory;
175
+ }
176
+ }
177
+ }
178
+ // Validate that primary argument is provided
179
+ if (!primaryArg) {
180
+ throw new Error(`Missing required argument: ${config.primaryArgField}`);
181
+ }
182
+ // Type narrowing: primaryArg is now guaranteed to be a string
183
+ const validatedPrimaryArg = primaryArg;
184
+ // If we have conversation history, inject it into the context
185
+ if (conversationHistory && conversationHistory.length > 0) {
186
+ const conversationContext = conversationHistory.map(msg => {
187
+ const role = msg.role === 'user' ? 'User' : 'Assistant';
188
+ return `${role}: ${msg.content}`;
189
+ }).join('\n\n---\n\n');
190
+ // For resume mode, inject the follow-up question into the context
191
+ const followUpContent = resumeFollowUpQuestion || '';
192
+ const contextPrefix = `## Previous Conversation\n\n${conversationContext}\n\n---\n\n## New User Prompt\n\n${followUpContent}\n\n`;
193
+ context = contextPrefix + (context || '');
194
+ logger.info(`💬 Injected ${conversationHistory.length} previous messages into context`);
195
+ }
196
+ logger.debug(`Primary arg: ${config.primaryArgField}="${validatedPrimaryArg}", analysisType="${config.analysisType}"`);
197
+ // Get system prompt (from deprecated field or system-prompts.ts)
198
+ const systemPrompt = config.systemPrompt || getSystemPrompt(config.analysisType);
199
+ // Run the analysis
200
+ const result = await this.executeBrutalistAnalysis(config.analysisType, validatedPrimaryArg, systemPrompt, context, args.workingDirectory, args.clis, args.verbose, args.models, progressToken, sessionId, requestId);
201
+ // Cache the result if successful
202
+ let contextId;
203
+ if (result.success && result.responses.length > 0) {
204
+ const fullContent = this.formatter.extractFullContent(result);
205
+ if (fullContent) {
206
+ const cacheData = config.cacheKeyFields.reduce((acc, field) => {
207
+ acc.tool = config.name;
208
+ if (args[field] !== undefined)
209
+ acc[field] = args[field];
210
+ return acc;
211
+ }, {});
212
+ // Build updated conversation history
213
+ // For resume mode, use the follow-up question; otherwise use primaryArg
214
+ const now = Date.now();
215
+ const userMessageContent = resumeFollowUpQuestion || primaryArg;
216
+ const updatedConversation = [
217
+ ...(conversationHistory || []),
218
+ { role: 'user', content: userMessageContent, timestamp: now },
219
+ { role: 'assistant', content: fullContent, timestamp: now }
220
+ ];
221
+ // If continuing a conversation (resume: true), update existing context_id
222
+ if (args.resume && args.context_id && conversationHistory) {
223
+ // Update existing cache entry with extended conversation
224
+ contextId = args.context_id;
225
+ await this.responseCache.updateByContextId(contextId, fullContent, updatedConversation, sessionId || 'anonymous');
226
+ logger.info(`✅ Updated conversation ${contextId} (now ${updatedConversation.length} messages)`);
227
+ }
228
+ else {
229
+ // New conversation - create new context_id
230
+ const { contextId: newId } = await this.responseCache.set(cacheData, fullContent, cacheKey, sessionId, requestId, updatedConversation);
231
+ contextId = newId;
232
+ logger.info(`✅ Cached new conversation with context ID: ${contextId} for session: ${sessionId?.substring(0, 8)}`);
233
+ }
234
+ }
235
+ }
236
+ return this.formatter.formatToolResponse(result, args.verbose, paginationParams, contextId, explicitPaginationRequested);
237
+ }
238
+ catch (error) {
239
+ return this.formatter.formatErrorResponse(error);
240
+ }
241
+ }
242
+ /**
243
+ * Execute brutalist analysis with CLI orchestrator
244
+ */
245
+ async executeBrutalistAnalysis(analysisType, primaryContent, systemPromptSpec, context, workingDirectory, clis, verbose, models, progressToken, sessionId, requestId) {
246
+ logger.info(`🏢 Starting brutalist analysis: ${analysisType}`);
247
+ logger.info(`🔧 DEBUG: clis=${clis?.join(',') || 'all'}, primaryContent=${primaryContent}`);
248
+ logger.debug("Executing brutalist analysis", {
249
+ primaryContent,
250
+ analysisType,
251
+ systemPromptSpec,
252
+ workingDirectory,
253
+ clis
254
+ });
255
+ try {
256
+ // Get CLI context for execution summary
257
+ logger.info(`🔧 DEBUG: About to detect CLI context`);
258
+ await this.cliOrchestrator.detectCLIContext();
259
+ logger.info(`🔧 DEBUG: CLI context detected successfully`);
260
+ // Execute CLI agent analysis (single or multi-CLI based on preferences)
261
+ logger.info(`🔍 Executing brutalist analysis with timeout: ${this.config.defaultTimeout}ms`);
262
+ logger.info(`🔧 DEBUG: About to call cliOrchestrator.executeBrutalistAnalysis`);
263
+ const responses = await this.cliOrchestrator.executeBrutalistAnalysis(analysisType, primaryContent, systemPromptSpec, context, {
264
+ workingDirectory: workingDirectory || this.config.workingDirectory,
265
+ timeout: this.config.defaultTimeout,
266
+ clis,
267
+ analysisType: analysisType,
268
+ models,
269
+ onStreamingEvent: this.handleStreamingEvent,
270
+ progressToken,
271
+ onProgress: progressToken && sessionId ?
272
+ (progress, total, message) => this.handleProgressUpdate(progressToken, progress, total, message, sessionId) : undefined,
273
+ sessionId,
274
+ requestId
275
+ });
276
+ logger.info(`🔧 DEBUG: cliOrchestrator.executeBrutalistAnalysis returned ${responses.length} responses`);
277
+ const successfulResponses = responses.filter(r => r.success);
278
+ const totalExecutionTime = responses.reduce((sum, r) => sum + r.executionTime, 0);
279
+ logger.info(`📊 Analysis complete: ${successfulResponses.length}/${responses.length} CLIs successful (${totalExecutionTime}ms total)`);
280
+ logger.info(`🔧 DEBUG: About to synthesize feedback`);
281
+ const synthesis = this.cliOrchestrator.synthesizeBrutalistFeedback(responses, analysisType);
282
+ logger.info(`🔧 DEBUG: Synthesis length: ${synthesis.length} characters`);
283
+ const result = {
284
+ success: successfulResponses.length > 0,
285
+ responses,
286
+ synthesis,
287
+ analysisType,
288
+ targetPath: primaryContent,
289
+ executionSummary: {
290
+ totalCLIs: responses.length,
291
+ successfulCLIs: successfulResponses.length,
292
+ failedCLIs: responses.length - successfulResponses.length,
293
+ totalExecutionTime,
294
+ selectedCLI: responses.length === 1 ? responses[0].agent : undefined,
295
+ selectionMethod: responses.length === 1 ? responses[0].selectionMethod : 'multi-cli'
296
+ }
297
+ };
298
+ logger.info(`🔧 DEBUG: Returning result with success=${result.success}`);
299
+ return result;
300
+ }
301
+ catch (error) {
302
+ logger.error("Brutalist analysis execution failed", error);
303
+ throw error;
304
+ }
305
+ }
306
+ }
307
+ //# sourceMappingURL=tool-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-handler.js","sourceRoot":"","sources":["../../src/handlers/tool-handler.ts"],"names":[],"mappings":"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"}
@@ -27,8 +27,8 @@ export const ARGUMENT_SPACES = {
27
27
  name: 'Extended Text Input',
28
28
  base: FILESYSTEM_ARGUMENT_SPACE.base,
29
29
  domain: TEXT_INPUT_ARGUMENT_SPACE.domain.extend({
30
- resources: z.string().optional().describe("Available resources (budget, team, time, skills)"),
31
- timeline: z.string().optional().describe("Expected timeline or deadline")
30
+ resources: z.string().optional().describe("Available resources (budget, team, time)"),
31
+ timeline: z.string().optional().describe("Expected timeline")
32
32
  }),
33
33
  computed: (args) => ({
34
34
  workingDirectory: args.targetPath || '.',
@@ -41,9 +41,9 @@ export const ARGUMENT_SPACES = {
41
41
  name: 'Architecture Specific',
42
42
  base: FILESYSTEM_ARGUMENT_SPACE.base,
43
43
  domain: TEXT_INPUT_ARGUMENT_SPACE.domain.extend({
44
- scale: z.string().optional().describe("Expected scale/load (users, requests, data)"),
45
- constraints: z.string().optional().describe("Budget, timeline, or technical constraints"),
46
- deployment: z.string().optional().describe("Deployment environment and strategy")
44
+ scale: z.string().optional().describe("Expected scale/load"),
45
+ constraints: z.string().optional().describe("Technical/budget constraints"),
46
+ deployment: z.string().optional().describe("Deployment strategy")
47
47
  }),
48
48
  computed: (args) => ({
49
49
  workingDirectory: args.targetPath || '.',
@@ -57,9 +57,9 @@ export const ARGUMENT_SPACES = {
57
57
  name: 'Research Specific',
58
58
  base: FILESYSTEM_ARGUMENT_SPACE.base,
59
59
  domain: TEXT_INPUT_ARGUMENT_SPACE.domain.extend({
60
- field: z.string().optional().describe("Research field (ML, systems, theory, etc.)"),
61
- claims: z.string().optional().describe("Main claims or contributions"),
62
- data: z.string().optional().describe("Data sources, datasets, or experimental setup")
60
+ field: z.string().optional().describe("Research field"),
61
+ claims: z.string().optional().describe("Main claims"),
62
+ data: z.string().optional().describe("Data sources/setup")
63
63
  }),
64
64
  computed: (args) => ({
65
65
  workingDirectory: args.targetPath || '.',
@@ -73,9 +73,9 @@ export const ARGUMENT_SPACES = {
73
73
  name: 'Security Specific',
74
74
  base: FILESYSTEM_ARGUMENT_SPACE.base,
75
75
  domain: TEXT_INPUT_ARGUMENT_SPACE.domain.extend({
76
- assets: z.string().optional().describe("Critical assets or data to protect"),
77
- threatModel: z.string().optional().describe("Known threats or attack vectors to consider"),
78
- compliance: z.string().optional().describe("Compliance requirements (GDPR, HIPAA, etc.)")
76
+ assets: z.string().optional().describe("Critical assets to protect"),
77
+ threatModel: z.string().optional().describe("Known threats"),
78
+ compliance: z.string().optional().describe("Compliance requirements")
79
79
  }),
80
80
  computed: (args) => ({
81
81
  workingDirectory: args.targetPath || '.',
@@ -89,9 +89,9 @@ export const ARGUMENT_SPACES = {
89
89
  name: 'Product Specific',
90
90
  base: FILESYSTEM_ARGUMENT_SPACE.base,
91
91
  domain: TEXT_INPUT_ARGUMENT_SPACE.domain.extend({
92
- users: z.string().optional().describe("Target users or user personas"),
93
- competition: z.string().optional().describe("Competitive landscape or alternatives"),
94
- metrics: z.string().optional().describe("Success metrics or KPIs")
92
+ users: z.string().optional().describe("Target users"),
93
+ competition: z.string().optional().describe("Competitors"),
94
+ metrics: z.string().optional().describe("Success metrics")
95
95
  }),
96
96
  computed: (args) => ({
97
97
  workingDirectory: args.targetPath || '.',
@@ -105,9 +105,9 @@ export const ARGUMENT_SPACES = {
105
105
  name: 'Infrastructure Specific',
106
106
  base: FILESYSTEM_ARGUMENT_SPACE.base,
107
107
  domain: TEXT_INPUT_ARGUMENT_SPACE.domain.extend({
108
- scale: z.string().optional().describe("Expected scale and load patterns"),
109
- sla: z.string().optional().describe("SLA requirements or uptime targets"),
110
- budget: z.string().optional().describe("Infrastructure budget or cost constraints")
108
+ scale: z.string().optional().describe("Expected scale"),
109
+ sla: z.string().optional().describe("SLA/uptime targets"),
110
+ budget: z.string().optional().describe("Cost constraints")
111
111
  }),
112
112
  computed: (args) => ({
113
113
  workingDirectory: args.targetPath || '.',
@@ -1 +1 @@
1
- {"version":3,"file":"argument-spaces.js","sourceRoot":"","sources":["../../src/registry/argument-spaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"argument-spaces.js","sourceRoot":"","sources":["../../src/registry/argument-spaces.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * These are extracted from the original TOOL_CONFIGS and elevated to first-class abstractions.
5
5
  */
6
6
  import { CritiqueDomain } from '../domains/critique-domain.js';
7
+ import { ToolConfig } from '../types/tool-config.js';
7
8
  export declare const DOMAINS: Record<string, CritiqueDomain>;
8
9
  /**
9
10
  * Helper to get a domain by ID
@@ -21,4 +22,13 @@ export declare function findDomainsByCapability(capability: string): CritiqueDom
21
22
  * Helper to find domains by artifact type
22
23
  */
23
24
  export declare function findDomainsByArtifactType(artifactType: string): CritiqueDomain[];
25
+ /**
26
+ * Generate a ToolConfig from a CritiqueDomain.
27
+ * This is the canonical way to create tools - no more duplication.
28
+ */
29
+ export declare function generateToolConfig(domain: CritiqueDomain): ToolConfig;
30
+ /**
31
+ * Generate all tool configs from the domain registry.
32
+ */
33
+ export declare function generateAllToolConfigs(): ToolConfig[];
24
34
  //# sourceMappingURL=domains.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../src/registry/domains.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA4GlD,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,cAAc,EAAE,CAE9C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,CAI5E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,EAAE,CAIhF"}
1
+ {"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../src/registry/domains.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA8KlD,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,cAAc,EAAE,CAE9C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,CAI5E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,EAAE,CAIhF;AAwDD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,CAsBrE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,UAAU,EAAE,CAErD"}