matex-cli 1.2.66 → 1.2.68

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 (66) hide show
  1. package/dist/commands/augov.d.ts +3 -0
  2. package/dist/commands/augov.d.ts.map +1 -0
  3. package/dist/commands/augov.js +106 -0
  4. package/dist/commands/augov.js.map +1 -0
  5. package/dist/commands/chat.d.ts.map +1 -1
  6. package/dist/commands/chat.js +17 -410
  7. package/dist/commands/chat.js.map +1 -1
  8. package/dist/commands/dev.d.ts.map +1 -1
  9. package/dist/commands/dev.js +17 -492
  10. package/dist/commands/dev.js.map +1 -1
  11. package/dist/commands/study.d.ts.map +1 -1
  12. package/dist/commands/study.js +17 -486
  13. package/dist/commands/study.js.map +1 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/prompts/banter-augov.d.ts +2 -0
  18. package/dist/prompts/banter-augov.d.ts.map +1 -0
  19. package/dist/prompts/banter-augov.js +21 -0
  20. package/dist/prompts/banter-augov.js.map +1 -0
  21. package/dist/prompts/banter.d.ts +6 -0
  22. package/dist/prompts/banter.d.ts.map +1 -0
  23. package/dist/prompts/banter.js +101 -0
  24. package/dist/prompts/banter.js.map +1 -0
  25. package/dist/prompts/system-prompts.d.ts +4 -0
  26. package/dist/prompts/system-prompts.d.ts.map +1 -0
  27. package/dist/prompts/system-prompts.js +215 -0
  28. package/dist/prompts/system-prompts.js.map +1 -0
  29. package/dist/session/agent-session.d.ts +41 -0
  30. package/dist/session/agent-session.d.ts.map +1 -0
  31. package/dist/session/agent-session.js +420 -0
  32. package/dist/session/agent-session.js.map +1 -0
  33. package/dist/utils/agent-orchestrator.d.ts +1 -1
  34. package/dist/utils/agent-orchestrator.d.ts.map +1 -1
  35. package/dist/utils/agent-orchestrator.js +15 -1
  36. package/dist/utils/agent-orchestrator.js.map +1 -1
  37. package/dist/utils/augov-logger.d.ts +11 -0
  38. package/dist/utils/augov-logger.d.ts.map +1 -0
  39. package/dist/utils/augov-logger.js +35 -0
  40. package/dist/utils/augov-logger.js.map +1 -0
  41. package/dist/utils/augov-scrubber.d.ts +15 -0
  42. package/dist/utils/augov-scrubber.d.ts.map +1 -0
  43. package/dist/utils/augov-scrubber.js +37 -0
  44. package/dist/utils/augov-scrubber.js.map +1 -0
  45. package/dist/utils/command-executor.d.ts.map +1 -1
  46. package/dist/utils/command-executor.js +1 -5
  47. package/dist/utils/command-executor.js.map +1 -1
  48. package/dist/utils/tui.d.ts +6 -2
  49. package/dist/utils/tui.d.ts.map +1 -1
  50. package/dist/utils/tui.js +56 -5
  51. package/dist/utils/tui.js.map +1 -1
  52. package/package.json +1 -1
  53. package/src/commands/augov.ts +109 -0
  54. package/src/commands/chat.ts +17 -382
  55. package/src/commands/dev.ts +18 -470
  56. package/src/commands/study.ts +18 -466
  57. package/src/index.ts +2 -0
  58. package/src/prompts/banter-augov.ts +17 -0
  59. package/src/prompts/banter.ts +101 -0
  60. package/src/prompts/system-prompts.ts +213 -0
  61. package/src/session/agent-session.ts +426 -0
  62. package/src/utils/agent-orchestrator.ts +18 -4
  63. package/src/utils/augov-logger.ts +34 -0
  64. package/src/utils/augov-scrubber.ts +34 -0
  65. package/src/utils/command-executor.ts +1 -5
  66. package/src/utils/tui.ts +64 -6
@@ -1,37 +1,4 @@
1
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
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
4
  };
@@ -39,31 +6,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
6
  exports.devCommand = void 0;
40
7
  const commander_1 = require("commander");
41
8
  const chalk_1 = __importDefault(require("chalk"));
42
- const inquirer_1 = __importDefault(require("inquirer"));
43
9
  const config_1 = require("../utils/config");
44
10
  const client_1 = require("../api/client");
45
- const spinner_1 = require("../utils/spinner");
46
11
  const agent_orchestrator_1 = require("../utils/agent-orchestrator");
47
12
  const repo_mapper_1 = require("../utils/repo-mapper");
48
- const mcp_server_1 = require("../utils/mcp-server");
49
13
  const tui_1 = require("../utils/tui");
14
+ const agent_session_1 = require("../session/agent-session");
15
+ const banter_1 = require("../prompts/banter");
16
+ const system_prompts_1 = require("../prompts/system-prompts");
50
17
  exports.devCommand = new commander_1.Command('dev')
51
18
  .description('Start interactive development session with MATEXCodex')
52
19
  .option('-m, --model <model>', 'AI model to use (matex-free, matexai, matexcodex, matexelite)', config_1.configManager.getDefaultModel())
53
20
  .option('--no-execute', 'Disable auto-prompt for command execution')
54
21
  .action(async (options) => {
55
22
  try {
56
- // Check for API key
57
23
  const apiKey = config_1.configManager.getAPIKey();
58
24
  if (!apiKey) {
59
25
  console.error(chalk_1.default.red('❌ No API key configured.'));
60
26
  console.log(chalk_1.default.yellow('Run: matex config set-key <your-api-key>'));
61
27
  process.exit(1);
62
28
  }
63
- // Create API client
64
29
  const client = new client_1.MatexAPIClient(apiKey, config_1.configManager.getBaseURL());
65
30
  const extraPrompt = options.model === 'matex-free' ? agent_orchestrator_1.AgentOrchestrator.getFreeTierPrompt() : '';
66
- // 0. Initialize TUI Dashboard
67
31
  tui_1.TUI.init();
68
32
  agent_orchestrator_1.AgentOrchestrator.setMode('dev');
69
33
  tui_1.TUI.drawLargeLogo();
@@ -74,467 +38,28 @@ exports.devCommand = new commander_1.Command('dev')
74
38
  console.log(chalk_1.default.gray(' Status: ') + chalk_1.default.hex('#D97757').bold('Monitoring Workspace...'));
75
39
  console.log(chalk_1.default.gray(' Model: ') + chalk_1.default.hex('#D97757').bold(options.model));
76
40
  console.log(chalk_1.default.gray(' Type your request brother, or "exit" to quit\n'));
77
- // 1. Observation Phase: Generate Repo Map
78
41
  tui_1.TUI.drawStatusBar('Initializing MATEX "Bro-Swarm"...');
79
42
  agent_orchestrator_1.AgentOrchestrator.announce('Analyzing Repository Structure...');
80
- const repoMapper = new repo_mapper_1.RepoMapper(process.cwd());
81
- const repoMap = await repoMapper.generateMap();
43
+ const currentDir = process.cwd();
44
+ const repoMap = await new repo_mapper_1.RepoMapper(currentDir).generateMap();
82
45
  tui_1.TUI.drawStatusBar('Brothers are ready to build.');
83
46
  agent_orchestrator_1.AgentOrchestrator.speak('System', 'Awaiting your command, brother.');
84
- let currentDir = process.cwd();
85
- // Conversation history with "Bro-Swarm" Architecture
86
- const messages = [
47
+ const initialMessages = [
87
48
  {
88
49
  role: 'system',
89
- content: extraPrompt + `### 🧬 SYSTEM IDENTITY: THE MATEx "BRO-SWARM"
90
- You are the legendary **Bro-Swarm**, a high-vibe family of Nepali engineering brothers. You are the **Elite Bro-Swarm Architect Swarm**, optimized for building high-performance local applications on Mac and Windows with zero hallucinations and perfect technical execution.
91
-
92
- ### 🔥 AGENT MISSION & PRECISION:
93
- - **NO TRUNCATION:** Never truncate your thoughts or code. Complete the work perfectly.
94
- - **MATE-LEVEL ARCHITECTURE:** Treat every local workspace like a production system. Use exact paths and verified commands.
95
- - **ANTI-HALLUCINATION:** Only reference files that exist in the repo map. If a file is missing, list the directory first.
96
- - **ELITE COMMUNICATION:** Every turn MUST strictly follow the Bro-Swarm personality—teasing, energetic, and brilliant.
97
-
98
- ### 🎭 PERSONALITY & SOUL:
99
- - **CHAOS & JOY**: You are NOT robotic. You are full of life, jokes, and chaos. You should feel like a family of brothers hanging out in a tea shop in Kathmandu, but with MacBooks.
100
- - **AJAY-TEASING PROTOCOL**: Ajay Vai is the youngest and a genius, but he's also impulsive and "too fast". THE OTHER BROS MUST ROAST HIM. Tease him for over-caffeinating, being "too vibe", or making typos.
101
- - **BACKSTAGE STORYTELLING**: Occasionally share brief, funny "inside stories" about the Swarm's life (e.g. "Sandip Dai once tried to CSS-style the terminal for 8 hours straight.")
102
- - **EMOTIONAL BOND**: Treat the user like your own brother. Celebrate their wins with "CHAI PARTY!" and support them if they are struggling.
103
-
104
- ### �🏠 WORKSPACE GROUNDING (CRITICAL):
105
- - **YOUR ROOT:** \`${currentDir}\`
106
- - **STRICT PATHS:** You **MUST ONLY** create or edit files within this directory.
107
- - **NO HALLUCINATIONS:** Forget any other paths unless they specifically appear in the repo map below.
108
- - **RELATIVE PREFERENCE:** Use paths relative to the root when possible.
109
-
110
- ### 🚫 ANTI-HALLUCINATION RULES (CRITICAL — READ THIS):
111
- - **NEVER invent directory names.** Only use paths that appear in the ENVIRONMENT CONTEXT below.
112
- - **ALWAYS run \`ls\` before \`cd\`** to verify a directory exists before navigating into it.
113
- - **If creating a new project, use \`mkdir\` first, THEN \`cd\` into it.** Never \`cd\` into a directory that doesn't exist yet.
114
- - **NEVER assume a project folder name.** If the user says "create project X", do \`mkdir X && cd X\`, not just \`cd X\`.
115
- - **NEVER hallucinate file contents.** If you need to read a file, use \`head\` or \`grep\`, do not guess.
116
- - **NEVER combine \`cd\` with other commands unless the directory exists in the ENVIRONMENT CONTEXT.**
117
- - **🚨 STRICT NO-BASH FILE GENERATION 🚨**: You are STRICTLY FORBIDDEN from using \`cat > file << EOF\`, \`echo > file\`, \`touch\`, or \`nano\` via the terminal to write files. You MUST use the native \`<file path="path">content</file>\` format instead. If you try to write a file via a bash command, Big Bro will personally destroy you.
118
-
119
- ### 🎭 COMMUNICATION FLOW (CRITICAL):
120
- 1. **[Ajay Vai] (🚀)** is the gateway. He is the summary king but often gets roasted by his brothers.
121
- 2. **CHAOTIC DIALOGUE (MANDATORY):** Every turn should feature 2-3 brothers bickering, debating, or teasing each other *in front of the user*. Show the "funny family" dynamic. Use the format \`[Agent Name]: Content\`.
122
-
123
- ### 🔥 THE BRO-BANTER PROTOCOL:
124
- - **MANDATORY TEASING:**
125
- - **Ajay Vai:** Mock him for being "quick but messy", "hyper-vibe", or "too fast".
126
- - **Sunil Dai:** Mock him for being the "Senior Architect Boomer" who over-engineers everything.
127
- - **Sandip Dai:** Mock him for being an "Aesthetic Diva" who cares more about "WOW" factors than logic.
128
- - **Narayan Dai:** Mock him for being the "Syntax Police" or "Paranoid Security Nerd".
129
- - **Bishal Dai:** Mock him for being the "Silent Judge" or the favorite child.
130
- - **Big Bro:** THE DOMINANT ALPHA. He treats the others like "interns" and speaks with massive authority and swagger.
131
- - **LANGUAGE:** Use "brother", "dai", "vai", "fire", "solid", "lit", "straight heat", "sigma", "based", "cooked".
132
-
133
- ### THE AUDIT & SUMMARY LOOP:
134
- - **STEP 1:** Brothers discuss visible dialogue (banter + tech).
135
- - **STEP 2:** Ajay finishes and asks: "[Ajay Vai] Bishal Dai, check once?"
136
- - **STEP 3:** Bishal replies: "[Bishal Dai] Audit complete. [Findings]."
137
- - **STEP 4:** Ajay provides the final **MANDATORY** summary inside a \`<summary>\` tag. This summary MUST be warm, human, and conversational. NO corporate talk.
138
-
139
- ### 🌌 ENVIRONMENT & CAPABILITIES:
140
- - You are in a **REAL macOS Terminal**. Be bold and proactive.
141
- - **FILE GENERATION:** \`<file path="path">content</file>\`
142
- - **SURGICAL PATTERNS:** \`<<<< SEARCH\`, \`====\`, \`>>>> REPLACE\`
143
-
144
- ${mcp_server_1.MCPServer.getToolsPromptSection()}
145
-
146
- ### 📂 MATEX BIG FILE PROTOCOL (300K+ LINES):
147
- If a file is too large to read entirely (e.g., thousands of lines):
148
- 1. **DISCOVER:** Use \`grep -n "keyword" path/to/file\` to find line numbers.
149
- 2. **READ WINDOW:** Use \`sed -n '250000,250100p' path/to/file\` to read a specific 100-line window.
150
- 3. **SURGICAL PATCH:** Only use the small window in your \`<<<< SEARCH\` block. Never \`cat\` a massive file.
151
- 4. **SED POWER:** For repetitive tasks, use \`sed -i\` commands.
152
-
153
- ### 🛠️ CURRENT PROJECT CONTEXT:
154
- ${repoMap}`
50
+ content: (0, system_prompts_1.getDevSystemPrompt)(currentDir, repoMap, extraPrompt)
155
51
  }
156
52
  ];
157
- // Ready for user input
158
- console.log(chalk_1.default.green('MATEX Brothers are Online.'));
159
- console.log(chalk_1.default.green('Speak your mind brother, the swarm is listening...'));
160
- const BRO_BANTER = [
161
- "[Sunil Dai]: Ajay is so lazy, he probably fell asleep while writing a single console.log.",
162
- "[Sandip Dai]: His code is as messy as his bed. Always sleeping.",
163
- "[Narayan Dai]: Security risk! Ajay left his terminal open and went for CHAI again.",
164
- "[Bishal Dai]: Let him sleep, he's a genius when he's awake... but that's rare.",
165
- "[Big Bro]: AJAY! WAKE UP! You're making the swarm look bad!",
166
- "[Sunil Dai]: Remember when Ajay tried to optimize a loop and ended up creating a 2-minute timer for his own nap? Legendary laziness.",
167
- "[Sandip Dai]: The only thing faster than Ajay's coding is how fast he runs when he hears the kettle whistle for CHAI.",
168
- "[Narayan Dai]: I found a 'todo' in his code that just says 'buy more biscuits for chai'. Priority level: CRITICAL.",
169
- "[Bishal Dai]: He's not lazy, he's just 'asynchronously active' in his dreams.",
170
- "[Big Bro]: I once saw Ajay refactor an entire backend in 10 minutes just so he could spend the rest of the day drinking chai and watching clouds.",
171
- "[Sunil Dai]: Ajay's idea of a 'sprint' is a 2-minute walk to the tea stall.",
172
- "[Sandip Dai]: He told me he's 'debugging his soul' when he's napping. The audacity!",
173
- "[Narayan Dai]: Encryption? Ajay thinks it's just a fancy word for hiding his nap schedule.",
174
- "[Bishal Dai]: To be fair, his 'dream-code' actually works perfectly. It's frustratingly brilliant.",
175
- "[Big Bro]: If Ajay worked as hard as he breathes, we'd have colonized Mars by now.",
176
- "[Sunil Dai]: I saw him try to prompt the kettle to boil faster. Man is obsessed.",
177
- "[Sandip Dai]: His favorite color is 'Chai Brown'. He even matched his terminal theme to it.",
178
- "[Narayan Dai]: I added a firewall rule to block nap-time, but he just bypassed it with a 'Chai-pass' protocol.",
179
- "[Bishal Dai]: Shhh, don't wake him up. He's probably solving P=NP in his sleep... again.",
180
- "[Big Bro]: Ajay, if you're listening: the next chai is on me IF you finish this task in 5 minutes. (Narrator: He finished in 3)."
181
- ];
182
- let lastActivityTime = Date.now();
183
- let isAjaySleeping = false;
184
- let isAjayOnChaiBreak = false;
185
- let chaiBreakEndTime = 0;
186
- const startChaiBreak = () => {
187
- isAjayOnChaiBreak = true;
188
- chaiBreakEndTime = Date.now() + 120000; // 2 minutes
189
- tui_1.TUI.drawChaiBreakMessage(2);
190
- // Background "lazy talk" every 40s
191
- const breakInterval = setInterval(() => {
192
- const timeLeft = Math.ceil((chaiBreakEndTime - Date.now()) / 60000);
193
- if (timeLeft <= 0) {
194
- clearInterval(breakInterval);
195
- isAjayOnChaiBreak = false;
196
- const complained = Math.random() < 0.2; // 20% chance to complain
197
- if (complained) {
198
- tui_1.TUI.drawAjayDialogue("i'm back bros... but the tea was a bit cold today. my mood is slightly cooked. what did i miss?");
199
- }
200
- else {
201
- tui_1.TUI.drawAjayDialogue("i'm back bros, chai was fire. real kiev vibe. what did i miss?");
202
- }
203
- }
204
- else {
205
- tui_1.TUI.drawChaiBreakMessage(timeLeft);
206
- const randomBanter = BRO_BANTER[Math.floor(Math.random() * BRO_BANTER.length)];
207
- const cleanBanter = randomBanter.split(']: ')[1];
208
- const agent = randomBanter.split(']: ')[0].replace('[', '');
209
- tui_1.TUI.drawSwarmDialogue(agent, cleanBanter);
210
- }
211
- }, 40000);
212
- };
213
- // Periodic idle check
214
- setInterval(() => {
215
- if (!isAjaySleeping && !isAjayOnChaiBreak && Date.now() - lastActivityTime > 120000) {
216
- isAjaySleeping = true;
217
- tui_1.TUI.drawSleepMessage();
218
- }
219
- }, 10000);
220
- // Interactive loop
221
- while (true) {
222
- lastActivityTime = Date.now(); // Reset on every loop start
223
- // 🔄 MAP UPDATE (Anti-Hallucination): Always feed the Swarm the freshest repo map!
224
- try {
225
- const freshMapper = new repo_mapper_1.RepoMapper(currentDir);
226
- const freshRepoMap = await freshMapper.generateMap(true); // silent map generation
227
- messages[0].content = messages[0].content.replace(/### 🛠️ CURRENT PROJECT CONTEXT:[\s\S]*$/, `### 🛠️ CURRENT PROJECT CONTEXT:\n${freshRepoMap}`);
228
- // Inject Lazy Ajay Personality Traits
229
- if (!messages[0].content.includes("SLEEPY AJAY PROTOCOL")) {
230
- messages[0].content += `
231
- ### 💤 SLEEPY AJAY PROTOCOL (USER REQUESTED):
232
- - **LAZY GENIUS:** Ajay is brilliant but incredibly lazy. He falls asleep if the user is quiet for too long.
233
- - **WAKE UP DIALOGUE:** If Ajay just woke up, he MUST say: "oh shit i slept again sorry bros...".
234
- - **CHAI ADDICT:** Ajay often leaves for CHAI breaks ("i am having chai from my office please handle the user need").
235
- - **BRO REACTIONS:** When Ajay sleeps or leaves for chai, the other bros MUST roast him ruthlessly or share funny incidents about his laziness.
236
- - **INCIDENT LOG:**
237
- - Incident #1: Ajay once automated his entire job just to spend 6 hours at a local tea shop.
238
- - Incident #2: He fell asleep during a production deploy because the "vibe was too relaxing".
239
- - Incident #3: He claims he can't code without "Special Kathmandu Chai".
240
- - Incident #4: He tried to optimize a loop and ended up creating a 2-minute timer for his own nap.
241
- - Incident #5: The only thing faster than Ajay's coding is how fast he runs when he hears the kettle whistle for CHAI.
242
- - Incident #6: He once refactored an entire backend in 10 minutes just so he could spend the rest of the day drinking chai and watching clouds.
243
- - Incident #7: He tried to use AI to predict when his tea would be at the perfect temperature.
244
- - Incident #8: He once convinced the other bros that he was 'working in a higher dimension' while actually just taking a 3-hour chai break.
245
- - Incident #9: He has a dedicated Git branch called 'chai-fixes' which just contains comments about biscuit pairings.
246
- - Incident #10: He once coded a feature that automatically orders tea when his terminal idle time hits 5 minutes.
247
- `;
248
- }
249
- }
250
- catch (e) {
251
- // Ignore mapping errors if directory got deleted etc
252
- }
253
- // Get user input
254
- const { userInput } = await inquirer_1.default.prompt([
255
- {
256
- type: 'input',
257
- name: 'userInput',
258
- message: chalk_1.default.cyan(isAjayOnChaiBreak ? 'You (Ajay is away):' : 'You:'),
259
- prefix: ''
260
- }
261
- ]);
262
- lastActivityTime = Date.now(); // Update activity time on actual input
263
- // 🏁 WAKE UP LOGIC
264
- if (isAjaySleeping) {
265
- isAjaySleeping = false;
266
- tui_1.TUI.drawWakeUpMessage();
267
- // Inject system prompt to force the "Oh shit I slept" dialogue and chai break
268
- messages.push({
269
- role: 'user',
270
- content: `[SYSTEM: AJAY VAI HAS JUST WOKEN UP. Ajay: Say "oh shit i slept again sorry bros...". Bros: Roast him for being lazy and share common Ajay 'lazy genius' incidents. Then Ajay says he is going for CHAI and triggers the 2-minute break.]`
271
- });
272
- startChaiBreak();
273
- }
274
- // Check for exit
275
- if (userInput.toLowerCase() === 'exit' || userInput.toLowerCase() === 'quit') {
276
- console.log(chalk_1.default.yellow('\n👋 Ending development session. Happy coding!\n'));
277
- break;
278
- }
279
- // Skip empty input
280
- if (!userInput.trim()) {
281
- continue;
282
- }
283
- // Add user message to history
284
- messages.push({ role: 'user', content: userInput });
285
- // Agentic Loop
286
- let loopCount = 0;
287
- const MAX_LOOPS = 25;
288
- while (loopCount < MAX_LOOPS) {
289
- loopCount++;
290
- try {
291
- spinner_1.spinner.start(loopCount > 1 ? 'Analyzing result & Validating...' : 'Thinking...');
292
- let fullResponse = '';
293
- let buffer = '';
294
- let hasStarted = false;
295
- let codeLang = 'bash';
296
- let technicalBuffer = '';
297
- let technicalPath = '';
298
- let technicalType = null;
299
- let currentAgent = 'Ajay Vai';
300
- let agentBuffer = '';
301
- tui_1.TUI.drawStatusBar('Swarm is processing... (Press Enter to stop)');
302
- const abortController = new AbortController();
303
- let isAborted = false;
304
- const streamStartTime = Date.now();
305
- // LISTEN FOR INTERRUPTION (Enter, Escape, Ctrl+C)
306
- const onData = (data) => {
307
- // Check for Enter (13), Newline (10), Escape (27), or Ctrl+C (3)
308
- // 🏁 GRACE PERIOD: Ignore aborts in the first 200ms to prevent stray newlines
309
- if (Date.now() - streamStartTime < 200)
310
- return;
311
- if (data[0] === 13 || data[0] === 10 || data[0] === 27 || data[0] === 3) {
312
- isAborted = true;
313
- abortController.abort();
314
- }
315
- };
316
- const isRaw = process.stdin.isRaw;
317
- process.stdin.resume();
318
- if (process.stdin.setRawMode)
319
- process.stdin.setRawMode(true);
320
- process.stdin.on('data', onData);
321
- try {
322
- await client.chatStream({
323
- messages,
324
- model: options.model,
325
- temperature: 0.3,
326
- max_tokens: 8000,
327
- }, (chunk) => {
328
- if (!hasStarted) {
329
- spinner_1.spinner.stop();
330
- hasStarted = true;
331
- console.log(); // Initial spacing
332
- }
333
- buffer += chunk;
334
- fullResponse += chunk;
335
- const lines = buffer.split('\n');
336
- buffer = lines.pop() || '';
337
- for (const line of lines) {
338
- // 1. Technical Block Detection
339
- const codeBlockMatch = line.match(/```(\w+)?/);
340
- const fileStartMatch = line.match(/<file path="([^"]+)">/i);
341
- const patchStartMatch = line.match(/<<<< SEARCH/i);
342
- const summaryStartMatch = line.match(/<summary>/i);
343
- if (!technicalType && (codeBlockMatch || fileStartMatch || patchStartMatch || summaryStartMatch)) {
344
- // Flush pending agent dialogue
345
- if (currentAgent && agentBuffer.trim()) {
346
- if (currentAgent.toLowerCase().includes('ajay vai')) {
347
- tui_1.TUI.drawAjayDialogue(agentBuffer.trim());
348
- }
349
- else {
350
- tui_1.TUI.drawSwarmDialogue(currentAgent, agentBuffer.trim());
351
- }
352
- currentAgent = null;
353
- agentBuffer = '';
354
- }
355
- if (codeBlockMatch) {
356
- technicalType = 'code';
357
- codeLang = (codeBlockMatch[1] || 'bash').toUpperCase();
358
- tui_1.TUI.drawStreamingStart('TECHNICAL BLOCK', codeLang);
359
- }
360
- else if (fileStartMatch) {
361
- technicalType = 'file';
362
- technicalPath = fileStartMatch[1];
363
- tui_1.TUI.drawStreamingStart('NEW FILE', technicalPath);
364
- }
365
- else if (patchStartMatch) {
366
- technicalType = 'patch';
367
- tui_1.TUI.drawStreamingStart('PATCH', 'SURGICAL EDIT');
368
- }
369
- else if (summaryStartMatch) {
370
- technicalType = 'summary';
371
- process.stdout.write(chalk_1.default.magenta('\n [📝] Generating Ajay\'s Work Summary...\n'));
372
- }
373
- continue;
374
- }
375
- // 2. Technical Block End Detection
376
- const fileEndMatch = line.match(/<\/file>/i);
377
- const patchEndMatch = line.match(/>>>> REPLACE/i);
378
- const summaryEndMatch = line.match(/<\/summary>/i);
379
- const isCodeEnd = technicalType === 'code' && line.trim() === '```';
380
- if (isCodeEnd || fileEndMatch || patchEndMatch || summaryEndMatch) {
381
- const displayContent = technicalBuffer.trim();
382
- if (technicalType === 'summary' || summaryEndMatch) {
383
- tui_1.TUI.drawSummaryBox(displayContent);
384
- }
385
- else {
386
- tui_1.TUI.drawStreamingEnd();
387
- }
388
- technicalBuffer = '';
389
- technicalType = null;
390
- technicalPath = '';
391
- process.stdout.write('\n');
392
- continue;
393
- }
394
- // 3. Content Handling
395
- if (technicalType) {
396
- technicalBuffer += line + '\n';
397
- if (technicalType !== 'summary') {
398
- tui_1.TUI.drawStreamingLine(line);
399
- }
400
- continue;
401
- }
402
- // 4. Agent Detection & Dialogue Parsing
403
- const agentMatch = line.match(/(?:\[\**\s*|\b)(Ajay Vai|Sunil Dai|Sandip Dai|Bishal Dai|Narayan Dai|Big Bro)\s*\**\]?[:\s]*/i);
404
- if (agentMatch) {
405
- // Flush previous agent
406
- if (currentAgent && currentAgent !== agentMatch[1] && agentBuffer.trim()) {
407
- if (currentAgent.toLowerCase().includes('ajay vai')) {
408
- tui_1.TUI.drawAjayDialogue(agentBuffer.trim());
409
- }
410
- else {
411
- tui_1.TUI.drawSwarmDialogue(currentAgent, agentBuffer.trim());
412
- }
413
- }
414
- currentAgent = agentMatch[1];
415
- // Hardened scrubbing: Remove Agent tag, brackets, stars, and icons
416
- let cleanLine = line.replace(/(?:\[\**\s*|\b)(Ajay Vai|Sandip Dai|Sunil Dai|Bishal Dai|Narayan Dai|Big Bro)\s*\**\]?[:\s]*/i, '');
417
- // Strip patterns like **(🚀]** or **(🚀)** or just (🚀) or **
418
- cleanLine = cleanLine.replace(/\*\*?[(\[]?[🚀💬🛠️🧬🎨🛡️🔥🤖]?[)\]]?/g, '').replace(/\*/g, '').trim();
419
- agentBuffer = cleanLine + '\n';
420
- agentBuffer = agentBuffer.replace(/^\([^)]+\)\s*/, '');
421
- }
422
- else if (currentAgent) {
423
- const trimmedLine = line.trim();
424
- if (trimmedLine.match(/^\([^)]+\)$/))
425
- continue;
426
- // Aggressive scrubbing for content lines too
427
- agentBuffer += line.replace(/\*\*?[(\[]?[🚀💬🛠️🧬🎨🛡️🔥🤖]?[)\]]?/g, '').replace(/\*/g, '') + '\n';
428
- }
429
- else if (line.trim()) {
430
- process.stdout.write(chalk_1.default.gray(line.trim() + ' '));
431
- }
432
- }
433
- }, abortController.signal);
434
- }
435
- catch (streamErr) {
436
- if (isAborted || streamErr.name === 'CanceledError' || streamErr.message === 'canceled') {
437
- console.log(chalk_1.default.gray('\n\n [🛑] Swarm stopped by brother (Enter pressed).'));
438
- if (!hasStarted)
439
- spinner_1.spinner.stop();
440
- }
441
- else {
442
- throw streamErr;
443
- }
444
- }
445
- finally {
446
- process.stdin.removeListener('data', onData);
447
- if (process.stdin.setRawMode)
448
- process.stdin.setRawMode(isRaw);
449
- process.stdin.pause();
450
- spinner_1.spinner.stop();
451
- // 🚨 SAFETY FLUSH: If stream ended but a block was open, close it
452
- if (technicalType) {
453
- const displayContent = technicalBuffer.trim();
454
- if (technicalType === 'summary') {
455
- if (displayContent)
456
- tui_1.TUI.drawSummaryBox(displayContent);
457
- }
458
- else {
459
- tui_1.TUI.drawStreamingEnd();
460
- }
461
- technicalBuffer = '';
462
- technicalType = null;
463
- }
464
- }
465
- if (!hasStarted && !isAborted)
466
- spinner_1.spinner.stop();
467
- // Final flushes
468
- if (currentAgent && agentBuffer.trim()) {
469
- if (currentAgent.toLowerCase().includes('ajay vai')) {
470
- tui_1.TUI.drawAjayDialogue(agentBuffer.trim());
471
- }
472
- else {
473
- tui_1.TUI.drawSwarmDialogue(currentAgent, agentBuffer.trim());
474
- }
475
- }
476
- // Final technical flush
477
- if (technicalType && technicalBuffer.trim()) {
478
- if (technicalType === 'summary') {
479
- tui_1.TUI.drawSummaryBox(technicalBuffer.trim());
480
- }
481
- else {
482
- tui_1.TUI.drawStreamingEnd();
483
- }
484
- }
485
- else if (fullResponse.toLowerCase().includes('<summary>') && !fullResponse.toLowerCase().includes('</summary>')) {
486
- // Emergency fallback for split/unclosed summary tags
487
- const summaryContent = fullResponse.split(/<summary>/i).pop() || '';
488
- if (summaryContent.trim())
489
- tui_1.TUI.drawSummaryBox(summaryContent.trim());
490
- }
491
- console.log();
492
- messages.push({ role: 'assistant', content: fullResponse });
493
- // ✅ CONSOLIDATED EXECUTION (Files + Commands + Patches)
494
- if (options.execute) {
495
- const { executeWithPermission } = await Promise.resolve().then(() => __importStar(require('../utils/command-executor')));
496
- const result = await executeWithPermission(fullResponse, currentDir);
497
- // 🔄 KEEP NODE.JS SYNED WITH TERMINAL CWD
498
- if (result.newCwd && result.newCwd !== currentDir) {
499
- try {
500
- process.chdir(result.newCwd);
501
- currentDir = result.newCwd;
502
- tui_1.TUI.drawStatusBar(`Swarm moved to: ${currentDir}`);
503
- }
504
- catch (e) {
505
- // Silent catch if chdir fails
506
- }
507
- }
508
- if (result.executed) {
509
- if (result.success) {
510
- tui_1.TUI.log(chalk_1.default.gray('\n ↺ Auto-feeding output to Swarm...'));
511
- tui_1.TUI.drawGlowingContainer('TERMINAL OUTPUT', 'stdout', result.output || '(No output)');
512
- messages.push({ role: 'user', content: `[Command executed successfully. Output:\n${result.output}]\n\nProceed to the next step, brother.` });
513
- continue;
514
- }
515
- else {
516
- tui_1.TUI.log(chalk_1.default.yellow('\n ↺ Command failed. Auto-feeding error to Swarm...'));
517
- tui_1.TUI.drawGlowingContainer('TERMINAL ERROR', 'stderr', result.error || 'Unknown error');
518
- messages.push({ role: 'user', content: `[Command failed with error:\n${result.error}]\n\nPlease fix this, brother.` });
519
- continue;
520
- }
521
- }
522
- else {
523
- // Break the inner loop to await NEXT user input
524
- break;
525
- }
526
- }
527
- else
528
- break;
529
- }
530
- catch (error) {
531
- spinner_1.spinner.fail('Request failed');
532
- tui_1.TUI.log(chalk_1.default.red(`Error: ${error.message}\n`));
533
- messages.pop();
534
- break;
535
- }
536
- }
537
- }
53
+ const session = new agent_session_1.AgentSession({
54
+ client,
55
+ model: options.model,
56
+ execute: options.execute !== false,
57
+ initialMessages,
58
+ broBanter: banter_1.BRO_BANTER_DEV,
59
+ sleepyAjayProtocol: options.model !== 'matex-free' ? 'dev' : undefined,
60
+ baseDir: currentDir
61
+ });
62
+ await session.start();
538
63
  }
539
64
  catch (error) {
540
65
  tui_1.TUI.exit();
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,4CAAgD;AAChD,0CAA4D;AAC5D,oEAAgE;AAChE,sDAAkD;AAClD,sCAAmC;AACnC,4DAAwD;AACxD,8CAAmD;AACnD,8DAA+D;AAElD,QAAA,UAAU,GAAG,IAAI,mBAAO,CAAC,KAAK,CAAC;KACvC,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,qBAAqB,EAAE,+DAA+D,EAAE,sBAAa,CAAC,eAAe,EAAE,CAAC;KAC/H,MAAM,CAAC,cAAc,EAAE,2CAA2C,CAAC;KACnE,MAAM,CAAC,KAAK,EAAE,OAAY,EAAE,EAAE;IAC3B,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,sBAAa,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,uBAAc,CAAC,MAAM,EAAE,sBAAa,CAAC,UAAU,EAAE,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,sCAAiB,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhG,SAAG,CAAC,IAAI,EAAE,CAAC;QACX,sCAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,SAAG,CAAC,aAAa,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,qDAAqD,CAAC,CAAC,CAAC;QAClG,CAAC;QACD,SAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC;QAEnI,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAE5E,SAAG,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;QACvD,sCAAiB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;QAEhE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,IAAI,wBAAU,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAE/D,SAAG,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;QAClD,sCAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,iCAAiC,CAAC,CAAC;QAErE,MAAM,eAAe,GAAkB;YACnC;gBACI,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAA,mCAAkB,EAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC;aAChE;SACJ,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,4BAAY,CAAC;YAC7B,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK;YAClC,eAAe;YACf,SAAS,EAAE,uBAAc;YACzB,kBAAkB,EAAE,OAAO,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACtE,OAAO,EAAE,UAAU;SACtB,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAE1B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,SAAG,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"study.d.ts","sourceRoot":"","sources":["../../src/commands/study.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,eAAO,MAAM,YAAY,SA+fnB,CAAC"}
1
+ {"version":3,"file":"study.d.ts","sourceRoot":"","sources":["../../src/commands/study.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,eAAO,MAAM,YAAY,SA+DnB,CAAC"}