@veloxts/cli 0.4.14 → 0.6.23

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 (203) hide show
  1. package/README.md +2 -48
  2. package/dist/cli.d.ts +5 -1
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +7 -1
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/dev.d.ts.map +1 -1
  7. package/dist/commands/dev.js +71 -7
  8. package/dist/commands/dev.js.map +1 -1
  9. package/dist/commands/introspect.d.ts +16 -0
  10. package/dist/commands/introspect.d.ts.map +1 -0
  11. package/dist/commands/introspect.js +559 -0
  12. package/dist/commands/introspect.js.map +1 -0
  13. package/dist/commands/make.d.ts.map +1 -1
  14. package/dist/commands/make.js +18 -8
  15. package/dist/commands/make.js.map +1 -1
  16. package/dist/commands/procedures.d.ts.map +1 -1
  17. package/dist/commands/procedures.js +16 -0
  18. package/dist/commands/procedures.js.map +1 -1
  19. package/dist/dev/error-parser.d.ts.map +1 -1
  20. package/dist/dev/error-parser.js +24 -8
  21. package/dist/dev/error-parser.js.map +1 -1
  22. package/dist/dev/hmr-runner.d.ts.map +1 -1
  23. package/dist/dev/hmr-runner.js +6 -1
  24. package/dist/dev/hmr-runner.js.map +1 -1
  25. package/dist/dev/index.d.ts +3 -3
  26. package/dist/dev/index.d.ts.map +1 -1
  27. package/dist/dev/index.js +3 -3
  28. package/dist/dev/index.js.map +1 -1
  29. package/dist/dev/reload-reporter.d.ts +2 -2
  30. package/dist/dev/reload-reporter.d.ts.map +1 -1
  31. package/dist/dev/reload-reporter.js +2 -2
  32. package/dist/dev/reload-reporter.js.map +1 -1
  33. package/dist/errors/catalog.d.ts +48 -0
  34. package/dist/errors/catalog.d.ts.map +1 -0
  35. package/dist/errors/catalog.js +421 -0
  36. package/dist/errors/catalog.js.map +1 -0
  37. package/dist/errors/index.d.ts +26 -0
  38. package/dist/errors/index.d.ts.map +1 -0
  39. package/dist/errors/index.js +28 -0
  40. package/dist/errors/index.js.map +1 -0
  41. package/dist/errors/velox-error.d.ts +122 -0
  42. package/dist/errors/velox-error.d.ts.map +1 -0
  43. package/dist/errors/velox-error.js +216 -0
  44. package/dist/errors/velox-error.js.map +1 -0
  45. package/dist/generators/base.d.ts.map +1 -1
  46. package/dist/generators/base.js +26 -0
  47. package/dist/generators/base.js.map +1 -1
  48. package/dist/generators/fields/__tests__/helpers.d.ts +66 -0
  49. package/dist/generators/fields/__tests__/helpers.d.ts.map +1 -0
  50. package/dist/generators/fields/__tests__/helpers.js +142 -0
  51. package/dist/generators/fields/__tests__/helpers.js.map +1 -0
  52. package/dist/generators/fields/actions.d.ts +58 -0
  53. package/dist/generators/fields/actions.d.ts.map +1 -0
  54. package/dist/generators/fields/actions.js +230 -0
  55. package/dist/generators/fields/actions.js.map +1 -0
  56. package/dist/generators/fields/display.d.ts +28 -0
  57. package/dist/generators/fields/display.d.ts.map +1 -0
  58. package/dist/generators/fields/display.js +214 -0
  59. package/dist/generators/fields/display.js.map +1 -0
  60. package/dist/generators/fields/index.d.ts +12 -0
  61. package/dist/generators/fields/index.d.ts.map +1 -0
  62. package/dist/generators/fields/index.js +12 -0
  63. package/dist/generators/fields/index.js.map +1 -0
  64. package/dist/generators/fields/prompts.d.ts +31 -0
  65. package/dist/generators/fields/prompts.d.ts.map +1 -0
  66. package/dist/generators/fields/prompts.js +366 -0
  67. package/dist/generators/fields/prompts.js.map +1 -0
  68. package/dist/generators/fields/templates.d.ts +49 -0
  69. package/dist/generators/fields/templates.d.ts.map +1 -0
  70. package/dist/generators/fields/templates.js +230 -0
  71. package/dist/generators/fields/templates.js.map +1 -0
  72. package/dist/generators/fields/types.d.ts +95 -0
  73. package/dist/generators/fields/types.d.ts.map +1 -0
  74. package/dist/generators/fields/types.js +150 -0
  75. package/dist/generators/fields/types.js.map +1 -0
  76. package/dist/generators/generators/action.d.ts +37 -0
  77. package/dist/generators/generators/action.d.ts.map +1 -0
  78. package/dist/generators/generators/action.js +109 -0
  79. package/dist/generators/generators/action.js.map +1 -0
  80. package/dist/generators/generators/exception.d.ts +38 -0
  81. package/dist/generators/generators/exception.d.ts.map +1 -0
  82. package/dist/generators/generators/exception.js +109 -0
  83. package/dist/generators/generators/exception.js.map +1 -0
  84. package/dist/generators/generators/guard.d.ts +38 -0
  85. package/dist/generators/generators/guard.d.ts.map +1 -0
  86. package/dist/generators/generators/guard.js +109 -0
  87. package/dist/generators/generators/guard.js.map +1 -0
  88. package/dist/generators/generators/index.d.ts +8 -0
  89. package/dist/generators/generators/index.d.ts.map +1 -1
  90. package/dist/generators/generators/index.js +27 -0
  91. package/dist/generators/generators/index.js.map +1 -1
  92. package/dist/generators/generators/layout.d.ts +36 -0
  93. package/dist/generators/generators/layout.d.ts.map +1 -0
  94. package/dist/generators/generators/layout.js +111 -0
  95. package/dist/generators/generators/layout.js.map +1 -0
  96. package/dist/generators/generators/middleware.d.ts +38 -0
  97. package/dist/generators/generators/middleware.d.ts.map +1 -0
  98. package/dist/generators/generators/middleware.js +109 -0
  99. package/dist/generators/generators/middleware.js.map +1 -0
  100. package/dist/generators/generators/model.d.ts +16 -4
  101. package/dist/generators/generators/model.d.ts.map +1 -1
  102. package/dist/generators/generators/model.js +88 -7
  103. package/dist/generators/generators/model.js.map +1 -1
  104. package/dist/generators/generators/page.d.ts +36 -0
  105. package/dist/generators/generators/page.d.ts.map +1 -0
  106. package/dist/generators/generators/page.js +112 -0
  107. package/dist/generators/generators/page.js.map +1 -0
  108. package/dist/generators/generators/policy.d.ts +37 -0
  109. package/dist/generators/generators/policy.d.ts.map +1 -0
  110. package/dist/generators/generators/policy.js +100 -0
  111. package/dist/generators/generators/policy.js.map +1 -0
  112. package/dist/generators/generators/resource.d.ts +42 -4
  113. package/dist/generators/generators/resource.d.ts.map +1 -1
  114. package/dist/generators/generators/resource.js +450 -9
  115. package/dist/generators/generators/resource.js.map +1 -1
  116. package/dist/generators/generators/service.d.ts +38 -0
  117. package/dist/generators/generators/service.d.ts.map +1 -0
  118. package/dist/generators/generators/service.js +109 -0
  119. package/dist/generators/generators/service.js.map +1 -0
  120. package/dist/generators/registry.d.ts.map +1 -1
  121. package/dist/generators/registry.js +10 -1
  122. package/dist/generators/registry.js.map +1 -1
  123. package/dist/generators/templates/action.d.ts +28 -0
  124. package/dist/generators/templates/action.d.ts.map +1 -0
  125. package/dist/generators/templates/action.js +359 -0
  126. package/dist/generators/templates/action.js.map +1 -0
  127. package/dist/generators/templates/exception.d.ts +26 -0
  128. package/dist/generators/templates/exception.d.ts.map +1 -0
  129. package/dist/generators/templates/exception.js +671 -0
  130. package/dist/generators/templates/exception.js.map +1 -0
  131. package/dist/generators/templates/guard.d.ts +26 -0
  132. package/dist/generators/templates/guard.d.ts.map +1 -0
  133. package/dist/generators/templates/guard.js +555 -0
  134. package/dist/generators/templates/guard.js.map +1 -0
  135. package/dist/generators/templates/layout.d.ts +28 -0
  136. package/dist/generators/templates/layout.d.ts.map +1 -0
  137. package/dist/generators/templates/layout.js +147 -0
  138. package/dist/generators/templates/layout.js.map +1 -0
  139. package/dist/generators/templates/middleware.d.ts +26 -0
  140. package/dist/generators/templates/middleware.d.ts.map +1 -0
  141. package/dist/generators/templates/middleware.js +411 -0
  142. package/dist/generators/templates/middleware.js.map +1 -0
  143. package/dist/generators/templates/model.d.ts +3 -0
  144. package/dist/generators/templates/model.d.ts.map +1 -1
  145. package/dist/generators/templates/model.js +183 -28
  146. package/dist/generators/templates/model.js.map +1 -1
  147. package/dist/generators/templates/page.d.ts +36 -0
  148. package/dist/generators/templates/page.d.ts.map +1 -0
  149. package/dist/generators/templates/page.js +147 -0
  150. package/dist/generators/templates/page.js.map +1 -0
  151. package/dist/generators/templates/policy.d.ts +24 -0
  152. package/dist/generators/templates/policy.d.ts.map +1 -0
  153. package/dist/generators/templates/policy.js +499 -0
  154. package/dist/generators/templates/policy.js.map +1 -0
  155. package/dist/generators/templates/resource.d.ts +65 -0
  156. package/dist/generators/templates/resource.d.ts.map +1 -1
  157. package/dist/generators/templates/resource.js +228 -43
  158. package/dist/generators/templates/resource.js.map +1 -1
  159. package/dist/generators/templates/service.d.ts +26 -0
  160. package/dist/generators/templates/service.d.ts.map +1 -0
  161. package/dist/generators/templates/service.js +511 -0
  162. package/dist/generators/templates/service.js.map +1 -0
  163. package/dist/generators/types.d.ts +26 -14
  164. package/dist/generators/types.d.ts.map +1 -1
  165. package/dist/generators/types.js +8 -25
  166. package/dist/generators/types.js.map +1 -1
  167. package/dist/generators/utils/ast-helpers.d.ts +147 -0
  168. package/dist/generators/utils/ast-helpers.d.ts.map +1 -0
  169. package/dist/generators/utils/ast-helpers.js +350 -0
  170. package/dist/generators/utils/ast-helpers.js.map +1 -0
  171. package/dist/generators/utils/prisma-migration.d.ts +59 -0
  172. package/dist/generators/utils/prisma-migration.d.ts.map +1 -0
  173. package/dist/generators/utils/prisma-migration.js +161 -0
  174. package/dist/generators/utils/prisma-migration.js.map +1 -0
  175. package/dist/generators/utils/prisma-schema.d.ts +97 -0
  176. package/dist/generators/utils/prisma-schema.d.ts.map +1 -0
  177. package/dist/generators/utils/prisma-schema.js +235 -0
  178. package/dist/generators/utils/prisma-schema.js.map +1 -0
  179. package/dist/generators/utils/router-integration.d.ts +70 -0
  180. package/dist/generators/utils/router-integration.d.ts.map +1 -0
  181. package/dist/generators/utils/router-integration.js +305 -0
  182. package/dist/generators/utils/router-integration.js.map +1 -0
  183. package/dist/generators/utils/snapshot.d.ts +93 -0
  184. package/dist/generators/utils/snapshot.d.ts.map +1 -0
  185. package/dist/generators/utils/snapshot.js +178 -0
  186. package/dist/generators/utils/snapshot.js.map +1 -0
  187. package/dist/index.d.ts +6 -0
  188. package/dist/index.d.ts.map +1 -1
  189. package/dist/index.js +6 -0
  190. package/dist/index.js.map +1 -1
  191. package/dist/seeding/errors.d.ts +11 -24
  192. package/dist/seeding/errors.d.ts.map +1 -1
  193. package/dist/seeding/errors.js +11 -50
  194. package/dist/seeding/errors.js.map +1 -1
  195. package/dist/utils/paths.d.ts +19 -0
  196. package/dist/utils/paths.d.ts.map +1 -1
  197. package/dist/utils/paths.js +45 -0
  198. package/dist/utils/paths.js.map +1 -1
  199. package/dist/utils/schema-patterns.d.ts +26 -0
  200. package/dist/utils/schema-patterns.d.ts.map +1 -0
  201. package/dist/utils/schema-patterns.js +40 -0
  202. package/dist/utils/schema-patterns.js.map +1 -0
  203. package/package.json +12 -10
@@ -0,0 +1,421 @@
1
+ /**
2
+ * VeloxTS Error Catalog
3
+ *
4
+ * Central registry of all error codes with messages, fixes, and documentation links.
5
+ * Error codes follow the pattern E[category][number]:
6
+ *
7
+ * E1xxx - Core/Runtime errors
8
+ * E2xxx - Generator errors
9
+ * E3xxx - Seeding errors
10
+ * E4xxx - Migration errors
11
+ * E5xxx - Dev server errors
12
+ * E6xxx - Validation errors
13
+ * E7xxx - Authentication errors
14
+ * E8xxx - Database errors
15
+ * E9xxx - Configuration errors
16
+ */
17
+ // ============================================================================
18
+ // Error Catalog
19
+ // ============================================================================
20
+ const DOCS_BASE = 'https://veloxts.dev/errors';
21
+ /**
22
+ * Central error catalog containing all VeloxTS error definitions
23
+ */
24
+ export const ERROR_CATALOG = {
25
+ // ==========================================================================
26
+ // E1xxx - Core/Runtime Errors
27
+ // ==========================================================================
28
+ E1001: {
29
+ code: 'E1001',
30
+ name: 'NOT_FOUND',
31
+ message: 'Resource not found',
32
+ fix: 'Check that the resource exists and the ID is correct.',
33
+ docsUrl: `${DOCS_BASE}/E1001`,
34
+ },
35
+ E1002: {
36
+ code: 'E1002',
37
+ name: 'VALIDATION_FAILED',
38
+ message: 'Input validation failed',
39
+ fix: 'Check the input data matches the expected schema.',
40
+ docsUrl: `${DOCS_BASE}/E1002`,
41
+ },
42
+ E1003: {
43
+ code: 'E1003',
44
+ name: 'UNAUTHORIZED',
45
+ message: 'Authentication required',
46
+ fix: 'Provide valid authentication credentials.',
47
+ docsUrl: `${DOCS_BASE}/E1003`,
48
+ },
49
+ E1004: {
50
+ code: 'E1004',
51
+ name: 'FORBIDDEN',
52
+ message: 'Access denied',
53
+ fix: 'Check that you have the required permissions for this action.',
54
+ docsUrl: `${DOCS_BASE}/E1004`,
55
+ },
56
+ E1005: {
57
+ code: 'E1005',
58
+ name: 'CONFLICT',
59
+ message: 'Resource conflict',
60
+ fix: 'The resource already exists or conflicts with existing data.',
61
+ docsUrl: `${DOCS_BASE}/E1005`,
62
+ },
63
+ E1006: {
64
+ code: 'E1006',
65
+ name: 'INTERNAL_ERROR',
66
+ message: 'Internal server error',
67
+ fix: 'Check server logs for more details.',
68
+ docsUrl: `${DOCS_BASE}/E1006`,
69
+ },
70
+ // ==========================================================================
71
+ // E2xxx - Generator Errors
72
+ // ==========================================================================
73
+ E2001: {
74
+ code: 'E2001',
75
+ name: 'NOT_IN_PROJECT',
76
+ message: 'Not in a VeloxTS project',
77
+ fix: 'Run this command from the root of your VeloxTS project (where package.json exists).',
78
+ docsUrl: `${DOCS_BASE}/E2001`,
79
+ },
80
+ E2002: {
81
+ code: 'E2002',
82
+ name: 'INVALID_ENTITY_NAME',
83
+ message: 'Invalid entity name',
84
+ fix: 'Entity names must be alphanumeric and start with a letter (e.g., User, BlogPost).',
85
+ docsUrl: `${DOCS_BASE}/E2002`,
86
+ },
87
+ E2003: {
88
+ code: 'E2003',
89
+ name: 'FILE_ALREADY_EXISTS',
90
+ message: 'File already exists',
91
+ fix: 'Use --force to overwrite existing files, or choose a different name.',
92
+ docsUrl: `${DOCS_BASE}/E2003`,
93
+ },
94
+ E2004: {
95
+ code: 'E2004',
96
+ name: 'INVALID_OPTION',
97
+ message: 'Invalid generator option',
98
+ fix: 'Run the command with --help to see available options.',
99
+ docsUrl: `${DOCS_BASE}/E2004`,
100
+ },
101
+ E2005: {
102
+ code: 'E2005',
103
+ name: 'GENERATION_FAILED',
104
+ message: 'Code generation failed',
105
+ fix: 'Check the error details above for more information.',
106
+ docsUrl: `${DOCS_BASE}/E2005`,
107
+ },
108
+ E2006: {
109
+ code: 'E2006',
110
+ name: 'CANCELED',
111
+ message: 'Operation canceled by user',
112
+ docsUrl: `${DOCS_BASE}/E2006`,
113
+ },
114
+ E2007: {
115
+ code: 'E2007',
116
+ name: 'PROJECT_STRUCTURE',
117
+ message: 'Invalid project structure',
118
+ fix: 'Ensure your project follows the VeloxTS directory conventions.',
119
+ docsUrl: `${DOCS_BASE}/E2007`,
120
+ },
121
+ E2008: {
122
+ code: 'E2008',
123
+ name: 'MIGRATION_FAILED',
124
+ message: 'Database migration failed',
125
+ fix: 'Run "npx prisma db push" manually to see detailed errors.',
126
+ docsUrl: `${DOCS_BASE}/E2008`,
127
+ },
128
+ // ==========================================================================
129
+ // E3xxx - Seeding Errors
130
+ // ==========================================================================
131
+ E3001: {
132
+ code: 'E3001',
133
+ name: 'SEEDER_NOT_FOUND',
134
+ message: 'Seeder not found',
135
+ fix: 'Check that the seeder exists in src/database/seeders/ and is properly exported.',
136
+ docsUrl: `${DOCS_BASE}/E3001`,
137
+ },
138
+ E3002: {
139
+ code: 'E3002',
140
+ name: 'CIRCULAR_DEPENDENCY',
141
+ message: 'Circular dependency detected between seeders',
142
+ fix: 'Review seeder dependencies and remove the circular reference.',
143
+ docsUrl: `${DOCS_BASE}/E3002`,
144
+ },
145
+ E3003: {
146
+ code: 'E3003',
147
+ name: 'EXECUTION_FAILED',
148
+ message: 'Seeder execution failed',
149
+ fix: 'Check the seeder implementation and database state.',
150
+ docsUrl: `${DOCS_BASE}/E3003`,
151
+ },
152
+ E3004: {
153
+ code: 'E3004',
154
+ name: 'TRUNCATION_FAILED',
155
+ message: 'Table truncation failed',
156
+ fix: 'Check for foreign key constraints that may prevent truncation.',
157
+ docsUrl: `${DOCS_BASE}/E3004`,
158
+ },
159
+ E3005: {
160
+ code: 'E3005',
161
+ name: 'INVALID_CONFIG',
162
+ message: 'Invalid seeder configuration',
163
+ fix: 'Ensure the seeder has required properties: name and run function.',
164
+ docsUrl: `${DOCS_BASE}/E3005`,
165
+ },
166
+ E3006: {
167
+ code: 'E3006',
168
+ name: 'DEPENDENCY_NOT_FOUND',
169
+ message: 'Seeder dependency not found',
170
+ fix: 'Ensure all dependencies exist in src/database/seeders/ and are registered.',
171
+ docsUrl: `${DOCS_BASE}/E3006`,
172
+ },
173
+ E3007: {
174
+ code: 'E3007',
175
+ name: 'NO_SEEDERS_FOUND',
176
+ message: 'No seeders found in project',
177
+ fix: 'Create a seeder with: velox make seeder <name>',
178
+ docsUrl: `${DOCS_BASE}/E3007`,
179
+ },
180
+ E3008: {
181
+ code: 'E3008',
182
+ name: 'DATABASE_ERROR',
183
+ message: 'Database error during seeding',
184
+ fix: 'Check your database connection and ensure it is running.',
185
+ docsUrl: `${DOCS_BASE}/E3008`,
186
+ },
187
+ E3010: {
188
+ code: 'E3010',
189
+ name: 'FACTORY_NOT_FOUND',
190
+ message: 'Factory not found in registry',
191
+ fix: 'Ensure the factory is properly instantiated before use.',
192
+ docsUrl: `${DOCS_BASE}/E3010`,
193
+ },
194
+ E3011: {
195
+ code: 'E3011',
196
+ name: 'STATE_NOT_FOUND',
197
+ message: 'Factory state not found',
198
+ fix: 'Register states using registerState() before calling state().',
199
+ docsUrl: `${DOCS_BASE}/E3011`,
200
+ },
201
+ E3012: {
202
+ code: 'E3012',
203
+ name: 'FACTORY_CREATE_FAILED',
204
+ message: 'Factory creation failed',
205
+ fix: 'Check the factory definition and ensure all required fields are provided.',
206
+ docsUrl: `${DOCS_BASE}/E3012`,
207
+ },
208
+ E3013: {
209
+ code: 'E3013',
210
+ name: 'INVALID_FACTORY',
211
+ message: 'Invalid factory configuration',
212
+ fix: 'Ensure the factory has a valid definition function.',
213
+ docsUrl: `${DOCS_BASE}/E3013`,
214
+ },
215
+ E3020: {
216
+ code: 'E3020',
217
+ name: 'FILESYSTEM_ERROR',
218
+ message: 'Filesystem error during seeder loading',
219
+ fix: 'Check file permissions and path validity.',
220
+ docsUrl: `${DOCS_BASE}/E3020`,
221
+ },
222
+ E3021: {
223
+ code: 'E3021',
224
+ name: 'INVALID_EXPORT',
225
+ message: 'Invalid seeder export',
226
+ fix: "Ensure the file exports a valid Seeder object with 'name' and 'run' properties.",
227
+ docsUrl: `${DOCS_BASE}/E3021`,
228
+ },
229
+ // ==========================================================================
230
+ // E4xxx - Migration Errors
231
+ // ==========================================================================
232
+ E4001: {
233
+ code: 'E4001',
234
+ name: 'PRISMA_NOT_FOUND',
235
+ message: 'Prisma CLI not found',
236
+ fix: 'Install Prisma: pnpm add @prisma/client prisma',
237
+ docsUrl: `${DOCS_BASE}/E4001`,
238
+ },
239
+ E4002: {
240
+ code: 'E4002',
241
+ name: 'MIGRATIONS_DIR_NOT_FOUND',
242
+ message: 'Migrations directory not found',
243
+ fix: 'Create a migration with: velox make migration create_users',
244
+ docsUrl: `${DOCS_BASE}/E4002`,
245
+ },
246
+ E4003: {
247
+ code: 'E4003',
248
+ name: 'MIGRATION_NOT_FOUND',
249
+ message: 'Migration not found',
250
+ fix: 'Run "velox migrate status" to see available migrations.',
251
+ docsUrl: `${DOCS_BASE}/E4003`,
252
+ },
253
+ E4004: {
254
+ code: 'E4004',
255
+ name: 'NO_ROLLBACK_FILE',
256
+ message: 'No down.sql file found for migration',
257
+ fix: 'Create a down.sql file in the migration folder, or use "velox migrate fresh" to reset.',
258
+ docsUrl: `${DOCS_BASE}/E4004`,
259
+ },
260
+ E4005: {
261
+ code: 'E4005',
262
+ name: 'ROLLBACK_FAILED',
263
+ message: 'Migration rollback failed',
264
+ fix: 'Check the down.sql file for syntax errors.',
265
+ docsUrl: `${DOCS_BASE}/E4005`,
266
+ },
267
+ E4006: {
268
+ code: 'E4006',
269
+ name: 'PRISMA_ERROR',
270
+ message: 'Prisma command failed',
271
+ fix: 'Run the Prisma command directly to see detailed error output.',
272
+ docsUrl: `${DOCS_BASE}/E4006`,
273
+ },
274
+ E4007: {
275
+ code: 'E4007',
276
+ name: 'MIGRATION_DATABASE_ERROR',
277
+ message: 'Database operation failed during migration',
278
+ fix: 'Check your database connection and ensure it is running.',
279
+ docsUrl: `${DOCS_BASE}/E4007`,
280
+ },
281
+ E4008: {
282
+ code: 'E4008',
283
+ name: 'NO_PENDING_MIGRATIONS',
284
+ message: 'No pending migrations to run',
285
+ fix: 'All migrations are up to date.',
286
+ docsUrl: `${DOCS_BASE}/E4008`,
287
+ },
288
+ E4009: {
289
+ code: 'E4009',
290
+ name: 'NO_APPLIED_MIGRATIONS',
291
+ message: 'No migrations have been applied',
292
+ fix: 'Run "velox migrate run" to apply migrations.',
293
+ docsUrl: `${DOCS_BASE}/E4009`,
294
+ },
295
+ E4010: {
296
+ code: 'E4010',
297
+ name: 'CHECKSUM_MISMATCH',
298
+ message: 'Migration checksum mismatch',
299
+ fix: 'The migration file was modified after being applied. Use "velox migrate fresh" to reset.',
300
+ docsUrl: `${DOCS_BASE}/E4010`,
301
+ },
302
+ // ==========================================================================
303
+ // E5xxx - Dev Server Errors
304
+ // ==========================================================================
305
+ E5001: {
306
+ code: 'E5001',
307
+ name: 'ENTRY_NOT_FOUND',
308
+ message: 'Application entry point not found',
309
+ fix: 'Specify entry with --entry flag or ensure src/index.ts exists.',
310
+ docsUrl: `${DOCS_BASE}/E5001`,
311
+ },
312
+ E5002: {
313
+ code: 'E5002',
314
+ name: 'PORT_IN_USE',
315
+ message: 'Port already in use',
316
+ fix: 'Stop other servers using this port, or use --port to specify a different port.',
317
+ docsUrl: `${DOCS_BASE}/E5002`,
318
+ },
319
+ E5003: {
320
+ code: 'E5003',
321
+ name: 'BUILD_ERROR',
322
+ message: 'Build error',
323
+ fix: 'Check the TypeScript compilation errors above.',
324
+ docsUrl: `${DOCS_BASE}/E5003`,
325
+ },
326
+ E5004: {
327
+ code: 'E5004',
328
+ name: 'RUNTIME_ERROR',
329
+ message: 'Runtime error',
330
+ fix: 'Check the stack trace for the error location.',
331
+ docsUrl: `${DOCS_BASE}/E5004`,
332
+ },
333
+ E5005: {
334
+ code: 'E5005',
335
+ name: 'MODULE_NOT_FOUND',
336
+ message: 'Module not found',
337
+ fix: 'Install the missing package with your package manager.',
338
+ docsUrl: `${DOCS_BASE}/E5005`,
339
+ },
340
+ E5006: {
341
+ code: 'E5006',
342
+ name: 'SYNTAX_ERROR',
343
+ message: 'Syntax error in source file',
344
+ fix: 'Check the indicated line for syntax issues.',
345
+ docsUrl: `${DOCS_BASE}/E5006`,
346
+ },
347
+ E5007: {
348
+ code: 'E5007',
349
+ name: 'TYPE_ERROR',
350
+ message: 'TypeScript type error',
351
+ fix: 'Fix the type error indicated in the message.',
352
+ docsUrl: `${DOCS_BASE}/E5007`,
353
+ },
354
+ E5008: {
355
+ code: 'E5008',
356
+ name: 'DATABASE_CONNECTION_FAILED',
357
+ message: 'Database connection failed',
358
+ fix: 'Check DATABASE_URL environment variable and ensure the database is running.',
359
+ docsUrl: `${DOCS_BASE}/E5008`,
360
+ },
361
+ E5009: {
362
+ code: 'E5009',
363
+ name: 'MISSING_ENV_VAR',
364
+ message: 'Required environment variable not set',
365
+ fix: 'Add the missing variable to your .env file.',
366
+ docsUrl: `${DOCS_BASE}/E5009`,
367
+ },
368
+ E5010: {
369
+ code: 'E5010',
370
+ name: 'STARTUP_TIMEOUT',
371
+ message: 'Server startup timed out',
372
+ fix: 'Check for blocking operations during server initialization.',
373
+ docsUrl: `${DOCS_BASE}/E5010`,
374
+ },
375
+ // ==========================================================================
376
+ // E9xxx - Configuration Errors
377
+ // ==========================================================================
378
+ E9001: {
379
+ code: 'E9001',
380
+ name: 'CONFIG_NOT_FOUND',
381
+ message: 'Configuration file not found',
382
+ fix: 'Create a velox.config.ts file in your project root.',
383
+ docsUrl: `${DOCS_BASE}/E9001`,
384
+ },
385
+ E9002: {
386
+ code: 'E9002',
387
+ name: 'INVALID_CONFIG',
388
+ message: 'Invalid configuration',
389
+ fix: 'Check your configuration file for syntax errors or invalid values.',
390
+ docsUrl: `${DOCS_BASE}/E9002`,
391
+ },
392
+ E9003: {
393
+ code: 'E9003',
394
+ name: 'PACKAGE_JSON_NOT_FOUND',
395
+ message: 'package.json not found',
396
+ fix: 'Run this command from your project root directory.',
397
+ docsUrl: `${DOCS_BASE}/E9003`,
398
+ },
399
+ };
400
+ // ============================================================================
401
+ // Utility Functions
402
+ // ============================================================================
403
+ /**
404
+ * Get an error definition from the catalog
405
+ */
406
+ export function getErrorDefinition(code) {
407
+ return ERROR_CATALOG[code];
408
+ }
409
+ /**
410
+ * Check if an error code exists in the catalog
411
+ */
412
+ export function isValidErrorCode(code) {
413
+ return code in ERROR_CATALOG;
414
+ }
415
+ /**
416
+ * Get all error codes for a category
417
+ */
418
+ export function getErrorsByCategory(categoryPrefix) {
419
+ return Object.values(ERROR_CATALOG).filter((def) => def.code.startsWith(categoryPrefix));
420
+ }
421
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/errors/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * VeloxTS Error System
3
+ *
4
+ * Central error handling for the CLI with structured error codes,
5
+ * fix suggestions, and JSON serialization for AI tooling.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { VeloxError, ERROR_CATALOG } from './errors/index.js';
10
+ *
11
+ * // Throw a structured error
12
+ * throw new VeloxError('E2001');
13
+ *
14
+ * // Use factory methods
15
+ * throw VeloxError.notFound('User', '123');
16
+ *
17
+ * // Format for display
18
+ * console.error(error.format());
19
+ *
20
+ * // Serialize for --json output
21
+ * console.log(JSON.stringify({ error: error.toJSON() }));
22
+ * ```
23
+ */
24
+ export { ERROR_CATALOG, type ErrorDefinition, getErrorDefinition, getErrorsByCategory, isValidErrorCode, } from './catalog.js';
25
+ export { type ErrorLocation, VeloxError, type VeloxErrorOptions } from './velox-error.js';
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EACL,aAAa,EACb,KAAK,eAAe,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,aAAa,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * VeloxTS Error System
3
+ *
4
+ * Central error handling for the CLI with structured error codes,
5
+ * fix suggestions, and JSON serialization for AI tooling.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { VeloxError, ERROR_CATALOG } from './errors/index.js';
10
+ *
11
+ * // Throw a structured error
12
+ * throw new VeloxError('E2001');
13
+ *
14
+ * // Use factory methods
15
+ * throw VeloxError.notFound('User', '123');
16
+ *
17
+ * // Format for display
18
+ * console.error(error.format());
19
+ *
20
+ * // Serialize for --json output
21
+ * console.log(JSON.stringify({ error: error.toJSON() }));
22
+ * ```
23
+ */
24
+ // Error catalog and definitions
25
+ export { ERROR_CATALOG, getErrorDefinition, getErrorsByCategory, isValidErrorCode, } from './catalog.js';
26
+ // Base error class
27
+ export { VeloxError } from './velox-error.js';
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,gCAAgC;AAChC,OAAO,EACL,aAAa,EAEb,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,mBAAmB;AACnB,OAAO,EAAsB,UAAU,EAA0B,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * VeloxError Base Class
3
+ *
4
+ * A structured error class with error codes, fix suggestions, and JSON serialization.
5
+ * All VeloxTS CLI errors extend this class.
6
+ */
7
+ import { type ErrorDefinition } from './catalog.js';
8
+ /**
9
+ * Location information for an error
10
+ */
11
+ export interface ErrorLocation {
12
+ /** File path where the error occurred */
13
+ readonly file?: string;
14
+ /** Line number (1-indexed) */
15
+ readonly line?: number;
16
+ /** Column number (1-indexed) */
17
+ readonly column?: number;
18
+ }
19
+ /**
20
+ * Options for creating a VeloxError
21
+ */
22
+ export interface VeloxErrorOptions {
23
+ /** Custom message (overrides catalog message) */
24
+ message?: string;
25
+ /** Suggested fix (overrides catalog fix) */
26
+ fix?: string;
27
+ /** Location where the error occurred */
28
+ location?: ErrorLocation;
29
+ /** Additional context/details */
30
+ details?: Record<string, unknown>;
31
+ /** Original error that caused this error */
32
+ cause?: Error;
33
+ }
34
+ /**
35
+ * Base error class for all VeloxTS CLI errors.
36
+ *
37
+ * Features:
38
+ * - Error codes from central catalog (E1001, E2001, etc.)
39
+ * - Optional fix suggestions
40
+ * - Optional location information
41
+ * - JSON serialization for --json output
42
+ * - Formatted console output with colors
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * // Using a catalog code
47
+ * throw new VeloxError('E2001');
48
+ *
49
+ * // With custom message and location
50
+ * throw new VeloxError('E5003', {
51
+ * message: 'Failed to compile users.ts',
52
+ * location: { file: 'src/procedures/users.ts', line: 42 }
53
+ * });
54
+ *
55
+ * // Using factory methods
56
+ * throw VeloxError.notFound('User', '123');
57
+ * ```
58
+ */
59
+ export declare class VeloxError extends Error {
60
+ /** Error code (e.g., 'E2001') */
61
+ readonly code: string;
62
+ /** Error name from catalog (e.g., 'NOT_IN_PROJECT') */
63
+ readonly errorName: string;
64
+ /** Suggested fix for the error */
65
+ readonly fix?: string;
66
+ /** URL to documentation about this error */
67
+ readonly docsUrl?: string;
68
+ /** Location where the error occurred */
69
+ readonly location?: ErrorLocation;
70
+ /** Additional context/details */
71
+ readonly details?: Record<string, unknown>;
72
+ constructor(code: string, options?: VeloxErrorOptions);
73
+ /**
74
+ * Format error for console display with colors
75
+ */
76
+ format(): string;
77
+ /**
78
+ * Format error for console display without colors
79
+ */
80
+ formatPlain(): string;
81
+ /**
82
+ * Convert to JSON for --json output
83
+ */
84
+ toJSON(): Record<string, unknown>;
85
+ /**
86
+ * Create a NOT_FOUND error (E1001)
87
+ */
88
+ static notFound(resource: string, id?: string): VeloxError;
89
+ /**
90
+ * Create a VALIDATION_FAILED error (E1002)
91
+ */
92
+ static validation(message: string, details?: Record<string, unknown>): VeloxError;
93
+ /**
94
+ * Create an UNAUTHORIZED error (E1003)
95
+ */
96
+ static unauthorized(message?: string): VeloxError;
97
+ /**
98
+ * Create a FORBIDDEN error (E1004)
99
+ */
100
+ static forbidden(message?: string): VeloxError;
101
+ /**
102
+ * Create a CONFLICT error (E1005)
103
+ */
104
+ static conflict(message: string, details?: Record<string, unknown>): VeloxError;
105
+ /**
106
+ * Create an INTERNAL_ERROR (E1006)
107
+ */
108
+ static internal(message: string, cause?: Error): VeloxError;
109
+ /**
110
+ * Check if an error is a VeloxError
111
+ */
112
+ static isVeloxError(error: unknown): error is VeloxError;
113
+ /**
114
+ * Get all available error codes
115
+ */
116
+ static getCodes(): string[];
117
+ /**
118
+ * Get error definition from catalog
119
+ */
120
+ static getDefinition(code: string): ErrorDefinition | undefined;
121
+ }
122
+ //# sourceMappingURL=velox-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velox-error.d.ts","sourceRoot":"","sources":["../../src/errors/velox-error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAiB,KAAK,eAAe,EAAsB,MAAM,cAAc,CAAC;AAMvF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAMD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,iCAAiC;IACjC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,uDAAuD;IACvD,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,kCAAkC;IAClC,SAAgB,GAAG,CAAC,EAAE,MAAM,CAAC;IAE7B,4CAA4C;IAC5C,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjC,wCAAwC;IACxC,SAAgB,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzC,iCAAiC;IACjC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEtC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAmBrD;;OAEG;IACH,MAAM,IAAI,MAAM;IAyChB;;OAEG;IACH,WAAW,IAAI,MAAM;IAwCrB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAgBjC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU;IAQ1D;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU;IAIjF;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,SAA4B,GAAG,UAAU;IAIpE;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,SAAkB,GAAG,UAAU;IAIvD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU;IAI/E;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,UAAU;IAQ3D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU;IAIxD;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,MAAM,EAAE;IAI3B;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;CAGhE"}