sinapse-ai 7.4.2 → 7.4.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.
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
# - SHA256 hashes for change detection
|
|
8
8
|
# - File types for categorization
|
|
9
9
|
#
|
|
10
|
-
version: 7.4.
|
|
11
|
-
generated_at: "2026-03-27T15:
|
|
10
|
+
version: 7.4.3
|
|
11
|
+
generated_at: "2026-03-27T15:24:41.748Z"
|
|
12
12
|
generator: scripts/generate-install-manifest.js
|
|
13
13
|
file_count: 1101
|
|
14
14
|
files:
|
package/bin/cli.js
CHANGED
|
@@ -175,6 +175,49 @@ async function cmdInstallGlobal() {
|
|
|
175
175
|
console.log(`${DIM} Vamos configurar seu copiloto de inteligencia artificial.${NC}`);
|
|
176
176
|
console.log('');
|
|
177
177
|
|
|
178
|
+
// Language selection (always show for UX clarity)
|
|
179
|
+
let language = 'pt';
|
|
180
|
+
try {
|
|
181
|
+
const inquirer = require('inquirer');
|
|
182
|
+
const langAnswer = await inquirer.prompt([{
|
|
183
|
+
type: 'list',
|
|
184
|
+
name: 'language',
|
|
185
|
+
message: 'Language / Idioma:',
|
|
186
|
+
choices: [
|
|
187
|
+
{ name: 'Portugues', value: 'pt' },
|
|
188
|
+
{ name: 'English', value: 'en' },
|
|
189
|
+
],
|
|
190
|
+
default: 'pt',
|
|
191
|
+
}]);
|
|
192
|
+
language = langAnswer.language;
|
|
193
|
+
} catch {
|
|
194
|
+
// Fallback: readline
|
|
195
|
+
const readline = require('readline');
|
|
196
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
197
|
+
language = await new Promise((resolve) => {
|
|
198
|
+
console.log(` ${CYAN}Language / Idioma:${NC}`);
|
|
199
|
+
console.log(` ${GREEN}1${NC}) Portugues`);
|
|
200
|
+
console.log(` ${GREEN}2${NC}) English`);
|
|
201
|
+
rl.question(` ${BOLD}[1/2]:${NC} `, (answer) => {
|
|
202
|
+
rl.close();
|
|
203
|
+
resolve((answer || '1').trim() === '2' ? 'en' : 'pt');
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// Save language to ~/.claude/settings.json
|
|
209
|
+
const claudeSettingsDir = path.join(HOME, '.claude');
|
|
210
|
+
const claudeSettingsPath = path.join(claudeSettingsDir, 'settings.json');
|
|
211
|
+
try {
|
|
212
|
+
fs.mkdirSync(claudeSettingsDir, { recursive: true });
|
|
213
|
+
let settings = {};
|
|
214
|
+
if (fs.existsSync(claudeSettingsPath)) {
|
|
215
|
+
try { settings = JSON.parse(fs.readFileSync(claudeSettingsPath, 'utf8')); } catch { settings = {}; }
|
|
216
|
+
}
|
|
217
|
+
settings.language = language === 'pt' ? 'portuguese' : 'english';
|
|
218
|
+
fs.writeFileSync(claudeSettingsPath, JSON.stringify(settings, null, 2) + '\n');
|
|
219
|
+
} catch { /* non-critical */ }
|
|
220
|
+
|
|
178
221
|
// LLM selection (inquirer checkbox with readline fallback)
|
|
179
222
|
const llmChoice = await promptLlmChoice();
|
|
180
223
|
|
|
@@ -306,6 +349,27 @@ async function cmdInstallGlobal() {
|
|
|
306
349
|
};
|
|
307
350
|
fs.writeFileSync(path.join(SINAPSE_HOME, 'metadata.json'), JSON.stringify(meta, null, 2));
|
|
308
351
|
|
|
352
|
+
// Chrome Brain: Auto-install browser automation
|
|
353
|
+
if (llmChoice === 'claude-code' || llmChoice === 'both') {
|
|
354
|
+
try {
|
|
355
|
+
const { detectChrome, detectPlatform, installScripts, installHooks, installMcp, installKnowledgeBase } = require('./modules/chrome-brain-installer');
|
|
356
|
+
const chromePath = detectChrome();
|
|
357
|
+
if (chromePath) {
|
|
358
|
+
console.log(`\n${CYAN}Phase 7:${NC} Chrome Brain (browser automation)`);
|
|
359
|
+
const platform = detectPlatform();
|
|
360
|
+
installScripts(chromePath, platform);
|
|
361
|
+
installHooks();
|
|
362
|
+
installMcp(platform);
|
|
363
|
+
installKnowledgeBase();
|
|
364
|
+
console.log(` ${GREEN}OK${NC} Chrome Brain installed — all agents can control Chrome`);
|
|
365
|
+
} else {
|
|
366
|
+
console.log(`\n${YELLOW}SKIP${NC} Chrome Brain — Chrome not found (install Chrome and run: sinapse chrome-brain install)`);
|
|
367
|
+
}
|
|
368
|
+
} catch (error) {
|
|
369
|
+
console.log(`\n${YELLOW}SKIP${NC} Chrome Brain: ${error.message}`);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
|
|
309
373
|
// Verify
|
|
310
374
|
console.log(`\n${CYAN}Verification:${NC}`);
|
|
311
375
|
verifyInstall();
|
package/package.json
CHANGED
|
@@ -463,18 +463,16 @@ async function runWizard(options = {}) {
|
|
|
463
463
|
};
|
|
464
464
|
} else {
|
|
465
465
|
// Interactive mode — 2-step flow
|
|
466
|
-
// Step 1: Language selection (
|
|
466
|
+
// Step 1: Language + LLM selection (combined prompt — always shown)
|
|
467
467
|
const existingLanguage = await getExistingLanguage();
|
|
468
468
|
const langQuestion = getLanguageQuestion();
|
|
469
469
|
if (existingLanguage) {
|
|
470
470
|
langQuestion.default = existingLanguage;
|
|
471
471
|
}
|
|
472
|
-
const
|
|
473
|
-
const language =
|
|
472
|
+
const combinedAnswers = await inquirer.prompt([langQuestion, getLLMQuestion()]);
|
|
473
|
+
const language = combinedAnswers.language;
|
|
474
474
|
setLanguage(language);
|
|
475
|
-
|
|
476
|
-
// Step 2: LLM selection
|
|
477
|
-
const llmAnswer = await inquirer.prompt([getLLMQuestion()]);
|
|
475
|
+
const llmAnswer = combinedAnswers;
|
|
478
476
|
|
|
479
477
|
// Derive IDEs from LLM choice
|
|
480
478
|
const selectedIDEs = llmToIDEs(llmAnswer.selectedLLM);
|