@loomstack/core 0.0.1 → 0.0.2

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 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: "implementation-plan/docs/10-verifier-and-error-system.md";
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: "implementation-plan/docs/03-feature-contract.md";
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: "implementation-plan/docs/05-action-query-runtime.md";
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: "implementation-plan/docs/05-action-query-runtime.md";
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: "implementation-plan/docs/03-feature-contract.md";
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: "implementation-plan/docs/03-feature-contract.md";
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: "implementation-plan/docs/05-action-query-runtime.md";
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: "implementation-plan/docs/05-action-query-runtime.md";
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: "implementation-plan/docs/06-react-frontend-adapter.md";
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: "implementation-plan/docs/04-schema-and-domain-layer.md";
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: "implementation-plan/docs/03-feature-contract.md";
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: "implementation-plan/docs/10-verifier-and-error-system.md";
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: "implementation-plan/docs/10-verifier-and-error-system.md";
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: "implementation-plan/docs/10-verifier-and-error-system.md";
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: "implementation-plan/docs/05-action-query-runtime.md";
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: "implementation-plan/docs/05-action-query-runtime.md";
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: "implementation-plan/docs/05-action-query-runtime.md";
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: "implementation-plan/docs/07-koa-backend-adapter.md";
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: "implementation-plan/docs/07-koa-backend-adapter.md";
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: "implementation-plan/docs/07-koa-backend-adapter.md";
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: "implementation-plan/docs/09-code-generation.md";
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: "implementation-plan/docs/09-code-generation.md";
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: "implementation-plan/docs/02-repository-structure.md";
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: "implementation-plan/docs/08-cli-specification.md";
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: "implementation-plan/docs/02-repository-structure.md";
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: "implementation-plan/docs/04-schema-and-domain-layer.md";
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: "implementation-plan/docs/10-verifier-and-error-system.md";
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: "implementation-plan/docs/03-feature-contract.md";
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: "implementation-plan/docs/05-action-query-runtime.md";
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: "implementation-plan/docs/05-action-query-runtime.md";
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: "implementation-plan/docs/03-feature-contract.md";
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: "implementation-plan/docs/03-feature-contract.md";
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: "implementation-plan/docs/05-action-query-runtime.md";
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: "implementation-plan/docs/05-action-query-runtime.md";
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: "implementation-plan/docs/06-react-frontend-adapter.md";
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: "implementation-plan/docs/04-schema-and-domain-layer.md";
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: "implementation-plan/docs/03-feature-contract.md";
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: "implementation-plan/docs/10-verifier-and-error-system.md";
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: "implementation-plan/docs/10-verifier-and-error-system.md";
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: "implementation-plan/docs/10-verifier-and-error-system.md";
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: "implementation-plan/docs/05-action-query-runtime.md";
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: "implementation-plan/docs/05-action-query-runtime.md";
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: "implementation-plan/docs/05-action-query-runtime.md";
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: "implementation-plan/docs/07-koa-backend-adapter.md";
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: "implementation-plan/docs/07-koa-backend-adapter.md";
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: "implementation-plan/docs/07-koa-backend-adapter.md";
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: "implementation-plan/docs/09-code-generation.md";
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: "implementation-plan/docs/09-code-generation.md";
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: "implementation-plan/docs/02-repository-structure.md";
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: "implementation-plan/docs/08-cli-specification.md";
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: "implementation-plan/docs/02-repository-structure.md";
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: "implementation-plan/docs/04-schema-and-domain-layer.md";
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: "implementation-plan/docs/10-verifier-and-error-system.md"
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: "implementation-plan/docs/03-feature-contract.md"
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: "implementation-plan/docs/05-action-query-runtime.md"
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: "implementation-plan/docs/05-action-query-runtime.md"
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: "implementation-plan/docs/03-feature-contract.md"
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: "implementation-plan/docs/03-feature-contract.md"
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: "implementation-plan/docs/05-action-query-runtime.md"
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: "implementation-plan/docs/05-action-query-runtime.md"
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: "implementation-plan/docs/06-react-frontend-adapter.md"
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: "implementation-plan/docs/04-schema-and-domain-layer.md"
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: "implementation-plan/docs/03-feature-contract.md"
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: "implementation-plan/docs/10-verifier-and-error-system.md"
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: "implementation-plan/docs/10-verifier-and-error-system.md"
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: "implementation-plan/docs/10-verifier-and-error-system.md"
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: "implementation-plan/docs/05-action-query-runtime.md"
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: "implementation-plan/docs/05-action-query-runtime.md"
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: "implementation-plan/docs/05-action-query-runtime.md"
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: "implementation-plan/docs/07-koa-backend-adapter.md"
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: "implementation-plan/docs/07-koa-backend-adapter.md"
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: "implementation-plan/docs/07-koa-backend-adapter.md"
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: "implementation-plan/docs/09-code-generation.md"
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: "implementation-plan/docs/09-code-generation.md"
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: "implementation-plan/docs/02-repository-structure.md"
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: "implementation-plan/docs/08-cli-specification.md"
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: "implementation-plan/docs/02-repository-structure.md"
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: "implementation-plan/docs/04-schema-and-domain-layer.md"
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 = {}) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loomstack/core",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {