@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.
Files changed (40) hide show
  1. package/dist/consoleLocationTransformer-BSSB5msZ.cjs +1 -0
  2. package/dist/consoleLocationTransformer-DZu_9MDA.js +51 -0
  3. package/dist/contextManager-0D8uHQ1_.cjs +1 -0
  4. package/dist/{contextManager-Dw7Yot7r.js → contextManager-RxrMXs5c.js} +106 -83
  5. package/dist/plugins/funcspanEsbuildPlugin.cjs +1 -1
  6. package/dist/plugins/funcspanEsbuildPlugin.mjs +20 -16
  7. package/dist/plugins/funcspanRollupPlugin.cjs +1 -1
  8. package/dist/plugins/funcspanRollupPlugin.mjs +17 -13
  9. package/dist/plugins/funcspanTscPlugin.cjs +1 -1
  10. package/dist/plugins/funcspanTscPlugin.mjs +34 -30
  11. package/dist/plugins/funcspanVitePlugin.cjs +1 -1
  12. package/dist/plugins/funcspanVitePlugin.mjs +16 -12
  13. package/dist/plugins/funcspanWebpackLoader.cjs +1 -1
  14. package/dist/plugins/funcspanWebpackLoader.mjs +55 -50
  15. package/dist/plugins/funcspanWebpackPlugin.cjs +1 -1
  16. package/dist/plugins/funcspanWebpackPlugin.mjs +1 -1
  17. package/dist/runtimeConfig-BZ61efqE.js +485 -0
  18. package/dist/runtimeConfig-CWpFWsmz.cjs +6 -0
  19. package/dist/sf-veritas.cjs +25 -13
  20. package/dist/sf-veritas.mjs +453 -393
  21. package/dist/telemetryWorker.cjs +1 -0
  22. package/dist/types/dataTransmitter.d.ts +6 -5
  23. package/dist/types/exceptionTransmitter.d.ts +2 -1
  24. package/dist/types/frameworkDetection.d.ts +18 -0
  25. package/dist/types/networkHopTransmitter.d.ts +2 -1
  26. package/dist/types/networkRequestTransmitter.d.ts +2 -1
  27. package/dist/types/plugins/consoleLocationTransformer.d.ts +37 -0
  28. package/dist/types/requestUtils.d.ts +17 -6
  29. package/dist/types/setupConfig.d.ts +3 -0
  30. package/dist/types/sourceLocation.d.ts +19 -19
  31. package/dist/types/telemetryWorker.d.ts +1 -0
  32. package/dist/worker-pool-capture.cjs +1 -1
  33. package/dist/worker-pool-capture.mjs +1 -1
  34. package/dist/workerPoolSpanCapture-Bg5av6gn.cjs +83 -0
  35. package/dist/{workerPoolSpanCapture-Dm4Reseo.js → workerPoolSpanCapture-BjdZn3LE.js} +222 -168
  36. package/package.json +1 -1
  37. package/dist/contextManager-DQMeQfS_.cjs +0 -1
  38. package/dist/runtimeConfig-Bfqf33tO.js +0 -444
  39. package/dist/runtimeConfig-DmD4lUhG.cjs +0 -9
  40. 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;