@pagelines/sdk 1.0.689 → 1.0.690
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/AgentWrap.js +351 -345
- package/dist/AgentWrap.js.map +1 -1
- package/dist/widget.js +1 -1
- package/dist/widget.js.map +1 -1
- package/package.json +1 -1
package/dist/AgentWrap.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import "./rolldown-runtime.js";
|
|
2
2
|
import { s as e, t } from "./sdkClient.js";
|
|
3
3
|
import { Agent as n, CHAT_ISSUE_COPY as r, SettingsObject as i, createLogger as a, getDefaultAvatarUrl as o, isAssistantSilenceControl as s, parseChatVisualFencePayload as c } from "@pagelines/core";
|
|
4
|
-
import { Fragment as u, computed as f, createBlock as p, createCommentVNode as m, createElementBlock as h, createElementVNode as _, createTextVNode as v, createVNode as b, defineComponent as x, nextTick as S, normalizeClass as C, normalizeStyle as T, onBeforeUnmount as te, onMounted as ne, onUnmounted as re, openBlock as k, ref as
|
|
4
|
+
import { Fragment as u, computed as f, createBlock as p, createCommentVNode as m, createElementBlock as h, createElementVNode as _, createTextVNode as v, createVNode as b, defineComponent as x, nextTick as S, normalizeClass as C, normalizeStyle as T, onBeforeUnmount as te, onMounted as ne, onUnmounted as re, openBlock as k, ref as A, renderList as j, renderSlot as ie, resolveDynamicComponent as ae, shallowRef as P, toDisplayString as F, unref as oe, vModelText as I, watch as se, withCtx as ce, withDirectives as R, withKeys as ue, withModifiers as z } from "vue";
|
|
5
5
|
//#region ui/FSpinner.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
-
var
|
|
6
|
+
var de = { class: "spinner max-w-sm" }, pe = {
|
|
7
7
|
class: "ring-circular h-full w-full origin-center",
|
|
8
8
|
viewBox: "25 25 50 50"
|
|
9
|
-
},
|
|
9
|
+
}, he = /* @__PURE__ */ x({
|
|
10
10
|
__name: "FSpinner",
|
|
11
11
|
props: {
|
|
12
12
|
width: {
|
|
@@ -19,7 +19,7 @@ var pe = { class: "spinner max-w-sm" }, he = {
|
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
setup(e) {
|
|
22
|
-
return (t, n) => (k(), h("div",
|
|
22
|
+
return (t, n) => (k(), h("div", de, [(k(), h("svg", pe, [_("circle", {
|
|
23
23
|
class: C([e.colorMode, "ring-path"]),
|
|
24
24
|
cx: "50",
|
|
25
25
|
cy: "50",
|
|
@@ -30,7 +30,7 @@ var pe = { class: "spinner max-w-sm" }, he = {
|
|
|
30
30
|
"stroke-miterlimit": "30"
|
|
31
31
|
}, null, 2)]))]));
|
|
32
32
|
}
|
|
33
|
-
}),
|
|
33
|
+
}), _e = [
|
|
34
34
|
{
|
|
35
35
|
mode: "self",
|
|
36
36
|
label: "Overview",
|
|
@@ -70,7 +70,7 @@ function recorderMimeType() {
|
|
|
70
70
|
}
|
|
71
71
|
var VoiceRecorderController = class extends i {
|
|
72
72
|
constructor(t) {
|
|
73
|
-
super("VoiceRecorderController", t), e(this, "state",
|
|
73
|
+
super("VoiceRecorderController", t), e(this, "state", A({
|
|
74
74
|
phase: "idle",
|
|
75
75
|
elapsedMs: 0
|
|
76
76
|
})), e(this, "isActive", f(() => this.state.value.phase !== "idle")), e(this, "isBusy", f(() => this.state.value.phase !== "idle")), e(this, "elapsedLabel", f(() => formatVoiceRecordingDuration({ ms: this.state.value.elapsedMs }))), e(this, "statusText", f(() => this.state.value.phase === "preparing" ? "Starting microphone" : this.state.value.phase === "sending" ? "Sending voice message" : "Release to send")), e(this, "recorder", void 0), e(this, "stream", void 0), e(this, "chunks", []), e(this, "timer", void 0), e(this, "startedAt", 0), e(this, "cancelOnStop", !1), e(this, "stopAfterStart", !1), e(this, "startToken", 0);
|
|
@@ -185,7 +185,7 @@ var VoiceRecorderController = class extends i {
|
|
|
185
185
|
function durableJournalOutcome(e) {
|
|
186
186
|
return e.turnOutcome === "failed" ? "failed" : e.turnOutcome === "stopped" ? "stopped" : e.sender === "system" ? "failed" : "completed";
|
|
187
187
|
}
|
|
188
|
-
var
|
|
188
|
+
var ve = {
|
|
189
189
|
waiting: "Waiting for results",
|
|
190
190
|
finishing: "Finishing up",
|
|
191
191
|
completed: "Work complete",
|
|
@@ -193,7 +193,7 @@ var ye = {
|
|
|
193
193
|
stopped: "Stopped",
|
|
194
194
|
notifyHint: "Taking longer than usual. You can leave and I’ll notify you when it’s ready.",
|
|
195
195
|
leaveHint: "Taking longer than usual. You can leave this chat while I work."
|
|
196
|
-
},
|
|
196
|
+
}, ye = 15e3, B = 6e4, H = 3;
|
|
197
197
|
function toMs(e) {
|
|
198
198
|
if (!e) return;
|
|
199
199
|
let t = Date.parse(e);
|
|
@@ -209,7 +209,7 @@ function milestoneRows(e, t) {
|
|
|
209
209
|
let n = e.filter((e) => e.status === "completed" || e.status === "failed" && !!e.note).filter((e) => !t.has(e.activityId)).slice().sort(byEvent), r = [];
|
|
210
210
|
for (let e of n) {
|
|
211
211
|
let t = e.status === "completed" ? "done" : "failed", n = r[r.length - 1];
|
|
212
|
-
if (t === "done" && n?.tone === "done" && n.label === e.label && eventMs(e) - n.lastMs <=
|
|
212
|
+
if (t === "done" && n?.tone === "done" && n.label === e.label && eventMs(e) - n.lastMs <= ye) {
|
|
213
213
|
n.count += 1, n.lastMs = eventMs(e);
|
|
214
214
|
continue;
|
|
215
215
|
}
|
|
@@ -230,12 +230,12 @@ function milestoneRows(e, t) {
|
|
|
230
230
|
}));
|
|
231
231
|
}
|
|
232
232
|
function splitRows(e) {
|
|
233
|
-
return e.length <=
|
|
233
|
+
return e.length <= H ? {
|
|
234
234
|
visibleRows: e,
|
|
235
235
|
hiddenRows: []
|
|
236
236
|
} : {
|
|
237
|
-
visibleRows: e.slice(e.length -
|
|
238
|
-
hiddenRows: e.slice(0, e.length -
|
|
237
|
+
visibleRows: e.slice(e.length - H),
|
|
238
|
+
hiddenRows: e.slice(0, e.length - H)
|
|
239
239
|
};
|
|
240
240
|
}
|
|
241
241
|
function buildWorkJournalModel(e) {
|
|
@@ -247,7 +247,7 @@ function buildWorkJournalModel(e) {
|
|
|
247
247
|
terminal: {
|
|
248
248
|
id: "work-complete",
|
|
249
249
|
tone: "completed",
|
|
250
|
-
label:
|
|
250
|
+
label: ve.completed
|
|
251
251
|
}
|
|
252
252
|
};
|
|
253
253
|
if (n === "failed") {
|
|
@@ -261,7 +261,7 @@ function buildWorkJournalModel(e) {
|
|
|
261
261
|
terminal: {
|
|
262
262
|
id: "work-failed",
|
|
263
263
|
tone: "failed",
|
|
264
|
-
label:
|
|
264
|
+
label: ve.failed,
|
|
265
265
|
...o && e?.note ? { note: e.note } : {}
|
|
266
266
|
}
|
|
267
267
|
};
|
|
@@ -275,18 +275,18 @@ function buildWorkJournalModel(e) {
|
|
|
275
275
|
terminal: {
|
|
276
276
|
id: "work-stopped",
|
|
277
277
|
tone: "stopped",
|
|
278
|
-
label:
|
|
278
|
+
label: ve.stopped
|
|
279
279
|
}
|
|
280
280
|
};
|
|
281
281
|
}
|
|
282
282
|
let { visibleRows: s, hiddenRows: c } = splitRows(milestoneRows(t, /* @__PURE__ */ new Set())), u = t.filter((e) => e.status === "started").sort(byEvent).pop(), f = t.reduce((e, t) => Math.max(e, eventMs(t)), a ?? -Infinity), p = Number.isFinite(f) ? f : r, m = t.reduce((e, t) => {
|
|
283
283
|
let n = toMs(t.startedAt) ?? toMs(t.endedAt);
|
|
284
284
|
return n === void 0 ? e : Math.min(e, n);
|
|
285
|
-
}, Infinity), h = p +
|
|
285
|
+
}, Infinity), h = p + ye, _ = (Number.isFinite(m) ? m : p) + B, v = r >= h, b = u || v ? {
|
|
286
286
|
id: u?.activityId ?? "work-active",
|
|
287
287
|
tone: "active",
|
|
288
|
-
label: v ? u ?
|
|
289
|
-
} : void 0, x = v && r >= _ ? i ?
|
|
288
|
+
label: v ? u ? ve.waiting : ve.finishing : u.label
|
|
289
|
+
} : void 0, x = v && r >= _ ? i ? ve.notifyHint : ve.leaveHint : void 0, S = [h, _].filter((e) => e > r).sort((e, t) => e - t)[0];
|
|
290
290
|
return {
|
|
291
291
|
outcome: n,
|
|
292
292
|
visibleRows: s,
|
|
@@ -352,17 +352,17 @@ function buildLiveTurnBlocks(e) {
|
|
|
352
352
|
}
|
|
353
353
|
//#endregion
|
|
354
354
|
//#region agent/AgentController.ts
|
|
355
|
-
var
|
|
356
|
-
...
|
|
355
|
+
var be = /* @__PURE__ */ new Set(["CREDIT_LIMIT", "OVERAGE_CAP"]), U = /* @__PURE__ */ new Set([
|
|
356
|
+
...be,
|
|
357
357
|
"EMPTY_STREAM",
|
|
358
358
|
"RATE_LIMIT"
|
|
359
|
-
]),
|
|
359
|
+
]), Se = /* @__PURE__ */ new Set(["agent_deleted", "AGENT_DELETED"]), W = {
|
|
360
360
|
CREDIT_LIMIT: "billing_budget_reached",
|
|
361
361
|
OVERAGE_CAP: "billing_runaway_cap"
|
|
362
362
|
};
|
|
363
363
|
function presentChatStreamError(e) {
|
|
364
|
-
if (!(e.bucket !== void 0 ||
|
|
365
|
-
let t = e.bucket ?? (
|
|
364
|
+
if (!(e.bucket !== void 0 || U.has(e.code))) return { surface: "hard" };
|
|
365
|
+
let t = e.bucket ?? (be.has(e.code) ? "account" : "error"), n = {
|
|
366
366
|
...e.actionLabel ? { actionLabel: e.actionLabel } : {},
|
|
367
367
|
...e.actionUrl ? { actionUrl: e.actionUrl } : {},
|
|
368
368
|
...e.help ? { help: e.help } : {}
|
|
@@ -375,7 +375,7 @@ function presentChatStreamError(e) {
|
|
|
375
375
|
...n
|
|
376
376
|
},
|
|
377
377
|
sendBlockedReason: "account"
|
|
378
|
-
} :
|
|
378
|
+
} : Se.has(e.code) ? {
|
|
379
379
|
surface: "transcript",
|
|
380
380
|
issue: {
|
|
381
381
|
code: e.code,
|
|
@@ -393,7 +393,7 @@ function presentChatStreamError(e) {
|
|
|
393
393
|
};
|
|
394
394
|
}
|
|
395
395
|
function transcriptMessageForChatStreamError(e) {
|
|
396
|
-
let t =
|
|
396
|
+
let t = W[e.code];
|
|
397
397
|
return t ? r[t].oneLine : e.error;
|
|
398
398
|
}
|
|
399
399
|
var AgentChatController = class extends i {
|
|
@@ -401,12 +401,12 @@ var AgentChatController = class extends i {
|
|
|
401
401
|
super("AgentChatController", t), e(this, "isTextMode", !1), e(this, "lastMessage", {
|
|
402
402
|
hash: "",
|
|
403
403
|
time: 0
|
|
404
|
-
}), e(this, "isConnecting", !1), e(this, "activeTurnGeneration", 0), e(this, "boundaryTimer", void 0), e(this, "nowMs",
|
|
404
|
+
}), e(this, "isConnecting", !1), e(this, "activeTurnGeneration", 0), e(this, "boundaryTimer", void 0), e(this, "nowMs", P(Date.now())), e(this, "toolActivityTiming", P({})), e(this, "lastVisibleProgressAtMs", P()), e(this, "liveSegments", P([])), e(this, "liveStreamMessageId", P(void 0)), e(this, "conversationId", void 0), e(this, "textState", A({
|
|
405
405
|
isActive: !1,
|
|
406
406
|
isConnected: !1,
|
|
407
407
|
isThinking: !1,
|
|
408
408
|
connectionStatus: "disconnected"
|
|
409
|
-
})), e(this, "agentMode",
|
|
409
|
+
})), e(this, "agentMode", A("self")), e(this, "sharedMessages", A([])), e(this, "composerState", A({
|
|
410
410
|
text: "",
|
|
411
411
|
pendingAttachments: [],
|
|
412
412
|
isUploading: !1
|
|
@@ -569,7 +569,7 @@ Current User:
|
|
|
569
569
|
});
|
|
570
570
|
}
|
|
571
571
|
setupBoundaryWatcher() {
|
|
572
|
-
|
|
572
|
+
se(() => this.workJournal.value?.nextBoundaryAtMs, (e) => {
|
|
573
573
|
this.scheduleBoundary(e);
|
|
574
574
|
});
|
|
575
575
|
}
|
|
@@ -631,12 +631,12 @@ Current User:
|
|
|
631
631
|
});
|
|
632
632
|
}
|
|
633
633
|
setupModeWatcher() {
|
|
634
|
-
|
|
634
|
+
se(this.agentMode, async (e, t) => {
|
|
635
635
|
this.logger.info(`Mode changed from ${t} to ${e}`), this.isTextMode && (t === "talk" || t === "chat") && await this.endConversation();
|
|
636
636
|
});
|
|
637
637
|
}
|
|
638
638
|
setupAvailabilityWatcher() {
|
|
639
|
-
|
|
639
|
+
se(() => this.chatEnabled, (e) => {
|
|
640
640
|
if (!(!this.isTextMode || this.isConnecting)) {
|
|
641
641
|
if (e) {
|
|
642
642
|
this.textState.value.isConnected || this.updateState(this.textState, {
|
|
@@ -771,7 +771,7 @@ Current User:
|
|
|
771
771
|
let e = i[i.length - 1];
|
|
772
772
|
this.sharedMessages.value = e?.id === a ? [...i.slice(0, -1), r] : [...i, r];
|
|
773
773
|
}
|
|
774
|
-
r.sender === "system" && r.issue?.bucket === "account" ? this.updateState(this.textState, { sendBlockedReason: "account" }) : r.sender === "system" && r.issue?.code &&
|
|
774
|
+
r.sender === "system" && r.issue?.bucket === "account" ? this.updateState(this.textState, { sendBlockedReason: "account" }) : r.sender === "system" && r.issue?.code && Se.has(r.issue.code) && this.updateState(this.textState, { sendBlockedReason: "agent_deleted" });
|
|
775
775
|
}, onDone = (e) => {
|
|
776
776
|
if (!isCurrentTurn()) return;
|
|
777
777
|
if (!o && !c) {
|
|
@@ -941,10 +941,10 @@ function parseButtonTemplate(e) {
|
|
|
941
941
|
}
|
|
942
942
|
//#endregion
|
|
943
943
|
//#region agent/ui/ElAgentButton.vue?vue&type=script&setup=true&lang.ts
|
|
944
|
-
var
|
|
944
|
+
var Ce = {
|
|
945
945
|
key: 0,
|
|
946
946
|
class: "absolute inset-0 flex items-center justify-center"
|
|
947
|
-
},
|
|
947
|
+
}, we = /* @__PURE__ */ x({
|
|
948
948
|
__name: "ElAgentButton",
|
|
949
949
|
props: {
|
|
950
950
|
theme: { default: "primary" },
|
|
@@ -972,19 +972,19 @@ var we = {
|
|
|
972
972
|
md: "size-4",
|
|
973
973
|
lg: "size-5"
|
|
974
974
|
})[e.size]);
|
|
975
|
-
return (i, a) => (k(), h("button", { class: C(["relative inline-flex items-center justify-center gap-2 font-medium rounded-full backdrop-blur-sm border-2 text-white transition-all duration-200 focus:outline-none active:opacity-80 disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer", [t.value, n.value]]) }, [e.loading ? (k(), h("div",
|
|
975
|
+
return (i, a) => (k(), h("button", { class: C(["relative inline-flex items-center justify-center gap-2 font-medium rounded-full backdrop-blur-sm border-2 text-white transition-all duration-200 focus:outline-none active:opacity-80 disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer", [t.value, n.value]]) }, [e.loading ? (k(), h("div", Ce, [...a[0] || (a[0] = [_("i", { class: "i-svg-spinners-90-ring-with-bg size-5" }, null, -1)])])) : m("", !0), _("span", { class: C(["flex items-center gap-2 transition-opacity duration-200", e.loading ? "opacity-0" : "opacity-100"]) }, [
|
|
976
976
|
e.icon ? (k(), h("i", {
|
|
977
977
|
key: 0,
|
|
978
978
|
class: C([e.icon, r.value])
|
|
979
979
|
}, null, 2)) : m("", !0),
|
|
980
|
-
|
|
980
|
+
ie(i.$slots, "default"),
|
|
981
981
|
e.iconAfter ? (k(), h("i", {
|
|
982
982
|
key: 1,
|
|
983
983
|
class: C([e.iconAfter, r.value])
|
|
984
984
|
}, null, 2)) : m("", !0)
|
|
985
985
|
], 2)], 2));
|
|
986
986
|
}
|
|
987
|
-
}),
|
|
987
|
+
}), Te = ["value"], Ee = /* @__PURE__ */ x({
|
|
988
988
|
__name: "AgentInputEmail",
|
|
989
989
|
props: { modelValue: { default: "" } },
|
|
990
990
|
emits: ["update:modelValue"],
|
|
@@ -1003,9 +1003,9 @@ var we = {
|
|
|
1003
1003
|
class: "w-full px-6 py-3 text-theme-900 placeholder-theme-500 bg-white border border-white rounded-full focus:outline-none transition-colors",
|
|
1004
1004
|
style: { "font-size": "16px" },
|
|
1005
1005
|
onInput: r[0] || (r[0] = (e) => n("update:modelValue", e.target.value))
|
|
1006
|
-
}, null, 40,
|
|
1006
|
+
}, null, 40, Te));
|
|
1007
1007
|
}
|
|
1008
|
-
}),
|
|
1008
|
+
}), De = ["placeholder", "value"], Oe = /* @__PURE__ */ x({
|
|
1009
1009
|
__name: "AgentInputOneTimeCode",
|
|
1010
1010
|
props: {
|
|
1011
1011
|
modelValue: {},
|
|
@@ -1014,7 +1014,7 @@ var we = {
|
|
|
1014
1014
|
},
|
|
1015
1015
|
emits: ["update:modelValue", "autoSubmit"],
|
|
1016
1016
|
setup(e, { emit: t }) {
|
|
1017
|
-
let n = e, r = t, i =
|
|
1017
|
+
let n = e, r = t, i = A(null), a = f(() => "0".repeat(n.length));
|
|
1018
1018
|
ne(() => {
|
|
1019
1019
|
n.focusFirst && !("ontouchstart" in window) && i.value?.focus();
|
|
1020
1020
|
});
|
|
@@ -1038,9 +1038,9 @@ var we = {
|
|
|
1038
1038
|
class: "w-full px-6 py-3 text-center font-mono tracking-[0.35em] text-theme-900 placeholder-theme-500 bg-white border border-white rounded-full focus:outline-none transition-colors",
|
|
1039
1039
|
style: { "font-size": "16px" },
|
|
1040
1040
|
onInput
|
|
1041
|
-
}, null, 40,
|
|
1041
|
+
}, null, 40, De));
|
|
1042
1042
|
}
|
|
1043
|
-
}),
|
|
1043
|
+
}), ke = { class: "relative flex-shrink-0" }, Ae = ["src", "alt"], je = { class: "absolute top-1 right-1" }, Me = {
|
|
1044
1044
|
key: 1,
|
|
1045
1045
|
class: "size-3 bg-theme-400 rounded-full ring-2 ring-white"
|
|
1046
1046
|
}, Ne = { class: "min-w-0" }, Pe = /* @__PURE__ */ x({
|
|
@@ -1055,15 +1055,15 @@ var we = {
|
|
|
1055
1055
|
layout: { default: "centered" }
|
|
1056
1056
|
},
|
|
1057
1057
|
setup(e) {
|
|
1058
|
-
return (t, n) => (k(), h("div", { class: C(["flex gap-4", [e.layout === "centered" ? "flex-col items-center text-center" : "flex-row items-center justify-center"]]) }, [_("div",
|
|
1058
|
+
return (t, n) => (k(), h("div", { class: C(["flex gap-4", [e.layout === "centered" ? "flex-col items-center text-center" : "flex-row items-center justify-center"]]) }, [_("div", ke, [_("div", { class: C(["rounded-full overflow-hidden border-white", e.size === "lg" ? "w-20 h-20 sm:w-24 sm:h-24 border-4" : "w-16 sm:size-16 border-2"]) }, [_("img", {
|
|
1059
1059
|
src: e.agent.avatarUrl.value,
|
|
1060
1060
|
alt: e.agent.displayName.value,
|
|
1061
1061
|
class: "w-full h-full object-cover",
|
|
1062
|
-
onError: n[0] || (n[0] = (...e) =>
|
|
1063
|
-
}, null, 40,
|
|
1062
|
+
onError: n[0] || (n[0] = (...e) => oe(handleImageError) && oe(handleImageError)(...e))
|
|
1063
|
+
}, null, 40, Ae)], 2), _("div", je, [e.isOnline ? (k(), h(u, { key: 0 }, [n[1] || (n[1] = _("div", {
|
|
1064
1064
|
class: "size-3 bg-green-500 rounded-full ring-2 ring-white absolute animate-ping",
|
|
1065
1065
|
style: { "animation-duration": "3s" }
|
|
1066
|
-
}, null, -1)), n[2] || (n[2] = _("div", { class: "size-3 bg-green-500 rounded-full ring-2 ring-white" }, null, -1))], 64)) : (k(), h("div", Me))])]), _("div", Ne, [_("h1", { class: C(["font-light text-white mb-1 truncate", [e.size === "lg" ? "text-3xl mb-2" : "text-xl sm:text-2xl tracking-wide leading-tight", e.layout === "horizontal" ? "text-white/95" : ""]]) },
|
|
1066
|
+
}, null, -1)), n[2] || (n[2] = _("div", { class: "size-3 bg-green-500 rounded-full ring-2 ring-white" }, null, -1))], 64)) : (k(), h("div", Me))])]), _("div", Ne, [_("h1", { class: C(["font-light text-white mb-1 truncate", [e.size === "lg" ? "text-3xl mb-2" : "text-xl sm:text-2xl tracking-wide leading-tight", e.layout === "horizontal" ? "text-white/95" : ""]]) }, F(e.agent.displayName.value), 3), _("p", { class: C(["font-light line-clamp-1", [e.size === "lg" ? "text-base text-white/60" : "text-sm sm:text-base", e.layout === "horizontal" ? "text-white/70 truncate" : "text-white/60"]]) }, F(e.layout === "horizontal" ? e.agent.title.value || "Assistant" : e.agent.title.value), 3)])], 2));
|
|
1067
1067
|
}
|
|
1068
1068
|
}), Fe = { class: "relative shrink-0 rounded-full" }, Ie = ["src", "alt"], Le = ["src", "alt"], Re = ["aria-label"], ze = /* @__PURE__ */ x({
|
|
1069
1069
|
__name: "AgentAvatar",
|
|
@@ -1128,10 +1128,10 @@ var we = {
|
|
|
1128
1128
|
}, Ve = ["aria-expanded", "disabled"], He = ["aria-expanded"], Ue = {
|
|
1129
1129
|
class: "flex w-5 shrink-0 justify-center self-stretch",
|
|
1130
1130
|
"aria-hidden": "true"
|
|
1131
|
-
}, We = ["data-journal-row"],
|
|
1131
|
+
}, We = ["data-journal-row"], Ge = {
|
|
1132
1132
|
class: "flex w-5 shrink-0 flex-col items-center self-stretch",
|
|
1133
1133
|
"aria-hidden": "true"
|
|
1134
|
-
},
|
|
1134
|
+
}, G = { class: "flex h-[17px] shrink-0 items-center" }, Ke = {
|
|
1135
1135
|
key: 0,
|
|
1136
1136
|
class: "sr-only"
|
|
1137
1137
|
}, qe = /* @__PURE__ */ x({
|
|
@@ -1141,7 +1141,7 @@ var we = {
|
|
|
1141
1141
|
isLight: { type: Boolean }
|
|
1142
1142
|
},
|
|
1143
1143
|
setup(e) {
|
|
1144
|
-
let t = e, n =
|
|
1144
|
+
let t = e, n = P(!1);
|
|
1145
1145
|
function toggle() {
|
|
1146
1146
|
n.value = !n.value;
|
|
1147
1147
|
}
|
|
@@ -1212,7 +1212,7 @@ var we = {
|
|
|
1212
1212
|
};
|
|
1213
1213
|
});
|
|
1214
1214
|
return (t, f) => (k(), h("div", { class: C(["w-full py-0.5", s.value.muted]) }, [
|
|
1215
|
-
a.value ? (k(), h("span", Be,
|
|
1215
|
+
a.value ? (k(), h("span", Be, F(a.value), 1)) : m("", !0),
|
|
1216
1216
|
r.value ? (k(), h("button", {
|
|
1217
1217
|
key: 1,
|
|
1218
1218
|
type: "button",
|
|
@@ -1228,7 +1228,7 @@ var we = {
|
|
|
1228
1228
|
class: "i-tabler-circle-check size-3.5 shrink-0 text-green-600",
|
|
1229
1229
|
"aria-hidden": "true"
|
|
1230
1230
|
}, null, -1)),
|
|
1231
|
-
_("span", { class: C(["text-[12.5px] font-medium leading-none", s.value.muted]) },
|
|
1231
|
+
_("span", { class: C(["text-[12.5px] font-medium leading-none", s.value.muted]) }, F(e.model.terminal?.label), 3),
|
|
1232
1232
|
i.value ? (k(), h("i", {
|
|
1233
1233
|
key: 0,
|
|
1234
1234
|
class: C(["size-[13px] shrink-0", [n.value ? "i-tabler-chevron-down" : "i-tabler-chevron-right", s.value.muted]]),
|
|
@@ -1245,30 +1245,30 @@ var we = {
|
|
|
1245
1245
|
}, [_("span", Ue, [_("span", {
|
|
1246
1246
|
"data-journal-spine": "dashed",
|
|
1247
1247
|
class: C(["w-0 border-l border-dashed", s.value.dashed])
|
|
1248
|
-
}, null, 2)]), _("span", { class: C(["flex min-h-[20px] items-center gap-0.5 pb-2 text-[12px] leading-none", s.value.muted]) }, [v(
|
|
1248
|
+
}, null, 2)]), _("span", { class: C(["flex min-h-[20px] items-center gap-0.5 pb-2 text-[12px] leading-none", s.value.muted]) }, [v(F(i.value) + " earlier updates ", 1), _("i", {
|
|
1249
1249
|
class: C(["size-3 shrink-0", n.value ? "i-tabler-chevron-down" : "i-tabler-chevron-right"]),
|
|
1250
1250
|
"aria-hidden": "true"
|
|
1251
1251
|
}, null, 2)], 2)], 10, He)) : m("", !0),
|
|
1252
|
-
(k(!0), h(u, null,
|
|
1252
|
+
(k(!0), h(u, null, j(o.value, (e, t) => (k(), h("div", {
|
|
1253
1253
|
key: e.id,
|
|
1254
1254
|
"data-test": "messaging-tool-activity-row",
|
|
1255
1255
|
"data-journal-row": e.tone,
|
|
1256
1256
|
class: C([r.value ? "pl-[22px]" : "", "flex gap-x-2.5"])
|
|
1257
|
-
}, [_("div",
|
|
1257
|
+
}, [_("div", Ge, [_("span", G, [(k(), p(ae(c.value[e.tone].station.tag), {
|
|
1258
1258
|
"data-journal-station": e.tone,
|
|
1259
1259
|
class: C(c.value[e.tone].station.class)
|
|
1260
1260
|
}, null, 8, ["data-journal-station", "class"]))]), t === o.value.length - 1 ? m("", !0) : (k(), h("span", {
|
|
1261
1261
|
key: 0,
|
|
1262
1262
|
class: C(["w-px flex-1", s.value.spine])
|
|
1263
|
-
}, null, 2))]), _("div", { class: C(["min-w-0 flex-1", t === o.value.length - 1 ? "" : "pb-2"]) }, [_("span", { class: C(["relative block leading-snug", c.value[e.tone].label]) }, [v(
|
|
1263
|
+
}, null, 2))]), _("div", { class: C(["min-w-0 flex-1", t === o.value.length - 1 ? "" : "pb-2"]) }, [_("span", { class: C(["relative block leading-snug", c.value[e.tone].label]) }, [v(F(e.label), 1), c.value[e.tone].statusWord ? (k(), h("span", Ke, ", " + F(c.value[e.tone].statusWord), 1)) : m("", !0)], 2), e.note ? (k(), h("p", {
|
|
1264
1264
|
key: 0,
|
|
1265
1265
|
class: C(["pt-0.5 text-[11.5px] leading-snug", s.value.muted])
|
|
1266
|
-
},
|
|
1266
|
+
}, F(e.note), 3)) : m("", !0)], 2)], 10, We))), 128)),
|
|
1267
1267
|
!r.value && e.model.hint ? (k(), h("p", {
|
|
1268
1268
|
key: 3,
|
|
1269
1269
|
"data-test": "messaging-tool-activity-hint",
|
|
1270
1270
|
class: C(["pl-[30px] pt-2.5 text-[12px] leading-snug", s.value.muted])
|
|
1271
|
-
},
|
|
1271
|
+
}, F(e.model.hint), 3)) : m("", !0)
|
|
1272
1272
|
], 2));
|
|
1273
1273
|
}
|
|
1274
1274
|
});
|
|
@@ -1536,38 +1536,38 @@ function createDOMPurify() {
|
|
|
1536
1536
|
let e = t.createElement("template");
|
|
1537
1537
|
e.content && e.content.ownerDocument && (t = e.content.ownerDocument);
|
|
1538
1538
|
}
|
|
1539
|
-
let T, te = "", ne, re = !1, k = 0,
|
|
1539
|
+
let T, te = "", ne, re = !1, k = 0, A = function _assertNotInTrustedTypesPolicy() {
|
|
1540
1540
|
if (k > 0) throw xt("A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the \"DOMPurify and Trusted Types\" section of the README.");
|
|
1541
|
-
},
|
|
1542
|
-
|
|
1541
|
+
}, j = function _createTrustedHTML(e) {
|
|
1542
|
+
A(), k++;
|
|
1543
1543
|
try {
|
|
1544
1544
|
return T.createHTML(e);
|
|
1545
1545
|
} finally {
|
|
1546
1546
|
k--;
|
|
1547
1547
|
}
|
|
1548
|
-
},
|
|
1549
|
-
|
|
1548
|
+
}, ie = function _createTrustedScriptURL(e) {
|
|
1549
|
+
A(), k++;
|
|
1550
1550
|
try {
|
|
1551
1551
|
return T.createScriptURL(e);
|
|
1552
1552
|
} finally {
|
|
1553
1553
|
k--;
|
|
1554
1554
|
}
|
|
1555
|
-
},
|
|
1555
|
+
}, ae = function _getDefaultTrustedTypesPolicy() {
|
|
1556
1556
|
return re || (ne = Yt(u, r), re = !0), ne;
|
|
1557
|
-
},
|
|
1558
|
-
DOMPurify.isSupported = typeof Je == "function" && typeof v == "function" &&
|
|
1559
|
-
let
|
|
1557
|
+
}, P = t, F = P.implementation, oe = P.createNodeIterator, I = P.createDocumentFragment, se = P.getElementsByTagName, ce = n.importNode, R = Xt();
|
|
1558
|
+
DOMPurify.isSupported = typeof Je == "function" && typeof v == "function" && F && F.createHTMLDocument !== void 0;
|
|
1559
|
+
let ue = Nt, z = Pt, de = Ft, pe = It, he = Lt, _e = zt, ve = Bt, ye = Ht, B = Rt, H = null, be = addToSet({}, [
|
|
1560
1560
|
...St,
|
|
1561
1561
|
...Ct,
|
|
1562
1562
|
...wt,
|
|
1563
1563
|
...Et,
|
|
1564
1564
|
...Ot
|
|
1565
|
-
]),
|
|
1565
|
+
]), U = null, Se = addToSet({}, [
|
|
1566
1566
|
...kt,
|
|
1567
1567
|
...At,
|
|
1568
1568
|
...jt,
|
|
1569
1569
|
...Mt
|
|
1570
|
-
]),
|
|
1570
|
+
]), W = Object.seal($e(null, {
|
|
1571
1571
|
tagNameCheck: {
|
|
1572
1572
|
writable: !0,
|
|
1573
1573
|
configurable: !1,
|
|
@@ -1586,7 +1586,7 @@ function createDOMPurify() {
|
|
|
1586
1586
|
enumerable: !0,
|
|
1587
1587
|
value: !1
|
|
1588
1588
|
}
|
|
1589
|
-
})),
|
|
1589
|
+
})), Ce = null, we = null, Te = Object.seal($e(null, {
|
|
1590
1590
|
tagCheck: {
|
|
1591
1591
|
writable: !0,
|
|
1592
1592
|
configurable: !1,
|
|
@@ -1599,7 +1599,7 @@ function createDOMPurify() {
|
|
|
1599
1599
|
enumerable: !0,
|
|
1600
1600
|
value: null
|
|
1601
1601
|
}
|
|
1602
|
-
})),
|
|
1602
|
+
})), Ee = !0, De = !0, Oe = !1, ke = !0, Ae = !1, je = !0, Me = !1, Ne = !1, Pe = null, Fe = null, Ie = !1, Le = !1, Re = !1, ze = !1, Be = !0, Ve = !1, He = "user-content-", Ue = !0, We = !1, Ge = {}, G = null, Ke = addToSet({}, /* @__PURE__ */ "annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp".split(".")), qe = null, Ye = addToSet({}, [
|
|
1603
1603
|
"audio",
|
|
1604
1604
|
"video",
|
|
1605
1605
|
"img",
|
|
@@ -1642,29 +1642,29 @@ function createDOMPurify() {
|
|
|
1642
1642
|
}, on = function _parseConfig() {
|
|
1643
1643
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
1644
1644
|
if (nn && nn === e) return;
|
|
1645
|
-
(!e || typeof e != "object") && (e = {}), e = clone(e), tn = Z.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? "text/html" : e.PARSER_MEDIA_TYPE, Q = tn === "application/xhtml+xml" ? dt : ut,
|
|
1645
|
+
(!e || typeof e != "object") && (e = {}), e = clone(e), tn = Z.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? "text/html" : e.PARSER_MEDIA_TYPE, Q = tn === "application/xhtml+xml" ? dt : ut, H = Zt(e, "ALLOWED_TAGS", be, { transform: Q }), U = Zt(e, "ALLOWED_ATTR", Se, { transform: Q }), _t = Zt(e, "ALLOWED_NAMESPACES", vt, { transform: dt }), Xe = Zt(e, "ADD_URI_SAFE_ATTR", Ze, {
|
|
1646
1646
|
transform: Q,
|
|
1647
1647
|
base: Ze
|
|
1648
1648
|
}), qe = Zt(e, "ADD_DATA_URI_TAGS", Ye, {
|
|
1649
1649
|
transform: Q,
|
|
1650
1650
|
base: Ye
|
|
1651
|
-
}),
|
|
1651
|
+
}), G = Zt(e, "FORBID_CONTENTS", Ke, { transform: Q }), Ce = Zt(e, "FORBID_TAGS", clone({}), { transform: Q }), we = Zt(e, "FORBID_ATTR", clone({}), { transform: Q }), Ge = J(e, "USE_PROFILES") ? e.USE_PROFILES && typeof e.USE_PROFILES == "object" ? clone(e.USE_PROFILES) : e.USE_PROFILES : !1, Ee = e.ALLOW_ARIA_ATTR !== !1, De = e.ALLOW_DATA_ATTR !== !1, Oe = e.ALLOW_UNKNOWN_PROTOCOLS || !1, ke = e.ALLOW_SELF_CLOSE_IN_ATTR !== !1, Ae = e.SAFE_FOR_TEMPLATES || !1, je = e.SAFE_FOR_XML !== !1, Me = e.WHOLE_DOCUMENT || !1, Le = e.RETURN_DOM || !1, Re = e.RETURN_DOM_FRAGMENT || !1, ze = e.RETURN_TRUSTED_TYPE || !1, Ie = e.FORCE_BODY || !1, Be = e.SANITIZE_DOM !== !1, Ve = e.SANITIZE_NAMED_PROPS || !1, Ue = e.KEEP_CONTENT !== !1, We = e.IN_PLACE || !1, B = isRegex(e.ALLOWED_URI_REGEXP) ? e.ALLOWED_URI_REGEXP : Rt, nt = typeof e.NAMESPACE == "string" ? e.NAMESPACE : tt, bt = J(e, "MATHML_TEXT_INTEGRATION_POINTS") && e.MATHML_TEXT_INTEGRATION_POINTS && typeof e.MATHML_TEXT_INTEGRATION_POINTS == "object" ? clone(e.MATHML_TEXT_INTEGRATION_POINTS) : addToSet({}, yt), $t = J(e, "HTML_INTEGRATION_POINTS") && e.HTML_INTEGRATION_POINTS && typeof e.HTML_INTEGRATION_POINTS == "object" ? clone(e.HTML_INTEGRATION_POINTS) : addToSet({}, Qt);
|
|
1652
1652
|
let t = J(e, "CUSTOM_ELEMENT_HANDLING") && e.CUSTOM_ELEMENT_HANDLING && typeof e.CUSTOM_ELEMENT_HANDLING == "object" ? clone(e.CUSTOM_ELEMENT_HANDLING) : $e(null);
|
|
1653
|
-
if (
|
|
1653
|
+
if (W = $e(null), J(t, "tagNameCheck") && an(t.tagNameCheck) && (W.tagNameCheck = t.tagNameCheck), J(t, "attributeNameCheck") && an(t.attributeNameCheck) && (W.attributeNameCheck = t.attributeNameCheck), J(t, "allowCustomizedBuiltInElements") && typeof t.allowCustomizedBuiltInElements == "boolean" && (W.allowCustomizedBuiltInElements = t.allowCustomizedBuiltInElements), q(W), Ae && (De = !1), Re && (Le = !0), Ge && (H = addToSet({}, Ot), U = $e(null), Ge.html === !0 && (addToSet(H, St), addToSet(U, kt)), Ge.svg === !0 && (addToSet(H, Ct), addToSet(U, At), addToSet(U, Mt)), Ge.svgFilters === !0 && (addToSet(H, wt), addToSet(U, At), addToSet(U, Mt)), Ge.mathMl === !0 && (addToSet(H, Et), addToSet(U, jt), addToSet(U, Mt))), Te.tagCheck = null, Te.attributeCheck = null, J(e, "ADD_TAGS") && (typeof e.ADD_TAGS == "function" ? Te.tagCheck = e.ADD_TAGS : lt(e.ADD_TAGS) && (H === be && (H = clone(H)), addToSet(H, e.ADD_TAGS, Q))), J(e, "ADD_ATTR") && (typeof e.ADD_ATTR == "function" ? Te.attributeCheck = e.ADD_ATTR : lt(e.ADD_ATTR) && (U === Se && (U = clone(U)), addToSet(U, e.ADD_ATTR, Q))), J(e, "ADD_URI_SAFE_ATTR") && lt(e.ADD_URI_SAFE_ATTR) && addToSet(Xe, e.ADD_URI_SAFE_ATTR, Q), J(e, "FORBID_CONTENTS") && lt(e.FORBID_CONTENTS) && (G === Ke && (G = clone(G)), addToSet(G, e.FORBID_CONTENTS, Q)), J(e, "ADD_FORBID_CONTENTS") && lt(e.ADD_FORBID_CONTENTS) && (G === Ke && (G = clone(G)), addToSet(G, e.ADD_FORBID_CONTENTS, Q)), Ue && (H["#text"] = !0), Me && addToSet(H, [
|
|
1654
1654
|
"html",
|
|
1655
1655
|
"head",
|
|
1656
1656
|
"body"
|
|
1657
|
-
]),
|
|
1657
|
+
]), H.table && (addToSet(H, ["tbody"]), delete Ce.tbody), e.TRUSTED_TYPES_POLICY) {
|
|
1658
1658
|
if (typeof e.TRUSTED_TYPES_POLICY.createHTML != "function") throw xt("TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.");
|
|
1659
1659
|
if (typeof e.TRUSTED_TYPES_POLICY.createScriptURL != "function") throw xt("TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.");
|
|
1660
1660
|
let t = T;
|
|
1661
1661
|
T = e.TRUSTED_TYPES_POLICY;
|
|
1662
1662
|
try {
|
|
1663
|
-
te =
|
|
1663
|
+
te = j("");
|
|
1664
1664
|
} catch (e) {
|
|
1665
1665
|
throw T = t, e;
|
|
1666
1666
|
}
|
|
1667
|
-
} else e.TRUSTED_TYPES_POLICY === null ? (T = void 0, te = "") : (T === void 0 && (T =
|
|
1667
|
+
} else e.TRUSTED_TYPES_POLICY === null ? (T = void 0, te = "") : (T === void 0 && (T = ae()), T && typeof te == "string" && (te = j("")));
|
|
1668
1668
|
K && K(e), nn = e;
|
|
1669
1669
|
}, sn = addToSet({}, [
|
|
1670
1670
|
...Ct,
|
|
@@ -1733,7 +1733,7 @@ function createDOMPurify() {
|
|
|
1733
1733
|
let t = x(e);
|
|
1734
1734
|
if (t) for (let n = t.length - 1; n >= 0; --n) {
|
|
1735
1735
|
let r = t[n], i = r && r.name;
|
|
1736
|
-
if (!(typeof i != "string" ||
|
|
1736
|
+
if (!(typeof i != "string" || U[Q(i)])) try {
|
|
1737
1737
|
e.removeAttribute(i);
|
|
1738
1738
|
} catch {}
|
|
1739
1739
|
}
|
|
@@ -1746,7 +1746,7 @@ function createDOMPurify() {
|
|
|
1746
1746
|
if (n) for (let e = n.length - 1; e >= 0; --e) t.push(n[e]);
|
|
1747
1747
|
}
|
|
1748
1748
|
}, vn = function _neutralizePatchLinkage(e) {
|
|
1749
|
-
if (!
|
|
1749
|
+
if (!je) return;
|
|
1750
1750
|
let t = [e];
|
|
1751
1751
|
for (; t.length > 0;) {
|
|
1752
1752
|
let e = t.pop(), n = S ? S(e) : e.nodeType;
|
|
@@ -1773,25 +1773,25 @@ function createDOMPurify() {
|
|
|
1773
1773
|
r = t && t[0];
|
|
1774
1774
|
}
|
|
1775
1775
|
tn === "application/xhtml+xml" && nt === tt && (e = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>" + e + "</body></html>");
|
|
1776
|
-
let i = T ?
|
|
1776
|
+
let i = T ? j(e) : e;
|
|
1777
1777
|
if (nt === tt) try {
|
|
1778
1778
|
n = new c().parseFromString(i, tn);
|
|
1779
1779
|
} catch {}
|
|
1780
1780
|
if (!n || !n.documentElement) {
|
|
1781
|
-
n =
|
|
1781
|
+
n = F.createDocument(nt, "template", null);
|
|
1782
1782
|
try {
|
|
1783
1783
|
n.documentElement.innerHTML = gt ? te : i;
|
|
1784
1784
|
} catch {}
|
|
1785
1785
|
}
|
|
1786
1786
|
let a = n.body || n.documentElement;
|
|
1787
|
-
return e && r && a.insertBefore(t.createTextNode(r), a.childNodes[0] || null), nt === tt ?
|
|
1787
|
+
return e && r && a.insertBefore(t.createTextNode(r), a.childNodes[0] || null), nt === tt ? se.call(n, Me ? "html" : "body")[0] : Me ? n.documentElement : a;
|
|
1788
1788
|
}, bn = function _createNodeIterator(e) {
|
|
1789
|
-
return
|
|
1789
|
+
return oe.call(e.ownerDocument || e, e, s.SHOW_ELEMENT | s.SHOW_COMMENT | s.SHOW_TEXT | s.SHOW_PROCESSING_INSTRUCTION | s.SHOW_CDATA_SECTION, null);
|
|
1790
1790
|
}, xn = function _stripTemplateExpressions(e) {
|
|
1791
|
-
return e = pt(e,
|
|
1791
|
+
return e = pt(e, ue, " "), e = pt(e, z, " "), e = pt(e, de, " "), e;
|
|
1792
1792
|
}, Sn = function _scrubTemplateExpressions(e) {
|
|
1793
1793
|
e.normalize();
|
|
1794
|
-
let t =
|
|
1794
|
+
let t = oe.call(e.ownerDocument || e, e, s.SHOW_TEXT | s.SHOW_COMMENT | s.SHOW_CDATA_SECTION | s.SHOW_PROCESSING_INSTRUCTION, null), n = t.nextNode();
|
|
1795
1795
|
for (; n;) n.data = xn(n.data), n = t.nextNode();
|
|
1796
1796
|
let r = e.querySelectorAll?.call(e, "template");
|
|
1797
1797
|
r && rt(r, (e) => {
|
|
@@ -1821,10 +1821,10 @@ function createDOMPurify() {
|
|
|
1821
1821
|
});
|
|
1822
1822
|
}
|
|
1823
1823
|
let En = function _isUnsafeNode(e, t) {
|
|
1824
|
-
return !!(
|
|
1824
|
+
return !!(je && e.hasChildNodes() && !Tn(e.firstElementChild) && X(Ut, e.textContent) && X(Ut, e.innerHTML) || je && e.namespaceURI === tt && t === "style" && Tn(e.firstElementChild) || e.nodeType === qt.processingInstruction || je && e.nodeType === qt.comment && X(Wt, e.data));
|
|
1825
1825
|
}, Dn = function _sanitizeDisallowedNode(e, t) {
|
|
1826
|
-
if (!
|
|
1827
|
-
if (Ue && !
|
|
1826
|
+
if (!Ce[t] && jn(t) && (W.tagNameCheck instanceof RegExp && X(W.tagNameCheck, t) || W.tagNameCheck instanceof Function && W.tagNameCheck(t))) return !1;
|
|
1827
|
+
if (Ue && !G[t]) {
|
|
1828
1828
|
let t = v(e), n = _(e);
|
|
1829
1829
|
if (n && t) {
|
|
1830
1830
|
let r = n.length;
|
|
@@ -1836,31 +1836,31 @@ function createDOMPurify() {
|
|
|
1836
1836
|
}
|
|
1837
1837
|
return pn(e), !0;
|
|
1838
1838
|
}, On = function _sanitizeElements(e, t) {
|
|
1839
|
-
if (_executeHooks(
|
|
1839
|
+
if (_executeHooks(R.beforeSanitizeElements, e, null), e !== t && v(e) === null) return !0;
|
|
1840
1840
|
if (Cn(e)) return pn(e), !0;
|
|
1841
1841
|
let n = Q(C ? C(e) : e.nodeName);
|
|
1842
|
-
if (_executeHooks(
|
|
1842
|
+
if (_executeHooks(R.uponSanitizeElement, e, {
|
|
1843
1843
|
tagName: n,
|
|
1844
|
-
allowedTags:
|
|
1844
|
+
allowedTags: H
|
|
1845
1845
|
}), e !== t && v(e) === null) return !0;
|
|
1846
1846
|
if (En(e, n)) return pn(e), !0;
|
|
1847
|
-
if (
|
|
1847
|
+
if (Ce[n] || !(Te.tagCheck instanceof Function && Te.tagCheck(n)) && !H[n]) {
|
|
1848
1848
|
let t = Dn(e, n);
|
|
1849
|
-
return t === !1 && _executeHooks(
|
|
1849
|
+
return t === !1 && _executeHooks(R.afterSanitizeElements, e, null), t;
|
|
1850
1850
|
}
|
|
1851
1851
|
if ((S ? S(e) : e.nodeType) === qt.element && !fn(e) || (n === "noscript" || n === "noembed" || n === "noframes") && X(Gt, e.innerHTML)) return pn(e), !0;
|
|
1852
|
-
if (
|
|
1852
|
+
if (Ae && e.nodeType === qt.text) {
|
|
1853
1853
|
let t = xn(e.textContent);
|
|
1854
1854
|
e.textContent !== t && (st(DOMPurify.removed, { element: e.cloneNode() }), e.textContent = t);
|
|
1855
1855
|
}
|
|
1856
|
-
return _executeHooks(
|
|
1856
|
+
return _executeHooks(R.afterSanitizeElements, e, null), !1;
|
|
1857
1857
|
}, kn = function _isValidAttribute(e, n, r) {
|
|
1858
|
-
if (
|
|
1859
|
-
let i =
|
|
1860
|
-
if (!(
|
|
1858
|
+
if (we[n] || je && n === "patchsrc" || je && n === "for" && e !== "label" && e !== "output" || Be && (n === "id" || n === "name") && (r in t || r in rn)) return !1;
|
|
1859
|
+
let i = U[n] || Te.attributeCheck instanceof Function && Te.attributeCheck(n, e);
|
|
1860
|
+
if (!(De && X(pe, n)) && !(Ee && X(he, n))) {
|
|
1861
1861
|
if (!i) {
|
|
1862
|
-
if (!(jn(e) && (
|
|
1863
|
-
} else if (!Xe[n] && !X(
|
|
1862
|
+
if (!(jn(e) && (W.tagNameCheck instanceof RegExp && X(W.tagNameCheck, e) || W.tagNameCheck instanceof Function && W.tagNameCheck(e)) && (W.attributeNameCheck instanceof RegExp && X(W.attributeNameCheck, n) || W.attributeNameCheck instanceof Function && W.attributeNameCheck(n, e)) || n === "is" && W.allowCustomizedBuiltInElements && (W.tagNameCheck instanceof RegExp && X(W.tagNameCheck, r) || W.tagNameCheck instanceof Function && W.tagNameCheck(r)))) return !1;
|
|
1863
|
+
} else if (!Xe[n] && !X(B, pt(r, ve, "")) && !((n === "src" || n === "xlink:href" || n === "href") && e !== "script" && mt(r, "data:") === 0 && qe[e]) && !(Oe && !X(_e, pt(r, ve, ""))) && r) return !1;
|
|
1864
1864
|
}
|
|
1865
1865
|
return !0;
|
|
1866
1866
|
}, An = addToSet({}, [
|
|
@@ -1873,11 +1873,11 @@ function createDOMPurify() {
|
|
|
1873
1873
|
"font-face-uri",
|
|
1874
1874
|
"missing-glyph"
|
|
1875
1875
|
]), jn = function _isBasicCustomElement(e) {
|
|
1876
|
-
return !An[ut(e)] && X(
|
|
1876
|
+
return !An[ut(e)] && X(ye, e);
|
|
1877
1877
|
}, Mn = function _applyTrustedTypesToAttribute(e, t, n, r) {
|
|
1878
1878
|
if (T && typeof u == "object" && typeof u.getAttributeType == "function" && !n) switch (u.getAttributeType(e, t)) {
|
|
1879
|
-
case "TrustedHTML": return
|
|
1880
|
-
case "TrustedScriptURL": return
|
|
1879
|
+
case "TrustedHTML": return j(r);
|
|
1880
|
+
case "TrustedScriptURL": return ie(r);
|
|
1881
1881
|
}
|
|
1882
1882
|
return r;
|
|
1883
1883
|
}, Nn = function _setAttributeValue(e, t, n, r) {
|
|
@@ -1887,19 +1887,19 @@ function createDOMPurify() {
|
|
|
1887
1887
|
hn(t, e);
|
|
1888
1888
|
}
|
|
1889
1889
|
}, Pn = function _sanitizeAttributes(e) {
|
|
1890
|
-
_executeHooks(
|
|
1890
|
+
_executeHooks(R.beforeSanitizeAttributes, e, null);
|
|
1891
1891
|
let t = e.attributes;
|
|
1892
1892
|
if (!t || Cn(e)) return;
|
|
1893
1893
|
let n = {
|
|
1894
1894
|
attrName: "",
|
|
1895
1895
|
attrValue: "",
|
|
1896
1896
|
keepAttr: !0,
|
|
1897
|
-
allowedAttributes:
|
|
1897
|
+
allowedAttributes: U,
|
|
1898
1898
|
forceKeepAttr: void 0
|
|
1899
1899
|
}, r = t.length, i = Q(e.nodeName);
|
|
1900
1900
|
for (; r--;) {
|
|
1901
1901
|
let a = t[r], o = a.name, s = a.namespaceURI, c = a.value, u = Q(o), f = c, p = o === "value" ? f : ht(f);
|
|
1902
|
-
if (n.attrName = u, n.attrValue = p, n.keepAttr = !0, n.forceKeepAttr = void 0, _executeHooks(
|
|
1902
|
+
if (n.attrName = u, n.attrValue = p, n.keepAttr = !0, n.forceKeepAttr = void 0, _executeHooks(R.uponSanitizeAttribute, e, n), p = n.attrValue, Ve && (u === "id" || u === "name") && mt(p, He) !== 0 && (hn(o, e), p = He + p), je && X(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, p)) {
|
|
1903
1903
|
hn(o, e);
|
|
1904
1904
|
continue;
|
|
1905
1905
|
}
|
|
@@ -1912,25 +1912,25 @@ function createDOMPurify() {
|
|
|
1912
1912
|
hn(o, e);
|
|
1913
1913
|
continue;
|
|
1914
1914
|
}
|
|
1915
|
-
if (!
|
|
1915
|
+
if (!ke && X(Kt, p)) {
|
|
1916
1916
|
hn(o, e);
|
|
1917
1917
|
continue;
|
|
1918
1918
|
}
|
|
1919
|
-
if (
|
|
1919
|
+
if (Ae && (p = xn(p)), !kn(i, u, p)) {
|
|
1920
1920
|
hn(o, e);
|
|
1921
1921
|
continue;
|
|
1922
1922
|
}
|
|
1923
1923
|
p = Mn(i, u, s, p), p !== f && Nn(e, o, s, p);
|
|
1924
1924
|
}
|
|
1925
1925
|
}
|
|
1926
|
-
_executeHooks(
|
|
1926
|
+
_executeHooks(R.afterSanitizeAttributes, e, null);
|
|
1927
1927
|
}, Fn = function _sanitizeShadowDOM(e) {
|
|
1928
1928
|
let t = null, n = bn(e);
|
|
1929
|
-
for (_executeHooks(
|
|
1929
|
+
for (_executeHooks(R.beforeSanitizeShadowDOM, e, null); t = n.nextNode();) if (_executeHooks(R.uponSanitizeShadowNode, t, null), On(t, e), Pn(t), wn(t.content) && Fn(t.content), (S ? S(t) : t.nodeType) === qt.element) {
|
|
1930
1930
|
let e = b(t);
|
|
1931
1931
|
wn(e) && (In(e), Fn(e));
|
|
1932
1932
|
}
|
|
1933
|
-
_executeHooks(
|
|
1933
|
+
_executeHooks(R.afterSanitizeShadowDOM, e, null);
|
|
1934
1934
|
}, In = function _sanitizeAttachedShadowRoots(e) {
|
|
1935
1935
|
let t = [{
|
|
1936
1936
|
node: e,
|
|
@@ -1973,14 +1973,14 @@ function createDOMPurify() {
|
|
|
1973
1973
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = null, i = null, a = null, o = null;
|
|
1974
1974
|
if (gt = !e, gt && (e = "<!-->"), typeof e != "string" && !Tn(e) && (e = stringifyValue(e), typeof e != "string")) throw xt("dirty is not a string, aborting");
|
|
1975
1975
|
if (!DOMPurify.isSupported) return e;
|
|
1976
|
-
Ne ? (
|
|
1976
|
+
Ne ? (H = Pe, U = Fe) : on(t), (R.uponSanitizeElement.length > 0 || R.uponSanitizeAttribute.length > 0) && (H = clone(H)), R.uponSanitizeAttribute.length > 0 && (U = clone(U)), DOMPurify.removed = [];
|
|
1977
1977
|
let s = We && typeof e != "string" && Tn(e);
|
|
1978
1978
|
if (s) {
|
|
1979
1979
|
vn(e);
|
|
1980
1980
|
let t = C ? C(e) : e.nodeName;
|
|
1981
1981
|
if (typeof t == "string") {
|
|
1982
1982
|
let n = Q(t);
|
|
1983
|
-
if (!
|
|
1983
|
+
if (!H[n] || Ce[n]) throw mn(e), xt("root node is forbidden and cannot be sanitized in-place");
|
|
1984
1984
|
}
|
|
1985
1985
|
if (Cn(e)) throw mn(e), xt("root node is clobbered and cannot be sanitized in-place");
|
|
1986
1986
|
try {
|
|
@@ -1990,7 +1990,7 @@ function createDOMPurify() {
|
|
|
1990
1990
|
}
|
|
1991
1991
|
} else if (Tn(e)) r = yn("<!---->"), i = r.ownerDocument.importNode(e, !0), i.nodeType === qt.element && i.nodeName === "BODY" || i.nodeName === "HTML" ? r = i : r.appendChild(i), In(i);
|
|
1992
1992
|
else {
|
|
1993
|
-
if (!Le && !
|
|
1993
|
+
if (!Le && !Ae && !Me && e.indexOf("<") === -1) return T && ze ? j(e) : e;
|
|
1994
1994
|
if (r = yn(e), !r) return Le ? null : ze ? te : "";
|
|
1995
1995
|
}
|
|
1996
1996
|
r && Ie && pn(r.firstChild);
|
|
@@ -2004,17 +2004,17 @@ function createDOMPurify() {
|
|
|
2004
2004
|
}
|
|
2005
2005
|
if (s) return rt(DOMPurify.removed, (e) => {
|
|
2006
2006
|
e.element && _n(e.element);
|
|
2007
|
-
}),
|
|
2007
|
+
}), Ae && Sn(e), e;
|
|
2008
2008
|
if (Le) {
|
|
2009
|
-
if (
|
|
2009
|
+
if (Ae && Sn(r), Re) for (o = I.call(r.ownerDocument); r.firstChild;) o.appendChild(r.firstChild);
|
|
2010
2010
|
else o = r;
|
|
2011
|
-
return (
|
|
2011
|
+
return (U.shadowroot || U.shadowrootmode) && (o = ce.call(n, o, !0)), o;
|
|
2012
2012
|
}
|
|
2013
2013
|
let f = Me ? r.outerHTML : r.innerHTML;
|
|
2014
|
-
return Me &&
|
|
2014
|
+
return Me && H["!doctype"] && r.ownerDocument && r.ownerDocument.doctype && r.ownerDocument.doctype.name && X(Vt, r.ownerDocument.doctype.name) && (f = "<!DOCTYPE " + r.ownerDocument.doctype.name + ">\n" + f), Ae && (f = xn(f)), T && ze ? j(f) : f;
|
|
2015
2015
|
}, DOMPurify.setConfig = function() {
|
|
2016
2016
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
2017
|
-
on(e), Ne = !0, Pe =
|
|
2017
|
+
on(e), Ne = !0, Pe = H, Fe = U;
|
|
2018
2018
|
}, DOMPurify.clearConfig = function() {
|
|
2019
2019
|
nn = null, Ne = !1, Pe = null, Fe = null, T = ne, te = "";
|
|
2020
2020
|
}, DOMPurify.isValidAttribute = function(e, t, n) {
|
|
@@ -2022,19 +2022,19 @@ function createDOMPurify() {
|
|
|
2022
2022
|
let r = Q(e), i = Q(t);
|
|
2023
2023
|
return kn(r, i, n);
|
|
2024
2024
|
}, DOMPurify.addHook = function(e, t) {
|
|
2025
|
-
typeof t == "function" && J(
|
|
2025
|
+
typeof t == "function" && J(R, e) && st(R[e], t);
|
|
2026
2026
|
}, DOMPurify.removeHook = function(e, t) {
|
|
2027
|
-
if (J(
|
|
2027
|
+
if (J(R, e)) {
|
|
2028
2028
|
if (t !== void 0) {
|
|
2029
|
-
let n = it(
|
|
2030
|
-
return n === -1 ? void 0 : ct(
|
|
2029
|
+
let n = it(R[e], t);
|
|
2030
|
+
return n === -1 ? void 0 : ct(R[e], n, 1)[0];
|
|
2031
2031
|
}
|
|
2032
|
-
return at(
|
|
2032
|
+
return at(R[e]);
|
|
2033
2033
|
}
|
|
2034
2034
|
}, DOMPurify.removeHooks = function(e) {
|
|
2035
|
-
J(
|
|
2035
|
+
J(R, e) && (R[e] = []);
|
|
2036
2036
|
}, DOMPurify.removeAllHooks = function() {
|
|
2037
|
-
|
|
2037
|
+
R = Xt();
|
|
2038
2038
|
}, DOMPurify;
|
|
2039
2039
|
}
|
|
2040
2040
|
var Qt = createDOMPurify(), _Class;
|
|
@@ -3696,7 +3696,7 @@ var Cr = [
|
|
|
3696
3696
|
inverted: { type: Boolean }
|
|
3697
3697
|
},
|
|
3698
3698
|
setup(e) {
|
|
3699
|
-
let t = e, n =
|
|
3699
|
+
let t = e, n = A(), r = P(360), i;
|
|
3700
3700
|
ne(() => {
|
|
3701
3701
|
typeof ResizeObserver > "u" || !n.value || (i = new ResizeObserver((e) => {
|
|
3702
3702
|
let t = e[0]?.contentRect.width;
|
|
@@ -3786,7 +3786,7 @@ var Cr = [
|
|
|
3786
3786
|
max: a,
|
|
3787
3787
|
ticks: o
|
|
3788
3788
|
};
|
|
3789
|
-
}),
|
|
3789
|
+
}), ie = f(() => resolveSharedSeriesFormat({ series: b.value })), ae = f(() => {
|
|
3790
3790
|
let e = v.value;
|
|
3791
3791
|
if (!e) return {
|
|
3792
3792
|
mode: "horizontal",
|
|
@@ -3797,8 +3797,8 @@ var Cr = [
|
|
|
3797
3797
|
labels: e.data.map((e) => String(e?.[t] ?? "")),
|
|
3798
3798
|
plotWidth: Math.max(200, a.value - 42)
|
|
3799
3799
|
});
|
|
3800
|
-
}),
|
|
3801
|
-
let e =
|
|
3800
|
+
}), I = f(() => {
|
|
3801
|
+
let e = ie.value?.valueFormat, t = !!(ie.value && (e === "currency" || e === "percent" || ie.value.valuePrefix || ie.value.valueSuffix)), n = e === "duration" ? 46 : t ? 38 : 30, r = ae.value.mode === "angled";
|
|
3802
3802
|
return {
|
|
3803
3803
|
width: a.value,
|
|
3804
3804
|
height: 168 + (r ? 36 : 0),
|
|
@@ -3809,7 +3809,7 @@ var Cr = [
|
|
|
3809
3809
|
};
|
|
3810
3810
|
});
|
|
3811
3811
|
function labelCenterX(e, t) {
|
|
3812
|
-
let n = v.value, r =
|
|
3812
|
+
let n = v.value, r = I.value;
|
|
3813
3813
|
if (n?.chartType === "bar") {
|
|
3814
3814
|
let n = r.width - r.left - r.right;
|
|
3815
3815
|
return r.left + (e + .5) * (n / Math.max(t, 1));
|
|
@@ -3817,11 +3817,11 @@ var Cr = [
|
|
|
3817
3817
|
return xForIndex(e, t);
|
|
3818
3818
|
}
|
|
3819
3819
|
function xForIndex(e, t) {
|
|
3820
|
-
let n =
|
|
3820
|
+
let n = I.value, r = n.width - n.left - n.right;
|
|
3821
3821
|
return t <= 1 ? n.left + r / 2 : n.left + r * e / (t - 1);
|
|
3822
3822
|
}
|
|
3823
3823
|
function yForValue(e) {
|
|
3824
|
-
let { min: t, max: n } = re.value, r =
|
|
3824
|
+
let { min: t, max: n } = re.value, r = I.value, i = r.height - r.top - r.bottom;
|
|
3825
3825
|
return r.top + (n - e) / (n - t || 1) * i;
|
|
3826
3826
|
}
|
|
3827
3827
|
function pathForSeries(e) {
|
|
@@ -3831,7 +3831,7 @@ var Cr = [
|
|
|
3831
3831
|
return `${r === 0 ? "M" : "L"} ${xForIndex(r, t.data.length).toFixed(1)} ${yForValue(i).toFixed(1)}`;
|
|
3832
3832
|
}).join(" ") : "";
|
|
3833
3833
|
}
|
|
3834
|
-
let
|
|
3834
|
+
let se = f(() => {
|
|
3835
3835
|
let e = v.value;
|
|
3836
3836
|
if (!e?.trendLine || e.chartType !== "line" && e.chartType !== "scatter") return null;
|
|
3837
3837
|
let t = trendLinePoints(e, e.trendLine.dataKey), n = linearTrend(t);
|
|
@@ -3842,10 +3842,10 @@ var Cr = [
|
|
|
3842
3842
|
dataKey: e.trendLine.dataKey,
|
|
3843
3843
|
seriesIndex: s
|
|
3844
3844
|
};
|
|
3845
|
-
}),
|
|
3845
|
+
}), ce = f(() => {
|
|
3846
3846
|
let e = v.value;
|
|
3847
3847
|
if (!e || e.chartType !== "bar") return [];
|
|
3848
|
-
let t =
|
|
3848
|
+
let t = I.value, n = (t.width - t.left - t.right) / Math.max(e.data.length, 1), r = yForValue(0);
|
|
3849
3849
|
if (S.value) {
|
|
3850
3850
|
let r = Math.max(4, Math.min(24, n * .42));
|
|
3851
3851
|
return e.data.flatMap((i, a) => {
|
|
@@ -3879,12 +3879,12 @@ var Cr = [
|
|
|
3879
3879
|
dataKey: e.dataKey
|
|
3880
3880
|
};
|
|
3881
3881
|
}));
|
|
3882
|
-
}),
|
|
3882
|
+
}), R = f(() => {
|
|
3883
3883
|
let e = v.value;
|
|
3884
3884
|
if (!e) return [];
|
|
3885
3885
|
let t = e.data;
|
|
3886
3886
|
if (!t.length) return [];
|
|
3887
|
-
let n = t.length - 1, r =
|
|
3887
|
+
let n = t.length - 1, r = ae.value, i = r.mode === "angled";
|
|
3888
3888
|
return r.entries.map(({ index: e, text: r }) => ({
|
|
3889
3889
|
key: `${e}`,
|
|
3890
3890
|
label: r,
|
|
@@ -3892,7 +3892,7 @@ var Cr = [
|
|
|
3892
3892
|
anchor: i ? "end" : e === 0 ? "start" : e === n ? "end" : "middle",
|
|
3893
3893
|
angled: i
|
|
3894
3894
|
})).filter((e) => e.label);
|
|
3895
|
-
}),
|
|
3895
|
+
}), ue = f(() => {
|
|
3896
3896
|
let e = v.value;
|
|
3897
3897
|
if (!e || e.chartType !== "bar" || e.series.length !== 1 || S.value) return [];
|
|
3898
3898
|
let t = e.series[0], n = e.data.map((n, r) => {
|
|
@@ -3915,7 +3915,7 @@ var Cr = [
|
|
|
3915
3915
|
width: e.rawValue <= 0 ? 0 : Math.max(2, e.rawValue / r * 100),
|
|
3916
3916
|
seriesIndex: 0
|
|
3917
3917
|
}));
|
|
3918
|
-
}),
|
|
3918
|
+
}), z = f(() => {
|
|
3919
3919
|
let e = v.value;
|
|
3920
3920
|
if (!e?.data.length) return [];
|
|
3921
3921
|
let t = e.data[e.data.length - 1];
|
|
@@ -3931,7 +3931,7 @@ var Cr = [
|
|
|
3931
3931
|
seriesIndex: n
|
|
3932
3932
|
};
|
|
3933
3933
|
});
|
|
3934
|
-
}),
|
|
3934
|
+
}), de = f(() => {
|
|
3935
3935
|
let e = v.value;
|
|
3936
3936
|
if (!e?.data.length || e.chartType !== "line") return [];
|
|
3937
3937
|
let t = e.data.length - 1, n = e.data[t];
|
|
@@ -3944,7 +3944,7 @@ var Cr = [
|
|
|
3944
3944
|
seriesIndex: i
|
|
3945
3945
|
};
|
|
3946
3946
|
}).filter((e) => e !== null);
|
|
3947
|
-
}),
|
|
3947
|
+
}), pe = f(() => {
|
|
3948
3948
|
let e = x.value;
|
|
3949
3949
|
if (!e) return [];
|
|
3950
3950
|
let t = e.data.map((t) => ({
|
|
@@ -3960,26 +3960,26 @@ var Cr = [
|
|
|
3960
3960
|
series: r
|
|
3961
3961
|
})
|
|
3962
3962
|
}));
|
|
3963
|
-
}),
|
|
3963
|
+
}), he = f(() => c.value ? layoutChatDiagram(c.value, { maxWidth: r.value }) : null), _e = [
|
|
3964
3964
|
"var(--color-theme-900)",
|
|
3965
3965
|
"var(--color-primary-500)",
|
|
3966
3966
|
"color-mix(in oklch, var(--color-primary-500) 55%, var(--color-theme-500))"
|
|
3967
|
-
],
|
|
3967
|
+
], ve = [
|
|
3968
3968
|
"rgba(255, 255, 255, 0.92)",
|
|
3969
3969
|
"color-mix(in oklch, white 30%, var(--color-primary-500))",
|
|
3970
3970
|
"rgba(255, 255, 255, 0.55)"
|
|
3971
3971
|
];
|
|
3972
3972
|
function seriesColor(e) {
|
|
3973
|
-
let n = t.inverted ?
|
|
3973
|
+
let n = t.inverted ? ve : _e;
|
|
3974
3974
|
return n[e % n.length];
|
|
3975
3975
|
}
|
|
3976
3976
|
function diagramNodeFill(e) {
|
|
3977
3977
|
return t.inverted ? e === "decision" ? "rgba(255, 255, 255, 0.1)" : "rgba(255, 255, 255, 0.06)" : e === "decision" ? "color-mix(in oklch, var(--color-primary-500) 9%, var(--color-theme-0))" : e === "output" ? "color-mix(in oklch, var(--color-theme-900) 5%, var(--color-theme-0))" : "var(--color-theme-0)";
|
|
3978
3978
|
}
|
|
3979
3979
|
function diagramNodeStroke(e) {
|
|
3980
|
-
return e === "decision" ? t.inverted ? "rgba(255, 255, 255, 0.26)" : "color-mix(in oklch, var(--color-primary-500) 32%, var(--color-theme-300))" :
|
|
3980
|
+
return e === "decision" ? t.inverted ? "rgba(255, 255, 255, 0.26)" : "color-mix(in oklch, var(--color-primary-500) 32%, var(--color-theme-300))" : Se.value;
|
|
3981
3981
|
}
|
|
3982
|
-
let
|
|
3982
|
+
let ye = f(() => t.inverted ? "rgba(255, 255, 255, 0.95)" : "var(--color-theme-900)"), B = f(() => t.inverted ? "rgba(255, 255, 255, 0.6)" : "var(--color-theme-500)"), H = f(() => t.inverted ? "rgba(255, 255, 255, 0.45)" : "color-mix(in oklch, var(--color-theme-900) 42%, transparent)"), be = f(() => t.inverted ? "rgba(255, 255, 255, 0.1)" : "color-mix(in oklch, var(--color-theme-900) 8%, transparent)"), U = f(() => t.inverted ? "rgba(255, 255, 255, 0.24)" : "color-mix(in oklch, var(--color-theme-900) 18%, transparent)"), Se = f(() => t.inverted ? "rgba(255, 255, 255, 0.16)" : "color-mix(in oklch, var(--color-theme-300) 55%, transparent)"), W = f(() => t.inverted ? "rgba(255, 255, 255, 0.14)" : "color-mix(in oklch, var(--color-theme-900) 8%, transparent)"), Ce = f(() => t.inverted ? "rgba(255, 255, 255, 0.18)" : "color-mix(in oklch, var(--color-theme-900) 16%, transparent)"), we = f(() => t.inverted ? "rgba(255, 255, 255, 0.12)" : "color-mix(in oklch, var(--color-theme-900) 9%, transparent)");
|
|
3983
3983
|
return (e, r) => o.value ? (k(), h("section", {
|
|
3984
3984
|
key: 0,
|
|
3985
3985
|
"data-test": "chat-visual",
|
|
@@ -3988,17 +3988,17 @@ var Cr = [
|
|
|
3988
3988
|
"data-stacking": S.value ? "stacked" : void 0,
|
|
3989
3989
|
"data-diagram-type": c.value?.diagramType,
|
|
3990
3990
|
class: "my-6 w-full rounded-[20px] px-4 pb-3.5 pt-4",
|
|
3991
|
-
style: T({ boxShadow: `inset 0 0 0 1px ${
|
|
3991
|
+
style: T({ boxShadow: `inset 0 0 0 1px ${W.value}` }),
|
|
3992
3992
|
"aria-label": o.value.meta.title
|
|
3993
3993
|
}, [
|
|
3994
3994
|
_("header", wr, [_("h4", {
|
|
3995
3995
|
class: "text-[13px] font-semibold leading-tight",
|
|
3996
|
-
style: T({ color:
|
|
3997
|
-
},
|
|
3996
|
+
style: T({ color: ye.value })
|
|
3997
|
+
}, F(o.value.meta.title), 5), o.value.meta.description ? (k(), h("p", {
|
|
3998
3998
|
key: 0,
|
|
3999
3999
|
class: "mt-0.5 text-[12px] leading-snug",
|
|
4000
|
-
style: T({ color:
|
|
4001
|
-
},
|
|
4000
|
+
style: T({ color: B.value })
|
|
4001
|
+
}, F(o.value.meta.description), 5)) : m("", !0)]),
|
|
4002
4002
|
_("div", {
|
|
4003
4003
|
ref_key: "bodyEl",
|
|
4004
4004
|
ref: n
|
|
@@ -4006,19 +4006,19 @@ var Cr = [
|
|
|
4006
4006
|
key: 0,
|
|
4007
4007
|
role: "img",
|
|
4008
4008
|
"aria-label": o.value.meta.title
|
|
4009
|
-
}, [
|
|
4009
|
+
}, [ue.value.length ? (k(), h("div", Er, [(k(!0), h(u, null, j(ue.value, (e) => (k(), h("div", {
|
|
4010
4010
|
key: e.key,
|
|
4011
4011
|
"data-test": "chat-visual-horizontal-bar",
|
|
4012
4012
|
class: "min-w-0"
|
|
4013
4013
|
}, [_("div", Dr, [_("span", {
|
|
4014
4014
|
class: "line-clamp-2 min-w-0 font-medium leading-snug",
|
|
4015
|
-
style: T({ color:
|
|
4016
|
-
},
|
|
4015
|
+
style: T({ color: ye.value })
|
|
4016
|
+
}, F(e.label), 5), _("span", {
|
|
4017
4017
|
class: "shrink-0 font-semibold tabular-nums",
|
|
4018
|
-
style: T({ color:
|
|
4019
|
-
},
|
|
4018
|
+
style: T({ color: ye.value })
|
|
4019
|
+
}, F(e.value), 5)]), _("div", {
|
|
4020
4020
|
class: "h-2 w-full overflow-hidden rounded-full",
|
|
4021
|
-
style: T({ background:
|
|
4021
|
+
style: T({ background: we.value })
|
|
4022
4022
|
}, [_("div", {
|
|
4023
4023
|
class: "h-full rounded-full",
|
|
4024
4024
|
style: T({
|
|
@@ -4028,33 +4028,33 @@ var Cr = [
|
|
|
4028
4028
|
}, null, 4)], 4)]))), 128))])) : (k(), h("svg", {
|
|
4029
4029
|
key: 1,
|
|
4030
4030
|
class: "block h-auto w-full overflow-visible",
|
|
4031
|
-
viewBox: `0 0 ${
|
|
4032
|
-
style: T({ aspectRatio: `${
|
|
4031
|
+
viewBox: `0 0 ${I.value.width} ${I.value.height}`,
|
|
4032
|
+
style: T({ aspectRatio: `${I.value.width} / ${I.value.height}` }),
|
|
4033
4033
|
preserveAspectRatio: "xMidYMid meet",
|
|
4034
4034
|
"aria-hidden": "true"
|
|
4035
4035
|
}, [
|
|
4036
|
-
(k(!0), h(u, null,
|
|
4036
|
+
(k(!0), h(u, null, j(re.value.ticks, (e) => (k(), h("line", {
|
|
4037
4037
|
key: `grid-${e}`,
|
|
4038
|
-
x1:
|
|
4039
|
-
x2:
|
|
4038
|
+
x1: I.value.left,
|
|
4039
|
+
x2: I.value.width - I.value.right,
|
|
4040
4040
|
y1: yForValue(e),
|
|
4041
4041
|
y2: yForValue(e),
|
|
4042
4042
|
"stroke-width": "1",
|
|
4043
4043
|
"vector-effect": "non-scaling-stroke",
|
|
4044
|
-
style: T({ stroke: e === 0 ?
|
|
4044
|
+
style: T({ stroke: e === 0 ? U.value : be.value })
|
|
4045
4045
|
}, null, 12, kr))), 128)),
|
|
4046
|
-
_("g", null, [(k(!0), h(u, null,
|
|
4046
|
+
_("g", null, [(k(!0), h(u, null, j(re.value.ticks, (e) => (k(), h("text", {
|
|
4047
4047
|
key: `y-${e}`,
|
|
4048
|
-
x:
|
|
4048
|
+
x: I.value.left - 7,
|
|
4049
4049
|
y: yForValue(e) + 3,
|
|
4050
4050
|
"text-anchor": "end",
|
|
4051
4051
|
"font-size": "9.5",
|
|
4052
|
-
style: T({ fill:
|
|
4053
|
-
},
|
|
4052
|
+
style: T({ fill: H.value })
|
|
4053
|
+
}, F(oe(formatChatVisualTick)({
|
|
4054
4054
|
value: e,
|
|
4055
|
-
shared:
|
|
4055
|
+
shared: ie.value
|
|
4056
4056
|
})), 13, Ar))), 128))]),
|
|
4057
|
-
v.value.chartType === "bar" ? (k(!0), h(u, { key: 0 },
|
|
4057
|
+
v.value.chartType === "bar" ? (k(!0), h(u, { key: 0 }, j(ce.value, (e) => (k(), h("rect", {
|
|
4058
4058
|
key: e.key,
|
|
4059
4059
|
"data-test": "chat-visual-bar",
|
|
4060
4060
|
"data-row-index": e.rowIndex,
|
|
@@ -4067,20 +4067,20 @@ var Cr = [
|
|
|
4067
4067
|
rx: "2.5",
|
|
4068
4068
|
style: T({ fill: seriesColor(e.seriesIndex) })
|
|
4069
4069
|
}, null, 12, jr))), 128)) : (k(), h(u, { key: 1 }, [
|
|
4070
|
-
|
|
4070
|
+
se.value ? (k(), h("path", {
|
|
4071
4071
|
key: 0,
|
|
4072
4072
|
"data-test": "chat-visual-trend-line",
|
|
4073
|
-
"data-trend-key":
|
|
4074
|
-
d:
|
|
4073
|
+
"data-trend-key": se.value.dataKey,
|
|
4074
|
+
d: se.value.path,
|
|
4075
4075
|
fill: "none",
|
|
4076
4076
|
"stroke-width": "1.4",
|
|
4077
4077
|
"stroke-linecap": "round",
|
|
4078
4078
|
"stroke-linejoin": "round",
|
|
4079
4079
|
"stroke-dasharray": "4 3",
|
|
4080
4080
|
"vector-effect": "non-scaling-stroke",
|
|
4081
|
-
style: T({ stroke: seriesColor(
|
|
4081
|
+
style: T({ stroke: seriesColor(se.value.seriesIndex) })
|
|
4082
4082
|
}, null, 12, Mr)) : m("", !0),
|
|
4083
|
-
(k(!0), h(u, null,
|
|
4083
|
+
(k(!0), h(u, null, j(b.value, (e, t) => (k(), h("g", { key: e.dataKey }, [v.value.chartType === "line" ? (k(), h("path", {
|
|
4084
4084
|
key: 0,
|
|
4085
4085
|
d: pathForSeries(e.dataKey),
|
|
4086
4086
|
fill: "none",
|
|
@@ -4089,14 +4089,14 @@ var Cr = [
|
|
|
4089
4089
|
"stroke-linejoin": "round",
|
|
4090
4090
|
"vector-effect": "non-scaling-stroke",
|
|
4091
4091
|
style: T({ stroke: seriesColor(t) })
|
|
4092
|
-
}, null, 12, Nr)) : m("", !0), (k(!0), h(u, null,
|
|
4092
|
+
}, null, 12, Nr)) : m("", !0), (k(!0), h(u, null, j(p.value, (n, r) => (k(), h(u, { key: `${e.dataKey}-${r}` }, [v.value.chartType === "scatter" ? (k(), h("circle", {
|
|
4093
4093
|
key: 0,
|
|
4094
4094
|
cx: xForIndex(r, p.value.length),
|
|
4095
4095
|
cy: yForValue(numericValue(n[e.dataKey]) ?? 0),
|
|
4096
4096
|
r: "2.6",
|
|
4097
4097
|
style: T({ fill: seriesColor(t) })
|
|
4098
4098
|
}, null, 12, Pr)) : m("", !0)], 64))), 128))]))), 128)),
|
|
4099
|
-
(k(!0), h(u, null,
|
|
4099
|
+
(k(!0), h(u, null, j(de.value, (e) => (k(), h("circle", {
|
|
4100
4100
|
key: `marker-${e.key}`,
|
|
4101
4101
|
cx: e.cx,
|
|
4102
4102
|
cy: e.cy,
|
|
@@ -4104,16 +4104,16 @@ var Cr = [
|
|
|
4104
4104
|
style: T({ fill: seriesColor(e.seriesIndex) })
|
|
4105
4105
|
}, null, 12, Fr))), 128))
|
|
4106
4106
|
], 64)),
|
|
4107
|
-
(k(!0), h(u, null,
|
|
4107
|
+
(k(!0), h(u, null, j(R.value, (e) => (k(), h("text", {
|
|
4108
4108
|
key: e.key,
|
|
4109
4109
|
x: e.x,
|
|
4110
|
-
y: e.angled ?
|
|
4110
|
+
y: e.angled ? I.value.height - I.value.bottom + 12 : I.value.height - 6,
|
|
4111
4111
|
"text-anchor": e.anchor,
|
|
4112
4112
|
"font-size": "9.5",
|
|
4113
|
-
transform: e.angled ? `rotate(${
|
|
4114
|
-
style: T({ fill:
|
|
4115
|
-
},
|
|
4116
|
-
], 12, Or)),
|
|
4113
|
+
transform: e.angled ? `rotate(${oe(-40)} ${e.x} ${I.value.height - I.value.bottom + 12})` : void 0,
|
|
4114
|
+
style: T({ fill: H.value })
|
|
4115
|
+
}, F(e.label), 13, Ir))), 128))
|
|
4116
|
+
], 12, Or)), z.value.length > 1 || v.value.chartType !== "bar" ? (k(), h("div", Lr, [(k(!0), h(u, null, j(z.value, (e) => (k(), h("div", {
|
|
4117
4117
|
key: e.key,
|
|
4118
4118
|
class: "inline-flex items-center gap-1.5 text-[11.5px] leading-none"
|
|
4119
4119
|
}, [
|
|
@@ -4121,41 +4121,41 @@ var Cr = [
|
|
|
4121
4121
|
class: "size-2.5 shrink-0 rounded-full",
|
|
4122
4122
|
style: T({ background: seriesColor(e.seriesIndex) })
|
|
4123
4123
|
}, null, 4),
|
|
4124
|
-
_("span", { style: T({ color:
|
|
4124
|
+
_("span", { style: T({ color: B.value }) }, F(e.label), 5),
|
|
4125
4125
|
_("span", {
|
|
4126
4126
|
class: "font-semibold tabular-nums",
|
|
4127
|
-
style: T({ color:
|
|
4128
|
-
},
|
|
4129
|
-
]))), 128))])) : m("", !0)], 8, Tr)) : x.value ? (k(), h("div", Rr, [(k(!0), h(u, null,
|
|
4127
|
+
style: T({ color: ye.value })
|
|
4128
|
+
}, F(e.value), 5)
|
|
4129
|
+
]))), 128))])) : m("", !0)], 8, Tr)) : x.value ? (k(), h("div", Rr, [(k(!0), h(u, null, j(pe.value, (e, t) => (k(), h("div", { key: e.key }, [_("div", zr, [_("span", {
|
|
4130
4130
|
class: "truncate font-medium",
|
|
4131
|
-
style: T({ color:
|
|
4132
|
-
},
|
|
4131
|
+
style: T({ color: ye.value })
|
|
4132
|
+
}, F(e.name), 5), _("span", Br, [_("span", {
|
|
4133
4133
|
class: "font-semibold",
|
|
4134
|
-
style: T({ color:
|
|
4135
|
-
},
|
|
4134
|
+
style: T({ color: ye.value })
|
|
4135
|
+
}, F(e.display), 5), _("span", {
|
|
4136
4136
|
class: "ml-1.5",
|
|
4137
|
-
style: T({ color:
|
|
4138
|
-
},
|
|
4137
|
+
style: T({ color: B.value })
|
|
4138
|
+
}, F(Math.round(e.percent * 100)) + "%", 5)])]), _("div", {
|
|
4139
4139
|
class: "h-1.5 w-full overflow-hidden rounded-full",
|
|
4140
|
-
style: T({ background:
|
|
4140
|
+
style: T({ background: we.value })
|
|
4141
4141
|
}, [_("div", {
|
|
4142
4142
|
class: "h-full rounded-full",
|
|
4143
4143
|
style: T({
|
|
4144
4144
|
width: `${Math.max(2, e.percent * 100)}%`,
|
|
4145
4145
|
background: seriesColor(t)
|
|
4146
4146
|
})
|
|
4147
|
-
}, null, 4)], 4)]))), 128))])) : c.value &&
|
|
4147
|
+
}, null, 4)], 4)]))), 128))])) : c.value && he.value ? (k(), h("div", Vr, [(k(), h("svg", {
|
|
4148
4148
|
"data-test": "chat-visual-diagram-svg",
|
|
4149
4149
|
class: "block h-auto overflow-visible",
|
|
4150
|
-
viewBox: `0 0 ${
|
|
4150
|
+
viewBox: `0 0 ${he.value.width} ${he.value.height}`,
|
|
4151
4151
|
style: T({
|
|
4152
|
-
width: `${
|
|
4153
|
-
aspectRatio: `${
|
|
4152
|
+
width: `${he.value.width}px`,
|
|
4153
|
+
aspectRatio: `${he.value.width} / ${he.value.height}`
|
|
4154
4154
|
}),
|
|
4155
4155
|
role: "img",
|
|
4156
4156
|
"aria-label": o.value.meta.title
|
|
4157
4157
|
}, [
|
|
4158
|
-
(k(!0), h(u, null,
|
|
4158
|
+
(k(!0), h(u, null, j(he.value.edges, (e) => (k(), h("line", {
|
|
4159
4159
|
key: e.key,
|
|
4160
4160
|
"data-test": "chat-visual-diagram-edge",
|
|
4161
4161
|
"data-from": e.from,
|
|
@@ -4167,16 +4167,16 @@ var Cr = [
|
|
|
4167
4167
|
"stroke-width": "1.4",
|
|
4168
4168
|
"stroke-linecap": "round",
|
|
4169
4169
|
"vector-effect": "non-scaling-stroke",
|
|
4170
|
-
style: T({ stroke:
|
|
4170
|
+
style: T({ stroke: Ce.value })
|
|
4171
4171
|
}, null, 12, Ur))), 128)),
|
|
4172
|
-
(k(!0), h(u, null,
|
|
4172
|
+
(k(!0), h(u, null, j(he.value.edges, (e) => (k(), h("circle", {
|
|
4173
4173
|
key: `${e.key}-dot`,
|
|
4174
4174
|
cx: e.x2,
|
|
4175
4175
|
cy: e.y2,
|
|
4176
4176
|
r: "2.4",
|
|
4177
|
-
style: T({ fill:
|
|
4177
|
+
style: T({ fill: Ce.value })
|
|
4178
4178
|
}, null, 12, Wr))), 128)),
|
|
4179
|
-
(k(!0), h(u, null,
|
|
4179
|
+
(k(!0), h(u, null, j(he.value.edges.filter((e) => e.label), (e) => (k(), h("foreignObject", {
|
|
4180
4180
|
key: `${e.key}-label`,
|
|
4181
4181
|
x: e.labelX - 55,
|
|
4182
4182
|
y: e.labelY - 12,
|
|
@@ -4186,11 +4186,11 @@ var Cr = [
|
|
|
4186
4186
|
xmlns: "http://www.w3.org/1999/xhtml",
|
|
4187
4187
|
class: "flex h-full items-center justify-center px-1 text-center text-[10.5px] font-medium leading-none",
|
|
4188
4188
|
style: T({
|
|
4189
|
-
color:
|
|
4189
|
+
color: B.value,
|
|
4190
4190
|
background: t.inverted ? "var(--color-theme-900)" : "var(--color-theme-0)"
|
|
4191
4191
|
})
|
|
4192
|
-
},
|
|
4193
|
-
(k(!0), h(u, null,
|
|
4192
|
+
}, F(e.label), 5)], 8, Gr))), 128)),
|
|
4193
|
+
(k(!0), h(u, null, j(he.value.nodes, (e) => (k(), h("g", {
|
|
4194
4194
|
key: e.id,
|
|
4195
4195
|
"data-test": "chat-visual-diagram-node",
|
|
4196
4196
|
"data-node-id": e.id,
|
|
@@ -4223,18 +4223,18 @@ var Cr = [
|
|
|
4223
4223
|
height: e.height - 10
|
|
4224
4224
|
}, [_("div", Xr, [_("div", {
|
|
4225
4225
|
class: "line-clamp-2 text-[13px] font-semibold leading-tight",
|
|
4226
|
-
style: T({ color:
|
|
4227
|
-
},
|
|
4226
|
+
style: T({ color: ye.value })
|
|
4227
|
+
}, F(e.label), 5), e.detail ? (k(), h("div", {
|
|
4228
4228
|
key: 0,
|
|
4229
4229
|
class: "mt-0.5 line-clamp-1 text-[10.5px] leading-none",
|
|
4230
|
-
style: T({ color:
|
|
4231
|
-
},
|
|
4230
|
+
style: T({ color: B.value })
|
|
4231
|
+
}, F(e.detail), 5)) : m("", !0)])], 8, Yr))], 8, Kr))), 128))
|
|
4232
4232
|
], 12, Hr))])) : m("", !0)], 512),
|
|
4233
4233
|
o.value.meta.footer ? (k(), h("footer", {
|
|
4234
4234
|
key: 0,
|
|
4235
4235
|
class: "mt-3 text-[11px] leading-snug",
|
|
4236
|
-
style: T({ color:
|
|
4237
|
-
},
|
|
4236
|
+
style: T({ color: H.value })
|
|
4237
|
+
}, F(o.value.meta.footer), 5)) : m("", !0)
|
|
4238
4238
|
], 12, Cr)) : m("", !0);
|
|
4239
4239
|
}
|
|
4240
4240
|
}), Qr = ["innerHTML"], $r = /* @__PURE__ */ x({
|
|
@@ -4245,8 +4245,8 @@ var Cr = [
|
|
|
4245
4245
|
streaming: { type: Boolean }
|
|
4246
4246
|
},
|
|
4247
4247
|
setup(e) {
|
|
4248
|
-
let t = e, n =
|
|
4249
|
-
|
|
4248
|
+
let t = e, n = P(t.text), r;
|
|
4249
|
+
se([() => t.text, () => t.streaming], ([e, i]) => {
|
|
4250
4250
|
if (!i) {
|
|
4251
4251
|
r !== void 0 && (cancelAnimationFrame(r), r = void 0), n.value = e;
|
|
4252
4252
|
return;
|
|
@@ -4392,7 +4392,7 @@ var Cr = [
|
|
|
4392
4392
|
return (t, n) => (k(), h("div", {
|
|
4393
4393
|
class: "chat-msg-rich break-words text-[14px] leading-relaxed @sm/chat:text-[16px] @sm/chat:leading-relaxed",
|
|
4394
4394
|
onErrorCapture: onRichTextAssetError
|
|
4395
|
-
}, [(k(!0), h(u, null,
|
|
4395
|
+
}, [(k(!0), h(u, null, j(o.value, (t) => (k(), h(u, { key: t.key }, [t.kind === "markdown" ? (k(), h("div", {
|
|
4396
4396
|
key: 0,
|
|
4397
4397
|
class: C(["chat-msg-prose", e.inverted ? "chat-msg-prose-invert" : ""]),
|
|
4398
4398
|
innerHTML: t.html
|
|
@@ -4417,7 +4417,7 @@ var Cr = [
|
|
|
4417
4417
|
}), ei = 80, ti = /* @__PURE__ */ x({
|
|
4418
4418
|
__name: "ChatScroller",
|
|
4419
4419
|
setup(e, { expose: t }) {
|
|
4420
|
-
let n =
|
|
4420
|
+
let n = A(), r = A(), i = A(!0), a;
|
|
4421
4421
|
function scrollToBottom() {
|
|
4422
4422
|
let e = n.value;
|
|
4423
4423
|
e && (e.scrollTop = e.scrollHeight);
|
|
@@ -4446,7 +4446,7 @@ var Cr = [
|
|
|
4446
4446
|
ref_key: "content",
|
|
4447
4447
|
ref: r,
|
|
4448
4448
|
class: "flex-1 flex flex-col"
|
|
4449
|
-
}, [
|
|
4449
|
+
}, [ie(e.$slots, "default")], 512)], 34));
|
|
4450
4450
|
}
|
|
4451
4451
|
}), ni = {
|
|
4452
4452
|
key: 0,
|
|
@@ -4582,48 +4582,48 @@ var Cr = [
|
|
|
4582
4582
|
}, n = f(() => {
|
|
4583
4583
|
let n = { ...t[e.scope] };
|
|
4584
4584
|
return e.scope === "org" && e.scopeName && (n.label = e.scopeName, n.tooltip = `Visible to ${e.scopeName} members`), n;
|
|
4585
|
-
}), r =
|
|
4585
|
+
}), r = A(!1), i = A(), a = A(), o = A();
|
|
4586
4586
|
function containsMarkdownLink(e) {
|
|
4587
4587
|
return e ? /\[[^\]]+\]\([^)]+\)/.test(e) : !1;
|
|
4588
4588
|
}
|
|
4589
4589
|
function isSystemExplainerMessage(e) {
|
|
4590
|
-
return e.sender === "system" && (!!e.issue || e.id ===
|
|
4590
|
+
return e.sender === "system" && (!!e.issue || e.id === Ce.value);
|
|
4591
4591
|
}
|
|
4592
4592
|
function isGroupEnd(e, t) {
|
|
4593
4593
|
let n = e[t], r = e[t + 1];
|
|
4594
4594
|
return !r || r.sender !== n.sender;
|
|
4595
4595
|
}
|
|
4596
|
-
let s = f(() => e.chatController?.textState.value), c = f(() => s.value?.isConnected ?? !1), x = f(() => s.value?.isThinking ?? !1), T = f(() => s.value?.connectionStatus === "disconnected" && !!s.value?.error), te = f(() => s.value?.connectionStatus !== "connected" && !s.value?.error),
|
|
4597
|
-
|
|
4598
|
-
if (clearTimeout(
|
|
4599
|
-
|
|
4596
|
+
let s = f(() => e.chatController?.textState.value), c = f(() => s.value?.isConnected ?? !1), x = f(() => s.value?.isThinking ?? !1), T = f(() => s.value?.connectionStatus === "disconnected" && !!s.value?.error), te = f(() => s.value?.connectionStatus !== "connected" && !s.value?.error), ae = A(!1), P;
|
|
4597
|
+
se(T, (e) => {
|
|
4598
|
+
if (clearTimeout(P), !e) {
|
|
4599
|
+
ae.value = !1;
|
|
4600
4600
|
return;
|
|
4601
4601
|
}
|
|
4602
|
-
|
|
4603
|
-
|
|
4602
|
+
P = setTimeout(() => {
|
|
4603
|
+
ae.value = !0;
|
|
4604
4604
|
}, ta);
|
|
4605
|
-
}, { immediate: !0 }), re(() => clearTimeout(
|
|
4606
|
-
let
|
|
4605
|
+
}, { immediate: !0 }), re(() => clearTimeout(P));
|
|
4606
|
+
let oe = f(() => T.value && ae.value), de = f(() => te.value || T.value && !ae.value), pe = A(!1);
|
|
4607
4607
|
async function retryConnection() {
|
|
4608
4608
|
await e.chatController?.startTextConversation();
|
|
4609
4609
|
}
|
|
4610
|
-
let
|
|
4611
|
-
for (let e =
|
|
4612
|
-
let t =
|
|
4610
|
+
let _e = f(() => e.chatController?.liveTurnBlocks?.value ?? []), ve = f(() => {
|
|
4611
|
+
for (let e = _e.value.length - 1; e >= 0; e--) {
|
|
4612
|
+
let t = _e.value[e];
|
|
4613
4613
|
if (t?.kind === "text") return t.id;
|
|
4614
4614
|
}
|
|
4615
|
-
}), ye = f(() => e.chatController?.liveStreamMessageId?.value),
|
|
4615
|
+
}), ye = f(() => e.chatController?.liveStreamMessageId?.value), B = f(() => {
|
|
4616
4616
|
let t = e.chatController?.sharedMessages.value ?? [];
|
|
4617
|
-
return
|
|
4618
|
-
}),
|
|
4617
|
+
return _e.value.length && ye.value ? t.filter((e) => e.id !== ye.value) : t;
|
|
4618
|
+
}), H = f(() => {
|
|
4619
4619
|
if (!e.chatController?.workJournal?.value) return s.value?.workingDescription?.trim() || void 0;
|
|
4620
|
-
}),
|
|
4621
|
-
if (!
|
|
4622
|
-
let e =
|
|
4620
|
+
}), be = f(() => e.chatController?.workJournal?.value), U = f(() => {
|
|
4621
|
+
if (!be.value && !_e.value.length) return;
|
|
4622
|
+
let e = B.value, t = e[e.length - 1];
|
|
4623
4623
|
if (t) return t.sender === "agent" || t.sender === "system" ? e.length >= 2 ? e[e.length - 2].id : void 0 : t.id;
|
|
4624
|
-
}),
|
|
4624
|
+
}), Se = f(() => {
|
|
4625
4625
|
let t = {};
|
|
4626
|
-
for (let n of
|
|
4626
|
+
for (let n of B.value) {
|
|
4627
4627
|
if (n.sender === "user" || !n.toolActivities?.length) continue;
|
|
4628
4628
|
let r = e.chatController?.workJournalFor?.({
|
|
4629
4629
|
activities: n.toolActivities,
|
|
@@ -4635,7 +4635,7 @@ var Cr = [
|
|
|
4635
4635
|
return t;
|
|
4636
4636
|
});
|
|
4637
4637
|
function messageWorkJournal(e) {
|
|
4638
|
-
return
|
|
4638
|
+
return Se.value[e.id];
|
|
4639
4639
|
}
|
|
4640
4640
|
function inlineOffset(e, t) {
|
|
4641
4641
|
return e.placement?.kind !== "inline" || !Number.isFinite(e.placement.offset) ? null : Math.max(0, Math.min(t.length, Math.trunc(e.placement.offset)));
|
|
@@ -4683,57 +4683,57 @@ var Cr = [
|
|
|
4683
4683
|
text: t.slice(i)
|
|
4684
4684
|
}), r;
|
|
4685
4685
|
}
|
|
4686
|
-
let
|
|
4686
|
+
let W = f(() => s.value?.transientIssue), Ce = f(() => {
|
|
4687
4687
|
if (!x.value) return;
|
|
4688
|
-
let e =
|
|
4688
|
+
let e = B.value, t = e[e.length - 1];
|
|
4689
4689
|
return t?.sender === "agent" || t?.sender === "system" ? t.id : void 0;
|
|
4690
|
-
}), we = f(() => !x.value ||
|
|
4690
|
+
}), we = f(() => !x.value || H.value || be.value || _e.value.length ? !1 : Ce.value === void 0), Te = f(() => s.value?.sendBlockedReason), Ee = f(() => !c.value || Te.value !== void 0), De = f(() => T.value ? "Agent is offline" : te.value ? "Connecting..." : Te.value === "agent_deleted" ? "This assistant was deleted" : Te.value === "account" ? "Open billing to keep chatting" : `Message ${e.agent.displayName.value || e.agent.name.value || "assistant"}`), Oe = f(() => e.chatController?.composerState?.value ?? {
|
|
4691
4691
|
text: "",
|
|
4692
4692
|
pendingAttachments: [],
|
|
4693
4693
|
isUploading: !1
|
|
4694
4694
|
}), ke = f({
|
|
4695
4695
|
get: () => Oe.value.text,
|
|
4696
4696
|
set: (t) => e.chatController?.setComposerText?.({ text: t })
|
|
4697
|
-
}), Ae = f(() => Oe.value.pendingAttachments), je = f(() => Oe.value.isUploading),
|
|
4697
|
+
}), Ae = f(() => Oe.value.pendingAttachments), je = f(() => Oe.value.isUploading), Me = f(() => e.chatController?.voiceRecorder), Ne = f(() => Me.value?.isBusy.value ?? !1), Fe = f(() => e.chatController?.canAttachFile?.value ?? !1), Ie = f(() => e.chatController?.canRecordAudio?.value ?? !1), Le = f(() => e.chatController?.composerAction?.value ?? "idle"), Re = f(() => Le.value !== "idle"), Be = f(() => Le.value === "stop" ? "Stop reply" : "Send message"), Ve = f(() => Ie.value && !Ne.value && !!Me.value?.canUseBrowserRecording), He = f(() => Me.value?.isActive.value ?? !1), Ue = f(() => Me.value?.elapsedLabel.value ?? "0:00"), We = f(() => Me.value?.statusText.value ?? "Release to send"), Ge = f(() => Me.value?.state.value.phase === "sending" ? "Sending voice message" : He.value ? "Release to send voice message" : "Hold to record voice message"), G = f(() => e.variant === "light"), Ke = f(() => G.value ? "bg-gradient-to-r from-transparent via-black/5 to-transparent" : "bg-gradient-to-r from-transparent via-white/5 to-transparent"), Je = f(() => G.value ? "text-theme-300" : "text-white/30");
|
|
4698
4698
|
ne(async () => {
|
|
4699
4699
|
e.chatController && !c.value && await e.chatController.startTextConversation();
|
|
4700
4700
|
}), re(() => {
|
|
4701
4701
|
e.chatController?.voiceRecorder?.teardown();
|
|
4702
4702
|
});
|
|
4703
4703
|
async function sendMessage() {
|
|
4704
|
-
!e.chatController ||
|
|
4704
|
+
!e.chatController || Le.value !== "send" || (a.value && (a.value.style.height = "auto", a.value.focus()), i.value?.pin(), await e.chatController.sendComposerMessage());
|
|
4705
4705
|
}
|
|
4706
4706
|
async function sendSuggestedPrompt(t) {
|
|
4707
4707
|
!e.chatController || Ee.value || (i.value?.pin(), await e.chatController.sendChatMessage(t.prompt));
|
|
4708
4708
|
}
|
|
4709
4709
|
async function handleComposerAction() {
|
|
4710
|
-
e.chatController && (
|
|
4710
|
+
e.chatController && (Le.value === "send" && i.value?.pin(), await e.chatController.handleComposerAction());
|
|
4711
4711
|
}
|
|
4712
4712
|
async function handleKeydown(e) {
|
|
4713
4713
|
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), await sendMessage());
|
|
4714
4714
|
}
|
|
4715
4715
|
function focusComposer(e) {
|
|
4716
|
-
|
|
4716
|
+
He.value || Ee.value || e.target instanceof Element && e.target.closest("button, a, textarea") || a.value?.focus();
|
|
4717
4717
|
}
|
|
4718
4718
|
function adjustTextareaHeight() {
|
|
4719
4719
|
a.value && (a.value.style.height = "auto", a.value.style.height = `${Math.min(a.value.scrollHeight, 150)}px`);
|
|
4720
4720
|
}
|
|
4721
|
-
|
|
4721
|
+
se(ke, () => S(() => adjustTextareaHeight()));
|
|
4722
4722
|
function triggerFileInput() {
|
|
4723
4723
|
o.value?.click();
|
|
4724
4724
|
}
|
|
4725
4725
|
async function handleFileSelect(t) {
|
|
4726
4726
|
let n = t.target, r = n.files?.[0];
|
|
4727
|
-
!r || !e.chatController ||
|
|
4727
|
+
!r || !e.chatController || Ne.value || (await e.chatController.attachFile({ file: r }), n.value = "");
|
|
4728
4728
|
}
|
|
4729
4729
|
function removeAttachment(t) {
|
|
4730
4730
|
e.chatController?.removeAttachment({ index: t });
|
|
4731
4731
|
}
|
|
4732
4732
|
function startRecording() {
|
|
4733
|
-
|
|
4733
|
+
Me.value?.start();
|
|
4734
4734
|
}
|
|
4735
4735
|
function finishRecording(e) {
|
|
4736
|
-
|
|
4736
|
+
Me.value?.finish(e);
|
|
4737
4737
|
}
|
|
4738
4738
|
function shouldShowTimeDivider(e, t) {
|
|
4739
4739
|
if (t === 0) {
|
|
@@ -4762,7 +4762,7 @@ var Cr = [
|
|
|
4762
4762
|
...o ? {} : { year: "numeric" }
|
|
4763
4763
|
})}, ${a}`;
|
|
4764
4764
|
}
|
|
4765
|
-
return (t, s) => (k(), h("div", { class: C(["@container/chat relative flex h-full flex-col",
|
|
4765
|
+
return (t, s) => (k(), h("div", { class: C(["@container/chat relative flex h-full flex-col", B.value.length === 0 ? "justify-center" : ""]) }, [
|
|
4766
4766
|
e.showHeader && !G.value ? (k(), h("div", ni, [b(Pe, {
|
|
4767
4767
|
agent: e.agent,
|
|
4768
4768
|
"is-online": c.value
|
|
@@ -4772,11 +4772,11 @@ var Cr = [
|
|
|
4772
4772
|
"is-light": G.value,
|
|
4773
4773
|
class: "size-10"
|
|
4774
4774
|
}, null, 8, ["agent", "is-light"]),
|
|
4775
|
-
_("div", ii, [_("div", ai,
|
|
4776
|
-
e.headerMeta ? (k(), h("span", si,
|
|
4775
|
+
_("div", ii, [_("div", ai, F(e.agent.displayName.value), 1), _("div", oi, F(e.agent.title.value || "Assistant"), 1)]),
|
|
4776
|
+
e.headerMeta ? (k(), h("span", si, F(e.headerMeta), 1)) : m("", !0)
|
|
4777
4777
|
], 2)])) : m("", !0),
|
|
4778
|
-
|
|
4779
|
-
_("p", { class: C(["text-[15px] font-semibold", G.value ? "text-theme-900" : "text-white"]) }, " Can't reach " +
|
|
4778
|
+
oe.value ? (k(), h("div", ci, [
|
|
4779
|
+
_("p", { class: C(["text-[15px] font-semibold", G.value ? "text-theme-900" : "text-white"]) }, " Can't reach " + F(e.agent?.displayName.value || "your assistant") + " right now ", 3),
|
|
4780
4780
|
_("p", { class: C(["mt-1.5 max-w-[340px] text-pretty text-[13.5px] leading-relaxed", G.value ? "text-theme-500" : "text-white/60"]) }, " Your messages are safe. This usually clears on its own. ", 2),
|
|
4781
4781
|
_("button", {
|
|
4782
4782
|
type: "button",
|
|
@@ -4784,35 +4784,35 @@ var Cr = [
|
|
|
4784
4784
|
class: C(["mt-5 cursor-pointer rounded-full px-4 py-2 text-[13.5px] font-semibold transition-colors", G.value ? "text-theme-900 ring-1 ring-theme-200 hover:bg-theme-50" : "text-white ring-1 ring-white/20 hover:bg-white/10"]),
|
|
4785
4785
|
onClick: s[0] || (s[0] = (e) => retryConnection())
|
|
4786
4786
|
}, " Try again ", 2)
|
|
4787
|
-
])) :
|
|
4787
|
+
])) : de.value ? (k(), h("div", {
|
|
4788
4788
|
key: 3,
|
|
4789
4789
|
class: C(["py-16 flex flex-col items-center justify-center gap-2 text-sm", G.value ? "text-theme-400" : "text-theme-600"])
|
|
4790
|
-
}, [b(
|
|
4790
|
+
}, [b(he, { class: "size-4" })], 2)) : e.setupHint ? (k(), h("div", {
|
|
4791
4791
|
key: 4,
|
|
4792
|
-
class: C(["flex items-center justify-center gap-1.5 py-2 text-[11px]",
|
|
4793
|
-
}, [s[
|
|
4792
|
+
class: C(["flex items-center justify-center gap-1.5 py-2 text-[11px]", Je.value])
|
|
4793
|
+
}, [s[21] || (s[21] = _("i", { class: "i-tabler-tool size-3" }, null, -1)), _("span", null, F(e.setupHint), 1)], 2)) : m("", !0),
|
|
4794
4794
|
b(ti, {
|
|
4795
4795
|
ref_key: "chatScroller",
|
|
4796
4796
|
ref: i,
|
|
4797
|
-
class: C(
|
|
4797
|
+
class: C(B.value.length === 0 ? "flex-none" : "flex-1")
|
|
4798
4798
|
}, {
|
|
4799
|
-
default:
|
|
4800
|
-
|
|
4799
|
+
default: ce(() => [_("div", { class: C([B.value.length === 0 ? "flex flex-col items-center justify-center px-3 py-4" : "pt-4 pb-[120px] px-3 space-y-2", e.centered ? "max-w-[720px] mx-auto w-full" : ""]) }, [
|
|
4800
|
+
B.value.length === 0 && !de.value && !oe.value ? (k(), h("div", li, [ie(t.$slots, "empty-heading", {
|
|
4801
4801
|
agent: e.agent,
|
|
4802
4802
|
isLight: G.value
|
|
4803
4803
|
}, () => [b(ze, {
|
|
4804
4804
|
agent: e.agent,
|
|
4805
4805
|
"is-light": G.value,
|
|
4806
4806
|
class: "mb-4 size-20 @sm/chat:size-24"
|
|
4807
|
-
}, null, 8, ["agent", "is-light"]), _("div", { class: C(["text-base @sm/chat:text-lg font-semibold", G.value ? "text-theme-900" : "text-white"]) },
|
|
4807
|
+
}, null, 8, ["agent", "is-light"]), _("div", { class: C(["text-base @sm/chat:text-lg font-semibold", G.value ? "text-theme-900" : "text-white"]) }, F(e.agent.displayName.value), 3)]), e.emptyStateMessage === "" ? m("", !0) : (k(), h(u, { key: 0 }, [_("p", { class: C(["mt-1 text-center text-xs @sm/chat:text-sm", Je.value]) }, F(e.emptyStateMessage || "Type your message to get started."), 3), _("div", {
|
|
4808
4808
|
class: C(["inline-flex items-center gap-1.5 mt-5 px-2.5 py-1 rounded-full text-[11px]", G.value ? "bg-theme-50 border border-theme-100 text-theme-400" : "bg-white/10 border border-white/20 text-white/40"]),
|
|
4809
4809
|
title: n.value.tooltip
|
|
4810
|
-
}, [_("i", { class: C([n.value.icon, "size-3"]) }, null, 2), _("span", null,
|
|
4811
|
-
(k(!0), h(u, null,
|
|
4812
|
-
shouldShowTimeDivider(
|
|
4813
|
-
_("div", { class: C(["flex-1 h-px",
|
|
4814
|
-
_("span", { class: C(["text-[10px] @sm/chat:text-[11px] font-medium shrink-0 tracking-widest uppercase",
|
|
4815
|
-
_("div", { class: C(["flex-1 h-px",
|
|
4810
|
+
}, [_("i", { class: C([n.value.icon, "size-3"]) }, null, 2), _("span", null, F(n.value.label), 1)], 10, ui)], 64))])) : m("", !0),
|
|
4811
|
+
(k(!0), h(u, null, j(B.value, (e, t) => (k(), h(u, { key: e.id }, [
|
|
4812
|
+
shouldShowTimeDivider(B.value, t) ? (k(), h("div", di, [
|
|
4813
|
+
_("div", { class: C(["flex-1 h-px", Ke.value]) }, null, 2),
|
|
4814
|
+
_("span", { class: C(["text-[10px] @sm/chat:text-[11px] font-medium shrink-0 tracking-widest uppercase", Je.value]) }, F(shouldShowTimeDivider(B.value, t)), 3),
|
|
4815
|
+
_("div", { class: C(["flex-1 h-px", Ke.value]) }, null, 2)
|
|
4816
4816
|
])) : m("", !0),
|
|
4817
4817
|
messageWorkJournal(e) ? (k(), h("div", {
|
|
4818
4818
|
key: 1,
|
|
@@ -4835,14 +4835,14 @@ var Cr = [
|
|
|
4835
4835
|
"data-issue-bucket": e.issue?.bucket,
|
|
4836
4836
|
"data-issue-action-label": e.issue?.actionLabel,
|
|
4837
4837
|
"data-issue-action-url": e.issue?.actionUrl,
|
|
4838
|
-
"data-streaming": e.id ===
|
|
4838
|
+
"data-streaming": e.id === Ce.value ? "true" : void 0,
|
|
4839
4839
|
class: "flex gap-2 items-end justify-start mb-4"
|
|
4840
4840
|
}, [_("div", mi, [_("div", { class: C(["mb-1 pl-1 text-[11px] font-medium", G.value ? "text-theme-500" : "text-white/45"]) }, " System Message ", 2), _("div", { class: C(["rounded-[20px] rounded-bl-[4px] px-4 py-2.5 border system-msg-content", G.value ? "bg-theme-25 border-theme-100 text-theme-700" : "bg-white/[0.08] border-white/10 text-white/85"]) }, [e.text ? (k(), p($r, {
|
|
4841
4841
|
key: 0,
|
|
4842
4842
|
text: e.text,
|
|
4843
4843
|
inverted: !G.value,
|
|
4844
|
-
streaming: e.id ===
|
|
4845
|
-
onClick: s[1] || (s[1] =
|
|
4844
|
+
streaming: e.id === Ce.value,
|
|
4845
|
+
onClick: s[1] || (s[1] = z(() => {}, ["stop"]))
|
|
4846
4846
|
}, null, 8, [
|
|
4847
4847
|
"text",
|
|
4848
4848
|
"inverted",
|
|
@@ -4856,8 +4856,8 @@ var Cr = [
|
|
|
4856
4856
|
href: e.issue.actionUrl,
|
|
4857
4857
|
"data-test": "messaging-system-msg-action",
|
|
4858
4858
|
class: C(["mt-2 text-[12px] font-medium inline-flex items-center gap-1", G.value ? "text-theme-900 hover:text-theme-700" : "text-white hover:text-white/80"]),
|
|
4859
|
-
onClick: s[2] || (s[2] =
|
|
4860
|
-
}, [v(
|
|
4859
|
+
onClick: s[2] || (s[2] = z(() => {}, ["stop"]))
|
|
4860
|
+
}, [v(F(e.issue.actionLabel) + " ", 1), s[22] || (s[22] = _("i", { class: "i-tabler-arrow-right size-3" }, null, -1))], 10, hi)) : m("", !0)], 2)])], 8, pi)) : e.sender === "system" ? (k(), h("div", {
|
|
4861
4861
|
key: 3,
|
|
4862
4862
|
"data-test": "messaging-system-status-msg",
|
|
4863
4863
|
"data-message-id": e.id,
|
|
@@ -4867,12 +4867,12 @@ var Cr = [
|
|
|
4867
4867
|
"data-system-kind": e.systemKind,
|
|
4868
4868
|
"data-issue-code": e.issue?.code,
|
|
4869
4869
|
"data-issue-bucket": e.issue?.bucket,
|
|
4870
|
-
"data-streaming": e.id ===
|
|
4870
|
+
"data-streaming": e.id === Ce.value ? "true" : void 0,
|
|
4871
4871
|
class: C(["flex items-start gap-2 px-3 py-2 text-[13px] leading-relaxed", G.value ? "text-theme-500" : "text-white/60"])
|
|
4872
|
-
}, [s[
|
|
4872
|
+
}, [s[23] || (s[23] = _("i", { class: "i-tabler-info-circle size-4 mt-0.5 shrink-0" }, null, -1)), b($r, {
|
|
4873
4873
|
text: e.text,
|
|
4874
4874
|
inverted: !G.value,
|
|
4875
|
-
onClick: s[3] || (s[3] =
|
|
4875
|
+
onClick: s[3] || (s[3] = z(() => {}, ["stop"]))
|
|
4876
4876
|
}, null, 8, ["text", "inverted"])], 10, gi)) : (k(), h("div", {
|
|
4877
4877
|
key: 4,
|
|
4878
4878
|
"data-test": e.sender === "agent" ? "messaging-assistant-msg" : e.sender === "user" ? "messaging-user-msg" : void 0,
|
|
@@ -4881,11 +4881,11 @@ var Cr = [
|
|
|
4881
4881
|
"data-conversation-id": e.conversationId,
|
|
4882
4882
|
"data-message-sequence": e.sequence,
|
|
4883
4883
|
"data-system-kind": e.systemKind,
|
|
4884
|
-
"data-streaming": e.id ===
|
|
4884
|
+
"data-streaming": e.id === Ce.value ? "true" : void 0,
|
|
4885
4885
|
class: C(["flex gap-2 items-end", {
|
|
4886
4886
|
"justify-end": e.sender === "user",
|
|
4887
4887
|
"justify-start": e.sender === "agent",
|
|
4888
|
-
"mb-6": isGroupEnd(
|
|
4888
|
+
"mb-6": isGroupEnd(B.value, t)
|
|
4889
4889
|
}])
|
|
4890
4890
|
}, [_("div", {
|
|
4891
4891
|
"data-test": "messaging-message-body",
|
|
@@ -4893,7 +4893,7 @@ var Cr = [
|
|
|
4893
4893
|
}, [blockAttachmentsForMessage(e).length ? (k(), h("div", {
|
|
4894
4894
|
key: 0,
|
|
4895
4895
|
class: C(["mb-1 space-y-1", e.sender === "user" ? "flex flex-col items-end" : ""])
|
|
4896
|
-
}, [(k(!0), h(u, null,
|
|
4896
|
+
}, [(k(!0), h(u, null, j(blockAttachmentsForMessage(e), ({ attachment: e, index: t }) => (k(), h(u, { key: attachmentKey(e, t) }, [e.type === "image" ? (k(), h("img", {
|
|
4897
4897
|
key: 0,
|
|
4898
4898
|
src: e.src,
|
|
4899
4899
|
alt: e.filename,
|
|
@@ -4915,15 +4915,15 @@ var Cr = [
|
|
|
4915
4915
|
"data-test": "messaging-attachment",
|
|
4916
4916
|
"data-attachment-placement": "block",
|
|
4917
4917
|
class: C(["inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs", G.value ? "bg-theme-100 text-theme-600 hover:bg-theme-200" : "bg-white/10 text-white/80 hover:bg-white/20"])
|
|
4918
|
-
}, [s[
|
|
4918
|
+
}, [s[24] || (s[24] = _("i", { class: "i-tabler-file size-3.5" }, null, -1)), v(" " + F(e.filename), 1)], 10, bi))], 64))), 128))], 2)) : m("", !0), messageRenderParts(e).length ? (k(), h("div", {
|
|
4919
4919
|
key: 1,
|
|
4920
4920
|
"data-test": "messaging-message-content",
|
|
4921
4921
|
class: C(e.sender === "user" ? G.value ? "rounded-[20px] rounded-br-[4px] px-4 py-2.5 bg-theme-900 text-theme-0 shadow-[0_1px_2px_rgba(5,15,25,0.14)]" : "rounded-[20px] rounded-br-[4px] px-4 py-2.5 bg-theme-0 text-theme-950" : G.value ? "text-theme-800" : "text-white/95")
|
|
4922
|
-
}, [(k(!0), h(u, null,
|
|
4922
|
+
}, [(k(!0), h(u, null, j(messageRenderParts(e), (t) => (k(), h(u, { key: t.key }, [t.kind === "text" && t.text ? (k(), h("div", xi, [b($r, {
|
|
4923
4923
|
text: t.text,
|
|
4924
4924
|
inverted: e.sender === "user" || !G.value,
|
|
4925
|
-
streaming: e.id ===
|
|
4926
|
-
onClick: s[4] || (s[4] =
|
|
4925
|
+
streaming: e.id === Ce.value,
|
|
4926
|
+
onClick: s[4] || (s[4] = z(() => {}, ["stop"]))
|
|
4927
4927
|
}, null, 8, [
|
|
4928
4928
|
"text",
|
|
4929
4929
|
"inverted",
|
|
@@ -4950,8 +4950,8 @@ var Cr = [
|
|
|
4950
4950
|
"data-test": "messaging-attachment",
|
|
4951
4951
|
"data-attachment-placement": t.placement,
|
|
4952
4952
|
class: C(["my-2 inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs", G.value ? "bg-theme-100 text-theme-600 hover:bg-theme-200" : "bg-white/10 text-white/80 hover:bg-white/20"])
|
|
4953
|
-
}, [s[
|
|
4954
|
-
e.id ===
|
|
4953
|
+
}, [s[25] || (s[25] = _("i", { class: "i-tabler-file size-3.5" }, null, -1)), v(" " + F(t.attachment.filename), 1)], 10, wi)) : m("", !0)], 64))), 128))], 2)) : m("", !0)], 2)], 10, _i)),
|
|
4954
|
+
e.id === U.value ? (k(), h(u, { key: 5 }, [_e.value.length ? (k(!0), h(u, { key: 0 }, j(_e.value, (e) => (k(), h(u, { key: e.id }, [e.kind === "work" ? (k(), h("div", {
|
|
4955
4955
|
key: 0,
|
|
4956
4956
|
"data-test": "messaging-tool-activity",
|
|
4957
4957
|
"data-journal-outcome": e.journal.outcome,
|
|
@@ -4967,47 +4967,47 @@ var Cr = [
|
|
|
4967
4967
|
text: e.content,
|
|
4968
4968
|
inverted: !G.value,
|
|
4969
4969
|
streaming: e.id === ve.value,
|
|
4970
|
-
onClick: s[5] || (s[5] =
|
|
4970
|
+
onClick: s[5] || (s[5] = z(() => {}, ["stop"]))
|
|
4971
4971
|
}, null, 8, [
|
|
4972
4972
|
"text",
|
|
4973
4973
|
"inverted",
|
|
4974
4974
|
"streaming"
|
|
4975
|
-
])], 2)) : (k(), h("div", Ei, [b(
|
|
4975
|
+
])], 2)) : (k(), h("div", Ei, [b(he, { class: C(["size-3.5", G.value ? "text-theme-500" : "text-white/70"]) }, null, 8, ["class"])]))], 64))), 128)) : be.value ? (k(), h("div", {
|
|
4976
4976
|
key: 1,
|
|
4977
4977
|
"data-test": "messaging-tool-activity",
|
|
4978
|
-
"data-journal-outcome":
|
|
4978
|
+
"data-journal-outcome": be.value.outcome,
|
|
4979
4979
|
class: "mb-4 w-full"
|
|
4980
4980
|
}, [b(qe, {
|
|
4981
|
-
model:
|
|
4981
|
+
model: be.value,
|
|
4982
4982
|
"is-light": G.value
|
|
4983
4983
|
}, null, 8, ["model", "is-light"])], 8, Di)) : m("", !0)], 64)) : m("", !0)
|
|
4984
4984
|
], 64))), 128)),
|
|
4985
|
-
|
|
4985
|
+
H.value ? (k(), h("div", {
|
|
4986
4986
|
key: 1,
|
|
4987
4987
|
"data-test": "messaging-working-state",
|
|
4988
|
-
"data-working-description":
|
|
4988
|
+
"data-working-description": H.value,
|
|
4989
4989
|
class: C(["flex items-center gap-1.5 pl-2 pr-3 pb-1 mb-3 text-[12px] leading-none", G.value ? "text-theme-500" : "text-white/45"])
|
|
4990
|
-
}, [s[
|
|
4990
|
+
}, [s[26] || (s[26] = _("i", {
|
|
4991
4991
|
class: "i-tabler-loader-2 size-3.5 shrink-0 animate-spin opacity-70",
|
|
4992
4992
|
"aria-hidden": "true"
|
|
4993
|
-
}, null, -1)), _("span", ki,
|
|
4994
|
-
|
|
4993
|
+
}, null, -1)), _("span", ki, F(H.value), 1)], 10, Oi)) : m("", !0),
|
|
4994
|
+
W.value ? (k(), h("div", {
|
|
4995
4995
|
key: 2,
|
|
4996
4996
|
"data-test": "messaging-transient-issue",
|
|
4997
|
-
"data-issue-code":
|
|
4997
|
+
"data-issue-code": W.value.code,
|
|
4998
4998
|
class: C(["flex items-center gap-1.5 pl-2 pr-3 pb-1 mb-3 text-[12px] leading-snug", G.value ? "text-theme-600" : "text-white/60"])
|
|
4999
4999
|
}, [
|
|
5000
|
-
s[
|
|
5000
|
+
s[27] || (s[27] = _("i", {
|
|
5001
5001
|
class: "i-tabler-alert-circle size-3.5 shrink-0 text-red-500",
|
|
5002
5002
|
"aria-hidden": "true"
|
|
5003
5003
|
}, null, -1)),
|
|
5004
|
-
_("span", null, [v(
|
|
5005
|
-
|
|
5004
|
+
_("span", null, [v(F(W.value.message), 1), W.value.help ? (k(), h(u, { key: 0 }, [v(F(W.value.help), 1)], 64)) : m("", !0)]),
|
|
5005
|
+
W.value.actionUrl && W.value.actionLabel ? (k(), h("a", {
|
|
5006
5006
|
key: 0,
|
|
5007
|
-
href:
|
|
5007
|
+
href: W.value.actionUrl,
|
|
5008
5008
|
class: "shrink-0 underline underline-offset-2",
|
|
5009
|
-
onClick: s[6] || (s[6] =
|
|
5010
|
-
},
|
|
5009
|
+
onClick: s[6] || (s[6] = z(() => {}, ["stop"]))
|
|
5010
|
+
}, F(W.value.actionLabel), 9, ji)) : m("", !0)
|
|
5011
5011
|
], 10, Ai)) : m("", !0),
|
|
5012
5012
|
we.value ? (k(), h("div", Mi, [_("i", {
|
|
5013
5013
|
class: C(["i-svg-spinners-3-dots-bounce size-7", G.value ? "text-theme-400" : "text-white/50"]),
|
|
@@ -5016,11 +5016,11 @@ var Cr = [
|
|
|
5016
5016
|
], 2)]),
|
|
5017
5017
|
_: 3
|
|
5018
5018
|
}, 8, ["class"]),
|
|
5019
|
-
_("div", { class: C(["left-0 right-0 z-30 px-5 pb-4 pt-3", [
|
|
5019
|
+
_("div", { class: C(["left-0 right-0 z-30 px-5 pb-4 pt-3", [B.value.length === 0 ? "relative shrink-0" : "absolute bottom-0", G.value ? "bg-gradient-to-t from-theme-0/90 via-theme-0/55 to-transparent" : "bg-gradient-to-t from-black/90 via-black/60 to-transparent"]]) }, [
|
|
5020
5020
|
Ae.value.length > 0 ? (k(), h("div", {
|
|
5021
5021
|
key: 0,
|
|
5022
5022
|
class: C(["flex items-center gap-2 px-2 pb-2 overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden", e.centered ? "max-w-[720px] mx-auto" : ""])
|
|
5023
|
-
}, [(k(!0), h(u, null,
|
|
5023
|
+
}, [(k(!0), h(u, null, j(Ae.value, (e, t) => (k(), h("div", {
|
|
5024
5024
|
key: t,
|
|
5025
5025
|
class: "relative shrink-0 group"
|
|
5026
5026
|
}, [e.type === "image" ? (k(), h("img", {
|
|
@@ -5031,11 +5031,11 @@ var Cr = [
|
|
|
5031
5031
|
}, null, 10, Ni)) : (k(), h("div", {
|
|
5032
5032
|
key: 1,
|
|
5033
5033
|
class: C(["h-14 px-3 rounded-xl flex items-center gap-1.5 text-xs border", G.value ? "border-black/10 bg-theme-50 text-theme-600" : "border-white/20 bg-white/10 text-white/70"])
|
|
5034
|
-
}, [s[
|
|
5034
|
+
}, [s[28] || (s[28] = _("i", { class: "i-tabler-file size-4" }, null, -1)), _("span", Pi, F(e.filename), 1)], 2)), _("button", {
|
|
5035
5035
|
class: "absolute -top-1.5 -right-1.5 size-5 flex items-center justify-center rounded-full bg-theme-800 text-white text-xs scale-0 group-hover:scale-100 transition-transform cursor-pointer",
|
|
5036
5036
|
onClick: (e) => removeAttachment(t)
|
|
5037
|
-
}, [...s[
|
|
5038
|
-
|
|
5037
|
+
}, [...s[29] || (s[29] = [_("i", { class: "i-tabler-x size-3" }, null, -1)])], 8, Fi)]))), 128)), je.value ? (k(), h("div", Ii, [b(he, { class: "size-5" })])) : m("", !0)], 2)) : m("", !0),
|
|
5038
|
+
Fe.value ? (k(), h("input", {
|
|
5039
5039
|
key: 1,
|
|
5040
5040
|
ref_key: "fileInput",
|
|
5041
5041
|
ref: o,
|
|
@@ -5046,18 +5046,18 @@ var Cr = [
|
|
|
5046
5046
|
}, null, 544)) : m("", !0),
|
|
5047
5047
|
_("div", {
|
|
5048
5048
|
"data-test": "messaging-composer",
|
|
5049
|
-
"data-composer-action":
|
|
5049
|
+
"data-composer-action": Le.value,
|
|
5050
5050
|
class: C(["w-full cursor-text rounded-2xl px-4 pb-2.5 pt-3 transition-colors duration-200", [e.centered ? "max-w-[720px] mx-auto" : "", G.value ? r.value ? "bg-white shadow-[0_1px_2px_rgba(15,23,42,0.05),0_8px_24px_rgba(15,23,42,0.05)] ring-1 ring-theme-300" : "bg-white shadow-[0_1px_2px_rgba(15,23,42,0.05),0_8px_24px_rgba(15,23,42,0.05)] ring-1 ring-theme-200 hover:ring-theme-300" : r.value ? "bg-white/15 backdrop-blur-xl ring-1 ring-white/25" : "bg-white/10 backdrop-blur-xl ring-1 ring-white/15 hover:ring-white/25"]]),
|
|
5051
5051
|
onClick: focusComposer
|
|
5052
|
-
}, [
|
|
5052
|
+
}, [He.value ? (k(), h("div", {
|
|
5053
5053
|
key: 1,
|
|
5054
5054
|
"data-test": "messaging-recording-state",
|
|
5055
5055
|
class: C(["flex min-w-0 items-center gap-2 py-1", G.value ? "text-theme-700" : "text-white/80"])
|
|
5056
5056
|
}, [
|
|
5057
|
-
s[
|
|
5058
|
-
_("span", zi,
|
|
5059
|
-
_("span", { class: C(["min-w-0 truncate text-sm", G.value ? "text-theme-400" : "text-white/45"]) },
|
|
5060
|
-
], 2)) :
|
|
5057
|
+
s[30] || (s[30] = _("span", { class: "size-2.5 shrink-0 rounded-full bg-red-500" }, null, -1)),
|
|
5058
|
+
_("span", zi, F(Ue.value), 1),
|
|
5059
|
+
_("span", { class: C(["min-w-0 truncate text-sm", G.value ? "text-theme-400" : "text-white/45"]) }, F(We.value), 3)
|
|
5060
|
+
], 2)) : R((k(), h("textarea", {
|
|
5061
5061
|
key: 0,
|
|
5062
5062
|
ref_key: "textarea",
|
|
5063
5063
|
ref: a,
|
|
@@ -5075,53 +5075,59 @@ var Cr = [
|
|
|
5075
5075
|
onKeydown: handleKeydown,
|
|
5076
5076
|
onFocus: s[8] || (s[8] = (e) => r.value = !0),
|
|
5077
5077
|
onBlur: s[9] || (s[9] = (e) => r.value = !1)
|
|
5078
|
-
}, null, 42, Ri)), [[
|
|
5078
|
+
}, null, 42, Ri)), [[I, ke.value]]), _("div", Bi, [
|
|
5079
5079
|
_("button", {
|
|
5080
5080
|
class: C(["-ml-2 flex size-8 items-center justify-center transition-opacity hover:opacity-70", [
|
|
5081
|
-
|
|
5081
|
+
Fe.value ? "cursor-pointer" : "cursor-default",
|
|
5082
5082
|
G.value ? "text-theme-500" : "text-white/50",
|
|
5083
|
-
je.value ||
|
|
5083
|
+
je.value || Ne.value ? "opacity-50 pointer-events-none" : ""
|
|
5084
5084
|
]]),
|
|
5085
|
-
disabled: Ee.value || je.value ||
|
|
5086
|
-
"aria-label":
|
|
5087
|
-
title:
|
|
5088
|
-
onClick: s[10] || (s[10] = (e) =>
|
|
5089
|
-
}, [je.value ? (k(), h("i", Hi)) : (k(), h("i", Ui)), _("span", Wi,
|
|
5090
|
-
s[
|
|
5091
|
-
_("div", Gi, [
|
|
5085
|
+
disabled: Ee.value || je.value || Ne.value || !Fe.value,
|
|
5086
|
+
"aria-label": Fe.value ? "Attach file" : "File attachments unavailable",
|
|
5087
|
+
title: Fe.value ? "Attach file" : "File attachments unavailable",
|
|
5088
|
+
onClick: s[10] || (s[10] = (e) => Fe.value && triggerFileInput())
|
|
5089
|
+
}, [je.value ? (k(), h("i", Hi)) : (k(), h("i", Ui)), _("span", Wi, F(Fe.value ? "Attach file" : "File attachments unavailable"), 1)], 10, Vi),
|
|
5090
|
+
s[31] || (s[31] = _("div", { class: "flex-1" }, null, -1)),
|
|
5091
|
+
_("div", Gi, [Ve.value || He.value ? (k(), h("button", {
|
|
5092
5092
|
key: 0,
|
|
5093
5093
|
"data-test": "messaging-record-audio-btn",
|
|
5094
|
-
class: C(["flex size-8 cursor-pointer items-center justify-center transition-[opacity,transform] duration-200 hover:opacity-70",
|
|
5095
|
-
"aria-label":
|
|
5096
|
-
title:
|
|
5097
|
-
onPointerdown: s[11] || (s[11] =
|
|
5098
|
-
onPointerup: s[12] || (s[12] =
|
|
5099
|
-
onPointercancel: s[13] || (s[13] =
|
|
5094
|
+
class: C(["flex size-8 cursor-pointer items-center justify-center transition-[opacity,transform] duration-200 hover:opacity-70", He.value ? G.value ? "text-theme-900 scale-110" : "text-white scale-110" : G.value ? "text-theme-500" : "text-white/60"]),
|
|
5095
|
+
"aria-label": Ge.value,
|
|
5096
|
+
title: Ge.value,
|
|
5097
|
+
onPointerdown: s[11] || (s[11] = z((e) => startRecording(), ["prevent"])),
|
|
5098
|
+
onPointerup: s[12] || (s[12] = z((e) => finishRecording({ cancelled: !1 }), ["prevent"])),
|
|
5099
|
+
onPointercancel: s[13] || (s[13] = z((e) => finishRecording({ cancelled: !0 }), ["prevent"])),
|
|
5100
5100
|
onKeydown: [
|
|
5101
|
-
s[14] || (s[14] =
|
|
5102
|
-
s[16] || (s[16] =
|
|
5103
|
-
s[18] || (s[18] =
|
|
5101
|
+
s[14] || (s[14] = ue(z((e) => startRecording(), ["prevent"]), ["enter"])),
|
|
5102
|
+
s[16] || (s[16] = ue(z((e) => startRecording(), ["prevent"]), ["space"])),
|
|
5103
|
+
s[18] || (s[18] = ue(z((e) => finishRecording({ cancelled: !0 }), ["prevent"]), ["escape"]))
|
|
5104
5104
|
],
|
|
5105
|
-
onKeyup: [s[15] || (s[15] =
|
|
5106
|
-
}, [_("i", { class: C([
|
|
5105
|
+
onKeyup: [s[15] || (s[15] = ue(z((e) => finishRecording({ cancelled: !1 }), ["prevent"]), ["enter"])), s[17] || (s[17] = ue(z((e) => finishRecording({ cancelled: !1 }), ["prevent"]), ["space"]))]
|
|
5106
|
+
}, [_("i", { class: C([He.value ? "i-tabler-microphone-filled" : "i-tabler-microphone", "size-[18px]"]) }, null, 2), _("span", qi, F(Ge.value), 1)], 42, Ki)) : m("", !0), He.value ? m("", !0) : (k(), h("button", {
|
|
5107
5107
|
key: 1,
|
|
5108
5108
|
"data-test": "messaging-send-btn",
|
|
5109
|
-
"data-composer-action":
|
|
5110
|
-
class: C(["flex size-8 items-center justify-center rounded-full transition-colors duration-150",
|
|
5111
|
-
disabled: !
|
|
5112
|
-
"aria-label":
|
|
5113
|
-
title:
|
|
5109
|
+
"data-composer-action": Le.value,
|
|
5110
|
+
class: C(["flex size-8 items-center justify-center rounded-full transition-colors duration-150", Re.value ? G.value ? "bg-theme-900 text-theme-0 hover:bg-theme-800 cursor-pointer" : "bg-theme-0 text-theme-950 hover:bg-theme-100 cursor-pointer" : G.value ? "bg-theme-100 text-theme-400" : "bg-white/10 text-white/30"]),
|
|
5111
|
+
disabled: !Re.value,
|
|
5112
|
+
"aria-label": Be.value,
|
|
5113
|
+
title: Be.value,
|
|
5114
5114
|
onClick: s[19] || (s[19] = (e) => handleComposerAction())
|
|
5115
|
-
}, [
|
|
5115
|
+
}, [Le.value === "stop" ? (k(), h("i", Yi)) : (k(), h("i", Xi)), _("span", Zi, F(Be.value), 1)], 10, Ji))])
|
|
5116
5116
|
])], 10, Li),
|
|
5117
|
-
|
|
5117
|
+
B.value.length === 0 && e.suggestedPrompts.length > 0 ? (k(), h("div", Qi, [_("div", $i, [(k(!0), h(u, null, j(e.suggestedPrompts, (e, t) => (k(), h("button", {
|
|
5118
5118
|
key: e.id,
|
|
5119
5119
|
type: "button",
|
|
5120
5120
|
disabled: Ee.value,
|
|
5121
5121
|
"data-test": "messaging-suggested-prompt",
|
|
5122
|
-
class: C(["w-full rounded-2xl bg-theme-50 px-4 py-3 text-left text-[14.5px] font-medium transition-colors sm:w-auto sm:rounded-full sm:py-2 sm:text-center sm:text-[14px]", Ee.value ? "cursor-not-allowed text-theme-300" : "cursor-pointer text-theme-600 hover:bg-theme-100 hover:text-theme-900"]),
|
|
5122
|
+
class: C(["w-full rounded-2xl bg-theme-50 px-4 py-3 text-left text-[14.5px] font-medium transition-colors sm:w-auto sm:rounded-full sm:py-2 sm:text-center sm:text-[14px]", [Ee.value ? "cursor-not-allowed text-theme-300" : "cursor-pointer text-theme-600 hover:bg-theme-100 hover:text-theme-900", !pe.value && t >= 3 ? "max-sm:hidden" : ""]]),
|
|
5123
5123
|
onClick: (t) => sendSuggestedPrompt(e)
|
|
5124
|
-
},
|
|
5124
|
+
}, F(e.label), 11, ea))), 128)), !pe.value && e.suggestedPrompts.length > 3 ? (k(), h("button", {
|
|
5125
|
+
key: 0,
|
|
5126
|
+
type: "button",
|
|
5127
|
+
"data-test": "messaging-suggested-prompts-more",
|
|
5128
|
+
class: "w-full cursor-pointer px-4 py-2 text-center text-[13.5px] font-medium text-theme-400 transition-colors active:text-theme-900 sm:hidden",
|
|
5129
|
+
onClick: s[20] || (s[20] = (e) => pe.value = !0)
|
|
5130
|
+
}, " More questions ")) : m("", !0)])])) : m("", !0)
|
|
5125
5131
|
], 2)
|
|
5126
5132
|
], 2));
|
|
5127
5133
|
}
|
|
@@ -5154,7 +5160,7 @@ var Cr = [
|
|
|
5154
5160
|
let r = a("AgentWrap"), i = e, o = i.sdk || t.getInstance({
|
|
5155
5161
|
isDev: typeof window < "u" ? window.location.hostname === "localhost" || window.location.hostname.includes("127.0.0.1") : !1,
|
|
5156
5162
|
...i.apiBase && { apiBase: i.apiBase }
|
|
5157
|
-
}), s =
|
|
5163
|
+
}), s = P(!i.agent), c = P(i.agent ? new n({ config: i.agent }) : void 0), u = P();
|
|
5158
5164
|
async function loadAgent() {
|
|
5159
5165
|
if (i.agent) {
|
|
5160
5166
|
r.debug("Agent provided via props, skipping fetch", {
|
|
@@ -5230,8 +5236,8 @@ var Cr = [
|
|
|
5230
5236
|
});
|
|
5231
5237
|
}
|
|
5232
5238
|
}
|
|
5233
|
-
return ne(loadAgent), (t, n) => (k(), h("div", ra, [s.value ? (k(), h("div", ia, [_("div", { class: C(["size-6 animate-spin rounded-full border-b-2", i.bare ? "border-theme-400" : "border-white"]) }, null, 2)])) : c.value ?
|
|
5234
|
-
sdk:
|
|
5239
|
+
return ne(loadAgent), (t, n) => (k(), h("div", ra, [s.value ? (k(), h("div", ia, [_("div", { class: C(["size-6 animate-spin rounded-full border-b-2", i.bare ? "border-theme-400" : "border-white"]) }, null, 2)])) : c.value ? ie(t.$slots, "default", {
|
|
5240
|
+
sdk: oe(o),
|
|
5235
5241
|
agent: c.value,
|
|
5236
5242
|
context: e.clientContext ?? e.context,
|
|
5237
5243
|
firstMessage: e.firstMessage,
|
|
@@ -5247,6 +5253,6 @@ var Cr = [
|
|
|
5247
5253
|
}
|
|
5248
5254
|
});
|
|
5249
5255
|
//#endregion
|
|
5250
|
-
export {
|
|
5256
|
+
export { Oe as a, getAgentAvatarUrl as c, AgentChatController as d, _e as f, Pe as i, handleImageError as l, he as m, na as n, Ee as o, n as p, $r as r, we as s, oa as t, parseButtonTemplate as u };
|
|
5251
5257
|
|
|
5252
5258
|
//# sourceMappingURL=AgentWrap.js.map
|