@pagelines/sdk 1.0.758 → 1.0.760
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/AgentProvider.js +251 -235
- package/dist/AgentProvider.js.map +1 -1
- package/dist/AgentWidgetModal.js +184 -29
- package/dist/AgentWidgetModal.js.map +1 -1
- package/dist/AgentWrap.js +821 -613
- package/dist/AgentWrap.js.map +1 -1
- package/dist/agent/AgentController.d.ts +82 -22
- package/dist/agent/index.d.ts +4 -2
- package/dist/agent/schema.d.ts +2 -17
- package/dist/agent/ui/AgentAvatar.vue.d.ts +2 -0
- package/dist/agent/ui/AgentChat.vue.d.ts +7 -0
- package/dist/agent/ui/AgentProvider.vue.d.ts +4 -0
- package/dist/agent/ui/ElCreateAgent.vue.d.ts +8 -0
- package/dist/agent/ui/{AgentModal.vue.d.ts → VoiceMode.vue.d.ts} +7 -10
- package/dist/agent/utils.d.ts +0 -4
- package/dist/agent/voice/provider.d.ts +28 -0
- package/dist/agent/voice/providers/elevenlabs/provider.d.ts +30 -0
- package/dist/agent/voice/providers/livekit/provider.d.ts +55 -0
- package/dist/agent/voice/voice-session-client.d.ts +49 -0
- package/dist/agent.js +168 -74
- package/dist/agent.js.map +1 -1
- package/dist/clients/ChatClient.d.ts +1 -9
- package/dist/contract.js +1756 -1664
- package/dist/contract.js.map +1 -1
- package/dist/demo/index.d.ts +4 -0
- package/dist/provider.js +40 -0
- package/dist/provider.js.map +1 -0
- package/dist/provider2.js +16451 -0
- package/dist/provider2.js.map +1 -0
- package/dist/provider3.js +18439 -0
- package/dist/provider3.js.map +1 -0
- package/dist/sdk.css +1 -1
- package/dist/sdkClient.d.ts +17 -0
- package/dist/sdkClient.js +37 -47
- package/dist/sdkClient.js.map +1 -1
- package/dist/widget/composables/useWidgetState.d.ts +12 -0
- package/dist/widget.js +23 -23
- package/package.json +3 -1
- package/dist/FModal.js +0 -165
- package/dist/FModal.js.map +0 -1
package/dist/AgentProvider.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import "./rolldown-runtime.js";
|
|
2
2
|
import { SOCIAL_PLATFORMS as e } from "./constants.js";
|
|
3
|
-
import { a as t, c as n, d as r, f as i,
|
|
4
|
-
import { getColorSchemeOklch as
|
|
5
|
-
import { Fragment as
|
|
3
|
+
import { a as t, c as n, d as r, f as i, h as a, l as o, n as s, o as c, p as l, s as u, t as d, u as f } from "./AgentWrap.js";
|
|
4
|
+
import { getColorSchemeOklch as ee } from "@pagelines/core";
|
|
5
|
+
import { Fragment as p, Transition as m, TransitionGroup as h, computed as g, createBlock as _, createCommentVNode as v, createElementBlock as y, createElementVNode as b, createSlots as x, createTextVNode as S, createVNode as C, defineComponent as w, guardReactiveProps as T, mergeProps as E, normalizeClass as D, normalizeProps as O, normalizeStyle as k, onMounted as A, onUnmounted as te, openBlock as j, ref as M, renderList as N, renderSlot as P, shallowRef as ne, toDisplayString as F, unref as I, watch as L, withCtx as R, withKeys as z, withModifiers as B } from "vue";
|
|
6
6
|
//#endregion
|
|
7
7
|
//#region ui/EffectTransitionList.vue
|
|
8
|
-
var
|
|
8
|
+
var V = /* @__PURE__ */ w({
|
|
9
9
|
__name: "EffectTransitionList",
|
|
10
10
|
props: {
|
|
11
11
|
disabled: {
|
|
@@ -15,39 +15,39 @@ var B = /* @__PURE__ */ C({
|
|
|
15
15
|
mode: { default: "block" }
|
|
16
16
|
},
|
|
17
17
|
setup(e) {
|
|
18
|
-
return (t, n) => (
|
|
19
|
-
default:
|
|
18
|
+
return (t, n) => (j(), _(h, { name: e.disabled ? "" : "nlist" }, {
|
|
19
|
+
default: R(() => [P(t.$slots, "default")]),
|
|
20
20
|
_: 3
|
|
21
21
|
}, 8, ["name"]));
|
|
22
22
|
}
|
|
23
|
-
}),
|
|
23
|
+
}), H = ["data-test-mode"], U = { class: "w-full max-w-xs space-y-12" }, W = {
|
|
24
24
|
key: 0,
|
|
25
25
|
class: "text-xs text-theme-400 text-center"
|
|
26
|
-
},
|
|
26
|
+
}, G = { class: "text-base font-light text-white text-center" }, K = { class: "space-y-6 relative" }, q = {
|
|
27
27
|
key: "email-field",
|
|
28
28
|
class: "w-full"
|
|
29
|
-
},
|
|
29
|
+
}, J = {
|
|
30
30
|
key: "code-field",
|
|
31
31
|
class: "w-full"
|
|
32
|
-
},
|
|
32
|
+
}, Y = /* @__PURE__ */ w({
|
|
33
33
|
__name: "ElAuthGate",
|
|
34
34
|
props: { sdk: {} },
|
|
35
35
|
setup(e) {
|
|
36
|
-
let
|
|
36
|
+
let t = M({
|
|
37
37
|
email: "",
|
|
38
38
|
code: ""
|
|
39
|
-
}), r =
|
|
39
|
+
}), r = M("email"), i = M(!1), a = {
|
|
40
40
|
email: {
|
|
41
41
|
title: "Enter Your Email",
|
|
42
42
|
button: {
|
|
43
43
|
label: "Continue",
|
|
44
|
-
disabled: () => !
|
|
44
|
+
disabled: () => !t.value.email || i.value
|
|
45
45
|
},
|
|
46
46
|
action: async () => {
|
|
47
47
|
if (!i.value) {
|
|
48
48
|
i.value = !0;
|
|
49
49
|
try {
|
|
50
|
-
await e.sdk.auth.requestAuthCode({ email:
|
|
50
|
+
await e.sdk.auth.requestAuthCode({ email: t.value.email }) && (r.value = "code");
|
|
51
51
|
} finally {
|
|
52
52
|
i.value = !1;
|
|
53
53
|
}
|
|
@@ -58,15 +58,15 @@ var B = /* @__PURE__ */ C({
|
|
|
58
58
|
title: "Enter Verification Code",
|
|
59
59
|
button: {
|
|
60
60
|
label: "Verify",
|
|
61
|
-
disabled: () =>
|
|
61
|
+
disabled: () => t.value.code.length !== 6 || i.value
|
|
62
62
|
},
|
|
63
63
|
action: async () => {
|
|
64
64
|
if (!i.value) {
|
|
65
65
|
i.value = !0;
|
|
66
66
|
try {
|
|
67
67
|
await e.sdk.auth.loginWithCode({
|
|
68
|
-
email:
|
|
69
|
-
code:
|
|
68
|
+
email: t.value.email,
|
|
69
|
+
code: t.value.code
|
|
70
70
|
});
|
|
71
71
|
} finally {
|
|
72
72
|
i.value = !1;
|
|
@@ -74,33 +74,33 @@ var B = /* @__PURE__ */ C({
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
}, o =
|
|
78
|
-
return
|
|
77
|
+
}, o = g(() => a[r.value]);
|
|
78
|
+
return L(() => e.sdk.activeUser.value, (e) => {
|
|
79
79
|
e && r.value === "code" && console.log("[ElAuthGate] Authentication successful", { email: e.email });
|
|
80
|
-
}), (i, a) => (
|
|
80
|
+
}), (i, a) => (j(), y("div", {
|
|
81
81
|
"data-test": "auth-form",
|
|
82
82
|
"data-test-mode": r.value,
|
|
83
83
|
class: "flex flex-col items-center justify-center h-full p-6"
|
|
84
|
-
}, [
|
|
85
|
-
e.sdk.error.value ? (
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
default:
|
|
89
|
-
modelValue:
|
|
90
|
-
"onUpdate:modelValue": a[0] || (a[0] = (e) =>
|
|
84
|
+
}, [b("div", U, [
|
|
85
|
+
e.sdk.error.value ? (j(), y("p", W, F(e.sdk.error.value), 1)) : v("", !0),
|
|
86
|
+
b("h3", G, F(o.value.title), 1),
|
|
87
|
+
b("div", K, [C(V, null, {
|
|
88
|
+
default: R(() => [r.value === "email" ? (j(), y("div", q, [C(u, {
|
|
89
|
+
modelValue: t.value.email,
|
|
90
|
+
"onUpdate:modelValue": a[0] || (a[0] = (e) => t.value.email = e),
|
|
91
91
|
"data-test": "auth-email-input",
|
|
92
|
-
onKeyup:
|
|
93
|
-
}, null, 8, ["modelValue", "onKeyup"])])) : (
|
|
94
|
-
modelValue:
|
|
95
|
-
"onUpdate:modelValue": a[1] || (a[1] = (e) =>
|
|
92
|
+
onKeyup: z(o.value.action, ["enter"])
|
|
93
|
+
}, null, 8, ["modelValue", "onKeyup"])])) : (j(), y("div", J, [C(c, {
|
|
94
|
+
modelValue: t.value.code,
|
|
95
|
+
"onUpdate:modelValue": a[1] || (a[1] = (e) => t.value.code = e),
|
|
96
96
|
length: 6,
|
|
97
97
|
"focus-first": !0,
|
|
98
98
|
"data-test": "auth-code-input",
|
|
99
99
|
onAutoSubmit: o.value.action
|
|
100
|
-
}, null, 8, ["modelValue", "onAutoSubmit"])])), (
|
|
100
|
+
}, null, 8, ["modelValue", "onAutoSubmit"])])), (j(), y("div", {
|
|
101
101
|
key: o.value.button.label,
|
|
102
102
|
class: "space-y-4 w-full"
|
|
103
|
-
}, [
|
|
103
|
+
}, [C(n, {
|
|
104
104
|
theme: "primary",
|
|
105
105
|
size: "md",
|
|
106
106
|
class: "w-full",
|
|
@@ -109,22 +109,22 @@ var B = /* @__PURE__ */ C({
|
|
|
109
109
|
disabled: o.value.button.disabled() || e.sdk.loading.value,
|
|
110
110
|
onClick: o.value.action
|
|
111
111
|
}, {
|
|
112
|
-
default:
|
|
112
|
+
default: R(() => [S(F(o.value.button.label), 1)]),
|
|
113
113
|
_: 1
|
|
114
114
|
}, 8, [
|
|
115
115
|
"loading",
|
|
116
116
|
"disabled",
|
|
117
117
|
"onClick"
|
|
118
|
-
]), r.value === "code" ? (
|
|
118
|
+
]), r.value === "code" ? (j(), y("button", {
|
|
119
119
|
key: 0,
|
|
120
120
|
class: "w-full text-xs text-white/50 hover:text-white/70 transition-colors py-2",
|
|
121
121
|
onClick: a[2] || (a[2] = (e) => r.value = "email")
|
|
122
|
-
}, " Change Email ")) :
|
|
122
|
+
}, " Change Email ")) : v("", !0)]))]),
|
|
123
123
|
_: 1
|
|
124
124
|
})])
|
|
125
|
-
])], 8,
|
|
125
|
+
])], 8, H));
|
|
126
126
|
}
|
|
127
|
-
}),
|
|
127
|
+
}), re = { class: "flex-1 flex flex-col min-h-0 py-6 space-y-6 h-full overflow-scroll [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden relative" }, X = { class: "flex-1 space-y-6 pb-12" }, ie = {
|
|
128
128
|
key: 0,
|
|
129
129
|
class: "text-sm bg-white/10 backdrop-blur-sm rounded-2xl p-4 border border-white/20 space-y-3"
|
|
130
130
|
}, ae = ["innerHTML"], oe = {
|
|
@@ -136,7 +136,7 @@ var B = /* @__PURE__ */ C({
|
|
|
136
136
|
}, le = ["href"], ue = {
|
|
137
137
|
key: 3,
|
|
138
138
|
class: "space-y-3"
|
|
139
|
-
}, de = { class: "grid grid-cols-2 gap-3" }, fe = ["href"], pe = /* @__PURE__ */
|
|
139
|
+
}, de = { class: "grid grid-cols-2 gap-3" }, fe = ["href"], pe = /* @__PURE__ */ w({
|
|
140
140
|
__name: "ElAgentAbout",
|
|
141
141
|
props: {
|
|
142
142
|
agent: {},
|
|
@@ -145,35 +145,35 @@ var B = /* @__PURE__ */ C({
|
|
|
145
145
|
default: !1
|
|
146
146
|
}
|
|
147
147
|
},
|
|
148
|
-
setup(
|
|
149
|
-
return (
|
|
150
|
-
agent:
|
|
151
|
-
"is-online":
|
|
152
|
-
}, null, 8, ["agent", "is-online"]),
|
|
153
|
-
|
|
148
|
+
setup(n) {
|
|
149
|
+
return (r, i) => (j(), y("div", re, [C(t, {
|
|
150
|
+
agent: n.agent,
|
|
151
|
+
"is-online": n.isOnline
|
|
152
|
+
}, null, 8, ["agent", "is-online"]), b("div", X, [
|
|
153
|
+
n.agent.summary.value ? (j(), y("div", ie, [i[0] || (i[0] = b("h3", { class: "font-medium text-white/50" }, " About ", -1)), b("div", {
|
|
154
154
|
class: "text-white/70 leading-relaxed",
|
|
155
|
-
innerHTML:
|
|
156
|
-
}, null, 8, ae)])) :
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
href: `mailto:${
|
|
155
|
+
innerHTML: n.agent.summary.value
|
|
156
|
+
}, null, 8, ae)])) : v("", !0),
|
|
157
|
+
n.agent.entityType.value === "company" ? (j(), y("div", oe, [i[1] || (i[1] = b("h3", { class: "text-sm font-medium text-white/90 mb-2" }, " Company Info ", -1)), b("p", se, " This is a company agent representing " + F(n.agent.name.value) + ". ", 1)])) : v("", !0),
|
|
158
|
+
n.agent.email.value ? (j(), y("div", ce, [i[3] || (i[3] = b("h3", { class: "text-sm font-medium text-white/90" }, " Contact ", -1)), b("a", {
|
|
159
|
+
href: `mailto:${n.agent.email.value}`,
|
|
160
160
|
target: "_blank",
|
|
161
161
|
rel: "noopener noreferrer",
|
|
162
162
|
class: "relative inline-flex items-center justify-center gap-2 rounded-full px-4 py-2 font-medium transition-colors duration-200 focus:outline-none active:opacity-80 cursor-pointer bg-white/5 hover:bg-white/10 border border-white/10 text-white/80 text-sm justify-start h-10 w-full"
|
|
163
|
-
}, [...
|
|
164
|
-
|
|
163
|
+
}, [...i[2] || (i[2] = [b("span", { class: "i-heroicons-envelope flex items-center size-[1.1em] mt-[-.07em]" }, null, -1), S(" Email ", -1)])], 8, le)])) : v("", !0),
|
|
164
|
+
n.agent.accounts.value && n.agent.accounts.value.length > 0 ? (j(), y("div", ue, [i[4] || (i[4] = b("h3", { class: "text-sm font-medium text-white/90" }, " Links ", -1)), b("div", de, [(j(!0), y(p, null, N(n.agent.accounts.value, (t) => (j(), y("a", {
|
|
165
165
|
key: `${t.platform}-${t.handle}`,
|
|
166
|
-
href:
|
|
166
|
+
href: I(e)[t.platform].getUrl(t.handle),
|
|
167
167
|
target: "_blank",
|
|
168
168
|
rel: "noopener noreferrer",
|
|
169
169
|
class: "relative inline-flex items-center justify-center gap-2 rounded-full px-4 py-2 font-medium transition-colors duration-200 focus:outline-none active:opacity-80 cursor-pointer bg-white/10 hover:bg-white/20 border border-white/20 text-white/80 text-sm"
|
|
170
|
-
}, [
|
|
170
|
+
}, [b("span", { class: D(["flex items-center size-[1.1em] mt-[-.07em]", I(e)[t.platform].icon]) }, null, 2), S(" " + F(I(e)[t.platform].label), 1)], 8, fe))), 128))])])) : v("", !0)
|
|
171
171
|
])]));
|
|
172
172
|
}
|
|
173
173
|
}), me = { class: "flex flex-col items-center text-center gap-4" }, he = { class: "relative flex-shrink-0" }, ge = { class: "w-20 h-20 sm:w-24 sm:h-24 rounded-full overflow-hidden border-4 border-white" }, _e = ["src", "alt"], ve = { class: "absolute top-1.5 right-1.5" }, ye = {
|
|
174
174
|
key: 1,
|
|
175
175
|
class: "size-4 bg-theme-400 rounded-full ring-2 ring-white"
|
|
176
|
-
}, be = { class: "min-w-0" }, xe = { class: "text-3xl font-light text-white mb-2 truncate" }, Se = { class: "text-base font-light text-white/60 line-clamp-1" }, Ce = /* @__PURE__ */
|
|
176
|
+
}, be = { class: "min-w-0" }, xe = { class: "text-3xl font-light text-white mb-2 truncate" }, Se = { class: "text-base font-light text-white/60 line-clamp-1" }, Ce = /* @__PURE__ */ w({
|
|
177
177
|
__name: "ElAgentHeader",
|
|
178
178
|
props: {
|
|
179
179
|
agent: {},
|
|
@@ -183,37 +183,37 @@ var B = /* @__PURE__ */ C({
|
|
|
183
183
|
}
|
|
184
184
|
},
|
|
185
185
|
setup(e) {
|
|
186
|
-
return (t, n) => (
|
|
186
|
+
return (t, n) => (j(), y("div", me, [b("div", he, [b("div", ge, [b("img", {
|
|
187
187
|
src: e.agent.avatarUrl.value,
|
|
188
188
|
alt: e.agent.displayName.value,
|
|
189
189
|
class: "w-full h-full object-cover",
|
|
190
|
-
onError: n[0] || (n[0] = (...e) =>
|
|
191
|
-
}, null, 40, _e)]),
|
|
190
|
+
onError: n[0] || (n[0] = (...e) => I(f) && I(f)(...e))
|
|
191
|
+
}, null, 40, _e)]), b("div", ve, [e.isOnline ? (j(), y(p, { key: 0 }, [n[1] || (n[1] = b("div", {
|
|
192
192
|
class: "size-4 bg-green-500 rounded-full ring-2 ring-white absolute animate-ping",
|
|
193
193
|
style: { "animation-duration": "3s" }
|
|
194
|
-
}, null, -1)), n[2] || (n[2] =
|
|
194
|
+
}, null, -1)), n[2] || (n[2] = b("div", { class: "size-4 bg-green-500 rounded-full ring-2 ring-white" }, null, -1))], 64)) : (j(), y("div", ye))])]), b("div", be, [b("h1", xe, F(e.agent.displayName.value), 1), b("p", Se, F(e.agent.title.value), 1)])]));
|
|
195
195
|
}
|
|
196
|
-
}), we = { class: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[28px] h-[28px] overflow-hidden" }, Te = /* @__PURE__ */
|
|
196
|
+
}), we = { class: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[28px] h-[28px] overflow-hidden" }, Te = /* @__PURE__ */ w({
|
|
197
197
|
name: "SelfSidebarClose",
|
|
198
198
|
__name: "AgentSidebarClose",
|
|
199
199
|
emits: ["click"],
|
|
200
200
|
setup(e) {
|
|
201
|
-
let t =
|
|
202
|
-
return
|
|
201
|
+
let t = M(!1);
|
|
202
|
+
return A(() => {
|
|
203
203
|
setTimeout(() => {
|
|
204
204
|
t.value = !0;
|
|
205
205
|
}, 100);
|
|
206
|
-
}), (e, n) => (
|
|
206
|
+
}), (e, n) => (j(), y("a", {
|
|
207
207
|
class: "close block cursor-pointer w-[60px] h-[60px] rounded-full transition-all duration-1000 ease-[cubic-bezier(0.25,1,0.33,1)] hover:scale-110 active:scale-90 hover:rotate-90",
|
|
208
208
|
onClick: n[0] || (n[0] = (t) => e.$emit("click", t))
|
|
209
|
-
}, [n[1] || (n[1] =
|
|
210
|
-
class:
|
|
209
|
+
}, [n[1] || (n[1] = b("span", { class: "absolute inset-0 rounded-full transition-all" }, null, -1)), b("span", we, [b("span", {
|
|
210
|
+
class: D(["absolute h-full w-[3px] rounded-[5px] left-[13px] transition-all duration-[400ms] ease-[cubic-bezier(0.52,0.01,0.16,1)]", t.value ? "translate-y-0 translate-x-0 rotate-45" : "translate-y-[30px] -translate-x-[30px] rotate-0"]),
|
|
211
211
|
style: {
|
|
212
212
|
"background-color": "currentColor",
|
|
213
213
|
"transition-delay": "0.15s"
|
|
214
214
|
}
|
|
215
|
-
}, null, 2),
|
|
216
|
-
class:
|
|
215
|
+
}, null, 2), b("span", {
|
|
216
|
+
class: D(["absolute h-full w-[3px] rounded-[5px] left-[13px] transition-all duration-[400ms] ease-[cubic-bezier(0.52,0.01,0.16,1)]", t.value ? "translate-y-0 translate-x-0 -rotate-45" : "-translate-y-[30px] -translate-x-[30px] rotate-0"]),
|
|
217
217
|
style: {
|
|
218
218
|
"background-color": "currentColor",
|
|
219
219
|
"transition-delay": "0.45s"
|
|
@@ -229,7 +229,7 @@ var B = /* @__PURE__ */ C({
|
|
|
229
229
|
}, ke = ["disabled", "onClick"], Ae = { class: "flex items-center gap-3" }, je = { class: "flex-1" }, Me = {
|
|
230
230
|
key: 0,
|
|
231
231
|
class: "text-xs text-white/50 mt-0.5"
|
|
232
|
-
}, Ne = { class: "p-6" }, Z = /* @__PURE__ */
|
|
232
|
+
}, Ne = { class: "p-6" }, Z = /* @__PURE__ */ w({
|
|
233
233
|
name: "ElSidebar",
|
|
234
234
|
inheritAttrs: !1,
|
|
235
235
|
__name: "ElSidebar",
|
|
@@ -242,17 +242,17 @@ var B = /* @__PURE__ */ C({
|
|
|
242
242
|
},
|
|
243
243
|
emits: ["update:modelValue"],
|
|
244
244
|
setup(e, { emit: t }) {
|
|
245
|
-
let n = e, r = t, i = n.position || "left", a = n.widthClasses || "w-[80%] max-w-[300px]", o =
|
|
245
|
+
let n = e, r = t, i = n.position || "left", a = n.widthClasses || "w-[80%] max-w-[300px]", o = g({
|
|
246
246
|
get: () => n.modelValue,
|
|
247
247
|
set: (e) => r("update:modelValue", e)
|
|
248
|
-
}), s =
|
|
248
|
+
}), s = g(() => n.items.filter((e) => !e.isHidden));
|
|
249
249
|
function handleItemClick(e) {
|
|
250
250
|
e.isDisabled || (e.onClick ? e.onClick({
|
|
251
251
|
item: e,
|
|
252
252
|
event: new MouseEvent("click")
|
|
253
253
|
}) : e.href && (e.href.includes("http") ? window.open(e.href, e.target || "_self")?.focus() : window.location.href = e.href), o.value = !1);
|
|
254
254
|
}
|
|
255
|
-
let c =
|
|
255
|
+
let c = g(() => i === "left" ? {
|
|
256
256
|
enter: "-translate-x-full",
|
|
257
257
|
leave: "-translate-x-full",
|
|
258
258
|
position: "justify-start",
|
|
@@ -263,7 +263,7 @@ var B = /* @__PURE__ */ C({
|
|
|
263
263
|
position: "justify-end",
|
|
264
264
|
closeButton: "-left-16"
|
|
265
265
|
});
|
|
266
|
-
return (t, n) => (
|
|
266
|
+
return (t, n) => (j(), y(p, null, [C(m, {
|
|
267
267
|
"enter-active-class": "transition-opacity duration-300 ease-out",
|
|
268
268
|
"leave-active-class": "transition-opacity duration-200 ease-in",
|
|
269
269
|
"enter-from-class": "opacity-0",
|
|
@@ -271,13 +271,13 @@ var B = /* @__PURE__ */ C({
|
|
|
271
271
|
"leave-from-class": "opacity-100",
|
|
272
272
|
"leave-to-class": "opacity-0"
|
|
273
273
|
}, {
|
|
274
|
-
default:
|
|
274
|
+
default: R(() => [o.value ? (j(), y("div", {
|
|
275
275
|
key: 0,
|
|
276
276
|
class: "absolute inset-0 z-40 bg-black/50 backdrop-blur-sm",
|
|
277
277
|
onClick: n[0] || (n[0] = (e) => o.value = !1)
|
|
278
|
-
})) :
|
|
278
|
+
})) : v("", !0)]),
|
|
279
279
|
_: 1
|
|
280
|
-
}),
|
|
280
|
+
}), C(m, {
|
|
281
281
|
"enter-active-class": "transition-all duration-500 ease-[cubic-bezier(0.25,1,0.33,1)]",
|
|
282
282
|
"leave-active-class": "transition-all duration-400 ease-[cubic-bezier(0.25,1,0.33,1)]",
|
|
283
283
|
"enter-from-class": c.value.enter,
|
|
@@ -285,49 +285,49 @@ var B = /* @__PURE__ */ C({
|
|
|
285
285
|
"leave-from-class": "translate-x-0",
|
|
286
286
|
"leave-to-class": c.value.leave
|
|
287
287
|
}, {
|
|
288
|
-
default:
|
|
288
|
+
default: R(() => [o.value ? (j(), y("div", {
|
|
289
289
|
key: 0,
|
|
290
|
-
class:
|
|
290
|
+
class: D(["absolute inset-0 z-50 flex", c.value.position]),
|
|
291
291
|
onClick: n[3] || (n[3] = (e) => o.value = !1)
|
|
292
|
-
}, [
|
|
293
|
-
class:
|
|
294
|
-
onClick: n[2] || (n[2] =
|
|
292
|
+
}, [b("div", {
|
|
293
|
+
class: D(["relative h-full shadow-2xl bg-black/30 backdrop-blur-xl flex flex-col justify-center", I(a)]),
|
|
294
|
+
onClick: n[2] || (n[2] = B(() => {}, ["stop"]))
|
|
295
295
|
}, [
|
|
296
|
-
|
|
297
|
-
class:
|
|
296
|
+
C(Te, {
|
|
297
|
+
class: D(["absolute top-4 z-10 text-white", c.value.closeButton]),
|
|
298
298
|
onClick: n[1] || (n[1] = (e) => o.value = !1)
|
|
299
299
|
}, null, 8, ["class"]),
|
|
300
|
-
e.title ? (
|
|
301
|
-
t.$slots.header ? (
|
|
302
|
-
|
|
300
|
+
e.title ? (j(), y("div", Ee, [b("h3", De, F(e.title), 1)])) : v("", !0),
|
|
301
|
+
t.$slots.header ? (j(), y("div", Oe, [P(t.$slots, "header")])) : v("", !0),
|
|
302
|
+
b("div", { class: D(["flex-1 p-6 space-y-2 overflow-y-auto", {
|
|
303
303
|
"pt-6": !e.title && !t.$slots.header,
|
|
304
304
|
"pt-4": e.title || t.$slots.header
|
|
305
|
-
}]) }, [
|
|
305
|
+
}]) }, [C(h, {
|
|
306
306
|
"enter-active-class": "transition-all duration-400 ease-[cubic-bezier(0.25,1,0.33,1)]",
|
|
307
307
|
"leave-active-class": "transition-all duration-200 ease-[cubic-bezier(0.25,1,0.33,1)]",
|
|
308
|
-
"enter-from-class":
|
|
308
|
+
"enter-from-class": I(i) === "left" ? "-translate-x-4 opacity-0" : "translate-x-4 opacity-0",
|
|
309
309
|
"enter-to-class": "translate-x-0 opacity-100",
|
|
310
310
|
"leave-from-class": "translate-x-0 opacity-100",
|
|
311
|
-
"leave-to-class":
|
|
311
|
+
"leave-to-class": I(i) === "left" ? "-translate-x-4 opacity-0" : "translate-x-4 opacity-0"
|
|
312
312
|
}, {
|
|
313
|
-
default:
|
|
313
|
+
default: R(() => [(j(!0), y(p, null, N(s.value, (e, t) => (j(), y("button", {
|
|
314
314
|
key: e.key || e.label || t,
|
|
315
|
-
style:
|
|
316
|
-
class:
|
|
315
|
+
style: k({ transitionDelay: `${t * 40}ms` }),
|
|
316
|
+
class: D(["cursor-pointer w-full text-left p-3 rounded-xl transition-all duration-200 ease-[cubic-bezier(0.25,1,0.33,1)] group", [e.isActive ? "bg-primary-500/20 border border-primary-500/40" : "hover:bg-white/10", e.isDisabled && "opacity-50 cursor-not-allowed"]]),
|
|
317
317
|
disabled: e.isDisabled,
|
|
318
318
|
onClick: (t) => handleItemClick(e)
|
|
319
|
-
}, [
|
|
319
|
+
}, [b("div", Ae, [e.icon?.src ? (j(), y("i", {
|
|
320
320
|
key: 0,
|
|
321
|
-
class:
|
|
322
|
-
}, null, 2)) :
|
|
321
|
+
class: D(["size-5 flex-shrink-0 transition-transform duration-200 ease-[cubic-bezier(0.25,1,0.33,1)] group-hover:scale-110", [e.icon.src, e.isActive ? "text-primary-400" : "text-white/70 group-hover:text-white"]])
|
|
322
|
+
}, null, 2)) : v("", !0), b("div", je, [b("div", { class: D(["font-medium text-sm", e.isActive ? "text-primary-300" : "text-white"]) }, F(e.label), 3), e.subLabel ? (j(), y("div", Me, F(e.subLabel), 1)) : v("", !0)])])], 14, ke))), 128))]),
|
|
323
323
|
_: 1
|
|
324
324
|
}, 8, ["enter-from-class", "leave-to-class"])], 2),
|
|
325
|
-
|
|
326
|
-
], 2)], 2)) :
|
|
325
|
+
b("div", Ne, [P(t.$slots, "footer")])
|
|
326
|
+
], 2)], 2)) : v("", !0)]),
|
|
327
327
|
_: 3
|
|
328
328
|
}, 8, ["enter-from-class", "leave-to-class"])], 64));
|
|
329
329
|
}
|
|
330
|
-
}), Pe = /* @__PURE__ */
|
|
330
|
+
}), Pe = /* @__PURE__ */ w({
|
|
331
331
|
name: "AgentModeSidebar",
|
|
332
332
|
__name: "ElAgentModeSidebar",
|
|
333
333
|
props: {
|
|
@@ -336,28 +336,28 @@ var B = /* @__PURE__ */ C({
|
|
|
336
336
|
},
|
|
337
337
|
emits: ["update:modelValue"],
|
|
338
338
|
setup(e, { emit: t }) {
|
|
339
|
-
let n = e, r = t,
|
|
339
|
+
let n = e, r = t, i = g({
|
|
340
340
|
get: () => n.modelValue,
|
|
341
341
|
set: (e) => r("update:modelValue", e)
|
|
342
|
-
}),
|
|
342
|
+
}), a = g(() => n.chatController?.agentMode?.value ?? "self"), o = g(() => l.map((e) => ({
|
|
343
343
|
key: e.mode,
|
|
344
344
|
icon: { src: e.icon },
|
|
345
345
|
label: e.label,
|
|
346
|
-
isActive:
|
|
346
|
+
isActive: a.value === e.mode,
|
|
347
347
|
onClick: () => {
|
|
348
348
|
n.chatController?.setMode(e.mode);
|
|
349
349
|
}
|
|
350
350
|
})));
|
|
351
|
-
return (e, t) => (
|
|
352
|
-
modelValue:
|
|
353
|
-
"onUpdate:modelValue": t[0] || (t[0] = (e) =>
|
|
354
|
-
items:
|
|
351
|
+
return (e, t) => (j(), _(Z, {
|
|
352
|
+
modelValue: i.value,
|
|
353
|
+
"onUpdate:modelValue": t[0] || (t[0] = (e) => i.value = e),
|
|
354
|
+
items: o.value,
|
|
355
355
|
position: "right",
|
|
356
356
|
title: "Mode",
|
|
357
357
|
"width-classes": "w-[80%] max-w-[255px]"
|
|
358
358
|
}, null, 8, ["modelValue", "items"]));
|
|
359
359
|
}
|
|
360
|
-
}), Fe = /* @__PURE__ */
|
|
360
|
+
}), Fe = /* @__PURE__ */ w({
|
|
361
361
|
name: "AgentSidebar",
|
|
362
362
|
__name: "ElAgentSidebar",
|
|
363
363
|
props: {
|
|
@@ -368,10 +368,10 @@ var B = /* @__PURE__ */ C({
|
|
|
368
368
|
},
|
|
369
369
|
emits: ["update:modelValue"],
|
|
370
370
|
setup(e, { emit: t }) {
|
|
371
|
-
let n = e, r = t, i =
|
|
371
|
+
let n = e, r = t, i = g({
|
|
372
372
|
get: () => n.modelValue,
|
|
373
373
|
set: (e) => r("update:modelValue", e)
|
|
374
|
-
}), a =
|
|
374
|
+
}), a = g(() => {
|
|
375
375
|
let e = [
|
|
376
376
|
{
|
|
377
377
|
key: "share",
|
|
@@ -410,7 +410,7 @@ var B = /* @__PURE__ */ C({
|
|
|
410
410
|
}
|
|
411
411
|
}), e;
|
|
412
412
|
});
|
|
413
|
-
return (t, n) => (
|
|
413
|
+
return (t, n) => (j(), _(Z, {
|
|
414
414
|
modelValue: i.value,
|
|
415
415
|
"onUpdate:modelValue": n[0] || (n[0] = (e) => i.value = e),
|
|
416
416
|
items: a.value,
|
|
@@ -452,7 +452,7 @@ var B = /* @__PURE__ */ C({
|
|
|
452
452
|
}, Qe = { class: "text-center max-w-md space-y-4" }, $e = { class: "text-sm text-white/70 leading-relaxed" }, et = {
|
|
453
453
|
key: 3,
|
|
454
454
|
class: "bg-white/10 backdrop-blur-sm text-white/70 flex items-center justify-center h-full"
|
|
455
|
-
}, $ = /* @__PURE__ */
|
|
455
|
+
}, $ = /* @__PURE__ */ w({
|
|
456
456
|
__name: "AgentChat",
|
|
457
457
|
props: {
|
|
458
458
|
sdk: {},
|
|
@@ -487,19 +487,28 @@ var B = /* @__PURE__ */ C({
|
|
|
487
487
|
default: !1
|
|
488
488
|
},
|
|
489
489
|
emptyStateMessage: {},
|
|
490
|
-
suggestedPrompts: { default: () => [] }
|
|
490
|
+
suggestedPrompts: { default: () => [] },
|
|
491
|
+
createVoiceClientFn: { type: Function }
|
|
491
492
|
},
|
|
492
|
-
emits: [
|
|
493
|
-
|
|
494
|
-
|
|
493
|
+
emits: [
|
|
494
|
+
"close",
|
|
495
|
+
"error",
|
|
496
|
+
"turnStarted",
|
|
497
|
+
"turnCompleted"
|
|
498
|
+
],
|
|
499
|
+
setup(c, { emit: u }) {
|
|
500
|
+
let d = u, f = ne(), m = M(!1), h = M(!1), w = M(), E = M(), z = g(() => f.value?.agentMode?.value ?? "self"), V = g(() => f.value?.textState.value.isConnected ?? !1), H = g(() => c.sdk.activeUser.value !== void 0), U = g(() => l.find((e) => e.mode === z.value));
|
|
495
501
|
function createChatController() {
|
|
496
|
-
|
|
502
|
+
f.value && f.value.destroy();
|
|
497
503
|
try {
|
|
498
|
-
|
|
499
|
-
sdk:
|
|
500
|
-
agent:
|
|
501
|
-
context:
|
|
502
|
-
firstMessage:
|
|
504
|
+
f.value = new i({
|
|
505
|
+
sdk: c.sdk,
|
|
506
|
+
agent: c.agent,
|
|
507
|
+
context: c.context,
|
|
508
|
+
firstMessage: c.firstMessage,
|
|
509
|
+
...c.createVoiceClientFn ? { createVoiceClientFn: c.createVoiceClientFn } : {},
|
|
510
|
+
onTurnStarted: () => d("turnStarted"),
|
|
511
|
+
onTurnCompleted: (e) => d("turnCompleted", e)
|
|
503
512
|
});
|
|
504
513
|
} catch (e) {
|
|
505
514
|
throw console.error("AgentChatController creation failed:", e), e;
|
|
@@ -509,105 +518,105 @@ var B = /* @__PURE__ */ C({
|
|
|
509
518
|
createChatController();
|
|
510
519
|
} catch (e) {
|
|
511
520
|
let t = e instanceof Error ? e.message : "Couldn't initialize your assistant";
|
|
512
|
-
|
|
521
|
+
w.value = t, d("error", t);
|
|
513
522
|
}
|
|
514
523
|
function applyTheme(e) {
|
|
515
|
-
if (!
|
|
516
|
-
let t =
|
|
524
|
+
if (!E.value) return;
|
|
525
|
+
let t = ee(e);
|
|
517
526
|
Object.entries(t).forEach(([e, t]) => {
|
|
518
|
-
|
|
527
|
+
E.value.style.setProperty(`--primary-${e}`, t);
|
|
519
528
|
});
|
|
520
529
|
}
|
|
521
|
-
|
|
530
|
+
A(() => {
|
|
522
531
|
try {
|
|
523
|
-
applyTheme(
|
|
532
|
+
applyTheme(c.theme), c.chatOnly && f.value && f.value.setMode("chat");
|
|
524
533
|
} catch (e) {
|
|
525
534
|
let t = e instanceof Error ? e.message : "Couldn't initialize your assistant";
|
|
526
|
-
|
|
535
|
+
w.value = t, d("error", t);
|
|
527
536
|
}
|
|
528
|
-
}),
|
|
529
|
-
|
|
530
|
-
}),
|
|
537
|
+
}), te(() => {
|
|
538
|
+
f.value && f.value.destroy();
|
|
539
|
+
}), L(() => c.theme, (e) => {
|
|
531
540
|
applyTheme(e);
|
|
532
|
-
}),
|
|
533
|
-
t && !e &&
|
|
541
|
+
}), L(() => c.sdk.activeUser.value, (e, t) => {
|
|
542
|
+
t && !e && f.value && f.value.setMode("self");
|
|
534
543
|
});
|
|
535
|
-
let
|
|
536
|
-
let e = [
|
|
537
|
-
return
|
|
538
|
-
}),
|
|
544
|
+
let W = g(() => !!(c.agent.cover.value?.src && c.agent.cover.value?.quality === "low") || !!(c.agent.avatar.value?.src && c.agent.avatar.value?.quality === "low")), G = g(() => {
|
|
545
|
+
let e = [W.value ? "backdrop-blur-sm" : ""];
|
|
546
|
+
return W.value && z.value === "self" ? e.push("from-black/80 via-black/60 to-black/80") : z.value === "self" ? e.push("from-black/70 via-black/50 to-black/80") : e.push("from-black/90 via-black/90 to-black/100"), e.join(" ");
|
|
547
|
+
}), K = {
|
|
539
548
|
phone: "i-heroicons-phone",
|
|
540
549
|
calendar: "i-heroicons-calendar",
|
|
541
550
|
question: "i-heroicons-question-mark-circle",
|
|
542
551
|
message: "i-heroicons-chat-bubble-left-right",
|
|
543
552
|
sparkles: "i-heroicons-sparkles"
|
|
544
|
-
},
|
|
545
|
-
template:
|
|
546
|
-
agent:
|
|
547
|
-
})),
|
|
548
|
-
return (r, i) => (
|
|
553
|
+
}, q = g(() => r({
|
|
554
|
+
template: c.buttonText || "Talk to {name}",
|
|
555
|
+
agent: c.agent.toConfig()
|
|
556
|
+
})), J = g(() => K[c.buttonIcon || "phone"] || K.phone);
|
|
557
|
+
return (r, i) => (j(), y("div", {
|
|
549
558
|
ref_key: "rootElement",
|
|
550
|
-
ref:
|
|
551
|
-
key:
|
|
559
|
+
ref: E,
|
|
560
|
+
key: I(o)(c.agent.toConfig()),
|
|
552
561
|
class: "pagelines-sdk @container/agent pagelines-agent w-full h-full overflow-hidden relative",
|
|
553
562
|
"data-test": "agent-chat"
|
|
554
563
|
}, [
|
|
555
|
-
|
|
564
|
+
c.loading ? (j(), y("div", Ie, [C(a, { class: "text-white size-8" })])) : c.agent && !w.value ? (j(), y("div", {
|
|
556
565
|
key: 1,
|
|
557
|
-
class:
|
|
558
|
-
style:
|
|
559
|
-
"data-quality":
|
|
560
|
-
}, [
|
|
566
|
+
class: D(["absolute inset-0", c.bare ? "bg-theme-0" : "bg-cover bg-center bg-no-repeat"]),
|
|
567
|
+
style: k(c.bare ? void 0 : { backgroundImage: `url(${I(o)(c.agent.toConfig())})` }),
|
|
568
|
+
"data-quality": c.agent.avatar.value?.quality || "none"
|
|
569
|
+
}, [c.bare ? v("", !0) : (j(), y("div", {
|
|
561
570
|
key: 0,
|
|
562
|
-
class:
|
|
563
|
-
}, null, 2)),
|
|
571
|
+
class: D(["absolute inset-0 bg-gradient-to-br z-0", G.value])
|
|
572
|
+
}, null, 2)), b("div", { class: D(["relative z-10 flex flex-col h-full transition-all duration-500 ease-[cubic-bezier(0.25,1,0.33,1)] will-change-transform", c.isActive ? "opacity-100 translate-y-0" : "opacity-0 translate-y-2"]) }, [!c.bare || c.hasClose ? (j(), y("div", {
|
|
564
573
|
key: 0,
|
|
565
|
-
class:
|
|
566
|
-
}, [
|
|
574
|
+
class: D(["relative z-30 p-2", !c.bare && z.value !== "self" ? "backdrop-blur-lg" : ""])
|
|
575
|
+
}, [c.chatOnly ? (j(), y("div", {
|
|
567
576
|
key: 0,
|
|
568
|
-
class:
|
|
569
|
-
}, [
|
|
570
|
-
src:
|
|
571
|
-
alt:
|
|
577
|
+
class: D(["flex items-center", c.bare ? "justify-end" : ""])
|
|
578
|
+
}, [c.bare ? v("", !0) : (j(), y("div", Re, [b("img", {
|
|
579
|
+
src: I(o)(c.agent.toConfig()),
|
|
580
|
+
alt: c.agent.displayName.value,
|
|
572
581
|
class: "size-8 rounded-full object-cover"
|
|
573
|
-
}, null, 8, ze),
|
|
574
|
-
class:
|
|
575
|
-
onClick: i[0] || (i[0] =
|
|
576
|
-
}, [...i[7] || (i[7] = [
|
|
582
|
+
}, null, 8, ze), b("span", Be, F(c.agent.displayName.value), 1)])), c.hasClose ? (j(), y("div", Ve, [b("button", {
|
|
583
|
+
class: D(["flex cursor-pointer items-center rounded-2xl p-3 transition-colors", c.bare ? "text-theme-500 hover:bg-theme-50" : "text-white/70 hover:bg-white/10"]),
|
|
584
|
+
onClick: i[0] || (i[0] = B((e) => d("close", "button"), ["stop"]))
|
|
585
|
+
}, [...i[7] || (i[7] = [b("i", { class: "size-6 i-tabler-x" }, null, -1)])], 2)])) : v("", !0)], 2)) : (j(), y("div", {
|
|
577
586
|
key: 1,
|
|
578
|
-
class:
|
|
587
|
+
class: D(["flex items-center", c.hasClose ? "" : "justify-between"])
|
|
579
588
|
}, [
|
|
580
|
-
|
|
589
|
+
b("div", { class: D(c.hasClose ? "flex-1 basis-0" : "") }, [b("button", {
|
|
581
590
|
class: "cursor-pointer p-2 flex items-center gap-2 rounded-2xl text-white/70 hover:bg-white/10 transition-all duration-300 ease-[cubic-bezier(0.25,1,0.33,1)] hover:scale-105 active:scale-95",
|
|
582
|
-
onClick: i[1] || (i[1] = (e) =>
|
|
583
|
-
}, [...i[8] || (i[8] = [
|
|
584
|
-
|
|
585
|
-
class:
|
|
586
|
-
onClick: i[2] || (i[2] = (e) =>
|
|
591
|
+
onClick: i[1] || (i[1] = (e) => m.value = !0)
|
|
592
|
+
}, [...i[8] || (i[8] = [b("i", { class: "i-tabler-menu size-7" }, null, -1)])])], 2),
|
|
593
|
+
b("button", {
|
|
594
|
+
class: D(["flex items-center gap-2 px-3.5 py-3 rounded-2xl text-white/90 hover:bg-white/10 transition-all cursor-pointer flex-grow-0", { "bg-white/10": h.value }]),
|
|
595
|
+
onClick: i[2] || (i[2] = (e) => h.value = !0)
|
|
587
596
|
}, [
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
i[9] || (i[9] =
|
|
597
|
+
b("i", { class: D([U.value?.icon, "size-4 opacity-60"]) }, null, 2),
|
|
598
|
+
b("span", He, F(U.value?.label), 1),
|
|
599
|
+
i[9] || (i[9] = b("i", { class: "i-tabler-chevron-down size-4" }, null, -1))
|
|
591
600
|
], 2),
|
|
592
|
-
|
|
601
|
+
c.hasClose ? (j(), y("div", Q, [b("button", {
|
|
593
602
|
class: "cursor-pointer flex items-center p-3 rounded-2xl text-white/70 hover:bg-white/10 transition-colors",
|
|
594
|
-
onClick: i[3] || (i[3] =
|
|
595
|
-
}, [...i[10] || (i[10] = [
|
|
596
|
-
], 2))], 2)) :
|
|
603
|
+
onClick: i[3] || (i[3] = B((e) => d("close", "button"), ["stop"]))
|
|
604
|
+
}, [...i[10] || (i[10] = [b("i", { class: "size-6 i-tabler-x" }, null, -1)])])])) : v("", !0)
|
|
605
|
+
], 2))], 2)) : v("", !0), c.chatOnly ? (j(), y("div", {
|
|
597
606
|
key: 1,
|
|
598
|
-
class:
|
|
599
|
-
}, [
|
|
600
|
-
"chat-controller":
|
|
601
|
-
agent:
|
|
602
|
-
scope:
|
|
603
|
-
"empty-state-message":
|
|
604
|
-
"suggested-prompts":
|
|
605
|
-
variant:
|
|
606
|
-
"show-header": !
|
|
607
|
-
centered:
|
|
608
|
-
},
|
|
607
|
+
class: D(["relative z-20 flex min-h-0 w-full flex-1 flex-col", c.bare ? "bg-theme-0" : "px-4"])
|
|
608
|
+
}, [b("div", { class: D(["min-h-0 w-full flex-1", c.bare ? "" : "mx-auto max-w-md"]) }, [C(s, {
|
|
609
|
+
"chat-controller": f.value,
|
|
610
|
+
agent: c.agent,
|
|
611
|
+
scope: H.value ? "private" : "public",
|
|
612
|
+
"empty-state-message": c.emptyStateMessage,
|
|
613
|
+
"suggested-prompts": c.suggestedPrompts,
|
|
614
|
+
variant: c.bare ? "light" : "dark",
|
|
615
|
+
"show-header": !c.bare,
|
|
616
|
+
centered: c.bare
|
|
617
|
+
}, x({ _: 2 }, [r.$slots["empty-heading"] ? {
|
|
609
618
|
name: "empty-heading",
|
|
610
|
-
fn:
|
|
619
|
+
fn: R((e) => [P(r.$slots, "empty-heading", O(T(e)))]),
|
|
611
620
|
key: "0"
|
|
612
621
|
} : void 0]), 1032, [
|
|
613
622
|
"chat-controller",
|
|
@@ -618,61 +627,61 @@ var B = /* @__PURE__ */ C({
|
|
|
618
627
|
"variant",
|
|
619
628
|
"show-header",
|
|
620
629
|
"centered"
|
|
621
|
-
])], 2)], 2)) : (
|
|
622
|
-
i[11] || (i[11] =
|
|
623
|
-
|
|
624
|
-
agent:
|
|
625
|
-
"is-online":
|
|
630
|
+
])], 2)], 2)) : (j(), y(p, { key: 2 }, [z.value === "self" ? (j(), y("div", Ue, [
|
|
631
|
+
i[11] || (i[11] = b("div", { class: "flex-1 basis-0 mb-12" }, null, -1)),
|
|
632
|
+
C(Ce, {
|
|
633
|
+
agent: c.agent,
|
|
634
|
+
"is-online": V.value
|
|
626
635
|
}, null, 8, ["agent", "is-online"]),
|
|
627
|
-
|
|
636
|
+
b("div", We, [C(n, {
|
|
628
637
|
theme: "primary",
|
|
629
638
|
size: "lg",
|
|
630
639
|
class: "w-full",
|
|
631
|
-
icon:
|
|
640
|
+
icon: J.value,
|
|
632
641
|
"data-test": "voice-button",
|
|
633
|
-
onClick: i[4] || (i[4] = (e) =>
|
|
642
|
+
onClick: i[4] || (i[4] = (e) => f.value?.setMode("talk"))
|
|
634
643
|
}, {
|
|
635
|
-
default:
|
|
644
|
+
default: R(() => [S(F(q.value), 1)]),
|
|
636
645
|
_: 1
|
|
637
|
-
}, 8, ["icon"]),
|
|
646
|
+
}, 8, ["icon"]), c.agent.accounts.value && c.agent.accounts.value.length > 0 ? (j(), y("div", Ge, [(j(!0), y(p, null, N((c.agent.accounts.value || []).filter((t) => I(e)[t.platform]), (t) => (j(), y("a", {
|
|
638
647
|
key: `${t.platform}-${t.handle}`,
|
|
639
|
-
href:
|
|
648
|
+
href: I(e)[t.platform].getUrl(t.handle),
|
|
640
649
|
target: "_blank",
|
|
641
650
|
class: "size-12 rounded-full text-white/60 hover:text-white hover:bg-white/5 border border-white/0 hover:border-white/10 flex items-center justify-center transition-all duration-200 hover:scale-105"
|
|
642
|
-
}, [
|
|
643
|
-
])) :
|
|
651
|
+
}, [b("i", { class: D([I(e)[t.platform].icon, "size-5"]) }, null, 2)], 8, Ke))), 128))])) : v("", !0)])
|
|
652
|
+
])) : z.value === "talk" ? (j(), y("div", qe, [c.requireAuth && !H.value ? (j(), _(Y, {
|
|
644
653
|
key: 0,
|
|
645
|
-
sdk:
|
|
646
|
-
}, null, 8, ["sdk"])) : (
|
|
647
|
-
agent:
|
|
648
|
-
"is-online":
|
|
649
|
-
}, null, 8, ["agent", "is-online"])])]),
|
|
650
|
-
"chat-controller":
|
|
651
|
-
agent:
|
|
652
|
-
}, null, 8, ["chat-controller", "agent"])], 64))])) : (
|
|
654
|
+
sdk: c.sdk
|
|
655
|
+
}, null, 8, ["sdk"])) : (j(), y(p, { key: 1 }, [b("div", null, [b("div", Je, [C(t, {
|
|
656
|
+
agent: c.agent,
|
|
657
|
+
"is-online": V.value
|
|
658
|
+
}, null, 8, ["agent", "is-online"])])]), C(s, {
|
|
659
|
+
"chat-controller": f.value,
|
|
660
|
+
agent: c.agent
|
|
661
|
+
}, null, 8, ["chat-controller", "agent"])], 64))])) : (j(), y("div", Ye, [b("div", Xe, [z.value === "chat" ? (j(), y(p, { key: 0 }, [c.requireAuth && !H.value ? (j(), _(Y, {
|
|
653
662
|
key: 0,
|
|
654
|
-
sdk:
|
|
655
|
-
}, null, 8, ["sdk"])) : (
|
|
663
|
+
sdk: c.sdk
|
|
664
|
+
}, null, 8, ["sdk"])) : (j(), _(s, {
|
|
656
665
|
key: 1,
|
|
657
|
-
"chat-controller":
|
|
658
|
-
agent:
|
|
666
|
+
"chat-controller": f.value,
|
|
667
|
+
agent: c.agent,
|
|
659
668
|
"show-header": ""
|
|
660
|
-
}, null, 8, ["chat-controller", "agent"]))], 64)) :
|
|
669
|
+
}, null, 8, ["chat-controller", "agent"]))], 64)) : z.value === "info" ? (j(), _(pe, {
|
|
661
670
|
key: 1,
|
|
662
|
-
agent:
|
|
663
|
-
"is-online":
|
|
664
|
-
}, null, 8, ["agent", "is-online"])) :
|
|
665
|
-
i[12] || (i[12] =
|
|
666
|
-
i[13] || (i[13] =
|
|
667
|
-
|
|
668
|
-
])])) : (
|
|
669
|
-
|
|
671
|
+
agent: c.agent,
|
|
672
|
+
"is-online": V.value
|
|
673
|
+
}, null, 8, ["agent", "is-online"])) : v("", !0)])]))], 64))], 2)], 14, Le)) : w.value ? (j(), y("div", Ze, [b("div", Qe, [
|
|
674
|
+
i[12] || (i[12] = b("div", { class: "flex justify-center" }, [b("div", { class: "rounded-full bg-red-500/20 flex items-center justify-center size-10" }, [b("i", { class: "i-tabler-alert-circle size-6 text-red-400" })])], -1)),
|
|
675
|
+
i[13] || (i[13] = b("h3", { class: "text-lg font-medium" }, " Agent Error ", -1)),
|
|
676
|
+
b("p", $e, F(w.value), 1)
|
|
677
|
+
])])) : (j(), y("div", et, " Couldn't load your assistant. Please try again later. ")),
|
|
678
|
+
c.chatOnly ? v("", !0) : (j(), _(Fe, {
|
|
670
679
|
key: 4,
|
|
671
|
-
modelValue:
|
|
672
|
-
"onUpdate:modelValue": i[5] || (i[5] = (e) =>
|
|
673
|
-
agent:
|
|
674
|
-
sdk:
|
|
675
|
-
title:
|
|
680
|
+
modelValue: m.value,
|
|
681
|
+
"onUpdate:modelValue": i[5] || (i[5] = (e) => m.value = e),
|
|
682
|
+
agent: c.agent,
|
|
683
|
+
sdk: c.sdk,
|
|
684
|
+
title: c.agent.displayName.value,
|
|
676
685
|
"data-test": "agent-sidebar"
|
|
677
686
|
}, null, 8, [
|
|
678
687
|
"modelValue",
|
|
@@ -680,16 +689,16 @@ var B = /* @__PURE__ */ C({
|
|
|
680
689
|
"sdk",
|
|
681
690
|
"title"
|
|
682
691
|
])),
|
|
683
|
-
|
|
692
|
+
c.chatOnly ? v("", !0) : (j(), _(Pe, {
|
|
684
693
|
key: 5,
|
|
685
|
-
modelValue:
|
|
686
|
-
"onUpdate:modelValue": i[6] || (i[6] = (e) =>
|
|
687
|
-
"chat-controller":
|
|
694
|
+
modelValue: h.value,
|
|
695
|
+
"onUpdate:modelValue": i[6] || (i[6] = (e) => h.value = e),
|
|
696
|
+
"chat-controller": f.value,
|
|
688
697
|
"data-test": "agent-mode-sidebar"
|
|
689
698
|
}, null, 8, ["modelValue", "chat-controller"]))
|
|
690
699
|
]));
|
|
691
700
|
}
|
|
692
|
-
}), tt = /* @__PURE__ */
|
|
701
|
+
}), tt = /* @__PURE__ */ w({
|
|
693
702
|
__name: "AgentProvider",
|
|
694
703
|
props: {
|
|
695
704
|
sdk: {},
|
|
@@ -707,11 +716,16 @@ var B = /* @__PURE__ */ C({
|
|
|
707
716
|
emptyStateMessage: {},
|
|
708
717
|
suggestedPrompts: {}
|
|
709
718
|
},
|
|
710
|
-
emits: [
|
|
719
|
+
emits: [
|
|
720
|
+
"close",
|
|
721
|
+
"error",
|
|
722
|
+
"turnStarted",
|
|
723
|
+
"turnCompleted"
|
|
724
|
+
],
|
|
711
725
|
setup(e, { emit: t }) {
|
|
712
726
|
let n = e, r = t;
|
|
713
|
-
return (e, t) => (
|
|
714
|
-
default:
|
|
727
|
+
return (e, t) => (j(), _(d, E(n, { class: "agent-provider size-full relative" }), {
|
|
728
|
+
default: R((i) => [C($, {
|
|
715
729
|
sdk: i.sdk,
|
|
716
730
|
agent: i.agent,
|
|
717
731
|
context: i.context,
|
|
@@ -726,10 +740,12 @@ var B = /* @__PURE__ */ C({
|
|
|
726
740
|
"is-active": !0,
|
|
727
741
|
class: "size-full",
|
|
728
742
|
onClose: t[0] || (t[0] = (e) => r("close", e)),
|
|
729
|
-
onError: t[1] || (t[1] = (e) => r("error", e))
|
|
730
|
-
|
|
743
|
+
onError: t[1] || (t[1] = (e) => r("error", e)),
|
|
744
|
+
onTurnStarted: t[2] || (t[2] = (e) => r("turnStarted")),
|
|
745
|
+
onTurnCompleted: t[3] || (t[3] = (e) => r("turnCompleted", e))
|
|
746
|
+
}, x({ _: 2 }, [e.$slots["empty-heading"] ? {
|
|
731
747
|
name: "empty-heading",
|
|
732
|
-
fn:
|
|
748
|
+
fn: R((t) => [P(e.$slots, "empty-heading", O(T(t)))]),
|
|
733
749
|
key: "0"
|
|
734
750
|
} : void 0]), 1032, [
|
|
735
751
|
"sdk",
|