@gengage/assistant-fe 0.6.25 → 0.6.27
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/debug/activity-collector.d.ts +1 -0
- package/dist/agentic/index.js +374 -353
- package/dist/agentic/types.d.ts +3 -0
- package/dist/agentic/worker.js +1 -1
- package/dist/agentic.iife.js +5 -4
- package/dist/api-paths-C9NwnH29.js +1274 -0
- package/dist/chat-runtime.js +1 -1
- package/dist/chat.iife.js +13 -13
- package/dist/chat.js +1 -1
- package/dist/{common-aUI01FdB.js → common-Bhl1mzk2.js} +1 -1
- package/dist/common.js +5 -5
- package/dist/{connection-warning-DkdoruU2.js → connection-warning-D-0Mxk-A.js} +1 -1
- package/dist/{fastIntent-iu8Z5MpN.js → fastIntent-bAlwVoje.js} +1 -1
- package/dist/index.js +10 -10
- package/dist/native.iife.js +11 -11
- package/dist/qna-runtime.js +1 -1
- package/dist/qna.iife.js +25 -25
- package/dist/qna.js +1 -1
- package/dist/{route-params-UDemctx_.js → route-params-5K4Du1Xa.js} +678 -673
- package/dist/{runtime-aSV5XfKR.js → runtime-BAFZ7iOP.js} +3 -3
- package/dist/{runtime-DGUqplEx.js → runtime-CUNLK1KR.js} +3 -3
- package/dist/{runtime-Cu05VoNY.js → runtime-oEtmgT4U.js} +4 -4
- package/dist/{simbut-S9Kviutm.js → simbut-Dt8e5uSk.js} +1 -1
- package/dist/simbut.iife.js +1 -1
- package/dist/simbut.js +1 -1
- package/dist/simrel-runtime.js +1 -1
- package/dist/{simrel-BTn7A6VC.js → simrel-txr23_xG.js} +1 -1
- package/dist/simrel.iife.js +38 -38
- package/dist/simrel.js +2 -2
- package/dist/{widget-base-T-AFCGg6.js → widget-base-56tkaZZB.js} +1 -1
- package/package.json +1 -1
- package/dist/api-paths-C0t52SV3.js +0 -1235
package/dist/agentic/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { buildPhotoSimilarityProfile as
|
|
2
|
-
import { $ as
|
|
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 Co, A as Ao, B as ft, C as Ro, D as Po, E as Lo, F as jo, G as No, H as Io, I as Uo, J as qo, K as Bo, L as Oo, M as $o, N as Mo, O as Fo, P as Do, Q as Go, R as zo, S as Ho, T as Wo, U as Vo, V as Ko, W as ue, X as Jo, Y as Yo, Z as Zo, _ as Qo, _t as Xo, a as ei, at as pt, b as ti, c as mt, d as ri, dt as ni, et as oi, f as ii, ft as ai, g as si, gt, h as ci, ht, i as li, it as ui, j as di, k as fi, l as pi, lt as bt, m as mi, mt as Oe, n as gi, nt as yt, o as hi, ot as bi, p as yi, q as wi, r as vi, rt as xi, s as ki, st as $e, t as _i, tt as Si, u as Ei, ut as Ti, v as Ci, vt as Ai, w as Ri, x as Pi, y as Li, z as wt } from "../route-params-5K4Du1Xa.js";
|
|
3
3
|
var vt = 512, xt = 0.74;
|
|
4
4
|
function kt({ accountId: e, worker: t, beUrl: r, devJwtSecret: n, tokenBrokerUrl: o, tokenBrokerAudience: i, defaultLocale: a, tools: s = {}, beacon: c, confirmation: d, memory: f = Oe() }) {
|
|
5
5
|
let b = 1;
|
|
@@ -81,9 +81,9 @@ 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
|
|
84
|
+
function St({ accountId: e, accountModule: t, beUrl: r, devJwtSecret: n, tokenBrokerUrl: o, tokenBrokerAudience: i, defaultLocale: a, tools: s = {}, beacon: c, confirmation: d, memory: f }) {
|
|
85
85
|
let b = null;
|
|
86
|
-
const m =
|
|
86
|
+
const m = Et({
|
|
87
87
|
accountId: e,
|
|
88
88
|
tools: s,
|
|
89
89
|
beacon: c,
|
|
@@ -146,7 +146,7 @@ function Et({ accountId: e, accountModule: t, beUrl: r, devJwtSecret: n, tokenBr
|
|
|
146
146
|
}
|
|
147
147
|
};
|
|
148
148
|
}
|
|
149
|
-
function
|
|
149
|
+
function Et({ accountId: e, tools: t, beacon: r, confirmation: n, memory: o }) {
|
|
150
150
|
const i = (a) => r?.({
|
|
151
151
|
...a,
|
|
152
152
|
accountId: a.accountId || e
|
|
@@ -289,7 +289,7 @@ function qt(e, t, r) {
|
|
|
289
289
|
} catch {
|
|
290
290
|
}
|
|
291
291
|
}
|
|
292
|
-
function
|
|
292
|
+
function Se(e, t) {
|
|
293
293
|
if (!e) return 0;
|
|
294
294
|
let r = 0;
|
|
295
295
|
try {
|
|
@@ -309,7 +309,7 @@ function Ee(e, t) {
|
|
|
309
309
|
}
|
|
310
310
|
return r;
|
|
311
311
|
}
|
|
312
|
-
function
|
|
312
|
+
function Ee(e) {
|
|
313
313
|
try {
|
|
314
314
|
return window[e];
|
|
315
315
|
} catch {
|
|
@@ -387,7 +387,7 @@ function Ge(e, t = {}) {
|
|
|
387
387
|
if (i) return i;
|
|
388
388
|
const a = _e.get(e) || Bt(e, t);
|
|
389
389
|
_e.set(e, a);
|
|
390
|
-
const s = t.sessionPrefix || `gengage:${e}:session:`, c = t.localPrefix || `gengage:${e}:local:`, d =
|
|
390
|
+
const s = t.sessionPrefix || `gengage:${e}:session:`, c = t.localPrefix || `gengage:${e}:local:`, d = Ee("sessionStorage"), f = Ee("localStorage"), m = {
|
|
391
391
|
get: (u) => {
|
|
392
392
|
const h = a.volatileEntries.get(u);
|
|
393
393
|
return h ? U(h) ? (a.volatileEntries.delete(u), null) : h.value : null;
|
|
@@ -405,7 +405,7 @@ function Ge(e, t = {}) {
|
|
|
405
405
|
let u = 0;
|
|
406
406
|
for (const [v, T] of a.volatileEntries)
|
|
407
407
|
U(T) && (a.volatileEntries.delete(v), u += 1);
|
|
408
|
-
const h =
|
|
408
|
+
const h = Se(d, s), w = Se(f, c), k = await a.idbGc();
|
|
409
409
|
return {
|
|
410
410
|
volatile: u,
|
|
411
411
|
session: h,
|
|
@@ -441,7 +441,7 @@ function Ot(e) {
|
|
|
441
441
|
setTimeout(r, 5e3);
|
|
442
442
|
}
|
|
443
443
|
var V = "__gengageAgentFetchBridge", $t = 1e3 * 60 * 60 * 24 * 14;
|
|
444
|
-
function
|
|
444
|
+
function ji({ 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
447
|
const o = Mt(), i = `https://gengage-injector.invalid/${encodeURIComponent(e)}`, a = /* @__PURE__ */ new Set(), s = n ? Wt({
|
|
@@ -759,7 +759,7 @@ 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
|
|
762
|
+
function Ni({ accountId: e, beUrl: t, devJwtSecret: r, tokenBrokerUrl: n, tokenBrokerAudience: o, workerUrl: i, defaultLocale: a = "en-GB", accountModule: s, tools: c = {}, beacon: d, confirmation: f, memory: b, allowBlobWorker: m = !1, signal: l }) {
|
|
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.");
|
|
@@ -784,7 +784,7 @@ function ji({ accountId: e, beUrl: t, devJwtSecret: r, tokenBrokerUrl: n, tokenB
|
|
|
784
784
|
...d ? { beacon: d } : {},
|
|
785
785
|
...f ? { confirmation: f } : {},
|
|
786
786
|
...b ? { memory: b } : {}
|
|
787
|
-
}) :
|
|
787
|
+
}) : St({
|
|
788
788
|
accountId: e,
|
|
789
789
|
accountModule: s,
|
|
790
790
|
beUrl: t,
|
|
@@ -873,7 +873,7 @@ function ar(e, t, r = "v1") {
|
|
|
873
873
|
request: t
|
|
874
874
|
})}`;
|
|
875
875
|
}
|
|
876
|
-
function
|
|
876
|
+
function Ii(e) {
|
|
877
877
|
const t = e.version || "v1", r = (n) => (o) => ({
|
|
878
878
|
partition: `${e.partitionPrefix}/${n}`,
|
|
879
879
|
key: ar(n, o, t),
|
|
@@ -885,10 +885,10 @@ function Ni(e) {
|
|
|
885
885
|
product_groupings: r("product_groupings")
|
|
886
886
|
};
|
|
887
887
|
}
|
|
888
|
-
function
|
|
888
|
+
function Ui(e) {
|
|
889
889
|
return { ...e };
|
|
890
890
|
}
|
|
891
|
-
function
|
|
891
|
+
function qi(e, t = {}) {
|
|
892
892
|
return new Response(e.map((r) => JSON.stringify(r)).join(`
|
|
893
893
|
`) + `
|
|
894
894
|
`, {
|
|
@@ -899,7 +899,7 @@ function Ui(e, t = {}) {
|
|
|
899
899
|
}
|
|
900
900
|
});
|
|
901
901
|
}
|
|
902
|
-
function
|
|
902
|
+
function Bi(e, t = {}) {
|
|
903
903
|
return new Response(JSON.stringify(e), {
|
|
904
904
|
...t,
|
|
905
905
|
headers: {
|
|
@@ -912,12 +912,12 @@ function sr(e) {
|
|
|
912
912
|
const t = (e?.chat || e?._chat)?.root || e?._chat?.root;
|
|
913
913
|
return t ? t.getRootNode?.()?.host || t : Array.from(document.querySelectorAll("*")).find((r) => r.shadowRoot?.querySelector?.(".gengage-chat-root, .gengage-chat-launcher-container"));
|
|
914
914
|
}
|
|
915
|
-
function
|
|
915
|
+
function Oi(e, t) {
|
|
916
916
|
const r = sr(e);
|
|
917
917
|
r?.style && (t ? r.style.removeProperty("display") : r.style.setProperty("display", "none", "important")), t || (e?.chat || e?._chat)?.close?.();
|
|
918
918
|
}
|
|
919
919
|
var cr = "nd_be_url";
|
|
920
|
-
function
|
|
920
|
+
function $i(e, t) {
|
|
921
921
|
const r = lr() || e.beUrl || t;
|
|
922
922
|
if (!r) throw new Error("resolveBeUrl: backend URL is required. The injector must supply a fallback URL; the SDK has no default.");
|
|
923
923
|
return r;
|
|
@@ -940,7 +940,7 @@ var ur = [
|
|
|
940
940
|
"searchGiftOptions",
|
|
941
941
|
"similaritySearch"
|
|
942
942
|
];
|
|
943
|
-
function
|
|
943
|
+
function Mi(e, t, r = {}) {
|
|
944
944
|
const n = window, o = n.gengage || (n.gengage = {}), i = o.tools || (o.tools = {});
|
|
945
945
|
i[e] = t;
|
|
946
946
|
for (const a of r.accountAliases || []) i[a] = t;
|
|
@@ -950,7 +950,7 @@ function $i(e, t, r = {}) {
|
|
|
950
950
|
}
|
|
951
951
|
return t;
|
|
952
952
|
}
|
|
953
|
-
function
|
|
953
|
+
function Fi({ getPageType: e, getProduct: t }) {
|
|
954
954
|
return () => ({
|
|
955
955
|
url: window.location.href,
|
|
956
956
|
title: document.title,
|
|
@@ -958,7 +958,7 @@ function Mi({ getPageType: e, getProduct: t }) {
|
|
|
958
958
|
product: t()
|
|
959
959
|
});
|
|
960
960
|
}
|
|
961
|
-
function
|
|
961
|
+
function Di({ accountId: e, getPageType: t, getProduct: r, getToolNames: n, getSearchCapabilities: o, getMemory: i }) {
|
|
962
962
|
return async () => ({
|
|
963
963
|
accountId: e,
|
|
964
964
|
url: window.location.href,
|
|
@@ -970,7 +970,7 @@ function Fi({ accountId: e, getPageType: t, getProduct: r, getToolNames: n, getS
|
|
|
970
970
|
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
971
971
|
});
|
|
972
972
|
}
|
|
973
|
-
function
|
|
973
|
+
function Gi({ 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
975
|
const a = o || e, s = window, c = () => {
|
|
976
976
|
const l = s.GengageInjectorConfig || {}, p = l[e] || {};
|
|
@@ -1054,30 +1054,46 @@ function pr(e) {
|
|
|
1054
1054
|
return window[Ae] = r, r;
|
|
1055
1055
|
}
|
|
1056
1056
|
function mr(e) {
|
|
1057
|
-
const t = String(e.kind || e.type || "activity"), r =
|
|
1057
|
+
const t = String(e.kind || e.type || "activity"), r = hr(t), n = e.severity || br({
|
|
1058
|
+
...e,
|
|
1059
|
+
kind: t
|
|
1060
|
+
});
|
|
1058
1061
|
return {
|
|
1059
1062
|
...e,
|
|
1060
1063
|
kind: t,
|
|
1061
1064
|
section: r,
|
|
1062
|
-
severity:
|
|
1063
|
-
|
|
1064
|
-
kind: t
|
|
1065
|
-
}),
|
|
1066
|
-
group: e.group || br({
|
|
1065
|
+
severity: n,
|
|
1066
|
+
group: e.group || yr({
|
|
1067
1067
|
...e,
|
|
1068
1068
|
kind: t,
|
|
1069
1069
|
section: r
|
|
1070
|
+
}),
|
|
1071
|
+
noise: e.noise === !0 || n === "info" && gr({
|
|
1072
|
+
...e,
|
|
1073
|
+
kind: t
|
|
1070
1074
|
})
|
|
1071
1075
|
};
|
|
1072
1076
|
}
|
|
1073
1077
|
function gr(e) {
|
|
1074
|
-
|
|
1078
|
+
const t = String(e?.kind || "");
|
|
1079
|
+
if (t === "flow/trace") {
|
|
1080
|
+
const r = String(e?.event?.type || "");
|
|
1081
|
+
if (r === "step:start" || r === "step:end") return !0;
|
|
1082
|
+
}
|
|
1083
|
+
if (t === "flow/metadata") {
|
|
1084
|
+
const r = String(e?.event?.phase || e?.event?.type || e?.event?.name || "").toLowerCase();
|
|
1085
|
+
if (r === "panelloading" || r === "heartbeat" || r === "tick") return !0;
|
|
1086
|
+
}
|
|
1087
|
+
return !!t.startsWith("runtime/");
|
|
1075
1088
|
}
|
|
1076
1089
|
function hr(e) {
|
|
1090
|
+
return e.startsWith("flow/") ? "Flow" : e.startsWith("intent/") ? "Intent" : e.startsWith("be/") ? "Backend" : e.startsWith("tool/") ? "Tools" : e === "beacon" ? "Telemetry" : "Runtime";
|
|
1091
|
+
}
|
|
1092
|
+
function br(e) {
|
|
1077
1093
|
const t = String(e?.kind || "");
|
|
1078
1094
|
return /\/(?:error|rejected|thrown)$/u.test(t) || e?.error || t === "be/response" && Number(e?.status) >= 400 ? "error" : t === "flow/metadata" && /fallback|retry|missing|empty/iu.test(String(e?.event?.phase || e?.event?.type || "")) || t === "be/response" && Number(e?.status) >= 300 ? "warn" : "info";
|
|
1079
1095
|
}
|
|
1080
|
-
function
|
|
1096
|
+
function yr(e) {
|
|
1081
1097
|
const t = String(e?.kind || "");
|
|
1082
1098
|
if (t.startsWith("tool/")) return e?.tool ? `Tool: ${e.tool}` : "Tools";
|
|
1083
1099
|
if (t.startsWith("be/")) return e?.op ? `BE: ${e.op}` : "Backend";
|
|
@@ -1091,8 +1107,8 @@ function br(e) {
|
|
|
1091
1107
|
}
|
|
1092
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";
|
|
1093
1109
|
}
|
|
1094
|
-
var
|
|
1095
|
-
function
|
|
1110
|
+
var wr = 8, fe = 120;
|
|
1111
|
+
function vr(e = []) {
|
|
1096
1112
|
const t = Array.isArray(e) ? e : [], r = {
|
|
1097
1113
|
status: "idle",
|
|
1098
1114
|
sessionId: "",
|
|
@@ -1118,7 +1134,7 @@ function wr(e = []) {
|
|
|
1118
1134
|
ui: null,
|
|
1119
1135
|
lastText: ""
|
|
1120
1136
|
};
|
|
1121
|
-
for (const o of t)
|
|
1137
|
+
for (const o of t) xr(r, n, o);
|
|
1122
1138
|
return r.tools = te(r.tools).slice(-8), r.beOps = te(r.beOps).slice(-8), r.uiSurfaces = te(r.uiSurfaces).slice(-8), r.timeline = r.timeline.slice(-36), !r.lastAt && t.length && (r.lastAt = t.at(-1)?.at || null), {
|
|
1123
1139
|
flow: r,
|
|
1124
1140
|
context: n
|
|
@@ -1126,11 +1142,11 @@ function wr(e = []) {
|
|
|
1126
1142
|
}
|
|
1127
1143
|
function Y(e, t = "") {
|
|
1128
1144
|
if (!e || typeof e != "object") return null;
|
|
1129
|
-
const r =
|
|
1145
|
+
const r = E({
|
|
1130
1146
|
source: t,
|
|
1131
1147
|
panel: ae(e.panel || e.panel_state),
|
|
1132
|
-
threadExtensions:
|
|
1133
|
-
pageProduct:
|
|
1148
|
+
threadExtensions: Pr(e.thread?.extensions || e.threadExtensions || e.extensions),
|
|
1149
|
+
pageProduct: Ur(e.product || e.page?.product),
|
|
1134
1150
|
products: I(e.products || e.last_search_products || e.items),
|
|
1135
1151
|
ui: Qe(e.spec),
|
|
1136
1152
|
intent: pe(e.intent),
|
|
@@ -1144,23 +1160,23 @@ function Y(e, t = "") {
|
|
|
1144
1160
|
function ae(e) {
|
|
1145
1161
|
if (!e || typeof e != "object") return null;
|
|
1146
1162
|
const t = I(e.last_search_products || e.current_panel_products), r = q(e.screen_sku_list || e.search_suggestions_skus);
|
|
1147
|
-
return
|
|
1163
|
+
return E({
|
|
1148
1164
|
source: e.list_source || e.source,
|
|
1149
1165
|
screenType: y(e.screen_type || e.screen),
|
|
1150
1166
|
screenSummary: y(e.screen_summary || e.ai_plist_summary),
|
|
1151
1167
|
screenSkus: r,
|
|
1152
1168
|
chatMentionedSkus: q(e.chat_mentioned_skus),
|
|
1153
|
-
lastSearch:
|
|
1169
|
+
lastSearch: Lr(e.last_search),
|
|
1154
1170
|
productCount: t?.count ?? me(e.current_panel_product_count),
|
|
1155
1171
|
productSkus: t?.skus
|
|
1156
1172
|
});
|
|
1157
1173
|
}
|
|
1158
1174
|
function Qe(e, t = "", r = "") {
|
|
1159
1175
|
if (!e || typeof e != "object") return null;
|
|
1160
|
-
const n =
|
|
1176
|
+
const n = qr(e);
|
|
1161
1177
|
if (!n) return null;
|
|
1162
|
-
const o = n.props || {}, i =
|
|
1163
|
-
return
|
|
1178
|
+
const o = n.props || {}, i = jr(e, n, o), a = Array.isArray(o.buttons) ? o.buttons : Array.isArray(o.actions) ? o.actions : [], s = Array.isArray(o.rows) ? o.rows.length : Array.isArray(o.comparison_table) ? o.comparison_table.length : void 0;
|
|
1179
|
+
return E({
|
|
1164
1180
|
widget: t,
|
|
1165
1181
|
panelHint: r,
|
|
1166
1182
|
rootType: n.type,
|
|
@@ -1171,78 +1187,78 @@ function Qe(e, t = "", r = "") {
|
|
|
1171
1187
|
comparisonRows: s
|
|
1172
1188
|
});
|
|
1173
1189
|
}
|
|
1174
|
-
function
|
|
1190
|
+
function xr(e, t, r = {}) {
|
|
1175
1191
|
if (!(!r || typeof r != "object"))
|
|
1176
1192
|
switch (e.lastAt = r.at || e.lastAt, r.severity === "error" && (e.errors += 1), r.severity === "warn" && (e.warnings += 1), r.state && Z(t, r.state), r.kind) {
|
|
1177
1193
|
case "flow/request":
|
|
1178
|
-
|
|
1194
|
+
kr(e, t, r);
|
|
1179
1195
|
break;
|
|
1180
1196
|
case "flow/metadata":
|
|
1181
|
-
|
|
1197
|
+
_r(e, t, r);
|
|
1182
1198
|
break;
|
|
1183
1199
|
case "flow/trace":
|
|
1184
1200
|
Er(e, r);
|
|
1185
1201
|
break;
|
|
1186
1202
|
case "flow/ui":
|
|
1187
|
-
|
|
1203
|
+
Sr(e, t, r);
|
|
1188
1204
|
break;
|
|
1189
1205
|
case "flow/text-final":
|
|
1190
|
-
t.lastText = y(r.content, fe),
|
|
1206
|
+
t.lastText = y(r.content, fe), S(e, r, "Text", t.lastText, "done");
|
|
1191
1207
|
break;
|
|
1192
1208
|
case "flow/done":
|
|
1193
|
-
e.status = e.status === "error" ? "error" : "done", e.current = "Done",
|
|
1209
|
+
e.status = e.status === "error" ? "error" : "done", e.current = "Done", S(e, r, "Done", "Flow completed", "done");
|
|
1194
1210
|
break;
|
|
1195
1211
|
case "flow/error":
|
|
1196
1212
|
case "flow/rejected":
|
|
1197
1213
|
case "flow/thrown":
|
|
1198
|
-
e.status = "error", e.current = "Flow error",
|
|
1214
|
+
e.status = "error", e.current = "Flow error", S(e, r, "Error", y(r.error || r.kind), "error");
|
|
1199
1215
|
break;
|
|
1200
1216
|
case "tool/start":
|
|
1201
|
-
e.status = e.status === "idle" ? "running" : e.status, e.current = `Tool: ${r.tool || "tool"}`, e.tools.push(r.tool || "tool"),
|
|
1217
|
+
e.status = e.status === "idle" ? "running" : e.status, e.current = `Tool: ${r.tool || "tool"}`, e.tools.push(r.tool || "tool"), S(e, r, "Tool", r.tool || "tool", "running");
|
|
1202
1218
|
break;
|
|
1203
1219
|
case "tool/done":
|
|
1204
|
-
e.tools.push(r.tool || "tool"),
|
|
1220
|
+
e.tools.push(r.tool || "tool"), S(e, r, "Tool", r.tool || "tool", "done");
|
|
1205
1221
|
break;
|
|
1206
1222
|
case "tool/error":
|
|
1207
|
-
e.status = "error", e.current = `Tool error: ${r.tool || "tool"}`, e.tools.push(r.tool || "tool"),
|
|
1223
|
+
e.status = "error", e.current = `Tool error: ${r.tool || "tool"}`, e.tools.push(r.tool || "tool"), S(e, r, "Tool", r.tool || "tool", "error");
|
|
1208
1224
|
break;
|
|
1209
1225
|
case "be/request":
|
|
1210
|
-
e.status = e.status === "idle" ? "running" : e.status, e.current = `BE: ${r.op || "request"}`, e.beOps.push(r.op || "unknown"),
|
|
1226
|
+
e.status = e.status === "idle" ? "running" : e.status, e.current = `BE: ${r.op || "request"}`, e.beOps.push(r.op || "unknown"), Tr(t, r), S(e, r, "BE", r.op || "request", "running");
|
|
1211
1227
|
break;
|
|
1212
1228
|
case "be/response":
|
|
1213
|
-
e.beOps.push(r.op || r.result?.op || "unknown"),
|
|
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");
|
|
1214
1230
|
break;
|
|
1215
1231
|
case "intent/selected":
|
|
1216
1232
|
t.intent = pe(r.intent), t.route = Q({
|
|
1217
1233
|
searchParams: r.searchParams,
|
|
1218
1234
|
flowParams: r.flowParams
|
|
1219
|
-
}), e.current = `Intent: ${t.intent?.kind || "selected"}`,
|
|
1235
|
+
}), e.current = `Intent: ${t.intent?.kind || "selected"}`, S(e, r, "Intent", t.intent?.kind || "selected", "done");
|
|
1220
1236
|
break;
|
|
1221
1237
|
default:
|
|
1222
|
-
r.kind?.startsWith?.("runtime/") &&
|
|
1238
|
+
r.kind?.startsWith?.("runtime/") && S(e, r, "Runtime", r.title || r.kind, "done");
|
|
1223
1239
|
break;
|
|
1224
1240
|
}
|
|
1225
1241
|
}
|
|
1226
|
-
function
|
|
1242
|
+
function kr(e, t, r) {
|
|
1227
1243
|
const n = r.request || {};
|
|
1228
|
-
e.status = "running", e.startedAt = r.at || e.startedAt, e.sessionId = y(n.session_id || n.sessionId || e.sessionId), e.requestType = y(n.type || e.requestType), e.actionType = y(n.action?.type || n.payload?.type || e.actionType), e.current = e.actionType || e.requestType || "Flow request", Z(t, Y(n.context || {}, "request.context")),
|
|
1244
|
+
e.status = "running", e.startedAt = r.at || e.startedAt, e.sessionId = y(n.session_id || n.sessionId || e.sessionId), e.requestType = y(n.type || e.requestType), e.actionType = y(n.action?.type || n.payload?.type || e.actionType), e.current = e.actionType || e.requestType || "Flow request", Z(t, Y(n.context || {}, "request.context")), S(e, r, "Request", [e.requestType, e.actionType].filter(Boolean).join(" / ") || "request", "running");
|
|
1229
1245
|
}
|
|
1230
|
-
function
|
|
1246
|
+
function _r(e, t, r) {
|
|
1231
1247
|
const n = r.event || {};
|
|
1232
|
-
e.sessionId = y(n.sessionId || n.session_id || e.sessionId), e.model = y(n.model || e.model), n.panelLoading === !0 && (e.current = "Panel loading"), Z(t, Y(n, "flow.metadata")),
|
|
1248
|
+
e.sessionId = y(n.sessionId || n.session_id || e.sessionId), e.model = y(n.model || e.model), n.panelLoading === !0 && (e.current = "Panel loading"), Z(t, Y(n, "flow.metadata")), S(e, r, "Metadata", y(n.name || n.phase || n.type || "metadata"), r.severity);
|
|
1233
1249
|
}
|
|
1234
|
-
function
|
|
1250
|
+
function Sr(e, t, r) {
|
|
1235
1251
|
const n = Qe(r.spec, r.widget, r.panelHint);
|
|
1236
1252
|
n && (t.ui = n, typeof n.productCount == "number" && (t.products = {
|
|
1237
1253
|
count: n.productCount,
|
|
1238
1254
|
skus: n.productSkus || []
|
|
1239
|
-
}), e.uiSurfaces.push(n.rootType), e.current = `UI: ${n.rootType}`,
|
|
1255
|
+
}), e.uiSurfaces.push(n.rootType), e.current = `UI: ${n.rootType}`, S(e, r, "UI", n.rootType || "ui", "done"));
|
|
1240
1256
|
}
|
|
1241
1257
|
function Er(e, t) {
|
|
1242
1258
|
const r = t.event || {}, n = y(r.type || "trace"), o = y(r.stepName || r.stepKind || "");
|
|
1243
|
-
e.sessionId = y(r.sessionId || e.sessionId), e.current = o ? `${n}: ${o}` : n,
|
|
1259
|
+
e.sessionId = y(r.sessionId || e.sessionId), e.current = o ? `${n}: ${o}` : n, S(e, t, "Trace", [n, o].filter(Boolean).join(" / ") || "trace", Br(n));
|
|
1244
1260
|
}
|
|
1245
|
-
function
|
|
1261
|
+
function Tr(e, t) {
|
|
1246
1262
|
const r = t.params || {};
|
|
1247
1263
|
Z(e, Y(r, "be.params")), r.panel_state && (e.panel = ae(r.panel_state)), r.structured_context && (e.panel = Xe(e.panel, ae(r.structured_context)));
|
|
1248
1264
|
const n = Q({
|
|
@@ -1251,7 +1267,7 @@ function Sr(e, t) {
|
|
|
1251
1267
|
});
|
|
1252
1268
|
n && (e.route = n);
|
|
1253
1269
|
}
|
|
1254
|
-
function
|
|
1270
|
+
function Cr(e, t) {
|
|
1255
1271
|
if (!t || typeof t != "object") return;
|
|
1256
1272
|
t.intent && (e.intent = pe(t.intent));
|
|
1257
1273
|
const r = Q({
|
|
@@ -1267,13 +1283,13 @@ function Z(e, t) {
|
|
|
1267
1283
|
}), t.pageProduct && (e.pageProduct = t.pageProduct), t.products && (e.products = t.products), t.ui && (e.ui = t.ui), t.intent && (e.intent = t.intent), t.route && (e.route = t.route));
|
|
1268
1284
|
}
|
|
1269
1285
|
function Xe(e, t) {
|
|
1270
|
-
return e ? t ?
|
|
1286
|
+
return e ? t ? E({
|
|
1271
1287
|
...e,
|
|
1272
1288
|
...t
|
|
1273
1289
|
}) : e : t || null;
|
|
1274
1290
|
}
|
|
1275
|
-
function
|
|
1276
|
-
e.timeline.push(
|
|
1291
|
+
function S(e, t, r, n, o = "done") {
|
|
1292
|
+
e.timeline.push(E({
|
|
1277
1293
|
id: t.id,
|
|
1278
1294
|
at: t.at,
|
|
1279
1295
|
label: r,
|
|
@@ -1283,21 +1299,21 @@ function E(e, t, r, n, o = "done") {
|
|
|
1283
1299
|
}));
|
|
1284
1300
|
}
|
|
1285
1301
|
function pe(e) {
|
|
1286
|
-
return !e || typeof e != "object" ? null :
|
|
1302
|
+
return !e || typeof e != "object" ? null : E({
|
|
1287
1303
|
kind: y(e.kind || e.intent || e.type),
|
|
1288
1304
|
target: y(e.target),
|
|
1289
1305
|
confidence: typeof e.confidence == "number" ? Math.round(e.confidence * 100) / 100 : void 0
|
|
1290
1306
|
});
|
|
1291
1307
|
}
|
|
1292
1308
|
function Q({ searchParams: e, flowParams: t } = {}) {
|
|
1293
|
-
const r =
|
|
1294
|
-
search:
|
|
1295
|
-
flow:
|
|
1309
|
+
const r = E({
|
|
1310
|
+
search: Ar(e),
|
|
1311
|
+
flow: Rr(t)
|
|
1296
1312
|
});
|
|
1297
1313
|
return Object.keys(r).length ? r : null;
|
|
1298
1314
|
}
|
|
1299
|
-
function
|
|
1300
|
-
return !e || typeof e != "object" ? null :
|
|
1315
|
+
function Ar(e) {
|
|
1316
|
+
return !e || typeof e != "object" ? null : E({
|
|
1301
1317
|
query: y(e.query || e.search_query),
|
|
1302
1318
|
category: y(e.category || e.category_name || e.categoryName),
|
|
1303
1319
|
categoryId: y(e.categoryId || e.category_id),
|
|
@@ -1305,26 +1321,26 @@ function Cr(e) {
|
|
|
1305
1321
|
facets: Array.isArray(e.facets) ? e.facets.length : void 0
|
|
1306
1322
|
});
|
|
1307
1323
|
}
|
|
1308
|
-
function
|
|
1309
|
-
return !e || typeof e != "object" ? null :
|
|
1324
|
+
function Rr(e) {
|
|
1325
|
+
return !e || typeof e != "object" ? null : E({
|
|
1310
1326
|
target: y(e.target),
|
|
1311
1327
|
sku: y(e.sku || e.product_sku),
|
|
1312
1328
|
skus: q(e.skus || e.sku_list),
|
|
1313
1329
|
action: y(e.action || e.action_type)
|
|
1314
1330
|
});
|
|
1315
1331
|
}
|
|
1316
|
-
function
|
|
1332
|
+
function Pr(e) {
|
|
1317
1333
|
if (!e || typeof e != "object") return {};
|
|
1318
1334
|
const t = {};
|
|
1319
1335
|
for (const [r, n] of Object.entries(e))
|
|
1320
|
-
n != null && (t[r] = n && typeof n == "object" ?
|
|
1336
|
+
n != null && (t[r] = n && typeof n == "object" ? E({
|
|
1321
1337
|
keys: Object.keys(n).slice(0, 8),
|
|
1322
1338
|
summary: y(n.summary || n.occasion || n.target_date_iso || n.type)
|
|
1323
1339
|
}) : y(n));
|
|
1324
1340
|
return t;
|
|
1325
1341
|
}
|
|
1326
|
-
function
|
|
1327
|
-
return !e || typeof e != "object" ? null :
|
|
1342
|
+
function Lr(e) {
|
|
1343
|
+
return !e || typeof e != "object" ? null : E({
|
|
1328
1344
|
query: y(e.query),
|
|
1329
1345
|
source: y(e.source),
|
|
1330
1346
|
category: y(e.category || e.category_name),
|
|
@@ -1334,40 +1350,40 @@ function Pr(e) {
|
|
|
1334
1350
|
function I(e) {
|
|
1335
1351
|
if (!Array.isArray(e)) return null;
|
|
1336
1352
|
const t = e.filter(Boolean);
|
|
1337
|
-
return
|
|
1353
|
+
return E({
|
|
1338
1354
|
count: t.length,
|
|
1339
1355
|
skus: q(t.map((r) => r?.sku || r?.code || r?.id)),
|
|
1340
1356
|
names: q(t.map((r) => r?.name || r?.title), 4)
|
|
1341
1357
|
});
|
|
1342
1358
|
}
|
|
1343
|
-
function
|
|
1359
|
+
function jr(e, t, r) {
|
|
1344
1360
|
if (t.type === "ProductDetailsPanel") return I([r.product || r.item].filter(Boolean));
|
|
1345
1361
|
if (t.type === "ProductGrid") {
|
|
1346
|
-
const n =
|
|
1347
|
-
return I(n ||
|
|
1362
|
+
const n = Nr(r.products, r.items, r.cards);
|
|
1363
|
+
return I(n || Ir(e, t));
|
|
1348
1364
|
}
|
|
1349
1365
|
return I(r.products || r.items || r.cards);
|
|
1350
1366
|
}
|
|
1351
|
-
function
|
|
1367
|
+
function Nr(...e) {
|
|
1352
1368
|
return e.find((t) => Array.isArray(t)) || null;
|
|
1353
1369
|
}
|
|
1354
|
-
function
|
|
1370
|
+
function Ir(e, t) {
|
|
1355
1371
|
const r = e.elements || {};
|
|
1356
1372
|
return (Array.isArray(t.children) ? t.children : []).map((n) => r[n]).filter((n) => n?.type === "ProductCard").map((n) => n.props?.product || n.props?.item || n.props).filter(Boolean);
|
|
1357
1373
|
}
|
|
1358
|
-
function
|
|
1359
|
-
return !e || typeof e != "object" ? null :
|
|
1374
|
+
function Ur(e) {
|
|
1375
|
+
return !e || typeof e != "object" ? null : E({
|
|
1360
1376
|
sku: y(e.sku || e.code || e.id),
|
|
1361
1377
|
name: y(e.name || e.title),
|
|
1362
1378
|
category: y(e.category),
|
|
1363
1379
|
url: y(e.url)
|
|
1364
1380
|
});
|
|
1365
1381
|
}
|
|
1366
|
-
function
|
|
1382
|
+
function qr(e) {
|
|
1367
1383
|
const t = e.elements || {};
|
|
1368
1384
|
return t[e.root || "root"] || t.root || e.rootElement || null;
|
|
1369
1385
|
}
|
|
1370
|
-
function q(e, t =
|
|
1386
|
+
function q(e, t = wr) {
|
|
1371
1387
|
if (!Array.isArray(e)) return;
|
|
1372
1388
|
const r = e.map((n) => y(n)).filter(Boolean);
|
|
1373
1389
|
return r.length ? r.slice(0, t) : void 0;
|
|
@@ -1378,17 +1394,17 @@ function te(e) {
|
|
|
1378
1394
|
function me(e) {
|
|
1379
1395
|
return Number.isFinite(Number(e)) ? Number(e) : void 0;
|
|
1380
1396
|
}
|
|
1381
|
-
function
|
|
1397
|
+
function Br(e) {
|
|
1382
1398
|
return /error$/u.test(e) ? "error" : /start$/u.test(e) ? "running" : "done";
|
|
1383
1399
|
}
|
|
1384
1400
|
function y(e, t = fe) {
|
|
1385
1401
|
const r = String(e ?? "").replace(/\s+/gu, " ").trim();
|
|
1386
1402
|
return r.length > t ? `${r.slice(0, t - 1)}...` : r;
|
|
1387
1403
|
}
|
|
1388
|
-
function
|
|
1404
|
+
function E(e) {
|
|
1389
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));
|
|
1390
1406
|
}
|
|
1391
|
-
function
|
|
1407
|
+
function Or(e, t) {
|
|
1392
1408
|
if (!e || typeof e != "object" || !t) return e;
|
|
1393
1409
|
const r = { ...e };
|
|
1394
1410
|
for (const [n, o] of Object.entries(e))
|
|
@@ -1404,7 +1420,7 @@ function Br(e, t) {
|
|
|
1404
1420
|
kind: "tool/done",
|
|
1405
1421
|
tool: n,
|
|
1406
1422
|
params: a,
|
|
1407
|
-
result:
|
|
1423
|
+
result: Zr(c),
|
|
1408
1424
|
state: Y(c, `tool:${n}`)
|
|
1409
1425
|
}), c;
|
|
1410
1426
|
} catch (c) {
|
|
@@ -1418,13 +1434,13 @@ function Br(e, t) {
|
|
|
1418
1434
|
}, Object.defineProperty(r[n], "__gengageActivityWrapped", { value: !0 }));
|
|
1419
1435
|
return r;
|
|
1420
1436
|
}
|
|
1421
|
-
function
|
|
1437
|
+
function $r(e, t) {
|
|
1422
1438
|
return t ? (r) => (t.record({
|
|
1423
1439
|
kind: "beacon",
|
|
1424
1440
|
payload: r
|
|
1425
1441
|
}), e?.(r)) : e;
|
|
1426
1442
|
}
|
|
1427
|
-
function
|
|
1443
|
+
function Mr(e, t) {
|
|
1428
1444
|
if (!t) return !1;
|
|
1429
1445
|
const r = window.GengageAssistantInjector?.[e], n = r?.streamTransport;
|
|
1430
1446
|
if (typeof n != "function" || n.__gengageActivityWrapped) return !1;
|
|
@@ -1434,7 +1450,7 @@ function $r(e, t) {
|
|
|
1434
1450
|
request: a
|
|
1435
1451
|
});
|
|
1436
1452
|
try {
|
|
1437
|
-
const f = n.call(this, a,
|
|
1453
|
+
const f = n.call(this, a, Dr(s, t), c, d);
|
|
1438
1454
|
return f && typeof f.then == "function" ? f.catch((b) => {
|
|
1439
1455
|
throw t.record({
|
|
1440
1456
|
kind: "flow/rejected",
|
|
@@ -1455,12 +1471,12 @@ function $r(e, t) {
|
|
|
1455
1471
|
title: "streamTransport wrapped"
|
|
1456
1472
|
}), !0;
|
|
1457
1473
|
}
|
|
1458
|
-
function
|
|
1474
|
+
function Fr({ accountId: e, collector: t, promptBaseUrl: r } = {}) {
|
|
1459
1475
|
if (!t || window.__GENGAGE_ACTIVITY_FETCH_PATCHED__) return;
|
|
1460
1476
|
window.__GENGAGE_ACTIVITY_FETCH_PATCHED__ = !0;
|
|
1461
1477
|
const n = window.fetch?.bind(window);
|
|
1462
1478
|
typeof n == "function" && (window.fetch = async (o, i) => {
|
|
1463
|
-
const a =
|
|
1479
|
+
const a = Vr(o, i), s = Jr(a.url);
|
|
1464
1480
|
let c = "";
|
|
1465
1481
|
s && (c = a.body?.op_name || a.body?.op || "unknown", t.record({
|
|
1466
1482
|
kind: "be/request",
|
|
@@ -1468,7 +1484,7 @@ function Mr({ accountId: e, collector: t, promptBaseUrl: r } = {}) {
|
|
|
1468
1484
|
url: a.url,
|
|
1469
1485
|
op: c,
|
|
1470
1486
|
opDomain: a.body?.op_domain || "",
|
|
1471
|
-
prompt: await
|
|
1487
|
+
prompt: await Gr({
|
|
1472
1488
|
accountId: e,
|
|
1473
1489
|
opName: c,
|
|
1474
1490
|
promptBaseUrl: r
|
|
@@ -1478,7 +1494,7 @@ function Mr({ accountId: e, collector: t, promptBaseUrl: r } = {}) {
|
|
|
1478
1494
|
}));
|
|
1479
1495
|
const d = await n(o, i);
|
|
1480
1496
|
return s && d.clone().text().then((f) => {
|
|
1481
|
-
const b =
|
|
1497
|
+
const b = Yr(f);
|
|
1482
1498
|
t.record({
|
|
1483
1499
|
kind: "be/response",
|
|
1484
1500
|
source: "main-thread-fetch",
|
|
@@ -1500,7 +1516,7 @@ function Mr({ accountId: e, collector: t, promptBaseUrl: r } = {}) {
|
|
|
1500
1516
|
}), d;
|
|
1501
1517
|
});
|
|
1502
1518
|
}
|
|
1503
|
-
function
|
|
1519
|
+
function Dr(e, t) {
|
|
1504
1520
|
if (!e || e.__gengageActivityWrapped) return e;
|
|
1505
1521
|
const r = { ...e };
|
|
1506
1522
|
Object.defineProperty(r, "__gengageActivityWrapped", { value: !0 });
|
|
@@ -1537,9 +1553,9 @@ function Fr(e, t) {
|
|
|
1537
1553
|
function Re(e, t) {
|
|
1538
1554
|
!e || !t || (e.record(t), t.kind === "be/response" && et(e, t.result));
|
|
1539
1555
|
}
|
|
1540
|
-
async function
|
|
1556
|
+
async function Gr({ accountId: e, opName: t, promptBaseUrl: r }) {
|
|
1541
1557
|
if (!e || !t) return null;
|
|
1542
|
-
const n =
|
|
1558
|
+
const n = zr({
|
|
1543
1559
|
accountId: e,
|
|
1544
1560
|
baseId: String(e).replace(/-agentic$/u, ""),
|
|
1545
1561
|
promptBaseUrl: r
|
|
@@ -1558,12 +1574,12 @@ async function Dr({ accountId: e, opName: t, promptBaseUrl: r }) {
|
|
|
1558
1574
|
return { error: B(o) };
|
|
1559
1575
|
}
|
|
1560
1576
|
}
|
|
1561
|
-
function
|
|
1577
|
+
function zr({ accountId: e, baseId: t, promptBaseUrl: r }) {
|
|
1562
1578
|
if (typeof r == "string" && r.trim()) return r;
|
|
1563
|
-
const n =
|
|
1564
|
-
return n ||
|
|
1579
|
+
const n = Hr(e, t);
|
|
1580
|
+
return n || Wr(t);
|
|
1565
1581
|
}
|
|
1566
|
-
function
|
|
1582
|
+
function Hr(e, t) {
|
|
1567
1583
|
const r = window.__GENGAGE_AGENTIC_PROMPT_BASE_URL__;
|
|
1568
1584
|
if (typeof r == "string" && r.trim()) return r;
|
|
1569
1585
|
if (r && typeof r == "object") {
|
|
@@ -1573,7 +1589,7 @@ function zr(e, t) {
|
|
|
1573
1589
|
const n = (window.GengageInjectorConfig?.[e] || window.GengageInjectorConfig?.[t])?.agenticActivityPromptBaseUrl;
|
|
1574
1590
|
return typeof n == "string" && n.trim() ? n : null;
|
|
1575
1591
|
}
|
|
1576
|
-
function
|
|
1592
|
+
function Wr(e) {
|
|
1577
1593
|
const t = Array.from(document.scripts || []);
|
|
1578
1594
|
for (const r of t) {
|
|
1579
1595
|
const n = r?.src || "";
|
|
@@ -1591,14 +1607,14 @@ function et(e, t) {
|
|
|
1591
1607
|
flowParams: t?.flow_params
|
|
1592
1608
|
});
|
|
1593
1609
|
}
|
|
1594
|
-
function
|
|
1610
|
+
function Vr(e, t) {
|
|
1595
1611
|
const r = typeof e == "string" ? e : e?.url || "", n = t?.body || (typeof e != "string" ? e?.body : null);
|
|
1596
1612
|
return {
|
|
1597
1613
|
url: String(r || ""),
|
|
1598
|
-
body:
|
|
1614
|
+
body: Kr(n)
|
|
1599
1615
|
};
|
|
1600
1616
|
}
|
|
1601
|
-
function
|
|
1617
|
+
function Kr(e) {
|
|
1602
1618
|
if (!e || typeof e != "string") return {};
|
|
1603
1619
|
try {
|
|
1604
1620
|
return JSON.parse(e);
|
|
@@ -1606,7 +1622,7 @@ function Vr(e) {
|
|
|
1606
1622
|
return { raw: e };
|
|
1607
1623
|
}
|
|
1608
1624
|
}
|
|
1609
|
-
function
|
|
1625
|
+
function Jr(e) {
|
|
1610
1626
|
try {
|
|
1611
1627
|
const t = new URL(e, window.location.href);
|
|
1612
1628
|
return t.pathname === "/v1/execute" && /agentic\.gengage\.ai$/u.test(t.hostname);
|
|
@@ -1614,7 +1630,7 @@ function Kr(e) {
|
|
|
1614
1630
|
return !1;
|
|
1615
1631
|
}
|
|
1616
1632
|
}
|
|
1617
|
-
function
|
|
1633
|
+
function Yr(e) {
|
|
1618
1634
|
const t = {};
|
|
1619
1635
|
for (const r of String(e || "").split(/\r?\n/u)) {
|
|
1620
1636
|
const n = r.trim();
|
|
@@ -1628,7 +1644,7 @@ function Jr(e) {
|
|
|
1628
1644
|
}
|
|
1629
1645
|
return t;
|
|
1630
1646
|
}
|
|
1631
|
-
function
|
|
1647
|
+
function Zr(e) {
|
|
1632
1648
|
if (Array.isArray(e)) return {
|
|
1633
1649
|
type: "array",
|
|
1634
1650
|
length: e.length,
|
|
@@ -1661,14 +1677,14 @@ var Pe = "gengage-agentic-activity-overlay", G = "all", se = "all", Le = [
|
|
|
1661
1677
|
"warn",
|
|
1662
1678
|
"error"
|
|
1663
1679
|
];
|
|
1664
|
-
function
|
|
1680
|
+
function Qr(e) {
|
|
1665
1681
|
if (!e || typeof e.subscribe != "function") return null;
|
|
1666
1682
|
const t = document.getElementById(Pe);
|
|
1667
1683
|
if (t?.shadowRoot) return t;
|
|
1668
1684
|
const r = document.createElement("div");
|
|
1669
1685
|
r.id = Pe, r.style.cssText = "position:fixed;left:10px;top:10px;z-index:2147483647;";
|
|
1670
1686
|
const n = r.attachShadow({ mode: "open" });
|
|
1671
|
-
n.innerHTML =
|
|
1687
|
+
n.innerHTML = Sn(e.accountId), document.documentElement.appendChild(r);
|
|
1672
1688
|
const o = {
|
|
1673
1689
|
entries: [],
|
|
1674
1690
|
section: G,
|
|
@@ -1676,7 +1692,8 @@ function Zr(e) {
|
|
|
1676
1692
|
search: "",
|
|
1677
1693
|
grouped: !0,
|
|
1678
1694
|
follow: !0,
|
|
1679
|
-
stateVisible: !0
|
|
1695
|
+
stateVisible: !0,
|
|
1696
|
+
verbose: !1
|
|
1680
1697
|
}, i = {
|
|
1681
1698
|
stateView: n.querySelector('[data-role="state-view"]'),
|
|
1682
1699
|
list: n.querySelector('[data-role="list"]'),
|
|
@@ -1688,10 +1705,11 @@ function Zr(e) {
|
|
|
1688
1705
|
severities: n.querySelector('[data-role="severity-filters"]'),
|
|
1689
1706
|
groupToggle: n.querySelector('[data-action="group"]'),
|
|
1690
1707
|
followToggle: n.querySelector('[data-action="follow"]'),
|
|
1691
|
-
stateToggle: n.querySelector('[data-action="state"]')
|
|
1708
|
+
stateToggle: n.querySelector('[data-action="state"]'),
|
|
1709
|
+
verboseToggle: n.querySelector('[data-action="verbose"]')
|
|
1692
1710
|
};
|
|
1693
|
-
|
|
1694
|
-
const a = () =>
|
|
1711
|
+
Xr(r, i.list);
|
|
1712
|
+
const a = () => tn(i, o);
|
|
1695
1713
|
return n.querySelector('[data-action="clear"]')?.addEventListener("click", () => e.clear()), n.querySelector('[data-action="toggle"]')?.addEventListener("click", (s) => {
|
|
1696
1714
|
i.panel.classList.toggle("is-minimized"), s.currentTarget.textContent = i.panel.classList.contains("is-minimized") ? "Open" : "Min";
|
|
1697
1715
|
}), i.search?.addEventListener("input", () => {
|
|
@@ -1708,6 +1726,8 @@ function Zr(e) {
|
|
|
1708
1726
|
o.follow = !o.follow, i.followToggle.setAttribute("aria-pressed", String(o.follow)), i.followToggle.textContent = o.follow ? "Follow" : "Paused";
|
|
1709
1727
|
}), i.stateToggle?.addEventListener("click", () => {
|
|
1710
1728
|
o.stateVisible = !o.stateVisible, i.stateToggle.setAttribute("aria-pressed", String(o.stateVisible)), i.stateToggle.textContent = o.stateVisible ? "State" : "State off", a();
|
|
1729
|
+
}), i.verboseToggle?.addEventListener("click", () => {
|
|
1730
|
+
o.verbose = !o.verbose, i.verboseToggle.setAttribute("aria-pressed", String(o.verbose)), i.verboseToggle.textContent = o.verbose ? "Verbose" : "Concise", a();
|
|
1711
1731
|
}), n.querySelector('[data-action="expand-all"]')?.addEventListener("click", () => {
|
|
1712
1732
|
i.list?.querySelectorAll("details").forEach((s) => {
|
|
1713
1733
|
s.open = !0;
|
|
@@ -1720,21 +1740,21 @@ function Zr(e) {
|
|
|
1720
1740
|
const c = s.target?.closest?.('[data-action="copy-json"]');
|
|
1721
1741
|
if (!c) return;
|
|
1722
1742
|
const d = Number(c.dataset.entryId || 0);
|
|
1723
|
-
|
|
1743
|
+
xn(o.entries.find((f) => f.id === d), c);
|
|
1724
1744
|
}), e.subscribe((s, c) => {
|
|
1725
1745
|
o.entries = c.slice(), a();
|
|
1726
1746
|
}), r;
|
|
1727
1747
|
}
|
|
1728
|
-
function
|
|
1748
|
+
function Xr(e, t) {
|
|
1729
1749
|
e.addEventListener("wheel", (r) => {
|
|
1730
|
-
const n =
|
|
1750
|
+
const n = en(r.composedPath?.() || [], t);
|
|
1731
1751
|
n && (n.scrollTop += r.deltaY, n.scrollLeft += r.deltaX, r.preventDefault(), r.stopPropagation());
|
|
1732
1752
|
}, {
|
|
1733
1753
|
passive: !1,
|
|
1734
1754
|
capture: !0
|
|
1735
1755
|
});
|
|
1736
1756
|
}
|
|
1737
|
-
function
|
|
1757
|
+
function en(e, t) {
|
|
1738
1758
|
for (const r of e)
|
|
1739
1759
|
if (!(!r || r.nodeType !== 1) && Ne(r))
|
|
1740
1760
|
return r;
|
|
@@ -1743,33 +1763,33 @@ function Xr(e, t) {
|
|
|
1743
1763
|
function Ne(e) {
|
|
1744
1764
|
return !!(e && (e.scrollHeight > e.clientHeight + 1 || e.scrollWidth > e.clientWidth + 1) && getComputedStyle(e).overflow !== "hidden");
|
|
1745
1765
|
}
|
|
1746
|
-
function
|
|
1747
|
-
const r =
|
|
1748
|
-
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)),
|
|
1766
|
+
function tn(e, t) {
|
|
1767
|
+
const r = rn(t.entries, t), n = r.slice(-260);
|
|
1768
|
+
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);
|
|
1749
1769
|
}
|
|
1750
|
-
function
|
|
1751
|
-
const r = t.section || G, n = t.severity || se, o = nt(t.search);
|
|
1752
|
-
return (Array.isArray(e) ? e : []).filter((
|
|
1770
|
+
function rn(e, t = {}) {
|
|
1771
|
+
const r = t.section || G, n = t.severity || se, o = nt(t.search), i = t.verbose === !0;
|
|
1772
|
+
return (Array.isArray(e) ? e : []).filter((a) => !i && a.noise === !0 || r !== G && a.section !== r || n !== se && a.severity !== n ? !1 : o ? _n(a).includes(o) : !0);
|
|
1753
1773
|
}
|
|
1754
1774
|
function Ie(e, t, r, n) {
|
|
1755
1775
|
if (!e) return;
|
|
1756
1776
|
e.textContent = "";
|
|
1757
|
-
const o = n === "section" ?
|
|
1777
|
+
const o = n === "section" ? nn(t) : on(t), i = document.createElement("button");
|
|
1758
1778
|
i.type = "button", i.dataset[`${n}Filter`] = G, i.className = r === G ? "chip is-active" : "chip", i.textContent = `All ${t.length}`, e.appendChild(i);
|
|
1759
1779
|
for (const a of o) {
|
|
1760
1780
|
const s = t.filter((d) => d[n] === a).length, c = document.createElement("button");
|
|
1761
1781
|
c.type = "button", c.dataset[`${n}Filter`] = a, c.className = r === a ? `chip is-active ${n}-${O(a)}` : `chip ${n}-${O(a)}`, c.textContent = `${at(a)} ${s}`, e.appendChild(c);
|
|
1762
1782
|
}
|
|
1763
1783
|
}
|
|
1764
|
-
function
|
|
1784
|
+
function nn(e) {
|
|
1765
1785
|
const t = new Set(e.map((r) => r.section).filter(Boolean));
|
|
1766
1786
|
return Le.filter((r) => t.has(r)).concat([...t].filter((r) => !Le.includes(r)).sort());
|
|
1767
1787
|
}
|
|
1768
|
-
function
|
|
1788
|
+
function on(e) {
|
|
1769
1789
|
const t = new Set(e.map((r) => r.severity).filter(Boolean));
|
|
1770
1790
|
return je.filter((r) => t.has(r)).concat([...t].filter((r) => !je.includes(r)).sort());
|
|
1771
1791
|
}
|
|
1772
|
-
function
|
|
1792
|
+
function an(e, t, r) {
|
|
1773
1793
|
if (!e) return;
|
|
1774
1794
|
if (e.textContent = "", !t.length) {
|
|
1775
1795
|
const o = document.createElement("div");
|
|
@@ -1777,16 +1797,16 @@ function on(e, t, r) {
|
|
|
1777
1797
|
return;
|
|
1778
1798
|
}
|
|
1779
1799
|
const n = document.createDocumentFragment();
|
|
1780
|
-
if (r.grouped) for (const o of
|
|
1800
|
+
if (r.grouped) for (const o of yn(t)) n.appendChild(wn(o));
|
|
1781
1801
|
else for (const o of t) n.appendChild(rt(o));
|
|
1782
1802
|
e.appendChild(n), r.follow && requestAnimationFrame(() => e.scrollTop = e.scrollHeight);
|
|
1783
1803
|
}
|
|
1784
|
-
function
|
|
1804
|
+
function sn(e, t, r) {
|
|
1785
1805
|
if (!e || (e.textContent = "", e.classList.toggle("is-hidden", !r), !r)) return;
|
|
1786
1806
|
const { flow: n, context: o } = t, i = document.createDocumentFragment();
|
|
1787
|
-
i.appendChild(
|
|
1807
|
+
i.appendChild(cn(n)), i.appendChild(ln(o)), i.appendChild(un(n.timeline)), e.appendChild(i);
|
|
1788
1808
|
}
|
|
1789
|
-
function
|
|
1809
|
+
function cn(e) {
|
|
1790
1810
|
const t = document.createElement("section");
|
|
1791
1811
|
return t.className = `viz-card flow-card status-${O(e.status)}`, t.appendChild(ge("Flow State", e.status)), tt(t, [
|
|
1792
1812
|
["Current", e.current],
|
|
@@ -1796,23 +1816,23 @@ function sn(e) {
|
|
|
1796
1816
|
["Tools", e.tools?.join(", ")],
|
|
1797
1817
|
["BE ops", e.beOps?.join(", ")],
|
|
1798
1818
|
["UI", e.uiSurfaces?.join(", ")],
|
|
1799
|
-
["Health",
|
|
1819
|
+
["Health", dn(e)]
|
|
1800
1820
|
]), t;
|
|
1801
1821
|
}
|
|
1802
|
-
function
|
|
1822
|
+
function ln(e) {
|
|
1803
1823
|
const t = document.createElement("section");
|
|
1804
1824
|
return t.className = "viz-card context-card", t.appendChild(ge("Context State", e.panel?.screenType || e.ui?.rootType || "empty")), tt(t, [
|
|
1805
|
-
["Intent",
|
|
1806
|
-
["Route",
|
|
1807
|
-
["Screen",
|
|
1808
|
-
["Last search",
|
|
1809
|
-
["Products",
|
|
1810
|
-
["Page product",
|
|
1825
|
+
["Intent", fn(e.intent)],
|
|
1826
|
+
["Route", pn(e.route)],
|
|
1827
|
+
["Screen", mn(e)],
|
|
1828
|
+
["Last search", gn(e.panel?.lastSearch)],
|
|
1829
|
+
["Products", hn(e.panel, e.products)],
|
|
1830
|
+
["Page product", bn(e.pageProduct)],
|
|
1811
1831
|
["Extensions", Object.keys(e.threadExtensions || {}).join(", ")],
|
|
1812
1832
|
["Last text", e.lastText]
|
|
1813
1833
|
]), t;
|
|
1814
1834
|
}
|
|
1815
|
-
function
|
|
1835
|
+
function un(e) {
|
|
1816
1836
|
const t = document.createElement("section");
|
|
1817
1837
|
t.className = "viz-card timeline-card", t.appendChild(ge("Flow Timeline", `${e.length} steps`));
|
|
1818
1838
|
const r = document.createElement("ol");
|
|
@@ -1852,17 +1872,17 @@ function tt(e, t) {
|
|
|
1852
1872
|
a.className = "viz-value", a.textContent = String(n), o.append(i, a), e.appendChild(o);
|
|
1853
1873
|
}
|
|
1854
1874
|
}
|
|
1855
|
-
function
|
|
1875
|
+
function dn(e) {
|
|
1856
1876
|
return !e.errors && !e.warnings ? "clean" : `${e.errors || 0} errors, ${e.warnings || 0} warnings`;
|
|
1857
1877
|
}
|
|
1858
|
-
function
|
|
1878
|
+
function fn(e) {
|
|
1859
1879
|
return e ? [
|
|
1860
1880
|
e.kind,
|
|
1861
1881
|
e.target,
|
|
1862
1882
|
e.confidence != null ? `conf ${e.confidence}` : ""
|
|
1863
1883
|
].filter(Boolean).join(" / ") : "";
|
|
1864
1884
|
}
|
|
1865
|
-
function
|
|
1885
|
+
function pn(e) {
|
|
1866
1886
|
return e ? [e.search ? [
|
|
1867
1887
|
e.search.query,
|
|
1868
1888
|
e.search.category,
|
|
@@ -1875,7 +1895,7 @@ function fn(e) {
|
|
|
1875
1895
|
e.flow.action
|
|
1876
1896
|
].filter(Boolean).join(" / ") : ""].filter(Boolean).join(" -> ") : "";
|
|
1877
1897
|
}
|
|
1878
|
-
function
|
|
1898
|
+
function mn(e) {
|
|
1879
1899
|
const t = e.panel || {}, r = e.ui || {};
|
|
1880
1900
|
return [
|
|
1881
1901
|
t.screenType,
|
|
@@ -1884,7 +1904,7 @@ function pn(e) {
|
|
|
1884
1904
|
r.panelHint
|
|
1885
1905
|
].filter(Boolean).join(" / ");
|
|
1886
1906
|
}
|
|
1887
|
-
function
|
|
1907
|
+
function gn(e) {
|
|
1888
1908
|
return e ? [
|
|
1889
1909
|
e.query,
|
|
1890
1910
|
e.source,
|
|
@@ -1892,18 +1912,18 @@ function mn(e) {
|
|
|
1892
1912
|
e.count != null ? `${e.count} results` : ""
|
|
1893
1913
|
].filter(Boolean).join(" / ") : "";
|
|
1894
1914
|
}
|
|
1895
|
-
function
|
|
1915
|
+
function hn(e, t) {
|
|
1896
1916
|
const r = e?.productSkus || e?.screenSkus || t?.skus || [], n = e?.productCount ?? t?.count;
|
|
1897
1917
|
return n == null && !r.length ? "" : [`${n ?? r.length} products`, r.join(", ")].filter(Boolean).join(" / ");
|
|
1898
1918
|
}
|
|
1899
|
-
function
|
|
1919
|
+
function bn(e) {
|
|
1900
1920
|
return e ? [
|
|
1901
1921
|
e.sku,
|
|
1902
1922
|
e.name,
|
|
1903
1923
|
e.category
|
|
1904
1924
|
].filter(Boolean).join(" / ") : "";
|
|
1905
1925
|
}
|
|
1906
|
-
function
|
|
1926
|
+
function yn(e) {
|
|
1907
1927
|
const t = /* @__PURE__ */ new Map();
|
|
1908
1928
|
for (const r of e) {
|
|
1909
1929
|
const n = `${r.section || "Runtime"}:${r.group || r.kind}`, o = t.get(n) || {
|
|
@@ -1913,11 +1933,11 @@ function bn(e) {
|
|
|
1913
1933
|
title: r.group || r.kind,
|
|
1914
1934
|
entries: []
|
|
1915
1935
|
};
|
|
1916
|
-
o.entries.push(r), o.severity =
|
|
1936
|
+
o.entries.push(r), o.severity = kn(o.severity, r.severity), t.set(n, o);
|
|
1917
1937
|
}
|
|
1918
1938
|
return [...t.values()];
|
|
1919
1939
|
}
|
|
1920
|
-
function
|
|
1940
|
+
function wn(e) {
|
|
1921
1941
|
const t = document.createElement("section");
|
|
1922
1942
|
t.className = `group group-${O(e.severity)}`, t.dataset.section = e.section;
|
|
1923
1943
|
const r = document.createElement("div");
|
|
@@ -1953,9 +1973,9 @@ function rt(e) {
|
|
|
1953
1973
|
const b = document.createElement("button");
|
|
1954
1974
|
b.type = "button", b.dataset.action = "copy-json", b.dataset.entryId = String(e.id || ""), b.textContent = "Copy JSON", c.append(d, f, b);
|
|
1955
1975
|
const m = document.createElement("pre"), l = document.createElement("code");
|
|
1956
|
-
return l.innerHTML =
|
|
1976
|
+
return l.innerHTML = vn(e), m.appendChild(l), s.append(c, m), t.append(r, s), t;
|
|
1957
1977
|
}
|
|
1958
|
-
function
|
|
1978
|
+
function vn(e) {
|
|
1959
1979
|
const t = he(e), r = /("(?:\\u[\da-fA-F]{4}|\\[^u]|[^\\"])*"(?:\s*:)?|\btrue\b|\bfalse\b|\bnull\b|-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)/gu;
|
|
1960
1980
|
let n = "", o = 0;
|
|
1961
1981
|
for (const i of t.matchAll(r)) {
|
|
@@ -1966,7 +1986,7 @@ function wn(e) {
|
|
|
1966
1986
|
}
|
|
1967
1987
|
return n + H(t.slice(o));
|
|
1968
1988
|
}
|
|
1969
|
-
function
|
|
1989
|
+
function xn(e, t) {
|
|
1970
1990
|
if (!e) return;
|
|
1971
1991
|
const r = he(e), n = () => {
|
|
1972
1992
|
const o = t.textContent;
|
|
@@ -1989,7 +2009,7 @@ function Ue(e, t) {
|
|
|
1989
2009
|
r.remove();
|
|
1990
2010
|
}
|
|
1991
2011
|
}
|
|
1992
|
-
function
|
|
2012
|
+
function kn(e, t) {
|
|
1993
2013
|
const r = {
|
|
1994
2014
|
info: 0,
|
|
1995
2015
|
warn: 1,
|
|
@@ -1997,7 +2017,7 @@ function xn(e, t) {
|
|
|
1997
2017
|
};
|
|
1998
2018
|
return (r[t] || 0) > (r[e] || 0) ? t : e;
|
|
1999
2019
|
}
|
|
2000
|
-
function
|
|
2020
|
+
function _n(e) {
|
|
2001
2021
|
return nt([
|
|
2002
2022
|
e.kind,
|
|
2003
2023
|
e.section,
|
|
@@ -2030,7 +2050,7 @@ function ot(e) {
|
|
|
2030
2050
|
}
|
|
2031
2051
|
return e.kind === "intent/selected" ? e.intent?.kind || e.kind : e.kind.startsWith("tool/") ? e.tool || "tool" : e.kind === "beacon" ? e.payload?.type || "beacon" : e.title || e.kind;
|
|
2032
2052
|
}
|
|
2033
|
-
function
|
|
2053
|
+
function Sn(e) {
|
|
2034
2054
|
return `
|
|
2035
2055
|
<style>
|
|
2036
2056
|
:host { all: initial; }
|
|
@@ -2369,6 +2389,7 @@ function _n(e) {
|
|
|
2369
2389
|
<button type="button" data-action="state" aria-pressed="true">State</button>
|
|
2370
2390
|
<button type="button" data-action="group" aria-pressed="true">Grouped</button>
|
|
2371
2391
|
<button type="button" data-action="follow" aria-pressed="true">Follow</button>
|
|
2392
|
+
<button type="button" data-action="verbose" aria-pressed="false">Concise</button>
|
|
2372
2393
|
<button type="button" data-action="expand-all">Expand all</button>
|
|
2373
2394
|
<button type="button" data-action="collapse-all">Collapse all</button>
|
|
2374
2395
|
</div>
|
|
@@ -2406,8 +2427,8 @@ function O(e) {
|
|
|
2406
2427
|
function H(e) {
|
|
2407
2428
|
return String(e).replace(/[&<>"']/gu, (t) => t === "&" ? "&" : t === "<" ? "<" : t === ">" ? ">" : t === '"' ? """ : "'");
|
|
2408
2429
|
}
|
|
2409
|
-
function
|
|
2410
|
-
if (!
|
|
2430
|
+
function zi({ accountId: e, config: t = {}, tools: r, beacon: n } = {}) {
|
|
2431
|
+
if (!Tn(e, t)) return {
|
|
2411
2432
|
enabled: !1,
|
|
2412
2433
|
tools: r,
|
|
2413
2434
|
beacon: n,
|
|
@@ -2417,7 +2438,7 @@ function Gi({ accountId: e, config: t = {}, tools: r, beacon: n } = {}) {
|
|
|
2417
2438
|
}
|
|
2418
2439
|
};
|
|
2419
2440
|
const o = pr(e);
|
|
2420
|
-
return window.__GENGAGE_AGENTIC_DEBUG_RECORD__ = (i) => Re(o, i), window.__GENGAGE_AGENTIC_DEBUG_RECORD_BE__ = (i) => Re(o, i),
|
|
2441
|
+
return window.__GENGAGE_AGENTIC_DEBUG_RECORD__ = (i) => Re(o, i), window.__GENGAGE_AGENTIC_DEBUG_RECORD_BE__ = (i) => Re(o, i), Qr(o), Fr({
|
|
2421
2442
|
accountId: e,
|
|
2422
2443
|
collector: o,
|
|
2423
2444
|
promptBaseUrl: t.agenticActivityPromptBaseUrl
|
|
@@ -2427,22 +2448,22 @@ function Gi({ accountId: e, config: t = {}, tools: r, beacon: n } = {}) {
|
|
|
2427
2448
|
}), {
|
|
2428
2449
|
enabled: !0,
|
|
2429
2450
|
collector: o,
|
|
2430
|
-
tools:
|
|
2431
|
-
beacon:
|
|
2451
|
+
tools: Or(r, o),
|
|
2452
|
+
beacon: $r(n, o),
|
|
2432
2453
|
record: (i) => o.record(i),
|
|
2433
|
-
wrapTransport: () =>
|
|
2454
|
+
wrapTransport: () => Mr(e, o)
|
|
2434
2455
|
};
|
|
2435
2456
|
}
|
|
2436
|
-
function
|
|
2437
|
-
return t.agenticActivityDebug === !1 ? !1 : t.agenticActivityDebug === !0 || window.__GENGAGE_PWTEST_ACCOUNT__ === e || window.__GENGAGE_AGENTIC_ACTIVITY_DEBUG__ === !0 ? !0 : !!(t.debug === !0 &&
|
|
2457
|
+
function Tn(e, t = {}) {
|
|
2458
|
+
return t.agenticActivityDebug === !1 ? !1 : t.agenticActivityDebug === !0 || window.__GENGAGE_PWTEST_ACCOUNT__ === e || window.__GENGAGE_AGENTIC_ACTIVITY_DEBUG__ === !0 ? !0 : !!(t.debug === !0 && Cn(e));
|
|
2438
2459
|
}
|
|
2439
|
-
function
|
|
2460
|
+
function Cn(e) {
|
|
2440
2461
|
return Array.from(document.scripts || []).some((t) => {
|
|
2441
2462
|
const r = t?.src || "";
|
|
2442
2463
|
return r.includes(`/${e}/glov.js`) && /[?&]pwtest=/u.test(r);
|
|
2443
2464
|
});
|
|
2444
2465
|
}
|
|
2445
|
-
var
|
|
2466
|
+
var An = [
|
|
2446
2467
|
"sku",
|
|
2447
2468
|
"group_id",
|
|
2448
2469
|
"name",
|
|
@@ -2462,7 +2483,7 @@ var Cn = [
|
|
|
2462
2483
|
"in_stock",
|
|
2463
2484
|
"promotions",
|
|
2464
2485
|
"variants"
|
|
2465
|
-
],
|
|
2486
|
+
], Rn = [
|
|
2466
2487
|
"description",
|
|
2467
2488
|
"description_html",
|
|
2468
2489
|
"features",
|
|
@@ -2473,7 +2494,7 @@ var Cn = [
|
|
|
2473
2494
|
"documents",
|
|
2474
2495
|
"delivery",
|
|
2475
2496
|
"payment"
|
|
2476
|
-
],
|
|
2497
|
+
], Pn = [
|
|
2477
2498
|
"accountId",
|
|
2478
2499
|
"query",
|
|
2479
2500
|
"products",
|
|
@@ -2484,14 +2505,14 @@ var Cn = [
|
|
|
2484
2505
|
"available_facets",
|
|
2485
2506
|
"logs",
|
|
2486
2507
|
"meta"
|
|
2487
|
-
],
|
|
2508
|
+
], Ln = [
|
|
2488
2509
|
"source",
|
|
2489
2510
|
"sourceType",
|
|
2490
2511
|
"sourceProfile",
|
|
2491
2512
|
"products",
|
|
2492
2513
|
"queries",
|
|
2493
2514
|
"logs"
|
|
2494
|
-
],
|
|
2515
|
+
], jn = [
|
|
2495
2516
|
"items",
|
|
2496
2517
|
"kind",
|
|
2497
2518
|
"label",
|
|
@@ -2499,11 +2520,11 @@ var Cn = [
|
|
|
2499
2520
|
"count",
|
|
2500
2521
|
"privacy"
|
|
2501
2522
|
];
|
|
2502
|
-
function
|
|
2523
|
+
function Hi({ accountId: e, search: t, facetedSearch: r, similaritySearch: n, searchGiftOptions: o, filters: i = {}, resultContract: a = {}, limitations: s = [], extraTools: c = [] } = {}) {
|
|
2503
2524
|
return {
|
|
2504
|
-
searchKeyword: async (f = {}, b = {}) => t(
|
|
2525
|
+
searchKeyword: async (f = {}, b = {}) => t(In(f, b)),
|
|
2505
2526
|
facetedSearch: typeof r == "function" ? (f = {}, b = {}) => r(qe(f, b)) : async (f = {}, b = {}) => t(qe(f, b)),
|
|
2506
|
-
getSearchCapabilities: () =>
|
|
2527
|
+
getSearchCapabilities: () => Nn({
|
|
2507
2528
|
accountId: e,
|
|
2508
2529
|
hasSimilarity: typeof n == "function",
|
|
2509
2530
|
hasGiftSearch: typeof o == "function",
|
|
@@ -2514,10 +2535,10 @@ function zi({ accountId: e, search: t, facetedSearch: r, similaritySearch: n, se
|
|
|
2514
2535
|
})
|
|
2515
2536
|
};
|
|
2516
2537
|
}
|
|
2517
|
-
function
|
|
2538
|
+
function Nn({ accountId: e, hasSimilarity: t = !0, hasGiftSearch: r = !1, filters: n = {}, resultContract: o = {}, limitations: i = [], extraTools: a = [] } = {}) {
|
|
2518
2539
|
return {
|
|
2519
2540
|
accountId: e,
|
|
2520
|
-
tools:
|
|
2541
|
+
tools: Un([
|
|
2521
2542
|
"search",
|
|
2522
2543
|
"searchKeyword",
|
|
2523
2544
|
"facetedSearch",
|
|
@@ -2546,11 +2567,11 @@ function jn({ accountId: e, hasSimilarity: t = !0, hasGiftSearch: r = !1, filter
|
|
|
2546
2567
|
...n
|
|
2547
2568
|
},
|
|
2548
2569
|
resultContract: {
|
|
2549
|
-
productItemFields:
|
|
2550
|
-
productDetailFields:
|
|
2551
|
-
searchResultFields:
|
|
2552
|
-
similarityResultFields:
|
|
2553
|
-
siteContentFields:
|
|
2570
|
+
productItemFields: An,
|
|
2571
|
+
productDetailFields: Rn,
|
|
2572
|
+
searchResultFields: Pn,
|
|
2573
|
+
similarityResultFields: Ln,
|
|
2574
|
+
siteContentFields: jn,
|
|
2554
2575
|
...o
|
|
2555
2576
|
},
|
|
2556
2577
|
privacy: [
|
|
@@ -2562,7 +2583,7 @@ function jn({ accountId: e, hasSimilarity: t = !0, hasGiftSearch: r = !1, filter
|
|
|
2562
2583
|
limitations: i
|
|
2563
2584
|
};
|
|
2564
2585
|
}
|
|
2565
|
-
function
|
|
2586
|
+
function In(e, t) {
|
|
2566
2587
|
return ce(typeof e == "string" ? {
|
|
2567
2588
|
...t,
|
|
2568
2589
|
query: e
|
|
@@ -2586,7 +2607,7 @@ function qe(e, t) {
|
|
|
2586
2607
|
});
|
|
2587
2608
|
return n === "" && (o.query = ""), o;
|
|
2588
2609
|
}
|
|
2589
|
-
function
|
|
2610
|
+
function Un(e) {
|
|
2590
2611
|
const t = /* @__PURE__ */ new Set();
|
|
2591
2612
|
return e.filter((r) => {
|
|
2592
2613
|
const n = String(r || "");
|
|
@@ -2596,8 +2617,8 @@ function In(e) {
|
|
|
2596
2617
|
function ce(e) {
|
|
2597
2618
|
return Object.fromEntries(Object.entries(e || {}).filter(([, t]) => t != null && t !== "" && (!Array.isArray(t) || t.length)));
|
|
2598
2619
|
}
|
|
2599
|
-
var
|
|
2600
|
-
function
|
|
2620
|
+
var qn = 15e3, Bn = "glov_agentic_iframe", On = "position:absolute;width:1px;height:1px;left:-9999px;top:-9999px;opacity:0;pointer-events:none;";
|
|
2621
|
+
function Wi({ markerParam: e = Bn, markerValue: t = "agentic-scraper", frameName: r = t, sandbox: n = "allow-same-origin", timeoutMs: o = qn, hiddenStyle: i = On, messageType: a, parser: s, isBlockedDocument: c } = {}) {
|
|
2601
2622
|
const d = a || `gengage:agentic-iframe-scraper:${t}`;
|
|
2602
2623
|
function f(p, g = {}) {
|
|
2603
2624
|
const u = new URL(String(p), re());
|
|
@@ -2702,24 +2723,24 @@ function Hi({ markerParam: e = qn, markerValue: t = "agentic-scraper", frameName
|
|
|
2702
2723
|
postCurrentDocument: l
|
|
2703
2724
|
};
|
|
2704
2725
|
}
|
|
2705
|
-
function
|
|
2726
|
+
function Vi(e, { accountId: t, type: r = "agenticSearchFrame" } = {}) {
|
|
2706
2727
|
return e?.isScraperFrame?.() ? (t && globalThis.window && (globalThis.window.GengageAssistantInjector ||= {}, globalThis.window.GengageAssistantInjector[t] ||= { type: r }), !0) : !1;
|
|
2707
2728
|
}
|
|
2708
2729
|
function re() {
|
|
2709
2730
|
return globalThis.window?.location?.origin || globalThis.location?.origin || "https://example.invalid";
|
|
2710
2731
|
}
|
|
2711
|
-
function
|
|
2732
|
+
function Ki({ rootUrl: e, successMessage: t, alreadyCurrentPageMessage: r = t, missingUrlMessage: n = "Ürün sayfasını açmak için ürün bağlantısı gerekiyor." } = {}) {
|
|
2712
2733
|
const o = new URL(e).origin;
|
|
2713
2734
|
return async function(a = {}) {
|
|
2714
|
-
const s = a.product || {}, c =
|
|
2715
|
-
return c ?
|
|
2735
|
+
const s = a.product || {}, c = $n(a.url || a.productUrl || s.url, e, o), d = a.sku || s.sku || null;
|
|
2736
|
+
return c ? Fn(c) ? {
|
|
2716
2737
|
ok: !0,
|
|
2717
2738
|
sku: d,
|
|
2718
2739
|
url: c,
|
|
2719
2740
|
method: "already-current-page",
|
|
2720
2741
|
alreadyCurrentPage: !0,
|
|
2721
2742
|
message: r || t
|
|
2722
|
-
} : (
|
|
2743
|
+
} : (Mn(c), {
|
|
2723
2744
|
ok: !0,
|
|
2724
2745
|
sku: d,
|
|
2725
2746
|
url: c,
|
|
@@ -2733,7 +2754,7 @@ function Vi({ rootUrl: e, successMessage: t, alreadyCurrentPageMessage: r = t, m
|
|
|
2733
2754
|
};
|
|
2734
2755
|
};
|
|
2735
2756
|
}
|
|
2736
|
-
function
|
|
2757
|
+
function $n(e, t, r = new URL(t).origin) {
|
|
2737
2758
|
if (!e) return "";
|
|
2738
2759
|
try {
|
|
2739
2760
|
const n = new URL(e, t);
|
|
@@ -2742,7 +2763,7 @@ function On(e, t, r = new URL(t).origin) {
|
|
|
2742
2763
|
return "";
|
|
2743
2764
|
}
|
|
2744
2765
|
}
|
|
2745
|
-
function
|
|
2766
|
+
function Mn(e) {
|
|
2746
2767
|
if (typeof document > "u") {
|
|
2747
2768
|
window.location.href = e;
|
|
2748
2769
|
return;
|
|
@@ -2752,7 +2773,7 @@ function $n(e) {
|
|
|
2752
2773
|
window.location.href !== e && window.location.assign(e);
|
|
2753
2774
|
}, 0);
|
|
2754
2775
|
}
|
|
2755
|
-
function
|
|
2776
|
+
function Fn(e) {
|
|
2756
2777
|
try {
|
|
2757
2778
|
const t = new URL(globalThis.window?.location?.href || "", e), r = new URL(e, t.href);
|
|
2758
2779
|
return t.hash = "", r.hash = "", t.href === r.href;
|
|
@@ -2760,12 +2781,12 @@ function Mn(e) {
|
|
|
2760
2781
|
return !1;
|
|
2761
2782
|
}
|
|
2762
2783
|
}
|
|
2763
|
-
function
|
|
2784
|
+
function Dn({ accountId: e, supplied: t = [], pageProduct: r = null, listingProducts: n = [], skus: o = [], limit: i = 4, storedProducts: a = [], getStoredPanelProducts: s } = {}) {
|
|
2764
2785
|
const c = st(o), d = Array.isArray(n) ? n : [], f = typeof s == "function" ? s({
|
|
2765
2786
|
accountId: e,
|
|
2766
2787
|
visibleProducts: d
|
|
2767
2788
|
}) : a;
|
|
2768
|
-
return
|
|
2789
|
+
return Gn([
|
|
2769
2790
|
...K(t),
|
|
2770
2791
|
...K(f),
|
|
2771
2792
|
r,
|
|
@@ -2775,11 +2796,11 @@ function Fn({ accountId: e, supplied: t = [], pageProduct: r = null, listingProd
|
|
|
2775
2796
|
limit: i
|
|
2776
2797
|
});
|
|
2777
2798
|
}
|
|
2778
|
-
function
|
|
2799
|
+
function Ji({ accountId: e, rootUrl: t, getProduct: r, getProducts: n, getStoredPanelProducts: o, limit: i = 4 } = {}) {
|
|
2779
2800
|
return async function(s = {}) {
|
|
2780
2801
|
return {
|
|
2781
2802
|
accountId: e,
|
|
2782
|
-
products:
|
|
2803
|
+
products: Dn({
|
|
2783
2804
|
accountId: e,
|
|
2784
2805
|
supplied: Array.isArray(s.products) ? s.products : [],
|
|
2785
2806
|
pageProduct: r?.(),
|
|
@@ -2792,7 +2813,7 @@ function Ki({ accountId: e, rootUrl: t, getProduct: r, getProducts: n, getStored
|
|
|
2792
2813
|
};
|
|
2793
2814
|
};
|
|
2794
2815
|
}
|
|
2795
|
-
function
|
|
2816
|
+
function Gn(e, { skus: t = [], limit: r = 4 } = {}) {
|
|
2796
2817
|
const n = new Set(st(t)), o = /* @__PURE__ */ new Set(), i = [];
|
|
2797
2818
|
for (const a of K(e)) {
|
|
2798
2819
|
if (!a) continue;
|
|
@@ -2819,14 +2840,14 @@ var N = {
|
|
|
2819
2840
|
controls: 12,
|
|
2820
2841
|
textMatches: 8,
|
|
2821
2842
|
snippetChars: 180
|
|
2822
|
-
}, J = /\b(?:checkout|payment|pay now|place order|delete|remove|confirm|submit|ödeme|odeme|siparişi tamamla|siparisi tamamla|satın al|satin al|sil|kaldır|kaldir|onayla|gönder|gonder)\b/iu,
|
|
2843
|
+
}, J = /\b(?:checkout|payment|pay now|place order|delete|remove|confirm|submit|ödeme|odeme|siparişi tamamla|siparisi tamamla|satın al|satin al|sil|kaldır|kaldir|onayla|gönder|gonder)\b/iu, zn = /(?:token|session|sid|auth|code|csrf|secret|key|password|passwd|phone|email|address|postcode|zip|jwt|bearer)/iu, Hn = /[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}|\+?\d[\d\s().-]{8,}\d|[A-Z]{1,2}\d[A-Z\d]?\s*\d[A-Z]{2}|[A-Za-z0-9_-]{24,}/iu, Wn = {
|
|
2823
2844
|
campaign: /\b(?:campaign|promotion|discount|deal|coupon|kampanya|indirim|firsat|fırsat|kupon)\b/iu,
|
|
2824
2845
|
blog: /\b(?:blog|journal|guide|article|editorial|inspiration|rehber|makale|ilham|icerik|içerik)\b/iu,
|
|
2825
2846
|
category: /\b(?:category|collection|department|kategori|koleksiyon|reyon)\b/iu
|
|
2826
2847
|
};
|
|
2827
|
-
function
|
|
2848
|
+
function Yi({ accountId: e, getPageType: t, getProduct: r, getProducts: n, normalizeProduct: o = (i) => i }) {
|
|
2828
2849
|
return {
|
|
2829
|
-
scanSite: (i = {}) =>
|
|
2850
|
+
scanSite: (i = {}) => Vn({
|
|
2830
2851
|
accountId: e,
|
|
2831
2852
|
getPageType: t,
|
|
2832
2853
|
getProduct: r,
|
|
@@ -2834,10 +2855,10 @@ function Ji({ accountId: e, getPageType: t, getProduct: r, getProducts: n, norma
|
|
|
2834
2855
|
normalizeProduct: o,
|
|
2835
2856
|
input: i
|
|
2836
2857
|
}),
|
|
2837
|
-
siteGrep: (i = {}) =>
|
|
2858
|
+
siteGrep: (i = {}) => Kn(i),
|
|
2838
2859
|
discoverSiteContent: (i = {}) => ct(i, e),
|
|
2839
|
-
runSiteCommand: (i = {}) =>
|
|
2840
|
-
describeVisualContext: (i = {}) =>
|
|
2860
|
+
runSiteCommand: (i = {}) => Jn(i),
|
|
2861
|
+
describeVisualContext: (i = {}) => Yn(i, e),
|
|
2841
2862
|
inspectProductSurface: mt({
|
|
2842
2863
|
accountId: e,
|
|
2843
2864
|
getPageType: t,
|
|
@@ -2845,22 +2866,22 @@ function Ji({ accountId: e, getPageType: t, getProduct: r, getProducts: n, norma
|
|
|
2845
2866
|
getProducts: n,
|
|
2846
2867
|
normalizeProduct: o
|
|
2847
2868
|
}),
|
|
2848
|
-
getSiteCapabilities: () =>
|
|
2869
|
+
getSiteCapabilities: () => Xn(e)
|
|
2849
2870
|
};
|
|
2850
2871
|
}
|
|
2851
|
-
function
|
|
2872
|
+
function Vn({ accountId: e, getPageType: t, getProduct: r, getProducts: n, normalizeProduct: o, input: i }) {
|
|
2852
2873
|
const a = _(i.query || i.text || ""), s = ve(i), c = ne(r), d = ne(n) || [];
|
|
2853
2874
|
return xe({
|
|
2854
2875
|
accountId: e,
|
|
2855
|
-
url:
|
|
2876
|
+
url: mo(),
|
|
2856
2877
|
title: P(document.title || ""),
|
|
2857
2878
|
pageType: ne(t) || "other",
|
|
2858
|
-
viewport:
|
|
2879
|
+
viewport: go(),
|
|
2859
2880
|
product: Be(o(c)),
|
|
2860
2881
|
products: d.map(o).map(Be).filter(Boolean).slice(0, s.products),
|
|
2861
2882
|
content: i.includeContent === !1 ? void 0 : ct(i, e).items,
|
|
2862
|
-
headings:
|
|
2863
|
-
controls: i.includeControls === !1 ? void 0 :
|
|
2883
|
+
headings: eo(s.headings),
|
|
2884
|
+
controls: i.includeControls === !1 ? void 0 : to(s.controls),
|
|
2864
2885
|
textMatches: a ? be(a, s) : [],
|
|
2865
2886
|
privacy: {
|
|
2866
2887
|
rawHtml: !1,
|
|
@@ -2871,7 +2892,7 @@ function Wn({ accountId: e, getPageType: t, getProduct: r, getProducts: n, norma
|
|
|
2871
2892
|
});
|
|
2872
2893
|
}
|
|
2873
2894
|
function ct(e = {}, t = "") {
|
|
2874
|
-
const r = ve(e), n = new Set(
|
|
2895
|
+
const r = ve(e), n = new Set(oo(e.kinds || e.kind)), o = ro(r.controls).filter((i) => !n.size || n.has(i.kind)).slice(0, r.controls);
|
|
2875
2896
|
return {
|
|
2876
2897
|
accountId: t,
|
|
2877
2898
|
items: o,
|
|
@@ -2879,7 +2900,7 @@ function ct(e = {}, t = "") {
|
|
|
2879
2900
|
privacy: R()
|
|
2880
2901
|
};
|
|
2881
2902
|
}
|
|
2882
|
-
function
|
|
2903
|
+
function Kn(e = {}) {
|
|
2883
2904
|
const t = _(e.query || e.text || e.pattern || "");
|
|
2884
2905
|
if (!t) return {
|
|
2885
2906
|
ok: !1,
|
|
@@ -2896,9 +2917,9 @@ function Vn(e = {}) {
|
|
|
2896
2917
|
privacy: R()
|
|
2897
2918
|
};
|
|
2898
2919
|
}
|
|
2899
|
-
function
|
|
2920
|
+
function Jn(e = {}) {
|
|
2900
2921
|
const t = _(e.command || e.action || "").toLowerCase();
|
|
2901
|
-
return t === "scroll_to_text" || t === "scrolltotext" ?
|
|
2922
|
+
return t === "scroll_to_text" || t === "scrolltotext" ? Zn(e) : t === "click_visible_text" || t === "clickvisibletext" ? Qn(e) : t === "scroll_top" || t === "scrolltotop" ? (window.scrollTo({
|
|
2902
2923
|
top: 0,
|
|
2903
2924
|
behavior: "smooth"
|
|
2904
2925
|
}), {
|
|
@@ -2913,14 +2934,14 @@ function Kn(e = {}) {
|
|
|
2913
2934
|
privacy: R()
|
|
2914
2935
|
};
|
|
2915
2936
|
}
|
|
2916
|
-
function
|
|
2917
|
-
const r = e.visual_consent === !0 || e.visualConsent === !0 || e.consent === !0, n = r ?
|
|
2937
|
+
function Yn(e = {}, t) {
|
|
2938
|
+
const r = e.visual_consent === !0 || e.visualConsent === !0 || e.consent === !0, n = r ? ao(e.visual_observations || e.visualObservations) : [], o = io(Number(e.maxImages || 8));
|
|
2918
2939
|
return {
|
|
2919
2940
|
accountId: t,
|
|
2920
2941
|
ok: r || o.length > 0,
|
|
2921
2942
|
consentedObservations: n,
|
|
2922
2943
|
visibleImages: o,
|
|
2923
|
-
message:
|
|
2944
|
+
message: so({
|
|
2924
2945
|
consented: r,
|
|
2925
2946
|
observations: n,
|
|
2926
2947
|
visibleImages: o
|
|
@@ -2935,8 +2956,8 @@ function Jn(e = {}, t) {
|
|
|
2935
2956
|
}
|
|
2936
2957
|
};
|
|
2937
2958
|
}
|
|
2938
|
-
function
|
|
2939
|
-
const t = _(e.query || e.text || e.label || ""), r = t ?
|
|
2959
|
+
function Zn(e) {
|
|
2960
|
+
const t = _(e.query || e.text || e.label || ""), r = t ? uo(t) : null;
|
|
2940
2961
|
return r ? (r.scrollIntoView({
|
|
2941
2962
|
block: "center",
|
|
2942
2963
|
inline: "nearest",
|
|
@@ -2953,7 +2974,7 @@ function Yn(e) {
|
|
|
2953
2974
|
message: "No visible matching text found."
|
|
2954
2975
|
};
|
|
2955
2976
|
}
|
|
2956
|
-
function
|
|
2977
|
+
function Qn(e) {
|
|
2957
2978
|
const t = _(e.label || e.query || e.text || "");
|
|
2958
2979
|
if (!t) return {
|
|
2959
2980
|
ok: !1,
|
|
@@ -2967,7 +2988,7 @@ function Zn(e) {
|
|
|
2967
2988
|
message: "This looks like a checkout, payment, destructive, or final confirmation action, so it was not clicked.",
|
|
2968
2989
|
privacy: R()
|
|
2969
2990
|
};
|
|
2970
|
-
const r =
|
|
2991
|
+
const r = lo(t);
|
|
2971
2992
|
if (!r) return {
|
|
2972
2993
|
ok: !1,
|
|
2973
2994
|
command: "click_visible_text",
|
|
@@ -2989,7 +3010,7 @@ function Zn(e) {
|
|
|
2989
3010
|
privacy: R()
|
|
2990
3011
|
});
|
|
2991
3012
|
}
|
|
2992
|
-
function
|
|
3013
|
+
function Xn(e) {
|
|
2993
3014
|
return {
|
|
2994
3015
|
accountId: e,
|
|
2995
3016
|
tools: [
|
|
@@ -3017,10 +3038,10 @@ function Qn(e) {
|
|
|
3017
3038
|
]
|
|
3018
3039
|
};
|
|
3019
3040
|
}
|
|
3020
|
-
function
|
|
3041
|
+
function eo(e) {
|
|
3021
3042
|
return [...document.querySelectorAll('h1,h2,h3,[role="heading"]')].filter(j).map((t) => P(_(t.textContent))).filter(Boolean).slice(0, e);
|
|
3022
3043
|
}
|
|
3023
|
-
function
|
|
3044
|
+
function to(e) {
|
|
3024
3045
|
return [...document.querySelectorAll('button,a,[role="button"],summary,input[type="button"],input[type="submit"]')].filter(j).map((t) => ({
|
|
3025
3046
|
label: $(t),
|
|
3026
3047
|
tag: t.tagName?.toLowerCase(),
|
|
@@ -3029,9 +3050,9 @@ function eo(e) {
|
|
|
3029
3050
|
safeClick: !J.test($(t))
|
|
3030
3051
|
})).filter((t) => t.label).filter(X((t) => `${t.tag}:${t.label}:${t.href || ""}`)).slice(0, e);
|
|
3031
3052
|
}
|
|
3032
|
-
function
|
|
3053
|
+
function ro(e) {
|
|
3033
3054
|
return [...document.querySelectorAll('a[href],button,[role="button"],summary')].filter(j).map((t) => {
|
|
3034
|
-
const r = $(t), n = lt(t), o =
|
|
3055
|
+
const r = $(t), n = lt(t), o = no([
|
|
3035
3056
|
r,
|
|
3036
3057
|
n,
|
|
3037
3058
|
le(t)
|
|
@@ -3045,25 +3066,25 @@ function to(e) {
|
|
|
3045
3066
|
}) : null;
|
|
3046
3067
|
}).filter(Boolean).filter(X((t) => `${t.kind}:${t.label}:${t.href || ""}`)).slice(0, Math.max(1, Math.min(e, 30)));
|
|
3047
3068
|
}
|
|
3048
|
-
function
|
|
3049
|
-
for (const [t, r] of Object.entries(
|
|
3069
|
+
function no(e) {
|
|
3070
|
+
for (const [t, r] of Object.entries(Wn)) if (r.test(e)) return t;
|
|
3050
3071
|
return "";
|
|
3051
3072
|
}
|
|
3052
|
-
function
|
|
3073
|
+
function oo(e) {
|
|
3053
3074
|
return (Array.isArray(e) ? e : String(e || "").split(/[,|]/u)).map((t) => _(t).toLowerCase()).filter(Boolean);
|
|
3054
3075
|
}
|
|
3055
3076
|
function be(e, t) {
|
|
3056
3077
|
const r = e.toLocaleLowerCase("tr-TR");
|
|
3057
|
-
return
|
|
3078
|
+
return co(document.body).map((n) => ({
|
|
3058
3079
|
node: n,
|
|
3059
3080
|
text: _(n.nodeValue || "")
|
|
3060
3081
|
})).filter(({ text: n }) => n && n.toLocaleLowerCase("tr-TR").includes(r)).map(({ node: n, text: o }) => ({
|
|
3061
|
-
snippet:
|
|
3082
|
+
snippet: fo(o, e, t.snippetChars),
|
|
3062
3083
|
tag: n.parentElement?.tagName?.toLowerCase() || "",
|
|
3063
3084
|
heading: le(n.parentElement)
|
|
3064
3085
|
})).filter((n) => n.snippet).filter(X((n) => n.snippet)).slice(0, t.textMatches);
|
|
3065
3086
|
}
|
|
3066
|
-
function
|
|
3087
|
+
function io(e) {
|
|
3067
3088
|
return [...document.querySelectorAll("img")].filter(j).map((t) => ({
|
|
3068
3089
|
alt: P(_(t.getAttribute("alt") || t.getAttribute("aria-label") || "")),
|
|
3069
3090
|
title: P(_(t.getAttribute("title") || "")),
|
|
@@ -3072,10 +3093,10 @@ function oo(e) {
|
|
|
3072
3093
|
height: Math.round(t.getBoundingClientRect().height)
|
|
3073
3094
|
})).filter((t) => t.alt || t.title || t.src).filter(X((t) => `${t.alt}:${t.title}:${t.src}`)).slice(0, Math.max(1, Math.min(Number.isFinite(e) && e > 0 ? Math.floor(e) : 8, 20)));
|
|
3074
3095
|
}
|
|
3075
|
-
function
|
|
3096
|
+
function ao(e) {
|
|
3076
3097
|
return (Array.isArray(e) ? e : String(e || "").split(/\n|;|\|/u)).map((t) => P(t).slice(0, 180)).filter(Boolean).slice(0, 8);
|
|
3077
3098
|
}
|
|
3078
|
-
function
|
|
3099
|
+
function so({ consented: e, observations: t, visibleImages: r }) {
|
|
3079
3100
|
const n = [];
|
|
3080
3101
|
if (t.length && n.push(`Consented visual observations: ${t.slice(0, 3).join(" | ")}.`), r.length) {
|
|
3081
3102
|
const o = r.map((i) => i.alt || i.title).filter(Boolean).slice(0, 3);
|
|
@@ -3083,11 +3104,11 @@ function ao({ consented: e, observations: t, visibleImages: r }) {
|
|
|
3083
3104
|
}
|
|
3084
3105
|
return !n.length && !e && n.push("I can use visible image labels, but external visual observations need explicit shopper consent."), n.push("No screenshots or pixels were captured or sent."), n.join(" ");
|
|
3085
3106
|
}
|
|
3086
|
-
function
|
|
3107
|
+
function co(e) {
|
|
3087
3108
|
if (!e) return [];
|
|
3088
3109
|
const t = document.createTreeWalker(e, NodeFilter.SHOW_TEXT, { acceptNode(n) {
|
|
3089
3110
|
const o = n.parentElement;
|
|
3090
|
-
return !o || !j(o) || /^(script|style|noscript|template|svg)$/iu.test(o.tagName || "") ||
|
|
3111
|
+
return !o || !j(o) || /^(script|style|noscript|template|svg)$/iu.test(o.tagName || "") || po(o) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;
|
|
3091
3112
|
} }), r = [];
|
|
3092
3113
|
for (; r.length < 500; ) {
|
|
3093
3114
|
const n = t.nextNode();
|
|
@@ -3096,10 +3117,10 @@ function so(e) {
|
|
|
3096
3117
|
}
|
|
3097
3118
|
return r;
|
|
3098
3119
|
}
|
|
3099
|
-
function
|
|
3120
|
+
function lo(e) {
|
|
3100
3121
|
return [...document.querySelectorAll('button,a,[role="button"],summary,input[type="button"],input[type="submit"]')].filter(j).find((t) => $(t).toLocaleLowerCase("tr-TR").includes(e.toLocaleLowerCase("tr-TR")));
|
|
3101
3122
|
}
|
|
3102
|
-
function
|
|
3123
|
+
function uo(e) {
|
|
3103
3124
|
const t = be(e, {
|
|
3104
3125
|
...N,
|
|
3105
3126
|
textMatches: 1
|
|
@@ -3130,7 +3151,7 @@ function Be(e) {
|
|
|
3130
3151
|
category: _(e.category || "")
|
|
3131
3152
|
}) : null;
|
|
3132
3153
|
}
|
|
3133
|
-
function
|
|
3154
|
+
function fo(e, t, r) {
|
|
3134
3155
|
const n = P(e), o = n.toLocaleLowerCase("tr-TR").indexOf(t.toLocaleLowerCase("tr-TR")), i = Math.max(0, o - Math.floor(r / 3));
|
|
3135
3156
|
return n.slice(i, i + r).trim();
|
|
3136
3157
|
}
|
|
@@ -3141,7 +3162,7 @@ function j(e) {
|
|
|
3141
3162
|
const r = window.getComputedStyle(e);
|
|
3142
3163
|
return r.visibility !== "hidden" && r.display !== "none" && Number(r.opacity || 1) > 0;
|
|
3143
3164
|
}
|
|
3144
|
-
function
|
|
3165
|
+
function po(e) {
|
|
3145
3166
|
return !!e.closest?.('input,textarea,select,[contenteditable="true"]');
|
|
3146
3167
|
}
|
|
3147
3168
|
function lt(e) {
|
|
@@ -3156,11 +3177,11 @@ function ye(e) {
|
|
|
3156
3177
|
return "";
|
|
3157
3178
|
}
|
|
3158
3179
|
}
|
|
3159
|
-
function
|
|
3180
|
+
function mo() {
|
|
3160
3181
|
const e = new URL(window.location.href);
|
|
3161
3182
|
return we(e), `${e.origin}${e.pathname}${e.search}`;
|
|
3162
3183
|
}
|
|
3163
|
-
function
|
|
3184
|
+
function go() {
|
|
3164
3185
|
return {
|
|
3165
3186
|
width: window.innerWidth,
|
|
3166
3187
|
height: window.innerHeight,
|
|
@@ -3169,9 +3190,9 @@ function mo() {
|
|
|
3169
3190
|
};
|
|
3170
3191
|
}
|
|
3171
3192
|
function P(e) {
|
|
3172
|
-
return _(e).replace(/https?:\/\/[^\s?#]+(?:\?[^#\s]*)?/giu,
|
|
3193
|
+
return _(e).replace(/https?:\/\/[^\s?#]+(?:\?[^#\s]*)?/giu, ho).replace(/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/giu, "<email>").replace(/\b(?:\+?\d[\d\s().-]{8,}\d)\b/gu, "<phone>").replace(/\b[A-Z]{1,2}\d[A-Z\d]?\s*\d[A-Z]{2}\b/giu, "<postcode>").replace(/\btoken\s*=\s*[\w.-]+/giu, "token=<redacted>").replace(/\b(?:api[_-]?key|session|csrf|secret)\s*[:=]\s*[\w.-]+/giu, "<secret>");
|
|
3173
3194
|
}
|
|
3174
|
-
function
|
|
3195
|
+
function ho(e) {
|
|
3175
3196
|
try {
|
|
3176
3197
|
const t = new URL(e);
|
|
3177
3198
|
return t.hash = "", we(t), t.href;
|
|
@@ -3182,7 +3203,7 @@ function go(e) {
|
|
|
3182
3203
|
function we(e) {
|
|
3183
3204
|
for (const [t, r] of [...e.searchParams.entries()]) {
|
|
3184
3205
|
const n = String(r || "");
|
|
3185
|
-
(
|
|
3206
|
+
(zn.test(t) || Hn.test(n)) && e.searchParams.set(t, "redacted");
|
|
3186
3207
|
}
|
|
3187
3208
|
return e;
|
|
3188
3209
|
}
|
|
@@ -3228,124 +3249,124 @@ function X(e) {
|
|
|
3228
3249
|
};
|
|
3229
3250
|
}
|
|
3230
3251
|
export {
|
|
3231
|
-
|
|
3252
|
+
xi as AgentError,
|
|
3232
3253
|
bt as ContextStore,
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3254
|
+
Qo as FALLBACK_STATUS,
|
|
3255
|
+
Jo as action,
|
|
3256
|
+
di as actionButtonsUiSpec,
|
|
3257
|
+
jo as alignProductsToTable,
|
|
3258
|
+
Wo as anonymousRequestText,
|
|
3259
|
+
ui as beErrorToAgentError,
|
|
3260
|
+
vr as buildActivityVisualization,
|
|
3261
|
+
yo as buildPhotoSimilarityProfile,
|
|
3262
|
+
wo as buildProductSimilarityProfile,
|
|
3263
|
+
vo as buildSimilarityQueries,
|
|
3243
3264
|
Ze as canUseModuleWorker,
|
|
3244
3265
|
pt as caughtToStreamError,
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3266
|
+
Ro as compactAccountConfig,
|
|
3267
|
+
zo as compactContextProducts,
|
|
3268
|
+
ci as compactObject,
|
|
3269
|
+
ki as compactProductSurfaceForLlm,
|
|
3270
|
+
Uo as comparisonResultForUi,
|
|
3271
|
+
$o as comparisonUiSpec,
|
|
3251
3272
|
fr as createActivityCollector,
|
|
3252
3273
|
Ge as createBrowserMemory,
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3274
|
+
Di as createDiagnosticsTool,
|
|
3275
|
+
Ii as createEndpointCachePolicies,
|
|
3276
|
+
Ui as createEndpointHandlers,
|
|
3277
|
+
Ao as createFlow,
|
|
3278
|
+
Hi as createGssToolAliases,
|
|
3279
|
+
Wi as createIframeScraper,
|
|
3259
3280
|
kt as createInjectorAdapter,
|
|
3260
|
-
|
|
3261
|
-
|
|
3281
|
+
Xo as createLocalRefStore,
|
|
3282
|
+
St as createMainThreadInjectorAdapter,
|
|
3262
3283
|
ir as createModuleWorker,
|
|
3263
|
-
|
|
3264
|
-
|
|
3284
|
+
Ki as createOpenProductPageTool,
|
|
3285
|
+
ii as createPrivacyHelpers,
|
|
3265
3286
|
mt as createProductSurfaceInspector,
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3287
|
+
si as createReadPageStep,
|
|
3288
|
+
Fi as createReadPageTool,
|
|
3289
|
+
Ji as createResolveProductsTool,
|
|
3290
|
+
Yi as createSiteAwarenessTools,
|
|
3291
|
+
ti as declarativeBeOpCache,
|
|
3292
|
+
Lo as defaultPiiPatternPack,
|
|
3293
|
+
Po as defaultPiiPatterns,
|
|
3294
|
+
Zo as done,
|
|
3295
|
+
ni as elapsedMs,
|
|
3275
3296
|
ar as endpointStableKey,
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3297
|
+
Go as error,
|
|
3298
|
+
Ci as fallbackStatus,
|
|
3299
|
+
rn as filterActivityEntries,
|
|
3300
|
+
_i as firstArrayValue,
|
|
3301
|
+
vn as formatJsonHtml,
|
|
3281
3302
|
pr as getOrCreateActivityCollector,
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3303
|
+
yr as groupForEntry,
|
|
3304
|
+
Nn as gssSearchCapabilities,
|
|
3305
|
+
mi as homePanelReset,
|
|
3306
|
+
bi as httpErrorToAgentError,
|
|
3307
|
+
Pi as inputHashCachePolicy,
|
|
3308
|
+
pi as inspectProductSurface,
|
|
3309
|
+
Fr as installActivityFetchPatch,
|
|
3310
|
+
Mi as installBrowserTools,
|
|
3311
|
+
ji as installFetchTransportBridge,
|
|
3312
|
+
Vi as installIframeScraperBypass,
|
|
3313
|
+
zi as installLocalAgenticActivityDebug,
|
|
3314
|
+
Li as isFallbackStatus,
|
|
3315
|
+
Ai as isRef,
|
|
3316
|
+
Bi as jsonResponse,
|
|
3317
|
+
Ko as llmCacheKey,
|
|
3297
3318
|
Ei as mergeProductSurfaceEvidence,
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3319
|
+
Co as metadata,
|
|
3320
|
+
Ni as mountAccount,
|
|
3321
|
+
Qr as mountActivityOverlay,
|
|
3322
|
+
Mn as navigateSameTab,
|
|
3323
|
+
qi as ndjsonResponse,
|
|
3324
|
+
Oo as normalizeComparisonTable,
|
|
3304
3325
|
mr as normalizeEntry,
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3326
|
+
Bo as normalizeProduct,
|
|
3327
|
+
$n as normalizeSameOriginUrl,
|
|
3328
|
+
xo as normalizeSimilarityText,
|
|
3329
|
+
ai as nowIso,
|
|
3330
|
+
yi as plainMessageContent,
|
|
3331
|
+
Mo as productDetailsUiSpec,
|
|
3332
|
+
Io as productFactsKey,
|
|
3333
|
+
Vo as productSkuKey,
|
|
3334
|
+
ri as productSurfaceReviewText,
|
|
3335
|
+
Do as productsUiSpec,
|
|
3336
|
+
ko as rankSimilarProducts,
|
|
3337
|
+
_o as rankSimilarProductsAsync,
|
|
3317
3338
|
Re as recordBeDebugPayload,
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3339
|
+
Fo as redactPii,
|
|
3340
|
+
fi as requestText,
|
|
3341
|
+
$i as resolveBeUrl,
|
|
3342
|
+
Yo as resolveFlow,
|
|
3343
|
+
Dn as resolveProductCandidates,
|
|
3344
|
+
li as retailAnonymizeMessages,
|
|
3345
|
+
ei as retailAnonymousRequestText,
|
|
3346
|
+
hi as retailRedactPii,
|
|
3347
|
+
gi as routeFlowParams,
|
|
3348
|
+
vi as routeSkuList,
|
|
3349
|
+
So as scoreSimilarityCandidate,
|
|
3350
|
+
hr as sectionForKind,
|
|
3351
|
+
Oi as setAssistantHostVisible,
|
|
3352
|
+
br as severityForEntry,
|
|
3353
|
+
Tn as shouldInstallActivityDebug,
|
|
3333
3354
|
ue as stableKey,
|
|
3334
|
-
|
|
3335
|
-
|
|
3355
|
+
Gi as startLazyRuntimeLoader,
|
|
3356
|
+
Ti as stickyContextKey,
|
|
3336
3357
|
Y as summarizeDebugState,
|
|
3337
3358
|
ae as summarizePanelState,
|
|
3338
3359
|
Qe as summarizeUiSpec,
|
|
3339
|
-
|
|
3340
|
-
|
|
3360
|
+
oi as textChunk,
|
|
3361
|
+
No as textKey,
|
|
3341
3362
|
Eo as tokenizeSimilarityText,
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3363
|
+
wi as trimProductFactsCore,
|
|
3364
|
+
qo as trimProductFactsListCore,
|
|
3365
|
+
Si as uiSpec,
|
|
3366
|
+
Gn as uniqueProductsBySku,
|
|
3367
|
+
Ri as withAccountConfig,
|
|
3368
|
+
Ho as withDeclarativeBeOpCache,
|
|
3369
|
+
$r as wrapActivityBeacon,
|
|
3370
|
+
Or as wrapActivityTools,
|
|
3371
|
+
Mr as wrapActivityTransport
|
|
3351
3372
|
};
|