velocious 1.0.451 → 1.0.452
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/build/configuration-types.js +23 -0
- package/build/configuration.js +5 -5
- package/build/frontend-model-controller.js +128 -58
- package/build/src/configuration-types.d.ts +56 -0
- package/build/src/configuration-types.d.ts.map +1 -1
- package/build/src/configuration-types.js +21 -1
- package/build/src/configuration.d.ts +9 -17
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +6 -6
- package/build/src/frontend-model-controller.d.ts +26 -3
- package/build/src/frontend-model-controller.d.ts.map +1 -1
- package/build/src/frontend-model-controller.js +117 -61
- package/package.json +1 -1
- package/src/configuration-types.js +23 -0
- package/src/configuration.js +5 -5
- package/src/frontend-model-controller.js +128 -58
package/README.md
CHANGED
|
@@ -583,7 +583,7 @@ const configuration = new Configuration({
|
|
|
583
583
|
|
|
584
584
|
This opt-in is ignored in `production`; production frontend-model responses never include internal exception details.
|
|
585
585
|
|
|
586
|
-
Backends can append client-safe metadata to frontend-model error responses with `configuration.addClientErrorPayloadReporter(...)`. Reporters receive the caught `error`, the current `request`, and a small `context` object, and should only return fields that are safe for clients to see. This is useful for attaching an error-reporting URL while keeping the normal production error message generic:
|
|
586
|
+
Backends can append client-safe metadata to frontend-model error responses with `configuration.addClientErrorPayloadReporter(...)`. Reporters receive the caught `error`, the current `request`, and a small `context` object, and should only return fields that are safe for clients to see. Frontend-model endpoint failures include `context.frontendModelEndpoint`, `action`, `commandType`, `model`, `requestId`, and `expectedError`. This is useful for attaching an error-reporting URL while keeping the normal production error message generic:
|
|
587
587
|
|
|
588
588
|
```js
|
|
589
589
|
configuration.addClientErrorPayloadReporter(async ({error, request, context}) => {
|
|
@@ -1597,7 +1597,7 @@ configuration.getErrorEvents().on("all-error", ({error, errorType}) => {
|
|
|
1597
1597
|
})
|
|
1598
1598
|
```
|
|
1599
1599
|
|
|
1600
|
-
Genuinely unexpected frontend-model command failures reach this bus too. The frontend-model controller catches them to return a client-safe `Request failed.` response, but it also emits them as `framework-error`/`all-error` (with `context.frontendModelEndpoint === true`) so they are reported instead of being silently swallowed. Expected user-flow errors are excluded: validation failures are forwarded with their real message (for example `Name can't be blank`) rather than the generic one, and `error.velocious`-annotated / `safeToExpose` errors keep their
|
|
1600
|
+
Genuinely unexpected frontend-model command failures reach this bus too. The frontend-model controller catches them to return a client-safe `Request failed.` response, but it also emits them as `framework-error`/`all-error` (with `context.frontendModelEndpoint === true`) so they are reported instead of being silently swallowed. Expected user-flow errors are excluded: validation failures are forwarded with their real message (for example `Name can't be blank`) rather than the generic one, and `error.velocious`-annotated / `safeToExpose` / `errorType`-marked errors keep their expected-error status — none of these reach the error bus.
|
|
1601
1601
|
|
|
1602
1602
|
## Use the Websocket client API (HTTP-like)
|
|
1603
1603
|
|
|
@@ -207,6 +207,29 @@
|
|
|
207
207
|
* @typedef {Record<string, string>} VelociousParams
|
|
208
208
|
*/
|
|
209
209
|
|
|
210
|
+
/**
|
|
211
|
+
* @typedef {Record<string, import("./frontend-models/query.js").FrontendModelTransportValue>} ClientErrorPayloadReporterPayload
|
|
212
|
+
*/
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* @typedef {object} ClientErrorPayloadContext
|
|
216
|
+
* @property {string} controller - Controller class name.
|
|
217
|
+
* @property {string} [action] - Controller action or endpoint label.
|
|
218
|
+
* @property {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url" | "custom-command"} [commandType] - Frontend-model command type.
|
|
219
|
+
* @property {boolean} [expectedError] - Whether the error is an expected user-flow failure.
|
|
220
|
+
* @property {boolean} [frontendModelEndpoint] - Whether the error came from the frontend-model endpoint.
|
|
221
|
+
* @property {string} [model] - Frontend-model name from the failed request.
|
|
222
|
+
* @property {string} [requestId] - Shared frontend-model request id.
|
|
223
|
+
*/
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* @typedef {function({
|
|
227
|
+
* context: ClientErrorPayloadContext,
|
|
228
|
+
* error: Error,
|
|
229
|
+
* request: import("./http-server/client/request.js").default | import("./http-server/client/websocket-request.js").default | undefined
|
|
230
|
+
* }): Promise<ClientErrorPayloadReporterPayload | void> | ClientErrorPayloadReporterPayload | void} ClientErrorPayloadReporterType
|
|
231
|
+
*/
|
|
232
|
+
|
|
210
233
|
/**
|
|
211
234
|
* @typedef {Record<string, unknown> & {configuration?: import("./configuration.js").default, currentUser?: unknown, params?: VelociousParams, request?: import("./http-server/client/request.js").default | import("./http-server/client/websocket-request.js").default}} VelociousLooseObject
|
|
212
235
|
*/
|
package/build/configuration.js
CHANGED
|
@@ -143,7 +143,7 @@ export default class VelociousConfiguration {
|
|
|
143
143
|
this._scheduledBackgroundJobs = scheduledBackgroundJobs
|
|
144
144
|
this._attachments = attachments || {}
|
|
145
145
|
this._backendProjects = backendProjects || []
|
|
146
|
-
/** @type {
|
|
146
|
+
/** @type {import("./configuration-types.js").ClientErrorPayloadReporterType[]} */
|
|
147
147
|
this._clientErrorPayloadReporters = []
|
|
148
148
|
this.cors = cors
|
|
149
149
|
this._cookieSecret = cookieSecret
|
|
@@ -2386,7 +2386,7 @@ export default class VelociousConfiguration {
|
|
|
2386
2386
|
|
|
2387
2387
|
/**
|
|
2388
2388
|
* Registers a reporter that can add client-safe metadata to frontend-model error payloads.
|
|
2389
|
-
* @param {(
|
|
2389
|
+
* @param {import("./configuration-types.js").ClientErrorPayloadReporterType} reporter - Reporter callback.
|
|
2390
2390
|
* @returns {void}
|
|
2391
2391
|
*/
|
|
2392
2392
|
addClientErrorPayloadReporter(reporter) {
|
|
@@ -2395,11 +2395,11 @@ export default class VelociousConfiguration {
|
|
|
2395
2395
|
|
|
2396
2396
|
/**
|
|
2397
2397
|
* Runs registered client error payload reporters.
|
|
2398
|
-
* @param {{context:
|
|
2399
|
-
* @returns {Promise<
|
|
2398
|
+
* @param {{context: import("./configuration-types.js").ClientErrorPayloadContext, error: Error, request: import("./http-server/client/request.js").default | import("./http-server/client/websocket-request.js").default | undefined}} args - Reporter args.
|
|
2399
|
+
* @returns {Promise<import("./configuration-types.js").ClientErrorPayloadReporterPayload>} - Merged client-safe reporter payload.
|
|
2400
2400
|
*/
|
|
2401
2401
|
async clientErrorPayloadForError(args) {
|
|
2402
|
-
/** @type {
|
|
2402
|
+
/** @type {import("./configuration-types.js").ClientErrorPayloadReporterPayload} */
|
|
2403
2403
|
const payload = {}
|
|
2404
2404
|
|
|
2405
2405
|
for (const reporter of this._clientErrorPayloadReporters) {
|
|
@@ -139,6 +139,14 @@ function normalizeFrontendModelSelect(select, rootModelName = null) {
|
|
|
139
139
|
* @property {number | null} perPage - Page size.
|
|
140
140
|
*/
|
|
141
141
|
|
|
142
|
+
/**
|
|
143
|
+
* @typedef {import("./configuration-types.js").ClientErrorPayloadContext & {
|
|
144
|
+
* action: string,
|
|
145
|
+
* expectedError: boolean,
|
|
146
|
+
* frontendModelEndpoint: true
|
|
147
|
+
* }} FrontendModelEndpointErrorContext
|
|
148
|
+
*/
|
|
149
|
+
|
|
142
150
|
const frontendModelJoinedPathsSymbol = Symbol("frontendModelJoinedPaths")
|
|
143
151
|
const frontendModelGroupedColumnsSymbol = Symbol("frontendModelGroupedColumns")
|
|
144
152
|
const frontendModelWhereNoMatchSymbol = Symbol("frontendModelWhereNoMatch")
|
|
@@ -184,32 +192,69 @@ function frontendModelValidationErrorForError(error) {
|
|
|
184
192
|
* developer for the frontend" — the framework treats it as
|
|
185
193
|
* user-facing: surface the message, forward the metadata, and skip
|
|
186
194
|
* the noisy endpoint-error log.
|
|
187
|
-
* @param {
|
|
188
|
-
* @returns {boolean}
|
|
195
|
+
* @param {unknown} error - Caught error.
|
|
196
|
+
* @returns {boolean} Whether the error has Velocious frontend metadata.
|
|
189
197
|
*/
|
|
190
198
|
function frontendModelErrorHasVelociousMetadata(error) {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
199
|
+
if (!error || typeof error !== "object") return false
|
|
200
|
+
|
|
201
|
+
// Runtime checks above narrow this caught value to the metadata record shape.
|
|
202
|
+
const errorRecord = /** @type {{velocious?: import("./configuration-types.js").ClientErrorPayloadReporterPayload}} */ (error)
|
|
203
|
+
|
|
204
|
+
return isPlainObject(errorRecord.velocious)
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Whether the error has a frontend-model error type marker.
|
|
209
|
+
* @param {unknown} error - Caught error.
|
|
210
|
+
* @returns {boolean} Whether the error has an error type.
|
|
211
|
+
*/
|
|
212
|
+
function frontendModelErrorHasErrorType(error) {
|
|
213
|
+
if (!error || typeof error !== "object") return false
|
|
214
|
+
|
|
215
|
+
// Runtime checks above narrow this caught value to the marker record shape.
|
|
216
|
+
const errorRecord = /** @type {{errorType?: string}} */ (error)
|
|
217
|
+
|
|
218
|
+
return typeof errorRecord.errorType === "string" && errorRecord.errorType.length > 0
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Whether the error is an expected frontend-model user-flow failure.
|
|
223
|
+
* @param {unknown} error - Caught error.
|
|
224
|
+
* @returns {boolean} Whether the error is expected.
|
|
225
|
+
*/
|
|
226
|
+
function frontendModelExpectedError(error) {
|
|
227
|
+
if (error instanceof ValidationError) return true
|
|
228
|
+
if (error instanceof VelociousError && error.safeToExpose) return true
|
|
229
|
+
if (frontendModelErrorHasVelociousMetadata(error)) return true
|
|
230
|
+
|
|
231
|
+
return frontendModelErrorHasErrorType(error)
|
|
196
232
|
}
|
|
197
233
|
|
|
198
234
|
/**
|
|
199
235
|
* Runs frontend model velocious metadata for error.
|
|
200
|
-
* @param {
|
|
201
|
-
* @returns {
|
|
236
|
+
* @param {unknown} error - Caught error.
|
|
237
|
+
* @returns {import("./configuration-types.js").ClientErrorPayloadReporterPayload | null} Frontend-model Velocious metadata when present.
|
|
202
238
|
*/
|
|
203
239
|
function frontendModelVelociousMetadataForError(error) {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
240
|
+
const errorCode = error instanceof VelociousError && error.safeToExpose && typeof error.code === "string" && error.code.length > 0
|
|
241
|
+
? error.code
|
|
242
|
+
: null
|
|
243
|
+
|
|
244
|
+
if (!frontendModelErrorHasVelociousMetadata(error)) {
|
|
245
|
+
return errorCode ? {code: errorCode} : null
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// frontendModelErrorHasVelociousMetadata guards the caught value before this cast.
|
|
249
|
+
const errorRecord = /** @type {{velocious: import("./configuration-types.js").ClientErrorPayloadReporterPayload}} */ (error)
|
|
250
|
+
const metadata = errorRecord.velocious
|
|
251
|
+
|
|
252
|
+
return errorCode ? {...metadata, code: errorCode} : metadata
|
|
208
253
|
}
|
|
209
254
|
|
|
210
255
|
/**
|
|
211
256
|
* Runs frontend model client message for error.
|
|
212
|
-
* @param {
|
|
257
|
+
* @param {unknown} error - Caught error.
|
|
213
258
|
* @returns {string} - Message safe to return to API clients.
|
|
214
259
|
*/
|
|
215
260
|
function frontendModelClientMessageForError(error) {
|
|
@@ -237,8 +282,8 @@ function frontendModelClientMessageForError(error) {
|
|
|
237
282
|
* @param {object} args - Arguments.
|
|
238
283
|
* @param {import("./configuration.js").default} args.configuration - Current configuration.
|
|
239
284
|
* @param {string} args.environment - Current environment.
|
|
240
|
-
* @param {
|
|
241
|
-
* @returns {
|
|
285
|
+
* @param {unknown} args.error - Caught error.
|
|
286
|
+
* @returns {import("./configuration-types.js").ClientErrorPayloadReporterPayload} - Optional debug payload for non-production environments.
|
|
242
287
|
*/
|
|
243
288
|
function frontendModelDebugPayloadForError({configuration, environment, error}) {
|
|
244
289
|
const debugAllowed = frontendModelDebugErrorEnvironments.has(environment) || environment !== "production" && configuration.getExposeInternalErrorsToClients()
|
|
@@ -2775,12 +2820,43 @@ export default class FrontendModelController extends Controller {
|
|
|
2775
2820
|
return this.frontendModelErrorPayload(frontendModelClientSafeErrorMessage)
|
|
2776
2821
|
}
|
|
2777
2822
|
|
|
2823
|
+
/**
|
|
2824
|
+
* Builds frontend-model endpoint error context for logging and client payload reporters.
|
|
2825
|
+
* @param {object} args - Error context args.
|
|
2826
|
+
* @param {string} args.action - Endpoint/action label.
|
|
2827
|
+
* @param {unknown} args.error - Caught error.
|
|
2828
|
+
* @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url" | "custom-command"} [args.commandType] - Frontend-model command type.
|
|
2829
|
+
* @param {string | undefined} [args.model] - Request model name when available.
|
|
2830
|
+
* @param {string | undefined} [args.requestId] - Batch request id when available.
|
|
2831
|
+
* @returns {FrontendModelEndpointErrorContext} Frontend-model endpoint error context.
|
|
2832
|
+
*/
|
|
2833
|
+
frontendModelEndpointErrorContext({action, commandType, error, model, requestId}) {
|
|
2834
|
+
let resolvedModel = model
|
|
2835
|
+
|
|
2836
|
+
if (!resolvedModel) {
|
|
2837
|
+
const cachedParams = this._frontendModelParamsOverride || this._frontendModelParams
|
|
2838
|
+
const paramsModel = cachedParams ? cachedParams.model : undefined
|
|
2839
|
+
resolvedModel = typeof paramsModel === "string" && paramsModel.length > 0 ? paramsModel : undefined
|
|
2840
|
+
}
|
|
2841
|
+
|
|
2842
|
+
return {
|
|
2843
|
+
action,
|
|
2844
|
+
commandType,
|
|
2845
|
+
controller: this.constructor.name,
|
|
2846
|
+
expectedError: frontendModelExpectedError(error),
|
|
2847
|
+
frontendModelEndpoint: true,
|
|
2848
|
+
model: resolvedModel,
|
|
2849
|
+
requestId
|
|
2850
|
+
}
|
|
2851
|
+
}
|
|
2852
|
+
|
|
2778
2853
|
/**
|
|
2779
2854
|
* Runs frontend model client error payload for error.
|
|
2780
|
-
* @param {
|
|
2781
|
-
* @
|
|
2855
|
+
* @param {unknown} error - Caught error.
|
|
2856
|
+
* @param {FrontendModelEndpointErrorContext | undefined} [endpointErrorContext] - Frontend-model endpoint error context.
|
|
2857
|
+
* @returns {Promise<import("./configuration-types.js").ClientErrorPayloadReporterPayload>} - Client payload for the current environment.
|
|
2782
2858
|
*/
|
|
2783
|
-
async frontendModelClientErrorPayloadForError(error) {
|
|
2859
|
+
async frontendModelClientErrorPayloadForError(error, endpointErrorContext) {
|
|
2784
2860
|
const velociousMetadata = frontendModelVelociousMetadataForError(error)
|
|
2785
2861
|
const normalizedError = error instanceof Error ? error : new Error(String(error))
|
|
2786
2862
|
|
|
@@ -2818,9 +2894,7 @@ export default class FrontendModelController extends Controller {
|
|
|
2818
2894
|
...(velociousMetadata ? {velocious: velociousMetadata} : {}),
|
|
2819
2895
|
...validationErrorsPayload,
|
|
2820
2896
|
...(await this.getConfiguration().clientErrorPayloadForError({
|
|
2821
|
-
context: {
|
|
2822
|
-
controller: this.constructor.name
|
|
2823
|
-
},
|
|
2897
|
+
context: endpointErrorContext || {controller: this.constructor.name},
|
|
2824
2898
|
error: normalizedError,
|
|
2825
2899
|
request: this.getRequest()
|
|
2826
2900
|
}))
|
|
@@ -2838,23 +2912,12 @@ export default class FrontendModelController extends Controller {
|
|
|
2838
2912
|
* @returns {Promise<void>} - Resolves after logging.
|
|
2839
2913
|
*/
|
|
2840
2914
|
async frontendModelLogEndpointError({action, error, commandType, model, requestId}) {
|
|
2841
|
-
|
|
2842
|
-
// failures the developer has marked as expected (bad password,
|
|
2843
|
-
// validation message, etc.). Surface the message + metadata to
|
|
2844
|
-
// the client (handled by frontendModelClientErrorPayloadForError),
|
|
2845
|
-
// but skip the error log so monitoring stays focused on real
|
|
2846
|
-
// backend failures.
|
|
2847
|
-
if (frontendModelErrorHasVelociousMetadata(error)) return
|
|
2915
|
+
const errorContext = this.frontendModelEndpointErrorContext({action, commandType, error, model, requestId})
|
|
2848
2916
|
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
resolvedModel = this.frontendModelParams().model
|
|
2854
|
-
} catch {
|
|
2855
|
-
resolvedModel = undefined
|
|
2856
|
-
}
|
|
2857
|
-
}
|
|
2917
|
+
// Expected user-flow errors are surfaced to clients by
|
|
2918
|
+
// frontendModelClientErrorPayloadForError, but skipped here so monitoring
|
|
2919
|
+
// stays focused on real backend failures.
|
|
2920
|
+
if (errorContext.expectedError) return
|
|
2858
2921
|
|
|
2859
2922
|
const errorMessage = error instanceof Error
|
|
2860
2923
|
? `${error.message}\n${error.stack || ""}`
|
|
@@ -2864,27 +2927,22 @@ export default class FrontendModelController extends Controller {
|
|
|
2864
2927
|
action,
|
|
2865
2928
|
commandType,
|
|
2866
2929
|
error: errorMessage,
|
|
2867
|
-
model:
|
|
2930
|
+
model: errorContext.model,
|
|
2868
2931
|
requestId
|
|
2869
2932
|
}])
|
|
2870
2933
|
|
|
2871
2934
|
// Surface genuinely unexpected backend failures on the framework-error
|
|
2872
2935
|
// channel so process-level bug reporters capture them, instead of the
|
|
2873
2936
|
// controller silently swallowing them behind the generic "Request
|
|
2874
|
-
// failed." client message.
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
const errorPayload = {
|
|
2880
|
-
context: {action, commandType, frontendModelEndpoint: true, model: resolvedModel, requestId},
|
|
2881
|
-
error: error instanceof Error ? error : new Error(String(error)),
|
|
2882
|
-
request: this.getRequest()
|
|
2883
|
-
}
|
|
2884
|
-
|
|
2885
|
-
this.getConfiguration().getErrorEvents().emit("framework-error", errorPayload)
|
|
2886
|
-
this.getConfiguration().getErrorEvents().emit("all-error", {...errorPayload, errorType: "framework-error"})
|
|
2937
|
+
// failed." client message.
|
|
2938
|
+
const errorPayload = {
|
|
2939
|
+
context: errorContext,
|
|
2940
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
2941
|
+
request: this.getRequest()
|
|
2887
2942
|
}
|
|
2943
|
+
|
|
2944
|
+
this.getConfiguration().getErrorEvents().emit("framework-error", errorPayload)
|
|
2945
|
+
this.getConfiguration().getErrorEvents().emit("all-error", {...errorPayload, errorType: "framework-error"})
|
|
2888
2946
|
}
|
|
2889
2947
|
|
|
2890
2948
|
/**
|
|
@@ -2903,12 +2961,14 @@ export default class FrontendModelController extends Controller {
|
|
|
2903
2961
|
* @type {Record<string, ?>} */ (serializeFrontendModelTransportValue(responsePayload))
|
|
2904
2962
|
})
|
|
2905
2963
|
} catch (error) {
|
|
2906
|
-
|
|
2964
|
+
const errorContext = this.frontendModelEndpointErrorContext({action, commandType: action, error})
|
|
2965
|
+
|
|
2966
|
+
await this.frontendModelLogEndpointError({action, commandType: action, error, model: errorContext.model})
|
|
2907
2967
|
|
|
2908
2968
|
await this.render({
|
|
2909
2969
|
json: /**
|
|
2910
2970
|
* Types the following value.
|
|
2911
|
-
* @type {Record<string, ?>} */ (serializeFrontendModelTransportValue(await this.frontendModelClientErrorPayloadForError(error)))
|
|
2971
|
+
* @type {Record<string, ?>} */ (serializeFrontendModelTransportValue(await this.frontendModelClientErrorPayloadForError(error, errorContext)))
|
|
2912
2972
|
})
|
|
2913
2973
|
}
|
|
2914
2974
|
}
|
|
@@ -3183,7 +3243,7 @@ export default class FrontendModelController extends Controller {
|
|
|
3183
3243
|
response: responsePayload || this.frontendModelErrorPayload("Action halted by beforeAction.")
|
|
3184
3244
|
})
|
|
3185
3245
|
} catch (error) {
|
|
3186
|
-
|
|
3246
|
+
const errorContext = this.frontendModelEndpointErrorContext({
|
|
3187
3247
|
action: "frontendApi",
|
|
3188
3248
|
commandType,
|
|
3189
3249
|
error,
|
|
@@ -3191,9 +3251,17 @@ export default class FrontendModelController extends Controller {
|
|
|
3191
3251
|
requestId
|
|
3192
3252
|
})
|
|
3193
3253
|
|
|
3254
|
+
await this.frontendModelLogEndpointError({
|
|
3255
|
+
action: errorContext.action,
|
|
3256
|
+
commandType: errorContext.commandType,
|
|
3257
|
+
error,
|
|
3258
|
+
model: errorContext.model,
|
|
3259
|
+
requestId: errorContext.requestId
|
|
3260
|
+
})
|
|
3261
|
+
|
|
3194
3262
|
responses.push({
|
|
3195
3263
|
requestId,
|
|
3196
|
-
response: await this.frontendModelClientErrorPayloadForError(error)
|
|
3264
|
+
response: await this.frontendModelClientErrorPayloadForError(error, errorContext)
|
|
3197
3265
|
})
|
|
3198
3266
|
}
|
|
3199
3267
|
}
|
|
@@ -3414,12 +3482,14 @@ export default class FrontendModelController extends Controller {
|
|
|
3414
3482
|
* @type {Record<string, ?>} */ (serializeFrontendModelTransportValue(responsePayload))
|
|
3415
3483
|
})
|
|
3416
3484
|
} catch (error) {
|
|
3417
|
-
|
|
3485
|
+
const errorContext = this.frontendModelEndpointErrorContext({action: "frontendCustomCommand", commandType: "custom-command", error})
|
|
3486
|
+
|
|
3487
|
+
await this.frontendModelLogEndpointError({action: errorContext.action, commandType: errorContext.commandType, error, model: errorContext.model})
|
|
3418
3488
|
|
|
3419
3489
|
await this.render({
|
|
3420
3490
|
json: /**
|
|
3421
3491
|
* Types the following value.
|
|
3422
|
-
* @type {Record<string, ?>} */ (serializeFrontendModelTransportValue(await this.frontendModelClientErrorPayloadForError(error)))
|
|
3492
|
+
* @type {Record<string, ?>} */ (serializeFrontendModelTransportValue(await this.frontendModelClientErrorPayloadForError(error, errorContext)))
|
|
3423
3493
|
})
|
|
3424
3494
|
}
|
|
3425
3495
|
}
|
|
@@ -182,6 +182,26 @@
|
|
|
182
182
|
/**
|
|
183
183
|
* @typedef {Record<string, string>} VelociousParams
|
|
184
184
|
*/
|
|
185
|
+
/**
|
|
186
|
+
* @typedef {Record<string, import("./frontend-models/query.js").FrontendModelTransportValue>} ClientErrorPayloadReporterPayload
|
|
187
|
+
*/
|
|
188
|
+
/**
|
|
189
|
+
* @typedef {object} ClientErrorPayloadContext
|
|
190
|
+
* @property {string} controller - Controller class name.
|
|
191
|
+
* @property {string} [action] - Controller action or endpoint label.
|
|
192
|
+
* @property {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url" | "custom-command"} [commandType] - Frontend-model command type.
|
|
193
|
+
* @property {boolean} [expectedError] - Whether the error is an expected user-flow failure.
|
|
194
|
+
* @property {boolean} [frontendModelEndpoint] - Whether the error came from the frontend-model endpoint.
|
|
195
|
+
* @property {string} [model] - Frontend-model name from the failed request.
|
|
196
|
+
* @property {string} [requestId] - Shared frontend-model request id.
|
|
197
|
+
*/
|
|
198
|
+
/**
|
|
199
|
+
* @typedef {function({
|
|
200
|
+
* context: ClientErrorPayloadContext,
|
|
201
|
+
* error: Error,
|
|
202
|
+
* request: import("./http-server/client/request.js").default | import("./http-server/client/websocket-request.js").default | undefined
|
|
203
|
+
* }): Promise<ClientErrorPayloadReporterPayload | void> | ClientErrorPayloadReporterPayload | void} ClientErrorPayloadReporterType
|
|
204
|
+
*/
|
|
185
205
|
/**
|
|
186
206
|
* @typedef {Record<string, unknown> & {configuration?: import("./configuration.js").default, currentUser?: unknown, params?: VelociousParams, request?: import("./http-server/client/request.js").default | import("./http-server/client/websocket-request.js").default}} VelociousLooseObject
|
|
187
207
|
*/
|
|
@@ -838,6 +858,42 @@ export type ScheduledBackgroundJobConfiguration = {
|
|
|
838
858
|
options?: import("./background-jobs/types.js").BackgroundJobOptions | undefined;
|
|
839
859
|
};
|
|
840
860
|
export type VelociousParams = Record<string, string>;
|
|
861
|
+
export type ClientErrorPayloadReporterPayload = Record<string, import("./frontend-models/query.js").FrontendModelTransportValue>;
|
|
862
|
+
export type ClientErrorPayloadContext = {
|
|
863
|
+
/**
|
|
864
|
+
* - Controller class name.
|
|
865
|
+
*/
|
|
866
|
+
controller: string;
|
|
867
|
+
/**
|
|
868
|
+
* - Controller action or endpoint label.
|
|
869
|
+
*/
|
|
870
|
+
action?: string | undefined;
|
|
871
|
+
/**
|
|
872
|
+
* - Frontend-model command type.
|
|
873
|
+
*/
|
|
874
|
+
commandType?: "find" | "update" | "destroy" | "url" | "index" | "create" | "attach" | "download" | "custom-command" | undefined;
|
|
875
|
+
/**
|
|
876
|
+
* - Whether the error is an expected user-flow failure.
|
|
877
|
+
*/
|
|
878
|
+
expectedError?: boolean | undefined;
|
|
879
|
+
/**
|
|
880
|
+
* - Whether the error came from the frontend-model endpoint.
|
|
881
|
+
*/
|
|
882
|
+
frontendModelEndpoint?: boolean | undefined;
|
|
883
|
+
/**
|
|
884
|
+
* - Frontend-model name from the failed request.
|
|
885
|
+
*/
|
|
886
|
+
model?: string | undefined;
|
|
887
|
+
/**
|
|
888
|
+
* - Shared frontend-model request id.
|
|
889
|
+
*/
|
|
890
|
+
requestId?: string | undefined;
|
|
891
|
+
};
|
|
892
|
+
export type ClientErrorPayloadReporterType = (arg0: {
|
|
893
|
+
context: ClientErrorPayloadContext;
|
|
894
|
+
error: Error;
|
|
895
|
+
request: import("./http-server/client/request.js").default | import("./http-server/client/websocket-request.js").default | undefined;
|
|
896
|
+
}) => Promise<ClientErrorPayloadReporterPayload | void> | ClientErrorPayloadReporterPayload | void;
|
|
841
897
|
export type VelociousLooseObject = Record<string, unknown> & {
|
|
842
898
|
configuration?: import("./configuration.js").default;
|
|
843
899
|
currentUser?: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration-types.d.ts","sourceRoot":"","sources":["../../src/configuration-types.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"configuration-types.d.ts","sourceRoot":"","sources":["../../src/configuration-types.js"],"names":[],"mappings":"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"}
|