@sailfish-ai/sf-veritas 0.2.17 → 0.2.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/contextManager-C-sqFxpi.js +267 -0
- package/dist/contextManager-wMuxqwl9.cjs +1 -0
- package/dist/funcSpanTransformer-D0W2t41q.cjs +1 -0
- package/dist/funcSpanTransformer-S_WeAt_m.js +251 -0
- package/dist/plugins/funcspanEsbuildPlugin.cjs +1 -1
- package/dist/plugins/funcspanEsbuildPlugin.mjs +2 -2
- package/dist/plugins/funcspanRollupPlugin.cjs +1 -1
- package/dist/plugins/funcspanRollupPlugin.mjs +2 -2
- package/dist/plugins/funcspanTscPlugin.cjs +1 -1
- package/dist/plugins/funcspanTscPlugin.mjs +2 -2
- package/dist/plugins/funcspanVitePlugin.cjs +1 -1
- package/dist/plugins/funcspanVitePlugin.mjs +2 -2
- package/dist/plugins/funcspanWebpackLoader.cjs +1 -1
- package/dist/plugins/funcspanWebpackLoader.mjs +1 -1
- package/dist/plugins/funcspanWebpackPlugin.cjs +1 -1
- package/dist/plugins/funcspanWebpackPlugin.mjs +1 -1
- package/dist/runtimeConfig--MlBo3_L.js +444 -0
- package/dist/runtimeConfig-paQOMT6f.cjs +9 -0
- package/dist/sf-veritas.cjs +13 -13
- package/dist/sf-veritas.mjs +241 -250
- package/dist/types/debuggerWorker.d.ts +2 -2
- package/dist/types/generated/worker-data.d.ts +1 -1
- package/dist/types/logHandler.d.ts +12 -0
- package/dist/types/setupConfig.d.ts +5 -0
- package/dist/types/utils.d.ts +7 -0
- package/dist/types/verify-serialization.d.ts +1 -0
- package/dist/worker-pool-capture.cjs +1 -1
- package/dist/worker-pool-capture.mjs +1 -1
- package/dist/{workerPoolSpanCapture-BUdAamcg.cjs → workerPoolSpanCapture-B3yge78T.cjs} +1 -1
- package/dist/{workerPoolSpanCapture-DEW40aIL.js → workerPoolSpanCapture-DqBbNQLv.js} +1 -1
- package/package.json +11 -3
- package/dist/contextManager-Cx03mw7l.js +0 -258
- package/dist/contextManager-CxQqBCEA.cjs +0 -1
- package/dist/funcSpanTransformer-Byqzu4B1.js +0 -231
- package/dist/funcSpanTransformer-CDh0o-AP.cjs +0 -1
- package/dist/runtimeConfig-DndXTWki.js +0 -353
- package/dist/runtimeConfig-TWzqPe1S.cjs +0 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as i } from "../funcSpanTransformer-
|
|
2
|
-
import { s as r } from "../runtimeConfig
|
|
1
|
+
import { t as i } from "../funcSpanTransformer-S_WeAt_m.js";
|
|
2
|
+
import { s as r } from "../runtimeConfig--MlBo3_L.js";
|
|
3
3
|
function c(o = {}) {
|
|
4
4
|
try {
|
|
5
5
|
if (r()) return console.warn("[FuncSpan Rollup Plugin] Runtime mode active - build plugin DISABLED to prevent double-instrumentation"), { name: "sailfish-funcspan-rollup-disabled" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("fs"),_=require("glob"),N=require("path"),m=require("../funcSpanTransformer-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("fs"),_=require("glob"),N=require("path"),m=require("../funcSpanTransformer-D0W2t41q.cjs"),T=require("../runtimeConfig-paQOMT6f.cjs");async function S(n={}){try{if(T.shouldEnableRuntimeHooks())return void console.warn("[FuncSpan TSC Plugin] Runtime mode active - build plugin DISABLED to prevent double-instrumentation")}catch{}const{outDir:f="dist",include:F=["**/*.js"],exclude:g=["**/*.test.js","**/*.spec.js","**/__tests__/**"],projectRoot:c=process.cwd(),includeNodeModules:C=[],debug:s=!1}=n,u=N.resolve(c,f);console.log("[FuncSpan TSC] Starting post-build function instrumentation..."),console.log(`[FuncSpan TSC] Output directory: ${u}`),console.log(`[FuncSpan TSC] Project root: ${c}`);const r=[];for(const e of F){const t=_.sync(e,{cwd:u,absolute:!0,ignore:g});r.push(...t)}console.log(`[FuncSpan TSC] Found ${r.length} JavaScript files to process`);let l=0,a=0;for(const e of r)try{const t=i.readFileSync(e,"utf-8"),o=await m.transformFunctionSpans(t,e,{projectRoot:c,includeNodeModules:C,debug:s});if(o.modified){if(i.writeFileSync(e,o.code,"utf-8"),o.map){const p=`${e}.map`;i.writeFileSync(p,JSON.stringify(o.map),"utf-8"),s&&console.log(`[FuncSpan TSC] Generated source map: ${p}`)}l++,a+=o.functionsWrapped,s&&console.log(`[FuncSpan TSC] Modified: ${e} (${o.functionsWrapped} functions)`)}}catch(t){console.error(`[FuncSpan TSC] Error processing ${e}:`,t)}console.log(`[FuncSpan TSC] ✅ Completed: Modified ${l} files, wrapped ${a} functions`)}async function d(){const n={outDir:process.env.SF_FUNCSPAN_OUT_DIR||"dist",debug:process.env.SF_FUNCSPAN_DEBUG==="true",includeNodeModules:process.env.SF_FUNCSPAN_INCLUDE_NODE_MODULES?process.env.SF_FUNCSPAN_INCLUDE_NODE_MODULES.split(","):[]};await S(n)}require.main===module&&d().catch(n=>{console.error("[FuncSpan TSC] Fatal error:",n),process.exit(1)}),exports.cli=d,exports.processTscFiles=S;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { readFileSync as m, writeFileSync as l } from "fs";
|
|
2
2
|
import { sync as g } from "glob";
|
|
3
3
|
import { resolve as C } from "path";
|
|
4
|
-
import { t as _ } from "../funcSpanTransformer-
|
|
5
|
-
import { s as N } from "../runtimeConfig
|
|
4
|
+
import { t as _ } from "../funcSpanTransformer-S_WeAt_m.js";
|
|
5
|
+
import { s as N } from "../runtimeConfig--MlBo3_L.js";
|
|
6
6
|
async function D(n = {}) {
|
|
7
7
|
try {
|
|
8
8
|
if (N()) return void console.warn("[FuncSpan TSC Plugin] Runtime mode active - build plugin DISABLED to prevent double-instrumentation");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../funcSpanTransformer-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../funcSpanTransformer-D0W2t41q.cjs"),l=require("../runtimeConfig-paQOMT6f.cjs");exports.funcspanVitePlugin=function(s={}){try{if(l.shouldEnableRuntimeHooks())return console.warn("[FuncSpan Vite Plugin] Runtime mode active - build plugin DISABLED to prevent double-instrumentation"),{name:"sailfish-funcspan-vite-disabled"}}catch{}const{enabled:o=!0,includeNodeModules:t=[],debug:i=!1}=s;return{name:"sailfish-funcspan-vite",enforce:"pre",async transform(u,e){if(!o||!e.match(/\.(js|ts|jsx|tsx)$/)||e.startsWith("\0")||e.includes("node_modules")&&!t.some(n=>e.includes(`node_modules/${n}`))||e.includes("@sailfish-ai/sf-veritas")||e.includes("jsts-backend/dist"))return null;try{const n=await r.transformFunctionSpans(u,e,{projectRoot:process.cwd(),includeNodeModules:t,debug:i});if(n.modified)return{code:n.code,map:null}}catch(n){i&&console.error(`[FuncSpan Vite] Error transforming ${e}:`,n)}return null}}};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as o } from "../funcSpanTransformer-
|
|
2
|
-
import { s as l } from "../runtimeConfig
|
|
1
|
+
import { t as o } from "../funcSpanTransformer-S_WeAt_m.js";
|
|
2
|
+
import { s as l } from "../runtimeConfig--MlBo3_L.js";
|
|
3
3
|
function d(u = {}) {
|
|
4
4
|
try {
|
|
5
5
|
if (l()) return console.warn("[FuncSpan Vite Plugin] Runtime mode active - build plugin DISABLED to prevent double-instrumentation"), { name: "sailfish-funcspan-vite-disabled" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const I=require("../funcSpanTransformer-
|
|
1
|
+
"use strict";const I=require("../funcSpanTransformer-D0W2t41q.cjs"),M=require("@babel/parser"),x=require("@babel/traverse"),O=require("@babel/generator"),R=require("@babel/types"),z=require("path");function L(n){const p=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const l=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(p,r,l.get?l:{enumerable:!0,get:()=>n[r]})}}return p.default=n,Object.freeze(p)}const e=L(R),C=x.default||x,N=O.default||O,Z=["lookup","lookupService","resolve","resolve4","resolve6","resolveAny","resolveCname","resolveMx","resolveNs","resolvePtr","resolveSoa","resolveSrv","resolveTxt","reverse","setServers","getServers"],A=["readFile","writeFile","appendFile","readdir","stat","lstat","mkdir","rmdir","unlink","rename","copyFile","open","close","read","write","access"],B=["pbkdf2","randomBytes","randomFill","scrypt"],G=["deflate","deflateRaw","gzip","gunzip","inflate","inflateRaw","unzip","brotliCompress","brotliDecompress"];module.exports=function(n){const p=this.async(),r=this.getOptions();(async()=>{try{let l=await I.transformFunctionSpans(n,this.resourcePath,{projectRoot:r.projectRoot||process.cwd(),includeNodeModules:r.includeNodeModules||[],debug:r.debug||!1}),m=l.modified?l.code:n,v=l.map;if(r.enableWorkerPoolTracking){const k=await(async function(g,W,D={}){const{projectRoot:q=process.cwd(),trackDns:h=!1,trackFs:w=!1,trackCrypto:j=!1,trackZlib:T=!1,debug:d=!1}=D;if(!(h||w||j||T))return{code:g,modified:!1,callsWrapped:0};const b=z.relative(q,W).replace(/\\/g,"/");let u;d&&console.log(`[WorkerPool Transform] Processing: ${b}`);try{u=M.parse(g,{sourceType:"module",plugins:["typescript","jsx","decorators-legacy","classProperties","objectRestSpread","asyncGenerators","dynamicImport","optionalCatchBinding","optionalChaining","nullishCoalescingOperator"]})}catch(t){return d&&console.error(`[WorkerPool Transform] Parse error in ${b}:`,t),{code:g,modified:!1,callsWrapped:0}}let F=!1,y=0,S=!1;const P=new Map,c=new Map;if(h&&c.set("dns",Z),w&&c.set("fs",A),j&&c.set("crypto",B),T&&c.set("zlib",G),C(u,{VariableDeclarator(t){const o=t.node.init,i=t.node.id;if(o&&e.isCallExpression(o)&&e.isIdentifier(o.callee,{name:"require"})&&o.arguments.length===1&&e.isStringLiteral(o.arguments[0])){const s=o.arguments[0].value;for(const[a]of c)s!==a&&s!==`node:${a}`||e.isIdentifier(i)&&(P.set(i.name,a),d&&console.log(`[WorkerPool Transform] Found ${a} binding: ${i.name}`))}},ImportDeclaration(t){const o=t.node.source.value;for(const[i]of c)if(o===i||o===`node:${i}`){for(const s of t.node.specifiers)if(e.isImportDefaultSpecifier(s)||e.isImportNamespaceSpecifier(s)){const a=s.local.name;P.set(a,i),d&&console.log(`[WorkerPool Transform] Found ${i} import: ${a}`)}}}}),C(u,{CallExpression(t){const o=t.node.callee;if(e.isMemberExpression(o)&&e.isIdentifier(o.object)){const i=o.object.name,s=P.get(i);if(s&&c.has(s)){const a=c.get(s),f=e.isIdentifier(o.property)?o.property.name:null;if(f&&a.includes(f)){d&&console.log(`[WorkerPool Transform] Wrapping ${s}.${f}()`);const E=e.callExpression(e.identifier("captureWorkerPoolOperation"),[e.stringLiteral(s),e.stringLiteral(f),e.memberExpression(e.identifier(i),e.identifier(f)),e.arrayExpression(t.node.arguments),e.identifier(i)]);t.replaceWith(E),S=!0,y++,F=!0}}}}}),S){const t=e.variableDeclaration("const",[e.variableDeclarator(e.objectPattern([e.objectProperty(e.identifier("captureWorkerPoolOperation"),e.identifier("captureWorkerPoolOperation"),!1,!0)]),e.callExpression(e.identifier("require"),[e.stringLiteral("@sailfish-ai/sf-veritas/worker-pool-capture")]))]);u.program.body.length>0&&u.program.body.unshift(t),d&&console.log("[WorkerPool Transform] Added captureWorkerPoolOperation import")}if(!F)return{code:g,modified:!1,callsWrapped:0};const $=N(u,{sourceMaps:!0,sourceFileName:W});return d&&console.log(`[WorkerPool Transform] Wrapped ${y} calls in ${b}`),{code:$.code,map:$.map,modified:!0,callsWrapped:y}})(m,this.resourcePath,{projectRoot:r.projectRoot||process.cwd(),trackDns:r.workerPoolTrackDns||!1,trackFs:r.workerPoolTrackFs||!1,trackCrypto:r.workerPoolTrackCrypto||!1,trackZlib:r.workerPoolTrackZlib||!1,debug:r.debug||!1});k.modified&&(m=k.code,v=k.map)}m!==n?p(null,m,v):p(null,n)}catch(l){r.debug&&console.error(`[FuncSpan Webpack Loader] Error transforming ${this.resourcePath}:`,l),p(null,n)}})()};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("../runtimeConfig-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("../runtimeConfig-paQOMT6f.cjs"),a=require("path"),P=require("url");function m(r){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const n in r)if(n!=="default"){const t=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(o,n,t.get?t:{enumerable:!0,get:()=>r[n]})}}return o.default=r,Object.freeze(o)}const f=m(a);class u{options;constructor(o={}){this.options={enabled:!0,includeNodeModules:[],debug:!1,enableWorkerPoolTracking:!1,workerPoolTrackDns:!1,workerPoolTrackFs:!1,workerPoolTrackCrypto:!1,workerPoolTrackZlib:!1,...o}}apply(o){try{if(b.shouldEnableRuntimeHooks())return void console.warn("[FuncSpan Webpack Plugin] Runtime mode active - build plugin DISABLED to prevent double-instrumentation")}catch{}const{enabled:n,includeNodeModules:t,debug:c}=this.options;if(!n)return;const l="FuncspanWebpackPlugin";o.hooks.compilation.tap(l,s=>{s.hooks.buildModule.tap(l,i=>{i.resource&&i.resource.match(/\.(js|ts|jsx|tsx)$/)&&(!i.resource.includes("node_modules")||t?.some(e=>i.resource.includes(`node_modules/${e}`)))}),o.webpack.NormalModule.getCompilationHooks(s).loader.tap(l,(i,e)=>{if(!e.resource||!e.resource.match(/\.(js|ts|jsx|tsx)$/)||e.resource.includes("node_modules")&&!t?.some(p=>e.resource.includes(`node_modules/${p}`)))return;const d=typeof __dirname<"u"?__dirname:a.dirname(P.fileURLToPath(require("node:url").pathToFileURL(__filename).href)),k=f.join(d,"funcspanWebpackLoader.cjs");e.loaders.push({loader:k,options:{projectRoot:o.context,includeNodeModules:t,debug:c,enableWorkerPoolTracking:this.options.enableWorkerPoolTracking,workerPoolTrackDns:this.options.workerPoolTrackDns,workerPoolTrackFs:this.options.workerPoolTrackFs,workerPoolTrackCrypto:this.options.workerPoolTrackCrypto,workerPoolTrackZlib:this.options.workerPoolTrackZlib}})})}),c&&console.log("[FuncSpan Webpack] Plugin initialized")}}exports.FuncspanWebpackPlugin=u,exports.default=u;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var k = Object.defineProperty;
|
|
2
2
|
var m = (r, o, s) => o in r ? k(r, o, { enumerable: !0, configurable: !0, writable: !0, value: s }) : r[o] = s;
|
|
3
3
|
var c = (r, o, s) => m(r, typeof o != "symbol" ? o + "" : o, s);
|
|
4
|
-
import { s as b } from "../runtimeConfig
|
|
4
|
+
import { s as b } from "../runtimeConfig--MlBo3_L.js";
|
|
5
5
|
import * as P from "path";
|
|
6
6
|
import { dirname as T } from "path";
|
|
7
7
|
import { fileURLToPath as f } from "url";
|
|
@@ -0,0 +1,444 @@
|
|
|
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 "os";
|
|
6
|
+
import { s as AI } from "./source-map-Cr6YkjTd.js";
|
|
7
|
+
import { Worker as rI } from "worker_threads";
|
|
8
|
+
import { g as m, a as bI, C as D } from "./contextManager-C-sqFxpi.js";
|
|
9
|
+
import { resolve as uI } from "path";
|
|
10
|
+
function x(I) {
|
|
11
|
+
return typeof I == "string" ? I : I == null ? "" : Array.isArray(I) ? I.map((g) => String(g)).join(`
|
|
12
|
+
`) : String(I);
|
|
13
|
+
}
|
|
14
|
+
function aI(I) {
|
|
15
|
+
try {
|
|
16
|
+
return JSON.stringify(I), !0;
|
|
17
|
+
} catch {
|
|
18
|
+
return !1;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function SI(I) {
|
|
22
|
+
const g = {}, n = [];
|
|
23
|
+
if (I) for (const [C, e] of Object.entries(I)) aI(e) ? g[C] = e : n.push(C);
|
|
24
|
+
return { traitsJson: JSON.stringify(g), excludedFields: n };
|
|
25
|
+
}
|
|
26
|
+
const dI = {};
|
|
27
|
+
class K {
|
|
28
|
+
constructor({ file: g, line: n, function: C, code: e, locals: t = {}, offender: l = !1, column: s }) {
|
|
29
|
+
Y(this, "file");
|
|
30
|
+
Y(this, "line");
|
|
31
|
+
Y(this, "function");
|
|
32
|
+
Y(this, "code");
|
|
33
|
+
Y(this, "locals");
|
|
34
|
+
Y(this, "offender");
|
|
35
|
+
Y(this, "column");
|
|
36
|
+
this.file = g, this.line = n, this.function = C, this.code = e, this.locals = t, this.offender = l, this.column = s;
|
|
37
|
+
}
|
|
38
|
+
toDict() {
|
|
39
|
+
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)])) };
|
|
40
|
+
return this.offender && (g.offender = this.offender), this.column !== void 0 && (g.column = this.column), g;
|
|
41
|
+
}
|
|
42
|
+
toJson() {
|
|
43
|
+
return JSON.stringify(this.toDict());
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
class j {
|
|
47
|
+
static encode(g) {
|
|
48
|
+
return g instanceof K ? g.toDict() : Array.isArray(g) ? g.map((n) => j.encode(n)) : typeof g == "object" && g !== null ? JSON.stringify(g) : g;
|
|
49
|
+
}
|
|
50
|
+
static stringify(g) {
|
|
51
|
+
return JSON.stringify(j.encode(g), (n, C) => C instanceof K ? C.toDict() : C);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const mI = ["/sf-veritas/", "/@sailfish-ai/", "/node_modules/", "/dist/", "/<", "/internal/", "node:"], H = /* @__PURE__ */ new Map();
|
|
55
|
+
function ZI(I) {
|
|
56
|
+
return mI.some((g) => I.includes(g));
|
|
57
|
+
}
|
|
58
|
+
function WI(I) {
|
|
59
|
+
let g = I;
|
|
60
|
+
g.startsWith("file://") && (g = g.substring(7)), process.platform === "win32" && g.startsWith("/") && g.length > 2 && g[2] === ":" && (g = g.substring(1));
|
|
61
|
+
try {
|
|
62
|
+
return uI(g);
|
|
63
|
+
} catch {
|
|
64
|
+
return I;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function fI(I = 0) {
|
|
68
|
+
const g = new Error().stack;
|
|
69
|
+
if (!g) return [null, null];
|
|
70
|
+
const n = x(g), C = (function(c, i) {
|
|
71
|
+
const A = 2 + i;
|
|
72
|
+
return c.split(`
|
|
73
|
+
`).slice(A, A + 5).join(`
|
|
74
|
+
`);
|
|
75
|
+
})(n, I), e = H.get(C);
|
|
76
|
+
if (e) return e;
|
|
77
|
+
const t = (function(c) {
|
|
78
|
+
if (!c) return [];
|
|
79
|
+
const i = c.split(`
|
|
80
|
+
`).slice(1), A = [];
|
|
81
|
+
for (const W of i) {
|
|
82
|
+
let o = /at\s+(.+?)\s+\((.+?):(\d+):(\d+)\)/.exec(W);
|
|
83
|
+
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(W), o && A.push({ functionName: "<anonymous>", file: o[1], line: parseInt(o[2], 10), column: parseInt(o[3], 10) }));
|
|
84
|
+
}
|
|
85
|
+
return A;
|
|
86
|
+
})(n), l = 1 + I;
|
|
87
|
+
for (let c = l; c < Math.min(t.length, l + 10); c++) {
|
|
88
|
+
const i = t[c];
|
|
89
|
+
if (!i || !i.file || ZI(i.file)) continue;
|
|
90
|
+
const A = [WI(i.file), i.line];
|
|
91
|
+
if (H.size >= 512) {
|
|
92
|
+
const W = H.keys().next().value;
|
|
93
|
+
W !== void 0 && H.delete(W);
|
|
94
|
+
}
|
|
95
|
+
return H.set(C, A), A;
|
|
96
|
+
}
|
|
97
|
+
const s = [null, null];
|
|
98
|
+
return H.set(C, s), s;
|
|
99
|
+
}
|
|
100
|
+
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;
|
|
101
|
+
let d = !1;
|
|
102
|
+
const z = 8192;
|
|
103
|
+
function pI(I) {
|
|
104
|
+
if (I === null) return "null";
|
|
105
|
+
if (I === void 0) return "undefined";
|
|
106
|
+
const g = typeof I;
|
|
107
|
+
if (g === "string") return I;
|
|
108
|
+
if (g === "number" || g === "boolean") return String(I);
|
|
109
|
+
if (g === "bigint") return I.toString() + "n";
|
|
110
|
+
if (g === "symbol") return I.toString();
|
|
111
|
+
if (g === "function") return `[Function: ${I.name || "anonymous"}]`;
|
|
112
|
+
if (I instanceof Error) return I.stack || `${I.name}: ${I.message}`;
|
|
113
|
+
try {
|
|
114
|
+
const n = /* @__PURE__ */ new WeakSet(), C = [], e = /* @__PURE__ */ new Map(), t = JSON.stringify(I, function(s, c) {
|
|
115
|
+
if (typeof c == "bigint") return c.toString() + "n";
|
|
116
|
+
if (typeof c == "function") return `[Function: ${c.name || "anonymous"}]`;
|
|
117
|
+
if (typeof c == "symbol") return c.toString();
|
|
118
|
+
if (c === void 0) return "[undefined]";
|
|
119
|
+
if (s !== "" && e.has(this)) {
|
|
120
|
+
const i = e.get(this);
|
|
121
|
+
if (i >= 20) return;
|
|
122
|
+
e.set(this, i + 1);
|
|
123
|
+
}
|
|
124
|
+
if (c !== null && typeof c == "object") {
|
|
125
|
+
if (n.has(c)) return "[Circular]";
|
|
126
|
+
for (; C.length > 0 && C[C.length - 1] !== this; ) C.pop();
|
|
127
|
+
if (C.length >= 3) return Array.isArray(c) ? `[Array(${c.length})]` : "[Object]";
|
|
128
|
+
n.add(c), C.push(c), !Array.isArray(c) && Object.keys(c).length > 20 && e.set(c, 0);
|
|
129
|
+
}
|
|
130
|
+
return c;
|
|
131
|
+
});
|
|
132
|
+
if (t === void 0) return String(I);
|
|
133
|
+
let l = t;
|
|
134
|
+
if (e.size > 0 && !Array.isArray(I) && e.has(I)) {
|
|
135
|
+
const s = Object.keys(I).length;
|
|
136
|
+
l = l.slice(0, -1) + `,"...":"${s - 20} more keys"}`;
|
|
137
|
+
}
|
|
138
|
+
return l.length > 500 ? l.substring(0, 500) + "...[truncated]" : l;
|
|
139
|
+
} catch {
|
|
140
|
+
return String(I);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function X(I) {
|
|
144
|
+
if (I.length === 0) return "";
|
|
145
|
+
if (I.length === 1 && typeof I[0] == "string") {
|
|
146
|
+
const C = I[0];
|
|
147
|
+
return C.length > z ? C.substring(0, z) + "...[truncated]" : C;
|
|
148
|
+
}
|
|
149
|
+
let g, n = !0;
|
|
150
|
+
for (let C = 0; C < I.length; C++) {
|
|
151
|
+
const e = typeof I[C];
|
|
152
|
+
if (e === "object" && I[C] !== null || e === "function" || e === "symbol") {
|
|
153
|
+
n = !1;
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (n) {
|
|
158
|
+
const C = new Array(I.length);
|
|
159
|
+
for (let e = 0; e < I.length; e++) {
|
|
160
|
+
const t = I[e];
|
|
161
|
+
C[e] = t === null ? "null" : t === void 0 ? "undefined" : typeof t == "string" ? t : String(t);
|
|
162
|
+
}
|
|
163
|
+
g = C.join(" ");
|
|
164
|
+
} else g = I.map(pI).join(" ");
|
|
165
|
+
return g.length > z ? g.substring(0, z) + "...[truncated]" : g;
|
|
166
|
+
}
|
|
167
|
+
function vI(I) {
|
|
168
|
+
function g(n, C) {
|
|
169
|
+
const e = bI();
|
|
170
|
+
if (e?.logIgnoreRegex && e.logIgnoreRegex.test(C)) return;
|
|
171
|
+
const [t, l] = fI(2);
|
|
172
|
+
I.setOperationName("CollectLogs"), I.doSend([C, n, t, l]);
|
|
173
|
+
}
|
|
174
|
+
console.log = (...n) => {
|
|
175
|
+
if (d) T(...n);
|
|
176
|
+
else {
|
|
177
|
+
d = !0;
|
|
178
|
+
try {
|
|
179
|
+
g("INFO", X(n)), T(...n);
|
|
180
|
+
} finally {
|
|
181
|
+
d = !1;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}, console.error = (...n) => {
|
|
185
|
+
if (d) E(...n);
|
|
186
|
+
else {
|
|
187
|
+
d = !0;
|
|
188
|
+
try {
|
|
189
|
+
g("ERROR", X(n)), E(...n);
|
|
190
|
+
} finally {
|
|
191
|
+
d = !1;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}, console.warn = (...n) => {
|
|
195
|
+
if (d) Q(...n);
|
|
196
|
+
else {
|
|
197
|
+
d = !0;
|
|
198
|
+
try {
|
|
199
|
+
g("WARN", X(n)), Q(...n);
|
|
200
|
+
} finally {
|
|
201
|
+
d = !1;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}, console.info = (...n) => {
|
|
205
|
+
if (d) U(...n);
|
|
206
|
+
else {
|
|
207
|
+
d = !0;
|
|
208
|
+
try {
|
|
209
|
+
g("INFO", X(n)), U(...n);
|
|
210
|
+
} finally {
|
|
211
|
+
d = !1;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}, m().logLevel === "DEBUG" && (console.debug = (...n) => {
|
|
215
|
+
if (d) P(...n);
|
|
216
|
+
else {
|
|
217
|
+
d = !0;
|
|
218
|
+
try {
|
|
219
|
+
g("DEBUG", X(n)), P(...n);
|
|
220
|
+
} finally {
|
|
221
|
+
d = !1;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
let S = 0;
|
|
227
|
+
function KI(I) {
|
|
228
|
+
m().sfDebug && y("Initializing Exception Interceptor...");
|
|
229
|
+
try {
|
|
230
|
+
const s = nI();
|
|
231
|
+
I?.setSupplementalFields?.({ isFromLocalService: s }), (async function(c) {
|
|
232
|
+
if (q) return;
|
|
233
|
+
q = !0;
|
|
234
|
+
const i = process.env || {};
|
|
235
|
+
if (gI(i.SF_IS_LOCAL) === void 0)
|
|
236
|
+
try {
|
|
237
|
+
await (async function(A) {
|
|
238
|
+
const W = 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);
|
|
239
|
+
return (await Promise.allSettled([W, o, a])).some((f) => f.status === "fulfilled" && (f.value === "ok" || f.value === "http_error"));
|
|
240
|
+
})(150) && V && (V = !1, c?.setSupplementalFields?.({ isFromLocalService: !1 }));
|
|
241
|
+
} catch {
|
|
242
|
+
}
|
|
243
|
+
})(I).catch(() => {
|
|
244
|
+
});
|
|
245
|
+
} catch {
|
|
246
|
+
}
|
|
247
|
+
const g = new rI(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" } });
|
|
248
|
+
let n = null;
|
|
249
|
+
const C = /* @__PURE__ */ new WeakMap();
|
|
250
|
+
g.on("message", async (s) => {
|
|
251
|
+
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") {
|
|
252
|
+
const { frames: c } = s, i = n;
|
|
253
|
+
if (!i) return;
|
|
254
|
+
const A = (function(o) {
|
|
255
|
+
return o ? o.split(`
|
|
256
|
+
`).slice(1).map((a) => {
|
|
257
|
+
const f = /at (.+?) \((.+):(\d+):(\d+)\)/.exec(a) || /at (.+):(\d+):(\d+)/.exec(a);
|
|
258
|
+
if (f) {
|
|
259
|
+
const [, p, B, b, Z] = f;
|
|
260
|
+
return new K({ function: p || "<anonymous>", locals: {}, file: B || "<unknown>", line: parseInt(b, 10) || 0, code: "<not captured>", column: parseInt(Z) || 0 });
|
|
261
|
+
}
|
|
262
|
+
return new K({ function: "<unknown>", locals: {}, file: "<unknown>", line: 0, code: "<not captured>", column: 0 });
|
|
263
|
+
}) : [];
|
|
264
|
+
})(x(i.stack)), W = (function(o, a) {
|
|
265
|
+
const f = [];
|
|
266
|
+
let p = -1, B = -1;
|
|
267
|
+
for (let b = 0; b < o.length; b++) {
|
|
268
|
+
const Z = yI(o[b].file);
|
|
269
|
+
if (B = b, Z !== "<unknown>") {
|
|
270
|
+
for (let u = 0; u < a.length; u++) {
|
|
271
|
+
const G = a[u];
|
|
272
|
+
if (II(G, Z) || typeof G.file == "string" && G.file.includes(Z)) {
|
|
273
|
+
p = u, S = 0, m().sfDebug && y(`✅ Matched Frame Found: ${Z} @ Debugger Frame ${u}`);
|
|
274
|
+
break;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
if (p !== -1) break;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
if (p === -1) return S === 10 ? (S = 0, o) : (++S, m().sfDebug && y(`"❌ No matching frame found. Checking once again, Attempt N ${S}"`), []);
|
|
281
|
+
m().sfDebug && y(`🔄 Merging from matched index ${p} onward...`);
|
|
282
|
+
for (let b = 0; b < a.length; b++) {
|
|
283
|
+
const Z = o[B + b], u = a[p + b];
|
|
284
|
+
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>" }));
|
|
285
|
+
}
|
|
286
|
+
return f;
|
|
287
|
+
})(A, c || []);
|
|
288
|
+
if (W.length !== 0) {
|
|
289
|
+
n = null;
|
|
290
|
+
const o = m().stackDepthCodeTraceDepth, a = o === -1 ? W : W.slice(0, o + 1), f = Math.min(a.length, A.length);
|
|
291
|
+
await Promise.all(Array.from({ length: f }, async (Z, u) => {
|
|
292
|
+
const G = await (async function(CI, eI, cI) {
|
|
293
|
+
const h = (function(r) {
|
|
294
|
+
r.startsWith("at ") && (r = r.slice(3).trim());
|
|
295
|
+
const N = r.match(/^(.*?)(:\d+)+(\.map)?$/);
|
|
296
|
+
return N ? N[1] : r;
|
|
297
|
+
})(CI);
|
|
298
|
+
if (!h || h === "<unknown>") return null;
|
|
299
|
+
const w = h + ".map";
|
|
300
|
+
try {
|
|
301
|
+
let r = v.get(w);
|
|
302
|
+
if (r === void 0) {
|
|
303
|
+
const R = await oI.readFile(w, "utf-8");
|
|
304
|
+
r = R ? JSON.parse(R) : null, $(w, r);
|
|
305
|
+
}
|
|
306
|
+
if (!r) return null;
|
|
307
|
+
let N = new AI.SourceMapConsumer(r).originalPositionFor({ line: eI, column: cI });
|
|
308
|
+
if (h && N.source) {
|
|
309
|
+
const R = _(h), O = r.sources.findIndex((F) => _(F) === R);
|
|
310
|
+
if (O === -1) m().sfDebug && y(`Source file "${h}" not found in the source map.`);
|
|
311
|
+
else {
|
|
312
|
+
const F = r.sourcesContent[O], tI = r.names.join(",");
|
|
313
|
+
if (F)
|
|
314
|
+
return { content: F.split(`
|
|
315
|
+
`).slice(N.line - 1, N.line + 20).join(`
|
|
316
|
+
`), name: tI, file: N.source };
|
|
317
|
+
m().sfDebug && y(`No source content available for file "${h}".`);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
return { content: r.sourcesContent[0], name: r.names[0], file: r.file };
|
|
321
|
+
} catch (r) {
|
|
322
|
+
m().sfDebug && y(`Cant read/parse "${w}: Error - ".`, r), $(w, null);
|
|
323
|
+
}
|
|
324
|
+
return null;
|
|
325
|
+
})(a[u].file, A[u].line, A[u].column);
|
|
326
|
+
G && (G.content != null && (a[u].code = G.content), G.file != null && (a[u].file = G.file));
|
|
327
|
+
})), I.setOperationName("CollectExceptions");
|
|
328
|
+
const p = i.message ? `${i.name}: ${i.message}` : i.name;
|
|
329
|
+
m().sfDebug && y("error message is : ", p);
|
|
330
|
+
const B = D.getInstance(), b = C.get(i);
|
|
331
|
+
b ? (B.setTraceIdFor(b, b), B.runWithSession(b, () => {
|
|
332
|
+
B.setTraceId(b), I.doSend(p, a);
|
|
333
|
+
})) : I.doSend(p, a);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}), g.on("error", (s) => {
|
|
337
|
+
M("[Worker Error]", s);
|
|
338
|
+
}), g.on("exit", (s) => {
|
|
339
|
+
M(`[Worker] Exited with code ${s}`);
|
|
340
|
+
}), g.unref();
|
|
341
|
+
const e = Error, t = /* @__PURE__ */ new Set();
|
|
342
|
+
function l(...s) {
|
|
343
|
+
const c = Reflect.construct(e, s);
|
|
344
|
+
Reflect.setPrototypeOf(c, l.prototype);
|
|
345
|
+
try {
|
|
346
|
+
const A = D.getInstance().getTraceId();
|
|
347
|
+
C.set(c, A);
|
|
348
|
+
} catch {
|
|
349
|
+
}
|
|
350
|
+
e.captureStackTrace && e.captureStackTrace(c, l);
|
|
351
|
+
const i = `${c.message}:${x(c.stack).split(`
|
|
352
|
+
`)[1]?.trim()}`;
|
|
353
|
+
if (!t.has(i)) {
|
|
354
|
+
if (t.add(i), t.size > 1e3) {
|
|
355
|
+
const A = t.values().next().value;
|
|
356
|
+
t.delete(A);
|
|
357
|
+
}
|
|
358
|
+
n = c, g.postMessage({ type: "processException", error: c.message });
|
|
359
|
+
}
|
|
360
|
+
return c;
|
|
361
|
+
}
|
|
362
|
+
l.prototype = Object.create(e.prototype, { constructor: { value: l, enumerable: !1, writable: !0, configurable: !0 } }), Object.setPrototypeOf(l, e), globalThis.Error = l;
|
|
363
|
+
}
|
|
364
|
+
function _(I) {
|
|
365
|
+
return I = (I = (I = I.replace(/^webpack:\/\/[^\/]+\/\.?\//, "")).replace(/^.*\/pages\//, "pages/")).replace(/\.(js|ts)$/, "");
|
|
366
|
+
}
|
|
367
|
+
const GI = 50, v = /* @__PURE__ */ new Map();
|
|
368
|
+
function $(I, g) {
|
|
369
|
+
if (v.size >= GI) {
|
|
370
|
+
const n = v.keys().next().value;
|
|
371
|
+
v.delete(n);
|
|
372
|
+
}
|
|
373
|
+
v.set(I, g);
|
|
374
|
+
}
|
|
375
|
+
function yI(I) {
|
|
376
|
+
return I?.split("/").pop() || "<unknown>";
|
|
377
|
+
}
|
|
378
|
+
function II(I, g) {
|
|
379
|
+
if (!I || typeof I != "object") return !1;
|
|
380
|
+
for (const n of Object.values(I))
|
|
381
|
+
if (typeof n == "string" && n.includes(g) || typeof n == "object" && II(n, g)) return !0;
|
|
382
|
+
return !1;
|
|
383
|
+
}
|
|
384
|
+
let V, J, k, q = !1;
|
|
385
|
+
function gI(I) {
|
|
386
|
+
if (!I) return;
|
|
387
|
+
const g = I.toLowerCase().trim();
|
|
388
|
+
return !!["1", "true", "yes", "on"].includes(g) || !["0", "false", "no", "off"].includes(g) && void 0;
|
|
389
|
+
}
|
|
390
|
+
function nI() {
|
|
391
|
+
if (V !== void 0) return V;
|
|
392
|
+
const I = process.env || {}, g = gI(I.SF_IS_LOCAL);
|
|
393
|
+
if (g !== void 0) return V = g;
|
|
394
|
+
const n = (I.SF_ENV || I.NODE_ENV || "").toLowerCase();
|
|
395
|
+
if (["local", "dev", "development"].includes(n)) return V = !0;
|
|
396
|
+
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;
|
|
397
|
+
const C = (sI.hostname?.() || I.HOSTNAME || "").toLowerCase();
|
|
398
|
+
return V = !(C !== "localhost" && !C.endsWith(".local") && !C.includes("local"));
|
|
399
|
+
}
|
|
400
|
+
function L(I, g, n) {
|
|
401
|
+
return new Promise((C) => {
|
|
402
|
+
try {
|
|
403
|
+
const e = new URL(I), t = (e.protocol, dI).request({ method: "GET", hostname: e.hostname, port: e.port || (e.protocol === "https:" ? 443 : 80), path: e.pathname + (e.search || ""), headers: g }, (l) => {
|
|
404
|
+
l.resume(), l.statusCode && l.statusCode >= 200 && l.statusCode < 400 ? C("ok") : C("http_error");
|
|
405
|
+
});
|
|
406
|
+
t.on("error", () => C("error")), t.setTimeout(n, () => {
|
|
407
|
+
t.destroy(), C("timeout");
|
|
408
|
+
}), t.end();
|
|
409
|
+
} catch {
|
|
410
|
+
C("error");
|
|
411
|
+
}
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
function BI() {
|
|
415
|
+
if (J !== void 0) return J;
|
|
416
|
+
const I = process.env.SF_FUNCSPAN_RUNTIME_ENABLED;
|
|
417
|
+
if (I === "true" || I === "1") return J = !0, !0;
|
|
418
|
+
if (I === "false" || I === "0") return J = !1, !1;
|
|
419
|
+
try {
|
|
420
|
+
const { isRuntimeModeConfigured: g } = require("../funcSpanConfigLoader");
|
|
421
|
+
if (g && g()) return J = !0, !0;
|
|
422
|
+
} catch {
|
|
423
|
+
}
|
|
424
|
+
return J = !1, !1;
|
|
425
|
+
}
|
|
426
|
+
function YI() {
|
|
427
|
+
return k !== void 0 || (k = !nI()), k;
|
|
428
|
+
}
|
|
429
|
+
function RI() {
|
|
430
|
+
return !!BI() && (!YI() || (console.warn("[FuncSpan Runtime] DISABLED in production environment"), !1));
|
|
431
|
+
}
|
|
432
|
+
export {
|
|
433
|
+
j as C,
|
|
434
|
+
SI as a,
|
|
435
|
+
M as b,
|
|
436
|
+
x as c,
|
|
437
|
+
vI as d,
|
|
438
|
+
KI as e,
|
|
439
|
+
YI as f,
|
|
440
|
+
BI as g,
|
|
441
|
+
dI as h,
|
|
442
|
+
y as i,
|
|
443
|
+
RI as s
|
|
444
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";const on=require("fs/promises"),sn=require("os"),An=require("./source-map-rHHEdpre.cjs"),rn=require("worker_threads"),a=require("./contextManager-wMuxqwl9.cjs"),bn=require("path");function un(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 an=un(on);function k(n){return typeof n=="string"?n:n==null?"":Array.isArray(n)?n.map(I=>String(I)).join(`
|
|
2
|
+
`):String(n)}function dn(n){try{return JSON.stringify(n),!0}catch{return!1}}const nn={};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 mn=["/sf-veritas/","/@sailfish-ai/","/node_modules/","/dist/","/<","/internal/","node:"],N=new Map;function Zn(n){return mn.some(I=>n.includes(I))}function fn(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 bn.resolve(I)}catch{return n}}function Wn(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||Zn(i.file))continue;const A=[fn(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 pn(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(pn).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 Gn=50,S=new Map;function M(n,I){if(S.size>=Gn){const g=S.keys().next().value;S.delete(g)}S.set(n,I)}function yn(n){return n?.split("/").pop()||"<unknown>"}function In(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"&&In(g,I))return!0;return!1}let Y,H,z,_=!1;function gn(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 en(){if(Y!==void 0)return Y;const n=process.env||{},I=gn(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=(sn.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,nn).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=!en()),z}exports.CustomJSONEncoderForFrameInfo=L,exports.https=nn,exports.initializeExceptionInterceptor=function(n){a.getConfig().sfDebug&&G("Initializing Exception Interceptor...");try{const s=en();n?.setSupplementalFields?.({isFromLocalService:s}),(async function(c){if(_)return;_=!0;const i=process.env||{};if(gn(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 rn.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=yn(o[b].file);if(B=b,Z!=="<unknown>"){for(let u=0;u<d.length;u++){const y=d[u];if(In(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(Cn,cn,tn){const V=(function(r){r.startsWith("at ")&&(r=r.slice(3).trim());const h=r.match(/^(.*?)(:\d+)+(\.map)?$/);return h?h[1]:r})(Cn);if(!V||V==="<unknown>")return null;const J=V+".map";try{let r=S.get(J);if(r===void 0){const K=await an.readFile(J,"utf-8");r=K?JSON.parse(K):null,M(J,r)}if(!r)return null;let h=new An.sourceMapExports.SourceMapConsumer(r).originalPositionFor({line:cn,column:tn});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],ln=r.names.join(",");if(R)return{content:R.split(`
|
|
7
|
+
`).slice(h.line-1,h.line+20).join(`
|
|
8
|
+
`),name:ln,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]=Wn(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))dn(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;
|