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.
- package/README.md +5 -3
- package/build/configuration-types.js +9 -1
- package/build/configuration.js +6 -1
- package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +168 -36
- package/build/error-reporting/request-details.js +308 -0
- package/build/frontend-model-controller.js +50 -2
- package/build/src/configuration-types.d.ts +23 -1
- package/build/src/configuration-types.d.ts.map +1 -1
- package/build/src/configuration-types.js +9 -2
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +7 -2
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +91 -9
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +149 -36
- package/build/src/error-reporting/request-details.d.ts +7 -0
- package/build/src/error-reporting/request-details.d.ts.map +1 -0
- package/build/src/error-reporting/request-details.js +278 -0
- package/build/src/frontend-model-controller.d.ts +16 -0
- package/build/src/frontend-model-controller.d.ts.map +1 -1
- package/build/src/frontend-model-controller.js +39 -3
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/configuration-types.js +9 -1
- package/src/configuration.js +6 -1
- package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +168 -36
- package/src/error-reporting/request-details.js +308 -0
- 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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"}
|