@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: "Severino 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 puts Severino, your task agent, on your own server, directly from this computer. It asks for everything it needs, step by step.",
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
+ vpsPasswordLabel: "Root password",
43
+ vpsTest: "Test connection",
44
+ vpsTestOk: "Connected to the server.",
45
+ vpsUnreachable: "Could not reach the server. Check the IP address and that the VPS is running.",
46
+ vpsTestAgain: "The secure connection check expired. Test the server again before installing.",
47
+ showSecret: "Show",
48
+ hideSecret: "Hide",
49
+ vpsMethodLegend: "How do you want to configure the VPS?",
50
+ vpsMethodHostinger: "Connect Hostinger",
51
+ vpsMethodHostingerBody: "Find your VPS and fill its connection details automatically.",
52
+ vpsMethodRecommended: "Recommended",
53
+ vpsMethodManual: "Enter details manually",
54
+ vpsMethodManualBody: "Use any provider or enter custom SSH settings.",
55
+ hostingerConnectTitle: "Connect your Hostinger account",
56
+ hostingerConnectBody: "Create a temporary API token, then use it once to find your VPS. The token stays only in this installer session.",
57
+ hostingerTokenLabel: "Hostinger API token",
58
+ hostingerTokenOpen: "Create a token in hPanel",
59
+ hostingerTokenSecurity: "The token is kept in memory, never written to the installer settings, and cleared after handoff.",
60
+ hostingerFindVps: "Find my VPSs",
61
+ hostingerConnected: "Hostinger connected",
62
+ hostingerChangeAccount: "Change account",
63
+ hostingerRefresh: "Refresh list",
64
+ hostingerNoVps: "No VPS was found in this Hostinger account.",
65
+ hostingerPickVps: "Choose the VPS for your Severino",
66
+ hostingerVpsId: "VPS ID",
67
+ hostingerPlan: "Plan",
68
+ hostingerTemplate: "Template",
69
+ hostingerIp: "IPv4",
70
+ hostingerStateRunning: "Ready",
71
+ hostingerStateUnavailable: "Unavailable",
72
+ hostingerUnavailablePreparing: "Hostinger is still preparing this VPS.",
73
+ hostingerUnavailableLocked: "Hostinger is finishing another action on this VPS.",
74
+ hostingerUnavailableState: "Start or repair this VPS in hPanel before continuing.",
75
+ hostingerUnavailableIpv4: "This VPS does not have a usable IPv4 address.",
76
+ hostingerUnavailableTemplate: "The Hostinger Docker template is required for this installation.",
77
+ hostingerRootTitle: "Confirm administrator access",
78
+ hostingerRootBody: "Enter the root password once. After SSH is verified, the password leaves this page and a secure deploy key is installed during setup.",
79
+ rootPasswordForgot: "I don't remember the root password",
80
+ rootResetTitle: "Choose a new root password",
81
+ rootResetBody: "Hostinger can replace the password without asking for the current one.",
82
+ rootResetPasswordLabel: "New root password",
83
+ rootResetConfirmLabel: "Confirm the new root password",
84
+ rootResetGeneratePassword: "Generate strong password",
85
+ 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.",
86
+ rootResetRequirementLength: "At least 12 characters",
87
+ rootResetRequirementUppercase: "At least one uppercase letter",
88
+ rootResetRequirementLowercase: "At least one lowercase letter",
89
+ rootResetRequirementNumber: "At least one number",
90
+ rootResetRequirementSymbol: "At least one allowed symbol: -().&@?'#,/;+",
91
+ rootResetRequirementCharacters: "Only letters, numbers, and allowed symbols",
92
+ rootResetRequirementMatch: "Both password fields match",
93
+ rootResetLeakNote: "Hostinger also rejects passwords found in public leak databases.",
94
+ rootResetReview: "Review password change",
95
+ rootResetConfirmTitle: "Confirm root password change",
96
+ rootResetConfirmBody: "The current root password will stop working for new connections as soon as Hostinger completes this action.",
97
+ rootResetTarget: "This action changes",
98
+ rootResetTypeHostname: "Type the VPS hostname to confirm",
99
+ rootResetNow: "Change root password now",
100
+ rootResetWorking: "Hostinger is updating the VPS…",
101
+ rootResetSuccess: "Root password changed. Testing SSH with the new password…",
102
+ rootResetSshPending: "Hostinger changed the password, but SSH is not accepting it yet. Wait a moment, then test the new password again.",
103
+ rootResetOutcomeUnknown: "Hostinger may still be processing the password change. Do not submit it again; test the new password before retrying.",
104
+ rootResetCancel: "Keep the current password",
105
+ hostingerErrorInvalidInput: "Check the supplied values and try again.",
106
+ hostingerErrorUnauthorized: "Hostinger rejected this token. Create a new token and reconnect.",
107
+ hostingerErrorRateLimited: "Hostinger's request limit was reached. Wait a moment and try again.",
108
+ hostingerErrorUnavailable: "Hostinger is temporarily unavailable. Manual configuration is still available.",
109
+ hostingerErrorInvalidResponse: "Hostinger returned an unexpected response. Try again later or configure the VPS manually.",
110
+ hostingerErrorNotConnected: "Reconnect Hostinger before continuing.",
111
+ 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.",
112
+ hostingerErrorPasswordPolicy: "Hostinger rejected this password. Use only letters, numbers, and these symbols: -().&@?'#,/;+. Also avoid leaked or common passwords.",
113
+ hostingerErrorActionFailed: "Hostinger could not change the root password. Review the VPS in hPanel before retrying.",
114
+ hostingerErrorActionTimeout: "The password change did not finish in time. It may still be processing; test the new password before retrying.",
115
+ hostingerErrorConfirmation: "This confirmation expired or is no longer valid. Review the password change again.",
116
+ hostingerErrorTargetChanged: "The VPS changed after confirmation. Refresh the list and review the target again.",
117
+ hostingerErrorTargetUnavailable: "This VPS cannot be changed right now. Wait for Hostinger to finish its current action.",
118
+ hostingerErrorConflict: "Another installer operation is already running.",
119
+ stepConfigTitle: "Step 2 — Configure your Severino",
120
+ stepConfigBody: "These values configure the model access, the public address, and the channels your agent answers on.",
121
+ domainLabel: "Your domain (for example severino.example.com)",
122
+ hostingerVpsDomainLabel: "Your Hostinger VPS domain",
123
+ hostingerSubdomainLabel: "Subdomain",
124
+ hostingerFinalDomainLabel: "Final Severino address",
125
+ hostingerDomainNote: "Hostinger's wildcard DNS automatically points this subdomain to the selected VPS.",
126
+ hostingerSubdomainInvalid: "Use 1–63 lowercase letters, numbers, or hyphens. The subdomain cannot start or end with a hyphen.",
127
+ dnsCheck: "Check DNS",
128
+ dnsMatch: "The domain points at your server.",
129
+ dnsMismatch: "The domain does not point at your server yet.",
130
+ dnsPending: "DNS has not propagated yet. You can continue and verify later.",
131
+ openRouterLabel: "OpenRouter API key",
132
+ openRouterNote: "Severino talks to DeepSeek V4 Flash through OpenRouter. Set spending limits for this key in the OpenRouter dashboard.",
133
+ routeAuthUsernameLabel: "Terminal username",
134
+ routeAuthPasswordLabel: "Terminal password (at least 8 characters)",
135
+ routeAuthNote: "Needed for eve dev against this VPS. Vercel login (/vc:login) does not work here. After install, run: eve dev https://USER:PASSWORD@your-host",
136
+ routeAuthGenerate: "Generate a password",
137
+ integrationsTitle: "Channels and tools (optional)",
138
+ integrationsBody: "Everything below can stay empty and be filled in later by editing /opt/severino/.env on the server.",
139
+ slackTokenLabel: "Slack bot token",
140
+ slackSigningSecretLabel: "Slack signing secret",
141
+ slackWebhookNote: "Create a new Slack app from the generated manifest below. Do not reuse a Vercel Connect bot token.",
142
+ slackSetupTitle: "Create the Slack app",
143
+ slackSetupBody: "This installer builds a Slack app manifest for your domain. Create a new app — do not edit a Vercel Connect bot.",
144
+ slackSetupCreateApp: "Open Slack app directory",
145
+ slackSetupStep1: "Open api.slack.com/apps → Create New App → From an app manifest → pick your workspace.",
146
+ slackSetupStep2: "Paste the generated YAML and create the app.",
147
+ slackSetupStep3: "OAuth & Permissions → Install to Workspace. Copy the Bot User OAuth Token (starts with xoxb-).",
148
+ slackSetupStep4: "Basic Information → Signing Secret. Copy it into the fields above.",
149
+ slackSetupStep5: "Event Subscriptions will fail URL verification until this install finishes and the container has the new secret. Then click Retry. It must say Verified.",
150
+ slackSetupStep6: "Invite the bot into the channel with /invite @Severino, then mention it.",
151
+ slackSetupManifestLabel: "Slack app manifest for this domain",
152
+ slackSetupCopyManifest: "Copy manifest",
153
+ slackSetupVerifyNote: "The Request URL in the manifest is already https://<domain>/eve/v1/slack. Slack verifies it only after the new signing secret is on the VPS.",
154
+ mcpUrlLabel: "MCP task server URL",
155
+ mcpUrlInvalid: "The MCP server URL must be a valid http(s) address.",
156
+ mcpDescriptionLabel: "One line: what the MCP server's tools do",
157
+ mcpBearerTokenLabel: "MCP server bearer token (leave empty for a server without auth)",
158
+ stepReviewTitle: "Step 3 — Review and install",
159
+ stepReviewBody: "Review the values below, then start the installation.",
160
+ install: "Install",
161
+ integrationSlack: "Slack",
162
+ integrationMcp: "MCP task server",
163
+ enabledLabel: "enabled",
164
+ disabledLabel: "not configured",
165
+ progressTitle: "Installing",
166
+ progressMapLabel: "Installation phases",
167
+ progressPhaseAccess: "Access",
168
+ progressPhaseConfig: "Configure",
169
+ progressPhaseDeploy: "Deploy",
170
+ progressPhaseVerify: "Verify",
171
+ progressGenerateKey: "Create a secure deploy key",
172
+ progressConnectVps: "Connect to the server",
173
+ progressAuthorizeKey: "Install the deploy key on the server",
174
+ progressWriteEnv: "Write the server configuration",
175
+ progressUploadSource: "Upload the project code to the server",
176
+ progressUncommitted: "Warning: changes not yet committed on this computer were not sent; the server builds the latest commit.",
177
+ progressBuildDeploy: "Build and start on the server — this can take several minutes",
178
+ progressVerifyKey: "Confirm the deploy key works",
179
+ progressVerifyAgent: "Verify the agent from the outside",
180
+ progressSaveState: "Save the installer settings on this computer",
181
+ progressFailed: "This step failed",
182
+ progressSkipped: "Skipped",
183
+ progressOpenLogs: "Open the deployment logs",
184
+ installDone: "Your Severino is ready.",
185
+ doneTitle: "All set",
186
+ doneAgentUrl: "Your agent's address",
187
+ doneConnectClient: "Talk to Severino on Slack if you connected it, or open the terminal UI with the command below. /vc:login is only for Vercel.",
188
+ doneClose: "You can close this window. Run npm run installer again anytime.",
189
+ githubActivateTitle: "Automatic deploys (optional)",
190
+ 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.",
191
+ githubGuidePath: "On github.com: your avatar → Settings → Developer settings → Personal access tokens → Fine-grained tokens.",
192
+ githubGuideStep1: "Open the token page with the button below and sign in to GitHub.",
193
+ githubGuideStep2: "Name it severino-installer and set the expiration to 90 days.",
194
+ githubGuideStep3: "Under Resource owner keep your account, and under Repository access choose Only select repositories and pick this repository.",
195
+ githubGuideStep4: "Under Repository permissions set Actions to Read and write, Secrets to Read and write, and Contents to Read-only.",
196
+ githubGuideStep5: "Click Generate token and copy it right away — GitHub shows it only once.",
197
+ githubGuideOpen: "Create the token on GitHub",
198
+ githubTokenLabel: "GitHub access token",
199
+ githubRepositoryDetected: "Repository detected from this folder",
200
+ githubRepositoryManual: "Type the repository as owner/name",
201
+ githubConnect: "Activate automatic deploys",
202
+ githubConnectedNote: "Automatic deploys are active.",
203
+ githubPermissionActions: "Actions: Read and write",
204
+ githubPermissionSecrets: "Secrets: Read and write",
205
+ githubPermissionContents: "Contents: Read-only",
206
+ githubTokenInvalid: "GitHub rejected this token. Create a new one and paste it again.",
207
+ githubPermissionMissing: "This permission is missing on the token",
208
+ dashboardTitle: "Your Severino",
209
+ dashboardHealthCheck: "Verify now",
210
+ heroAllGood: "All good",
211
+ heroChecking: "Checking your server…",
212
+ heroProblem: "Something needs attention",
213
+ heroOnlineBody: "Your Severino is online and answering.",
214
+ heroProblemBody: "The check found a problem — see Connections below.",
215
+ heroLive: "LIVE",
216
+ heroServerOnline: "Server online",
217
+ heroServerOffline: "Server unreachable",
218
+ connectionsTitle: "Connections",
219
+ connServer: "Server",
220
+ connAgent: "Agent",
221
+ connWorkflow: "Workflow",
222
+ connStatusOnline: "Online",
223
+ connStatusWorking: "Working",
224
+ connStatusMounted: "Mounted",
225
+ connStatusFail: "Problem",
226
+ connStatusWait: "Checking",
227
+ viewDiagnostic: "See full diagnostic",
228
+ hideDiagnostic: "Hide diagnostic",
229
+ lastCheckedLabel: "Last check:",
230
+ agoJustNow: "just now",
231
+ heroVersionLabel: "Current version:",
232
+ heroAutoOn: "Automatic updates on",
233
+ heroAutoOff: "Automatic updates off",
234
+ updateAvailable: "New version available",
235
+ updatePublishing: "Publishing…",
236
+ updateFailed: "Last publish failed",
237
+ updateNow: "Update now",
238
+ publishingNote: "Publishing can take a few minutes. This page updates by itself when it finishes.",
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
+ runStatusSuccess: "Success",
248
+ runStatusFailure: "Failed",
249
+ runStatusInProgress: "In progress",
250
+ dashboardRollback: "Restore a previous version",
251
+ dashboardRollbackHint: "Go back to an earlier stable version.",
252
+ dashboardRollbackPick: "Choose an earlier successful version",
253
+ dashboardRollbackApply: "Restore this version",
254
+ 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.",
255
+ rollbackDataNote: "Your data is untouched: conversations and workflow state stay exactly as they are.",
256
+ rollbackWindowNote: "The most recent versions stay available here. To move forward again, just update again.",
257
+ rollbackCurrentTag: "on air now",
258
+ rollbackConfirmTitle: "Restore this version?",
259
+ 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.",
260
+ rollbackConfirmApply: "Yes, restore it",
261
+ dashboardLinkActions: "Deployment history on GitHub",
262
+ helpTitle: "Quick help",
263
+ helpStep1Title: "Copy the agent address",
264
+ helpStep1Body: "Use the button below to copy it.",
265
+ helpStep2Title: "Talk on your channels",
266
+ helpStep2Body: "Create the Slack app from the generated manifest, then mention @Severino in a channel where you invited the bot.",
267
+ helpStep3Title: "Open the terminal UI",
268
+ helpStep3Body: "From any eve project, run: eve dev https://USER:PASSWORD@<agent address>. /vc:login is only for Vercel.",
269
+ helpStep4Title: "Check the connection",
270
+ helpStep4Body: "Confirm the status shows online.",
271
+ agentUrlLabel: "Agent URL",
272
+ actionsTitle: "Actions",
273
+ dashboardDeployLocal: "Upload new version",
274
+ dashboardDeployLocalHint: "Send the latest code from this computer.",
275
+ localConfirmTitle: "Upload the code from this computer?",
276
+ localConfirmBody: "This sends the latest committed code on this computer and rebuilds it on your server.",
277
+ localConfirmUncommitted: "Changes you have not committed yet are not included.",
278
+ localConfirmAuto: "To publish through automatic deploys instead — and have it recorded in the history — merge into main and push.",
279
+ localConfirmApply: "Yes, upload it",
280
+ deployStartedNote: "Started — it takes a few minutes, and this page updates by itself.",
281
+ dashboardReset: "Forget the settings on this computer",
282
+ dashboardResetHint: "Nothing on your server is stopped or deleted; this only clears what the installer saved here.",
283
+ dashboardResetConfirm: "This deletes the saved settings on this computer, including the deploy key and the GitHub token. Your server keeps running. Continue?",
284
+ resetConfirmYes: "Yes, forget the settings",
285
+ dashboardResetFinal: "Last confirmation: the deploy key and the GitHub token stored on this computer will be deleted. Your server keeps running. Continue?",
286
+ footerLine: "Severino AI Coders Academy — Managed infrastructure for developers.",
287
+ terminalRunningAt: "┌─ AI CODERS ACADEMY / SEVERINO\n│\n│ The installer is available at:\n│",
288
+ terminalPressCtrlC: "└─ Press Ctrl+C to stop the installer.",
289
+ terminalStartFailed: "The Severino 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 Severino",
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 coloca o Severino, o seu agente de tarefas, no seu próprio servidor, direto deste computador. Ele pede tudo o que precisa, passo a passo.",
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
+ vpsPasswordLabel: "Senha de root",
335
+ vpsTest: "Testar conexão",
336
+ vpsTestOk: "Conectado ao servidor.",
337
+ vpsUnreachable: "Não foi possível alcançar o servidor. Confira o IP e se o VPS está ligado.",
338
+ vpsTestAgain: "A verificação segura expirou. Teste o servidor novamente antes de instalar.",
339
+ showSecret: "Mostrar",
340
+ hideSecret: "Ocultar",
341
+ vpsMethodLegend: "Como você quer configurar o VPS?",
342
+ vpsMethodHostinger: "Conectar Hostinger",
343
+ vpsMethodHostingerBody: "Encontre o seu VPS e preencha os dados de conexão automaticamente.",
344
+ vpsMethodRecommended: "Recomendado",
345
+ vpsMethodManual: "Informar dados manualmente",
346
+ vpsMethodManualBody: "Use qualquer provedor ou informe uma configuração SSH personalizada.",
347
+ hostingerConnectTitle: "Conecte sua conta Hostinger",
348
+ 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.",
349
+ hostingerTokenLabel: "Token da API Hostinger",
350
+ hostingerTokenOpen: "Criar token no hPanel",
351
+ hostingerTokenSecurity: "O token fica na memória, nunca é gravado nas configurações do instalador e é apagado depois do uso.",
352
+ hostingerFindVps: "Encontrar meus VPSs",
353
+ hostingerConnected: "Hostinger conectada",
354
+ hostingerChangeAccount: "Trocar conta",
355
+ hostingerRefresh: "Atualizar lista",
356
+ hostingerNoVps: "Nenhum VPS foi encontrado nesta conta Hostinger.",
357
+ hostingerPickVps: "Escolha o VPS do seu Severino",
358
+ hostingerVpsId: "ID do VPS",
359
+ hostingerPlan: "Plano",
360
+ hostingerTemplate: "Template",
361
+ hostingerIp: "IPv4",
362
+ hostingerStateRunning: "Pronto",
363
+ hostingerStateUnavailable: "Indisponível",
364
+ hostingerUnavailablePreparing: "A Hostinger ainda está preparando este VPS.",
365
+ hostingerUnavailableLocked: "A Hostinger está finalizando outra ação neste VPS.",
366
+ hostingerUnavailableState: "Ligue ou repare este VPS no hPanel antes de continuar.",
367
+ hostingerUnavailableIpv4: "Este VPS não possui um endereço IPv4 utilizável.",
368
+ hostingerUnavailableTemplate: "Esta instalação exige o template Docker da Hostinger.",
369
+ hostingerRootTitle: "Confirme o acesso de administrador",
370
+ 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.",
371
+ rootPasswordForgot: "Não lembro a senha de root",
372
+ rootResetTitle: "Escolha uma nova senha de root",
373
+ rootResetBody: "A Hostinger pode substituir a senha sem pedir a senha atual.",
374
+ rootResetPasswordLabel: "Nova senha de root",
375
+ rootResetConfirmLabel: "Confirme a nova senha de root",
376
+ rootResetGeneratePassword: "Gerar senha forte",
377
+ 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.",
378
+ rootResetRequirementLength: "Pelo menos 12 caracteres",
379
+ rootResetRequirementUppercase: "Pelo menos uma letra maiúscula",
380
+ rootResetRequirementLowercase: "Pelo menos uma letra minúscula",
381
+ rootResetRequirementNumber: "Pelo menos um número",
382
+ rootResetRequirementSymbol: "Pelo menos um símbolo permitido: -().&@?'#,/;+",
383
+ rootResetRequirementCharacters: "Somente letras, números e símbolos permitidos",
384
+ rootResetRequirementMatch: "Os dois campos de senha são iguais",
385
+ rootResetLeakNote: "A Hostinger também rejeita senhas encontradas em bases públicas de vazamentos.",
386
+ rootResetReview: "Revisar troca de senha",
387
+ rootResetConfirmTitle: "Confirme a troca da senha de root",
388
+ rootResetConfirmBody: "A senha de root atual deixará de funcionar em novas conexões assim que a Hostinger concluir esta ação.",
389
+ rootResetTarget: "Esta ação altera",
390
+ rootResetTypeHostname: "Digite o hostname do VPS para confirmar",
391
+ rootResetNow: "Trocar a senha de root agora",
392
+ rootResetWorking: "A Hostinger está atualizando o VPS…",
393
+ rootResetSuccess: "Senha de root alterada. Testando o SSH com a nova senha…",
394
+ 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.",
395
+ rootResetOutcomeUnknown: "A Hostinger talvez ainda esteja processando a troca. Não envie novamente; teste a nova senha antes de tentar de novo.",
396
+ rootResetCancel: "Manter a senha atual",
397
+ hostingerErrorInvalidInput: "Confira os dados informados e tente novamente.",
398
+ hostingerErrorUnauthorized: "A Hostinger recusou este token. Crie um novo token e reconecte.",
399
+ hostingerErrorRateLimited: "O limite de requisições da Hostinger foi atingido. Aguarde um pouco e tente novamente.",
400
+ hostingerErrorUnavailable: "A Hostinger está temporariamente indisponível. A configuração manual continua disponível.",
401
+ hostingerErrorInvalidResponse: "A Hostinger retornou uma resposta inesperada. Tente mais tarde ou configure o VPS manualmente.",
402
+ hostingerErrorNotConnected: "Reconecte a Hostinger antes de continuar.",
403
+ 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.",
404
+ hostingerErrorPasswordPolicy: "A Hostinger recusou esta senha. Use somente letras, números e estes símbolos: -().&@?'#,/;+. Também evite senhas vazadas ou comuns.",
405
+ hostingerErrorActionFailed: "A Hostinger não conseguiu trocar a senha de root. Confira o VPS no hPanel antes de tentar novamente.",
406
+ hostingerErrorActionTimeout: "A troca de senha não terminou a tempo. Ela pode continuar em processamento; teste a nova senha antes de tentar de novo.",
407
+ hostingerErrorConfirmation: "Esta confirmação expirou ou não é mais válida. Revise a troca de senha novamente.",
408
+ hostingerErrorTargetChanged: "O VPS mudou depois da confirmação. Atualize a lista e revise o destino novamente.",
409
+ hostingerErrorTargetUnavailable: "Este VPS não pode ser alterado agora. Aguarde a Hostinger terminar a ação atual.",
410
+ hostingerErrorConflict: "Outra operação do instalador já está em andamento.",
411
+ stepConfigTitle: "Passo 2 — Configurar o seu Severino",
412
+ stepConfigBody: "Estes valores configuram o acesso ao modelo, o endereço público e os canais em que o seu agente responde.",
413
+ domainLabel: "Seu domínio (por exemplo severino.exemplo.com)",
414
+ hostingerVpsDomainLabel: "Domínio do seu VPS na Hostinger",
415
+ hostingerSubdomainLabel: "Subdomínio",
416
+ hostingerFinalDomainLabel: "Endereço final do Severino",
417
+ hostingerDomainNote: "O DNS curinga da Hostinger aponta este subdomínio automaticamente para o VPS selecionado.",
418
+ 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.",
419
+ dnsCheck: "Verificar DNS",
420
+ dnsMatch: "O domínio aponta para o seu servidor.",
421
+ dnsMismatch: "O domínio ainda não aponta para o seu servidor.",
422
+ dnsPending: "O DNS ainda não propagou. Você pode continuar e verificar depois.",
423
+ openRouterLabel: "Chave de API da OpenRouter",
424
+ openRouterNote: "O Severino conversa com o DeepSeek V4 Flash pela OpenRouter. Configure limites de gasto para esta chave no painel da OpenRouter.",
425
+ routeAuthUsernameLabel: "Usuário do terminal",
426
+ routeAuthPasswordLabel: "Senha do terminal (pelo menos 8 caracteres)",
427
+ routeAuthNote: "Necessário para o eve dev nesta VPS. O login da Vercel (/vc:login) não funciona aqui. Depois da instalação, rode: eve dev https://USUARIO:SENHA@seu-host",
428
+ routeAuthGenerate: "Gerar uma senha",
429
+ integrationsTitle: "Canais e ferramentas (opcional)",
430
+ integrationsBody: "Tudo abaixo pode ficar vazio e ser preenchido depois editando /opt/severino/.env no servidor.",
431
+ slackTokenLabel: "Token do bot do Slack",
432
+ slackSigningSecretLabel: "Signing secret do Slack",
433
+ slackWebhookNote: "Crie um app Slack novo com o manifesto gerado abaixo. Não reutilize um token de bot do Vercel Connect.",
434
+ slackSetupTitle: "Criar o app Slack",
435
+ slackSetupBody: "Este instalador monta o manifesto do app Slack para o seu domínio. Crie um app novo — não edite um bot do Vercel Connect.",
436
+ slackSetupCreateApp: "Abrir a lista de apps Slack",
437
+ slackSetupStep1: "Abra api.slack.com/apps → Create New App → From an app manifest → escolha o workspace.",
438
+ slackSetupStep2: "Cole o YAML gerado e crie o app.",
439
+ slackSetupStep3: "OAuth & Permissions → Install to Workspace. Copie o Bot User OAuth Token (começa com xoxb-).",
440
+ slackSetupStep4: "Basic Information → Signing Secret. Cole nos campos acima.",
441
+ slackSetupStep5: "A verificação da URL em Event Subscriptions falha até esta instalação terminar e o container ter o secret novo. Depois clique Retry. Tem que ficar Verified.",
442
+ slackSetupStep6: "Convide o bot no canal com /invite @Severino e mencione-o.",
443
+ slackSetupManifestLabel: "Manifesto do app Slack para este domínio",
444
+ slackSetupCopyManifest: "Copiar manifesto",
445
+ slackSetupVerifyNote: "A Request URL no manifesto já é https://<domínio>/eve/v1/slack. O Slack só verifica depois que o signing secret novo estiver na VPS.",
446
+ mcpUrlLabel: "URL do servidor MCP de tarefas",
447
+ mcpUrlInvalid: "A URL do servidor MCP precisa ser um endereço http(s) válido.",
448
+ mcpDescriptionLabel: "Uma linha: o que as ferramentas do servidor MCP fazem",
449
+ mcpBearerTokenLabel: "Token bearer do servidor MCP (vazio para um servidor sem autenticação)",
450
+ stepReviewTitle: "Passo 3 — Revisar e instalar",
451
+ stepReviewBody: "Revise os valores abaixo e inicie a instalação.",
452
+ install: "Instalar",
453
+ integrationSlack: "Slack",
454
+ integrationMcp: "Servidor MCP de tarefas",
455
+ enabledLabel: "ativado",
456
+ disabledLabel: "não configurado",
457
+ progressTitle: "Instalando",
458
+ progressMapLabel: "Fases da instalação",
459
+ progressPhaseAccess: "Acesso",
460
+ progressPhaseConfig: "Configurar",
461
+ progressPhaseDeploy: "Deploy",
462
+ progressPhaseVerify: "Verificar",
463
+ progressGenerateKey: "Criar uma chave de deploy segura",
464
+ progressConnectVps: "Conectar ao servidor",
465
+ progressAuthorizeKey: "Instalar a chave de deploy no servidor",
466
+ progressWriteEnv: "Gravar a configuração do servidor",
467
+ progressUploadSource: "Enviar o código do projeto para o servidor",
468
+ progressUncommitted: "Atenção: mudanças ainda não commitadas neste computador não foram enviadas; o servidor constrói o último commit.",
469
+ progressBuildDeploy: "Construir e iniciar no servidor — pode levar vários minutos",
470
+ progressVerifyKey: "Confirmar que a chave de deploy funciona",
471
+ progressVerifyAgent: "Verificar o agente por fora",
472
+ progressSaveState: "Salvar as configurações do instalador neste computador",
473
+ progressFailed: "Este passo falhou",
474
+ progressSkipped: "Pulado",
475
+ progressOpenLogs: "Abrir os logs do deploy",
476
+ installDone: "O seu Severino está pronto.",
477
+ doneTitle: "Tudo pronto",
478
+ doneAgentUrl: "O endereço do seu agente",
479
+ doneConnectClient: "Fale com o Severino pelo Slack se você o conectou, ou abra a interface de terminal com o comando abaixo. /vc:login é só para a Vercel.",
480
+ doneClose: "Pode fechar esta janela. Rode npm run installer de novo quando quiser.",
481
+ githubActivateTitle: "Deploys automáticos (opcional)",
482
+ 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.",
483
+ githubGuidePath: "No github.com: seu avatar → Settings → Developer settings → Personal access tokens → Fine-grained tokens.",
484
+ githubGuideStep1: "Abra a página do token com o botão abaixo e entre no GitHub.",
485
+ githubGuideStep2: "Dê o nome severino-installer e defina a expiração para 90 dias.",
486
+ githubGuideStep3: "Em Resource owner mantenha a sua conta, e em Repository access escolha Only select repositories e selecione este repositório.",
487
+ githubGuideStep4: "Em Repository permissions defina Actions como Read and write, Secrets como Read and write e Contents como Read-only.",
488
+ githubGuideStep5: "Clique em Generate token e copie na hora — o GitHub mostra o token uma única vez.",
489
+ githubGuideOpen: "Criar o token no GitHub",
490
+ githubTokenLabel: "Token de acesso do GitHub",
491
+ githubRepositoryDetected: "Repositório detectado a partir desta pasta",
492
+ githubRepositoryManual: "Digite o repositório como dono/nome",
493
+ githubConnect: "Ativar deploys automáticos",
494
+ githubConnectedNote: "Os deploys automáticos estão ativos.",
495
+ githubPermissionActions: "Actions: Read and write",
496
+ githubPermissionSecrets: "Secrets: Read and write",
497
+ githubPermissionContents: "Contents: Read-only",
498
+ githubTokenInvalid: "O GitHub recusou este token. Crie um novo e cole de novo.",
499
+ githubPermissionMissing: "Esta permissão está faltando no token",
500
+ dashboardTitle: "Seu Severino",
501
+ dashboardHealthCheck: "Verificar agora",
502
+ heroAllGood: "Tudo funcionando",
503
+ heroChecking: "Verificando o seu servidor…",
504
+ heroProblem: "Algo precisa de atenção",
505
+ heroOnlineBody: "Seu Severino está online e respondendo.",
506
+ heroProblemBody: "A verificação encontrou um problema — veja Conexões abaixo.",
507
+ heroLive: "LIVE",
508
+ heroServerOnline: "Servidor online",
509
+ heroServerOffline: "Servidor inacessível",
510
+ connectionsTitle: "Conexões",
511
+ connServer: "Servidor",
512
+ connAgent: "Agente",
513
+ connWorkflow: "Workflow",
514
+ connStatusOnline: "Online",
515
+ connStatusWorking: "Funcionando",
516
+ connStatusMounted: "Montado",
517
+ connStatusFail: "Problema",
518
+ connStatusWait: "Verificando",
519
+ viewDiagnostic: "Ver diagnóstico completo",
520
+ hideDiagnostic: "Ocultar diagnóstico",
521
+ lastCheckedLabel: "Última verificação:",
522
+ agoJustNow: "agora mesmo",
523
+ heroVersionLabel: "Versão atual:",
524
+ heroAutoOn: "Atualizações automáticas ativas",
525
+ heroAutoOff: "Atualizações automáticas desativadas",
526
+ updateAvailable: "Nova versão disponível",
527
+ updatePublishing: "Publicando…",
528
+ updateFailed: "A última publicação falhou",
529
+ updateNow: "Atualizar agora",
530
+ publishingNote: "A publicação pode levar alguns minutos. Esta página atualiza sozinha quando terminar.",
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
+ runStatusSuccess: "Sucesso",
540
+ runStatusFailure: "Falhou",
541
+ runStatusInProgress: "Em andamento",
542
+ dashboardRollback: "Restaurar versão anterior",
543
+ dashboardRollbackHint: "Volte para uma versão estável anterior.",
544
+ dashboardRollbackPick: "Escolha uma versão anterior bem-sucedida",
545
+ dashboardRollbackApply: "Restaurar esta versão",
546
+ 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.",
547
+ rollbackDataNote: "Os seus dados não são tocados: conversas e estado dos workflows continuam exatamente como estão.",
548
+ rollbackWindowNote: "As versões mais recentes ficam disponíveis aqui. Para avançar de novo, é só atualizar de novo.",
549
+ rollbackCurrentTag: "no ar agora",
550
+ rollbackConfirmTitle: "Restaurar esta versão?",
551
+ 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.",
552
+ rollbackConfirmApply: "Sim, restaurar",
553
+ dashboardLinkActions: "Histórico de deploys no GitHub",
554
+ helpTitle: "Ajuda rápida",
555
+ helpStep1Title: "Copie o endereço do agente",
556
+ helpStep1Body: "Use o botão abaixo para copiar.",
557
+ helpStep2Title: "Fale pelos seus canais",
558
+ helpStep2Body: "Crie o app Slack com o manifesto gerado e mencione @Severino num canal em que você convidou o bot.",
559
+ helpStep3Title: "Abra a interface de terminal",
560
+ helpStep3Body: "De qualquer projeto eve, rode: eve dev https://USUARIO:SENHA@<endereço do agente>. /vc:login é só para a Vercel.",
561
+ helpStep4Title: "Verifique a conexão",
562
+ helpStep4Body: "Confirme se o status está online.",
563
+ agentUrlLabel: "URL do agente",
564
+ actionsTitle: "Ações",
565
+ dashboardDeployLocal: "Subir nova versão",
566
+ dashboardDeployLocalHint: "Envie o código mais recente deste computador.",
567
+ localConfirmTitle: "Subir o código deste computador?",
568
+ localConfirmBody: "Isso envia a versão de código mais recente deste computador (o último commit) e reconstrói no seu servidor.",
569
+ localConfirmUncommitted: "Mudanças que você ainda não commitou não vão junto.",
570
+ localConfirmAuto: "Para publicar pelos deploys automáticos — e ficar registrado no histórico — faça merge na main e push.",
571
+ localConfirmApply: "Sim, subir versão",
572
+ deployStartedNote: "Iniciado — leva alguns minutos, e esta página atualiza sozinha.",
573
+ dashboardReset: "Esquecer as configurações deste computador",
574
+ dashboardResetHint: "Nada no seu servidor é desligado ou apagado; isso só limpa o que o instalador salvou aqui.",
575
+ dashboardResetConfirm: "Isto apaga as configurações salvas neste computador, incluindo a chave de deploy e o token do GitHub. O seu servidor continua rodando. Continuar?",
576
+ resetConfirmYes: "Sim, esquecer as configurações",
577
+ dashboardResetFinal: "Última confirmação: a chave de deploy e o token do GitHub guardados neste computador serão apagados. O seu servidor continua rodando. Continuar?",
578
+ footerLine: "Severino AI Coders Academy — Infraestrutura gerenciada para desenvolvedores.",
579
+ terminalRunningAt: "┌─ AI CODERS ACADEMY / SEVERINO\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 Severino.",
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/severino/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>;