velocious 1.0.467 → 1.0.469

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/README.md +5 -3
  2. package/build/configuration-types.js +9 -1
  3. package/build/configuration.js +6 -1
  4. package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +168 -36
  5. package/build/error-reporting/request-details.js +308 -0
  6. package/build/frontend-model-controller.js +50 -2
  7. package/build/src/configuration-types.d.ts +23 -1
  8. package/build/src/configuration-types.d.ts.map +1 -1
  9. package/build/src/configuration-types.js +9 -2
  10. package/build/src/configuration.d.ts.map +1 -1
  11. package/build/src/configuration.js +7 -2
  12. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +91 -9
  13. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  14. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +149 -36
  15. package/build/src/error-reporting/request-details.d.ts +7 -0
  16. package/build/src/error-reporting/request-details.d.ts.map +1 -0
  17. package/build/src/error-reporting/request-details.js +278 -0
  18. package/build/src/frontend-model-controller.d.ts +16 -0
  19. package/build/src/frontend-model-controller.d.ts.map +1 -1
  20. package/build/src/frontend-model-controller.js +39 -3
  21. package/build/tsconfig.tsbuildinfo +1 -1
  22. package/package.json +2 -2
  23. package/src/configuration-types.js +9 -1
  24. package/src/configuration.js +6 -1
  25. package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +168 -36
  26. package/src/error-reporting/request-details.js +308 -0
  27. package/src/frontend-model-controller.js +50 -2
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Extracts request metadata without retaining the request object.
3
+ * @param {import("../http-server/client/request.js").default | import("../http-server/client/websocket-request.js").default | undefined} request - Request object, when present.
4
+ * @returns {import("../configuration-types.js").ErrorRequestDetails | null} - Request metadata.
5
+ */
6
+ export function requestDetails(request: import("../http-server/client/request.js").default | import("../http-server/client/websocket-request.js").default | undefined): import("../configuration-types.js").ErrorRequestDetails | null;
7
+ //# sourceMappingURL=request-details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-details.d.ts","sourceRoot":"","sources":["../../../src/error-reporting/request-details.js"],"names":[],"mappings":"AASA;;;;GAIG;AACH,wCAHW,OAAO,kCAAkC,EAAE,OAAO,GAAG,OAAO,4CAA4C,EAAE,OAAO,GAAG,SAAS,GAC3H,OAAO,2BAA2B,EAAE,mBAAmB,GAAG,IAAI,CAuB1E"}
@@ -0,0 +1,278 @@
1
+ // @ts-check
2
+ import UploadedFile from "../http-server/client/uploaded-file/uploaded-file.js";
3
+ const REQUEST_DETAILS_BODY_MAX_SERIALIZED_LENGTH = 12000;
4
+ const REQUEST_DETAILS_STRING_MAX_LENGTH = 1000;
5
+ const REQUEST_DETAILS_ARRAY_MAX_ITEMS = 50;
6
+ const REDACTED_REQUEST_DETAILS_VALUE = "[redacted]";
7
+ /**
8
+ * Extracts request metadata without retaining the request object.
9
+ * @param {import("../http-server/client/request.js").default | import("../http-server/client/websocket-request.js").default | undefined} request - Request object, when present.
10
+ * @returns {import("../configuration-types.js").ErrorRequestDetails | null} - Request metadata.
11
+ */
12
+ export function requestDetails(request) {
13
+ if (!request)
14
+ return null;
15
+ let details;
16
+ try {
17
+ details = {
18
+ httpMethod: request.httpMethod(),
19
+ path: request.path()
20
+ };
21
+ }
22
+ catch {
23
+ return null;
24
+ }
25
+ const body = requestBodySnapshot(request);
26
+ if (body !== undefined) {
27
+ return { ...details, body };
28
+ }
29
+ return details;
30
+ }
31
+ /**
32
+ * Snapshots parsed request params for error reports.
33
+ * @param {import("../http-server/client/request.js").default | import("../http-server/client/websocket-request.js").default} request - Request object.
34
+ * @returns {? | undefined} - Sanitized body snapshot.
35
+ */
36
+ function requestBodySnapshot(request) {
37
+ if (typeof request.params !== "function")
38
+ return undefined;
39
+ try {
40
+ return requestDetailsBodySnapshot(request.params());
41
+ }
42
+ catch (error) {
43
+ return {
44
+ __unavailable: true,
45
+ error: error instanceof Error ? error.message : String(error)
46
+ };
47
+ }
48
+ }
49
+ /**
50
+ * Builds a bounded, redacted body snapshot for error reports.
51
+ * @param {?} body - Parsed request body.
52
+ * @returns {?} - Sanitized body snapshot.
53
+ */
54
+ function requestDetailsBodySnapshot(body) {
55
+ const originalLength = serializedLength(body);
56
+ const sanitized = sanitizeRequestDetailsValue(body);
57
+ const sanitizedLength = serializedLength(sanitized);
58
+ if (originalLength <= REQUEST_DETAILS_BODY_MAX_SERIALIZED_LENGTH && sanitizedLength <= REQUEST_DETAILS_BODY_MAX_SERIALIZED_LENGTH) {
59
+ return sanitized;
60
+ }
61
+ const compactFrontendModelBody = compactFrontendModelRequestBody(sanitized, originalLength);
62
+ if (serializedLength(compactFrontendModelBody) <= REQUEST_DETAILS_BODY_MAX_SERIALIZED_LENGTH) {
63
+ return compactFrontendModelBody;
64
+ }
65
+ return compactRequestDetailsBody(sanitized, originalLength);
66
+ }
67
+ /**
68
+ * Sanitizes a value recursively for request details.
69
+ * @param {?} value - Value to sanitize.
70
+ * @param {string} [key] - Current object key.
71
+ * @param {WeakSet<object>} [seen] - Seen object references.
72
+ * @returns {?} - Sanitized value.
73
+ */
74
+ function sanitizeRequestDetailsValue(value, key = "", seen = new WeakSet()) {
75
+ if (sensitiveRequestDetailsKey(key))
76
+ return REDACTED_REQUEST_DETAILS_VALUE;
77
+ if (primitiveRequestDetailsValue(value))
78
+ return value;
79
+ if (bufferValue(value))
80
+ return bufferRequestDetailsSummary(value);
81
+ if (value instanceof UploadedFile)
82
+ return uploadedFileRequestDetailsSummary(value);
83
+ if (typeof value === "string")
84
+ return sanitizeRequestDetailsString(value);
85
+ if (Array.isArray(value))
86
+ return sanitizeRequestDetailsArray(value, seen);
87
+ if (typeof value === "object")
88
+ return sanitizeRequestDetailsObject(value, seen);
89
+ return String(value);
90
+ }
91
+ /**
92
+ * Checks whether a value can be kept as-is.
93
+ * @param {?} value - Value.
94
+ * @returns {boolean} - Whether the value is primitive and safe.
95
+ */
96
+ function primitiveRequestDetailsValue(value) {
97
+ return value == null || typeof value === "boolean" || typeof value === "number";
98
+ }
99
+ /**
100
+ * Sanitizes a string value.
101
+ * @param {string} value - String value.
102
+ * @returns {string} - Sanitized string.
103
+ */
104
+ function sanitizeRequestDetailsString(value) {
105
+ if (value.length <= REQUEST_DETAILS_STRING_MAX_LENGTH)
106
+ return value;
107
+ return `${value.slice(0, REQUEST_DETAILS_STRING_MAX_LENGTH)}... [truncated ${value.length - REQUEST_DETAILS_STRING_MAX_LENGTH} chars]`;
108
+ }
109
+ /**
110
+ * Sanitizes an array value.
111
+ * @param {Array<?>} value - Array value.
112
+ * @param {WeakSet<object>} seen - Seen object references.
113
+ * @returns {Array<?>} - Sanitized array.
114
+ */
115
+ function sanitizeRequestDetailsArray(value, seen) {
116
+ const entries = value
117
+ .slice(0, REQUEST_DETAILS_ARRAY_MAX_ITEMS)
118
+ .map((entry) => sanitizeRequestDetailsValue(entry, "", seen));
119
+ if (value.length > REQUEST_DETAILS_ARRAY_MAX_ITEMS) {
120
+ entries.push({ __omittedItems: value.length - REQUEST_DETAILS_ARRAY_MAX_ITEMS });
121
+ }
122
+ return entries;
123
+ }
124
+ /**
125
+ * Sanitizes a plain object-like value.
126
+ * @param {object} value - Object value.
127
+ * @param {WeakSet<object>} seen - Seen object references.
128
+ * @returns {Record<string, ?> | string} - Sanitized object or circular marker.
129
+ */
130
+ function sanitizeRequestDetailsObject(value, seen) {
131
+ if (seen.has(value))
132
+ return "[circular]";
133
+ seen.add(value);
134
+ /** @type {Record<string, ?>} */
135
+ const sanitized = {};
136
+ for (const [entryKey, entryValue] of Object.entries(value)) {
137
+ sanitized[entryKey] = sanitizeRequestDetailsValue(entryValue, entryKey, seen);
138
+ }
139
+ seen.delete(value);
140
+ return sanitized;
141
+ }
142
+ /**
143
+ * Checks whether a value is a Node.js Buffer.
144
+ * @param {?} value - Value.
145
+ * @returns {value is Buffer} - Whether value is a Buffer.
146
+ */
147
+ function bufferValue(value) {
148
+ return typeof Buffer !== "undefined" && typeof Buffer.isBuffer === "function" && Buffer.isBuffer(value);
149
+ }
150
+ /**
151
+ * Summarizes raw binary data without serializing bytes.
152
+ * @param {Buffer} buffer - Uploaded or request buffer.
153
+ * @returns {Record<string, ?>} - Request-safe buffer summary.
154
+ */
155
+ function bufferRequestDetailsSummary(buffer) {
156
+ return {
157
+ __redacted: true,
158
+ __type: "Buffer",
159
+ byteLength: buffer.byteLength
160
+ };
161
+ }
162
+ /**
163
+ * Summarizes uploaded files without serializing file bytes or temp paths.
164
+ * @param {UploadedFile} uploadedFile - Uploaded file object.
165
+ * @returns {Record<string, ?>} - Request-safe upload summary.
166
+ */
167
+ function uploadedFileRequestDetailsSummary(uploadedFile) {
168
+ return {
169
+ __redacted: true,
170
+ __type: "UploadedFile",
171
+ contentType: uploadedFile.contentType() ?? null,
172
+ fieldName: uploadedFile.fieldName(),
173
+ filename: uploadedFile.filename(),
174
+ size: uploadedFile.size()
175
+ };
176
+ }
177
+ /**
178
+ * Checks whether a key should be redacted from request details.
179
+ * @param {string} key - Object key.
180
+ * @returns {boolean} - Whether the value is sensitive.
181
+ */
182
+ function sensitiveRequestDetailsKey(key) {
183
+ return /authorization|contentBase64|password|secret|sessionToken|token/i.test(key);
184
+ }
185
+ /**
186
+ * Compacts a frontend-model request envelope while preserving debugging shape.
187
+ * @param {?} value - Sanitized body value.
188
+ * @param {number} originalSerializedLength - Byte count before redaction or compaction.
189
+ * @returns {?} - Compacted body value.
190
+ */
191
+ function compactFrontendModelRequestBody(value, originalSerializedLength) {
192
+ if (!value || typeof value !== "object" || !Array.isArray(/** @type {Record<string, ?>} */ (value).requests)) {
193
+ return compactRequestDetailsBody(value, originalSerializedLength);
194
+ }
195
+ return {
196
+ __truncated: true,
197
+ originalSerializedLength,
198
+ requests: /** @type {Array<?>} */ ( /** @type {Record<string, ?>} */(value).requests).map((request) => {
199
+ return compactFrontendModelRequest(request);
200
+ })
201
+ };
202
+ }
203
+ /**
204
+ * Compacts one frontend-model request entry.
205
+ * @param {?} value - Candidate request entry from the transport envelope.
206
+ * @returns {?} - Compacted request.
207
+ */
208
+ function compactFrontendModelRequest(value) {
209
+ if (!value || typeof value !== "object")
210
+ return value;
211
+ const request = /** @type {Record<string, ?>} */ (value);
212
+ /** @type {Record<string, ?>} */
213
+ const compact = {};
214
+ for (const key of ["requestId", "model", "commandType", "customPath"]) {
215
+ if (request[key] !== undefined)
216
+ compact[key] = request[key];
217
+ }
218
+ if (request.payload !== undefined) {
219
+ compact.payload = compactFrontendModelPayload(request.payload);
220
+ }
221
+ return compact;
222
+ }
223
+ /**
224
+ * Compacts a frontend-model payload.
225
+ * @param {?} value - Candidate payload from a request entry.
226
+ * @returns {?} - Compacted payload.
227
+ */
228
+ function compactFrontendModelPayload(value) {
229
+ if (!value || typeof value !== "object" || Array.isArray(value))
230
+ return value;
231
+ const payload = /** @type {Record<string, ?>} */ (value);
232
+ /** @type {Record<string, ?>} */
233
+ const compact = {};
234
+ for (const [key, entryValue] of Object.entries(payload)) {
235
+ compact[key] = compactFrontendModelPayloadEntry({ key, value: entryValue });
236
+ }
237
+ return compact;
238
+ }
239
+ /**
240
+ * Compacts one frontend-model payload entry.
241
+ * @param {{key: string, value: ?}} args - Payload entry.
242
+ * @returns {?} - Compacted value.
243
+ */
244
+ function compactFrontendModelPayloadEntry({ key, value }) {
245
+ if (key !== "attributes" || !value || typeof value !== "object" || Array.isArray(value)) {
246
+ return value;
247
+ }
248
+ return { __keys: Object.keys(/** @type {Record<string, ?>} */ (value)) };
249
+ }
250
+ /**
251
+ * Builds a last-resort compact body summary.
252
+ * @param {?} value - Sanitized body.
253
+ * @param {number} originalSerializedLength - Byte count before redaction or compaction.
254
+ * @returns {Record<string, ?>} - Compact summary.
255
+ */
256
+ function compactRequestDetailsBody(value, originalSerializedLength) {
257
+ return {
258
+ __truncated: true,
259
+ originalSerializedLength,
260
+ topLevelKeys: value && typeof value === "object" && !Array.isArray(value)
261
+ ? Object.keys(/** @type {Record<string, ?>} */ (value))
262
+ : []
263
+ };
264
+ }
265
+ /**
266
+ * Measures JSON serialized length.
267
+ * @param {?} value - Value to measure.
268
+ * @returns {number} - Serialized length, or Infinity when not serializable.
269
+ */
270
+ function serializedLength(value) {
271
+ try {
272
+ return JSON.stringify(value).length;
273
+ }
274
+ catch {
275
+ return Infinity;
276
+ }
277
+ }
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1kZXRhaWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9yLXJlcG9ydGluZy9yZXF1ZXN0LWRldGFpbHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sWUFBWSxNQUFNLHNEQUFzRCxDQUFBO0FBRS9FLE1BQU0sMENBQTBDLEdBQUcsS0FBSyxDQUFBO0FBQ3hELE1BQU0saUNBQWlDLEdBQUcsSUFBSSxDQUFBO0FBQzlDLE1BQU0sK0JBQStCLEdBQUcsRUFBRSxDQUFBO0FBQzFDLE1BQU0sOEJBQThCLEdBQUcsWUFBWSxDQUFBO0FBRW5EOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLE9BQU87SUFDcEMsSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFPLElBQUksQ0FBQTtJQUV6QixJQUFJLE9BQU8sQ0FBQTtJQUVYLElBQUksQ0FBQztRQUNILE9BQU8sR0FBRztZQUNSLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ2hDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFO1NBQ3JCLENBQUE7SUFDSCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFekMsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdkIsT0FBTyxFQUFDLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFBO0lBQzNCLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsbUJBQW1CLENBQUMsT0FBTztJQUNsQyxJQUFJLE9BQU8sT0FBTyxDQUFDLE1BQU0sS0FBSyxVQUFVO1FBQUUsT0FBTyxTQUFTLENBQUE7SUFFMUQsSUFBSSxDQUFDO1FBQ0gsT0FBTywwQkFBMEIsQ0FBQyxP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LyBAdHMtY2hlY2tcblxuaW1wb3J0IFVwbG9hZGVkRmlsZSBmcm9tIFwiLi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3VwbG9hZGVkLWZpbGUvdXBsb2FkZWQtZmlsZS5qc1wiXG5cbmNvbnN0IFJFUVVFU1RfREVUQUlMU19CT0RZX01BWF9TRVJJQUxJWkVEX0xFTkdUSCA9IDEyMDAwXG5jb25zdCBSRVFVRVNUX0RFVEFJTFNfU1RSSU5HX01BWF9MRU5HVEggPSAxMDAwXG5jb25zdCBSRVFVRVNUX0RFVEFJTFNfQVJSQVlfTUFYX0lURU1TID0gNTBcbmNvbnN0IFJFREFDVEVEX1JFUVVFU1RfREVUQUlMU19WQUxVRSA9IFwiW3JlZGFjdGVkXVwiXG5cbi8qKlxuICogRXh0cmFjdHMgcmVxdWVzdCBtZXRhZGF0YSB3aXRob3V0IHJldGFpbmluZyB0aGUgcmVxdWVzdCBvYmplY3QuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4uL2h0dHAtc2VydmVyL2NsaWVudC9yZXF1ZXN0LmpzXCIpLmRlZmF1bHQgfCBpbXBvcnQoXCIuLi9odHRwLXNlcnZlci9jbGllbnQvd2Vic29ja2V0LXJlcXVlc3QuanNcIikuZGVmYXVsdCB8IHVuZGVmaW5lZH0gcmVxdWVzdCAtIFJlcXVlc3Qgb2JqZWN0LCB3aGVuIHByZXNlbnQuXG4gKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5FcnJvclJlcXVlc3REZXRhaWxzIHwgbnVsbH0gLSBSZXF1ZXN0IG1ldGFkYXRhLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVxdWVzdERldGFpbHMocmVxdWVzdCkge1xuICBpZiAoIXJlcXVlc3QpIHJldHVybiBudWxsXG5cbiAgbGV0IGRldGFpbHNcblxuICB0cnkge1xuICAgIGRldGFpbHMgPSB7XG4gICAgICBodHRwTWV0aG9kOiByZXF1ZXN0Lmh0dHBNZXRob2QoKSxcbiAgICAgIHBhdGg6IHJlcXVlc3QucGF0aCgpXG4gICAgfVxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3QgYm9keSA9IHJlcXVlc3RCb2R5U25hcHNob3QocmVxdWVzdClcblxuICBpZiAoYm9keSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHsuLi5kZXRhaWxzLCBib2R5fVxuICB9XG5cbiAgcmV0dXJuIGRldGFpbHNcbn1cblxuLyoqXG4gKiBTbmFwc2hvdHMgcGFyc2VkIHJlcXVlc3QgcGFyYW1zIGZvciBlcnJvciByZXBvcnRzLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuLi9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qc1wiKS5kZWZhdWx0IHwgaW1wb3J0KFwiLi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3dlYnNvY2tldC1yZXF1ZXN0LmpzXCIpLmRlZmF1bHR9IHJlcXVlc3QgLSBSZXF1ZXN0IG9iamVjdC5cbiAqIEByZXR1cm5zIHs/IHwgdW5kZWZpbmVkfSAtIFNhbml0aXplZCBib2R5IHNuYXBzaG90LlxuICovXG5mdW5jdGlvbiByZXF1ZXN0Qm9keVNuYXBzaG90KHJlcXVlc3QpIHtcbiAgaWYgKHR5cGVvZiByZXF1ZXN0LnBhcmFtcyAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gcmVxdWVzdERldGFpbHNCb2R5U25hcHNob3QocmVxdWVzdC5wYXJhbXMoKSlcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4ge1xuICAgICAgX191bmF2YWlsYWJsZTogdHJ1ZSxcbiAgICAgIGVycm9yOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcilcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBib3VuZGVkLCByZWRhY3RlZCBib2R5IHNuYXBzaG90IGZvciBlcnJvciByZXBvcnRzLlxuICogQHBhcmFtIHs/fSBib2R5IC0gUGFyc2VkIHJlcXVlc3QgYm9keS5cbiAqIEByZXR1cm5zIHs/fSAtIFNhbml0aXplZCBib2R5IHNuYXBzaG90LlxuICovXG5mdW5jdGlvbiByZXF1ZXN0RGV0YWlsc0JvZHlTbmFwc2hvdChib2R5KSB7XG4gIGNvbnN0IG9yaWdpbmFsTGVuZ3RoID0gc2VyaWFsaXplZExlbmd0aChib2R5KVxuICBjb25zdCBzYW5pdGl6ZWQgPSBzYW5pdGl6ZVJlcXVlc3REZXRhaWxzVmFsdWUoYm9keSlcbiAgY29uc3Qgc2FuaXRpemVkTGVuZ3RoID0gc2VyaWFsaXplZExlbmd0aChzYW5pdGl6ZWQpXG5cbiAgaWYgKG9yaWdpbmFsTGVuZ3RoIDw9IFJFUVVFU1RfREVUQUlMU19CT0RZX01BWF9TRVJJQUxJWkVEX0xFTkdUSCAmJiBzYW5pdGl6ZWRMZW5ndGggPD0gUkVRVUVTVF9ERVRBSUxTX0JPRFlfTUFYX1NFUklBTElaRURfTEVOR1RIKSB7XG4gICAgcmV0dXJuIHNhbml0aXplZFxuICB9XG5cbiAgY29uc3QgY29tcGFjdEZyb250ZW5kTW9kZWxCb2R5ID0gY29tcGFjdEZyb250ZW5kTW9kZWxSZXF1ZXN0Qm9keShzYW5pdGl6ZWQsIG9yaWdpbmFsTGVuZ3RoKVxuXG4gIGlmIChzZXJpYWxpemVkTGVuZ3RoKGNvbXBhY3RGcm9udGVuZE1vZGVsQm9keSkgPD0gUkVRVUVTVF9ERVRBSUxTX0JPRFlfTUFYX1NFUklBTElaRURfTEVOR1RIKSB7XG4gICAgcmV0dXJuIGNvbXBhY3RGcm9udGVuZE1vZGVsQm9keVxuICB9XG5cbiAgcmV0dXJuIGNvbXBhY3RSZXF1ZXN0RGV0YWlsc0JvZHkoc2FuaXRpemVkLCBvcmlnaW5hbExlbmd0aClcbn1cblxuLyoqXG4gKiBTYW5pdGl6ZXMgYSB2YWx1ZSByZWN1cnNpdmVseSBmb3IgcmVxdWVzdCBkZXRhaWxzLlxuICogQHBhcmFtIHs/fSB2YWx1ZSAtIFZhbHVlIHRvIHNhbml0aXplLlxuICogQHBhcmFtIHtzdHJpbmd9IFtrZXldIC0gQ3VycmVudCBvYmplY3Qga2V5LlxuICogQHBhcmFtIHtXZWFrU2V0PG9iamVjdD59IFtzZWVuXSAtIFNlZW4gb2JqZWN0IHJlZmVyZW5jZXMuXG4gKiBAcmV0dXJucyB7P30gLSBTYW5pdGl6ZWQgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIHNhbml0aXplUmVxdWVzdERldGFpbHNWYWx1ZSh2YWx1ZSwga2V5ID0gXCJcIiwgc2VlbiA9IG5ldyBXZWFrU2V0KCkpIHtcbiAgaWYgKHNlbnNpdGl2ZVJlcXVlc3REZXRhaWxzS2V5KGtleSkpIHJldHVybiBSRURBQ1RFRF9SRVFVRVNUX0RFVEFJTFNfVkFMVUVcbiAgaWYgKHByaW1pdGl2ZVJlcXVlc3REZXRhaWxzVmFsdWUodmFsdWUpKSByZXR1cm4gdmFsdWVcbiAgaWYgKGJ1ZmZlclZhbHVlKHZhbHVlKSkgcmV0dXJuIGJ1ZmZlclJlcXVlc3REZXRhaWxzU3VtbWFyeSh2YWx1ZSlcbiAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVXBsb2FkZWRGaWxlKSByZXR1cm4gdXBsb2FkZWRGaWxlUmVxdWVzdERldGFpbHNTdW1tYXJ5KHZhbHVlKVxuICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSByZXR1cm4gc2FuaXRpemVSZXF1ZXN0RGV0YWlsc1N0cmluZyh2YWx1ZSlcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSByZXR1cm4gc2FuaXRpemVSZXF1ZXN0RGV0YWlsc0FycmF5KHZhbHVlLCBzZWVuKVxuICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSByZXR1cm4gc2FuaXRpemVSZXF1ZXN0RGV0YWlsc09iamVjdCh2YWx1ZSwgc2VlbilcblxuICByZXR1cm4gU3RyaW5nKHZhbHVlKVxufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgdmFsdWUgY2FuIGJlIGtlcHQgYXMtaXMuXG4gKiBAcGFyYW0gez99IHZhbHVlIC0gVmFsdWUuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIHRoZSB2YWx1ZSBpcyBwcmltaXRpdmUgYW5kIHNhZmUuXG4gKi9cbmZ1bmN0aW9uIHByaW1pdGl2ZVJlcXVlc3REZXRhaWxzVmFsdWUodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgdHlwZW9mIHZhbHVlID09PSBcImJvb2xlYW5cIiB8fCB0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCJcbn1cblxuLyoqXG4gKiBTYW5pdGl6ZXMgYSBzdHJpbmcgdmFsdWUuXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgLSBTdHJpbmcgdmFsdWUuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIFNhbml0aXplZCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIHNhbml0aXplUmVxdWVzdERldGFpbHNTdHJpbmcodmFsdWUpIHtcbiAgaWYgKHZhbHVlLmxlbmd0aCA8PSBSRVFVRVNUX0RFVEFJTFNfU1RSSU5HX01BWF9MRU5HVEgpIHJldHVybiB2YWx1ZVxuXG4gIHJldHVybiBgJHt2YWx1ZS5zbGljZSgwLCBSRVFVRVNUX0RFVEFJTFNfU1RSSU5HX01BWF9MRU5HVEgpfS4uLiBbdHJ1bmNhdGVkICR7dmFsdWUubGVuZ3RoIC0gUkVRVUVTVF9ERVRBSUxTX1NUUklOR19NQVhfTEVOR1RIfSBjaGFyc11gXG59XG5cbi8qKlxuICogU2FuaXRpemVzIGFuIGFycmF5IHZhbHVlLlxuICogQHBhcmFtIHtBcnJheTw/Pn0gdmFsdWUgLSBBcnJheSB2YWx1ZS5cbiAqIEBwYXJhbSB7V2Vha1NldDxvYmplY3Q+fSBzZWVuIC0gU2VlbiBvYmplY3QgcmVmZXJlbmNlcy5cbiAqIEByZXR1cm5zIHtBcnJheTw/Pn0gLSBTYW5pdGl6ZWQgYXJyYXkuXG4gKi9cbmZ1bmN0aW9uIHNhbml0aXplUmVxdWVzdERldGFpbHNBcnJheSh2YWx1ZSwgc2Vlbikge1xuICBjb25zdCBlbnRyaWVzID0gdmFsdWVcbiAgICAuc2xpY2UoMCwgUkVRVUVTVF9ERVRBSUxTX0FSUkFZX01BWF9JVEVNUylcbiAgICAubWFwKChlbnRyeSkgPT4gc2FuaXRpemVSZXF1ZXN0RGV0YWlsc1ZhbHVlKGVudHJ5LCBcIlwiLCBzZWVuKSlcblxuICBpZiAodmFsdWUubGVuZ3RoID4gUkVRVUVTVF9ERVRBSUxTX0FSUkFZX01BWF9JVEVNUykge1xuICAgIGVudHJpZXMucHVzaCh7X19vbWl0dGVkSXRlbXM6IHZhbHVlLmxlbmd0aCAtIFJFUVVFU1RfREVUQUlMU19BUlJBWV9NQVhfSVRFTVN9KVxuICB9XG5cbiAgcmV0dXJuIGVudHJpZXNcbn1cblxuLyoqXG4gKiBTYW5pdGl6ZXMgYSBwbGFpbiBvYmplY3QtbGlrZSB2YWx1ZS5cbiAqIEBwYXJhbSB7b2JqZWN0fSB2YWx1ZSAtIE9iamVjdCB2YWx1ZS5cbiAqIEBwYXJhbSB7V2Vha1NldDxvYmplY3Q+fSBzZWVuIC0gU2VlbiBvYmplY3QgcmVmZXJlbmNlcy5cbiAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCA/PiB8IHN0cmluZ30gLSBTYW5pdGl6ZWQgb2JqZWN0IG9yIGNpcmN1bGFyIG1hcmtlci5cbiAqL1xuZnVuY3Rpb24gc2FuaXRpemVSZXF1ZXN0RGV0YWlsc09iamVjdCh2YWx1ZSwgc2Vlbikge1xuICBpZiAoc2Vlbi5oYXModmFsdWUpKSByZXR1cm4gXCJbY2lyY3VsYXJdXCJcblxuICBzZWVuLmFkZCh2YWx1ZSlcblxuICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsID8+fSAqL1xuICBjb25zdCBzYW5pdGl6ZWQgPSB7fVxuXG4gIGZvciAoY29uc3QgW2VudHJ5S2V5LCBlbnRyeVZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZSkpIHtcbiAgICBzYW5pdGl6ZWRbZW50cnlLZXldID0gc2FuaXRpemVSZXF1ZXN0RGV0YWlsc1ZhbHVlKGVudHJ5VmFsdWUsIGVudHJ5S2V5LCBzZWVuKVxuICB9XG5cbiAgc2Vlbi5kZWxldGUodmFsdWUpXG5cbiAgcmV0dXJuIHNhbml0aXplZFxufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgdmFsdWUgaXMgYSBOb2RlLmpzIEJ1ZmZlci5cbiAqIEBwYXJhbSB7P30gdmFsdWUgLSBWYWx1ZS5cbiAqIEByZXR1cm5zIHt2YWx1ZSBpcyBCdWZmZXJ9IC0gV2hldGhlciB2YWx1ZSBpcyBhIEJ1ZmZlci5cbiAqL1xuZnVuY3Rpb24gYnVmZmVyVmFsdWUodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiBCdWZmZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgdHlwZW9mIEJ1ZmZlci5pc0J1ZmZlciA9PT0gXCJmdW5jdGlvblwiICYmIEJ1ZmZlci5pc0J1ZmZlcih2YWx1ZSlcbn1cblxuLyoqXG4gKiBTdW1tYXJpemVzIHJhdyBiaW5hcnkgZGF0YSB3aXRob3V0IHNlcmlhbGl6aW5nIGJ5dGVzLlxuICogQHBhcmFtIHtCdWZmZXJ9IGJ1ZmZlciAtIFVwbG9hZGVkIG9yIHJlcXVlc3QgYnVmZmVyLlxuICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsID8+fSAtIFJlcXVlc3Qtc2FmZSBidWZmZXIgc3VtbWFyeS5cbiAqL1xuZnVuY3Rpb24gYnVmZmVyUmVxdWVzdERldGFpbHNTdW1tYXJ5KGJ1ZmZlcikge1xuICByZXR1cm4ge1xuICAgIF9fcmVkYWN0ZWQ6IHRydWUsXG4gICAgX190eXBlOiBcIkJ1ZmZlclwiLFxuICAgIGJ5dGVMZW5ndGg6IGJ1ZmZlci5ieXRlTGVuZ3RoXG4gIH1cbn1cblxuLyoqXG4gKiBTdW1tYXJpemVzIHVwbG9hZGVkIGZpbGVzIHdpdGhvdXQgc2VyaWFsaXppbmcgZmlsZSBieXRlcyBvciB0ZW1wIHBhdGhzLlxuICogQHBhcmFtIHtVcGxvYWRlZEZpbGV9IHVwbG9hZGVkRmlsZSAtIFVwbG9hZGVkIGZpbGUgb2JqZWN0LlxuICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsID8+fSAtIFJlcXVlc3Qtc2FmZSB1cGxvYWQgc3VtbWFyeS5cbiAqL1xuZnVuY3Rpb24gdXBsb2FkZWRGaWxlUmVxdWVzdERldGFpbHNTdW1tYXJ5KHVwbG9hZGVkRmlsZSkge1xuICByZXR1cm4ge1xuICAgIF9fcmVkYWN0ZWQ6IHRydWUsXG4gICAgX190eXBlOiBcIlVwbG9hZGVkRmlsZVwiLFxuICAgIGNvbnRlbnRUeXBlOiB1cGxvYWRlZEZpbGUuY29udGVudFR5cGUoKSA/PyBudWxsLFxuICAgIGZpZWxkTmFtZTogdXBsb2FkZWRGaWxlLmZpZWxkTmFtZSgpLFxuICAgIGZpbGVuYW1lOiB1cGxvYWRlZEZpbGUuZmlsZW5hbWUoKSxcbiAgICBzaXplOiB1cGxvYWRlZEZpbGUuc2l6ZSgpXG4gIH1cbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGtleSBzaG91bGQgYmUgcmVkYWN0ZWQgZnJvbSByZXF1ZXN0IGRldGFpbHMuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gT2JqZWN0IGtleS5cbiAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgdGhlIHZhbHVlIGlzIHNlbnNpdGl2ZS5cbiAqL1xuZnVuY3Rpb24gc2Vuc2l0aXZlUmVxdWVzdERldGFpbHNLZXkoa2V5KSB7XG4gIHJldHVybiAvYXV0aG9yaXphdGlvbnxjb250ZW50QmFzZTY0fHBhc3N3b3JkfHNlY3JldHxzZXNzaW9uVG9rZW58dG9rZW4vaS50ZXN0KGtleSlcbn1cblxuLyoqXG4gKiBDb21wYWN0cyBhIGZyb250ZW5kLW1vZGVsIHJlcXVlc3QgZW52ZWxvcGUgd2hpbGUgcHJlc2VydmluZyBkZWJ1Z2dpbmcgc2hhcGUuXG4gKiBAcGFyYW0gez99IHZhbHVlIC0gU2FuaXRpemVkIGJvZHkgdmFsdWUuXG4gKiBAcGFyYW0ge251bWJlcn0gb3JpZ2luYWxTZXJpYWxpemVkTGVuZ3RoIC0gQnl0ZSBjb3VudCBiZWZvcmUgcmVkYWN0aW9uIG9yIGNvbXBhY3Rpb24uXG4gKiBAcmV0dXJucyB7P30gLSBDb21wYWN0ZWQgYm9keSB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gY29tcGFjdEZyb250ZW5kTW9kZWxSZXF1ZXN0Qm9keSh2YWx1ZSwgb3JpZ2luYWxTZXJpYWxpemVkTGVuZ3RoKSB7XG4gIGlmICghdmFsdWUgfHwgdHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiIHx8ICFBcnJheS5pc0FycmF5KC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgPz59ICovICh2YWx1ZSkucmVxdWVzdHMpKSB7XG4gICAgcmV0dXJuIGNvbXBhY3RSZXF1ZXN0RGV0YWlsc0JvZHkodmFsdWUsIG9yaWdpbmFsU2VyaWFsaXplZExlbmd0aClcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgX190cnVuY2F0ZWQ6IHRydWUsXG4gICAgb3JpZ2luYWxTZXJpYWxpemVkTGVuZ3RoLFxuICAgIHJlcXVlc3RzOiAvKiogQHR5cGUge0FycmF5PD8+fSAqLyAoLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gKi8gKHZhbHVlKS5yZXF1ZXN0cykubWFwKChyZXF1ZXN0KSA9PiB7XG4gICAgICByZXR1cm4gY29tcGFjdEZyb250ZW5kTW9kZWxSZXF1ZXN0KHJlcXVlc3QpXG4gICAgfSlcbiAgfVxufVxuXG4vKipcbiAqIENvbXBhY3RzIG9uZSBmcm9udGVuZC1tb2RlbCByZXF1ZXN0IGVudHJ5LlxuICogQHBhcmFtIHs/fSB2YWx1ZSAtIENhbmRpZGF0ZSByZXF1ZXN0IGVudHJ5IGZyb20gdGhlIHRyYW5zcG9ydCBlbnZlbG9wZS5cbiAqIEByZXR1cm5zIHs/fSAtIENvbXBhY3RlZCByZXF1ZXN0LlxuICovXG5mdW5jdGlvbiBjb21wYWN0RnJvbnRlbmRNb2RlbFJlcXVlc3QodmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSB8fCB0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIpIHJldHVybiB2YWx1ZVxuXG4gIGNvbnN0IHJlcXVlc3QgPSAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsID8+fSAqLyAodmFsdWUpXG4gIC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgPz59ICovXG4gIGNvbnN0IGNvbXBhY3QgPSB7fVxuXG4gIGZvciAoY29uc3Qga2V5IG9mIFtcInJlcXVlc3RJZFwiLCBcIm1vZGVsXCIsIFwiY29tbWFuZFR5cGVcIiwgXCJjdXN0b21QYXRoXCJdKSB7XG4gICAgaWYgKHJlcXVlc3Rba2V5XSAhPT0gdW5kZWZpbmVkKSBjb21wYWN0W2tleV0gPSByZXF1ZXN0W2tleV1cbiAgfVxuXG4gIGlmIChyZXF1ZXN0LnBheWxvYWQgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbXBhY3QucGF5bG9hZCA9IGNvbXBhY3RGcm9udGVuZE1vZGVsUGF5bG9hZChyZXF1ZXN0LnBheWxvYWQpXG4gIH1cblxuICByZXR1cm4gY29tcGFjdFxufVxuXG4vKipcbiAqIENvbXBhY3RzIGEgZnJvbnRlbmQtbW9kZWwgcGF5bG9hZC5cbiAqIEBwYXJhbSB7P30gdmFsdWUgLSBDYW5kaWRhdGUgcGF5bG9hZCBmcm9tIGEgcmVxdWVzdCBlbnRyeS5cbiAqIEByZXR1cm5zIHs/fSAtIENvbXBhY3RlZCBwYXlsb2FkLlxuICovXG5mdW5jdGlvbiBjb21wYWN0RnJvbnRlbmRNb2RlbFBheWxvYWQodmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSB8fCB0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHJldHVybiB2YWx1ZVxuXG4gIGNvbnN0IHBheWxvYWQgPSAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsID8+fSAqLyAodmFsdWUpXG4gIC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgPz59ICovXG4gIGNvbnN0IGNvbXBhY3QgPSB7fVxuXG4gIGZvciAoY29uc3QgW2tleSwgZW50cnlWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocGF5bG9hZCkpIHtcbiAgICBjb21wYWN0W2tleV0gPSBjb21wYWN0RnJvbnRlbmRNb2RlbFBheWxvYWRFbnRyeSh7a2V5LCB2YWx1ZTogZW50cnlWYWx1ZX0pXG4gIH1cblxuICByZXR1cm4gY29tcGFjdFxufVxuXG4vKipcbiAqIENvbXBhY3RzIG9uZSBmcm9udGVuZC1tb2RlbCBwYXlsb2FkIGVudHJ5LlxuICogQHBhcmFtIHt7a2V5OiBzdHJpbmcsIHZhbHVlOiA/fX0gYXJncyAtIFBheWxvYWQgZW50cnkuXG4gKiBAcmV0dXJucyB7P30gLSBDb21wYWN0ZWQgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGNvbXBhY3RGcm9udGVuZE1vZGVsUGF5bG9hZEVudHJ5KHtrZXksIHZhbHVlfSkge1xuICBpZiAoa2V5ICE9PSBcImF0dHJpYnV0ZXNcIiB8fCAhdmFsdWUgfHwgdHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICByZXR1cm4ge19fa2V5czogT2JqZWN0LmtleXMoLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gKi8gKHZhbHVlKSl9XG59XG5cbi8qKlxuICogQnVpbGRzIGEgbGFzdC1yZXNvcnQgY29tcGFjdCBib2R5IHN1bW1hcnkuXG4gKiBAcGFyYW0gez99IHZhbHVlIC0gU2FuaXRpemVkIGJvZHkuXG4gKiBAcGFyYW0ge251bWJlcn0gb3JpZ2luYWxTZXJpYWxpemVkTGVuZ3RoIC0gQnl0ZSBjb3VudCBiZWZvcmUgcmVkYWN0aW9uIG9yIGNvbXBhY3Rpb24uXG4gKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgPz59IC0gQ29tcGFjdCBzdW1tYXJ5LlxuICovXG5mdW5jdGlvbiBjb21wYWN0UmVxdWVzdERldGFpbHNCb2R5KHZhbHVlLCBvcmlnaW5hbFNlcmlhbGl6ZWRMZW5ndGgpIHtcbiAgcmV0dXJuIHtcbiAgICBfX3RydW5jYXRlZDogdHJ1ZSxcbiAgICBvcmlnaW5hbFNlcmlhbGl6ZWRMZW5ndGgsXG4gICAgdG9wTGV2ZWxLZXlzOiB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICA/IE9iamVjdC5rZXlzKC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgPz59ICovICh2YWx1ZSkpXG4gICAgICA6IFtdXG4gIH1cbn1cblxuLyoqXG4gKiBNZWFzdXJlcyBKU09OIHNlcmlhbGl6ZWQgbGVuZ3RoLlxuICogQHBhcmFtIHs/fSB2YWx1ZSAtIFZhbHVlIHRvIG1lYXN1cmUuXG4gKiBAcmV0dXJucyB7bnVtYmVyfSAtIFNlcmlhbGl6ZWQgbGVuZ3RoLCBvciBJbmZpbml0eSB3aGVuIG5vdCBzZXJpYWxpemFibGUuXG4gKi9cbmZ1bmN0aW9uIHNlcmlhbGl6ZWRMZW5ndGgodmFsdWUpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpLmxlbmd0aFxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gSW5maW5pdHlcbiAgfVxufVxuIl19
@@ -12,6 +12,12 @@ export default class FrontendModelController extends Controller {
12
12
  * Frontend model ability override.
13
13
  * @type {import("./authorization/ability.js").default | undefined} */
14
14
  _frontendModelAbilityOverride: import("./authorization/ability.js").default | undefined;
15
+ /**
16
+ * Original deserialized custom-command client payload, captured before route
17
+ * framework params are merged in, so a typed command method receives the client's
18
+ * own arguments rather than the route metadata. Only set on the shared-endpoint path.
19
+ * @type {Record<string, ?> | undefined} */
20
+ _frontendModelCustomCommandClientArguments: Record<string, unknown> | undefined;
15
21
  /**
16
22
  * Runs frontend model params.
17
23
  * @returns {Record<string, ?>} - Decoded request params.
@@ -903,6 +909,16 @@ export default class FrontendModelController extends Controller {
903
909
  * @returns {Promise<Record<string, ?>>} - Response payload.
904
910
  */
905
911
  frontendModelCustomCommandPayload(): Promise<Record<string, unknown>>;
912
+ /**
913
+ * Resolves the typed argument object passed to a custom command method. On the
914
+ * shared-endpoint path the original client payload was captured before route
915
+ * framework params were merged, so it is returned verbatim (a client `id` survives
916
+ * a member route). On the direct path it falls back to the request params with the
917
+ * framework keys the command route hook injected stripped out.
918
+ * @param {Record<string, ?>} params - Deserialized frontend-model params.
919
+ * @returns {Record<string, ?>} - Client command arguments.
920
+ */
921
+ frontendModelCustomCommandArguments(params: Record<string, unknown>): Record<string, unknown>;
906
922
  /**
907
923
  * Walks a custom-command response payload and replaces any backend `Record`
908
924
  * instance with the resource's per-action serialized form so handlers can
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-model-controller.d.ts","sourceRoot":"","sources":["../../src/frontend-model-controller.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frontend-model-controller.d.ts","sourceRoot":"","sources":["../../src/frontend-model-controller.js"],"names":[],"mappings":"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"}