mycontext-cli 1.0.94 → 1.0.95

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 (31) hide show
  1. package/README.md +99 -5
  2. package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts +110 -0
  3. package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts.map +1 -0
  4. package/dist/agents/implementations/ClaudeAgentWorkflow.js +555 -0
  5. package/dist/agents/implementations/ClaudeAgentWorkflow.js.map +1 -0
  6. package/dist/agents/implementations/WorkflowAgent.d.ts +1 -0
  7. package/dist/agents/implementations/WorkflowAgent.d.ts.map +1 -1
  8. package/dist/agents/implementations/WorkflowAgent.js +8 -0
  9. package/dist/agents/implementations/WorkflowAgent.js.map +1 -1
  10. package/dist/package.json +2 -1
  11. package/dist/utils/claudeAgentClient.d.ts +98 -0
  12. package/dist/utils/claudeAgentClient.d.ts.map +1 -0
  13. package/dist/utils/claudeAgentClient.js +409 -0
  14. package/dist/utils/claudeAgentClient.js.map +1 -0
  15. package/dist/utils/contextManager.d.ts +86 -0
  16. package/dist/utils/contextManager.d.ts.map +1 -0
  17. package/dist/utils/contextManager.js +322 -0
  18. package/dist/utils/contextManager.js.map +1 -0
  19. package/dist/utils/hybridAIClient.d.ts +25 -1
  20. package/dist/utils/hybridAIClient.d.ts.map +1 -1
  21. package/dist/utils/hybridAIClient.js +69 -2
  22. package/dist/utils/hybridAIClient.js.map +1 -1
  23. package/dist/utils/mcpAgentIntegration.d.ts +104 -0
  24. package/dist/utils/mcpAgentIntegration.d.ts.map +1 -0
  25. package/dist/utils/mcpAgentIntegration.js +382 -0
  26. package/dist/utils/mcpAgentIntegration.js.map +1 -0
  27. package/dist/utils/toolPermissions.d.ts +105 -0
  28. package/dist/utils/toolPermissions.d.ts.map +1 -0
  29. package/dist/utils/toolPermissions.js +408 -0
  30. package/dist/utils/toolPermissions.js.map +1 -0
  31. package/package.json +2 -1
@@ -0,0 +1,105 @@
1
+ export type PermissionMode = 'strict' | 'permissive' | 'custom';
2
+ export type ToolCategory = 'file' | 'code' | 'web' | 'database' | 'api' | 'system' | 'custom';
3
+ export interface ToolPermission {
4
+ name: string;
5
+ category: ToolCategory;
6
+ allowed: boolean;
7
+ reason?: string;
8
+ restrictions?: string[];
9
+ }
10
+ export interface PermissionConfig {
11
+ mode: PermissionMode;
12
+ allowedTools: string[];
13
+ disallowedTools: string[];
14
+ categoryPermissions: Record<ToolCategory, boolean>;
15
+ customPermissions: Record<string, ToolPermission>;
16
+ restrictions: {
17
+ maxFileSize?: number;
18
+ allowedFileTypes?: string[];
19
+ blockedDomains?: string[];
20
+ maxApiCalls?: number;
21
+ allowedDirectories?: string[];
22
+ };
23
+ }
24
+ export declare class ToolPermissionManager {
25
+ private config;
26
+ private configFile;
27
+ private workingDirectory;
28
+ constructor(workingDirectory?: string);
29
+ /**
30
+ * Check if a tool is allowed
31
+ */
32
+ isToolAllowed(toolName: string, category?: ToolCategory): boolean;
33
+ /**
34
+ * Get permission reason for a tool
35
+ */
36
+ getPermissionReason(toolName: string): string;
37
+ /**
38
+ * Get all allowed tools
39
+ */
40
+ getAllowedTools(): string[];
41
+ /**
42
+ * Get all disallowed tools
43
+ */
44
+ getDisallowedTools(): string[];
45
+ /**
46
+ * Set permission mode
47
+ */
48
+ setPermissionMode(mode: PermissionMode): void;
49
+ /**
50
+ * Allow a specific tool
51
+ */
52
+ allowTool(toolName: string, reason?: string): void;
53
+ /**
54
+ * Disallow a specific tool
55
+ */
56
+ disallowTool(toolName: string, reason?: string): void;
57
+ /**
58
+ * Set category permissions
59
+ */
60
+ setCategoryPermission(category: ToolCategory, allowed: boolean): void;
61
+ /**
62
+ * Get permission configuration for Claude Agent SDK
63
+ */
64
+ getClaudeAgentConfig(): {
65
+ allowedTools?: string[];
66
+ disallowedTools?: string[];
67
+ permissionMode: 'strict' | 'permissive';
68
+ };
69
+ /**
70
+ * Validate tool usage against restrictions
71
+ */
72
+ validateToolUsage(toolName: string, params: any): {
73
+ allowed: boolean;
74
+ reason?: string;
75
+ };
76
+ /**
77
+ * Get permission summary
78
+ */
79
+ getPermissionSummary(): string;
80
+ /**
81
+ * Reset to default permissions
82
+ */
83
+ resetToDefaults(): void;
84
+ /**
85
+ * Get default permission configuration
86
+ */
87
+ private getDefaultConfig;
88
+ /**
89
+ * Load configuration from file
90
+ */
91
+ private loadConfig;
92
+ /**
93
+ * Save configuration to file
94
+ */
95
+ private saveConfig;
96
+ /**
97
+ * Get tools by category
98
+ */
99
+ private getToolsByCategory;
100
+ /**
101
+ * Get category for a tool
102
+ */
103
+ private getToolCategory;
104
+ }
105
+ //# sourceMappingURL=toolPermissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolPermissions.d.ts","sourceRoot":"","sources":["../../src/utils/toolPermissions.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACnD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClD,YAAY,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC/B,CAAC;CACH;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,gBAAgB,CAAC,EAAE,MAAM;IAOrC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO;IAkCjE;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IA0B7C;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IA2B3B;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAwB9B;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAM7C;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAoBlD;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAoBrD;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAMrE;;OAEG;IACH,oBAAoB,IAAI;QACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,cAAc,EAAE,QAAQ,GAAG,YAAY,CAAC;KACzC;IAWD;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAoDvF;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAa9B;;OAEG;IACH,eAAe,IAAI,IAAI;IAMvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsCxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAalB;;OAEG;IACH,OAAO,CAAC,UAAU;IAYlB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;IACH,OAAO,CAAC,eAAe;CA6BxB"}
@@ -0,0 +1,408 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.ToolPermissionManager = void 0;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const chalk_1 = __importDefault(require("chalk"));
43
+ class ToolPermissionManager {
44
+ constructor(workingDirectory) {
45
+ this.workingDirectory = workingDirectory || process.cwd();
46
+ this.configFile = path.join(this.workingDirectory, '.mycontext', 'permissions.json');
47
+ this.config = this.getDefaultConfig();
48
+ this.loadConfig();
49
+ }
50
+ /**
51
+ * Check if a tool is allowed
52
+ */
53
+ isToolAllowed(toolName, category) {
54
+ // Check explicit disallowed tools first
55
+ if (this.config.disallowedTools.includes(toolName)) {
56
+ return false;
57
+ }
58
+ // Check explicit allowed tools
59
+ if (this.config.allowedTools.includes(toolName)) {
60
+ return true;
61
+ }
62
+ // Check category permissions
63
+ if (category && this.config.categoryPermissions[category] !== undefined) {
64
+ return this.config.categoryPermissions[category];
65
+ }
66
+ // Check custom permissions
67
+ if (this.config.customPermissions[toolName]) {
68
+ return this.config.customPermissions[toolName].allowed;
69
+ }
70
+ // Apply mode-based permissions
71
+ switch (this.config.mode) {
72
+ case 'strict':
73
+ return false; // Deny by default
74
+ case 'permissive':
75
+ return true; // Allow by default
76
+ case 'custom':
77
+ return false; // Deny by default, require explicit permission
78
+ default:
79
+ return false;
80
+ }
81
+ }
82
+ /**
83
+ * Get permission reason for a tool
84
+ */
85
+ getPermissionReason(toolName) {
86
+ if (this.config.disallowedTools.includes(toolName)) {
87
+ return `Tool '${toolName}' is explicitly disallowed`;
88
+ }
89
+ if (this.config.allowedTools.includes(toolName)) {
90
+ return `Tool '${toolName}' is explicitly allowed`;
91
+ }
92
+ const customPermission = this.config.customPermissions[toolName];
93
+ if (customPermission && customPermission.reason) {
94
+ return customPermission.reason;
95
+ }
96
+ switch (this.config.mode) {
97
+ case 'strict':
98
+ return `Tool '${toolName}' denied by strict mode`;
99
+ case 'permissive':
100
+ return `Tool '${toolName}' allowed by permissive mode`;
101
+ case 'custom':
102
+ return `Tool '${toolName}' requires explicit permission`;
103
+ default:
104
+ return `Tool '${toolName}' permission unknown`;
105
+ }
106
+ }
107
+ /**
108
+ * Get all allowed tools
109
+ */
110
+ getAllowedTools() {
111
+ const allowedTools = new Set();
112
+ // Add explicitly allowed tools
113
+ this.config.allowedTools.forEach(tool => allowedTools.add(tool));
114
+ // Add tools allowed by category permissions
115
+ Object.entries(this.config.categoryPermissions).forEach(([category, allowed]) => {
116
+ if (allowed) {
117
+ const categoryTools = this.getToolsByCategory(category);
118
+ categoryTools.forEach(tool => allowedTools.add(tool));
119
+ }
120
+ });
121
+ // Add custom allowed tools
122
+ Object.entries(this.config.customPermissions).forEach(([tool, permission]) => {
123
+ if (permission.allowed) {
124
+ allowedTools.add(tool);
125
+ }
126
+ });
127
+ // Remove explicitly disallowed tools
128
+ this.config.disallowedTools.forEach(tool => allowedTools.delete(tool));
129
+ return Array.from(allowedTools);
130
+ }
131
+ /**
132
+ * Get all disallowed tools
133
+ */
134
+ getDisallowedTools() {
135
+ const disallowedTools = new Set();
136
+ // Add explicitly disallowed tools
137
+ this.config.disallowedTools.forEach(tool => disallowedTools.add(tool));
138
+ // Add tools disallowed by category permissions
139
+ Object.entries(this.config.categoryPermissions).forEach(([category, allowed]) => {
140
+ if (!allowed) {
141
+ const categoryTools = this.getToolsByCategory(category);
142
+ categoryTools.forEach(tool => disallowedTools.add(tool));
143
+ }
144
+ });
145
+ // Add custom disallowed tools
146
+ Object.entries(this.config.customPermissions).forEach(([tool, permission]) => {
147
+ if (!permission.allowed) {
148
+ disallowedTools.add(tool);
149
+ }
150
+ });
151
+ return Array.from(disallowedTools);
152
+ }
153
+ /**
154
+ * Set permission mode
155
+ */
156
+ setPermissionMode(mode) {
157
+ this.config.mode = mode;
158
+ this.saveConfig();
159
+ console.log(chalk_1.default.green(`✅ Permission mode set to: ${mode}`));
160
+ }
161
+ /**
162
+ * Allow a specific tool
163
+ */
164
+ allowTool(toolName, reason) {
165
+ if (!this.config.allowedTools.includes(toolName)) {
166
+ this.config.allowedTools.push(toolName);
167
+ }
168
+ // Remove from disallowed if present
169
+ this.config.disallowedTools = this.config.disallowedTools.filter(t => t !== toolName);
170
+ // Update custom permission
171
+ this.config.customPermissions[toolName] = {
172
+ name: toolName,
173
+ category: this.getToolCategory(toolName),
174
+ allowed: true,
175
+ reason: reason || `Tool '${toolName}' explicitly allowed`,
176
+ };
177
+ this.saveConfig();
178
+ console.log(chalk_1.default.green(`✅ Tool '${toolName}' allowed`));
179
+ }
180
+ /**
181
+ * Disallow a specific tool
182
+ */
183
+ disallowTool(toolName, reason) {
184
+ if (!this.config.disallowedTools.includes(toolName)) {
185
+ this.config.disallowedTools.push(toolName);
186
+ }
187
+ // Remove from allowed if present
188
+ this.config.allowedTools = this.config.allowedTools.filter(t => t !== toolName);
189
+ // Update custom permission
190
+ this.config.customPermissions[toolName] = {
191
+ name: toolName,
192
+ category: this.getToolCategory(toolName),
193
+ allowed: false,
194
+ reason: reason || `Tool '${toolName}' explicitly disallowed`,
195
+ };
196
+ this.saveConfig();
197
+ console.log(chalk_1.default.red(`❌ Tool '${toolName}' disallowed`));
198
+ }
199
+ /**
200
+ * Set category permissions
201
+ */
202
+ setCategoryPermission(category, allowed) {
203
+ this.config.categoryPermissions[category] = allowed;
204
+ this.saveConfig();
205
+ console.log(chalk_1.default.green(`✅ Category '${category}' permission set to: ${allowed ? 'allowed' : 'disallowed'}`));
206
+ }
207
+ /**
208
+ * Get permission configuration for Claude Agent SDK
209
+ */
210
+ getClaudeAgentConfig() {
211
+ const allowedTools = this.getAllowedTools();
212
+ const disallowedTools = this.getDisallowedTools();
213
+ return {
214
+ allowedTools: allowedTools.length > 0 ? allowedTools : undefined,
215
+ disallowedTools: disallowedTools.length > 0 ? disallowedTools : undefined,
216
+ permissionMode: this.config.mode === 'custom' ? 'strict' : this.config.mode,
217
+ };
218
+ }
219
+ /**
220
+ * Validate tool usage against restrictions
221
+ */
222
+ validateToolUsage(toolName, params) {
223
+ if (!this.isToolAllowed(toolName)) {
224
+ return {
225
+ allowed: false,
226
+ reason: this.getPermissionReason(toolName),
227
+ };
228
+ }
229
+ // Check file size restrictions
230
+ if (toolName.includes('file') && params?.filePath) {
231
+ const filePath = params.filePath;
232
+ if (fs.existsSync(filePath)) {
233
+ const stats = fs.statSync(filePath);
234
+ if (this.config.restrictions.maxFileSize && stats.size > this.config.restrictions.maxFileSize) {
235
+ return {
236
+ allowed: false,
237
+ reason: `File size (${stats.size} bytes) exceeds limit (${this.config.restrictions.maxFileSize} bytes)`,
238
+ };
239
+ }
240
+ }
241
+ }
242
+ // Check file type restrictions
243
+ if (toolName.includes('file') && params?.filePath) {
244
+ const ext = path.extname(params.filePath).toLowerCase();
245
+ if (this.config.restrictions.allowedFileTypes && !this.config.restrictions.allowedFileTypes.includes(ext)) {
246
+ return {
247
+ allowed: false,
248
+ reason: `File type '${ext}' is not allowed`,
249
+ };
250
+ }
251
+ }
252
+ // Check directory restrictions
253
+ if (toolName.includes('file') && params?.filePath) {
254
+ const fileDir = path.dirname(params.filePath);
255
+ if (this.config.restrictions.allowedDirectories) {
256
+ const isAllowed = this.config.restrictions.allowedDirectories.some(allowedDir => fileDir.startsWith(allowedDir));
257
+ if (!isAllowed) {
258
+ return {
259
+ allowed: false,
260
+ reason: `Directory '${fileDir}' is not in allowed directories`,
261
+ };
262
+ }
263
+ }
264
+ }
265
+ return { allowed: true };
266
+ }
267
+ /**
268
+ * Get permission summary
269
+ */
270
+ getPermissionSummary() {
271
+ const summary = {
272
+ mode: this.config.mode,
273
+ allowedTools: this.config.allowedTools.length,
274
+ disallowedTools: this.config.disallowedTools.length,
275
+ categoryPermissions: this.config.categoryPermissions,
276
+ customPermissions: Object.keys(this.config.customPermissions).length,
277
+ restrictions: this.config.restrictions,
278
+ };
279
+ return JSON.stringify(summary, null, 2);
280
+ }
281
+ /**
282
+ * Reset to default permissions
283
+ */
284
+ resetToDefaults() {
285
+ this.config = this.getDefaultConfig();
286
+ this.saveConfig();
287
+ console.log(chalk_1.default.green('✅ Permissions reset to defaults'));
288
+ }
289
+ /**
290
+ * Get default permission configuration
291
+ */
292
+ getDefaultConfig() {
293
+ return {
294
+ mode: 'permissive',
295
+ allowedTools: [
296
+ 'read_file',
297
+ 'write_file',
298
+ 'list_directory',
299
+ 'search_code',
300
+ 'generate_component',
301
+ 'compile_prd',
302
+ 'validate_component',
303
+ ],
304
+ disallowedTools: [
305
+ 'delete_file',
306
+ 'execute_command',
307
+ 'install_package',
308
+ 'run_tests',
309
+ ],
310
+ categoryPermissions: {
311
+ file: true,
312
+ code: true,
313
+ web: false,
314
+ database: false,
315
+ api: false,
316
+ system: false,
317
+ custom: false,
318
+ },
319
+ customPermissions: {},
320
+ restrictions: {
321
+ maxFileSize: 10 * 1024 * 1024, // 10MB
322
+ allowedFileTypes: ['.ts', '.tsx', '.js', '.jsx', '.md', '.json', '.css'],
323
+ blockedDomains: [],
324
+ maxApiCalls: 100,
325
+ allowedDirectories: [this.workingDirectory],
326
+ },
327
+ };
328
+ }
329
+ /**
330
+ * Load configuration from file
331
+ */
332
+ loadConfig() {
333
+ try {
334
+ if (fs.existsSync(this.configFile)) {
335
+ const content = fs.readFileSync(this.configFile, 'utf8');
336
+ const loadedConfig = JSON.parse(content);
337
+ this.config = { ...this.getDefaultConfig(), ...loadedConfig };
338
+ console.log(chalk_1.default.green('✅ Permission configuration loaded'));
339
+ }
340
+ }
341
+ catch (error) {
342
+ console.log(chalk_1.default.yellow(`⚠️ Could not load permission config: ${error.message}`));
343
+ }
344
+ }
345
+ /**
346
+ * Save configuration to file
347
+ */
348
+ saveConfig() {
349
+ try {
350
+ const configDir = path.dirname(this.configFile);
351
+ if (!fs.existsSync(configDir)) {
352
+ fs.mkdirSync(configDir, { recursive: true });
353
+ }
354
+ fs.writeFileSync(this.configFile, JSON.stringify(this.config, null, 2));
355
+ }
356
+ catch (error) {
357
+ console.log(chalk_1.default.red(`❌ Could not save permission config: ${error.message}`));
358
+ }
359
+ }
360
+ /**
361
+ * Get tools by category
362
+ */
363
+ getToolsByCategory(category) {
364
+ const toolCategories = {
365
+ file: ['read_file', 'write_file', 'delete_file', 'list_directory', 'search_files'],
366
+ code: ['generate_component', 'refine_component', 'validate_component', 'compile_prd', 'search_code'],
367
+ web: ['web_search', 'fetch_url', 'scrape_content'],
368
+ database: ['query_database', 'update_database', 'create_table'],
369
+ api: ['api_call', 'webhook_trigger', 'oauth_request'],
370
+ system: ['execute_command', 'install_package', 'run_tests', 'deploy_app'],
371
+ custom: [],
372
+ };
373
+ return toolCategories[category] || [];
374
+ }
375
+ /**
376
+ * Get category for a tool
377
+ */
378
+ getToolCategory(toolName) {
379
+ const categories = {
380
+ 'read_file': 'file',
381
+ 'write_file': 'file',
382
+ 'delete_file': 'file',
383
+ 'list_directory': 'file',
384
+ 'search_files': 'file',
385
+ 'generate_component': 'code',
386
+ 'refine_component': 'code',
387
+ 'validate_component': 'code',
388
+ 'compile_prd': 'code',
389
+ 'search_code': 'code',
390
+ 'web_search': 'web',
391
+ 'fetch_url': 'web',
392
+ 'scrape_content': 'web',
393
+ 'query_database': 'database',
394
+ 'update_database': 'database',
395
+ 'create_table': 'database',
396
+ 'api_call': 'api',
397
+ 'webhook_trigger': 'api',
398
+ 'oauth_request': 'api',
399
+ 'execute_command': 'system',
400
+ 'install_package': 'system',
401
+ 'run_tests': 'system',
402
+ 'deploy_app': 'system',
403
+ };
404
+ return categories[toolName] || 'custom';
405
+ }
406
+ }
407
+ exports.ToolPermissionManager = ToolPermissionManager;
408
+ //# sourceMappingURL=toolPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolPermissions.js","sourceRoot":"","sources":["../../src/utils/toolPermissions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mycontext-cli",
3
- "version": "1.0.94",
3
+ "version": "1.0.95",
4
4
  "description": "MyContext CLI - AI-powered component generation with interactive build strategy planning, shadcn/ui and Next.js 15 integration",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
@@ -47,6 +47,7 @@
47
47
  "url": "https://github.com/farajabien/mycontext/issues"
48
48
  },
49
49
  "dependencies": {
50
+ "@anthropic-ai/claude-agent-sdk": "^0.1.1",
50
51
  "axios": "^1.6.0",
51
52
  "chalk": "^5.3.0",
52
53
  "commander": "^11.1.0",