sinapse-ai 1.12.2 → 1.13.0
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/.claude/CLAUDE.md +2 -2
- package/.claude/rules/agent-memory-imports.md +2 -0
- package/.sinapse-ai/cli/commands/pro/index.js +8 -48
- package/.sinapse-ai/constitution.md +6 -2
- package/.sinapse-ai/data/entity-registry.yaml +12 -36
- package/.sinapse-ai/development/agents/architect/MEMORY.md +35 -0
- package/.sinapse-ai/development/agents/data-engineer/MEMORY.md +38 -0
- package/.sinapse-ai/development/agents/developer/MEMORY.md +36 -0
- package/.sinapse-ai/development/agents/devops/MEMORY.md +39 -0
- package/.sinapse-ai/development/agents/product-lead/MEMORY.md +36 -0
- package/.sinapse-ai/development/agents/project-lead/MEMORY.md +36 -0
- package/.sinapse-ai/development/agents/quality-gate/MEMORY.md +35 -0
- package/.sinapse-ai/development/agents/sprint-lead/MEMORY.md +36 -0
- package/.sinapse-ai/development/templates/chrome-brain/knowledge-base/chrome-brain.md +2 -2
- package/.sinapse-ai/infrastructure/scripts/ide-sync/index.js +15 -0
- package/.sinapse-ai/infrastructure/scripts/validate-agents.js +159 -8
- package/.sinapse-ai/install-manifest.yaml +12 -148
- package/AGENTS.md +13 -2
- package/CHANGELOG.md +122 -2
- package/README.en.md +1 -1
- package/README.md +6 -26
- package/bin/cli.js +2 -7
- package/bin/commands/install.js +19 -257
- package/bin/commands/update.js +18 -78
- package/bin/lib/command-generator.js +261 -0
- package/bin/lib/prompts.js +2 -65
- package/bin/modules/chrome-brain-installer.js +2 -1
- package/bin/postinstall.js +6 -6
- package/docs/getting-started.md +0 -1
- package/docs/pt/getting-started.md +1 -1
- package/docs/security/dependabot-triage.md +17 -17
- package/package.json +6 -3
- package/packages/installer/src/wizard/i18n.js +3 -204
- package/packages/installer/src/wizard/index.js +1 -1
- package/packages/installer/src/wizard/questions.js +5 -368
- package/packages/installer/src/wizard/wizard.js +0 -9
- package/scripts/generate-install-manifest.js +6 -0
- package/scripts/validate-changelog-tags.js +97 -0
- package/scripts/validate-no-personal-leaks.js +184 -28
- package/scripts/validate-schemas.js +55 -10
- package/scripts/validate-story-meta.js +25 -12
- package/squads/claude-code-mastery/agents/claude-mastery-chief.md +1 -1
- package/squads/claude-code-mastery/agents/hooks-architect.md +12 -20
- package/squads/claude-code-mastery/tasks/audit-setup.md +1 -1
- package/squads/squad-product/agents/product-orqx.md +0 -1
- package/squads/squad-product/agents/ps-client-product-manager.md +0 -1
- package/squads/squad-product/agents/ps-delivery-manager.md +0 -1
- package/squads/squad-product/agents/ps-discovery-lead.md +0 -1
- package/squads/squad-product/agents/ps-product-analyst.md +0 -1
- package/squads/squad-product/agents/ps-product-ops-specialist.md +0 -1
- package/squads/squad-product/agents/ps-product-strategist.md +0 -1
- package/.sinapse-ai/core/grounding/README.md +0 -83
- package/.sinapse-ai/core/grounding/brand.cjs +0 -29
- package/.sinapse-ai/core/grounding/config-loader.cjs +0 -52
- package/.sinapse-ai/core/grounding/design-system.cjs +0 -29
- package/.sinapse-ai/core/grounding/vault.cjs +0 -36
- package/.sinapse-ai/development/scripts/approval-workflow.js +0 -643
- package/.sinapse-ai/development/scripts/backup-manager.js +0 -607
- package/.sinapse-ai/development/scripts/branch-manager.js +0 -390
- package/.sinapse-ai/development/scripts/code-quality-improver.js +0 -1329
- package/.sinapse-ai/development/scripts/commit-message-generator.js +0 -850
- package/.sinapse-ai/development/scripts/conflict-resolver.js +0 -675
- package/.sinapse-ai/development/scripts/dependency-analyzer.js +0 -638
- package/.sinapse-ai/development/scripts/diff-generator.js +0 -352
- package/.sinapse-ai/development/scripts/git-wrapper.js +0 -462
- package/.sinapse-ai/development/scripts/modification-validator.js +0 -555
- package/.sinapse-ai/development/scripts/performance-analyzer.js +0 -758
- package/.sinapse-ai/development/scripts/refactoring-suggester.js +0 -1148
- package/.sinapse-ai/development/scripts/rollback-handler.js +0 -531
- package/.sinapse-ai/development/scripts/security-checker.js +0 -359
- package/.sinapse-ai/development/scripts/template-engine.js +0 -240
- package/.sinapse-ai/development/scripts/template-validator.js +0 -279
- package/.sinapse-ai/development/scripts/test-generator.js +0 -844
- package/.sinapse-ai/development/scripts/transaction-manager.js +0 -590
- package/.sinapse-ai/development/scripts/yaml-validator.js +0 -397
- package/.sinapse-ai/hooks/sinapse-brand-grounding.cjs +0 -162
- package/.sinapse-ai/hooks/sinapse-ds-grounding.cjs +0 -211
- package/.sinapse-ai/hooks/sinapse-vault-grounding.cjs +0 -194
- package/bin/lib/register-grounding-hooks.js +0 -145
- package/docs/guides/agents/traces/execution-traces.zip +0 -0
- package/docs/guides/grounding-setup.md +0 -154
- package/docs/guides/workflows/SINAPSE-WORKFLOWS.zip +0 -0
- package/packages/installer/src/pro/pro-scaffolder.js +0 -449
- package/packages/installer/src/wizard/grounding-config.js +0 -131
- package/packages/installer/src/wizard/pro-setup.js +0 -1439
- package/packages/installer/templates/README.md +0 -16
- package/packages/installer/templates/brand-routing.example.json +0 -12
- package/packages/installer/templates/ds-routing.example.json +0 -12
- package/packages/installer/templates/vault-routing.example.json +0 -12
|
@@ -10,22 +10,21 @@ This document applies to `caioimori/sinapse-ai` and covers advisories surfaced b
|
|
|
10
10
|
- GitHub Dependabot alerts (https://github.com/caioimori/sinapse-ai/security/dependabot)
|
|
11
11
|
- `npm audit` run locally or in CI
|
|
12
12
|
|
|
13
|
-
## Current state (2026-
|
|
13
|
+
## Current state (2026-06-21)
|
|
14
14
|
|
|
15
15
|
### GitHub Dependabot
|
|
16
16
|
|
|
17
|
-
Open alerts: **0**.
|
|
17
|
+
Open alerts: **0**. The 3 `undici` alerts surfaced on 2026-06-21 (#36, #41, #43) were dismissed as `tolerable_risk` with rationale (see below). The earlier `picomatch` / `brace-expansion` advisories are gone — the bundled `npm` tarball advanced to `11.17.0`, which ships patched versions.
|
|
18
18
|
|
|
19
19
|
### Local `npm audit` — full dev tree
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
One advisory family remains surfaced by `npm audit` even after applying root `overrides` in `package.json`:
|
|
22
22
|
|
|
23
|
-
| Severity | Package |
|
|
23
|
+
| Severity | Package | Advisories | Path |
|
|
24
24
|
|---|---|---|---|
|
|
25
|
-
| HIGH |
|
|
26
|
-
| MODERATE | brace-expansion@5.0.4 | GHSA-f886-m6hf-6m8v (zero-step DoS) | `semantic-release > @semantic-release/npm > npm > minimatch > brace-expansion` |
|
|
25
|
+
| HIGH (aggregate) | undici@6.26.0 | GHSA-p88m-4jfj-68fv, GHSA-g8m3-5g58-fq7m, GHSA-35p6-xmwp-9g52, GHSA-vxpw-j846-p89q | `semantic-release > @semantic-release/npm > npm > node-gyp > undici` |
|
|
27
26
|
|
|
28
|
-
|
|
27
|
+
It originates from the `npm@11.17.0` tarball that `@semantic-release/npm@13.1.5` bundles. `npm` reports it literally as *"undici@6.26.0 is a bundled dependency of npm@11.17.0 ... It cannot be fixed automatically."* It is frozen inside npm's bundled dependency tree and cannot be replaced via root `overrides` (overrides do not reach into `bundleDependencies` — verified: a targeted `undici@<6.27.0` override has no effect).
|
|
29
28
|
|
|
30
29
|
## Triage decision
|
|
31
30
|
|
|
@@ -33,12 +32,10 @@ Status: **Accepted — tolerable risk.**
|
|
|
33
32
|
|
|
34
33
|
Rationale:
|
|
35
34
|
|
|
36
|
-
1. **Scope:**
|
|
37
|
-
2. **Reachability:** `node-gyp`
|
|
38
|
-
3. **Shipped package:** `npm pack --dry-run` confirms `semantic-release` and its `node_modules` do not ship to the published `sinapse-ai` tarball (
|
|
39
|
-
4. **Upstream fix dependency:** The fix lives upstream — a new `npm` tarball that embeds
|
|
40
|
-
|
|
41
|
-
GitHub Dependabot already confirms this judgement: these advisories are NOT surfaced as open alerts at `https://github.com/caioimori/sinapse-ai/security/dependabot`.
|
|
35
|
+
1. **Scope:** `undici` here is a transitive dev-only dependency. It is reached only through `semantic-release`, which runs in CI release automation and never in user-installed code paths. `npm audit --omit=dev --audit-level=high` on the root returns `0 vulns`.
|
|
36
|
+
2. **Reachability:** `node-gyp` invokes `undici` only when downloading Node headers to build native addons during install. None of the undici advisories (header injection, SameSite downgrade, queue poisoning, WebSocket DoS) is reachable from any code path that executes when a user runs `npx sinapse-ai install` or any runtime agent command.
|
|
37
|
+
3. **Shipped package:** `npm pack --dry-run` confirms `semantic-release` and its `node_modules` do not ship to the published `sinapse-ai` tarball (`devDependency` only).
|
|
38
|
+
4. **Upstream fix dependency:** The fix lives upstream — a new `npm` tarball that embeds `undici >= 6.27.0`, followed by a `@semantic-release/npm` bump. Blocked on external release timing; the SINAPSE project cannot accelerate it.
|
|
42
39
|
|
|
43
40
|
## CI gate policy
|
|
44
41
|
|
|
@@ -47,7 +44,7 @@ Two-tier audit enforcement in `.github/workflows/ci.yml`:
|
|
|
47
44
|
1. **Production-dep gate (hard block, Article X Tier 1 #7):**
|
|
48
45
|
`npm audit --omit=dev --audit-level=high` MUST pass — any HIGH or CRITICAL in production dependencies blocks merge.
|
|
49
46
|
2. **Full-tree gate (critical-only):**
|
|
50
|
-
`npm audit --audit-level=critical` MUST pass — CRITICAL anywhere (incl. dev) blocks merge. HIGH/MODERATE in dev with triage entry in this document is accepted.
|
|
47
|
+
`npm audit --audit-level=critical` MUST pass — CRITICAL anywhere (incl. dev) blocks merge. HIGH/MODERATE in dev with a triage entry in this document is accepted.
|
|
51
48
|
|
|
52
49
|
If a new HIGH/MODERATE in dev deps emerges and is not yet in this document, CI does NOT block it (tier 2 only flags critical). The maintainer must review `npm audit` at each RC and either upgrade or add a row below.
|
|
53
50
|
|
|
@@ -55,12 +52,14 @@ If a new HIGH/MODERATE in dev deps emerges and is not yet in this document, CI d
|
|
|
55
52
|
|
|
56
53
|
| Advisory | Package | Severity | Reason | Expires |
|
|
57
54
|
|---|---|---|---|---|
|
|
58
|
-
| GHSA-
|
|
59
|
-
| GHSA-
|
|
55
|
+
| GHSA-p88m-4jfj-68fv | undici | MODERATE | Bundled inside `npm@11.17.0` within `semantic-release` dev dep. Not reachable from user runtime. Upstream fix pending. | Next GA re-review |
|
|
56
|
+
| GHSA-g8m3-5g58-fq7m | undici | LOW | Bundled inside `npm@11.17.0` within `semantic-release` dev dep. Not reachable from user runtime. Upstream fix pending. | Next GA re-review |
|
|
57
|
+
| GHSA-35p6-xmwp-9g52 | undici | LOW | Bundled inside `npm@11.17.0` within `semantic-release` dev dep. Not reachable from user runtime. Upstream fix pending. | Next GA re-review |
|
|
58
|
+
| GHSA-vxpw-j846-p89q | undici | LOW | WebSocket DoS, surfaced by `npm audit` only. Same bundled-in-npm origin. Not reachable from user runtime. | Next GA re-review |
|
|
60
59
|
|
|
61
60
|
## Proactive hardening in place
|
|
62
61
|
|
|
63
|
-
Even though overrides do not reach the bundled tree, `package.json` carries root `overrides`
|
|
62
|
+
Even though overrides do not reach the bundled tree, `package.json` carries root `overrides` (`diff`, `serialize-javascript`, `picomatch`, `brace-expansion`, `fast-uri`, `ip-address`, `@babel/core`, `js-yaml`). When upstream `npm` / `@semantic-release/npm` releases a tarball with `undici >= 6.27.0`, the advisory clears with no action needed. A defensive `undici` override was evaluated and intentionally NOT added — it has zero effect on a bundled dependency and would be dead config.
|
|
64
63
|
|
|
65
64
|
## Review cadence
|
|
66
65
|
|
|
@@ -73,3 +72,4 @@ Even though overrides do not reach the bundled tree, `package.json` carries root
|
|
|
73
72
|
| Date | Actor | Change |
|
|
74
73
|
|---|---|---|
|
|
75
74
|
| 2026-04-19 | Story 10.34 execution | Triage created. rc.1-era 12 alerts confirmed closed on GitHub. 2 remaining `npm audit` advisories (picomatch + brace-expansion inside bundled npm) accepted as tolerable risk. Root `overrides` added defensively. CI gate hardened with `--omit=dev --audit-level=high` job. |
|
|
75
|
+
| 2026-06-21 | Session audit | npm bundled tarball advanced to `11.17.0` → picomatch + brace-expansion advisories resolved upstream and removed. New `undici@6.26.0` advisory family surfaced (3 Dependabot alerts + 1 audit-only). Confirmed bundled-in-npm and unfixable via overrides; dismissed the 3 Dependabot alerts as `tolerable_risk` and accepted here. Production audit remains `0 vulns`. |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sinapse-ai",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "SINAPSE AI: Framework de orquestracao de IA — 17 squads, 172 agentes especializados",
|
|
5
5
|
"bin": {
|
|
6
6
|
"sinapse": "bin/sinapse.js",
|
|
@@ -72,6 +72,9 @@
|
|
|
72
72
|
"!**/tests/**",
|
|
73
73
|
"!**/*.test.js",
|
|
74
74
|
"!**/*.spec.js",
|
|
75
|
+
"!**/dist/**",
|
|
76
|
+
"!**/*.map",
|
|
77
|
+
"!**/*.zip",
|
|
75
78
|
".sinapse-ai/development/templates/**"
|
|
76
79
|
],
|
|
77
80
|
"scripts": {
|
|
@@ -81,7 +84,7 @@
|
|
|
81
84
|
"test": "jest",
|
|
82
85
|
"test:watch": "jest --watch",
|
|
83
86
|
"test:coverage": "jest --coverage",
|
|
84
|
-
"test:health-check": "
|
|
87
|
+
"test:health-check": "jest tests/health-check",
|
|
85
88
|
"eval": "node scripts/eval-runner.js",
|
|
86
89
|
"validate:evals": "node scripts/validate-evals.js",
|
|
87
90
|
"validate:schemas": "node scripts/validate-schemas.js",
|
|
@@ -133,6 +136,7 @@
|
|
|
133
136
|
"sync:squad-yaml": "node scripts/sync-squad-yaml-components.js",
|
|
134
137
|
"validate:squad-yaml": "node scripts/sync-squad-yaml-components.js --check",
|
|
135
138
|
"validate:story-meta": "node scripts/validate-story-meta.js",
|
|
139
|
+
"validate:changelog": "node scripts/validate-changelog-tags.js",
|
|
136
140
|
"validate:squad-orqx": "node scripts/validate-squad-orqx.js",
|
|
137
141
|
"validate:release-readiness": "node scripts/release-readiness.js",
|
|
138
142
|
"manifest:ensure": "node scripts/ensure-manifest.js",
|
|
@@ -211,7 +215,6 @@
|
|
|
211
215
|
"husky": "^9.1.7",
|
|
212
216
|
"jest": "^30.2.0",
|
|
213
217
|
"lint-staged": "^16.1.1",
|
|
214
|
-
"mocha": "^11.7.5",
|
|
215
218
|
"prettier": "^3.5.3",
|
|
216
219
|
"semantic-release": "^25.0.2",
|
|
217
220
|
"typescript": "^5.9.3"
|
|
@@ -88,107 +88,6 @@ const TRANSLATIONS = {
|
|
|
88
88
|
cancelled: 'Installation cancelled.',
|
|
89
89
|
tryAgain: 'Run `npx sinapse-ai init` to try again.',
|
|
90
90
|
continuing: 'Continuing installation...',
|
|
91
|
-
|
|
92
|
-
// Pro Installation Wizard (pro-setup.js)
|
|
93
|
-
proWizardTitle: 'SINAPSE Pro Installation Wizard',
|
|
94
|
-
proWizardSubtitle: 'Premium Content & Features',
|
|
95
|
-
proLicenseActivation: 'License Activation',
|
|
96
|
-
proContentInstallation: 'Pro Content Installation',
|
|
97
|
-
proVerification: 'Verification',
|
|
98
|
-
proHowActivate: 'How would you like to activate Pro?',
|
|
99
|
-
proLoginOrCreate: 'Login or create account (Recommended)',
|
|
100
|
-
proEnterKey: 'Enter license key (legacy)',
|
|
101
|
-
proEmailLabel: 'Email:',
|
|
102
|
-
proEmailRequired: 'Email is required',
|
|
103
|
-
proEmailInvalid: 'Please enter a valid email address',
|
|
104
|
-
proVerifyingAccess: 'Verifying your access...',
|
|
105
|
-
proNoAccess: 'No SINAPSE Pro access found for this email.',
|
|
106
|
-
proContactSupport: 'If you believe this is an error, please contact support:',
|
|
107
|
-
proPurchase: 'Purchase Pro: https://pro.sinapse.ai',
|
|
108
|
-
proEmailNotBuyer: 'Email not found in Pro buyers list.',
|
|
109
|
-
proAccessConfirmedAccount: 'Pro access confirmed! Account found.',
|
|
110
|
-
proAccessConfirmedCreate: "Pro access confirmed! Let's create your account.",
|
|
111
|
-
proPasswordLabel: 'Password:',
|
|
112
|
-
proPasswordMin: 'Password must be at least {min} characters',
|
|
113
|
-
proAuthenticating: 'Authenticating...',
|
|
114
|
-
proAuthSuccess: 'Authenticated successfully.',
|
|
115
|
-
proEmailNotVerified: 'Email not verified yet. Please check your inbox and click the verification link.',
|
|
116
|
-
proCheckingEvery: '(Checking every 5 seconds... timeout in 10 minutes)',
|
|
117
|
-
proEmailVerified: 'Email verified!',
|
|
118
|
-
proVerificationTimeout: 'Email verification timed out after 10 minutes.',
|
|
119
|
-
proRunAgain: 'Run the installer again to retry.',
|
|
120
|
-
proIncorrectPassword: 'Incorrect password. {remaining} attempt(s) remaining.',
|
|
121
|
-
proMaxAttempts: 'Maximum login attempts reached.',
|
|
122
|
-
proForgotPassword: 'Forgot your password? Visit https://sinapse-license-server.vercel.app/reset-password',
|
|
123
|
-
proContactSupportEmail: 'Or open an issue: https://github.com/caioimori/sinapse-ai/issues',
|
|
124
|
-
proAuthFailed: 'Authentication failed: {message}',
|
|
125
|
-
proCreateAccount: 'Create your SINAPSE Pro account to get started.',
|
|
126
|
-
proChoosePassword: 'Choose a password:',
|
|
127
|
-
proConfirmPassword: 'Confirm password:',
|
|
128
|
-
proPasswordsNoMatch: 'Passwords do not match',
|
|
129
|
-
proCreatingAccount: 'Creating account...',
|
|
130
|
-
proAccountCreated: 'Account created! Verification email sent.',
|
|
131
|
-
proAccountExists: 'Account already exists. Switching to login...',
|
|
132
|
-
proAccountFailed: 'Account creation failed: {message}',
|
|
133
|
-
proCheckEmail: 'Please check your email and click the verification link.',
|
|
134
|
-
proWaitingVerification: 'Waiting for email verification...',
|
|
135
|
-
proAfterVerifying: 'After verifying, the installation will continue automatically.',
|
|
136
|
-
proPressResend: '[Press R to resend verification email]',
|
|
137
|
-
proVerificationResent: 'Verification email resent.',
|
|
138
|
-
proCouldNotResend: 'Could not resend: {message}',
|
|
139
|
-
proRunAgainRetry: 'Run the installer again to retry verification.',
|
|
140
|
-
proValidatingSubscription: 'Validating Pro subscription...',
|
|
141
|
-
proSubscriptionConfirmed: 'Pro subscription confirmed! License: {key}',
|
|
142
|
-
proNoSubscription: 'No active Pro subscription found for this email.',
|
|
143
|
-
proPurchaseAt: 'Purchase Pro at https://pro.sinapse.ai',
|
|
144
|
-
proSeatLimit: 'Deactivate another device or upgrade your license.',
|
|
145
|
-
proAlreadyActivated: 'Pro license already activated for this account.',
|
|
146
|
-
proActivationFailed: 'Activation failed: {message}',
|
|
147
|
-
proEnterKeyPrompt: 'Enter your Pro license key:',
|
|
148
|
-
proKeyRequired: 'License key is required',
|
|
149
|
-
proKeyInvalid: 'Invalid format. Expected: PRO-XXXX-XXXX-XXXX-XXXX',
|
|
150
|
-
proKeyValidated: 'License validated: {key}',
|
|
151
|
-
proModuleNotAvailable: 'Pro license module not available. Ensure @sinapse-fullstack/pro is installed.',
|
|
152
|
-
proModuleBootstrap: 'Pro license module not found locally. Installing @sinapse-fullstack/pro to bootstrap...',
|
|
153
|
-
proServerUnreachable: 'License server is unreachable. Check your internet connection and try again.',
|
|
154
|
-
proVerifyingAccessShort: 'Verifying access...',
|
|
155
|
-
proAccessConfirmed: 'Pro access confirmed.',
|
|
156
|
-
proBuyerCheckUnavailable: 'Buyer check unavailable, proceeding with login...',
|
|
157
|
-
proLoginFailedSignup: 'Login failed, attempting signup...',
|
|
158
|
-
proAccountCreatedVerify: 'Account created. Verification email sent!',
|
|
159
|
-
proAccountExistsWrongPw: 'Account exists but the password is incorrect.',
|
|
160
|
-
proAuthFailedShort: 'Authentication failed.',
|
|
161
|
-
proValidatingKey: 'Validating license {key}...',
|
|
162
|
-
proInvalidKey: 'Invalid license key.',
|
|
163
|
-
proExpiredKey: 'License key has expired.',
|
|
164
|
-
proMaxActivations: 'Maximum activations reached for this key.',
|
|
165
|
-
proRateLimited: 'Too many requests. Please wait and try again.',
|
|
166
|
-
proValidationFailed: 'License validation failed: {message}',
|
|
167
|
-
proInvalidKeyFormat: 'Invalid key format: {key}. Expected: PRO-XXXX-XXXX-XXXX-XXXX',
|
|
168
|
-
proScaffolding: 'Scaffolding pro content...',
|
|
169
|
-
proScaffoldingProgress: 'Scaffolding: {message}',
|
|
170
|
-
proContentInstalled: 'Pro content installed ({count} files)',
|
|
171
|
-
proScaffoldFailed: 'Scaffolding failed',
|
|
172
|
-
proScaffoldError: 'Scaffolding error: {message}',
|
|
173
|
-
proInitPackageJson: 'Initializing package.json...',
|
|
174
|
-
proPackageJsonCreated: 'package.json created',
|
|
175
|
-
proPackageJsonFailed: 'Failed to create package.json',
|
|
176
|
-
proInstallingPackage: 'Installing @sinapse-fullstack/pro...',
|
|
177
|
-
proPackageInstalled: 'Pro package installed',
|
|
178
|
-
proPackageInstallFailed: 'Failed to install Pro package',
|
|
179
|
-
proScaffolderNotAvailable: 'Pro scaffolder not available. Ensure @sinapse-fullstack/pro is installed.',
|
|
180
|
-
proFilesInstalled: 'Files installed: {count}',
|
|
181
|
-
proSquads: 'Squads: {names}',
|
|
182
|
-
proConfigs: 'Configs: {count} files',
|
|
183
|
-
proFeaturesUnlocked: 'Features unlocked: {count}',
|
|
184
|
-
proInstallComplete: 'SINAPSE Pro installation complete!',
|
|
185
|
-
proNeedHelp: 'Need help? Run: npx sinapse-pro recover',
|
|
186
|
-
proCISetEnv: 'CI mode: Set SINAPSE_PRO_EMAIL + SINAPSE_PRO_PASSWORD or SINAPSE_PRO_KEY environment variables.',
|
|
187
|
-
proVerificationFailed: 'Verification failed: {message}',
|
|
188
|
-
proPackageNotFound: 'Pro package not found after npm install. Check npm output.',
|
|
189
|
-
proScaffolderNotFound: 'Pro scaffolder module not found.',
|
|
190
|
-
proNpmInitFailed: 'npm init failed: {message}',
|
|
191
|
-
proNpmInstallFailed: 'npm install @sinapse-fullstack/pro failed: {message}. Try manually: npm install @sinapse-fullstack/pro',
|
|
192
91
|
},
|
|
193
92
|
|
|
194
93
|
pt: {
|
|
@@ -272,114 +171,14 @@ const TRANSLATIONS = {
|
|
|
272
171
|
cancelled: 'Instalação cancelada.',
|
|
273
172
|
tryAgain: 'Execute `npx sinapse-ai init` para tentar novamente.',
|
|
274
173
|
continuing: 'Continuando instalação...',
|
|
275
|
-
|
|
276
|
-
// Pro Installation Wizard (pro-setup.js)
|
|
277
|
-
proWizardTitle: 'Assistente de Instalação SINAPSE Pro',
|
|
278
|
-
proWizardSubtitle: 'Conteúdo e Recursos Premium',
|
|
279
|
-
proLicenseActivation: 'Ativação de Licença',
|
|
280
|
-
proContentInstallation: 'Instalação do Conteúdo Pro',
|
|
281
|
-
proVerification: 'Verificação',
|
|
282
|
-
proHowActivate: 'Como você gostaria de ativar o Pro?',
|
|
283
|
-
proLoginOrCreate: 'Login ou criar conta (Recomendado)',
|
|
284
|
-
proEnterKey: 'Inserir chave de licença (legado)',
|
|
285
|
-
proEmailLabel: 'Email:',
|
|
286
|
-
proEmailRequired: 'Email é obrigatório',
|
|
287
|
-
proEmailInvalid: 'Por favor, insira um endereço de email válido',
|
|
288
|
-
proVerifyingAccess: 'Verificando seu acesso...',
|
|
289
|
-
proNoAccess: 'Nenhum acesso SINAPSE Pro encontrado para este email.',
|
|
290
|
-
proContactSupport: 'Se você acredita que isso é um erro, entre em contato com o suporte:',
|
|
291
|
-
proPurchase: 'Comprar Pro: https://pro.sinapse.ai',
|
|
292
|
-
proEmailNotBuyer: 'Email não encontrado na lista de compradores Pro.',
|
|
293
|
-
proAccessConfirmedAccount: 'Acesso Pro confirmado! Conta encontrada.',
|
|
294
|
-
proAccessConfirmedCreate: 'Acesso Pro confirmado! Vamos criar sua conta.',
|
|
295
|
-
proPasswordLabel: 'Senha:',
|
|
296
|
-
proPasswordMin: 'A senha deve ter pelo menos {min} caracteres',
|
|
297
|
-
proAuthenticating: 'Autenticando...',
|
|
298
|
-
proAuthSuccess: 'Autenticado com sucesso.',
|
|
299
|
-
proEmailNotVerified: 'Email ainda não verificado. Verifique sua caixa de entrada e clique no link de verificação.',
|
|
300
|
-
proCheckingEvery: '(Verificando a cada 5 segundos... tempo limite de 10 minutos)',
|
|
301
|
-
proEmailVerified: 'Email verificado!',
|
|
302
|
-
proVerificationTimeout: 'Verificação de email expirou após 10 minutos.',
|
|
303
|
-
proRunAgain: 'Execute o instalador novamente para tentar.',
|
|
304
|
-
proIncorrectPassword: 'Senha incorreta. {remaining} tentativa(s) restante(s).',
|
|
305
|
-
proMaxAttempts: 'Número máximo de tentativas de login atingido.',
|
|
306
|
-
proForgotPassword: 'Esqueceu sua senha? Acesse https://sinapse-license-server.vercel.app/reset-password',
|
|
307
|
-
proContactSupportEmail: 'Ou abra uma issue: https://github.com/caioimori/sinapse-ai/issues',
|
|
308
|
-
proAuthFailed: 'Falha na autenticação: {message}',
|
|
309
|
-
proCreateAccount: 'Crie sua conta SINAPSE Pro para começar.',
|
|
310
|
-
proChoosePassword: 'Escolha uma senha:',
|
|
311
|
-
proConfirmPassword: 'Confirme a senha:',
|
|
312
|
-
proPasswordsNoMatch: 'As senhas não correspondem',
|
|
313
|
-
proCreatingAccount: 'Criando conta...',
|
|
314
|
-
proAccountCreated: 'Conta criada! Email de verificação enviado.',
|
|
315
|
-
proAccountExists: 'Conta já existe. Mudando para login...',
|
|
316
|
-
proAccountFailed: 'Falha ao criar conta: {message}',
|
|
317
|
-
proCheckEmail: 'Por favor, verifique seu email e clique no link de verificação.',
|
|
318
|
-
proWaitingVerification: 'Aguardando verificação de email...',
|
|
319
|
-
proAfterVerifying: 'Após verificar, a instalação continuará automaticamente.',
|
|
320
|
-
proPressResend: '[Pressione R para reenviar email de verificação]',
|
|
321
|
-
proVerificationResent: 'Email de verificação reenviado.',
|
|
322
|
-
proCouldNotResend: 'Não foi possível reenviar: {message}',
|
|
323
|
-
proRunAgainRetry: 'Execute o instalador novamente para tentar a verificação.',
|
|
324
|
-
proValidatingSubscription: 'Validando assinatura Pro...',
|
|
325
|
-
proSubscriptionConfirmed: 'Assinatura Pro confirmada! Licença: {key}',
|
|
326
|
-
proNoSubscription: 'Nenhuma assinatura Pro ativa encontrada para este email.',
|
|
327
|
-
proPurchaseAt: 'Compre o Pro em https://pro.sinapse.ai',
|
|
328
|
-
proSeatLimit: 'Desative outro dispositivo ou faça upgrade da sua licença.',
|
|
329
|
-
proAlreadyActivated: 'Licença Pro já ativada para esta conta.',
|
|
330
|
-
proActivationFailed: 'Falha na ativação: {message}',
|
|
331
|
-
proEnterKeyPrompt: 'Insira sua chave de licença Pro:',
|
|
332
|
-
proKeyRequired: 'Chave de licença é obrigatória',
|
|
333
|
-
proKeyInvalid: 'Formato inválido. Esperado: PRO-XXXX-XXXX-XXXX-XXXX',
|
|
334
|
-
proKeyValidated: 'Licença validada: {key}',
|
|
335
|
-
proModuleNotAvailable: 'Módulo de licença Pro não disponível. Certifique-se de que @sinapse-fullstack/pro está instalado.',
|
|
336
|
-
proModuleBootstrap: 'Módulo de licença Pro não encontrado localmente. Instalando @sinapse-fullstack/pro...',
|
|
337
|
-
proServerUnreachable: 'Servidor de licenças inacessível. Verifique sua conexão com a internet e tente novamente.',
|
|
338
|
-
proVerifyingAccessShort: 'Verificando acesso...',
|
|
339
|
-
proAccessConfirmed: 'Acesso Pro confirmado.',
|
|
340
|
-
proBuyerCheckUnavailable: 'Verificação de comprador indisponível, prosseguindo com login...',
|
|
341
|
-
proLoginFailedSignup: 'Login falhou, tentando cadastro...',
|
|
342
|
-
proAccountCreatedVerify: 'Conta criada. Email de verificação enviado!',
|
|
343
|
-
proAccountExistsWrongPw: 'Conta existe mas a senha está incorreta.',
|
|
344
|
-
proAuthFailedShort: 'Falha na autenticação.',
|
|
345
|
-
proValidatingKey: 'Validando licença {key}...',
|
|
346
|
-
proInvalidKey: 'Chave de licença inválida.',
|
|
347
|
-
proExpiredKey: 'Chave de licença expirada.',
|
|
348
|
-
proMaxActivations: 'Número máximo de ativações atingido para esta chave.',
|
|
349
|
-
proRateLimited: 'Muitas requisições. Aguarde e tente novamente.',
|
|
350
|
-
proValidationFailed: 'Validação de licença falhou: {message}',
|
|
351
|
-
proInvalidKeyFormat: 'Formato de chave inválido: {key}. Esperado: PRO-XXXX-XXXX-XXXX-XXXX',
|
|
352
|
-
proScaffolding: 'Instalando conteúdo pro...',
|
|
353
|
-
proScaffoldingProgress: 'Instalando: {message}',
|
|
354
|
-
proContentInstalled: 'Conteúdo Pro instalado ({count} arquivos)',
|
|
355
|
-
proScaffoldFailed: 'Instalação falhou',
|
|
356
|
-
proScaffoldError: 'Erro na instalação: {message}',
|
|
357
|
-
proInitPackageJson: 'Inicializando package.json...',
|
|
358
|
-
proPackageJsonCreated: 'package.json criado',
|
|
359
|
-
proPackageJsonFailed: 'Falha ao criar package.json',
|
|
360
|
-
proInstallingPackage: 'Instalando @sinapse-fullstack/pro...',
|
|
361
|
-
proPackageInstalled: 'Pacote Pro instalado',
|
|
362
|
-
proPackageInstallFailed: 'Falha ao instalar pacote Pro',
|
|
363
|
-
proScaffolderNotAvailable: 'Scaffolder Pro não disponível. Certifique-se de que @sinapse-fullstack/pro está instalado.',
|
|
364
|
-
proFilesInstalled: 'Arquivos instalados: {count}',
|
|
365
|
-
proSquads: 'Squads: {names}',
|
|
366
|
-
proConfigs: 'Configs: {count} arquivos',
|
|
367
|
-
proFeaturesUnlocked: 'Recursos desbloqueados: {count}',
|
|
368
|
-
proInstallComplete: 'Instalação do SINAPSE Pro completa!',
|
|
369
|
-
proNeedHelp: 'Precisa de ajuda? Execute: npx sinapse-pro recover',
|
|
370
|
-
proCISetEnv: 'Modo CI: Defina as variáveis SINAPSE_PRO_EMAIL + SINAPSE_PRO_PASSWORD ou SINAPSE_PRO_KEY.',
|
|
371
|
-
proVerificationFailed: 'Verificação falhou: {message}',
|
|
372
|
-
proPackageNotFound: 'Pacote Pro não encontrado após npm install. Verifique a saída do npm.',
|
|
373
|
-
proScaffolderNotFound: 'Módulo scaffolder Pro não encontrado.',
|
|
374
|
-
proNpmInitFailed: 'npm init falhou: {message}',
|
|
375
|
-
proNpmInstallFailed: 'npm install @sinapse-fullstack/pro falhou: {message}. Tente manualmente: npm install @sinapse-fullstack/pro',
|
|
376
174
|
},
|
|
377
175
|
|
|
378
176
|
// es: removed — PT-BR hardcoded as default
|
|
379
177
|
};
|
|
380
178
|
|
|
381
|
-
// Current language (default:
|
|
382
|
-
|
|
179
|
+
// Current language (default: Portuguese — product owner decision). English
|
|
180
|
+
// remains the missing-key fallback inside t() and a selectable choice.
|
|
181
|
+
let currentLanguage = 'pt';
|
|
383
182
|
|
|
384
183
|
/**
|
|
385
184
|
* Set current language
|
|
@@ -457,7 +457,7 @@ async function runWizard(options = {}) {
|
|
|
457
457
|
|
|
458
458
|
if (options.quiet) {
|
|
459
459
|
// Quiet mode: Skip all prompts, use defaults
|
|
460
|
-
const language = options.language || '
|
|
460
|
+
const language = options.language || 'pt';
|
|
461
461
|
setLanguage(language);
|
|
462
462
|
answers = {
|
|
463
463
|
language,
|