@loomstack/core 0.0.1 → 0.0.4
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/dist/index.d.ts +52 -52
- package/dist/index.js +26 -26
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -112,157 +112,157 @@ declare const ERROR_CATALOG: {
|
|
|
112
112
|
readonly title: "Feature ID does not match folder name";
|
|
113
113
|
readonly defaultMessage: "The feature manifest ID must match its folder name.";
|
|
114
114
|
readonly repair: "Rename the folder or update feature.yaml so the feature ID matches the folder name.";
|
|
115
|
-
readonly docs: "
|
|
115
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#verification-and-errors";
|
|
116
116
|
};
|
|
117
117
|
readonly loomstack1002: {
|
|
118
118
|
readonly title: "Missing or invalid feature manifest field";
|
|
119
119
|
readonly defaultMessage: "A required feature manifest field is missing or invalid.";
|
|
120
120
|
readonly repair: "Add the required field to feature.yaml using the canonical manifest shape.";
|
|
121
|
-
readonly docs: "
|
|
121
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#feature-contracts";
|
|
122
122
|
};
|
|
123
123
|
readonly loomstack1003: {
|
|
124
124
|
readonly title: "Manifest action is not exported";
|
|
125
125
|
readonly defaultMessage: "An action declared in the manifest has no implementation.";
|
|
126
126
|
readonly repair: "Create the action file or update the manifest action name.";
|
|
127
|
-
readonly docs: "
|
|
127
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies";
|
|
128
128
|
};
|
|
129
129
|
readonly loomstack1004: {
|
|
130
130
|
readonly title: "Exported action is missing from manifest";
|
|
131
131
|
readonly defaultMessage: "An exported action is not declared in feature.yaml.";
|
|
132
132
|
readonly repair: "Add the action name to feature.yaml or remove the action implementation.";
|
|
133
|
-
readonly docs: "
|
|
133
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies";
|
|
134
134
|
};
|
|
135
135
|
readonly loomstack1005: {
|
|
136
136
|
readonly title: "Duplicate route path";
|
|
137
137
|
readonly defaultMessage: "Route paths must be globally unique.";
|
|
138
138
|
readonly repair: "Change one route path so every route path is globally unique.";
|
|
139
|
-
readonly docs: "
|
|
139
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#feature-contracts";
|
|
140
140
|
};
|
|
141
141
|
readonly loomstack1006: {
|
|
142
142
|
readonly title: "Invalid feature manifest YAML";
|
|
143
143
|
readonly defaultMessage: "feature.yaml could not be parsed.";
|
|
144
144
|
readonly repair: "Fix the YAML syntax and run loomstack verify again.";
|
|
145
|
-
readonly docs: "
|
|
145
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#feature-contracts";
|
|
146
146
|
};
|
|
147
147
|
readonly loomstack1007: {
|
|
148
148
|
readonly title: "Manifest query is not exported";
|
|
149
149
|
readonly defaultMessage: "A query declared in the manifest has no implementation.";
|
|
150
150
|
readonly repair: "Create the query file or update the manifest query name.";
|
|
151
|
-
readonly docs: "
|
|
151
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies";
|
|
152
152
|
};
|
|
153
153
|
readonly loomstack1008: {
|
|
154
154
|
readonly title: "Exported query is missing from manifest";
|
|
155
155
|
readonly defaultMessage: "An exported query is not declared in feature.yaml.";
|
|
156
156
|
readonly repair: "Add the query name to feature.yaml or remove the query implementation.";
|
|
157
|
-
readonly docs: "
|
|
157
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies";
|
|
158
158
|
};
|
|
159
159
|
readonly loomstack1009: {
|
|
160
160
|
readonly title: "Manifest view is not exported";
|
|
161
161
|
readonly defaultMessage: "A route references a view that does not exist.";
|
|
162
162
|
readonly repair: "Create the declared *.view.tsx file or update the route view in feature.yaml.";
|
|
163
|
-
readonly docs: "
|
|
163
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#react-presentation";
|
|
164
164
|
};
|
|
165
165
|
readonly loomstack1010: {
|
|
166
166
|
readonly title: "Manifest entity is not exported";
|
|
167
167
|
readonly defaultMessage: "An entity declared in the manifest has no schema export.";
|
|
168
168
|
readonly repair: "Export the entity from model.schema.ts or update the manifest entity name.";
|
|
169
|
-
readonly docs: "
|
|
169
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#schemas-and-persistence";
|
|
170
170
|
};
|
|
171
171
|
readonly loomstack1011: {
|
|
172
172
|
readonly title: "Invalid feature name";
|
|
173
173
|
readonly defaultMessage: "Feature IDs must be kebab-case.";
|
|
174
174
|
readonly repair: "Use a lowercase kebab-case feature name such as project-notes.";
|
|
175
|
-
readonly docs: "
|
|
175
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#feature-contracts";
|
|
176
176
|
};
|
|
177
177
|
readonly loomstack2001: {
|
|
178
178
|
readonly title: "Forbidden database import in UI file";
|
|
179
179
|
readonly defaultMessage: "Database imports are forbidden in React UI files.";
|
|
180
180
|
readonly repair: "Move database access into queries/*.query.ts or actions/*.action.ts.";
|
|
181
|
-
readonly docs: "
|
|
181
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#verification-and-errors";
|
|
182
182
|
};
|
|
183
183
|
readonly loomstack2002: {
|
|
184
184
|
readonly title: "Forbidden raw fetch in UI file";
|
|
185
185
|
readonly defaultMessage: "Raw fetch is forbidden in React UI files.";
|
|
186
186
|
readonly repair: "Use the generated loomstack action/query client.";
|
|
187
|
-
readonly docs: "
|
|
187
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#verification-and-errors";
|
|
188
188
|
};
|
|
189
189
|
readonly loomstack2003: {
|
|
190
190
|
readonly title: "Koa import in feature logic";
|
|
191
191
|
readonly defaultMessage: "Feature logic must be transport-independent.";
|
|
192
192
|
readonly repair: "Remove the Koa dependency and use LoomStackRequestContext.";
|
|
193
|
-
readonly docs: "
|
|
193
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#verification-and-errors";
|
|
194
194
|
};
|
|
195
195
|
readonly loomstack3001: {
|
|
196
196
|
readonly title: "Action input validation failed";
|
|
197
197
|
readonly defaultMessage: "Action input did not match its schema.";
|
|
198
198
|
readonly repair: "Send input matching the action input schema.";
|
|
199
|
-
readonly docs: "
|
|
199
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies";
|
|
200
200
|
};
|
|
201
201
|
readonly loomstack3002: {
|
|
202
202
|
readonly title: "Runtime output validation failed";
|
|
203
203
|
readonly defaultMessage: "Action or query output did not match its schema.";
|
|
204
204
|
readonly repair: "Return a value matching the declared output schema.";
|
|
205
|
-
readonly docs: "
|
|
205
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies";
|
|
206
206
|
};
|
|
207
207
|
readonly loomstack3003: {
|
|
208
208
|
readonly title: "Authentication required";
|
|
209
209
|
readonly defaultMessage: "This operation requires an authenticated user.";
|
|
210
210
|
readonly repair: "Authenticate the request before calling this operation.";
|
|
211
|
-
readonly docs: "
|
|
211
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies";
|
|
212
212
|
};
|
|
213
213
|
readonly loomstack4040: {
|
|
214
214
|
readonly title: "Unknown action";
|
|
215
215
|
readonly defaultMessage: "The requested action is not registered.";
|
|
216
216
|
readonly repair: "Use an action declared in feature.yaml and run loomstack generate.";
|
|
217
|
-
readonly docs: "
|
|
217
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#koa-transport";
|
|
218
218
|
};
|
|
219
219
|
readonly loomstack4041: {
|
|
220
220
|
readonly title: "Unknown query";
|
|
221
221
|
readonly defaultMessage: "The requested query is not registered.";
|
|
222
222
|
readonly repair: "Use a query declared in feature.yaml and run loomstack generate.";
|
|
223
|
-
readonly docs: "
|
|
223
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#koa-transport";
|
|
224
224
|
};
|
|
225
225
|
readonly loomstack4050: {
|
|
226
226
|
readonly title: "Invalid RPC method";
|
|
227
227
|
readonly defaultMessage: "loomstack RPC endpoints accept only HTTP POST.";
|
|
228
228
|
readonly repair: "Send the action or query request with HTTP POST.";
|
|
229
|
-
readonly docs: "
|
|
229
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#koa-transport";
|
|
230
230
|
};
|
|
231
231
|
readonly loomstack4001: {
|
|
232
232
|
readonly title: "Generated file was manually modified";
|
|
233
233
|
readonly defaultMessage: "A generated file does not match its recorded hash.";
|
|
234
234
|
readonly repair: "Run loomstack generate or move custom logic out of the generated file.";
|
|
235
|
-
readonly docs: "
|
|
235
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#generation";
|
|
236
236
|
};
|
|
237
237
|
readonly loomstack4002: {
|
|
238
238
|
readonly title: "Generated file is stale";
|
|
239
239
|
readonly defaultMessage: "Generated output does not match current feature contracts.";
|
|
240
240
|
readonly repair: "Run loomstack generate.";
|
|
241
|
-
readonly docs: "
|
|
241
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#generation";
|
|
242
242
|
};
|
|
243
243
|
readonly loomstack5001: {
|
|
244
244
|
readonly title: "Missing loomstack config";
|
|
245
245
|
readonly defaultMessage: "No loomstack.config.ts was found.";
|
|
246
246
|
readonly repair: "Create loomstack.config.ts or run the command inside a loomstack project.";
|
|
247
|
-
readonly docs: "
|
|
247
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#application-structure";
|
|
248
248
|
};
|
|
249
249
|
readonly loomstack5002: {
|
|
250
250
|
readonly title: "Target already exists";
|
|
251
251
|
readonly defaultMessage: "The requested target already exists.";
|
|
252
252
|
readonly repair: "Choose another name or remove the existing target first.";
|
|
253
|
-
readonly docs: "
|
|
253
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/commands.md#creation";
|
|
254
254
|
};
|
|
255
255
|
readonly loomstack5003: {
|
|
256
256
|
readonly title: "Invalid project configuration";
|
|
257
257
|
readonly defaultMessage: "loomstack.config.ts does not contain the required golden-path values.";
|
|
258
258
|
readonly repair: "Use React, Koa, PostgreSQL, pnpm, and explicit featuresDir/generatedDir values.";
|
|
259
|
-
readonly docs: "
|
|
259
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#application-structure";
|
|
260
260
|
};
|
|
261
261
|
readonly loomstack6001: {
|
|
262
262
|
readonly title: "Unsupported PostgreSQL field";
|
|
263
263
|
readonly defaultMessage: "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
264
264
|
readonly repair: "Use a supported scalar field or provide explicit persistence logic.";
|
|
265
|
-
readonly docs: "
|
|
265
|
+
readonly docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#schemas-and-persistence";
|
|
266
266
|
};
|
|
267
267
|
};
|
|
268
268
|
type ErrorCode = keyof typeof ERROR_CATALOG;
|
|
@@ -282,182 +282,182 @@ declare function explainError(code: string): {
|
|
|
282
282
|
title: "Feature ID does not match folder name";
|
|
283
283
|
defaultMessage: "The feature manifest ID must match its folder name.";
|
|
284
284
|
repair: "Rename the folder or update feature.yaml so the feature ID matches the folder name.";
|
|
285
|
-
docs: "
|
|
285
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#verification-and-errors";
|
|
286
286
|
code: string;
|
|
287
287
|
} | {
|
|
288
288
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
289
289
|
title: "Missing or invalid feature manifest field";
|
|
290
290
|
defaultMessage: "A required feature manifest field is missing or invalid.";
|
|
291
291
|
repair: "Add the required field to feature.yaml using the canonical manifest shape.";
|
|
292
|
-
docs: "
|
|
292
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#feature-contracts";
|
|
293
293
|
code: string;
|
|
294
294
|
} | {
|
|
295
295
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
296
296
|
title: "Manifest action is not exported";
|
|
297
297
|
defaultMessage: "An action declared in the manifest has no implementation.";
|
|
298
298
|
repair: "Create the action file or update the manifest action name.";
|
|
299
|
-
docs: "
|
|
299
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies";
|
|
300
300
|
code: string;
|
|
301
301
|
} | {
|
|
302
302
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
303
303
|
title: "Exported action is missing from manifest";
|
|
304
304
|
defaultMessage: "An exported action is not declared in feature.yaml.";
|
|
305
305
|
repair: "Add the action name to feature.yaml or remove the action implementation.";
|
|
306
|
-
docs: "
|
|
306
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies";
|
|
307
307
|
code: string;
|
|
308
308
|
} | {
|
|
309
309
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
310
310
|
title: "Duplicate route path";
|
|
311
311
|
defaultMessage: "Route paths must be globally unique.";
|
|
312
312
|
repair: "Change one route path so every route path is globally unique.";
|
|
313
|
-
docs: "
|
|
313
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#feature-contracts";
|
|
314
314
|
code: string;
|
|
315
315
|
} | {
|
|
316
316
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
317
317
|
title: "Invalid feature manifest YAML";
|
|
318
318
|
defaultMessage: "feature.yaml could not be parsed.";
|
|
319
319
|
repair: "Fix the YAML syntax and run loomstack verify again.";
|
|
320
|
-
docs: "
|
|
320
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#feature-contracts";
|
|
321
321
|
code: string;
|
|
322
322
|
} | {
|
|
323
323
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
324
324
|
title: "Manifest query is not exported";
|
|
325
325
|
defaultMessage: "A query declared in the manifest has no implementation.";
|
|
326
326
|
repair: "Create the query file or update the manifest query name.";
|
|
327
|
-
docs: "
|
|
327
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies";
|
|
328
328
|
code: string;
|
|
329
329
|
} | {
|
|
330
330
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
331
331
|
title: "Exported query is missing from manifest";
|
|
332
332
|
defaultMessage: "An exported query is not declared in feature.yaml.";
|
|
333
333
|
repair: "Add the query name to feature.yaml or remove the query implementation.";
|
|
334
|
-
docs: "
|
|
334
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies";
|
|
335
335
|
code: string;
|
|
336
336
|
} | {
|
|
337
337
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
338
338
|
title: "Manifest view is not exported";
|
|
339
339
|
defaultMessage: "A route references a view that does not exist.";
|
|
340
340
|
repair: "Create the declared *.view.tsx file or update the route view in feature.yaml.";
|
|
341
|
-
docs: "
|
|
341
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#react-presentation";
|
|
342
342
|
code: string;
|
|
343
343
|
} | {
|
|
344
344
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
345
345
|
title: "Manifest entity is not exported";
|
|
346
346
|
defaultMessage: "An entity declared in the manifest has no schema export.";
|
|
347
347
|
repair: "Export the entity from model.schema.ts or update the manifest entity name.";
|
|
348
|
-
docs: "
|
|
348
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#schemas-and-persistence";
|
|
349
349
|
code: string;
|
|
350
350
|
} | {
|
|
351
351
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
352
352
|
title: "Invalid feature name";
|
|
353
353
|
defaultMessage: "Feature IDs must be kebab-case.";
|
|
354
354
|
repair: "Use a lowercase kebab-case feature name such as project-notes.";
|
|
355
|
-
docs: "
|
|
355
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#feature-contracts";
|
|
356
356
|
code: string;
|
|
357
357
|
} | {
|
|
358
358
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
359
359
|
title: "Forbidden database import in UI file";
|
|
360
360
|
defaultMessage: "Database imports are forbidden in React UI files.";
|
|
361
361
|
repair: "Move database access into queries/*.query.ts or actions/*.action.ts.";
|
|
362
|
-
docs: "
|
|
362
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#verification-and-errors";
|
|
363
363
|
code: string;
|
|
364
364
|
} | {
|
|
365
365
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
366
366
|
title: "Forbidden raw fetch in UI file";
|
|
367
367
|
defaultMessage: "Raw fetch is forbidden in React UI files.";
|
|
368
368
|
repair: "Use the generated loomstack action/query client.";
|
|
369
|
-
docs: "
|
|
369
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#verification-and-errors";
|
|
370
370
|
code: string;
|
|
371
371
|
} | {
|
|
372
372
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
373
373
|
title: "Koa import in feature logic";
|
|
374
374
|
defaultMessage: "Feature logic must be transport-independent.";
|
|
375
375
|
repair: "Remove the Koa dependency and use LoomStackRequestContext.";
|
|
376
|
-
docs: "
|
|
376
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#verification-and-errors";
|
|
377
377
|
code: string;
|
|
378
378
|
} | {
|
|
379
379
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
380
380
|
title: "Action input validation failed";
|
|
381
381
|
defaultMessage: "Action input did not match its schema.";
|
|
382
382
|
repair: "Send input matching the action input schema.";
|
|
383
|
-
docs: "
|
|
383
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies";
|
|
384
384
|
code: string;
|
|
385
385
|
} | {
|
|
386
386
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
387
387
|
title: "Runtime output validation failed";
|
|
388
388
|
defaultMessage: "Action or query output did not match its schema.";
|
|
389
389
|
repair: "Return a value matching the declared output schema.";
|
|
390
|
-
docs: "
|
|
390
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies";
|
|
391
391
|
code: string;
|
|
392
392
|
} | {
|
|
393
393
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
394
394
|
title: "Authentication required";
|
|
395
395
|
defaultMessage: "This operation requires an authenticated user.";
|
|
396
396
|
repair: "Authenticate the request before calling this operation.";
|
|
397
|
-
docs: "
|
|
397
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies";
|
|
398
398
|
code: string;
|
|
399
399
|
} | {
|
|
400
400
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
401
401
|
title: "Unknown action";
|
|
402
402
|
defaultMessage: "The requested action is not registered.";
|
|
403
403
|
repair: "Use an action declared in feature.yaml and run loomstack generate.";
|
|
404
|
-
docs: "
|
|
404
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#koa-transport";
|
|
405
405
|
code: string;
|
|
406
406
|
} | {
|
|
407
407
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
408
408
|
title: "Unknown query";
|
|
409
409
|
defaultMessage: "The requested query is not registered.";
|
|
410
410
|
repair: "Use a query declared in feature.yaml and run loomstack generate.";
|
|
411
|
-
docs: "
|
|
411
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#koa-transport";
|
|
412
412
|
code: string;
|
|
413
413
|
} | {
|
|
414
414
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
415
415
|
title: "Invalid RPC method";
|
|
416
416
|
defaultMessage: "loomstack RPC endpoints accept only HTTP POST.";
|
|
417
417
|
repair: "Send the action or query request with HTTP POST.";
|
|
418
|
-
docs: "
|
|
418
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#koa-transport";
|
|
419
419
|
code: string;
|
|
420
420
|
} | {
|
|
421
421
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
422
422
|
title: "Generated file was manually modified";
|
|
423
423
|
defaultMessage: "A generated file does not match its recorded hash.";
|
|
424
424
|
repair: "Run loomstack generate or move custom logic out of the generated file.";
|
|
425
|
-
docs: "
|
|
425
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#generation";
|
|
426
426
|
code: string;
|
|
427
427
|
} | {
|
|
428
428
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
429
429
|
title: "Generated file is stale";
|
|
430
430
|
defaultMessage: "Generated output does not match current feature contracts.";
|
|
431
431
|
repair: "Run loomstack generate.";
|
|
432
|
-
docs: "
|
|
432
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#generation";
|
|
433
433
|
code: string;
|
|
434
434
|
} | {
|
|
435
435
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
436
436
|
title: "Missing loomstack config";
|
|
437
437
|
defaultMessage: "No loomstack.config.ts was found.";
|
|
438
438
|
repair: "Create loomstack.config.ts or run the command inside a loomstack project.";
|
|
439
|
-
docs: "
|
|
439
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#application-structure";
|
|
440
440
|
code: string;
|
|
441
441
|
} | {
|
|
442
442
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
443
443
|
title: "Target already exists";
|
|
444
444
|
defaultMessage: "The requested target already exists.";
|
|
445
445
|
repair: "Choose another name or remove the existing target first.";
|
|
446
|
-
docs: "
|
|
446
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/commands.md#creation";
|
|
447
447
|
code: string;
|
|
448
448
|
} | {
|
|
449
449
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
450
450
|
title: "Invalid project configuration";
|
|
451
451
|
defaultMessage: "loomstack.config.ts does not contain the required golden-path values.";
|
|
452
452
|
repair: "Use React, Koa, PostgreSQL, pnpm, and explicit featuresDir/generatedDir values.";
|
|
453
|
-
docs: "
|
|
453
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#application-structure";
|
|
454
454
|
code: string;
|
|
455
455
|
} | {
|
|
456
456
|
why: "The feature manifest ID must match its folder name." | "A required feature manifest field is missing or invalid." | "An action declared in the manifest has no implementation." | "An exported action is not declared in feature.yaml." | "Route paths must be globally unique." | "feature.yaml could not be parsed." | "A query declared in the manifest has no implementation." | "An exported query is not declared in feature.yaml." | "A route references a view that does not exist." | "An entity declared in the manifest has no schema export." | "Feature IDs must be kebab-case." | "Database imports are forbidden in React UI files." | "Raw fetch is forbidden in React UI files." | "Feature logic must be transport-independent." | "Action input did not match its schema." | "Action or query output did not match its schema." | "This operation requires an authenticated user." | "The requested action is not registered." | "The requested query is not registered." | "loomstack RPC endpoints accept only HTTP POST." | "A generated file does not match its recorded hash." | "Generated output does not match current feature contracts." | "No loomstack.config.ts was found." | "The requested target already exists." | "loomstack.config.ts does not contain the required golden-path values." | "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
457
457
|
title: "Unsupported PostgreSQL field";
|
|
458
458
|
defaultMessage: "An entity field cannot be represented by the v0.1 PostgreSQL adapter.";
|
|
459
459
|
repair: "Use a supported scalar field or provide explicit persistence logic.";
|
|
460
|
-
docs: "
|
|
460
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#schemas-and-persistence";
|
|
461
461
|
code: string;
|
|
462
462
|
} | undefined;
|
|
463
463
|
|
package/dist/index.js
CHANGED
|
@@ -4,157 +4,157 @@ var ERROR_CATALOG = {
|
|
|
4
4
|
title: "Feature ID does not match folder name",
|
|
5
5
|
defaultMessage: "The feature manifest ID must match its folder name.",
|
|
6
6
|
repair: "Rename the folder or update feature.yaml so the feature ID matches the folder name.",
|
|
7
|
-
docs: "
|
|
7
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#verification-and-errors"
|
|
8
8
|
},
|
|
9
9
|
loomstack1002: {
|
|
10
10
|
title: "Missing or invalid feature manifest field",
|
|
11
11
|
defaultMessage: "A required feature manifest field is missing or invalid.",
|
|
12
12
|
repair: "Add the required field to feature.yaml using the canonical manifest shape.",
|
|
13
|
-
docs: "
|
|
13
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#feature-contracts"
|
|
14
14
|
},
|
|
15
15
|
loomstack1003: {
|
|
16
16
|
title: "Manifest action is not exported",
|
|
17
17
|
defaultMessage: "An action declared in the manifest has no implementation.",
|
|
18
18
|
repair: "Create the action file or update the manifest action name.",
|
|
19
|
-
docs: "
|
|
19
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies"
|
|
20
20
|
},
|
|
21
21
|
loomstack1004: {
|
|
22
22
|
title: "Exported action is missing from manifest",
|
|
23
23
|
defaultMessage: "An exported action is not declared in feature.yaml.",
|
|
24
24
|
repair: "Add the action name to feature.yaml or remove the action implementation.",
|
|
25
|
-
docs: "
|
|
25
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies"
|
|
26
26
|
},
|
|
27
27
|
loomstack1005: {
|
|
28
28
|
title: "Duplicate route path",
|
|
29
29
|
defaultMessage: "Route paths must be globally unique.",
|
|
30
30
|
repair: "Change one route path so every route path is globally unique.",
|
|
31
|
-
docs: "
|
|
31
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#feature-contracts"
|
|
32
32
|
},
|
|
33
33
|
loomstack1006: {
|
|
34
34
|
title: "Invalid feature manifest YAML",
|
|
35
35
|
defaultMessage: "feature.yaml could not be parsed.",
|
|
36
36
|
repair: "Fix the YAML syntax and run loomstack verify again.",
|
|
37
|
-
docs: "
|
|
37
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#feature-contracts"
|
|
38
38
|
},
|
|
39
39
|
loomstack1007: {
|
|
40
40
|
title: "Manifest query is not exported",
|
|
41
41
|
defaultMessage: "A query declared in the manifest has no implementation.",
|
|
42
42
|
repair: "Create the query file or update the manifest query name.",
|
|
43
|
-
docs: "
|
|
43
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies"
|
|
44
44
|
},
|
|
45
45
|
loomstack1008: {
|
|
46
46
|
title: "Exported query is missing from manifest",
|
|
47
47
|
defaultMessage: "An exported query is not declared in feature.yaml.",
|
|
48
48
|
repair: "Add the query name to feature.yaml or remove the query implementation.",
|
|
49
|
-
docs: "
|
|
49
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies"
|
|
50
50
|
},
|
|
51
51
|
loomstack1009: {
|
|
52
52
|
title: "Manifest view is not exported",
|
|
53
53
|
defaultMessage: "A route references a view that does not exist.",
|
|
54
54
|
repair: "Create the declared *.view.tsx file or update the route view in feature.yaml.",
|
|
55
|
-
docs: "
|
|
55
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#react-presentation"
|
|
56
56
|
},
|
|
57
57
|
loomstack1010: {
|
|
58
58
|
title: "Manifest entity is not exported",
|
|
59
59
|
defaultMessage: "An entity declared in the manifest has no schema export.",
|
|
60
60
|
repair: "Export the entity from model.schema.ts or update the manifest entity name.",
|
|
61
|
-
docs: "
|
|
61
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#schemas-and-persistence"
|
|
62
62
|
},
|
|
63
63
|
loomstack1011: {
|
|
64
64
|
title: "Invalid feature name",
|
|
65
65
|
defaultMessage: "Feature IDs must be kebab-case.",
|
|
66
66
|
repair: "Use a lowercase kebab-case feature name such as project-notes.",
|
|
67
|
-
docs: "
|
|
67
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#feature-contracts"
|
|
68
68
|
},
|
|
69
69
|
loomstack2001: {
|
|
70
70
|
title: "Forbidden database import in UI file",
|
|
71
71
|
defaultMessage: "Database imports are forbidden in React UI files.",
|
|
72
72
|
repair: "Move database access into queries/*.query.ts or actions/*.action.ts.",
|
|
73
|
-
docs: "
|
|
73
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#verification-and-errors"
|
|
74
74
|
},
|
|
75
75
|
loomstack2002: {
|
|
76
76
|
title: "Forbidden raw fetch in UI file",
|
|
77
77
|
defaultMessage: "Raw fetch is forbidden in React UI files.",
|
|
78
78
|
repair: "Use the generated loomstack action/query client.",
|
|
79
|
-
docs: "
|
|
79
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#verification-and-errors"
|
|
80
80
|
},
|
|
81
81
|
loomstack2003: {
|
|
82
82
|
title: "Koa import in feature logic",
|
|
83
83
|
defaultMessage: "Feature logic must be transport-independent.",
|
|
84
84
|
repair: "Remove the Koa dependency and use LoomStackRequestContext.",
|
|
85
|
-
docs: "
|
|
85
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#verification-and-errors"
|
|
86
86
|
},
|
|
87
87
|
loomstack3001: {
|
|
88
88
|
title: "Action input validation failed",
|
|
89
89
|
defaultMessage: "Action input did not match its schema.",
|
|
90
90
|
repair: "Send input matching the action input schema.",
|
|
91
|
-
docs: "
|
|
91
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies"
|
|
92
92
|
},
|
|
93
93
|
loomstack3002: {
|
|
94
94
|
title: "Runtime output validation failed",
|
|
95
95
|
defaultMessage: "Action or query output did not match its schema.",
|
|
96
96
|
repair: "Return a value matching the declared output schema.",
|
|
97
|
-
docs: "
|
|
97
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies"
|
|
98
98
|
},
|
|
99
99
|
loomstack3003: {
|
|
100
100
|
title: "Authentication required",
|
|
101
101
|
defaultMessage: "This operation requires an authenticated user.",
|
|
102
102
|
repair: "Authenticate the request before calling this operation.",
|
|
103
|
-
docs: "
|
|
103
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#actions-queries-and-policies"
|
|
104
104
|
},
|
|
105
105
|
loomstack4040: {
|
|
106
106
|
title: "Unknown action",
|
|
107
107
|
defaultMessage: "The requested action is not registered.",
|
|
108
108
|
repair: "Use an action declared in feature.yaml and run loomstack generate.",
|
|
109
|
-
docs: "
|
|
109
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#koa-transport"
|
|
110
110
|
},
|
|
111
111
|
loomstack4041: {
|
|
112
112
|
title: "Unknown query",
|
|
113
113
|
defaultMessage: "The requested query is not registered.",
|
|
114
114
|
repair: "Use a query declared in feature.yaml and run loomstack generate.",
|
|
115
|
-
docs: "
|
|
115
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#koa-transport"
|
|
116
116
|
},
|
|
117
117
|
loomstack4050: {
|
|
118
118
|
title: "Invalid RPC method",
|
|
119
119
|
defaultMessage: "loomstack RPC endpoints accept only HTTP POST.",
|
|
120
120
|
repair: "Send the action or query request with HTTP POST.",
|
|
121
|
-
docs: "
|
|
121
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#koa-transport"
|
|
122
122
|
},
|
|
123
123
|
loomstack4001: {
|
|
124
124
|
title: "Generated file was manually modified",
|
|
125
125
|
defaultMessage: "A generated file does not match its recorded hash.",
|
|
126
126
|
repair: "Run loomstack generate or move custom logic out of the generated file.",
|
|
127
|
-
docs: "
|
|
127
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#generation"
|
|
128
128
|
},
|
|
129
129
|
loomstack4002: {
|
|
130
130
|
title: "Generated file is stale",
|
|
131
131
|
defaultMessage: "Generated output does not match current feature contracts.",
|
|
132
132
|
repair: "Run loomstack generate.",
|
|
133
|
-
docs: "
|
|
133
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#generation"
|
|
134
134
|
},
|
|
135
135
|
loomstack5001: {
|
|
136
136
|
title: "Missing loomstack config",
|
|
137
137
|
defaultMessage: "No loomstack.config.ts was found.",
|
|
138
138
|
repair: "Create loomstack.config.ts or run the command inside a loomstack project.",
|
|
139
|
-
docs: "
|
|
139
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#application-structure"
|
|
140
140
|
},
|
|
141
141
|
loomstack5002: {
|
|
142
142
|
title: "Target already exists",
|
|
143
143
|
defaultMessage: "The requested target already exists.",
|
|
144
144
|
repair: "Choose another name or remove the existing target first.",
|
|
145
|
-
docs: "
|
|
145
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/commands.md#creation"
|
|
146
146
|
},
|
|
147
147
|
loomstack5003: {
|
|
148
148
|
title: "Invalid project configuration",
|
|
149
149
|
defaultMessage: "loomstack.config.ts does not contain the required golden-path values.",
|
|
150
150
|
repair: "Use React, Koa, PostgreSQL, pnpm, and explicit featuresDir/generatedDir values.",
|
|
151
|
-
docs: "
|
|
151
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#application-structure"
|
|
152
152
|
},
|
|
153
153
|
loomstack6001: {
|
|
154
154
|
title: "Unsupported PostgreSQL field",
|
|
155
155
|
defaultMessage: "An entity field cannot be represented by the v0.1 PostgreSQL adapter.",
|
|
156
156
|
repair: "Use a supported scalar field or provide explicit persistence logic.",
|
|
157
|
-
docs: "
|
|
157
|
+
docs: "https://github.com/DenizOkcu/loomstack/blob/master/docs/architecture.md#schemas-and-persistence"
|
|
158
158
|
}
|
|
159
159
|
};
|
|
160
160
|
function frameworkError(code, options = {}) {
|