sinapse-ai 7.4.1 → 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.1
11
- generated_at: "2026-03-27T15:01:17.079Z"
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sinapse-ai",
3
- "version": "7.4.1",
3
+ "version": "7.4.3",
4
4
  "description": "SINAPSE AI: Framework de orquestracao de IA — 18 squads, 174 agentes especializados",
5
5
  "bin": {
6
6
  "sinapse": "bin/sinapse.js",
@@ -463,20 +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
- let language;
468
+ const langQuestion = getLanguageQuestion();
469
469
  if (existingLanguage) {
470
- language = existingLanguage;
471
- console.log(`\n ${t('languageSkipped')}: ${language === 'pt' ? 'Português' : 'English'}\n`);
472
- } else {
473
- const langAnswer = await inquirer.prompt([getLanguageQuestion()]);
474
- language = langAnswer.language;
470
+ langQuestion.default = existingLanguage;
475
471
  }
472
+ const combinedAnswers = await inquirer.prompt([langQuestion, getLLMQuestion()]);
473
+ const language = combinedAnswers.language;
476
474
  setLanguage(language);
477
-
478
- // Step 2: LLM selection
479
- const llmAnswer = await inquirer.prompt([getLLMQuestion()]);
475
+ const llmAnswer = combinedAnswers;
480
476
 
481
477
  // Derive IDEs from LLM choice
482
478
  const selectedIDEs = llmToIDEs(llmAnswer.selectedLLM);