@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.
- package/README.md +2 -48
- package/dist/cli.d.ts +5 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +7 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +71 -7
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/introspect.d.ts +16 -0
- package/dist/commands/introspect.d.ts.map +1 -0
- package/dist/commands/introspect.js +559 -0
- package/dist/commands/introspect.js.map +1 -0
- package/dist/commands/make.d.ts.map +1 -1
- package/dist/commands/make.js +18 -8
- package/dist/commands/make.js.map +1 -1
- package/dist/commands/procedures.d.ts.map +1 -1
- package/dist/commands/procedures.js +16 -0
- package/dist/commands/procedures.js.map +1 -1
- package/dist/dev/error-parser.d.ts.map +1 -1
- package/dist/dev/error-parser.js +24 -8
- package/dist/dev/error-parser.js.map +1 -1
- package/dist/dev/hmr-runner.d.ts.map +1 -1
- package/dist/dev/hmr-runner.js +6 -1
- package/dist/dev/hmr-runner.js.map +1 -1
- package/dist/dev/index.d.ts +3 -3
- package/dist/dev/index.d.ts.map +1 -1
- package/dist/dev/index.js +3 -3
- package/dist/dev/index.js.map +1 -1
- package/dist/dev/reload-reporter.d.ts +2 -2
- package/dist/dev/reload-reporter.d.ts.map +1 -1
- package/dist/dev/reload-reporter.js +2 -2
- package/dist/dev/reload-reporter.js.map +1 -1
- package/dist/errors/catalog.d.ts +48 -0
- package/dist/errors/catalog.d.ts.map +1 -0
- package/dist/errors/catalog.js +421 -0
- package/dist/errors/catalog.js.map +1 -0
- package/dist/errors/index.d.ts +26 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +28 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/velox-error.d.ts +122 -0
- package/dist/errors/velox-error.d.ts.map +1 -0
- package/dist/errors/velox-error.js +216 -0
- package/dist/errors/velox-error.js.map +1 -0
- package/dist/generators/base.d.ts.map +1 -1
- package/dist/generators/base.js +26 -0
- package/dist/generators/base.js.map +1 -1
- package/dist/generators/fields/__tests__/helpers.d.ts +66 -0
- package/dist/generators/fields/__tests__/helpers.d.ts.map +1 -0
- package/dist/generators/fields/__tests__/helpers.js +142 -0
- package/dist/generators/fields/__tests__/helpers.js.map +1 -0
- package/dist/generators/fields/actions.d.ts +58 -0
- package/dist/generators/fields/actions.d.ts.map +1 -0
- package/dist/generators/fields/actions.js +230 -0
- package/dist/generators/fields/actions.js.map +1 -0
- package/dist/generators/fields/display.d.ts +28 -0
- package/dist/generators/fields/display.d.ts.map +1 -0
- package/dist/generators/fields/display.js +214 -0
- package/dist/generators/fields/display.js.map +1 -0
- package/dist/generators/fields/index.d.ts +12 -0
- package/dist/generators/fields/index.d.ts.map +1 -0
- package/dist/generators/fields/index.js +12 -0
- package/dist/generators/fields/index.js.map +1 -0
- package/dist/generators/fields/prompts.d.ts +31 -0
- package/dist/generators/fields/prompts.d.ts.map +1 -0
- package/dist/generators/fields/prompts.js +366 -0
- package/dist/generators/fields/prompts.js.map +1 -0
- package/dist/generators/fields/templates.d.ts +49 -0
- package/dist/generators/fields/templates.d.ts.map +1 -0
- package/dist/generators/fields/templates.js +230 -0
- package/dist/generators/fields/templates.js.map +1 -0
- package/dist/generators/fields/types.d.ts +95 -0
- package/dist/generators/fields/types.d.ts.map +1 -0
- package/dist/generators/fields/types.js +150 -0
- package/dist/generators/fields/types.js.map +1 -0
- package/dist/generators/generators/action.d.ts +37 -0
- package/dist/generators/generators/action.d.ts.map +1 -0
- package/dist/generators/generators/action.js +109 -0
- package/dist/generators/generators/action.js.map +1 -0
- package/dist/generators/generators/exception.d.ts +38 -0
- package/dist/generators/generators/exception.d.ts.map +1 -0
- package/dist/generators/generators/exception.js +109 -0
- package/dist/generators/generators/exception.js.map +1 -0
- package/dist/generators/generators/guard.d.ts +38 -0
- package/dist/generators/generators/guard.d.ts.map +1 -0
- package/dist/generators/generators/guard.js +109 -0
- package/dist/generators/generators/guard.js.map +1 -0
- package/dist/generators/generators/index.d.ts +8 -0
- package/dist/generators/generators/index.d.ts.map +1 -1
- package/dist/generators/generators/index.js +27 -0
- package/dist/generators/generators/index.js.map +1 -1
- package/dist/generators/generators/layout.d.ts +36 -0
- package/dist/generators/generators/layout.d.ts.map +1 -0
- package/dist/generators/generators/layout.js +111 -0
- package/dist/generators/generators/layout.js.map +1 -0
- package/dist/generators/generators/middleware.d.ts +38 -0
- package/dist/generators/generators/middleware.d.ts.map +1 -0
- package/dist/generators/generators/middleware.js +109 -0
- package/dist/generators/generators/middleware.js.map +1 -0
- package/dist/generators/generators/model.d.ts +16 -4
- package/dist/generators/generators/model.d.ts.map +1 -1
- package/dist/generators/generators/model.js +88 -7
- package/dist/generators/generators/model.js.map +1 -1
- package/dist/generators/generators/page.d.ts +36 -0
- package/dist/generators/generators/page.d.ts.map +1 -0
- package/dist/generators/generators/page.js +112 -0
- package/dist/generators/generators/page.js.map +1 -0
- package/dist/generators/generators/policy.d.ts +37 -0
- package/dist/generators/generators/policy.d.ts.map +1 -0
- package/dist/generators/generators/policy.js +100 -0
- package/dist/generators/generators/policy.js.map +1 -0
- package/dist/generators/generators/resource.d.ts +42 -4
- package/dist/generators/generators/resource.d.ts.map +1 -1
- package/dist/generators/generators/resource.js +450 -9
- package/dist/generators/generators/resource.js.map +1 -1
- package/dist/generators/generators/service.d.ts +38 -0
- package/dist/generators/generators/service.d.ts.map +1 -0
- package/dist/generators/generators/service.js +109 -0
- package/dist/generators/generators/service.js.map +1 -0
- package/dist/generators/registry.d.ts.map +1 -1
- package/dist/generators/registry.js +10 -1
- package/dist/generators/registry.js.map +1 -1
- package/dist/generators/templates/action.d.ts +28 -0
- package/dist/generators/templates/action.d.ts.map +1 -0
- package/dist/generators/templates/action.js +359 -0
- package/dist/generators/templates/action.js.map +1 -0
- package/dist/generators/templates/exception.d.ts +26 -0
- package/dist/generators/templates/exception.d.ts.map +1 -0
- package/dist/generators/templates/exception.js +671 -0
- package/dist/generators/templates/exception.js.map +1 -0
- package/dist/generators/templates/guard.d.ts +26 -0
- package/dist/generators/templates/guard.d.ts.map +1 -0
- package/dist/generators/templates/guard.js +555 -0
- package/dist/generators/templates/guard.js.map +1 -0
- package/dist/generators/templates/layout.d.ts +28 -0
- package/dist/generators/templates/layout.d.ts.map +1 -0
- package/dist/generators/templates/layout.js +147 -0
- package/dist/generators/templates/layout.js.map +1 -0
- package/dist/generators/templates/middleware.d.ts +26 -0
- package/dist/generators/templates/middleware.d.ts.map +1 -0
- package/dist/generators/templates/middleware.js +411 -0
- package/dist/generators/templates/middleware.js.map +1 -0
- package/dist/generators/templates/model.d.ts +3 -0
- package/dist/generators/templates/model.d.ts.map +1 -1
- package/dist/generators/templates/model.js +183 -28
- package/dist/generators/templates/model.js.map +1 -1
- package/dist/generators/templates/page.d.ts +36 -0
- package/dist/generators/templates/page.d.ts.map +1 -0
- package/dist/generators/templates/page.js +147 -0
- package/dist/generators/templates/page.js.map +1 -0
- package/dist/generators/templates/policy.d.ts +24 -0
- package/dist/generators/templates/policy.d.ts.map +1 -0
- package/dist/generators/templates/policy.js +499 -0
- package/dist/generators/templates/policy.js.map +1 -0
- package/dist/generators/templates/resource.d.ts +65 -0
- package/dist/generators/templates/resource.d.ts.map +1 -1
- package/dist/generators/templates/resource.js +228 -43
- package/dist/generators/templates/resource.js.map +1 -1
- package/dist/generators/templates/service.d.ts +26 -0
- package/dist/generators/templates/service.d.ts.map +1 -0
- package/dist/generators/templates/service.js +511 -0
- package/dist/generators/templates/service.js.map +1 -0
- package/dist/generators/types.d.ts +26 -14
- package/dist/generators/types.d.ts.map +1 -1
- package/dist/generators/types.js +8 -25
- package/dist/generators/types.js.map +1 -1
- package/dist/generators/utils/ast-helpers.d.ts +147 -0
- package/dist/generators/utils/ast-helpers.d.ts.map +1 -0
- package/dist/generators/utils/ast-helpers.js +350 -0
- package/dist/generators/utils/ast-helpers.js.map +1 -0
- package/dist/generators/utils/prisma-migration.d.ts +59 -0
- package/dist/generators/utils/prisma-migration.d.ts.map +1 -0
- package/dist/generators/utils/prisma-migration.js +161 -0
- package/dist/generators/utils/prisma-migration.js.map +1 -0
- package/dist/generators/utils/prisma-schema.d.ts +97 -0
- package/dist/generators/utils/prisma-schema.d.ts.map +1 -0
- package/dist/generators/utils/prisma-schema.js +235 -0
- package/dist/generators/utils/prisma-schema.js.map +1 -0
- package/dist/generators/utils/router-integration.d.ts +70 -0
- package/dist/generators/utils/router-integration.d.ts.map +1 -0
- package/dist/generators/utils/router-integration.js +305 -0
- package/dist/generators/utils/router-integration.js.map +1 -0
- package/dist/generators/utils/snapshot.d.ts +93 -0
- package/dist/generators/utils/snapshot.d.ts.map +1 -0
- package/dist/generators/utils/snapshot.js +178 -0
- package/dist/generators/utils/snapshot.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/seeding/errors.d.ts +11 -24
- package/dist/seeding/errors.d.ts.map +1 -1
- package/dist/seeding/errors.js +11 -50
- package/dist/seeding/errors.js.map +1 -1
- package/dist/utils/paths.d.ts +19 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +45 -0
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/schema-patterns.d.ts +26 -0
- package/dist/utils/schema-patterns.d.ts.map +1 -0
- package/dist/utils/schema-patterns.js +40 -0
- package/dist/utils/schema-patterns.js.map +1 -0
- 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"}
|