vibe-usage-cli 0.0.0-stage → 0.1.1

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 (114) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +275 -2
  3. package/build/cli.js +197 -0
  4. package/build/core/claude-processes.d.ts +51 -0
  5. package/build/core/claude-processes.js +288 -0
  6. package/build/core/claude-profile.d.ts +2 -0
  7. package/build/core/claude-profile.js +146 -0
  8. package/build/core/claude-renew.d.ts +12 -0
  9. package/build/core/claude-renew.js +79 -0
  10. package/build/core/continuity.d.ts +90 -0
  11. package/build/core/continuity.js +1244 -0
  12. package/build/core/diagnostics.d.ts +25 -0
  13. package/build/core/diagnostics.js +229 -0
  14. package/build/core/environment.d.ts +12 -0
  15. package/build/core/environment.js +25 -0
  16. package/build/core/errors.d.ts +23 -0
  17. package/build/core/errors.js +48 -0
  18. package/build/core/files.d.ts +20 -0
  19. package/build/core/files.js +136 -0
  20. package/build/core/glance.d.ts +25 -0
  21. package/build/core/glance.js +107 -0
  22. package/build/core/handover.d.ts +61 -0
  23. package/build/core/handover.js +333 -0
  24. package/build/core/history.d.ts +19 -0
  25. package/build/core/history.js +134 -0
  26. package/build/core/launch.d.ts +78 -0
  27. package/build/core/launch.js +256 -0
  28. package/build/core/measurements.d.ts +11 -0
  29. package/build/core/measurements.js +75 -0
  30. package/build/core/model-families.d.ts +12 -0
  31. package/build/core/model-families.js +61 -0
  32. package/build/core/model.d.ts +32 -0
  33. package/build/core/model.js +86 -0
  34. package/build/core/models.d.ts +25 -0
  35. package/build/core/models.js +164 -0
  36. package/build/core/redact.d.ts +2 -0
  37. package/build/core/redact.js +64 -0
  38. package/build/core/selection.d.ts +65 -0
  39. package/build/core/selection.js +173 -0
  40. package/build/core/service.d.ts +35 -0
  41. package/build/core/service.js +484 -0
  42. package/build/core/sessions.d.ts +87 -0
  43. package/build/core/sessions.js +868 -0
  44. package/build/core/settings.d.ts +16 -0
  45. package/build/core/settings.js +377 -0
  46. package/build/core/tray-icon.d.ts +5 -0
  47. package/build/core/tray-icon.js +91 -0
  48. package/build/core/updater.d.ts +29 -0
  49. package/build/core/updater.js +88 -0
  50. package/build/core/updates.d.ts +5 -0
  51. package/build/core/updates.js +29 -0
  52. package/build/launchers/discover-antigravity.ps1 +68 -0
  53. package/build/launchers/terminal.ps1 +78 -0
  54. package/build/main/main.js +587 -0
  55. package/build/providers/antigravity.d.ts +48 -0
  56. package/build/providers/antigravity.js +463 -0
  57. package/build/providers/claude-keychain.d.ts +13 -0
  58. package/build/providers/claude-keychain.js +42 -0
  59. package/build/providers/claude.d.ts +33 -0
  60. package/build/providers/claude.js +218 -0
  61. package/build/providers/codex.d.ts +21 -0
  62. package/build/providers/codex.js +221 -0
  63. package/build/providers/common.d.ts +63 -0
  64. package/build/providers/common.js +294 -0
  65. package/build/providers/cursor.d.ts +14 -0
  66. package/build/providers/cursor.js +141 -0
  67. package/build/providers/profiles.d.ts +10 -0
  68. package/build/providers/profiles.js +69 -0
  69. package/build/providers/tls-trust.d.ts +7 -0
  70. package/build/providers/tls-trust.js +29 -0
  71. package/build/providers/types.d.ts +19 -0
  72. package/build/providers/types.js +1 -0
  73. package/build/shared/account-state.d.ts +19 -0
  74. package/build/shared/account-state.js +75 -0
  75. package/build/shared/catalog.d.ts +85 -0
  76. package/build/shared/catalog.js +125 -0
  77. package/build/shared/format.d.ts +40 -0
  78. package/build/shared/format.js +134 -0
  79. package/build/shared/i18n/index.d.ts +12 -0
  80. package/build/shared/i18n/index.js +40 -0
  81. package/build/shared/i18n/locales/de.d.ts +2 -0
  82. package/build/shared/i18n/locales/de.js +328 -0
  83. package/build/shared/i18n/locales/en.d.ts +328 -0
  84. package/build/shared/i18n/locales/en.js +330 -0
  85. package/build/shared/i18n/locales/es.d.ts +2 -0
  86. package/build/shared/i18n/locales/es.js +328 -0
  87. package/build/shared/i18n/locales/fr.d.ts +2 -0
  88. package/build/shared/i18n/locales/fr.js +328 -0
  89. package/build/shared/i18n/locales/it.d.ts +2 -0
  90. package/build/shared/i18n/locales/it.js +327 -0
  91. package/build/shared/i18n/locales/ja.d.ts +2 -0
  92. package/build/shared/i18n/locales/ja.js +322 -0
  93. package/build/shared/i18n/locales/ko.d.ts +2 -0
  94. package/build/shared/i18n/locales/ko.js +322 -0
  95. package/build/shared/i18n/locales/nl.d.ts +2 -0
  96. package/build/shared/i18n/locales/nl.js +327 -0
  97. package/build/shared/i18n/locales/pl.d.ts +2 -0
  98. package/build/shared/i18n/locales/pl.js +332 -0
  99. package/build/shared/i18n/locales/pt.d.ts +2 -0
  100. package/build/shared/i18n/locales/pt.js +328 -0
  101. package/build/shared/i18n/locales/ru.d.ts +2 -0
  102. package/build/shared/i18n/locales/ru.js +331 -0
  103. package/build/shared/i18n/locales/tr.d.ts +2 -0
  104. package/build/shared/i18n/locales/tr.js +322 -0
  105. package/build/shared/i18n/locales/zh.d.ts +2 -0
  106. package/build/shared/i18n/locales/zh.js +322 -0
  107. package/build/shared/i18n/messages.d.ts +10 -0
  108. package/build/shared/i18n/messages.js +1 -0
  109. package/build/shared/ipc.d.ts +138 -0
  110. package/build/shared/ipc.js +2 -0
  111. package/build/shared/tsconfig.tsbuildinfo +1 -0
  112. package/build/shared/types.d.ts +205 -0
  113. package/build/shared/types.js +1 -0
  114. package/package.json +144 -4
@@ -0,0 +1,330 @@
1
+ // The reference language: every other locale defines exactly these keys.
2
+ export const en = {
3
+ name: 'English',
4
+ liveTracker: 'Live Tracker',
5
+ pinWindow: 'Pin window',
6
+ settings: 'Settings',
7
+ hideToTray: 'Hide to tray',
8
+ preparingAccounts: 'Preparing accounts…',
9
+ readingQuotas: 'Reading quotas…',
10
+ servicesOnDevice_one: '{n} service · this device',
11
+ servicesOnDevice_other: '{n} services · this device',
12
+ smartLaunch: '⚡️ Smart Launch',
13
+ smartLaunchTitle: '⚡️ Smart Launch Briefing',
14
+ handover: '🔄 Handover',
15
+ handoverTitle: '🔄 Handover Task',
16
+ refreshQuotas: 'Refresh quotas',
17
+ safeLocalNote: 'Data is read securely from local sessions on this device.',
18
+ menuBar: 'macOS · menu bar',
19
+ systemTray: 'Windows · system tray',
20
+ autoRefresh: 'Auto refresh · {time}',
21
+ live: '● Live',
22
+ reading: 'Reading…',
23
+ refreshFailed: 'Refresh failed',
24
+ noSession: 'No session',
25
+ justNow: 'just now',
26
+ resetsAt: 'resets {date}',
27
+ totalQuotaDesc: 'Combined overall quota for Auto and API scopes',
28
+ launchClaudeBtn: 'Launch Claude Code with this account ↗',
29
+ launchAppBtn: 'Launch App ↗',
30
+ loginProviderBtn: 'Log in with {name} ↗',
31
+ launchAccountBtn: 'Launch {name} ↗',
32
+ signInAccountBtn: 'Sign in: {name} ↗',
33
+ spendingDetails: 'Spending and usage details',
34
+ suggestionContinueBtn: 'Continue ↗',
35
+ suggestionReturnBtn: 'Bring it back ↗',
36
+ noticeLowBody: '{quota} left. Continue with {target}?',
37
+ noticeReturnBody: 'Has quota again. Bring your work back?',
38
+ noticeContinuedBody: 'Ran out. Your work continues with {target} in {project}.',
39
+ noticeReturnedBody: '{project} is back on {target}, which has quota again.',
40
+ noticeStrandedBody: 'Ran out, and no other account or tool has verified quota.',
41
+ noticeFailedBody: 'Ran out, but the work could not be moved: {reason}',
42
+ noticeReturnFailedBody: 'Has quota again, but the work could not be brought back: {reason}',
43
+ suggestionLowTitle: '{name}: {quota} left',
44
+ suggestionLowBody: 'Continue {project} with {target}',
45
+ suggestionReturnTitle: '{name} has quota again',
46
+ suggestionReturnBody: 'Bring {project} back here',
47
+ dismissSuggestion: 'Dismiss',
48
+ continuedResumed: 'The session continues with {target} in a new terminal window.',
49
+ forecastRunsOut: 'Runs out in ~{time} at this pace',
50
+ historyTitle: 'Last 7 days',
51
+ historyEmpty: 'No history yet. It builds up while the app runs.',
52
+ updateAvailable: 'Version {version} is available',
53
+ updateOpen: 'Open the release ↗',
54
+ autoContinueTitle: 'When a limit runs out',
55
+ autoContinueSubtitle: 'When an agent stops because its account hit the usage limit, its session can continue on the account with the most room left. A Claude Code session moves to your other Claude account whole and goes on by itself; other tools get a handover brief. An account whose Claude Code sign-in expired while idle is renewed first by Claude Code itself, with one tiny request.',
56
+ warnSessionRunning: 'This session was written moments ago, so its agent is probably still running in its terminal. Continuing it elsewhere as well would have two agents editing the same files. Stop it there first, or continue anyway.',
57
+ autoContinueOff: 'Only suggest it',
58
+ autoContinueAccounts: "Continue with the tool's other accounts",
59
+ autoContinueTools: 'Then also with the other tools, in fallback order',
60
+ returnToPrimaryTitle: 'When the main account has quota again',
61
+ returnToPrimarySubtitle: "Work moved off a tool's main account (★) can go back to it. On its own, a session waits until it sits idle and its background commands have finished, then goes on in the same tab.",
62
+ returnToPrimaryOff: 'Leave it where it is',
63
+ returnToPrimaryAsk: 'Suggest bringing it back',
64
+ returnToPrimaryAuto: 'Bring it back on its own',
65
+ reopenAfterRestartTitle: 'When the computer goes down',
66
+ reopenAfterRestartSubtitle: 'Claude Code sessions that were open when the computer went down (a restart, a crash, a power cut) can open again where they left off, on the account they belong to; a turn that was cut off goes on. Sessions you closed, or closed while the app was quit, stay closed.',
67
+ reopenAfterRestartOff: 'Leave them closed',
68
+ reopenAfterRestartAsk: 'Suggest reopening them',
69
+ reopenAfterRestartAuto: 'Reopen them on their own',
70
+ suggestionReopenBtn: 'Reopen ↗',
71
+ noticeReopenBody: 'A session was open when the computer went down. Reopen it?',
72
+ noticeReopenedBody: '{project} is open again on {target}, where it left off.',
73
+ noticeReopenFailedBody: 'A session cut off when the computer went down could not be reopened: {reason}',
74
+ suggestionReopenTitle: '{name}: open before the computer went down',
75
+ suggestionReopenBody: 'Reopen {project} on {target}',
76
+ checkUpdatesLabel: 'Check GitHub for new versions',
77
+ compactView: 'Compact view',
78
+ fullView: 'Full view',
79
+ compactReading: 'Reading…',
80
+ compactWaiting: 'Waiting to retry',
81
+ compactSignIn: 'Sign in',
82
+ compactOpenApp: 'Open the app',
83
+ compactNoLimits: 'No limits',
84
+ compactNoData: 'No data',
85
+ noDataYet: 'No usage data received yet.',
86
+ status_no_accounts: 'No connected accounts found.',
87
+ settingsTitle: 'Settings',
88
+ closeSettings: 'Close settings',
89
+ languageLabel: '🌐 Language',
90
+ generalTitle: 'General',
91
+ openAtLogin: 'Open at login',
92
+ quotaNotifications: 'Notify me when a limit drops to {n} or becomes available again',
93
+ compareAccounts: "Show a tool's accounts side by side instead of a picker",
94
+ quotaAvailableAgain: 'Available again',
95
+ homeOrderTitle: 'Home Order',
96
+ homeOrderSubtitle: 'The order tools appear in on the main window and in the tray. Fallback priority below is separate.',
97
+ moveUp: 'Move {name} up',
98
+ moveDown: 'Move {name} down',
99
+ fallbackPriorityTitle: 'Fallback Priority',
100
+ fallbackPrioritySubtitle: 'Providers that take over sequentially when primary quota is exhausted (all 4 AI tools included):',
101
+ slotLabel: '{n}. Account / Tool',
102
+ preferredModelsTitle: 'Preferred Default Models (Dynamic)',
103
+ preferredModelsSubtitle: 'Models selected during handover or smart launch:',
104
+ refreshIntervalTitle: 'Refresh Interval',
105
+ connectedAccountsTitle: 'Connected Accounts',
106
+ accountCount_one: '{n} account',
107
+ accountCount_other: '{n} accounts',
108
+ primaryAccount: 'Primary account',
109
+ secondaryAccount: 'Secondary account',
110
+ removeAccount: '✕ Remove',
111
+ accountLabelPlaceholder: 'Account label',
112
+ addAccountBtn: '+ Add {tool} account',
113
+ restoreAccountsBtn: 'Restore accounts ({n})',
114
+ settingsHelp: 'Initial login for each account is done in a separate profile. The 1st priority tool leads smart launch.',
115
+ confirmRemoveAccount: 'Are you sure you want to remove account "{label}" from the widget? (You can restore it anytime in Settings)',
116
+ handoverDesc: 'Compiles current session terminal/project logs, git status, and modified files to hand over to the selected AI tool.',
117
+ sourceProvider: 'Source Provider',
118
+ autoDetectSession: 'All tools',
119
+ targetProvider: 'Target Provider',
120
+ targetModel: 'Target Model',
121
+ handoverNote: 'Target tool will be launched after writing VIBE_HANDOVER.md briefing to selected project directory.',
122
+ cancel: 'Cancel',
123
+ slRecommendedTool: 'Recommended Tool:',
124
+ slQuotaStatus: 'Quota Status:',
125
+ slSelectedModel: 'Selected Model:',
126
+ slSmartDecision: 'Smart Decision:',
127
+ selectProjectAndLaunch: 'Select Project & Launch ↗',
128
+ labelWeekly: 'Weekly',
129
+ labelNHours_one: '{n} hour',
130
+ labelNHours_other: '{n} hours',
131
+ labelNMins_one: '{n} minute',
132
+ labelNMins_other: '{n} minutes',
133
+ labelAutoScope: 'Auto scope',
134
+ labelApiScope: 'API scope',
135
+ labelTotalUsage: 'Total usage',
136
+ labelIncludedSpend: 'Included usage · spend',
137
+ labelOnDemandSpend: 'On-demand usage',
138
+ labelTeam: 'Team',
139
+ labelNoPeriodReported: 'No period reported',
140
+ cursorApiLimitNote: 'This limit does not mean the account is exhausted on all models.',
141
+ passiveSource: 'Passive at source',
142
+ passiveSourceDetail: 'Passive at source; model access not verified',
143
+ noData: 'No data',
144
+ notMeasuredYet: 'Not measured yet',
145
+ measurementTimeUnknown: 'Measurement time unknown',
146
+ accountA: 'Account A',
147
+ accountB: 'Account B',
148
+ defaultAccount: 'Current account',
149
+ newAccount: 'New account',
150
+ amountNotReported: 'Amount not reported',
151
+ disabled: 'Disabled',
152
+ projectDirectory: 'Project Directory',
153
+ browseFolder: 'Browse…',
154
+ sessionToHandover: 'Session / Task to Handover',
155
+ mostRecentSession: 'Most recent session',
156
+ noSessionsFound: 'No previous sessions found in this folder',
157
+ executeHandoverBtn: 'Transfer Task ↗',
158
+ percentRemaining: '{n} remaining',
159
+ resetsIn: 'resets in {time}',
160
+ resetsNow: 'resetting now',
161
+ labelNDays_one: '{n} day',
162
+ labelNDays_other: '{n} days',
163
+ labelOverallSpend: 'Overall usage',
164
+ labelPooledSpend: 'Pooled usage',
165
+ amountLeft: '{n} left',
166
+ amountUsed: 'Used: {n}',
167
+ amountLimit: 'Limit: {n}',
168
+ amountRemaining: 'Remaining: {n}',
169
+ amountBonus: 'Bonus: {n}',
170
+ staleWindowDetail: 'Previous measurement; not reported in the latest response.',
171
+ antigravitySourceNote: 'Source: local Antigravity service',
172
+ modelQuotaNoPeriod: 'Model quota; period not reported by source',
173
+ status_auth_missing: 'No sign-in found on this device.',
174
+ status_auth_expired: 'Session expired; sign in again with the provider.',
175
+ status_auth_invalid: 'The saved session could not be read.',
176
+ status_auth_rejected: 'The provider rejected the session.',
177
+ status_rate_limited: 'Rate limited; waiting before retrying.',
178
+ status_app_closed: 'Open the Antigravity app to read quota.',
179
+ status_unsupported_platform: 'This data source is not supported on this OS yet.',
180
+ status_unsupported_profile: "This profile's credential store is not supported yet.",
181
+ status_keychain_unavailable: 'Could not read the Keychain entry.',
182
+ status_binary_missing: 'The required local app or CLI was not found.',
183
+ status_transport_error: 'Could not reach the provider.',
184
+ status_local_service_unavailable: 'Could not reach the local Antigravity service.',
185
+ status_tls_certificate_error: 'TLS certificate could not be verified. Check network and system certificate trust.',
186
+ status_trust_store_unavailable: 'Could not read the OS certificate store. Check the installation and Node.js version.',
187
+ status_no_limits_reported: 'No active quota limit is reported for this account.',
188
+ status_invalid_response: 'Quota data could not be parsed or the response was empty.',
189
+ status_request_timeout: 'The request timed out.',
190
+ status_provider_failed: 'Usage data could not be read. Will retry on the next refresh.',
191
+ status_response_too_large: 'The provider sent more data than expected, so it was not read.',
192
+ status_http_rejected: 'The provider answered with an error. Will retry on the next refresh.',
193
+ status_endpoint_not_allowed: 'The request went to an address the app does not trust, so it was stopped.',
194
+ status_invalid_binary: 'The configured CLI path is not a valid program.',
195
+ status_process_failed: 'The local CLI ended with an error.',
196
+ status_process_timeout: 'The local CLI did not answer in time.',
197
+ status_rpc_error: 'The Codex app server answered with an error.',
198
+ status_rpc_timeout: 'The Codex app server did not answer in time.',
199
+ status_server_closed: 'The Codex app server closed unexpectedly.',
200
+ signInOpened: 'Opened {tool} sign-in. Quota refreshes shortly.',
201
+ launchedTerminal: '{tool} started in a new terminal window.',
202
+ launchedApp: '{tool} opened.',
203
+ handoverTerminal: 'Task handed over to {tool} in a new terminal window.',
204
+ handoverApp: '{tool} opened with the project. The brief is in VIBE_HANDOVER.md; start the task from the app.',
205
+ toolDefault: 'Default',
206
+ turnsCount_one: '{n} turn',
207
+ turnsCount_other: '{n} turns',
208
+ reasonPrimary: 'Highest-priority tool with verified quota.',
209
+ reasonFallback: 'Tools earlier in your order have no verified quota left.',
210
+ reasonUnverified: 'No tool has verified quota; the first tool in your order was chosen.',
211
+ quotaUnverified: 'Not verified',
212
+ percentUsed: '{n} used',
213
+ agoTime: '{time} ago',
214
+ staleAge: 'Stale data · {age}',
215
+ trayOpen: 'Open Vibe Usage',
216
+ trayRefresh: 'Refresh quotas',
217
+ trayQuit: 'Quit',
218
+ launchAnyway: 'Launch',
219
+ launchWarningTitle: 'Before starting Claude Code',
220
+ cliWatchFooter: 'Ctrl+C closes this view. Open IDE accounts are not changed.',
221
+ cliHelp: 'Vibe Usage: AI subscription usage\n status [--json]\n watch\n run <claude|codex|cursor> [--account ID] [--cwd PATH] [--model MODEL] [--dry-run]\n handover [--from PROVIDER] [--to PROVIDER] [--session ID] [--cwd PATH]',
222
+ startupFailed: 'Vibe Usage could not start. Check the settings folder and the installation.',
223
+ warnSettingsEnvOverride: '{file} sets environment variables that can override the selected profile or billing.',
224
+ warnApiKeyHelper: '{file} defines apiKeyHelper, which can override the selected profile.',
225
+ warnQuotaUnverified: 'Not every relevant limit of this account could be verified; choosing it does not guarantee quota.',
226
+ warnQuotaExhausted: 'A relevant limit of this account is used up; Claude Code may stop requests.',
227
+ chooseProjectFolder: 'Choose the project folder',
228
+ error_unexpected: 'Something went wrong. Check the session and connection, then try again.',
229
+ error_account_not_found: 'Account not found.',
230
+ error_invalid_provider: 'Unknown tool.',
231
+ error_invalid_argument: 'Invalid argument.',
232
+ error_folder_not_found: 'The folder does not exist.',
233
+ error_file_not_found: 'The file does not exist.',
234
+ error_invalid_path: 'The folder path is not valid.',
235
+ error_invalid_settings: 'These settings are not valid.',
236
+ error_session_not_found: 'The selected session was not found.',
237
+ error_suggestion_expired: 'This suggestion is no longer available.',
238
+ error_session_newer_elsewhere: 'This session went on in the other account after this copy was made, so it was not moved back over the newer one.',
239
+ error_session_still_running: "The session's previous process could not be stopped, so it was not started a second time. Close it there, then try again.",
240
+ error_process_unknown: "Whether the session's process is still running could not be told, so it was left where it is. Try again.",
241
+ error_not_picked_up: 'The session was started on the other account but never seen running there. Open it there yourself, or retry.',
242
+ error_bypass_not_consented: 'This session skips permission prompts, and that account has not agreed to that. It was not moved; agree there first, or change the session’s mode.',
243
+ error_session_unsaved: "This session's conversation since it last moved is not saved to disk, so it was not moved: it would be lost. It goes on where it is.",
244
+ error_launch_failed: 'The terminal could not be opened.',
245
+ error_app_not_found: '{app} is not installed in its default location.',
246
+ error_sender_rejected: 'Request rejected.',
247
+ error_no_verified_quota: 'No account with verified quota. Choose one with --account.',
248
+ error_no_cli: '{tool} has no command-line tool.',
249
+ error_unknown_command: 'Unknown command. Use --help.',
250
+ untitledSession: 'Untitled session {id}',
251
+ close: 'Close',
252
+ lowQuotaLabel: 'Low quota at',
253
+ quietHoursLabel: 'Quiet hours: no notifications',
254
+ quietHoursFrom: 'From',
255
+ quietHoursTo: 'Until',
256
+ quietHoursHelp: 'Notifications are skipped during quiet hours, not saved for later. Quota is still read, work still continues, and suggestions wait in the window.',
257
+ projectPreferencesTitle: 'Project preferences',
258
+ projectPreferencesSubtitle: 'Choose the tool, model, account and automatic continuation for one project. They narrow the choice; work still needs verified quota.',
259
+ projectPreferencesEmpty: 'No project has its own preferences.',
260
+ addProject: '+ Add a project',
261
+ removeProject: 'Remove',
262
+ projectTool: 'Tool',
263
+ projectModel: 'Model',
264
+ projectAccount: 'Account',
265
+ projectAutoContinue: 'Continue automatically',
266
+ projectAnyTool: 'Any tool',
267
+ projectAnyAccount: 'Any account',
268
+ projectMissingAccount: 'Removed account',
269
+ projectAutoInherit: 'As in the global setting',
270
+ maintenanceTitle: 'History, diagnostics and backup',
271
+ transitionsTitle: 'Handover history',
272
+ transitionsDesc: 'Work moved between accounts and tools, newest first. Only folders, tools and outcomes are kept, never conversation text.',
273
+ transitionsEmpty: 'Nothing has been handed over yet.',
274
+ transitionOffered: 'Offered',
275
+ transitionDispatching: 'Starting',
276
+ transitionDispatched: 'Started',
277
+ transitionFailed: 'Failed',
278
+ transitionInterrupted: 'Interrupted: check before trying again',
279
+ transitionDismissed: 'Dismissed',
280
+ retryTransition: 'Try again',
281
+ diagnosticsTitle: 'Diagnostics',
282
+ diagnosticsDesc: 'What the app can see of each tool, and the next step where something is wrong. The report leaves out names, addresses and folders.',
283
+ installedYes: 'Installed',
284
+ installedNo: 'Not installed',
285
+ installedUnknown: 'Installation unknown',
286
+ accountOrdinal: 'Account {n}',
287
+ accountDisabled: 'off',
288
+ nextStep: 'Next step',
289
+ copyReport: 'Copy report',
290
+ exportReport: 'Save report…',
291
+ exportDiagnostics: 'Save the diagnostics report',
292
+ reportCopied: 'Report copied.',
293
+ reportSaved: 'Report saved.',
294
+ remedyInstallTool: 'Install the tool, then refresh.',
295
+ remedyInstallCli: 'Install the tool’s command-line tool, or check where it is installed.',
296
+ remedySignIn: 'Sign in again with the tool, then refresh.',
297
+ remedyOpenApp: 'Open the app, then refresh.',
298
+ remedyUnlockKeychain: 'Unlock the Keychain and allow access when asked, then refresh.',
299
+ remedyWaitRateLimit: 'Wait a few minutes; the provider is limiting requests.',
300
+ remedyCheckNetwork: 'Check the internet connection, proxy or VPN, then refresh.',
301
+ remedyCheckCertificates: 'Check the system’s certificate trust and any TLS-inspecting proxy, then refresh.',
302
+ remedyNotSupported: 'Reading this account is not supported on this system yet.',
303
+ remedyAddAccount: 'Sign in with the tool or add an account in Settings.',
304
+ remedyWaitForRefresh: 'Wait for the current reading to finish.',
305
+ remedyUpdateTool: 'Update the tool to its latest version, then refresh.',
306
+ remedyRetryLater: 'Refresh again later; if it keeps failing, report an issue with this report.',
307
+ remedyReportIssue: 'This looks like a Vibe Usage bug; report an issue with this report.',
308
+ exportSettings: 'Export settings…',
309
+ importSettings: 'Import settings…',
310
+ resetSettings: 'Reset settings',
311
+ resetSettingsConfirm: 'Reset every setting to its default? Accounts found on this computer are added again; names, order and project preferences are lost.',
312
+ exportSettingsNote: 'An export holds no sign-in or token. Account folders and project paths belong to this computer and may not exist on another.',
313
+ settingsExported: 'Settings exported.',
314
+ settingsImported: 'Settings imported.',
315
+ settingsNoticeRecovered: 'The settings file was damaged; the last good copy was restored. The damaged file is kept beside it.',
316
+ settingsNoticeUnrecoverable: 'The settings file is damaged and has no good copy. Defaults are in use and nothing is saved until you reset or import in Settings.',
317
+ settingsNoticeFuture: 'The settings were saved by a newer version of the app. Defaults are in use and the file is left untouched; update the app to use them.',
318
+ error_settings_locked: 'Settings cannot be saved until they are reset or imported in Settings.',
319
+ previewBrief: 'Preview brief',
320
+ previewSummary: 'From {from} to {to}. Nothing is written or started until you hand over.',
321
+ updateDownload: 'Download',
322
+ updateDownloading: 'Downloading {n}',
323
+ updateRestart: 'Restart to update',
324
+ updateRetry: 'Download failed · Retry',
325
+ updateUnsupportedPortable: 'This portable copy cannot update itself; download the new version, or use the installer to get updates in the app.',
326
+ updateUnsupportedUnsigned: 'Only a signed copy can update itself; download the new version from the release page.',
327
+ updateUnsupportedUnpackaged: 'A development build updates from the repository.',
328
+ updateUnsupportedPlatform: 'Download the new version from the release page.'
329
+ // Every code the app reports has its message: an app error as error_<code>, a status as status_<code>.
330
+ };
@@ -0,0 +1,2 @@
1
+ import type { Messages } from '../messages.ts';
2
+ export declare const es: Messages;