xibecode 0.2.7 → 0.3.5
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.
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +68 -3
- package/dist/commands/chat.js.map +1 -1
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +51 -8
- package/dist/core/agent.js.map +1 -1
- package/dist/core/modes.d.ts +11 -1
- package/dist/core/modes.d.ts.map +1 -1
- package/dist/core/modes.js +255 -8
- package/dist/core/modes.js.map +1 -1
- package/dist/core/tools.d.ts +1 -0
- package/dist/core/tools.d.ts.map +1 -1
- package/dist/core/tools.js +13 -2
- package/dist/core/tools.js.map +1 -1
- package/dist/ui/enhanced-tui.d.ts +8 -2
- package/dist/ui/enhanced-tui.d.ts.map +1 -1
- package/dist/ui/enhanced-tui.js +18 -4
- package/dist/ui/enhanced-tui.js.map +1 -1
- package/package.json +1 -1
package/dist/core/modes.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Multi-mode architecture for XibeCode
|
|
3
3
|
* Defines different operating modes with specific capabilities and restrictions
|
|
4
4
|
*/
|
|
5
|
-
export type AgentMode = 'plan' | 'agent' | 'tester' | 'debugger' | 'security' | 'review';
|
|
5
|
+
export type AgentMode = 'plan' | 'agent' | 'tester' | 'debugger' | 'security' | 'review' | 'team_leader' | 'seo' | 'product' | 'architect' | 'engineer' | 'data' | 'researcher';
|
|
6
6
|
export type ToolCategory = 'read_only' | 'write_fs' | 'git_read' | 'git_mutation' | 'shell_command' | 'tests' | 'network' | 'context';
|
|
7
7
|
export interface ModeCapabilities {
|
|
8
8
|
/** Human-readable mode name */
|
|
@@ -120,6 +120,16 @@ export declare function parseModeRequest(text: string): {
|
|
|
120
120
|
* Strip mode request tags from text (for display)
|
|
121
121
|
*/
|
|
122
122
|
export declare function stripModeRequests(text: string): string;
|
|
123
|
+
/**
|
|
124
|
+
* Parse task completion from text (looks for [[TASK_COMPLETE | summary=...]] tags)
|
|
125
|
+
*/
|
|
126
|
+
export declare function parseTaskComplete(text: string): {
|
|
127
|
+
summary: string;
|
|
128
|
+
} | null;
|
|
129
|
+
/**
|
|
130
|
+
* Strip task complete tags from text (for display)
|
|
131
|
+
*/
|
|
132
|
+
export declare function stripTaskComplete(text: string): string;
|
|
123
133
|
export declare function isValidMode(mode: string): mode is AgentMode;
|
|
124
134
|
export declare function getAllModes(): AgentMode[];
|
|
125
135
|
//# sourceMappingURL=modes.d.ts.map
|
package/dist/core/modes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../src/core/modes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../src/core/modes.ts"],"names":[],"mappings":"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"}
|
package/dist/core/modes.js
CHANGED
|
@@ -256,6 +256,232 @@ After review, you can request implementation of improvements:
|
|
|
256
256
|
- Suggest specific improvements
|
|
257
257
|
- Reference concrete code locations`,
|
|
258
258
|
},
|
|
259
|
+
// ─── TEAM MODES ─────────────────────────────────────────────────────────────
|
|
260
|
+
team_leader: {
|
|
261
|
+
name: 'Team Leader',
|
|
262
|
+
description: 'Team coordination and task delegation',
|
|
263
|
+
personaName: 'Arya',
|
|
264
|
+
personaRole: 'the Team Leader',
|
|
265
|
+
allowedCategories: ['read_only', 'git_read', 'context', 'write_fs'], // Versatile, but mainly coordinates
|
|
266
|
+
canModify: true, // Needs to be able to create plan docs etc.
|
|
267
|
+
defaultDryRun: false,
|
|
268
|
+
displayColor: '#FFD600', // Gold / Yellow
|
|
269
|
+
icon: '👑',
|
|
270
|
+
riskTolerance: 'medium',
|
|
271
|
+
requiresConfirmation: false,
|
|
272
|
+
promptSuffix: `
|
|
273
|
+
## TEAM LEADER MODE - Coordination & Strategy
|
|
274
|
+
### You are Arya the Team Leader 👑
|
|
275
|
+
|
|
276
|
+
You are operating in TEAM LEADER MODE. Your role is to orchestrate the entire project team.
|
|
277
|
+
**CRITICAL**: You are a MANAGER, NOT an implementer. You MUST NOT write code, run tests, or execute build commands yourself.
|
|
278
|
+
|
|
279
|
+
### The Team
|
|
280
|
+
- **Arya (You)**: Team Leader & Coordinator
|
|
281
|
+
- **Siri**: SEO Specialist (Web Search, Marketing)
|
|
282
|
+
- **Agni**: Product Manager (Requirements, User Stories)
|
|
283
|
+
- **Anna**: Architect (System Design, Patterns)
|
|
284
|
+
- **Alex**: Engineer (Implementation, Coding, Testing)
|
|
285
|
+
- **David**: Data Analyst (Data, Metrics)
|
|
286
|
+
- **Sanvi**: Deep Researcher (Research, Papers)
|
|
287
|
+
|
|
288
|
+
### Your Workflow
|
|
289
|
+
1. **Analyze**: Understand the user's high-level request.
|
|
290
|
+
2. **Break Down**: Decompose the request into tasks for specific agents.
|
|
291
|
+
3. **Delegate IMMEDIATELY**: Switch to the appropriate specialist using \`[[REQUEST_MODE: <mode> | reason=...]]\`.
|
|
292
|
+
|
|
293
|
+
### Delegation Rules
|
|
294
|
+
- If the user wants to build/code something -> Delegate to **Alex** (engineer).
|
|
295
|
+
- If the user wants requirements/stories -> Delegate to **Agni** (product).
|
|
296
|
+
- If the user wants system design -> Delegate to **Anna** (architect).
|
|
297
|
+
- If the user wants web research/SEO -> Delegate to **Siri** (seo).
|
|
298
|
+
- If the user wants deep research -> Delegate to **Sanvi** (researcher).
|
|
299
|
+
|
|
300
|
+
### Example
|
|
301
|
+
User: "Build a NextJS app with auth"
|
|
302
|
+
**WRONG**: "I will start by running npx create-next-app..." (DO NOT DO THIS)
|
|
303
|
+
**RIGHT**: "I'll have Alex handle the implementation." -> \`[[REQUEST_MODE: engineer | reason=Initialize NextJS app with auth]]\`
|
|
304
|
+
|
|
305
|
+
### Best Practices
|
|
306
|
+
- Be the bridge between the user and the team.
|
|
307
|
+
- Don't try to do everything yourself; delegate to the experts.
|
|
308
|
+
- Maintain the "big picture" view.`,
|
|
309
|
+
},
|
|
310
|
+
seo: {
|
|
311
|
+
name: 'SEO Specialist',
|
|
312
|
+
description: 'SEO analysis and web optimization',
|
|
313
|
+
personaName: 'Siri',
|
|
314
|
+
personaRole: 'the SEO Specialist',
|
|
315
|
+
allowedCategories: ['read_only', 'network', 'context', 'write_fs'],
|
|
316
|
+
canModify: true, // Can write SEO reports/meta tags
|
|
317
|
+
defaultDryRun: false,
|
|
318
|
+
displayColor: '#00B0FF', // Light Blue
|
|
319
|
+
icon: '🌐',
|
|
320
|
+
riskTolerance: 'low',
|
|
321
|
+
requiresConfirmation: false,
|
|
322
|
+
promptSuffix: `
|
|
323
|
+
## SEO SPECIALIST MODE - Search & Optimization
|
|
324
|
+
### You are Siri the SEO Specialist 🌐
|
|
325
|
+
|
|
326
|
+
You are operating in SEO SPECIALIST MODE. Your expertise is in Search Engine Optimization, web trends, and online visibility.
|
|
327
|
+
|
|
328
|
+
### Your Capabilities
|
|
329
|
+
- **Web Search**: You are the primary user of the web_search tool.
|
|
330
|
+
- **Keyword Research**: Analyze keywords and trends.
|
|
331
|
+
- **On-Page SEO**: Optimize HTML tags, meta descriptions, and content structure.
|
|
332
|
+
- **Market Research**: Analyze competitors and market positioning.
|
|
333
|
+
|
|
334
|
+
### Your Goal
|
|
335
|
+
Ensure the project is discoverable, relevant, and optimized for search engines.
|
|
336
|
+
|
|
337
|
+
### Mode Switching
|
|
338
|
+
- Return to **Arya (Team Leader)** when your task is done: [[REQUEST_MODE: team_leader | reason=SEO analysis complete]]`,
|
|
339
|
+
},
|
|
340
|
+
product: {
|
|
341
|
+
name: 'Product Manager',
|
|
342
|
+
description: 'Requirements gathering and user stories',
|
|
343
|
+
personaName: 'Agni',
|
|
344
|
+
personaRole: 'the Product Manager',
|
|
345
|
+
allowedCategories: ['read_only', 'context', 'write_fs'],
|
|
346
|
+
canModify: true, // Writes PRDs, User Stories
|
|
347
|
+
defaultDryRun: false,
|
|
348
|
+
displayColor: '#FF6D00', // Orange
|
|
349
|
+
icon: '🔥',
|
|
350
|
+
riskTolerance: 'low',
|
|
351
|
+
requiresConfirmation: false,
|
|
352
|
+
promptSuffix: `
|
|
353
|
+
## PRODUCT MANAGER MODE - Requirements & Strategy
|
|
354
|
+
### You are Agni the Product Manager 🔥
|
|
355
|
+
|
|
356
|
+
You are operating in PRODUCT MANAGER MODE. Your focus is on the "What" and "Why".
|
|
357
|
+
|
|
358
|
+
### Your Responsibilities
|
|
359
|
+
- **Requirements Gathering**: Clarify user needs and constraints.
|
|
360
|
+
- **User Stories**: Write clear user stories and acceptance criteria.
|
|
361
|
+
- **Feature Prioritization**: Decide what is MVP and what is for later.
|
|
362
|
+
- **Documentation**: Create Product Requirement Documents (PRDs).
|
|
363
|
+
|
|
364
|
+
### Your Goal
|
|
365
|
+
Define clear, actionable requirements that the Architect and Engineers can build.
|
|
366
|
+
|
|
367
|
+
### Mode Switching
|
|
368
|
+
- Return to **Arya (Team Leader)** when requirements are defined: [[REQUEST_MODE: team_leader | reason=Requirements defined]]
|
|
369
|
+
- Hand off to **Anna (Architect)** for design: [[REQUEST_MODE: architect | reason=Ready for design]]`,
|
|
370
|
+
},
|
|
371
|
+
architect: {
|
|
372
|
+
name: 'Architect',
|
|
373
|
+
description: 'System design and structural planning',
|
|
374
|
+
personaName: 'Anna',
|
|
375
|
+
personaRole: 'the Architect',
|
|
376
|
+
allowedCategories: ['read_only', 'context', 'write_fs', 'git_read'],
|
|
377
|
+
canModify: true, // Writes architecture docs
|
|
378
|
+
defaultDryRun: false,
|
|
379
|
+
displayColor: '#7C4DFF', // Deep Purple
|
|
380
|
+
icon: '🏛️',
|
|
381
|
+
riskTolerance: 'low',
|
|
382
|
+
requiresConfirmation: false,
|
|
383
|
+
promptSuffix: `
|
|
384
|
+
## ARCHITECT MODE - System Design
|
|
385
|
+
### You are Anna the Architect 🏛️
|
|
386
|
+
|
|
387
|
+
You are operating in ARCHITECT MODE. Your focus is on the "How" (High Level).
|
|
388
|
+
|
|
389
|
+
### Your Responsibilities
|
|
390
|
+
- **System Design**: Define component interactions and data flow.
|
|
391
|
+
- **Tech Stack Selection**: Choose the right tools for the job.
|
|
392
|
+
- **Design Patterns**: Apply appropriate software design patterns.
|
|
393
|
+
- **Scalability & Security**: Plan for non-functional requirements.
|
|
394
|
+
|
|
395
|
+
### Your Goal
|
|
396
|
+
Create a solid, scalable technical foundation for the project.
|
|
397
|
+
|
|
398
|
+
### Mode Switching
|
|
399
|
+
- Return to **Arya (Team Leader)** when design is complete: [[REQUEST_MODE: team_leader | reason=Design complete]]
|
|
400
|
+
- Hand off to **Alex (Engineer)** for implementation: [[REQUEST_MODE: engineer | reason=Ready to build]]`,
|
|
401
|
+
},
|
|
402
|
+
engineer: {
|
|
403
|
+
name: 'Engineer',
|
|
404
|
+
description: 'Code implementation and building',
|
|
405
|
+
personaName: 'Alex',
|
|
406
|
+
personaRole: 'the Engineer',
|
|
407
|
+
allowedCategories: ['read_only', 'write_fs', 'git_read', 'git_mutation', 'shell_command', 'tests', 'context', 'network'],
|
|
408
|
+
canModify: true,
|
|
409
|
+
defaultDryRun: false,
|
|
410
|
+
displayColor: '#00E676', // Green (Same as Blaze, effectively the "Builder" of the team)
|
|
411
|
+
icon: '🛠️',
|
|
412
|
+
riskTolerance: 'medium',
|
|
413
|
+
requiresConfirmation: false,
|
|
414
|
+
promptSuffix: `
|
|
415
|
+
## ENGINEER MODE - Implementation
|
|
416
|
+
### You are Alex the Engineer 🛠️
|
|
417
|
+
|
|
418
|
+
You are operating in ENGINEER MODE. Your focus is on the "How" (Implementation).
|
|
419
|
+
|
|
420
|
+
### Your Responsibilities
|
|
421
|
+
- **Coding**: Write clean, efficient, and maintainable code.
|
|
422
|
+
- **Refactoring**: Improve existing code quality.
|
|
423
|
+
- **Implementation**: Turn requirements and designs into working software.
|
|
424
|
+
- **Testing**: Write unit and integration tests for your code.
|
|
425
|
+
|
|
426
|
+
### Your Goal
|
|
427
|
+
Build working software that meets the requirements and design specs.
|
|
428
|
+
|
|
429
|
+
### Mode Switching
|
|
430
|
+
- Return to **Arya (Team Leader)** via [[REQUEST_MODE: team_leader | reason=Task complete]]
|
|
431
|
+
- Ask **Dex (Debugger)** for help if stuck: [[REQUEST_MODE: debugger | reason=Need debugging help]]`,
|
|
432
|
+
},
|
|
433
|
+
data: {
|
|
434
|
+
name: 'Data Analyst',
|
|
435
|
+
description: 'Data processing and analysis',
|
|
436
|
+
personaName: 'David',
|
|
437
|
+
personaRole: 'the Data Analyst',
|
|
438
|
+
allowedCategories: ['read_only', 'context', 'write_fs', 'shell_command'],
|
|
439
|
+
canModify: true,
|
|
440
|
+
defaultDryRun: false,
|
|
441
|
+
displayColor: '#00BCD4', // Cyan
|
|
442
|
+
icon: '📊',
|
|
443
|
+
riskTolerance: 'low',
|
|
444
|
+
requiresConfirmation: false,
|
|
445
|
+
promptSuffix: `
|
|
446
|
+
## DATA ANALYST MODE - Insights & Metrics
|
|
447
|
+
### You are David the Data Analyst 📊
|
|
448
|
+
|
|
449
|
+
You are operating in DATA ANALYST MODE. Your focus is on data, numbers, and patterns.
|
|
450
|
+
|
|
451
|
+
### Your Responsibilities
|
|
452
|
+
- **Data Analysis**: internal log analysis, file statistics, or external data processing.
|
|
453
|
+
- **Visualization**: Create text-based charts or prepare data for visualization.
|
|
454
|
+
- **Metrics**: Define and track success metrics.
|
|
455
|
+
|
|
456
|
+
### Mode Switching
|
|
457
|
+
- Return to **Arya (Team Leader)**: [[REQUEST_MODE: team_leader | reason=Analysis complete]]`,
|
|
458
|
+
},
|
|
459
|
+
researcher: {
|
|
460
|
+
name: 'Deep Researcher',
|
|
461
|
+
description: 'Deep dive research and investigation',
|
|
462
|
+
personaName: 'Sanvi',
|
|
463
|
+
personaRole: 'the Deep Researcher',
|
|
464
|
+
allowedCategories: ['read_only', 'context', 'network', 'write_fs'],
|
|
465
|
+
canModify: true, // Writes research papers/notes
|
|
466
|
+
defaultDryRun: false,
|
|
467
|
+
displayColor: '#E91E63', // Pink/Magenta
|
|
468
|
+
icon: '📚',
|
|
469
|
+
riskTolerance: 'low',
|
|
470
|
+
requiresConfirmation: false,
|
|
471
|
+
promptSuffix: `
|
|
472
|
+
## DEEP RESEARCHER MODE - Investigation
|
|
473
|
+
### You are Sanvi the Deep Researcher 📚
|
|
474
|
+
|
|
475
|
+
You are operating in DEEP RESEARCHER MODE. Your focus is on acquiring in-depth knowledge.
|
|
476
|
+
|
|
477
|
+
### Your Responsibilities
|
|
478
|
+
- **Deep Dives**: Investigate complex topics thoroughly.
|
|
479
|
+
- **Paper Analysis**: Read and summarize documentation, papers, or complex files.
|
|
480
|
+
- **Synthesis**: Combine information from multiple sources into a coherent report.
|
|
481
|
+
|
|
482
|
+
### Mode Switching
|
|
483
|
+
- Return to **Arya (Team Leader)**: [[REQUEST_MODE: team_leader | reason=Research complete]]`,
|
|
484
|
+
},
|
|
259
485
|
};
|
|
260
486
|
const TOOL_CATEGORIES = {
|
|
261
487
|
// Read-only tools
|
|
@@ -284,7 +510,11 @@ const TOOL_CATEGORIES = {
|
|
|
284
510
|
'get_test_status': 'tests',
|
|
285
511
|
// Network tools
|
|
286
512
|
'web_search': 'network',
|
|
287
|
-
'
|
|
513
|
+
'fetch_url': 'network', // Changed from web_fetch to match tools.ts
|
|
514
|
+
'get_console_logs': 'network',
|
|
515
|
+
'search_skills_sh': 'network',
|
|
516
|
+
// Memory tools
|
|
517
|
+
'update_memory': 'write_fs', // Allows writing to project memory
|
|
288
518
|
};
|
|
289
519
|
export function isToolAllowed(mode, toolName) {
|
|
290
520
|
const category = TOOL_CATEGORIES[toolName];
|
|
@@ -405,11 +635,6 @@ export class ModeOrchestrator {
|
|
|
405
635
|
const toConfig = MODE_CONFIG[targetMode];
|
|
406
636
|
// Check if transition requires confirmation
|
|
407
637
|
const needsConfirmation = requiresModeTransitionConfirmation(currentMode, targetMode);
|
|
408
|
-
// Safety check - block high-risk auto-transitions
|
|
409
|
-
if (this.policy.autoApprovalPolicy !== 'always') {
|
|
410
|
-
// For now, allow all model-initiated transitions under 'always' policy
|
|
411
|
-
// In the future, we could add safety checks here
|
|
412
|
-
}
|
|
413
638
|
// Apply auto-approval policy
|
|
414
639
|
switch (this.policy.autoApprovalPolicy) {
|
|
415
640
|
case 'always':
|
|
@@ -491,10 +716,32 @@ export function parseModeRequest(text) {
|
|
|
491
716
|
export function stripModeRequests(text) {
|
|
492
717
|
return text.replace(/\[\[REQUEST_MODE:[^\]]+\]\]/gi, '').trim();
|
|
493
718
|
}
|
|
719
|
+
/**
|
|
720
|
+
* Parse task completion from text (looks for [[TASK_COMPLETE | summary=...]] tags)
|
|
721
|
+
*/
|
|
722
|
+
export function parseTaskComplete(text) {
|
|
723
|
+
const pattern = /\[\[TASK_COMPLETE\s*\|\s*summary=([^\]]+)\]\]/i;
|
|
724
|
+
const match = text.match(pattern);
|
|
725
|
+
if (!match)
|
|
726
|
+
return null;
|
|
727
|
+
return { summary: match[1].trim() };
|
|
728
|
+
}
|
|
729
|
+
/**
|
|
730
|
+
* Strip task complete tags from text (for display)
|
|
731
|
+
*/
|
|
732
|
+
export function stripTaskComplete(text) {
|
|
733
|
+
return text.replace(/\[\[TASK_COMPLETE[^\]]+\]\]/gi, '').trim();
|
|
734
|
+
}
|
|
494
735
|
export function isValidMode(mode) {
|
|
495
|
-
return [
|
|
736
|
+
return [
|
|
737
|
+
'plan', 'agent', 'tester', 'debugger', 'security', 'review',
|
|
738
|
+
'team_leader', 'seo', 'product', 'architect', 'engineer', 'data', 'researcher'
|
|
739
|
+
].includes(mode);
|
|
496
740
|
}
|
|
497
741
|
export function getAllModes() {
|
|
498
|
-
return [
|
|
742
|
+
return [
|
|
743
|
+
'plan', 'agent', 'tester', 'debugger', 'security', 'review',
|
|
744
|
+
'team_leader', 'seo', 'product', 'architect', 'engineer', 'data', 'researcher'
|
|
745
|
+
];
|
|
499
746
|
}
|
|
500
747
|
//# sourceMappingURL=modes.js.map
|
package/dist/core/modes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modes.js","sourceRoot":"","sources":["../../src/core/modes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modes.js","sourceRoot":"","sources":["../../src/core/modes.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tools.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export declare class CodingToolExecutor implements ToolExecutor {
|
|
|
31
31
|
memory?: NeuralMemory;
|
|
32
32
|
skillManager?: SkillManager;
|
|
33
33
|
});
|
|
34
|
+
private currentMode;
|
|
34
35
|
setMode(mode: AgentMode): void;
|
|
35
36
|
/**
|
|
36
37
|
* Safely parse tool input - handles string JSON, null, undefined
|
package/dist/core/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAA8B,MAAM,YAAY,CAAC;AAKnE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACpD,QAAQ,IAAI,IAAI,EAAE,CAAC;CACpB;AAED,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,MAAM,CAAC,CAAe;IAC9B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,mBAAmB,CAAC,CAAS;gBAGnC,UAAU,GAAE,MAAsB,EAClC,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,MAAM,CAAC,EAAE,YAAY,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;IAmBH,OAAO,CAAC,WAAW,CAAsB;IAEzC,OAAO,CAAC,IAAI,EAAE,SAAS;IAMvB;;OAEG;IACH,OAAO,CAAC,UAAU;IASZ,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAsTzD,QAAQ,IAAI,IAAI,EAAE;IAilBlB,OAAO,CAAC,WAAW;YAIL,QAAQ;YA6BR,iBAAiB;YAkBjB,SAAS;YA8BT,QAAQ;YAcR,SAAS;YAeT,gBAAgB;YAchB,YAAY;YAeZ,aAAa;YA8Bb,WAAW;YAaX,UAAU;YAyFV,eAAe;YAUf,UAAU;YAoCV,QAAQ;YAqBR,UAAU;YAkBV,UAAU;IAOxB,OAAO,CAAC,cAAc,CAAa;YAErB,QAAQ;YAoER,aAAa;YAiBb,YAAY;YAgBZ,iBAAiB;YAgBjB,kBAAkB;YAoBlB,mBAAmB;YAqCnB,qBAAqB;YAoDrB,WAAW;YAkBX,YAAY;YAsDZ,cAAc;YAcd,wBAAwB;YAkBxB,QAAQ;YA8DR,SAAS;YAiET,QAAQ;YA4DR,YAAY;CA6B3B"}
|
package/dist/core/tools.js
CHANGED
|
@@ -3,7 +3,7 @@ import * as path from 'path';
|
|
|
3
3
|
import { exec, spawn } from 'child_process';
|
|
4
4
|
import { promisify } from 'util';
|
|
5
5
|
import { ContextManager } from './context.js';
|
|
6
|
-
import { MODE_CONFIG } from './modes.js';
|
|
6
|
+
import { MODE_CONFIG, isToolAllowed } from './modes.js';
|
|
7
7
|
import { FileEditor } from './editor.js';
|
|
8
8
|
import { GitUtils } from '../utils/git.js';
|
|
9
9
|
import { TestRunnerDetector } from '../utils/testRunner.js';
|
|
@@ -45,10 +45,11 @@ export class CodingToolExecutor {
|
|
|
45
45
|
this.dryRun = options?.dryRun || false;
|
|
46
46
|
this.testCommandOverride = options?.testCommandOverride;
|
|
47
47
|
}
|
|
48
|
+
currentMode = 'agent';
|
|
48
49
|
setMode(mode) {
|
|
50
|
+
this.currentMode = mode;
|
|
49
51
|
const config = MODE_CONFIG[mode];
|
|
50
52
|
this.dryRun = config.defaultDryRun;
|
|
51
|
-
// We could also enforce allowed tools here if we wanted strictly enforced limits
|
|
52
53
|
}
|
|
53
54
|
/**
|
|
54
55
|
* Safely parse tool input - handles string JSON, null, undefined
|
|
@@ -69,6 +70,16 @@ export class CodingToolExecutor {
|
|
|
69
70
|
return {};
|
|
70
71
|
}
|
|
71
72
|
async execute(toolName, input) {
|
|
73
|
+
// Check tool permissions first
|
|
74
|
+
const permission = isToolAllowed(this.currentMode, toolName);
|
|
75
|
+
if (!permission.allowed) {
|
|
76
|
+
return {
|
|
77
|
+
error: true,
|
|
78
|
+
success: false,
|
|
79
|
+
message: `PERMISSION DENIED: ${permission.reason}. Please delegate this task to the appropriate agent using [[REQUEST_MODE: <mode> | reason=...]].`,
|
|
80
|
+
blocked: true
|
|
81
|
+
};
|
|
82
|
+
}
|
|
72
83
|
const p = this.parseInput(input);
|
|
73
84
|
// Check if it's an MCP tool (format: serverName::toolName)
|
|
74
85
|
if (this.mcpClientManager && toolName.includes('::')) {
|