@pluno/product-agent-web 0.1.257 → 0.1.258

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.
@@ -93,7 +93,7 @@ function v(s) {
93
93
  nextCursor: s.nextCursor
94
94
  };
95
95
  }
96
- function G(s, e, t) {
96
+ function B(s, e, t) {
97
97
  if (t === "replace" || s === null) return e;
98
98
  const i = { ...s.entitiesById, ...e.entitiesById }, n = [...s.ids];
99
99
  for (const r of e.ids)
@@ -114,13 +114,13 @@ function Se(s) {
114
114
  const e = s.paidCreditFallbackModel;
115
115
  return typeof e == "string" && e.length > 0;
116
116
  }
117
- function we(s) {
117
+ function Ae(s) {
118
118
  return s ? s.submissionGate?.allowed === !1 ? { state: "action_required", reason: s.submissionGate.reason } : s.usingPaidCreditFallback === !0 ? { state: "paid_credit_fallback" } : s.creditLimit !== null && s.creditLimit > 0 && s.creditsRemaining !== null && s.creditsRemaining > 0 && s.creditsRemaining / s.creditLimit <= 0.2 ? { state: "low_credits" } : s.creditsUsed !== null ? { state: "usage" } : { state: "hidden" } : { state: "hidden" };
119
119
  }
120
- function Ae(s) {
120
+ function we(s) {
121
121
  return s.submissionAllowed && s.isAuthenticated && s.hasWorkspace && !s.isWebsiteBlocked && s.isCurrentPageResolved && !s.isSubmitting && !s.hasPendingMessage;
122
122
  }
123
- function Te(s) {
123
+ function Me(s) {
124
124
  const e = s.hasDraftMessage || s.hasPreSubmittedAttachment;
125
125
  return s.hasRunningAssistantTurn && !e ? {
126
126
  action: "stop",
@@ -134,7 +134,7 @@ const H = "Pluno is reconnecting. Try again in a moment.";
134
134
  function Z(s) {
135
135
  return (s instanceof Error ? s.message : s) === H;
136
136
  }
137
- class Ee {
137
+ class Te {
138
138
  constructor(e, t, i = 20) {
139
139
  this.loadPage = t, this.limit = i, this.recentQuery = new O(
140
140
  `${e}:recent`,
@@ -144,7 +144,7 @@ class Ee {
144
144
  nextCursor: r.nextCursor
145
145
  }))
146
146
  ),
147
- G
147
+ B
148
148
  ), this.pinnedQuery = new O(
149
149
  `${e}:pinned`,
150
150
  async () => v({
@@ -320,10 +320,10 @@ function W(s, e) {
320
320
  return !0;
321
321
  return !1;
322
322
  }
323
- class Me {
323
+ class Ee {
324
324
  constructor(e, t = null) {
325
325
  this.storage = e, t && (this.decisions = new Map(
326
- t.filter(A).map((i) => [this.getDecisionKey(i), i])
326
+ t.filter(w).map((i) => [this.getDecisionKey(i), i])
327
327
  ), this.initialized = !0);
328
328
  }
329
329
  storage;
@@ -401,7 +401,7 @@ class Me {
401
401
  if (this.initialized) return;
402
402
  const e = await this.storage.load();
403
403
  this.decisions = new Map(
404
- e.filter(A).map((t) => [this.getDecisionKey(t), t])
404
+ e.filter(w).map((t) => [this.getDecisionKey(t), t])
405
405
  ), this.initialized = !0;
406
406
  }
407
407
  isEligible(e, t = Date.now()) {
@@ -483,7 +483,7 @@ function Y(s, e) {
483
483
  const t = s.getItem(e);
484
484
  if (!t) return [];
485
485
  const i = JSON.parse(t);
486
- return Array.isArray(i) ? i.filter(A) : [];
486
+ return Array.isArray(i) ? i.filter(w) : [];
487
487
  }
488
488
  function _(s) {
489
489
  return `${s.level}:${s.key}`;
@@ -491,7 +491,7 @@ function _(s) {
491
491
  function z(s) {
492
492
  return s === "dismiss" || s === "later" || s === "snooze" || s === "never" || s === "dont_show_again";
493
493
  }
494
- function A(s) {
494
+ function w(s) {
495
495
  if (!s || typeof s != "object") return !1;
496
496
  const e = s;
497
497
  return typeof e.promptKey == "string" && typeof e.category == "string" && typeof e.decidedAt == "string" && (e.nextEligibleAt === null || typeof e.nextEligibleAt == "string") && z(e.action) && !!(e.scope && typeof e.scope == "object" && typeof e.scope.level == "string" && typeof e.scope.key == "string");
@@ -564,52 +564,51 @@ function qe(s) {
564
564
  function I(s) {
565
565
  return s.replace(ee, "");
566
566
  }
567
- const p = (s) => typeof s == "string" && /^[a-zA-Z0-9:_.-]{1,160}$/.test(s) ? s : null;
568
- function se(s) {
567
+ const se = "0.1.258", ie = {
568
+ version: se
569
+ }, p = (s) => typeof s == "string" && /^[a-zA-Z0-9:_.-]{1,160}$/.test(s) ? s : null;
570
+ function ne(s) {
569
571
  if (!s || typeof s != "object") return !1;
570
572
  const e = s, t = (n) => Number.isSafeInteger(n) && n >= 0, i = (n) => n && typeof n == "object" && Object.keys(n).every((r) => ["sequence", "at", "type", "changed", "generation", "sessionId", "scopeId", "requestId", "effectId", "clientScopeId", "reason", "effectKind", "eventType", "itemCount", "removedCount", "projectionReady"].includes(r)) && t(n.sequence) && t(n.at) && p(n.type) !== null && typeof n.changed == "boolean" && [n.generation, n.itemCount, n.removedCount].every((r) => r === null || t(r)) && [n.sessionId, n.scopeId, n.requestId, n.effectId, n.clientScopeId, n.reason, n.effectKind, n.eventType].every((r) => r === null || p(r) !== null) && (n.projectionReady === null || typeof n.projectionReady == "boolean");
571
573
  return Object.keys(e).every((n) => ["ownerId", "revision", "dropped", "lastIntent", "lastSelection", "transitions"].includes(n)) && p(e.ownerId) !== null && t(e.revision) && t(e.dropped) && (e.lastIntent == null || i(e.lastIntent)) && (e.lastSelection === null || i(e.lastSelection)) && Array.isArray(e.transitions) && e.transitions.length <= 16 && e.transitions.every(i);
572
574
  }
573
- function K(s) {
575
+ function $(s) {
574
576
  if (!s || typeof s != "object") return !1;
575
577
  const e = s;
576
578
  return Object.keys(e).every((t) => ["sessionId", "episodeId", "consecutiveFailures", "transportCode", "requestId", "durationMs"].includes(t)) && typeof e.sessionId == "string" && /^[a-zA-Z0-9:_-]{1,160}$/.test(e.sessionId) && typeof e.episodeId == "string" && /^[a-zA-Z0-9:_-]{1,500}$/.test(e.episodeId) && (e.transportCode === void 0 || typeof e.transportCode == "string" && /^[a-z0-9_]{1,80}$/.test(e.transportCode)) && (e.requestId === void 0 || typeof e.requestId == "string" && /^[a-zA-Z0-9_-]{1,160}$/.test(e.requestId)) && (e.durationMs === void 0 || typeof e.durationMs == "number" && Number.isFinite(e.durationMs) && e.durationMs >= 0) && Number.isSafeInteger(e.consecutiveFailures) && e.consecutiveFailures >= 1;
577
579
  }
578
- const R = ["messageKeys", "canonicalItemKeys", "terminalResponseKeys", "toolCallKeys", "activeResponseKeys"], T = (s) => typeof s == "string" && /^[a-zA-Z0-9:_-]{1,160}$/.test(s), h = (s) => s === null || T(s), ie = (s) => typeof s == "string" && /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,6})?(?:Z|\+00:00)$/.test(s) && Number.isFinite(Date.parse(s));
579
- function $(s) {
580
+ const k = ["messageKeys", "canonicalItemKeys", "terminalResponseKeys", "toolCallKeys", "activeResponseKeys"], M = (s) => typeof s == "string" && /^[a-zA-Z0-9:_-]{1,160}$/.test(s), h = (s) => s === null || M(s), re = (s) => typeof s == "string" && /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,6})?(?:Z|\+00:00)$/.test(s) && Number.isFinite(Date.parse(s));
581
+ function K(s) {
580
582
  if (!s || typeof s != "object") return !1;
581
583
  const e = s;
582
- return Object.keys(s).every((t) => ["sessionId", "itemId", "userMessageId", "createdAt", "runId", "retryable"].includes(t)) && h(e.sessionId) && T(e.itemId) && h(e.userMessageId) && (e.retryable === void 0 || typeof e.retryable == "boolean") && h(e.runId) && (e.createdAt === null || ie(e.createdAt));
584
+ return Object.keys(s).every((t) => ["sessionId", "itemId", "userMessageId", "createdAt", "runId", "retryable"].includes(t)) && h(e.sessionId) && M(e.itemId) && h(e.userMessageId) && (e.retryable === void 0 || typeof e.retryable == "boolean") && h(e.runId) && (e.createdAt === null || re(e.createdAt));
583
585
  }
584
- function ne(s) {
586
+ function oe(s) {
585
587
  if (!s || typeof s != "object") return !1;
586
588
  const e = s, t = (i) => Number.isSafeInteger(i) && i >= 0;
587
- return Object.keys(e).every((i) => ["capturedAt", "selectionKey", "userId", "loading", "draft", "thinking", "connected", "hasError", "phase", "queryStatus", "queryRequestId", "queryUpdatedAt", "renderSource", "selectionFencePending", "guardCreatedAt", "owner"].includes(i)) && t(e.capturedAt) && [e.queryUpdatedAt, e.guardCreatedAt].every((i) => i === null || t(i)) && [e.selectionKey, e.userId, e.phase, e.queryStatus, e.queryRequestId].every((i) => i === null || p(i) !== null) && [e.loading, e.draft, e.thinking, e.connected, e.hasError, e.selectionFencePending].every((i) => typeof i == "boolean") && ["state", "account", "interactions", "local", "sidepanel_layout"].includes(e.renderSource) && (e.owner === void 0 || se(e.owner));
589
+ return Object.keys(e).every((i) => ["capturedAt", "selectionKey", "userId", "loading", "draft", "thinking", "connected", "hasError", "phase", "queryStatus", "queryRequestId", "queryUpdatedAt", "renderSource", "selectionFencePending", "guardCreatedAt", "owner", "sdkVersion", "presentationGate", "firstObservedAt", "confirmationMs"].includes(i)) && t(e.capturedAt) && [e.queryUpdatedAt, e.guardCreatedAt].every((i) => i === null || t(i)) && [e.selectionKey, e.userId, e.phase, e.queryStatus, e.queryRequestId].every((i) => i === null || p(i) !== null) && [e.loading, e.draft, e.thinking, e.connected, e.hasError, e.selectionFencePending].every((i) => typeof i == "boolean") && ["state", "account", "interactions", "local", "sidepanel_layout", "observer"].includes(e.renderSource) && (e.owner === void 0 || ne(e.owner)) && (e.sdkVersion === void 0 || typeof e.sdkVersion == "string" && e.sdkVersion.length <= 32 && /^\d+\.\d+\.\d+(?:[-+][a-zA-Z0-9.-]+)?$/.test(e.sdkVersion)) && (e.presentationGate === void 0 || ["none", "authentication", "signup"].includes(e.presentationGate)) && [e.firstObservedAt, e.confirmationMs].every((i) => i === void 0 || t(i));
588
590
  }
589
591
  function U(s) {
590
592
  if (!s || typeof s != "object" || Object.keys(s).some((i) => i !== "before" && i !== "current")) return !1;
591
593
  const e = (i) => {
592
594
  if (!i || typeof i != "object") return !1;
593
595
  const n = i;
594
- return Object.keys(i).every((r) => [...R, "sessionId", "runtimeItemCount", "welcome", "truncated", "thinkingSequence", "context", "duplicateToolCalls"].includes(r)) && (n.duplicateToolCalls === void 0 || Array.isArray(n.duplicateToolCalls) && n.duplicateToolCalls.length <= 5 && n.duplicateToolCalls.every((r) => r && Object.keys(r).every((o) => ["key", "count", "rows", "truncated"].includes(o)) && h(r.key) && Number.isSafeInteger(r.count) && r.count >= 2 && typeof r.truncated == "boolean" && Array.isArray(r.rows) && r.rows.length >= 1 && r.rows.length <= 5 && r.rows.length <= r.count && r.rows.every((o) => o && Object.keys(o).every((a) => ["itemId", "groupId"].includes(a)) && h(o.itemId) && h(o.groupId)))) && (n.context === void 0 || ne(n.context)) && (n.thinkingSequence === void 0 || Array.isArray(n.thinkingSequence) && n.thinkingSequence.length <= 20 && n.thinkingSequence.every((r) => r === "user" || r === "thinking")) && h(n.sessionId) && Number.isSafeInteger(n.runtimeItemCount) && n.runtimeItemCount >= 0 && typeof n.welcome == "boolean" && typeof n.truncated == "boolean" && R.every((r) => Array.isArray(n[r]) && n[r].length <= 20 && n[r].every(T));
596
+ return Object.keys(i).every((r) => [...k, "sessionId", "runtimeItemCount", "welcome", "truncated", "thinkingSequence", "context", "duplicateToolCalls"].includes(r)) && (n.duplicateToolCalls === void 0 || Array.isArray(n.duplicateToolCalls) && n.duplicateToolCalls.length <= 5 && n.duplicateToolCalls.every((r) => r && Object.keys(r).every((o) => ["key", "count", "rows", "truncated"].includes(o)) && h(r.key) && Number.isSafeInteger(r.count) && r.count >= 2 && typeof r.truncated == "boolean" && Array.isArray(r.rows) && r.rows.length >= 1 && r.rows.length <= 5 && r.rows.length <= r.count && r.rows.every((o) => o && Object.keys(o).every((a) => ["itemId", "groupId"].includes(a)) && h(o.itemId) && h(o.groupId)))) && (n.context === void 0 || oe(n.context)) && (n.thinkingSequence === void 0 || Array.isArray(n.thinkingSequence) && n.thinkingSequence.length <= 20 && n.thinkingSequence.every((r) => r === "user" || r === "thinking")) && h(n.sessionId) && Number.isSafeInteger(n.runtimeItemCount) && n.runtimeItemCount >= 0 && typeof n.welcome == "boolean" && typeof n.truncated == "boolean" && k.every((r) => Array.isArray(n[r]) && n[r].length <= 20 && n[r].every(M));
595
597
  }, t = s;
596
598
  return (t.before === null || e(t.before)) && e(t.current);
597
599
  }
598
- const k = 500;
600
+ const R = 500;
599
601
  function L(s) {
600
602
  const e = s.replace(/\n\s*at\s[\s\S]*$/, "").replace(/-----BEGIN [^-]*PRIVATE KEY-----[\s\S]*?(?:-----END [^-]*PRIVATE KEY-----|$)/g, "[REDACTED]").replace(/\b(?:set-cookie|cookie)\s*[:=]\s*[^\n]+/gi, "cookie=[REDACTED]").replace(/\bdata:[^\s<>"']+/gi, "[DATA]").replace(/\b(?:https?:\/\/|www\.)[^\s<>"']+/gi, "[URL]").replace(/\b(?:Bearer|Basic)\s+[^\s,;"']+/gi, "[REDACTED]").replace(/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_-]+)?/g, "[REDACTED]").replace(/\b(?:sk|pk|ghp|gho|github_pat|xoxb|xoxp)[-_][A-Za-z0-9_-]{8,}/g, "[REDACTED]").replace(/\b((?:access|refresh|id|auth)[_-]?token|api[_-]?key|client[_-]?secret|password|passwd|pwd|secret|token|jwt|authorization|cookie|set-cookie)\b["']?\s*[:=]\s*(?:"[^"]*"|'[^']*'|[^\s,;}&]+)/gi, "$1=[REDACTED]").replace(/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/gi, "[EMAIL]").replace(/(?:[A-Z]:[\\/]|\\\\|(?:~|\.\.?)?\/|[\w.-]+[\\/])[^\s<>"']+/gi, "[FILE]").replace(new RegExp("(?<![\\w.])(?:[\\w.-]+\\.[A-Z][A-Z0-9]{0,15}|\\.[A-Z][\\w.-]*)\\b", "gi"), "[FILE]").replace(/\s+/g, " ").trim();
601
- return e.length > k ? `${e.slice(0, k - 1)}…` : e;
603
+ return e.length > R ? `${e.slice(0, R - 1)}…` : e;
602
604
  }
603
- function re(s) {
605
+ function ae(s) {
604
606
  let e = 2166136261;
605
607
  for (let t = 0; t < s.length; t += 1)
606
608
  e ^= s.charCodeAt(t), e = Math.imul(e, 16777619);
607
609
  return `fnv1a-${(e >>> 0).toString(16).padStart(8, "0")}`;
608
610
  }
609
- const oe = "0.1.257", ae = {
610
- version: oe
611
- };
612
- function E(s) {
611
+ function T(s) {
613
612
  if (!s || typeof s != "object") return !1;
614
613
  const e = s;
615
614
  return Object.keys(s).every((t) => ["boundary", "category", "messageKind"].includes(t)) && ["runtime", "web_transport", "extension_ipc"].includes(e.boundary) && ["error", "object", "null", "array", "string", "undefined", "number", "boolean", "bigint", "symbol", "function"].includes(e.category) && ["object_coercion", "text", "blank", "non_text"].includes(e.messageKind);
@@ -617,17 +616,17 @@ function E(s) {
617
616
  function de(s) {
618
617
  if (!s || typeof s != "object") return !1;
619
618
  const e = s;
620
- return Object.keys(e).every((t) => ["sessionId", "requestId", "code", "normalization", "builds", "clientMessageId"].includes(t)) && (e.clientMessageId === void 0 || p(e.clientMessageId) !== null) && [e.sessionId, e.requestId, e.code].every((t) => t === null || p(t) !== null) && (e.normalization === void 0 || E(e.normalization)) && !!e.builds && typeof e.builds == "object" && typeof e.builds.sdk == "string" && Object.entries(e.builds).every(([t, i]) => ["sdk", "rendererExtension", "contentExtension", "backgroundExtension"].includes(t) && typeof i == "string" && /^\d{1,5}\.\d{1,5}\.\d{1,5}$/.test(i));
619
+ return Object.keys(e).every((t) => ["sessionId", "requestId", "code", "normalization", "builds", "clientMessageId"].includes(t)) && (e.clientMessageId === void 0 || p(e.clientMessageId) !== null) && [e.sessionId, e.requestId, e.code].every((t) => t === null || p(t) !== null) && (e.normalization === void 0 || T(e.normalization)) && !!e.builds && typeof e.builds == "object" && typeof e.builds.sdk == "string" && Object.entries(e.builds).every(([t, i]) => ["sdk", "rendererExtension", "contentExtension", "backgroundExtension"].includes(t) && typeof i == "string" && /^\d{1,5}\.\d{1,5}\.\d{1,5}$/.test(i));
621
620
  }
622
621
  function ce(s, e, t, i, n = {}) {
623
- const r = !i && e === "conversation_error" && t !== void 0 && s.conversationDiagnostics?.errorMessageFingerprint === re(L(t)) ? s.conversationDiagnostics : void 0;
622
+ const r = !i && e === "conversation_error" && t !== void 0 && s.conversationDiagnostics?.errorMessageFingerprint === ae(L(t)) ? s.conversationDiagnostics : void 0;
624
623
  return {
625
624
  sessionId: p(s.sessionId),
626
625
  requestId: p(r?.httpRequest?.requestId ?? r?.errorRequestId ?? r?.queryRequestId),
627
626
  ...p(r?.failedClientMessageId) ? { clientMessageId: r.failedClientMessageId } : {},
628
627
  code: r ? p(s.lastErrorCode) : null,
629
- ...E(r?.errorNormalization) ? { normalization: r.errorNormalization } : {},
630
- builds: { sdk: ae.version, ...n }
628
+ ...T(r?.errorNormalization) ? { normalization: r.errorNormalization } : {},
629
+ builds: { sdk: ie.version, ...n }
631
630
  };
632
631
  }
633
632
  function le(s) {
@@ -643,7 +642,7 @@ function le(s) {
643
642
  function g(s, e = "runtime_error", t = "runtime") {
644
643
  const i = s !== null && typeof s == "object" ? s : null, n = typeof s == "string" ? s : i && "message" in i && typeof i.message == "string" ? i.message : "", r = i && "code" in i && typeof i.code == "string" && i.code.trim() ? i.code : e, o = i && "details" in i ? i.details : null, a = o && typeof o == "object" ? o : {}, d = {
645
644
  // Preserve the first boundary's shape after normalization replaces the original message/prototype.
646
- errorNormalization: E(a.errorNormalization) ? a.errorNormalization : {
645
+ errorNormalization: T(a.errorNormalization) ? a.errorNormalization : {
647
646
  boundary: t,
648
647
  category: s instanceof Error ? "error" : s === null ? "null" : Array.isArray(s) ? "array" : typeof s,
649
648
  messageKind: n.trim() === "[object Object]" ? "object_coercion" : n.trim() ? "text" : typeof s == "string" || i && "message" in i && typeof i.message == "string" ? "blank" : "non_text"
@@ -730,7 +729,7 @@ const ue = [
730
729
  "acceptance_applied",
731
730
  "cancellation_queue",
732
731
  "cancellation_write"
733
- ], B = [
732
+ ], G = [
734
733
  "request_timed_out",
735
734
  "delivery_unknown",
736
735
  "invalid_ack",
@@ -748,15 +747,15 @@ const ue = [
748
747
  ];
749
748
  function pe(s) {
750
749
  const e = s, t = e?.code;
751
- return e?.backendRefusal === !0 ? "backend_refusal" : typeof t == "string" && t !== "backend_refusal" && B.includes(t) ? t : e?.name === "AbortError" ? "aborted" : e?.name === "TypeError" ? "type_error" : "unknown";
750
+ return e?.backendRefusal === !0 ? "backend_refusal" : typeof t == "string" && t !== "backend_refusal" && G.includes(t) ? t : e?.name === "AbortError" ? "aborted" : e?.name === "TypeError" ? "type_error" : "unknown";
752
751
  }
753
752
  const he = Math.random().toString(36).slice(2);
754
753
  let ge = 0;
755
754
  const C = () => `timing:${he}:${++ge}`, y = (s) => typeof s == "string" && /^[a-zA-Z0-9:_-]{1,160}$/.test(s);
756
- function M(s) {
755
+ function E(s) {
757
756
  if (!s || typeof s != "object") return !1;
758
757
  const e = s;
759
- return Object.keys(e).every((t) => ["entrySurface", "operation", "layer", "stage", "status", "spanId", "requestId", "clientMessageId", "sessionId", "occurredAt", "durationMs", "failureCategory"].includes(t)) && (e.failureCategory === void 0 || e.status === "failed" && B.includes(e.failureCategory)) && (e.entrySurface === void 0 || ["extension_sidepanel", "extension_widget", "main_web_chat", "embedded_widget", "embedded_custom_ui", "automation", "mcp", "whatsapp", "email"].includes(e.entrySurface)) && ["send", "stop"].includes(e.operation) && ["renderer", "sdk", "extension", "http"].includes(e.layer) && ue.includes(e.stage) && ["started", "completed", "failed", "observed"].includes(e.status) && y(e.spanId) && y(e.requestId) && (e.clientMessageId === null || y(e.clientMessageId)) && (e.sessionId === null || y(e.sessionId)) && typeof e.occurredAt == "string" && e.occurredAt.length <= 40 && Number.isFinite(Date.parse(e.occurredAt)) && Number.isSafeInteger(e.durationMs) && e.durationMs >= 0;
758
+ return Object.keys(e).every((t) => ["entrySurface", "operation", "layer", "stage", "status", "spanId", "requestId", "clientMessageId", "sessionId", "occurredAt", "durationMs", "failureCategory"].includes(t)) && (e.failureCategory === void 0 || e.status === "failed" && G.includes(e.failureCategory)) && (e.entrySurface === void 0 || ["extension_sidepanel", "extension_widget", "main_web_chat", "embedded_widget", "embedded_custom_ui", "automation", "mcp", "whatsapp", "email"].includes(e.entrySurface)) && ["send", "stop"].includes(e.operation) && ["renderer", "sdk", "extension", "http"].includes(e.layer) && ue.includes(e.stage) && ["started", "completed", "failed", "observed"].includes(e.status) && y(e.spanId) && y(e.requestId) && (e.clientMessageId === null || y(e.clientMessageId)) && (e.sessionId === null || y(e.sessionId)) && typeof e.occurredAt == "string" && e.occurredAt.length <= 40 && Number.isFinite(Date.parse(e.occurredAt)) && Number.isSafeInteger(e.durationMs) && e.durationMs >= 0;
760
759
  }
761
760
  function x(s, e) {
762
761
  if (!s) return {
@@ -774,7 +773,7 @@ function x(s, e) {
774
773
  durationMs: Math.max(0, Math.round(performance.now() - o)),
775
774
  ...r === "failed" ? { failureCategory: pe(d) } : {}
776
775
  };
777
- s && M(c) && Promise.resolve().then(() => s(c)).catch(() => {
776
+ s && E(c) && Promise.resolve().then(() => s(c)).catch(() => {
778
777
  });
779
778
  };
780
779
  return {
@@ -853,7 +852,7 @@ function D(s) {
853
852
  ...s.fileUrl === void 0 ? {} : { fileUrl: s.fileUrl }
854
853
  };
855
854
  }
856
- function Re(s) {
855
+ function ke(s) {
857
856
  if (!s || typeof s != "object" || !("type" in s)) return !1;
858
857
  const e = s;
859
858
  switch (e.type) {
@@ -869,9 +868,9 @@ function Re(s) {
869
868
  case "runtime.warmup":
870
869
  return e.reason === "panel_open" || e.reason === "extension_install" || e.reason === "composer_input";
871
870
  case "runtime.report_operation_timing":
872
- return M(e.timing);
871
+ return E(e.timing);
873
872
  case "runtime.report_displayed_error":
874
- return (e.errorDiagnostic === void 0 || de(e.errorDiagnostic)) && (e.httpRequest === void 0 || F(e.httpRequest)) && (e.historyRefreshFailure === void 0 || K(e.historyRefreshFailure)) && (e.renderedError === void 0 || $(e.renderedError)) && (e.reason === "conversation_error" || e.reason === "attachment_error" || e.reason === "history_error" || e.reason === "action_error") && typeof e.errorFingerprint == "string" && /^fnv1a-[0-9a-f]{8}$/.test(e.errorFingerprint) && (e.displayedMessage === void 0 || typeof e.displayedMessage == "string" && e.displayedMessage.length <= 500);
873
+ return (e.errorDiagnostic === void 0 || de(e.errorDiagnostic)) && (e.httpRequest === void 0 || F(e.httpRequest)) && (e.historyRefreshFailure === void 0 || $(e.historyRefreshFailure)) && (e.renderedError === void 0 || K(e.renderedError)) && (e.reason === "conversation_error" || e.reason === "attachment_error" || e.reason === "history_error" || e.reason === "action_error") && typeof e.errorFingerprint == "string" && /^fnv1a-[0-9a-f]{8}$/.test(e.errorFingerprint) && (e.displayedMessage === void 0 || typeof e.displayedMessage == "string" && e.displayedMessage.length <= 500);
875
874
  case "runtime.report_invalid_state_transition":
876
875
  return (e.uiInvariant === void 0 || U(e.uiInvariant)) && (e.reason === "submitted_turn_returned_to_welcome_without_new_chat" || e.reason === "new_messages_button_without_user_scroll" || ve(e.reason)) && (e.clientMessageId === void 0 || typeof e.clientMessageId == "string");
877
876
  case "runtime.widget_lifecycle":
@@ -901,9 +900,9 @@ function Re(s) {
901
900
  return !1;
902
901
  }
903
902
  }
904
- class ke {
903
+ class Re {
905
904
  constructor(e, t, i) {
906
- this.adapter = t, this.state = w(e), this.model = i;
905
+ this.adapter = t, this.state = A(e), this.model = i;
907
906
  }
908
907
  adapter;
909
908
  listeners = {};
@@ -931,7 +930,7 @@ class ke {
931
930
  return i.add(t), this.listeners[e] = i, () => i.delete(t);
932
931
  }
933
932
  getState() {
934
- const e = w(this.state);
933
+ const e = A(this.state);
935
934
  for (const [n, r] of this.submissionPreviews)
936
935
  e.messages.some((o) => o.id === n) || (e.messages.push({ ...r.message, attachments: r.message.attachments?.map((o) => ({ ...o })) }), e.segments && (e.segments = [...e.segments, { id: n, userMessageId: n, activityIds: [], outcomeIds: [], collapsed: !1 }]), e.isLoadingSession = !1, r.pending && (e.activeResponseUserMessageId = n, e.pendingMessageStatus = "sending", e.turnPhase = "sending", e.activity = { phase: "submitting", activeItemId: null }), r.error && (e.lastError = r.error, e.lastErrorCode = "message_delivery_failed"));
937
936
  this.stopError && (e.lastError = this.stopError, e.lastErrorCode = "stop_failed");
@@ -946,7 +945,7 @@ class ke {
946
945
  (o.user?.id !== e.user?.id || o.selectionKey !== void 0 && o.selectionKey !== e.selectionKey || o.selectionKey === void 0 && o.sessionId !== null && o.sessionId !== e.sessionId) && (this.cancelPendingSubmissions(), this.submissionPreviews.clear());
947
946
  for (const a of e.messages)
948
947
  a.role === "user" && this.submissionPreviews.delete(a.id);
949
- this.state = w(e);
948
+ this.state = A(e);
950
949
  for (const [a, d] of this.stopPreviews) {
951
950
  const c = e.activity?.executionKey;
952
951
  (d !== void 0 && d !== "[]" && c !== void 0 && c !== "[]" && (c !== d || ["completed", "failed", "stopped"].includes(e.activity.phase)) || (d === void 0 || d === "[]") && e.messages.some((u) => u.respondsToUserMessageId === a && !u.provisional && u.loading !== !0 && (u.dataType === "run_status" || u.dataType === "run_error" || u.role === "assistant" && u.phase !== "commentary" && (u.streamState === void 0 || ["finished", "stopped", "failed"].includes(u.streamState))))) && this.stopPreviews.delete(a);
@@ -990,7 +989,7 @@ class ke {
990
989
  this.dispatch({ type: "runtime.widget_lifecycle", action: e, trigger: t });
991
990
  }
992
991
  reportOperationTiming(e) {
993
- !this.destroyed && M(e) && this.adapter.dispatch({ type: "runtime.report_operation_timing", timing: e }).catch(() => {
992
+ !this.destroyed && E(e) && this.adapter.dispatch({ type: "runtime.report_operation_timing", timing: e }).catch(() => {
994
993
  });
995
994
  }
996
995
  reportResponseVisibility(e) {
@@ -1008,7 +1007,7 @@ class ke {
1008
1007
  }
1009
1008
  reportDisplayedError(e, t, i, n, r) {
1010
1009
  const o = e === "conversation_error" && !n ? this.getState().conversationDiagnostics?.httpRequest : void 0;
1011
- if (n !== void 0 && !$(n) || r !== void 0 && !K(r)) return;
1010
+ if (n !== void 0 && !K(n) || r !== void 0 && !$(r)) return;
1012
1011
  const a = ce(this.getState(), e, i, !!n, this.adapter.diagnosticBuilds);
1013
1012
  this.adapter.dispatch({
1014
1013
  type: "runtime.report_displayed_error",
@@ -1298,7 +1297,7 @@ function be(s, e) {
1298
1297
  return n ? { ...i, previewUrl: n } : i;
1299
1298
  });
1300
1299
  }
1301
- function w(s) {
1300
+ function A(s) {
1302
1301
  return {
1303
1302
  ...s,
1304
1303
  starterPrompts: [...s.starterPrompts],
@@ -1333,25 +1332,25 @@ function j(s) {
1333
1332
  }
1334
1333
  export {
1335
1334
  H as PRODUCT_AGENT_AUTH_RECONNECTING_ERROR_MESSAGE,
1336
- Me as ProductAgentInteractionManager,
1335
+ Ee as ProductAgentInteractionManager,
1337
1336
  O as ProductAgentQueryController,
1338
- ke as ProductAgentRemoteRuntimeClient,
1339
- Ee as ProductAgentSessionHistoryManager,
1337
+ Re as ProductAgentRemoteRuntimeClient,
1338
+ Te as ProductAgentSessionHistoryManager,
1340
1339
  Oe as ProductAgentTaskPageTitleController,
1341
- Ae as canSubmitPersonalProductAgentMessage,
1340
+ we as canSubmitPersonalProductAgentMessage,
1342
1341
  Pe as createLocalStorageInteractionDecisionStorage,
1343
1342
  m as createProductAgentQueryState,
1344
1343
  qe as createProductAgentTaskPageTitleDocument,
1345
1344
  te as formatProductAgentTaskPageTitle,
1346
1345
  Se as hasProductAgentPaidCreditFallback,
1347
1346
  Z as isProductAgentAuthReconnectError,
1348
- Re as isProductAgentRuntimeCommand,
1349
- G as mergeProductAgentEntityPages,
1347
+ ke as isProductAgentRuntimeCommand,
1348
+ B as mergeProductAgentEntityPages,
1350
1349
  v as normalizeProductAgentEntityPage,
1351
1350
  Y as readLocalStorageInteractionDecisions,
1352
1351
  _e as reconcileProductAgentSubmissionGate,
1353
- we as resolveProductAgentBillingPresentation,
1354
- Te as resolveProductAgentComposerAction,
1352
+ Ae as resolveProductAgentBillingPresentation,
1353
+ Me as resolveProductAgentComposerAction,
1355
1354
  Ie as resolveProductAgentWidgetPresentation,
1356
1355
  Q as selectProductAgentQueryEntities
1357
1356
  };
@@ -982,7 +982,9 @@ function nr(s, e, t, i) {
982
982
  sessionId: n.sessionId
983
983
  }).mark("acceptance_applied");
984
984
  }
985
- const O = (s) => typeof s == "string" && /^[a-zA-Z0-9:_.-]{1,160}$/.test(s) ? s : null;
985
+ const Ts = "0.1.258", Ji = {
986
+ version: Ts
987
+ }, O = (s) => typeof s == "string" && /^[a-zA-Z0-9:_.-]{1,160}$/.test(s) ? s : null;
986
988
  function rr(s) {
987
989
  if (!s || typeof s != "object") return !1;
988
990
  const e = s, t = (n) => Number.isSafeInteger(n) && n >= 0, i = (n) => n && typeof n == "object" && Object.keys(n).every((r) => ["sequence", "at", "type", "changed", "generation", "sessionId", "scopeId", "requestId", "effectId", "clientScopeId", "reason", "effectKind", "eventType", "itemCount", "removedCount", "projectionReady"].includes(r)) && t(n.sequence) && t(n.at) && O(n.type) !== null && typeof n.changed == "boolean" && [n.generation, n.itemCount, n.removedCount].every((r) => r === null || t(r)) && [n.sessionId, n.scopeId, n.requestId, n.effectId, n.clientScopeId, n.reason, n.effectKind, n.eventType].every((r) => r === null || O(r) !== null) && (n.projectionReady === null || typeof n.projectionReady == "boolean");
@@ -1011,28 +1013,28 @@ function or(s, e, t) {
1011
1013
  projectionReady: typeof n?.projection_ready == "boolean" ? n.projection_ready : null
1012
1014
  };
1013
1015
  }
1014
- function Ts(s) {
1016
+ function Es(s) {
1015
1017
  if (!s || typeof s != "object") return !1;
1016
1018
  const e = s;
1017
1019
  return Object.keys(e).every((t) => ["sessionId", "episodeId", "consecutiveFailures", "transportCode", "requestId", "durationMs"].includes(t)) && typeof e.sessionId == "string" && /^[a-zA-Z0-9:_-]{1,160}$/.test(e.sessionId) && typeof e.episodeId == "string" && /^[a-zA-Z0-9:_-]{1,500}$/.test(e.episodeId) && (e.transportCode === void 0 || typeof e.transportCode == "string" && /^[a-z0-9_]{1,80}$/.test(e.transportCode)) && (e.requestId === void 0 || typeof e.requestId == "string" && /^[a-zA-Z0-9_-]{1,160}$/.test(e.requestId)) && (e.durationMs === void 0 || typeof e.durationMs == "number" && Number.isFinite(e.durationMs) && e.durationMs >= 0) && Number.isSafeInteger(e.consecutiveFailures) && e.consecutiveFailures >= 1;
1018
1020
  }
1019
- const ti = ["messageKeys", "canonicalItemKeys", "terminalResponseKeys", "toolCallKeys", "activeResponseKeys"], Es = (s) => typeof s == "string" && /^[a-zA-Z0-9:_-]{1,160}$/.test(s), ve = (s) => s === null || Es(s), ar = (s) => typeof s == "string" && /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,6})?(?:Z|\+00:00)$/.test(s) && Number.isFinite(Date.parse(s));
1020
- function ks(s) {
1021
+ const ti = ["messageKeys", "canonicalItemKeys", "terminalResponseKeys", "toolCallKeys", "activeResponseKeys"], ks = (s) => typeof s == "string" && /^[a-zA-Z0-9:_-]{1,160}$/.test(s), ve = (s) => s === null || ks(s), ar = (s) => typeof s == "string" && /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,6})?(?:Z|\+00:00)$/.test(s) && Number.isFinite(Date.parse(s));
1022
+ function qs(s) {
1021
1023
  if (!s || typeof s != "object") return !1;
1022
1024
  const e = s;
1023
- return Object.keys(s).every((t) => ["sessionId", "itemId", "userMessageId", "createdAt", "runId", "retryable"].includes(t)) && ve(e.sessionId) && Es(e.itemId) && ve(e.userMessageId) && (e.retryable === void 0 || typeof e.retryable == "boolean") && ve(e.runId) && (e.createdAt === null || ar(e.createdAt));
1025
+ return Object.keys(s).every((t) => ["sessionId", "itemId", "userMessageId", "createdAt", "runId", "retryable"].includes(t)) && ve(e.sessionId) && ks(e.itemId) && ve(e.userMessageId) && (e.retryable === void 0 || typeof e.retryable == "boolean") && ve(e.runId) && (e.createdAt === null || ar(e.createdAt));
1024
1026
  }
1025
1027
  function cr(s) {
1026
1028
  if (!s || typeof s != "object") return !1;
1027
1029
  const e = s, t = (i) => Number.isSafeInteger(i) && i >= 0;
1028
- return Object.keys(e).every((i) => ["capturedAt", "selectionKey", "userId", "loading", "draft", "thinking", "connected", "hasError", "phase", "queryStatus", "queryRequestId", "queryUpdatedAt", "renderSource", "selectionFencePending", "guardCreatedAt", "owner"].includes(i)) && t(e.capturedAt) && [e.queryUpdatedAt, e.guardCreatedAt].every((i) => i === null || t(i)) && [e.selectionKey, e.userId, e.phase, e.queryStatus, e.queryRequestId].every((i) => i === null || O(i) !== null) && [e.loading, e.draft, e.thinking, e.connected, e.hasError, e.selectionFencePending].every((i) => typeof i == "boolean") && ["state", "account", "interactions", "local", "sidepanel_layout"].includes(e.renderSource) && (e.owner === void 0 || rr(e.owner));
1030
+ return Object.keys(e).every((i) => ["capturedAt", "selectionKey", "userId", "loading", "draft", "thinking", "connected", "hasError", "phase", "queryStatus", "queryRequestId", "queryUpdatedAt", "renderSource", "selectionFencePending", "guardCreatedAt", "owner", "sdkVersion", "presentationGate", "firstObservedAt", "confirmationMs"].includes(i)) && t(e.capturedAt) && [e.queryUpdatedAt, e.guardCreatedAt].every((i) => i === null || t(i)) && [e.selectionKey, e.userId, e.phase, e.queryStatus, e.queryRequestId].every((i) => i === null || O(i) !== null) && [e.loading, e.draft, e.thinking, e.connected, e.hasError, e.selectionFencePending].every((i) => typeof i == "boolean") && ["state", "account", "interactions", "local", "sidepanel_layout", "observer"].includes(e.renderSource) && (e.owner === void 0 || rr(e.owner)) && (e.sdkVersion === void 0 || typeof e.sdkVersion == "string" && e.sdkVersion.length <= 32 && /^\d+\.\d+\.\d+(?:[-+][a-zA-Z0-9.-]+)?$/.test(e.sdkVersion)) && (e.presentationGate === void 0 || ["none", "authentication", "signup"].includes(e.presentationGate)) && [e.firstObservedAt, e.confirmationMs].every((i) => i === void 0 || t(i));
1029
1031
  }
1030
- function qs(s) {
1032
+ function Cs(s) {
1031
1033
  if (!s || typeof s != "object" || Object.keys(s).some((i) => i !== "before" && i !== "current")) return !1;
1032
1034
  const e = (i) => {
1033
1035
  if (!i || typeof i != "object") return !1;
1034
1036
  const n = i;
1035
- return Object.keys(i).every((r) => [...ti, "sessionId", "runtimeItemCount", "welcome", "truncated", "thinkingSequence", "context", "duplicateToolCalls"].includes(r)) && (n.duplicateToolCalls === void 0 || Array.isArray(n.duplicateToolCalls) && n.duplicateToolCalls.length <= 5 && n.duplicateToolCalls.every((r) => r && Object.keys(r).every((a) => ["key", "count", "rows", "truncated"].includes(a)) && ve(r.key) && Number.isSafeInteger(r.count) && r.count >= 2 && typeof r.truncated == "boolean" && Array.isArray(r.rows) && r.rows.length >= 1 && r.rows.length <= 5 && r.rows.length <= r.count && r.rows.every((a) => a && Object.keys(a).every((o) => ["itemId", "groupId"].includes(o)) && ve(a.itemId) && ve(a.groupId)))) && (n.context === void 0 || cr(n.context)) && (n.thinkingSequence === void 0 || Array.isArray(n.thinkingSequence) && n.thinkingSequence.length <= 20 && n.thinkingSequence.every((r) => r === "user" || r === "thinking")) && ve(n.sessionId) && Number.isSafeInteger(n.runtimeItemCount) && n.runtimeItemCount >= 0 && typeof n.welcome == "boolean" && typeof n.truncated == "boolean" && ti.every((r) => Array.isArray(n[r]) && n[r].length <= 20 && n[r].every(Es));
1037
+ return Object.keys(i).every((r) => [...ti, "sessionId", "runtimeItemCount", "welcome", "truncated", "thinkingSequence", "context", "duplicateToolCalls"].includes(r)) && (n.duplicateToolCalls === void 0 || Array.isArray(n.duplicateToolCalls) && n.duplicateToolCalls.length <= 5 && n.duplicateToolCalls.every((r) => r && Object.keys(r).every((a) => ["key", "count", "rows", "truncated"].includes(a)) && ve(r.key) && Number.isSafeInteger(r.count) && r.count >= 2 && typeof r.truncated == "boolean" && Array.isArray(r.rows) && r.rows.length >= 1 && r.rows.length <= 5 && r.rows.length <= r.count && r.rows.every((a) => a && Object.keys(a).every((o) => ["itemId", "groupId"].includes(o)) && ve(a.itemId) && ve(a.groupId)))) && (n.context === void 0 || cr(n.context)) && (n.thinkingSequence === void 0 || Array.isArray(n.thinkingSequence) && n.thinkingSequence.length <= 20 && n.thinkingSequence.every((r) => r === "user" || r === "thinking")) && ve(n.sessionId) && Number.isSafeInteger(n.runtimeItemCount) && n.runtimeItemCount >= 0 && typeof n.welcome == "boolean" && typeof n.truncated == "boolean" && ti.every((r) => Array.isArray(n[r]) && n[r].length <= 20 && n[r].every(ks));
1036
1038
  }, t = s;
1037
1039
  return (t.before === null || e(t.before)) && e(t.current);
1038
1040
  }
@@ -1041,15 +1043,12 @@ function _e(s) {
1041
1043
  const e = s.replace(/\n\s*at\s[\s\S]*$/, "").replace(/-----BEGIN [^-]*PRIVATE KEY-----[\s\S]*?(?:-----END [^-]*PRIVATE KEY-----|$)/g, "[REDACTED]").replace(/\b(?:set-cookie|cookie)\s*[:=]\s*[^\n]+/gi, "cookie=[REDACTED]").replace(/\bdata:[^\s<>"']+/gi, "[DATA]").replace(/\b(?:https?:\/\/|www\.)[^\s<>"']+/gi, "[URL]").replace(/\b(?:Bearer|Basic)\s+[^\s,;"']+/gi, "[REDACTED]").replace(/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_-]+)?/g, "[REDACTED]").replace(/\b(?:sk|pk|ghp|gho|github_pat|xoxb|xoxp)[-_][A-Za-z0-9_-]{8,}/g, "[REDACTED]").replace(/\b((?:access|refresh|id|auth)[_-]?token|api[_-]?key|client[_-]?secret|password|passwd|pwd|secret|token|jwt|authorization|cookie|set-cookie)\b["']?\s*[:=]\s*(?:"[^"]*"|'[^']*'|[^\s,;}&]+)/gi, "$1=[REDACTED]").replace(/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/gi, "[EMAIL]").replace(/(?:[A-Z]:[\\/]|\\\\|(?:~|\.\.?)?\/|[\w.-]+[\\/])[^\s<>"']+/gi, "[FILE]").replace(new RegExp("(?<![\\w.])(?:[\\w.-]+\\.[A-Z][A-Z0-9]{0,15}|\\.[A-Z][\\w.-]*)\\b", "gi"), "[FILE]").replace(/\s+/g, " ").trim();
1042
1044
  return e.length > si ? `${e.slice(0, si - 1)}…` : e;
1043
1045
  }
1044
- function Ji(s) {
1046
+ function Qi(s) {
1045
1047
  let e = 2166136261;
1046
1048
  for (let t = 0; t < s.length; t += 1)
1047
1049
  e ^= s.charCodeAt(t), e = Math.imul(e, 16777619);
1048
1050
  return `fnv1a-${(e >>> 0).toString(16).padStart(8, "0")}`;
1049
1051
  }
1050
- const Cs = "0.1.257", Qi = {
1051
- version: Cs
1052
- };
1053
1052
  function He(s) {
1054
1053
  if (!s || typeof s != "object") return !1;
1055
1054
  const e = s;
@@ -1061,14 +1060,14 @@ function dr(s) {
1061
1060
  return Object.keys(e).every((t) => ["sessionId", "requestId", "code", "normalization", "builds", "clientMessageId"].includes(t)) && (e.clientMessageId === void 0 || O(e.clientMessageId) !== null) && [e.sessionId, e.requestId, e.code].every((t) => t === null || O(t) !== null) && (e.normalization === void 0 || He(e.normalization)) && !!e.builds && typeof e.builds == "object" && typeof e.builds.sdk == "string" && Object.entries(e.builds).every(([t, i]) => ["sdk", "rendererExtension", "contentExtension", "backgroundExtension"].includes(t) && typeof i == "string" && /^\d{1,5}\.\d{1,5}\.\d{1,5}$/.test(i));
1062
1061
  }
1063
1062
  function Xi(s, e, t, i, n = {}) {
1064
- const r = !i && e === "conversation_error" && t !== void 0 && s.conversationDiagnostics?.errorMessageFingerprint === Ji(_e(t)) ? s.conversationDiagnostics : void 0;
1063
+ const r = !i && e === "conversation_error" && t !== void 0 && s.conversationDiagnostics?.errorMessageFingerprint === Qi(_e(t)) ? s.conversationDiagnostics : void 0;
1065
1064
  return {
1066
1065
  sessionId: O(s.sessionId),
1067
1066
  requestId: O(r?.httpRequest?.requestId ?? r?.errorRequestId ?? r?.queryRequestId),
1068
1067
  ...O(r?.failedClientMessageId) ? { clientMessageId: r.failedClientMessageId } : {},
1069
1068
  code: r ? O(s.lastErrorCode) : null,
1070
1069
  ...He(r?.errorNormalization) ? { normalization: r.errorNormalization } : {},
1071
- builds: { sdk: Qi.version, ...n }
1070
+ builds: { sdk: Ji.version, ...n }
1072
1071
  };
1073
1072
  }
1074
1073
  function lr(s) {
@@ -1907,7 +1906,7 @@ function Ot(s, e, t, i) {
1907
1906
  isRetrying: s.isRetrying ?? !1,
1908
1907
  historyRefreshFailure: h === e?.error ? s.historyRefreshFailure ?? null : null,
1909
1908
  conversationDiagnostics: {
1910
- ...h ? { errorMessageFingerprint: Ji(_e(h.message)) } : {},
1909
+ ...h ? { errorMessageFingerprint: Qi(_e(h.message)) } : {},
1911
1910
  ...d && h && h === d.error && !p ? { failedClientMessageId: d.userMessageId } : {},
1912
1911
  ...typeof h?.details?.requestId == "string" ? { errorRequestId: h.details.requestId } : {},
1913
1912
  ...He(h?.details?.errorNormalization) ? { errorNormalization: h.details.errorNormalization } : {},
@@ -4884,7 +4883,7 @@ class pn {
4884
4883
  ownerId: O(o?.ownerId),
4885
4884
  authorityGeneration: o?.authorityGeneration ?? null,
4886
4885
  sessionId: O(o?.sessionId),
4887
- release: this.auth.extension_version ? `extension-${this.auth.extension_version}` : `sdk-${Qi.version}`,
4886
+ release: this.auth.extension_version ? `extension-${this.auth.extension_version}` : `sdk-${Ji.version}`,
4888
4887
  upstreamRequestId: B,
4889
4888
  upstreamTraceId: J
4890
4889
  };
@@ -5441,7 +5440,7 @@ class D extends EventTarget {
5441
5440
  const i = this.connectionAttempt, n = (/* @__PURE__ */ new Date()).toISOString(), r = this.diagnostics.findIndex((c) => c.phase === e && c.connectionAttemptId === i?.connectionAttemptId), a = this.diagnostics[r], o = {
5442
5441
  id: a?.id ?? crypto.randomUUID(),
5443
5442
  phase: e,
5444
- sdkVersion: Cs,
5443
+ sdkVersion: Ts,
5445
5444
  stage: t.stage ?? (t.readinessPhase === "bootstrap" ? "bootstrap" : t.readinessPhase === "activation" ? "executor_registration" : "socket_admission"),
5446
5445
  ...t.httpStatus ? { httpStatus: t.httpStatus } : {},
5447
5446
  ...t.failureKind ? { failureKind: t.failureKind } : {},
@@ -7334,9 +7333,9 @@ function Jd(s) {
7334
7333
  case "runtime.report_operation_timing":
7335
7334
  return ze(e.timing);
7336
7335
  case "runtime.report_displayed_error":
7337
- return (e.errorDiagnostic === void 0 || dr(e.errorDiagnostic)) && (e.httpRequest === void 0 || de(e.httpRequest)) && (e.historyRefreshFailure === void 0 || Ts(e.historyRefreshFailure)) && (e.renderedError === void 0 || ks(e.renderedError)) && (e.reason === "conversation_error" || e.reason === "attachment_error" || e.reason === "history_error" || e.reason === "action_error") && typeof e.errorFingerprint == "string" && /^fnv1a-[0-9a-f]{8}$/.test(e.errorFingerprint) && (e.displayedMessage === void 0 || typeof e.displayedMessage == "string" && e.displayedMessage.length <= 500);
7336
+ return (e.errorDiagnostic === void 0 || dr(e.errorDiagnostic)) && (e.httpRequest === void 0 || de(e.httpRequest)) && (e.historyRefreshFailure === void 0 || Es(e.historyRefreshFailure)) && (e.renderedError === void 0 || qs(e.renderedError)) && (e.reason === "conversation_error" || e.reason === "attachment_error" || e.reason === "history_error" || e.reason === "action_error") && typeof e.errorFingerprint == "string" && /^fnv1a-[0-9a-f]{8}$/.test(e.errorFingerprint) && (e.displayedMessage === void 0 || typeof e.displayedMessage == "string" && e.displayedMessage.length <= 500);
7338
7337
  case "runtime.report_invalid_state_transition":
7339
- return (e.uiInvariant === void 0 || qs(e.uiInvariant)) && (e.reason === "submitted_turn_returned_to_welcome_without_new_chat" || e.reason === "new_messages_button_without_user_scroll" || Na(e.reason)) && (e.clientMessageId === void 0 || typeof e.clientMessageId == "string");
7338
+ return (e.uiInvariant === void 0 || Cs(e.uiInvariant)) && (e.reason === "submitted_turn_returned_to_welcome_without_new_chat" || e.reason === "new_messages_button_without_user_scroll" || Na(e.reason)) && (e.clientMessageId === void 0 || typeof e.clientMessageId == "string");
7340
7339
  case "runtime.widget_lifecycle":
7341
7340
  return (e.action === "opened" || e.action === "closed" || e.action === "minimized") && typeof e.trigger == "string";
7342
7341
  case "session.load":
@@ -7461,7 +7460,7 @@ class Qd {
7461
7460
  });
7462
7461
  }
7463
7462
  reportInvalidStateTransition(e, t, i) {
7464
- i !== void 0 && !qs(i) || this.adapter.dispatch({
7463
+ i !== void 0 && !Cs(i) || this.adapter.dispatch({
7465
7464
  type: "runtime.report_invalid_state_transition",
7466
7465
  reason: e,
7467
7466
  clientMessageId: t,
@@ -7471,7 +7470,7 @@ class Qd {
7471
7470
  }
7472
7471
  reportDisplayedError(e, t, i, n, r) {
7473
7472
  const a = e === "conversation_error" && !n ? this.getState().conversationDiagnostics?.httpRequest : void 0;
7474
- if (n !== void 0 && !ks(n) || r !== void 0 && !Ts(r)) return;
7473
+ if (n !== void 0 && !qs(n) || r !== void 0 && !Es(r)) return;
7475
7474
  const o = Xi(this.getState(), e, i, !!n, this.adapter.diagnosticBuilds);
7476
7475
  this.adapter.dispatch({
7477
7476
  type: "runtime.report_displayed_error",
@@ -8764,7 +8763,7 @@ class _t {
8764
8763
  No(this, this.options.entrySurface, e);
8765
8764
  }
8766
8765
  reportInvalidStateTransition(e, t, i) {
8767
- i !== void 0 && !qs(i) || this.reportHealthSignal("invalid_state_transition", {
8766
+ i !== void 0 && !Cs(i) || this.reportHealthSignal("invalid_state_transition", {
8768
8767
  reason: e,
8769
8768
  clientMessageId: t,
8770
8769
  ...i ? { uiInvariant: i } : {}
@@ -8772,7 +8771,7 @@ class _t {
8772
8771
  }
8773
8772
  reportDisplayedError(e, t, i, n, r) {
8774
8773
  const a = e === "conversation_error" && !n ? this.getState().conversationDiagnostics?.httpRequest : void 0;
8775
- if (n !== void 0 && !ks(n) || r !== void 0 && !Ts(r)) return;
8774
+ if (n !== void 0 && !qs(n) || r !== void 0 && !Es(r)) return;
8776
8775
  const o = Xi(this.getState(), e, i, !!n);
8777
8776
  this.reportHealthSignal("user_visible_error", {
8778
8777
  errorDiagnostic: o,
@@ -9435,7 +9434,7 @@ class _t {
9435
9434
  occurrenceCount: (o?.occurrenceCount ?? 0) + 1,
9436
9435
  maxReconnectAttempt: Math.max(o?.maxReconnectAttempt ?? 0, this.reconnectAttempts),
9437
9436
  connectivity: i,
9438
- sdkVersion: Cs,
9437
+ sdkVersion: Ts,
9439
9438
  stage: "socket_admission",
9440
9439
  ...t,
9441
9440
  connectionAttemptId: n