@8wave/ai-elements 0.119.0-beta.45 → 0.119.0-beta.49
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/_chunks/{Agent-Gdgpd3LA.js → Agent-DU38SnNd.js} +411 -247
- package/dist/_chunks/Agent-DU38SnNd.js.map +1 -0
- package/dist/_chunks/{PkChatbotFilePreview-3i9jZIdS.js → PkChatbotFilePreview-Bdi4_IFu.js} +2 -2
- package/dist/_chunks/PkChatbotFilePreview-Bdi4_IFu.js.map +1 -0
- package/dist/_chunks/{PkStreamingMarkdown-B1t1tBvW.js → PkStreamingMarkdown-pEgm7m-B.js} +6 -6
- package/dist/_chunks/PkStreamingMarkdown-pEgm7m-B.js.map +1 -0
- package/dist/_chunks/{PkToolEditSpreadsheet-Xzum_9NH.js → PkToolEditSpreadsheet-Ct9pdQJ1.js} +3 -3
- package/dist/_chunks/{PkToolEditSpreadsheet-Xzum_9NH.js.map → PkToolEditSpreadsheet-Ct9pdQJ1.js.map} +1 -1
- package/dist/_chunks/{PkToolRequestGeolocation-PxhQxMP1.js → PkToolRequestGeolocation-DzhrY8bg.js} +2 -2
- package/dist/_chunks/{PkToolRequestGeolocation-PxhQxMP1.js.map → PkToolRequestGeolocation-DzhrY8bg.js.map} +1 -1
- package/dist/_chunks/{PkToolRequestOAuthConnection-W3ilzpr7.js → PkToolRequestOAuthConnection-CzRKRGoG.js} +2 -2
- package/dist/_chunks/{PkToolRequestOAuthConnection-W3ilzpr7.js.map → PkToolRequestOAuthConnection-CzRKRGoG.js.map} +1 -1
- package/dist/_chunks/{PkToolShowArtifact-DGGEb2LF.js → PkToolShowArtifact-D6ZTw5vh.js} +2 -2
- package/dist/_chunks/{PkToolShowArtifact-DGGEb2LF.js.map → PkToolShowArtifact-D6ZTw5vh.js.map} +1 -1
- package/dist/_chunks/{PkToolShowContactForm-Dn6CEXF_.js → PkToolShowContactForm-CW7gKQ7h.js} +2 -2
- package/dist/_chunks/{PkToolShowContactForm-Dn6CEXF_.js.map → PkToolShowContactForm-CW7gKQ7h.js.map} +1 -1
- package/dist/_chunks/{PkToolShowForm-CbuToc8O.js → PkToolShowForm-D_2FmDwq.js} +3 -3
- package/dist/_chunks/{PkToolShowForm-CbuToc8O.js.map → PkToolShowForm-D_2FmDwq.js.map} +1 -1
- package/dist/_chunks/{PkToolShowImageGallery-Dh0v2Df8.js → PkToolShowImageGallery-KmMO4UuQ.js} +2 -2
- package/dist/_chunks/{PkToolShowImageGallery-Dh0v2Df8.js.map → PkToolShowImageGallery-KmMO4UuQ.js.map} +1 -1
- package/dist/_chunks/{PkToolShowProductList-bAis8u1t.js → PkToolShowProductList-cld-FOFb.js} +2 -2
- package/dist/_chunks/{PkToolShowProductList-bAis8u1t.js.map → PkToolShowProductList-cld-FOFb.js.map} +1 -1
- package/dist/_chunks/{PkToolShowSources-B1zXilsH.js → PkToolShowSources-DyzheirE.js} +3 -3
- package/dist/_chunks/{PkToolShowSources-B1zXilsH.js.map → PkToolShowSources-DyzheirE.js.map} +1 -1
- package/dist/_chunks/{PkToolShowSuggestedReply-BISQY1ce.js → PkToolShowSuggestedReply-xUBuqStM.js} +2 -2
- package/dist/_chunks/{PkToolShowSuggestedReply-BISQY1ce.js.map → PkToolShowSuggestedReply-xUBuqStM.js.map} +1 -1
- package/dist/_chunks/{PkToolShowVideo-DcMzLibC.js → PkToolShowVideo-KDNxItWl.js} +2 -2
- package/dist/_chunks/{PkToolShowVideo-DcMzLibC.js.map → PkToolShowVideo-KDNxItWl.js.map} +1 -1
- package/dist/_chunks/{PkToolShowWebPages-RuwkZDMH.js → PkToolShowWebPages-D35B7GzS.js} +2 -2
- package/dist/_chunks/{PkToolShowWebPages-RuwkZDMH.js.map → PkToolShowWebPages-D35B7GzS.js.map} +1 -1
- package/dist/_chunks/{chatImagePolicy-BL4O14e9.js → chatImagePolicy-B_6Xg-r7.js} +2 -2
- package/dist/_chunks/{chatImagePolicy-BL4O14e9.js.map → chatImagePolicy-B_6Xg-r7.js.map} +1 -1
- package/dist/_chunks/{markdown-DtdG9Krq.js → markdown-BKLfFJPr.js} +2 -2
- package/dist/_chunks/{markdown-DtdG9Krq.js.map → markdown-BKLfFJPr.js.map} +1 -1
- package/dist/ai-elements.es.js +2549 -2544
- package/dist/ai-elements.es.js.map +1 -1
- package/dist-vue/PkChatbot.js +1 -1
- package/dist-vue/PkChatbotAuth.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-DGCZCx4Y.js → Agent-DDm9cCaN.js} +2 -2
- package/dist-vue/_chunks/{Agent-DGCZCx4Y.js.map → Agent-DDm9cCaN.js.map} +1 -1
- package/dist-vue/_chunks/{Document-BZea8ewV.js → Document-CZemm1AR.js} +11 -11
- package/dist-vue/_chunks/{Document-BZea8ewV.js.map → Document-CZemm1AR.js.map} +1 -1
- package/dist-vue/_chunks/Media-D-UGzdcW.js +301 -0
- package/dist-vue/_chunks/Media-D-UGzdcW.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbot-BVWLvaXb.js → PkChatbot-viqlDa9r.js} +8 -8
- package/dist-vue/_chunks/{PkChatbot-BVWLvaXb.js.map → PkChatbot-viqlDa9r.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotAuth-BVZzjbK9.js → PkChatbotAuth-CHoEXxmg.js} +8 -8
- package/dist-vue/_chunks/{PkChatbotAuth-BVZzjbK9.js.map → PkChatbotAuth-CHoEXxmg.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotEmptyState-B7fZ51v1.js → PkChatbotEmptyState-B-2GZ2ZU.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotEmptyState-B7fZ51v1.js.map → PkChatbotEmptyState-B-2GZ2ZU.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotFilePreview-Lxgu89Hg.js → PkChatbotFilePreview-D8XyjDPJ.js} +2 -2
- package/dist-vue/_chunks/PkChatbotFilePreview-D8XyjDPJ.js.map +1 -0
- package/dist-vue/_chunks/PkChatbotInput-D4bT_1be.js +392 -0
- package/dist-vue/_chunks/PkChatbotInput-D4bT_1be.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotMessages-DHZNG6YM.js → PkChatbotMessages-BgcGen7D.js} +19 -19
- package/dist-vue/_chunks/{PkChatbotMessages-DHZNG6YM.js.map → PkChatbotMessages-BgcGen7D.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotStepPayload-DuI9ZYqp.js → PkChatbotStepPayload-CzCHmvUG.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotStepPayload-DuI9ZYqp.js.map → PkChatbotStepPayload-CzCHmvUG.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotStepToolDetail-B9hBMl15.js → PkChatbotStepToolDetail-qSHrVOGO.js} +3 -3
- package/dist-vue/_chunks/{PkChatbotStepToolDetail-B9hBMl15.js.map → PkChatbotStepToolDetail-qSHrVOGO.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotSteps-3qySSEYh.js → PkChatbotSteps-dgj6C2hA.js} +5 -5
- package/dist-vue/_chunks/{PkChatbotSteps-3qySSEYh.js.map → PkChatbotSteps-dgj6C2hA.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewChat-CLyoZH3C.js → PkChatbotViewChat-BtbE6V2u.js} +259 -258
- package/dist-vue/_chunks/PkChatbotViewChat-BtbE6V2u.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotViewConversations-BbXFoEOv.js → PkChatbotViewConversations-Cw9fL47_.js} +3 -3
- package/dist-vue/_chunks/{PkChatbotViewConversations-BbXFoEOv.js.map → PkChatbotViewConversations-Cw9fL47_.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewFiles-7vcERhnZ.js → PkChatbotViewFiles-DDEJqXct.js} +3 -3
- package/dist-vue/_chunks/{PkChatbotViewFiles-7vcERhnZ.js.map → PkChatbotViewFiles-DDEJqXct.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewProfile-RgFp-LpV.js → PkChatbotViewProfile-B79UynQ8.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotViewProfile-RgFp-LpV.js.map → PkChatbotViewProfile-B79UynQ8.js.map} +1 -1
- package/dist-vue/_chunks/{PkStreamingMarkdown-Bmm1kZpL.js → PkStreamingMarkdown-DXoUbGsP.js} +3 -3
- package/dist-vue/_chunks/{PkStreamingMarkdown-Bmm1kZpL.js.map → PkStreamingMarkdown-DXoUbGsP.js.map} +1 -1
- package/dist-vue/_chunks/{PkSvgViewer-DU8K_gAD.js → PkSvgViewer-CZASatr4.js} +2 -2
- package/dist-vue/_chunks/{PkSvgViewer-DU8K_gAD.js.map → PkSvgViewer-CZASatr4.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolEditSpreadsheet-BIQky1RK.js → PkToolEditSpreadsheet-Dcp3VFzY.js} +3 -3
- package/dist-vue/_chunks/{PkToolEditSpreadsheet-BIQky1RK.js.map → PkToolEditSpreadsheet-Dcp3VFzY.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolRequestGeolocation-CYEyXZSh.js → PkToolRequestGeolocation-DG4-qKRq.js} +2 -2
- package/dist-vue/_chunks/{PkToolRequestGeolocation-CYEyXZSh.js.map → PkToolRequestGeolocation-DG4-qKRq.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolRequestOAuthConnection-B243GJ1-.js → PkToolRequestOAuthConnection-CZhNEM-o.js} +2 -2
- package/dist-vue/_chunks/{PkToolRequestOAuthConnection-B243GJ1-.js.map → PkToolRequestOAuthConnection-CZhNEM-o.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowArtifact-CJG-B9mE.js → PkToolShowArtifact-BRtz1x7K.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowArtifact-CJG-B9mE.js.map → PkToolShowArtifact-BRtz1x7K.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowContactForm-CG1H7xBz.js → PkToolShowContactForm-D0CR80e2.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowContactForm-CG1H7xBz.js.map → PkToolShowContactForm-D0CR80e2.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowDiagram-Cq0457a3.js → PkToolShowDiagram-CYpqqWLo.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowDiagram-Cq0457a3.js.map → PkToolShowDiagram-CYpqqWLo.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowForm-IJ8B8_yT.js → PkToolShowForm-BIsu4XhQ.js} +4 -4
- package/dist-vue/_chunks/{PkToolShowForm-IJ8B8_yT.js.map → PkToolShowForm-BIsu4XhQ.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowImageGallery-ala8nlAj.js → PkToolShowImageGallery-DkEv-6Nu.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowImageGallery-ala8nlAj.js.map → PkToolShowImageGallery-DkEv-6Nu.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowProductList-BDg84ZQN.js → PkToolShowProductList-Dr2mQqsb.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowProductList-BDg84ZQN.js.map → PkToolShowProductList-Dr2mQqsb.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowSources-DaSijN_L.js → PkToolShowSources-CxUDh6cC.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowSources-DaSijN_L.js.map → PkToolShowSources-CxUDh6cC.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowSuggestedReply-CLEFPrHP.js → PkToolShowSuggestedReply-Cl3Pswi4.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowSuggestedReply-CLEFPrHP.js.map → PkToolShowSuggestedReply-Cl3Pswi4.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowVideo-FmE-IRE7.js → PkToolShowVideo-Bh1oagOm.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowVideo-FmE-IRE7.js.map → PkToolShowVideo-Bh1oagOm.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowWebPages-B554-MlD.js → PkToolShowWebPages-ilQ1qTEC.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowWebPages-B554-MlD.js.map → PkToolShowWebPages-ilQ1qTEC.js.map} +1 -1
- package/dist-vue/_chunks/{createChatbotApiClient-CDS3C4i6.js → createChatbotApiClient-DrUsRvCw.js} +3 -3
- package/dist-vue/_chunks/{createChatbotApiClient-CDS3C4i6.js.map → createChatbotApiClient-DrUsRvCw.js.map} +1 -1
- package/dist-vue/_chunks/{useChatbotStore-CBjBe7GI.js → useChatbotStore-DHmjHPR5.js} +3 -3
- package/dist-vue/_chunks/{useChatbotStore-CBjBe7GI.js.map → useChatbotStore-DHmjHPR5.js.map} +1 -1
- package/dist-vue/_chunks/{utils-Cvijhryt.js → utils-Bopp5IPf.js} +5 -5
- package/dist-vue/_chunks/utils-Bopp5IPf.js.map +1 -0
- package/dist-vue/api.js +1 -1
- package/dist-vue/composables.js +7 -5
- package/dist-vue/composables.js.map +1 -1
- package/dist-vue/index.js +5194 -5189
- package/dist-vue/index.js.map +1 -1
- package/dist-vue/locales.js +4 -0
- package/dist-vue/packages/models/src/schema/Media.d.ts +34 -0
- package/package.json +1 -1
- package/dist/_chunks/Agent-Gdgpd3LA.js.map +0 -1
- package/dist/_chunks/PkChatbotFilePreview-3i9jZIdS.js.map +0 -1
- package/dist/_chunks/PkStreamingMarkdown-B1t1tBvW.js.map +0 -1
- package/dist-vue/_chunks/Media-C6RS-s98.js +0 -139
- package/dist-vue/_chunks/Media-C6RS-s98.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotFilePreview-Lxgu89Hg.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotInput-Bo4Ewf6A.js +0 -388
- package/dist-vue/_chunks/PkChatbotInput-Bo4Ewf6A.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotViewChat-CLyoZH3C.js.map +0 -1
- package/dist-vue/_chunks/utils-Cvijhryt.js.map +0 -1
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { S as e, T as t, _ as n, k as r, l as i, m as a, o, r as s, t as c, u as l, v as u, x as d } from "./schemas-Bu1lick6.js";
|
|
2
|
+
//#region ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/coerce.js
|
|
3
|
+
function f(e) {
|
|
4
|
+
return r(c, e);
|
|
5
|
+
}
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region ../../packages/models/src/schema/Media.ts
|
|
8
|
+
var p = /^[a-z]+\/[a-z0-9\-+.]+$/i, m = [
|
|
9
|
+
"audio/mpeg",
|
|
10
|
+
"audio/mp4",
|
|
11
|
+
"audio/x-m4a",
|
|
12
|
+
"audio/aac",
|
|
13
|
+
"audio/wav",
|
|
14
|
+
"audio/x-wav",
|
|
15
|
+
"audio/wave",
|
|
16
|
+
"audio/ogg",
|
|
17
|
+
"audio/flac",
|
|
18
|
+
"audio/x-flac"
|
|
19
|
+
], h = new Set([
|
|
20
|
+
[".mp3", "audio/mpeg"],
|
|
21
|
+
[".m4a", "audio/mp4"],
|
|
22
|
+
[".m4a", "audio/x-m4a"],
|
|
23
|
+
[".aac", "audio/aac"],
|
|
24
|
+
[".wav", "audio/wav"],
|
|
25
|
+
[".wav", "audio/x-wav"],
|
|
26
|
+
[".wav", "audio/wave"],
|
|
27
|
+
[".ogg", "audio/ogg"],
|
|
28
|
+
[".oga", "audio/ogg"],
|
|
29
|
+
[".opus", "audio/ogg"],
|
|
30
|
+
[".flac", "audio/flac"],
|
|
31
|
+
[".flac", "audio/x-flac"]
|
|
32
|
+
].map(([e]) => e)), g = /* @__PURE__ */ new Set([
|
|
33
|
+
".amr",
|
|
34
|
+
".3ga",
|
|
35
|
+
".aif",
|
|
36
|
+
".aiff",
|
|
37
|
+
".caf",
|
|
38
|
+
".m4b",
|
|
39
|
+
".mka",
|
|
40
|
+
".weba",
|
|
41
|
+
".wma"
|
|
42
|
+
]), _ = (e) => e?.split(";")[0]?.trim().toLowerCase() ?? "", v = (e, t) => {
|
|
43
|
+
let n = L(e ?? "");
|
|
44
|
+
return _(t).startsWith("audio/") || h.has(n) || g.has(n);
|
|
45
|
+
}, y = [
|
|
46
|
+
{
|
|
47
|
+
extensions: [".html", ".htm"],
|
|
48
|
+
mimeType: "text/html",
|
|
49
|
+
aliases: []
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
extensions: [".css"],
|
|
53
|
+
mimeType: "text/css",
|
|
54
|
+
aliases: []
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
extensions: [".scss"],
|
|
58
|
+
mimeType: "text/x-scss",
|
|
59
|
+
aliases: ["text/scss"]
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
extensions: [
|
|
63
|
+
".js",
|
|
64
|
+
".mjs",
|
|
65
|
+
".cjs",
|
|
66
|
+
".jsx"
|
|
67
|
+
],
|
|
68
|
+
mimeType: "text/javascript",
|
|
69
|
+
aliases: [
|
|
70
|
+
"application/javascript",
|
|
71
|
+
"application/x-javascript",
|
|
72
|
+
"text/jsx"
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
extensions: [
|
|
77
|
+
".ts",
|
|
78
|
+
".mts",
|
|
79
|
+
".cts",
|
|
80
|
+
".tsx"
|
|
81
|
+
],
|
|
82
|
+
mimeType: "text/x-typescript",
|
|
83
|
+
aliases: [
|
|
84
|
+
"application/typescript",
|
|
85
|
+
"application/x-typescript",
|
|
86
|
+
"text/typescript",
|
|
87
|
+
"text/tsx",
|
|
88
|
+
"video/mp2t"
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
extensions: [".vue"],
|
|
93
|
+
mimeType: "text/x-vue",
|
|
94
|
+
aliases: []
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
extensions: [".json"],
|
|
98
|
+
mimeType: "application/json",
|
|
99
|
+
aliases: ["text/json", "text/x-json"]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
extensions: [".xml"],
|
|
103
|
+
mimeType: "application/xml",
|
|
104
|
+
aliases: ["text/xml"]
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
extensions: [".yaml", ".yml"],
|
|
108
|
+
mimeType: "application/yaml",
|
|
109
|
+
aliases: [
|
|
110
|
+
"application/x-yaml",
|
|
111
|
+
"text/yaml",
|
|
112
|
+
"text/x-yaml"
|
|
113
|
+
]
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
extensions: [".toml"],
|
|
117
|
+
mimeType: "application/toml",
|
|
118
|
+
aliases: ["text/x-toml"]
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
extensions: [".py"],
|
|
122
|
+
mimeType: "text/x-python",
|
|
123
|
+
aliases: ["text/x-python-script", "application/x-python"]
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
extensions: [".java"],
|
|
127
|
+
mimeType: "text/x-java",
|
|
128
|
+
aliases: ["text/x-java-source"]
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
extensions: [".kt"],
|
|
132
|
+
mimeType: "text/x-kotlin",
|
|
133
|
+
aliases: []
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
extensions: [".c", ".h"],
|
|
137
|
+
mimeType: "text/x-c",
|
|
138
|
+
aliases: ["text/x-csrc", "text/x-chdr"]
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
extensions: [
|
|
142
|
+
".cpp",
|
|
143
|
+
".cc",
|
|
144
|
+
".cxx",
|
|
145
|
+
".hpp"
|
|
146
|
+
],
|
|
147
|
+
mimeType: "text/x-c++",
|
|
148
|
+
aliases: ["text/x-c++src", "text/x-c++hdr"]
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
extensions: [".cs"],
|
|
152
|
+
mimeType: "text/x-csharp",
|
|
153
|
+
aliases: []
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
extensions: [".go"],
|
|
157
|
+
mimeType: "text/x-go",
|
|
158
|
+
aliases: []
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
extensions: [".rs"],
|
|
162
|
+
mimeType: "text/x-rust",
|
|
163
|
+
aliases: ["application/rls-services+xml"]
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
extensions: [".rb"],
|
|
167
|
+
mimeType: "text/x-ruby",
|
|
168
|
+
aliases: ["application/x-ruby"]
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
extensions: [".php"],
|
|
172
|
+
mimeType: "text/x-php",
|
|
173
|
+
aliases: ["application/x-php", "application/x-httpd-php"]
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
extensions: [".swift"],
|
|
177
|
+
mimeType: "text/x-swift",
|
|
178
|
+
aliases: []
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
extensions: [".sql"],
|
|
182
|
+
mimeType: "application/sql",
|
|
183
|
+
aliases: ["application/x-sql", "text/x-sql"]
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
extensions: [
|
|
187
|
+
".sh",
|
|
188
|
+
".bash",
|
|
189
|
+
".zsh"
|
|
190
|
+
],
|
|
191
|
+
mimeType: "text/x-sh",
|
|
192
|
+
aliases: [
|
|
193
|
+
"application/x-sh",
|
|
194
|
+
"application/x-shellscript",
|
|
195
|
+
"text/x-shellscript"
|
|
196
|
+
]
|
|
197
|
+
}
|
|
198
|
+
], b = y.map((e) => e.mimeType), x = (e) => y.filter((t) => e.includes(t.mimeType)).flatMap((e) => e.extensions), S = (e, t) => {
|
|
199
|
+
if (t.length === 0) return !0;
|
|
200
|
+
let n = y.filter((e) => t.includes(e.mimeType)), r = new Set(n.length > 0 ? [
|
|
201
|
+
"",
|
|
202
|
+
"application/octet-stream",
|
|
203
|
+
"text/plain",
|
|
204
|
+
...n.flatMap((e) => e.aliases)
|
|
205
|
+
] : []);
|
|
206
|
+
return e.length > 0 && e.every((e) => r.has(_(e)) || t.some((t) => e.includes(t)));
|
|
207
|
+
};
|
|
208
|
+
u({
|
|
209
|
+
status: s([
|
|
210
|
+
"ready",
|
|
211
|
+
"no-speech",
|
|
212
|
+
"failed",
|
|
213
|
+
"off"
|
|
214
|
+
]),
|
|
215
|
+
text: e().optional(),
|
|
216
|
+
language: e().optional(),
|
|
217
|
+
durationSeconds: n().optional(),
|
|
218
|
+
model: e().optional()
|
|
219
|
+
});
|
|
220
|
+
var C = /* @__PURE__ */ function(e) {
|
|
221
|
+
return e.DEFAULT = "default", e.COLD = "cold", e.HOT = "hot", e.ARCHIVE = "archive", e;
|
|
222
|
+
}({}), w = u({
|
|
223
|
+
type: a("azure-blob"),
|
|
224
|
+
blobUri: t(),
|
|
225
|
+
containerName: e().min(1),
|
|
226
|
+
pathRelativeToContainer: e().min(1)
|
|
227
|
+
}), T = u({
|
|
228
|
+
type: a("s3"),
|
|
229
|
+
bucket: e().min(1),
|
|
230
|
+
key: e().min(1),
|
|
231
|
+
region: e().min(1)
|
|
232
|
+
}), E = l("type", [w, T]), D = u({
|
|
233
|
+
type: e().min(1),
|
|
234
|
+
name: e().min(1),
|
|
235
|
+
mimeType: e().regex(p),
|
|
236
|
+
bytesCount: n().positive(),
|
|
237
|
+
extension: e().regex(/^\.[a-zA-Z0-9]+$/).overwrite((e) => e.toLowerCase()),
|
|
238
|
+
storedFileName: e().optional(),
|
|
239
|
+
metadata: d(e(), e()).default({}),
|
|
240
|
+
tags: d(e(), e()).default({})
|
|
241
|
+
}).extend({
|
|
242
|
+
storageHandle: E,
|
|
243
|
+
storagePolicy: s(C),
|
|
244
|
+
signData: e().optional(),
|
|
245
|
+
storedFileName: e().min(1)
|
|
246
|
+
}), O = u({
|
|
247
|
+
name: e().min(1),
|
|
248
|
+
src: D,
|
|
249
|
+
srcSet: o(D).default([]),
|
|
250
|
+
rawOptions: i().optional()
|
|
251
|
+
});
|
|
252
|
+
u({
|
|
253
|
+
src: D,
|
|
254
|
+
uploadHandle: u({
|
|
255
|
+
uploadSasuri: t(),
|
|
256
|
+
metadata: d(e(), e()).default({}),
|
|
257
|
+
tags: d(e(), e()).default({})
|
|
258
|
+
})
|
|
259
|
+
}), u({
|
|
260
|
+
src: D,
|
|
261
|
+
downloadHandle: u({
|
|
262
|
+
downloadSasuri: t(),
|
|
263
|
+
viewSasuri: t(),
|
|
264
|
+
previewSasuri: t().optional(),
|
|
265
|
+
expiresOn: e().datetime(),
|
|
266
|
+
type: e()
|
|
267
|
+
})
|
|
268
|
+
});
|
|
269
|
+
var k = /* @__PURE__ */ function(e) {
|
|
270
|
+
return e.picture = "picture", e.video = "video", e.audio = "audio", e.office = "office", e.archive = "archive", e.binary = "binary", e.executable = "executable", e;
|
|
271
|
+
}({}), A = u({
|
|
272
|
+
type: a(k.picture),
|
|
273
|
+
width: n().positive(),
|
|
274
|
+
height: n().positive(),
|
|
275
|
+
blurhash: e().optional()
|
|
276
|
+
}), j = u({
|
|
277
|
+
type: a(k.video),
|
|
278
|
+
width: n().positive(),
|
|
279
|
+
height: n().positive(),
|
|
280
|
+
duration: n().nonnegative()
|
|
281
|
+
}), M = u({
|
|
282
|
+
type: a(k.audio),
|
|
283
|
+
duration: n().nonnegative()
|
|
284
|
+
}), N = u({ type: a(k.office) }), P = u({ type: a(k.archive) }), F = u({ type: a(k.binary) }), I = u({ type: a(k.executable) });
|
|
285
|
+
l("type", [
|
|
286
|
+
A,
|
|
287
|
+
j,
|
|
288
|
+
M,
|
|
289
|
+
N,
|
|
290
|
+
P,
|
|
291
|
+
F,
|
|
292
|
+
I
|
|
293
|
+
]);
|
|
294
|
+
var L = (e) => {
|
|
295
|
+
let t = e.lastIndexOf(".");
|
|
296
|
+
return t === -1 ? "" : e.slice(t).toLowerCase();
|
|
297
|
+
};
|
|
298
|
+
//#endregion
|
|
299
|
+
export { b as a, v as c, m as i, f as l, O as n, S as o, k as r, x as s, p as t };
|
|
300
|
+
|
|
301
|
+
//# sourceMappingURL=Media-D-UGzdcW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Media-D-UGzdcW.js","names":["core._coercedDate","schemas.ZodDate","z.object","z.enum","z.string","z.number","z.literal","z.url","z.discriminatedUnion","z.record","z.array","z.custom","string","url","number","_coercedDate","custom","literal","_enum","ZodDate","discriminatedUnion","object","record","date","params","MIME_TYPE_REGEX","SUPPORTED_AUDIO_TYPES","AUDIO_EXTENSIONS","extension","OTHER_AUDIO_EXTENSIONS","bareMimeType","mimeType","isAudioFile","getExtensionFromFilename","name","CODE_FILE_FORMATS","SUPPORTED_CODE_TYPES","format","codeExtensionsOf","mimeTypes","chatDropAccepts","allowedMimeTypes","code","loose","types","type","allowed","StoragePolicy","\"DEFAULT\"","\"COLD\"","\"HOT\"","\"ARCHIVE\"","AzureBlobStorageHandleSchema","S3StorageHandleSchema","StorageHandleSchema","MediaSourceSchema","ext","MediaSchema","array","MediaType","\"picture\"","\"video\"","\"audio\"","\"office\"","\"archive\"","\"binary\"","\"executable\"","PictureRawOptionsSchema","VideoRawOptionsSchema","AudioRawOptionsSchema","OfficeRawOptionsSchema","ArchiveRawOptionsSchema","BinaryRawOptionsSchema","ExecutableRawOptionsSchema","lastDot","filename"],"sources":["../../../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/coerce.js","../../../../packages/models/src/schema/Media.ts"],"sourcesContent":["import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport function string(params) {\n return core._coercedString(schemas.ZodString, params);\n}\nexport function number(params) {\n return core._coercedNumber(schemas.ZodNumber, params);\n}\nexport function boolean(params) {\n return core._coercedBoolean(schemas.ZodBoolean, params);\n}\nexport function bigint(params) {\n return core._coercedBigint(schemas.ZodBigInt, params);\n}\nexport function date(params) {\n return core._coercedDate(schemas.ZodDate, params);\n}\n","import { z } from 'zod'\n\n// ===== Constants =====\n\nexport const MAX_FILE_SIZE = 100 * 1024 * 1024 // 100MB\n\n/**\n * The largest audio that is transcribed (spec `audio-file-transcription.md`,\n * D2): about seven hours of m4a at 32 kbps, ten minutes of CD quality wav.\n * The SDK sends it as base64 inside a JSON body, so a job holds about four\n * times this in memory. The upload alert\n * (`problemReasons.file-upload-validation.audio-too-large`) states it in MB.\n */\nexport const MAX_AUDIO_FILE_SIZE = MAX_FILE_SIZE\n\n/**\n * The largest audio a chat accepts, whatever the agent's own cap (spec\n * `audio-file-transcription.md`, D4, decided 2026-10-14): the turn transcribes\n * it before the answer starts, and 25 MB (about an hour and forty minutes of\n * m4a at 32 kbps) keeps that wait within a minute or two, short of what a\n * proxy tolerates before the first byte.\n */\nexport const MAX_CHAT_AUDIO_FILE_SIZE = 25 * 1024 * 1024\n\nexport const MIME_TYPE_REGEX = /^[a-z]+\\/[a-z0-9\\-+.]+$/i\n\nexport const SUPPORTED_IMAGE_TYPES = [\n 'image/jpeg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n 'image/svg+xml',\n] as const\n\nexport const SUPPORTED_VIDEO_TYPES = [\n 'video/mp4',\n 'video/webm',\n 'video/ogg',\n] as const\n\n/**\n * The audio a transcription model reads (spec `audio-file-transcription.md`,\n * D2), by every type a browser or a drive declares for it: an m4a arrives as\n * `audio/mp4` or `audio/x-m4a` depending on the system, a wav as any of three.\n * `audio/webm`, what a browser records, waits for a test.\n */\nexport const SUPPORTED_AUDIO_TYPES = [\n 'audio/mpeg',\n 'audio/mp4',\n 'audio/x-m4a',\n 'audio/aac',\n 'audio/wav',\n 'audio/x-wav',\n 'audio/wave',\n 'audio/ogg',\n 'audio/flac',\n 'audio/x-flac',\n] as const\n\n/**\n * Each extension of the audio in {@link SUPPORTED_AUDIO_TYPES} with a type it\n * is declared as: the one table both directions read (spec\n * `voice-notes-platform-channels.md`, D3). From a type to the extension its\n * stored file takes, the first pair with that type; from an extension to the\n * type of a file that came without one (Teams), the first pair with that\n * extension. `.oga` and `.opus` are ogg files no type names apart.\n */\nconst AUDIO_EXTENSION_TYPES: ReadonlyArray<\n readonly [\n extension: string,\n mimeType: (typeof SUPPORTED_AUDIO_TYPES)[number],\n ]\n> = [\n ['.mp3', 'audio/mpeg'],\n ['.m4a', 'audio/mp4'],\n ['.m4a', 'audio/x-m4a'],\n ['.aac', 'audio/aac'],\n ['.wav', 'audio/wav'],\n ['.wav', 'audio/x-wav'],\n ['.wav', 'audio/wave'],\n ['.ogg', 'audio/ogg'],\n ['.oga', 'audio/ogg'],\n ['.opus', 'audio/ogg'],\n ['.flac', 'audio/flac'],\n ['.flac', 'audio/x-flac'],\n]\n\n/** The extensions of {@link SUPPORTED_AUDIO_TYPES}, for a file whose type says nothing. */\nconst AUDIO_EXTENSIONS = new Set(\n AUDIO_EXTENSION_TYPES.map(([extension]) => extension),\n)\n\n/**\n * The extension a stored audio of this bare type takes (`.m4a` for\n * `audio/x-m4a`), or undefined for a type the transcription does not read.\n */\nexport const audioExtensionFor = (mimeType: string): string | undefined =>\n AUDIO_EXTENSION_TYPES.find(([, type]) => type === mimeType)?.[0]\n\n/**\n * The type of an audio named with this extension (`audio/ogg` for `.opus`),\n * or undefined for an extension the transcription does not read.\n */\nexport const audioMimeTypeFor = (extension: string): string | undefined =>\n AUDIO_EXTENSION_TYPES.find(([ext]) => ext === extension.toLowerCase())?.[1]\n\n/** Audio no transcription reads, still to keep away from a model. */\nconst OTHER_AUDIO_EXTENSIONS = new Set([\n '.amr',\n '.3ga',\n '.aif',\n '.aiff',\n '.caf',\n '.m4b',\n '.mka',\n '.weba',\n '.wma',\n])\n\n/** A MIME type without its parameters: `audio/ogg; codecs=opus` is `audio/ogg`. */\nconst bareMimeType = (mimeType?: string): string =>\n mimeType?.split(';')[0]?.trim().toLowerCase() ?? ''\n\nconst hasAudioExtension = (name = ''): boolean =>\n AUDIO_EXTENSIONS.has(getExtensionFromFilename(name))\n\n/**\n * Whether a file is audio of any kind, read or not: what a channel that does\n * not transcribe has to keep away from the model, since most models refuse an\n * audio part and the whole turn with it.\n */\nexport const isAudioFile = (name?: string, mimeType?: string): boolean => {\n const extension = getExtensionFromFilename(name ?? '')\n return (\n bareMimeType(mimeType).startsWith('audio/') ||\n AUDIO_EXTENSIONS.has(extension) ||\n OTHER_AUDIO_EXTENSIONS.has(extension)\n )\n}\n\n/**\n * Whether a file is audio the transcription reads: by its type, else by its\n * extension when the type says nothing (none, `application/octet-stream`) or\n * is another system's name for an audio of ours (`audio/mp3`,\n * `audio/vnd.wave`, `audio/opus`): the model reads the bytes, not the type.\n */\nexport const isTranscribableAudio = (\n name?: string,\n mimeType?: string,\n): boolean => {\n const bare = bareMimeType(mimeType)\n if ((SUPPORTED_AUDIO_TYPES as readonly string[]).includes(bare)) {\n return true\n }\n return (\n (bare === '' ||\n bare === 'application/octet-stream' ||\n bare.startsWith('audio/')) &&\n hasAudioExtension(name)\n )\n}\n\n/**\n * The type a file the transcription reads is handled as (spec\n * `voice-notes-platform-channels.md`, D1): its own without parameters\n * (`audio/ogg; codecs=opus` is `audio/ogg`), or the one its extension names\n * when {@link isTranscribableAudio} took it by the extension. Undefined for a\n * file the transcription does not read.\n */\nexport const transcribableAudioType = (\n name?: string,\n mimeType?: string,\n): string | undefined => {\n if (!isTranscribableAudio(name, mimeType)) {\n return undefined\n }\n const bare = bareMimeType(mimeType)\n return (SUPPORTED_AUDIO_TYPES as readonly string[]).includes(bare)\n ? bare\n : audioMimeTypeFor(getExtensionFromFilename(name ?? ''))\n}\n\n/**\n * Source code and structured text a chat takes as an attachment (the \"Code\"\n * category of an agent's file types, off until the admin turns it on), one\n * row per format: the extensions it goes by, the type it is allowed and\n * stored as, and the other names a browser or a system declares it with\n * (most systems call a `.ts` `video/mp2t`, and many send a `.py` with no type\n * at all). The model reads the content as text, never the file: a provider\n * takes a file part for images and PDFs, plain text at most.\n *\n * A format added here is not allowed on an agent that turned the category on\n * before: the settings show the category off there, until the admin turns it\n * on again.\n */\nconst CODE_FILE_FORMATS: ReadonlyArray<{\n extensions: readonly string[]\n mimeType: string\n aliases: readonly string[]\n}> = [\n { extensions: ['.html', '.htm'], mimeType: 'text/html', aliases: [] },\n { extensions: ['.css'], mimeType: 'text/css', aliases: [] },\n { extensions: ['.scss'], mimeType: 'text/x-scss', aliases: ['text/scss'] },\n {\n extensions: ['.js', '.mjs', '.cjs', '.jsx'],\n mimeType: 'text/javascript',\n aliases: [\n 'application/javascript',\n 'application/x-javascript',\n 'text/jsx',\n ],\n },\n {\n extensions: ['.ts', '.mts', '.cts', '.tsx'],\n mimeType: 'text/x-typescript',\n aliases: [\n 'application/typescript',\n 'application/x-typescript',\n 'text/typescript',\n 'text/tsx',\n 'video/mp2t',\n ],\n },\n { extensions: ['.vue'], mimeType: 'text/x-vue', aliases: [] },\n {\n extensions: ['.json'],\n mimeType: 'application/json',\n aliases: ['text/json', 'text/x-json'],\n },\n {\n extensions: ['.xml'],\n mimeType: 'application/xml',\n aliases: ['text/xml'],\n },\n {\n extensions: ['.yaml', '.yml'],\n mimeType: 'application/yaml',\n aliases: ['application/x-yaml', 'text/yaml', 'text/x-yaml'],\n },\n {\n extensions: ['.toml'],\n mimeType: 'application/toml',\n aliases: ['text/x-toml'],\n },\n {\n extensions: ['.py'],\n mimeType: 'text/x-python',\n aliases: ['text/x-python-script', 'application/x-python'],\n },\n {\n extensions: ['.java'],\n mimeType: 'text/x-java',\n aliases: ['text/x-java-source'],\n },\n { extensions: ['.kt'], mimeType: 'text/x-kotlin', aliases: [] },\n {\n extensions: ['.c', '.h'],\n mimeType: 'text/x-c',\n aliases: ['text/x-csrc', 'text/x-chdr'],\n },\n {\n extensions: ['.cpp', '.cc', '.cxx', '.hpp'],\n mimeType: 'text/x-c++',\n aliases: ['text/x-c++src', 'text/x-c++hdr'],\n },\n { extensions: ['.cs'], mimeType: 'text/x-csharp', aliases: [] },\n { extensions: ['.go'], mimeType: 'text/x-go', aliases: [] },\n {\n extensions: ['.rs'],\n mimeType: 'text/x-rust',\n aliases: ['application/rls-services+xml'],\n },\n {\n extensions: ['.rb'],\n mimeType: 'text/x-ruby',\n aliases: ['application/x-ruby'],\n },\n {\n extensions: ['.php'],\n mimeType: 'text/x-php',\n aliases: ['application/x-php', 'application/x-httpd-php'],\n },\n { extensions: ['.swift'], mimeType: 'text/x-swift', aliases: [] },\n {\n extensions: ['.sql'],\n mimeType: 'application/sql',\n aliases: ['application/x-sql', 'text/x-sql'],\n },\n {\n extensions: ['.sh', '.bash', '.zsh'],\n mimeType: 'text/x-sh',\n aliases: [\n 'application/x-sh',\n 'application/x-shellscript',\n 'text/x-shellscript',\n ],\n },\n]\n\n/** The types of {@link CODE_FILE_FORMATS}, what the \"Code\" category allows. */\nexport const SUPPORTED_CODE_TYPES: readonly string[] = CODE_FILE_FORMATS.map(\n (format) => format.mimeType,\n)\n\n/** The text a chat reads besides code: the \"Text\" category. */\nconst PLAIN_TEXT_TYPES = ['text/plain', 'text/markdown', 'text/csv']\n\n/**\n * Whether the model reads a chat attachment of this type as text: the\n * content goes into the message, the file never reaches the provider.\n */\nexport const isTextAttachmentType = (mimeType?: string): boolean => {\n const bare = bareMimeType(mimeType)\n return (\n PLAIN_TEXT_TYPES.includes(bare) || SUPPORTED_CODE_TYPES.includes(bare)\n )\n}\n\n/**\n * The extension a stored code file of this type takes (`.js` for\n * `text/javascript`), or undefined for a type that is not code.\n */\nexport const codeExtensionFor = (mimeType: string): string | undefined =>\n CODE_FILE_FORMATS.find((format) => format.mimeType === mimeType)\n ?.extensions[0]\n\n/**\n * The extensions of the code types among `mimeTypes`, for a file picker: a\n * browser filters by type, and knows few of these.\n */\nexport const codeExtensionsOf = (mimeTypes: readonly string[]): string[] =>\n CODE_FILE_FORMATS.filter((format) =>\n mimeTypes.includes(format.mimeType),\n ).flatMap((format) => format.extensions)\n\n/**\n * The type a chat upload is checked and stored as: the declared one when the\n * agent allows it. Otherwise, for a file whose extension names a code format\n * the agent allows, that format's type, when the declared one says nothing\n * (none, `application/octet-stream`, `text/plain`) or is another system's name\n * for it. Anything else keeps its declared type, which the allow-list then\n * refuses.\n */\nexport const chatUploadMimeType = (\n name: string | undefined,\n declaredMimeType: string | undefined,\n allowedMimeTypes: readonly string[],\n): string => {\n const bare = bareMimeType(declaredMimeType)\n if (allowedMimeTypes.includes(bare)) {\n return bare\n }\n const extension = getExtensionFromFilename(name ?? '')\n const format = CODE_FILE_FORMATS.find((candidate) =>\n candidate.extensions.includes(extension),\n )\n const saysNothing =\n bare === '' ||\n bare === 'application/octet-stream' ||\n bare === 'text/plain'\n return format &&\n allowedMimeTypes.includes(format.mimeType) &&\n (saysNothing || format.aliases.includes(bare))\n ? format.mimeType\n : (declaredMimeType ?? '')\n}\n\n/**\n * Whether a chat drop zone takes files of these types, read while they are\n * dragged and their names are still unknown: each one allowed, or, when the\n * agent allows code, a type a code file comes with (none,\n * `application/octet-stream`, another system's name for it). The upload\n * decides by the name ({@link chatUploadMimeType}).\n */\nexport const chatDropAccepts = (\n types: readonly string[],\n allowedMimeTypes: readonly string[],\n): boolean => {\n if (allowedMimeTypes.length === 0) {\n return true\n }\n const code = CODE_FILE_FORMATS.filter((format) =>\n allowedMimeTypes.includes(format.mimeType),\n )\n const loose = new Set(\n code.length > 0\n ? [\n '',\n 'application/octet-stream',\n 'text/plain',\n ...code.flatMap((format) => format.aliases),\n ]\n : [],\n )\n return (\n types.length > 0 &&\n types.every(\n (type) =>\n loose.has(bareMimeType(type)) ||\n allowedMimeTypes.some((allowed) => type.includes(allowed)),\n )\n )\n}\n\n/**\n * What a chat turn made of an audio the user attached (spec\n * `audio-file-transcription.md`, D4), kept on its file part\n * (`providerMetadata['8bot'].transcript`) and on its `chat_attachments` row:\n * the transcript in paragraphs opened by their time, or why there is none.\n * `off` is an organization that does not use the platform gateway, where\n * nothing is transcribed and nothing is charged.\n */\nexport const ChatAudioTranscriptSchema = z.object({\n status: z.enum(['ready', 'no-speech', 'failed', 'off']),\n text: z.string().optional(),\n /** ISO 639-1, when the model detected it. */\n language: z.string().optional(),\n durationSeconds: z.number().optional(),\n model: z.string().optional(),\n})\nexport type ChatAudioTranscript = z.infer<typeof ChatAudioTranscriptSchema>\n\n// ===== Enums =====\n\nexport enum StoragePolicy {\n DEFAULT = 'default',\n COLD = 'cold',\n HOT = 'hot',\n ARCHIVE = 'archive',\n}\n\nexport enum PreviewStatus {\n Pending = 'pending',\n Done = 'done',\n Failed = 'failed',\n}\n\n// ===== Storage Handle Schemas =====\n\nconst AzureBlobStorageHandleSchema = z.object({\n type: z.literal('azure-blob'),\n blobUri: z.url(),\n containerName: z.string().min(1),\n pathRelativeToContainer: z.string().min(1),\n})\n\nconst S3StorageHandleSchema = z.object({\n type: z.literal('s3'),\n bucket: z.string().min(1),\n key: z.string().min(1),\n region: z.string().min(1),\n})\n\nconst StorageHandleSchema = z.discriminatedUnion('type', [\n AzureBlobStorageHandleSchema,\n S3StorageHandleSchema,\n])\n\n// ===== Media Upload Schema =====\n\n/**\n * Media upload information for preparing a file upload\n */\nexport const MediaUploadSchema = z.object({\n /** Media type category (picture, video, audio, etc.) */\n type: z.string().min(1),\n /** Original filename */\n name: z.string().min(1),\n /** MIME type (e.g., 'image/jpeg') */\n mimeType: z.string().regex(MIME_TYPE_REGEX),\n /** File size in bytes (must be positive) */\n bytesCount: z.number().positive(),\n /** File extension with dot (e.g., '.jpg') */\n extension: z\n .string()\n .regex(/^\\.[a-zA-Z0-9]+$/)\n .overwrite((ext) => ext.toLowerCase()),\n /** Optional custom stored filename */\n storedFileName: z.string().optional(),\n /** Additional metadata key-value pairs */\n metadata: z.record(z.string(), z.string()).default({}),\n /** Storage tags for categorization */\n tags: z.record(z.string(), z.string()).default({}),\n})\nexport type MediaUpload = z.infer<typeof MediaUploadSchema>\n\n// ===== Media Source Schema =====\n\n/**\n * Complete media source information including storage details\n */\nexport const MediaSourceSchema = MediaUploadSchema.extend({\n /** Storage backend configuration */\n storageHandle: StorageHandleSchema,\n /** Storage tier/policy */\n storagePolicy: z.enum(StoragePolicy),\n /** Optional signature data for verification */\n signData: z.string().optional(),\n /** Actual stored filename (required) */\n storedFileName: z.string().min(1),\n})\nexport type MediaSource = z.infer<typeof MediaSourceSchema>\n\n// ===== Media Schema =====\n\n/**\n * Complete media object with source and optional variants\n */\nexport const MediaSchema = z.object({\n /** Display name for the media */\n name: z.string().min(1),\n /** Primary media source */\n src: MediaSourceSchema,\n /** Optional additional sources (e.g., different resolutions) */\n srcSet: z.array(MediaSourceSchema).default([]),\n /** Type-specific metadata (dimensions, duration, etc.) */\n rawOptions: z.custom<RawOptions>().optional(),\n})\nexport type Media = z.infer<typeof MediaSchema>\n\n// ===== Upload Handle Schema =====\n\n/**\n * Upload handle containing SAS URI and metadata for client-side upload\n */\nexport const MediaUploadHandleSchema = z.object({\n /** Media source information */\n src: MediaSourceSchema,\n /** Upload credentials and metadata */\n uploadHandle: z.object({\n /** Shared Access Signature URI for upload */\n uploadSasuri: z.url(),\n /** Metadata to attach to the blob */\n metadata: z.record(z.string(), z.string()).default({}),\n /** Tags to attach to the blob */\n tags: z.record(z.string(), z.string()).default({}),\n }),\n})\nexport type MediaUploadHandle = z.infer<typeof MediaUploadHandleSchema>\n\n// ===== Download Handle Schema =====\n\n/**\n * Download handle containing SAS URIs for different access patterns\n */\nexport const MediaDownloadHandleSchema = z.object({\n /** Media source information */\n src: MediaSourceSchema,\n /** Download credentials and URIs */\n downloadHandle: z.object({\n /** SAS URI for file download */\n downloadSasuri: z.url(),\n /** SAS URI for inline viewing */\n viewSasuri: z.url(),\n /** Optional SAS URI for preview thumbnail */\n previewSasuri: z.url().optional(),\n /** Expiration timestamp for the SAS URIs */\n expiresOn: z.string().datetime(),\n /** Storage backend type */\n type: z.string(),\n }),\n})\nexport type MediaDownloadHandle = z.infer<typeof MediaDownloadHandleSchema>\n\n// ===== Media Types =====\n\nexport enum MediaType {\n picture = 'picture',\n video = 'video',\n audio = 'audio',\n office = 'office',\n archive = 'archive',\n binary = 'binary',\n executable = 'executable',\n}\n\n// ===== Raw Options Schemas =====\n\nconst PictureRawOptionsSchema = z.object({\n type: z.literal(MediaType.picture),\n width: z.number().positive(),\n height: z.number().positive(),\n blurhash: z.string().optional(),\n})\n\nconst VideoRawOptionsSchema = z.object({\n type: z.literal(MediaType.video),\n width: z.number().positive(),\n height: z.number().positive(),\n duration: z.number().nonnegative(),\n})\n\nconst AudioRawOptionsSchema = z.object({\n type: z.literal(MediaType.audio),\n duration: z.number().nonnegative(),\n})\n\nconst OfficeRawOptionsSchema = z.object({\n type: z.literal(MediaType.office),\n})\n\nconst ArchiveRawOptionsSchema = z.object({\n type: z.literal(MediaType.archive),\n})\n\nconst BinaryRawOptionsSchema = z.object({\n type: z.literal(MediaType.binary),\n})\n\nconst ExecutableRawOptionsSchema = z.object({\n type: z.literal(MediaType.executable),\n})\n\nexport const RawOptionsSchema = z.discriminatedUnion('type', [\n PictureRawOptionsSchema,\n VideoRawOptionsSchema,\n AudioRawOptionsSchema,\n OfficeRawOptionsSchema,\n ArchiveRawOptionsSchema,\n BinaryRawOptionsSchema,\n ExecutableRawOptionsSchema,\n])\n\n// ===== Raw Options Types =====\n\n// ===== Raw Options Types =====\n\nexport type PictureRawOptions = z.infer<typeof PictureRawOptionsSchema>\nexport type VideoRawOptions = z.infer<typeof VideoRawOptionsSchema>\nexport type AudioRawOptions = z.infer<typeof AudioRawOptionsSchema>\nexport type OfficeRawOptions = z.infer<typeof OfficeRawOptionsSchema>\nexport type ArchiveRawOptions = z.infer<typeof ArchiveRawOptionsSchema>\nexport type BinaryRawOptions = z.infer<typeof BinaryRawOptionsSchema>\nexport type ExecutableRawOptions = z.infer<typeof ExecutableRawOptionsSchema>\n\nexport type RawOptions = z.infer<typeof RawOptionsSchema>\n\n// ===== Uploaded File Type =====\n\nexport type UploadedFile<Source = undefined> = Source extends undefined\n ? {\n name: string\n size: number\n type: string\n url: string\n lastModified?: number\n }\n : {\n name: string\n size: number\n type: string\n url: string\n lastModified?: number\n source: Source\n }\n\n// ===== Helper Functions =====\n\n/**\n * Check if a MIME type is a supported image format\n */\nexport const isSupportedImageType = (mimeType: string): boolean => {\n return mimeType.startsWith('image/')\n}\n\n/**\n * Check if a MIME type supports preview generation\n */\nexport const isSupportedPreviewType = (mimeType: string): boolean => {\n return mimeType.startsWith('image/') || mimeType === 'application/pdf'\n}\n\n/**\n * Determine MediaType from MIME type\n */\nexport const getMediaTypeFromMime = (mimeType: string): MediaType => {\n if (mimeType.startsWith('image/')) {\n return MediaType.picture\n }\n if (mimeType.startsWith('video/')) {\n return MediaType.video\n }\n if (mimeType.startsWith('audio/')) {\n return MediaType.audio\n }\n if (\n mimeType.startsWith('application/pdf') ||\n mimeType.startsWith('application/msword') ||\n mimeType.startsWith('application/vnd.openxmlformats') ||\n mimeType.startsWith('application/vnd.ms-')\n ) {\n return MediaType.office\n }\n if (\n mimeType === 'application/zip' ||\n mimeType === 'application/x-rar-compressed' ||\n mimeType === 'application/x-7z-compressed'\n ) {\n return MediaType.archive\n }\n if (\n mimeType.startsWith('application/x-') &&\n mimeType.includes('executable')\n ) {\n return MediaType.executable\n }\n return MediaType.binary\n}\n\n/**\n * Extract file extension from filename\n */\nexport const getExtensionFromFilename = (filename: string): string => {\n const lastDot = filename.lastIndexOf('.')\n return lastDot === -1 ? '' : filename.slice(lastDot).toLowerCase()\n}\n\n/**\n * Format bytes to human-readable string\n */\nexport const formatBytes = (bytes: number, decimals = 2): string => {\n if (bytes === 0) {\n return '0 Bytes'\n }\n const k = 1024\n const dm = decimals < 0 ? 0 : decimals\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']\n const i = Math.floor(Math.log(bytes) / Math.log(k))\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`\n}\n\n// ===== Type Guards =====\n\nexport const isPictureOptions = (\n options: RawOptions,\n): options is PictureRawOptions => {\n return options.type === MediaType.picture\n}\n\nexport const isVideoOptions = (\n options: RawOptions,\n): options is VideoRawOptions => {\n return options.type === MediaType.video\n}\n\nexport const isAudioOptions = (\n options: RawOptions,\n): options is AudioRawOptions => {\n return options.type === MediaType.audio\n}\n\nexport const isOfficeOptions = (\n options: RawOptions,\n): options is OfficeRawOptions => {\n return options.type === MediaType.office\n}\n\nexport const isArchiveOptions = (\n options: RawOptions,\n): options is ArchiveRawOptions => {\n return options.type === MediaType.archive\n}\n\nexport const isBinaryOptions = (\n options: RawOptions,\n): options is BinaryRawOptions => {\n return options.type === MediaType.binary\n}\n\nexport const isExecutableOptions = (\n options: RawOptions,\n): options is ExecutableRawOptions => {\n return options.type === MediaType.executable\n}\n"],"ignoreList":[0],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { t as e } from "./VvButtonLocalized-BuzLsXp3.js";
|
|
2
|
-
import { n as t, t as n } from "./PkStreamingMarkdown-
|
|
3
|
-
import { n as r } from "./useChatbotStore-
|
|
4
|
-
import { O as i, i as a } from "./utils-
|
|
5
|
-
import { t as ee } from "./PkChatbotViewConversations-
|
|
6
|
-
import { t as te } from "./PkChatbotViewChat-
|
|
2
|
+
import { n as t, t as n } from "./PkStreamingMarkdown-DXoUbGsP.js";
|
|
3
|
+
import { n as r } from "./useChatbotStore-DHmjHPR5.js";
|
|
4
|
+
import { O as i, i as a } from "./utils-Bopp5IPf.js";
|
|
5
|
+
import { t as ee } from "./PkChatbotViewConversations-Cw9fL47_.js";
|
|
6
|
+
import { t as te } from "./PkChatbotViewChat-BtbE6V2u.js";
|
|
7
7
|
import { t as o } from "./useShortUrlResolver-DI8ycJiO.js";
|
|
8
|
-
import { t as ne } from "./PkChatbotViewFiles-
|
|
8
|
+
import { t as ne } from "./PkChatbotViewFiles-DDEJqXct.js";
|
|
9
9
|
import { t as re } from "./useLocalizedString-PfaKjIQY.js";
|
|
10
10
|
import { t as ie } from "./PkAvatar-BTqu8tn9.js";
|
|
11
11
|
import { t as ae } from "./chatbotProfileContext-CgnFhNPn.js";
|
|
12
|
-
import { t as oe } from "./PkChatbotViewProfile-
|
|
12
|
+
import { t as oe } from "./PkChatbotViewProfile-B79UynQ8.js";
|
|
13
13
|
import { VvAlert as se, VvButtonGroup as ce, VvDropdown as le, VvDropdownAction as ue, VvIcon as de } from "@volverjs/ui-vue/components";
|
|
14
14
|
import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as p, createTextVNode as m, createVNode as h, defineComponent as g, guardReactiveProps as _, inject as fe, mergeModels as v, mergeProps as y, normalizeClass as pe, normalizeProps as b, normalizeStyle as x, openBlock as S, renderList as C, renderSlot as w, toDisplayString as T, toRef as me, unref as E, useModel as he, useSlots as ge, useTemplateRef as _e, watch as D, watchEffect as ve, withCtx as O } from "vue";
|
|
15
15
|
import { useI18n as ye } from "vue-i18n";
|
|
@@ -274,4 +274,4 @@ var Se = { class: "pk-chatbot__header-start" }, Ce = ["title"], we = { key: 1 },
|
|
|
274
274
|
//#endregion
|
|
275
275
|
export { k as t };
|
|
276
276
|
|
|
277
|
-
//# sourceMappingURL=PkChatbot-
|
|
277
|
+
//# sourceMappingURL=PkChatbot-viqlDa9r.js.map
|