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.
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../src/core/modes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../src/core/modes.ts"],"names":[],"mappings":"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"}
@@ -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
- 'web_fetch': 'network',
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 ['plan', 'agent', 'tester', 'debugger', 'security', 'review'].includes(mode);
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 ['plan', 'agent', 'tester', 'debugger', 'security', 'review'];
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
@@ -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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"}
@@ -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
@@ -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,EAAe,MAAM,YAAY,CAAC;AAKpD,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,IAAI,EAAE,SAAS;IAMvB;;OAEG;IACH,OAAO,CAAC,UAAU;IASZ,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA0SzD,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"}
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"}
@@ -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('::')) {