@gengage/assistant-fe 0.6.31 → 0.6.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agentic/index.js +547 -447
- package/dist/agentic.iife.js +146 -61
- package/dist/{api-paths-D101rmWG.js → api-paths-BQM6ulFP.js} +1 -1
- package/dist/chat-runtime.js +1 -1
- package/dist/chat.iife.js +1 -1
- package/dist/chat.js +1 -1
- package/dist/{common-50FH3QV2.js → common-Co_8C5Ir.js} +1 -1
- package/dist/common.js +5 -5
- package/dist/{connection-warning-Cc3xz5jy.js → connection-warning-9lEST376.js} +1 -1
- package/dist/{fastIntent-TxOduVED.js → fastIntent-yOfaIrPb.js} +1 -1
- package/dist/index.js +10 -10
- package/dist/native.iife.js +1 -1
- package/dist/qna-runtime.js +1 -1
- package/dist/qna.iife.js +1 -1
- package/dist/qna.js +1 -1
- package/dist/{runtime-D9W63PrT.js → runtime-CwGrFmYS.js} +3 -3
- package/dist/{runtime-D9TnX-6x.js → runtime-D3-L3wDc.js} +3 -3
- package/dist/{runtime-BeO54n4j.js → runtime-DJ3kOIL6.js} +3 -3
- package/dist/{simbut-bLkp0vVZ.js → simbut-BJjl8BHs.js} +1 -1
- package/dist/simbut.iife.js +1 -1
- package/dist/simbut.js +1 -1
- package/dist/{simrel-CP3g-Sm0.js → simrel-DLNifT30.js} +1 -1
- package/dist/simrel-runtime.js +1 -1
- package/dist/simrel.iife.js +1 -1
- package/dist/simrel.js +2 -2
- package/dist/{widget-base-8IG9xvDd.js → widget-base-CYbh5dI9.js} +1 -1
- package/package.json +1 -1
package/dist/agentic/index.js
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
import { buildPhotoSimilarityProfile as yo, buildProductSimilarityProfile as wo, buildSimilarityQueries as vo, normalizeSimilarityText as xo, rankSimilarProducts as ko, rankSimilarProductsAsync as _o, scoreSimilarityCandidate as So, tokenizeSimilarityText as Eo } from "./algos/similarity.js";
|
|
2
|
-
import { $ as
|
|
2
|
+
import { $ as pt, A as Co, At as ft, B as Ao, C as Ro, Ct as mt, D as Po, E as Lo, Et as jo, F as No, G as Io, H as Uo, I as qo, J as Fo, K as Bo, L as Oo, M as Mo, Mt as $o, N as Do, O as Go, Ot as Be, P as zo, Q as gt, R as Ho, S as Wo, T as Vo, Tt as Ko, U as Jo, V as Yo, W as Zo, X as Qo, Y as Xo, Z as ei, _ as ti, _t as ri, a as ni, at as oi, b as ii, bt as ai, c as si, ct as ci, d as li, dt as ui, et as di, f as pi, ft as fi, g as mi, gt as ht, h as gi, ht as hi, i as bi, it as ue, j as yi, jt as wi, k as vi, kt as bt, l as xi, lt as ki, m as _i, mt as Si, n as Ei, nt as Ti, o as Ci, ot as Ai, p as Ri, pt as Pi, q as Li, r as ji, rt as Ni, s as Ii, st as Ui, t as qi, tt as Fi, u as Bi, ut as Oi, v as Mi, vt as $i, w as Di, wt as Gi, x as yt, xt as Oe, y as zi, yt as wt, z as Hi } from "../agent-ui-steps-DIWmTMuV.js";
|
|
3
3
|
var vt = 512, xt = 0.74;
|
|
4
|
-
function kt({ accountId: e, worker: t, beUrl: r, devJwtSecret: n, tokenBrokerUrl: o, tokenBrokerAudience: i, defaultLocale: a, tools: s = {}, beacon:
|
|
4
|
+
function kt({ accountId: e, worker: t, beUrl: r, devJwtSecret: n, tokenBrokerUrl: o, tokenBrokerAudience: i, defaultLocale: a, tools: s = {}, beacon: d, confirmation: c, memory: p = Be() }) {
|
|
5
5
|
let b = 1;
|
|
6
6
|
const m = /* @__PURE__ */ new Map();
|
|
7
7
|
return bt({
|
|
8
8
|
worker: t,
|
|
9
9
|
tools: s,
|
|
10
|
-
beacon: (
|
|
11
|
-
...
|
|
12
|
-
accountId:
|
|
10
|
+
beacon: (u) => d?.({
|
|
11
|
+
...u,
|
|
12
|
+
accountId: u.accountId || e
|
|
13
13
|
}),
|
|
14
|
-
...
|
|
15
|
-
memory:
|
|
16
|
-
}), t.addEventListener("message", (
|
|
17
|
-
const
|
|
18
|
-
if (
|
|
19
|
-
|
|
14
|
+
...c ? { confirmation: c } : {},
|
|
15
|
+
memory: p
|
|
16
|
+
}), t.addEventListener("message", (u) => {
|
|
17
|
+
const f = u.data || {};
|
|
18
|
+
if (f.type === "activity" && f.entry) {
|
|
19
|
+
Me(f.entry);
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
|
-
const g = typeof
|
|
22
|
+
const g = typeof f.id == "number" ? f.id : null;
|
|
23
23
|
if (g == null) return;
|
|
24
|
-
const
|
|
25
|
-
if (
|
|
26
|
-
if (
|
|
27
|
-
oe(
|
|
24
|
+
const l = m.get(g);
|
|
25
|
+
if (l) {
|
|
26
|
+
if (f.type === "event" && f.event) {
|
|
27
|
+
oe(l, f.event);
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
|
-
if (
|
|
31
|
-
|
|
30
|
+
if (f.type === "error") {
|
|
31
|
+
l.onError(new Error(f.message || "Agent worker failed")), m.delete(g);
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
|
-
|
|
34
|
+
f.type === "end" && m.delete(g);
|
|
35
35
|
}
|
|
36
|
-
}), (
|
|
36
|
+
}), (u, f, g, l) => {
|
|
37
37
|
const h = b++;
|
|
38
|
-
m.set(h,
|
|
38
|
+
m.set(h, f);
|
|
39
39
|
const w = () => {
|
|
40
40
|
m.delete(h), t.postMessage({
|
|
41
41
|
id: h,
|
|
@@ -64,16 +64,16 @@ function kt({ accountId: e, worker: t, beUrl: r, devJwtSecret: n, tokenBrokerUrl
|
|
|
64
64
|
w();
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
|
-
if (g.addEventListener("abort", w, { once: !0 }),
|
|
68
|
-
|
|
69
|
-
m.delete(h),
|
|
67
|
+
if (g.addEventListener("abort", w, { once: !0 }), l) {
|
|
68
|
+
$e(u, l).then(k).catch((v) => {
|
|
69
|
+
m.delete(h), f.onError(v instanceof Error ? v : /* @__PURE__ */ new Error("Failed to read image attachment"));
|
|
70
70
|
});
|
|
71
71
|
return;
|
|
72
72
|
}
|
|
73
|
-
k(
|
|
73
|
+
k(u);
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
|
-
function
|
|
76
|
+
function Me(e) {
|
|
77
77
|
const t = window;
|
|
78
78
|
(t.__GENGAGE_AGENTIC_DEBUG_RECORD__ || t.__GENGAGE_AGENTIC_DEBUG_RECORD_BE__)?.(e);
|
|
79
79
|
}
|
|
@@ -81,22 +81,22 @@ function _t() {
|
|
|
81
81
|
const e = window;
|
|
82
82
|
return typeof (e.__GENGAGE_AGENTIC_DEBUG_RECORD__ || e.__GENGAGE_AGENTIC_DEBUG_RECORD_BE__) == "function";
|
|
83
83
|
}
|
|
84
|
-
function St({ accountId: e, accountModule: t, beUrl: r, devJwtSecret: n, tokenBrokerUrl: o, tokenBrokerAudience: i, defaultLocale: a, tools: s = {}, beacon:
|
|
84
|
+
function St({ accountId: e, accountModule: t, beUrl: r, devJwtSecret: n, tokenBrokerUrl: o, tokenBrokerAudience: i, defaultLocale: a, tools: s = {}, beacon: d, confirmation: c, memory: p }) {
|
|
85
85
|
let b = null;
|
|
86
86
|
const m = Et({
|
|
87
87
|
accountId: e,
|
|
88
88
|
tools: s,
|
|
89
|
-
beacon:
|
|
90
|
-
confirmation:
|
|
91
|
-
memory:
|
|
92
|
-
}),
|
|
89
|
+
beacon: d,
|
|
90
|
+
confirmation: c,
|
|
91
|
+
memory: p ?? Be()
|
|
92
|
+
}), u = gt(m), f = Oe({
|
|
93
93
|
accountId: e,
|
|
94
94
|
...n ? { devJwtSecret: n } : {},
|
|
95
95
|
...o ? { tokenBrokerUrl: o } : {},
|
|
96
96
|
...i ? { tokenBrokerAudience: i } : {}
|
|
97
97
|
});
|
|
98
|
-
return async (g,
|
|
99
|
-
const k = await
|
|
98
|
+
return async (g, l, h, w) => {
|
|
99
|
+
const k = await $e(g || {}, w);
|
|
100
100
|
b ||= new mt({
|
|
101
101
|
accountId: e,
|
|
102
102
|
locale: k?.locale || a,
|
|
@@ -109,40 +109,40 @@ function St({ accountId: e, accountModule: t, beUrl: r, devJwtSecret: n, tokenBr
|
|
|
109
109
|
threadTtlMs: t.contextPersistence?.threadTtlMs
|
|
110
110
|
});
|
|
111
111
|
try {
|
|
112
|
-
await
|
|
112
|
+
await pt({
|
|
113
113
|
request: k,
|
|
114
114
|
accountModule: {
|
|
115
115
|
...t,
|
|
116
116
|
accountId: e,
|
|
117
117
|
trace: async (v) => {
|
|
118
|
-
|
|
118
|
+
Me({
|
|
119
119
|
kind: "flow/trace",
|
|
120
120
|
event: v
|
|
121
121
|
}), await t.trace?.(v);
|
|
122
122
|
}
|
|
123
123
|
},
|
|
124
124
|
contextStore: b,
|
|
125
|
-
beClient: { invoke({ op: v, input: T, signal: x, cacheTtlS: C, cacheKey:
|
|
125
|
+
beClient: { invoke({ op: v, input: T, signal: x, cacheTtlS: C, cacheKey: M, browserCache: H }) {
|
|
126
126
|
return ht({
|
|
127
127
|
beUrl: r,
|
|
128
128
|
accountId: e,
|
|
129
|
-
jwtProvider:
|
|
129
|
+
jwtProvider: f,
|
|
130
130
|
parentUrl: window.location.href,
|
|
131
131
|
op: v,
|
|
132
132
|
input: T,
|
|
133
133
|
cacheTtlS: C,
|
|
134
|
-
cacheKey:
|
|
135
|
-
browserCache:
|
|
134
|
+
cacheKey: M,
|
|
135
|
+
browserCache: H,
|
|
136
136
|
...x ? { signal: x } : {}
|
|
137
137
|
});
|
|
138
138
|
} },
|
|
139
|
-
toolBridge:
|
|
140
|
-
emit: (v) => oe(
|
|
139
|
+
toolBridge: u,
|
|
140
|
+
emit: (v) => oe(l, v),
|
|
141
141
|
rpc: m,
|
|
142
142
|
signal: h
|
|
143
143
|
});
|
|
144
144
|
} catch (v) {
|
|
145
|
-
h?.aborted || (oe(
|
|
145
|
+
h?.aborted || (oe(l, wt(v)), l.onDone());
|
|
146
146
|
}
|
|
147
147
|
};
|
|
148
148
|
}
|
|
@@ -151,14 +151,14 @@ function Et({ accountId: e, tools: t, beacon: r, confirmation: n, memory: o }) {
|
|
|
151
151
|
...a,
|
|
152
152
|
accountId: a.accountId || e
|
|
153
153
|
});
|
|
154
|
-
return ((a, s) =>
|
|
154
|
+
return ((a, s) => ft(a, s, {
|
|
155
155
|
tools: t,
|
|
156
156
|
beacon: i,
|
|
157
157
|
confirmation: n,
|
|
158
158
|
memory: o
|
|
159
159
|
}));
|
|
160
160
|
}
|
|
161
|
-
async function
|
|
161
|
+
async function $e(e, t) {
|
|
162
162
|
if (!t || !t.type?.startsWith("image/")) return e;
|
|
163
163
|
const r = await At(t), n = {
|
|
164
164
|
...Tt(e.payload ?? e.action?.payload),
|
|
@@ -197,7 +197,7 @@ async function Rt(e) {
|
|
|
197
197
|
const a = i.getContext("2d");
|
|
198
198
|
if (!a) return null;
|
|
199
199
|
a.drawImage(t, 0, 0, n, o);
|
|
200
|
-
const s = await new Promise((
|
|
200
|
+
const s = await new Promise((d) => i.toBlob(d, "image/jpeg", xt));
|
|
201
201
|
return s ? {
|
|
202
202
|
dataUrl: await De(s),
|
|
203
203
|
mime: s.type || "image/jpeg"
|
|
@@ -328,56 +328,56 @@ function Te(e, t) {
|
|
|
328
328
|
}
|
|
329
329
|
};
|
|
330
330
|
}
|
|
331
|
-
function
|
|
331
|
+
function Ft(e, t) {
|
|
332
332
|
const r = t.dbName || `gengage-${e}`, n = t.dbStore || Lt, o = t.dbVersion || jt, i = /* @__PURE__ */ new Map();
|
|
333
333
|
let a = null;
|
|
334
334
|
const s = () => "indexedDB" in window ? a || (a = new Promise((m) => {
|
|
335
|
-
const
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
},
|
|
335
|
+
const u = indexedDB.open(r, o);
|
|
336
|
+
u.onupgradeneeded = () => {
|
|
337
|
+
u.result.createObjectStore(n, { keyPath: "key" });
|
|
338
|
+
}, u.onsuccess = () => m(u.result), u.onerror = () => m(null), u.onblocked = () => m(null);
|
|
339
339
|
}), a) : Promise.resolve(null);
|
|
340
340
|
return {
|
|
341
341
|
volatileEntries: i,
|
|
342
342
|
idbGet: async (m) => {
|
|
343
|
-
const
|
|
344
|
-
return
|
|
345
|
-
const g =
|
|
346
|
-
|
|
347
|
-
const h =
|
|
343
|
+
const u = await s();
|
|
344
|
+
return u ? new Promise((f) => {
|
|
345
|
+
const g = u.transaction(n, "readwrite").objectStore(n), l = g.get(m);
|
|
346
|
+
l.onsuccess = () => {
|
|
347
|
+
const h = l.result;
|
|
348
348
|
if (!h || U(h)) {
|
|
349
|
-
h && g.delete(m),
|
|
349
|
+
h && g.delete(m), f(null);
|
|
350
350
|
return;
|
|
351
351
|
}
|
|
352
|
-
|
|
353
|
-
},
|
|
352
|
+
f(h.value);
|
|
353
|
+
}, l.onerror = () => f(null);
|
|
354
354
|
}) : null;
|
|
355
355
|
},
|
|
356
|
-
idbSet: async (m,
|
|
356
|
+
idbSet: async (m, u, f = {}) => {
|
|
357
357
|
const g = await s();
|
|
358
|
-
return g ? new Promise((
|
|
358
|
+
return g ? new Promise((l) => {
|
|
359
359
|
const h = g.transaction(n, "readwrite");
|
|
360
|
-
h.oncomplete = () =>
|
|
360
|
+
h.oncomplete = () => l(!0), h.onerror = () => l(!1), h.objectStore(n).put({
|
|
361
361
|
key: m,
|
|
362
|
-
...de(
|
|
362
|
+
...de(u, f.ttlMs)
|
|
363
363
|
});
|
|
364
364
|
}) : !1;
|
|
365
365
|
},
|
|
366
366
|
idbRemove: async (m) => {
|
|
367
|
-
const
|
|
368
|
-
|
|
367
|
+
const u = await s();
|
|
368
|
+
u && u.transaction(n, "readwrite").objectStore(n).delete(m);
|
|
369
369
|
},
|
|
370
370
|
idbGc: async () => {
|
|
371
371
|
const m = await s();
|
|
372
|
-
return m ? new Promise((
|
|
373
|
-
let
|
|
374
|
-
const g = m.transaction(n, "readwrite"),
|
|
375
|
-
|
|
376
|
-
const h =
|
|
372
|
+
return m ? new Promise((u) => {
|
|
373
|
+
let f = 0;
|
|
374
|
+
const g = m.transaction(n, "readwrite"), l = g.objectStore(n).openCursor();
|
|
375
|
+
l.onsuccess = () => {
|
|
376
|
+
const h = l.result;
|
|
377
377
|
if (!h) return;
|
|
378
378
|
const w = h.value;
|
|
379
|
-
(!w || U(w)) && (h.delete(),
|
|
380
|
-
}, g.oncomplete = () =>
|
|
379
|
+
(!w || U(w)) && (h.delete(), f += 1), h.continue();
|
|
380
|
+
}, g.oncomplete = () => u(f), g.onerror = () => u(f), l.onerror = () => u(f);
|
|
381
381
|
}) : 0;
|
|
382
382
|
}
|
|
383
383
|
};
|
|
@@ -385,29 +385,29 @@ function Bt(e, t) {
|
|
|
385
385
|
function Ge(e, t = {}) {
|
|
386
386
|
const r = window, n = r.gengage || (r.gengage = {}), o = n.memory || (n.memory = {}), i = o[e];
|
|
387
387
|
if (i) return i;
|
|
388
|
-
const a = _e.get(e) ||
|
|
388
|
+
const a = _e.get(e) || Ft(e, t);
|
|
389
389
|
_e.set(e, a);
|
|
390
|
-
const s = t.sessionPrefix || `gengage:${e}:session:`,
|
|
391
|
-
get: (
|
|
392
|
-
const h = a.volatileEntries.get(
|
|
393
|
-
return h ? U(h) ? (a.volatileEntries.delete(
|
|
390
|
+
const s = t.sessionPrefix || `gengage:${e}:session:`, d = t.localPrefix || `gengage:${e}:local:`, c = Ee("sessionStorage"), p = Ee("localStorage"), m = {
|
|
391
|
+
get: (l) => {
|
|
392
|
+
const h = a.volatileEntries.get(l);
|
|
393
|
+
return h ? U(h) ? (a.volatileEntries.delete(l), null) : h.value : null;
|
|
394
394
|
},
|
|
395
|
-
set: (
|
|
396
|
-
remove: (
|
|
397
|
-
a.volatileEntries.delete(
|
|
395
|
+
set: (l, h, w = {}) => (a.volatileEntries.set(l, de(h, w.ttlMs)), !0),
|
|
396
|
+
remove: (l) => {
|
|
397
|
+
a.volatileEntries.delete(l);
|
|
398
398
|
},
|
|
399
399
|
clear: () => a.volatileEntries.clear()
|
|
400
|
-
},
|
|
400
|
+
}, u = {
|
|
401
401
|
get: a.idbGet,
|
|
402
402
|
set: a.idbSet,
|
|
403
403
|
remove: a.idbRemove
|
|
404
|
-
},
|
|
405
|
-
let
|
|
404
|
+
}, f = async () => {
|
|
405
|
+
let l = 0;
|
|
406
406
|
for (const [v, T] of a.volatileEntries)
|
|
407
|
-
U(T) && (a.volatileEntries.delete(v),
|
|
408
|
-
const h = Se(
|
|
407
|
+
U(T) && (a.volatileEntries.delete(v), l += 1);
|
|
408
|
+
const h = Se(c, s), w = Se(p, d), k = await a.idbGc();
|
|
409
409
|
return {
|
|
410
|
-
volatile:
|
|
410
|
+
volatile: l,
|
|
411
411
|
session: h,
|
|
412
412
|
local: w,
|
|
413
413
|
indexedDb: k
|
|
@@ -415,10 +415,10 @@ function Ge(e, t = {}) {
|
|
|
415
415
|
}, g = {
|
|
416
416
|
accountId: e,
|
|
417
417
|
volatile: m,
|
|
418
|
-
session: Te(
|
|
419
|
-
local: Te(
|
|
420
|
-
indexedDb:
|
|
421
|
-
gc:
|
|
418
|
+
session: Te(c, s),
|
|
419
|
+
local: Te(p, d),
|
|
420
|
+
indexedDb: u,
|
|
421
|
+
gc: f,
|
|
422
422
|
stableKey: ue,
|
|
423
423
|
policy: {
|
|
424
424
|
...Nt,
|
|
@@ -426,10 +426,10 @@ function Ge(e, t = {}) {
|
|
|
426
426
|
}
|
|
427
427
|
};
|
|
428
428
|
o[e] = g;
|
|
429
|
-
for (const
|
|
430
|
-
return
|
|
429
|
+
for (const l of t.aliases || []) o[l] = g;
|
|
430
|
+
return Bt(g), g;
|
|
431
431
|
}
|
|
432
|
-
function
|
|
432
|
+
function Bt(e) {
|
|
433
433
|
const t = window, r = () => {
|
|
434
434
|
e.gc().catch(() => {
|
|
435
435
|
});
|
|
@@ -440,34 +440,34 @@ function Ot(e) {
|
|
|
440
440
|
}
|
|
441
441
|
setTimeout(r, 5e3);
|
|
442
442
|
}
|
|
443
|
-
var V = "__gengageAgentFetchBridge",
|
|
443
|
+
var V = "__gengageAgentFetchBridge", Ot = 1e3 * 60 * 60 * 24 * 14;
|
|
444
444
|
function Wi({ accountId: e, streamTransport: t, endpoints: r = {}, endpointCache: n }) {
|
|
445
445
|
if (!e) throw new Error("accountId is required.");
|
|
446
446
|
if (typeof t != "function") throw new Error("streamTransport is required.");
|
|
447
|
-
const o =
|
|
447
|
+
const o = Mt(), i = `https://gengage-injector.invalid/${encodeURIComponent(e)}`, a = /* @__PURE__ */ new Set(), s = n ? Wt({
|
|
448
448
|
accountId: e,
|
|
449
449
|
endpointCache: n,
|
|
450
450
|
fetchImpl: o.originalFetch
|
|
451
|
-
}) : void 0,
|
|
452
|
-
const
|
|
453
|
-
a.add(
|
|
454
|
-
const b = r[
|
|
451
|
+
}) : void 0, d = (c) => {
|
|
452
|
+
const p = `${i}/chat/${c}`;
|
|
453
|
+
a.add(p);
|
|
454
|
+
const b = r[c], m = {
|
|
455
455
|
streamTransport: t,
|
|
456
|
-
endpoint:
|
|
456
|
+
endpoint: c
|
|
457
457
|
};
|
|
458
|
-
b && (m.endpointHandler = b), s && (m.endpointCache = s), o.routes.set(
|
|
458
|
+
b && (m.endpointHandler = b), s && (m.endpointCache = s), o.routes.set(p, m);
|
|
459
459
|
};
|
|
460
|
-
|
|
461
|
-
for (const
|
|
460
|
+
d("process_action");
|
|
461
|
+
for (const c of Object.keys(r)) c !== "process_action" && d(c);
|
|
462
462
|
return {
|
|
463
463
|
middlewareUrl: i,
|
|
464
464
|
stop() {
|
|
465
|
-
for (const
|
|
466
|
-
|
|
465
|
+
for (const c of a) o.routes.delete(c);
|
|
466
|
+
$t(o);
|
|
467
467
|
}
|
|
468
468
|
};
|
|
469
469
|
}
|
|
470
|
-
function
|
|
470
|
+
function Mt() {
|
|
471
471
|
const e = window, t = e[V];
|
|
472
472
|
if (t) return t;
|
|
473
473
|
const r = e.fetch.bind(e), n = {
|
|
@@ -480,7 +480,7 @@ function $t() {
|
|
|
480
480
|
return s ? Gt(s, o, i) : r(o, i);
|
|
481
481
|
}, e.fetch = n.installedFetch, e[V] = n, n;
|
|
482
482
|
}
|
|
483
|
-
function
|
|
483
|
+
function $t(e) {
|
|
484
484
|
if (e.routes.size > 0) return;
|
|
485
485
|
const t = window;
|
|
486
486
|
t.fetch === e.installedFetch && (t.fetch = e.originalFetch), t[V] === e && delete t[V];
|
|
@@ -509,96 +509,96 @@ async function Dt(e, t) {
|
|
|
509
509
|
}
|
|
510
510
|
async function Gt(e, t, r) {
|
|
511
511
|
if (e.endpoint && e.endpoint !== "process_action" && e.endpointHandler) {
|
|
512
|
-
const
|
|
512
|
+
const c = new AbortController(), p = Ce(t, r);
|
|
513
513
|
let b = null;
|
|
514
|
-
if (
|
|
515
|
-
const m = () =>
|
|
516
|
-
|
|
514
|
+
if (p) {
|
|
515
|
+
const m = () => c.abort();
|
|
516
|
+
p.aborted && m(), p.addEventListener("abort", m, { once: !0 }), b = () => p.removeEventListener("abort", m);
|
|
517
517
|
}
|
|
518
518
|
try {
|
|
519
|
-
const m = await zt(t, r),
|
|
519
|
+
const m = await zt(t, r), u = {
|
|
520
520
|
accountId: Ht(t),
|
|
521
521
|
endpoint: e.endpoint,
|
|
522
|
-
signal:
|
|
523
|
-
},
|
|
524
|
-
if (
|
|
525
|
-
const
|
|
526
|
-
if (
|
|
522
|
+
signal: c.signal
|
|
523
|
+
}, f = Vt(e.endpointCache, e.endpoint, m, u.accountId);
|
|
524
|
+
if (f) {
|
|
525
|
+
const l = await Kt(e.endpointCache, f, c.signal);
|
|
526
|
+
if (l) return er(l);
|
|
527
527
|
}
|
|
528
|
-
const g = await e.endpointHandler(m,
|
|
529
|
-
return
|
|
528
|
+
const g = await e.endpointHandler(m, u);
|
|
529
|
+
return f && g.ok && await Jt(e.endpointCache, f, g.clone(), c.signal), g;
|
|
530
530
|
} finally {
|
|
531
531
|
b?.();
|
|
532
532
|
}
|
|
533
533
|
}
|
|
534
534
|
const n = new TextEncoder(), o = new AbortController(), i = Ce(t, r);
|
|
535
535
|
let a = !1, s = null;
|
|
536
|
-
const
|
|
537
|
-
async start(
|
|
538
|
-
const
|
|
539
|
-
a ||
|
|
536
|
+
const d = new ReadableStream({
|
|
537
|
+
async start(c) {
|
|
538
|
+
const p = (u) => {
|
|
539
|
+
a || c.enqueue(n.encode(`${JSON.stringify(u)}
|
|
540
540
|
`));
|
|
541
541
|
}, b = () => {
|
|
542
|
-
a || (a = !0, s?.(),
|
|
543
|
-
}, m = (
|
|
544
|
-
|
|
542
|
+
a || (a = !0, s?.(), c.close());
|
|
543
|
+
}, m = (u) => {
|
|
544
|
+
p({
|
|
545
545
|
type: "error",
|
|
546
|
-
code:
|
|
547
|
-
message:
|
|
548
|
-
}),
|
|
546
|
+
code: u?.code || "agent_bridge_error",
|
|
547
|
+
message: u instanceof Error ? u.message : String(u)
|
|
548
|
+
}), p({ type: "done" }), b();
|
|
549
549
|
};
|
|
550
550
|
if (i) {
|
|
551
|
-
const
|
|
552
|
-
o.abort(), a || (a = !0, s?.(),
|
|
551
|
+
const u = () => {
|
|
552
|
+
o.abort(), a || (a = !0, s?.(), c.error(new DOMException("Aborted", "AbortError")));
|
|
553
553
|
};
|
|
554
554
|
if (i.aborted) {
|
|
555
|
-
|
|
555
|
+
u();
|
|
556
556
|
return;
|
|
557
557
|
}
|
|
558
|
-
i.addEventListener("abort",
|
|
558
|
+
i.addEventListener("abort", u, { once: !0 }), s = () => i.removeEventListener("abort", u);
|
|
559
559
|
}
|
|
560
560
|
try {
|
|
561
|
-
const { request:
|
|
562
|
-
onTextChunk: (
|
|
561
|
+
const { request: u, attachment: f } = await Dt(t, r), g = e.streamTransport(u, {
|
|
562
|
+
onTextChunk: (l, h, w = {}) => p({
|
|
563
563
|
type: "text_chunk",
|
|
564
|
-
content:
|
|
564
|
+
content: l,
|
|
565
565
|
final: h === !0,
|
|
566
566
|
...w
|
|
567
567
|
}),
|
|
568
|
-
onUISpec: (
|
|
568
|
+
onUISpec: (l, h, w, k) => p({
|
|
569
569
|
type: "ui_spec",
|
|
570
|
-
spec:
|
|
570
|
+
spec: l,
|
|
571
571
|
widget: h,
|
|
572
572
|
...w ? { panelHint: w } : {},
|
|
573
573
|
...k ? { clearPanel: !0 } : {}
|
|
574
574
|
}),
|
|
575
|
-
onAction: (
|
|
576
|
-
|
|
575
|
+
onAction: (l) => {
|
|
576
|
+
p(l?.type === "action" ? l : {
|
|
577
577
|
type: "action",
|
|
578
|
-
action:
|
|
578
|
+
action: l
|
|
579
579
|
});
|
|
580
580
|
},
|
|
581
|
-
onMetadata: (
|
|
582
|
-
|
|
581
|
+
onMetadata: (l) => {
|
|
582
|
+
p(l?.type === "metadata" ? l : {
|
|
583
583
|
type: "metadata",
|
|
584
|
-
...
|
|
584
|
+
...l
|
|
585
585
|
});
|
|
586
586
|
},
|
|
587
587
|
onError: m,
|
|
588
588
|
onDone: () => {
|
|
589
|
-
|
|
589
|
+
p({ type: "done" }), b();
|
|
590
590
|
}
|
|
591
|
-
}, o.signal,
|
|
592
|
-
or(g) && (await g, o.signal.aborted || (
|
|
593
|
-
} catch (
|
|
594
|
-
o.signal.aborted || m(
|
|
591
|
+
}, o.signal, f);
|
|
592
|
+
or(g) && (await g, o.signal.aborted || (p({ type: "done" }), b()));
|
|
593
|
+
} catch (u) {
|
|
594
|
+
o.signal.aborted || m(u);
|
|
595
595
|
}
|
|
596
596
|
},
|
|
597
597
|
cancel() {
|
|
598
598
|
o.abort(), s?.(), a = !0;
|
|
599
599
|
}
|
|
600
600
|
});
|
|
601
|
-
return new Response(
|
|
601
|
+
return new Response(d, {
|
|
602
602
|
status: 200,
|
|
603
603
|
headers: { "Content-Type": "application/x-ndjson" }
|
|
604
604
|
});
|
|
@@ -620,10 +620,10 @@ function Wt({ accountId: e, endpointCache: t, fetchImpl: r }) {
|
|
|
620
620
|
accountId: e,
|
|
621
621
|
beUrl: t.beUrl,
|
|
622
622
|
...t.parentUrl ? { parentUrl: t.parentUrl } : {},
|
|
623
|
-
ttlMs: t.ttlMs ??
|
|
623
|
+
ttlMs: t.ttlMs ?? Ot,
|
|
624
624
|
policies: t.policies,
|
|
625
625
|
fetchImpl: r,
|
|
626
|
-
jwtProvider:
|
|
626
|
+
jwtProvider: Oe({
|
|
627
627
|
accountId: e,
|
|
628
628
|
...t.devJwtSecret ? { devJwtSecret: t.devJwtSecret } : {},
|
|
629
629
|
...t.tokenBrokerUrl ? { tokenBrokerUrl: t.tokenBrokerUrl } : {},
|
|
@@ -759,20 +759,20 @@ function nr(e) {
|
|
|
759
759
|
function or(e) {
|
|
760
760
|
return e !== null && (typeof e == "object" || typeof e == "function") && typeof e.then == "function";
|
|
761
761
|
}
|
|
762
|
-
function Vi({ accountId: e, beUrl: t, devJwtSecret: r, tokenBrokerUrl: n, tokenBrokerAudience: o, workerUrl: i, defaultLocale: a = "en-GB", accountModule: s, tools:
|
|
762
|
+
function Vi({ accountId: e, beUrl: t, devJwtSecret: r, tokenBrokerUrl: n, tokenBrokerAudience: o, workerUrl: i, defaultLocale: a = "en-GB", accountModule: s, tools: d = {}, beacon: c, confirmation: p, memory: b, allowBlobWorker: m = !1, signal: u }) {
|
|
763
763
|
if (!e) throw new Error("accountId is required.");
|
|
764
764
|
if (!t) throw new Error("beUrl is required. The injector owns backend URLs; the SDK has no default.");
|
|
765
765
|
if (!i) throw new Error("workerUrl is required.");
|
|
766
|
-
const
|
|
767
|
-
if (
|
|
766
|
+
const f = window, g = f.GengageAssistantInjector || (f.GengageAssistantInjector = {}), l = g[e] || (g[e] = {});
|
|
767
|
+
if (l.agentController) return l.agentController;
|
|
768
768
|
const h = Ze(i) || m ? ir(i, `gengage-${e}-agent`, { allowBlobWorker: m }) : null;
|
|
769
|
-
h ||
|
|
769
|
+
h || c?.({
|
|
770
770
|
type: "agentRuntime",
|
|
771
771
|
accountId: e,
|
|
772
772
|
transport: "main-thread",
|
|
773
773
|
reason: "cross-origin-worker-url",
|
|
774
774
|
workerUrl: i
|
|
775
|
-
}),
|
|
775
|
+
}), l.streamTransport = h ? kt({
|
|
776
776
|
accountId: e,
|
|
777
777
|
worker: h.worker,
|
|
778
778
|
beUrl: t,
|
|
@@ -780,9 +780,9 @@ function Vi({ accountId: e, beUrl: t, devJwtSecret: r, tokenBrokerUrl: n, tokenB
|
|
|
780
780
|
...n ? { tokenBrokerUrl: n } : {},
|
|
781
781
|
...o ? { tokenBrokerAudience: o } : {},
|
|
782
782
|
defaultLocale: a,
|
|
783
|
-
tools:
|
|
784
|
-
...
|
|
785
|
-
...
|
|
783
|
+
tools: d,
|
|
784
|
+
...c ? { beacon: c } : {},
|
|
785
|
+
...p ? { confirmation: p } : {},
|
|
786
786
|
...b ? { memory: b } : {}
|
|
787
787
|
}) : St({
|
|
788
788
|
accountId: e,
|
|
@@ -792,9 +792,9 @@ function Vi({ accountId: e, beUrl: t, devJwtSecret: r, tokenBrokerUrl: n, tokenB
|
|
|
792
792
|
...n ? { tokenBrokerUrl: n } : {},
|
|
793
793
|
...o ? { tokenBrokerAudience: o } : {},
|
|
794
794
|
defaultLocale: a,
|
|
795
|
-
tools:
|
|
796
|
-
...
|
|
797
|
-
...
|
|
795
|
+
tools: d,
|
|
796
|
+
...c ? { beacon: c } : {},
|
|
797
|
+
...p ? { confirmation: p } : {},
|
|
798
798
|
...b ? { memory: b } : {}
|
|
799
799
|
});
|
|
800
800
|
const w = new AbortController(), k = [], v = () => {
|
|
@@ -806,9 +806,9 @@ function Vi({ accountId: e, beUrl: t, devJwtSecret: r, tokenBrokerUrl: n, tokenB
|
|
|
806
806
|
}
|
|
807
807
|
}
|
|
808
808
|
}, T = () => {
|
|
809
|
-
w.signal.aborted || (w.abort(),
|
|
809
|
+
w.signal.aborted || (w.abort(), u?.removeEventListener("abort", T), delete l.streamTransport, h?.worker.terminate(), h?.cleanup(), v(), delete l.agentController);
|
|
810
810
|
};
|
|
811
|
-
|
|
811
|
+
u?.addEventListener("abort", T, { once: !0 });
|
|
812
812
|
const x = {
|
|
813
813
|
type: "agent",
|
|
814
814
|
signal: w.signal,
|
|
@@ -834,7 +834,7 @@ function Vi({ accountId: e, beUrl: t, devJwtSecret: r, tokenBrokerUrl: n, tokenB
|
|
|
834
834
|
};
|
|
835
835
|
}
|
|
836
836
|
};
|
|
837
|
-
return
|
|
837
|
+
return l.agentController = x, x;
|
|
838
838
|
}
|
|
839
839
|
function Ze(e) {
|
|
840
840
|
const t = new URL(e, window.location.href);
|
|
@@ -972,38 +972,38 @@ function ra({ accountId: e, getPageType: t, getProduct: r, getToolNames: n, getS
|
|
|
972
972
|
}
|
|
973
973
|
function na({ accountId: e, runtimeFile: t = "runtime.js", startExport: r = "start", globalBaseUrlKey: n, errorLabel: o, trustedRuntimeOrigins: i } = {}) {
|
|
974
974
|
if (!e) throw new Error("accountId is required.");
|
|
975
|
-
const a = o || e, s = window,
|
|
976
|
-
const
|
|
975
|
+
const a = o || e, s = window, d = () => {
|
|
976
|
+
const u = s.GengageInjectorConfig || {}, f = u[e] || {};
|
|
977
977
|
return {
|
|
978
|
-
...
|
|
979
|
-
...
|
|
978
|
+
...u,
|
|
979
|
+
...f
|
|
980
980
|
};
|
|
981
|
-
},
|
|
982
|
-
const
|
|
983
|
-
if (
|
|
984
|
-
const
|
|
985
|
-
if (!
|
|
986
|
-
return new URL(t,
|
|
987
|
-
},
|
|
988
|
-
if (i === !0) return
|
|
989
|
-
const
|
|
990
|
-
|
|
991
|
-
for (const h of i || [])
|
|
992
|
-
if (!g.has(
|
|
993
|
-
return
|
|
981
|
+
}, c = () => {
|
|
982
|
+
const u = d();
|
|
983
|
+
if (u.runtimeUrl) return u.runtimeUrl;
|
|
984
|
+
const f = u.assetBaseUrl || u.baseUrl || document.currentScript?.getAttribute("src") || (n ? s[n] : null);
|
|
985
|
+
if (!f) throw new Error(`${a} runtime URL cannot be resolved.`);
|
|
986
|
+
return new URL(t, f).href;
|
|
987
|
+
}, p = (u) => {
|
|
988
|
+
if (i === !0) return u;
|
|
989
|
+
const f = new URL(u, window.location.href).origin, g = /* @__PURE__ */ new Set([window.location.origin]), l = d();
|
|
990
|
+
$(g, document.currentScript?.getAttribute("src")), $(g, l.assetBaseUrl), $(g, l.baseUrl), $(g, n ? s[n] : void 0);
|
|
991
|
+
for (const h of i || []) $(g, h);
|
|
992
|
+
if (!g.has(f)) throw new Error(`${a} runtime origin ${f} is not trusted.`);
|
|
993
|
+
return u;
|
|
994
994
|
}, b = s.GengageAssistantInjector || (s.GengageAssistantInjector = {}), m = b[e] || (b[e] = {});
|
|
995
995
|
return m.loaderPromise || (m.loaderPromise = import(
|
|
996
996
|
/* @vite-ignore */
|
|
997
|
-
|
|
998
|
-
).then((
|
|
999
|
-
const
|
|
1000
|
-
if (typeof
|
|
1001
|
-
return
|
|
1002
|
-
}).catch((
|
|
1003
|
-
throw delete m.loaderPromise, console.error(`[Gengage][${e}] runtime load failed`,
|
|
997
|
+
p(c())
|
|
998
|
+
).then((u) => {
|
|
999
|
+
const f = u[r];
|
|
1000
|
+
if (typeof f != "function") throw new Error(`${a} runtime export ${r} is unavailable.`);
|
|
1001
|
+
return f();
|
|
1002
|
+
}).catch((u) => {
|
|
1003
|
+
throw delete m.loaderPromise, console.error(`[Gengage][${e}] runtime load failed`, u), u;
|
|
1004
1004
|
})), m.loaderPromise;
|
|
1005
1005
|
}
|
|
1006
|
-
function
|
|
1006
|
+
function $(e, t) {
|
|
1007
1007
|
if (t)
|
|
1008
1008
|
try {
|
|
1009
1009
|
const r = new URL(t, window.location.href);
|
|
@@ -1013,7 +1013,7 @@ function M(e, t) {
|
|
|
1013
1013
|
}
|
|
1014
1014
|
}
|
|
1015
1015
|
var dr = 500, Ae = "__GENGAGE_AGENTIC_ACTIVITY__";
|
|
1016
|
-
function
|
|
1016
|
+
function pr({ accountId: e, clock: t = () => Date.now() } = {}) {
|
|
1017
1017
|
const r = /* @__PURE__ */ new Set();
|
|
1018
1018
|
let n = 1;
|
|
1019
1019
|
const o = {
|
|
@@ -1028,7 +1028,7 @@ function fr({ accountId: e, clock: t = () => Date.now() } = {}) {
|
|
|
1028
1028
|
...a
|
|
1029
1029
|
});
|
|
1030
1030
|
o.entries.push(s), o.entries.length > dr && (o.entries = o.entries.slice(-500));
|
|
1031
|
-
for (const
|
|
1031
|
+
for (const d of r) d(s, o.entries);
|
|
1032
1032
|
return s;
|
|
1033
1033
|
}
|
|
1034
1034
|
return {
|
|
@@ -1047,10 +1047,10 @@ function fr({ accountId: e, clock: t = () => Date.now() } = {}) {
|
|
|
1047
1047
|
}
|
|
1048
1048
|
};
|
|
1049
1049
|
}
|
|
1050
|
-
function
|
|
1050
|
+
function fr(e) {
|
|
1051
1051
|
const t = window[Ae];
|
|
1052
1052
|
if (t?.accountId === e && typeof t.record == "function") return t;
|
|
1053
|
-
const r =
|
|
1053
|
+
const r = pr({ accountId: e });
|
|
1054
1054
|
return window[Ae] = r, r;
|
|
1055
1055
|
}
|
|
1056
1056
|
function mr(e) {
|
|
@@ -1107,7 +1107,7 @@ function yr(e) {
|
|
|
1107
1107
|
}
|
|
1108
1108
|
return t === "flow/ui" ? e?.widget ? `UI: ${e.widget}` : "UI" : t.startsWith("flow/") ? "Flow lifecycle" : t.startsWith("intent/") ? e?.intent?.kind ? `Intent: ${e.intent.kind}` : "Intent" : t === "beacon" ? e?.payload?.type ? `Beacon: ${e.payload.type}` : "Beacon" : e?.section || "Runtime";
|
|
1109
1109
|
}
|
|
1110
|
-
var wr = 8,
|
|
1110
|
+
var wr = 8, pe = 120;
|
|
1111
1111
|
function vr(e = []) {
|
|
1112
1112
|
const t = Array.isArray(e) ? e : [], r = {
|
|
1113
1113
|
status: "idle",
|
|
@@ -1149,7 +1149,7 @@ function Y(e, t = "") {
|
|
|
1149
1149
|
pageProduct: Ur(e.product || e.page?.product),
|
|
1150
1150
|
products: I(e.products || e.last_search_products || e.items),
|
|
1151
1151
|
ui: Qe(e.spec),
|
|
1152
|
-
intent:
|
|
1152
|
+
intent: fe(e.intent),
|
|
1153
1153
|
route: Q({
|
|
1154
1154
|
searchParams: e.searchParams || e.search_params,
|
|
1155
1155
|
flowParams: e.flowParams || e.flow_params
|
|
@@ -1183,7 +1183,7 @@ function Qe(e, t = "", r = "") {
|
|
|
1183
1183
|
productCount: i?.count,
|
|
1184
1184
|
productSkus: i?.skus,
|
|
1185
1185
|
buttonCount: a.length || void 0,
|
|
1186
|
-
buttonLabels: a.length ? q(a.map((
|
|
1186
|
+
buttonLabels: a.length ? q(a.map((d) => d.label || d.title)) : void 0,
|
|
1187
1187
|
comparisonRows: s
|
|
1188
1188
|
});
|
|
1189
1189
|
}
|
|
@@ -1203,7 +1203,7 @@ function xr(e, t, r = {}) {
|
|
|
1203
1203
|
Sr(e, t, r);
|
|
1204
1204
|
break;
|
|
1205
1205
|
case "flow/text-final":
|
|
1206
|
-
t.lastText = y(r.content,
|
|
1206
|
+
t.lastText = y(r.content, pe), S(e, r, "Text", t.lastText, "done");
|
|
1207
1207
|
break;
|
|
1208
1208
|
case "flow/done":
|
|
1209
1209
|
e.status = e.status === "error" ? "error" : "done", e.current = "Done", S(e, r, "Done", "Flow completed", "done");
|
|
@@ -1229,7 +1229,7 @@ function xr(e, t, r = {}) {
|
|
|
1229
1229
|
e.beOps.push(r.op || r.result?.op || "unknown"), Cr(t, r.result), S(e, r, "BE", r.op || r.result?.intent?.kind || "response", r.severity || "done");
|
|
1230
1230
|
break;
|
|
1231
1231
|
case "intent/selected":
|
|
1232
|
-
t.intent =
|
|
1232
|
+
t.intent = fe(r.intent), t.route = Q({
|
|
1233
1233
|
searchParams: r.searchParams,
|
|
1234
1234
|
flowParams: r.flowParams
|
|
1235
1235
|
}), e.current = `Intent: ${t.intent?.kind || "selected"}`, S(e, r, "Intent", t.intent?.kind || "selected", "done");
|
|
@@ -1256,7 +1256,7 @@ function Sr(e, t, r) {
|
|
|
1256
1256
|
}
|
|
1257
1257
|
function Er(e, t) {
|
|
1258
1258
|
const r = t.event || {}, n = y(r.type || "trace"), o = y(r.stepName || r.stepKind || "");
|
|
1259
|
-
e.sessionId = y(r.sessionId || e.sessionId), e.current = o ? `${n}: ${o}` : n, S(e, t, "Trace", [n, o].filter(Boolean).join(" / ") || "trace",
|
|
1259
|
+
e.sessionId = y(r.sessionId || e.sessionId), e.current = o ? `${n}: ${o}` : n, S(e, t, "Trace", [n, o].filter(Boolean).join(" / ") || "trace", Fr(n));
|
|
1260
1260
|
}
|
|
1261
1261
|
function Tr(e, t) {
|
|
1262
1262
|
const r = t.params || {};
|
|
@@ -1269,7 +1269,7 @@ function Tr(e, t) {
|
|
|
1269
1269
|
}
|
|
1270
1270
|
function Cr(e, t) {
|
|
1271
1271
|
if (!t || typeof t != "object") return;
|
|
1272
|
-
t.intent && (e.intent =
|
|
1272
|
+
t.intent && (e.intent = fe(t.intent));
|
|
1273
1273
|
const r = Q({
|
|
1274
1274
|
searchParams: t.search_params,
|
|
1275
1275
|
flowParams: t.flow_params
|
|
@@ -1293,12 +1293,12 @@ function S(e, t, r, n, o = "done") {
|
|
|
1293
1293
|
id: t.id,
|
|
1294
1294
|
at: t.at,
|
|
1295
1295
|
label: r,
|
|
1296
|
-
detail: y(n,
|
|
1296
|
+
detail: y(n, pe),
|
|
1297
1297
|
status: o === "info" ? "done" : o,
|
|
1298
1298
|
kind: t.kind
|
|
1299
1299
|
}));
|
|
1300
1300
|
}
|
|
1301
|
-
function
|
|
1301
|
+
function fe(e) {
|
|
1302
1302
|
return !e || typeof e != "object" ? null : E({
|
|
1303
1303
|
kind: y(e.kind || e.intent || e.type),
|
|
1304
1304
|
target: y(e.target),
|
|
@@ -1394,17 +1394,17 @@ function te(e) {
|
|
|
1394
1394
|
function me(e) {
|
|
1395
1395
|
return Number.isFinite(Number(e)) ? Number(e) : void 0;
|
|
1396
1396
|
}
|
|
1397
|
-
function
|
|
1397
|
+
function Fr(e) {
|
|
1398
1398
|
return /error$/u.test(e) ? "error" : /start$/u.test(e) ? "running" : "done";
|
|
1399
1399
|
}
|
|
1400
|
-
function y(e, t =
|
|
1400
|
+
function y(e, t = pe) {
|
|
1401
1401
|
const r = String(e ?? "").replace(/\s+/gu, " ").trim();
|
|
1402
1402
|
return r.length > t ? `${r.slice(0, t - 1)}...` : r;
|
|
1403
1403
|
}
|
|
1404
1404
|
function E(e) {
|
|
1405
1405
|
return Object.fromEntries(Object.entries(e || {}).filter(([, t]) => t == null || t === "" ? !1 : Array.isArray(t) ? t.length > 0 : typeof t == "object" ? Object.keys(t).length > 0 : !0));
|
|
1406
1406
|
}
|
|
1407
|
-
function
|
|
1407
|
+
function Br(e, t) {
|
|
1408
1408
|
if (!e || typeof e != "object" || !t) return e;
|
|
1409
1409
|
const r = { ...e };
|
|
1410
1410
|
for (const [n, o] of Object.entries(e))
|
|
@@ -1415,55 +1415,55 @@ function Or(e, t) {
|
|
|
1415
1415
|
params: a
|
|
1416
1416
|
});
|
|
1417
1417
|
try {
|
|
1418
|
-
const
|
|
1418
|
+
const d = await o.call(this, a, ...s);
|
|
1419
1419
|
return t.record({
|
|
1420
1420
|
kind: "tool/done",
|
|
1421
1421
|
tool: n,
|
|
1422
1422
|
params: a,
|
|
1423
|
-
result: Zr(
|
|
1424
|
-
state: Y(
|
|
1425
|
-
}),
|
|
1426
|
-
} catch (
|
|
1423
|
+
result: Zr(d),
|
|
1424
|
+
state: Y(d, `tool:${n}`)
|
|
1425
|
+
}), d;
|
|
1426
|
+
} catch (d) {
|
|
1427
1427
|
throw t.record({
|
|
1428
1428
|
kind: "tool/error",
|
|
1429
1429
|
tool: n,
|
|
1430
1430
|
params: a,
|
|
1431
|
-
error:
|
|
1432
|
-
}),
|
|
1431
|
+
error: F(d)
|
|
1432
|
+
}), d;
|
|
1433
1433
|
}
|
|
1434
1434
|
}, Object.defineProperty(r[n], "__gengageActivityWrapped", { value: !0 }));
|
|
1435
1435
|
return r;
|
|
1436
1436
|
}
|
|
1437
|
-
function
|
|
1437
|
+
function Or(e, t) {
|
|
1438
1438
|
return t ? (r) => (t.record({
|
|
1439
1439
|
kind: "beacon",
|
|
1440
1440
|
payload: r
|
|
1441
1441
|
}), e?.(r)) : e;
|
|
1442
1442
|
}
|
|
1443
|
-
function
|
|
1443
|
+
function Mr(e, t) {
|
|
1444
1444
|
if (!t) return !1;
|
|
1445
1445
|
const r = window.GengageAssistantInjector?.[e], n = r?.streamTransport;
|
|
1446
1446
|
if (typeof n != "function" || n.__gengageActivityWrapped) return !1;
|
|
1447
|
-
const o = function(a, s,
|
|
1447
|
+
const o = function(a, s, d, c) {
|
|
1448
1448
|
t.record({
|
|
1449
1449
|
kind: "flow/request",
|
|
1450
1450
|
request: a
|
|
1451
1451
|
});
|
|
1452
1452
|
try {
|
|
1453
|
-
const
|
|
1454
|
-
return
|
|
1453
|
+
const p = n.call(this, a, Dr(s, t), d, c);
|
|
1454
|
+
return p && typeof p.then == "function" ? p.catch((b) => {
|
|
1455
1455
|
throw t.record({
|
|
1456
1456
|
kind: "flow/rejected",
|
|
1457
1457
|
requestType: a?.type,
|
|
1458
|
-
error:
|
|
1458
|
+
error: F(b)
|
|
1459
1459
|
}), b;
|
|
1460
|
-
}) :
|
|
1461
|
-
} catch (
|
|
1460
|
+
}) : p;
|
|
1461
|
+
} catch (p) {
|
|
1462
1462
|
throw t.record({
|
|
1463
1463
|
kind: "flow/thrown",
|
|
1464
1464
|
requestType: a?.type,
|
|
1465
|
-
error:
|
|
1466
|
-
}),
|
|
1465
|
+
error: F(p)
|
|
1466
|
+
}), p;
|
|
1467
1467
|
}
|
|
1468
1468
|
};
|
|
1469
1469
|
return Object.defineProperty(o, "__gengageActivityWrapped", { value: !0 }), r.streamTransport = o, t.record({
|
|
@@ -1471,49 +1471,49 @@ function $r(e, t) {
|
|
|
1471
1471
|
title: "streamTransport wrapped"
|
|
1472
1472
|
}), !0;
|
|
1473
1473
|
}
|
|
1474
|
-
function
|
|
1474
|
+
function $r({ accountId: e, collector: t, promptBaseUrl: r } = {}) {
|
|
1475
1475
|
if (!t || window.__GENGAGE_ACTIVITY_FETCH_PATCHED__) return;
|
|
1476
1476
|
window.__GENGAGE_ACTIVITY_FETCH_PATCHED__ = !0;
|
|
1477
1477
|
const n = window.fetch?.bind(window);
|
|
1478
1478
|
typeof n == "function" && (window.fetch = async (o, i) => {
|
|
1479
1479
|
const a = Vr(o, i), s = Jr(a.url);
|
|
1480
|
-
let
|
|
1481
|
-
s && (
|
|
1480
|
+
let d = "";
|
|
1481
|
+
s && (d = a.body?.op_name || a.body?.op || "unknown", t.record({
|
|
1482
1482
|
kind: "be/request",
|
|
1483
1483
|
source: "main-thread-fetch",
|
|
1484
1484
|
url: a.url,
|
|
1485
|
-
op:
|
|
1485
|
+
op: d,
|
|
1486
1486
|
opDomain: a.body?.op_domain || "",
|
|
1487
1487
|
prompt: await Gr({
|
|
1488
1488
|
accountId: e,
|
|
1489
|
-
opName:
|
|
1489
|
+
opName: d,
|
|
1490
1490
|
promptBaseUrl: r
|
|
1491
1491
|
}),
|
|
1492
1492
|
params: a.body?.op_payload || {},
|
|
1493
1493
|
rawBody: a.body
|
|
1494
1494
|
}));
|
|
1495
|
-
const
|
|
1496
|
-
return s &&
|
|
1497
|
-
const b = Yr(
|
|
1495
|
+
const c = await n(o, i);
|
|
1496
|
+
return s && c.clone().text().then((p) => {
|
|
1497
|
+
const b = Yr(p);
|
|
1498
1498
|
t.record({
|
|
1499
1499
|
kind: "be/response",
|
|
1500
1500
|
source: "main-thread-fetch",
|
|
1501
1501
|
url: a.url,
|
|
1502
|
-
status:
|
|
1503
|
-
op:
|
|
1502
|
+
status: c.status,
|
|
1503
|
+
op: d,
|
|
1504
1504
|
result: b,
|
|
1505
|
-
rawText:
|
|
1505
|
+
rawText: p
|
|
1506
1506
|
}), et(t, b);
|
|
1507
|
-
}).catch((
|
|
1507
|
+
}).catch((p) => {
|
|
1508
1508
|
t.record({
|
|
1509
1509
|
kind: "be/response",
|
|
1510
1510
|
source: "main-thread-fetch",
|
|
1511
1511
|
url: a.url,
|
|
1512
|
-
status:
|
|
1513
|
-
op:
|
|
1514
|
-
error:
|
|
1512
|
+
status: c.status,
|
|
1513
|
+
op: d,
|
|
1514
|
+
error: F(p)
|
|
1515
1515
|
});
|
|
1516
|
-
}),
|
|
1516
|
+
}), c;
|
|
1517
1517
|
});
|
|
1518
1518
|
}
|
|
1519
1519
|
function Dr(e, t) {
|
|
@@ -1546,7 +1546,7 @@ function Dr(e, t) {
|
|
|
1546
1546
|
extra: o[2]
|
|
1547
1547
|
}) : n === "onError" ? t.record({
|
|
1548
1548
|
kind: "flow/error",
|
|
1549
|
-
error:
|
|
1549
|
+
error: F(o[0])
|
|
1550
1550
|
}) : n === "onDone" && t.record({ kind: "flow/done" }), e[n](...o)));
|
|
1551
1551
|
return r;
|
|
1552
1552
|
}
|
|
@@ -1571,7 +1571,7 @@ async function Gr({ accountId: e, opName: t, promptBaseUrl: r }) {
|
|
|
1571
1571
|
error: `HTTP ${i.status}`
|
|
1572
1572
|
};
|
|
1573
1573
|
} catch (o) {
|
|
1574
|
-
return { error:
|
|
1574
|
+
return { error: F(o) };
|
|
1575
1575
|
}
|
|
1576
1576
|
}
|
|
1577
1577
|
function zr({ accountId: e, baseId: t, promptBaseUrl: r }) {
|
|
@@ -1662,10 +1662,10 @@ function Zr(e) {
|
|
|
1662
1662
|
} : t[r] = n;
|
|
1663
1663
|
return t;
|
|
1664
1664
|
}
|
|
1665
|
-
function
|
|
1665
|
+
function F(e) {
|
|
1666
1666
|
return e?.message || String(e);
|
|
1667
1667
|
}
|
|
1668
|
-
var Pe = "gengage-agentic-activity-overlay",
|
|
1668
|
+
var Pe = "gengage-agentic-activity-overlay", z = "all", se = "all", Le = [
|
|
1669
1669
|
"Flow",
|
|
1670
1670
|
"Tools",
|
|
1671
1671
|
"Backend",
|
|
@@ -1682,15 +1682,15 @@ function Qr(e) {
|
|
|
1682
1682
|
const t = document.getElementById(Pe);
|
|
1683
1683
|
if (t?.shadowRoot) return t;
|
|
1684
1684
|
const r = document.createElement("div");
|
|
1685
|
-
r.id = Pe, r.style.cssText = "position:fixed;left:10px;top:10px;z-index:2147483647;";
|
|
1685
|
+
r.id = Pe, r.style.cssText = "position:fixed;left:10px;top:10px;bottom:10px;z-index:2147483647;";
|
|
1686
1686
|
const n = r.attachShadow({ mode: "open" });
|
|
1687
1687
|
n.innerHTML = Sn(e.accountId), document.documentElement.appendChild(r);
|
|
1688
1688
|
const o = {
|
|
1689
1689
|
entries: [],
|
|
1690
|
-
section:
|
|
1690
|
+
section: z,
|
|
1691
1691
|
severity: se,
|
|
1692
1692
|
search: "",
|
|
1693
|
-
grouped: !
|
|
1693
|
+
grouped: !1,
|
|
1694
1694
|
follow: !0,
|
|
1695
1695
|
stateVisible: !0,
|
|
1696
1696
|
verbose: !1
|
|
@@ -1709,17 +1709,22 @@ function Qr(e) {
|
|
|
1709
1709
|
verboseToggle: n.querySelector('[data-action="verbose"]')
|
|
1710
1710
|
};
|
|
1711
1711
|
Xr(r, i.list);
|
|
1712
|
-
const a = () => tn(i, o);
|
|
1713
|
-
return
|
|
1714
|
-
|
|
1712
|
+
const a = () => tn(i, o), s = n.querySelector('[data-role="filters-popup"]'), d = n.querySelector('[data-action="filters-toggle"]');
|
|
1713
|
+
return d?.addEventListener("click", () => {
|
|
1714
|
+
const c = s.classList.toggle("is-hidden") === !1;
|
|
1715
|
+
d.setAttribute("aria-pressed", String(c));
|
|
1716
|
+
}), n.addEventListener("click", (c) => {
|
|
1717
|
+
s.classList.contains("is-hidden") || s.contains(c.target) || d.contains(c.target) || (s.classList.add("is-hidden"), d.setAttribute("aria-pressed", "false"));
|
|
1718
|
+
}), n.querySelector('[data-action="clear"]')?.addEventListener("click", () => e.clear()), n.querySelector('[data-action="toggle"]')?.addEventListener("click", (c) => {
|
|
1719
|
+
i.panel.classList.toggle("is-minimized"), c.currentTarget.textContent = i.panel.classList.contains("is-minimized") ? "Open" : "Min";
|
|
1715
1720
|
}), i.search?.addEventListener("input", () => {
|
|
1716
1721
|
o.search = i.search.value || "", a();
|
|
1717
|
-
}), i.sections?.addEventListener("click", (
|
|
1718
|
-
const
|
|
1719
|
-
|
|
1720
|
-
}), i.severities?.addEventListener("click", (
|
|
1721
|
-
const
|
|
1722
|
-
|
|
1722
|
+
}), i.sections?.addEventListener("click", (c) => {
|
|
1723
|
+
const p = c.target?.closest?.("[data-section-filter]")?.dataset?.sectionFilter;
|
|
1724
|
+
p && (o.section = p, a());
|
|
1725
|
+
}), i.severities?.addEventListener("click", (c) => {
|
|
1726
|
+
const p = c.target?.closest?.("[data-severity-filter]")?.dataset?.severityFilter;
|
|
1727
|
+
p && (o.severity = p, a());
|
|
1723
1728
|
}), i.groupToggle?.addEventListener("click", () => {
|
|
1724
1729
|
o.grouped = !o.grouped, i.groupToggle.setAttribute("aria-pressed", String(o.grouped)), i.groupToggle.textContent = o.grouped ? "Grouped" : "Flat", a();
|
|
1725
1730
|
}), i.followToggle?.addEventListener("click", () => {
|
|
@@ -1729,20 +1734,20 @@ function Qr(e) {
|
|
|
1729
1734
|
}), i.verboseToggle?.addEventListener("click", () => {
|
|
1730
1735
|
o.verbose = !o.verbose, i.verboseToggle.setAttribute("aria-pressed", String(o.verbose)), i.verboseToggle.textContent = o.verbose ? "Verbose" : "Concise", a();
|
|
1731
1736
|
}), n.querySelector('[data-action="expand-all"]')?.addEventListener("click", () => {
|
|
1732
|
-
i.list?.querySelectorAll("details").forEach((
|
|
1733
|
-
|
|
1737
|
+
i.list?.querySelectorAll("details").forEach((c) => {
|
|
1738
|
+
c.open = !0;
|
|
1734
1739
|
});
|
|
1735
1740
|
}), n.querySelector('[data-action="collapse-all"]')?.addEventListener("click", () => {
|
|
1736
|
-
i.list?.querySelectorAll("details").forEach((
|
|
1737
|
-
|
|
1741
|
+
i.list?.querySelectorAll("details").forEach((c) => {
|
|
1742
|
+
c.open = !1;
|
|
1738
1743
|
});
|
|
1739
|
-
}), i.list?.addEventListener("click", (
|
|
1740
|
-
const
|
|
1741
|
-
if (!
|
|
1742
|
-
const
|
|
1743
|
-
xn(o.entries.find((
|
|
1744
|
-
}), e.subscribe((
|
|
1745
|
-
o.entries =
|
|
1744
|
+
}), i.list?.addEventListener("click", (c) => {
|
|
1745
|
+
const p = c.target?.closest?.('[data-action="copy-json"]');
|
|
1746
|
+
if (!p) return;
|
|
1747
|
+
const b = Number(p.dataset.entryId || 0);
|
|
1748
|
+
xn(o.entries.find((m) => m.id === b), p);
|
|
1749
|
+
}), e.subscribe((c, p) => {
|
|
1750
|
+
o.entries = p.slice(), a();
|
|
1746
1751
|
}), r;
|
|
1747
1752
|
}
|
|
1748
1753
|
function Xr(e, t) {
|
|
@@ -1764,21 +1769,21 @@ function Ne(e) {
|
|
|
1764
1769
|
return !!(e && (e.scrollHeight > e.clientHeight + 1 || e.scrollWidth > e.clientWidth + 1) && getComputedStyle(e).overflow !== "hidden");
|
|
1765
1770
|
}
|
|
1766
1771
|
function tn(e, t) {
|
|
1767
|
-
const r = rn(t.entries, t), n = r.slice(-260);
|
|
1772
|
+
const r = rn(t.entries, t), n = r.slice(-260).reverse();
|
|
1768
1773
|
Ie(e.sections, t.entries, t.section, "section"), Ie(e.severities, t.entries, t.severity, "severity"), e.count && (e.count.textContent = String(t.entries.length)), e.visibleCount && (e.visibleCount.textContent = String(r.length)), sn(e.stateView, vr(t.entries), t.stateVisible), an(e.list, n, t);
|
|
1769
1774
|
}
|
|
1770
1775
|
function rn(e, t = {}) {
|
|
1771
|
-
const r = t.section ||
|
|
1772
|
-
return (Array.isArray(e) ? e : []).filter((a) => !i && a.noise === !0 || r !==
|
|
1776
|
+
const r = t.section || z, n = t.severity || se, o = nt(t.search), i = t.verbose === !0;
|
|
1777
|
+
return (Array.isArray(e) ? e : []).filter((a) => !i && a.noise === !0 || r !== z && a.section !== r || n !== se && a.severity !== n ? !1 : o ? _n(a).includes(o) : !0);
|
|
1773
1778
|
}
|
|
1774
1779
|
function Ie(e, t, r, n) {
|
|
1775
1780
|
if (!e) return;
|
|
1776
1781
|
e.textContent = "";
|
|
1777
1782
|
const o = n === "section" ? nn(t) : on(t), i = document.createElement("button");
|
|
1778
|
-
i.type = "button", i.dataset[`${n}Filter`] =
|
|
1783
|
+
i.type = "button", i.dataset[`${n}Filter`] = z, i.className = r === z ? "chip is-active" : "chip", i.textContent = `All ${t.length}`, e.appendChild(i);
|
|
1779
1784
|
for (const a of o) {
|
|
1780
|
-
const s = t.filter((
|
|
1781
|
-
|
|
1785
|
+
const s = t.filter((c) => c[n] === a).length, d = document.createElement("button");
|
|
1786
|
+
d.type = "button", d.dataset[`${n}Filter`] = a, d.className = r === a ? `chip is-active ${n}-${B(a)}` : `chip ${n}-${B(a)}`, d.textContent = `${at(a)} ${s}`, e.appendChild(d);
|
|
1782
1787
|
}
|
|
1783
1788
|
}
|
|
1784
1789
|
function nn(e) {
|
|
@@ -1799,7 +1804,7 @@ function an(e, t, r) {
|
|
|
1799
1804
|
const n = document.createDocumentFragment();
|
|
1800
1805
|
if (r.grouped) for (const o of yn(t)) n.appendChild(wn(o));
|
|
1801
1806
|
else for (const o of t) n.appendChild(rt(o));
|
|
1802
|
-
e.appendChild(n), r.follow && requestAnimationFrame(() => e.scrollTop =
|
|
1807
|
+
e.appendChild(n), r.follow && requestAnimationFrame(() => e.scrollTop = 0);
|
|
1803
1808
|
}
|
|
1804
1809
|
function sn(e, t, r) {
|
|
1805
1810
|
if (!e || (e.textContent = "", e.classList.toggle("is-hidden", !r), !r)) return;
|
|
@@ -1808,7 +1813,7 @@ function sn(e, t, r) {
|
|
|
1808
1813
|
}
|
|
1809
1814
|
function cn(e) {
|
|
1810
1815
|
const t = document.createElement("section");
|
|
1811
|
-
return t.className = `viz-card flow-card status-${
|
|
1816
|
+
return t.className = `viz-card flow-card status-${B(e.status)}`, t.appendChild(ge("Flow State", e.status)), tt(t, [
|
|
1812
1817
|
["Current", e.current],
|
|
1813
1818
|
["Session", e.sessionId],
|
|
1814
1819
|
["Request", [e.requestType, e.actionType].filter(Boolean).join(" / ")],
|
|
@@ -1822,8 +1827,8 @@ function cn(e) {
|
|
|
1822
1827
|
function ln(e) {
|
|
1823
1828
|
const t = document.createElement("section");
|
|
1824
1829
|
return t.className = "viz-card context-card", t.appendChild(ge("Context State", e.panel?.screenType || e.ui?.rootType || "empty")), tt(t, [
|
|
1825
|
-
["Intent",
|
|
1826
|
-
["Route",
|
|
1830
|
+
["Intent", pn(e.intent)],
|
|
1831
|
+
["Route", fn(e.route)],
|
|
1827
1832
|
["Screen", mn(e)],
|
|
1828
1833
|
["Last search", gn(e.panel?.lastSearch)],
|
|
1829
1834
|
["Products", hn(e.panel, e.products)],
|
|
@@ -1839,7 +1844,7 @@ function un(e) {
|
|
|
1839
1844
|
if (r.className = "timeline", e.length)
|
|
1840
1845
|
for (const n of e) {
|
|
1841
1846
|
const o = document.createElement("li");
|
|
1842
|
-
o.className = `timeline-step step-${
|
|
1847
|
+
o.className = `timeline-step step-${B(n.status || "done")}`;
|
|
1843
1848
|
const i = document.createElement("span");
|
|
1844
1849
|
i.className = "timeline-time", i.textContent = it(n.at);
|
|
1845
1850
|
const a = document.createElement("span");
|
|
@@ -1875,14 +1880,14 @@ function tt(e, t) {
|
|
|
1875
1880
|
function dn(e) {
|
|
1876
1881
|
return !e.errors && !e.warnings ? "clean" : `${e.errors || 0} errors, ${e.warnings || 0} warnings`;
|
|
1877
1882
|
}
|
|
1878
|
-
function
|
|
1883
|
+
function pn(e) {
|
|
1879
1884
|
return e ? [
|
|
1880
1885
|
e.kind,
|
|
1881
1886
|
e.target,
|
|
1882
1887
|
e.confidence != null ? `conf ${e.confidence}` : ""
|
|
1883
1888
|
].filter(Boolean).join(" / ") : "";
|
|
1884
1889
|
}
|
|
1885
|
-
function
|
|
1890
|
+
function fn(e) {
|
|
1886
1891
|
return e ? [e.search ? [
|
|
1887
1892
|
e.search.query,
|
|
1888
1893
|
e.search.category,
|
|
@@ -1939,7 +1944,7 @@ function yn(e) {
|
|
|
1939
1944
|
}
|
|
1940
1945
|
function wn(e) {
|
|
1941
1946
|
const t = document.createElement("section");
|
|
1942
|
-
t.className = `group group-${
|
|
1947
|
+
t.className = `group group-${B(e.severity)}`, t.dataset.section = e.section;
|
|
1943
1948
|
const r = document.createElement("div");
|
|
1944
1949
|
r.className = "group-head";
|
|
1945
1950
|
const n = document.createElement("span");
|
|
@@ -1953,38 +1958,48 @@ function wn(e) {
|
|
|
1953
1958
|
}
|
|
1954
1959
|
function rt(e) {
|
|
1955
1960
|
const t = document.createElement("details");
|
|
1956
|
-
t.dataset.entryId = String(e.id || ""), t.dataset.section = e.section || "Runtime", t.dataset.severity = e.severity || "info", t.className = `entry entry-${
|
|
1957
|
-
const r = document.createElement("summary"), n = document.createElement("
|
|
1958
|
-
n.className = "
|
|
1961
|
+
t.dataset.entryId = String(e.id || ""), t.dataset.section = e.section || "Runtime", t.dataset.severity = e.severity || "info", t.className = `entry entry-${B(e.severity || "info")}`, t.open = e.severity === "error";
|
|
1962
|
+
const r = document.createElement("summary"), n = document.createElement("div");
|
|
1963
|
+
n.className = "entry-meta";
|
|
1959
1964
|
const o = document.createElement("span");
|
|
1960
|
-
o.className = "
|
|
1965
|
+
o.className = "sev-dot";
|
|
1961
1966
|
const i = document.createElement("span");
|
|
1962
|
-
i.className = "
|
|
1967
|
+
i.className = "time", i.textContent = it(e.at);
|
|
1963
1968
|
const a = document.createElement("span");
|
|
1964
|
-
a.className = "
|
|
1965
|
-
const s = document.createElement("
|
|
1966
|
-
s.className = "
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
d
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1969
|
+
a.className = "section", a.textContent = e.section || "Runtime";
|
|
1970
|
+
const s = document.createElement("span");
|
|
1971
|
+
if (s.className = "kind-chip", s.textContent = e.kind || "", n.append(o, i, a, s), e.severity === "warn" || e.severity === "error") {
|
|
1972
|
+
const l = document.createElement("span");
|
|
1973
|
+
l.className = "severity", l.textContent = at(e.severity), n.append(l);
|
|
1974
|
+
}
|
|
1975
|
+
const d = document.createElement("div");
|
|
1976
|
+
d.className = "entry-title-row";
|
|
1977
|
+
const c = document.createElement("span");
|
|
1978
|
+
c.className = "caret", c.textContent = "▸";
|
|
1979
|
+
const p = document.createElement("span");
|
|
1980
|
+
p.className = "title", p.textContent = ot(e), d.append(c, p), r.append(n, d);
|
|
1981
|
+
const b = document.createElement("div");
|
|
1982
|
+
b.className = "entry-body";
|
|
1983
|
+
const m = document.createElement("div");
|
|
1984
|
+
if (m.className = "entry-toolbar", e.group) {
|
|
1985
|
+
const l = document.createElement("span");
|
|
1986
|
+
l.className = "kind", l.textContent = e.group, m.append(l);
|
|
1987
|
+
}
|
|
1988
|
+
const u = document.createElement("button");
|
|
1989
|
+
u.type = "button", u.dataset.action = "copy-json", u.dataset.entryId = String(e.id || ""), u.textContent = "Copy JSON", m.append(u);
|
|
1990
|
+
const f = document.createElement("pre"), g = document.createElement("code");
|
|
1991
|
+
return g.innerHTML = vn(e), f.appendChild(g), b.append(m, f), t.append(r, b), t;
|
|
1977
1992
|
}
|
|
1978
1993
|
function vn(e) {
|
|
1979
1994
|
const t = he(e), r = /("(?:\\u[\da-fA-F]{4}|\\[^u]|[^\\"])*"(?:\s*:)?|\btrue\b|\bfalse\b|\bnull\b|-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)/gu;
|
|
1980
1995
|
let n = "", o = 0;
|
|
1981
1996
|
for (const i of t.matchAll(r)) {
|
|
1982
1997
|
const a = i[0];
|
|
1983
|
-
n +=
|
|
1998
|
+
n += G(t.slice(o, i.index));
|
|
1984
1999
|
let s = "json-number";
|
|
1985
|
-
a.startsWith('"') ? s = a.endsWith(":") ? "json-key" : "json-string" : a === "true" || a === "false" ? s = "json-boolean" : a === "null" && (s = "json-null"), n += `<span class="${s}">${
|
|
2000
|
+
a.startsWith('"') ? s = a.endsWith(":") ? "json-key" : "json-string" : a === "true" || a === "false" ? s = "json-boolean" : a === "null" && (s = "json-null"), n += `<span class="${s}">${G(a)}</span>`, o = i.index + a.length;
|
|
1986
2001
|
}
|
|
1987
|
-
return n +
|
|
2002
|
+
return n + G(t.slice(o));
|
|
1988
2003
|
}
|
|
1989
2004
|
function xn(e, t) {
|
|
1990
2005
|
if (!e) return;
|
|
@@ -2055,9 +2070,10 @@ function Sn(e) {
|
|
|
2055
2070
|
<style>
|
|
2056
2071
|
:host { all: initial; }
|
|
2057
2072
|
.panel {
|
|
2058
|
-
width:
|
|
2073
|
+
width: 460px;
|
|
2059
2074
|
max-width: calc(100vw - 20px);
|
|
2060
|
-
|
|
2075
|
+
height: 100%;
|
|
2076
|
+
max-height: 100%;
|
|
2061
2077
|
display: flex;
|
|
2062
2078
|
flex-direction: column;
|
|
2063
2079
|
overflow: hidden;
|
|
@@ -2069,6 +2085,7 @@ function Sn(e) {
|
|
|
2069
2085
|
font: 12px/1.4 Inter, Arial, sans-serif;
|
|
2070
2086
|
}
|
|
2071
2087
|
.head {
|
|
2088
|
+
position: relative;
|
|
2072
2089
|
display: flex;
|
|
2073
2090
|
align-items: center;
|
|
2074
2091
|
justify-content: space-between;
|
|
@@ -2078,6 +2095,34 @@ function Sn(e) {
|
|
|
2078
2095
|
color: #fff;
|
|
2079
2096
|
font-weight: 700;
|
|
2080
2097
|
}
|
|
2098
|
+
.filters-popup {
|
|
2099
|
+
position: absolute;
|
|
2100
|
+
top: calc(100% + 4px);
|
|
2101
|
+
right: 8px;
|
|
2102
|
+
left: 8px;
|
|
2103
|
+
z-index: 5;
|
|
2104
|
+
display: flex;
|
|
2105
|
+
flex-direction: column;
|
|
2106
|
+
gap: 10px;
|
|
2107
|
+
padding: 10px;
|
|
2108
|
+
background: #fff;
|
|
2109
|
+
color: #1f2937;
|
|
2110
|
+
border: 1px solid #cbd5e1;
|
|
2111
|
+
border-radius: 8px;
|
|
2112
|
+
box-shadow: 0 14px 36px rgba(17, 24, 39, 0.28);
|
|
2113
|
+
}
|
|
2114
|
+
.filters-popup.is-hidden { display: none; }
|
|
2115
|
+
.popup-group { display: flex; flex-direction: column; gap: 5px; }
|
|
2116
|
+
.popup-label {
|
|
2117
|
+
font-size: 10px;
|
|
2118
|
+
font-weight: 800;
|
|
2119
|
+
letter-spacing: 0.04em;
|
|
2120
|
+
text-transform: uppercase;
|
|
2121
|
+
color: #64748b;
|
|
2122
|
+
}
|
|
2123
|
+
.actions button[data-action="filters-toggle"][aria-pressed="true"] {
|
|
2124
|
+
background: rgba(255, 255, 255, 0.28);
|
|
2125
|
+
}
|
|
2081
2126
|
.meta { display: flex; gap: 7px; align-items: center; min-width: 0; }
|
|
2082
2127
|
.name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
2083
2128
|
.count { color: #d1d5db; font-weight: 600; white-space: nowrap; }
|
|
@@ -2094,9 +2139,7 @@ function Sn(e) {
|
|
|
2094
2139
|
}
|
|
2095
2140
|
button:hover { filter: brightness(1.08); }
|
|
2096
2141
|
.controls {
|
|
2097
|
-
|
|
2098
|
-
gap: 7px;
|
|
2099
|
-
padding: 8px;
|
|
2142
|
+
padding: 7px 8px;
|
|
2100
2143
|
background: #f8fafc;
|
|
2101
2144
|
border-bottom: 1px solid #d9dee7;
|
|
2102
2145
|
}
|
|
@@ -2135,7 +2178,7 @@ function Sn(e) {
|
|
|
2135
2178
|
.severity-warn { border-color: #f59e0b; }
|
|
2136
2179
|
.severity-error { border-color: #ef4444; }
|
|
2137
2180
|
.list {
|
|
2138
|
-
flex: 1 1
|
|
2181
|
+
flex: 1.4 1 0;
|
|
2139
2182
|
min-height: 0;
|
|
2140
2183
|
overflow: auto;
|
|
2141
2184
|
overscroll-behavior: contain;
|
|
@@ -2143,26 +2186,34 @@ function Sn(e) {
|
|
|
2143
2186
|
padding: 8px;
|
|
2144
2187
|
background: #f1f5f9;
|
|
2145
2188
|
}
|
|
2189
|
+
/* The state dashboard (flow + context + timeline) is the most valuable
|
|
2190
|
+
trace surface, so it gets a real vertical share of the rail — a single
|
|
2191
|
+
column (full width, nothing squeezed) that scrolls internally and is
|
|
2192
|
+
capped to ~45% of the panel so the log below always stays visible. */
|
|
2146
2193
|
.state-view {
|
|
2147
|
-
display:
|
|
2148
|
-
|
|
2194
|
+
display: flex;
|
|
2195
|
+
flex-direction: column;
|
|
2149
2196
|
gap: 8px;
|
|
2150
2197
|
padding: 8px;
|
|
2151
2198
|
background: #eef4fb;
|
|
2152
2199
|
border-bottom: 1px solid #d9dee7;
|
|
2153
|
-
|
|
2200
|
+
flex: 1 1 0;
|
|
2201
|
+
min-height: 120px;
|
|
2154
2202
|
overflow: auto;
|
|
2155
2203
|
overscroll-behavior: contain;
|
|
2156
2204
|
}
|
|
2157
2205
|
.state-view.is-hidden { display: none; }
|
|
2158
2206
|
.viz-card {
|
|
2159
2207
|
min-width: 0;
|
|
2208
|
+
/* In the flex-column state-view, keep each card at its natural content
|
|
2209
|
+
height — never let flex shrink it to its title. The state-view
|
|
2210
|
+
itself scrolls when the cards together exceed its cap. */
|
|
2211
|
+
flex: none;
|
|
2160
2212
|
border: 1px solid #cbd5e1;
|
|
2161
2213
|
border-radius: 7px;
|
|
2162
2214
|
background: #fff;
|
|
2163
2215
|
overflow: hidden;
|
|
2164
2216
|
}
|
|
2165
|
-
.timeline-card { grid-column: 1 / -1; }
|
|
2166
2217
|
.viz-title {
|
|
2167
2218
|
display: flex;
|
|
2168
2219
|
justify-content: space-between;
|
|
@@ -2194,16 +2245,18 @@ function Sn(e) {
|
|
|
2194
2245
|
gap: 6px;
|
|
2195
2246
|
padding: 5px 8px;
|
|
2196
2247
|
border-top: 1px solid #eef2f7;
|
|
2248
|
+
align-items: baseline;
|
|
2197
2249
|
}
|
|
2198
2250
|
.viz-key {
|
|
2199
2251
|
color: #64748b;
|
|
2200
2252
|
font-weight: 750;
|
|
2201
2253
|
}
|
|
2254
|
+
/* Wrap rather than ellipsis so no state value is silently clipped. */
|
|
2202
2255
|
.viz-value {
|
|
2203
2256
|
color: #111827;
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2257
|
+
min-width: 0;
|
|
2258
|
+
word-break: break-word;
|
|
2259
|
+
overflow-wrap: anywhere;
|
|
2207
2260
|
}
|
|
2208
2261
|
.timeline {
|
|
2209
2262
|
list-style: none;
|
|
@@ -2214,9 +2267,9 @@ function Sn(e) {
|
|
|
2214
2267
|
}
|
|
2215
2268
|
.timeline-step, .timeline-empty {
|
|
2216
2269
|
display: grid;
|
|
2217
|
-
grid-template-columns:
|
|
2270
|
+
grid-template-columns: 64px auto minmax(0, 1fr);
|
|
2218
2271
|
gap: 7px;
|
|
2219
|
-
align-items:
|
|
2272
|
+
align-items: baseline;
|
|
2220
2273
|
padding: 5px 8px;
|
|
2221
2274
|
border-top: 1px solid #eef2f7;
|
|
2222
2275
|
}
|
|
@@ -2226,21 +2279,17 @@ function Sn(e) {
|
|
|
2226
2279
|
}
|
|
2227
2280
|
.timeline-label {
|
|
2228
2281
|
width: fit-content;
|
|
2229
|
-
max-width: 70px;
|
|
2230
|
-
overflow: hidden;
|
|
2231
|
-
text-overflow: ellipsis;
|
|
2232
|
-
white-space: nowrap;
|
|
2233
2282
|
border-radius: 999px;
|
|
2234
|
-
padding: 1px
|
|
2283
|
+
padding: 1px 7px;
|
|
2235
2284
|
background: #e2e8f0;
|
|
2236
2285
|
color: #334155;
|
|
2237
2286
|
font-weight: 750;
|
|
2287
|
+
white-space: nowrap;
|
|
2238
2288
|
}
|
|
2239
2289
|
.timeline-detail {
|
|
2240
2290
|
min-width: 0;
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
white-space: nowrap;
|
|
2291
|
+
word-break: break-word;
|
|
2292
|
+
overflow-wrap: anywhere;
|
|
2244
2293
|
}
|
|
2245
2294
|
.step-running .timeline-label { background: #dbeafe; color: #1d4ed8; }
|
|
2246
2295
|
.step-warn .timeline-label { background: #fef3c7; color: #92400e; }
|
|
@@ -2277,10 +2326,12 @@ function Sn(e) {
|
|
|
2277
2326
|
border: 1px solid #d6dce6;
|
|
2278
2327
|
border-left-width: 4px;
|
|
2279
2328
|
border-radius: 6px;
|
|
2280
|
-
margin: 0 0
|
|
2329
|
+
margin: 0 0 6px;
|
|
2281
2330
|
background: #fff;
|
|
2282
2331
|
overflow: hidden;
|
|
2283
2332
|
}
|
|
2333
|
+
details.entry:hover { border-color: #b6c2d4; }
|
|
2334
|
+
details.entry[open] { box-shadow: 0 1px 4px rgba(17, 24, 39, 0.1); }
|
|
2284
2335
|
.group details.entry {
|
|
2285
2336
|
border-left-width: 4px;
|
|
2286
2337
|
border-right-width: 0;
|
|
@@ -2288,40 +2339,79 @@ function Sn(e) {
|
|
|
2288
2339
|
border-radius: 0;
|
|
2289
2340
|
margin: 0;
|
|
2290
2341
|
}
|
|
2291
|
-
details[data-severity="info"] { border-left-color: #
|
|
2342
|
+
details[data-severity="info"] { border-left-color: #94a3b8; }
|
|
2292
2343
|
details[data-severity="warn"] { border-left-color: #f59e0b; }
|
|
2293
2344
|
details[data-severity="error"] { border-left-color: #ef4444; }
|
|
2294
2345
|
summary {
|
|
2295
2346
|
cursor: pointer;
|
|
2296
|
-
padding:
|
|
2297
|
-
display:
|
|
2298
|
-
|
|
2299
|
-
gap:
|
|
2300
|
-
align-items: center;
|
|
2347
|
+
padding: 6px 9px;
|
|
2348
|
+
display: flex;
|
|
2349
|
+
flex-direction: column;
|
|
2350
|
+
gap: 3px;
|
|
2301
2351
|
color: #1f2937;
|
|
2352
|
+
list-style: none;
|
|
2302
2353
|
}
|
|
2303
|
-
|
|
2354
|
+
summary::-webkit-details-marker { display: none; }
|
|
2355
|
+
.entry-meta {
|
|
2356
|
+
display: flex;
|
|
2357
|
+
align-items: center;
|
|
2358
|
+
gap: 7px;
|
|
2359
|
+
flex-wrap: wrap;
|
|
2360
|
+
}
|
|
2361
|
+
.sev-dot {
|
|
2362
|
+
width: 7px;
|
|
2363
|
+
height: 7px;
|
|
2364
|
+
border-radius: 50%;
|
|
2365
|
+
background: #94a3b8;
|
|
2366
|
+
flex: none;
|
|
2367
|
+
}
|
|
2368
|
+
[data-severity="warn"] .sev-dot { background: #f59e0b; }
|
|
2369
|
+
[data-severity="error"] .sev-dot { background: #ef4444; }
|
|
2370
|
+
.time { color: #64748b; font-variant-numeric: tabular-nums; font-size: 11px; }
|
|
2304
2371
|
.section, .severity {
|
|
2305
|
-
|
|
2306
|
-
max-width: 86px;
|
|
2307
|
-
overflow: hidden;
|
|
2308
|
-
text-overflow: ellipsis;
|
|
2309
|
-
white-space: nowrap;
|
|
2310
|
-
padding: 2px 6px;
|
|
2372
|
+
padding: 1px 7px;
|
|
2311
2373
|
border-radius: 999px;
|
|
2312
2374
|
background: #eef2f7;
|
|
2313
2375
|
color: #334155;
|
|
2314
|
-
font-weight:
|
|
2376
|
+
font-weight: 700;
|
|
2377
|
+
font-size: 11px;
|
|
2378
|
+
letter-spacing: 0.01em;
|
|
2379
|
+
}
|
|
2380
|
+
.kind-chip {
|
|
2381
|
+
color: #64748b;
|
|
2382
|
+
font: 10px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
2383
|
+
background: #f1f5f9;
|
|
2384
|
+
border-radius: 4px;
|
|
2385
|
+
padding: 1px 5px;
|
|
2315
2386
|
}
|
|
2316
2387
|
[data-section="Flow"] .section { background: #e0f2fe; color: #075985; }
|
|
2317
2388
|
[data-section="Tools"] .section { background: #dcfce7; color: #166534; }
|
|
2318
2389
|
[data-section="Backend"] .section { background: #ffedd5; color: #9a3412; }
|
|
2319
2390
|
[data-section="Intent"] .section { background: #ede9fe; color: #5b21b6; }
|
|
2320
2391
|
[data-section="Telemetry"] .section { background: #ccfbf1; color: #115e59; }
|
|
2321
|
-
[data-severity="info"] .severity { background: #e2e8f0; color: #334155; }
|
|
2322
2392
|
[data-severity="warn"] .severity { background: #fef3c7; color: #92400e; }
|
|
2323
2393
|
[data-severity="error"] .severity { background: #fee2e2; color: #991b1b; }
|
|
2324
|
-
.title {
|
|
2394
|
+
.entry-title-row {
|
|
2395
|
+
display: flex;
|
|
2396
|
+
gap: 6px;
|
|
2397
|
+
align-items: baseline;
|
|
2398
|
+
}
|
|
2399
|
+
.caret {
|
|
2400
|
+
color: #94a3b8;
|
|
2401
|
+
flex: none;
|
|
2402
|
+
transition: transform 0.12s ease;
|
|
2403
|
+
font-size: 10px;
|
|
2404
|
+
line-height: 1.5;
|
|
2405
|
+
}
|
|
2406
|
+
details[open] .caret { transform: rotate(90deg); }
|
|
2407
|
+
/* Title wraps to full width — no truncation, no information loss. */
|
|
2408
|
+
.title {
|
|
2409
|
+
color: #1f2937;
|
|
2410
|
+
font-weight: 600;
|
|
2411
|
+
word-break: break-word;
|
|
2412
|
+
overflow-wrap: anywhere;
|
|
2413
|
+
}
|
|
2414
|
+
details[data-severity="error"] .title { color: #991b1b; }
|
|
2325
2415
|
.entry-body { border-top: 1px solid #d6dce6; background: #0b1020; }
|
|
2326
2416
|
.entry-toolbar {
|
|
2327
2417
|
display: flex;
|
|
@@ -2366,33 +2456,43 @@ function Sn(e) {
|
|
|
2366
2456
|
.is-minimized .state-view { display: none; }
|
|
2367
2457
|
@media (max-width: 620px) {
|
|
2368
2458
|
.panel { width: calc(100vw - 20px); }
|
|
2369
|
-
.state-view { grid-template-columns: 1fr; max-height: 240px; }
|
|
2370
|
-
summary { grid-template-columns: 62px 76px 50px minmax(0, 1fr); }
|
|
2371
2459
|
}
|
|
2372
2460
|
</style>
|
|
2373
2461
|
<div class="panel" data-role="panel">
|
|
2374
2462
|
<div class="head">
|
|
2375
2463
|
<div class="meta">
|
|
2376
|
-
<span class="name"
|
|
2464
|
+
<span class="name" title="${G(e)}">${G(e)}</span>
|
|
2377
2465
|
<span class="count"><span data-role="visible-count">0</span>/<span data-role="count">0</span></span>
|
|
2378
2466
|
</div>
|
|
2379
2467
|
<div class="actions">
|
|
2468
|
+
<button type="button" data-action="filters-toggle" aria-pressed="false" title="Filters & view options">Filters ▾</button>
|
|
2380
2469
|
<button type="button" data-action="clear">Clear</button>
|
|
2381
2470
|
<button type="button" data-action="toggle">Min</button>
|
|
2382
2471
|
</div>
|
|
2472
|
+
<div class="filters-popup is-hidden" data-role="filters-popup">
|
|
2473
|
+
<div class="popup-group">
|
|
2474
|
+
<div class="popup-label">Section</div>
|
|
2475
|
+
<div class="filters" data-role="section-filters"></div>
|
|
2476
|
+
</div>
|
|
2477
|
+
<div class="popup-group">
|
|
2478
|
+
<div class="popup-label">Severity</div>
|
|
2479
|
+
<div class="filters" data-role="severity-filters"></div>
|
|
2480
|
+
</div>
|
|
2481
|
+
<div class="popup-group">
|
|
2482
|
+
<div class="popup-label">View</div>
|
|
2483
|
+
<div class="toggles">
|
|
2484
|
+
<button type="button" data-action="state" aria-pressed="true">State</button>
|
|
2485
|
+
<button type="button" data-action="group" aria-pressed="false">Flat</button>
|
|
2486
|
+
<button type="button" data-action="follow" aria-pressed="true">Follow</button>
|
|
2487
|
+
<button type="button" data-action="verbose" aria-pressed="false">Concise</button>
|
|
2488
|
+
<button type="button" data-action="expand-all">Expand all</button>
|
|
2489
|
+
<button type="button" data-action="collapse-all">Collapse all</button>
|
|
2490
|
+
</div>
|
|
2491
|
+
</div>
|
|
2492
|
+
</div>
|
|
2383
2493
|
</div>
|
|
2384
2494
|
<div class="controls">
|
|
2385
2495
|
<input class="search" type="search" data-role="search" placeholder="Filter by tool, op, kind, title, or JSON value" />
|
|
2386
|
-
<div class="filters" data-role="section-filters"></div>
|
|
2387
|
-
<div class="filters" data-role="severity-filters"></div>
|
|
2388
|
-
<div class="toggles">
|
|
2389
|
-
<button type="button" data-action="state" aria-pressed="true">State</button>
|
|
2390
|
-
<button type="button" data-action="group" aria-pressed="true">Grouped</button>
|
|
2391
|
-
<button type="button" data-action="follow" aria-pressed="true">Follow</button>
|
|
2392
|
-
<button type="button" data-action="verbose" aria-pressed="false">Concise</button>
|
|
2393
|
-
<button type="button" data-action="expand-all">Expand all</button>
|
|
2394
|
-
<button type="button" data-action="collapse-all">Collapse all</button>
|
|
2395
|
-
</div>
|
|
2396
2496
|
</div>
|
|
2397
2497
|
<div class="state-view" data-role="state-view"></div>
|
|
2398
2498
|
<div class="list" data-role="list"></div>
|
|
@@ -2421,10 +2521,10 @@ function at(e) {
|
|
|
2421
2521
|
const t = String(e || "");
|
|
2422
2522
|
return t ? `${t.slice(0, 1).toLocaleUpperCase("en-US")}${t.slice(1)}` : "";
|
|
2423
2523
|
}
|
|
2424
|
-
function
|
|
2524
|
+
function B(e) {
|
|
2425
2525
|
return String(e || "").toLocaleLowerCase("en-US").replace(/[^a-z0-9]+/gu, "-").replace(/^-|-$/gu, "");
|
|
2426
2526
|
}
|
|
2427
|
-
function
|
|
2527
|
+
function G(e) {
|
|
2428
2528
|
return String(e).replace(/[&<>"']/gu, (t) => t === "&" ? "&" : t === "<" ? "<" : t === ">" ? ">" : t === '"' ? """ : "'");
|
|
2429
2529
|
}
|
|
2430
2530
|
function oa({ accountId: e, config: t = {}, tools: r, beacon: n } = {}) {
|
|
@@ -2437,8 +2537,8 @@ function oa({ accountId: e, config: t = {}, tools: r, beacon: n } = {}) {
|
|
|
2437
2537
|
wrapTransport() {
|
|
2438
2538
|
}
|
|
2439
2539
|
};
|
|
2440
|
-
const o =
|
|
2441
|
-
return window.__GENGAGE_AGENTIC_DEBUG_RECORD__ = (i) => Re(o, i), window.__GENGAGE_AGENTIC_DEBUG_RECORD_BE__ = (i) => Re(o, i), Qr(o),
|
|
2540
|
+
const o = fr(e);
|
|
2541
|
+
return window.__GENGAGE_AGENTIC_DEBUG_RECORD__ = (i) => Re(o, i), window.__GENGAGE_AGENTIC_DEBUG_RECORD_BE__ = (i) => Re(o, i), Qr(o), $r({
|
|
2442
2542
|
accountId: e,
|
|
2443
2543
|
collector: o,
|
|
2444
2544
|
promptBaseUrl: t.agenticActivityPromptBaseUrl
|
|
@@ -2448,10 +2548,10 @@ function oa({ accountId: e, config: t = {}, tools: r, beacon: n } = {}) {
|
|
|
2448
2548
|
}), {
|
|
2449
2549
|
enabled: !0,
|
|
2450
2550
|
collector: o,
|
|
2451
|
-
tools:
|
|
2452
|
-
beacon:
|
|
2551
|
+
tools: Br(r, o),
|
|
2552
|
+
beacon: Or(n, o),
|
|
2453
2553
|
record: (i) => o.record(i),
|
|
2454
|
-
wrapTransport: () =>
|
|
2554
|
+
wrapTransport: () => Mr(e, o)
|
|
2455
2555
|
};
|
|
2456
2556
|
}
|
|
2457
2557
|
function Tn(e, t = {}) {
|
|
@@ -2520,10 +2620,10 @@ var An = [
|
|
|
2520
2620
|
"count",
|
|
2521
2621
|
"privacy"
|
|
2522
2622
|
];
|
|
2523
|
-
function ia({ accountId: e, search: t, facetedSearch: r, similaritySearch: n, searchGiftOptions: o, filters: i = {}, resultContract: a = {}, limitations: s = [], extraTools:
|
|
2623
|
+
function ia({ accountId: e, search: t, facetedSearch: r, similaritySearch: n, searchGiftOptions: o, filters: i = {}, resultContract: a = {}, limitations: s = [], extraTools: d = [] } = {}) {
|
|
2524
2624
|
return {
|
|
2525
|
-
searchKeyword: async (
|
|
2526
|
-
facetedSearch: typeof r == "function" ? (
|
|
2625
|
+
searchKeyword: async (p = {}, b = {}) => t(In(p, b)),
|
|
2626
|
+
facetedSearch: typeof r == "function" ? (p = {}, b = {}) => r(qe(p, b)) : async (p = {}, b = {}) => t(qe(p, b)),
|
|
2527
2627
|
getSearchCapabilities: () => Nn({
|
|
2528
2628
|
accountId: e,
|
|
2529
2629
|
hasSimilarity: typeof n == "function",
|
|
@@ -2531,7 +2631,7 @@ function ia({ accountId: e, search: t, facetedSearch: r, similaritySearch: n, se
|
|
|
2531
2631
|
filters: i,
|
|
2532
2632
|
resultContract: a,
|
|
2533
2633
|
limitations: s,
|
|
2534
|
-
extraTools:
|
|
2634
|
+
extraTools: d
|
|
2535
2635
|
})
|
|
2536
2636
|
};
|
|
2537
2637
|
}
|
|
@@ -2617,24 +2717,24 @@ function Un(e) {
|
|
|
2617
2717
|
function ce(e) {
|
|
2618
2718
|
return Object.fromEntries(Object.entries(e || {}).filter(([, t]) => t != null && t !== "" && (!Array.isArray(t) || t.length)));
|
|
2619
2719
|
}
|
|
2620
|
-
var qn = 15e3,
|
|
2621
|
-
function aa({ markerParam: e =
|
|
2622
|
-
const
|
|
2623
|
-
function f
|
|
2624
|
-
const
|
|
2625
|
-
for (const [h, w] of Object.entries(g || {})) w != null && w !== "" &&
|
|
2626
|
-
return
|
|
2720
|
+
var qn = 15e3, Fn = "glov_agentic_iframe", Bn = "position:absolute;width:1px;height:1px;left:-9999px;top:-9999px;opacity:0;pointer-events:none;";
|
|
2721
|
+
function aa({ markerParam: e = Fn, markerValue: t = "agentic-scraper", frameName: r = t, sandbox: n = "allow-same-origin", timeoutMs: o = qn, hiddenStyle: i = Bn, messageType: a, parser: s, isBlockedDocument: d } = {}) {
|
|
2722
|
+
const c = a || `gengage:agentic-iframe-scraper:${t}`;
|
|
2723
|
+
function p(f, g = {}) {
|
|
2724
|
+
const l = new URL(String(f), re());
|
|
2725
|
+
for (const [h, w] of Object.entries(g || {})) w != null && w !== "" && l.searchParams.set(h, String(w));
|
|
2726
|
+
return l.searchParams.set(e, t), l.href;
|
|
2627
2727
|
}
|
|
2628
|
-
function b(
|
|
2728
|
+
function b(f = globalThis.window?.location, g = globalThis.window?.name || "") {
|
|
2629
2729
|
if (g === r || g === t) return !0;
|
|
2630
2730
|
try {
|
|
2631
|
-
return new URL(
|
|
2731
|
+
return new URL(f?.href || String(f || ""), re()).searchParams.get(e) === t;
|
|
2632
2732
|
} catch {
|
|
2633
2733
|
return !1;
|
|
2634
2734
|
}
|
|
2635
2735
|
}
|
|
2636
|
-
async function m(
|
|
2637
|
-
const h =
|
|
2736
|
+
async function m(f, g = {}, l = {}) {
|
|
2737
|
+
const h = l.parser || s, w = l.isBlockedDocument || d, k = globalThis.document, v = globalThis.window;
|
|
2638
2738
|
if (!k?.body || typeof k.createElement != "function" || typeof k.body.appendChild != "function") return {
|
|
2639
2739
|
attempted: !1,
|
|
2640
2740
|
doc: null,
|
|
@@ -2643,15 +2743,15 @@ function aa({ markerParam: e = Bn, markerValue: t = "agentic-scraper", frameName
|
|
|
2643
2743
|
timedOut: !1,
|
|
2644
2744
|
via: "unavailable"
|
|
2645
2745
|
};
|
|
2646
|
-
const T = f
|
|
2746
|
+
const T = p(f), x = k.createElement("iframe");
|
|
2647
2747
|
x.name = r;
|
|
2648
2748
|
try {
|
|
2649
2749
|
x.sandbox = n;
|
|
2650
2750
|
} catch {
|
|
2651
2751
|
}
|
|
2652
2752
|
return x.style && (x.style.cssText = i), new Promise((C) => {
|
|
2653
|
-
let
|
|
2654
|
-
const
|
|
2753
|
+
let M = !1;
|
|
2754
|
+
const H = typeof v?.addEventListener == "function" && typeof v?.removeEventListener == "function", ut = v.setTimeout(() => {
|
|
2655
2755
|
ee({
|
|
2656
2756
|
attempted: !0,
|
|
2657
2757
|
doc: null,
|
|
@@ -2662,15 +2762,15 @@ function aa({ markerParam: e = Bn, markerValue: t = "agentic-scraper", frameName
|
|
|
2662
2762
|
});
|
|
2663
2763
|
}, o);
|
|
2664
2764
|
function dt() {
|
|
2665
|
-
v.clearTimeout(ut),
|
|
2765
|
+
v.clearTimeout(ut), H && v.removeEventListener("message", ke), typeof x.remove == "function" && x.remove();
|
|
2666
2766
|
}
|
|
2667
2767
|
function ee(A) {
|
|
2668
|
-
|
|
2768
|
+
M || (M = !0, dt(), C(A));
|
|
2669
2769
|
}
|
|
2670
2770
|
function ke(A) {
|
|
2671
2771
|
if (A.source && x.contentWindow && A.source !== x.contentWindow) return;
|
|
2672
2772
|
const L = A.data;
|
|
2673
|
-
!L || L.type !==
|
|
2773
|
+
!L || L.type !== c || L.marker !== t || ee({
|
|
2674
2774
|
attempted: !0,
|
|
2675
2775
|
doc: null,
|
|
2676
2776
|
result: L.payload || null,
|
|
@@ -2696,18 +2796,18 @@ function aa({ markerParam: e = Bn, markerValue: t = "agentic-scraper", frameName
|
|
|
2696
2796
|
});
|
|
2697
2797
|
} catch {
|
|
2698
2798
|
}
|
|
2699
|
-
}),
|
|
2799
|
+
}), H && v.addEventListener("message", ke), k.body.appendChild(x), x.src = T;
|
|
2700
2800
|
});
|
|
2701
2801
|
}
|
|
2702
|
-
function
|
|
2703
|
-
const
|
|
2704
|
-
if (!
|
|
2705
|
-
const h = typeof
|
|
2706
|
-
url:
|
|
2802
|
+
function u(f = s, { targetOrigin: g = re() } = {}) {
|
|
2803
|
+
const l = globalThis.window;
|
|
2804
|
+
if (!l?.parent || !b(l.location, l.name)) return !1;
|
|
2805
|
+
const h = typeof f == "function" ? f(globalThis.document, {
|
|
2806
|
+
url: l.location?.href || "",
|
|
2707
2807
|
input: {}
|
|
2708
|
-
}) :
|
|
2709
|
-
return
|
|
2710
|
-
type:
|
|
2808
|
+
}) : f;
|
|
2809
|
+
return l.parent.postMessage({
|
|
2810
|
+
type: c,
|
|
2711
2811
|
marker: t,
|
|
2712
2812
|
payload: h
|
|
2713
2813
|
}, g || "*"), !0;
|
|
@@ -2716,11 +2816,11 @@ function aa({ markerParam: e = Bn, markerValue: t = "agentic-scraper", frameName
|
|
|
2716
2816
|
markerParam: e,
|
|
2717
2817
|
markerValue: t,
|
|
2718
2818
|
frameName: r,
|
|
2719
|
-
messageType:
|
|
2720
|
-
decorateUrl:
|
|
2819
|
+
messageType: c,
|
|
2820
|
+
decorateUrl: p,
|
|
2721
2821
|
isScraperFrame: b,
|
|
2722
2822
|
load: m,
|
|
2723
|
-
postCurrentDocument:
|
|
2823
|
+
postCurrentDocument: u
|
|
2724
2824
|
};
|
|
2725
2825
|
}
|
|
2726
2826
|
function sa(e, { accountId: t, type: r = "agenticSearchFrame" } = {}) {
|
|
@@ -2732,29 +2832,29 @@ function re() {
|
|
|
2732
2832
|
function ca({ rootUrl: e, successMessage: t, alreadyCurrentPageMessage: r = t, missingUrlMessage: n = "Ürün sayfasını açmak için ürün bağlantısı gerekiyor." } = {}) {
|
|
2733
2833
|
const o = new URL(e).origin;
|
|
2734
2834
|
return async function(a = {}) {
|
|
2735
|
-
const s = a.product || {},
|
|
2736
|
-
return
|
|
2835
|
+
const s = a.product || {}, d = On(a.url || a.productUrl || s.url, e, o), c = a.sku || s.sku || null;
|
|
2836
|
+
return d ? $n(d) ? {
|
|
2737
2837
|
ok: !0,
|
|
2738
|
-
sku:
|
|
2739
|
-
url:
|
|
2838
|
+
sku: c,
|
|
2839
|
+
url: d,
|
|
2740
2840
|
method: "already-current-page",
|
|
2741
2841
|
alreadyCurrentPage: !0,
|
|
2742
2842
|
message: r || t
|
|
2743
|
-
} : (
|
|
2843
|
+
} : (Mn(d), {
|
|
2744
2844
|
ok: !0,
|
|
2745
|
-
sku:
|
|
2746
|
-
url:
|
|
2845
|
+
sku: c,
|
|
2846
|
+
url: d,
|
|
2747
2847
|
method: "browser-navigation",
|
|
2748
2848
|
message: t
|
|
2749
2849
|
}) : {
|
|
2750
2850
|
ok: !1,
|
|
2751
|
-
sku:
|
|
2851
|
+
sku: c,
|
|
2752
2852
|
reason: "missing-url",
|
|
2753
2853
|
message: n
|
|
2754
2854
|
};
|
|
2755
2855
|
};
|
|
2756
2856
|
}
|
|
2757
|
-
function
|
|
2857
|
+
function On(e, t, r = new URL(t).origin) {
|
|
2758
2858
|
if (!e) return "";
|
|
2759
2859
|
try {
|
|
2760
2860
|
const n = new URL(e, t);
|
|
@@ -2763,7 +2863,7 @@ function Fn(e, t, r = new URL(t).origin) {
|
|
|
2763
2863
|
return "";
|
|
2764
2864
|
}
|
|
2765
2865
|
}
|
|
2766
|
-
function
|
|
2866
|
+
function Mn(e) {
|
|
2767
2867
|
if (typeof document > "u") {
|
|
2768
2868
|
window.location.href = e;
|
|
2769
2869
|
return;
|
|
@@ -2773,7 +2873,7 @@ function $n(e) {
|
|
|
2773
2873
|
window.location.href !== e && window.location.assign(e);
|
|
2774
2874
|
}, 0);
|
|
2775
2875
|
}
|
|
2776
|
-
function
|
|
2876
|
+
function $n(e) {
|
|
2777
2877
|
try {
|
|
2778
2878
|
const t = new URL(globalThis.window?.location?.href || "", e), r = new URL(e, t.href);
|
|
2779
2879
|
return t.hash = "", r.hash = "", t.href === r.href;
|
|
@@ -2782,17 +2882,17 @@ function Mn(e) {
|
|
|
2782
2882
|
}
|
|
2783
2883
|
}
|
|
2784
2884
|
function Dn({ accountId: e, supplied: t = [], pageProduct: r = null, listingProducts: n = [], skus: o = [], limit: i = 4, storedProducts: a = [], getStoredPanelProducts: s } = {}) {
|
|
2785
|
-
const
|
|
2885
|
+
const d = st(o), c = Array.isArray(n) ? n : [], p = typeof s == "function" ? s({
|
|
2786
2886
|
accountId: e,
|
|
2787
|
-
visibleProducts:
|
|
2887
|
+
visibleProducts: c
|
|
2788
2888
|
}) : a;
|
|
2789
2889
|
return Gn([
|
|
2790
2890
|
...K(t),
|
|
2791
|
-
...K(
|
|
2891
|
+
...K(p),
|
|
2792
2892
|
r,
|
|
2793
|
-
...
|
|
2893
|
+
...c
|
|
2794
2894
|
], {
|
|
2795
|
-
skus:
|
|
2895
|
+
skus: d,
|
|
2796
2896
|
limit: i
|
|
2797
2897
|
});
|
|
2798
2898
|
}
|
|
@@ -2819,8 +2919,8 @@ function Gn(e, { skus: t = [], limit: r = 4 } = {}) {
|
|
|
2819
2919
|
if (!a) continue;
|
|
2820
2920
|
const s = W(a?.sku);
|
|
2821
2921
|
if (n.size && !n.has(s)) continue;
|
|
2822
|
-
const
|
|
2823
|
-
if (!(
|
|
2922
|
+
const d = s || W(a?.url) || W(a?.name || a?.title);
|
|
2923
|
+
if (!(d && o.has(d)) && (d && o.add(d), i.push(a), i.length >= r))
|
|
2824
2924
|
break;
|
|
2825
2925
|
}
|
|
2826
2926
|
return i;
|
|
@@ -2870,15 +2970,15 @@ function ua({ accountId: e, getPageType: t, getProduct: r, getProducts: n, norma
|
|
|
2870
2970
|
};
|
|
2871
2971
|
}
|
|
2872
2972
|
function Vn({ accountId: e, getPageType: t, getProduct: r, getProducts: n, normalizeProduct: o, input: i }) {
|
|
2873
|
-
const a = _(i.query || i.text || ""), s = ve(i),
|
|
2973
|
+
const a = _(i.query || i.text || ""), s = ve(i), d = ne(r), c = ne(n) || [];
|
|
2874
2974
|
return xe({
|
|
2875
2975
|
accountId: e,
|
|
2876
2976
|
url: mo(),
|
|
2877
2977
|
title: P(document.title || ""),
|
|
2878
2978
|
pageType: ne(t) || "other",
|
|
2879
2979
|
viewport: go(),
|
|
2880
|
-
product:
|
|
2881
|
-
products:
|
|
2980
|
+
product: Fe(o(d)),
|
|
2981
|
+
products: c.map(o).map(Fe).filter(Boolean).slice(0, s.products),
|
|
2882
2982
|
content: i.includeContent === !1 ? void 0 : ct(i, e).items,
|
|
2883
2983
|
headings: eo(s.headings),
|
|
2884
2984
|
controls: i.includeControls === !1 ? void 0 : to(s.controls),
|
|
@@ -2965,7 +3065,7 @@ function Zn(e) {
|
|
|
2965
3065
|
}), {
|
|
2966
3066
|
ok: !0,
|
|
2967
3067
|
command: "scroll_to_text",
|
|
2968
|
-
label:
|
|
3068
|
+
label: O(r),
|
|
2969
3069
|
message: "Scrolled to the matching page area.",
|
|
2970
3070
|
privacy: R()
|
|
2971
3071
|
}) : {
|
|
@@ -2994,7 +3094,7 @@ function Qn(e) {
|
|
|
2994
3094
|
command: "click_visible_text",
|
|
2995
3095
|
message: "No safe visible clickable control found."
|
|
2996
3096
|
};
|
|
2997
|
-
const n =
|
|
3097
|
+
const n = O(r);
|
|
2998
3098
|
return J.test(n) ? {
|
|
2999
3099
|
ok: !1,
|
|
3000
3100
|
blocked: !0,
|
|
@@ -3043,16 +3143,16 @@ function eo(e) {
|
|
|
3043
3143
|
}
|
|
3044
3144
|
function to(e) {
|
|
3045
3145
|
return [...document.querySelectorAll('button,a,[role="button"],summary,input[type="button"],input[type="submit"]')].filter(j).map((t) => ({
|
|
3046
|
-
label:
|
|
3146
|
+
label: O(t),
|
|
3047
3147
|
tag: t.tagName?.toLowerCase(),
|
|
3048
3148
|
role: t.getAttribute?.("role") || null,
|
|
3049
3149
|
href: lt(t),
|
|
3050
|
-
safeClick: !J.test(
|
|
3150
|
+
safeClick: !J.test(O(t))
|
|
3051
3151
|
})).filter((t) => t.label).filter(X((t) => `${t.tag}:${t.label}:${t.href || ""}`)).slice(0, e);
|
|
3052
3152
|
}
|
|
3053
3153
|
function ro(e) {
|
|
3054
3154
|
return [...document.querySelectorAll('a[href],button,[role="button"],summary')].filter(j).map((t) => {
|
|
3055
|
-
const r =
|
|
3155
|
+
const r = O(t), n = lt(t), o = no([
|
|
3056
3156
|
r,
|
|
3057
3157
|
n,
|
|
3058
3158
|
le(t)
|
|
@@ -3079,7 +3179,7 @@ function be(e, t) {
|
|
|
3079
3179
|
node: n,
|
|
3080
3180
|
text: _(n.nodeValue || "")
|
|
3081
3181
|
})).filter(({ text: n }) => n && n.toLocaleLowerCase("tr-TR").includes(r)).map(({ node: n, text: o }) => ({
|
|
3082
|
-
snippet:
|
|
3182
|
+
snippet: po(o, e, t.snippetChars),
|
|
3083
3183
|
tag: n.parentElement?.tagName?.toLowerCase() || "",
|
|
3084
3184
|
heading: le(n.parentElement)
|
|
3085
3185
|
})).filter((n) => n.snippet).filter(X((n) => n.snippet)).slice(0, t.textMatches);
|
|
@@ -3108,7 +3208,7 @@ function co(e) {
|
|
|
3108
3208
|
if (!e) return [];
|
|
3109
3209
|
const t = document.createTreeWalker(e, NodeFilter.SHOW_TEXT, { acceptNode(n) {
|
|
3110
3210
|
const o = n.parentElement;
|
|
3111
|
-
return !o || !j(o) || /^(script|style|noscript|template|svg)$/iu.test(o.tagName || "") ||
|
|
3211
|
+
return !o || !j(o) || /^(script|style|noscript|template|svg)$/iu.test(o.tagName || "") || fo(o) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;
|
|
3112
3212
|
} }), r = [];
|
|
3113
3213
|
for (; r.length < 500; ) {
|
|
3114
3214
|
const n = t.nextNode();
|
|
@@ -3118,7 +3218,7 @@ function co(e) {
|
|
|
3118
3218
|
return r;
|
|
3119
3219
|
}
|
|
3120
3220
|
function lo(e) {
|
|
3121
|
-
return [...document.querySelectorAll('button,a,[role="button"],summary,input[type="button"],input[type="submit"]')].filter(j).find((t) =>
|
|
3221
|
+
return [...document.querySelectorAll('button,a,[role="button"],summary,input[type="button"],input[type="submit"]')].filter(j).find((t) => O(t).toLocaleLowerCase("tr-TR").includes(e.toLocaleLowerCase("tr-TR")));
|
|
3122
3222
|
}
|
|
3123
3223
|
function uo(e) {
|
|
3124
3224
|
const t = be(e, {
|
|
@@ -3127,7 +3227,7 @@ function uo(e) {
|
|
|
3127
3227
|
})[0];
|
|
3128
3228
|
return t ? [...document.querySelectorAll("body *")].filter(j).find((r) => _(r.textContent).includes(t.snippet.slice(0, 24))) : null;
|
|
3129
3229
|
}
|
|
3130
|
-
function
|
|
3230
|
+
function O(e) {
|
|
3131
3231
|
return e ? P(_(e.getAttribute?.("aria-label") || e.getAttribute?.("title") || e.getAttribute?.("alt") || e.value || e.textContent || "")).slice(0, 90) : "";
|
|
3132
3232
|
}
|
|
3133
3233
|
function le(e) {
|
|
@@ -3139,7 +3239,7 @@ function le(e) {
|
|
|
3139
3239
|
}
|
|
3140
3240
|
return "";
|
|
3141
3241
|
}
|
|
3142
|
-
function
|
|
3242
|
+
function Fe(e) {
|
|
3143
3243
|
return e ? xe({
|
|
3144
3244
|
sku: _(e.sku || e.id || ""),
|
|
3145
3245
|
name: _(e.name || e.title || ""),
|
|
@@ -3151,7 +3251,7 @@ function Be(e) {
|
|
|
3151
3251
|
category: _(e.category || "")
|
|
3152
3252
|
}) : null;
|
|
3153
3253
|
}
|
|
3154
|
-
function
|
|
3254
|
+
function po(e, t, r) {
|
|
3155
3255
|
const n = P(e), o = n.toLocaleLowerCase("tr-TR").indexOf(t.toLocaleLowerCase("tr-TR")), i = Math.max(0, o - Math.floor(r / 3));
|
|
3156
3256
|
return n.slice(i, i + r).trim();
|
|
3157
3257
|
}
|
|
@@ -3162,7 +3262,7 @@ function j(e) {
|
|
|
3162
3262
|
const r = window.getComputedStyle(e);
|
|
3163
3263
|
return r.visibility !== "hidden" && r.display !== "none" && Number(r.opacity || 1) > 0;
|
|
3164
3264
|
}
|
|
3165
|
-
function
|
|
3265
|
+
function fo(e) {
|
|
3166
3266
|
return !!e.closest?.('input,textarea,select,[contenteditable="true"]');
|
|
3167
3267
|
}
|
|
3168
3268
|
function lt(e) {
|
|
@@ -3254,12 +3354,12 @@ export {
|
|
|
3254
3354
|
Co as FALLBACK_STATUS,
|
|
3255
3355
|
li as __resetAllCartCoalescersForTesting,
|
|
3256
3356
|
xi as __resetAllPdpHydratorsForTesting,
|
|
3257
|
-
|
|
3357
|
+
Oi as action,
|
|
3258
3358
|
Zo as actionButtonsUiSpec,
|
|
3259
|
-
|
|
3359
|
+
Fo as alignProductsToTable,
|
|
3260
3360
|
Ho as anonymousRequestText,
|
|
3261
3361
|
ji as applyCompactionResult,
|
|
3262
|
-
|
|
3362
|
+
$i as beErrorToAgentError,
|
|
3263
3363
|
vr as buildActivityVisualization,
|
|
3264
3364
|
bi as buildCompactionRequest,
|
|
3265
3365
|
qi as buildPdpFollowupSteps,
|
|
@@ -3269,14 +3369,14 @@ export {
|
|
|
3269
3369
|
Ei as buildToolUiSteps,
|
|
3270
3370
|
Ze as canUseModuleWorker,
|
|
3271
3371
|
wt as caughtToStreamError,
|
|
3272
|
-
|
|
3372
|
+
pi as coalesceAddToCart,
|
|
3273
3373
|
qo as compactAccountConfig,
|
|
3274
3374
|
ei as compactContextProducts,
|
|
3275
3375
|
Go as compactObject,
|
|
3276
3376
|
ii as compactProductSurfaceForLlm,
|
|
3277
3377
|
Xo as comparisonResultForUi,
|
|
3278
3378
|
Io as comparisonUiSpec,
|
|
3279
|
-
|
|
3379
|
+
pr as createActivityCollector,
|
|
3280
3380
|
Ge as createBrowserMemory,
|
|
3281
3381
|
ra as createDiagnosticsTool,
|
|
3282
3382
|
Ki as createEndpointCachePolicies,
|
|
@@ -3301,42 +3401,42 @@ export {
|
|
|
3301
3401
|
ui as done,
|
|
3302
3402
|
Ko as elapsedMs,
|
|
3303
3403
|
ar as endpointStableKey,
|
|
3304
|
-
|
|
3404
|
+
fi as error,
|
|
3305
3405
|
yi as fallbackStatus,
|
|
3306
3406
|
rn as filterActivityEntries,
|
|
3307
3407
|
_i as firstArrayValue,
|
|
3308
3408
|
vn as formatJsonHtml,
|
|
3309
|
-
|
|
3409
|
+
fr as getOrCreateActivityCollector,
|
|
3310
3410
|
yr as groupForEntry,
|
|
3311
3411
|
Nn as gssSearchCapabilities,
|
|
3312
3412
|
Po as homePanelReset,
|
|
3313
3413
|
ai as httpErrorToAgentError,
|
|
3314
3414
|
zo as inputHashCachePolicy,
|
|
3315
3415
|
Wo as inspectProductSurface,
|
|
3316
|
-
|
|
3416
|
+
$r as installActivityFetchPatch,
|
|
3317
3417
|
ea as installBrowserTools,
|
|
3318
3418
|
Wi as installFetchTransportBridge,
|
|
3319
3419
|
sa as installIframeScraperBypass,
|
|
3320
3420
|
oa as installLocalAgenticActivityDebug,
|
|
3321
|
-
|
|
3322
|
-
|
|
3421
|
+
Mo as isFallbackStatus,
|
|
3422
|
+
$o as isRef,
|
|
3323
3423
|
Zi as jsonResponse,
|
|
3324
|
-
|
|
3424
|
+
Fi as llmCacheKey,
|
|
3325
3425
|
Ro as mergeProductSurfaceEvidence,
|
|
3326
3426
|
Ci as mergeRoundProducts,
|
|
3327
3427
|
Pi as metadata,
|
|
3328
3428
|
Vi as mountAccount,
|
|
3329
3429
|
Qr as mountActivityOverlay,
|
|
3330
|
-
|
|
3430
|
+
Mn as navigateSameTab,
|
|
3331
3431
|
Yi as ndjsonResponse,
|
|
3332
3432
|
Qo as normalizeComparisonTable,
|
|
3333
3433
|
mr as normalizeEntry,
|
|
3334
3434
|
Ai as normalizeProduct,
|
|
3335
|
-
|
|
3435
|
+
On as normalizeSameOriginUrl,
|
|
3336
3436
|
xo as normalizeSimilarityText,
|
|
3337
3437
|
jo as nowIso,
|
|
3338
3438
|
Lo as plainMessageContent,
|
|
3339
|
-
|
|
3439
|
+
Bo as productDetailsUiSpec,
|
|
3340
3440
|
Ti as productFactsKey,
|
|
3341
3441
|
Ni as productSkuKey,
|
|
3342
3442
|
Di as productSurfaceReviewText,
|
|
@@ -3350,7 +3450,7 @@ export {
|
|
|
3350
3450
|
ki as resolveFlow,
|
|
3351
3451
|
Dn as resolveProductCandidates,
|
|
3352
3452
|
ti as retailAnonymizeMessages,
|
|
3353
|
-
|
|
3453
|
+
Mi as retailAnonymousRequestText,
|
|
3354
3454
|
zi as retailRedactPii,
|
|
3355
3455
|
gi as routeFlowParams,
|
|
3356
3456
|
mi as routeSkuList,
|
|
@@ -3376,11 +3476,11 @@ export {
|
|
|
3376
3476
|
hi as uiSpec,
|
|
3377
3477
|
Gn as uniqueProductsBySku,
|
|
3378
3478
|
di as validateToolArgs,
|
|
3379
|
-
|
|
3479
|
+
Oo as withAccountConfig,
|
|
3380
3480
|
No as withDeclarativeBeOpCache,
|
|
3381
3481
|
si as withSimilarsAppend,
|
|
3382
|
-
|
|
3383
|
-
|
|
3384
|
-
|
|
3385
|
-
|
|
3482
|
+
Or as wrapActivityBeacon,
|
|
3483
|
+
Br as wrapActivityTools,
|
|
3484
|
+
Mr as wrapActivityTransport,
|
|
3485
|
+
Bi as wrapResolveProductsWithPdpHydration
|
|
3386
3486
|
};
|