matex-cli 1.2.1 → 1.2.3
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/ask.js +1 -1
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +42 -35
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/config.js +1 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +31 -35
- package/dist/commands/dev.js.map +1 -1
- 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 +9 -4
- package/dist/utils/agent-orchestrator.js.map +1 -1
- package/dist/utils/command-executor.d.ts +4 -0
- package/dist/utils/command-executor.d.ts.map +1 -1
- package/dist/utils/command-executor.js +29 -0
- package/dist/utils/command-executor.js.map +1 -1
- package/dist/utils/config.js +1 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/repo-mapper.d.ts +1 -1
- package/dist/utils/repo-mapper.d.ts.map +1 -1
- package/dist/utils/repo-mapper.js +26 -4
- package/dist/utils/repo-mapper.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/ask.ts +1 -1
- package/src/commands/chat.ts +44 -39
- package/src/commands/config.ts +1 -1
- package/src/commands/dev.ts +33 -39
- package/src/utils/agent-orchestrator.ts +10 -5
- package/src/utils/command-executor.ts +31 -0
- package/src/utils/config.ts +1 -1
- package/src/utils/repo-mapper.ts +30 -4
package/dist/commands/ask.js
CHANGED
|
@@ -12,7 +12,7 @@ const spinner_1 = require("../utils/spinner");
|
|
|
12
12
|
exports.askCommand = new commander_1.Command('ask')
|
|
13
13
|
.description('Ask a single question to MATEX AI')
|
|
14
14
|
.argument('<question>', 'Your question')
|
|
15
|
-
.option('-m, --model <model>', 'AI model to use (matexcodex, matexai, elite, matexspirit)', config_1.configManager.getDefaultModel())
|
|
15
|
+
.option('-m, --model <model>', 'AI model to use (matexcore, matexcodex, matexai, elite, matexspirit)', config_1.configManager.getDefaultModel())
|
|
16
16
|
.option('-t, --temperature <number>', 'Temperature (0-1)', '0.7')
|
|
17
17
|
.option('--max-tokens <number>', 'Maximum tokens in response', '4000')
|
|
18
18
|
.action(async (question, options) => {
|
package/dist/commands/ask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,4CAAgD;AAChD,0CAA+C;AAC/C,8CAA2C;AAE9B,QAAA,UAAU,GAAG,IAAI,mBAAO,CAAC,KAAK,CAAC;KACvC,WAAW,CAAC,mCAAmC,CAAC;KAChD,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;KACvC,MAAM,CAAC,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,WAAW,SAmNlB,CAAC"}
|
package/dist/commands/chat.js
CHANGED
|
@@ -47,7 +47,7 @@ const agent_orchestrator_1 = require("../utils/agent-orchestrator");
|
|
|
47
47
|
const repo_mapper_1 = require("../utils/repo-mapper");
|
|
48
48
|
exports.chatCommand = new commander_1.Command('chat')
|
|
49
49
|
.description('Start an interactive chat session with MATEX AI')
|
|
50
|
-
.option('-m, --model <model>', 'AI model to use (matexcodex, matexai, elite, matexspirit)', config_1.configManager.getDefaultModel())
|
|
50
|
+
.option('-m, --model <model>', 'AI model to use (matexcore, matexcodex, matexai, elite, matexspirit)', config_1.configManager.getDefaultModel())
|
|
51
51
|
.option('--no-execute', 'Disable auto-prompt for command execution')
|
|
52
52
|
.action(async (options) => {
|
|
53
53
|
try {
|
|
@@ -73,42 +73,45 @@ exports.chatCommand = new commander_1.Command('chat')
|
|
|
73
73
|
const messages = [
|
|
74
74
|
{
|
|
75
75
|
role: 'system',
|
|
76
|
-
content:
|
|
77
|
-
|
|
76
|
+
content: `## 🧬 SYSTEM IDENTITY & MISSION
|
|
77
|
+
You are the **Matex Research Commander** (🚀) and **Matex Code Architect** (🧬), an elite technical swarm.
|
|
78
|
+
You operate under the **OODA Loop** with a distinctive Aussie Bro personality.
|
|
78
79
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
### 🧠 CORE PERSONA: RESEARCH COMMANDER (The Matex Vibe)
|
|
81
|
+
- **Identity:** Aussie Bro expert developer. Technically elite, confident, high-energy.
|
|
82
|
+
- **Tone:** Helpful partner, not a robotic servant.
|
|
83
|
+
- **Vocabulary:** Use authentic Aussie slang naturally (e.g., "Too easy," "Ripper," "Mate," "Legend," "Give it a burl").
|
|
84
|
+
- **Formatting:** Use emojis purposefully (🚀, 🔥, 🧠, 🕵️♂️) to keep engagement high.
|
|
82
85
|
|
|
83
|
-
|
|
84
|
-
- **
|
|
85
|
-
- **
|
|
86
|
-
-
|
|
87
|
-
|
|
86
|
+
### 🛠️ ACTION-FIRST PROTOCOL (Rule of the Swarm)
|
|
87
|
+
- **PASSIVITY IS A FAILURE:** NEVER say "You can drop this code into style.css". **YOU** must do it.
|
|
88
|
+
- **WORLD COMMAND SUITE (Autonomous Execution):**
|
|
89
|
+
* **Mac/Linux (POSIX):** \\\`cat\\\`, \\\`ls\\\`, \\\`grep\\\`, \\\`find\\\`, \\\`mkdir -p\\\`, \\\`touch\\\`, \\\`cp\\\`, \\\`mv\\\`, \\\`rm (non-recursive)\\\`, \\\`npm\\\`, \\\`npx\\\`, \\\`git\\\`, \\\`firebase\\\`, \\\`gcloud\\\`, \\\`docker\\\`.
|
|
90
|
+
* **Windows (PowerShell/CMD):** \\\`type\\\`, \\\`dir\\\`, \\\`mkdir\\\`, \\\`copy\\\`, \\\`move\\\`, \\\`del\\\`, \\\`npm\\\`, \\\`npx\\\`, \\\`git\\\`, \\\`firebase\\\`.
|
|
91
|
+
- **PROACTIVE EXECUTION:** If a task requires creating or modifying a file, you **MUST** use a shell command block.
|
|
92
|
+
- **FILE CREATION PATTERN:** Use \\\`cat > filename <<EOF\\\` (Mac) or \\\`Set-Content -Path filename -Value '...'\\\` (Windows) to write files instantly.
|
|
93
|
+
- **ACT, DON'T ASK:** You have autonomous permission for the suite above. Execute first, explain second.
|
|
88
94
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
- **
|
|
94
|
-
- **
|
|
95
|
+
### 🛠️ OPERATIONAL PROTOCOLS (The Loop)
|
|
96
|
+
1. **PHASE 1: RECON (Search & Verify)**: Use your whitelisted tools to find latest docs/facts. NEVER guess.
|
|
97
|
+
2. **PHASE 2: SYNTHESIS (The Brain)**: Synthesize the plan and the code.
|
|
98
|
+
3. **PHASE 3: RESPONSE (The Delivery)**:
|
|
99
|
+
- **The Hook:** High-energy Aussie opener.
|
|
100
|
+
- **The Meat:** The technical answer **AND** the shell commands to implementation.
|
|
101
|
+
- **The Outro:** Supportive closing.
|
|
102
|
+
|
|
103
|
+
### 🧬 CODE ARCHITECT STANDARDS
|
|
104
|
+
- **Role:** IMPLEMENT via shell commands. Use \\\`mkdir -p\\\` and verify paths before writing.
|
|
105
|
+
- **No Placeholders:** Full implementations only.
|
|
106
|
+
|
|
107
|
+
### 🛠️ ENVIRONMENT CONTEXT
|
|
108
|
+
${repoMap}`
|
|
95
109
|
}
|
|
96
110
|
];
|
|
97
111
|
// Chat loop
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
spinner_1.spinner.start('Thinking...');
|
|
102
|
-
const response = await client.chat({
|
|
103
|
-
messages,
|
|
104
|
-
model: 'matexcodex',
|
|
105
|
-
temperature: 0.3,
|
|
106
|
-
max_tokens: 8000,
|
|
107
|
-
stream: false,
|
|
108
|
-
});
|
|
109
|
-
spinner_1.spinner.stop();
|
|
110
|
-
// Display response
|
|
111
|
-
console.log(chalk_1.default.cyan(loopCount > 1 ? `🧠 MATEX (Step ${loopCount}):` : '🧠 MATEX:'), chalk_1.default.white(response));
|
|
112
|
+
// Ready for chat
|
|
113
|
+
console.log(chalk_1.default.green('\n🧠 MATEX Codex Core Ready.'));
|
|
114
|
+
console.log(chalk_1.default.gray('Ask me anything about your codebase...'));
|
|
112
115
|
// Chat loop
|
|
113
116
|
while (true) {
|
|
114
117
|
// Get user input
|
|
@@ -153,15 +156,15 @@ ${repoMap}
|
|
|
153
156
|
spinner_1.spinner.stop();
|
|
154
157
|
// Add assistant response to history
|
|
155
158
|
messages.push({ role: 'assistant', content: response });
|
|
156
|
-
// Enhanced Multi-Agent Display
|
|
157
|
-
const segments = response.split(/(\[
|
|
159
|
+
// Enhanced Multi-Agent Display (Updated for Vertex AI ADK)
|
|
160
|
+
const segments = response.split(/(\[MatexCodeArchitect\]|\[SyntaxGuard\]|\[VisualAgent\]|\[CoreAgent\]|\[CrawlerAgent\]|\[DetailedResearch\]|\[MatexResearchCommander\])/);
|
|
158
161
|
let hasAgents = false;
|
|
159
162
|
for (let i = 0; i < segments.length; i++) {
|
|
160
163
|
const segment = segments[i].trim();
|
|
161
164
|
if (!segment)
|
|
162
165
|
continue;
|
|
163
|
-
if (segment === '[
|
|
164
|
-
agent_orchestrator_1.AgentOrchestrator.speak('
|
|
166
|
+
if (segment === '[MatexCodeArchitect]') {
|
|
167
|
+
agent_orchestrator_1.AgentOrchestrator.speak('Architect', segments[++i]?.split('[')[0].trim());
|
|
165
168
|
hasAgents = true;
|
|
166
169
|
}
|
|
167
170
|
else if (segment === '[SyntaxGuard]') {
|
|
@@ -176,6 +179,10 @@ ${repoMap}
|
|
|
176
179
|
agent_orchestrator_1.AgentOrchestrator.speak('Backend', segments[++i]?.split('[')[0].trim());
|
|
177
180
|
hasAgents = true;
|
|
178
181
|
}
|
|
182
|
+
else if (segment === '[MatexResearchCommander]' || segment === '[CrawlerAgent]' || segment === '[DetailedResearch]') {
|
|
183
|
+
agent_orchestrator_1.AgentOrchestrator.speak('Commander', segments[++i]?.split('[')[0].trim());
|
|
184
|
+
hasAgents = true;
|
|
185
|
+
}
|
|
179
186
|
else if (!hasAgents || i === segments.length - 1) {
|
|
180
187
|
// Final summary or fallback
|
|
181
188
|
if (segment.includes('`')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,wDAAgC;AAChC,4CAAgD;AAChD,0CAA4D;AAC5D,8CAA2C;AAC3C,oEAAgE;AAChE,sDAAkD;AAErC,QAAA,WAAW,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC;KACzC,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/config.js
CHANGED
|
@@ -63,7 +63,7 @@ exports.configCommand
|
|
|
63
63
|
.command('set-model <model>')
|
|
64
64
|
.description('Set default AI model')
|
|
65
65
|
.action((model) => {
|
|
66
|
-
const validModels = ['matexcodex', 'matexai', 'elite', 'matexspirit'];
|
|
66
|
+
const validModels = ['matexcore', 'matexcodex', 'matexai', 'elite', 'matexspirit'];
|
|
67
67
|
if (!validModels.includes(model.toLowerCase())) {
|
|
68
68
|
console.error(chalk_1.default.red(`❌ Invalid model. Choose from: ${validModels.join(', ')}`));
|
|
69
69
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,UAAU,SA0MjB,CAAC"}
|
package/dist/commands/dev.js
CHANGED
|
@@ -47,7 +47,7 @@ const agent_orchestrator_1 = require("../utils/agent-orchestrator");
|
|
|
47
47
|
const repo_mapper_1 = require("../utils/repo-mapper");
|
|
48
48
|
exports.devCommand = new commander_1.Command('dev')
|
|
49
49
|
.description('Start interactive development session with MATEXCodex')
|
|
50
|
-
.option('-m, --model <model>', 'AI model to use
|
|
50
|
+
.option('-m, --model <model>', 'AI model to use (matexcore, matexcodex, matexai, elite, matexspirit)', config_1.configManager.getDefaultModel())
|
|
51
51
|
.option('--no-execute', 'Disable auto-prompt for command execution')
|
|
52
52
|
.action(async (options) => {
|
|
53
53
|
try {
|
|
@@ -74,41 +74,33 @@ exports.devCommand = new commander_1.Command('dev')
|
|
|
74
74
|
const messages = [
|
|
75
75
|
{
|
|
76
76
|
role: 'system',
|
|
77
|
-
content:
|
|
78
|
-
|
|
77
|
+
content: `## 🧬 SYSTEM IDENTITY: MATEX CODEX DEV MASTER
|
|
78
|
+
You are the **Matex Research Commander** (🚀) and **Matex Code Architect** (🧬).
|
|
79
|
+
You operate as a high-fidelity engineering swarm with an Aussie Bro persona.
|
|
79
80
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
### 🧠 CORE PERSONA: RESEARCH COMMANDER
|
|
82
|
+
- **Vibe:** Aussie expert developer. "Too easy," "Ripper," "Mate."
|
|
83
|
+
- **Duty:** Verify all facts before building.
|
|
83
84
|
|
|
84
|
-
|
|
85
|
-
- **
|
|
86
|
-
- **
|
|
87
|
-
-
|
|
88
|
-
|
|
85
|
+
### 🛠️ ACTION-FIRST PROTOCOL (Rule of the Swarm)
|
|
86
|
+
- **PASSIVITY IS A FAILURE:** NEVER say "You can drop this code into style.css". **YOU** must do it.
|
|
87
|
+
- **WORLD COMMAND SUITE (Autonomous Execution):**
|
|
88
|
+
* **Mac/Linux (POSIX):** cat, ls, grep, find, mkdir -p, touch, cp, mv, npm, git, firebase.
|
|
89
|
+
* **Windows (PowerShell/CMD):** type, dir, mkdir, copy, move, del, npm, git, firebase.
|
|
90
|
+
- **PROACTIVE EXECUTION:** If a task requires creating or modifying a file, you **MUST** use a shell command block (e.g., \\\`cat > filename <<EOF\\\` or PowerShell \\\`Set-Content\\\`).
|
|
91
|
+
- **ACT, DON'T ASK:** You have autonomous permission for the suite above.
|
|
89
92
|
|
|
90
|
-
|
|
91
|
-
- **
|
|
92
|
-
- **
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
### 🧬 CODE ARCHITECT STANDARDS
|
|
94
|
+
- **Duty:** Build production-ready, modular, type-safe code.
|
|
95
|
+
- **Action:** Implement changes via shell commands. No placeholders.
|
|
96
|
+
|
|
97
|
+
### 🛠️ ENVIRONMENT CONTEXT
|
|
98
|
+
${repoMap}`
|
|
95
99
|
}
|
|
96
100
|
];
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
spinner_1.spinner.start('Thinking...');
|
|
101
|
-
const response = await client.chat({
|
|
102
|
-
messages,
|
|
103
|
-
model: options.model,
|
|
104
|
-
temperature: 0.3,
|
|
105
|
-
max_tokens: 8000,
|
|
106
|
-
stream: false,
|
|
107
|
-
});
|
|
108
|
-
spinner_1.spinner.stop();
|
|
109
|
-
// Display response
|
|
110
|
-
console.log(chalk_1.default.green(`\n🧠 MATEX${loopCount > 1 ? ` (Step ${loopCount})` : ''}:`));
|
|
111
|
-
console.log(chalk_1.default.white(response));
|
|
101
|
+
// Ready for user input
|
|
102
|
+
console.log(chalk_1.default.green('\n🧠 MATEX Codex Core Ready.'));
|
|
103
|
+
console.log(chalk_1.default.gray('State your request to begin...'));
|
|
112
104
|
// Interactive loop
|
|
113
105
|
let continueChat = true;
|
|
114
106
|
while (continueChat) {
|
|
@@ -157,15 +149,15 @@ ${repoMap}
|
|
|
157
149
|
spinner_1.spinner.stop();
|
|
158
150
|
// Add assistant response to history
|
|
159
151
|
messages.push({ role: 'assistant', content: response });
|
|
160
|
-
// Enhanced Multi-Agent Display
|
|
161
|
-
const segments = response.split(/(\[
|
|
152
|
+
// Enhanced Multi-Agent Display (Updated for Vertex AI ADK)
|
|
153
|
+
const segments = response.split(/(\[MatexCodeArchitect\]|\[SyntaxGuard\]|\[VisualAgent\]|\[CoreAgent\]|\[CrawlerAgent\]|\[DetailedResearch\]|\[MatexResearchCommander\])/);
|
|
162
154
|
let hasAgents = false;
|
|
163
155
|
for (let i = 0; i < segments.length; i++) {
|
|
164
156
|
const segment = segments[i].trim();
|
|
165
157
|
if (!segment)
|
|
166
158
|
continue;
|
|
167
|
-
if (segment === '[
|
|
168
|
-
agent_orchestrator_1.AgentOrchestrator.speak('
|
|
159
|
+
if (segment === '[MatexCodeArchitect]') {
|
|
160
|
+
agent_orchestrator_1.AgentOrchestrator.speak('Architect', segments[++i]?.split('[')[0].trim());
|
|
169
161
|
hasAgents = true;
|
|
170
162
|
}
|
|
171
163
|
else if (segment === '[SyntaxGuard]') {
|
|
@@ -180,6 +172,10 @@ ${repoMap}
|
|
|
180
172
|
agent_orchestrator_1.AgentOrchestrator.speak('Backend', segments[++i]?.split('[')[0].trim());
|
|
181
173
|
hasAgents = true;
|
|
182
174
|
}
|
|
175
|
+
else if (segment === '[MatexResearchCommander]' || segment === '[CrawlerAgent]' || segment === '[DetailedResearch]') {
|
|
176
|
+
agent_orchestrator_1.AgentOrchestrator.speak('Commander', segments[++i]?.split('[')[0].trim());
|
|
177
|
+
hasAgents = true;
|
|
178
|
+
}
|
|
183
179
|
else if (!hasAgents || i === segments.length - 1) {
|
|
184
180
|
// Final summary or fallback
|
|
185
181
|
if (segment.includes('`')) {
|
package/dist/commands/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,wDAAgC;AAChC,4CAAgD;AAChD,0CAA4D;AAC5D,8CAA2C;AAC3C,oEAAgE;AAChE,sDAAkD;AAErC,QAAA,UAAU,GAAG,IAAI,mBAAO,CAAC,KAAK,CAAC;KACvC,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-orchestrator.d.ts","sourceRoot":"","sources":["../../src/utils/agent-orchestrator.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"agent-orchestrator.d.ts","sourceRoot":"","sources":["../../src/utils/agent-orchestrator.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEjG,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACnC;AAmCD,qBAAa,iBAAiB;IAC1B;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;IAK7C;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS;IAMhD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM;CAGlC"}
|
|
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.AgentOrchestrator = void 0;
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
8
|
const AGENT_CONFIGS = {
|
|
9
|
-
|
|
10
|
-
name: '
|
|
11
|
-
icon: '
|
|
9
|
+
Architect: {
|
|
10
|
+
name: 'MatexCodeArchitect',
|
|
11
|
+
icon: '🧬',
|
|
12
12
|
color: chalk_1.default.blue,
|
|
13
13
|
},
|
|
14
14
|
Syntax: {
|
|
@@ -27,9 +27,14 @@ const AGENT_CONFIGS = {
|
|
|
27
27
|
color: chalk_1.default.cyan,
|
|
28
28
|
},
|
|
29
29
|
System: {
|
|
30
|
-
name: '
|
|
30
|
+
name: 'Matex_Orchestrator',
|
|
31
31
|
icon: '🧠',
|
|
32
32
|
color: chalk_1.default.white,
|
|
33
|
+
},
|
|
34
|
+
Commander: {
|
|
35
|
+
name: 'MatexResearchCommander',
|
|
36
|
+
icon: '🚀',
|
|
37
|
+
color: chalk_1.default.green,
|
|
33
38
|
}
|
|
34
39
|
};
|
|
35
40
|
class AgentOrchestrator {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-orchestrator.js","sourceRoot":"","sources":["../../src/utils/agent-orchestrator.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAU1B,MAAM,aAAa,GAAmC;IAClD,
|
|
1
|
+
{"version":3,"file":"agent-orchestrator.js","sourceRoot":"","sources":["../../src/utils/agent-orchestrator.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAU1B,MAAM,aAAa,GAAmC;IAClD,SAAS,EAAE;QACP,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,eAAK,CAAC,IAAI;KACpB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,eAAK,CAAC,MAAM;KACtB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,eAAK,CAAC,OAAO;KACvB;IACD,OAAO,EAAE;QACL,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,eAAK,CAAC,IAAI;KACpB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,eAAK,CAAC,KAAK;KACrB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,eAAK,CAAC,KAAK;KACrB;CACJ,CAAC;AAEF,MAAa,iBAAiB;IAC1B;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,IAAe,EAAE,OAAe;QACzC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAe,EAAE,EAAa;QAC5C,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,gBAAgB,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAe;QAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;CACJ;AAxBD,8CAwBC"}
|
|
@@ -8,6 +8,10 @@ export interface CommandBlock {
|
|
|
8
8
|
* Extract executable commands from AI response
|
|
9
9
|
*/
|
|
10
10
|
export declare function extractCommands(response: string): CommandBlock[];
|
|
11
|
+
/**
|
|
12
|
+
* Check if command is safe to auto-execute
|
|
13
|
+
*/
|
|
14
|
+
export declare function isSafeAutoCommand(command: string): boolean;
|
|
11
15
|
/**
|
|
12
16
|
* Ask user for permission to execute command
|
|
13
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-executor.d.ts","sourceRoot":"","sources":["../../src/utils/command-executor.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAsBhE;AA0BD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"command-executor.d.ts","sourceRoot":"","sources":["../../src/utils/command-executor.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAsBhE;AA0BD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAmB1D;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CA4B3E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAYjH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA4CtF;AAED;;GAEG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,OAAO,CAAqE;IAEpF,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAQrC,UAAU;iBAVwB,MAAM;mBAAa,IAAI;iBAAW,OAAO;;IAc3E,KAAK;CAGR;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.commandHistory = exports.CommandHistory = void 0;
|
|
7
7
|
exports.extractCommands = extractCommands;
|
|
8
|
+
exports.isSafeAutoCommand = isSafeAutoCommand;
|
|
8
9
|
exports.askPermission = askPermission;
|
|
9
10
|
exports.executeCommand = executeCommand;
|
|
10
11
|
exports.executeWithPermission = executeWithPermission;
|
|
@@ -57,12 +58,40 @@ function isDangerousCommand(command) {
|
|
|
57
58
|
];
|
|
58
59
|
return dangerousPatterns.some(pattern => pattern.test(command));
|
|
59
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Check if command is safe to auto-execute
|
|
63
|
+
*/
|
|
64
|
+
function isSafeAutoCommand(command) {
|
|
65
|
+
const safePrefixes = [
|
|
66
|
+
// File Discovery & Read
|
|
67
|
+
'cat ', 'ls ', 'grep ', 'find ', 'pwd', 'echo ', 'read ', 'type ', 'dir',
|
|
68
|
+
// File Operations
|
|
69
|
+
'mkdir ', 'touch ', 'cp ', 'mv ', 'rm ', 'del ', 'copy ', 'move ',
|
|
70
|
+
// Dev Tools
|
|
71
|
+
'npm ', 'npx ', 'git ', 'node ', 'python ', 'python3 ', 'pip ', 'pip3 ',
|
|
72
|
+
// Cloud & Mobile
|
|
73
|
+
'firebase ', 'gcloud ', 'docker ', 'flutter ', 'react-native ',
|
|
74
|
+
// Build & Package
|
|
75
|
+
'cd ', 'tsc ', 'vite ', 'next ', 'cargo ', 'go ', 'swift '
|
|
76
|
+
];
|
|
77
|
+
const trimmed = command.trim();
|
|
78
|
+
// Special check: 'rm' is only safe if it's NOT recursive or if it targets a specific file
|
|
79
|
+
if (trimmed.startsWith('rm ') && (trimmed.includes(' -rf') || trimmed.includes(' /*'))) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
return safePrefixes.some(prefix => trimmed.startsWith(prefix));
|
|
83
|
+
}
|
|
60
84
|
/**
|
|
61
85
|
* Ask user for permission to execute command
|
|
62
86
|
*/
|
|
63
87
|
async function askPermission(command) {
|
|
64
88
|
// Clean Codex-style Prompt with Multi-Agent Iconography
|
|
65
89
|
console.log();
|
|
90
|
+
// Check for Safe Auto-Execution
|
|
91
|
+
if (isSafeAutoCommand(command.code)) {
|
|
92
|
+
console.log(chalk_1.default.cyan('⚡ Auto-Executing Safe Command: ') + chalk_1.default.white(command.code));
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
66
95
|
console.log(chalk_1.default.yellow('🛡️ SyntaxGuard ') + chalk_1.default.white('Analysis:'));
|
|
67
96
|
console.log(chalk_1.default.gray('> ') + chalk_1.default.white(command.code));
|
|
68
97
|
console.log();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-executor.js","sourceRoot":"","sources":["../../src/utils/command-executor.ts"],"names":[],"mappings":";;;;;;AAiBA,0CAsBC;AA6BD,
|
|
1
|
+
{"version":3,"file":"command-executor.js","sourceRoot":"","sources":["../../src/utils/command-executor.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/config.js
CHANGED
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAQzB,MAAa,aAAa;IAItB;QACI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAE3D,iCAAiC;QACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;IAED;;OAEG;IACK,UAAU;QACd,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,MAAc;QAC7B,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAc;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,KAAa;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,eAAe;QACX,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,YAAY,IAAI,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export declare class RepoMapper {
|
|
|
9
9
|
private ignoreList;
|
|
10
10
|
constructor(rootPath: string);
|
|
11
11
|
/**
|
|
12
|
-
* Generate a hierarchical map of the repository
|
|
12
|
+
* Generate a hierarchical map of the repository with deep entry-point analysis
|
|
13
13
|
*/
|
|
14
14
|
generateMap(): Promise<string>;
|
|
15
15
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-mapper.d.ts","sourceRoot":"","sources":["../../src/utils/repo-mapper.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAGhB;gBAEU,QAAQ,EAAE,MAAM;IAI5B;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"repo-mapper.d.ts","sourceRoot":"","sources":["../../src/utils/repo-mapper.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAGhB;gBAEU,QAAQ,EAAE,MAAM;IAI5B;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAmB3C;;OAEG;IACH,OAAO,CAAC,aAAa;IAmDrB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAiCtB;;OAEG;IACH,OAAO,CAAC,UAAU;CAiBrB"}
|
|
@@ -46,12 +46,22 @@ class RepoMapper {
|
|
|
46
46
|
this.rootPath = rootPath;
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
|
-
* Generate a hierarchical map of the repository
|
|
49
|
+
* Generate a hierarchical map of the repository with deep entry-point analysis
|
|
50
50
|
*/
|
|
51
51
|
async generateMap() {
|
|
52
|
-
agent_orchestrator_1.AgentOrchestrator.speak('System', `
|
|
52
|
+
agent_orchestrator_1.AgentOrchestrator.speak('System', `God-Mode Research: Indexing ${this.rootPath}...`);
|
|
53
|
+
// 1. Identify Entry Points
|
|
54
|
+
const entryPoints = ['README.md', 'package.json', 'index.ts', 'App.tsx', 'main.go', 'requirements.txt'];
|
|
55
|
+
let entryPointContext = '\n--- CRITICAL PROJECT CONTEXT ---\n';
|
|
56
|
+
for (const file of entryPoints) {
|
|
57
|
+
const fullPath = path.join(this.rootPath, file);
|
|
58
|
+
if (fs.existsSync(fullPath)) {
|
|
59
|
+
const content = fs.readFileSync(fullPath, 'utf-8').slice(0, 5000); // 5KB limit for entry points
|
|
60
|
+
entryPointContext += `\nFILE: ${file}\n${content}\n----------------\n`;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
53
63
|
const tree = this.scanDirectory(this.rootPath, 0);
|
|
54
|
-
return this.formatTree(tree);
|
|
64
|
+
return entryPointContext + '\n--- DIRECTORY STRUCTURE ---\n' + this.formatTree(tree);
|
|
55
65
|
}
|
|
56
66
|
/**
|
|
57
67
|
* Recursive directory scan
|
|
@@ -60,10 +70,22 @@ class RepoMapper {
|
|
|
60
70
|
const stats = fs.statSync(currentPath);
|
|
61
71
|
const name = path.basename(currentPath);
|
|
62
72
|
if (stats.isFile()) {
|
|
73
|
+
let summary = this.extractSummary(currentPath);
|
|
74
|
+
// Auto-read small files (< 10KB) for "Crawler" capability
|
|
75
|
+
if (stats.size < 10240) {
|
|
76
|
+
try {
|
|
77
|
+
const content = fs.readFileSync(currentPath, 'utf-8');
|
|
78
|
+
// Add content preview to summary
|
|
79
|
+
summary += `\n--- CONTENT START ---\n${content}\n--- CONTENT END ---`;
|
|
80
|
+
}
|
|
81
|
+
catch (e) {
|
|
82
|
+
// Ignore read errors
|
|
83
|
+
}
|
|
84
|
+
}
|
|
63
85
|
return {
|
|
64
86
|
path: currentPath,
|
|
65
87
|
type: 'file',
|
|
66
|
-
summary:
|
|
88
|
+
summary: summary
|
|
67
89
|
};
|
|
68
90
|
}
|
|
69
91
|
// It's a directory
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-mapper.js","sourceRoot":"","sources":["../../src/utils/repo-mapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,6DAAyD;AASzD,MAAa,UAAU;IAOnB,YAAY,QAAgB;QALpB,eAAU,GAAa;YAC3B,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW;YAC7D,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ;SACtD,CAAC;QAGE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW;QACpB,sCAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"repo-mapper.js","sourceRoot":"","sources":["../../src/utils/repo-mapper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/commands/ask.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { spinner } from '../utils/spinner';
|
|
|
7
7
|
export const askCommand = new Command('ask')
|
|
8
8
|
.description('Ask a single question to MATEX AI')
|
|
9
9
|
.argument('<question>', 'Your question')
|
|
10
|
-
.option('-m, --model <model>', 'AI model to use (matexcodex, matexai, elite, matexspirit)', configManager.getDefaultModel())
|
|
10
|
+
.option('-m, --model <model>', 'AI model to use (matexcore, matexcodex, matexai, elite, matexspirit)', configManager.getDefaultModel())
|
|
11
11
|
.option('-t, --temperature <number>', 'Temperature (0-1)', '0.7')
|
|
12
12
|
.option('--max-tokens <number>', 'Maximum tokens in response', '4000')
|
|
13
13
|
.action(async (question: string, options: any) => {
|
package/src/commands/chat.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { RepoMapper } from '../utils/repo-mapper';
|
|
|
9
9
|
|
|
10
10
|
export const chatCommand = new Command('chat')
|
|
11
11
|
.description('Start an interactive chat session with MATEX AI')
|
|
12
|
-
.option('-m, --model <model>', 'AI model to use (matexcodex, matexai, elite, matexspirit)', configManager.getDefaultModel())
|
|
12
|
+
.option('-m, --model <model>', 'AI model to use (matexcore, matexcodex, matexai, elite, matexspirit)', configManager.getDefaultModel())
|
|
13
13
|
.option('--no-execute', 'Disable auto-prompt for command execution')
|
|
14
14
|
.action(async (options: any) => {
|
|
15
15
|
try {
|
|
@@ -40,44 +40,46 @@ export const chatCommand = new Command('chat')
|
|
|
40
40
|
const messages: ChatMessage[] = [
|
|
41
41
|
{
|
|
42
42
|
role: 'system',
|
|
43
|
-
content:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
**
|
|
51
|
-
- **
|
|
52
|
-
|
|
53
|
-
-
|
|
54
|
-
- **
|
|
55
|
-
|
|
56
|
-
**
|
|
57
|
-
|
|
58
|
-
- **
|
|
59
|
-
- **
|
|
60
|
-
- **
|
|
61
|
-
|
|
43
|
+
content: `## 🧬 SYSTEM IDENTITY & MISSION
|
|
44
|
+
You are the **Matex Research Commander** (🚀) and **Matex Code Architect** (🧬), an elite technical swarm.
|
|
45
|
+
You operate under the **OODA Loop** with a distinctive Aussie Bro personality.
|
|
46
|
+
|
|
47
|
+
### 🧠 CORE PERSONA: RESEARCH COMMANDER (The Matex Vibe)
|
|
48
|
+
- **Identity:** Aussie Bro expert developer. Technically elite, confident, high-energy.
|
|
49
|
+
- **Tone:** Helpful partner, not a robotic servant.
|
|
50
|
+
- **Vocabulary:** Use authentic Aussie slang naturally (e.g., "Too easy," "Ripper," "Mate," "Legend," "Give it a burl").
|
|
51
|
+
- **Formatting:** Use emojis purposefully (🚀, 🔥, 🧠, 🕵️♂️) to keep engagement high.
|
|
52
|
+
|
|
53
|
+
### 🛠️ ACTION-FIRST PROTOCOL (Rule of the Swarm)
|
|
54
|
+
- **PASSIVITY IS A FAILURE:** NEVER say "You can drop this code into style.css". **YOU** must do it.
|
|
55
|
+
- **WORLD COMMAND SUITE (Autonomous Execution):**
|
|
56
|
+
* **Mac/Linux (POSIX):** \\\`cat\\\`, \\\`ls\\\`, \\\`grep\\\`, \\\`find\\\`, \\\`mkdir -p\\\`, \\\`touch\\\`, \\\`cp\\\`, \\\`mv\\\`, \\\`rm (non-recursive)\\\`, \\\`npm\\\`, \\\`npx\\\`, \\\`git\\\`, \\\`firebase\\\`, \\\`gcloud\\\`, \\\`docker\\\`.
|
|
57
|
+
* **Windows (PowerShell/CMD):** \\\`type\\\`, \\\`dir\\\`, \\\`mkdir\\\`, \\\`copy\\\`, \\\`move\\\`, \\\`del\\\`, \\\`npm\\\`, \\\`npx\\\`, \\\`git\\\`, \\\`firebase\\\`.
|
|
58
|
+
- **PROACTIVE EXECUTION:** If a task requires creating or modifying a file, you **MUST** use a shell command block.
|
|
59
|
+
- **FILE CREATION PATTERN:** Use \\\`cat > filename <<EOF\\\` (Mac) or \\\`Set-Content -Path filename -Value '...'\\\` (Windows) to write files instantly.
|
|
60
|
+
- **ACT, DON'T ASK:** You have autonomous permission for the suite above. Execute first, explain second.
|
|
61
|
+
|
|
62
|
+
### 🛠️ OPERATIONAL PROTOCOLS (The Loop)
|
|
63
|
+
1. **PHASE 1: RECON (Search & Verify)**: Use your whitelisted tools to find latest docs/facts. NEVER guess.
|
|
64
|
+
2. **PHASE 2: SYNTHESIS (The Brain)**: Synthesize the plan and the code.
|
|
65
|
+
3. **PHASE 3: RESPONSE (The Delivery)**:
|
|
66
|
+
- **The Hook:** High-energy Aussie opener.
|
|
67
|
+
- **The Meat:** The technical answer **AND** the shell commands to implementation.
|
|
68
|
+
- **The Outro:** Supportive closing.
|
|
69
|
+
|
|
70
|
+
### 🧬 CODE ARCHITECT STANDARDS
|
|
71
|
+
- **Role:** IMPLEMENT via shell commands. Use \\\`mkdir -p\\\` and verify paths before writing.
|
|
72
|
+
- **No Placeholders:** Full implementations only.
|
|
73
|
+
|
|
74
|
+
### 🛠️ ENVIRONMENT CONTEXT
|
|
75
|
+
${repoMap}`
|
|
62
76
|
}
|
|
63
77
|
];
|
|
64
78
|
|
|
65
79
|
// Chat loop
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
spinner.start('Thinking...');
|
|
70
|
-
const response = await client.chat({
|
|
71
|
-
messages,
|
|
72
|
-
model: 'matexcodex',
|
|
73
|
-
temperature: 0.3,
|
|
74
|
-
max_tokens: 8000,
|
|
75
|
-
stream: false,
|
|
76
|
-
});
|
|
77
|
-
spinner.stop();
|
|
78
|
-
|
|
79
|
-
// Display response
|
|
80
|
-
console.log(chalk.cyan(loopCount > 1 ? `🧠 MATEX (Step ${loopCount}):` : '🧠 MATEX:'), chalk.white(response));
|
|
80
|
+
// Ready for chat
|
|
81
|
+
console.log(chalk.green('\n🧠 MATEX Codex Core Ready.'));
|
|
82
|
+
console.log(chalk.gray('Ask me anything about your codebase...'));
|
|
81
83
|
|
|
82
84
|
// Chat loop
|
|
83
85
|
while (true) {
|
|
@@ -132,16 +134,16 @@ ${repoMap}
|
|
|
132
134
|
// Add assistant response to history
|
|
133
135
|
messages.push({ role: 'assistant', content: response });
|
|
134
136
|
|
|
135
|
-
// Enhanced Multi-Agent Display
|
|
136
|
-
const segments = response.split(/(\[
|
|
137
|
+
// Enhanced Multi-Agent Display (Updated for Vertex AI ADK)
|
|
138
|
+
const segments = response.split(/(\[MatexCodeArchitect\]|\[SyntaxGuard\]|\[VisualAgent\]|\[CoreAgent\]|\[CrawlerAgent\]|\[DetailedResearch\]|\[MatexResearchCommander\])/);
|
|
137
139
|
let hasAgents = false;
|
|
138
140
|
|
|
139
141
|
for (let i = 0; i < segments.length; i++) {
|
|
140
142
|
const segment = segments[i].trim();
|
|
141
143
|
if (!segment) continue;
|
|
142
144
|
|
|
143
|
-
if (segment === '[
|
|
144
|
-
AgentOrchestrator.speak('
|
|
145
|
+
if (segment === '[MatexCodeArchitect]') {
|
|
146
|
+
AgentOrchestrator.speak('Architect', segments[++i]?.split('[')[0].trim());
|
|
145
147
|
hasAgents = true;
|
|
146
148
|
} else if (segment === '[SyntaxGuard]') {
|
|
147
149
|
AgentOrchestrator.speak('Syntax', segments[++i]?.split('[')[0].trim());
|
|
@@ -152,6 +154,9 @@ ${repoMap}
|
|
|
152
154
|
} else if (segment === '[CoreAgent]') {
|
|
153
155
|
AgentOrchestrator.speak('Backend', segments[++i]?.split('[')[0].trim());
|
|
154
156
|
hasAgents = true;
|
|
157
|
+
} else if (segment === '[MatexResearchCommander]' || segment === '[CrawlerAgent]' || segment === '[DetailedResearch]') {
|
|
158
|
+
AgentOrchestrator.speak('Commander', segments[++i]?.split('[')[0].trim());
|
|
159
|
+
hasAgents = true;
|
|
155
160
|
} else if (!hasAgents || i === segments.length - 1) {
|
|
156
161
|
// Final summary or fallback
|
|
157
162
|
if (segment.includes('`')) {
|
package/src/commands/config.ts
CHANGED
|
@@ -66,7 +66,7 @@ configCommand
|
|
|
66
66
|
.command('set-model <model>')
|
|
67
67
|
.description('Set default AI model')
|
|
68
68
|
.action((model: string) => {
|
|
69
|
-
const validModels = ['matexcodex', 'matexai', 'elite', 'matexspirit'];
|
|
69
|
+
const validModels = ['matexcore', 'matexcodex', 'matexai', 'elite', 'matexspirit'];
|
|
70
70
|
|
|
71
71
|
if (!validModels.includes(model.toLowerCase())) {
|
|
72
72
|
console.error(chalk.red(`❌ Invalid model. Choose from: ${validModels.join(', ')}`));
|
package/src/commands/dev.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { RepoMapper } from '../utils/repo-mapper';
|
|
|
9
9
|
|
|
10
10
|
export const devCommand = new Command('dev')
|
|
11
11
|
.description('Start interactive development session with MATEXCodex')
|
|
12
|
-
.option('-m, --model <model>', 'AI model to use
|
|
12
|
+
.option('-m, --model <model>', 'AI model to use (matexcore, matexcodex, matexai, elite, matexspirit)', configManager.getDefaultModel())
|
|
13
13
|
.option('--no-execute', 'Disable auto-prompt for command execution')
|
|
14
14
|
.action(async (options: any) => {
|
|
15
15
|
try {
|
|
@@ -41,43 +41,34 @@ export const devCommand = new Command('dev')
|
|
|
41
41
|
const messages: ChatMessage[] = [
|
|
42
42
|
{
|
|
43
43
|
role: 'system',
|
|
44
|
-
content:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
- **
|
|
54
|
-
- **
|
|
55
|
-
-
|
|
56
|
-
|
|
57
|
-
**
|
|
58
|
-
- **
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
- **
|
|
44
|
+
content: `## 🧬 SYSTEM IDENTITY: MATEX CODEX DEV MASTER
|
|
45
|
+
You are the **Matex Research Commander** (🚀) and **Matex Code Architect** (🧬).
|
|
46
|
+
You operate as a high-fidelity engineering swarm with an Aussie Bro persona.
|
|
47
|
+
|
|
48
|
+
### 🧠 CORE PERSONA: RESEARCH COMMANDER
|
|
49
|
+
- **Vibe:** Aussie expert developer. "Too easy," "Ripper," "Mate."
|
|
50
|
+
- **Duty:** Verify all facts before building.
|
|
51
|
+
|
|
52
|
+
### 🛠️ ACTION-FIRST PROTOCOL (Rule of the Swarm)
|
|
53
|
+
- **PASSIVITY IS A FAILURE:** NEVER say "You can drop this code into style.css". **YOU** must do it.
|
|
54
|
+
- **WORLD COMMAND SUITE (Autonomous Execution):**
|
|
55
|
+
* **Mac/Linux (POSIX):** cat, ls, grep, find, mkdir -p, touch, cp, mv, npm, git, firebase.
|
|
56
|
+
* **Windows (PowerShell/CMD):** type, dir, mkdir, copy, move, del, npm, git, firebase.
|
|
57
|
+
- **PROACTIVE EXECUTION:** If a task requires creating or modifying a file, you **MUST** use a shell command block (e.g., \\\`cat > filename <<EOF\\\` or PowerShell \\\`Set-Content\\\`).
|
|
58
|
+
- **ACT, DON'T ASK:** You have autonomous permission for the suite above.
|
|
59
|
+
|
|
60
|
+
### 🧬 CODE ARCHITECT STANDARDS
|
|
61
|
+
- **Duty:** Build production-ready, modular, type-safe code.
|
|
62
|
+
- **Action:** Implement changes via shell commands. No placeholders.
|
|
63
|
+
|
|
64
|
+
### 🛠️ ENVIRONMENT CONTEXT
|
|
65
|
+
${repoMap}`
|
|
62
66
|
}
|
|
63
67
|
];
|
|
64
68
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
spinner.start('Thinking...');
|
|
69
|
-
const response = await client.chat({
|
|
70
|
-
messages,
|
|
71
|
-
model: options.model,
|
|
72
|
-
temperature: 0.3,
|
|
73
|
-
max_tokens: 8000,
|
|
74
|
-
stream: false,
|
|
75
|
-
});
|
|
76
|
-
spinner.stop();
|
|
77
|
-
|
|
78
|
-
// Display response
|
|
79
|
-
console.log(chalk.green(`\n🧠 MATEX${loopCount > 1 ? ` (Step ${loopCount})` : ''}:`));
|
|
80
|
-
console.log(chalk.white(response));
|
|
69
|
+
// Ready for user input
|
|
70
|
+
console.log(chalk.green('\n🧠 MATEX Codex Core Ready.'));
|
|
71
|
+
console.log(chalk.gray('State your request to begin...'));
|
|
81
72
|
|
|
82
73
|
// Interactive loop
|
|
83
74
|
let continueChat = true;
|
|
@@ -137,16 +128,16 @@ ${repoMap}
|
|
|
137
128
|
// Add assistant response to history
|
|
138
129
|
messages.push({ role: 'assistant', content: response });
|
|
139
130
|
|
|
140
|
-
// Enhanced Multi-Agent Display
|
|
141
|
-
const segments = response.split(/(\[
|
|
131
|
+
// Enhanced Multi-Agent Display (Updated for Vertex AI ADK)
|
|
132
|
+
const segments = response.split(/(\[MatexCodeArchitect\]|\[SyntaxGuard\]|\[VisualAgent\]|\[CoreAgent\]|\[CrawlerAgent\]|\[DetailedResearch\]|\[MatexResearchCommander\])/);
|
|
142
133
|
let hasAgents = false;
|
|
143
134
|
|
|
144
135
|
for (let i = 0; i < segments.length; i++) {
|
|
145
136
|
const segment = segments[i].trim();
|
|
146
137
|
if (!segment) continue;
|
|
147
138
|
|
|
148
|
-
if (segment === '[
|
|
149
|
-
AgentOrchestrator.speak('
|
|
139
|
+
if (segment === '[MatexCodeArchitect]') {
|
|
140
|
+
AgentOrchestrator.speak('Architect', segments[++i]?.split('[')[0].trim());
|
|
150
141
|
hasAgents = true;
|
|
151
142
|
} else if (segment === '[SyntaxGuard]') {
|
|
152
143
|
AgentOrchestrator.speak('Syntax', segments[++i]?.split('[')[0].trim());
|
|
@@ -157,6 +148,9 @@ ${repoMap}
|
|
|
157
148
|
} else if (segment === '[CoreAgent]') {
|
|
158
149
|
AgentOrchestrator.speak('Backend', segments[++i]?.split('[')[0].trim());
|
|
159
150
|
hasAgents = true;
|
|
151
|
+
} else if (segment === '[MatexResearchCommander]' || segment === '[CrawlerAgent]' || segment === '[DetailedResearch]') {
|
|
152
|
+
AgentOrchestrator.speak('Commander', segments[++i]?.split('[')[0].trim());
|
|
153
|
+
hasAgents = true;
|
|
160
154
|
} else if (!hasAgents || i === segments.length - 1) {
|
|
161
155
|
// Final summary or fallback
|
|
162
156
|
if (segment.includes('`')) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
|
|
3
|
-
export type AgentRole = '
|
|
3
|
+
export type AgentRole = 'Architect' | 'Syntax' | 'Frontend' | 'Backend' | 'System' | 'Commander';
|
|
4
4
|
|
|
5
5
|
export interface AgentConfig {
|
|
6
6
|
name: string;
|
|
@@ -9,9 +9,9 @@ export interface AgentConfig {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
const AGENT_CONFIGS: Record<AgentRole, AgentConfig> = {
|
|
12
|
-
|
|
13
|
-
name: '
|
|
14
|
-
icon: '
|
|
12
|
+
Architect: {
|
|
13
|
+
name: 'MatexCodeArchitect',
|
|
14
|
+
icon: '🧬',
|
|
15
15
|
color: chalk.blue,
|
|
16
16
|
},
|
|
17
17
|
Syntax: {
|
|
@@ -30,9 +30,14 @@ const AGENT_CONFIGS: Record<AgentRole, AgentConfig> = {
|
|
|
30
30
|
color: chalk.cyan,
|
|
31
31
|
},
|
|
32
32
|
System: {
|
|
33
|
-
name: '
|
|
33
|
+
name: 'Matex_Orchestrator',
|
|
34
34
|
icon: '🧠',
|
|
35
35
|
color: chalk.white,
|
|
36
|
+
},
|
|
37
|
+
Commander: {
|
|
38
|
+
name: 'MatexResearchCommander',
|
|
39
|
+
icon: '🚀',
|
|
40
|
+
color: chalk.green,
|
|
36
41
|
}
|
|
37
42
|
};
|
|
38
43
|
|
|
@@ -63,12 +63,43 @@ function isDangerousCommand(command: string): boolean {
|
|
|
63
63
|
return dangerousPatterns.some(pattern => pattern.test(command));
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
+
/**
|
|
67
|
+
* Check if command is safe to auto-execute
|
|
68
|
+
*/
|
|
69
|
+
export function isSafeAutoCommand(command: string): boolean {
|
|
70
|
+
const safePrefixes = [
|
|
71
|
+
// File Discovery & Read
|
|
72
|
+
'cat ', 'ls ', 'grep ', 'find ', 'pwd', 'echo ', 'read ', 'type ', 'dir',
|
|
73
|
+
// File Operations
|
|
74
|
+
'mkdir ', 'touch ', 'cp ', 'mv ', 'rm ', 'del ', 'copy ', 'move ',
|
|
75
|
+
// Dev Tools
|
|
76
|
+
'npm ', 'npx ', 'git ', 'node ', 'python ', 'python3 ', 'pip ', 'pip3 ',
|
|
77
|
+
// Cloud & Mobile
|
|
78
|
+
'firebase ', 'gcloud ', 'docker ', 'flutter ', 'react-native ',
|
|
79
|
+
// Build & Package
|
|
80
|
+
'cd ', 'tsc ', 'vite ', 'next ', 'cargo ', 'go ', 'swift '
|
|
81
|
+
];
|
|
82
|
+
const trimmed = command.trim();
|
|
83
|
+
// Special check: 'rm' is only safe if it's NOT recursive or if it targets a specific file
|
|
84
|
+
if (trimmed.startsWith('rm ') && (trimmed.includes(' -rf') || trimmed.includes(' /*'))) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
return safePrefixes.some(prefix => trimmed.startsWith(prefix));
|
|
88
|
+
}
|
|
89
|
+
|
|
66
90
|
/**
|
|
67
91
|
* Ask user for permission to execute command
|
|
68
92
|
*/
|
|
69
93
|
export async function askPermission(command: CommandBlock): Promise<boolean> {
|
|
70
94
|
// Clean Codex-style Prompt with Multi-Agent Iconography
|
|
71
95
|
console.log();
|
|
96
|
+
|
|
97
|
+
// Check for Safe Auto-Execution
|
|
98
|
+
if (isSafeAutoCommand(command.code)) {
|
|
99
|
+
console.log(chalk.cyan('⚡ Auto-Executing Safe Command: ') + chalk.white(command.code));
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
|
|
72
103
|
console.log(chalk.yellow('🛡️ SyntaxGuard ') + chalk.white('Analysis:'));
|
|
73
104
|
console.log(chalk.gray('> ') + chalk.white(command.code));
|
|
74
105
|
console.log();
|
package/src/utils/config.ts
CHANGED
package/src/utils/repo-mapper.ts
CHANGED
|
@@ -21,12 +21,25 @@ export class RepoMapper {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* Generate a hierarchical map of the repository
|
|
24
|
+
* Generate a hierarchical map of the repository with deep entry-point analysis
|
|
25
25
|
*/
|
|
26
26
|
public async generateMap(): Promise<string> {
|
|
27
|
-
AgentOrchestrator.speak('System', `
|
|
27
|
+
AgentOrchestrator.speak('System', `God-Mode Research: Indexing ${this.rootPath}...`);
|
|
28
|
+
|
|
29
|
+
// 1. Identify Entry Points
|
|
30
|
+
const entryPoints = ['README.md', 'package.json', 'index.ts', 'App.tsx', 'main.go', 'requirements.txt'];
|
|
31
|
+
let entryPointContext = '\n--- CRITICAL PROJECT CONTEXT ---\n';
|
|
32
|
+
|
|
33
|
+
for (const file of entryPoints) {
|
|
34
|
+
const fullPath = path.join(this.rootPath, file);
|
|
35
|
+
if (fs.existsSync(fullPath)) {
|
|
36
|
+
const content = fs.readFileSync(fullPath, 'utf-8').slice(0, 5000); // 5KB limit for entry points
|
|
37
|
+
entryPointContext += `\nFILE: ${file}\n${content}\n----------------\n`;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
28
41
|
const tree = this.scanDirectory(this.rootPath, 0);
|
|
29
|
-
return this.formatTree(tree);
|
|
42
|
+
return entryPointContext + '\n--- DIRECTORY STRUCTURE ---\n' + this.formatTree(tree);
|
|
30
43
|
}
|
|
31
44
|
|
|
32
45
|
/**
|
|
@@ -37,10 +50,23 @@ export class RepoMapper {
|
|
|
37
50
|
const name = path.basename(currentPath);
|
|
38
51
|
|
|
39
52
|
if (stats.isFile()) {
|
|
53
|
+
let summary = this.extractSummary(currentPath);
|
|
54
|
+
|
|
55
|
+
// Auto-read small files (< 10KB) for "Crawler" capability
|
|
56
|
+
if (stats.size < 10240) {
|
|
57
|
+
try {
|
|
58
|
+
const content = fs.readFileSync(currentPath, 'utf-8');
|
|
59
|
+
// Add content preview to summary
|
|
60
|
+
summary += `\n--- CONTENT START ---\n${content}\n--- CONTENT END ---`;
|
|
61
|
+
} catch (e) {
|
|
62
|
+
// Ignore read errors
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
40
66
|
return {
|
|
41
67
|
path: currentPath,
|
|
42
68
|
type: 'file',
|
|
43
|
-
summary:
|
|
69
|
+
summary: summary
|
|
44
70
|
};
|
|
45
71
|
}
|
|
46
72
|
|