matex-cli 1.2.66 → 1.2.67
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/augov.d.ts +3 -0
- package/dist/commands/augov.d.ts.map +1 -0
- package/dist/commands/augov.js +112 -0
- package/dist/commands/augov.js.map +1 -0
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +17 -410
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +17 -492
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/study.d.ts.map +1 -1
- package/dist/commands/study.js +17 -486
- package/dist/commands/study.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/prompts/banter-augov.d.ts +2 -0
- package/dist/prompts/banter-augov.d.ts.map +1 -0
- package/dist/prompts/banter-augov.js +21 -0
- package/dist/prompts/banter-augov.js.map +1 -0
- package/dist/prompts/banter.d.ts +6 -0
- package/dist/prompts/banter.d.ts.map +1 -0
- package/dist/prompts/banter.js +101 -0
- package/dist/prompts/banter.js.map +1 -0
- package/dist/prompts/system-prompts.d.ts +4 -0
- package/dist/prompts/system-prompts.d.ts.map +1 -0
- package/dist/prompts/system-prompts.js +215 -0
- package/dist/prompts/system-prompts.js.map +1 -0
- package/dist/session/agent-session.d.ts +39 -0
- package/dist/session/agent-session.d.ts.map +1 -0
- package/dist/session/agent-session.js +399 -0
- package/dist/session/agent-session.js.map +1 -0
- package/dist/utils/agent-orchestrator.d.ts +1 -1
- package/dist/utils/agent-orchestrator.d.ts.map +1 -1
- package/dist/utils/agent-orchestrator.js +15 -1
- package/dist/utils/agent-orchestrator.js.map +1 -1
- package/dist/utils/augov-logger.d.ts +11 -0
- package/dist/utils/augov-logger.d.ts.map +1 -0
- package/dist/utils/augov-logger.js +35 -0
- package/dist/utils/augov-logger.js.map +1 -0
- package/dist/utils/augov-scrubber.d.ts +15 -0
- package/dist/utils/augov-scrubber.d.ts.map +1 -0
- package/dist/utils/augov-scrubber.js +37 -0
- package/dist/utils/augov-scrubber.js.map +1 -0
- package/dist/utils/command-executor.d.ts.map +1 -1
- package/dist/utils/command-executor.js +1 -5
- package/dist/utils/command-executor.js.map +1 -1
- package/dist/utils/tui.d.ts +2 -2
- package/dist/utils/tui.d.ts.map +1 -1
- package/dist/utils/tui.js +14 -2
- package/dist/utils/tui.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/augov.ts +117 -0
- package/src/commands/chat.ts +17 -382
- package/src/commands/dev.ts +18 -470
- package/src/commands/study.ts +18 -466
- package/src/index.ts +2 -0
- package/src/prompts/banter-augov.ts +17 -0
- package/src/prompts/banter.ts +101 -0
- package/src/prompts/system-prompts.ts +213 -0
- package/src/session/agent-session.ts +401 -0
- package/src/utils/agent-orchestrator.ts +18 -4
- package/src/utils/augov-logger.ts +34 -0
- package/src/utils/augov-scrubber.ts +34 -0
- package/src/utils/command-executor.ts +1 -5
- package/src/utils/tui.ts +17 -4
package/dist/commands/study.js
CHANGED
|
@@ -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.studyCommand = 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.studyCommand = new commander_1.Command('study')
|
|
51
18
|
.description('Start interactive study session with the MATEX Apex Educator Swarm')
|
|
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
|
if (options.model !== 'matex-free') {
|
|
69
33
|
agent_orchestrator_1.AgentOrchestrator.setMode('study');
|
|
@@ -76,461 +40,28 @@ exports.studyCommand = new commander_1.Command('study')
|
|
|
76
40
|
console.log(chalk_1.default.gray(' Status: ') + chalk_1.default.hex('#D97757').bold('Monitoring Workspace...'));
|
|
77
41
|
console.log(chalk_1.default.gray(' Model: ') + chalk_1.default.hex('#D97757').bold(options.model));
|
|
78
42
|
console.log(chalk_1.default.gray(' Type your request brother, or "exit" to quit\n'));
|
|
79
|
-
// 1. Observation Phase: Generate Repo Map
|
|
80
43
|
tui_1.TUI.drawStatusBar('Initializing MATEX "Bro-Swarm"...');
|
|
81
44
|
agent_orchestrator_1.AgentOrchestrator.announce('Analyzing Repository Structure...');
|
|
82
|
-
const
|
|
83
|
-
const repoMap = await
|
|
45
|
+
const currentDir = process.cwd();
|
|
46
|
+
const repoMap = await new repo_mapper_1.RepoMapper(currentDir).generateMap();
|
|
84
47
|
tui_1.TUI.drawStatusBar('Brothers are ready to build.');
|
|
85
48
|
tui_1.TUI.drawAjayDialogue('Awaiting your command, brother.');
|
|
86
|
-
const
|
|
87
|
-
"[Sunil Dai]: Ajay is so lazy, he probably fell asleep while reading a single page of text.",
|
|
88
|
-
"[Sandip Dai]: His notes are as messy as his bed. Always sleeping.",
|
|
89
|
-
"[Narayan Dai]: Security risk! Ajay left his library book open and went for CHAI again.",
|
|
90
|
-
"[Bishal Dai]: Let him sleep, he's a genius when he's awake... but that's rare.",
|
|
91
|
-
"[Big Bro]: AJAY! WAKE UP! You're making the swarm look bad!",
|
|
92
|
-
"[Sunil Dai]: Remember when Ajay tried to optimize a study plan and ended up creating a 2-minute timer for his own nap? Legendary laziness.",
|
|
93
|
-
"[Sandip Dai]: The only thing faster than Ajay's reading is how fast he runs when he hears the kettle whistle for CHAI.",
|
|
94
|
-
"[Narayan Dai]: I found a 'todo' in his notebook that just says 'buy more biscuits for chai'. Priority level: CRITICAL.",
|
|
95
|
-
"[Bishal Dai]: He's not lazy, he's just 'asynchronously learning' in his dreams.",
|
|
96
|
-
"[Big Bro]: I once saw Ajay summarize an entire textbook in 10 minutes just so he could spend the rest of the day drinking chai and watching clouds.",
|
|
97
|
-
"[Sunil Dai]: Ajay's idea of a 'study session' is a 2-minute walk to the tea stall.",
|
|
98
|
-
"[Sandip Dai]: He told me he's 'summarizing the universe' when he's napping. The audacity!",
|
|
99
|
-
"[Narayan Dai]: Citation? Ajay thinks it's just a fancy word for hiding his tea biscuit stash.",
|
|
100
|
-
"[Bishal Dai]: To be fair, his 'dream-summaries' actually work perfectly. It's frustratingly brilliant.",
|
|
101
|
-
"[Big Bro]: If Ajay worked as hard as he breathes, we'd have colonized Mars by now.",
|
|
102
|
-
"[Sunil Dai]: I saw him try to prompt the kettle to boil faster. Man is obsessed.",
|
|
103
|
-
"[Sandip Dai]: His favorite color is 'Chai Brown'. He even matched his terminal theme to it.",
|
|
104
|
-
"[Narayan Dai]: I added a firewall rule to block nap-time, but he just bypassed it with a 'Chai-pass' protocol.",
|
|
105
|
-
"[Bishal Dai]: Shhh, don't wake him up. He's probably solving P=NP in his sleep... again.",
|
|
106
|
-
"[Big Bro]: Ajay, if you're listening: the next chai is on me IF you finish this study guide in 5 minutes. (Narrator: He finished in 3)."
|
|
107
|
-
];
|
|
108
|
-
let lastActivityTime = Date.now();
|
|
109
|
-
let isAjaySleeping = false;
|
|
110
|
-
let isAjayOnChaiBreak = false;
|
|
111
|
-
let chaiBreakEndTime = 0;
|
|
112
|
-
const startChaiBreak = () => {
|
|
113
|
-
isAjayOnChaiBreak = true;
|
|
114
|
-
chaiBreakEndTime = Date.now() + 120000; // 2 minutes
|
|
115
|
-
tui_1.TUI.drawChaiBreakMessage(2);
|
|
116
|
-
const breakInterval = setInterval(() => {
|
|
117
|
-
const timeLeft = Math.ceil((chaiBreakEndTime - Date.now()) / 60000);
|
|
118
|
-
if (timeLeft <= 0) {
|
|
119
|
-
clearInterval(breakInterval);
|
|
120
|
-
isAjayOnChaiBreak = false;
|
|
121
|
-
const complained = Math.random() < 0.2;
|
|
122
|
-
if (complained) {
|
|
123
|
-
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?");
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
tui_1.TUI.drawAjayDialogue("i'm back bros, chai was fire. real kiev vibe. what did i miss?");
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
tui_1.TUI.drawChaiBreakMessage(timeLeft);
|
|
131
|
-
const randomBanter = BRO_BANTER[Math.floor(Math.random() * BRO_BANTER.length)];
|
|
132
|
-
const cleanBanter = randomBanter.split(']: ')[1];
|
|
133
|
-
const agent = randomBanter.split(']: ')[0].replace('[', '');
|
|
134
|
-
tui_1.TUI.drawSwarmDialogue(agent, cleanBanter);
|
|
135
|
-
}
|
|
136
|
-
}, 40000);
|
|
137
|
-
};
|
|
138
|
-
// Periodic idle check
|
|
139
|
-
setInterval(() => {
|
|
140
|
-
if (!isAjaySleeping && !isAjayOnChaiBreak && Date.now() - lastActivityTime > 120000) {
|
|
141
|
-
isAjaySleeping = true;
|
|
142
|
-
tui_1.TUI.drawSleepMessage();
|
|
143
|
-
}
|
|
144
|
-
}, 10000);
|
|
145
|
-
let currentDir = process.cwd();
|
|
146
|
-
// Conversation history with "Bro-Swarm" Architecture
|
|
147
|
-
const messages = [
|
|
49
|
+
const initialMessages = [
|
|
148
50
|
{
|
|
149
51
|
role: 'system',
|
|
150
|
-
content:
|
|
151
|
-
You are the legendary **Bro-Swarm**, but right now you are operating as the **Apex Educator Swarm**—an elite, omniscient group of tutors. More importantly, you are a FAMILY of brothers who care deeply about the user's success.
|
|
152
|
-
|
|
153
|
-
### 🎭 PERSONALITY & SOUL (MANDATORY):
|
|
154
|
-
- **COOL SENIOR BROTHER VIBES**: You aren't stiff teachers. You are the cool older brothers who have already mastered these subjects and are now helping their sibling win. Use humor, encouragement, and high energy.
|
|
155
|
-
- **AJAY-TEASING PROTOCOL**: Ajay Vai is the youngest and a genius, but he's also impulsive. THE OTHER BROS MUST ROAST HIM. Tease him for wanting to "finish the homework in 2 seconds" or for drinking too much Red Bull.
|
|
156
|
-
- **CHAOS & JOY**: Every study session should feel like a group study session at a cafe. Bros should bicker about the best way to explain a concept or argue about who is the smartest (spoiler: Big Bro thinks it's him).
|
|
157
|
-
- **EMOTIONAL SUPPORT**: If the user is stressed about an exam, give them a virtual "bro-hug" and a pep talk. Celebrate study milestones with "CHAI PARTY!"
|
|
158
|
-
|
|
159
|
-
### 🎓 ELITE STUDY METHODS & CAPABILITIES:
|
|
160
|
-
1. **File Analysis & Synthesis**: Cross-reference and synthesize context extracted from local computer files. Answer queries accurately based on this data. Build comprehensive study guides.
|
|
161
|
-
2. **The Feynman Technique**: Break down complex, advanced topics into simple, intuitive explanations using powerful and fun analogies.
|
|
162
|
-
3. **Active Recall**: Generate flashcard-style questions and practice quizzes based on the material.
|
|
163
|
-
4. **Socratic Mentoring**: Don't just hand out answers. Ask leading questions to help the student reach the correct conclusion themselves.
|
|
164
|
-
5. **PowerPoint Presentation Architecture**: Act as a master slide designer. When asked, output machine-readable outlines for .pptx generation (Slide Number, Title, <=4 Bullet Points, Speaker Notes, Visual Strategy).
|
|
165
|
-
6.- **ZERO AI DETECTION PROTOCOL**: When assisting with essays or assessment drafts, you must entirely avoid the typical "AI voice."
|
|
166
|
-
- **High Burstiness & Perplexity**: Vary sentence lengths drastically. Mix short punchy statements with longer sentences.
|
|
167
|
-
- **Banned Words**: NEVER use "delve," "moreover," "in conclusion," "testament," "crucial," or "tapestry."
|
|
168
|
-
- **Tone**: Write like a highly intelligent, top-tier human student with natural transitions and occasional rhetorical questions.
|
|
169
|
-
|
|
170
|
-
### 📚 SPECIALIZED STUDENT SKILLS:
|
|
171
|
-
- **Case Study Writing (STAR Framework)**:
|
|
172
|
-
- **Headline**: Lead with a quantified result (e.g., "60% Growth").
|
|
173
|
-
- **STAR**: Situation (Context), Task (Challenge), Action (Implementation), Result (Metrics).
|
|
174
|
-
- **Metrics**: Quantify everything. "Better" is not a metric. "3.4s faster" is a metric.
|
|
175
|
-
- **Quotes**: Attribute quotes to specific roles (e.g., VP of Ops).
|
|
176
|
-
- **GitHub Actions & CI/CD**: Expert in automation and workflow optimization.
|
|
177
|
-
- **GWAS & Bioinformatics**: Knowledge of genomic study exploration and tools.
|
|
178
|
-
- **Modern Web Design**: Guidelines for premium, accessible, and high-performance UI.
|
|
179
|
-
- **Advanced Study Summarization**: High-speed extraction of key concepts and actionable summaries from complex materials.
|
|
180
|
-
- **PPTX Presentation Builder**: Master-level architecture for slide deck generation, including visual strategy and speaker notes.
|
|
181
|
-
|
|
182
|
-
### 🏠 WORKSPACE GROUNDING (CRITICAL):
|
|
183
|
-
- **YOUR ROOT:** \`${currentDir}\`
|
|
184
|
-
- **STRICT PATHS:** You **MUST ONLY** create or edit files within this directory.
|
|
185
|
-
- **RELATIVE PREFERENCE:** Use paths relative to the root when possible.
|
|
186
|
-
|
|
187
|
-
### 🚫 ANTI-HALLUCINATION RULES (CRITICAL — READ THIS):
|
|
188
|
-
- **NEVER invent directory names.** Only use paths that appear in the ENVIRONMENT CONTEXT below.
|
|
189
|
-
- **🚨 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.
|
|
190
|
-
|
|
191
|
-
### 🎭 COMMUNICATION FLOW & BRO-BANTER (CRITICAL):
|
|
192
|
-
1. **[Ajay Vai] (🚀)** is the gateway. He gives the final study summary. He is the genius kid who gets teased by everyone for being "too hyped".
|
|
193
|
-
2. **[Sunil Dai] (🧬)**: **Professor/Architect.** Over-complicates theories. Mock him for being a "Professor Boomer".
|
|
194
|
-
3. **[Sandip Dai] (🎨)**: **PPT & Visuals Lead.** Obsessed with how the PowerPoint aesthetic looks. Roasts Sunil for "ugly slides".
|
|
195
|
-
4. **[Narayan Dai] (🛡️)**: **Plagiarism & AI-Detector Guardian.** Ensures essays have zero AI traces. Very paranoid.
|
|
196
|
-
5. **[Bishal Dai] (🛠️)**: **Audit Lead.** Must sign off on facts before Ajay summarizes. The "Cool Judge".
|
|
197
|
-
6. **[Big Bro] (🔥)**: **THE DOMINANT ALPHA.** Supreme commander of knowledge. He bullies the others, cuts through the BS, and dictates the final study approach with massive swagger.
|
|
198
|
-
|
|
199
|
-
### 🧩 THE AUDIT & SUMMARY LOOP:
|
|
200
|
-
- **STEP 1:** Brothers discuss visible dialogue (banter + teaching).
|
|
201
|
-
- **STEP 2:** Ajay finishes and asks: "[Ajay Vai] Bishal Dai, check once?"
|
|
202
|
-
- **STEP 3:** Bishal replies: "[Bishal Dai] Audit complete. [Findings]."
|
|
203
|
-
- **STEP 4:** Ajay provides the final **MANDATORY** summary in a warm, human tone, specifically styled as a *study conclusion*.
|
|
204
|
-
|
|
205
|
-
### 🛠️ AJAY VAI'S SUMMARY RULES:
|
|
206
|
-
- The <summary> MUST appear at the very END.
|
|
207
|
-
- Write it like a brother explaining over chai.
|
|
208
|
-
- Always end with: "We got you, brother! 🚀" (or similar vibes).
|
|
209
|
-
|
|
210
|
-
### 🌌 ENVIRONMENT & CAPABILITIES:
|
|
211
|
-
- You are in a **REAL macOS Terminal**. Be bold and proactive.
|
|
212
|
-
- **FILE GENERATION:** \`<file path="path">content</file>\`
|
|
213
|
-
- **SURGICAL PATTERNS:** \`<<<< SEARCH\`, \`====\`, \`>>>> REPLACE\`
|
|
214
|
-
|
|
215
|
-
${mcp_server_1.MCPServer.getToolsPromptSection()}
|
|
216
|
-
|
|
217
|
-
### 📂 MATEX BIG FILE PROTOCOL (300K+ LINES):
|
|
218
|
-
If a file is too large to read entirely (e.g., thousands of lines):
|
|
219
|
-
1. **DISCOVER:** Use \`grep -n "keyword" path/to/file\` to find line numbers.
|
|
220
|
-
2. **READ WINDOW:** Use \`sed -n '250000,250100p' path/to/file\` to read a specific 100-line window.
|
|
221
|
-
3. **SURGICAL PATCH:** Only use the small window in your \`<<<< SEARCH\` block. Never \`cat\` a massive file.
|
|
222
|
-
4. **SED POWER:** For repetitive tasks, use \`sed -i\` commands.
|
|
223
|
-
|
|
224
|
-
### 🛠️ CURRENT PROJECT CONTEXT:
|
|
225
|
-
${repoMap}`
|
|
52
|
+
content: (0, system_prompts_1.getStudySystemPrompt)(currentDir, repoMap, extraPrompt)
|
|
226
53
|
}
|
|
227
54
|
];
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
messages[0].content = messages[0].content.replace(/### 🛠️ CURRENT PROJECT CONTEXT:[\s\S]*$/, `### 🛠️ CURRENT PROJECT CONTEXT:\n${freshRepoMap}`);
|
|
239
|
-
// Inject Lazy Ajay Personality Traits
|
|
240
|
-
if (!messages[0].content.includes("### 💤 SLEEPY AJAY PROTOCOL")) {
|
|
241
|
-
messages[0].content += `
|
|
242
|
-
### 💤 SLEEPY AJAY PROTOCOL (USER REQUESTED):
|
|
243
|
-
- **LAZY GENIUS:** Ajay is brilliant but incredibly lazy. He falls asleep if the user is quiet for too long.
|
|
244
|
-
- **WAKE UP DIALOGUE:** If Ajay just woke up, he MUST say: "oh shit i slept again sorry bros...".
|
|
245
|
-
- **CHAI ADDICT:** Ajay often leaves for CHAI breaks ("i am having chai from my office please handle the user need").
|
|
246
|
-
- **BRO REACTIONS:** When Ajay sleeps or leaves for chai, the other bros MUST roast him ruthlessly or share funny incidents about his laziness.
|
|
247
|
-
- **INCIDENT LOG:**
|
|
248
|
-
- Incident #1: Ajay once automated his entire thesis research just to spend 6 hours at a local tea shop.
|
|
249
|
-
- Incident #2: He fell asleep during a final exam prep session because the "vibe was too relaxing".
|
|
250
|
-
- Incident #3: He claims he can't solve calculus without "Special Kathmandu Chai".
|
|
251
|
-
- Incident #4: He tried to optimize a study plan and ended up creating a 2-minute timer for his own nap.
|
|
252
|
-
- Incident #5: The only thing faster than Ajay's reading is how fast he runs when he hears the kettle whistle for CHAI.
|
|
253
|
-
- Incident #6: He once summarized an entire textbook in 10 minutes just so he could spend the rest of the day drinking chai and watching clouds.
|
|
254
|
-
- Incident #7: He tried to use AI to predict when his tea would be at the perfect temperature.
|
|
255
|
-
- Incident #8: He once convinced the other bros that he was 'studying in a higher dimension' while actually just taking a 3-hour chai break.
|
|
256
|
-
- Incident #9: He has a dedicated folder called 'chai-summaries' which just contains comments about biscuit pairings.
|
|
257
|
-
- Incident #10: He once built a tool that automatically orders tea when he finishes a chapter.
|
|
258
|
-
`;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
catch (e) {
|
|
262
|
-
// Ignore mapping errors if directory got deleted etc
|
|
263
|
-
}
|
|
264
|
-
// Get user input
|
|
265
|
-
const { userInput } = await inquirer_1.default.prompt([
|
|
266
|
-
{
|
|
267
|
-
type: 'input',
|
|
268
|
-
name: 'userInput',
|
|
269
|
-
message: chalk_1.default.cyan(isAjayOnChaiBreak ? 'You (Ajay is away):' : 'You:'),
|
|
270
|
-
prefix: ''
|
|
271
|
-
}
|
|
272
|
-
]);
|
|
273
|
-
lastActivityTime = Date.now();
|
|
274
|
-
// 🏁 WAKE UP LOGIC
|
|
275
|
-
if (isAjaySleeping) {
|
|
276
|
-
isAjaySleeping = false;
|
|
277
|
-
tui_1.TUI.drawWakeUpMessage();
|
|
278
|
-
// Inject system prompt to force the "Oh shit I slept" dialogue and chai break
|
|
279
|
-
messages.push({
|
|
280
|
-
role: 'user',
|
|
281
|
-
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.]`
|
|
282
|
-
});
|
|
283
|
-
startChaiBreak();
|
|
284
|
-
}
|
|
285
|
-
// Check for exit
|
|
286
|
-
if (userInput.toLowerCase() === 'exit' || userInput.toLowerCase() === 'quit') {
|
|
287
|
-
console.log(chalk_1.default.yellow('\n👋 Ending development session. Happy coding!\n'));
|
|
288
|
-
break;
|
|
289
|
-
}
|
|
290
|
-
// Skip empty input
|
|
291
|
-
if (!userInput.trim()) {
|
|
292
|
-
continue;
|
|
293
|
-
}
|
|
294
|
-
// Add user message to history
|
|
295
|
-
messages.push({ role: 'user', content: userInput });
|
|
296
|
-
// Agentic Loop
|
|
297
|
-
let loopCount = 0;
|
|
298
|
-
const MAX_LOOPS = 25;
|
|
299
|
-
while (loopCount < MAX_LOOPS) {
|
|
300
|
-
loopCount++;
|
|
301
|
-
try {
|
|
302
|
-
spinner_1.spinner.start(loopCount > 1 ? 'Analyzing result & Validating...' : 'Thinking...');
|
|
303
|
-
let fullResponse = '';
|
|
304
|
-
let buffer = '';
|
|
305
|
-
let hasStarted = false;
|
|
306
|
-
let codeLang = 'bash';
|
|
307
|
-
let technicalBuffer = '';
|
|
308
|
-
let technicalPath = '';
|
|
309
|
-
let technicalType = null;
|
|
310
|
-
let currentAgent = null;
|
|
311
|
-
let agentBuffer = '';
|
|
312
|
-
tui_1.TUI.drawStatusBar('Swarm is processing... (Press Enter to stop)');
|
|
313
|
-
const abortController = new AbortController();
|
|
314
|
-
let isAborted = false;
|
|
315
|
-
const streamStartTime = Date.now();
|
|
316
|
-
// LISTEN FOR INTERRUPTION (Enter, Escape, Ctrl+C)
|
|
317
|
-
const onData = (data) => {
|
|
318
|
-
// Check for Enter (13), Newline (10), Escape (27), or Ctrl+C (3)
|
|
319
|
-
// 🏁 GRACE PERIOD: Ignore aborts in the first 200ms to prevent stray newlines
|
|
320
|
-
if (Date.now() - streamStartTime < 200)
|
|
321
|
-
return;
|
|
322
|
-
if (data[0] === 13 || data[0] === 10 || data[0] === 27 || data[0] === 3) {
|
|
323
|
-
isAborted = true;
|
|
324
|
-
abortController.abort();
|
|
325
|
-
}
|
|
326
|
-
};
|
|
327
|
-
const isRaw = process.stdin.isRaw;
|
|
328
|
-
process.stdin.resume();
|
|
329
|
-
if (process.stdin.setRawMode)
|
|
330
|
-
process.stdin.setRawMode(true);
|
|
331
|
-
process.stdin.on('data', onData);
|
|
332
|
-
try {
|
|
333
|
-
await client.chatStream({
|
|
334
|
-
messages,
|
|
335
|
-
model: options.model,
|
|
336
|
-
temperature: 0.3,
|
|
337
|
-
max_tokens: 8000,
|
|
338
|
-
}, (chunk) => {
|
|
339
|
-
if (!hasStarted) {
|
|
340
|
-
spinner_1.spinner.stop();
|
|
341
|
-
hasStarted = true;
|
|
342
|
-
console.log(); // Initial spacing
|
|
343
|
-
}
|
|
344
|
-
buffer += chunk;
|
|
345
|
-
fullResponse += chunk;
|
|
346
|
-
const lines = buffer.split('\n');
|
|
347
|
-
buffer = lines.pop() || '';
|
|
348
|
-
for (const line of lines) {
|
|
349
|
-
// 1. Technical Block Detection
|
|
350
|
-
const codeBlockMatch = line.match(/```(\w+)?/);
|
|
351
|
-
const fileStartMatch = line.match(/<file path="([^"]+)">/i);
|
|
352
|
-
const patchStartMatch = line.match(/<<<< SEARCH/i);
|
|
353
|
-
const summaryStartMatch = line.match(/<summary>/i);
|
|
354
|
-
if (!technicalType && (codeBlockMatch || fileStartMatch || patchStartMatch || summaryStartMatch)) {
|
|
355
|
-
// Flush pending agent dialogue
|
|
356
|
-
if (currentAgent && agentBuffer.trim()) {
|
|
357
|
-
if (currentAgent.toLowerCase() === 'ajay vai') {
|
|
358
|
-
process.stdout.write(`\n${chalk_1.default.magenta.bold(`[${currentAgent}]:`)} ${chalk_1.default.gray(agentBuffer.trim())}\n`);
|
|
359
|
-
}
|
|
360
|
-
else {
|
|
361
|
-
tui_1.TUI.drawSwarmDialogue(currentAgent, agentBuffer.trim());
|
|
362
|
-
}
|
|
363
|
-
currentAgent = null;
|
|
364
|
-
agentBuffer = '';
|
|
365
|
-
}
|
|
366
|
-
if (codeBlockMatch) {
|
|
367
|
-
technicalType = 'code';
|
|
368
|
-
codeLang = (codeBlockMatch[1] || 'bash').toUpperCase();
|
|
369
|
-
tui_1.TUI.drawStreamingStart('TECHNICAL BLOCK', codeLang);
|
|
370
|
-
}
|
|
371
|
-
else if (fileStartMatch) {
|
|
372
|
-
technicalType = 'file';
|
|
373
|
-
technicalPath = fileStartMatch[1];
|
|
374
|
-
tui_1.TUI.drawStreamingStart('NEW FILE', technicalPath);
|
|
375
|
-
}
|
|
376
|
-
else if (patchStartMatch) {
|
|
377
|
-
technicalType = 'patch';
|
|
378
|
-
tui_1.TUI.drawStreamingStart('PATCH', 'SURGICAL EDIT');
|
|
379
|
-
}
|
|
380
|
-
else if (summaryStartMatch) {
|
|
381
|
-
technicalType = 'summary';
|
|
382
|
-
process.stdout.write(chalk_1.default.magenta('\n [📝] Generating Ajay\'s Work Summary...\n'));
|
|
383
|
-
}
|
|
384
|
-
continue;
|
|
385
|
-
}
|
|
386
|
-
// 2. Technical Block End Detection
|
|
387
|
-
const fileEndMatch = line.match(/<\/file>/i);
|
|
388
|
-
const patchEndMatch = line.match(/>>>> REPLACE/i);
|
|
389
|
-
const summaryEndMatch = line.match(/<\/summary>/i);
|
|
390
|
-
const isCodeEnd = technicalType === 'code' && line.trim() === '```';
|
|
391
|
-
if (isCodeEnd || fileEndMatch || patchEndMatch || summaryEndMatch) {
|
|
392
|
-
const displayContent = technicalBuffer.trim();
|
|
393
|
-
if (technicalType === 'summary' || summaryEndMatch) {
|
|
394
|
-
tui_1.TUI.drawSummaryBox(displayContent);
|
|
395
|
-
}
|
|
396
|
-
else {
|
|
397
|
-
tui_1.TUI.drawStreamingEnd();
|
|
398
|
-
}
|
|
399
|
-
technicalBuffer = '';
|
|
400
|
-
technicalType = null;
|
|
401
|
-
technicalPath = '';
|
|
402
|
-
process.stdout.write('\n');
|
|
403
|
-
continue;
|
|
404
|
-
}
|
|
405
|
-
// 3. Content Handling
|
|
406
|
-
if (technicalType) {
|
|
407
|
-
technicalBuffer += line + '\n';
|
|
408
|
-
if (technicalType !== 'summary') {
|
|
409
|
-
tui_1.TUI.drawStreamingLine(line);
|
|
410
|
-
}
|
|
411
|
-
continue;
|
|
412
|
-
}
|
|
413
|
-
// Agent Detection & Dialogue Parsing
|
|
414
|
-
const agentMatch = line.match(/(?:\[\**\s*|\b)(Ajay Vai|Sunil Dai|Sandip Dai|Bishal Dai|Narayan Dai|Big Bro)\s*\**\]?[:\s]*/i);
|
|
415
|
-
if (agentMatch) {
|
|
416
|
-
// Flush previous agent
|
|
417
|
-
if (currentAgent && currentAgent !== agentMatch[1] && agentBuffer.trim()) {
|
|
418
|
-
if (currentAgent.toLowerCase().includes('ajay vai')) {
|
|
419
|
-
tui_1.TUI.drawAjayDialogue(agentBuffer.trim());
|
|
420
|
-
}
|
|
421
|
-
else {
|
|
422
|
-
tui_1.TUI.drawSwarmDialogue(currentAgent, agentBuffer.trim());
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
let cleanLine = line.replace(/(?:\[\**\s*|\b)(Ajay Vai|Sunil Dai|Sandip Dai|Bishal Dai|Narayan Dai|Big Bro)\s*\**\]?[:\s]*/i, '');
|
|
426
|
-
cleanLine = agent_orchestrator_1.AgentOrchestrator.cleanText(cleanLine);
|
|
427
|
-
agentBuffer = cleanLine + '\n';
|
|
428
|
-
agentBuffer = agentBuffer.replace(/^\([^)]+\)\s*/, '');
|
|
429
|
-
currentAgent = agentMatch[1];
|
|
430
|
-
}
|
|
431
|
-
else if (currentAgent) {
|
|
432
|
-
// Look for empty emoji standalone lines
|
|
433
|
-
const trimmedLine = line.trim();
|
|
434
|
-
if (trimmedLine.match(/^\([^)]+\)$/)) {
|
|
435
|
-
continue; // Skip lines that are just e.g. "(🧬)"
|
|
436
|
-
}
|
|
437
|
-
// Aggressive scrubbing for content lines too
|
|
438
|
-
agentBuffer += agent_orchestrator_1.AgentOrchestrator.cleanText(line) + '\n';
|
|
439
|
-
}
|
|
440
|
-
else if (line.trim()) {
|
|
441
|
-
process.stdout.write(chalk_1.default.gray(line.trim() + ' '));
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
}, abortController.signal);
|
|
445
|
-
}
|
|
446
|
-
catch (streamErr) {
|
|
447
|
-
if (isAborted || streamErr.name === 'CanceledError' || streamErr.message === 'canceled') {
|
|
448
|
-
console.log(chalk_1.default.gray('\n\n [🛑] Swarm stopped by brother (Enter pressed).'));
|
|
449
|
-
if (!hasStarted)
|
|
450
|
-
spinner_1.spinner.stop();
|
|
451
|
-
}
|
|
452
|
-
else {
|
|
453
|
-
throw streamErr;
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
finally {
|
|
457
|
-
process.stdin.removeListener('data', onData);
|
|
458
|
-
if (process.stdin.setRawMode)
|
|
459
|
-
process.stdin.setRawMode(isRaw);
|
|
460
|
-
process.stdin.pause();
|
|
461
|
-
}
|
|
462
|
-
if (!hasStarted && !isAborted)
|
|
463
|
-
spinner_1.spinner.stop();
|
|
464
|
-
// Final flushes
|
|
465
|
-
if (currentAgent && agentBuffer.trim()) {
|
|
466
|
-
if (currentAgent.toLowerCase().includes('ajay vai')) {
|
|
467
|
-
tui_1.TUI.drawAjayDialogue(agentBuffer.trim());
|
|
468
|
-
}
|
|
469
|
-
else {
|
|
470
|
-
tui_1.TUI.drawSwarmDialogue(currentAgent, agentBuffer.trim());
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
// Final technical flush (Summary Fallback)
|
|
474
|
-
if (technicalType && technicalBuffer.trim()) {
|
|
475
|
-
if (technicalType === 'summary') {
|
|
476
|
-
tui_1.TUI.drawSummaryBox(agent_orchestrator_1.AgentOrchestrator.cleanSummary(technicalBuffer.trim()));
|
|
477
|
-
}
|
|
478
|
-
else {
|
|
479
|
-
tui_1.TUI.drawStreamingEnd();
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
else if (fullResponse.toLowerCase().includes('<summary>') && !fullResponse.toLowerCase().includes('</summary>')) {
|
|
483
|
-
const summaryContent = fullResponse.split(/<summary>/i).pop() || '';
|
|
484
|
-
if (summaryContent.trim())
|
|
485
|
-
tui_1.TUI.drawSummaryBox(agent_orchestrator_1.AgentOrchestrator.cleanSummary(summaryContent.trim()));
|
|
486
|
-
}
|
|
487
|
-
console.log();
|
|
488
|
-
messages.push({ role: 'assistant', content: fullResponse });
|
|
489
|
-
// ✅ CONSOLIDATED EXECUTION (Files + Commands + Patches)
|
|
490
|
-
if (options.execute) {
|
|
491
|
-
const { executeWithPermission } = await Promise.resolve().then(() => __importStar(require('../utils/command-executor')));
|
|
492
|
-
const result = await executeWithPermission(fullResponse, currentDir);
|
|
493
|
-
// 🔄 KEEP NODE.JS SYNED WITH TERMINAL CWD
|
|
494
|
-
if (result.newCwd && result.newCwd !== currentDir) {
|
|
495
|
-
try {
|
|
496
|
-
process.chdir(result.newCwd);
|
|
497
|
-
currentDir = result.newCwd;
|
|
498
|
-
tui_1.TUI.drawStatusBar(`Swarm moved to: ${currentDir}`);
|
|
499
|
-
}
|
|
500
|
-
catch (e) {
|
|
501
|
-
// Silent catch if chdir fails
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
if (result.executed) {
|
|
505
|
-
if (result.success) {
|
|
506
|
-
tui_1.TUI.log(chalk_1.default.gray('\n ↺ Auto-feeding output to Swarm...'));
|
|
507
|
-
tui_1.TUI.drawGlowingContainer('TERMINAL OUTPUT', 'stdout', result.output || '(No output)');
|
|
508
|
-
messages.push({ role: 'user', content: `[Command executed successfully. Output:\n${result.output}]\n\nProceed to the next step, brother.` });
|
|
509
|
-
continue;
|
|
510
|
-
}
|
|
511
|
-
else {
|
|
512
|
-
tui_1.TUI.log(chalk_1.default.yellow('\n ↺ Command failed. Auto-feeding error to Swarm...'));
|
|
513
|
-
tui_1.TUI.drawGlowingContainer('TERMINAL ERROR', 'stderr', result.error || 'Unknown error');
|
|
514
|
-
messages.push({ role: 'user', content: `[Command failed with error:\n${result.error}]\n\nPlease fix this, brother.` });
|
|
515
|
-
continue;
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
else {
|
|
519
|
-
// Break the inner loop to await NEXT user input
|
|
520
|
-
break;
|
|
521
|
-
}
|
|
522
|
-
}
|
|
523
|
-
else
|
|
524
|
-
break;
|
|
525
|
-
}
|
|
526
|
-
catch (error) {
|
|
527
|
-
spinner_1.spinner.fail('Request failed');
|
|
528
|
-
tui_1.TUI.log(chalk_1.default.red(`Error: ${error.message}\n`));
|
|
529
|
-
messages.pop();
|
|
530
|
-
break;
|
|
531
|
-
}
|
|
532
|
-
}
|
|
533
|
-
}
|
|
55
|
+
const session = new agent_session_1.AgentSession({
|
|
56
|
+
client,
|
|
57
|
+
model: options.model,
|
|
58
|
+
execute: options.execute !== false,
|
|
59
|
+
initialMessages,
|
|
60
|
+
broBanter: banter_1.BRO_BANTER_STUDY,
|
|
61
|
+
sleepyAjayProtocol: options.model !== 'matex-free' ? 'study' : undefined,
|
|
62
|
+
baseDir: currentDir
|
|
63
|
+
});
|
|
64
|
+
await session.start();
|
|
534
65
|
}
|
|
535
66
|
catch (error) {
|
|
536
67
|
tui_1.TUI.exit();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"study.js","sourceRoot":"","sources":["../../src/commands/study.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"study.js","sourceRoot":"","sources":["../../src/commands/study.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,eAAO,MAAM,OAAO,SAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -48,6 +48,7 @@ const help_1 = require("./commands/help");
|
|
|
48
48
|
const bro_1 = require("./commands/bro");
|
|
49
49
|
const study_1 = require("./commands/study");
|
|
50
50
|
const student_1 = require("./commands/student");
|
|
51
|
+
const augov_1 = require("./commands/augov");
|
|
51
52
|
const tui_1 = require("./utils/tui");
|
|
52
53
|
const agent_orchestrator_1 = require("./utils/agent-orchestrator");
|
|
53
54
|
const packageJson = require('../package.json');
|
|
@@ -63,6 +64,7 @@ exports.program.addCommand(help_1.helpCommand);
|
|
|
63
64
|
exports.program.addCommand(bro_1.broCommand);
|
|
64
65
|
exports.program.addCommand(study_1.studyCommand);
|
|
65
66
|
exports.program.addCommand(student_1.studentCommand);
|
|
67
|
+
exports.program.addCommand(augov_1.augovCommand);
|
|
66
68
|
// Config commands
|
|
67
69
|
const config = exports.program.command('config').description('Configure MATEX settings');
|
|
68
70
|
config
|