@sailfish-ai/sf-veritas 0.2.20 → 0.3.0
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/consoleLocationTransformer-BSSB5msZ.cjs +1 -0
- package/dist/consoleLocationTransformer-DZu_9MDA.js +51 -0
- package/dist/contextManager-0D8uHQ1_.cjs +1 -0
- package/dist/{contextManager-Dw7Yot7r.js → contextManager-RxrMXs5c.js} +106 -83
- package/dist/plugins/funcspanEsbuildPlugin.cjs +1 -1
- package/dist/plugins/funcspanEsbuildPlugin.mjs +20 -16
- package/dist/plugins/funcspanRollupPlugin.cjs +1 -1
- package/dist/plugins/funcspanRollupPlugin.mjs +17 -13
- package/dist/plugins/funcspanTscPlugin.cjs +1 -1
- package/dist/plugins/funcspanTscPlugin.mjs +34 -30
- package/dist/plugins/funcspanVitePlugin.cjs +1 -1
- package/dist/plugins/funcspanVitePlugin.mjs +16 -12
- package/dist/plugins/funcspanWebpackLoader.cjs +1 -1
- package/dist/plugins/funcspanWebpackLoader.mjs +55 -50
- package/dist/plugins/funcspanWebpackPlugin.cjs +1 -1
- package/dist/plugins/funcspanWebpackPlugin.mjs +1 -1
- package/dist/runtimeConfig-BZ61efqE.js +485 -0
- package/dist/runtimeConfig-CWpFWsmz.cjs +6 -0
- package/dist/sf-veritas.cjs +25 -13
- package/dist/sf-veritas.mjs +453 -393
- package/dist/telemetryWorker.cjs +1 -0
- package/dist/types/dataTransmitter.d.ts +6 -5
- package/dist/types/exceptionTransmitter.d.ts +2 -1
- package/dist/types/frameworkDetection.d.ts +18 -0
- package/dist/types/networkHopTransmitter.d.ts +2 -1
- package/dist/types/networkRequestTransmitter.d.ts +2 -1
- package/dist/types/plugins/consoleLocationTransformer.d.ts +37 -0
- package/dist/types/requestUtils.d.ts +17 -6
- package/dist/types/setupConfig.d.ts +3 -0
- package/dist/types/sourceLocation.d.ts +19 -19
- package/dist/types/telemetryWorker.d.ts +1 -0
- package/dist/worker-pool-capture.cjs +1 -1
- package/dist/worker-pool-capture.mjs +1 -1
- package/dist/workerPoolSpanCapture-Bg5av6gn.cjs +83 -0
- package/dist/{workerPoolSpanCapture-Dm4Reseo.js → workerPoolSpanCapture-BjdZn3LE.js} +222 -168
- package/package.json +1 -1
- package/dist/contextManager-DQMeQfS_.cjs +0 -1
- package/dist/runtimeConfig-Bfqf33tO.js +0 -444
- package/dist/runtimeConfig-DmD4lUhG.cjs +0 -9
- package/dist/workerPoolSpanCapture-CAM2z9Jx.cjs +0 -83
|
@@ -0,0 +1,485 @@
|
|
|
1
|
+
var mn = Object.defineProperty;
|
|
2
|
+
var Zn = (n, I, C) => I in n ? mn(n, I, { enumerable: !0, configurable: !0, writable: !0, value: C }) : n[I] = C;
|
|
3
|
+
var Y = (n, I, C) => Zn(n, typeof I != "symbol" ? I + "" : I, C);
|
|
4
|
+
import * as fn from "fs/promises";
|
|
5
|
+
import pn from "http";
|
|
6
|
+
import Wn from "https";
|
|
7
|
+
import Gn from "os";
|
|
8
|
+
import { s as yn } from "./source-map-Cr6YkjTd.js";
|
|
9
|
+
import { Worker as Bn } from "worker_threads";
|
|
10
|
+
import { g as m, a as Yn, C as U } from "./contextManager-RxrMXs5c.js";
|
|
11
|
+
import { resolve as Vn } from "path";
|
|
12
|
+
function P(n) {
|
|
13
|
+
return typeof n == "string" ? n : n == null ? "" : Array.isArray(n) ? n.map((I) => String(I)).join(`
|
|
14
|
+
`) : String(n);
|
|
15
|
+
}
|
|
16
|
+
function hn(n) {
|
|
17
|
+
try {
|
|
18
|
+
return JSON.stringify(n), !0;
|
|
19
|
+
} catch {
|
|
20
|
+
return !1;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function jn(n) {
|
|
24
|
+
const I = {}, C = [];
|
|
25
|
+
if (n) for (const [g, e] of Object.entries(n)) hn(e) ? I[g] = e : C.push(g);
|
|
26
|
+
return { traitsJson: JSON.stringify(I), excludedFields: C };
|
|
27
|
+
}
|
|
28
|
+
class R {
|
|
29
|
+
constructor({ file: I, line: C, function: g, code: e, locals: i = {}, offender: t = !1, column: c }) {
|
|
30
|
+
Y(this, "file");
|
|
31
|
+
Y(this, "line");
|
|
32
|
+
Y(this, "function");
|
|
33
|
+
Y(this, "code");
|
|
34
|
+
Y(this, "locals");
|
|
35
|
+
Y(this, "offender");
|
|
36
|
+
Y(this, "column");
|
|
37
|
+
this.file = I, this.line = C, this.function = g, this.code = e, this.locals = i, this.offender = t, this.column = c;
|
|
38
|
+
}
|
|
39
|
+
toDict() {
|
|
40
|
+
const I = { file: this.file, line: this.line, function: this.function, code: this.code, locals: Object.fromEntries(Object.entries(this.locals).map(([C, g]) => [C, String(g)])) };
|
|
41
|
+
return this.offender && (I.offender = this.offender), this.column !== void 0 && (I.column = this.column), I;
|
|
42
|
+
}
|
|
43
|
+
toJson() {
|
|
44
|
+
return JSON.stringify(this.toDict());
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
class E {
|
|
48
|
+
static encode(I) {
|
|
49
|
+
return I instanceof R ? I.toDict() : Array.isArray(I) ? I.map((C) => E.encode(C)) : typeof I == "object" && I !== null ? JSON.stringify(I) : I;
|
|
50
|
+
}
|
|
51
|
+
static stringify(I) {
|
|
52
|
+
return JSON.stringify(E.encode(I), (C, g) => g instanceof R ? g.toDict() : g);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const J = process.env.SF_LOG_LOCATION || "auto";
|
|
56
|
+
let z = null, M = !1;
|
|
57
|
+
const Cn = "__sf:", ln = Error.prepareStackTrace, _ = ["/sf-veritas/", "/@sailfish-ai/", "/node_modules/", "/dist/", "/<", "/internal/", "node:"];
|
|
58
|
+
function Nn(n) {
|
|
59
|
+
for (let I = 0; I < _.length; I++) if (n.includes(_[I])) return !0;
|
|
60
|
+
return !1;
|
|
61
|
+
}
|
|
62
|
+
function j(n) {
|
|
63
|
+
let I = n;
|
|
64
|
+
I.startsWith("file://") && (I = I.substring(7)), process.platform === "win32" && I.startsWith("/") && I.length > 2 && I[2] === ":" && (I = I.substring(1));
|
|
65
|
+
try {
|
|
66
|
+
return Vn(I);
|
|
67
|
+
} catch {
|
|
68
|
+
return n;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const Hn = process.env.SF_LOG_LOCATION_WALK_FRAMES === "true";
|
|
72
|
+
function $(n) {
|
|
73
|
+
const I = Error.stackTraceLimit;
|
|
74
|
+
Error.stackTraceLimit = 8, Error.prepareStackTrace = (i, t) => t;
|
|
75
|
+
const C = {};
|
|
76
|
+
Error.captureStackTrace(C, n);
|
|
77
|
+
const g = C.stack;
|
|
78
|
+
if (Error.prepareStackTrace = ln, Error.stackTraceLimit = I, !g || g.length === 0) return [null, null];
|
|
79
|
+
for (let i = 0; i < g.length; i++) {
|
|
80
|
+
const t = g[i].getFileName();
|
|
81
|
+
if (t && !Nn(t)) return [j(t), g[i].getLineNumber()];
|
|
82
|
+
}
|
|
83
|
+
const e = g[0].getFileName();
|
|
84
|
+
return e ? [j(e), g[0].getLineNumber()] : [null, null];
|
|
85
|
+
}
|
|
86
|
+
function on(n, I, C) {
|
|
87
|
+
if (J === "off") return [null, null];
|
|
88
|
+
if (C && (J === "auto" || J === "build-inject")) {
|
|
89
|
+
const [g, e, i] = (function(t) {
|
|
90
|
+
if (t.length === 0) return [null, null, !1];
|
|
91
|
+
const c = t[t.length - 1];
|
|
92
|
+
if (typeof c != "string" || !c.startsWith(Cn)) return [null, null, !1];
|
|
93
|
+
const l = c.lastIndexOf(":");
|
|
94
|
+
if (l <= 5) return [null, null, !1];
|
|
95
|
+
const o = c.substring(5, l), s = parseInt(c.substring(l + 1), 10);
|
|
96
|
+
return isNaN(s) ? [null, null, !1] : [o, s, !0];
|
|
97
|
+
})(C);
|
|
98
|
+
if (i) return [g, e];
|
|
99
|
+
if (J === "build-inject") return [null, null];
|
|
100
|
+
}
|
|
101
|
+
if (J === "native") {
|
|
102
|
+
const g = (function() {
|
|
103
|
+
if (M) return z;
|
|
104
|
+
M = !0;
|
|
105
|
+
try {
|
|
106
|
+
const e = require("../native/build/Release/sf_source_location.node");
|
|
107
|
+
typeof e?.getCallerLocation == "function" && (z = e);
|
|
108
|
+
} catch {
|
|
109
|
+
}
|
|
110
|
+
return z;
|
|
111
|
+
})();
|
|
112
|
+
if (g) {
|
|
113
|
+
const [e, i] = g.getCallerLocation(n ?? 2);
|
|
114
|
+
if (e) return [e, i];
|
|
115
|
+
}
|
|
116
|
+
if (J === "native" && z) return [null, null];
|
|
117
|
+
}
|
|
118
|
+
return I ? Hn ? $(I) : (function(g) {
|
|
119
|
+
const e = Error.stackTraceLimit;
|
|
120
|
+
Error.stackTraceLimit = 1, Error.prepareStackTrace = (o, s) => s;
|
|
121
|
+
const i = {};
|
|
122
|
+
Error.captureStackTrace(i, g);
|
|
123
|
+
const t = i.stack;
|
|
124
|
+
if (Error.prepareStackTrace = ln, Error.stackTraceLimit = e, !t || t.length === 0) return [null, null];
|
|
125
|
+
const c = t[0], l = c.getFileName();
|
|
126
|
+
return l ? [j(l), c.getLineNumber()] : [null, null];
|
|
127
|
+
})(I) : $(on);
|
|
128
|
+
}
|
|
129
|
+
function W(n) {
|
|
130
|
+
if (n.length === 0) return n;
|
|
131
|
+
const I = n[n.length - 1];
|
|
132
|
+
return typeof I == "string" && I.startsWith(Cn) ? n.slice(0, -1) : n;
|
|
133
|
+
}
|
|
134
|
+
const O = console.log.bind(console), D = console.error.bind(console), q = console.warn.bind(console), nn = console.info.bind(console), In = console.debug.bind(console), y = O, gn = D;
|
|
135
|
+
let a = !1;
|
|
136
|
+
const L = 8192;
|
|
137
|
+
function Jn(n) {
|
|
138
|
+
if (n === null) return "null";
|
|
139
|
+
if (n === void 0) return "undefined";
|
|
140
|
+
const I = typeof n;
|
|
141
|
+
if (I === "string") return n;
|
|
142
|
+
if (I === "number" || I === "boolean") return String(n);
|
|
143
|
+
if (I === "bigint") return n.toString() + "n";
|
|
144
|
+
if (I === "symbol") return n.toString();
|
|
145
|
+
if (I === "function") return `[Function: ${n.name || "anonymous"}]`;
|
|
146
|
+
if (n instanceof Error) return n.stack || `${n.name}: ${n.message}`;
|
|
147
|
+
try {
|
|
148
|
+
const C = /* @__PURE__ */ new WeakSet(), g = [], e = /* @__PURE__ */ new Map(), i = JSON.stringify(n, function(c, l) {
|
|
149
|
+
if (typeof l == "bigint") return l.toString() + "n";
|
|
150
|
+
if (typeof l == "function") return `[Function: ${l.name || "anonymous"}]`;
|
|
151
|
+
if (typeof l == "symbol") return l.toString();
|
|
152
|
+
if (l === void 0) return "[undefined]";
|
|
153
|
+
if (c !== "" && e.has(this)) {
|
|
154
|
+
const o = e.get(this);
|
|
155
|
+
if (o >= 20) return;
|
|
156
|
+
e.set(this, o + 1);
|
|
157
|
+
}
|
|
158
|
+
if (l !== null && typeof l == "object") {
|
|
159
|
+
if (C.has(l)) return "[Circular]";
|
|
160
|
+
for (; g.length > 0 && g[g.length - 1] !== this; ) g.pop();
|
|
161
|
+
if (g.length >= 3) return Array.isArray(l) ? `[Array(${l.length})]` : "[Object]";
|
|
162
|
+
C.add(l), g.push(l), !Array.isArray(l) && Object.keys(l).length > 20 && e.set(l, 0);
|
|
163
|
+
}
|
|
164
|
+
return l;
|
|
165
|
+
});
|
|
166
|
+
if (i === void 0) return String(n);
|
|
167
|
+
let t = i;
|
|
168
|
+
if (e.size > 0 && !Array.isArray(n) && e.has(n)) {
|
|
169
|
+
const c = Object.keys(n).length;
|
|
170
|
+
t = t.slice(0, -1) + `,"...":"${c - 20} more keys"}`;
|
|
171
|
+
}
|
|
172
|
+
return t.length > 500 ? t.substring(0, 500) + "...[truncated]" : t;
|
|
173
|
+
} catch {
|
|
174
|
+
return String(n);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
function S(n) {
|
|
178
|
+
if (n.length === 0) return "";
|
|
179
|
+
if (n.length === 1 && typeof n[0] == "string") {
|
|
180
|
+
const g = n[0];
|
|
181
|
+
return g.length > L ? g.substring(0, L) + "...[truncated]" : g;
|
|
182
|
+
}
|
|
183
|
+
let I, C = !0;
|
|
184
|
+
for (let g = 0; g < n.length; g++) {
|
|
185
|
+
const e = typeof n[g];
|
|
186
|
+
if (e === "object" && n[g] !== null || e === "function" || e === "symbol") {
|
|
187
|
+
C = !1;
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
if (C) {
|
|
192
|
+
const g = new Array(n.length);
|
|
193
|
+
for (let e = 0; e < n.length; e++) {
|
|
194
|
+
const i = n[e];
|
|
195
|
+
g[e] = i === null ? "null" : i === void 0 ? "undefined" : typeof i == "string" ? i : String(i);
|
|
196
|
+
}
|
|
197
|
+
I = g.join(" ");
|
|
198
|
+
} else I = n.map(Jn).join(" ");
|
|
199
|
+
return I.length > L ? I.substring(0, L) + "...[truncated]" : I;
|
|
200
|
+
}
|
|
201
|
+
function On(n) {
|
|
202
|
+
function I(t, c, l, o) {
|
|
203
|
+
const s = Yn();
|
|
204
|
+
if (s?.logIgnoreRegex && s.logIgnoreRegex.test(c)) return;
|
|
205
|
+
const [h, d] = on(2, l, o);
|
|
206
|
+
n.setOperationName("CollectLogs"), n.doSend([c, t, h, d]);
|
|
207
|
+
}
|
|
208
|
+
const C = console.log = (...t) => {
|
|
209
|
+
if (a) O(...W(t));
|
|
210
|
+
else {
|
|
211
|
+
a = !0;
|
|
212
|
+
try {
|
|
213
|
+
const c = W(t);
|
|
214
|
+
I("INFO", S(c), C, t), O(...c);
|
|
215
|
+
} finally {
|
|
216
|
+
a = !1;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}, g = console.error = (...t) => {
|
|
220
|
+
if (a) D(...W(t));
|
|
221
|
+
else {
|
|
222
|
+
a = !0;
|
|
223
|
+
try {
|
|
224
|
+
const c = W(t);
|
|
225
|
+
I("ERROR", S(c), g, t), D(...c);
|
|
226
|
+
} finally {
|
|
227
|
+
a = !1;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}, e = console.warn = (...t) => {
|
|
231
|
+
if (a) q(...W(t));
|
|
232
|
+
else {
|
|
233
|
+
a = !0;
|
|
234
|
+
try {
|
|
235
|
+
const c = W(t);
|
|
236
|
+
I("WARN", S(c), e, t), q(...c);
|
|
237
|
+
} finally {
|
|
238
|
+
a = !1;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}, i = console.info = (...t) => {
|
|
242
|
+
if (a) nn(...W(t));
|
|
243
|
+
else {
|
|
244
|
+
a = !0;
|
|
245
|
+
try {
|
|
246
|
+
const c = W(t);
|
|
247
|
+
I("INFO", S(c), i, t), nn(...c);
|
|
248
|
+
} finally {
|
|
249
|
+
a = !1;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
if (m().logLevel === "DEBUG") {
|
|
254
|
+
const t = console.debug = (...c) => {
|
|
255
|
+
if (a) In(...W(c));
|
|
256
|
+
else {
|
|
257
|
+
a = !0;
|
|
258
|
+
try {
|
|
259
|
+
const l = W(c);
|
|
260
|
+
I("DEBUG", S(l), t, c), In(...l);
|
|
261
|
+
} finally {
|
|
262
|
+
a = !1;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
let v = 0;
|
|
269
|
+
function Dn(n) {
|
|
270
|
+
m().sfDebug && y("Initializing Exception Interceptor...");
|
|
271
|
+
try {
|
|
272
|
+
const c = rn();
|
|
273
|
+
n?.setSupplementalFields?.({ isFromLocalService: c }), (async function(l) {
|
|
274
|
+
if (cn) return;
|
|
275
|
+
cn = !0;
|
|
276
|
+
const o = process.env || {};
|
|
277
|
+
if (An(o.SF_IS_LOCAL) === void 0)
|
|
278
|
+
try {
|
|
279
|
+
await (async function(s) {
|
|
280
|
+
const h = T("http://169.254.169.254/latest/meta-data/", {}, s), d = T("http://metadata.google.internal/computeMetadata/v1/instance/", { "Metadata-Flavor": "Google" }, s), b = T("http://169.254.169.254/metadata/instance?api-version=2021-02-01", { Metadata: "true" }, s);
|
|
281
|
+
return (await Promise.allSettled([h, d, b])).some((f) => f.status === "fulfilled" && (f.value === "ok" || f.value === "http_error"));
|
|
282
|
+
})(150) && V && (V = !1, l?.setSupplementalFields?.({ isFromLocalService: !1 }));
|
|
283
|
+
} catch {
|
|
284
|
+
}
|
|
285
|
+
})(n).catch(() => {
|
|
286
|
+
});
|
|
287
|
+
} catch {
|
|
288
|
+
}
|
|
289
|
+
const I = new Bn(new URL("data:application/javascript;base64,Ly8gc3JjL2RlYnVnZ2VyV29ya2VyLnRzCmltcG9ydCB7IFNlc3Npb24gfSBmcm9tICJpbnNwZWN0b3IvcHJvbWlzZXMiOwppbXBvcnQgeyBwYXJlbnRQb3J0LCB3b3JrZXJEYXRhIH0gZnJvbSAid29ya2VyX3RocmVhZHMiOwpnbG9iYWwuc2ZEZWJ1ZyA9IHZvaWQgMDsKZ2xvYmFsLnN0YWNrRGVwdGhMb2NhbHMgPSB2b2lkIDA7Cmdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPSB2b2lkIDA7CnZhciBzY3JpcHRTb3VyY2VDYWNoZSA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CnZhciBub25BcHBGcmFtZVBhdHRlcm5zID0gWwogIC9ub2RlOmludGVybmFsLywKICAvaW50ZXJuYWxcLy8sCiAgL25vZGVfbW9kdWxlcy8sCiAgL25vZGU6ZnMvCl07CmFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NDYWxsRnJhbWVzKHNlc3Npb24sIGNhbGxGcmFtZXMsIGRlc2NyaXB0aW9uTGluZXMpIHsKICBjb25zdCBsaW1pdGVkQ2FsbEZyYW1lcyA9IGNhbGxGcmFtZXMuc2xpY2UoMCwgZ2xvYmFsLnN0YWNrRGVwdGhMb2NhbHMpOwogIGlmIChsaW1pdGVkQ2FsbEZyYW1lcy5sZW5ndGggPiAwKSB7CiAgICBjb25zdCBmaXJzdFVybCA9IGxpbWl0ZWRDYWxsRnJhbWVzWzBdLnVybCB8fCAiIjsKICAgIGlmIChub25BcHBGcmFtZVBhdHRlcm5zLnNvbWUoKHApID0+IHAudGVzdChmaXJzdFVybCkpKSB7CiAgICAgIHBhcmVudFBvcnQ/LnBvc3RNZXNzYWdlKHsgdHlwZTogImV4Y2VwdGlvbiIsIGZyYW1lczogW10gfSk7CiAgICAgIHJldHVybjsKICAgIH0KICB9CiAgY29uc3QgZnJhbWVzID0gYXdhaXQgUHJvbWlzZS5hbGwoCiAgICBsaW1pdGVkQ2FsbEZyYW1lcy5tYXAoYXN5bmMgKGZyYW1lLCBpbmRleCkgPT4gewogICAgICB0cnkgewogICAgICAgIGNvbnN0IHsgZnVuY3Rpb25OYW1lLCBsb2NhdGlvbiwgdXJsLCBzY29wZUNoYWluIH0gPSBmcmFtZTsKICAgICAgICBjb25zdCBsb2NhbFNjb3BlID0gc2NvcGVDaGFpbi5maW5kKChzY29wZSkgPT4gc2NvcGUudHlwZSA9PT0gImxvY2FsIik7CiAgICAgICAgbGV0IGNvZGUgPSAiPG5vdCBjYXB0dXJlZD4iOwogICAgICAgIGxldCBmaWxlID0gIiI7CiAgICAgICAgaWYgKHVybCAmJiB1cmwudHJpbSgpICE9PSAiIikgewogICAgICAgICAgZmlsZSA9IHVybDsKICAgICAgICB9IGVsc2UgaWYgKGRlc2NyaXB0aW9uTGluZXNbaW5kZXhdKSB7CiAgICAgICAgICBmaWxlID0gZGVzY3JpcHRpb25MaW5lc1tpbmRleF0udHJpbSgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBmaWxlID0gIjx1bmtub3duPiI7CiAgICAgICAgfQogICAgICAgIGlmIChsb2NhdGlvbiAmJiBsb2NhdGlvbi5zY3JpcHRJZCkgewogICAgICAgICAgY29uc3Qgc2NyaXB0SWQgPSBsb2NhdGlvbi5zY3JpcHRJZDsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGxldCBzY3JpcHRTb3VyY2UgPSBzY3JpcHRTb3VyY2VDYWNoZS5nZXQoc2NyaXB0SWQpOwogICAgICAgICAgICBpZiAoc2NyaXB0U291cmNlID09PSB2b2lkIDApIHsKICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzZXNzaW9uLnBvc3QoCiAgICAgICAgICAgICAgICAiRGVidWdnZXIuZ2V0U2NyaXB0U291cmNlIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgc2NyaXB0SWQKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICApOwogICAgICAgICAgICAgIHNjcmlwdFNvdXJjZSA9IHJlc3VsdC5zY3JpcHRTb3VyY2U7CiAgICAgICAgICAgICAgc2NyaXB0U291cmNlQ2FjaGUuc2V0KHNjcmlwdElkLCBzY3JpcHRTb3VyY2UpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvbnN0IHNvdXJjZUxpbmVzID0gc2NyaXB0U291cmNlLnNwbGl0KCJcbiIpOwogICAgICAgICAgICBjb2RlID0gc291cmNlTGluZXNbbG9jYXRpb24ubGluZU51bWJlcl0gfHwgIjxub3QgY2FwdHVyZWQ+IjsKICAgICAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJbV29ya2VyXSBGYWlsZWQgdG8gZmV0Y2ggc2NyaXB0IHNvdXJjZToiLCBlcnIpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNvbnN0IGxvY2FscyA9IGxvY2FsU2NvcGU/Lm9iamVjdD8ub2JqZWN0SWQgPyBhd2FpdCBmZXRjaExvY2FsVmFyaWFibGVzKHNlc3Npb24sIGxvY2FsU2NvcGUub2JqZWN0Lm9iamVjdElkKSA6IHt9OwogICAgICAgIHJldHVybiB7CiAgICAgICAgICBmdW5jdGlvbjogZnVuY3Rpb25OYW1lIHx8ICI8YW5vbnltb3VzPiIsCiAgICAgICAgICBsb2NhbHMsCiAgICAgICAgICBmaWxlLAogICAgICAgICAgbGluZTogbG9jYXRpb24/LmxpbmVOdW1iZXIgfHwgMCwKICAgICAgICAgIGNvZGUKICAgICAgICB9OwogICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgY29uc29sZS5lcnJvcigiW1dvcmtlcl0gRXJyb3IgcHJvY2Vzc2luZyBjYWxsIGZyYW1lOiIsIGVycm9yKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGZ1bmN0aW9uOiAiPGVycm9yPiIsCiAgICAgICAgICBsb2NhbHM6IHt9LAogICAgICAgICAgZmlsZTogIjx1bmtub3duPiIsCiAgICAgICAgICBsaW5lOiAwLAogICAgICAgICAgY29kZTogIjxub3QgY2FwdHVyZWQ+IgogICAgICAgIH07CiAgICAgIH0KICAgIH0pCiAgKTsKICBwYXJlbnRQb3J0Py5wb3N0TWVzc2FnZSh7IHR5cGU6ICJleGNlcHRpb24iLCBmcmFtZXMgfSk7Cn0KYXN5bmMgZnVuY3Rpb24gaGFuZGxlUGF1c2VkKHNlc3Npb24sIHBhcmFtcykgewogIGNvbnN0IHsgcmVhc29uLCBkYXRhLCBjYWxsRnJhbWVzIH0gPSBwYXJhbXM7CiAgaWYgKHJlYXNvbiAhPT0gImV4Y2VwdGlvbiIgJiYgcmVhc29uICE9PSAicHJvbWlzZVJlamVjdGlvbiIpIHsKICAgIHJldHVybjsKICB9CiAgY29uc3Qgbm9uQXBwUGF0dGVybnMgPSBbCiAgICAvbm9kZTppbnRlcm5hbC8sCiAgICAvaW50ZXJuYWxcLy8sCiAgICAvbm9kZV9tb2R1bGVzLywKICAgIC9ub2RlOmZzLwogIF07CiAgbGV0IGZpcnN0RnJhbWVMaW5lID0gIiI7CiAgbGV0IGRlc2NyaXB0aW9uTGluZXMgPSBbXTsKICBpZiAoZGF0YSAmJiB0eXBlb2YgZGF0YS5kZXNjcmlwdGlvbiA9PT0gInN0cmluZyIpIHsKICAgIGRlc2NyaXB0aW9uTGluZXMgPSBkYXRhLmRlc2NyaXB0aW9uLnNwbGl0KCJcbiIpLmZpbHRlcigobGluZSkgPT4gbGluZS50cmltKCkuc3RhcnRzV2l0aCgiYXQgIikpOwogICAgZmlyc3RGcmFtZUxpbmUgPSBkZXNjcmlwdGlvbkxpbmVzWzBdIHx8ICIiOwogICAgaWYgKCFmaXJzdEZyYW1lTGluZSkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBlcnJvckZyb21Ob25BcHAgPSBub25BcHBQYXR0ZXJucy5zb21lKAogICAgICAocGF0dGVybikgPT4gcGF0dGVybi50ZXN0KGZpcnN0RnJhbWVMaW5lLnRyaW0oKSkKICAgICk7CiAgICBjb25zdCBub2RlTW9kdWxlc0xpc3QgPSBBcnJheS5pc0FycmF5KAogICAgICBnbG9iYWwubm9kZU1vZHVsZXNUb0NvbGxlY3RMb2NhbFZhcmlhYmxlc09uCiAgICApID8gZ2xvYmFsLm5vZGVNb2R1bGVzVG9Db2xsZWN0TG9jYWxWYXJpYWJsZXNPbiA6IFtdOwogICAgaWYgKGVycm9yRnJvbU5vbkFwcCkgewogICAgICBpZiAobm9kZU1vZHVsZXNMaXN0LmluY2x1ZGVzKCJfX2FsbF9fIikpIHsKICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKAogICAgICAgICAgICAiW1dvcmtlcl0gRXJyb3IgaXMgZnJvbSBub24tYXBwIHNvdXJjZSwgYnV0IGNhcHR1cmluZyBkdWUgdG8gX19hbGxfXyBydWxlLiIKICAgICAgICAgICk7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKG5vZGVNb2R1bGVzTGlzdC5sZW5ndGggPiAwKSB7CiAgICAgICAgY29uc3QgaXNGcm9tQWxsb3dlZE5vZGVNb2R1bGUgPSBub2RlTW9kdWxlc0xpc3Quc29tZSgKICAgICAgICAgIChtb2R1bGVOYW1lKSA9PiBmaXJzdEZyYW1lTGluZS5pbmNsdWRlcyhgJHttb2R1bGVOYW1lfWApCiAgICAgICAgKTsKICAgICAgICBpZiAoIWlzRnJvbUFsbG93ZWROb2RlTW9kdWxlKSB7CiAgICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgICAgY29uc29sZS5sb2coCiAgICAgICAgICAgICAgIltXb3JrZXJdIEVycm9yIGFwcGVhcnMgdG8gYmUgdHJpZ2dlcmVkIGZyb20gbm9uLWFwcGxpY2F0aW9uIHNvdXJjZXM7IGlnbm9yaW5nLiIKICAgICAgICAgICAgKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygKICAgICAgICAgICAgIltXb3JrZXJdIEVycm9yIGFwcGVhcnMgdG8gYmUgdHJpZ2dlcmVkIGZyb20gbm9uLWFwcGxpY2F0aW9uIHNvdXJjZXM7IGlnbm9yaW5nLiIKICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgICAgfQogICAgfQogICAgYXdhaXQgcHJvY2Vzc0NhbGxGcmFtZXMoc2Vzc2lvbiwgY2FsbEZyYW1lcywgZGVzY3JpcHRpb25MaW5lcyk7CiAgfSBlbHNlIHsKICAgIHJldHVybjsKICB9Cn0KYXN5bmMgZnVuY3Rpb24gc3RhcnREZWJ1Z2dlcigpIHsKICBwYXJlbnRQb3J0Py5wb3N0TWVzc2FnZSh7IHR5cGU6ICJtZXNzYWdlIiwgcmVhZHlUb0dldFBhcmFtZXRlcnM6IHRydWUgfSk7CiAgbGV0IHJlc29sdmVNZXNzYWdlUHJvbWlzZTsKICBjb25zdCBtZXNzYWdlUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICByZXNvbHZlTWVzc2FnZVByb21pc2UgPSByZXNvbHZlOwogIH0pOwogIGxldCBpc1BhdXNlZCA9IGZhbHNlOwogIHBhcmVudFBvcnQ/Lm9uKCJtZXNzYWdlIiwgKG1lc3NhZ2UpID0+IHsKICAgIHRyeSB7CiAgICAgIGlmIChtZXNzYWdlPy50eXBlID09PSAicHJvY2Vzc0V4Y2VwdGlvbiIpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgaWYgKG1lc3NhZ2U/LnNmRGVidWcgIT09IHZvaWQgMCAmJiBtZXNzYWdlPy5zdGFja0RlcHRoTG9jYWxzICE9PSB2b2lkIDApIHsKICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKCJVcGRhdGluZyBnbG9iYWwgZGVidWcgdmFyaWFibGVzLi4uIik7CiAgICAgICAgfQogICAgICAgIGdsb2JhbC5zZkRlYnVnID0gbWVzc2FnZS5zZkRlYnVnOwogICAgICAgIGdsb2JhbC5zdGFja0RlcHRoTG9jYWxzID0gbWVzc2FnZS5zdGFja0RlcHRoTG9jYWxzOwogICAgICAgIGdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPSBtZXNzYWdlLm5vZGVNb2R1bGVzVG9Db2xsZWN0TG9jYWxWYXJpYWJsZXNPbjsKICAgICAgICByZXNvbHZlTWVzc2FnZVByb21pc2UoKTsKICAgICAgfQogICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgY29uc29sZS5lcnJvcigiXHUyNzRDIEVycm9yIGluIG1lc3NhZ2UgaGFuZGxpbmc6IiwgZXJyb3IpOwogICAgICB9CiAgICB9CiAgfSk7CiAgYXdhaXQgbWVzc2FnZVByb21pc2U7CiAgdHJ5IHsKICAgIGNvbnN0IHNlc3Npb24gPSBuZXcgU2Vzc2lvbigpOwogICAgc2Vzc2lvbi5jb25uZWN0VG9NYWluVGhyZWFkKCk7CiAgICBzZXNzaW9uLm9uKCJEZWJ1Z2dlci5yZXN1bWVkIiwgKCkgPT4gewogICAgICBpc1BhdXNlZCA9IGZhbHNlOwogICAgfSk7CiAgICBzZXNzaW9uLm9uKCJEZWJ1Z2dlci5wYXVzZWQiLCBhc3luYyAoZXZlbnQpID0+IHsKICAgICAgaXNQYXVzZWQgPSB0cnVlOwogICAgICBoYW5kbGVQYXVzZWQoc2Vzc2lvbiwgZXZlbnQucGFyYW1zKS50aGVuKAogICAgICAgIGFzeW5jICgpID0+IHsKICAgICAgICAgIGlmIChpc1BhdXNlZCkgewogICAgICAgICAgICBhd2FpdCBzZXNzaW9uLnBvc3QoIkRlYnVnZ2VyLnJlc3VtZSIpOwogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgYXN5bmMgKF8pID0+IHsKICAgICAgICAgIGlmIChpc1BhdXNlZCkgewogICAgICAgICAgICBhd2FpdCBzZXNzaW9uLnBvc3QoIkRlYnVnZ2VyLnJlc3VtZSIpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgKTsKICAgIH0pOwogICAgYXdhaXQgc2Vzc2lvbi5wb3N0KCJEZWJ1Z2dlci5lbmFibGUiKTsKICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIuc2V0UGF1c2VPbkV4Y2VwdGlvbnMiLCB7CiAgICAgIHN0YXRlOiB3b3JrZXJEYXRhPy5jYXB0dXJlQWxsRXhjZXB0aW9ucyA/ICJhbGwiIDogInVuY2F1Z2h0IgogICAgfSk7CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICBjb25zb2xlLmVycm9yKCJbV29ya2VyXSBlcnJvciAiLCBlcnJvcik7CiAgICB9CiAgfQogIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgY29uc29sZS5sb2coIltXb3JrZXJdIERlYnVnZ2VyIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5LiIpOwogIH0KfQphc3luYyBmdW5jdGlvbiB1bnJvbGxPYmplY3Qoc2Vzc2lvbiwgb2JqZWN0SWQsIG5hbWUsIHZhcnMpIHsKICBjb25zdCBwcm9wZXJ0aWVzID0gYXdhaXQgc2Vzc2lvbi5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLCB7CiAgICBvYmplY3RJZCwKICAgIG93blByb3BlcnRpZXM6IHRydWUKICB9KTsKICB2YXJzW25hbWVdID0gcHJvcGVydGllcy5yZXN1bHQubWFwKCh2KSA9PiBbdi5uYW1lLCB2LnZhbHVlPy52YWx1ZV0pLnJlZHVjZSgob2JqLCBba2V5LCB2YWxdKSA9PiB7CiAgICBvYmpba2V5XSA9IHZhbDsKICAgIHJldHVybiBvYmo7CiAgfSwge30pOwp9CmFzeW5jIGZ1bmN0aW9uIHVucm9sbEFycmF5KHNlc3Npb24sIG9iamVjdElkLCBuYW1lLCB2YXJzKSB7CiAgY29uc3QgcHJvcGVydGllcyA9IGF3YWl0IHNlc3Npb24ucG9zdCgiUnVudGltZS5nZXRQcm9wZXJ0aWVzIiwgewogICAgb2JqZWN0SWQsCiAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlCiAgfSk7CiAgdmFyc1tuYW1lXSA9IHByb3BlcnRpZXMucmVzdWx0LmZpbHRlcigodikgPT4gdi5uYW1lICE9PSAibGVuZ3RoIiAmJiAhaXNOYU4ocGFyc2VJbnQodi5uYW1lLCAxMCkpKS5zb3J0KChhLCBiKSA9PiBwYXJzZUludChhLm5hbWUsIDEwKSAtIHBhcnNlSW50KGIubmFtZSwgMTApKS5tYXAoKHYpID0+IHYudmFsdWU/LnZhbHVlKTsKfQpmdW5jdGlvbiB1bnJvbGxPdGhlcihwcm9wLCB2YXJzKSB7CiAgaWYgKCFwcm9wLnZhbHVlKSB7CiAgICByZXR1cm47CiAgfQogIGlmICgidmFsdWUiIGluIHByb3AudmFsdWUpIHsKICAgIGlmIChwcm9wLnZhbHVlLnZhbHVlID09PSB2b2lkIDAgfHwgcHJvcC52YWx1ZS52YWx1ZSA9PT0gbnVsbCkgewogICAgICB2YXJzW3Byb3AubmFtZV0gPSBgPCR7cHJvcC52YWx1ZS52YWx1ZX0+YDsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyc1twcm9wLm5hbWVdID0gcHJvcC52YWx1ZS52YWx1ZTsKICAgIHJldHVybjsKICB9CiAgaWYgKCJkZXNjcmlwdGlvbiIgaW4gcHJvcC52YWx1ZSAmJiBwcm9wLnZhbHVlLnR5cGUgIT09ICJmdW5jdGlvbiIpIHsKICAgIHZhcnNbcHJvcC5uYW1lXSA9IGA8JHtwcm9wLnZhbHVlLmRlc2NyaXB0aW9ufT5gOwogICAgcmV0dXJuOwogIH0KICBpZiAocHJvcC52YWx1ZS50eXBlID09PSAidW5kZWZpbmVkIikgewogICAgdmFyc1twcm9wLm5hbWVdID0gIjx1bmRlZmluZWQ+IjsKICAgIHJldHVybjsKICB9Cn0KYXN5bmMgZnVuY3Rpb24gZmV0Y2hMb2NhbFZhcmlhYmxlcyhzZXNzaW9uLCBvYmplY3RJZCkgewogIGlmICghb2JqZWN0SWQpIHJldHVybiB7fTsKICB0cnkgewogICAgY29uc3QgeyByZXN1bHQgfSA9IGF3YWl0IHNlc3Npb24ucG9zdCgiUnVudGltZS5nZXRQcm9wZXJ0aWVzIiwgewogICAgICBvYmplY3RJZCwKICAgICAgb3duUHJvcGVydGllczogdHJ1ZQogICAgfSk7CiAgICBjb25zdCBwcm9wZXJ0aWVzID0gcmVzdWx0OwogICAgaWYgKHByb3BlcnRpZXMpIHsKICAgICAgY29uc3QgdmFyaWFibGVzID0ge307CiAgICAgIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wZXJ0aWVzKSB7CiAgICAgICAgaWYgKHByb3A/LnZhbHVlPy5vYmplY3RJZCAmJiBwcm9wPy52YWx1ZS5jbGFzc05hbWUgPT09ICJBcnJheSIpIHsKICAgICAgICAgIGNvbnN0IGlkID0gcHJvcC52YWx1ZS5vYmplY3RJZDsKICAgICAgICAgIGF3YWl0IHVucm9sbEFycmF5KHNlc3Npb24sIGlkLCBwcm9wLm5hbWUsIHZhcmlhYmxlcyk7CiAgICAgICAgfSBlbHNlIGlmIChwcm9wPy52YWx1ZT8ub2JqZWN0SWQgJiYgcHJvcD8udmFsdWU/LmNsYXNzTmFtZSA9PT0gIk9iamVjdCIpIHsKICAgICAgICAgIGNvbnN0IGlkID0gcHJvcC52YWx1ZS5vYmplY3RJZDsKICAgICAgICAgIGF3YWl0IHVucm9sbE9iamVjdChzZXNzaW9uLCBpZCwgcHJvcC5uYW1lLCB2YXJpYWJsZXMpOwogICAgICAgIH0gZWxzZSBpZiAocHJvcD8udmFsdWUpIHsKICAgICAgICAgIHVucm9sbE90aGVyKHByb3AsIHZhcmlhYmxlcyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiB2YXJpYWJsZXM7CiAgICB9CiAgfSBjYXRjaCAoZXJyKSB7CiAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgY29uc29sZS5lcnJvcigiW1dvcmtlcl0gRmFpbGVkIHRvIGZldGNoIGxvY2FsIHZhcmlhYmxlczoiLCBlcnIpOwogICAgfQogICAgcmV0dXJuIHt9OwogIH0KfQpzdGFydERlYnVnZ2VyKCkuY2F0Y2goKGVycm9yKSA9PiB7CiAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICBjb25zb2xlLmVycm9yKCJbV29ya2VyXSBGYWlsZWQgdG8gc3RhcnQgZGVidWdnZXI6IiwgZXJyb3IpOwogIH0KfSk7CnNldEludGVydmFsKCgpID0+IHsKfSwgMWU0KTsKZXhwb3J0IHsKICBwcm9jZXNzQ2FsbEZyYW1lcwp9Owo="), { workerData: { captureAllExceptions: process.env.SF_CAPTURE_ALL_EXCEPTIONS === "true" } });
|
|
290
|
+
let C = null;
|
|
291
|
+
const g = /* @__PURE__ */ new WeakMap();
|
|
292
|
+
I.on("message", async (c) => {
|
|
293
|
+
if (typeof c == "string" && m().sfDebug && y(`[Worker] ${c}`), c.readyToGetParameters && I.postMessage({ sfDebug: m().sfDebug, stackDepthLocals: m().stackDepthLocals, nodeModulesToCollectLocalVariablesOn: m().nodeModulesToCollectLocalVariablesOn }), c.type === "exception") {
|
|
294
|
+
const { frames: l } = c, o = C;
|
|
295
|
+
if (!o) return;
|
|
296
|
+
const s = (function(d) {
|
|
297
|
+
return d ? d.split(`
|
|
298
|
+
`).slice(1).map((b) => {
|
|
299
|
+
const f = /at (.+?) \((.+):(\d+):(\d+)\)/.exec(b) || /at (.+):(\d+):(\d+)/.exec(b);
|
|
300
|
+
if (f) {
|
|
301
|
+
const [, p, B, r, Z] = f;
|
|
302
|
+
return new R({ function: p || "<anonymous>", locals: {}, file: B || "<unknown>", line: parseInt(r, 10) || 0, code: "<not captured>", column: parseInt(Z) || 0 });
|
|
303
|
+
}
|
|
304
|
+
return new R({ function: "<unknown>", locals: {}, file: "<unknown>", line: 0, code: "<not captured>", column: 0 });
|
|
305
|
+
}) : [];
|
|
306
|
+
})(P(o.stack)), h = (function(d, b) {
|
|
307
|
+
const f = [];
|
|
308
|
+
let p = -1, B = -1;
|
|
309
|
+
for (let r = 0; r < d.length; r++) {
|
|
310
|
+
const Z = Xn(d[r].file);
|
|
311
|
+
if (B = r, Z !== "<unknown>") {
|
|
312
|
+
for (let u = 0; u < b.length; u++) {
|
|
313
|
+
const G = b[u];
|
|
314
|
+
if (sn(G, Z) || typeof G.file == "string" && G.file.includes(Z)) {
|
|
315
|
+
p = u, v = 0, m().sfDebug && y(`✅ Matched Frame Found: ${Z} @ Debugger Frame ${u}`);
|
|
316
|
+
break;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
if (p !== -1) break;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
if (p === -1) return v === 10 ? (v = 0, d) : (++v, m().sfDebug && y(`"❌ No matching frame found. Checking once again, Attempt N ${v}"`), []);
|
|
323
|
+
m().sfDebug && y(`🔄 Merging from matched index ${p} onward...`);
|
|
324
|
+
for (let r = 0; r < b.length; r++) {
|
|
325
|
+
const Z = d[B + r], u = b[p + r];
|
|
326
|
+
f.push(new R({ function: u?.function || Z?.function || "<anonymous>", locals: u?.locals || Z?.locals || {}, file: Z?.file || u?.file || "<unknown>", line: u?.line || Z?.line || 0, code: u?.code || Z?.code || "<not captured>" }));
|
|
327
|
+
}
|
|
328
|
+
return f;
|
|
329
|
+
})(s, l || []);
|
|
330
|
+
if (h.length !== 0) {
|
|
331
|
+
C = null;
|
|
332
|
+
const d = m().stackDepthCodeTraceDepth, b = d === -1 ? h : h.slice(0, d + 1), f = Math.min(b.length, s.length);
|
|
333
|
+
await Promise.all(Array.from({ length: f }, async (Z, u) => {
|
|
334
|
+
const G = await (async function(un, bn, an) {
|
|
335
|
+
const N = (function(A) {
|
|
336
|
+
A.startsWith("at ") && (A = A.slice(3).trim());
|
|
337
|
+
const H = A.match(/^(.*?)(:\d+)+(\.map)?$/);
|
|
338
|
+
return H ? H[1] : A;
|
|
339
|
+
})(un);
|
|
340
|
+
if (!N || N === "<unknown>") return null;
|
|
341
|
+
const X = N + ".map";
|
|
342
|
+
try {
|
|
343
|
+
let A = K.get(X);
|
|
344
|
+
if (A === void 0) {
|
|
345
|
+
const F = await fn.readFile(X, "utf-8");
|
|
346
|
+
A = F ? JSON.parse(F) : null, en(X, A);
|
|
347
|
+
}
|
|
348
|
+
if (!A) return null;
|
|
349
|
+
let H = new yn.SourceMapConsumer(A).originalPositionFor({ line: bn, column: an });
|
|
350
|
+
if (N && H.source) {
|
|
351
|
+
const F = tn(N), Q = A.sources.findIndex((k) => tn(k) === F);
|
|
352
|
+
if (Q === -1) m().sfDebug && y(`Source file "${N}" not found in the source map.`);
|
|
353
|
+
else {
|
|
354
|
+
const k = A.sourcesContent[Q], dn = A.names.join(",");
|
|
355
|
+
if (k)
|
|
356
|
+
return { content: k.split(`
|
|
357
|
+
`).slice(H.line - 1, H.line + 20).join(`
|
|
358
|
+
`), name: dn, file: H.source };
|
|
359
|
+
m().sfDebug && y(`No source content available for file "${N}".`);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
return { content: A.sourcesContent[0], name: A.names[0], file: A.file };
|
|
363
|
+
} catch (A) {
|
|
364
|
+
m().sfDebug && y(`Cant read/parse "${X}: Error - ".`, A), en(X, null);
|
|
365
|
+
}
|
|
366
|
+
return null;
|
|
367
|
+
})(b[u].file, s[u].line, s[u].column);
|
|
368
|
+
G && (G.content != null && (b[u].code = G.content), G.file != null && (b[u].file = G.file));
|
|
369
|
+
})), n.setOperationName("CollectExceptions");
|
|
370
|
+
const p = o.message ? `${o.name}: ${o.message}` : o.name;
|
|
371
|
+
m().sfDebug && y("error message is : ", p);
|
|
372
|
+
const B = U.getInstance(), r = g.get(o);
|
|
373
|
+
r ? (B.setTraceIdFor(r, r), B.runWithSession(r, () => {
|
|
374
|
+
B.setTraceId(r), n.doSend(p, b);
|
|
375
|
+
})) : n.doSend(p, b);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}), I.on("error", (c) => {
|
|
379
|
+
gn("[Worker Error]", c);
|
|
380
|
+
}), I.on("exit", (c) => {
|
|
381
|
+
gn(`[Worker] Exited with code ${c}`);
|
|
382
|
+
}), I.unref();
|
|
383
|
+
const e = Error, i = /* @__PURE__ */ new Set();
|
|
384
|
+
function t(...c) {
|
|
385
|
+
const l = Reflect.construct(e, c);
|
|
386
|
+
Reflect.setPrototypeOf(l, t.prototype);
|
|
387
|
+
try {
|
|
388
|
+
const s = U.getInstance().getTraceId();
|
|
389
|
+
g.set(l, s);
|
|
390
|
+
} catch {
|
|
391
|
+
}
|
|
392
|
+
e.captureStackTrace && e.captureStackTrace(l, t);
|
|
393
|
+
const o = `${l.message}:${P(l.stack).split(`
|
|
394
|
+
`)[1]?.trim()}`;
|
|
395
|
+
if (!i.has(o)) {
|
|
396
|
+
if (i.add(o), i.size > 1e3) {
|
|
397
|
+
const s = i.values().next().value;
|
|
398
|
+
i.delete(s);
|
|
399
|
+
}
|
|
400
|
+
C = l, I.postMessage({ type: "processException", error: l.message });
|
|
401
|
+
}
|
|
402
|
+
return l;
|
|
403
|
+
}
|
|
404
|
+
t.prototype = Object.create(e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } }), Object.setPrototypeOf(t, e), globalThis.Error = t;
|
|
405
|
+
}
|
|
406
|
+
function tn(n) {
|
|
407
|
+
return n = (n = (n = n.replace(/^webpack:\/\/[^\/]+\/\.?\//, "")).replace(/^.*\/pages\//, "pages/")).replace(/\.(js|ts)$/, "");
|
|
408
|
+
}
|
|
409
|
+
const wn = 50, K = /* @__PURE__ */ new Map();
|
|
410
|
+
function en(n, I) {
|
|
411
|
+
if (K.size >= wn) {
|
|
412
|
+
const C = K.keys().next().value;
|
|
413
|
+
K.delete(C);
|
|
414
|
+
}
|
|
415
|
+
K.set(n, I);
|
|
416
|
+
}
|
|
417
|
+
function Xn(n) {
|
|
418
|
+
return n?.split("/").pop() || "<unknown>";
|
|
419
|
+
}
|
|
420
|
+
function sn(n, I) {
|
|
421
|
+
if (!n || typeof n != "object") return !1;
|
|
422
|
+
for (const C of Object.values(n))
|
|
423
|
+
if (typeof C == "string" && C.includes(I) || typeof C == "object" && sn(C, I)) return !0;
|
|
424
|
+
return !1;
|
|
425
|
+
}
|
|
426
|
+
let V, w, x, cn = !1;
|
|
427
|
+
function An(n) {
|
|
428
|
+
if (!n) return;
|
|
429
|
+
const I = n.toLowerCase().trim();
|
|
430
|
+
return !!["1", "true", "yes", "on"].includes(I) || !["0", "false", "no", "off"].includes(I) && void 0;
|
|
431
|
+
}
|
|
432
|
+
function rn() {
|
|
433
|
+
if (V !== void 0) return V;
|
|
434
|
+
const n = process.env || {}, I = An(n.SF_IS_LOCAL);
|
|
435
|
+
if (I !== void 0) return V = I;
|
|
436
|
+
const C = (n.SF_ENV || n.NODE_ENV || "").toLowerCase();
|
|
437
|
+
if (["local", "dev", "development"].includes(C)) return V = !0;
|
|
438
|
+
if (["KUBERNETES_SERVICE_HOST", "AWS_EXECUTION_ENV", "ECS_CONTAINER_METADATA_URI", "ECS_CONTAINER_METADATA_URI_V4", "GAE_ENV", "K_SERVICE", "GOOGLE_CLOUD_PROJECT", "WEBSITE_INSTANCE_ID", "VERCEL", "NETLIFY", "DYNO", "RENDER", "FLY_APP_NAME", "RAILWAY_STATIC_URL", "CF_PAGES", "CLOUDFLARE"].some((e) => !!n[e])) return V = !1;
|
|
439
|
+
const g = (Gn.hostname?.() || n.HOSTNAME || "").toLowerCase();
|
|
440
|
+
return V = !(g !== "localhost" && !g.endsWith(".local") && !g.includes("local"));
|
|
441
|
+
}
|
|
442
|
+
function T(n, I, C) {
|
|
443
|
+
return new Promise((g) => {
|
|
444
|
+
try {
|
|
445
|
+
const e = new URL(n), i = (e.protocol === "https:" ? Wn : pn).request({ method: "GET", hostname: e.hostname, port: e.port || (e.protocol === "https:" ? 443 : 80), path: e.pathname + (e.search || ""), headers: I }, (t) => {
|
|
446
|
+
t.resume(), t.statusCode && t.statusCode >= 200 && t.statusCode < 400 ? g("ok") : g("http_error");
|
|
447
|
+
});
|
|
448
|
+
i.on("error", () => g("error")), i.setTimeout(C, () => {
|
|
449
|
+
i.destroy(), g("timeout");
|
|
450
|
+
}), i.end();
|
|
451
|
+
} catch {
|
|
452
|
+
g("error");
|
|
453
|
+
}
|
|
454
|
+
});
|
|
455
|
+
}
|
|
456
|
+
function Sn() {
|
|
457
|
+
if (w !== void 0) return w;
|
|
458
|
+
const n = process.env.SF_FUNCSPAN_RUNTIME_ENABLED;
|
|
459
|
+
if (n === "true" || n === "1") return w = !0, !0;
|
|
460
|
+
if (n === "false" || n === "0") return w = !1, !1;
|
|
461
|
+
try {
|
|
462
|
+
const { isRuntimeModeConfigured: I } = require("../funcSpanConfigLoader");
|
|
463
|
+
if (I && I()) return w = !0, !0;
|
|
464
|
+
} catch {
|
|
465
|
+
}
|
|
466
|
+
return w = !1, !1;
|
|
467
|
+
}
|
|
468
|
+
function vn() {
|
|
469
|
+
return x !== void 0 || (x = !rn()), x;
|
|
470
|
+
}
|
|
471
|
+
function Qn() {
|
|
472
|
+
return !!Sn() && (!vn() || (console.warn("[FuncSpan Runtime] DISABLED in production environment"), !1));
|
|
473
|
+
}
|
|
474
|
+
export {
|
|
475
|
+
E as C,
|
|
476
|
+
jn as a,
|
|
477
|
+
gn as b,
|
|
478
|
+
P as c,
|
|
479
|
+
On as d,
|
|
480
|
+
Dn as e,
|
|
481
|
+
vn as f,
|
|
482
|
+
Sn as g,
|
|
483
|
+
y as i,
|
|
484
|
+
Qn as s
|
|
485
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";const mn=require("fs/promises"),Zn=require("http"),fn=require("https"),Wn=require("os"),pn=require("./source-map-rHHEdpre.cjs"),Gn=require("worker_threads"),b=require("./contextManager-0D8uHQ1_.cjs"),yn=require("path");function Bn(n){const g=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const C in n)if(C!=="default"){const e=Object.getOwnPropertyDescriptor(n,C);Object.defineProperty(g,C,e.get?e:{enumerable:!0,get:()=>n[C]})}}return g.default=n,Object.freeze(g)}const Yn=Bn(mn);function E(n){return typeof n=="string"?n:n==null?"":Array.isArray(n)?n.map(g=>String(g)).join(`
|
|
2
|
+
`):String(n)}function Vn(n){try{return JSON.stringify(n),!0}catch{return!1}}class K{file;line;function;code;locals;offender;column;constructor({file:g,line:C,function:e,code:I,locals:l={},offender:t=!1,column:c}){this.file=g,this.line=C,this.function=e,this.code=I,this.locals=l,this.offender=t,this.column=c}toDict(){const g={file:this.file,line:this.line,function:this.function,code:this.code,locals:Object.fromEntries(Object.entries(this.locals).map(([C,e])=>[C,String(e)]))};return this.offender&&(g.offender=this.offender),this.column!==void 0&&(g.column=this.column),g}toJson(){return JSON.stringify(this.toDict())}}class x{static encode(g){return g instanceof K?g.toDict():Array.isArray(g)?g.map(C=>x.encode(C)):typeof g=="object"&&g!==null?JSON.stringify(g):g}static stringify(g){return JSON.stringify(x.encode(g),(C,e)=>e instanceof K?e.toDict():e)}}const H=process.env.SF_LOG_LOCATION||"auto";let k=null,P=!1;const Cn="__sf:",ln=Error.prepareStackTrace,M=["/sf-veritas/","/@sailfish-ai/","/node_modules/","/dist/","/<","/internal/","node:"];function hn(n){for(let g=0;g<M.length;g++)if(n.includes(M[g]))return!0;return!1}function O(n){let g=n;g.startsWith("file://")&&(g=g.substring(7)),process.platform==="win32"&&g.startsWith("/")&&g.length>2&&g[2]===":"&&(g=g.substring(1));try{return yn.resolve(g)}catch{return n}}const Nn=process.env.SF_LOG_LOCATION_WALK_FRAMES==="true";function _(n){const g=Error.stackTraceLimit;Error.stackTraceLimit=8,Error.prepareStackTrace=(l,t)=>t;const C={};Error.captureStackTrace(C,n);const e=C.stack;if(Error.prepareStackTrace=ln,Error.stackTraceLimit=g,!e||e.length===0)return[null,null];for(let l=0;l<e.length;l++){const t=e[l].getFileName();if(t&&!hn(t))return[O(t),e[l].getLineNumber()]}const I=e[0].getFileName();return I?[O(I),e[0].getLineNumber()]:[null,null]}function on(n,g,C){if(H==="off")return[null,null];if(C&&(H==="auto"||H==="build-inject")){const[e,I,l]=(function(t){if(t.length===0)return[null,null,!1];const c=t[t.length-1];if(typeof c!="string"||!c.startsWith(Cn))return[null,null,!1];const i=c.lastIndexOf(":");if(i<=5)return[null,null,!1];const o=c.substring(5,i),s=parseInt(c.substring(i+1),10);return isNaN(s)?[null,null,!1]:[o,s,!0]})(C);if(l)return[e,I];if(H==="build-inject")return[null,null]}if(H==="native"){const e=(function(){if(P)return k;P=!0;try{const I=require("../native/build/Release/sf_source_location.node");typeof I?.getCallerLocation=="function"&&(k=I)}catch{}return k})();if(e){const[I,l]=e.getCallerLocation(n??2);if(I)return[I,l]}if(H==="native"&&k)return[null,null]}return g?Nn?_(g):(function(e){const I=Error.stackTraceLimit;Error.stackTraceLimit=1,Error.prepareStackTrace=(o,s)=>s;const l={};Error.captureStackTrace(l,e);const t=l.stack;if(Error.prepareStackTrace=ln,Error.stackTraceLimit=I,!t||t.length===0)return[null,null];const c=t[0],i=c.getFileName();return i?[O(i),c.getLineNumber()]:[null,null]})(g):_(on)}function p(n){if(n.length===0)return n;const g=n[n.length-1];return typeof g=="string"&&g.startsWith(Cn)?n.slice(0,-1):n}const D=console.log.bind(console),Q=console.error.bind(console),$=console.warn.bind(console),q=console.info.bind(console),nn=console.debug.bind(console),G=D,T=Q;let d=!1;const z=8192;function Hn(n){if(n===null)return"null";if(n===void 0)return"undefined";const g=typeof n;if(g==="string")return n;if(g==="number"||g==="boolean")return String(n);if(g==="bigint")return n.toString()+"n";if(g==="symbol")return n.toString();if(g==="function")return`[Function: ${n.name||"anonymous"}]`;if(n instanceof Error)return n.stack||`${n.name}: ${n.message}`;try{const C=new WeakSet,e=[],I=new Map,l=JSON.stringify(n,function(c,i){if(typeof i=="bigint")return i.toString()+"n";if(typeof i=="function")return`[Function: ${i.name||"anonymous"}]`;if(typeof i=="symbol")return i.toString();if(i===void 0)return"[undefined]";if(c!==""&&I.has(this)){const o=I.get(this);if(o>=20)return;I.set(this,o+1)}if(i!==null&&typeof i=="object"){if(C.has(i))return"[Circular]";for(;e.length>0&&e[e.length-1]!==this;)e.pop();if(e.length>=3)return Array.isArray(i)?`[Array(${i.length})]`:"[Object]";C.add(i),e.push(i),!Array.isArray(i)&&Object.keys(i).length>20&&I.set(i,0)}return i});if(l===void 0)return String(n);let t=l;if(I.size>0&&!Array.isArray(n)&&I.has(n)){const c=Object.keys(n).length;t=t.slice(0,-1)+`,"...":"${c-20} more keys"}`}return t.length>500?t.substring(0,500)+"...[truncated]":t}catch{return String(n)}}function S(n){if(n.length===0)return"";if(n.length===1&&typeof n[0]=="string"){const e=n[0];return e.length>z?e.substring(0,z)+"...[truncated]":e}let g,C=!0;for(let e=0;e<n.length;e++){const I=typeof n[e];if(I==="object"&&n[e]!==null||I==="function"||I==="symbol"){C=!1;break}}if(C){const e=new Array(n.length);for(let I=0;I<n.length;I++){const l=n[I];e[I]=l===null?"null":l===void 0?"undefined":typeof l=="string"?l:String(l)}g=e.join(" ")}else g=n.map(Hn).join(" ");return g.length>z?g.substring(0,z)+"...[truncated]":g}let X=0;function gn(n){return n=(n=(n=n.replace(/^webpack:\/\/[^\/]+\/\.?\//,"")).replace(/^.*\/pages\//,"pages/")).replace(/\.(js|ts)$/,"")}const Jn=50,v=new Map;function en(n,g){if(v.size>=Jn){const C=v.keys().next().value;v.delete(C)}v.set(n,g)}function wn(n){return n?.split("/").pop()||"<unknown>"}function sn(n,g){if(!n||typeof n!="object")return!1;for(const C of Object.values(n))if(typeof C=="string"&&C.includes(g)||typeof C=="object"&&sn(C,g))return!0;return!1}let Y,J,L,tn=!1;function rn(n){if(!n)return;const g=n.toLowerCase().trim();return!!["1","true","yes","on"].includes(g)||!["0","false","no","off"].includes(g)&&void 0}function An(){if(Y!==void 0)return Y;const n=process.env||{},g=rn(n.SF_IS_LOCAL);if(g!==void 0)return Y=g;const C=(n.SF_ENV||n.NODE_ENV||"").toLowerCase();if(["local","dev","development"].includes(C))return Y=!0;if(["KUBERNETES_SERVICE_HOST","AWS_EXECUTION_ENV","ECS_CONTAINER_METADATA_URI","ECS_CONTAINER_METADATA_URI_V4","GAE_ENV","K_SERVICE","GOOGLE_CLOUD_PROJECT","WEBSITE_INSTANCE_ID","VERCEL","NETLIFY","DYNO","RENDER","FLY_APP_NAME","RAILWAY_STATIC_URL","CF_PAGES","CLOUDFLARE"].some(I=>!!n[I]))return Y=!1;const e=(Wn.hostname?.()||n.HOSTNAME||"").toLowerCase();return Y=!(e!=="localhost"&&!e.endsWith(".local")&&!e.includes("local"))}function j(n,g,C){return new Promise(e=>{try{const I=new URL(n),l=(I.protocol==="https:"?fn:Zn).request({method:"GET",hostname:I.hostname,port:I.port||(I.protocol==="https:"?443:80),path:I.pathname+(I.search||""),headers:g},t=>{t.resume(),t.statusCode&&t.statusCode>=200&&t.statusCode<400?e("ok"):e("http_error")});l.on("error",()=>e("error")),l.setTimeout(C,()=>{l.destroy(),e("timeout")}),l.end()}catch{e("error")}})}function In(){if(J!==void 0)return J;const n=process.env.SF_FUNCSPAN_RUNTIME_ENABLED;if(n==="true"||n==="1")return J=!0,!0;if(n==="false"||n==="0")return J=!1,!1;try{const{isRuntimeModeConfigured:g}=require("../funcSpanConfigLoader");if(g&&g())return J=!0,!0}catch{}return J=!1,!1}function cn(){return L!==void 0||(L=!An()),L}exports.CustomJSONEncoderForFrameInfo=x,exports.initializeExceptionInterceptor=function(n){b.getConfig().sfDebug&&G("Initializing Exception Interceptor...");try{const c=An();n?.setSupplementalFields?.({isFromLocalService:c}),(async function(i){if(tn)return;tn=!0;const o=process.env||{};if(rn(o.SF_IS_LOCAL)===void 0)try{await(async function(s){const V=j("http://169.254.169.254/latest/meta-data/",{},s),m=j("http://metadata.google.internal/computeMetadata/v1/instance/",{"Metadata-Flavor":"Google"},s),a=j("http://169.254.169.254/metadata/instance?api-version=2021-02-01",{Metadata:"true"},s);return(await Promise.allSettled([V,m,a])).some(f=>f.status==="fulfilled"&&(f.value==="ok"||f.value==="http_error"))})(150)&&Y&&(Y=!1,i?.setSupplementalFields?.({isFromLocalService:!1}))}catch{}})(n).catch(()=>{})}catch{}const g=new Gn.Worker(new URL("data:application/javascript;base64,Ly8gc3JjL2RlYnVnZ2VyV29ya2VyLnRzCmltcG9ydCB7IFNlc3Npb24gfSBmcm9tICJpbnNwZWN0b3IvcHJvbWlzZXMiOwppbXBvcnQgeyBwYXJlbnRQb3J0LCB3b3JrZXJEYXRhIH0gZnJvbSAid29ya2VyX3RocmVhZHMiOwpnbG9iYWwuc2ZEZWJ1ZyA9IHZvaWQgMDsKZ2xvYmFsLnN0YWNrRGVwdGhMb2NhbHMgPSB2b2lkIDA7Cmdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPSB2b2lkIDA7CnZhciBzY3JpcHRTb3VyY2VDYWNoZSA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CnZhciBub25BcHBGcmFtZVBhdHRlcm5zID0gWwogIC9ub2RlOmludGVybmFsLywKICAvaW50ZXJuYWxcLy8sCiAgL25vZGVfbW9kdWxlcy8sCiAgL25vZGU6ZnMvCl07CmFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NDYWxsRnJhbWVzKHNlc3Npb24sIGNhbGxGcmFtZXMsIGRlc2NyaXB0aW9uTGluZXMpIHsKICBjb25zdCBsaW1pdGVkQ2FsbEZyYW1lcyA9IGNhbGxGcmFtZXMuc2xpY2UoMCwgZ2xvYmFsLnN0YWNrRGVwdGhMb2NhbHMpOwogIGlmIChsaW1pdGVkQ2FsbEZyYW1lcy5sZW5ndGggPiAwKSB7CiAgICBjb25zdCBmaXJzdFVybCA9IGxpbWl0ZWRDYWxsRnJhbWVzWzBdLnVybCB8fCAiIjsKICAgIGlmIChub25BcHBGcmFtZVBhdHRlcm5zLnNvbWUoKHApID0+IHAudGVzdChmaXJzdFVybCkpKSB7CiAgICAgIHBhcmVudFBvcnQ/LnBvc3RNZXNzYWdlKHsgdHlwZTogImV4Y2VwdGlvbiIsIGZyYW1lczogW10gfSk7CiAgICAgIHJldHVybjsKICAgIH0KICB9CiAgY29uc3QgZnJhbWVzID0gYXdhaXQgUHJvbWlzZS5hbGwoCiAgICBsaW1pdGVkQ2FsbEZyYW1lcy5tYXAoYXN5bmMgKGZyYW1lLCBpbmRleCkgPT4gewogICAgICB0cnkgewogICAgICAgIGNvbnN0IHsgZnVuY3Rpb25OYW1lLCBsb2NhdGlvbiwgdXJsLCBzY29wZUNoYWluIH0gPSBmcmFtZTsKICAgICAgICBjb25zdCBsb2NhbFNjb3BlID0gc2NvcGVDaGFpbi5maW5kKChzY29wZSkgPT4gc2NvcGUudHlwZSA9PT0gImxvY2FsIik7CiAgICAgICAgbGV0IGNvZGUgPSAiPG5vdCBjYXB0dXJlZD4iOwogICAgICAgIGxldCBmaWxlID0gIiI7CiAgICAgICAgaWYgKHVybCAmJiB1cmwudHJpbSgpICE9PSAiIikgewogICAgICAgICAgZmlsZSA9IHVybDsKICAgICAgICB9IGVsc2UgaWYgKGRlc2NyaXB0aW9uTGluZXNbaW5kZXhdKSB7CiAgICAgICAgICBmaWxlID0gZGVzY3JpcHRpb25MaW5lc1tpbmRleF0udHJpbSgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBmaWxlID0gIjx1bmtub3duPiI7CiAgICAgICAgfQogICAgICAgIGlmIChsb2NhdGlvbiAmJiBsb2NhdGlvbi5zY3JpcHRJZCkgewogICAgICAgICAgY29uc3Qgc2NyaXB0SWQgPSBsb2NhdGlvbi5zY3JpcHRJZDsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGxldCBzY3JpcHRTb3VyY2UgPSBzY3JpcHRTb3VyY2VDYWNoZS5nZXQoc2NyaXB0SWQpOwogICAgICAgICAgICBpZiAoc2NyaXB0U291cmNlID09PSB2b2lkIDApIHsKICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzZXNzaW9uLnBvc3QoCiAgICAgICAgICAgICAgICAiRGVidWdnZXIuZ2V0U2NyaXB0U291cmNlIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgc2NyaXB0SWQKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICApOwogICAgICAgICAgICAgIHNjcmlwdFNvdXJjZSA9IHJlc3VsdC5zY3JpcHRTb3VyY2U7CiAgICAgICAgICAgICAgc2NyaXB0U291cmNlQ2FjaGUuc2V0KHNjcmlwdElkLCBzY3JpcHRTb3VyY2UpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvbnN0IHNvdXJjZUxpbmVzID0gc2NyaXB0U291cmNlLnNwbGl0KCJcbiIpOwogICAgICAgICAgICBjb2RlID0gc291cmNlTGluZXNbbG9jYXRpb24ubGluZU51bWJlcl0gfHwgIjxub3QgY2FwdHVyZWQ+IjsKICAgICAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJbV29ya2VyXSBGYWlsZWQgdG8gZmV0Y2ggc2NyaXB0IHNvdXJjZToiLCBlcnIpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNvbnN0IGxvY2FscyA9IGxvY2FsU2NvcGU/Lm9iamVjdD8ub2JqZWN0SWQgPyBhd2FpdCBmZXRjaExvY2FsVmFyaWFibGVzKHNlc3Npb24sIGxvY2FsU2NvcGUub2JqZWN0Lm9iamVjdElkKSA6IHt9OwogICAgICAgIHJldHVybiB7CiAgICAgICAgICBmdW5jdGlvbjogZnVuY3Rpb25OYW1lIHx8ICI8YW5vbnltb3VzPiIsCiAgICAgICAgICBsb2NhbHMsCiAgICAgICAgICBmaWxlLAogICAgICAgICAgbGluZTogbG9jYXRpb24/LmxpbmVOdW1iZXIgfHwgMCwKICAgICAgICAgIGNvZGUKICAgICAgICB9OwogICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgY29uc29sZS5lcnJvcigiW1dvcmtlcl0gRXJyb3IgcHJvY2Vzc2luZyBjYWxsIGZyYW1lOiIsIGVycm9yKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGZ1bmN0aW9uOiAiPGVycm9yPiIsCiAgICAgICAgICBsb2NhbHM6IHt9LAogICAgICAgICAgZmlsZTogIjx1bmtub3duPiIsCiAgICAgICAgICBsaW5lOiAwLAogICAgICAgICAgY29kZTogIjxub3QgY2FwdHVyZWQ+IgogICAgICAgIH07CiAgICAgIH0KICAgIH0pCiAgKTsKICBwYXJlbnRQb3J0Py5wb3N0TWVzc2FnZSh7IHR5cGU6ICJleGNlcHRpb24iLCBmcmFtZXMgfSk7Cn0KYXN5bmMgZnVuY3Rpb24gaGFuZGxlUGF1c2VkKHNlc3Npb24sIHBhcmFtcykgewogIGNvbnN0IHsgcmVhc29uLCBkYXRhLCBjYWxsRnJhbWVzIH0gPSBwYXJhbXM7CiAgaWYgKHJlYXNvbiAhPT0gImV4Y2VwdGlvbiIgJiYgcmVhc29uICE9PSAicHJvbWlzZVJlamVjdGlvbiIpIHsKICAgIHJldHVybjsKICB9CiAgY29uc3Qgbm9uQXBwUGF0dGVybnMgPSBbCiAgICAvbm9kZTppbnRlcm5hbC8sCiAgICAvaW50ZXJuYWxcLy8sCiAgICAvbm9kZV9tb2R1bGVzLywKICAgIC9ub2RlOmZzLwogIF07CiAgbGV0IGZpcnN0RnJhbWVMaW5lID0gIiI7CiAgbGV0IGRlc2NyaXB0aW9uTGluZXMgPSBbXTsKICBpZiAoZGF0YSAmJiB0eXBlb2YgZGF0YS5kZXNjcmlwdGlvbiA9PT0gInN0cmluZyIpIHsKICAgIGRlc2NyaXB0aW9uTGluZXMgPSBkYXRhLmRlc2NyaXB0aW9uLnNwbGl0KCJcbiIpLmZpbHRlcigobGluZSkgPT4gbGluZS50cmltKCkuc3RhcnRzV2l0aCgiYXQgIikpOwogICAgZmlyc3RGcmFtZUxpbmUgPSBkZXNjcmlwdGlvbkxpbmVzWzBdIHx8ICIiOwogICAgaWYgKCFmaXJzdEZyYW1lTGluZSkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBlcnJvckZyb21Ob25BcHAgPSBub25BcHBQYXR0ZXJucy5zb21lKAogICAgICAocGF0dGVybikgPT4gcGF0dGVybi50ZXN0KGZpcnN0RnJhbWVMaW5lLnRyaW0oKSkKICAgICk7CiAgICBjb25zdCBub2RlTW9kdWxlc0xpc3QgPSBBcnJheS5pc0FycmF5KAogICAgICBnbG9iYWwubm9kZU1vZHVsZXNUb0NvbGxlY3RMb2NhbFZhcmlhYmxlc09uCiAgICApID8gZ2xvYmFsLm5vZGVNb2R1bGVzVG9Db2xsZWN0TG9jYWxWYXJpYWJsZXNPbiA6IFtdOwogICAgaWYgKGVycm9yRnJvbU5vbkFwcCkgewogICAgICBpZiAobm9kZU1vZHVsZXNMaXN0LmluY2x1ZGVzKCJfX2FsbF9fIikpIHsKICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKAogICAgICAgICAgICAiW1dvcmtlcl0gRXJyb3IgaXMgZnJvbSBub24tYXBwIHNvdXJjZSwgYnV0IGNhcHR1cmluZyBkdWUgdG8gX19hbGxfXyBydWxlLiIKICAgICAgICAgICk7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKG5vZGVNb2R1bGVzTGlzdC5sZW5ndGggPiAwKSB7CiAgICAgICAgY29uc3QgaXNGcm9tQWxsb3dlZE5vZGVNb2R1bGUgPSBub2RlTW9kdWxlc0xpc3Quc29tZSgKICAgICAgICAgIChtb2R1bGVOYW1lKSA9PiBmaXJzdEZyYW1lTGluZS5pbmNsdWRlcyhgJHttb2R1bGVOYW1lfWApCiAgICAgICAgKTsKICAgICAgICBpZiAoIWlzRnJvbUFsbG93ZWROb2RlTW9kdWxlKSB7CiAgICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgICAgY29uc29sZS5sb2coCiAgICAgICAgICAgICAgIltXb3JrZXJdIEVycm9yIGFwcGVhcnMgdG8gYmUgdHJpZ2dlcmVkIGZyb20gbm9uLWFwcGxpY2F0aW9uIHNvdXJjZXM7IGlnbm9yaW5nLiIKICAgICAgICAgICAgKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygKICAgICAgICAgICAgIltXb3JrZXJdIEVycm9yIGFwcGVhcnMgdG8gYmUgdHJpZ2dlcmVkIGZyb20gbm9uLWFwcGxpY2F0aW9uIHNvdXJjZXM7IGlnbm9yaW5nLiIKICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgICAgfQogICAgfQogICAgYXdhaXQgcHJvY2Vzc0NhbGxGcmFtZXMoc2Vzc2lvbiwgY2FsbEZyYW1lcywgZGVzY3JpcHRpb25MaW5lcyk7CiAgfSBlbHNlIHsKICAgIHJldHVybjsKICB9Cn0KYXN5bmMgZnVuY3Rpb24gc3RhcnREZWJ1Z2dlcigpIHsKICBwYXJlbnRQb3J0Py5wb3N0TWVzc2FnZSh7IHR5cGU6ICJtZXNzYWdlIiwgcmVhZHlUb0dldFBhcmFtZXRlcnM6IHRydWUgfSk7CiAgbGV0IHJlc29sdmVNZXNzYWdlUHJvbWlzZTsKICBjb25zdCBtZXNzYWdlUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICByZXNvbHZlTWVzc2FnZVByb21pc2UgPSByZXNvbHZlOwogIH0pOwogIGxldCBpc1BhdXNlZCA9IGZhbHNlOwogIHBhcmVudFBvcnQ/Lm9uKCJtZXNzYWdlIiwgKG1lc3NhZ2UpID0+IHsKICAgIHRyeSB7CiAgICAgIGlmIChtZXNzYWdlPy50eXBlID09PSAicHJvY2Vzc0V4Y2VwdGlvbiIpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgaWYgKG1lc3NhZ2U/LnNmRGVidWcgIT09IHZvaWQgMCAmJiBtZXNzYWdlPy5zdGFja0RlcHRoTG9jYWxzICE9PSB2b2lkIDApIHsKICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKCJVcGRhdGluZyBnbG9iYWwgZGVidWcgdmFyaWFibGVzLi4uIik7CiAgICAgICAgfQogICAgICAgIGdsb2JhbC5zZkRlYnVnID0gbWVzc2FnZS5zZkRlYnVnOwogICAgICAgIGdsb2JhbC5zdGFja0RlcHRoTG9jYWxzID0gbWVzc2FnZS5zdGFja0RlcHRoTG9jYWxzOwogICAgICAgIGdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPSBtZXNzYWdlLm5vZGVNb2R1bGVzVG9Db2xsZWN0TG9jYWxWYXJpYWJsZXNPbjsKICAgICAgICByZXNvbHZlTWVzc2FnZVByb21pc2UoKTsKICAgICAgfQogICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgY29uc29sZS5lcnJvcigiXHUyNzRDIEVycm9yIGluIG1lc3NhZ2UgaGFuZGxpbmc6IiwgZXJyb3IpOwogICAgICB9CiAgICB9CiAgfSk7CiAgYXdhaXQgbWVzc2FnZVByb21pc2U7CiAgdHJ5IHsKICAgIGNvbnN0IHNlc3Npb24gPSBuZXcgU2Vzc2lvbigpOwogICAgc2Vzc2lvbi5jb25uZWN0VG9NYWluVGhyZWFkKCk7CiAgICBzZXNzaW9uLm9uKCJEZWJ1Z2dlci5yZXN1bWVkIiwgKCkgPT4gewogICAgICBpc1BhdXNlZCA9IGZhbHNlOwogICAgfSk7CiAgICBzZXNzaW9uLm9uKCJEZWJ1Z2dlci5wYXVzZWQiLCBhc3luYyAoZXZlbnQpID0+IHsKICAgICAgaXNQYXVzZWQgPSB0cnVlOwogICAgICBoYW5kbGVQYXVzZWQoc2Vzc2lvbiwgZXZlbnQucGFyYW1zKS50aGVuKAogICAgICAgIGFzeW5jICgpID0+IHsKICAgICAgICAgIGlmIChpc1BhdXNlZCkgewogICAgICAgICAgICBhd2FpdCBzZXNzaW9uLnBvc3QoIkRlYnVnZ2VyLnJlc3VtZSIpOwogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgYXN5bmMgKF8pID0+IHsKICAgICAgICAgIGlmIChpc1BhdXNlZCkgewogICAgICAgICAgICBhd2FpdCBzZXNzaW9uLnBvc3QoIkRlYnVnZ2VyLnJlc3VtZSIpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgKTsKICAgIH0pOwogICAgYXdhaXQgc2Vzc2lvbi5wb3N0KCJEZWJ1Z2dlci5lbmFibGUiKTsKICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIuc2V0UGF1c2VPbkV4Y2VwdGlvbnMiLCB7CiAgICAgIHN0YXRlOiB3b3JrZXJEYXRhPy5jYXB0dXJlQWxsRXhjZXB0aW9ucyA/ICJhbGwiIDogInVuY2F1Z2h0IgogICAgfSk7CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICBjb25zb2xlLmVycm9yKCJbV29ya2VyXSBlcnJvciAiLCBlcnJvcik7CiAgICB9CiAgfQogIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgY29uc29sZS5sb2coIltXb3JrZXJdIERlYnVnZ2VyIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5LiIpOwogIH0KfQphc3luYyBmdW5jdGlvbiB1bnJvbGxPYmplY3Qoc2Vzc2lvbiwgb2JqZWN0SWQsIG5hbWUsIHZhcnMpIHsKICBjb25zdCBwcm9wZXJ0aWVzID0gYXdhaXQgc2Vzc2lvbi5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLCB7CiAgICBvYmplY3RJZCwKICAgIG93blByb3BlcnRpZXM6IHRydWUKICB9KTsKICB2YXJzW25hbWVdID0gcHJvcGVydGllcy5yZXN1bHQubWFwKCh2KSA9PiBbdi5uYW1lLCB2LnZhbHVlPy52YWx1ZV0pLnJlZHVjZSgob2JqLCBba2V5LCB2YWxdKSA9PiB7CiAgICBvYmpba2V5XSA9IHZhbDsKICAgIHJldHVybiBvYmo7CiAgfSwge30pOwp9CmFzeW5jIGZ1bmN0aW9uIHVucm9sbEFycmF5KHNlc3Npb24sIG9iamVjdElkLCBuYW1lLCB2YXJzKSB7CiAgY29uc3QgcHJvcGVydGllcyA9IGF3YWl0IHNlc3Npb24ucG9zdCgiUnVudGltZS5nZXRQcm9wZXJ0aWVzIiwgewogICAgb2JqZWN0SWQsCiAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlCiAgfSk7CiAgdmFyc1tuYW1lXSA9IHByb3BlcnRpZXMucmVzdWx0LmZpbHRlcigodikgPT4gdi5uYW1lICE9PSAibGVuZ3RoIiAmJiAhaXNOYU4ocGFyc2VJbnQodi5uYW1lLCAxMCkpKS5zb3J0KChhLCBiKSA9PiBwYXJzZUludChhLm5hbWUsIDEwKSAtIHBhcnNlSW50KGIubmFtZSwgMTApKS5tYXAoKHYpID0+IHYudmFsdWU/LnZhbHVlKTsKfQpmdW5jdGlvbiB1bnJvbGxPdGhlcihwcm9wLCB2YXJzKSB7CiAgaWYgKCFwcm9wLnZhbHVlKSB7CiAgICByZXR1cm47CiAgfQogIGlmICgidmFsdWUiIGluIHByb3AudmFsdWUpIHsKICAgIGlmIChwcm9wLnZhbHVlLnZhbHVlID09PSB2b2lkIDAgfHwgcHJvcC52YWx1ZS52YWx1ZSA9PT0gbnVsbCkgewogICAgICB2YXJzW3Byb3AubmFtZV0gPSBgPCR7cHJvcC52YWx1ZS52YWx1ZX0+YDsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyc1twcm9wLm5hbWVdID0gcHJvcC52YWx1ZS52YWx1ZTsKICAgIHJldHVybjsKICB9CiAgaWYgKCJkZXNjcmlwdGlvbiIgaW4gcHJvcC52YWx1ZSAmJiBwcm9wLnZhbHVlLnR5cGUgIT09ICJmdW5jdGlvbiIpIHsKICAgIHZhcnNbcHJvcC5uYW1lXSA9IGA8JHtwcm9wLnZhbHVlLmRlc2NyaXB0aW9ufT5gOwogICAgcmV0dXJuOwogIH0KICBpZiAocHJvcC52YWx1ZS50eXBlID09PSAidW5kZWZpbmVkIikgewogICAgdmFyc1twcm9wLm5hbWVdID0gIjx1bmRlZmluZWQ+IjsKICAgIHJldHVybjsKICB9Cn0KYXN5bmMgZnVuY3Rpb24gZmV0Y2hMb2NhbFZhcmlhYmxlcyhzZXNzaW9uLCBvYmplY3RJZCkgewogIGlmICghb2JqZWN0SWQpIHJldHVybiB7fTsKICB0cnkgewogICAgY29uc3QgeyByZXN1bHQgfSA9IGF3YWl0IHNlc3Npb24ucG9zdCgiUnVudGltZS5nZXRQcm9wZXJ0aWVzIiwgewogICAgICBvYmplY3RJZCwKICAgICAgb3duUHJvcGVydGllczogdHJ1ZQogICAgfSk7CiAgICBjb25zdCBwcm9wZXJ0aWVzID0gcmVzdWx0OwogICAgaWYgKHByb3BlcnRpZXMpIHsKICAgICAgY29uc3QgdmFyaWFibGVzID0ge307CiAgICAgIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wZXJ0aWVzKSB7CiAgICAgICAgaWYgKHByb3A/LnZhbHVlPy5vYmplY3RJZCAmJiBwcm9wPy52YWx1ZS5jbGFzc05hbWUgPT09ICJBcnJheSIpIHsKICAgICAgICAgIGNvbnN0IGlkID0gcHJvcC52YWx1ZS5vYmplY3RJZDsKICAgICAgICAgIGF3YWl0IHVucm9sbEFycmF5KHNlc3Npb24sIGlkLCBwcm9wLm5hbWUsIHZhcmlhYmxlcyk7CiAgICAgICAgfSBlbHNlIGlmIChwcm9wPy52YWx1ZT8ub2JqZWN0SWQgJiYgcHJvcD8udmFsdWU/LmNsYXNzTmFtZSA9PT0gIk9iamVjdCIpIHsKICAgICAgICAgIGNvbnN0IGlkID0gcHJvcC52YWx1ZS5vYmplY3RJZDsKICAgICAgICAgIGF3YWl0IHVucm9sbE9iamVjdChzZXNzaW9uLCBpZCwgcHJvcC5uYW1lLCB2YXJpYWJsZXMpOwogICAgICAgIH0gZWxzZSBpZiAocHJvcD8udmFsdWUpIHsKICAgICAgICAgIHVucm9sbE90aGVyKHByb3AsIHZhcmlhYmxlcyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiB2YXJpYWJsZXM7CiAgICB9CiAgfSBjYXRjaCAoZXJyKSB7CiAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgY29uc29sZS5lcnJvcigiW1dvcmtlcl0gRmFpbGVkIHRvIGZldGNoIGxvY2FsIHZhcmlhYmxlczoiLCBlcnIpOwogICAgfQogICAgcmV0dXJuIHt9OwogIH0KfQpzdGFydERlYnVnZ2VyKCkuY2F0Y2goKGVycm9yKSA9PiB7CiAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICBjb25zb2xlLmVycm9yKCJbV29ya2VyXSBGYWlsZWQgdG8gc3RhcnQgZGVidWdnZXI6IiwgZXJyb3IpOwogIH0KfSk7CnNldEludGVydmFsKCgpID0+IHsKfSwgMWU0KTsKZXhwb3J0IHsKICBwcm9jZXNzQ2FsbEZyYW1lcwp9Owo="),{workerData:{captureAllExceptions:process.env.SF_CAPTURE_ALL_EXCEPTIONS==="true"}});let C=null;const e=new WeakMap;g.on("message",async c=>{if(typeof c=="string"&&b.getConfig().sfDebug&&G(`[Worker] ${c}`),c.readyToGetParameters&&g.postMessage({sfDebug:b.getConfig().sfDebug,stackDepthLocals:b.getConfig().stackDepthLocals,nodeModulesToCollectLocalVariablesOn:b.getConfig().nodeModulesToCollectLocalVariablesOn}),c.type==="exception"){const{frames:i}=c,o=C;if(!o)return;const s=(function(m){return m?m.split(`
|
|
3
|
+
`).slice(1).map(a=>{const f=/at (.+?) \((.+):(\d+):(\d+)\)/.exec(a)||/at (.+):(\d+):(\d+)/.exec(a);if(f){const[,W,B,A,Z]=f;return new K({function:W||"<anonymous>",locals:{},file:B||"<unknown>",line:parseInt(A,10)||0,code:"<not captured>",column:parseInt(Z)||0})}return new K({function:"<unknown>",locals:{},file:"<unknown>",line:0,code:"<not captured>",column:0})}):[]})(E(o.stack)),V=(function(m,a){const f=[];let W=-1,B=-1;for(let A=0;A<m.length;A++){const Z=wn(m[A].file);if(B=A,Z!=="<unknown>"){for(let u=0;u<a.length;u++){const y=a[u];if(sn(y,Z)||typeof y.file=="string"&&y.file.includes(Z)){W=u,X=0,b.getConfig().sfDebug&&G(`✅ Matched Frame Found: ${Z} @ Debugger Frame ${u}`);break}}if(W!==-1)break}}if(W===-1)return X===10?(X=0,m):(++X,b.getConfig().sfDebug&&G(`"❌ No matching frame found. Checking once again, Attempt N ${X}"`),[]);b.getConfig().sfDebug&&G(`🔄 Merging from matched index ${W} onward...`);for(let A=0;A<a.length;A++){const Z=m[B+A],u=a[W+A];f.push(new K({function:u?.function||Z?.function||"<anonymous>",locals:u?.locals||Z?.locals||{},file:Z?.file||u?.file||"<unknown>",line:u?.line||Z?.line||0,code:u?.code||Z?.code||"<not captured>"}))}return f})(s,i||[]);if(V.length!==0){C=null;const m=b.getConfig().stackDepthCodeTraceDepth,a=m===-1?V:V.slice(0,m+1),f=Math.min(a.length,s.length);await Promise.all(Array.from({length:f},async(Z,u)=>{const y=await(async function(un,bn,an){const h=(function(r){r.startsWith("at ")&&(r=r.slice(3).trim());const N=r.match(/^(.*?)(:\d+)+(\.map)?$/);return N?N[1]:r})(un);if(!h||h==="<unknown>")return null;const w=h+".map";try{let r=v.get(w);if(r===void 0){const R=await Yn.readFile(w,"utf-8");r=R?JSON.parse(R):null,en(w,r)}if(!r)return null;let N=new pn.sourceMapExports.SourceMapConsumer(r).originalPositionFor({line:bn,column:an});if(h&&N.source){const R=gn(h),U=r.sources.findIndex(F=>gn(F)===R);if(U===-1)b.getConfig().sfDebug&&G(`Source file "${h}" not found in the source map.`);else{const F=r.sourcesContent[U],dn=r.names.join(",");if(F)return{content:F.split(`
|
|
4
|
+
`).slice(N.line-1,N.line+20).join(`
|
|
5
|
+
`),name:dn,file:N.source};b.getConfig().sfDebug&&G(`No source content available for file "${h}".`)}}return{content:r.sourcesContent[0],name:r.names[0],file:r.file}}catch(r){b.getConfig().sfDebug&&G(`Cant read/parse "${w}: Error - ".`,r),en(w,null)}return null})(a[u].file,s[u].line,s[u].column);y&&(y.content!=null&&(a[u].code=y.content),y.file!=null&&(a[u].file=y.file))})),n.setOperationName("CollectExceptions");const W=o.message?`${o.name}: ${o.message}`:o.name;b.getConfig().sfDebug&&G("error message is : ",W);const B=b.ContextManager.getInstance(),A=e.get(o);A?(B.setTraceIdFor(A,A),B.runWithSession(A,()=>{B.setTraceId(A),n.doSend(W,a)})):n.doSend(W,a)}}}),g.on("error",c=>{T("[Worker Error]",c)}),g.on("exit",c=>{T(`[Worker] Exited with code ${c}`)}),g.unref();const I=Error,l=new Set;function t(...c){const i=Reflect.construct(I,c);Reflect.setPrototypeOf(i,t.prototype);try{const s=b.ContextManager.getInstance().getTraceId();e.set(i,s)}catch{}I.captureStackTrace&&I.captureStackTrace(i,t);const o=`${i.message}:${E(i.stack).split(`
|
|
6
|
+
`)[1]?.trim()}`;if(!l.has(o)){if(l.add(o),l.size>1e3){const s=l.values().next().value;l.delete(s)}C=i,g.postMessage({type:"processException",error:i.message})}return i}t.prototype=Object.create(I.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(t,I),globalThis.Error=t},exports.initializeLogInterceptor=function(n){function g(t,c,i,o){const s=b.getGlobalConfigUnsafe();if(s?.logIgnoreRegex&&s.logIgnoreRegex.test(c))return;const[V,m]=on(2,i,o);n.setOperationName("CollectLogs"),n.doSend([c,t,V,m])}const C=console.log=(...t)=>{if(d)D(...p(t));else{d=!0;try{const c=p(t);g("INFO",S(c),C,t),D(...c)}finally{d=!1}}},e=console.error=(...t)=>{if(d)Q(...p(t));else{d=!0;try{const c=p(t);g("ERROR",S(c),e,t),Q(...c)}finally{d=!1}}},I=console.warn=(...t)=>{if(d)$(...p(t));else{d=!0;try{const c=p(t);g("WARN",S(c),I,t),$(...c)}finally{d=!1}}},l=console.info=(...t)=>{if(d)q(...p(t));else{d=!0;try{const c=p(t);g("INFO",S(c),l,t),q(...c)}finally{d=!1}}};if(b.getConfig().logLevel==="DEBUG"){const t=console.debug=(...c)=>{if(d)nn(...p(c));else{d=!0;try{const i=p(c);g("DEBUG",S(i),t,c),nn(...i)}finally{d=!1}}}}},exports.internalError=T,exports.internalLog=G,exports.isProductionEnvironment=cn,exports.isRuntimeModeEnabled=In,exports.serializeJsonWithExclusions=function(n){const g={},C=[];if(n)for(const[e,I]of Object.entries(n))Vn(I)?g[e]=I:C.push(e);return{traitsJson:JSON.stringify(g),excludedFields:C}},exports.shouldEnableRuntimeHooks=function(){return!!In()&&(!cn()||(console.warn("[FuncSpan Runtime] DISABLED in production environment"),!1))},exports.stackToString=E;
|