sinapse-ai 7.5.0 → 7.5.2
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/.sinapse-ai/install-manifest.yaml +2 -2
- package/bin/cli.js +40 -0
- package/bin/modules/chrome-brain-installer.js +1 -5
- package/package.json +1 -1
- package/packages/installer/src/installer/sinapse-ai-installer.js +9 -21
- package/packages/installer/src/wizard/ide-config-generator.js +13 -11
- package/packages/installer/src/wizard/index.js +4 -11
- package/packages/installer/src/wizard/validation/report-generator.js +13 -7
- package/packages/sinapse-install/src/capabilities/chrome-brain.js +1 -5
- package/scripts/sinapse-patch.js +0 -7
- package/sinapse/agents/sinapse-orqx.md +8 -8
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
# - SHA256 hashes for change detection
|
|
8
8
|
# - File types for categorization
|
|
9
9
|
#
|
|
10
|
-
version: 7.5.
|
|
11
|
-
generated_at: "2026-03-
|
|
10
|
+
version: 7.5.2
|
|
11
|
+
generated_at: "2026-03-31T19:58:02.055Z"
|
|
12
12
|
generator: scripts/generate-install-manifest.js
|
|
13
13
|
file_count: 1104
|
|
14
14
|
files:
|
package/bin/cli.js
CHANGED
|
@@ -370,6 +370,26 @@ async function cmdInstallGlobal() {
|
|
|
370
370
|
}
|
|
371
371
|
}
|
|
372
372
|
|
|
373
|
+
// Phase 8: Install project-local files (.sinapse-ai/, .claude/, .env)
|
|
374
|
+
console.log(`\n${CYAN}Phase 8:${NC} Installing project files in current directory`);
|
|
375
|
+
try {
|
|
376
|
+
const wizardPath = path.join(ROOT, 'packages', 'installer', 'src', 'wizard', 'index.js');
|
|
377
|
+
if (fs.existsSync(wizardPath)) {
|
|
378
|
+
const { runWizard: executeWizard } = require(wizardPath);
|
|
379
|
+
await executeWizard({
|
|
380
|
+
quiet: true,
|
|
381
|
+
language: language,
|
|
382
|
+
selectedLLM: llmChoice,
|
|
383
|
+
});
|
|
384
|
+
console.log(` ${GREEN}OK${NC} Project files installed (.sinapse-ai/, .claude/)`);
|
|
385
|
+
} else {
|
|
386
|
+
console.log(` ${YELLOW}SKIP${NC} Project installer not available`);
|
|
387
|
+
}
|
|
388
|
+
} catch (error) {
|
|
389
|
+
console.log(` ${YELLOW}WARN${NC} Project files: ${error.message}`);
|
|
390
|
+
console.log(` ${DIM}Run 'sinapse install' in your project later to complete setup${NC}`);
|
|
391
|
+
}
|
|
392
|
+
|
|
373
393
|
// Verify
|
|
374
394
|
console.log(`\n${CYAN}Verification:${NC}`);
|
|
375
395
|
verifyInstall();
|
|
@@ -790,6 +810,26 @@ async function cmdUpdateGlobal() {
|
|
|
790
810
|
meta.commands = writtenAgents.size;
|
|
791
811
|
fs.writeFileSync(metaPath, JSON.stringify(meta, null, 2));
|
|
792
812
|
|
|
813
|
+
// Phase 4: Update project-local files (.sinapse-ai/, .claude/)
|
|
814
|
+
console.log(`\n${CYAN}Phase 4:${NC} Updating project files in current directory`);
|
|
815
|
+
try {
|
|
816
|
+
const wizardPath = path.join(ROOT, 'packages', 'installer', 'src', 'wizard', 'index.js');
|
|
817
|
+
if (fs.existsSync(wizardPath)) {
|
|
818
|
+
const { runWizard: executeWizard } = require(wizardPath);
|
|
819
|
+
await executeWizard({
|
|
820
|
+
quiet: true,
|
|
821
|
+
language: meta.language || 'pt',
|
|
822
|
+
selectedLLM: llmChoice,
|
|
823
|
+
});
|
|
824
|
+
console.log(` ${GREEN}OK${NC} Project files updated (.sinapse-ai/, .claude/)`);
|
|
825
|
+
} else {
|
|
826
|
+
console.log(` ${YELLOW}SKIP${NC} Project installer not available`);
|
|
827
|
+
}
|
|
828
|
+
} catch (error) {
|
|
829
|
+
console.log(` ${YELLOW}WARN${NC} Project files: ${error.message}`);
|
|
830
|
+
console.log(` ${DIM}Run 'sinapse install' in your project later to complete update${NC}`);
|
|
831
|
+
}
|
|
832
|
+
|
|
793
833
|
let startCmd;
|
|
794
834
|
if (llmChoice === 'codex') startCmd = `Digite ${CYAN}codex${NC} para comecar`;
|
|
795
835
|
else if (llmChoice === 'both') startCmd = `Digite ${CYAN}sinapse${NC} ou ${CYAN}codex${NC} para comecar`;
|
|
@@ -350,11 +350,7 @@ function installScripts(chromePath, platform) {
|
|
|
350
350
|
ok(`${name} created at ${scriptPath}`);
|
|
351
351
|
}
|
|
352
352
|
|
|
353
|
-
//
|
|
354
|
-
const pathDirs = (process.env.PATH || '').split(path.delimiter);
|
|
355
|
-
if (!pathDirs.includes(scriptsDir)) {
|
|
356
|
-
warn(`${scriptsDir} not in PATH. Add to your shell profile: export PATH="${scriptsDir}:$PATH"`);
|
|
357
|
-
}
|
|
353
|
+
// PATH check not needed — hooks use absolute paths (v7.4.7+)
|
|
358
354
|
|
|
359
355
|
return scriptsDir;
|
|
360
356
|
}
|
package/package.json
CHANGED
|
@@ -24,36 +24,24 @@ function getSinapseCoreSourcePath() {
|
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* Folders to copy from .sinapse-ai
|
|
27
|
-
*
|
|
27
|
+
* v4.0.4 Modular Structure + active auxiliary directories
|
|
28
28
|
* @constant {string[]}
|
|
29
29
|
*/
|
|
30
30
|
const FOLDERS_TO_COPY = [
|
|
31
|
-
// v4.0.4
|
|
31
|
+
// v4.0.4 Four Pillars
|
|
32
32
|
'core', // Framework utilities, config, registry, migration
|
|
33
33
|
'development', // Agents, tasks, workflows, scripts, personas
|
|
34
34
|
'product', // Templates, checklists, cli, api
|
|
35
35
|
'infrastructure', // Hooks, telemetry, integrations, tools
|
|
36
36
|
|
|
37
|
-
//
|
|
38
|
-
'
|
|
39
|
-
'
|
|
40
|
-
'
|
|
41
|
-
'
|
|
42
|
-
'
|
|
43
|
-
'
|
|
44
|
-
'scripts',
|
|
45
|
-
'tasks',
|
|
46
|
-
'templates',
|
|
47
|
-
'tools',
|
|
48
|
-
'workflows',
|
|
49
|
-
|
|
50
|
-
// Additional directories
|
|
51
|
-
'cli', // CLI commands
|
|
52
|
-
'manifests', // Manifest definitions
|
|
53
|
-
'schemas', // JSON schemas for validation (*validate-squad, *migrate-squad)
|
|
37
|
+
// Active auxiliary directories (referenced by code/config)
|
|
38
|
+
'cli', // CLI commands (bin/sinapse.js)
|
|
39
|
+
'data', // Entity registry, tech presets, knowledge base
|
|
40
|
+
'elicitation', // Questionnaires (core-config reference)
|
|
41
|
+
'schemas', // JSON schemas for validation
|
|
42
|
+
'scripts', // Utility scripts (core-config reference)
|
|
43
|
+
'utils', // Shared utilities (tests, format-duration)
|
|
54
44
|
'workflow-intelligence', // Workflow intelligence engine (*next, *patterns)
|
|
55
|
-
'monitor', // Claude Code hooks for monitoring
|
|
56
|
-
'presets', // Configuration presets
|
|
57
45
|
];
|
|
58
46
|
|
|
59
47
|
/**
|
|
@@ -639,17 +639,19 @@ function showSuccessSummary(result) {
|
|
|
639
639
|
return;
|
|
640
640
|
}
|
|
641
641
|
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
642
|
+
// Compact summary: categorize files instead of listing each one
|
|
643
|
+
const agents = result.files.filter(f => f.includes('agents/') || f.includes('agents\\'));
|
|
644
|
+
const rules = result.files.filter(f => f.includes('rules/') || f.includes('rules\\'));
|
|
645
|
+
const hooks = result.files.filter(f => f.includes('hooks/') || f.includes('hooks\\'));
|
|
646
|
+
const other = result.files.length - agents.length - rules.length - hooks.length;
|
|
647
|
+
|
|
648
|
+
const parts = [];
|
|
649
|
+
if (agents.length) parts.push(`${agents.length} agents`);
|
|
650
|
+
if (rules.length) parts.push(`${rules.length} rules`);
|
|
651
|
+
if (hooks.length) parts.push(`${hooks.length} hooks`);
|
|
652
|
+
if (other > 0) parts.push(`${other} configs`);
|
|
653
|
+
|
|
654
|
+
console.log(`\n✅ IDE: ${result.files.length} files (${parts.join(', ')})`);
|
|
653
655
|
}
|
|
654
656
|
|
|
655
657
|
/**
|
|
@@ -499,17 +499,10 @@ async function runWizard(options = {}) {
|
|
|
499
499
|
});
|
|
500
500
|
|
|
501
501
|
if (sinapseCoreResult.success) {
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
);
|
|
506
|
-
console.log(` - Tasks: ${sinapseCoreResult.installedFolders.includes('tasks') ? '✓' : '⨉'}`);
|
|
507
|
-
console.log(
|
|
508
|
-
` - Workflows: ${sinapseCoreResult.installedFolders.includes('workflows') ? '✓' : '⨉'}`,
|
|
509
|
-
);
|
|
510
|
-
console.log(
|
|
511
|
-
` - Templates: ${sinapseCoreResult.installedFolders.includes('templates') ? '✓' : '⨉'}`,
|
|
512
|
-
);
|
|
502
|
+
const pillars = ['core', 'development', 'product', 'infrastructure'];
|
|
503
|
+
const installed = pillars.filter(p => sinapseCoreResult.installedFolders.includes(p));
|
|
504
|
+
const aux = sinapseCoreResult.installedFolders.filter(f => !pillars.includes(f));
|
|
505
|
+
console.log(`✅ SINAPSE core: ${sinapseCoreResult.installedFiles.length} files (${installed.length} pillars, ${aux.length} modules)`);
|
|
513
506
|
}
|
|
514
507
|
answers.sinapseCoreInstalled = true;
|
|
515
508
|
answers.sinapseCoreResult = sinapseCoreResult;
|
|
@@ -104,16 +104,22 @@ function formatComponentSection(title, componentResults, componentName) {
|
|
|
104
104
|
|
|
105
105
|
if (checks.length === 0) return '';
|
|
106
106
|
|
|
107
|
-
const
|
|
107
|
+
const passed = checks.filter((c) => c.status === 'success').length;
|
|
108
|
+
const total = checks.length;
|
|
109
|
+
const allSuccess = passed === total;
|
|
108
110
|
const icon = allSuccess ? chalk.green('✅') : chalk.yellow('⚠️');
|
|
109
111
|
|
|
110
|
-
const lines = [`${icon} ${chalk.bold(title)}`];
|
|
112
|
+
const lines = [`${icon} ${chalk.bold(title)}: ${passed}/${total} checks passed`];
|
|
111
113
|
|
|
112
|
-
checks
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
114
|
+
// Only show individual checks if there are failures
|
|
115
|
+
if (!allSuccess) {
|
|
116
|
+
checks
|
|
117
|
+
.filter((c) => c.status !== 'success')
|
|
118
|
+
.forEach((check) => {
|
|
119
|
+
const message = check.file ? `${check.message} (${check.file})` : check.message;
|
|
120
|
+
lines.push(` ${chalk.yellow('⚠')} ${message}`);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
117
123
|
|
|
118
124
|
lines.push('');
|
|
119
125
|
|
|
@@ -757,11 +757,7 @@ function installChromeBrain(options = {}) {
|
|
|
757
757
|
}
|
|
758
758
|
}
|
|
759
759
|
|
|
760
|
-
//
|
|
761
|
-
const pathDirs = (process.env.PATH || '').split(path.delimiter);
|
|
762
|
-
if (!pathDirs.some((d) => d === binDir || d === binDir + path.sep)) {
|
|
763
|
-
LOG.warn(`${binDir} may not be in your PATH. Add it to your shell profile.`);
|
|
764
|
-
}
|
|
760
|
+
// PATH check not needed — hooks use absolute paths (v7.4.7+)
|
|
765
761
|
} catch (err) {
|
|
766
762
|
const msg = `Failed to create scripts: ${err.message}`;
|
|
767
763
|
LOG.fail(msg);
|
package/scripts/sinapse-patch.js
CHANGED
|
@@ -216,10 +216,3 @@ console.log(`\n=== Patch aplicado com sucesso: ${changes} alteracoes ===`);
|
|
|
216
216
|
console.log('');
|
|
217
217
|
console.log('Feche o terminal e abra novamente para ver as mudancas.');
|
|
218
218
|
console.log('');
|
|
219
|
-
console.log('Para reverter:');
|
|
220
|
-
console.log(' cp "' + BACKUP_PATH + '" "' + CLI_PATH + '"');
|
|
221
|
-
console.log(' ou: npm install -g @anthropic-ai/claude-code');
|
|
222
|
-
console.log('');
|
|
223
|
-
console.log('Para reaplicar apos update do Claude Code:');
|
|
224
|
-
console.log(' node sinapse-patch.js');
|
|
225
|
-
console.log('');
|
|
@@ -147,17 +147,17 @@ intelligent_routing:
|
|
|
147
147
|
direct_to_specialist:
|
|
148
148
|
when: "Single, well-defined task with clear specialist"
|
|
149
149
|
examples:
|
|
150
|
-
- "Crie um headline"
|
|
151
|
-
- "Analise esse concorrente"
|
|
152
|
-
- "Me ajude com pricing"
|
|
153
|
-
- "Revise meu codigo"
|
|
150
|
+
- '"Crie um headline" -> @headline-specialist'
|
|
151
|
+
- '"Analise esse concorrente" -> @deep-researcher'
|
|
152
|
+
- '"Me ajude com pricing" -> @pricing-strategist'
|
|
153
|
+
- '"Revise meu codigo" -> @qa'
|
|
154
154
|
|
|
155
155
|
via_orchestrator:
|
|
156
156
|
when: "Multi-agent workflow or broad domain request"
|
|
157
157
|
examples:
|
|
158
|
-
- "Construa minha marca"
|
|
159
|
-
- "Campanha de lancamento"
|
|
160
|
-
- "Assessment de seguranca"
|
|
158
|
+
- '"Construa minha marca" -> @brand-orqx'
|
|
159
|
+
- '"Campanha de lancamento" -> @paidmedia-orqx + @copy-orqx'
|
|
160
|
+
- '"Assessment de seguranca" -> @cyber-orqx'
|
|
161
161
|
|
|
162
162
|
# ══════════════════════════════════════════════════════════════════════════════
|
|
163
163
|
# COMPLETE ROUTING TABLE — ALL 18 SQUADS
|
|
@@ -597,7 +597,7 @@ framework_compatibility:
|
|
|
597
597
|
- "@sinapse-orqx sends domain request to Imperator"
|
|
598
598
|
- "Imperator routes to correct squad orchestrator(s)"
|
|
599
599
|
- "Squad orchestrator executes with its agents"
|
|
600
|
-
- "Results flow back: squad
|
|
600
|
+
- "Results flow back: squad -> Imperator -> @sinapse-orqx"
|
|
601
601
|
coexistence_rules:
|
|
602
602
|
- "SINAPSE agents own development workflow: code, testing, architecture, stories, deploys"
|
|
603
603
|
- "Sinapse own domain expertise: branding, content, copy, growth, finance, etc."
|