@ai-coders/installer 0.3.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.
Files changed (127) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/LICENSE +18 -0
  3. package/README.md +64 -0
  4. package/dist/callback-page.d.ts +11 -0
  5. package/dist/callback-page.js +230 -0
  6. package/dist/callback-page.js.map +1 -0
  7. package/dist/clerk-auth.d.ts +18 -0
  8. package/dist/clerk-auth.js +296 -0
  9. package/dist/clerk-auth.js.map +1 -0
  10. package/dist/cli-command.d.ts +10 -0
  11. package/dist/cli-command.js +17 -0
  12. package/dist/cli-command.js.map +1 -0
  13. package/dist/cli.d.ts +2 -0
  14. package/dist/cli.js +84 -0
  15. package/dist/cli.js.map +1 -0
  16. package/dist/i18n.d.ts +52 -0
  17. package/dist/i18n.js +163 -0
  18. package/dist/i18n.js.map +1 -0
  19. package/dist/product-manifest.d.ts +43 -0
  20. package/dist/product-manifest.js +140 -0
  21. package/dist/product-manifest.js.map +1 -0
  22. package/dist/products/second-brain/apply.d.ts +86 -0
  23. package/dist/products/second-brain/apply.js +277 -0
  24. package/dist/products/second-brain/apply.js.map +1 -0
  25. package/dist/products/second-brain/bearer.d.ts +29 -0
  26. package/dist/products/second-brain/bearer.js +78 -0
  27. package/dist/products/second-brain/bearer.js.map +1 -0
  28. package/dist/products/second-brain/bootstrap.d.ts +33 -0
  29. package/dist/products/second-brain/bootstrap.js +39 -0
  30. package/dist/products/second-brain/bootstrap.js.map +1 -0
  31. package/dist/products/second-brain/envfile.d.ts +35 -0
  32. package/dist/products/second-brain/envfile.js +136 -0
  33. package/dist/products/second-brain/envfile.js.map +1 -0
  34. package/dist/products/second-brain/github.d.ts +77 -0
  35. package/dist/products/second-brain/github.js +195 -0
  36. package/dist/products/second-brain/github.js.map +1 -0
  37. package/dist/products/second-brain/hostinger.d.ts +140 -0
  38. package/dist/products/second-brain/hostinger.js +607 -0
  39. package/dist/products/second-brain/hostinger.js.map +1 -0
  40. package/dist/products/second-brain/i18n.d.ts +887 -0
  41. package/dist/products/second-brain/i18n.js +587 -0
  42. package/dist/products/second-brain/i18n.js.map +1 -0
  43. package/dist/products/second-brain/keys.d.ts +5 -0
  44. package/dist/products/second-brain/keys.js +16 -0
  45. package/dist/products/second-brain/keys.js.map +1 -0
  46. package/dist/products/second-brain/main.d.ts +3 -0
  47. package/dist/products/second-brain/main.js +78 -0
  48. package/dist/products/second-brain/main.js.map +1 -0
  49. package/dist/products/second-brain/ports.d.ts +34 -0
  50. package/dist/products/second-brain/ports.js +77 -0
  51. package/dist/products/second-brain/ports.js.map +1 -0
  52. package/dist/products/second-brain/recovery.d.ts +50 -0
  53. package/dist/products/second-brain/recovery.js +96 -0
  54. package/dist/products/second-brain/recovery.js.map +1 -0
  55. package/dist/products/second-brain/sealed-box.d.ts +1 -0
  56. package/dist/products/second-brain/sealed-box.js +11 -0
  57. package/dist/products/second-brain/sealed-box.js.map +1 -0
  58. package/dist/products/second-brain/server.d.ts +143 -0
  59. package/dist/products/second-brain/server.js +280 -0
  60. package/dist/products/second-brain/server.js.map +1 -0
  61. package/dist/products/second-brain/service.d.ts +26 -0
  62. package/dist/products/second-brain/service.js +806 -0
  63. package/dist/products/second-brain/service.js.map +1 -0
  64. package/dist/products/second-brain/ssh.d.ts +35 -0
  65. package/dist/products/second-brain/ssh.js +140 -0
  66. package/dist/products/second-brain/ssh.js.map +1 -0
  67. package/dist/products/second-brain/state.d.ts +27 -0
  68. package/dist/products/second-brain/state.js +60 -0
  69. package/dist/products/second-brain/state.js.map +1 -0
  70. package/dist/products/second-brain/ui/assets/index-BoXpakUt.css +2 -0
  71. package/dist/products/second-brain/ui/assets/index-MgfOpW_R.js +66 -0
  72. package/dist/products/second-brain/ui/index.html +15 -0
  73. package/dist/products/second-brain/verify.d.ts +23 -0
  74. package/dist/products/second-brain/verify.js +59 -0
  75. package/dist/products/second-brain/verify.js.map +1 -0
  76. package/dist/products/severino/apply.d.ts +87 -0
  77. package/dist/products/severino/apply.js +250 -0
  78. package/dist/products/severino/apply.js.map +1 -0
  79. package/dist/products/severino/domain.d.ts +6 -0
  80. package/dist/products/severino/domain.js +20 -0
  81. package/dist/products/severino/domain.js.map +1 -0
  82. package/dist/products/severino/envfile.d.ts +20 -0
  83. package/dist/products/severino/envfile.js +89 -0
  84. package/dist/products/severino/envfile.js.map +1 -0
  85. package/dist/products/severino/github.d.ts +77 -0
  86. package/dist/products/severino/github.js +195 -0
  87. package/dist/products/severino/github.js.map +1 -0
  88. package/dist/products/severino/hostinger.d.ts +140 -0
  89. package/dist/products/severino/hostinger.js +607 -0
  90. package/dist/products/severino/hostinger.js.map +1 -0
  91. package/dist/products/severino/i18n.d.ts +887 -0
  92. package/dist/products/severino/i18n.js +587 -0
  93. package/dist/products/severino/i18n.js.map +1 -0
  94. package/dist/products/severino/keys.d.ts +5 -0
  95. package/dist/products/severino/keys.js +16 -0
  96. package/dist/products/severino/keys.js.map +1 -0
  97. package/dist/products/severino/main.d.ts +3 -0
  98. package/dist/products/severino/main.js +78 -0
  99. package/dist/products/severino/main.js.map +1 -0
  100. package/dist/products/severino/recovery.d.ts +50 -0
  101. package/dist/products/severino/recovery.js +96 -0
  102. package/dist/products/severino/recovery.js.map +1 -0
  103. package/dist/products/severino/sealed-box.d.ts +1 -0
  104. package/dist/products/severino/sealed-box.js +11 -0
  105. package/dist/products/severino/sealed-box.js.map +1 -0
  106. package/dist/products/severino/server.d.ts +123 -0
  107. package/dist/products/severino/server.js +274 -0
  108. package/dist/products/severino/server.js.map +1 -0
  109. package/dist/products/severino/service.d.ts +28 -0
  110. package/dist/products/severino/service.js +752 -0
  111. package/dist/products/severino/service.js.map +1 -0
  112. package/dist/products/severino/slack-manifest.d.ts +3 -0
  113. package/dist/products/severino/slack-manifest.js +45 -0
  114. package/dist/products/severino/slack-manifest.js.map +1 -0
  115. package/dist/products/severino/ssh.d.ts +35 -0
  116. package/dist/products/severino/ssh.js +140 -0
  117. package/dist/products/severino/ssh.js.map +1 -0
  118. package/dist/products/severino/state.d.ts +26 -0
  119. package/dist/products/severino/state.js +61 -0
  120. package/dist/products/severino/state.js.map +1 -0
  121. package/dist/products/severino/ui/assets/index-7S8Hl4jq.js +96 -0
  122. package/dist/products/severino/ui/assets/index-D5kql1Bh.css +2 -0
  123. package/dist/products/severino/ui/index.html +15 -0
  124. package/dist/products/severino/verify.d.ts +22 -0
  125. package/dist/products/severino/verify.js +149 -0
  126. package/dist/products/severino/verify.js.map +1 -0
  127. package/package.json +53 -0
@@ -0,0 +1,587 @@
1
+ export const defaultLanguage = "pt-BR";
2
+ const en = {
3
+ appTitle: "Second Brain Installer",
4
+ languageLabel: "Language",
5
+ next: "Next",
6
+ back: "Back",
7
+ retry: "Retry",
8
+ cancel: "Cancel",
9
+ close: "Close",
10
+ confirm: "Confirm",
11
+ working: "Working…",
12
+ copy: "Copy",
13
+ copied: "Copied",
14
+ wizardIntroTitle: "Welcome",
15
+ wizardIntroBody: "This installer sets up your Second Brain on your own server, directly from this computer. It asks for everything it needs, step by step — no GitHub configuration is required to install.",
16
+ wizardProgressLabel: "Installation progress",
17
+ wizardStepVps: "Connect VPS",
18
+ wizardStepConfig: "Configure",
19
+ wizardStepReview: "Review",
20
+ recoverExistingPrompt: "Already installed on another computer?",
21
+ recoverExistingCta: "Connect this computer",
22
+ recoverTitle: "Connect to an existing server",
23
+ recoverBody: "Enter the VPS access details. The installer will confirm the existing installation and save a new local connection for this computer.",
24
+ recoverSecurityNote: "Your root password is used once and is never stored. The installer reads only the public hostname from the server.",
25
+ recoverSubmit: "Connect existing server",
26
+ recoverFailed: "This computer could not connect to the existing server.",
27
+ stepVpsTitle: "Step 1 — Connect your VPS",
28
+ stepVpsBody: "Enter the server details from Hostinger. The root password is used once to install a secure key; it is never stored.",
29
+ vpsRecommendationTitle: "Don't have a VPS yet?",
30
+ vpsRecommendationBody: "We recommend a Hostinger VPS for this installation.",
31
+ vpsRecommendationDiscount: "Get 10% off with coupon AICODERS.",
32
+ vpsRecommendationDiscountLabel: "Member coupon",
33
+ vpsRecommendationDiscountSaving: "10% off",
34
+ vpsRecommendationCopyCoupon: "Copy coupon",
35
+ vpsRecommendationCouponCopied: "Coupon copied",
36
+ vpsRecommendationOpen: "Need a VPS? View the Hostinger offer",
37
+ vpsRecommendationCta: "Get a Hostinger VPS",
38
+ vpsPartnersLink: "See more partner discounts",
39
+ vpsHostLabel: "Server IP address or hostname",
40
+ vpsPortLabel: "SSH port",
41
+ vpsUserLabel: "User",
42
+ vpsAuthPassword: "Password",
43
+ vpsAuthKey: "Private key",
44
+ vpsPasswordLabel: "Root password",
45
+ vpsKeyLabel: "Paste the private key",
46
+ vpsTest: "Test connection",
47
+ vpsTestOk: "Connected to the server.",
48
+ vpsAuthFailed: "The server refused the password. Check it and try again.",
49
+ vpsUnreachable: "Could not reach the server. Check the IP address and that the VPS is running.",
50
+ vpsTestAgain: "The secure connection check expired. Test the server again before installing.",
51
+ showSecret: "Show",
52
+ hideSecret: "Hide",
53
+ vpsMethodLegend: "How do you want to configure the VPS?",
54
+ vpsMethodHostinger: "Connect Hostinger",
55
+ vpsMethodHostingerBody: "Find your VPS and fill its connection details automatically.",
56
+ vpsMethodRecommended: "Recommended",
57
+ vpsMethodManual: "Enter details manually",
58
+ vpsMethodManualBody: "Use any provider or enter custom SSH settings.",
59
+ hostingerConnectTitle: "Connect your Hostinger account",
60
+ hostingerConnectBody: "Create a temporary API token, then use it once to find your VPS. The token stays only in this installer session.",
61
+ hostingerTokenLabel: "Hostinger API token",
62
+ hostingerTokenOpen: "Create a token in hPanel",
63
+ hostingerTokenSecurity: "The token is kept in memory, never written to the installer settings, and cleared after handoff.",
64
+ hostingerFindVps: "Find my VPSs",
65
+ hostingerConnected: "Hostinger connected",
66
+ hostingerChangeAccount: "Change account",
67
+ hostingerRefresh: "Refresh list",
68
+ hostingerNoVps: "No VPS was found in this Hostinger account.",
69
+ hostingerPickVps: "Choose the VPS for your Second Brain",
70
+ hostingerVpsId: "VPS ID",
71
+ hostingerPlan: "Plan",
72
+ hostingerTemplate: "Template",
73
+ hostingerIp: "IPv4",
74
+ hostingerStateRunning: "Ready",
75
+ hostingerStateUnavailable: "Unavailable",
76
+ hostingerUnavailablePreparing: "Hostinger is still preparing this VPS.",
77
+ hostingerUnavailableLocked: "Hostinger is finishing another action on this VPS.",
78
+ hostingerUnavailableState: "Start or repair this VPS in hPanel before continuing.",
79
+ hostingerUnavailableIpv4: "This VPS does not have a usable IPv4 address.",
80
+ hostingerUnavailableTemplate: "The Hostinger Docker template is required for this installation.",
81
+ hostingerRootTitle: "Confirm administrator access",
82
+ hostingerRootBody: "Enter the root password once. After SSH is verified, the password leaves this page and a secure deploy key is installed during setup.",
83
+ rootPasswordForgot: "I don't remember the root password",
84
+ rootResetTitle: "Choose a new root password",
85
+ rootResetBody: "Hostinger can replace the password without asking for the current one.",
86
+ rootResetPasswordLabel: "New root password",
87
+ rootResetConfirmLabel: "Confirm the new root password",
88
+ rootResetGeneratePassword: "Generate strong password",
89
+ rootResetGeneratedNote: "A strong API-compatible 24-character password with letters, numbers, and Hostinger-supported symbols was generated and filled into both fields. Save it in your password manager before continuing.",
90
+ rootResetRequirementLength: "At least 12 characters",
91
+ rootResetRequirementUppercase: "At least one uppercase letter",
92
+ rootResetRequirementLowercase: "At least one lowercase letter",
93
+ rootResetRequirementNumber: "At least one number",
94
+ rootResetRequirementSymbol: "At least one allowed symbol: -().&@?'#,/;+",
95
+ rootResetRequirementCharacters: "Only letters, numbers, and allowed symbols",
96
+ rootResetRequirementMatch: "Both password fields match",
97
+ rootResetLeakNote: "Hostinger also rejects passwords found in public leak databases.",
98
+ rootResetReview: "Review password change",
99
+ rootResetConfirmTitle: "Confirm root password change",
100
+ rootResetConfirmBody: "The current root password will stop working for new connections as soon as Hostinger completes this action.",
101
+ rootResetTarget: "This action changes",
102
+ rootResetTypeHostname: "Type the VPS hostname to confirm",
103
+ rootResetNow: "Change root password now",
104
+ rootResetWorking: "Hostinger is updating the VPS…",
105
+ rootResetSuccess: "Root password changed. Testing SSH with the new password…",
106
+ rootResetSshPending: "Hostinger changed the password, but SSH is not accepting it yet. Wait a moment, then test the new password again.",
107
+ rootResetOutcomeUnknown: "Hostinger may still be processing the password change. Do not submit it again; test the new password before retrying.",
108
+ rootResetCancel: "Keep the current password",
109
+ hostingerErrorInvalidInput: "Check the supplied values and try again.",
110
+ hostingerErrorUnauthorized: "Hostinger rejected this token. Create a new token and reconnect.",
111
+ hostingerErrorRateLimited: "Hostinger's request limit was reached. Wait a moment and try again.",
112
+ hostingerErrorUnavailable: "Hostinger is temporarily unavailable. Manual configuration is still available.",
113
+ hostingerErrorInvalidResponse: "Hostinger returned an unexpected response. Try again later or configure the VPS manually.",
114
+ hostingerErrorNotConnected: "Reconnect Hostinger before continuing.",
115
+ hostingerErrorRequestRejected: "Hostinger rejected the password-change request, but did not identify the password field as the cause. Check the VPS status and recent actions in hPanel before trying again.",
116
+ hostingerErrorPasswordPolicy: "Hostinger rejected this password. Use only letters, numbers, and these symbols: -().&@?'#,/;+. Also avoid leaked or common passwords.",
117
+ hostingerErrorActionFailed: "Hostinger could not change the root password. Review the VPS in hPanel before retrying.",
118
+ hostingerErrorActionTimeout: "The password change did not finish in time. It may still be processing; test the new password before retrying.",
119
+ hostingerErrorConfirmation: "This confirmation expired or is no longer valid. Review the password change again.",
120
+ hostingerErrorTargetChanged: "The VPS changed after confirmation. Refresh the list and review the target again.",
121
+ hostingerErrorTargetUnavailable: "This VPS cannot be changed right now. Wait for Hostinger to finish its current action.",
122
+ hostingerErrorConflict: "Another installer operation is already running.",
123
+ stepConfigTitle: "Step 2 — Configure your Second Brain",
124
+ stepConfigBody: "These values configure your server and your owner account.",
125
+ domainLabel: "Your domain (for example brain.example.com)",
126
+ hostingerVpsDomainLabel: "Your Hostinger VPS domain",
127
+ hostingerSubdomainLabel: "Subdomain",
128
+ hostingerFinalDomainLabel: "Final Second Brain address",
129
+ hostingerDomainNote: "Hostinger's wildcard DNS automatically points this subdomain to the selected VPS.",
130
+ hostingerSubdomainInvalid: "Use 1–63 lowercase letters, numbers, or hyphens. The subdomain cannot start or end with a hyphen.",
131
+ dnsCheck: "Check DNS",
132
+ dnsMatch: "The domain points at your server.",
133
+ dnsMismatch: "The domain does not point at your server yet.",
134
+ dnsPending: "DNS has not propagated yet. You can continue and verify later.",
135
+ openRouterLabel: "OpenRouter API key",
136
+ databasePasswordNote: "A strong database password is generated automatically and stored only on your server.",
137
+ ownerEmailLabel: "Owner email",
138
+ ownerPasswordLabel: "Owner password (at least 12 characters)",
139
+ ownerPasswordConfirmLabel: "Confirm the owner password",
140
+ ownerPasswordTooShort: "The password must contain at least 12 characters.",
141
+ ownerPasswordMismatch: "The password confirmation does not match.",
142
+ stepReviewTitle: "Step 3 — Review and install",
143
+ stepReviewBody: "Review the values below, then start the installation.",
144
+ install: "Install",
145
+ progressTitle: "Installing",
146
+ progressMapLabel: "Installation phases",
147
+ progressPhaseAccess: "Access",
148
+ progressPhaseConfig: "Configure",
149
+ progressPhaseDeploy: "Deploy",
150
+ progressPhaseAccount: "Account",
151
+ progressPhaseVerify: "Verify",
152
+ progressGenerateKey: "Create a secure deploy key",
153
+ progressConnectVps: "Connect to the server",
154
+ progressAuthorizeKey: "Install the deploy key on the server",
155
+ progressWriteEnv: "Write the server configuration",
156
+ progressKeptDatabasePassword: "Kept the existing database password.",
157
+ progressAlternatePorts: "The default local ports were busy on the server — using",
158
+ bearerOptionLabel: "Also create a static access token (Bearer)",
159
+ bearerOptionBody: "For MCP clients that cannot sign in with OAuth. The token grants full access to the owner account; reinstalling with this option creates a new token and replaces the old one.",
160
+ bearerReviewEnabled: "Will be created",
161
+ bearerReviewDisabled: "Not requested",
162
+ doneBearerTitle: "Static access token (Bearer)",
163
+ doneBearerNote: "Shown only this once — copy it now and store it somewhere safe. Send it as an Authorization: Bearer header when connecting to the MCP URL above.",
164
+ dashboardBearer: "Create static access token (Bearer)",
165
+ dashboardBearerHint: "for clients that cannot sign in with OAuth",
166
+ bearerConfirmTitle: "Create a static access token?",
167
+ bearerConfirmBody: "The token grants full access to the owner account and replaces any previous static token. The engine restarts briefly to activate it.",
168
+ bearerEmailLabel: "Owner account email",
169
+ bearerConfirmApply: "Create token",
170
+ progressUploadSource: "Upload the project code to the server",
171
+ progressUncommitted: "Warning: changes not yet committed on this computer were not sent; the server builds the latest commit.",
172
+ progressBuildDeploy: "Build and start on the server — this can take several minutes",
173
+ progressVerifyKey: "Confirm the deploy key works",
174
+ progressCreateOwner: "Create your owner account",
175
+ progressOwnerExisted: "The owner account already existed. Continuing.",
176
+ progressVerifyMcp: "Verify the server from the outside",
177
+ progressSaveState: "Save the installer settings on this computer",
178
+ progressFailed: "This step failed",
179
+ progressSkipped: "Skipped",
180
+ progressOpenLogs: "Open the deployment logs",
181
+ installDone: "Your Second Brain is ready.",
182
+ doneTitle: "All set",
183
+ doneMcpUrl: "Your connector address",
184
+ doneConnectClient: "Open your client's connector settings, add a custom connector, paste the address above, and sign in with your owner email and password.",
185
+ doneClose: "You can close this window. Run npm run installer again anytime.",
186
+ githubActivateTitle: "Automatic deploys (optional)",
187
+ githubActivateBody: "Connect GitHub once and every change pushed to your repository deploys by itself. You also get a deploy button and one-click rollback here in the installer. You can do this now or anytime later.",
188
+ githubGuidePath: "On github.com: your avatar → Settings → Developer settings → Personal access tokens → Fine-grained tokens.",
189
+ githubGuideStep1: "Open the token page with the button below and sign in to GitHub.",
190
+ githubGuideStep2: "Name it second-brain-installer and set the expiration to 90 days.",
191
+ githubGuideStep3: "Under Resource owner keep your account, and under Repository access choose Only select repositories and pick this repository.",
192
+ githubGuideStep4: "Under Repository permissions set Actions to Read and write, Secrets to Read and write, and Contents to Read-only.",
193
+ githubGuideStep5: "Click Generate token and copy it right away — GitHub shows it only once.",
194
+ githubGuideOpen: "Create the token on GitHub",
195
+ githubTokenLabel: "GitHub access token",
196
+ githubRepositoryLabel: "Repository",
197
+ githubRepositoryDetected: "Repository detected from this folder",
198
+ githubRepositoryManual: "Type the repository as owner/name",
199
+ githubConnect: "Activate automatic deploys",
200
+ githubConnectedNote: "Automatic deploys are active.",
201
+ githubPermissionActions: "Actions: Read and write",
202
+ githubPermissionSecrets: "Secrets: Read and write",
203
+ githubPermissionContents: "Contents: Read-only",
204
+ githubTokenInvalid: "GitHub rejected this token. Create a new one and paste it again.",
205
+ githubTokenExpiresSoon: "This token expires soon. Consider creating a new one.",
206
+ githubPermissionMissing: "This permission is missing on the token",
207
+ dashboardTitle: "Your Second Brain",
208
+ dashboardHealthCheck: "Verify now",
209
+ heroAllGood: "All good",
210
+ heroChecking: "Checking your server…",
211
+ heroProblem: "Something needs attention",
212
+ heroOnlineBody: "Your Second Brain is online and connected.",
213
+ heroProblemBody: "The check found a problem — see Connections below.",
214
+ heroLive: "LIVE",
215
+ heroVersionLabel: "Current version:",
216
+ heroAutoOn: "Automatic updates on",
217
+ heroAutoOff: "Automatic updates off",
218
+ heroServerOnline: "Server online",
219
+ heroServerOffline: "Server unreachable",
220
+ updateAvailable: "New version available",
221
+ updatePublishing: "Publishing…",
222
+ updateFailed: "Last publish failed",
223
+ updateNow: "Update now",
224
+ btnOtherActions: "Other actions",
225
+ publishingNote: "Publishing can take a few minutes. This page updates by itself when it finishes.",
226
+ connectionsTitle: "Connections",
227
+ connMcp: "MCP",
228
+ connOauth: "OAuth",
229
+ connServer: "Server",
230
+ connStatusWorking: "Working",
231
+ connStatusOk: "OK",
232
+ connStatusOnline: "Online",
233
+ connStatusFail: "Problem",
234
+ connStatusWait: "Checking",
235
+ viewDiagnostic: "See full diagnostic",
236
+ hideDiagnostic: "Hide diagnostic",
237
+ lastCheckedLabel: "Last check:",
238
+ agoJustNow: "just now",
239
+ historyTitle: "Update history",
240
+ historyEmpty: "No updates yet.",
241
+ historyShowAll: "Show all updates",
242
+ historyShowLess: "Show fewer",
243
+ runColumnVersion: "Version",
244
+ runColumnDescription: "Description",
245
+ runColumnStatus: "Status",
246
+ runColumnWhen: "When",
247
+ helpTitle: "Quick help",
248
+ helpStep1Title: "Copy the connector URL",
249
+ helpStep1Body: "Use the button below to copy it.",
250
+ helpStep2Title: "Add it to your client",
251
+ helpStep2Body: "Open its connector settings and add a custom connector.",
252
+ helpStep3Title: "Sign in",
253
+ helpStep3Body: "Use your owner email and password.",
254
+ helpStep4Title: "Check the connection",
255
+ helpStep4Body: "Confirm the status shows online.",
256
+ connectorUrlLabel: "Connector URL",
257
+ actionsTitle: "Actions",
258
+ dashboardRollback: "Restore a previous version",
259
+ dashboardRollbackHint: "Go back to an earlier stable version.",
260
+ dashboardRollbackPick: "Choose an earlier successful version",
261
+ dashboardRollbackApply: "Restore this version",
262
+ rollbackIntro: "Puts an earlier version back on the air. It reuses the exact package that already worked before, so it is fast — one or two minutes — and low risk.",
263
+ rollbackDataNote: "Your data is untouched: tasks, memories, knowledge, and your account stay exactly as they are.",
264
+ rollbackWindowNote: "The most recent versions stay available here. To move forward again, just update again.",
265
+ rollbackCurrentTag: "on air now",
266
+ dashboardDeployLocal: "Upload new version",
267
+ dashboardDeployLocalHint: "Send the latest code from this computer.",
268
+ localConfirmTitle: "Upload the code from this computer?",
269
+ localConfirmBody: "This sends the latest committed code on this computer and rebuilds it on your server, without going through GitHub.",
270
+ localConfirmUncommitted: "Changes you have not committed yet are not included.",
271
+ localConfirmAuto: "To publish through automatic deploys instead — and have it recorded in the history — merge into main and push.",
272
+ localConfirmApply: "Yes, upload it",
273
+ rollbackConfirmTitle: "Restore this version?",
274
+ rollbackConfirmBody: "Your server goes back to this exact package in a minute or two. Your data is not touched, and you can move forward again with a new update.",
275
+ rollbackConfirmApply: "Yes, restore it",
276
+ deployStartedNote: "Started — follow the status in the history. It takes a minute or two, and this page updates by itself.",
277
+ dashboardLinkActions: "Deployment history on GitHub",
278
+ dashboardReset: "Forget the settings on this computer",
279
+ dashboardResetHint: "Nothing on your server is stopped or deleted; this only clears what the installer saved here.",
280
+ dashboardResetConfirm: "This deletes the saved settings on this computer, including the GitHub token. Your server keeps running. Continue?",
281
+ resetConfirmYes: "Yes, forget the settings",
282
+ dashboardResetFinal: "Last confirmation: the GitHub token and the deploy key stored on this computer will be deleted. Your server keeps running. Continue?",
283
+ footerLine: "Second Brain AI Coders Academy — Managed infrastructure for developers.",
284
+ runStatusSuccess: "Success",
285
+ runStatusFailure: "Failed",
286
+ runStatusInProgress: "In progress",
287
+ terminalRunningAt: "┌─ AI CODERS ACADEMY / SECOND BRAIN\n│\n│ The installer is available at:\n│",
288
+ terminalPressCtrlC: "└─ Press Ctrl+C to stop the installer.",
289
+ terminalStartFailed: "The Second Brain installer could not be started.",
290
+ terminalStopFailed: "┌─ AI CODERS ACADEMY / ERROR\n│\n│ ! The installer could not be stopped cleanly.\n└─",
291
+ errorGeneric: "Something went wrong. The details are below.",
292
+ errorBusy: "An installation is already running.",
293
+ };
294
+ const ptBR = {
295
+ appTitle: "Instalador do Second Brain",
296
+ languageLabel: "Idioma",
297
+ next: "Avançar",
298
+ back: "Voltar",
299
+ retry: "Tentar novamente",
300
+ cancel: "Cancelar",
301
+ close: "Fechar",
302
+ confirm: "Confirmar",
303
+ working: "Processando…",
304
+ copy: "Copiar",
305
+ copied: "Copiado",
306
+ wizardIntroTitle: "Bem-vindo",
307
+ wizardIntroBody: "Este instalador configura o seu Second Brain no seu próprio servidor, direto deste computador. Ele pede tudo o que precisa, passo a passo — nenhuma configuração do GitHub é necessária para instalar.",
308
+ wizardProgressLabel: "Progresso da instalação",
309
+ wizardStepVps: "Conectar VPS",
310
+ wizardStepConfig: "Configurar",
311
+ wizardStepReview: "Revisar",
312
+ recoverExistingPrompt: "Já instalou em outro computador?",
313
+ recoverExistingCta: "Conectar este computador",
314
+ recoverTitle: "Conectar a um servidor existente",
315
+ recoverBody: "Informe os dados de acesso ao VPS. O instalador confirma a instalação existente e salva uma nova conexão local neste computador.",
316
+ recoverSecurityNote: "A senha de root é usada uma vez e nunca é guardada. O instalador lê apenas o hostname público do servidor.",
317
+ recoverSubmit: "Conectar servidor existente",
318
+ recoverFailed: "Este computador não conseguiu se conectar ao servidor existente.",
319
+ stepVpsTitle: "Passo 1 — Conectar o seu VPS",
320
+ stepVpsBody: "Informe os dados do servidor na Hostinger. A senha de root é usada uma única vez para instalar uma chave segura; ela nunca é guardada.",
321
+ vpsRecommendationTitle: "Ainda não tem um VPS?",
322
+ vpsRecommendationBody: "Recomendamos um VPS da Hostinger para esta instalação.",
323
+ vpsRecommendationDiscount: "Garanta 10% de desconto com o cupom AICODERS.",
324
+ vpsRecommendationDiscountLabel: "Cupom de membro",
325
+ vpsRecommendationDiscountSaving: "10% de desconto",
326
+ vpsRecommendationCopyCoupon: "Copiar cupom",
327
+ vpsRecommendationCouponCopied: "Cupom copiado",
328
+ vpsRecommendationOpen: "Ainda não tem um VPS? Ver oferta da Hostinger",
329
+ vpsRecommendationCta: "Contratar VPS na Hostinger",
330
+ vpsPartnersLink: "Conferir mais descontos de parceiros",
331
+ vpsHostLabel: "Endereço IP ou hostname do servidor",
332
+ vpsPortLabel: "Porta SSH",
333
+ vpsUserLabel: "Usuário",
334
+ vpsAuthPassword: "Senha",
335
+ vpsAuthKey: "Chave privada",
336
+ vpsPasswordLabel: "Senha de root",
337
+ vpsKeyLabel: "Cole a chave privada",
338
+ vpsTest: "Testar conexão",
339
+ vpsTestOk: "Conectado ao servidor.",
340
+ vpsAuthFailed: "O servidor recusou a senha. Confira e tente de novo.",
341
+ vpsUnreachable: "Não foi possível alcançar o servidor. Confira o IP e se o VPS está ligado.",
342
+ vpsTestAgain: "A verificação segura expirou. Teste o servidor novamente antes de instalar.",
343
+ showSecret: "Mostrar",
344
+ hideSecret: "Ocultar",
345
+ vpsMethodLegend: "Como você quer configurar o VPS?",
346
+ vpsMethodHostinger: "Conectar Hostinger",
347
+ vpsMethodHostingerBody: "Encontre o seu VPS e preencha os dados de conexão automaticamente.",
348
+ vpsMethodRecommended: "Recomendado",
349
+ vpsMethodManual: "Informar dados manualmente",
350
+ vpsMethodManualBody: "Use qualquer provedor ou informe uma configuração SSH personalizada.",
351
+ hostingerConnectTitle: "Conecte sua conta Hostinger",
352
+ hostingerConnectBody: "Crie um token temporário de API e use-o uma vez para encontrar seu VPS. O token fica somente nesta sessão do instalador.",
353
+ hostingerTokenLabel: "Token da API Hostinger",
354
+ hostingerTokenOpen: "Criar token no hPanel",
355
+ hostingerTokenSecurity: "O token fica na memória, nunca é gravado nas configurações do instalador e é apagado depois do uso.",
356
+ hostingerFindVps: "Encontrar meus VPSs",
357
+ hostingerConnected: "Hostinger conectada",
358
+ hostingerChangeAccount: "Trocar conta",
359
+ hostingerRefresh: "Atualizar lista",
360
+ hostingerNoVps: "Nenhum VPS foi encontrado nesta conta Hostinger.",
361
+ hostingerPickVps: "Escolha o VPS do seu Second Brain",
362
+ hostingerVpsId: "ID do VPS",
363
+ hostingerPlan: "Plano",
364
+ hostingerTemplate: "Template",
365
+ hostingerIp: "IPv4",
366
+ hostingerStateRunning: "Pronto",
367
+ hostingerStateUnavailable: "Indisponível",
368
+ hostingerUnavailablePreparing: "A Hostinger ainda está preparando este VPS.",
369
+ hostingerUnavailableLocked: "A Hostinger está finalizando outra ação neste VPS.",
370
+ hostingerUnavailableState: "Ligue ou repare este VPS no hPanel antes de continuar.",
371
+ hostingerUnavailableIpv4: "Este VPS não possui um endereço IPv4 utilizável.",
372
+ hostingerUnavailableTemplate: "Esta instalação exige o template Docker da Hostinger.",
373
+ hostingerRootTitle: "Confirme o acesso de administrador",
374
+ hostingerRootBody: "Informe a senha de root uma vez. Depois da verificação SSH, a senha sai desta página e uma chave segura de deploy é instalada durante a configuração.",
375
+ rootPasswordForgot: "Não lembro a senha de root",
376
+ rootResetTitle: "Escolha uma nova senha de root",
377
+ rootResetBody: "A Hostinger pode substituir a senha sem pedir a senha atual.",
378
+ rootResetPasswordLabel: "Nova senha de root",
379
+ rootResetConfirmLabel: "Confirme a nova senha de root",
380
+ rootResetGeneratePassword: "Gerar senha forte",
381
+ rootResetGeneratedNote: "Uma senha forte de 24 caracteres, compatível com a API e formada por letras, números e símbolos aceitos pela Hostinger, foi gerada e preenchida nos dois campos. Salve ela no seu gerenciador de senhas antes de continuar.",
382
+ rootResetRequirementLength: "Pelo menos 12 caracteres",
383
+ rootResetRequirementUppercase: "Pelo menos uma letra maiúscula",
384
+ rootResetRequirementLowercase: "Pelo menos uma letra minúscula",
385
+ rootResetRequirementNumber: "Pelo menos um número",
386
+ rootResetRequirementSymbol: "Pelo menos um símbolo permitido: -().&@?'#,/;+",
387
+ rootResetRequirementCharacters: "Somente letras, números e símbolos permitidos",
388
+ rootResetRequirementMatch: "Os dois campos de senha são iguais",
389
+ rootResetLeakNote: "A Hostinger também rejeita senhas encontradas em bases públicas de vazamentos.",
390
+ rootResetReview: "Revisar troca de senha",
391
+ rootResetConfirmTitle: "Confirme a troca da senha de root",
392
+ rootResetConfirmBody: "A senha de root atual deixará de funcionar em novas conexões assim que a Hostinger concluir esta ação.",
393
+ rootResetTarget: "Esta ação altera",
394
+ rootResetTypeHostname: "Digite o hostname do VPS para confirmar",
395
+ rootResetNow: "Trocar a senha de root agora",
396
+ rootResetWorking: "A Hostinger está atualizando o VPS…",
397
+ rootResetSuccess: "Senha de root alterada. Testando o SSH com a nova senha…",
398
+ rootResetSshPending: "A Hostinger trocou a senha, mas o SSH ainda não está aceitando ela. Aguarde um momento e teste a nova senha de novo.",
399
+ rootResetOutcomeUnknown: "A Hostinger talvez ainda esteja processando a troca. Não envie novamente; teste a nova senha antes de tentar de novo.",
400
+ rootResetCancel: "Manter a senha atual",
401
+ hostingerErrorInvalidInput: "Confira os dados informados e tente novamente.",
402
+ hostingerErrorUnauthorized: "A Hostinger recusou este token. Crie um novo token e reconecte.",
403
+ hostingerErrorRateLimited: "O limite de requisições da Hostinger foi atingido. Aguarde um pouco e tente novamente.",
404
+ hostingerErrorUnavailable: "A Hostinger está temporariamente indisponível. A configuração manual continua disponível.",
405
+ hostingerErrorInvalidResponse: "A Hostinger retornou uma resposta inesperada. Tente mais tarde ou configure o VPS manualmente.",
406
+ hostingerErrorNotConnected: "Reconecte a Hostinger antes de continuar.",
407
+ hostingerErrorRequestRejected: "A Hostinger recusou o pedido de troca, mas não indicou o campo de senha como a causa. Confira o estado do VPS e as ações recentes no hPanel antes de tentar novamente.",
408
+ hostingerErrorPasswordPolicy: "A Hostinger recusou esta senha. Use somente letras, números e estes símbolos: -().&@?'#,/;+. Também evite senhas vazadas ou comuns.",
409
+ hostingerErrorActionFailed: "A Hostinger não conseguiu trocar a senha de root. Confira o VPS no hPanel antes de tentar novamente.",
410
+ hostingerErrorActionTimeout: "A troca de senha não terminou a tempo. Ela pode continuar em processamento; teste a nova senha antes de tentar de novo.",
411
+ hostingerErrorConfirmation: "Esta confirmação expirou ou não é mais válida. Revise a troca de senha novamente.",
412
+ hostingerErrorTargetChanged: "O VPS mudou depois da confirmação. Atualize a lista e revise o destino novamente.",
413
+ hostingerErrorTargetUnavailable: "Este VPS não pode ser alterado agora. Aguarde a Hostinger terminar a ação atual.",
414
+ hostingerErrorConflict: "Outra operação do instalador já está em andamento.",
415
+ stepConfigTitle: "Passo 2 — Configurar o seu Second Brain",
416
+ stepConfigBody: "Estes valores configuram o seu servidor e a sua conta de dono.",
417
+ domainLabel: "Seu domínio (por exemplo brain.exemplo.com)",
418
+ hostingerVpsDomainLabel: "Domínio do seu VPS na Hostinger",
419
+ hostingerSubdomainLabel: "Subdomínio",
420
+ hostingerFinalDomainLabel: "Endereço final do Second Brain",
421
+ hostingerDomainNote: "O DNS curinga da Hostinger aponta este subdomínio automaticamente para o VPS selecionado.",
422
+ hostingerSubdomainInvalid: "Use de 1 a 63 letras minúsculas, números ou hifens. O subdomínio não pode começar nem terminar com hífen.",
423
+ dnsCheck: "Verificar DNS",
424
+ dnsMatch: "O domínio aponta para o seu servidor.",
425
+ dnsMismatch: "O domínio ainda não aponta para o seu servidor.",
426
+ dnsPending: "O DNS ainda não propagou. Você pode continuar e verificar depois.",
427
+ openRouterLabel: "Chave de API da OpenRouter",
428
+ databasePasswordNote: "Uma senha forte de banco de dados é gerada automaticamente e guardada apenas no seu servidor.",
429
+ ownerEmailLabel: "Email do dono",
430
+ ownerPasswordLabel: "Senha do dono (pelo menos 12 caracteres)",
431
+ ownerPasswordConfirmLabel: "Confirme a senha do dono",
432
+ ownerPasswordTooShort: "A senha precisa ter pelo menos 12 caracteres.",
433
+ ownerPasswordMismatch: "A confirmação da senha não confere.",
434
+ stepReviewTitle: "Passo 3 — Revisar e instalar",
435
+ stepReviewBody: "Revise os valores abaixo e inicie a instalação.",
436
+ install: "Instalar",
437
+ progressTitle: "Instalando",
438
+ progressMapLabel: "Fases da instalação",
439
+ progressPhaseAccess: "Acesso",
440
+ progressPhaseConfig: "Configurar",
441
+ progressPhaseDeploy: "Deploy",
442
+ progressPhaseAccount: "Conta",
443
+ progressPhaseVerify: "Verificar",
444
+ progressGenerateKey: "Criar uma chave de deploy segura",
445
+ progressConnectVps: "Conectar ao servidor",
446
+ progressAuthorizeKey: "Instalar a chave de deploy no servidor",
447
+ progressWriteEnv: "Gravar a configuração do servidor",
448
+ progressKeptDatabasePassword: "A senha de banco existente foi mantida.",
449
+ progressAlternatePorts: "As portas locais padrão estavam ocupadas no servidor — usando",
450
+ bearerOptionLabel: "Criar também um token de acesso estático (Bearer)",
451
+ bearerOptionBody: "Para clientes MCP que não conseguem entrar com OAuth. O token dá acesso total à conta de dono; reinstalar com esta opção cria um novo token e substitui o antigo.",
452
+ bearerReviewEnabled: "Será criado",
453
+ bearerReviewDisabled: "Não solicitado",
454
+ doneBearerTitle: "Token de acesso estático (Bearer)",
455
+ doneBearerNote: "Exibido apenas esta vez — copie agora e guarde em um lugar seguro. Envie como cabeçalho Authorization: Bearer ao conectar na URL MCP acima.",
456
+ dashboardBearer: "Criar token de acesso estático (Bearer)",
457
+ dashboardBearerHint: "para clientes que não conseguem entrar com OAuth",
458
+ bearerConfirmTitle: "Criar um token de acesso estático?",
459
+ bearerConfirmBody: "O token dá acesso total à conta de dono e substitui qualquer token estático anterior. O engine reinicia rapidamente para ativá-lo.",
460
+ bearerEmailLabel: "Email da conta de dono",
461
+ bearerConfirmApply: "Criar token",
462
+ progressUploadSource: "Enviar o código do projeto para o servidor",
463
+ progressUncommitted: "Atenção: mudanças ainda não commitadas neste computador não foram enviadas; o servidor constrói o último commit.",
464
+ progressBuildDeploy: "Construir e iniciar no servidor — pode levar vários minutos",
465
+ progressVerifyKey: "Confirmar que a chave de deploy funciona",
466
+ progressCreateOwner: "Criar a sua conta de dono",
467
+ progressOwnerExisted: "A conta de dono já existia. Continuando.",
468
+ progressVerifyMcp: "Verificar o servidor por fora",
469
+ progressSaveState: "Salvar as configurações do instalador neste computador",
470
+ progressFailed: "Este passo falhou",
471
+ progressSkipped: "Pulado",
472
+ progressOpenLogs: "Abrir os logs do deploy",
473
+ installDone: "O seu Second Brain está pronto.",
474
+ doneTitle: "Tudo pronto",
475
+ doneMcpUrl: "O endereço do seu conector",
476
+ doneConnectClient: "Abra as configurações de conectores do seu cliente, adicione um conector personalizado, cole o endereço acima e entre com o seu email e a senha de dono.",
477
+ doneClose: "Pode fechar esta janela. Rode npm run installer de novo quando quiser.",
478
+ githubActivateTitle: "Deploys automáticos (opcional)",
479
+ githubActivateBody: "Conecte o GitHub uma vez e toda mudança enviada para o seu repositório entra no ar sozinha. Você também ganha um botão de deploy e rollback de um clique aqui no instalador. Dá para fazer agora ou em qualquer momento depois.",
480
+ githubGuidePath: "No github.com: seu avatar → Settings → Developer settings → Personal access tokens → Fine-grained tokens.",
481
+ githubGuideStep1: "Abra a página do token com o botão abaixo e entre no GitHub.",
482
+ githubGuideStep2: "Dê o nome second-brain-installer e defina a expiração para 90 dias.",
483
+ githubGuideStep3: "Em Resource owner mantenha a sua conta, e em Repository access escolha Only select repositories e selecione este repositório.",
484
+ githubGuideStep4: "Em Repository permissions defina Actions como Read and write, Secrets como Read and write e Contents como Read-only.",
485
+ githubGuideStep5: "Clique em Generate token e copie na hora — o GitHub mostra o token uma única vez.",
486
+ githubGuideOpen: "Criar o token no GitHub",
487
+ githubTokenLabel: "Token de acesso do GitHub",
488
+ githubRepositoryLabel: "Repositório",
489
+ githubRepositoryDetected: "Repositório detectado a partir desta pasta",
490
+ githubRepositoryManual: "Digite o repositório como dono/nome",
491
+ githubConnect: "Ativar deploys automáticos",
492
+ githubConnectedNote: "Os deploys automáticos estão ativos.",
493
+ githubPermissionActions: "Actions: Read and write",
494
+ githubPermissionSecrets: "Secrets: Read and write",
495
+ githubPermissionContents: "Contents: Read-only",
496
+ githubTokenInvalid: "O GitHub recusou este token. Crie um novo e cole de novo.",
497
+ githubTokenExpiresSoon: "Este token expira em breve. Considere criar um novo.",
498
+ githubPermissionMissing: "Esta permissão está faltando no token",
499
+ dashboardTitle: "Seu Second Brain",
500
+ dashboardHealthCheck: "Verificar agora",
501
+ heroAllGood: "Tudo funcionando",
502
+ heroChecking: "Verificando o seu servidor…",
503
+ heroProblem: "Algo precisa de atenção",
504
+ heroOnlineBody: "Seu Second Brain está online e conectado.",
505
+ heroProblemBody: "A verificação encontrou um problema — veja Conexões abaixo.",
506
+ heroLive: "LIVE",
507
+ heroVersionLabel: "Versão atual:",
508
+ heroAutoOn: "Atualizações automáticas ativas",
509
+ heroAutoOff: "Atualizações automáticas desativadas",
510
+ heroServerOnline: "Servidor online",
511
+ heroServerOffline: "Servidor inacessível",
512
+ updateAvailable: "Nova versão disponível",
513
+ updatePublishing: "Publicando…",
514
+ updateFailed: "A última publicação falhou",
515
+ updateNow: "Atualizar agora",
516
+ btnOtherActions: "Outras ações",
517
+ publishingNote: "A publicação pode levar alguns minutos. Esta página atualiza sozinha quando terminar.",
518
+ connectionsTitle: "Conexões",
519
+ connMcp: "MCP",
520
+ connOauth: "OAuth",
521
+ connServer: "Servidor",
522
+ connStatusWorking: "Funcionando",
523
+ connStatusOk: "OK",
524
+ connStatusOnline: "Online",
525
+ connStatusFail: "Problema",
526
+ connStatusWait: "Verificando",
527
+ viewDiagnostic: "Ver diagnóstico completo",
528
+ hideDiagnostic: "Ocultar diagnóstico",
529
+ lastCheckedLabel: "Última verificação:",
530
+ agoJustNow: "agora mesmo",
531
+ historyTitle: "Histórico de atualizações",
532
+ historyEmpty: "Nenhuma atualização ainda.",
533
+ historyShowAll: "Ver todas as atualizações",
534
+ historyShowLess: "Ver menos",
535
+ runColumnVersion: "Versão",
536
+ runColumnDescription: "Descrição",
537
+ runColumnStatus: "Status",
538
+ runColumnWhen: "Quando",
539
+ helpTitle: "Ajuda rápida",
540
+ helpStep1Title: "Copie a URL do conector",
541
+ helpStep1Body: "Use o botão abaixo para copiar.",
542
+ helpStep2Title: "Adicione no seu cliente",
543
+ helpStep2Body: "Abra as configurações de conectores e adicione um conector personalizado.",
544
+ helpStep3Title: "Faça login",
545
+ helpStep3Body: "Use o seu email e a senha de dono.",
546
+ helpStep4Title: "Verifique a conexão",
547
+ helpStep4Body: "Confirme se o status está online.",
548
+ connectorUrlLabel: "URL do conector",
549
+ actionsTitle: "Ações",
550
+ dashboardRollback: "Restaurar versão anterior",
551
+ dashboardRollbackHint: "Volte para uma versão estável anterior.",
552
+ dashboardRollbackPick: "Escolha uma versão anterior bem-sucedida",
553
+ dashboardRollbackApply: "Restaurar esta versão",
554
+ rollbackIntro: "Coloca uma versão anterior de volta no ar. Ela reaproveita o mesmo pacote que já funcionou antes, então é rápido — um ou dois minutos — e de baixo risco.",
555
+ rollbackDataNote: "Os seus dados não são tocados: tarefas, memórias, conhecimento e a sua conta continuam exatamente como estão.",
556
+ rollbackWindowNote: "As versões mais recentes ficam disponíveis aqui. Para avançar de novo, é só atualizar de novo.",
557
+ rollbackCurrentTag: "no ar agora",
558
+ dashboardDeployLocal: "Subir nova versão",
559
+ dashboardDeployLocalHint: "Envie o código mais recente deste computador.",
560
+ localConfirmTitle: "Subir o código deste computador?",
561
+ localConfirmBody: "Isso envia a versão de código mais recente deste computador (o último commit) e reconstrói no seu servidor, sem passar pelo GitHub.",
562
+ localConfirmUncommitted: "Mudanças que você ainda não commitou não vão junto.",
563
+ localConfirmAuto: "Para publicar pelos deploys automáticos — e ficar registrado no histórico — faça merge na main e push.",
564
+ localConfirmApply: "Sim, subir versão",
565
+ rollbackConfirmTitle: "Restaurar esta versão?",
566
+ rollbackConfirmBody: "O seu servidor volta para esse pacote exato em um ou dois minutos. Os seus dados não são tocados, e você pode avançar de novo com uma nova atualização.",
567
+ rollbackConfirmApply: "Sim, restaurar",
568
+ deployStartedNote: "Iniciado — acompanhe o status no histórico. Leva um ou dois minutos, e esta página atualiza sozinha.",
569
+ dashboardLinkActions: "Histórico de deploys no GitHub",
570
+ dashboardReset: "Esquecer as configurações deste computador",
571
+ dashboardResetHint: "Nada no seu servidor é desligado ou apagado; isso só limpa o que o instalador salvou aqui.",
572
+ dashboardResetConfirm: "Isto apaga as configurações salvas neste computador, incluindo o token do GitHub. O seu servidor continua rodando. Continuar?",
573
+ resetConfirmYes: "Sim, esquecer as configurações",
574
+ dashboardResetFinal: "Última confirmação: o token do GitHub e a chave de deploy guardados neste computador serão apagados. O seu servidor continua rodando. Continuar?",
575
+ footerLine: "Second Brain AI Coders Academy — Infraestrutura gerenciada para desenvolvedores.",
576
+ runStatusSuccess: "Sucesso",
577
+ runStatusFailure: "Falhou",
578
+ runStatusInProgress: "Em andamento",
579
+ terminalRunningAt: "┌─ AI CODERS ACADEMY / SECOND BRAIN\n│\n│ O instalador está disponível em:\n│",
580
+ terminalPressCtrlC: "└─ Pressione Ctrl+C para encerrar o instalador.",
581
+ terminalStartFailed: "Não foi possível iniciar o instalador do Second Brain.",
582
+ terminalStopFailed: "┌─ AI CODERS ACADEMY / ERRO\n│\n│ ! Não foi possível encerrar o instalador corretamente.\n└─",
583
+ errorGeneric: "Algo deu errado. Os detalhes estão abaixo.",
584
+ errorBusy: "Já existe uma instalação em andamento.",
585
+ };
586
+ export const installerMessages = { en, "pt-BR": ptBR };
587
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../packages/second-brain/src/i18n.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export interface DeployKeyPair {
2
+ readonly publicKey: string;
3
+ readonly privateKey: string;
4
+ }
5
+ export declare function generateDeployKey(): Promise<DeployKeyPair>;