@sailfish-ai/sf-veritas 0.2.21 → 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 (35) hide show
  1. package/dist/consoleLocationTransformer-BSSB5msZ.cjs +1 -0
  2. package/dist/consoleLocationTransformer-DZu_9MDA.js +51 -0
  3. package/dist/plugins/funcspanEsbuildPlugin.cjs +1 -1
  4. package/dist/plugins/funcspanEsbuildPlugin.mjs +20 -16
  5. package/dist/plugins/funcspanRollupPlugin.cjs +1 -1
  6. package/dist/plugins/funcspanRollupPlugin.mjs +17 -13
  7. package/dist/plugins/funcspanTscPlugin.cjs +1 -1
  8. package/dist/plugins/funcspanTscPlugin.mjs +34 -30
  9. package/dist/plugins/funcspanVitePlugin.cjs +1 -1
  10. package/dist/plugins/funcspanVitePlugin.mjs +16 -12
  11. package/dist/plugins/funcspanWebpackLoader.cjs +1 -1
  12. package/dist/plugins/funcspanWebpackLoader.mjs +55 -50
  13. package/dist/plugins/funcspanWebpackPlugin.cjs +1 -1
  14. package/dist/plugins/funcspanWebpackPlugin.mjs +1 -1
  15. package/dist/runtimeConfig-BZ61efqE.js +485 -0
  16. package/dist/runtimeConfig-CWpFWsmz.cjs +6 -0
  17. package/dist/sf-veritas.cjs +13 -13
  18. package/dist/sf-veritas.mjs +206 -176
  19. package/dist/telemetryWorker.cjs +1 -0
  20. package/dist/types/dataTransmitter.d.ts +6 -5
  21. package/dist/types/exceptionTransmitter.d.ts +2 -1
  22. package/dist/types/networkHopTransmitter.d.ts +2 -1
  23. package/dist/types/networkRequestTransmitter.d.ts +2 -1
  24. package/dist/types/plugins/consoleLocationTransformer.d.ts +37 -0
  25. package/dist/types/requestUtils.d.ts +17 -6
  26. package/dist/types/sourceLocation.d.ts +19 -19
  27. package/dist/types/telemetryWorker.d.ts +1 -0
  28. package/dist/worker-pool-capture.cjs +1 -1
  29. package/dist/worker-pool-capture.mjs +1 -1
  30. package/dist/workerPoolSpanCapture-Bg5av6gn.cjs +83 -0
  31. package/dist/{workerPoolSpanCapture-DVYmzgbN.js → workerPoolSpanCapture-BjdZn3LE.js} +222 -168
  32. package/package.json +1 -1
  33. package/dist/runtimeConfig-CB57auSb.js +0 -444
  34. package/dist/runtimeConfig-sm_7bnKx.cjs +0 -9
  35. package/dist/workerPoolSpanCapture-DFnbcpkU.cjs +0 -83
@@ -1,444 +0,0 @@
1
- var iI = Object.defineProperty;
2
- var lI = (I, g, n) => g in I ? iI(I, g, { enumerable: !0, configurable: !0, writable: !0, value: n }) : I[g] = n;
3
- var Y = (I, g, n) => lI(I, typeof g != "symbol" ? g + "" : g, n);
4
- import * as oI from "fs/promises";
5
- import sI from "http";
6
- import AI from "https";
7
- import rI from "os";
8
- import { s as bI } from "./source-map-Cr6YkjTd.js";
9
- import { Worker as uI } from "worker_threads";
10
- import { g as m, a as aI, C as D } from "./contextManager-RxrMXs5c.js";
11
- import { resolve as dI } from "path";
12
- function x(I) {
13
- return typeof I == "string" ? I : I == null ? "" : Array.isArray(I) ? I.map((g) => String(g)).join(`
14
- `) : String(I);
15
- }
16
- function mI(I) {
17
- try {
18
- return JSON.stringify(I), !0;
19
- } catch {
20
- return !1;
21
- }
22
- }
23
- function RI(I) {
24
- const g = {}, n = [];
25
- if (I) for (const [C, e] of Object.entries(I)) mI(e) ? g[C] = e : n.push(C);
26
- return { traitsJson: JSON.stringify(g), excludedFields: n };
27
- }
28
- class K {
29
- constructor({ file: g, line: n, function: C, code: e, locals: t = {}, offender: l = !1, column: s }) {
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 = g, this.line = n, this.function = C, this.code = e, this.locals = t, this.offender = l, this.column = s;
38
- }
39
- toDict() {
40
- const g = { file: this.file, line: this.line, function: this.function, code: this.code, locals: Object.fromEntries(Object.entries(this.locals).map(([n, C]) => [n, String(C)])) };
41
- return this.offender && (g.offender = this.offender), this.column !== void 0 && (g.column = this.column), g;
42
- }
43
- toJson() {
44
- return JSON.stringify(this.toDict());
45
- }
46
- }
47
- class j {
48
- static encode(g) {
49
- return g instanceof K ? g.toDict() : Array.isArray(g) ? g.map((n) => j.encode(n)) : typeof g == "object" && g !== null ? JSON.stringify(g) : g;
50
- }
51
- static stringify(g) {
52
- return JSON.stringify(j.encode(g), (n, C) => C instanceof K ? C.toDict() : C);
53
- }
54
- }
55
- const ZI = ["/sf-veritas/", "/@sailfish-ai/", "/node_modules/", "/dist/", "/<", "/internal/", "node:"], H = /* @__PURE__ */ new Map();
56
- function fI(I) {
57
- return ZI.some((g) => I.includes(g));
58
- }
59
- function WI(I) {
60
- let g = I;
61
- g.startsWith("file://") && (g = g.substring(7)), process.platform === "win32" && g.startsWith("/") && g.length > 2 && g[2] === ":" && (g = g.substring(1));
62
- try {
63
- return dI(g);
64
- } catch {
65
- return I;
66
- }
67
- }
68
- function pI(I = 0) {
69
- const g = new Error().stack;
70
- if (!g) return [null, null];
71
- const n = x(g), C = (function(c, i) {
72
- const A = 2 + i;
73
- return c.split(`
74
- `).slice(A, A + 5).join(`
75
- `);
76
- })(n, I), e = H.get(C);
77
- if (e) return e;
78
- const t = (function(c) {
79
- if (!c) return [];
80
- const i = c.split(`
81
- `).slice(1), A = [];
82
- for (const f of i) {
83
- let o = /at\s+(.+?)\s+\((.+?):(\d+):(\d+)\)/.exec(f);
84
- o ? A.push({ functionName: o[1], file: o[2], line: parseInt(o[3], 10), column: parseInt(o[4], 10) }) : (o = /at\s+(.+?):(\d+):(\d+)/.exec(f), o && A.push({ functionName: "<anonymous>", file: o[1], line: parseInt(o[2], 10), column: parseInt(o[3], 10) }));
85
- }
86
- return A;
87
- })(n), l = 1 + I;
88
- for (let c = l; c < Math.min(t.length, l + 10); c++) {
89
- const i = t[c];
90
- if (!i || !i.file || fI(i.file)) continue;
91
- const A = [WI(i.file), i.line];
92
- if (H.size >= 512) {
93
- const f = H.keys().next().value;
94
- f !== void 0 && H.delete(f);
95
- }
96
- return H.set(C, A), A;
97
- }
98
- const s = [null, null];
99
- return H.set(C, s), s;
100
- }
101
- const T = console.log.bind(console), E = console.error.bind(console), Q = console.warn.bind(console), U = console.info.bind(console), P = console.debug.bind(console), y = T, M = E;
102
- let d = !1;
103
- const z = 8192;
104
- function GI(I) {
105
- if (I === null) return "null";
106
- if (I === void 0) return "undefined";
107
- const g = typeof I;
108
- if (g === "string") return I;
109
- if (g === "number" || g === "boolean") return String(I);
110
- if (g === "bigint") return I.toString() + "n";
111
- if (g === "symbol") return I.toString();
112
- if (g === "function") return `[Function: ${I.name || "anonymous"}]`;
113
- if (I instanceof Error) return I.stack || `${I.name}: ${I.message}`;
114
- try {
115
- const n = /* @__PURE__ */ new WeakSet(), C = [], e = /* @__PURE__ */ new Map(), t = JSON.stringify(I, function(s, c) {
116
- if (typeof c == "bigint") return c.toString() + "n";
117
- if (typeof c == "function") return `[Function: ${c.name || "anonymous"}]`;
118
- if (typeof c == "symbol") return c.toString();
119
- if (c === void 0) return "[undefined]";
120
- if (s !== "" && e.has(this)) {
121
- const i = e.get(this);
122
- if (i >= 20) return;
123
- e.set(this, i + 1);
124
- }
125
- if (c !== null && typeof c == "object") {
126
- if (n.has(c)) return "[Circular]";
127
- for (; C.length > 0 && C[C.length - 1] !== this; ) C.pop();
128
- if (C.length >= 3) return Array.isArray(c) ? `[Array(${c.length})]` : "[Object]";
129
- n.add(c), C.push(c), !Array.isArray(c) && Object.keys(c).length > 20 && e.set(c, 0);
130
- }
131
- return c;
132
- });
133
- if (t === void 0) return String(I);
134
- let l = t;
135
- if (e.size > 0 && !Array.isArray(I) && e.has(I)) {
136
- const s = Object.keys(I).length;
137
- l = l.slice(0, -1) + `,"...":"${s - 20} more keys"}`;
138
- }
139
- return l.length > 500 ? l.substring(0, 500) + "...[truncated]" : l;
140
- } catch {
141
- return String(I);
142
- }
143
- }
144
- function X(I) {
145
- if (I.length === 0) return "";
146
- if (I.length === 1 && typeof I[0] == "string") {
147
- const C = I[0];
148
- return C.length > z ? C.substring(0, z) + "...[truncated]" : C;
149
- }
150
- let g, n = !0;
151
- for (let C = 0; C < I.length; C++) {
152
- const e = typeof I[C];
153
- if (e === "object" && I[C] !== null || e === "function" || e === "symbol") {
154
- n = !1;
155
- break;
156
- }
157
- }
158
- if (n) {
159
- const C = new Array(I.length);
160
- for (let e = 0; e < I.length; e++) {
161
- const t = I[e];
162
- C[e] = t === null ? "null" : t === void 0 ? "undefined" : typeof t == "string" ? t : String(t);
163
- }
164
- g = C.join(" ");
165
- } else g = I.map(GI).join(" ");
166
- return g.length > z ? g.substring(0, z) + "...[truncated]" : g;
167
- }
168
- function FI(I) {
169
- function g(n, C) {
170
- const e = aI();
171
- if (e?.logIgnoreRegex && e.logIgnoreRegex.test(C)) return;
172
- const [t, l] = pI(2);
173
- I.setOperationName("CollectLogs"), I.doSend([C, n, t, l]);
174
- }
175
- console.log = (...n) => {
176
- if (d) T(...n);
177
- else {
178
- d = !0;
179
- try {
180
- g("INFO", X(n)), T(...n);
181
- } finally {
182
- d = !1;
183
- }
184
- }
185
- }, console.error = (...n) => {
186
- if (d) E(...n);
187
- else {
188
- d = !0;
189
- try {
190
- g("ERROR", X(n)), E(...n);
191
- } finally {
192
- d = !1;
193
- }
194
- }
195
- }, console.warn = (...n) => {
196
- if (d) Q(...n);
197
- else {
198
- d = !0;
199
- try {
200
- g("WARN", X(n)), Q(...n);
201
- } finally {
202
- d = !1;
203
- }
204
- }
205
- }, console.info = (...n) => {
206
- if (d) U(...n);
207
- else {
208
- d = !0;
209
- try {
210
- g("INFO", X(n)), U(...n);
211
- } finally {
212
- d = !1;
213
- }
214
- }
215
- }, m().logLevel === "DEBUG" && (console.debug = (...n) => {
216
- if (d) P(...n);
217
- else {
218
- d = !0;
219
- try {
220
- g("DEBUG", X(n)), P(...n);
221
- } finally {
222
- d = !1;
223
- }
224
- }
225
- });
226
- }
227
- let S = 0;
228
- function zI(I) {
229
- m().sfDebug && y("Initializing Exception Interceptor...");
230
- try {
231
- const s = nI();
232
- I?.setSupplementalFields?.({ isFromLocalService: s }), (async function(c) {
233
- if (q) return;
234
- q = !0;
235
- const i = process.env || {};
236
- if (gI(i.SF_IS_LOCAL) === void 0)
237
- try {
238
- await (async function(A) {
239
- const f = L("http://169.254.169.254/latest/meta-data/", {}, A), o = L("http://metadata.google.internal/computeMetadata/v1/instance/", { "Metadata-Flavor": "Google" }, A), a = L("http://169.254.169.254/metadata/instance?api-version=2021-02-01", { Metadata: "true" }, A);
240
- return (await Promise.allSettled([f, o, a])).some((W) => W.status === "fulfilled" && (W.value === "ok" || W.value === "http_error"));
241
- })(150) && V && (V = !1, c?.setSupplementalFields?.({ isFromLocalService: !1 }));
242
- } catch {
243
- }
244
- })(I).catch(() => {
245
- });
246
- } catch {
247
- }
248
- const g = new uI(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" } });
249
- let n = null;
250
- const C = /* @__PURE__ */ new WeakMap();
251
- g.on("message", async (s) => {
252
- if (typeof s == "string" && m().sfDebug && y(`[Worker] ${s}`), s.readyToGetParameters && g.postMessage({ sfDebug: m().sfDebug, stackDepthLocals: m().stackDepthLocals, nodeModulesToCollectLocalVariablesOn: m().nodeModulesToCollectLocalVariablesOn }), s.type === "exception") {
253
- const { frames: c } = s, i = n;
254
- if (!i) return;
255
- const A = (function(o) {
256
- return o ? o.split(`
257
- `).slice(1).map((a) => {
258
- const W = /at (.+?) \((.+):(\d+):(\d+)\)/.exec(a) || /at (.+):(\d+):(\d+)/.exec(a);
259
- if (W) {
260
- const [, p, B, b, Z] = W;
261
- return new K({ function: p || "<anonymous>", locals: {}, file: B || "<unknown>", line: parseInt(b, 10) || 0, code: "<not captured>", column: parseInt(Z) || 0 });
262
- }
263
- return new K({ function: "<unknown>", locals: {}, file: "<unknown>", line: 0, code: "<not captured>", column: 0 });
264
- }) : [];
265
- })(x(i.stack)), f = (function(o, a) {
266
- const W = [];
267
- let p = -1, B = -1;
268
- for (let b = 0; b < o.length; b++) {
269
- const Z = BI(o[b].file);
270
- if (B = b, Z !== "<unknown>") {
271
- for (let u = 0; u < a.length; u++) {
272
- const G = a[u];
273
- if (II(G, Z) || typeof G.file == "string" && G.file.includes(Z)) {
274
- p = u, S = 0, m().sfDebug && y(`✅ Matched Frame Found: ${Z} @ Debugger Frame ${u}`);
275
- break;
276
- }
277
- }
278
- if (p !== -1) break;
279
- }
280
- }
281
- if (p === -1) return S === 10 ? (S = 0, o) : (++S, m().sfDebug && y(`"❌ No matching frame found. Checking once again, Attempt N ${S}"`), []);
282
- m().sfDebug && y(`🔄 Merging from matched index ${p} onward...`);
283
- for (let b = 0; b < a.length; b++) {
284
- const Z = o[B + b], u = a[p + b];
285
- W.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>" }));
286
- }
287
- return W;
288
- })(A, c || []);
289
- if (f.length !== 0) {
290
- n = null;
291
- const o = m().stackDepthCodeTraceDepth, a = o === -1 ? f : f.slice(0, o + 1), W = Math.min(a.length, A.length);
292
- await Promise.all(Array.from({ length: W }, async (Z, u) => {
293
- const G = await (async function(CI, eI, cI) {
294
- const h = (function(r) {
295
- r.startsWith("at ") && (r = r.slice(3).trim());
296
- const N = r.match(/^(.*?)(:\d+)+(\.map)?$/);
297
- return N ? N[1] : r;
298
- })(CI);
299
- if (!h || h === "<unknown>") return null;
300
- const w = h + ".map";
301
- try {
302
- let r = v.get(w);
303
- if (r === void 0) {
304
- const R = await oI.readFile(w, "utf-8");
305
- r = R ? JSON.parse(R) : null, $(w, r);
306
- }
307
- if (!r) return null;
308
- let N = new bI.SourceMapConsumer(r).originalPositionFor({ line: eI, column: cI });
309
- if (h && N.source) {
310
- const R = _(h), O = r.sources.findIndex((F) => _(F) === R);
311
- if (O === -1) m().sfDebug && y(`Source file "${h}" not found in the source map.`);
312
- else {
313
- const F = r.sourcesContent[O], tI = r.names.join(",");
314
- if (F)
315
- return { content: F.split(`
316
- `).slice(N.line - 1, N.line + 20).join(`
317
- `), name: tI, file: N.source };
318
- m().sfDebug && y(`No source content available for file "${h}".`);
319
- }
320
- }
321
- return { content: r.sourcesContent[0], name: r.names[0], file: r.file };
322
- } catch (r) {
323
- m().sfDebug && y(`Cant read/parse "${w}: Error - ".`, r), $(w, null);
324
- }
325
- return null;
326
- })(a[u].file, A[u].line, A[u].column);
327
- G && (G.content != null && (a[u].code = G.content), G.file != null && (a[u].file = G.file));
328
- })), I.setOperationName("CollectExceptions");
329
- const p = i.message ? `${i.name}: ${i.message}` : i.name;
330
- m().sfDebug && y("error message is : ", p);
331
- const B = D.getInstance(), b = C.get(i);
332
- b ? (B.setTraceIdFor(b, b), B.runWithSession(b, () => {
333
- B.setTraceId(b), I.doSend(p, a);
334
- })) : I.doSend(p, a);
335
- }
336
- }
337
- }), g.on("error", (s) => {
338
- M("[Worker Error]", s);
339
- }), g.on("exit", (s) => {
340
- M(`[Worker] Exited with code ${s}`);
341
- }), g.unref();
342
- const e = Error, t = /* @__PURE__ */ new Set();
343
- function l(...s) {
344
- const c = Reflect.construct(e, s);
345
- Reflect.setPrototypeOf(c, l.prototype);
346
- try {
347
- const A = D.getInstance().getTraceId();
348
- C.set(c, A);
349
- } catch {
350
- }
351
- e.captureStackTrace && e.captureStackTrace(c, l);
352
- const i = `${c.message}:${x(c.stack).split(`
353
- `)[1]?.trim()}`;
354
- if (!t.has(i)) {
355
- if (t.add(i), t.size > 1e3) {
356
- const A = t.values().next().value;
357
- t.delete(A);
358
- }
359
- n = c, g.postMessage({ type: "processException", error: c.message });
360
- }
361
- return c;
362
- }
363
- l.prototype = Object.create(e.prototype, { constructor: { value: l, enumerable: !1, writable: !0, configurable: !0 } }), Object.setPrototypeOf(l, e), globalThis.Error = l;
364
- }
365
- function _(I) {
366
- return I = (I = (I = I.replace(/^webpack:\/\/[^\/]+\/\.?\//, "")).replace(/^.*\/pages\//, "pages/")).replace(/\.(js|ts)$/, "");
367
- }
368
- const yI = 50, v = /* @__PURE__ */ new Map();
369
- function $(I, g) {
370
- if (v.size >= yI) {
371
- const n = v.keys().next().value;
372
- v.delete(n);
373
- }
374
- v.set(I, g);
375
- }
376
- function BI(I) {
377
- return I?.split("/").pop() || "<unknown>";
378
- }
379
- function II(I, g) {
380
- if (!I || typeof I != "object") return !1;
381
- for (const n of Object.values(I))
382
- if (typeof n == "string" && n.includes(g) || typeof n == "object" && II(n, g)) return !0;
383
- return !1;
384
- }
385
- let V, J, k, q = !1;
386
- function gI(I) {
387
- if (!I) return;
388
- const g = I.toLowerCase().trim();
389
- return !!["1", "true", "yes", "on"].includes(g) || !["0", "false", "no", "off"].includes(g) && void 0;
390
- }
391
- function nI() {
392
- if (V !== void 0) return V;
393
- const I = process.env || {}, g = gI(I.SF_IS_LOCAL);
394
- if (g !== void 0) return V = g;
395
- const n = (I.SF_ENV || I.NODE_ENV || "").toLowerCase();
396
- if (["local", "dev", "development"].includes(n)) return V = !0;
397
- 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) => !!I[e])) return V = !1;
398
- const C = (rI.hostname?.() || I.HOSTNAME || "").toLowerCase();
399
- return V = !(C !== "localhost" && !C.endsWith(".local") && !C.includes("local"));
400
- }
401
- function L(I, g, n) {
402
- return new Promise((C) => {
403
- try {
404
- const e = new URL(I), t = (e.protocol === "https:" ? AI : sI).request({ method: "GET", hostname: e.hostname, port: e.port || (e.protocol === "https:" ? 443 : 80), path: e.pathname + (e.search || ""), headers: g }, (l) => {
405
- l.resume(), l.statusCode && l.statusCode >= 200 && l.statusCode < 400 ? C("ok") : C("http_error");
406
- });
407
- t.on("error", () => C("error")), t.setTimeout(n, () => {
408
- t.destroy(), C("timeout");
409
- }), t.end();
410
- } catch {
411
- C("error");
412
- }
413
- });
414
- }
415
- function YI() {
416
- if (J !== void 0) return J;
417
- const I = process.env.SF_FUNCSPAN_RUNTIME_ENABLED;
418
- if (I === "true" || I === "1") return J = !0, !0;
419
- if (I === "false" || I === "0") return J = !1, !1;
420
- try {
421
- const { isRuntimeModeConfigured: g } = require("../funcSpanConfigLoader");
422
- if (g && g()) return J = !0, !0;
423
- } catch {
424
- }
425
- return J = !1, !1;
426
- }
427
- function VI() {
428
- return k !== void 0 || (k = !nI()), k;
429
- }
430
- function kI() {
431
- return !!YI() && (!VI() || (console.warn("[FuncSpan Runtime] DISABLED in production environment"), !1));
432
- }
433
- export {
434
- j as C,
435
- RI as a,
436
- M as b,
437
- x as c,
438
- FI as d,
439
- zI as e,
440
- VI as f,
441
- YI as g,
442
- y as i,
443
- kI as s
444
- };
@@ -1,9 +0,0 @@
1
- "use strict";const ln=require("fs/promises"),on=require("http"),sn=require("https"),An=require("os"),rn=require("./source-map-rHHEdpre.cjs"),bn=require("worker_threads"),a=require("./contextManager-0D8uHQ1_.cjs"),un=require("path");function an(n){const I=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const g in n)if(g!=="default"){const e=Object.getOwnPropertyDescriptor(n,g);Object.defineProperty(I,g,e.get?e:{enumerable:!0,get:()=>n[g]})}}return I.default=n,Object.freeze(I)}const dn=an(ln);function k(n){return typeof n=="string"?n:n==null?"":Array.isArray(n)?n.map(I=>String(I)).join(`
2
- `):String(n)}function mn(n){try{return JSON.stringify(n),!0}catch{return!1}}class v{file;line;function;code;locals;offender;column;constructor({file:I,line:g,function:e,code:C,locals:t={},offender:l=!1,column:s}){this.file=I,this.line=g,this.function=e,this.code=C,this.locals=t,this.offender=l,this.column=s}toDict(){const I={file:this.file,line:this.line,function:this.function,code:this.code,locals:Object.fromEntries(Object.entries(this.locals).map(([g,e])=>[g,String(e)]))};return this.offender&&(I.offender=this.offender),this.column!==void 0&&(I.column=this.column),I}toJson(){return JSON.stringify(this.toDict())}}class L{static encode(I){return I instanceof v?I.toDict():Array.isArray(I)?I.map(g=>L.encode(g)):typeof I=="object"&&I!==null?JSON.stringify(I):I}static stringify(I){return JSON.stringify(L.encode(I),(g,e)=>e instanceof v?e.toDict():e)}}const Zn=["/sf-veritas/","/@sailfish-ai/","/node_modules/","/dist/","/<","/internal/","node:"],N=new Map;function fn(n){return Zn.some(I=>n.includes(I))}function Wn(n){let I=n;I.startsWith("file://")&&(I=I.substring(7)),process.platform==="win32"&&I.startsWith("/")&&I.length>2&&I[2]===":"&&(I=I.substring(1));try{return un.resolve(I)}catch{return n}}function pn(n=0){const I=new Error().stack;if(!I)return[null,null];const g=k(I),e=(function(c,i){const A=2+i;return c.split(`
3
- `).slice(A,A+5).join(`
4
- `)})(g,n),C=N.get(e);if(C)return C;const t=(function(c){if(!c)return[];const i=c.split(`
5
- `).slice(1),A=[];for(const f of i){let o=/at\s+(.+?)\s+\((.+?):(\d+):(\d+)\)/.exec(f);o?A.push({functionName:o[1],file:o[2],line:parseInt(o[3],10),column:parseInt(o[4],10)}):(o=/at\s+(.+?):(\d+):(\d+)/.exec(f),o&&A.push({functionName:"<anonymous>",file:o[1],line:parseInt(o[2],10),column:parseInt(o[3],10)}))}return A})(g),l=1+n;for(let c=l;c<Math.min(t.length,l+10);c++){const i=t[c];if(!i||!i.file||fn(i.file))continue;const A=[Wn(i.file),i.line];if(N.size>=512){const f=N.keys().next().value;f!==void 0&&N.delete(f)}return N.set(e,A),A}const s=[null,null];return N.set(e,s),s}const E=console.log.bind(console),T=console.error.bind(console),D=console.warn.bind(console),Q=console.info.bind(console),U=console.debug.bind(console),G=E,x=T;let m=!1;const F=8192;function Gn(n){if(n===null)return"null";if(n===void 0)return"undefined";const I=typeof n;if(I==="string")return n;if(I==="number"||I==="boolean")return String(n);if(I==="bigint")return n.toString()+"n";if(I==="symbol")return n.toString();if(I==="function")return`[Function: ${n.name||"anonymous"}]`;if(n instanceof Error)return n.stack||`${n.name}: ${n.message}`;try{const g=new WeakSet,e=[],C=new Map,t=JSON.stringify(n,function(s,c){if(typeof c=="bigint")return c.toString()+"n";if(typeof c=="function")return`[Function: ${c.name||"anonymous"}]`;if(typeof c=="symbol")return c.toString();if(c===void 0)return"[undefined]";if(s!==""&&C.has(this)){const i=C.get(this);if(i>=20)return;C.set(this,i+1)}if(c!==null&&typeof c=="object"){if(g.has(c))return"[Circular]";for(;e.length>0&&e[e.length-1]!==this;)e.pop();if(e.length>=3)return Array.isArray(c)?`[Array(${c.length})]`:"[Object]";g.add(c),e.push(c),!Array.isArray(c)&&Object.keys(c).length>20&&C.set(c,0)}return c});if(t===void 0)return String(n);let l=t;if(C.size>0&&!Array.isArray(n)&&C.has(n)){const s=Object.keys(n).length;l=l.slice(0,-1)+`,"...":"${s-20} more keys"}`}return l.length>500?l.substring(0,500)+"...[truncated]":l}catch{return String(n)}}function w(n){if(n.length===0)return"";if(n.length===1&&typeof n[0]=="string"){const e=n[0];return e.length>F?e.substring(0,F)+"...[truncated]":e}let I,g=!0;for(let e=0;e<n.length;e++){const C=typeof n[e];if(C==="object"&&n[e]!==null||C==="function"||C==="symbol"){g=!1;break}}if(g){const e=new Array(n.length);for(let C=0;C<n.length;C++){const t=n[C];e[C]=t===null?"null":t===void 0?"undefined":typeof t=="string"?t:String(t)}I=e.join(" ")}else I=n.map(Gn).join(" ");return I.length>F?I.substring(0,F)+"...[truncated]":I}let X=0;function P(n){return n=(n=(n=n.replace(/^webpack:\/\/[^\/]+\/\.?\//,"")).replace(/^.*\/pages\//,"pages/")).replace(/\.(js|ts)$/,"")}const yn=50,S=new Map;function M(n,I){if(S.size>=yn){const g=S.keys().next().value;S.delete(g)}S.set(n,I)}function Bn(n){return n?.split("/").pop()||"<unknown>"}function nn(n,I){if(!n||typeof n!="object")return!1;for(const g of Object.values(n))if(typeof g=="string"&&g.includes(I)||typeof g=="object"&&nn(g,I))return!0;return!1}let Y,H,z,_=!1;function In(n){if(!n)return;const I=n.toLowerCase().trim();return!!["1","true","yes","on"].includes(I)||!["0","false","no","off"].includes(I)&&void 0}function gn(){if(Y!==void 0)return Y;const n=process.env||{},I=In(n.SF_IS_LOCAL);if(I!==void 0)return Y=I;const g=(n.SF_ENV||n.NODE_ENV||"").toLowerCase();if(["local","dev","development"].includes(g))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(C=>!!n[C]))return Y=!1;const e=(An.hostname?.()||n.HOSTNAME||"").toLowerCase();return Y=!(e!=="localhost"&&!e.endsWith(".local")&&!e.includes("local"))}function j(n,I,g){return new Promise(e=>{try{const C=new URL(n),t=(C.protocol==="https:"?sn:on).request({method:"GET",hostname:C.hostname,port:C.port||(C.protocol==="https:"?443:80),path:C.pathname+(C.search||""),headers:I},l=>{l.resume(),l.statusCode&&l.statusCode>=200&&l.statusCode<400?e("ok"):e("http_error")});t.on("error",()=>e("error")),t.setTimeout(g,()=>{t.destroy(),e("timeout")}),t.end()}catch{e("error")}})}function $(){if(H!==void 0)return H;const n=process.env.SF_FUNCSPAN_RUNTIME_ENABLED;if(n==="true"||n==="1")return H=!0,!0;if(n==="false"||n==="0")return H=!1,!1;try{const{isRuntimeModeConfigured:I}=require("../funcSpanConfigLoader");if(I&&I())return H=!0,!0}catch{}return H=!1,!1}function q(){return z!==void 0||(z=!gn()),z}exports.CustomJSONEncoderForFrameInfo=L,exports.initializeExceptionInterceptor=function(n){a.getConfig().sfDebug&&G("Initializing Exception Interceptor...");try{const s=gn();n?.setSupplementalFields?.({isFromLocalService:s}),(async function(c){if(_)return;_=!0;const i=process.env||{};if(In(i.SF_IS_LOCAL)===void 0)try{await(async function(A){const f=j("http://169.254.169.254/latest/meta-data/",{},A),o=j("http://metadata.google.internal/computeMetadata/v1/instance/",{"Metadata-Flavor":"Google"},A),d=j("http://169.254.169.254/metadata/instance?api-version=2021-02-01",{Metadata:"true"},A);return(await Promise.allSettled([f,o,d])).some(W=>W.status==="fulfilled"&&(W.value==="ok"||W.value==="http_error"))})(150)&&Y&&(Y=!1,c?.setSupplementalFields?.({isFromLocalService:!1}))}catch{}})(n).catch(()=>{})}catch{}const I=new bn.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 g=null;const e=new WeakMap;I.on("message",async s=>{if(typeof s=="string"&&a.getConfig().sfDebug&&G(`[Worker] ${s}`),s.readyToGetParameters&&I.postMessage({sfDebug:a.getConfig().sfDebug,stackDepthLocals:a.getConfig().stackDepthLocals,nodeModulesToCollectLocalVariablesOn:a.getConfig().nodeModulesToCollectLocalVariablesOn}),s.type==="exception"){const{frames:c}=s,i=g;if(!i)return;const A=(function(o){return o?o.split(`
6
- `).slice(1).map(d=>{const W=/at (.+?) \((.+):(\d+):(\d+)\)/.exec(d)||/at (.+):(\d+):(\d+)/.exec(d);if(W){const[,p,B,b,Z]=W;return new v({function:p||"<anonymous>",locals:{},file:B||"<unknown>",line:parseInt(b,10)||0,code:"<not captured>",column:parseInt(Z)||0})}return new v({function:"<unknown>",locals:{},file:"<unknown>",line:0,code:"<not captured>",column:0})}):[]})(k(i.stack)),f=(function(o,d){const W=[];let p=-1,B=-1;for(let b=0;b<o.length;b++){const Z=Bn(o[b].file);if(B=b,Z!=="<unknown>"){for(let u=0;u<d.length;u++){const y=d[u];if(nn(y,Z)||typeof y.file=="string"&&y.file.includes(Z)){p=u,X=0,a.getConfig().sfDebug&&G(`✅ Matched Frame Found: ${Z} @ Debugger Frame ${u}`);break}}if(p!==-1)break}}if(p===-1)return X===10?(X=0,o):(++X,a.getConfig().sfDebug&&G(`"❌ No matching frame found. Checking once again, Attempt N ${X}"`),[]);a.getConfig().sfDebug&&G(`🔄 Merging from matched index ${p} onward...`);for(let b=0;b<d.length;b++){const Z=o[B+b],u=d[p+b];W.push(new v({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 W})(A,c||[]);if(f.length!==0){g=null;const o=a.getConfig().stackDepthCodeTraceDepth,d=o===-1?f:f.slice(0,o+1),W=Math.min(d.length,A.length);await Promise.all(Array.from({length:W},async(Z,u)=>{const y=await(async function(en,Cn,cn){const V=(function(r){r.startsWith("at ")&&(r=r.slice(3).trim());const h=r.match(/^(.*?)(:\d+)+(\.map)?$/);return h?h[1]:r})(en);if(!V||V==="<unknown>")return null;const J=V+".map";try{let r=S.get(J);if(r===void 0){const K=await dn.readFile(J,"utf-8");r=K?JSON.parse(K):null,M(J,r)}if(!r)return null;let h=new rn.sourceMapExports.SourceMapConsumer(r).originalPositionFor({line:Cn,column:cn});if(V&&h.source){const K=P(V),O=r.sources.findIndex(R=>P(R)===K);if(O===-1)a.getConfig().sfDebug&&G(`Source file "${V}" not found in the source map.`);else{const R=r.sourcesContent[O],tn=r.names.join(",");if(R)return{content:R.split(`
7
- `).slice(h.line-1,h.line+20).join(`
8
- `),name:tn,file:h.source};a.getConfig().sfDebug&&G(`No source content available for file "${V}".`)}}return{content:r.sourcesContent[0],name:r.names[0],file:r.file}}catch(r){a.getConfig().sfDebug&&G(`Cant read/parse "${J}: Error - ".`,r),M(J,null)}return null})(d[u].file,A[u].line,A[u].column);y&&(y.content!=null&&(d[u].code=y.content),y.file!=null&&(d[u].file=y.file))})),n.setOperationName("CollectExceptions");const p=i.message?`${i.name}: ${i.message}`:i.name;a.getConfig().sfDebug&&G("error message is : ",p);const B=a.ContextManager.getInstance(),b=e.get(i);b?(B.setTraceIdFor(b,b),B.runWithSession(b,()=>{B.setTraceId(b),n.doSend(p,d)})):n.doSend(p,d)}}}),I.on("error",s=>{x("[Worker Error]",s)}),I.on("exit",s=>{x(`[Worker] Exited with code ${s}`)}),I.unref();const C=Error,t=new Set;function l(...s){const c=Reflect.construct(C,s);Reflect.setPrototypeOf(c,l.prototype);try{const A=a.ContextManager.getInstance().getTraceId();e.set(c,A)}catch{}C.captureStackTrace&&C.captureStackTrace(c,l);const i=`${c.message}:${k(c.stack).split(`
9
- `)[1]?.trim()}`;if(!t.has(i)){if(t.add(i),t.size>1e3){const A=t.values().next().value;t.delete(A)}g=c,I.postMessage({type:"processException",error:c.message})}return c}l.prototype=Object.create(C.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(l,C),globalThis.Error=l},exports.initializeLogInterceptor=function(n){function I(g,e){const C=a.getGlobalConfigUnsafe();if(C?.logIgnoreRegex&&C.logIgnoreRegex.test(e))return;const[t,l]=pn(2);n.setOperationName("CollectLogs"),n.doSend([e,g,t,l])}console.log=(...g)=>{if(m)E(...g);else{m=!0;try{I("INFO",w(g)),E(...g)}finally{m=!1}}},console.error=(...g)=>{if(m)T(...g);else{m=!0;try{I("ERROR",w(g)),T(...g)}finally{m=!1}}},console.warn=(...g)=>{if(m)D(...g);else{m=!0;try{I("WARN",w(g)),D(...g)}finally{m=!1}}},console.info=(...g)=>{if(m)Q(...g);else{m=!0;try{I("INFO",w(g)),Q(...g)}finally{m=!1}}},a.getConfig().logLevel==="DEBUG"&&(console.debug=(...g)=>{if(m)U(...g);else{m=!0;try{I("DEBUG",w(g)),U(...g)}finally{m=!1}}})},exports.internalError=x,exports.internalLog=G,exports.isProductionEnvironment=q,exports.isRuntimeModeEnabled=$,exports.serializeJsonWithExclusions=function(n){const I={},g=[];if(n)for(const[e,C]of Object.entries(n))mn(C)?I[e]=C:g.push(e);return{traitsJson:JSON.stringify(I),excludedFields:g}},exports.shouldEnableRuntimeHooks=function(){return!!$()&&(!q()||(console.warn("[FuncSpan Runtime] DISABLED in production environment"),!1))},exports.stackToString=k;
@@ -1,83 +0,0 @@
1
- "use strict";const w=require("async_hooks"),B=require("fs"),v=require("worker_threads"),l=require("./contextManager-0D8uHQ1_.cjs");class M{apiKey;endpoint;queryType="mutation";operationName="";serviceUUID=l.getConfig().serviceUUID;contextManager;constructor(){this.apiKey=l.getConfig().apiKey,this.endpoint=l.getConfig().apiGraphqlEndpoint,this.contextManager=l.ContextManager.getInstance()}get queryName(){return this.operationName?this.operationName.charAt(0).toLowerCase()+this.operationName.slice(1):""}getDefaultVariables(){const t=Date.now().toString(),o=this.contextManager.getOrSetSfTraceId(),s=this.contextManager.getCurrentFunctionSpanId();return{apiKey:this.apiKey,serviceUuid:this.serviceUUID,sessionId:o,timestampMs:t,parentSpanId:s}}getVariables(t={}){return{...this.getDefaultVariables(),...t}}setOperationName(t){this.operationName=t}setEndpoint(t){this.endpoint=t}setServiceUUID(t){this.serviceUUID=t}}const K=fetch;let _=!1;async function P(n,t,o,s){try{const a=l.getConfig();let i;try{i=JSON.stringify({query:o,variables:s,operationName:t})}catch{i=JSON.stringify({query:o,operationName:t})}_=!0,K(n,{method:"POST",headers:{"Content-Type":"application/json"},body:i}).then(async e=>{if(_=!1,!e.ok)return void(a.sfDebug&&console.error(`GraphQL request failed with status ${e.status} for ${t}`));const r=await e.json();r.errors?.length?(function(u,g,c){const d=u&&typeof u=="object"&&!Array.isArray(u)?Object.keys(u)[0]:void 0;console.error(d==="identifyServiceDetails"?`IdentifyServiceDetails NOT sent successfully for service: UUID=${c.serviceUUID}`:`GraphQL request failed with errors: ${JSON.stringify(g)} for operation key ${d}`)})(r.data,r.errors,a):a.sfDebug&&(function(u,g,c){const d=u&&typeof u=="object"&&!Array.isArray(u)?Object.keys(u)[0]:void 0,p=u[d]||!1;d==="identifyServiceDetails"&&(c.setServiceIdentificationReceived(p),l.getConfig().sfDebug&&console.log(`IdentifyServiceDetails sent successfully for service: UUID=${c.serviceUUID}; serviceIdentificationReceived=${d==="identifyServiceDetails"?p:"N/A"}`))})(r.data,0,a)}).catch(e=>{_=!1,a.sfDebug&&(console.error(`[RequestUtils] Fetch error for ${t} to ${n}:`,e),e.cause&&console.error("[RequestUtils] Error cause:",e.cause))})}catch(a){_=!1,l.getConfig().sfDebug&&console.error("Error sending data to GraphQL server:",a)}}function N(n,t){if(!n)return t;const o=n.toLowerCase();return o==="true"||o==="1"||o==="yes"}const O="__sf_funcspanOverrideStorage";globalThis[O]||(globalThis[O]=new w.AsyncLocalStorage);const I=globalThis[O];function C(n,t){try{const o=JSON.stringify(n).length/1048576;return o<=t?n:{_truncated:!0,_originalSizeMB:o.toFixed(2),_limitMB:t,_preview:JSON.stringify(n).substring(0,500)+"..."}}catch{return{_error:"Failed to serialize data",_type:typeof n}}}function S(n,t){const o=process.env[n];return o===void 0?t:o==="true"||o==="1"}function E(n,t){const o=process.env[n];if(o===void 0)return t;const s=parseFloat(o);return isNaN(s)?t:s}function T(){return{enabled:S("SF_WORKER_POOL_ENABLED",!0),trackFs:S("SF_WORKER_POOL_TRACK_FS",!1),trackDns:S("SF_WORKER_POOL_TRACK_DNS",!1),trackCrypto:S("SF_WORKER_POOL_TRACK_CRYPTO",!1),trackZlib:S("SF_WORKER_POOL_TRACK_ZLIB",!1),captureArguments:S("SF_WORKER_POOL_CAPTURE_ARGUMENTS",!0),captureReturnValue:S("SF_WORKER_POOL_CAPTURE_RETURN_VALUE",!0),argLimitMb:E("SF_WORKER_POOL_ARG_LIMIT_MB",1),returnLimitMb:E("SF_WORKER_POOL_RETURN_LIMIT_MB",1)}}function D(n,t,o,s){let a;try{switch(n){case"fs":a=(function(i,e){const r={};switch(i){case"readFile":case"writeFile":case"appendFile":r.path=String(e[0]||""),e[1]&&typeof e[1]=="object"?(r.encoding=e[1].encoding||null,r.flag=e[1].flag||null):typeof e[1]=="string"&&(r.encoding=e[1]),i!=="writeFile"&&i!=="appendFile"||(Buffer.isBuffer(e[1])?(r.dataType="Buffer",r.dataSize=e[1].length):typeof e[1]=="string"&&(r.dataType="string",r.dataSize=e[1].length));break;case"readdir":case"stat":case"lstat":case"access":case"chmod":case"mkdir":case"rmdir":case"unlink":r.path=String(e[0]||""),e[1]&&typeof e[1]=="object"&&(r.options={...e[1]},delete r.options.callback);break;case"rename":r.oldPath=String(e[0]||""),r.newPath=String(e[1]||"");break;case"open":r.path=String(e[0]||""),r.flags=e[1],r.mode=e[2];break;case"close":case"fstat":r.fd=e[0];break;case"read":case"write":r.fd=e[0],Buffer.isBuffer(e[1])&&(r.bufferSize=e[1].length),r.offset=e[2],r.length=e[3],r.position=e[4];break;default:r.argsCount=e.length-1}return r})(t,o);break;case"dns":a=(function(i,e){const r={};switch(i){case"lookup":r.hostname=String(e[0]||""),typeof e[1]=="object"?(r.family=e[1].family,r.all=e[1].all):typeof e[1]=="number"&&(r.family=e[1]);break;case"resolve":case"resolve4":case"resolve6":case"resolveAny":case"resolveMx":case"resolveNs":case"resolveTxt":r.hostname=String(e[0]||"");break;case"reverse":r.ip=String(e[0]||"");break;default:r.argsCount=e.length-1}return r})(t,o);break;case"crypto":a=(function(i,e){const r={};switch(i){case"pbkdf2":r.passwordType=typeof e[0],r.saltType=typeof e[1],r.iterations=e[2],r.keylen=e[3],r.digest=e[4];break;case"scrypt":r.passwordType=typeof e[0],r.saltType=typeof e[1],r.keylen=e[2],typeof e[3]=="object"&&(r.N=e[3].N,r.r=e[3].r,r.p=e[3].p);break;case"randomBytes":r.size=e[0];break;case"generateKeyPair":r.type=e[0],typeof e[1]=="object"&&(r.modulusLength=e[1].modulusLength,r.namedCurve=e[1].namedCurve);break;default:r.argsCount=e.length-1}return r})(t,o);break;case"zlib":a=(function(i,e){const r={};return Buffer.isBuffer(e[0])?(r.inputType="Buffer",r.inputSize=e[0].length):typeof e[0]=="string"?(r.inputType="string",r.inputSize=e[0].length):r.inputType=typeof e[0],e[1]&&typeof e[1]=="object"&&typeof e[1]!="function"&&(r.options={...e[1]}),r})(0,o);break;default:return null}return s>0?C(a,s):a}catch{return{error:"Failed to capture arguments",argsCount:o.length-1}}}function L(n,t,o,s){let a;try{switch(n){case"fs":a=(function(i,e){if(!e)return null;switch(i){case"readFile":return Buffer.isBuffer(e)?{type:"Buffer",size:e.length}:typeof e=="string"?{type:"string",size:e.length}:{type:typeof e};case"readdir":return{count:Array.isArray(e)?e.length:0,items:e};case"stat":case"lstat":case"fstat":return{size:e.size,mode:e.mode,isFile:e.isFile(),isDirectory:e.isDirectory()};case"open":return{fd:e};case"read":return{bytesRead:e};case"write":return{bytesWritten:e};default:return e}})(t,o);break;case"dns":a=(function(i,e){if(!e)return null;switch(i){case"lookup":return Array.isArray(e)?{count:e.length,addresses:e}:e;case"resolve":case"resolve4":case"resolve6":case"resolveAny":case"resolveMx":case"resolveNs":case"resolveTxt":return{count:Array.isArray(e)?e.length:0,records:e};case"reverse":return{hostnames:e};default:return e}})(t,o);break;case"crypto":a=(function(i,e){if(!e)return null;switch(i){case"pbkdf2":case"scrypt":case"randomBytes":return Buffer.isBuffer(e)?{type:"Buffer",size:e.length}:{type:typeof e};case"generateKeyPair":return{hasPublicKey:!!e?.publicKey,hasPrivateKey:!!e?.privateKey};default:return e}})(t,o);break;case"zlib":a=(function(i,e){return e?Buffer.isBuffer(e)?{type:"Buffer",size:e.length}:typeof e=="string"?{type:"string",size:e.length}:{type:typeof e}:null})(0,o);break;default:return null}return s>0?C(a,s):a}catch{return{error:"Failed to capture result",type:typeof o}}}function V(n){return n.operationType==="worker_pool"}class W extends M{constructor(){super(),this.operationName="CollectFunctionSpans"}send(t){const o=l.getConfig().sfDebug;o&&console.log(`[FunctionSpanTransmitter] Preparing to send ${t.length} function span(s)`);for(const s of t)try{if(V(s)){this.sendWorkerPoolSpan(s,o);continue}const a=s;let i;if(a.result!==void 0&&a.result!==null){const r=typeof a.result;i=JSON.stringify({type:r,has_value:!0,value:a.result})}else i=a.result===null?JSON.stringify({type:"null",has_value:!0,value:null}):JSON.stringify({type:"undefined",has_value:!1,value:null});const e=this.getVariables({library:"JS/TS BACKEND",version:l.getConfig().version,spanId:a.spanId,parentSpanId:a.parentSpanId,filePath:a.filePath,lineNumber:a.metadata.line,columnNumber:a.metadata.column,functionName:a.functionName,arguments:JSON.stringify(a.args||{}),returnValue:i,startTimeNs:(1e6*Date.now()-1e6*a.duration).toString(),durationNs:(1e6*a.duration).toString()});o&&(console.log(`[FunctionSpanTransmitter] Sending GraphQL mutation to ${this.endpoint}`),console.log("[FunctionSpanTransmitter] Variables:",JSON.stringify(e,null,2))),P(this.endpoint,this.operationName,this.getQuery(),e),o&&console.log(`[FunctionSpanTransmitter] Queued function span for ${a.functionName}`)}catch(a){console.error(`[FunctionSpanTransmitter] Error preparing function span for ${s.functionName}:`,a)}}sendWorkerPoolSpan(t,o){try{let s;if(t.result!==void 0&&t.result!==null){const i=typeof t.result;s=JSON.stringify({type:i,has_value:!0,value:t.result})}else s=t.result===null?JSON.stringify({type:"null",has_value:!0,value:null}):JSON.stringify({type:"undefined",has_value:!1,value:null});const a=this.getVariables({library:"JS/TS BACKEND",version:l.getConfig().version,spanId:t.spanId,operationName:t.operationName,moduleName:t.moduleName,methodName:t.methodName,startTimeNs:t.startTimeNs,durationNs:t.durationNs,arguments:JSON.stringify(t.args||{}),returnValue:s,error:t.error,pid:t.pid,threadId:t.threadId});o&&(console.log(`[FunctionSpanTransmitter] Sending worker pool span: ${t.operationName}`),console.log("[FunctionSpanTransmitter] Variables:",JSON.stringify(a,null,2))),P(this.endpoint,"CollectWorkerPoolSpans",this.getWorkerPoolQuery(),a),o&&console.log(`[FunctionSpanTransmitter] Queued worker pool span for ${t.operationName}`)}catch(s){console.error(`[FunctionSpanTransmitter] Error preparing worker pool span for ${t.operationName}:`,s)}}getWorkerPoolQuery(){return`
2
- mutation CollectWorkerPoolSpans(
3
- $apiKey: String!,
4
- $serviceUuid: String!,
5
- $sessionId: String!,
6
- $timestampMs: String!,
7
- $library: String!,
8
- $version: String!,
9
- $spanId: String!,
10
- $operationName: String!,
11
- $moduleName: String!,
12
- $methodName: String!,
13
- $startTimeNs: String!,
14
- $durationNs: String!,
15
- $parentSpanId: String,
16
- $arguments: String,
17
- $returnValue: String,
18
- $error: String,
19
- $pid: Int,
20
- $threadId: Int
21
- ) {
22
- collectWorkerPoolSpans(
23
- apiKey: $apiKey,
24
- serviceUuid: $serviceUuid,
25
- sessionId: $sessionId,
26
- timestampMs: $timestampMs,
27
- library: $library,
28
- version: $version,
29
- spanId: $spanId,
30
- operationName: $operationName,
31
- moduleName: $moduleName,
32
- methodName: $methodName,
33
- startTimeNs: $startTimeNs,
34
- durationNs: $durationNs,
35
- parentSpanId: $parentSpanId,
36
- arguments: $arguments,
37
- returnValue: $returnValue,
38
- error: $error,
39
- pid: $pid,
40
- threadId: $threadId
41
- )
42
- }
43
- `}getQuery(){return`
44
- ${this.queryType} ${this.operationName}(
45
- $apiKey: String!,
46
- $serviceUuid: String!,
47
- $sessionId: String!,
48
- $timestampMs: String!,
49
- $parentSpanId: String,
50
- $library: String!,
51
- $version: String!,
52
- $spanId: String!,
53
- $filePath: String!,
54
- $lineNumber: Int!,
55
- $columnNumber: Int!,
56
- $functionName: String!,
57
- $arguments: String!,
58
- $returnValue: String,
59
- $startTimeNs: String!,
60
- $durationNs: String!
61
- ) {
62
- ${this.queryName}(
63
- apiKey: $apiKey,
64
- serviceUuid: $serviceUuid,
65
- sessionId: $sessionId,
66
- timestampMs: $timestampMs,
67
- parentSpanId: $parentSpanId,
68
- library: $library,
69
- version: $version,
70
- spanId: $spanId,
71
- filePath: $filePath,
72
- lineNumber: $lineNumber,
73
- columnNumber: $columnNumber,
74
- functionName: $functionName,
75
- arguments: $arguments,
76
- returnValue: $returnValue,
77
- startTimeNs: $startTimeNs,
78
- durationNs: $durationNs
79
- )
80
- }
81
- `}}let F=null;function k(n){const t=l.getGlobalConfigUnsafe(),o=t?.sfDebug||!1;o&&console.log("[WorkerPool] Capturing span:",{operation:n.operationName,duration:`${n.duration}ms`,error:n.error,spanId:n.spanId,parentSpanId:n.parentSpanId}),process.env.SF_FUNCSPAN_CONSOLE_OUTPUT==="true"&&console.log(`
82
- ⚙️ Worker Pool Operation:`,{operation:n.operationName,duration:`${n.duration.toFixed(2)}ms`,arguments:n.args,result:n.error?`Error: ${n.error}`:n.result,spanId:n.spanId,parentSpanId:n.parentSpanId||"none"});const s=process.env.SF_FUNCSPAN_JSONL_FILE;if(s)try{const a=s==="true"||s==="1"?"funcspans.jsonl":s,i=Date.now(),e=process.hrtime.bigint(),r=BigInt(n.startTimeNs),u=Number(e-r)/1e6,g=new Date(i-u).toISOString(),c=JSON.stringify({timestamp:g,operationType:n.operationType,operationName:n.operationName,moduleName:n.moduleName,methodName:n.methodName,duration:n.duration,durationNs:n.durationNs,startTimeNs:n.startTimeNs,arguments:n.args,returnValue:n.error?{error:String(n.error)}:n.result,spanId:n.spanId,parentSpanId:n.parentSpanId,pid:n.pid,threadId:n.threadId})+`
83
- `;B.appendFileSync(a,c,"utf-8")}catch(a){console.error("[WorkerPool] Error writing to JSONL file:",a)}if(o&&console.log("[WorkerPool] Sending span to transmitter"),process.env.SF_FUNCSPAN_SKIP_BACKEND!=="true")try{(F||(F=new W),F).send([n]),o&&console.log("[WorkerPool] Span sent successfully")}catch(a){o&&console.error("[WorkerPool] Error sending span:",a)}}exports.BaseTransmitter=M,exports.FunctionSpanTransmitter=W,exports.captureWorkerPoolOperation=function(n,t,o,s,a){const i=l.getGlobalConfigUnsafe(),e=i?.sfDebug||!1;e&&console.log(`[WorkerPool] Capturing ${n}.${t}`);const r=T(),u=l.ContextManager.getInstance().getCurrentFunctionSpanId(),g=l.v4();e&&console.log(`[WorkerPool] Span ID: ${g}, Parent: ${u||"none"}`);const c=new w.AsyncResource("WorkerPoolOperation"),d=process.hrtime.bigint();let p=null;r.captureArguments&&(p=D(n,t,s,r.argLimitMb));const f=s.findIndex(y=>typeof y=="function");if(f===-1)return e&&console.log(`[WorkerPool] No callback found for ${n}.${t}`),o.apply(a,s);const m=s[f],h=[...s];return h[f]=function(y,...$){const b=process.hrtime.bigint()-d,A=Number(b)/1e6;m(y,...$),c.runInAsyncScope(()=>{e&&console.log(`[WorkerPool] ${n}.${t} completed in ${A.toFixed(3)}ms (${b}ns)`);let U=null,R=null;y?R=y?.message||String(y):r.captureReturnValue&&$.length>0&&(U=L(n,t,$[0],r.returnLimitMb)),k({operationType:"worker_pool",operationName:`${n}.${t}`,moduleName:n,methodName:t,duration:A,durationNs:b.toString(),startTimeNs:d.toString(),args:p,result:U,error:R,spanId:g,parentSpanId:u,pid:process.pid,threadId:v.threadId})}),c.emitDestroy()},o.apply(a,h)},exports.captureWorkerPoolPromiseOperation=function(n,t,o,s,a){const i=l.getGlobalConfigUnsafe(),e=i?.sfDebug||!1;e&&console.log(`[WorkerPool] Capturing ${n}.${t} (Promise)`);const r=T(),u=l.ContextManager.getInstance().getCurrentFunctionSpanId(),g=l.v4();e&&console.log(`[WorkerPool] Span ID: ${g}, Parent: ${u||"none"}`);const c=process.hrtime.bigint();let d=null;return r.captureArguments&&(d=D(n,t,s,r.argLimitMb)),o.apply(a,s).then(p=>{const f=process.hrtime.bigint()-c,m=Number(f)/1e6;e&&console.log(`[WorkerPool] ${n}.${t} completed in ${m.toFixed(3)}ms (${f}ns)`);let h=null;return r.captureReturnValue&&(h=L(n,t,p,r.returnLimitMb)),k({operationType:"worker_pool",operationName:`${n}.${t}`,moduleName:n,methodName:t,duration:m,durationNs:f.toString(),startTimeNs:c.toString(),args:d,result:h,error:null,spanId:g,parentSpanId:u,pid:process.pid,threadId:v.threadId}),p},p=>{const f=process.hrtime.bigint()-c,m=Number(f)/1e6;throw e&&console.log(`[WorkerPool] ${n}.${t} failed in ${m.toFixed(3)}ms: ${p?.message||p}`),k({operationType:"worker_pool",operationName:`${n}.${t}`,moduleName:n,methodName:t,duration:m,durationNs:f.toString(),startTimeNs:c.toString(),args:d,result:null,error:p?.message||String(p),spanId:g,parentSpanId:u,pid:process.pid,threadId:v.threadId}),p})},exports.clearFuncspanOverride=function(){},exports.funcspanOverrideStorage=I,exports.getDefaultConfig=function(){return{capture_arguments:!1,capture_return_value:!1,arg_limit_mb:1,return_limit_mb:1,autocapture_all_child_functions:!1,sample_rate:0,enable_sampling:!1,capture_sf_veritas:!1,parse_json_strings:!1}},exports.getEnvConfig=function(){return{capture_arguments:N(process.env.SF_FUNCSPAN_CAPTURE_ARGUMENTS,!0),capture_return_value:N(process.env.SF_FUNCSPAN_CAPTURE_RETURN_VALUE,!0),arg_limit_mb:parseInt(process.env.SF_FUNCSPAN_ARG_LIMIT_MB||"1",10),return_limit_mb:parseInt(process.env.SF_FUNCSPAN_RETURN_LIMIT_MB||"1",10),autocapture_all_child_functions:N(process.env.SF_FUNCSPAN_AUTOCAPTURE_ALL_CHILD_FUNCTIONS,!1),sample_rate:parseFloat(process.env.SF_FUNCSPAN_SAMPLE_RATE||"1.0"),enable_sampling:N(process.env.SF_FUNCSPAN_ENABLE_SAMPLING,!1),capture_sf_veritas:N(process.env.SF_FUNCSPAN_CAPTURE_SF_VERITAS,!1),parse_json_strings:N(process.env.SF_FUNCSPAN_PARSE_JSON_STRINGS,!1)}},exports.getFuncspanOverride=function(){return I.getStore()},exports.isModuleTrackingEnabled=function(n){const t=T();if(!t.enabled)return!1;switch(n){case"fs":return t.trackFs;case"dns":return t.trackDns;case"crypto":return t.trackCrypto;case"zlib":return t.trackZlib;default:return!1}},exports.isSendingInternalTelemetry=function(){return _},exports.mergeConfigs=function(...n){const t={};for(const o of n)for(const s in o)o[s]!==void 0&&(t[s]=o[s]);return t},exports.nonBlockingPost=P,exports.parseHeaderOverride=function(n){try{const t=n.split("-");return t.length!==9?(console.error(`[FuncSpan] Invalid header format: expected 9 parts, got ${t.length}`),null):{capture_arguments:t[0]==="1",capture_return_value:t[1]==="1",arg_limit_mb:parseInt(t[2],10),return_limit_mb:parseInt(t[3],10),autocapture_all_child_functions:t[4]==="1",sample_rate:parseFloat(t[5]),enable_sampling:t[6]==="1",capture_sf_veritas:t[7]==="1",parse_json_strings:t[8]==="1"}}catch(t){return console.error(`[FuncSpan] Failed to parse header override "${n}":`,t),null}},exports.setFuncspanOverride=function(n){I.enterWith(n)},exports.truncateToLimit=C;