@sailfish-ai/sf-veritas 0.2.18 → 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 CHANGED
@@ -225,6 +225,7 @@ type Identify = (
225
225
 
226
226
  #### Identify Example
227
227
 
228
+
228
229
  In order to identify, you will need to call the `identify` method. You can also force an override of stored values by setting the `override` argument to `true`.
229
230
 
230
231
  ```ts title="Link a user to a recording"
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("fs"),r=require("../funcSpanTransformer-D0W2t41q.cjs"),c=require("../runtimeConfig-B8LSswM8.cjs");function l(o={}){try{if(c.shouldEnableRuntimeHooks())return console.warn("[FuncSpan Esbuild Plugin] Runtime mode active - build plugin DISABLED to prevent double-instrumentation"),{name:"sailfish-funcspan-esbuild-disabled",setup(){}}}catch{}const{enabled:a=!0,includeNodeModules:i=[],debug:t=!1}=o;return{name:"sailfish-funcspan-esbuild",setup(u){a&&(u.onLoad({filter:/\.(js|ts|jsx|tsx)$/},async e=>{if(e.path.includes("node_modules")&&!i.some(n=>e.path.includes(`node_modules/${n}`))||e.path.includes("@sailfish-ai/sf-veritas")||e.path.includes("jsts-backend/dist"))return null;try{const n=d.readFileSync(e.path,"utf-8"),s=await r.transformFunctionSpans(n,e.path,{projectRoot:process.cwd(),includeNodeModules:i,debug:t});if(s.modified)return{contents:s.code,loader:e.path.endsWith(".ts")||e.path.endsWith(".tsx")?"ts":"js"}}catch(n){t&&console.error(`[FuncSpan Esbuild] Error transforming ${e.path}:`,n)}return null}),t&&console.log("[FuncSpan Esbuild] Plugin initialized"))}}}exports.default=l,exports.funcspanEsbuildPlugin=l;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("fs"),r=require("../funcSpanTransformer-D0W2t41q.cjs"),c=require("../runtimeConfig-paQOMT6f.cjs");function l(o={}){try{if(c.shouldEnableRuntimeHooks())return console.warn("[FuncSpan Esbuild Plugin] Runtime mode active - build plugin DISABLED to prevent double-instrumentation"),{name:"sailfish-funcspan-esbuild-disabled",setup(){}}}catch{}const{enabled:a=!0,includeNodeModules:i=[],debug:t=!1}=o;return{name:"sailfish-funcspan-esbuild",setup(u){a&&(u.onLoad({filter:/\.(js|ts|jsx|tsx)$/},async e=>{if(e.path.includes("node_modules")&&!i.some(n=>e.path.includes(`node_modules/${n}`))||e.path.includes("@sailfish-ai/sf-veritas")||e.path.includes("jsts-backend/dist"))return null;try{const n=d.readFileSync(e.path,"utf-8"),s=await r.transformFunctionSpans(n,e.path,{projectRoot:process.cwd(),includeNodeModules:i,debug:t});if(s.modified)return{contents:s.code,loader:e.path.endsWith(".ts")||e.path.endsWith(".tsx")?"ts":"js"}}catch(n){t&&console.error(`[FuncSpan Esbuild] Error transforming ${e.path}:`,n)}return null}),t&&console.log("[FuncSpan Esbuild] Plugin initialized"))}}}exports.default=l,exports.funcspanEsbuildPlugin=l;
@@ -1,6 +1,6 @@
1
1
  import { readFileSync as l } from "fs";
2
2
  import { t as d } from "../funcSpanTransformer-S_WeAt_m.js";
3
- import { s as r } from "../runtimeConfig-GwWjhV9M.js";
3
+ import { s as r } from "../runtimeConfig--MlBo3_L.js";
4
4
  function h(o = {}) {
5
5
  try {
6
6
  if (r()) return console.warn("[FuncSpan Esbuild Plugin] Runtime mode active - build plugin DISABLED to prevent double-instrumentation"), { name: "sailfish-funcspan-esbuild-disabled", setup() {
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../funcSpanTransformer-D0W2t41q.cjs"),a=require("../runtimeConfig-B8LSswM8.cjs");function s(o={}){try{if(a.shouldEnableRuntimeHooks())return console.warn("[FuncSpan Rollup Plugin] Runtime mode active - build plugin DISABLED to prevent double-instrumentation"),{name:"sailfish-funcspan-rollup-disabled"}}catch{}const{enabled:t=!0,includeNodeModules:l=[],debug:u=!1}=o;return{name:"sailfish-funcspan-rollup",async transform(r,e){if(!t||!e.match(/\.(js|ts|jsx|tsx)$/)||e.includes("node_modules")&&!l.some(n=>e.includes(`node_modules/${n}`))||e.includes("@sailfish-ai/sf-veritas")||e.includes("jsts-backend/dist"))return null;try{const n=await i.transformFunctionSpans(r,e,{projectRoot:process.cwd(),includeNodeModules:l,debug:u});if(n.modified)return{code:n.code,map:n.map||null}}catch(n){u&&console.error(`[FuncSpan Rollup] Error transforming ${e}:`,n)}return null}}}exports.default=s,exports.funcspanRollupPlugin=s;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../funcSpanTransformer-D0W2t41q.cjs"),a=require("../runtimeConfig-paQOMT6f.cjs");function s(o={}){try{if(a.shouldEnableRuntimeHooks())return console.warn("[FuncSpan Rollup Plugin] Runtime mode active - build plugin DISABLED to prevent double-instrumentation"),{name:"sailfish-funcspan-rollup-disabled"}}catch{}const{enabled:t=!0,includeNodeModules:l=[],debug:u=!1}=o;return{name:"sailfish-funcspan-rollup",async transform(r,e){if(!t||!e.match(/\.(js|ts|jsx|tsx)$/)||e.includes("node_modules")&&!l.some(n=>e.includes(`node_modules/${n}`))||e.includes("@sailfish-ai/sf-veritas")||e.includes("jsts-backend/dist"))return null;try{const n=await i.transformFunctionSpans(r,e,{projectRoot:process.cwd(),includeNodeModules:l,debug:u});if(n.modified)return{code:n.code,map:n.map||null}}catch(n){u&&console.error(`[FuncSpan Rollup] Error transforming ${e}:`,n)}return null}}}exports.default=s,exports.funcspanRollupPlugin=s;
@@ -1,5 +1,5 @@
1
1
  import { t as i } from "../funcSpanTransformer-S_WeAt_m.js";
2
- import { s as r } from "../runtimeConfig-GwWjhV9M.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-D0W2t41q.cjs"),T=require("../runtimeConfig-B8LSswM8.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
+ "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;
@@ -2,7 +2,7 @@ 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
4
  import { t as _ } from "../funcSpanTransformer-S_WeAt_m.js";
5
- import { s as N } from "../runtimeConfig-GwWjhV9M.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-D0W2t41q.cjs"),l=require("../runtimeConfig-B8LSswM8.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
+ "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
1
  import { t as o } from "../funcSpanTransformer-S_WeAt_m.js";
2
- import { s as l } from "../runtimeConfig-GwWjhV9M.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";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("../runtimeConfig-B8LSswM8.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
+ "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-GwWjhV9M.js";
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";
@@ -1,379 +1,444 @@
1
- var lI = Object.defineProperty;
2
- var eI = (g, I, C) => I in g ? lI(g, I, { enumerable: !0, configurable: !0, writable: !0, value: C }) : g[I] = C;
3
- var y = (g, I, C) => eI(g, typeof I != "symbol" ? I + "" : I, C);
4
- import * as iI from "fs/promises";
5
- import oI from "os";
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
6
  import { s as AI } from "./source-map-Cr6YkjTd.js";
7
- import { Worker as tI } from "worker_threads";
8
- import { g as Z, a as sI, C as E } from "./contextManager-C-sqFxpi.js";
9
- import { resolve as bI } from "path";
10
- function k(g) {
11
- return typeof g == "string" ? g : g == null ? "" : Array.isArray(g) ? g.map((I) => String(I)).join(`
12
- `) : String(g);
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
13
  }
14
- function aI(g) {
14
+ function aI(I) {
15
15
  try {
16
- return JSON.stringify(g), !0;
16
+ return JSON.stringify(I), !0;
17
17
  } catch {
18
18
  return !1;
19
19
  }
20
20
  }
21
- function JI(g) {
22
- const I = {}, C = [];
23
- if (g) for (const [n, c] of Object.entries(g)) aI(c) ? I[n] = c : C.push(n);
24
- return { traitsJson: JSON.stringify(I), excludedFields: C };
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
25
  }
26
- const uI = {};
27
- class S {
28
- constructor({ file: I, line: C, function: n, code: c, locals: b = {}, offender: t = !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 = I, this.line = C, this.function = n, this.code = c, this.locals = b, this.offender = t, this.column = s;
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
37
  }
38
38
  toDict() {
39
- const I = { file: this.file, line: this.line, function: this.function, code: this.code, locals: Object.fromEntries(Object.entries(this.locals).map(([C, n]) => [C, String(n)])) };
40
- return this.offender && (I.offender = this.offender), this.column !== void 0 && (I.column = this.column), I;
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
41
  }
42
42
  toJson() {
43
43
  return JSON.stringify(this.toDict());
44
44
  }
45
45
  }
46
- class L {
47
- static encode(I) {
48
- return I instanceof S ? I.toDict() : Array.isArray(I) ? I.map((C) => L.encode(C)) : typeof I == "object" && I !== null ? JSON.stringify(I) : I;
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
49
  }
50
- static stringify(I) {
51
- return JSON.stringify(L.encode(I), (C, n) => n instanceof S ? n.toDict() : n);
50
+ static stringify(g) {
51
+ return JSON.stringify(j.encode(g), (n, C) => C instanceof K ? C.toDict() : C);
52
52
  }
53
53
  }
54
- const rI = ["/sf-veritas/", "/@sailfish-ai/", "/node_modules/", "/dist/", "/<", "/internal/", "node:"], h = /* @__PURE__ */ new Map();
55
- function dI(g) {
56
- return rI.some((I) => g.includes(I));
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
57
  }
58
- function ZI(g) {
59
- let I = g;
60
- I.startsWith("file://") && (I = I.substring(7)), process.platform === "win32" && I.startsWith("/") && I.length > 2 && I[2] === ":" && (I = I.substring(1));
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
61
  try {
62
- return bI(I);
62
+ return uI(g);
63
63
  } catch {
64
- return g;
64
+ return I;
65
65
  }
66
66
  }
67
- function mI(g = 0) {
68
- const I = new Error().stack;
69
- if (!I) return [null, null];
70
- const C = k(I), n = (function(o, e) {
71
- const i = 2 + e;
72
- return o.split(`
73
- `).slice(i, i + 5).join(`
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
74
  `);
75
- })(C, g), c = h.get(n);
76
- if (c) return c;
77
- const b = (function(o) {
78
- if (!o) return [];
79
- const e = o.split(`
80
- `).slice(1), i = [];
81
- for (const W of e) {
82
- let l = /at\s+(.+?)\s+\((.+?):(\d+):(\d+)\)/.exec(W);
83
- l ? i.push({ functionName: l[1], file: l[2], line: parseInt(l[3], 10), column: parseInt(l[4], 10) }) : (l = /at\s+(.+?):(\d+):(\d+)/.exec(W), l && i.push({ functionName: "<anonymous>", file: l[1], line: parseInt(l[2], 10), column: parseInt(l[3], 10) }));
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
84
  }
85
- return i;
86
- })(C), t = 1 + g;
87
- for (let o = t; o < Math.min(b.length, t + 10); o++) {
88
- const e = b[o];
89
- if (!e || !e.file || dI(e.file)) continue;
90
- const i = [ZI(e.file), e.line];
91
- if (h.size >= 512) {
92
- const W = h.keys().next().value;
93
- W !== void 0 && h.delete(W);
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
94
  }
95
- return h.set(n, i), i;
95
+ return H.set(C, A), A;
96
96
  }
97
97
  const s = [null, null];
98
- return h.set(n, s), s;
98
+ return H.set(C, s), s;
99
99
  }
100
- const x = console.log.bind(console), j = console.error.bind(console), D = console.warn.bind(console), Q = console.info.bind(console), O = console.debug.bind(console), Y = x, U = j;
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
101
  let d = !1;
102
- function wI(g) {
103
- function I(C, n) {
104
- const c = sI();
105
- if (c?.logIgnoreRegex && c.logIgnoreRegex.test(n)) return;
106
- const [b, t] = mI(2);
107
- g.setOperationName("CollectLogs"), g.doSend([n, C, b, t]);
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]);
108
173
  }
109
- console.log = (...C) => {
110
- if (d) x(...C);
174
+ console.log = (...n) => {
175
+ if (d) T(...n);
111
176
  else {
112
177
  d = !0;
113
178
  try {
114
- I("INFO", C.join(" ")), x(...C);
179
+ g("INFO", X(n)), T(...n);
115
180
  } finally {
116
181
  d = !1;
117
182
  }
118
183
  }
119
- }, console.error = (...C) => {
120
- if (d) j(...C);
184
+ }, console.error = (...n) => {
185
+ if (d) E(...n);
121
186
  else {
122
187
  d = !0;
123
188
  try {
124
- I("ERROR", C.join(" ")), j(...C);
189
+ g("ERROR", X(n)), E(...n);
125
190
  } finally {
126
191
  d = !1;
127
192
  }
128
193
  }
129
- }, console.warn = (...C) => {
130
- if (d) D(...C);
194
+ }, console.warn = (...n) => {
195
+ if (d) Q(...n);
131
196
  else {
132
197
  d = !0;
133
198
  try {
134
- I("WARN", C.join(" ")), D(...C);
199
+ g("WARN", X(n)), Q(...n);
135
200
  } finally {
136
201
  d = !1;
137
202
  }
138
203
  }
139
- }, console.info = (...C) => {
140
- if (d) Q(...C);
204
+ }, console.info = (...n) => {
205
+ if (d) U(...n);
141
206
  else {
142
207
  d = !0;
143
208
  try {
144
- I("INFO", C.join(" ")), Q(...C);
209
+ g("INFO", X(n)), U(...n);
145
210
  } finally {
146
211
  d = !1;
147
212
  }
148
213
  }
149
- }, Z().logLevel === "DEBUG" && (console.debug = (...C) => {
150
- if (d) O(...C);
214
+ }, m().logLevel === "DEBUG" && (console.debug = (...n) => {
215
+ if (d) P(...n);
151
216
  else {
152
217
  d = !0;
153
218
  try {
154
- I("DEBUG", C.join(" ")), O(...C);
219
+ g("DEBUG", X(n)), P(...n);
155
220
  } finally {
156
221
  d = !1;
157
222
  }
158
223
  }
159
224
  });
160
225
  }
161
- let X = 0;
162
- function XI(g) {
163
- Z().sfDebug && Y("Initializing Exception Interceptor...");
226
+ let S = 0;
227
+ function KI(I) {
228
+ m().sfDebug && y("Initializing Exception Interceptor...");
164
229
  try {
165
- const s = II();
166
- g?.setSupplementalFields?.({ isFromLocalService: s }), (async function(o) {
167
- if (_) return;
168
- _ = !0;
169
- const e = process.env || {};
170
- if (q(e.SF_IS_LOCAL) === void 0)
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)
171
236
  try {
172
- await (async function(i) {
173
- const W = z("http://169.254.169.254/latest/meta-data/", {}, i), l = z("http://metadata.google.internal/computeMetadata/v1/instance/", { "Metadata-Flavor": "Google" }, i), r = z("http://169.254.169.254/metadata/instance?api-version=2021-02-01", { Metadata: "true" }, i);
174
- return (await Promise.allSettled([W, l, r])).some((G) => G.status === "fulfilled" && (G.value === "ok" || G.value === "http_error"));
175
- })(150) && f && (f = !1, o?.setSupplementalFields?.({ isFromLocalService: !1 }));
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 }));
176
241
  } catch {
177
242
  }
178
- })(g).catch(() => {
243
+ })(I).catch(() => {
179
244
  });
180
245
  } catch {
181
246
  }
182
- const I = new tI(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" } });
183
- let C = null;
184
- const n = /* @__PURE__ */ new WeakMap();
185
- I.on("message", async (s) => {
186
- if (typeof s == "string" && Z().sfDebug && Y(`[Worker] ${s}`), s.readyToGetParameters && I.postMessage({ sfDebug: Z().sfDebug, stackDepthLocals: Z().stackDepthLocals, nodeModulesToCollectLocalVariablesOn: Z().nodeModulesToCollectLocalVariablesOn }), s.type === "exception") {
187
- const { frames: o } = s, e = C;
188
- if (!e) return;
189
- const i = (function(l) {
190
- return l ? l.split(`
191
- `).slice(1).map((r) => {
192
- const G = /at (.+?) \((.+):(\d+):(\d+)\)/.exec(r) || /at (.+):(\d+):(\d+)/.exec(r);
193
- if (G) {
194
- const [, B, V, a, m] = G;
195
- return new S({ function: B || "<anonymous>", locals: {}, file: V || "<unknown>", line: parseInt(a, 10) || 0, code: "<not captured>", column: parseInt(m) || 0 });
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 });
196
261
  }
197
- return new S({ function: "<unknown>", locals: {}, file: "<unknown>", line: 0, code: "<not captured>", column: 0 });
262
+ return new K({ function: "<unknown>", locals: {}, file: "<unknown>", line: 0, code: "<not captured>", column: 0 });
198
263
  }) : [];
199
- })(k(e.stack)), W = (function(l, r) {
200
- const G = [];
201
- let B = -1, V = -1;
202
- for (let a = 0; a < l.length; a++) {
203
- const m = GI(l[a].file);
204
- if (V = a, m !== "<unknown>") {
205
- for (let u = 0; u < r.length; u++) {
206
- const p = r[u];
207
- if ($(p, m) || typeof p.file == "string" && p.file.includes(m)) {
208
- B = u, X = 0, Z().sfDebug && Y(`✅ Matched Frame Found: ${m} @ Debugger Frame ${u}`);
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}`);
209
274
  break;
210
275
  }
211
276
  }
212
- if (B !== -1) break;
277
+ if (p !== -1) break;
213
278
  }
214
279
  }
215
- if (B === -1) return X === 10 ? (X = 0, l) : (++X, Z().sfDebug && Y(`"❌ No matching frame found. Checking once again, Attempt N ${X}"`), []);
216
- Z().sfDebug && Y(`🔄 Merging from matched index ${B} onward...`);
217
- for (let a = 0; a < r.length; a++) {
218
- const m = l[V + a], u = r[B + a];
219
- G.push(new S({ function: u?.function || m?.function || "<anonymous>", locals: u?.locals || m?.locals || {}, file: m?.file || u?.file || "<unknown>", line: u?.line || m?.line || 0, code: u?.code || m?.code || "<not captured>" }));
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>" }));
220
285
  }
221
- return G;
222
- })(i, o || []);
286
+ return f;
287
+ })(A, c || []);
223
288
  if (W.length !== 0) {
224
- C = null;
225
- const l = Z().stackDepthCodeTraceDepth, r = l === -1 ? W : W.slice(0, l + 1), G = Math.min(r.length, i.length);
226
- await Promise.all(Array.from({ length: G }, async (m, u) => {
227
- const p = await (async function(gI, CI, nI) {
228
- const N = (function(A) {
229
- A.startsWith("at ") && (A = A.slice(3).trim());
230
- const H = A.match(/^(.*?)(:\d+)+(\.map)?$/);
231
- return H ? H[1] : A;
232
- })(gI);
233
- if (!N || N === "<unknown>") return null;
234
- const w = N + ".map";
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";
235
300
  try {
236
- let A = K.get(w);
237
- if (A === void 0) {
238
- const v = await iI.readFile(w, "utf-8");
239
- A = v ? JSON.parse(v) : null, M(w, A);
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);
240
305
  }
241
- if (!A) return null;
242
- let H = new AI.SourceMapConsumer(A).originalPositionFor({ line: CI, column: nI });
243
- if (N && H.source) {
244
- const v = P(N), T = A.sources.findIndex((R) => P(R) === v);
245
- if (T === -1) Z().sfDebug && Y(`Source file "${N}" not found in the source map.`);
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.`);
246
311
  else {
247
- const R = A.sourcesContent[T], cI = A.names.join(",");
248
- if (R)
249
- return { content: R.split(`
250
- `).slice(H.line - 1, H.line + 20).join(`
251
- `), name: cI, file: H.source };
252
- Z().sfDebug && Y(`No source content available for file "${N}".`);
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}".`);
253
318
  }
254
319
  }
255
- return { content: A.sourcesContent[0], name: A.names[0], file: A.file };
256
- } catch (A) {
257
- Z().sfDebug && Y(`Cant read/parse "${w}: Error - ".`, A), M(w, null);
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);
258
323
  }
259
324
  return null;
260
- })(r[u].file, i[u].line, i[u].column);
261
- p && (p.content != null && (r[u].code = p.content), p.file != null && (r[u].file = p.file));
262
- })), g.setOperationName("CollectExceptions");
263
- const B = e.message ? `${e.name}: ${e.message}` : e.name;
264
- Z().sfDebug && Y("error message is : ", B);
265
- const V = E.getInstance(), a = n.get(e);
266
- a ? (V.setTraceIdFor(a, a), V.runWithSession(a, () => {
267
- V.setTraceId(a), g.doSend(B, r);
268
- })) : g.doSend(B, r);
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);
269
334
  }
270
335
  }
271
- }), I.on("error", (s) => {
272
- U("[Worker Error]", s);
273
- }), I.on("exit", (s) => {
274
- U(`[Worker] Exited with code ${s}`);
275
- }), I.unref();
276
- const c = Error, b = /* @__PURE__ */ new Set();
277
- function t(...s) {
278
- const o = Reflect.construct(c, s);
279
- Reflect.setPrototypeOf(o, t.prototype);
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);
280
345
  try {
281
- const i = E.getInstance().getTraceId();
282
- n.set(o, i);
346
+ const A = D.getInstance().getTraceId();
347
+ C.set(c, A);
283
348
  } catch {
284
349
  }
285
- c.captureStackTrace && c.captureStackTrace(o, t);
286
- const e = `${o.message}:${k(o.stack).split(`
350
+ e.captureStackTrace && e.captureStackTrace(c, l);
351
+ const i = `${c.message}:${x(c.stack).split(`
287
352
  `)[1]?.trim()}`;
288
- if (!b.has(e)) {
289
- if (b.add(e), b.size > 1e3) {
290
- const i = b.values().next().value;
291
- b.delete(i);
353
+ if (!t.has(i)) {
354
+ if (t.add(i), t.size > 1e3) {
355
+ const A = t.values().next().value;
356
+ t.delete(A);
292
357
  }
293
- C = o, I.postMessage({ type: "processException", error: o.message });
358
+ n = c, g.postMessage({ type: "processException", error: c.message });
294
359
  }
295
- return o;
360
+ return c;
296
361
  }
297
- t.prototype = Object.create(c.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } }), Object.setPrototypeOf(t, c), globalThis.Error = t;
362
+ l.prototype = Object.create(e.prototype, { constructor: { value: l, enumerable: !1, writable: !0, configurable: !0 } }), Object.setPrototypeOf(l, e), globalThis.Error = l;
298
363
  }
299
- function P(g) {
300
- return g = (g = (g = g.replace(/^webpack:\/\/[^\/]+\/\.?\//, "")).replace(/^.*\/pages\//, "pages/")).replace(/\.(js|ts)$/, "");
364
+ function _(I) {
365
+ return I = (I = (I = I.replace(/^webpack:\/\/[^\/]+\/\.?\//, "")).replace(/^.*\/pages\//, "pages/")).replace(/\.(js|ts)$/, "");
301
366
  }
302
- const WI = 50, K = /* @__PURE__ */ new Map();
303
- function M(g, I) {
304
- if (K.size >= WI) {
305
- const C = K.keys().next().value;
306
- K.delete(C);
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);
307
372
  }
308
- K.set(g, I);
373
+ v.set(I, g);
309
374
  }
310
- function GI(g) {
311
- return g?.split("/").pop() || "<unknown>";
375
+ function yI(I) {
376
+ return I?.split("/").pop() || "<unknown>";
312
377
  }
313
- function $(g, I) {
314
- if (!g || typeof g != "object") return !1;
315
- for (const C of Object.values(g))
316
- if (typeof C == "string" && C.includes(I) || typeof C == "object" && $(C, I)) return !0;
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;
317
382
  return !1;
318
383
  }
319
- let f, J, F, _ = !1;
320
- function q(g) {
321
- if (!g) return;
322
- const I = g.toLowerCase().trim();
323
- return !!["1", "true", "yes", "on"].includes(I) || !["0", "false", "no", "off"].includes(I) && void 0;
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;
324
389
  }
325
- function II() {
326
- if (f !== void 0) return f;
327
- const g = process.env || {}, I = q(g.SF_IS_LOCAL);
328
- if (I !== void 0) return f = I;
329
- const C = (g.SF_ENV || g.NODE_ENV || "").toLowerCase();
330
- if (["local", "dev", "development"].includes(C)) return f = !0;
331
- 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) => !!g[c])) return f = !1;
332
- const n = (oI.hostname?.() || g.HOSTNAME || "").toLowerCase();
333
- return f = !(n !== "localhost" && !n.endsWith(".local") && !n.includes("local"));
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"));
334
399
  }
335
- function z(g, I, C) {
336
- return new Promise((n) => {
400
+ function L(I, g, n) {
401
+ return new Promise((C) => {
337
402
  try {
338
- const c = new URL(g), b = (c.protocol, uI).request({ method: "GET", hostname: c.hostname, port: c.port || (c.protocol === "https:" ? 443 : 80), path: c.pathname + (c.search || ""), headers: I }, (t) => {
339
- t.resume(), t.statusCode && t.statusCode >= 200 && t.statusCode < 400 ? n("ok") : n("http_error");
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");
340
405
  });
341
- b.on("error", () => n("error")), b.setTimeout(C, () => {
342
- b.destroy(), n("timeout");
343
- }), b.end();
406
+ t.on("error", () => C("error")), t.setTimeout(n, () => {
407
+ t.destroy(), C("timeout");
408
+ }), t.end();
344
409
  } catch {
345
- n("error");
410
+ C("error");
346
411
  }
347
412
  });
348
413
  }
349
414
  function BI() {
350
415
  if (J !== void 0) return J;
351
- const g = process.env.SF_FUNCSPAN_RUNTIME_ENABLED;
352
- if (g === "true" || g === "1") return J = !0, !0;
353
- if (g === "false" || g === "0") return J = !1, !1;
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;
354
419
  try {
355
- const { isRuntimeModeConfigured: I } = require("../funcSpanConfigLoader");
356
- if (I && I()) return J = !0, !0;
420
+ const { isRuntimeModeConfigured: g } = require("../funcSpanConfigLoader");
421
+ if (g && g()) return J = !0, !0;
357
422
  } catch {
358
423
  }
359
424
  return J = !1, !1;
360
425
  }
361
- function pI() {
362
- return F !== void 0 || (F = !II()), F;
426
+ function YI() {
427
+ return k !== void 0 || (k = !nI()), k;
363
428
  }
364
- function KI() {
365
- return !!BI() && (!pI() || (console.warn("[FuncSpan Runtime] DISABLED in production environment"), !1));
429
+ function RI() {
430
+ return !!BI() && (!YI() || (console.warn("[FuncSpan Runtime] DISABLED in production environment"), !1));
366
431
  }
367
432
  export {
368
- L as C,
369
- JI as a,
370
- U as b,
371
- k as c,
372
- wI as d,
373
- XI as e,
374
- pI as f,
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,
375
440
  BI as g,
376
- uI as h,
377
- Y as i,
378
- KI as s
441
+ dI as h,
442
+ y as i,
443
+ RI as s
379
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;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./contextManager-wMuxqwl9.cjs"),u=require("./workerPoolSpanCapture-B3yge78T.cjs"),g=require("./runtimeConfig-B8LSswM8.cjs"),ae=require("node:module"),H=require("fs"),ce=require("./source-map-rHHEdpre.cjs"),de=require("fs/promises"),le=require("path"),ue=require("glob"),E=require("worker_threads"),O=require("./funcSpanTransformer-D0W2t41q.cjs");function x(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const pe=x(H),W=x(de),F=x(le);class P extends u.BaseTransmitter{constructor(){super(),this.setOperationName("IdentifyServiceDetails")}async doSend(e){if(!c.getConfig().serviceIdentificationReceived)try{this.send()}catch(t){c.getConfig().sfDebug&&console.error(" Error during service identification:",t)}}async send(){const e=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./contextManager-wMuxqwl9.cjs"),u=require("./workerPoolSpanCapture-B3yge78T.cjs"),g=require("./runtimeConfig-paQOMT6f.cjs"),ae=require("node:module"),H=require("fs"),ce=require("./source-map-rHHEdpre.cjs"),de=require("fs/promises"),le=require("path"),ue=require("glob"),E=require("worker_threads"),O=require("./funcSpanTransformer-D0W2t41q.cjs");function x(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const pe=x(H),W=x(de),F=x(le);class P extends u.BaseTransmitter{constructor(){super(),this.setOperationName("IdentifyServiceDetails")}async doSend(e){if(!c.getConfig().serviceIdentificationReceived)try{this.send()}catch(t){c.getConfig().sfDebug&&console.error(" Error during service identification:",t)}}async send(){const e=`
2
2
  ${this.queryType} ${this.operationName}(
3
3
  $apiKey: String!,
4
4
  $timestampMs: String!,
@@ -5,8 +5,8 @@ import { g as u, C as j, D as ye, v as oe, b as q, c as Se, d as Ie, a as ae } f
5
5
  import { r as St } from "./contextManager-C-sqFxpi.js";
6
6
  import { B as T, n as P, f as ve, g as ce, p as de, a as ue, b as $e, m as U, c as A, i as Q, d as _e, e as R, t as H, F as be } from "./workerPoolSpanCapture-DqBbNQLv.js";
7
7
  import { h as vt, s as $t } from "./workerPoolSpanCapture-DqBbNQLv.js";
8
- import { a as Fe, C as Ne, i as _, b as De, c as le, h as w, d as we, e as Pe } from "./runtimeConfig-GwWjhV9M.js";
9
- import { f as bt, g as Ft, s as Nt } from "./runtimeConfig-GwWjhV9M.js";
8
+ import { a as Fe, C as Ne, i as _, b as De, c as le, h as w, d as we, e as Pe } from "./runtimeConfig--MlBo3_L.js";
9
+ import { f as bt, g as Ft, s as Nt } from "./runtimeConfig--MlBo3_L.js";
10
10
  import { createRequire as Ee } from "node:module";
11
11
  import * as Te from "fs";
12
12
  import { readFileSync as Ce, appendFileSync as Ue } from "fs";
@@ -4,4 +4,16 @@ export declare const internalError: any;
4
4
  export declare const internalWarn: any;
5
5
  export declare const internalInfo: any;
6
6
  export declare const internalDebug: any;
7
+ /**
8
+ * Safely serialize a single console argument to a readable string.
9
+ * Handles objects, arrays, circular refs, errors, functions, symbols, bigints.
10
+ */
11
+ export declare function stringifyArg(arg: any): string;
12
+ /**
13
+ * Format console arguments into a single log message string.
14
+ * Serializes each argument and joins with spaces, with a total length cap.
15
+ *
16
+ * Optimized: fast path when all args are strings (most common case).
17
+ */
18
+ export declare function formatArgs(args: any[]): string;
7
19
  export declare function initializeLogInterceptor(transmitter: DataTransmitter): void;
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sailfish-ai/sf-veritas",
3
- "version": "0.2.18",
3
+ "version": "0.2.19",
4
4
  "publishPublicly": true,
5
5
  "description": "A versatile Edge Runtime-compatible package for JavaScript and TypeScript backend systems and scripts.",
6
6
  "main": "./dist/sf-veritas.cjs",
@@ -89,8 +89,8 @@
89
89
  "@babel/types": "^7.26.0",
90
90
  "glob": "^11.1.0",
91
91
  "js-yaml": "^4.1.0",
92
- "toml": "^3.0.0",
93
92
  "source-map-js": "^1.2.1",
93
+ "toml": "^3.0.0",
94
94
  "uuid": "^11.1.0"
95
95
  },
96
96
  "peerDependencies": {
@@ -118,6 +118,7 @@
118
118
  "ts-node": "^10.9.2",
119
119
  "typescript": "^5.8.2",
120
120
  "vite": "^6.2.2",
121
+ "vitest": "^4.0.18",
121
122
  "webpack": "^5.95.0"
122
123
  },
123
124
  "files": [
@@ -1,9 +0,0 @@
1
- "use strict";const lI=require("fs/promises"),iI=require("os"),tI=require("./source-map-rHHEdpre.cjs"),oI=require("worker_threads"),a=require("./contextManager-wMuxqwl9.cjs"),AI=require("path");function sI(g){const I=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(g){for(const C in g)if(C!=="default"){const n=Object.getOwnPropertyDescriptor(g,C);Object.defineProperty(I,C,n.get?n:{enumerable:!0,get:()=>g[C]})}}return I.default=g,Object.freeze(I)}const bI=sI(lI);function F(g){return typeof g=="string"?g:g==null?"":Array.isArray(g)?g.map(I=>String(I)).join(`
2
- `):String(g)}function rI(g){try{return JSON.stringify(g),!0}catch{return!1}}const q={};class S{file;line;function;code;locals;offender;column;constructor({file:I,line:C,function:n,code:c,locals:b={},offender:A=!1,column:s}){this.file=I,this.line=C,this.function=n,this.code=c,this.locals=b,this.offender=A,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(([C,n])=>[C,String(n)]))};return this.offender&&(I.offender=this.offender),this.column!==void 0&&(I.column=this.column),I}toJson(){return JSON.stringify(this.toDict())}}class z{static encode(I){return I instanceof S?I.toDict():Array.isArray(I)?I.map(C=>z.encode(C)):typeof I=="object"&&I!==null?JSON.stringify(I):I}static stringify(I){return JSON.stringify(z.encode(I),(C,n)=>n instanceof S?n.toDict():n)}}const uI=["/sf-veritas/","/@sailfish-ai/","/node_modules/","/dist/","/<","/internal/","node:"],H=new Map;function aI(g){return uI.some(I=>g.includes(I))}function dI(g){let I=g;I.startsWith("file://")&&(I=I.substring(7)),process.platform==="win32"&&I.startsWith("/")&&I.length>2&&I[2]===":"&&(I=I.substring(1));try{return AI.resolve(I)}catch{return g}}function ZI(g=0){const I=new Error().stack;if(!I)return[null,null];const C=F(I),n=(function(t,l){const i=2+l;return t.split(`
3
- `).slice(i,i+5).join(`
4
- `)})(C,g),c=H.get(n);if(c)return c;const b=(function(t){if(!t)return[];const l=t.split(`
5
- `).slice(1),i=[];for(const W of l){let e=/at\s+(.+?)\s+\((.+?):(\d+):(\d+)\)/.exec(W);e?i.push({functionName:e[1],file:e[2],line:parseInt(e[3],10),column:parseInt(e[4],10)}):(e=/at\s+(.+?):(\d+):(\d+)/.exec(W),e&&i.push({functionName:"<anonymous>",file:e[1],line:parseInt(e[2],10),column:parseInt(e[3],10)}))}return i})(C),A=1+g;for(let t=A;t<Math.min(b.length,A+10);t++){const l=b[t];if(!l||!l.file||aI(l.file))continue;const i=[dI(l.file),l.line];if(H.size>=512){const W=H.keys().next().value;W!==void 0&&H.delete(W)}return H.set(n,i),i}const s=[null,null];return H.set(n,s),s}const x=console.log.bind(console),j=console.error.bind(console),T=console.warn.bind(console),O=console.info.bind(console),D=console.debug.bind(console),B=x,k=j;let Z=!1,w=0;function Q(g){return g=(g=(g=g.replace(/^webpack:\/\/[^\/]+\/\.?\//,"")).replace(/^.*\/pages\//,"pages/")).replace(/\.(js|ts)$/,"")}const mI=50,X=new Map;function U(g,I){if(X.size>=mI){const C=X.keys().next().value;X.delete(C)}X.set(g,I)}function WI(g){return g?.split("/").pop()||"<unknown>"}function $(g,I){if(!g||typeof g!="object")return!1;for(const C of Object.values(g))if(typeof C=="string"&&C.includes(I)||typeof C=="object"&&$(C,I))return!0;return!1}let V,h,R,P=!1;function II(g){if(!g)return;const I=g.toLowerCase().trim();return!!["1","true","yes","on"].includes(I)||!["0","false","no","off"].includes(I)&&void 0}function gI(){if(V!==void 0)return V;const g=process.env||{},I=II(g.SF_IS_LOCAL);if(I!==void 0)return V=I;const C=(g.SF_ENV||g.NODE_ENV||"").toLowerCase();if(["local","dev","development"].includes(C))return V=!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=>!!g[c]))return V=!1;const n=(iI.hostname?.()||g.HOSTNAME||"").toLowerCase();return V=!(n!=="localhost"&&!n.endsWith(".local")&&!n.includes("local"))}function L(g,I,C){return new Promise(n=>{try{const c=new URL(g),b=(c.protocol,q).request({method:"GET",hostname:c.hostname,port:c.port||(c.protocol==="https:"?443:80),path:c.pathname+(c.search||""),headers:I},A=>{A.resume(),A.statusCode&&A.statusCode>=200&&A.statusCode<400?n("ok"):n("http_error")});b.on("error",()=>n("error")),b.setTimeout(C,()=>{b.destroy(),n("timeout")}),b.end()}catch{n("error")}})}function M(){if(h!==void 0)return h;const g=process.env.SF_FUNCSPAN_RUNTIME_ENABLED;if(g==="true"||g==="1")return h=!0,!0;if(g==="false"||g==="0")return h=!1,!1;try{const{isRuntimeModeConfigured:I}=require("../funcSpanConfigLoader");if(I&&I())return h=!0,!0}catch{}return h=!1,!1}function _(){return R!==void 0||(R=!gI()),R}exports.CustomJSONEncoderForFrameInfo=z,exports.https=q,exports.initializeExceptionInterceptor=function(g){a.getConfig().sfDebug&&B("Initializing Exception Interceptor...");try{const s=gI();g?.setSupplementalFields?.({isFromLocalService:s}),(async function(t){if(P)return;P=!0;const l=process.env||{};if(II(l.SF_IS_LOCAL)===void 0)try{await(async function(i){const W=L("http://169.254.169.254/latest/meta-data/",{},i),e=L("http://metadata.google.internal/computeMetadata/v1/instance/",{"Metadata-Flavor":"Google"},i),d=L("http://169.254.169.254/metadata/instance?api-version=2021-02-01",{Metadata:"true"},i);return(await Promise.allSettled([W,e,d])).some(G=>G.status==="fulfilled"&&(G.value==="ok"||G.value==="http_error"))})(150)&&V&&(V=!1,t?.setSupplementalFields?.({isFromLocalService:!1}))}catch{}})(g).catch(()=>{})}catch{}const I=new oI.Worker(new URL("data:application/javascript;base64,Ly8gc3JjL2RlYnVnZ2VyV29ya2VyLnRzCmltcG9ydCB7IFNlc3Npb24gfSBmcm9tICJpbnNwZWN0b3IvcHJvbWlzZXMiOwppbXBvcnQgeyBwYXJlbnRQb3J0LCB3b3JrZXJEYXRhIH0gZnJvbSAid29ya2VyX3RocmVhZHMiOwpnbG9iYWwuc2ZEZWJ1ZyA9IHZvaWQgMDsKZ2xvYmFsLnN0YWNrRGVwdGhMb2NhbHMgPSB2b2lkIDA7Cmdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPSB2b2lkIDA7CnZhciBzY3JpcHRTb3VyY2VDYWNoZSA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CnZhciBub25BcHBGcmFtZVBhdHRlcm5zID0gWwogIC9ub2RlOmludGVybmFsLywKICAvaW50ZXJuYWxcLy8sCiAgL25vZGVfbW9kdWxlcy8sCiAgL25vZGU6ZnMvCl07CmFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NDYWxsRnJhbWVzKHNlc3Npb24sIGNhbGxGcmFtZXMsIGRlc2NyaXB0aW9uTGluZXMpIHsKICBjb25zdCBsaW1pdGVkQ2FsbEZyYW1lcyA9IGNhbGxGcmFtZXMuc2xpY2UoMCwgZ2xvYmFsLnN0YWNrRGVwdGhMb2NhbHMpOwogIGlmIChsaW1pdGVkQ2FsbEZyYW1lcy5sZW5ndGggPiAwKSB7CiAgICBjb25zdCBmaXJzdFVybCA9IGxpbWl0ZWRDYWxsRnJhbWVzWzBdLnVybCB8fCAiIjsKICAgIGlmIChub25BcHBGcmFtZVBhdHRlcm5zLnNvbWUoKHApID0+IHAudGVzdChmaXJzdFVybCkpKSB7CiAgICAgIHBhcmVudFBvcnQ/LnBvc3RNZXNzYWdlKHsgdHlwZTogImV4Y2VwdGlvbiIsIGZyYW1lczogW10gfSk7CiAgICAgIHJldHVybjsKICAgIH0KICB9CiAgY29uc3QgZnJhbWVzID0gYXdhaXQgUHJvbWlzZS5hbGwoCiAgICBsaW1pdGVkQ2FsbEZyYW1lcy5tYXAoYXN5bmMgKGZyYW1lLCBpbmRleCkgPT4gewogICAgICB0cnkgewogICAgICAgIGNvbnN0IHsgZnVuY3Rpb25OYW1lLCBsb2NhdGlvbiwgdXJsLCBzY29wZUNoYWluIH0gPSBmcmFtZTsKICAgICAgICBjb25zdCBsb2NhbFNjb3BlID0gc2NvcGVDaGFpbi5maW5kKChzY29wZSkgPT4gc2NvcGUudHlwZSA9PT0gImxvY2FsIik7CiAgICAgICAgbGV0IGNvZGUgPSAiPG5vdCBjYXB0dXJlZD4iOwogICAgICAgIGxldCBmaWxlID0gIiI7CiAgICAgICAgaWYgKHVybCAmJiB1cmwudHJpbSgpICE9PSAiIikgewogICAgICAgICAgZmlsZSA9IHVybDsKICAgICAgICB9IGVsc2UgaWYgKGRlc2NyaXB0aW9uTGluZXNbaW5kZXhdKSB7CiAgICAgICAgICBmaWxlID0gZGVzY3JpcHRpb25MaW5lc1tpbmRleF0udHJpbSgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBmaWxlID0gIjx1bmtub3duPiI7CiAgICAgICAgfQogICAgICAgIGlmIChsb2NhdGlvbiAmJiBsb2NhdGlvbi5zY3JpcHRJZCkgewogICAgICAgICAgY29uc3Qgc2NyaXB0SWQgPSBsb2NhdGlvbi5zY3JpcHRJZDsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGxldCBzY3JpcHRTb3VyY2UgPSBzY3JpcHRTb3VyY2VDYWNoZS5nZXQoc2NyaXB0SWQpOwogICAgICAgICAgICBpZiAoc2NyaXB0U291cmNlID09PSB2b2lkIDApIHsKICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzZXNzaW9uLnBvc3QoCiAgICAgICAgICAgICAgICAiRGVidWdnZXIuZ2V0U2NyaXB0U291cmNlIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgc2NyaXB0SWQKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICApOwogICAgICAgICAgICAgIHNjcmlwdFNvdXJjZSA9IHJlc3VsdC5zY3JpcHRTb3VyY2U7CiAgICAgICAgICAgICAgc2NyaXB0U291cmNlQ2FjaGUuc2V0KHNjcmlwdElkLCBzY3JpcHRTb3VyY2UpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvbnN0IHNvdXJjZUxpbmVzID0gc2NyaXB0U291cmNlLnNwbGl0KCJcbiIpOwogICAgICAgICAgICBjb2RlID0gc291cmNlTGluZXNbbG9jYXRpb24ubGluZU51bWJlcl0gfHwgIjxub3QgY2FwdHVyZWQ+IjsKICAgICAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJbV29ya2VyXSBGYWlsZWQgdG8gZmV0Y2ggc2NyaXB0IHNvdXJjZToiLCBlcnIpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNvbnN0IGxvY2FscyA9IGxvY2FsU2NvcGU/Lm9iamVjdD8ub2JqZWN0SWQgPyBhd2FpdCBmZXRjaExvY2FsVmFyaWFibGVzKHNlc3Npb24sIGxvY2FsU2NvcGUub2JqZWN0Lm9iamVjdElkKSA6IHt9OwogICAgICAgIHJldHVybiB7CiAgICAgICAgICBmdW5jdGlvbjogZnVuY3Rpb25OYW1lIHx8ICI8YW5vbnltb3VzPiIsCiAgICAgICAgICBsb2NhbHMsCiAgICAgICAgICBmaWxlLAogICAgICAgICAgbGluZTogbG9jYXRpb24/LmxpbmVOdW1iZXIgfHwgMCwKICAgICAgICAgIGNvZGUKICAgICAgICB9OwogICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgY29uc29sZS5lcnJvcigiW1dvcmtlcl0gRXJyb3IgcHJvY2Vzc2luZyBjYWxsIGZyYW1lOiIsIGVycm9yKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGZ1bmN0aW9uOiAiPGVycm9yPiIsCiAgICAgICAgICBsb2NhbHM6IHt9LAogICAgICAgICAgZmlsZTogIjx1bmtub3duPiIsCiAgICAgICAgICBsaW5lOiAwLAogICAgICAgICAgY29kZTogIjxub3QgY2FwdHVyZWQ+IgogICAgICAgIH07CiAgICAgIH0KICAgIH0pCiAgKTsKICBwYXJlbnRQb3J0Py5wb3N0TWVzc2FnZSh7IHR5cGU6ICJleGNlcHRpb24iLCBmcmFtZXMgfSk7Cn0KYXN5bmMgZnVuY3Rpb24gaGFuZGxlUGF1c2VkKHNlc3Npb24sIHBhcmFtcykgewogIGNvbnN0IHsgcmVhc29uLCBkYXRhLCBjYWxsRnJhbWVzIH0gPSBwYXJhbXM7CiAgaWYgKHJlYXNvbiAhPT0gImV4Y2VwdGlvbiIgJiYgcmVhc29uICE9PSAicHJvbWlzZVJlamVjdGlvbiIpIHsKICAgIHJldHVybjsKICB9CiAgY29uc3Qgbm9uQXBwUGF0dGVybnMgPSBbCiAgICAvbm9kZTppbnRlcm5hbC8sCiAgICAvaW50ZXJuYWxcLy8sCiAgICAvbm9kZV9tb2R1bGVzLywKICAgIC9ub2RlOmZzLwogIF07CiAgbGV0IGZpcnN0RnJhbWVMaW5lID0gIiI7CiAgbGV0IGRlc2NyaXB0aW9uTGluZXMgPSBbXTsKICBpZiAoZGF0YSAmJiB0eXBlb2YgZGF0YS5kZXNjcmlwdGlvbiA9PT0gInN0cmluZyIpIHsKICAgIGRlc2NyaXB0aW9uTGluZXMgPSBkYXRhLmRlc2NyaXB0aW9uLnNwbGl0KCJcbiIpLmZpbHRlcigobGluZSkgPT4gbGluZS50cmltKCkuc3RhcnRzV2l0aCgiYXQgIikpOwogICAgZmlyc3RGcmFtZUxpbmUgPSBkZXNjcmlwdGlvbkxpbmVzWzBdIHx8ICIiOwogICAgaWYgKCFmaXJzdEZyYW1lTGluZSkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBlcnJvckZyb21Ob25BcHAgPSBub25BcHBQYXR0ZXJucy5zb21lKAogICAgICAocGF0dGVybikgPT4gcGF0dGVybi50ZXN0KGZpcnN0RnJhbWVMaW5lLnRyaW0oKSkKICAgICk7CiAgICBjb25zdCBub2RlTW9kdWxlc0xpc3QgPSBBcnJheS5pc0FycmF5KAogICAgICBnbG9iYWwubm9kZU1vZHVsZXNUb0NvbGxlY3RMb2NhbFZhcmlhYmxlc09uCiAgICApID8gZ2xvYmFsLm5vZGVNb2R1bGVzVG9Db2xsZWN0TG9jYWxWYXJpYWJsZXNPbiA6IFtdOwogICAgaWYgKGVycm9yRnJvbU5vbkFwcCkgewogICAgICBpZiAobm9kZU1vZHVsZXNMaXN0LmluY2x1ZGVzKCJfX2FsbF9fIikpIHsKICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKAogICAgICAgICAgICAiW1dvcmtlcl0gRXJyb3IgaXMgZnJvbSBub24tYXBwIHNvdXJjZSwgYnV0IGNhcHR1cmluZyBkdWUgdG8gX19hbGxfXyBydWxlLiIKICAgICAgICAgICk7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKG5vZGVNb2R1bGVzTGlzdC5sZW5ndGggPiAwKSB7CiAgICAgICAgY29uc3QgaXNGcm9tQWxsb3dlZE5vZGVNb2R1bGUgPSBub2RlTW9kdWxlc0xpc3Quc29tZSgKICAgICAgICAgIChtb2R1bGVOYW1lKSA9PiBmaXJzdEZyYW1lTGluZS5pbmNsdWRlcyhgJHttb2R1bGVOYW1lfWApCiAgICAgICAgKTsKICAgICAgICBpZiAoIWlzRnJvbUFsbG93ZWROb2RlTW9kdWxlKSB7CiAgICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgICAgY29uc29sZS5sb2coCiAgICAgICAgICAgICAgIltXb3JrZXJdIEVycm9yIGFwcGVhcnMgdG8gYmUgdHJpZ2dlcmVkIGZyb20gbm9uLWFwcGxpY2F0aW9uIHNvdXJjZXM7IGlnbm9yaW5nLiIKICAgICAgICAgICAgKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygKICAgICAgICAgICAgIltXb3JrZXJdIEVycm9yIGFwcGVhcnMgdG8gYmUgdHJpZ2dlcmVkIGZyb20gbm9uLWFwcGxpY2F0aW9uIHNvdXJjZXM7IGlnbm9yaW5nLiIKICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgICAgfQogICAgfQogICAgYXdhaXQgcHJvY2Vzc0NhbGxGcmFtZXMoc2Vzc2lvbiwgY2FsbEZyYW1lcywgZGVzY3JpcHRpb25MaW5lcyk7CiAgfSBlbHNlIHsKICAgIHJldHVybjsKICB9Cn0KYXN5bmMgZnVuY3Rpb24gc3RhcnREZWJ1Z2dlcigpIHsKICBwYXJlbnRQb3J0Py5wb3N0TWVzc2FnZSh7IHR5cGU6ICJtZXNzYWdlIiwgcmVhZHlUb0dldFBhcmFtZXRlcnM6IHRydWUgfSk7CiAgbGV0IHJlc29sdmVNZXNzYWdlUHJvbWlzZTsKICBjb25zdCBtZXNzYWdlUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICByZXNvbHZlTWVzc2FnZVByb21pc2UgPSByZXNvbHZlOwogIH0pOwogIGxldCBpc1BhdXNlZCA9IGZhbHNlOwogIHBhcmVudFBvcnQ/Lm9uKCJtZXNzYWdlIiwgKG1lc3NhZ2UpID0+IHsKICAgIHRyeSB7CiAgICAgIGlmIChtZXNzYWdlPy50eXBlID09PSAicHJvY2Vzc0V4Y2VwdGlvbiIpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgaWYgKG1lc3NhZ2U/LnNmRGVidWcgIT09IHZvaWQgMCAmJiBtZXNzYWdlPy5zdGFja0RlcHRoTG9jYWxzICE9PSB2b2lkIDApIHsKICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKCJVcGRhdGluZyBnbG9iYWwgZGVidWcgdmFyaWFibGVzLi4uIik7CiAgICAgICAgfQogICAgICAgIGdsb2JhbC5zZkRlYnVnID0gbWVzc2FnZS5zZkRlYnVnOwogICAgICAgIGdsb2JhbC5zdGFja0RlcHRoTG9jYWxzID0gbWVzc2FnZS5zdGFja0RlcHRoTG9jYWxzOwogICAgICAgIGdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPSBtZXNzYWdlLm5vZGVNb2R1bGVzVG9Db2xsZWN0TG9jYWxWYXJpYWJsZXNPbjsKICAgICAgICByZXNvbHZlTWVzc2FnZVByb21pc2UoKTsKICAgICAgfQogICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgY29uc29sZS5lcnJvcigiXHUyNzRDIEVycm9yIGluIG1lc3NhZ2UgaGFuZGxpbmc6IiwgZXJyb3IpOwogICAgICB9CiAgICB9CiAgfSk7CiAgYXdhaXQgbWVzc2FnZVByb21pc2U7CiAgdHJ5IHsKICAgIGNvbnN0IHNlc3Npb24gPSBuZXcgU2Vzc2lvbigpOwogICAgc2Vzc2lvbi5jb25uZWN0VG9NYWluVGhyZWFkKCk7CiAgICBzZXNzaW9uLm9uKCJEZWJ1Z2dlci5yZXN1bWVkIiwgKCkgPT4gewogICAgICBpc1BhdXNlZCA9IGZhbHNlOwogICAgfSk7CiAgICBzZXNzaW9uLm9uKCJEZWJ1Z2dlci5wYXVzZWQiLCBhc3luYyAoZXZlbnQpID0+IHsKICAgICAgaXNQYXVzZWQgPSB0cnVlOwogICAgICBoYW5kbGVQYXVzZWQoc2Vzc2lvbiwgZXZlbnQucGFyYW1zKS50aGVuKAogICAgICAgIGFzeW5jICgpID0+IHsKICAgICAgICAgIGlmIChpc1BhdXNlZCkgewogICAgICAgICAgICBhd2FpdCBzZXNzaW9uLnBvc3QoIkRlYnVnZ2VyLnJlc3VtZSIpOwogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgYXN5bmMgKF8pID0+IHsKICAgICAgICAgIGlmIChpc1BhdXNlZCkgewogICAgICAgICAgICBhd2FpdCBzZXNzaW9uLnBvc3QoIkRlYnVnZ2VyLnJlc3VtZSIpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgKTsKICAgIH0pOwogICAgYXdhaXQgc2Vzc2lvbi5wb3N0KCJEZWJ1Z2dlci5lbmFibGUiKTsKICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIuc2V0UGF1c2VPbkV4Y2VwdGlvbnMiLCB7CiAgICAgIHN0YXRlOiB3b3JrZXJEYXRhPy5jYXB0dXJlQWxsRXhjZXB0aW9ucyA/ICJhbGwiIDogInVuY2F1Z2h0IgogICAgfSk7CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICBjb25zb2xlLmVycm9yKCJbV29ya2VyXSBlcnJvciAiLCBlcnJvcik7CiAgICB9CiAgfQogIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgY29uc29sZS5sb2coIltXb3JrZXJdIERlYnVnZ2VyIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5LiIpOwogIH0KfQphc3luYyBmdW5jdGlvbiB1bnJvbGxPYmplY3Qoc2Vzc2lvbiwgb2JqZWN0SWQsIG5hbWUsIHZhcnMpIHsKICBjb25zdCBwcm9wZXJ0aWVzID0gYXdhaXQgc2Vzc2lvbi5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLCB7CiAgICBvYmplY3RJZCwKICAgIG93blByb3BlcnRpZXM6IHRydWUKICB9KTsKICB2YXJzW25hbWVdID0gcHJvcGVydGllcy5yZXN1bHQubWFwKCh2KSA9PiBbdi5uYW1lLCB2LnZhbHVlPy52YWx1ZV0pLnJlZHVjZSgob2JqLCBba2V5LCB2YWxdKSA9PiB7CiAgICBvYmpba2V5XSA9IHZhbDsKICAgIHJldHVybiBvYmo7CiAgfSwge30pOwp9CmFzeW5jIGZ1bmN0aW9uIHVucm9sbEFycmF5KHNlc3Npb24sIG9iamVjdElkLCBuYW1lLCB2YXJzKSB7CiAgY29uc3QgcHJvcGVydGllcyA9IGF3YWl0IHNlc3Npb24ucG9zdCgiUnVudGltZS5nZXRQcm9wZXJ0aWVzIiwgewogICAgb2JqZWN0SWQsCiAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlCiAgfSk7CiAgdmFyc1tuYW1lXSA9IHByb3BlcnRpZXMucmVzdWx0LmZpbHRlcigodikgPT4gdi5uYW1lICE9PSAibGVuZ3RoIiAmJiAhaXNOYU4ocGFyc2VJbnQodi5uYW1lLCAxMCkpKS5zb3J0KChhLCBiKSA9PiBwYXJzZUludChhLm5hbWUsIDEwKSAtIHBhcnNlSW50KGIubmFtZSwgMTApKS5tYXAoKHYpID0+IHYudmFsdWU/LnZhbHVlKTsKfQpmdW5jdGlvbiB1bnJvbGxPdGhlcihwcm9wLCB2YXJzKSB7CiAgaWYgKCFwcm9wLnZhbHVlKSB7CiAgICByZXR1cm47CiAgfQogIGlmICgidmFsdWUiIGluIHByb3AudmFsdWUpIHsKICAgIGlmIChwcm9wLnZhbHVlLnZhbHVlID09PSB2b2lkIDAgfHwgcHJvcC52YWx1ZS52YWx1ZSA9PT0gbnVsbCkgewogICAgICB2YXJzW3Byb3AubmFtZV0gPSBgPCR7cHJvcC52YWx1ZS52YWx1ZX0+YDsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyc1twcm9wLm5hbWVdID0gcHJvcC52YWx1ZS52YWx1ZTsKICAgIHJldHVybjsKICB9CiAgaWYgKCJkZXNjcmlwdGlvbiIgaW4gcHJvcC52YWx1ZSAmJiBwcm9wLnZhbHVlLnR5cGUgIT09ICJmdW5jdGlvbiIpIHsKICAgIHZhcnNbcHJvcC5uYW1lXSA9IGA8JHtwcm9wLnZhbHVlLmRlc2NyaXB0aW9ufT5gOwogICAgcmV0dXJuOwogIH0KICBpZiAocHJvcC52YWx1ZS50eXBlID09PSAidW5kZWZpbmVkIikgewogICAgdmFyc1twcm9wLm5hbWVdID0gIjx1bmRlZmluZWQ+IjsKICAgIHJldHVybjsKICB9Cn0KYXN5bmMgZnVuY3Rpb24gZmV0Y2hMb2NhbFZhcmlhYmxlcyhzZXNzaW9uLCBvYmplY3RJZCkgewogIGlmICghb2JqZWN0SWQpIHJldHVybiB7fTsKICB0cnkgewogICAgY29uc3QgeyByZXN1bHQgfSA9IGF3YWl0IHNlc3Npb24ucG9zdCgiUnVudGltZS5nZXRQcm9wZXJ0aWVzIiwgewogICAgICBvYmplY3RJZCwKICAgICAgb3duUHJvcGVydGllczogdHJ1ZQogICAgfSk7CiAgICBjb25zdCBwcm9wZXJ0aWVzID0gcmVzdWx0OwogICAgaWYgKHByb3BlcnRpZXMpIHsKICAgICAgY29uc3QgdmFyaWFibGVzID0ge307CiAgICAgIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wZXJ0aWVzKSB7CiAgICAgICAgaWYgKHByb3A/LnZhbHVlPy5vYmplY3RJZCAmJiBwcm9wPy52YWx1ZS5jbGFzc05hbWUgPT09ICJBcnJheSIpIHsKICAgICAgICAgIGNvbnN0IGlkID0gcHJvcC52YWx1ZS5vYmplY3RJZDsKICAgICAgICAgIGF3YWl0IHVucm9sbEFycmF5KHNlc3Npb24sIGlkLCBwcm9wLm5hbWUsIHZhcmlhYmxlcyk7CiAgICAgICAgfSBlbHNlIGlmIChwcm9wPy52YWx1ZT8ub2JqZWN0SWQgJiYgcHJvcD8udmFsdWU/LmNsYXNzTmFtZSA9PT0gIk9iamVjdCIpIHsKICAgICAgICAgIGNvbnN0IGlkID0gcHJvcC52YWx1ZS5vYmplY3RJZDsKICAgICAgICAgIGF3YWl0IHVucm9sbE9iamVjdChzZXNzaW9uLCBpZCwgcHJvcC5uYW1lLCB2YXJpYWJsZXMpOwogICAgICAgIH0gZWxzZSBpZiAocHJvcD8udmFsdWUpIHsKICAgICAgICAgIHVucm9sbE90aGVyKHByb3AsIHZhcmlhYmxlcyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiB2YXJpYWJsZXM7CiAgICB9CiAgfSBjYXRjaCAoZXJyKSB7CiAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgY29uc29sZS5lcnJvcigiW1dvcmtlcl0gRmFpbGVkIHRvIGZldGNoIGxvY2FsIHZhcmlhYmxlczoiLCBlcnIpOwogICAgfQogICAgcmV0dXJuIHt9OwogIH0KfQpzdGFydERlYnVnZ2VyKCkuY2F0Y2goKGVycm9yKSA9PiB7CiAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICBjb25zb2xlLmVycm9yKCJbV29ya2VyXSBGYWlsZWQgdG8gc3RhcnQgZGVidWdnZXI6IiwgZXJyb3IpOwogIH0KfSk7CnNldEludGVydmFsKCgpID0+IHsKfSwgMWU0KTsKZXhwb3J0IHsKICBwcm9jZXNzQ2FsbEZyYW1lcwp9Owo="),{workerData:{captureAllExceptions:process.env.SF_CAPTURE_ALL_EXCEPTIONS==="true"}});let C=null;const n=new WeakMap;I.on("message",async s=>{if(typeof s=="string"&&a.getConfig().sfDebug&&B(`[Worker] ${s}`),s.readyToGetParameters&&I.postMessage({sfDebug:a.getConfig().sfDebug,stackDepthLocals:a.getConfig().stackDepthLocals,nodeModulesToCollectLocalVariablesOn:a.getConfig().nodeModulesToCollectLocalVariablesOn}),s.type==="exception"){const{frames:t}=s,l=C;if(!l)return;const i=(function(e){return e?e.split(`
6
- `).slice(1).map(d=>{const G=/at (.+?) \((.+):(\d+):(\d+)\)/.exec(d)||/at (.+):(\d+):(\d+)/.exec(d);if(G){const[,p,Y,r,m]=G;return new S({function:p||"<anonymous>",locals:{},file:Y||"<unknown>",line:parseInt(r,10)||0,code:"<not captured>",column:parseInt(m)||0})}return new S({function:"<unknown>",locals:{},file:"<unknown>",line:0,code:"<not captured>",column:0})}):[]})(F(l.stack)),W=(function(e,d){const G=[];let p=-1,Y=-1;for(let r=0;r<e.length;r++){const m=WI(e[r].file);if(Y=r,m!=="<unknown>"){for(let u=0;u<d.length;u++){const f=d[u];if($(f,m)||typeof f.file=="string"&&f.file.includes(m)){p=u,w=0,a.getConfig().sfDebug&&B(`✅ Matched Frame Found: ${m} @ Debugger Frame ${u}`);break}}if(p!==-1)break}}if(p===-1)return w===10?(w=0,e):(++w,a.getConfig().sfDebug&&B(`"❌ No matching frame found. Checking once again, Attempt N ${w}"`),[]);a.getConfig().sfDebug&&B(`🔄 Merging from matched index ${p} onward...`);for(let r=0;r<d.length;r++){const m=e[Y+r],u=d[p+r];G.push(new S({function:u?.function||m?.function||"<anonymous>",locals:u?.locals||m?.locals||{},file:m?.file||u?.file||"<unknown>",line:u?.line||m?.line||0,code:u?.code||m?.code||"<not captured>"}))}return G})(i,t||[]);if(W.length!==0){C=null;const e=a.getConfig().stackDepthCodeTraceDepth,d=e===-1?W:W.slice(0,e+1),G=Math.min(d.length,i.length);await Promise.all(Array.from({length:G},async(m,u)=>{const f=await(async function(CI,nI,cI){const y=(function(o){o.startsWith("at ")&&(o=o.slice(3).trim());const N=o.match(/^(.*?)(:\d+)+(\.map)?$/);return N?N[1]:o})(CI);if(!y||y==="<unknown>")return null;const J=y+".map";try{let o=X.get(J);if(o===void 0){const K=await bI.readFile(J,"utf-8");o=K?JSON.parse(K):null,U(J,o)}if(!o)return null;let N=new tI.sourceMapExports.SourceMapConsumer(o).originalPositionFor({line:nI,column:cI});if(y&&N.source){const K=Q(y),E=o.sources.findIndex(v=>Q(v)===K);if(E===-1)a.getConfig().sfDebug&&B(`Source file "${y}" not found in the source map.`);else{const v=o.sourcesContent[E],eI=o.names.join(",");if(v)return{content:v.split(`
7
- `).slice(N.line-1,N.line+20).join(`
8
- `),name:eI,file:N.source};a.getConfig().sfDebug&&B(`No source content available for file "${y}".`)}}return{content:o.sourcesContent[0],name:o.names[0],file:o.file}}catch(o){a.getConfig().sfDebug&&B(`Cant read/parse "${J}: Error - ".`,o),U(J,null)}return null})(d[u].file,i[u].line,i[u].column);f&&(f.content!=null&&(d[u].code=f.content),f.file!=null&&(d[u].file=f.file))})),g.setOperationName("CollectExceptions");const p=l.message?`${l.name}: ${l.message}`:l.name;a.getConfig().sfDebug&&B("error message is : ",p);const Y=a.ContextManager.getInstance(),r=n.get(l);r?(Y.setTraceIdFor(r,r),Y.runWithSession(r,()=>{Y.setTraceId(r),g.doSend(p,d)})):g.doSend(p,d)}}}),I.on("error",s=>{k("[Worker Error]",s)}),I.on("exit",s=>{k(`[Worker] Exited with code ${s}`)}),I.unref();const c=Error,b=new Set;function A(...s){const t=Reflect.construct(c,s);Reflect.setPrototypeOf(t,A.prototype);try{const i=a.ContextManager.getInstance().getTraceId();n.set(t,i)}catch{}c.captureStackTrace&&c.captureStackTrace(t,A);const l=`${t.message}:${F(t.stack).split(`
9
- `)[1]?.trim()}`;if(!b.has(l)){if(b.add(l),b.size>1e3){const i=b.values().next().value;b.delete(i)}C=t,I.postMessage({type:"processException",error:t.message})}return t}A.prototype=Object.create(c.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(A,c),globalThis.Error=A},exports.initializeLogInterceptor=function(g){function I(C,n){const c=a.getGlobalConfigUnsafe();if(c?.logIgnoreRegex&&c.logIgnoreRegex.test(n))return;const[b,A]=ZI(2);g.setOperationName("CollectLogs"),g.doSend([n,C,b,A])}console.log=(...C)=>{if(Z)x(...C);else{Z=!0;try{I("INFO",C.join(" ")),x(...C)}finally{Z=!1}}},console.error=(...C)=>{if(Z)j(...C);else{Z=!0;try{I("ERROR",C.join(" ")),j(...C)}finally{Z=!1}}},console.warn=(...C)=>{if(Z)T(...C);else{Z=!0;try{I("WARN",C.join(" ")),T(...C)}finally{Z=!1}}},console.info=(...C)=>{if(Z)O(...C);else{Z=!0;try{I("INFO",C.join(" ")),O(...C)}finally{Z=!1}}},a.getConfig().logLevel==="DEBUG"&&(console.debug=(...C)=>{if(Z)D(...C);else{Z=!0;try{I("DEBUG",C.join(" ")),D(...C)}finally{Z=!1}}})},exports.internalError=k,exports.internalLog=B,exports.isProductionEnvironment=_,exports.isRuntimeModeEnabled=M,exports.serializeJsonWithExclusions=function(g){const I={},C=[];if(g)for(const[n,c]of Object.entries(g))rI(c)?I[n]=c:C.push(n);return{traitsJson:JSON.stringify(I),excludedFields:C}},exports.shouldEnableRuntimeHooks=function(){return!!M()&&(!_()||(console.warn("[FuncSpan Runtime] DISABLED in production environment"),!1))},exports.stackToString=F;