@8wave/ai-elements 0.99.0-beta.1 → 0.99.0-beta.2
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-vue/_chunks/PkStreamingMarkdown-DEhbK-3c.js → dist/_chunks/PkStreamingMarkdown-6Xx9n1ue.js} +379 -362
- package/dist/_chunks/PkStreamingMarkdown-6Xx9n1ue.js.map +1 -0
- package/dist/_chunks/{PkToolRequestGeolocation-BJ9NJZIg.js → PkToolRequestGeolocation-B73evGBg.js} +2 -2
- package/dist/_chunks/{PkToolRequestGeolocation-BJ9NJZIg.js.map → PkToolRequestGeolocation-B73evGBg.js.map} +1 -1
- package/dist/_chunks/{PkToolRequestOAuthConnection-DdvJ6n1K.js → PkToolRequestOAuthConnection-BWP5dsK_.js} +3 -3
- package/dist/_chunks/{PkToolRequestOAuthConnection-DdvJ6n1K.js.map → PkToolRequestOAuthConnection-BWP5dsK_.js.map} +1 -1
- package/dist/_chunks/{PkToolShowArtifact-BaGEr7O9.js → PkToolShowArtifact-bYYaMGxq.js} +7 -7
- package/dist/_chunks/{PkToolShowArtifact-BaGEr7O9.js.map → PkToolShowArtifact-bYYaMGxq.js.map} +1 -1
- package/dist/_chunks/{PkToolShowCalendarEvent-BYnhl2er.js → PkToolShowCalendarEvent-DdEWaTj-.js} +4 -4
- package/dist/_chunks/{PkToolShowCalendarEvent-BYnhl2er.js.map → PkToolShowCalendarEvent-DdEWaTj-.js.map} +1 -1
- package/dist/_chunks/{PkToolShowComparison-DahL5vHr.js → PkToolShowComparison-Dcar7HPW.js} +4 -4
- package/dist/_chunks/{PkToolShowComparison-DahL5vHr.js.map → PkToolShowComparison-Dcar7HPW.js.map} +1 -1
- package/dist/_chunks/{PkToolShowContactForm-upUNZtId.js → PkToolShowContactForm-DtjVW-n6.js} +13 -13
- package/dist/_chunks/{PkToolShowContactForm-upUNZtId.js.map → PkToolShowContactForm-DtjVW-n6.js.map} +1 -1
- package/dist/_chunks/{PkToolShowDiagram-Jq_4KWiK.js → PkToolShowDiagram-X35nsoIY.js} +8 -8
- package/dist/_chunks/{PkToolShowDiagram-Jq_4KWiK.js.map → PkToolShowDiagram-X35nsoIY.js.map} +1 -1
- package/dist/_chunks/{PkToolShowEmail-CtmpDS1B.js → PkToolShowEmail-jVoK8qEh.js} +4 -4
- package/dist/_chunks/{PkToolShowEmail-CtmpDS1B.js.map → PkToolShowEmail-jVoK8qEh.js.map} +1 -1
- package/dist/_chunks/{PkToolShowForm-dFuoqTPs.js → PkToolShowForm-BP8asXtz.js} +101 -79
- package/dist/_chunks/PkToolShowForm-BP8asXtz.js.map +1 -0
- package/dist/_chunks/{PkToolShowImageGallery-mLq2p3aH.js → PkToolShowImageGallery-WQL3T4Hr.js} +2 -2
- package/dist/_chunks/{PkToolShowImageGallery-mLq2p3aH.js.map → PkToolShowImageGallery-WQL3T4Hr.js.map} +1 -1
- package/dist/_chunks/{PkToolShowLocation-SbgTbuGu.js → PkToolShowLocation-w2t7lKpb.js} +4 -4
- package/dist/_chunks/{PkToolShowLocation-SbgTbuGu.js.map → PkToolShowLocation-w2t7lKpb.js.map} +1 -1
- package/dist/_chunks/{PkToolShowMessage-CAVpDTzd.js → PkToolShowMessage-BPo7WPim.js} +4 -4
- package/dist/_chunks/{PkToolShowMessage-CAVpDTzd.js.map → PkToolShowMessage-BPo7WPim.js.map} +1 -1
- package/dist/_chunks/{PkToolShowProductList-puiPFItN.js → PkToolShowProductList-BbY4ni7Y.js} +2 -2
- package/dist/_chunks/{PkToolShowProductList-puiPFItN.js.map → PkToolShowProductList-BbY4ni7Y.js.map} +1 -1
- package/dist/_chunks/{PkToolShowQrCode-CctXvRyG.js → PkToolShowQrCode-CN0ms27N.js} +4 -4
- package/dist/_chunks/{PkToolShowQrCode-CctXvRyG.js.map → PkToolShowQrCode-CN0ms27N.js.map} +1 -1
- package/dist/_chunks/{PkToolShowSources-DwB6VXrK.js → PkToolShowSources-D2tBcx7n.js} +18 -18
- package/dist/_chunks/{PkToolShowSources-DwB6VXrK.js.map → PkToolShowSources-D2tBcx7n.js.map} +1 -1
- package/dist/_chunks/{PkToolShowSuggestedReply-QEcIhSxa.js → PkToolShowSuggestedReply-Cdh_elSh.js} +2 -2
- package/dist/_chunks/{PkToolShowSuggestedReply-QEcIhSxa.js.map → PkToolShowSuggestedReply-Cdh_elSh.js.map} +1 -1
- package/dist/_chunks/{PkToolShowVideo-DoLoI8_N.js → PkToolShowVideo-D3aU5FMO.js} +2 -2
- package/dist/_chunks/{PkToolShowVideo-DoLoI8_N.js.map → PkToolShowVideo-D3aU5FMO.js.map} +1 -1
- package/dist/_chunks/{PkToolShowWeather-C2rPCQ_K.js → PkToolShowWeather-CzanXIJp.js} +3 -3
- package/dist/_chunks/{PkToolShowWeather-C2rPCQ_K.js.map → PkToolShowWeather-CzanXIJp.js.map} +1 -1
- package/dist/_chunks/{PkToolShowWebPages-BBJYzF8V.js → PkToolShowWebPages-DkMJrWmT.js} +2 -2
- package/dist/_chunks/{PkToolShowWebPages-BBJYzF8V.js.map → PkToolShowWebPages-DkMJrWmT.js.map} +1 -1
- package/dist/_chunks/{VvCheckbox.es-D5d8k9yP.js → VvCheckbox.es-CRhIKQNR.js} +2 -2
- package/dist/_chunks/{VvCheckbox.es-D5d8k9yP.js.map → VvCheckbox.es-CRhIKQNR.js.map} +1 -1
- package/dist/_chunks/{VvCheckboxGroup.es-DVnsOjX0.js → VvCheckboxGroup.es-gOy2kM1Y.js} +5 -5
- package/dist/_chunks/{VvCheckboxGroup.es-DVnsOjX0.js.map → VvCheckboxGroup.es-gOy2kM1Y.js.map} +1 -1
- package/dist/_chunks/{VvCombobox.es-CFA-K-cQ.js → VvCombobox.es-BOwH3LmO.js} +9 -9
- package/dist/_chunks/VvCombobox.es-BOwH3LmO.js.map +1 -0
- package/dist/_chunks/{VvInputText.es-csEQ-bSG.js → VvInputText.es-D8nXroKO.js} +536 -513
- package/dist/_chunks/VvInputText.es-D8nXroKO.js.map +1 -0
- package/dist/_chunks/{VvRadio.es-BpymhC73.js → VvRadio.es-Djy5J33A.js} +2 -2
- package/dist/_chunks/{VvRadio.es-BpymhC73.js.map → VvRadio.es-Djy5J33A.js.map} +1 -1
- package/dist/_chunks/{VvRadioGroup.es-CSNzOJKx.js → VvRadioGroup.es-DQq3JYCR.js} +5 -5
- package/dist/_chunks/VvRadioGroup.es-DQq3JYCR.js.map +1 -0
- package/dist/_chunks/{VvSelect.es-CjKMd0nH.js → VvSelect.es-CE4x1ww0.js} +4 -4
- package/dist/_chunks/{VvSelect.es-CjKMd0nH.js.map → VvSelect.es-CE4x1ww0.js.map} +1 -1
- package/dist/_chunks/VvTextarea.es-BU2vqdEQ.js +1129 -0
- package/dist/_chunks/VvTextarea.es-BU2vqdEQ.js.map +1 -0
- package/dist/_chunks/{dist-BNET2z7b.js → dist-CvMCBce7.js} +39 -21
- package/dist/_chunks/dist-CvMCBce7.js.map +1 -0
- package/dist/_chunks/dot-prop-CObyt75F.js +141 -0
- package/dist/_chunks/dot-prop-CObyt75F.js.map +1 -0
- package/dist/_chunks/{floating-ui.vue-CIKvCpTA.js → floating-ui.vue-BacoFpVq.js} +278 -305
- package/dist/_chunks/floating-ui.vue-BacoFpVq.js.map +1 -0
- package/dist/_chunks/{index.es-u1dF1xg2.js → index.es-DpqfagWZ.js} +12 -12
- package/dist/_chunks/{index.es-u1dF1xg2.js.map → index.es-DpqfagWZ.js.map} +1 -1
- package/dist/_chunks/{index.es-BYny0uhz.js → index.es-_oXVRjHy.js} +2352 -2329
- package/dist/_chunks/index.es-_oXVRjHy.js.map +1 -0
- package/dist/ai-elements.es.js +4087 -5205
- 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/PkChatbotFeedbackForm.js +1 -1
- package/dist-vue/PkChatbotInput.js +1 -1
- package/dist-vue/PkChatbotMessages.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/PkChatbot-Bf5uY3cO.js +236 -0
- package/dist-vue/_chunks/{PkChatbot-BlG1WlAO.js.map → PkChatbot-Bf5uY3cO.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotAuth-C_L2xWuD.js → PkChatbotAuth-BGn2MDYD.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotAuth-C_L2xWuD.js.map → PkChatbotAuth-BGn2MDYD.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotEmptyState-BGOC6vxr.js → PkChatbotEmptyState-CPqLqXek.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotEmptyState-BGOC6vxr.js.map → PkChatbotEmptyState-CPqLqXek.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotFeedbackForm-BSe40qlc.js → PkChatbotFeedbackForm-C_y__RH8.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotFeedbackForm-BSe40qlc.js.map → PkChatbotFeedbackForm-C_y__RH8.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotInput-DTazYlPd.js → PkChatbotInput-jvb0vuak.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotInput-DTazYlPd.js.map → PkChatbotInput-jvb0vuak.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotMessages-BrufA7o1.js → PkChatbotMessages-B3G12zah.js} +246 -246
- package/dist-vue/_chunks/{PkChatbotMessages-BrufA7o1.js.map → PkChatbotMessages-B3G12zah.js.map} +1 -1
- package/dist-vue/_chunks/PkChatbotSteps-BdU6YC_N.js +172 -0
- package/dist-vue/_chunks/{PkChatbotSteps-Dv9NkYER.js.map → PkChatbotSteps-BdU6YC_N.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewChat-CAqvbbfN.js → PkChatbotViewChat-c0Ecpzoc.js} +6 -6
- package/dist-vue/_chunks/{PkChatbotViewChat-CAqvbbfN.js.map → PkChatbotViewChat-c0Ecpzoc.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewConversations-Cq41H-tc.js → PkChatbotViewConversations-BfhRCA_1.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotViewConversations-Cq41H-tc.js.map → PkChatbotViewConversations-BfhRCA_1.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewFiles-DNuzmBJc.js → PkChatbotViewFiles-BipRoidH.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotViewFiles-DNuzmBJc.js.map → PkChatbotViewFiles-BipRoidH.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewProfile-C0BXIY2N.js → PkChatbotViewProfile-DuLwYpGZ.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotViewProfile-C0BXIY2N.js.map → PkChatbotViewProfile-DuLwYpGZ.js.map} +1 -1
- package/{dist/_chunks/PkStreamingMarkdown-Djw604Ny.js → dist-vue/_chunks/PkStreamingMarkdown-CjBMQ18U.js} +344 -347
- package/dist-vue/_chunks/PkStreamingMarkdown-CjBMQ18U.js.map +1 -0
- package/dist-vue/_chunks/{PkToolShowArtifact-CTBwt4DN.js → PkToolShowArtifact-COwSXmF4.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowArtifact-CTBwt4DN.js.map → PkToolShowArtifact-COwSXmF4.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowContactForm-B6-MsExL.js → PkToolShowContactForm-DRRtCCxB.js} +10 -10
- package/dist-vue/_chunks/{PkToolShowContactForm-B6-MsExL.js.map → PkToolShowContactForm-DRRtCCxB.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowForm-CQuX08lk.js → PkToolShowForm-j7Ha-0X3.js} +109 -87
- package/dist-vue/_chunks/PkToolShowForm-j7Ha-0X3.js.map +1 -0
- package/dist-vue/_chunks/{PkToolShowSources-CFh-i60o.js → PkToolShowSources-BVLw4W5l.js} +43 -43
- package/dist-vue/_chunks/{PkToolShowSources-CFh-i60o.js.map → PkToolShowSources-BVLw4W5l.js.map} +1 -1
- package/dist-vue/_chunks/{createChatbotApiClient-BMZltBLh.js → createChatbotApiClient-IH6wBh4s.js} +365 -381
- package/dist-vue/_chunks/createChatbotApiClient-IH6wBh4s.js.map +1 -0
- package/dist-vue/_chunks/{index.es-XfWQ82pb.js → index.es-Bk1O0p8N.js} +166 -156
- package/dist-vue/_chunks/index.es-Bk1O0p8N.js.map +1 -0
- package/dist-vue/_chunks/{useChatbotStore-DZiorgLW.js → useChatbotStore-C3uKi2FS.js} +3 -5
- package/dist-vue/_chunks/useChatbotStore-C3uKi2FS.js.map +1 -0
- package/dist-vue/api.js +1 -1
- package/dist-vue/composables.js +2 -2
- package/dist-vue/index.js +4430 -4221
- package/dist-vue/index.js.map +1 -1
- package/dist-vue/locales.js +27 -7
- package/dist-vue/packages/components/src/PkCheckboxField.d.ts +1 -1
- package/dist-vue/packages/components/src/PkOfflineScreen.d.ts +18 -0
- package/dist-vue/packages/components/src/PkPwaNotices.d.ts +19 -0
- package/dist-vue/packages/components/src/chat/PkAgentSettingsPanel.d.ts +9 -3
- package/dist-vue/packages/components/src/index.d.ts +3 -3
- package/dist-vue/packages/composable/src/chatbot/useChatbotStore.d.ts +36 -0
- package/dist-vue/packages/composable/src/index.d.ts +1 -0
- package/dist-vue/packages/composable/src/useConnectivity.d.ts +28 -0
- package/dist-vue/packages/models/src/schema/Agent.d.ts +81 -0
- package/dist-vue/packages/models/src/schema/ReasoningChat.d.ts +24 -0
- package/dist-vue/packages/models/src/schema/SubAgent.d.ts +24 -0
- package/dist-vue/style.css +1 -1
- package/package.json +3 -3
- package/dist/_chunks/PkStreamingMarkdown-Djw604Ny.js.map +0 -1
- package/dist/_chunks/PkToolShowForm-dFuoqTPs.js.map +0 -1
- package/dist/_chunks/VvCombobox.es-CFA-K-cQ.js.map +0 -1
- package/dist/_chunks/VvInputText.es-csEQ-bSG.js.map +0 -1
- package/dist/_chunks/VvRadioGroup.es-CSNzOJKx.js.map +0 -1
- package/dist/_chunks/VvTextarea.es-eEyRRpuT.js +0 -1109
- package/dist/_chunks/VvTextarea.es-eEyRRpuT.js.map +0 -1
- package/dist/_chunks/dist-BNET2z7b.js.map +0 -1
- package/dist/_chunks/dot-prop-BXrC9bAX.js +0 -131
- package/dist/_chunks/dot-prop-BXrC9bAX.js.map +0 -1
- package/dist/_chunks/floating-ui.vue-CIKvCpTA.js.map +0 -1
- package/dist/_chunks/index.es-BYny0uhz.js.map +0 -1
- package/dist-vue/_chunks/PkChatbot-BlG1WlAO.js +0 -236
- package/dist-vue/_chunks/PkChatbotSteps-Dv9NkYER.js +0 -172
- package/dist-vue/_chunks/PkStreamingMarkdown-DEhbK-3c.js.map +0 -1
- package/dist-vue/_chunks/PkToolShowForm-CQuX08lk.js.map +0 -1
- package/dist-vue/_chunks/createChatbotApiClient-BMZltBLh.js.map +0 -1
- package/dist-vue/_chunks/index.es-XfWQ82pb.js.map +0 -1
- package/dist-vue/_chunks/useChatbotStore-DZiorgLW.js.map +0 -1
- package/dist-vue/packages/components/src/PkPwaInstallPrompt.d.ts +0 -4
- package/dist-vue/packages/components/src/PkPwaOfflineNotice.d.ts +0 -4
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
//#region ../../node_modules/.pnpm/dot-prop@10.2.0/node_modules/dot-prop/index.js
|
|
2
|
+
var e = (e) => {
|
|
3
|
+
let t = typeof e;
|
|
4
|
+
return e !== null && (t === "object" || t === "function");
|
|
5
|
+
}, t = /* @__PURE__ */ new Set([
|
|
6
|
+
"__proto__",
|
|
7
|
+
"prototype",
|
|
8
|
+
"constructor"
|
|
9
|
+
]), n = Math.max(...[...t].map((e) => e.length)), r = 1e6, i = (e) => e >= "0" && e <= "9";
|
|
10
|
+
function a(e) {
|
|
11
|
+
if (e === "0") return !0;
|
|
12
|
+
if (/^[1-9]\d*$/.test(e)) {
|
|
13
|
+
let t = Number.parseInt(e, 10);
|
|
14
|
+
return t <= 2 ** 53 - 1 && t <= r;
|
|
15
|
+
}
|
|
16
|
+
return !1;
|
|
17
|
+
}
|
|
18
|
+
function o(e, n) {
|
|
19
|
+
return t.has(e) ? !1 : (e && a(e) ? n.push(Number.parseInt(e, 10)) : n.push(e), !0);
|
|
20
|
+
}
|
|
21
|
+
function s(e) {
|
|
22
|
+
if (typeof e != "string") throw TypeError(`Expected a string, got ${typeof e}`);
|
|
23
|
+
let a = [], s = "", c = "", l = !1, u = "start", d = !1, f = 0;
|
|
24
|
+
for (let p of e) {
|
|
25
|
+
if (f++, d) {
|
|
26
|
+
s += p, d = !1;
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
if (p === "\\") {
|
|
30
|
+
if (u === "index") throw Error(`Invalid character '${p}' in an index at position ${f}`);
|
|
31
|
+
if (u === "indexEnd") throw Error(`Invalid character '${p}' after an index at position ${f}`);
|
|
32
|
+
d = !0, u = u === "start" ? "property" : u;
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
switch (p) {
|
|
36
|
+
case ".":
|
|
37
|
+
if (u === "index") throw Error(`Invalid character '${p}' in an index at position ${f}`);
|
|
38
|
+
if (u === "indexEnd") {
|
|
39
|
+
u = "property";
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
if (!o(s, a)) return [];
|
|
43
|
+
s = "", u = "property";
|
|
44
|
+
break;
|
|
45
|
+
case "[":
|
|
46
|
+
if (u === "index") throw Error(`Invalid character '${p}' in an index at position ${f}`);
|
|
47
|
+
if (u === "indexEnd") {
|
|
48
|
+
u = "index";
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
if (u === "property" && s.length <= n && t.has(s)) return [];
|
|
52
|
+
l = u === "property", u = "index";
|
|
53
|
+
break;
|
|
54
|
+
case "]": {
|
|
55
|
+
if (u === "indexEnd") throw Error(`Invalid character '${p}' after an index at position ${f}`);
|
|
56
|
+
if (u !== "index") {
|
|
57
|
+
u === "start" && (u = "property"), s += p;
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
if (c === "") {
|
|
61
|
+
s += "[]", u = "property";
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
if ((s !== "" || l) && !o(s, a)) return [];
|
|
65
|
+
s = "", l = !1;
|
|
66
|
+
let e = Number.parseInt(c, 10), t = e <= r && c === String(e);
|
|
67
|
+
a.push(t ? e : c), c = "", u = "indexEnd";
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
default:
|
|
71
|
+
if (u === "index") {
|
|
72
|
+
if (!i(p)) throw Error(`Invalid character '${p}' in an index at position ${f}`);
|
|
73
|
+
c += p;
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
if (u === "indexEnd") throw Error(`Invalid character '${p}' after an index at position ${f}`);
|
|
77
|
+
u === "start" && (u = "property"), s += p;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
switch (d && (s += "\\"), u) {
|
|
81
|
+
case "property":
|
|
82
|
+
if (!o(s, a)) return [];
|
|
83
|
+
break;
|
|
84
|
+
case "index": throw Error("Index was not closed");
|
|
85
|
+
case "start":
|
|
86
|
+
a.push("");
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
return a;
|
|
90
|
+
}
|
|
91
|
+
function c(e) {
|
|
92
|
+
if (typeof e == "string") return s(e);
|
|
93
|
+
if (Array.isArray(e)) {
|
|
94
|
+
let n = [];
|
|
95
|
+
for (let [r, i] of e.entries()) {
|
|
96
|
+
if (typeof i != "string" && typeof i != "number") throw TypeError(`Expected a string or number for path segment at index ${r}, got ${typeof i}`);
|
|
97
|
+
if (typeof i == "number" && !Number.isFinite(i)) throw TypeError(`Path segment at index ${r} must be a finite number, got ${i}`);
|
|
98
|
+
if (t.has(i)) return [];
|
|
99
|
+
typeof i == "string" && a(i) ? n.push(Number.parseInt(i, 10)) : n.push(i);
|
|
100
|
+
}
|
|
101
|
+
return n;
|
|
102
|
+
}
|
|
103
|
+
return [];
|
|
104
|
+
}
|
|
105
|
+
function l(t, n, r) {
|
|
106
|
+
if (!e(t) || typeof n != "string" && !Array.isArray(n)) return r === void 0 ? t : r;
|
|
107
|
+
let i = c(n);
|
|
108
|
+
if (i.length === 0) return r;
|
|
109
|
+
for (let e = 0; e < i.length; e++) {
|
|
110
|
+
let n = i[e];
|
|
111
|
+
if (t = t[n], t == null) {
|
|
112
|
+
if (e !== i.length - 1) return r;
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return t === void 0 ? r : t;
|
|
117
|
+
}
|
|
118
|
+
function u(t, n, r) {
|
|
119
|
+
if (!e(t) || typeof n != "string" && !Array.isArray(n)) return t;
|
|
120
|
+
let i = t, a = c(n);
|
|
121
|
+
if (a.length === 0) return t;
|
|
122
|
+
for (let n = 0; n < a.length; n++) {
|
|
123
|
+
let i = a[n];
|
|
124
|
+
if (n === a.length - 1) {
|
|
125
|
+
t[i] = r;
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
let o = t[i];
|
|
129
|
+
if (e(o)) {
|
|
130
|
+
t = o;
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
let s = typeof a[n + 1] == "number";
|
|
134
|
+
t[i] = s ? [] : {}, t = t[i];
|
|
135
|
+
}
|
|
136
|
+
return i;
|
|
137
|
+
}
|
|
138
|
+
//#endregion
|
|
139
|
+
export { u as n, l as t };
|
|
140
|
+
|
|
141
|
+
//# sourceMappingURL=dot-prop-CObyt75F.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dot-prop-CObyt75F.js","names":[],"sources":["../../../../node_modules/.pnpm/dot-prop@10.2.0/node_modules/dot-prop/index.js"],"sourcesContent":["const isObject = value => {\n\tconst type = typeof value;\n\treturn value !== null && (type === 'object' || type === 'function');\n};\n\nconst disallowedKeys = new Set([\n\t'__proto__',\n\t'prototype',\n\t'constructor',\n]);\n\n// Longest disallowed key. A longer segment can't be disallowed, so the membership\n// check is skipped for it. This keeps `parsePath` linear on inputs like `a[][]…`.\nconst maxDisallowedKeyLength = Math.max(...[...disallowedKeys].map(key => key.length));\n\n// Maximum allowed array index to prevent DoS via memory exhaustion.\nconst MAX_ARRAY_INDEX = 1_000_000;\n\n// Optimized digit check without Set overhead.\nconst isDigit = character => character >= '0' && character <= '9';\n\n// Check if a segment should be coerced to a number.\nfunction shouldCoerceToNumber(segment) {\n\t// Only coerce valid non-negative integers without leading zeros.\n\tif (segment === '0') {\n\t\treturn true;\n\t}\n\n\tif (/^[1-9]\\d*$/.test(segment)) {\n\t\tconst parsedNumber = Number.parseInt(segment, 10);\n\t\t// Check within safe integer range and under MAX_ARRAY_INDEX to prevent DoS.\n\t\treturn parsedNumber <= Number.MAX_SAFE_INTEGER && parsedNumber <= MAX_ARRAY_INDEX;\n\t}\n\n\treturn false;\n}\n\n// Helper to process a path segment (eliminates duplication).\nfunction processSegment(segment, parts) {\n\tif (disallowedKeys.has(segment)) {\n\t\treturn false; // Signal to return empty array.\n\t}\n\n\tif (segment && shouldCoerceToNumber(segment)) {\n\t\tparts.push(Number.parseInt(segment, 10));\n\t} else {\n\t\tparts.push(segment);\n\t}\n\n\treturn true;\n}\n\nexport function parsePath(path) { // eslint-disable-line complexity\n\tif (typeof path !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got ${typeof path}`);\n\t}\n\n\tconst parts = [];\n\tlet currentSegment = '';\n\tlet indexSegment = '';\n\tlet hadProperty = false;\n\tlet currentPart = 'start';\n\tlet isEscaping = false;\n\tlet position = 0;\n\n\tfor (const character of path) {\n\t\tposition++;\n\n\t\t// Handle escaping.\n\t\tif (isEscaping) {\n\t\t\tcurrentSegment += character;\n\t\t\tisEscaping = false;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Handle escape character.\n\t\tif (character === '\\\\') {\n\t\t\tif (currentPart === 'index') {\n\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t}\n\n\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\tthrow new Error(`Invalid character '${character}' after an index at position ${position}`);\n\t\t\t}\n\n\t\t\tisEscaping = true;\n\t\t\tcurrentPart = currentPart === 'start' ? 'property' : currentPart;\n\t\t\tcontinue;\n\t\t}\n\n\t\tswitch (character) {\n\t\t\tcase '.': {\n\t\t\t\tif (currentPart === 'index') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (!processSegment(currentSegment, parts)) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\tcurrentSegment = '';\n\t\t\t\tcurrentPart = 'property';\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase '[': {\n\t\t\t\tif (currentPart === 'index') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tcurrentPart = 'index';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\t// Entering an index from a property. Keep the property in `currentSegment`\n\t\t\t\t// and collect index digits separately, so empty brackets (`[]`) don't\n\t\t\t\t// require pushing then popping the segment (which re-scans a growing\n\t\t\t\t// literal on every `[` and makes `a[][]…` quadratic).\n\t\t\t\t//\n\t\t\t\t// Reject a disallowed key here, before the index opens, so `__proto__[0]`\n\t\t\t\t// etc. still return []. The length guard keeps this O(1) for long literals.\n\t\t\t\tif (\n\t\t\t\t\tcurrentPart === 'property'\n\t\t\t\t\t&& currentSegment.length <= maxDisallowedKeyLength\n\t\t\t\t\t&& disallowedKeys.has(currentSegment)\n\t\t\t\t) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\thadProperty = currentPart === 'property';\n\t\t\t\tcurrentPart = 'index';\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase ']': {\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' after an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart !== 'index') {\n\t\t\t\t\t// In property context, treat ] as a literal character. Transition out\n\t\t\t\t\t// of 'start' like any other literal, otherwise a leading ']' leaves the\n\t\t\t\t\t// segment in 'start' and is discarded at the end of the path.\n\t\t\t\t\tif (currentPart === 'start') {\n\t\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrentSegment += character;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (indexSegment === '') {\n\t\t\t\t\t// Empty brackets - treat `[]` as literal characters of the property.\n\t\t\t\t\tcurrentSegment += '[]';\n\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\t// A real index closes. Flush the pending property segment first\n\t\t\t\t// (an empty one too, for paths like `foo.[0]`).\n\t\t\t\tif ((currentSegment !== '' || hadProperty) && !processSegment(currentSegment, parts)) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\tcurrentSegment = '';\n\t\t\t\thadProperty = false;\n\n\t\t\t\t// Index must be digits only (enforced by default case).\n\t\t\t\t// The String() check rejects leading zeros like `[01]`.\n\t\t\t\tconst parsedNumber = Number.parseInt(indexSegment, 10);\n\t\t\t\tconst isValidInteger = parsedNumber <= MAX_ARRAY_INDEX\n\t\t\t\t\t&& indexSegment === String(parsedNumber);\n\n\t\t\t\t// Keep as string if not a valid integer representation or exceeds MAX_ARRAY_INDEX.\n\t\t\t\tparts.push(isValidInteger ? parsedNumber : indexSegment);\n\n\t\t\t\tindexSegment = '';\n\t\t\t\tcurrentPart = 'indexEnd';\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tdefault: {\n\t\t\t\tif (currentPart === 'index') {\n\t\t\t\t\tif (!isDigit(character)) {\n\t\t\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t\t\t}\n\n\t\t\t\t\tindexSegment += character;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' after an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'start') {\n\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t}\n\n\t\t\t\tcurrentSegment += character;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Handle unfinished escaping (trailing backslash)\n\tif (isEscaping) {\n\t\tcurrentSegment += '\\\\';\n\t}\n\n\t// Handle end of path\n\tswitch (currentPart) {\n\t\tcase 'property': {\n\t\t\tif (!processSegment(currentSegment, parts)) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase 'index': {\n\t\t\tthrow new Error('Index was not closed');\n\t\t}\n\n\t\tcase 'start': {\n\t\t\tparts.push('');\n\t\t\tbreak;\n\t\t}\n\t\t// No default\n\t}\n\n\treturn parts;\n}\n\nfunction normalizePath(path) {\n\tif (typeof path === 'string') {\n\t\treturn parsePath(path);\n\t}\n\n\tif (Array.isArray(path)) {\n\t\tconst normalized = [];\n\n\t\tfor (const [index, segment] of path.entries()) {\n\t\t\t// Type validation.\n\t\t\tif (typeof segment !== 'string' && typeof segment !== 'number') {\n\t\t\t\tthrow new TypeError(`Expected a string or number for path segment at index ${index}, got ${typeof segment}`);\n\t\t\t}\n\n\t\t\t// Validate numbers are finite (reject NaN, Infinity, -Infinity).\n\t\t\tif (typeof segment === 'number' && !Number.isFinite(segment)) {\n\t\t\t\tthrow new TypeError(`Path segment at index ${index} must be a finite number, got ${segment}`);\n\t\t\t}\n\n\t\t\t// Check for disallowed keys.\n\t\t\tif (disallowedKeys.has(segment)) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\t// Normalize numeric strings to numbers for simplicity.\n\t\t\t// This treats ['items', '0'] the same as ['items', 0].\n\t\t\tif (typeof segment === 'string' && shouldCoerceToNumber(segment)) {\n\t\t\t\tnormalized.push(Number.parseInt(segment, 10));\n\t\t\t} else {\n\t\t\t\tnormalized.push(segment);\n\t\t\t}\n\t\t}\n\n\t\treturn normalized;\n\t}\n\n\treturn [];\n}\n\nexport function getProperty(object, path, value) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn value === undefined ? object : value;\n\t}\n\n\tconst pathArray = normalizePath(path);\n\tif (pathArray.length === 0) {\n\t\treturn value;\n\t}\n\n\tfor (let index = 0; index < pathArray.length; index++) {\n\t\tconst key = pathArray[index];\n\t\tobject = object[key];\n\n\t\tif (object === undefined || object === null) {\n\t\t\t// Return default value if we hit undefined/null before the end of the path.\n\t\t\t// This ensures get({foo: null}, 'foo.bar') returns the default value, not null.\n\t\t\tif (index !== pathArray.length - 1) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn object === undefined ? value : object;\n}\n\nexport function setProperty(object, path, value) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn object;\n\t}\n\n\tconst root = object;\n\tconst pathArray = normalizePath(path);\n\n\tif (pathArray.length === 0) {\n\t\treturn object;\n\t}\n\n\tfor (let index = 0; index < pathArray.length; index++) {\n\t\tconst key = pathArray[index];\n\n\t\tif (index === pathArray.length - 1) {\n\t\t\tobject[key] = value;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst existingValue = object[key];\n\t\tif (isObject(existingValue)) {\n\t\t\tobject = existingValue;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Create a fresh container when the existing value is missing or primitive.\n\t\tconst nextKey = pathArray[index + 1];\n\t\tconst shouldCreateArray = typeof nextKey === 'number';\n\t\tobject[key] = shouldCreateArray ? [] : {};\n\t\tobject = object[key];\n\t}\n\n\treturn root;\n}\n\nexport function deleteProperty(object, path) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn false;\n\t}\n\n\tconst pathArray = normalizePath(path);\n\n\tif (pathArray.length === 0) {\n\t\treturn false;\n\t}\n\n\tfor (let index = 0; index < pathArray.length; index++) {\n\t\tconst key = pathArray[index];\n\n\t\tif (index === pathArray.length - 1) {\n\t\t\tconst existed = Object.hasOwn(object, key);\n\t\t\tif (!existed) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tdelete object[key];\n\t\t\treturn true;\n\t\t}\n\n\t\tconst existingValue = object[key];\n\t\tif (!isObject(existingValue)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tobject = existingValue;\n\t}\n}\n\nexport function hasProperty(object, path) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn false;\n\t}\n\n\tconst pathArray = normalizePath(path);\n\tif (pathArray.length === 0) {\n\t\treturn false;\n\t}\n\n\tfor (const key of pathArray) {\n\t\tif (!isObject(object) || !(key in object)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tobject = object[key];\n\t}\n\n\treturn true;\n}\n\nexport function escapePath(path) {\n\tif (typeof path !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got ${typeof path}`);\n\t}\n\n\t// Escape special characters in one pass\n\treturn path.replaceAll(/[\\\\.[]/g, String.raw`\\$&`);\n}\n\nfunction normalizeEntries(value) {\n\tconst entries = Object.entries(value);\n\tif (Array.isArray(value)) {\n\t\treturn entries.map(([key, entryValue]) => {\n\t\t\t// Use shouldCoerceToNumber for consistency with parsePath\n\t\t\tconst normalizedKey = shouldCoerceToNumber(key)\n\t\t\t\t? Number.parseInt(key, 10)\n\t\t\t\t: key;\n\t\t\treturn [normalizedKey, entryValue];\n\t\t});\n\t}\n\n\treturn entries;\n}\n\n// Format a single path segment's contribution to a stringified path.\n// `isFirst` is whether the segment starts the path (no leading separator).\n// `startsOutput` is whether nothing has been emitted yet, which happens when every\n// preceding segment was an empty string key.\nfunction formatPathSegment(segment, isFirst, startsOutput, preferDotForIndices) {\n\t// An index may only use bracket notation when it is genuinely at the start of\n\t// the path or something precedes it in the output. A `[0]` that merely *looks*\n\t// like the start parses back as a bare index, dropping the empty keys before it.\n\tconst useDotForIndex = !isFirst && (preferDotForIndices || startsOutput);\n\n\tif (typeof segment === 'number') {\n\t\t// Non-integer or negative numbers are treated as string keys.\n\t\tif (!Number.isInteger(segment) || segment < 0) {\n\t\t\tconst escaped = escapePath(String(segment));\n\t\t\treturn isFirst ? escaped : `.${escaped}`;\n\t\t}\n\n\t\treturn useDotForIndex ? `.${segment}` : `[${segment}]`;\n\t}\n\n\t// Empty string keys carry no text, only a separator when not first.\n\tif (segment === '') {\n\t\treturn isFirst ? '' : '.';\n\t}\n\n\t// Numeric strings are normalized to numbers.\n\tif (shouldCoerceToNumber(segment)) {\n\t\tconst numericValue = Number.parseInt(segment, 10);\n\t\treturn useDotForIndex ? `.${numericValue}` : `[${numericValue}]`;\n\t}\n\n\t// Regular strings use dot notation.\n\tconst escaped = escapePath(segment);\n\treturn isFirst ? escaped : `.${escaped}`;\n}\n\nexport function stringifyPath(pathSegments, options = {}) {\n\tif (!Array.isArray(pathSegments)) {\n\t\tthrow new TypeError(`Expected an array, got ${typeof pathSegments}`);\n\t}\n\n\tconst {preferDotForIndices = false} = options;\n\tconst parts = [];\n\tlet startsOutput = true;\n\n\tfor (const [index, segment] of pathSegments.entries()) {\n\t\t// Validate segment types at runtime\n\t\tif (typeof segment !== 'string' && typeof segment !== 'number') {\n\t\t\tthrow new TypeError(`Expected a string or number for path segment at index ${index}, got ${typeof segment}`);\n\t\t}\n\n\t\tconst part = formatPathSegment(segment, index === 0, startsOutput, preferDotForIndices);\n\t\tparts.push(part);\n\n\t\tif (part !== '') {\n\t\t\tstartsOutput = false;\n\t\t}\n\t}\n\n\treturn parts.join('');\n}\n\nfunction * deepKeysIterator(object) {\n\tif (!isObject(object)) {\n\t\treturn;\n\t}\n\n\tconst rootEntries = normalizeEntries(object);\n\tif (rootEntries.length === 0) {\n\t\treturn;\n\t}\n\n\t// Iterative depth-first walk with an explicit stack, so deeply nested input\n\t// cannot overflow the call stack (unbounded recursion is a DoS vector).\n\t//\n\t// The path string is built incrementally: each segment is escaped and appended\n\t// once, when we descend into it. Re-stringifying the whole path for every leaf\n\t// (which re-escapes every ancestor segment) makes the walk quadratic in the\n\t// depth, so a deeply nested object cheaply blocks the event loop for seconds\n\t// (an algorithmic-complexity DoS vector).\n\tconst ancestors = new Set([object]);\n\tconst stack = [{iterator: rootEntries[Symbol.iterator](), prefix: '', object}];\n\n\twhile (stack.length > 0) {\n\t\tconst frame = stack.at(-1);\n\t\tconst {value: entry, done} = frame.iterator.next();\n\n\t\tif (done) {\n\t\t\tancestors.delete(stack.pop().object);\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst [key, value] = entry;\n\t\tconst {prefix} = frame;\n\t\tconst path = prefix + formatPathSegment(key, stack.length === 1, prefix === '', false);\n\n\t\tif (isObject(value)) {\n\t\t\t// Skip circular references (object already on the current path).\n\t\t\tif (ancestors.has(value)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// The entries decide both whether this is a leaf and what to walk, so they are computed once.\n\t\t\tconst entries = normalizeEntries(value);\n\t\t\tif (entries.length > 0) {\n\t\t\t\tancestors.add(value);\n\t\t\t\tstack.push({iterator: entries[Symbol.iterator](), prefix: path, object: value});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tyield path;\n\t}\n}\n\nexport function deepKeys(object) {\n\treturn [...deepKeysIterator(object)];\n}\n\nexport function unflatten(object) {\n\tconst result = {};\n\tif (!isObject(object)) {\n\t\treturn result;\n\t}\n\n\tfor (const [path, value] of Object.entries(object)) {\n\t\tsetProperty(result, path, value);\n\t}\n\n\treturn result;\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
|