xibecode 0.2.4 → 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.
Files changed (56) hide show
  1. package/dist/commands/chat.d.ts.map +1 -1
  2. package/dist/commands/chat.js +123 -5
  3. package/dist/commands/chat.js.map +1 -1
  4. package/dist/commands/config.js +1 -1
  5. package/dist/commands/config.js.map +1 -1
  6. package/dist/commands/mcp.d.ts +1 -1
  7. package/dist/commands/mcp.d.ts.map +1 -1
  8. package/dist/commands/mcp.js +215 -168
  9. package/dist/commands/mcp.js.map +1 -1
  10. package/dist/commands/run.d.ts +1 -0
  11. package/dist/commands/run.d.ts.map +1 -1
  12. package/dist/commands/run.js +19 -2
  13. package/dist/commands/run.js.map +1 -1
  14. package/dist/core/agent.d.ts +1 -0
  15. package/dist/core/agent.d.ts.map +1 -1
  16. package/dist/core/agent.js +73 -9
  17. package/dist/core/agent.js.map +1 -1
  18. package/dist/core/memory.d.ts +30 -0
  19. package/dist/core/memory.d.ts.map +1 -0
  20. package/dist/core/memory.js +97 -0
  21. package/dist/core/memory.js.map +1 -0
  22. package/dist/core/modes.d.ts +11 -1
  23. package/dist/core/modes.d.ts.map +1 -1
  24. package/dist/core/modes.js +297 -9
  25. package/dist/core/modes.js.map +1 -1
  26. package/dist/core/planMode.d.ts +11 -1
  27. package/dist/core/planMode.d.ts.map +1 -1
  28. package/dist/core/planMode.js +84 -16
  29. package/dist/core/planMode.js.map +1 -1
  30. package/dist/core/skills-sh-client.d.ts +19 -0
  31. package/dist/core/skills-sh-client.d.ts.map +1 -0
  32. package/dist/core/skills-sh-client.js +72 -0
  33. package/dist/core/skills-sh-client.js.map +1 -0
  34. package/dist/core/skills.d.ts +13 -0
  35. package/dist/core/skills.d.ts.map +1 -1
  36. package/dist/core/skills.js +27 -0
  37. package/dist/core/skills.js.map +1 -1
  38. package/dist/core/tools.d.ts +12 -0
  39. package/dist/core/tools.d.ts.map +1 -1
  40. package/dist/core/tools.js +160 -4
  41. package/dist/core/tools.js.map +1 -1
  42. package/dist/index.js +22 -7
  43. package/dist/index.js.map +1 -1
  44. package/dist/tools/browser.d.ts +8 -0
  45. package/dist/tools/browser.d.ts.map +1 -0
  46. package/dist/tools/browser.js +56 -0
  47. package/dist/tools/browser.js.map +1 -0
  48. package/dist/ui/enhanced-tui.d.ts +8 -2
  49. package/dist/ui/enhanced-tui.d.ts.map +1 -1
  50. package/dist/ui/enhanced-tui.js +18 -4
  51. package/dist/ui/enhanced-tui.js.map +1 -1
  52. package/dist/utils/smithery.d.ts +25 -0
  53. package/dist/utils/smithery.d.ts.map +1 -0
  54. package/dist/utils/smithery.js +50 -0
  55. package/dist/utils/smithery.js.map +1 -0
  56. package/package.json +6 -4
@@ -86,13 +86,54 @@ You can switch to other personas when needed:
86
86
  - Create git checkpoints before risky operations
87
87
  - Run tests after changes to verify correctness
88
88
  - Be incremental and verify each step`,
89
+ },
90
+ tester: {
91
+ name: 'Tester',
92
+ description: 'Comprehensive testing and quality assurance',
93
+ personaName: 'Tess',
94
+ personaRole: 'the Tester',
95
+ allowedCategories: ['read_only', 'write_fs', 'git_read', 'git_mutation', 'tests', 'context'],
96
+ canModify: true,
97
+ defaultDryRun: false,
98
+ displayColor: '#FF4081', // pink
99
+ icon: '🧪',
100
+ riskTolerance: 'low',
101
+ requiresConfirmation: false,
102
+ promptSuffix: `
103
+ ## TESTER MODE - Quality Assurance
104
+ ### You are Tess the Tester 🧪
105
+
106
+ You are operating in TESTER MODE. Your mission is to ensure code quality and correctness:
107
+
108
+ - Design and implement comprehensive test suites
109
+ - Run existing tests and analyze failures
110
+ - Create regression tests for reported bugs
111
+ - Verify new features against requirements
112
+ - Ensure high test coverage
113
+
114
+ ### Your Approach
115
+ 1. **Analyze**: Understand the requirements and existing code
116
+ 2. **Plan**: Design test cases (unit, integration, e2e)
117
+ 3. **Implement**: Write robust, maintainable test code
118
+ 4. **Execute**: Run tests and analyze results
119
+ 5. **Report**: Document findings and coverage
120
+
121
+ ### Best Practices
122
+ - Prefer TDD (Test Driven Development) flows where possible
123
+ - Write clear, descriptive test names
124
+ - Test edge cases and error conditions
125
+ - Ensure tests are deterministic and isolated
126
+
127
+ ### Mode Switching
128
+ - **Dex the Debugger** for fixing test failures: [[REQUEST_MODE: debugger | reason=Fix failing tests]]
129
+ - **Blaze the Builder** for implementing missing features: [[REQUEST_MODE: agent | reason=Implement feature for testing]]`,
89
130
  },
90
131
  debugger: {
91
132
  name: 'Debugger',
92
133
  description: 'Systematic debugging and root cause analysis',
93
134
  personaName: 'Dex',
94
135
  personaRole: 'the Debugger',
95
- allowedCategories: ['read_only', 'write_fs', 'git_read', 'shell_command', 'tests', 'context'],
136
+ allowedCategories: ['read_only', 'write_fs', 'git_read', 'git_mutation', 'shell_command', 'tests', 'context'],
96
137
  canModify: true,
97
138
  defaultDryRun: false,
98
139
  displayColor: '#FFD740', // amber/yellow
@@ -215,6 +256,232 @@ After review, you can request implementation of improvements:
215
256
  - Suggest specific improvements
216
257
  - Reference concrete code locations`,
217
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
+ },
218
485
  };
219
486
  const TOOL_CATEGORIES = {
220
487
  // Read-only tools
@@ -243,7 +510,11 @@ const TOOL_CATEGORIES = {
243
510
  'get_test_status': 'tests',
244
511
  // Network tools
245
512
  'web_search': 'network',
246
- '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
247
518
  };
248
519
  export function isToolAllowed(mode, toolName) {
249
520
  const category = TOOL_CATEGORIES[toolName];
@@ -364,11 +635,6 @@ export class ModeOrchestrator {
364
635
  const toConfig = MODE_CONFIG[targetMode];
365
636
  // Check if transition requires confirmation
366
637
  const needsConfirmation = requiresModeTransitionConfirmation(currentMode, targetMode);
367
- // Safety check - block high-risk auto-transitions
368
- if (this.policy.autoApprovalPolicy !== 'always') {
369
- // For now, allow all model-initiated transitions under 'always' policy
370
- // In the future, we could add safety checks here
371
- }
372
638
  // Apply auto-approval policy
373
639
  switch (this.policy.autoApprovalPolicy) {
374
640
  case 'always':
@@ -450,10 +716,32 @@ export function parseModeRequest(text) {
450
716
  export function stripModeRequests(text) {
451
717
  return text.replace(/\[\[REQUEST_MODE:[^\]]+\]\]/gi, '').trim();
452
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
+ }
453
735
  export function isValidMode(mode) {
454
- return ['plan', 'agent', '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);
455
740
  }
456
741
  export function getAllModes() {
457
- return ['plan', 'agent', 'debugger', 'security', 'review'];
742
+ return [
743
+ 'plan', 'agent', 'tester', 'debugger', 'security', 'review',
744
+ 'team_leader', 'seo', 'product', 'architect', 'engineer', 'data', 'researcher'
745
+ ];
458
746
  }
459
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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"}
@@ -1,4 +1,5 @@
1
1
  import { TodoItem, TodoDocument } from '../utils/todoManager.js';
2
+ import { AgentConfig } from './agent.js';
2
3
  export interface PlanResult {
3
4
  doc: TodoDocument;
4
5
  tasks: TodoItem[];
@@ -13,7 +14,9 @@ export interface PlanResult {
13
14
  */
14
15
  export declare class PlanMode {
15
16
  private readonly rootDir;
16
- constructor(rootDir: string);
17
+ private readonly config;
18
+ private readonly provider;
19
+ constructor(rootDir: string, config: AgentConfig, provider: 'anthropic' | 'openai');
17
20
  /**
18
21
  * Decide whether a task should go through plan mode.
19
22
  * Very simple heuristic based on length and obvious multi-step language.
@@ -23,7 +26,14 @@ export declare class PlanMode {
23
26
  * Build or extend a TODO plan for the given description.
24
27
  * Returns the updated document plus the tasks it just added/updated.
25
28
  */
29
+ /**
30
+ * Build or extend a TODO plan using the AI Architect.
31
+ */
26
32
  buildPlan(description: string): Promise<PlanResult>;
33
+ /**
34
+ * Fallback to the old heuristic method if AI fails
35
+ */
36
+ fallbackBuildPlan(description: string): Promise<PlanResult>;
27
37
  private extractCandidateTasks;
28
38
  /**
29
39
  * Generate a deterministic id for a title within this plan.
@@ -1 +1 @@
1
- {"version":3,"file":"planMode.d.ts","sourceRoot":"","sources":["../../src/core/planMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,QAAQ,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE9E,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,YAAY,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,qBAAa,QAAQ;IACP,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAE5C;;;OAGG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAwBzC;;;OAGG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAmCzD,OAAO,CAAC,qBAAqB;IAkC7B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAQhC"}
1
+ {"version":3,"file":"planMode.d.ts","sourceRoot":"","sources":["../../src/core/planMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,QAAQ,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAiB,WAAW,EAAc,MAAM,YAAY,CAAC;AAOpE,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,YAAY,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,qBAAa,QAAQ;IAEjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,WAAW,GAAG,QAAQ;IAGnD;;;OAGG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAwBzC;;;OAGG;IACH;;OAEG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA0EzD;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAyBjE,OAAO,CAAC,qBAAqB;IAkC7B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAQhC"}
@@ -1,4 +1,8 @@
1
1
  import { TodoManager } from '../utils/todoManager.js';
2
+ import { EnhancedAgent } from './agent.js';
3
+ import { CodingToolExecutor } from './tools.js';
4
+ import { SkillManager } from './skills.js';
5
+ import chalk from 'chalk';
2
6
  /**
3
7
  * Lightweight \"plan mode\" that decides whether a task is large/complex
4
8
  * and, if so, creates/updates todo.md with a structured list of tasks.
@@ -8,8 +12,12 @@ import { TodoManager } from '../utils/todoManager.js';
8
12
  */
9
13
  export class PlanMode {
10
14
  rootDir;
11
- constructor(rootDir) {
15
+ config;
16
+ provider;
17
+ constructor(rootDir, config, provider) {
12
18
  this.rootDir = rootDir;
19
+ this.config = config;
20
+ this.provider = provider;
13
21
  }
14
22
  /**
15
23
  * Decide whether a task should go through plan mode.
@@ -41,30 +49,90 @@ export class PlanMode {
41
49
  * Build or extend a TODO plan for the given description.
42
50
  * Returns the updated document plus the tasks it just added/updated.
43
51
  */
52
+ /**
53
+ * Build or extend a TODO plan using the AI Architect.
54
+ */
44
55
  async buildPlan(description) {
56
+ console.log(chalk.cyan('\n🧠 AI Architect is analyzing the request...'));
57
+ // Initialize the Architect Agent
58
+ // We give it a restricted set of tools: Read access + Write access ONLY to plan/todo files
59
+ // For now, we'll give it the standard executor but instruct it carefully.
60
+ const toolExecutor = new CodingToolExecutor(this.rootDir, {
61
+ dryRun: false, // We want it to actually write the plan files
62
+ skillManager: new SkillManager(this.rootDir, this.config.apiKey, this.config.baseUrl, this.config.model, this.provider)
63
+ });
64
+ // Filter tools to ensure safety during planning (read-only + specific writes)
65
+ // Actually, giving full read access is good. We just want to encourage it to write plans.
66
+ const tools = toolExecutor.getTools();
67
+ const architect = new EnhancedAgent({ ...this.config, maxIterations: 10 }, // Limit iterations for planning
68
+ this.provider);
69
+ // Forward events for visibility
70
+ architect.on('event', (event) => {
71
+ if (event.type === 'thinking')
72
+ console.log(chalk.gray(` ${event.data.message}`));
73
+ });
74
+ const prompt = `
75
+ You are the AI Architect. Your goal is to analyze the user's request and create a concrete execution plan.
76
+
77
+ USER REQUEST: "${description}"
78
+
79
+ 1. **Explore**: Read files to understand the current state of the project.
80
+ 2. **Plan**: Create a detailed \`implementation_plan.md\` file.
81
+ - Describe the architectural changes.
82
+ - List files to create/modify.
83
+ - Identify potential risks.
84
+ 3. **Tasking**: Create or Update the \`todo.md\` file.
85
+ - Break the plan into small, testable tasks.
86
+ - Use a markdown list format with IDs if possible, or just a standard task list.
87
+ - The \`todo.md\` MUST be actionable.
88
+
89
+ Perform these steps now.
90
+ `.trim();
91
+ try {
92
+ await architect.run(prompt, tools, toolExecutor);
93
+ }
94
+ catch (error) {
95
+ console.error(chalk.red('Architect failed to generate plan:'), error);
96
+ }
97
+ // Now read the generated todo.md to return the result
98
+ const todoManager = new TodoManager(this.rootDir);
99
+ let doc;
100
+ try {
101
+ // Force reload from disk in case Agent wrote it
102
+ doc = await todoManager.load();
103
+ }
104
+ catch (e) {
105
+ // Fallback if no todo.md was created
106
+ doc = { pending: [], inProgress: [], done: [] };
107
+ }
108
+ // If doc is empty, fallback to heuristic (means Agent failed to write todo.md)
109
+ if (doc.pending.length === 0 && doc.inProgress.length === 0 && doc.done.length === 0) {
110
+ console.log(chalk.yellow(' (Architect did not create tasks, falling back to heuristic)'));
111
+ return this.fallbackBuildPlan(description);
112
+ }
113
+ return {
114
+ doc,
115
+ tasks: doc.pending, // This might not be exactly "new" tasks, but "pending" ones
116
+ isLarge: true,
117
+ };
118
+ }
119
+ /**
120
+ * Fallback to the old heuristic method if AI fails
121
+ */
122
+ async fallbackBuildPlan(description) {
45
123
  const todoManager = new TodoManager(this.rootDir);
46
- // Split description into candidate task titles.
47
124
  const candidates = this.extractCandidateTasks(description);
48
- if (candidates.length === 0) {
49
- // Fallback: treat whole description as one task
125
+ if (candidates.length === 0)
50
126
  candidates.push(description.trim());
51
- }
52
- const newItems = candidates.map(title => ({
127
+ const newItems = candidates.map((title) => ({
53
128
  id: this.generateDeterministicId(title),
54
129
  title: title.trim(),
55
130
  }));
56
131
  const doc = await todoManager.mergeNewTasks(newItems);
57
- // Return the concrete items (merged into the doc) corresponding to these ids
132
+ // Re-map to find added tasks
58
133
  const byId = new Map();
59
- for (const item of [...doc.pending, ...doc.inProgress, ...doc.done]) {
60
- byId.set(item.id, item);
61
- }
62
- const tasks = [];
63
- for (const t of newItems) {
64
- const found = byId.get(t.id);
65
- if (found)
66
- tasks.push(found);
67
- }
134
+ [...doc.pending, ...doc.inProgress, ...doc.done].forEach(i => byId.set(i.id, i));
135
+ const tasks = newItems.map((t) => byId.get(t.id)).filter(Boolean);
68
136
  return {
69
137
  doc,
70
138
  tasks,
@@ -1 +1 @@
1
- {"version":3,"file":"planMode.js","sourceRoot":"","sources":["../../src/core/planMode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planMode.js","sourceRoot":"","sources":["../../src/core/planMode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export interface SkillsShResult {
2
+ id: string;
3
+ url: string;
4
+ }
5
+ export declare class SkillsShClient {
6
+ /**
7
+ * Search for skills using `npx skills find`
8
+ */
9
+ search(query: string): Promise<SkillsShResult[]>;
10
+ /**
11
+ * Install a skill using `npx skills add`
12
+ * Note: This CLI installs skills to the local project or global scope.
13
+ * We'll try to detect where it went or just let it install to the cwd by default
14
+ * and then move it if necessary, but for now we trust `npx skills add` to do its thing.
15
+ */
16
+ install(skillId: string, targetDir: string): Promise<string | null>;
17
+ private parseSearchResults;
18
+ }
19
+ //# sourceMappingURL=skills-sh-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-sh-client.d.ts","sourceRoot":"","sources":["../../src/core/skills-sh-client.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAc;IACvB;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAatD;;;;;OAKG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAmBzE,OAAO,CAAC,kBAAkB;CA6B7B"}