@vertaaux/cli 0.3.3 → 0.5.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 (227) hide show
  1. package/CHANGELOG.md +97 -0
  2. package/MIGRATION.md +239 -0
  3. package/README.md +34 -16
  4. package/dist/app/interactive-app.d.ts +101 -0
  5. package/dist/app/interactive-app.d.ts.map +1 -0
  6. package/dist/app/interactive-app.js +309 -0
  7. package/dist/app/layout/canvas.d.ts +23 -0
  8. package/dist/app/layout/canvas.d.ts.map +1 -0
  9. package/dist/app/layout/canvas.js +36 -0
  10. package/dist/app/layout/footer.d.ts +31 -0
  11. package/dist/app/layout/footer.d.ts.map +1 -0
  12. package/dist/app/layout/footer.js +41 -0
  13. package/dist/app/layout/header.d.ts +20 -0
  14. package/dist/app/layout/header.d.ts.map +1 -0
  15. package/dist/app/layout/header.js +27 -0
  16. package/dist/app/menu/categories.d.ts +20 -0
  17. package/dist/app/menu/categories.d.ts.map +1 -0
  18. package/dist/app/menu/categories.js +181 -0
  19. package/dist/app/menu/filter.d.ts +17 -0
  20. package/dist/app/menu/filter.d.ts.map +1 -0
  21. package/dist/app/menu/filter.js +33 -0
  22. package/dist/app/menu/menu-view.d.ts +35 -0
  23. package/dist/app/menu/menu-view.d.ts.map +1 -0
  24. package/dist/app/menu/menu-view.js +230 -0
  25. package/dist/app/menu/recent.d.ts +24 -0
  26. package/dist/app/menu/recent.d.ts.map +1 -0
  27. package/dist/app/menu/recent.js +49 -0
  28. package/dist/app/types.d.ts +43 -0
  29. package/dist/app/types.d.ts.map +1 -0
  30. package/dist/app/types.js +7 -0
  31. package/dist/app/views/command-runner.d.ts +36 -0
  32. package/dist/app/views/command-runner.d.ts.map +1 -0
  33. package/dist/app/views/command-runner.js +372 -0
  34. package/dist/app/views/help-overlay.d.ts +21 -0
  35. package/dist/app/views/help-overlay.d.ts.map +1 -0
  36. package/dist/app/views/help-overlay.js +45 -0
  37. package/dist/auth/ci-token.d.ts +14 -2
  38. package/dist/auth/ci-token.d.ts.map +1 -1
  39. package/dist/auth/ci-token.js +15 -30
  40. package/dist/auth/device-flow.d.ts +2 -1
  41. package/dist/auth/device-flow.d.ts.map +1 -1
  42. package/dist/auth/device-flow.js +13 -10
  43. package/dist/auth/token-store.d.ts.map +1 -1
  44. package/dist/auth/token-store.js +12 -2
  45. package/dist/baseline/diff.d.ts +2 -2
  46. package/dist/baseline/diff.d.ts.map +1 -1
  47. package/dist/baseline/diff.js +15 -34
  48. package/dist/commands/a11y.d.ts +9 -0
  49. package/dist/commands/a11y.d.ts.map +1 -0
  50. package/dist/commands/a11y.js +76 -0
  51. package/dist/commands/audit/artifacts.d.ts +27 -0
  52. package/dist/commands/audit/artifacts.d.ts.map +1 -0
  53. package/dist/commands/audit/artifacts.js +158 -0
  54. package/dist/commands/audit/ci-detection.d.ts +18 -0
  55. package/dist/commands/audit/ci-detection.d.ts.map +1 -0
  56. package/dist/commands/audit/ci-detection.js +71 -0
  57. package/dist/commands/audit/explain.d.ts +11 -0
  58. package/dist/commands/audit/explain.d.ts.map +1 -0
  59. package/dist/commands/audit/explain.js +45 -0
  60. package/dist/commands/audit/filters.d.ts +17 -0
  61. package/dist/commands/audit/filters.d.ts.map +1 -0
  62. package/dist/commands/audit/filters.js +40 -0
  63. package/dist/commands/audit/index.d.ts +18 -0
  64. package/dist/commands/audit/index.d.ts.map +1 -0
  65. package/dist/commands/audit/index.js +564 -0
  66. package/dist/commands/audit/output.d.ts +32 -0
  67. package/dist/commands/audit/output.d.ts.map +1 -0
  68. package/dist/commands/audit/output.js +130 -0
  69. package/dist/commands/audit/policy.d.ts +19 -0
  70. package/dist/commands/audit/policy.d.ts.map +1 -0
  71. package/dist/commands/audit/policy.js +102 -0
  72. package/dist/commands/audit/scoring.d.ts +23 -0
  73. package/dist/commands/audit/scoring.d.ts.map +1 -0
  74. package/dist/commands/audit/scoring.js +70 -0
  75. package/dist/commands/audit/types.d.ts +88 -0
  76. package/dist/commands/audit/types.d.ts.map +1 -0
  77. package/dist/commands/audit/types.js +8 -0
  78. package/dist/commands/audit.d.ts +2 -60
  79. package/dist/commands/audit.d.ts.map +1 -1
  80. package/dist/commands/audit.js +2 -1038
  81. package/dist/commands/baseline.d.ts +1 -0
  82. package/dist/commands/baseline.d.ts.map +1 -1
  83. package/dist/commands/baseline.js +205 -121
  84. package/dist/commands/comment.d.ts +22 -0
  85. package/dist/commands/comment.d.ts.map +1 -1
  86. package/dist/commands/comment.js +122 -58
  87. package/dist/commands/compare.d.ts +17 -0
  88. package/dist/commands/compare.d.ts.map +1 -1
  89. package/dist/commands/compare.js +287 -180
  90. package/dist/commands/diff.d.ts +5 -0
  91. package/dist/commands/diff.d.ts.map +1 -1
  92. package/dist/commands/diff.js +168 -141
  93. package/dist/commands/doc.d.ts +10 -0
  94. package/dist/commands/doc.d.ts.map +1 -1
  95. package/dist/commands/doc.js +134 -76
  96. package/dist/commands/doctor.d.ts +2 -0
  97. package/dist/commands/doctor.d.ts.map +1 -1
  98. package/dist/commands/doctor.js +164 -17
  99. package/dist/commands/download.d.ts +10 -0
  100. package/dist/commands/download.d.ts.map +1 -1
  101. package/dist/commands/download.js +169 -112
  102. package/dist/commands/explain.d.ts +5 -0
  103. package/dist/commands/explain.d.ts.map +1 -1
  104. package/dist/commands/explain.js +241 -155
  105. package/dist/commands/fix-all.d.ts +25 -0
  106. package/dist/commands/fix-all.d.ts.map +1 -0
  107. package/dist/commands/fix-all.js +206 -0
  108. package/dist/commands/fix-plan.d.ts +9 -0
  109. package/dist/commands/fix-plan.d.ts.map +1 -1
  110. package/dist/commands/fix-plan.js +152 -89
  111. package/dist/commands/fix.d.ts +17 -0
  112. package/dist/commands/fix.d.ts.map +1 -0
  113. package/dist/commands/fix.js +111 -0
  114. package/dist/commands/init.d.ts +11 -0
  115. package/dist/commands/init.d.ts.map +1 -1
  116. package/dist/commands/init.js +94 -42
  117. package/dist/commands/login.d.ts +18 -0
  118. package/dist/commands/login.d.ts.map +1 -1
  119. package/dist/commands/login.js +268 -95
  120. package/dist/commands/patch-review.d.ts +11 -0
  121. package/dist/commands/patch-review.d.ts.map +1 -1
  122. package/dist/commands/patch-review.js +159 -97
  123. package/dist/commands/policy.d.ts +31 -0
  124. package/dist/commands/policy.d.ts.map +1 -1
  125. package/dist/commands/policy.js +269 -124
  126. package/dist/commands/release-notes.d.ts +10 -0
  127. package/dist/commands/release-notes.d.ts.map +1 -1
  128. package/dist/commands/release-notes.js +127 -73
  129. package/dist/commands/scan.d.ts +13 -0
  130. package/dist/commands/scan.d.ts.map +1 -0
  131. package/dist/commands/scan.js +133 -0
  132. package/dist/commands/status.d.ts +9 -0
  133. package/dist/commands/status.d.ts.map +1 -0
  134. package/dist/commands/status.js +81 -0
  135. package/dist/commands/suggest.d.ts +10 -0
  136. package/dist/commands/suggest.d.ts.map +1 -1
  137. package/dist/commands/suggest.js +153 -82
  138. package/dist/commands/triage.d.ts +35 -0
  139. package/dist/commands/triage.d.ts.map +1 -1
  140. package/dist/commands/triage.js +206 -81
  141. package/dist/commands/upload.d.ts +9 -0
  142. package/dist/commands/upload.d.ts.map +1 -1
  143. package/dist/commands/upload.js +140 -101
  144. package/dist/commands/verify.d.ts +13 -0
  145. package/dist/commands/verify.d.ts.map +1 -0
  146. package/dist/commands/verify.js +118 -0
  147. package/dist/index.d.ts +3 -2
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +125 -990
  150. package/dist/interactive/fix-wizard.d.ts +3 -0
  151. package/dist/interactive/fix-wizard.d.ts.map +1 -1
  152. package/dist/interactive/fix-wizard.js +130 -112
  153. package/dist/interactive/init-wizard.d.ts +3 -1
  154. package/dist/interactive/init-wizard.d.ts.map +1 -1
  155. package/dist/interactive/init-wizard.js +207 -138
  156. package/dist/interactive/prompts.d.ts +7 -3
  157. package/dist/interactive/prompts.d.ts.map +1 -1
  158. package/dist/interactive/prompts.js +44 -23
  159. package/dist/output/envelope.d.ts +2 -0
  160. package/dist/output/envelope.d.ts.map +1 -1
  161. package/dist/output/envelope.js +18 -2
  162. package/dist/output/factory.d.ts +9 -1
  163. package/dist/output/factory.d.ts.map +1 -1
  164. package/dist/output/html.d.ts +2 -1
  165. package/dist/output/html.d.ts.map +1 -1
  166. package/dist/output/html.js +3 -2
  167. package/dist/output/human.d.ts +9 -1
  168. package/dist/output/human.d.ts.map +1 -1
  169. package/dist/output/human.js +17 -2
  170. package/dist/output/json.d.ts +2 -1
  171. package/dist/output/json.d.ts.map +1 -1
  172. package/dist/output/junit.d.ts +2 -1
  173. package/dist/output/junit.d.ts.map +1 -1
  174. package/dist/output/sarif.d.ts +2 -1
  175. package/dist/output/sarif.d.ts.map +1 -1
  176. package/dist/types.d.ts +74 -0
  177. package/dist/types.d.ts.map +1 -0
  178. package/dist/types.js +5 -0
  179. package/dist/ui/banner.d.ts +34 -0
  180. package/dist/ui/banner.d.ts.map +1 -1
  181. package/dist/ui/banner.js +97 -5
  182. package/dist/ui/diagnostics.d.ts +9 -4
  183. package/dist/ui/diagnostics.d.ts.map +1 -1
  184. package/dist/ui/diagnostics.js +32 -82
  185. package/dist/ui/strings.d.ts +373 -0
  186. package/dist/ui/strings.d.ts.map +1 -0
  187. package/dist/ui/strings.js +499 -0
  188. package/dist/ui/table.d.ts +0 -2
  189. package/dist/ui/table.d.ts.map +1 -1
  190. package/dist/ui/table.js +3 -4
  191. package/dist/utils/api-client.d.ts +46 -0
  192. package/dist/utils/api-client.d.ts.map +1 -0
  193. package/dist/utils/api-client.js +170 -0
  194. package/dist/utils/client.d.ts +29 -18
  195. package/dist/utils/client.d.ts.map +1 -1
  196. package/dist/utils/client.js +102 -12
  197. package/dist/utils/formatters.d.ts +38 -0
  198. package/dist/utils/formatters.d.ts.map +1 -0
  199. package/dist/utils/formatters.js +277 -0
  200. package/dist/utils/local-capture.d.ts +25 -0
  201. package/dist/utils/local-capture.d.ts.map +1 -0
  202. package/dist/utils/local-capture.js +57 -0
  203. package/dist/utils/url-classify.d.ts +18 -0
  204. package/dist/utils/url-classify.d.ts.map +1 -0
  205. package/dist/utils/url-classify.js +106 -0
  206. package/node_modules/@vertaaux/tui/dist/index.cjs +713 -20
  207. package/node_modules/@vertaaux/tui/dist/index.cjs.map +1 -1
  208. package/node_modules/@vertaaux/tui/dist/index.d.cts +361 -4
  209. package/node_modules/@vertaaux/tui/dist/index.d.ts +361 -4
  210. package/node_modules/@vertaaux/tui/dist/index.js +689 -21
  211. package/node_modules/@vertaaux/tui/dist/index.js.map +1 -1
  212. package/package.json +13 -5
  213. package/dist/commands/client.d.ts +0 -14
  214. package/dist/commands/client.d.ts.map +0 -1
  215. package/dist/commands/client.js +0 -362
  216. package/dist/commands/drift.d.ts +0 -15
  217. package/dist/commands/drift.d.ts.map +0 -1
  218. package/dist/commands/drift.js +0 -309
  219. package/dist/commands/protect.d.ts +0 -16
  220. package/dist/commands/protect.d.ts.map +0 -1
  221. package/dist/commands/protect.js +0 -323
  222. package/dist/commands/report.d.ts +0 -15
  223. package/dist/commands/report.d.ts.map +0 -1
  224. package/dist/commands/report.js +0 -214
  225. package/dist/policy/sync.d.ts +0 -67
  226. package/dist/policy/sync.d.ts.map +0 -1
  227. package/dist/policy/sync.js +0 -147
@@ -0,0 +1,373 @@
1
+ /**
2
+ * Tone-of-voice catalogue for VertaaUX CLI.
3
+ *
4
+ * Centralizes all user-facing strings for consistent messaging:
5
+ * - Gerund during action, past tense on completion (COPY-02)
6
+ * - Specific error messages with em-dash separator (COPY-03)
7
+ * - Recovery commands in every error (COPY-03)
8
+ * - Success messages include counts when applicable (COPY-04)
9
+ *
10
+ * Usage:
11
+ * import { strings } from "../ui/strings.js";
12
+ * createSpinner(strings.audit.run.action)
13
+ * succeedSpinner(strings.audit.run.done(issueCount, url))
14
+ * process.stderr.write(strings.common.notAuthenticated + "\n")
15
+ */
16
+ /** A spinner action/done pair: action is shown during the operation,
17
+ * done is called on completion with result data. */
18
+ export interface ActionDone<TArgs extends unknown[] = []> {
19
+ /** Gerund string shown during operation, e.g. "Running audit..." */
20
+ action: string;
21
+ /** Past-tense completion string, e.g. "Audited 12 issues" */
22
+ done: (...args: TArgs) => string;
23
+ }
24
+ export declare const strings: {
25
+ readonly common: {
26
+ /** Not authenticated error shown before any API command */
27
+ readonly notAuthenticated: "Not authenticated — your credentials are missing or expired.\nRun vertaa login to authenticate.";
28
+ /** Invalid or expired token */
29
+ readonly invalidToken: "Token invalid or expired — the stored credentials cannot be used.\nRun vertaa login to refresh your credentials.";
30
+ /** Network unreachable error */
31
+ readonly networkError: "Network unreachable — the VertaaUX API could not be reached.\nRun vertaa doctor to diagnose connectivity.";
32
+ /** Config invalid error */
33
+ readonly configInvalid: "Configuration invalid — .vertaaux.yml contains errors.\nRun vertaa doctor to validate your configuration.";
34
+ /** Generic API error fallback */
35
+ readonly apiError: (code: string) => string;
36
+ /** Rate limit exceeded */
37
+ readonly rateLimitExceeded: "Rate limit exceeded — you have reached the maximum request rate.\nRun vertaa status to check your quota and wait before retrying.";
38
+ /** Permission denied */
39
+ readonly permissionDenied: "Permission denied — your account does not have access to this resource.\nRun vertaa doctor to verify your credentials and plan.";
40
+ };
41
+ readonly audit: {
42
+ /** Running the audit */
43
+ readonly run: ActionDone<[number, string]>;
44
+ /** Waiting for audit to complete */
45
+ readonly wait: ActionDone<[number]>;
46
+ /** Local URL capture */
47
+ readonly localCapture: "Local URL detected — capturing page locally...";
48
+ /** Incremental mode */
49
+ readonly incremental: (routeCount: number) => string;
50
+ /** No route changes */
51
+ readonly noRouteChanges: "No relevant route changes detected — skipping audit.";
52
+ /** Local page fetch in progress */
53
+ readonly localFetch: ActionDone;
54
+ /** Analyzing captured local page */
55
+ readonly localAnalyze: ActionDone;
56
+ /** Progress update with URL */
57
+ readonly progress: (url: string) => string;
58
+ readonly errors: {
59
+ /** All workspaces flag not yet implemented */
60
+ readonly allWorkspacesNotImplemented: "--all-workspaces is not yet implemented — this feature is coming soon.\nRun vertaa audit <url> to audit individual workspace URLs.";
61
+ /** Audit job failed */
62
+ readonly jobFailed: (jobId: string) => string;
63
+ };
64
+ };
65
+ readonly upload: {
66
+ /** Uploading artifacts */
67
+ readonly run: ActionDone<[number]>;
68
+ readonly noJobId: "No job ID provided and no local results found.\nRun vertaa audit --save-trace to save local results first.";
69
+ readonly shareUrl: "Share this URL with your team to view the results.";
70
+ readonly errors: {
71
+ readonly notAuthenticated: "Not authenticated — upload requires valid credentials.\nRun vertaa login to authenticate.";
72
+ readonly uploadFailed: (reason: string) => string;
73
+ };
74
+ readonly success: (url: string) => string;
75
+ };
76
+ readonly login: {
77
+ /** Device flow in progress */
78
+ readonly deviceFlow: ActionDone;
79
+ /** Token validation */
80
+ readonly validating: ActionDone;
81
+ readonly success: "Authentication successful";
82
+ readonly successWithName: (displayName: string) => string;
83
+ readonly logoutSuccess: "Logged out successfully.";
84
+ readonly ssoNotImplemented: "SSO login is not yet implemented.\nUse --token for CI/API token authentication or omit flags for device code flow.";
85
+ readonly validatingToken: "Validating token...";
86
+ readonly tokenSaved: "Token saved to ~/.vertaaux/credentials.json";
87
+ readonly envTokenFound: "Found token in environment, validating...";
88
+ readonly envTokenSaved: "Token from environment saved to ~/.vertaaux/credentials.json";
89
+ readonly startingAuth: "Starting authentication...";
90
+ readonly noStoredCredentials: "No stored credentials found.";
91
+ readonly credentialsRemoved: "Credentials removed from ~/.vertaaux/credentials.json";
92
+ readonly runLoginHint: "\nRun vertaa login to authenticate.";
93
+ readonly runLoginRefreshHint: "\nRun vertaa login to re-authenticate.";
94
+ readonly errors: {
95
+ readonly invalidToken: "Token invalid — the provided token could not be verified.\nRun vertaa login to authenticate with a valid token.";
96
+ readonly envTokenInvalid: "Environment token invalid — VERTAAUX_API_KEY could not be verified.\nSet VERTAAUX_API_KEY to a valid API key to proceed.";
97
+ readonly requiresTerminal: "Interactive login requires a terminal — no TTY detected.\nSet VERTAAUX_API_KEY environment variable for non-interactive authentication.";
98
+ readonly loginFailed: (message: string) => string;
99
+ };
100
+ readonly notAuthenticated: "Not authenticated.";
101
+ readonly tokenExpired: "Token expired.";
102
+ readonly tokenInvalidOrExpired: "Token invalid or expired.";
103
+ };
104
+ readonly doctor: {
105
+ /** Running all checks */
106
+ readonly run: ActionDone<[number, number]>;
107
+ readonly title: (version: string) => string;
108
+ readonly results: {
109
+ readonly allPassed: (count: number) => string;
110
+ readonly withWarnings: (count: number) => string;
111
+ readonly withFailures: (failCount: number, total: number) => string;
112
+ };
113
+ readonly checks: {
114
+ readonly fix: "Fix:";
115
+ readonly detail: "Detail:";
116
+ };
117
+ };
118
+ readonly init: {
119
+ /** Writing config file */
120
+ readonly run: ActionDone;
121
+ readonly configExists: (path: string) => string;
122
+ readonly configCreated: (path: string) => string;
123
+ readonly templateCreated: (path: string) => string;
124
+ readonly templateNote: (instructions: string) => string;
125
+ readonly success: "VertaaUX initialized successfully!";
126
+ readonly cancelled: "Initialization cancelled.";
127
+ readonly nextStepsHeader: "Next steps:";
128
+ readonly nextSteps: {
129
+ readonly runAudit: "Run your first audit with: vertaa audit <url>";
130
+ readonly addGithubSecret: "Add VERTAAUX_API_KEY to GitHub Secrets";
131
+ readonly addCISecret: "Add VERTAAUX_API_KEY to your CI environment";
132
+ readonly createBaseline: "Create baseline for existing issues: vertaa baseline create";
133
+ };
134
+ readonly errors: {
135
+ readonly writeConfigFailed: (path: string, reason: string) => string;
136
+ };
137
+ };
138
+ readonly baseline: {
139
+ /** Creating baseline */
140
+ readonly create: ActionDone<[number]>;
141
+ /** Listing baseline */
142
+ readonly list: ActionDone<[number]>;
143
+ readonly errors: {
144
+ readonly loadFailed: (path: string) => string;
145
+ readonly saveFailed: (reason: string) => string;
146
+ readonly auditNotFound: (jobId: string) => string;
147
+ };
148
+ };
149
+ readonly comment: {
150
+ /** Generating comment */
151
+ readonly generate: ActionDone<[number]>;
152
+ /** Posting comment */
153
+ readonly post: ActionDone;
154
+ readonly errors: {
155
+ readonly noInput: "No audit input provided — pipe JSON or specify --input.\nRun vertaa audit <url> --json | vertaa comment to generate a comment.";
156
+ readonly postFailed: (reason: string) => string;
157
+ };
158
+ };
159
+ readonly compare: {
160
+ /** Running comparison */
161
+ readonly run: ActionDone<[number]>;
162
+ /** LLM analysis */
163
+ readonly analyze: ActionDone;
164
+ /** Running audit A */
165
+ readonly auditA: ActionDone;
166
+ /** Running audit B */
167
+ readonly auditB: ActionDone;
168
+ readonly headings: {
169
+ readonly comparison: "Audit Comparison";
170
+ readonly overallScores: "Overall Scores";
171
+ readonly categoryScores: "Category Scores";
172
+ readonly issueCounts: "Issue Counts";
173
+ readonly analysis: "Analysis";
174
+ readonly improvements: (count: number) => string;
175
+ readonly regressions: (count: number) => string;
176
+ readonly unchanged: (count: number) => string;
177
+ };
178
+ readonly errors: {
179
+ readonly bothUrlsRequired: "Both URLs required — provide two URLs to compare.\nRun vertaa compare <url-a> <url-b> to compare two pages.";
180
+ readonly inputRequired: "No input provided — pipe diff JSON or specify --before/--after.\nRun vertaa diff --job-a <id> --job-b <id> --json | vertaa compare to compare audits.";
181
+ readonly missingJobIds: "Missing job IDs — comparison requires two audit job IDs.\nRun vertaa compare --help to see usage.";
182
+ readonly urlsOrFilesRequired: "Both URLs or both files required — provide two URLs or use --before/--after.\nUsage:\n vertaa compare https://a.com https://b.com --wait\n vertaa compare --before baseline.json --after current.json\nRun vertaa compare --help to see all options.";
183
+ readonly beforeAfterRequired: "Both files required — --before and --after are required for file-based comparison.\nRun vertaa compare --before <file> --after <file>.";
184
+ readonly readFailed: "Could not read audit files — check that the paths are correct.\nRun vertaa compare --help to see file input options.";
185
+ };
186
+ };
187
+ readonly diff: {
188
+ /** Computing diff */
189
+ readonly run: ActionDone<[number, number]>;
190
+ readonly errors: {
191
+ readonly noBaseline: "No baseline found — create a baseline before diffing.\nRun vertaa baseline create to create a baseline.";
192
+ readonly auditNotFound: (jobId: string) => string;
193
+ };
194
+ };
195
+ readonly doc: {
196
+ /** Generating playbook */
197
+ readonly generate: ActionDone<[number]>;
198
+ readonly errors: {
199
+ readonly noInput: "No audit input provided — pipe JSON or specify --file or --job.\nRun vertaa audit <url> --json | vertaa doc to generate a playbook.";
200
+ readonly generationFailed: (reason: string) => string;
201
+ };
202
+ };
203
+ readonly download: {
204
+ /** Downloading artifacts */
205
+ readonly run: ActionDone<[number]>;
206
+ /** Listing available audits */
207
+ readonly list: ActionDone<[number]>;
208
+ /** Saving files */
209
+ readonly saving: ActionDone<[number]>;
210
+ /** Overwrite confirmation */
211
+ readonly confirmOverwrite: (path: string) => string;
212
+ readonly skipAuditResults: "Skipping audit results (file exists).";
213
+ readonly skipAuditResultsWarn: (path: string) => string;
214
+ readonly skipBaseline: "Skipping baseline (file exists).";
215
+ readonly skipBaselineWarn: "Skipping baseline (already exists, use --force to overwrite)";
216
+ readonly pathTraversal: (filename: string) => string;
217
+ readonly errors: {
218
+ readonly notAuthenticated: "Not authenticated — download requires valid credentials.\nRun vertaa login to authenticate.";
219
+ readonly downloadFailed: (reason: string) => string;
220
+ };
221
+ };
222
+ readonly explain: {
223
+ /** Loading explanation */
224
+ readonly run: ActionDone<[number]>;
225
+ readonly headings: {
226
+ readonly aiExplanation: "AI Explanation";
227
+ readonly summary: "Summary";
228
+ readonly issues: "Issues";
229
+ readonly issue: (ruleId: string, severity: string) => string;
230
+ readonly description: "DESCRIPTION";
231
+ readonly selector: "SELECTOR";
232
+ readonly wcag: "WCAG REFERENCE";
233
+ readonly recommendation: "RECOMMENDATION";
234
+ readonly evidence: "EVIDENCE";
235
+ readonly fix: "Fix:";
236
+ };
237
+ readonly errors: {
238
+ readonly noInput: "No audit input provided — pipe JSON or specify --file or --job.\nRun vertaa audit <url> --json | vertaa explain to explain issues.";
239
+ readonly issueNotFound: (id: string) => string;
240
+ readonly explanationFailed: (reason: string) => string;
241
+ readonly fileNotFound: (path: string) => string;
242
+ readonly noRecentAudits: "No recent audits found — provide --job or --file option.\nRun vertaa audit <url> --json | vertaa explain to explain issues.";
243
+ readonly findingNotFound: (id: string, source?: string) => string;
244
+ readonly noAuditData: "No audit data provided — pipe JSON or specify --file or --job.\nRun vertaa audit https://example.com --json | vertaa explain to get started.";
245
+ readonly noIssuesFound: "No issues found — the audit data contains no reported issues.\nRun vertaa audit <url> to generate a fresh audit.";
246
+ };
247
+ readonly aiUnavailable: (reason: string) => string;
248
+ };
249
+ readonly fixPlan: {
250
+ /** Generating fix plan */
251
+ readonly generate: ActionDone<[number]>;
252
+ readonly summary: (itemCount: number, totalEffort: string) => string;
253
+ readonly errors: {
254
+ readonly noInput: "No audit input provided — pipe JSON or specify --file or --job.\nRun vertaa audit <url> --json | vertaa fix-plan to generate a plan.";
255
+ readonly planFailed: (reason: string) => string;
256
+ };
257
+ readonly labels: {
258
+ readonly effort: "Effort:";
259
+ readonly type: "Type:";
260
+ readonly hint: "Hint:";
261
+ };
262
+ };
263
+ readonly fix: {
264
+ /** Generating patch */
265
+ readonly generate: ActionDone;
266
+ readonly dryRun: "Showing patch preview — no changes applied.";
267
+ readonly errors: {
268
+ readonly missingArgs: "Missing required arguments — fix requires --file-content.\nRun vertaa fix --help to see all required options.";
269
+ readonly patchFailed: (reason: string) => string;
270
+ };
271
+ };
272
+ readonly fixAll: {
273
+ /** Fetching audit for batch fix */
274
+ readonly fetchAudit: ActionDone<[number]>;
275
+ /** Generating patches */
276
+ readonly generate: ActionDone<[number]>;
277
+ readonly auditIncomplete: (jobId: string, status: string) => string;
278
+ readonly errors: {
279
+ readonly missingArgs: "Missing required arguments — fix-all requires --file-content.\nRun vertaa fix-all --help to see all required options.";
280
+ readonly patchFailed: (reason: string) => string;
281
+ };
282
+ };
283
+ readonly patchReview: {
284
+ /** Analyzing patch */
285
+ readonly analyze: ActionDone<[string]>;
286
+ readonly dryRun: "Would analyze diff against findings";
287
+ readonly headings: {
288
+ readonly concerns: "Concerns:";
289
+ readonly findingsAddressed: (count: number) => string;
290
+ readonly findingsRemaining: (count: number) => string;
291
+ };
292
+ readonly errors: {
293
+ readonly noInput: "No diff input provided — pipe a diff via stdin.\nRun vertaa patch-review --help to see input options.";
294
+ readonly reviewFailed: (reason: string) => string;
295
+ };
296
+ };
297
+ readonly policy: {
298
+ /** Validating policy */
299
+ readonly validate: ActionDone;
300
+ readonly fileExists: (path: string) => string;
301
+ readonly unknownTemplate: (template: string, available: string) => string;
302
+ readonly created: (path: string, template: string) => string;
303
+ readonly noPolicy: "No policy file found — using defaults.";
304
+ readonly noPolicyHint: "Create a policy file with: vertaa policy init";
305
+ readonly valid: (path: string) => string;
306
+ readonly usingPolicy: (path: string, branchInfo: string) => string;
307
+ readonly usingDefault: (branchInfo: string) => string;
308
+ readonly errors: {
309
+ readonly validationFailed: "Policy validation failed — the policy file contains errors.\nRun vertaa policy validate to see detailed validation results.";
310
+ readonly loadFailed: (message: string) => string;
311
+ };
312
+ };
313
+ readonly releaseNotes: {
314
+ /** Generating release notes */
315
+ readonly generate: ActionDone;
316
+ readonly errors: {
317
+ readonly noInput: "No diff input provided — pipe diff JSON or specify --file.\nRun vertaa diff --json | vertaa release-notes to generate notes.";
318
+ readonly generationFailed: (reason: string) => string;
319
+ };
320
+ };
321
+ readonly scan: {
322
+ /** Running scan (alias for audit) */
323
+ readonly run: ActionDone<[number, string]>;
324
+ readonly errors: {
325
+ readonly scanFailed: (reason: string) => string;
326
+ };
327
+ };
328
+ readonly status: {
329
+ /** Fetching job status */
330
+ readonly fetch: ActionDone<[string]>;
331
+ readonly errors: {
332
+ readonly jobNotFound: (jobId: string) => string;
333
+ readonly fetchFailed: (reason: string) => string;
334
+ };
335
+ };
336
+ readonly suggest: {
337
+ /** Finding command suggestions */
338
+ readonly search: ActionDone<[number]>;
339
+ readonly noMatches: "No matching commands found.";
340
+ readonly noMatchesHint: "Run vertaa --help to see all commands.";
341
+ readonly errors: {
342
+ readonly noQuery: "No query provided — describe what you want to do.\nRun vertaa suggest \"check color contrast\" to get command suggestions.";
343
+ readonly searchFailed: (reason: string) => string;
344
+ readonly apiUnavailable: "API unavailable — using local catalog.\nRun vertaa doctor to check API connectivity.";
345
+ };
346
+ };
347
+ readonly triage: {
348
+ /** Triaging issues */
349
+ readonly run: ActionDone<[number, number, number]>;
350
+ readonly errors: {
351
+ readonly noInput: "No audit input provided — pipe JSON or specify --file or --job.\nRun vertaa audit <url> --json | vertaa triage to triage issues.";
352
+ readonly triageFailed: (reason: string) => string;
353
+ };
354
+ };
355
+ readonly verify: {
356
+ /** Running verification */
357
+ readonly run: ActionDone<[boolean]>;
358
+ readonly dryRun: "Showing verification preview — no changes applied.";
359
+ readonly errors: {
360
+ readonly missingArgs: "Missing required arguments — verify requires --search, --replace, --issue, --url, and --selector.\nRun vertaa verify --help to see all required options.";
361
+ readonly verifyFailed: (reason: string) => string;
362
+ };
363
+ };
364
+ readonly a11y: {
365
+ /** Running accessibility audit */
366
+ readonly run: ActionDone<[number, string]>;
367
+ readonly errors: {
368
+ readonly auditFailed: (reason: string) => string;
369
+ };
370
+ };
371
+ };
372
+ export type Strings = typeof strings;
373
+ //# sourceMappingURL=strings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/ui/strings.ts"],"names":[],"mappings":"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"}