@8wave/ai-elements 0.115.0-beta.34 → 0.115.0-beta.52
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/README.md +1 -0
- package/dist/_chunks/{Agent-Cu04vBnd.js → Agent-CJbRpoZG.js} +133 -122
- package/dist/_chunks/Agent-CJbRpoZG.js.map +1 -0
- package/dist/_chunks/PkChatbotFilePreview-DcqwX9nI.js +256 -0
- package/dist/_chunks/PkChatbotFilePreview-DcqwX9nI.js.map +1 -0
- package/dist/_chunks/PkHeldImage-BtaPh0Jr.js +42 -0
- package/dist/_chunks/PkHeldImage-BtaPh0Jr.js.map +1 -0
- package/dist/_chunks/{PkStreamingMarkdown-Qk9Tk_N7.js → PkStreamingMarkdown-B_qmgO9_.js} +801 -745
- package/dist/_chunks/PkStreamingMarkdown-B_qmgO9_.js.map +1 -0
- package/dist/_chunks/PkToolEditSpreadsheet-BSxYLcys.js +41 -0
- package/dist/_chunks/PkToolEditSpreadsheet-BSxYLcys.js.map +1 -0
- package/dist/_chunks/{PkToolRequestGeolocation-BoKYkQ-Z.js → PkToolRequestGeolocation-YW0ilIxN.js} +2 -2
- package/dist/_chunks/{PkToolRequestGeolocation-BoKYkQ-Z.js.map → PkToolRequestGeolocation-YW0ilIxN.js.map} +1 -1
- package/dist/_chunks/{PkToolRequestOAuthConnection-CDzpfBg6.js → PkToolRequestOAuthConnection-Cx4aFL5g.js} +2 -2
- package/dist/_chunks/{PkToolRequestOAuthConnection-CDzpfBg6.js.map → PkToolRequestOAuthConnection-Cx4aFL5g.js.map} +1 -1
- package/dist/_chunks/{PkToolShowArtifact-DB8JjN-b.js → PkToolShowArtifact-Bgj02cPe.js} +2 -2
- package/dist/_chunks/{PkToolShowArtifact-DB8JjN-b.js.map → PkToolShowArtifact-Bgj02cPe.js.map} +1 -1
- package/dist/_chunks/{PkToolShowContactForm-DHviNxDk.js → PkToolShowContactForm-Die8UpNv.js} +2 -2
- package/dist/_chunks/{PkToolShowContactForm-DHviNxDk.js.map → PkToolShowContactForm-Die8UpNv.js.map} +1 -1
- package/dist/_chunks/{PkToolShowForm-B-R9fh3R.js → PkToolShowForm-Dmq95u6b.js} +5 -5
- package/dist/_chunks/{PkToolShowForm-B-R9fh3R.js.map → PkToolShowForm-Dmq95u6b.js.map} +1 -1
- package/dist/_chunks/PkToolShowImageGallery-CKuyTxih.js +88 -0
- package/dist/_chunks/PkToolShowImageGallery-CKuyTxih.js.map +1 -0
- package/dist/_chunks/PkToolShowProductList-DjS9nvXe.js +72 -0
- package/dist/_chunks/PkToolShowProductList-DjS9nvXe.js.map +1 -0
- package/dist/_chunks/{PkToolShowSources-CfZEfleZ.js → PkToolShowSources-MJRFeqMA.js} +3 -3
- package/dist/_chunks/{PkToolShowSources-CfZEfleZ.js.map → PkToolShowSources-MJRFeqMA.js.map} +1 -1
- package/dist/_chunks/{PkToolShowSuggestedReply-DsB35hRR.js → PkToolShowSuggestedReply-DPVS3C74.js} +2 -2
- package/dist/_chunks/{PkToolShowSuggestedReply-DsB35hRR.js.map → PkToolShowSuggestedReply-DPVS3C74.js.map} +1 -1
- package/dist/_chunks/PkToolShowVideo-DnvvRE7H.js +142 -0
- package/dist/_chunks/PkToolShowVideo-DnvvRE7H.js.map +1 -0
- package/dist/_chunks/{PkToolShowWebPages-BOxbTe2X.js → PkToolShowWebPages-CYbiGa7e.js} +31 -24
- package/dist/_chunks/PkToolShowWebPages-CYbiGa7e.js.map +1 -0
- package/dist/_chunks/chatImagePolicy-C5eH4Cpq.js +46 -0
- package/dist/_chunks/chatImagePolicy-C5eH4Cpq.js.map +1 -0
- package/dist/_chunks/{markdown-_p-gd9w8.js → markdown-qIVVfGoX.js} +146 -73
- package/dist/_chunks/markdown-qIVVfGoX.js.map +1 -0
- package/dist/ai-elements.es.js +2975 -3134
- package/dist/ai-elements.es.js.map +1 -1
- package/dist-vue/PkChatbot.js +1 -1
- package/dist-vue/PkChatbotEmptyState.js +1 -1
- package/dist-vue/PkChatbotFilePreview.js +1 -1
- package/dist-vue/PkChatbotInput.js +1 -1
- package/dist-vue/PkChatbotMessages.js +1 -1
- package/dist-vue/PkChatbotStepPayload.js +1 -1
- package/dist-vue/PkChatbotStepToolDetail.js +1 -1
- package/dist-vue/PkChatbotSteps.js +1 -1
- package/dist-vue/PkChatbotViewChat.js +1 -1
- package/dist-vue/PkChatbotViewConversations.js +1 -1
- package/dist-vue/PkChatbotViewFiles.js +1 -1
- package/dist-vue/PkChatbotViewProfile.js +1 -1
- package/dist-vue/_chunks/{Agent-KbZm8GvA.js → Agent---jwXeaB.js} +57 -46
- package/dist-vue/_chunks/Agent---jwXeaB.js.map +1 -0
- package/dist-vue/_chunks/{Document-DCSWwcRE.js → Document-DmBTgjd4.js} +150 -77
- package/dist-vue/_chunks/Document-DmBTgjd4.js.map +1 -0
- package/dist-vue/_chunks/PkChatbot-W9tO1H9i.js +275 -0
- package/dist-vue/_chunks/PkChatbot-W9tO1H9i.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotEmptyState-CO7-vlsZ.js → PkChatbotEmptyState-BY3f3T0T.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotEmptyState-CO7-vlsZ.js.map → PkChatbotEmptyState-BY3f3T0T.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotFilePreview-CwiVQDF2.js → PkChatbotFilePreview-Dq9JBX9U.js} +5 -3
- package/dist-vue/_chunks/PkChatbotFilePreview-Dq9JBX9U.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotInput-D8ykcHKJ.js → PkChatbotInput-C5l6QDQY.js} +3 -3
- package/dist-vue/_chunks/{PkChatbotInput-D8ykcHKJ.js.map → PkChatbotInput-C5l6QDQY.js.map} +1 -1
- package/dist-vue/_chunks/PkChatbotMessages-3RZER9PO.js +769 -0
- package/dist-vue/_chunks/PkChatbotMessages-3RZER9PO.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotStepPayload-CSVHe7DP.js → PkChatbotStepPayload-C-xnhmzZ.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotStepPayload-CSVHe7DP.js.map → PkChatbotStepPayload-C-xnhmzZ.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotStepToolDetail-ixte-rGB.js → PkChatbotStepToolDetail-Cko1vU0N.js} +3 -3
- package/dist-vue/_chunks/{PkChatbotStepToolDetail-ixte-rGB.js.map → PkChatbotStepToolDetail-Cko1vU0N.js.map} +1 -1
- package/dist-vue/_chunks/PkChatbotSteps-BkZ3Kq2M.js +191 -0
- package/dist-vue/_chunks/{PkChatbotSteps-Y6kQ00ui.js.map → PkChatbotSteps-BkZ3Kq2M.js.map} +1 -1
- package/dist-vue/_chunks/PkChatbotViewChat-BFImSy1X.js +789 -0
- package/dist-vue/_chunks/PkChatbotViewChat-BFImSy1X.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotViewConversations-dpwDFyr_.js → PkChatbotViewConversations-C6T4ZxxX.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotViewConversations-dpwDFyr_.js.map → PkChatbotViewConversations-C6T4ZxxX.js.map} +1 -1
- package/dist-vue/_chunks/PkChatbotViewFiles-CMQdbZN6.js +125 -0
- package/dist-vue/_chunks/PkChatbotViewFiles-CMQdbZN6.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotViewProfile-Brylm3We.js → PkChatbotViewProfile-CDCy1LEX.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotViewProfile-Brylm3We.js.map → PkChatbotViewProfile-CDCy1LEX.js.map} +1 -1
- package/dist-vue/_chunks/PkHeldImage-BqnlurT_.js +41 -0
- package/dist-vue/_chunks/PkHeldImage-BqnlurT_.js.map +1 -0
- package/dist-vue/_chunks/{PkStreamingMarkdown-CJlfq7ub.js → PkStreamingMarkdown-DJG-aPx2.js} +792 -780
- package/dist-vue/_chunks/PkStreamingMarkdown-DJG-aPx2.js.map +1 -0
- package/dist-vue/_chunks/{PkSvgViewer-D-0M5bqg.js → PkSvgViewer-D1y8hZRW.js} +2 -2
- package/dist-vue/_chunks/{PkSvgViewer-D-0M5bqg.js.map → PkSvgViewer-D1y8hZRW.js.map} +1 -1
- package/dist-vue/_chunks/PkToolEditSpreadsheet-BHh7NUdR.js +40 -0
- package/dist-vue/_chunks/PkToolEditSpreadsheet-BHh7NUdR.js.map +1 -0
- package/dist-vue/_chunks/{PkToolRequestGeolocation-C8sLjD6g.js → PkToolRequestGeolocation-Ccbhljmn.js} +2 -2
- package/dist-vue/_chunks/{PkToolRequestGeolocation-C8sLjD6g.js.map → PkToolRequestGeolocation-Ccbhljmn.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolRequestOAuthConnection-rbjNi_l0.js → PkToolRequestOAuthConnection-BXf5ZRzR.js} +2 -2
- package/dist-vue/_chunks/{PkToolRequestOAuthConnection-rbjNi_l0.js.map → PkToolRequestOAuthConnection-BXf5ZRzR.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowArtifact-hBmAAfsd.js → PkToolShowArtifact-BsfbvfVC.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowArtifact-hBmAAfsd.js.map → PkToolShowArtifact-BsfbvfVC.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowContactForm-BHsm_W2R.js → PkToolShowContactForm-C-YbtBlG.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowContactForm-BHsm_W2R.js.map → PkToolShowContactForm-C-YbtBlG.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowDiagram-De2XvRnq.js → PkToolShowDiagram-CIHVrQ3e.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowDiagram-De2XvRnq.js.map → PkToolShowDiagram-CIHVrQ3e.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowEmail-D1mXZrT-.js → PkToolShowEmail-C591LR5N.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowEmail-D1mXZrT-.js.map → PkToolShowEmail-C591LR5N.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowForm-Ce_GpcBt.js → PkToolShowForm-BwYJhEVO.js} +6 -6
- package/dist-vue/_chunks/{PkToolShowForm-Ce_GpcBt.js.map → PkToolShowForm-BwYJhEVO.js.map} +1 -1
- package/dist-vue/_chunks/PkToolShowImageGallery-1A9zyOVn.js +88 -0
- package/dist-vue/_chunks/PkToolShowImageGallery-1A9zyOVn.js.map +1 -0
- package/dist-vue/_chunks/{PkToolShowMessage-lNPZxw2v.js → PkToolShowMessage-CbXERPHI.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowMessage-lNPZxw2v.js.map → PkToolShowMessage-CbXERPHI.js.map} +1 -1
- package/dist-vue/_chunks/PkToolShowProductList-D61i6AMs.js +72 -0
- package/dist-vue/_chunks/PkToolShowProductList-D61i6AMs.js.map +1 -0
- package/dist-vue/_chunks/{PkToolShowSources-B1Nhrk7O.js → PkToolShowSources-BQpdJE_m.js} +4 -4
- package/dist-vue/_chunks/{PkToolShowSources-B1Nhrk7O.js.map → PkToolShowSources-BQpdJE_m.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowSuggestedReply-Bmzygdww.js → PkToolShowSuggestedReply-D3jLsbKJ.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowSuggestedReply-Bmzygdww.js.map → PkToolShowSuggestedReply-D3jLsbKJ.js.map} +1 -1
- package/dist-vue/_chunks/PkToolShowVideo-DUdkb3qb.js +141 -0
- package/dist-vue/_chunks/PkToolShowVideo-DUdkb3qb.js.map +1 -0
- package/dist-vue/_chunks/PkToolShowWebPages-BeeBiv9R.js +86 -0
- package/dist-vue/_chunks/PkToolShowWebPages-BeeBiv9R.js.map +1 -0
- package/dist-vue/_chunks/{PkUrl-E12f7rn_.js → PkUrl-CN1kkZiH.js} +2 -2
- package/dist-vue/_chunks/{PkUrl-E12f7rn_.js.map → PkUrl-CN1kkZiH.js.map} +1 -1
- package/dist-vue/_chunks/{createChatbotApiClient-B_mkyrEl.js → createChatbotApiClient-CDrs7NwO.js} +13 -9
- package/dist-vue/_chunks/{createChatbotApiClient-B_mkyrEl.js.map → createChatbotApiClient-CDrs7NwO.js.map} +1 -1
- package/dist-vue/_chunks/{useChatbotStore-DEELIJ89.js → useChatbotStore-D6YNk8Rx.js} +6 -4
- package/dist-vue/_chunks/useChatbotStore-D6YNk8Rx.js.map +1 -0
- package/dist-vue/_chunks/useShortUrlResolver-DI8ycJiO.js +71 -0
- package/dist-vue/_chunks/useShortUrlResolver-DI8ycJiO.js.map +1 -0
- package/dist-vue/_chunks/utils-roi6YVNC.js +199 -0
- package/dist-vue/_chunks/utils-roi6YVNC.js.map +1 -0
- package/dist-vue/api.js +1 -1
- package/dist-vue/apps/web-component/src/composables/useChatbotAgent.d.ts +2 -0
- package/dist-vue/composables.js +73 -13
- package/dist-vue/composables.js.map +1 -1
- package/dist-vue/index.js +3614 -3559
- package/dist-vue/index.js.map +1 -1
- package/dist-vue/locales.js +26 -14
- package/dist-vue/packages/components/src/chat/PkAgentSettingsPanel.d.ts +6 -2
- package/dist-vue/packages/components/src/chat/PkChatbotFilePreview.d.ts +5 -0
- package/dist-vue/packages/components/src/chat/PkHeldImage.d.ts +21 -0
- package/dist-vue/packages/components/src/chat/PkToolEditSpreadsheet.d.ts +14 -0
- package/dist-vue/packages/components/src/chat/chatImagePolicy.d.ts +55 -0
- package/dist-vue/packages/components/src/chat/index.d.ts +1 -0
- package/dist-vue/packages/components/src/chat/markdownHtml.d.ts +17 -1
- package/dist-vue/packages/components/src/chat/utils.d.ts +8 -0
- package/dist-vue/packages/composable/src/chatbot/api/createChatbotApiClient.d.ts +7 -1
- package/dist-vue/packages/composable/src/chatbot/useChatbotStore.d.ts +18 -0
- package/dist-vue/packages/composable/src/useFileRow.d.ts +21 -0
- package/dist-vue/packages/models/src/schema/Agent.d.ts +28 -0
- package/dist-vue/packages/models/src/schema/Document.d.ts +173 -0
- package/dist-vue/packages/models/src/schema/ReasoningChat.d.ts +2 -0
- package/dist-vue/packages/models/src/schema/SubAgent.d.ts +2 -0
- package/dist-vue/packages/models/src/schema/Tabular.d.ts +181 -0
- package/dist-vue/packages/models/src/schema/index.d.ts +1 -0
- package/dist-vue/style.css +1 -1
- package/package.json +1 -1
- package/dist/_chunks/Agent-Cu04vBnd.js.map +0 -1
- package/dist/_chunks/PkStreamingMarkdown-Qk9Tk_N7.js.map +0 -1
- package/dist/_chunks/PkToolShowImageGallery-FubPWFCb.js +0 -75
- package/dist/_chunks/PkToolShowImageGallery-FubPWFCb.js.map +0 -1
- package/dist/_chunks/PkToolShowProductList-DFy2jxn4.js +0 -65
- package/dist/_chunks/PkToolShowProductList-DFy2jxn4.js.map +0 -1
- package/dist/_chunks/PkToolShowVideo-DClps9oP.js +0 -123
- package/dist/_chunks/PkToolShowVideo-DClps9oP.js.map +0 -1
- package/dist/_chunks/PkToolShowWebPages-BOxbTe2X.js.map +0 -1
- package/dist/_chunks/markdown-_p-gd9w8.js.map +0 -1
- package/dist-vue/_chunks/Agent-KbZm8GvA.js.map +0 -1
- package/dist-vue/_chunks/Document-DCSWwcRE.js.map +0 -1
- package/dist-vue/_chunks/PkChatbot-CRb-U8e3.js +0 -272
- package/dist-vue/_chunks/PkChatbot-CRb-U8e3.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotFilePreview-CwiVQDF2.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotMessages-UT72KC_z.js +0 -769
- package/dist-vue/_chunks/PkChatbotMessages-UT72KC_z.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotSteps-Y6kQ00ui.js +0 -191
- package/dist-vue/_chunks/PkChatbotViewChat-D3PwREDw.js +0 -784
- package/dist-vue/_chunks/PkChatbotViewChat-D3PwREDw.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotViewFiles-BStYLY2B.js +0 -111
- package/dist-vue/_chunks/PkChatbotViewFiles-BStYLY2B.js.map +0 -1
- package/dist-vue/_chunks/PkStreamingMarkdown-CJlfq7ub.js.map +0 -1
- package/dist-vue/_chunks/PkToolShowImageGallery-DmhZLnBk.js +0 -75
- package/dist-vue/_chunks/PkToolShowImageGallery-DmhZLnBk.js.map +0 -1
- package/dist-vue/_chunks/PkToolShowProductList-BW5pRFe4.js +0 -65
- package/dist-vue/_chunks/PkToolShowProductList-BW5pRFe4.js.map +0 -1
- package/dist-vue/_chunks/PkToolShowVideo-BZOTu2Qe.js +0 -122
- package/dist-vue/_chunks/PkToolShowVideo-BZOTu2Qe.js.map +0 -1
- package/dist-vue/_chunks/PkToolShowWebPages-BiIBRV_n.js +0 -79
- package/dist-vue/_chunks/PkToolShowWebPages-BiIBRV_n.js.map +0 -1
- package/dist-vue/_chunks/useChatbotStore-DEELIJ89.js.map +0 -1
- package/dist-vue/_chunks/utils-CtD8DCrq.js +0 -184
- package/dist-vue/_chunks/utils-CtD8DCrq.js.map +0 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
+
import { r as t } from "./PkStreamingMarkdown-DJG-aPx2.js";
|
|
3
|
+
import "./src-DT8FLE4_.js";
|
|
4
|
+
import { n } from "./url-validation-9DstIfq2.js";
|
|
5
|
+
import { t as r } from "./PkLazyImg-CDxX9xnq.js";
|
|
6
|
+
import { t as i } from "./PkUrl-CN1kkZiH.js";
|
|
7
|
+
import { t as a } from "./PkHeldImage-BqnlurT_.js";
|
|
8
|
+
import { VvIcon as o } from "@volverjs/ui-vue/components";
|
|
9
|
+
import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createTextVNode as p, createVNode as m, defineComponent as h, openBlock as g, ref as _, renderList as v, toDisplayString as y, unref as b } from "vue";
|
|
10
|
+
//#region ../../packages/components/src/chat/PkToolShowWebPages.vue?vue&type=script&setup=true&lang.ts
|
|
11
|
+
var x = {
|
|
12
|
+
key: 0,
|
|
13
|
+
class: "u-pick-list w-full shrink-0"
|
|
14
|
+
}, S = [
|
|
15
|
+
"href",
|
|
16
|
+
"title",
|
|
17
|
+
"target",
|
|
18
|
+
"rel"
|
|
19
|
+
], C = { class: "flex flex-col gap-4 min-w-0 flex-1" }, w = { class: "u-pick-list__label font-medium text-12 text-word-1" }, T = { class: "text-10 text-word-4 truncate flex items-center gap-4" }, E = {
|
|
20
|
+
key: 0,
|
|
21
|
+
class: "text-12 text-word-3 line-clamp-2"
|
|
22
|
+
}, D = {
|
|
23
|
+
key: 0,
|
|
24
|
+
class: "u-pick-list__row"
|
|
25
|
+
}, O = /*@__PURE__*/ h({
|
|
26
|
+
__name: "PkToolShowWebPages",
|
|
27
|
+
props: { part: {} },
|
|
28
|
+
setup(e) {
|
|
29
|
+
let h = e, O = c(() => h.part), k = t(), A = (e) => {
|
|
30
|
+
try {
|
|
31
|
+
let t = new URL(e);
|
|
32
|
+
return t.hash = "", t.toString().replace(/\/$/, "");
|
|
33
|
+
} catch {
|
|
34
|
+
return e.trim().replace(/\/$/, "");
|
|
35
|
+
}
|
|
36
|
+
}, j = c(() => {
|
|
37
|
+
let e = /* @__PURE__ */ new Set(), t = [];
|
|
38
|
+
for (let n of O.value.input?.pages || []) {
|
|
39
|
+
let r = A(n.url);
|
|
40
|
+
e.has(r) || (e.add(r), t.push(n));
|
|
41
|
+
}
|
|
42
|
+
return t;
|
|
43
|
+
}), M = _(!1), N = c(() => M.value ? j.value : j.value.slice(0, 2)), P = c(() => j.value.length > 2);
|
|
44
|
+
return (e, t) => {
|
|
45
|
+
let c = o;
|
|
46
|
+
return N.value?.length ? (g(), d("ul", x, [(g(!0), d(s, null, v(N.value, (t, o) => (g(), d("li", {
|
|
47
|
+
key: o,
|
|
48
|
+
class: "u-pick-list__row"
|
|
49
|
+
}, [f("a", {
|
|
50
|
+
href: t.url,
|
|
51
|
+
title: e.$t("action.open"),
|
|
52
|
+
target: b(n)(t.url) ? void 0 : "_blank",
|
|
53
|
+
rel: b(n)(t.url) ? void 0 : "noopener noreferrer",
|
|
54
|
+
class: "u-pick-list__entry u-pick-list__entry--roomy u-pick-list__entry--top"
|
|
55
|
+
}, [t.image && !b(k).canLoad(t.image) ? (g(), l(a, {
|
|
56
|
+
key: 0,
|
|
57
|
+
host: b(k).hostOf(t.image),
|
|
58
|
+
class: "w-48 h-48 rounded-lg shrink-0 border border-surface-3 bg-surface",
|
|
59
|
+
onRelease: (e) => b(k).release(t.image)
|
|
60
|
+
}, null, 8, ["host", "onRelease"])) : t.image ? (g(), l(r, {
|
|
61
|
+
key: 1,
|
|
62
|
+
src: t.image,
|
|
63
|
+
alt: t.title,
|
|
64
|
+
"fallback-icon": "ri:image-off-line",
|
|
65
|
+
class: "w-48 h-48 object-contain rounded-lg shrink-0 border border-surface-3 bg-surface"
|
|
66
|
+
}, null, 8, ["src", "alt"])) : u("", !0), f("div", C, [
|
|
67
|
+
f("strong", w, y(t.title), 1),
|
|
68
|
+
f("span", T, [m(c, {
|
|
69
|
+
name: "ri:link",
|
|
70
|
+
class: "shrink-0 text-12"
|
|
71
|
+
}), m(i, { url: t.url }, null, 8, ["url"])]),
|
|
72
|
+
t.description ? (g(), d("p", E, y(t.description), 1)) : u("", !0)
|
|
73
|
+
])], 8, S)]))), 128)), P.value ? (g(), d("li", D, [f("button", {
|
|
74
|
+
class: "u-pick-list__entry text-12 text-word-3 justify-center cursor-pointer",
|
|
75
|
+
onClick: t[0] ||= (e) => M.value = !M.value
|
|
76
|
+
}, [m(c, {
|
|
77
|
+
name: M.value ? "ri:arrow-up-s-line" : "ri:arrow-down-s-line",
|
|
78
|
+
class: "text-16"
|
|
79
|
+
}, null, 8, ["name"]), p(" " + y(M.value ? e.$t("action.showLess") : e.$t("action.showMore", { count: j.value.length - 2 })), 1)])])) : u("", !0)])) : u("", !0);
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
}), k = /* @__PURE__ */ e({ default: () => A }), A = O;
|
|
83
|
+
//#endregion
|
|
84
|
+
export { k as n, A as t };
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=PkToolShowWebPages-BeeBiv9R.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PkToolShowWebPages-BeeBiv9R.js","names":["$t","__unplugin_components_0","_openBlock","_createElementBlock","_Fragment","_renderList","_createElementVNode","_unref","_createBlock","PkHeldImage","PkLazyImg","_createCommentVNode","_toDisplayString","_createVNode","PkUrl","_createTextVNode","_sfc_main","__exportAll","useChatImageGate","PkLazyImg_default","PkUrl_default","PkHeldImage_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","PkToolShowWebPages_vue_vue_type_script_setup_true_lang_default","props","__props","toolPart","computed","imageGate","normalizeUrl","u","url","uniquePages","seen","result","page","key","showMore","ref","pages","hasMore","_component_VvIcon","VvIcon","openBlock","createElementBlock","Fragment","renderList","index","createElementVNode","_ctx","unref","isSameSite","createBlock","createCommentVNode","toDisplayString","createVNode","_cache","createTextVNode","PkToolShowWebPages_exports","PkToolShowWebPages_default"],"sources":["../../../../packages/components/src/chat/PkToolShowWebPages.vue","../../../../packages/components/src/chat/PkToolShowWebPages.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, ref } from 'vue'\n import { isSameSite } from 'utils'\n import PkLazyImg from '../PkLazyImg.vue'\n import { useChatImageGate } from './chatImagePolicy'\n import PkHeldImage from './PkHeldImage.vue'\n import PkUrl from '../PkUrl.vue'\n\n const props = defineProps<{\n part: unknown\n }>()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n pages: Array<{\n title: string\n url: string\n image?: string\n description?: string\n }>\n }\n }\n return part\n })\n\n // The model writes these urls: one from a host the agent does not list\n // waits for a click (chatImagePolicy.ts).\n const imageGate = useChatImageGate()\n\n // The model often passes the same URL several times (e.g. multiple KB\n // chunks from one page), so collapse duplicates, keeping the first (richest)\n // entry. Normalize by dropping the hash and any trailing slash.\n const normalizeUrl = (url: string) => {\n try {\n const u = new URL(url)\n u.hash = ''\n return u.toString().replace(/\\/$/, '')\n } catch {\n return url.trim().replace(/\\/$/, '')\n }\n }\n const uniquePages = computed(() => {\n const seen = new Set<string>()\n const result: NonNullable<typeof toolPart.value.input>['pages'] = []\n for (const page of toolPart.value.input?.pages || []) {\n const key = normalizeUrl(page.url)\n if (seen.has(key)) {\n continue\n }\n seen.add(key)\n result.push(page)\n }\n return result\n })\n\n const showMore = ref(false)\n const pages = computed(() => {\n if (showMore.value) {\n return uniquePages.value\n }\n return uniquePages.value.slice(0, 2)\n })\n const hasMore = computed(() => uniquePages.value.length > 2)\n</script>\n\n<template>\n <ul v-if=\"pages?.length\" class=\"u-pick-list w-full shrink-0\">\n <li\n v-for=\"(page, index) in pages\"\n :key=\"index\"\n class=\"u-pick-list__row\">\n <a\n :href=\"page.url\"\n :title=\"$t('action.open')\"\n :target=\"isSameSite(page.url) ? undefined : '_blank'\"\n :rel=\"isSameSite(page.url) ? undefined : 'noopener noreferrer'\"\n class=\"u-pick-list__entry u-pick-list__entry--roomy u-pick-list__entry--top\">\n <!-- og:images the model scraped are third-party urls: a dead one\n degrades to an icon instead of breaking the card layout -->\n <PkHeldImage\n v-if=\"page.image && !imageGate.canLoad(page.image)\"\n :host=\"imageGate.hostOf(page.image)\"\n class=\"w-48 h-48 rounded-lg shrink-0 border border-surface-3 bg-surface\"\n @release=\"imageGate.release(page.image)\" />\n <PkLazyImg\n v-else-if=\"page.image\"\n :src=\"page.image\"\n :alt=\"page.title\"\n fallback-icon=\"ri:image-off-line\"\n class=\"w-48 h-48 object-contain rounded-lg shrink-0 border border-surface-3 bg-surface\" />\n <div class=\"flex flex-col gap-4 min-w-0 flex-1\">\n <strong\n class=\"u-pick-list__label font-medium text-12 text-word-1\">\n {{ page.title }}\n </strong>\n <span\n class=\"text-10 text-word-4 truncate flex items-center gap-4\">\n <VvIcon name=\"ri:link\" class=\"shrink-0 text-12\" />\n <PkUrl :url=\"page.url\" />\n </span>\n <p\n v-if=\"page.description\"\n class=\"text-12 text-word-3 line-clamp-2\">\n {{ page.description }}\n </p>\n </div>\n </a>\n </li>\n <li v-if=\"hasMore\" class=\"u-pick-list__row\">\n <button\n class=\"u-pick-list__entry text-12 text-word-3 justify-center cursor-pointer\"\n @click=\"showMore = !showMore\">\n <VvIcon\n :name=\"\n showMore ? 'ri:arrow-up-s-line' : 'ri:arrow-down-s-line'\n \"\n class=\"text-16\" />\n {{\n showMore\n ? $t('action.showLess')\n : $t('action.showMore', {\n count: uniquePages.length - 2,\n })\n }}\n </button>\n </li>\n </ul>\n</template>\n","<script setup lang=\"ts\">\n import { computed, ref } from 'vue'\n import { isSameSite } from 'utils'\n import PkLazyImg from '../PkLazyImg.vue'\n import { useChatImageGate } from './chatImagePolicy'\n import PkHeldImage from './PkHeldImage.vue'\n import PkUrl from '../PkUrl.vue'\n\n const props = defineProps<{\n part: unknown\n }>()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n pages: Array<{\n title: string\n url: string\n image?: string\n description?: string\n }>\n }\n }\n return part\n })\n\n // The model writes these urls: one from a host the agent does not list\n // waits for a click (chatImagePolicy.ts).\n const imageGate = useChatImageGate()\n\n // The model often passes the same URL several times (e.g. multiple KB\n // chunks from one page), so collapse duplicates, keeping the first (richest)\n // entry. Normalize by dropping the hash and any trailing slash.\n const normalizeUrl = (url: string) => {\n try {\n const u = new URL(url)\n u.hash = ''\n return u.toString().replace(/\\/$/, '')\n } catch {\n return url.trim().replace(/\\/$/, '')\n }\n }\n const uniquePages = computed(() => {\n const seen = new Set<string>()\n const result: NonNullable<typeof toolPart.value.input>['pages'] = []\n for (const page of toolPart.value.input?.pages || []) {\n const key = normalizeUrl(page.url)\n if (seen.has(key)) {\n continue\n }\n seen.add(key)\n result.push(page)\n }\n return result\n })\n\n const showMore = ref(false)\n const pages = computed(() => {\n if (showMore.value) {\n return uniquePages.value\n }\n return uniquePages.value.slice(0, 2)\n })\n const hasMore = computed(() => uniquePages.value.length > 2)\n</script>\n\n<template>\n <ul v-if=\"pages?.length\" class=\"u-pick-list w-full shrink-0\">\n <li\n v-for=\"(page, index) in pages\"\n :key=\"index\"\n class=\"u-pick-list__row\">\n <a\n :href=\"page.url\"\n :title=\"$t('action.open')\"\n :target=\"isSameSite(page.url) ? undefined : '_blank'\"\n :rel=\"isSameSite(page.url) ? undefined : 'noopener noreferrer'\"\n class=\"u-pick-list__entry u-pick-list__entry--roomy u-pick-list__entry--top\">\n <!-- og:images the model scraped are third-party urls: a dead one\n degrades to an icon instead of breaking the card layout -->\n <PkHeldImage\n v-if=\"page.image && !imageGate.canLoad(page.image)\"\n :host=\"imageGate.hostOf(page.image)\"\n class=\"w-48 h-48 rounded-lg shrink-0 border border-surface-3 bg-surface\"\n @release=\"imageGate.release(page.image)\" />\n <PkLazyImg\n v-else-if=\"page.image\"\n :src=\"page.image\"\n :alt=\"page.title\"\n fallback-icon=\"ri:image-off-line\"\n class=\"w-48 h-48 object-contain rounded-lg shrink-0 border border-surface-3 bg-surface\" />\n <div class=\"flex flex-col gap-4 min-w-0 flex-1\">\n <strong\n class=\"u-pick-list__label font-medium text-12 text-word-1\">\n {{ page.title }}\n </strong>\n <span\n class=\"text-10 text-word-4 truncate flex items-center gap-4\">\n <VvIcon name=\"ri:link\" class=\"shrink-0 text-12\" />\n <PkUrl :url=\"page.url\" />\n </span>\n <p\n v-if=\"page.description\"\n class=\"text-12 text-word-3 line-clamp-2\">\n {{ page.description }}\n </p>\n </div>\n </a>\n </li>\n <li v-if=\"hasMore\" class=\"u-pick-list__row\">\n <button\n class=\"u-pick-list__entry text-12 text-word-3 justify-center cursor-pointer\"\n @click=\"showMore = !showMore\">\n <VvIcon\n :name=\"\n showMore ? 'ri:arrow-up-s-line' : 'ri:arrow-down-s-line'\n \"\n class=\"text-16\" />\n {{\n showMore\n ? $t('action.showLess')\n : $t('action.showMore', {\n count: uniquePages.length - 2,\n })\n }}\n </button>\n </li>\n </ul>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQI,IAAM8B,IAAQC,GAIRC,IAAWC,QACAH,EAAM,IAWtB,GAIKI,IAAYhB,EAAiB,GAK7BiB,KAAgB,MAAgB;GAClC,IAAI;IACA,IAAMC,IAAI,IAAI,IAAIC,CAAG;IAErB,OADA,EAAE,OAAO,IACFD,EAAE,SAAS,CAAC,CAAC,QAAQ,OAAO,EAAE;GACzC,QAAQ;IACJ,OAAOC,EAAI,KAAK,CAAC,CAAC,QAAQ,OAAO,EAAE;GACvC;EACJ,GACMC,IAAcL,QAAe;GAC/B,IAAMM,oBAAO,IAAI,IAAY,GACvBC,IAA4D,CAAC;GACnE,KAAK,IAAMC,KAAQT,EAAS,MAAM,OAAO,SAAS,CAAC,GAAG;IAClD,IAAMU,IAAMP,EAAaM,EAAK,GAAG;IACjC,AAAIF,EAAK,IAAIG,CAAG,MAGhBH,EAAK,IAAIG,CAAG,GACZF,EAAO,KAAKC,CAAI;GACpB;GACA,OAAOD;EACX,CAAC,GAEKG,IAAWC,EAAI,EAAK,GACpBC,IAAQZ,QACNU,EAAS,QACFL,EAAY,QAEhBA,EAAY,MAAM,MAAM,GAAG,CAAC,CACtC,GACKQ,IAAUb,QAAeK,EAAY,MAAM,SAAS,CAAC;;;GAIjD,OAAAO,EAAA,OAAO,UAAjB3C,EAAA,GAAAC,EA4DK,MA5DLmB,GA4DK,EA3DDpB,EAAA,EAAA,GAAAC,EAwCKC,GAAA,MAAAC,EAvCuBwC,EAAA,QAAhB,GAAM,OADlB3C,EAAA,GAAAC,EAwCK,MAAA;IAtCA,KAAKkD;IACN,OAAM;GACN/C,GAAAA,CAAAA,EAmCI,KAAA;IAlCC,MAAMmC,EAAK;IACX,OAAOzC,EAAAA,GAAE,aAAA;IACT,QAAQO,EAAAkD,CAAA,CAAU,CAAChB,EAAK,GAAG,IAAI,KAAA,IAAS;IACxC,KAAKlC,EAAAkD,CAAA,CAAU,CAAChB,EAAK,GAAG,IAAI,KAAA,IAAS;IACtC,OAAM;GAII,GAAA,CAAAA,EAAK,SAAK,CAAKlC,EAAA2B,CAAA,CAAS,CAAC,QAAQO,EAAK,KAAK,KADrDvC,EAAA,GAAAM,EAI+CC,GAAA;;IAF1C,MAAMF,EAAA2B,CAAA,CAAS,CAAC,OAAOO,EAAK,KAAK;IAClC,OAAM;IACL,YAAO,MAAElC,EAAA2B,CAAA,CAAS,CAAC,QAAQO,EAAK,KAAK;GAE3B,GAAA,MAAA,GAAA,CAAA,QAAA,WAAA,CAAA,KAAAA,EAAK,SADpBvC,EAAA,GAAAM,EAK8FE,GAAA;;IAHzF,KAAK+B,EAAK;IACV,KAAKA,EAAK;IACX,iBAAc;IACd,OAAM;GACVnC,GAAAA,MAAAA,GAAAA,CAAAA,OAAAA,KAAAA,CAAAA,KAAAA,EAAAA,IAAAA,EAAAA,GAAAA,EAeM,OAfNkB,GAeM;IAdFlB,EAGS,UAHTmB,GAGSb,EADF6B,EAAK,KAAK,GAAA,CAAA;IAEjBnC,EAIO,QAJPoB,GAIO,CAFHb,EAAkDkC,GAAA;KAA1C,MAAK;KAAU,OAAM;IAC7BlC,CAAAA,GAAAA,EAAyBC,GAAA,EAAjB,KAAK2B,EAAK,IAAA,GAAA,MAAA,GAAA,CAAA,KAAA,CAAA,CAAA,CAAA;IAGZA,EAAK,eADfvC,EAAA,GAAAC,EAII,KAJJwB,GAIIf,EADG6B,EAAK,WAAW,GAAA,CAAA,KAAAkB,EAAA,IAAA,EAAA;gBAKzB,GAAA,GAAA,IAAAb,EAAA,SAAV5C,EAAA,GAAAC,EAiBK,MAjBLyB,GAiBK,CAhBDtB,EAeS,UAAA;IAdL,OAAM;IACL,SAAK,AAAAwD,EAAA,QAAA,MAAE,EAAA,QAAQ,CAAInB,EAAA;GACpB9B,GAAAA,CAAAA,EAIsBkC,GAAA;IAHjB,MAA+BJ,EAAA,QAAQ,uBAAA;IAGxC,OAAM;GAAY5B,GAAAA,MAAAA,GAAAA,CAAAA,MAAAA,CAAAA,GAAAA,EAAA,MACtBH,EACI+B,EAAA,QAAmC3C,EAAAA,GAAE,iBAAA,IAA8CA,EAAAA,GAAE,mBAAA,EAA2D,OAAAsC,EAAA,MAAY,SAAM,EAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAAqB,EAAA,IAAA,EAAA,CAAA,CAAA,KAAAA,EAAA,IAAA,EAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as e } from "./useShortUrlResolver-DI8ycJiO.js";
|
|
2
2
|
import { Fragment as t, computed as n, createBlock as r, createElementBlock as i, createElementVNode as a, defineComponent as o, normalizeClass as s, openBlock as c, renderList as l, resolveDynamicComponent as u, toDisplayString as d, withCtx as f } from "vue";
|
|
3
3
|
//#region ../../packages/components/src/PkUrl.vue?vue&type=script&setup=true&lang.ts
|
|
4
4
|
var p = {
|
|
@@ -80,4 +80,4 @@ var p = {
|
|
|
80
80
|
//#endregion
|
|
81
81
|
export { h as t };
|
|
82
82
|
|
|
83
|
-
//# sourceMappingURL=PkUrl-
|
|
83
|
+
//# sourceMappingURL=PkUrl-CN1kkZiH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PkUrl-E12f7rn_.js","names":["_openBlock","_createBlock","_resolveDynamicComponent","_withCtx","_createElementBlock","_createElementVNode","_Fragment","_normalizeClass","_toDisplayString","_renderList","_sfc_main","useShortUrlResolver","_hoisted_1","_hoisted_2","PkUrl_default","defineComponent","props","__props","resolved","resolve","displayUrl","computed","isResolving","parsedUrl","urlObj","hostname","pathname","segments","segment","fallback","truncatedUrl","domain","allSegments","currentLength","i","openBlock","createBlock","resolveDynamicComponent","withCtx","createElementBlock","_cache","createElementVNode","Fragment","normalizeClass","toDisplayString","renderList","index"],"sources":["../../../../packages/components/src/PkUrl.vue","../../../../packages/components/src/PkUrl.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed } from 'vue'\n import { useShortUrlResolver } from 'composables'\n\n interface Props {\n url: string\n maxLength?: number\n domainClass?: string\n target?: '_blank' | '_self' | '_parent' | '_top'\n rel?: string\n muted?: boolean\n }\n\n const props = withDefaults(defineProps<Props>(), {\n maxLength: 60,\n domainClass: undefined,\n target: '_blank',\n rel: 'noopener noreferrer',\n muted: false,\n })\n\n // Only the displayed URL text is resolved to its real target; the href is\n // kept as the short url so the redirect endpoint still handles tracking.\n const { resolve } = useShortUrlResolver()\n const resolved = resolve(() => props.url)\n const displayUrl = computed(() => resolved.value.url)\n const isResolving = computed(() => resolved.value.loading)\n\n const parsedUrl = computed(() => {\n try {\n const urlObj = new URL(displayUrl.value ?? props.url)\n let hostname = urlObj.hostname\n\n // Remove www. prefix\n if (hostname.startsWith('www.')) {\n hostname = hostname.substring(4)\n }\n\n // Get pathname and remove trailing slash\n let pathname = urlObj.pathname\n if (pathname === '/') {\n pathname = ''\n }\n\n // Split pathname into segments\n const segments = pathname\n .split('/')\n .filter((segment) => segment.length > 0)\n\n return {\n domain: hostname,\n segments,\n fullPath: hostname + pathname,\n }\n } catch {\n // If URL parsing fails, return the original URL\n const fallback = displayUrl.value ?? props.url\n return {\n domain: fallback,\n segments: [],\n fullPath: fallback,\n }\n }\n })\n\n const truncatedUrl = computed(() => {\n if (parsedUrl.value.fullPath.length <= props.maxLength) {\n return parsedUrl.value\n }\n\n // If too long, truncate segments from the beginning\n const domain = parsedUrl.value.domain\n const allSegments = parsedUrl.value.segments\n\n // Always show at least the last segment\n if (allSegments.length === 0) {\n return {\n domain,\n segments: [],\n fullPath: domain,\n }\n }\n\n const segments: string[] = []\n\n // Calculate from the end\n let currentLength = domain.length\n\n // Try to fit segments from the end\n for (let i = allSegments.length - 1; i >= 0; i--) {\n const segment = allSegments[i]\n\n // Always include at least the last segment\n if (segments.length === 0) {\n currentLength += segment.length + 1\n segments.unshift(segment)\n } else if (currentLength + segment.length + 1 <= props.maxLength) {\n currentLength += segment.length + 1\n segments.unshift(segment)\n } else {\n segments.unshift('...')\n break\n }\n }\n\n return {\n domain,\n segments,\n fullPath: domain + '/' + segments.join('/'),\n }\n })\n</script>\n\n<template>\n <Component\n :is=\"muted ? 'span' : 'a'\"\n class=\"pk-url\"\n :href=\"muted ? undefined : props.url\"\n :target=\"muted ? undefined : props.target\"\n :rel=\"muted ? undefined : props.rel\">\n <span v-if=\"isResolving\" class=\"pk-url__skeleton vv-skeleton\">\n <span class=\"vv-skeleton__item\" />\n </span>\n <template v-else>\n <span :class=\"['pk-url__domain', domainClass]\">{{\n truncatedUrl.domain\n }}</span>\n <template\n v-for=\"(segment, index) in truncatedUrl.segments\"\n :key=\"index\">\n <span class=\"pk-url__separator\">›</span>\n <span class=\"pk-url__segment\">{{ segment }}</span>\n </template>\n </template>\n </Component>\n</template>\n\n<style lang=\"scss\">\n @layer volver.components {\n .pk-url {\n display: inline-flex;\n align-items: center;\n gap: 0.5ch;\n }\n\n .pk-url__skeleton {\n display: inline-flex;\n width: 12ch;\n max-width: 100%;\n\n .vv-skeleton__item {\n width: 100%;\n height: 1em;\n border-radius: 0.25em;\n }\n }\n }\n</style>\n","<script setup lang=\"ts\">\n import { computed } from 'vue'\n import { useShortUrlResolver } from 'composables'\n\n interface Props {\n url: string\n maxLength?: number\n domainClass?: string\n target?: '_blank' | '_self' | '_parent' | '_top'\n rel?: string\n muted?: boolean\n }\n\n const props = withDefaults(defineProps<Props>(), {\n maxLength: 60,\n domainClass: undefined,\n target: '_blank',\n rel: 'noopener noreferrer',\n muted: false,\n })\n\n // Only the displayed URL text is resolved to its real target; the href is\n // kept as the short url so the redirect endpoint still handles tracking.\n const { resolve } = useShortUrlResolver()\n const resolved = resolve(() => props.url)\n const displayUrl = computed(() => resolved.value.url)\n const isResolving = computed(() => resolved.value.loading)\n\n const parsedUrl = computed(() => {\n try {\n const urlObj = new URL(displayUrl.value ?? props.url)\n let hostname = urlObj.hostname\n\n // Remove www. prefix\n if (hostname.startsWith('www.')) {\n hostname = hostname.substring(4)\n }\n\n // Get pathname and remove trailing slash\n let pathname = urlObj.pathname\n if (pathname === '/') {\n pathname = ''\n }\n\n // Split pathname into segments\n const segments = pathname\n .split('/')\n .filter((segment) => segment.length > 0)\n\n return {\n domain: hostname,\n segments,\n fullPath: hostname + pathname,\n }\n } catch {\n // If URL parsing fails, return the original URL\n const fallback = displayUrl.value ?? props.url\n return {\n domain: fallback,\n segments: [],\n fullPath: fallback,\n }\n }\n })\n\n const truncatedUrl = computed(() => {\n if (parsedUrl.value.fullPath.length <= props.maxLength) {\n return parsedUrl.value\n }\n\n // If too long, truncate segments from the beginning\n const domain = parsedUrl.value.domain\n const allSegments = parsedUrl.value.segments\n\n // Always show at least the last segment\n if (allSegments.length === 0) {\n return {\n domain,\n segments: [],\n fullPath: domain,\n }\n }\n\n const segments: string[] = []\n\n // Calculate from the end\n let currentLength = domain.length\n\n // Try to fit segments from the end\n for (let i = allSegments.length - 1; i >= 0; i--) {\n const segment = allSegments[i]\n\n // Always include at least the last segment\n if (segments.length === 0) {\n currentLength += segment.length + 1\n segments.unshift(segment)\n } else if (currentLength + segment.length + 1 <= props.maxLength) {\n currentLength += segment.length + 1\n segments.unshift(segment)\n } else {\n segments.unshift('...')\n break\n }\n }\n\n return {\n domain,\n segments,\n fullPath: domain + '/' + segments.join('/'),\n }\n })\n</script>\n\n<template>\n <Component\n :is=\"muted ? 'span' : 'a'\"\n class=\"pk-url\"\n :href=\"muted ? undefined : props.url\"\n :target=\"muted ? undefined : props.target\"\n :rel=\"muted ? undefined : props.rel\">\n <span v-if=\"isResolving\" class=\"pk-url__skeleton vv-skeleton\">\n <span class=\"vv-skeleton__item\" />\n </span>\n <template v-else>\n <span :class=\"['pk-url__domain', domainClass]\">{{\n truncatedUrl.domain\n }}</span>\n <template\n v-for=\"(segment, index) in truncatedUrl.segments\"\n :key=\"index\">\n <span class=\"pk-url__separator\">›</span>\n <span class=\"pk-url__segment\">{{ segment }}</span>\n </template>\n </template>\n </Component>\n</template>\n\n<style lang=\"scss\">\n @layer volver.components {\n .pk-url {\n display: inline-flex;\n align-items: center;\n gap: 0.5ch;\n }\n\n .pk-url__skeleton {\n display: inline-flex;\n width: 12ch;\n max-width: 100%;\n\n .vv-skeleton__item {\n width: 100%;\n height: 1em;\n border-radius: 0.25em;\n }\n }\n }\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAaI,IAAMgB,IAAQC,GAUR,EAAE,eAAYN,EAAoB,GAClCO,IAAWC,QAAcH,EAAM,GAAG,GAClCI,IAAaC,QAAeH,EAAS,MAAM,GAAG,GAC9CI,IAAcD,QAAeH,EAAS,MAAM,OAAO,GAEnDK,IAAYF,QAAe;GAC7B,IAAI;IACA,IAAMG,IAAS,IAAI,IAAIJ,EAAW,SAASJ,EAAM,GAAG,GAChDS,IAAWD,EAAO;IAGtB,AAAIC,EAAS,WAAW,MAAM,MAC1B,IAAWA,EAAS,UAAU,CAAC;IAInC,IAAIC,IAAWF,EAAO;IACtB,AAAIE,MAAa,QACb,IAAW;IAIf,IAAMC,IAAWD,EACZ,MAAM,GAAG,CAAA,CACT,QAAQ,MAAYE,EAAQ,SAAS,CAAC;IAE3C,OAAO;KACH,QAAQH;KACR;KACA,UAAUA,IAAWC;IACzB;GACJ,QAAQ;IAEJ,IAAMG,IAAWT,EAAW,SAASJ,EAAM;IAC3C,OAAO;KACH,QAAQa;KACR,UAAU,CAAC;KACX,UAAUA;IACd;GACJ;EACJ,CAAC,GAEKC,IAAeT,QAAe;GAChC,IAAIE,EAAU,MAAM,SAAS,UAAUP,EAAM,WACzC,OAAOO,EAAU;GAIrB,IAAMQ,IAASR,EAAU,MAAM,QACzBS,IAAcT,EAAU,MAAM;GAGpC,IAAIS,EAAY,WAAW,GACvB,OAAO;IACH;IACA,UAAU,CAAC;IACX,UAAUD;GACd;GAGJ,IAAMJ,IAAqB,CAAC,GAGxBM,IAAgBF,EAAO;GAG3B,KAAK,IAAIG,IAAIF,EAAY,SAAS,GAAGE,KAAK,GAAG,KAAK;IAC9C,IAAMN,IAAUI,EAAYE;IAG5B,IAAIP,EAAS,WAAW,GAEpB,AADA,KAAiBC,EAAQ,SAAS,GAClCD,EAAS,QAAQC,CAAO;SACrB,IAAIK,IAAgBL,EAAQ,SAAS,KAAKZ,EAAM,WAEnD,AADA,KAAiBY,EAAQ,SAAS,GAClCD,EAAS,QAAQC,CAAO;SACrB;KACH,EAAS,QAAQ,KAAK;KACtB;IACJ;GACJ;GAEA,OAAO;IACH;IACA;IACA,UAAUG,IAAS,MAAMJ,EAAS,KAAK,GAAG;GAC9C;EACJ,CAAC;oBAID3B,EAAA,GAAAC,EAoBYC,EAnBHe,EAAA,QAAK,SAAA,GAAA,GAAA;GACV,OAAM;GACL,MAAMA,EAAA,QAAQ,KAAA,IAAYD,EAAM;GAChC,QAAQC,EAAA,QAAQ,KAAA,IAAYD,EAAM;GAClC,KAAKC,EAAA,QAAQ,KAAA,IAAYD,EAAM;;GAChC,SAAAb,QAEO,CAFKmB,EAAA,SAAZtB,EAAA,GAAAI,EAEO,QAFPQ,GAEO,CAAA,GAAA,AAAA4B,EAAA,OAAA,CADHnC,EAAkC,QAAA,EAA5B,OAAM,oBAAmB,GAAA,MAAA,EAAA,CAAA,CAAA,CAAA,MAEnCL,EAAA,GAAAI,EAUWE,GAAA,EAAA,KAAA,EAAA,GAAA,CATPD,EAES,QAAA,EAFF,OAAKE,EAAA,CAAA,kBAAqBU,EAAA,WAAW,CAAA,EACxC,GAAAT,EAAAsB,EAAA,MAAa,MAAM,GAAA,CAAA,IAEvB9B,EAAA,EAAA,GAAAI,EAKWE,GAAA,MAAAG,EAJoBqB,EAAA,MAAa,WAAhC,GAAS,OACX9B,EAAA,GAAAI,EAAAE,GAAA,EAAA,KAAAwC,EAAK,GAAA,CACX,AAAAN,EAAA,OAAAnC,EAAwC,QAAA,EAAlC,OAAM,oBAAmB,GAAC,KAAC,EAAA,GACjCA,EAAkD,QAAlDQ,GAAkDL,EAAjBoB,CAAO,GAAA,CAAA,CAAA,GAAA,EAAA"}
|
|
1
|
+
{"version":3,"file":"PkUrl-CN1kkZiH.js","names":["_openBlock","_createBlock","_resolveDynamicComponent","_withCtx","_createElementBlock","_createElementVNode","_Fragment","_normalizeClass","_toDisplayString","_renderList","_sfc_main","useShortUrlResolver","_hoisted_1","_hoisted_2","PkUrl_default","defineComponent","props","__props","resolved","resolve","displayUrl","computed","isResolving","parsedUrl","urlObj","hostname","pathname","segments","segment","fallback","truncatedUrl","domain","allSegments","currentLength","i","openBlock","createBlock","resolveDynamicComponent","withCtx","createElementBlock","_cache","createElementVNode","Fragment","normalizeClass","toDisplayString","renderList","index"],"sources":["../../../../packages/components/src/PkUrl.vue","../../../../packages/components/src/PkUrl.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed } from 'vue'\n import { useShortUrlResolver } from 'composables'\n\n interface Props {\n url: string\n maxLength?: number\n domainClass?: string\n target?: '_blank' | '_self' | '_parent' | '_top'\n rel?: string\n muted?: boolean\n }\n\n const props = withDefaults(defineProps<Props>(), {\n maxLength: 60,\n domainClass: undefined,\n target: '_blank',\n rel: 'noopener noreferrer',\n muted: false,\n })\n\n // Only the displayed URL text is resolved to its real target; the href is\n // kept as the short url so the redirect endpoint still handles tracking.\n const { resolve } = useShortUrlResolver()\n const resolved = resolve(() => props.url)\n const displayUrl = computed(() => resolved.value.url)\n const isResolving = computed(() => resolved.value.loading)\n\n const parsedUrl = computed(() => {\n try {\n const urlObj = new URL(displayUrl.value ?? props.url)\n let hostname = urlObj.hostname\n\n // Remove www. prefix\n if (hostname.startsWith('www.')) {\n hostname = hostname.substring(4)\n }\n\n // Get pathname and remove trailing slash\n let pathname = urlObj.pathname\n if (pathname === '/') {\n pathname = ''\n }\n\n // Split pathname into segments\n const segments = pathname\n .split('/')\n .filter((segment) => segment.length > 0)\n\n return {\n domain: hostname,\n segments,\n fullPath: hostname + pathname,\n }\n } catch {\n // If URL parsing fails, return the original URL\n const fallback = displayUrl.value ?? props.url\n return {\n domain: fallback,\n segments: [],\n fullPath: fallback,\n }\n }\n })\n\n const truncatedUrl = computed(() => {\n if (parsedUrl.value.fullPath.length <= props.maxLength) {\n return parsedUrl.value\n }\n\n // If too long, truncate segments from the beginning\n const domain = parsedUrl.value.domain\n const allSegments = parsedUrl.value.segments\n\n // Always show at least the last segment\n if (allSegments.length === 0) {\n return {\n domain,\n segments: [],\n fullPath: domain,\n }\n }\n\n const segments: string[] = []\n\n // Calculate from the end\n let currentLength = domain.length\n\n // Try to fit segments from the end\n for (let i = allSegments.length - 1; i >= 0; i--) {\n const segment = allSegments[i]\n\n // Always include at least the last segment\n if (segments.length === 0) {\n currentLength += segment.length + 1\n segments.unshift(segment)\n } else if (currentLength + segment.length + 1 <= props.maxLength) {\n currentLength += segment.length + 1\n segments.unshift(segment)\n } else {\n segments.unshift('...')\n break\n }\n }\n\n return {\n domain,\n segments,\n fullPath: domain + '/' + segments.join('/'),\n }\n })\n</script>\n\n<template>\n <Component\n :is=\"muted ? 'span' : 'a'\"\n class=\"pk-url\"\n :href=\"muted ? undefined : props.url\"\n :target=\"muted ? undefined : props.target\"\n :rel=\"muted ? undefined : props.rel\">\n <span v-if=\"isResolving\" class=\"pk-url__skeleton vv-skeleton\">\n <span class=\"vv-skeleton__item\" />\n </span>\n <template v-else>\n <span :class=\"['pk-url__domain', domainClass]\">{{\n truncatedUrl.domain\n }}</span>\n <template\n v-for=\"(segment, index) in truncatedUrl.segments\"\n :key=\"index\">\n <span class=\"pk-url__separator\">›</span>\n <span class=\"pk-url__segment\">{{ segment }}</span>\n </template>\n </template>\n </Component>\n</template>\n\n<style lang=\"scss\">\n @layer volver.components {\n .pk-url {\n display: inline-flex;\n align-items: center;\n gap: 0.5ch;\n }\n\n .pk-url__skeleton {\n display: inline-flex;\n width: 12ch;\n max-width: 100%;\n\n .vv-skeleton__item {\n width: 100%;\n height: 1em;\n border-radius: 0.25em;\n }\n }\n }\n</style>\n","<script setup lang=\"ts\">\n import { computed } from 'vue'\n import { useShortUrlResolver } from 'composables'\n\n interface Props {\n url: string\n maxLength?: number\n domainClass?: string\n target?: '_blank' | '_self' | '_parent' | '_top'\n rel?: string\n muted?: boolean\n }\n\n const props = withDefaults(defineProps<Props>(), {\n maxLength: 60,\n domainClass: undefined,\n target: '_blank',\n rel: 'noopener noreferrer',\n muted: false,\n })\n\n // Only the displayed URL text is resolved to its real target; the href is\n // kept as the short url so the redirect endpoint still handles tracking.\n const { resolve } = useShortUrlResolver()\n const resolved = resolve(() => props.url)\n const displayUrl = computed(() => resolved.value.url)\n const isResolving = computed(() => resolved.value.loading)\n\n const parsedUrl = computed(() => {\n try {\n const urlObj = new URL(displayUrl.value ?? props.url)\n let hostname = urlObj.hostname\n\n // Remove www. prefix\n if (hostname.startsWith('www.')) {\n hostname = hostname.substring(4)\n }\n\n // Get pathname and remove trailing slash\n let pathname = urlObj.pathname\n if (pathname === '/') {\n pathname = ''\n }\n\n // Split pathname into segments\n const segments = pathname\n .split('/')\n .filter((segment) => segment.length > 0)\n\n return {\n domain: hostname,\n segments,\n fullPath: hostname + pathname,\n }\n } catch {\n // If URL parsing fails, return the original URL\n const fallback = displayUrl.value ?? props.url\n return {\n domain: fallback,\n segments: [],\n fullPath: fallback,\n }\n }\n })\n\n const truncatedUrl = computed(() => {\n if (parsedUrl.value.fullPath.length <= props.maxLength) {\n return parsedUrl.value\n }\n\n // If too long, truncate segments from the beginning\n const domain = parsedUrl.value.domain\n const allSegments = parsedUrl.value.segments\n\n // Always show at least the last segment\n if (allSegments.length === 0) {\n return {\n domain,\n segments: [],\n fullPath: domain,\n }\n }\n\n const segments: string[] = []\n\n // Calculate from the end\n let currentLength = domain.length\n\n // Try to fit segments from the end\n for (let i = allSegments.length - 1; i >= 0; i--) {\n const segment = allSegments[i]\n\n // Always include at least the last segment\n if (segments.length === 0) {\n currentLength += segment.length + 1\n segments.unshift(segment)\n } else if (currentLength + segment.length + 1 <= props.maxLength) {\n currentLength += segment.length + 1\n segments.unshift(segment)\n } else {\n segments.unshift('...')\n break\n }\n }\n\n return {\n domain,\n segments,\n fullPath: domain + '/' + segments.join('/'),\n }\n })\n</script>\n\n<template>\n <Component\n :is=\"muted ? 'span' : 'a'\"\n class=\"pk-url\"\n :href=\"muted ? undefined : props.url\"\n :target=\"muted ? undefined : props.target\"\n :rel=\"muted ? undefined : props.rel\">\n <span v-if=\"isResolving\" class=\"pk-url__skeleton vv-skeleton\">\n <span class=\"vv-skeleton__item\" />\n </span>\n <template v-else>\n <span :class=\"['pk-url__domain', domainClass]\">{{\n truncatedUrl.domain\n }}</span>\n <template\n v-for=\"(segment, index) in truncatedUrl.segments\"\n :key=\"index\">\n <span class=\"pk-url__separator\">›</span>\n <span class=\"pk-url__segment\">{{ segment }}</span>\n </template>\n </template>\n </Component>\n</template>\n\n<style lang=\"scss\">\n @layer volver.components {\n .pk-url {\n display: inline-flex;\n align-items: center;\n gap: 0.5ch;\n }\n\n .pk-url__skeleton {\n display: inline-flex;\n width: 12ch;\n max-width: 100%;\n\n .vv-skeleton__item {\n width: 100%;\n height: 1em;\n border-radius: 0.25em;\n }\n }\n }\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAaI,IAAMgB,IAAQC,GAUR,EAAE,eAAYN,EAAoB,GAClCO,IAAWC,QAAcH,EAAM,GAAG,GAClCI,IAAaC,QAAeH,EAAS,MAAM,GAAG,GAC9CI,IAAcD,QAAeH,EAAS,MAAM,OAAO,GAEnDK,IAAYF,QAAe;GAC7B,IAAI;IACA,IAAMG,IAAS,IAAI,IAAIJ,EAAW,SAASJ,EAAM,GAAG,GAChDS,IAAWD,EAAO;IAGtB,AAAIC,EAAS,WAAW,MAAM,MAC1B,IAAWA,EAAS,UAAU,CAAC;IAInC,IAAIC,IAAWF,EAAO;IACtB,AAAIE,MAAa,QACb,IAAW;IAIf,IAAMC,IAAWD,EACZ,MAAM,GAAG,CAAA,CACT,QAAQ,MAAYE,EAAQ,SAAS,CAAC;IAE3C,OAAO;KACH,QAAQH;KACR;KACA,UAAUA,IAAWC;IACzB;GACJ,QAAQ;IAEJ,IAAMG,IAAWT,EAAW,SAASJ,EAAM;IAC3C,OAAO;KACH,QAAQa;KACR,UAAU,CAAC;KACX,UAAUA;IACd;GACJ;EACJ,CAAC,GAEKC,IAAeT,QAAe;GAChC,IAAIE,EAAU,MAAM,SAAS,UAAUP,EAAM,WACzC,OAAOO,EAAU;GAIrB,IAAMQ,IAASR,EAAU,MAAM,QACzBS,IAAcT,EAAU,MAAM;GAGpC,IAAIS,EAAY,WAAW,GACvB,OAAO;IACH;IACA,UAAU,CAAC;IACX,UAAUD;GACd;GAGJ,IAAMJ,IAAqB,CAAC,GAGxBM,IAAgBF,EAAO;GAG3B,KAAK,IAAIG,IAAIF,EAAY,SAAS,GAAGE,KAAK,GAAG,KAAK;IAC9C,IAAMN,IAAUI,EAAYE;IAG5B,IAAIP,EAAS,WAAW,GAEpB,AADA,KAAiBC,EAAQ,SAAS,GAClCD,EAAS,QAAQC,CAAO;SACrB,IAAIK,IAAgBL,EAAQ,SAAS,KAAKZ,EAAM,WAEnD,AADA,KAAiBY,EAAQ,SAAS,GAClCD,EAAS,QAAQC,CAAO;SACrB;KACH,EAAS,QAAQ,KAAK;KACtB;IACJ;GACJ;GAEA,OAAO;IACH;IACA;IACA,UAAUG,IAAS,MAAMJ,EAAS,KAAK,GAAG;GAC9C;EACJ,CAAC;oBAID3B,EAAA,GAAAC,EAoBYC,EAnBHe,EAAA,QAAK,SAAA,GAAA,GAAA;GACV,OAAM;GACL,MAAMA,EAAA,QAAQ,KAAA,IAAYD,EAAM;GAChC,QAAQC,EAAA,QAAQ,KAAA,IAAYD,EAAM;GAClC,KAAKC,EAAA,QAAQ,KAAA,IAAYD,EAAM;;GAChC,SAAAb,QAEO,CAFKmB,EAAA,SAAZtB,EAAA,GAAAI,EAEO,QAFPQ,GAEO,CAAA,GAAA,AAAA4B,EAAA,OAAA,CADHnC,EAAkC,QAAA,EAA5B,OAAM,oBAAmB,GAAA,MAAA,EAAA,CAAA,CAAA,CAAA,MAEnCL,EAAA,GAAAI,EAUWE,GAAA,EAAA,KAAA,EAAA,GAAA,CATPD,EAES,QAAA,EAFF,OAAKE,EAAA,CAAA,kBAAqBU,EAAA,WAAW,CAAA,EACxC,GAAAT,EAAAsB,EAAA,MAAa,MAAM,GAAA,CAAA,IAEvB9B,EAAA,EAAA,GAAAI,EAKWE,GAAA,MAAAG,EAJoBqB,EAAA,MAAa,WAAhC,GAAS,OACX9B,EAAA,GAAAI,EAAAE,GAAA,EAAA,KAAAwC,EAAK,GAAA,CACX,AAAAN,EAAA,OAAAnC,EAAwC,QAAA,EAAlC,OAAM,oBAAmB,GAAC,KAAC,EAAA,GACjCA,EAAkD,QAAlDQ,GAAkDL,EAAjBoB,CAAO,GAAA,CAAA,CAAA,GAAA,EAAA"}
|
package/dist-vue/_chunks/{createChatbotApiClient-B_mkyrEl.js → createChatbotApiClient-CDrs7NwO.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { C as e, S as t, _ as n, a as r, b as i, g as a, l as o, n as s, o as c, p as l, y as u } from "./schemas-BIfOAo0P.js";
|
|
2
2
|
import { i as d, t as ee } from "./Media-Dk4odudr.js";
|
|
3
|
-
import {
|
|
3
|
+
import { N as te, P as f, a as p, c as m, f as h, j as g, l as ne, n as re, s as ie, x as ae } from "./Agent---jwXeaB.js";
|
|
4
4
|
import { t as oe } from "./StreamError-D1AtGgS3.js";
|
|
5
5
|
import "./src-DT8FLE4_.js";
|
|
6
6
|
import { r as _, t as se } from "./url-validation-9DstIfq2.js";
|
|
@@ -67,16 +67,16 @@ n({
|
|
|
67
67
|
maxOutputTokens: a().positive().optional(),
|
|
68
68
|
presencePenalty: a().min(-2).max(2).optional(),
|
|
69
69
|
frequencyPenalty: a().min(-2).max(2).optional(),
|
|
70
|
-
searchMode: s(
|
|
70
|
+
searchMode: s(ne).optional(),
|
|
71
71
|
limit: a().optional(),
|
|
72
|
-
ranking:
|
|
72
|
+
ranking: ie.optional(),
|
|
73
73
|
reasoning: m,
|
|
74
74
|
webSearch: h.optional(),
|
|
75
75
|
maxStepCount: a().int().min(1).max(40).optional(),
|
|
76
|
-
disabledTools: r(s(
|
|
76
|
+
disabledTools: r(s(re)).optional(),
|
|
77
77
|
fallbackModels: r(i()).optional(),
|
|
78
|
-
gatewayOptions:
|
|
79
|
-
deviceContext:
|
|
78
|
+
gatewayOptions: p.partial().optional(),
|
|
79
|
+
deviceContext: g.optional(),
|
|
80
80
|
externalContext: u(i(), t()).optional(),
|
|
81
81
|
smoothStream: c().optional()
|
|
82
82
|
}), n({
|
|
@@ -104,7 +104,7 @@ function A(e) {
|
|
|
104
104
|
}
|
|
105
105
|
continue;
|
|
106
106
|
}
|
|
107
|
-
let n =
|
|
107
|
+
let n = te(e, r.keys()), s = n && r.get(n);
|
|
108
108
|
s && (t.state === "output-error" && oe.test(t.errorText ?? "") ? o.add(s) : a.add(s));
|
|
109
109
|
}
|
|
110
110
|
let s = new Set(n.selected), c = new Set(n.seeded), l = t.groups.map((e) => ({
|
|
@@ -509,6 +509,10 @@ function ze(e) {
|
|
|
509
509
|
let i = `${n}/agents/${encodeURIComponent(e)}/chats/${encodeURIComponent(t)}/media/${encodeURIComponent(r)}/view`;
|
|
510
510
|
return this.appendAuthToken(i);
|
|
511
511
|
},
|
|
512
|
+
getMediaDownloadUrl(e, t, r) {
|
|
513
|
+
let i = `${n}/agents/${encodeURIComponent(e)}/chats/${encodeURIComponent(t)}/media/${encodeURIComponent(r)}/download`;
|
|
514
|
+
return this.appendAuthToken(i);
|
|
515
|
+
},
|
|
512
516
|
async expandSourceContext(e, t, n, r = 2) {
|
|
513
517
|
return i(`/agents/${encodeURIComponent(e)}/sources/expand-context`, {
|
|
514
518
|
method: "POST",
|
|
@@ -553,7 +557,7 @@ function ze(e) {
|
|
|
553
557
|
return i(`/agents/${encodeURIComponent(e)}/mcp-oauth/status?${n}`);
|
|
554
558
|
},
|
|
555
559
|
async createVoiceSession(e, t, n) {
|
|
556
|
-
return
|
|
560
|
+
return ae.parse(await i(`/agents/${encodeURIComponent(e)}/voice/session`, {
|
|
557
561
|
method: "POST",
|
|
558
562
|
headers: { "Content-Type": "application/json" },
|
|
559
563
|
body: JSON.stringify({
|
|
@@ -580,4 +584,4 @@ function ze(e) {
|
|
|
580
584
|
//#endregion
|
|
581
585
|
export { A as a, j as i, Z as n, M as r, ze as t };
|
|
582
586
|
|
|
583
|
-
//# sourceMappingURL=createChatbotApiClient-
|
|
587
|
+
//# sourceMappingURL=createChatbotApiClient-CDrs7NwO.js.map
|