UNPKG

@botpress/adk-cli

Version:

Command-line interface for the Botpress Agent Development Kit (ADK)

907 lines (896 loc) 30.2 kB
// @bun import"./chunk-dhs2bg35.js"; // ../../node_modules/.bun/@botpress+webchat-client@0.7.3/node_modules/@botpress/webchat-client/dist/webchat-client10.js var R = Object.defineProperty; var T = (t, r, e) => (r in t) ? R(t, r, { enumerable: true, configurable: true, writable: true, value: e }) : t[r] = e; var j = (t, r, e) => T(t, typeof r != "symbol" ? r + "" : r, e); var U = async (t, r) => { let e = typeof r == "function" ? await r(t) : r; if (e) return t.scheme === "bearer" ? `Bearer ${e}` : t.scheme === "basic" ? `Basic ${btoa(e)}` : e; }; var A = { bodySerializer: (t) => JSON.stringify(t, (r, e) => typeof e == "bigint" ? e.toString() : e) }; var _ = (t) => { switch (t) { case "label": return "."; case "matrix": return ";"; case "simple": return ","; default: return "&"; } }; var z = (t) => { switch (t) { case "form": return ","; case "pipeDelimited": return "|"; case "spaceDelimited": return "%20"; default: return ","; } }; var E = (t) => { switch (t) { case "label": return "."; case "matrix": return ";"; case "simple": return ","; default: return "&"; } }; var x = ({ allowReserved: t, explode: r, name: e, style: l, value: n }) => { if (!r) { let s = (t ? n : n.map((i) => encodeURIComponent(i))).join(z(l)); switch (l) { case "label": return `.${s}`; case "matrix": return `;${e}=${s}`; case "simple": return s; default: return `${e}=${s}`; } } let o = _(l), a = n.map((s) => l === "label" || l === "simple" ? t ? s : encodeURIComponent(s) : b({ allowReserved: t, name: e, value: s })).join(o); return l === "label" || l === "matrix" ? o + a : a; }; var b = ({ allowReserved: t, name: r, value: e }) => { if (e == null) return ""; if (typeof e == "object") throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these."); return `${r}=${t ? e : encodeURIComponent(e)}`; }; var $ = ({ allowReserved: t, explode: r, name: e, style: l, value: n }) => { if (n instanceof Date) return `${e}=${n.toISOString()}`; if (l !== "deepObject" && !r) { let s = []; Object.entries(n).forEach(([d, f]) => { s = [...s, d, t ? f : encodeURIComponent(f)]; }); let i = s.join(","); switch (l) { case "form": return `${e}=${i}`; case "label": return `.${i}`; case "matrix": return `;${e}=${i}`; default: return i; } } let o = E(l), a = Object.entries(n).map(([s, i]) => b({ allowReserved: t, name: l === "deepObject" ? `${e}[${s}]` : s, value: i })).join(o); return l === "label" || l === "matrix" ? o + a : a; }; var W = /\{[^{}]+\}/g; var D = ({ path: t, url: r }) => { let e = r, l = r.match(W); if (l) for (let n of l) { let o = false, a = n.substring(1, n.length - 1), s = "simple"; a.endsWith("*") && (o = true, a = a.substring(0, a.length - 1)), a.startsWith(".") ? (a = a.substring(1), s = "label") : a.startsWith(";") && (a = a.substring(1), s = "matrix"); let i = t[a]; if (i == null) continue; if (Array.isArray(i)) { e = e.replace(n, x({ explode: o, name: a, style: s, value: i })); continue; } if (typeof i == "object") { e = e.replace(n, $({ explode: o, name: a, style: s, value: i })); continue; } if (s === "matrix") { e = e.replace(n, `;${b({ name: a, value: i })}`); continue; } let d = encodeURIComponent(s === "label" ? `.${i}` : i); e = e.replace(n, d); } return e; }; var q = ({ allowReserved: t, array: r, object: e } = {}) => (l) => { let n = []; if (l && typeof l == "object") for (let o in l) { let a = l[o]; if (a != null) { if (Array.isArray(a)) { n = [...n, x({ allowReserved: t, explode: true, name: o, style: "form", value: a, ...r })]; continue; } if (typeof a == "object") { n = [...n, $({ allowReserved: t, explode: true, name: o, style: "deepObject", value: a, ...e })]; continue; } n = [...n, b({ allowReserved: t, name: o, value: a })]; } } return n.join("&"); }; var I = (t) => { var e; if (!t) return "stream"; let r = (e = t.split(";")[0]) == null ? undefined : e.trim(); if (r) { if (r.startsWith("application/json") || r.endsWith("+json")) return "json"; if (r === "multipart/form-data") return "formData"; if (["application/", "audio/", "image/", "video/"].some((l) => r.startsWith(l))) return "blob"; if (r.startsWith("text/")) return "text"; } }; var k = async ({ security: t, ...r }) => { for (let e of t) { let l = await U(e, r.auth); if (!l) continue; let n = e.name ?? "Authorization"; switch (e.in) { case "query": r.query || (r.query = {}), r.query[n] = l; break; case "cookie": r.headers.append("Cookie", `${n}=${l}`); break; case "header": default: r.headers.set(n, l); break; } return; } }; var v = (t) => N({ baseUrl: t.baseUrl, path: t.path, query: t.query, querySerializer: typeof t.querySerializer == "function" ? t.querySerializer : q(t.querySerializer), url: t.url }); var N = ({ baseUrl: t, path: r, query: e, querySerializer: l, url: n }) => { let o = n.startsWith("/") ? n : `/${n}`, a = (t ?? "") + o; r && (a = D({ path: r, url: a })); let s = e ? l(e) : ""; return s.startsWith("?") && (s = s.substring(1)), s && (a += `?${s}`), a; }; var g = (t, r) => { var l; let e = { ...t, ...r }; return (l = e.baseUrl) != null && l.endsWith("/") && (e.baseUrl = e.baseUrl.substring(0, e.baseUrl.length - 1)), e.headers = C(t.headers, r.headers), e; }; var C = (...t) => { let r = new Headers; for (let e of t) { if (!e || typeof e != "object") continue; let l = e instanceof Headers ? e.entries() : Object.entries(e); for (let [n, o] of l) if (o === null) r.delete(n); else if (Array.isArray(o)) for (let a of o) r.append(n, a); else o !== undefined && r.set(n, typeof o == "object" ? JSON.stringify(o) : o); } return r; }; var w = class { constructor() { j(this, "_fns"); this._fns = []; } clear() { this._fns = []; } exists(t) { return this._fns.indexOf(t) !== -1; } eject(t) { let r = this._fns.indexOf(t); r !== -1 && (this._fns = [...this._fns.slice(0, r), ...this._fns.slice(r + 1)]); } use(t) { this._fns = [...this._fns, t]; } }; var P = () => ({ error: new w, request: new w, response: new w }); var H = /* @__PURE__ */ q({ allowReserved: false, array: { explode: true, style: "form" }, object: { explode: true, style: "deepObject" } }); var J = { "Content-Type": "application/json" }; var O = (t = {}) => ({ ...A, headers: J, parseAs: "auto", querySerializer: H, ...t }); var B = (t = {}) => { let r = g(O(), t), e = () => ({ ...r }), l = (a) => (r = g(r, a), e()), n = P(), o = async (a) => { let s = { ...r, ...a, fetch: a.fetch ?? r.fetch ?? globalThis.fetch, headers: C(r.headers, a.headers) }; s.security && await k({ ...s, security: s.security }), s.body && s.bodySerializer && (s.body = s.bodySerializer(s.body)), (s.body === undefined || s.body === "") && s.headers.delete("Content-Type"); let i = v(s), d = { redirect: "follow", ...s }, f = new Request(i, d); for (let c of n.request._fns) f = await c(f, s); let S = s.fetch, u = await S(f); for (let c of n.response._fns) u = await c(u, f, s); let h = { request: f, response: u }; if (u.ok) { if (u.status === 204 || u.headers.get("Content-Length") === "0") return { data: {}, ...h }; let c = (s.parseAs === "auto" ? I(u.headers.get("Content-Type")) : s.parseAs) ?? "json"; if (c === "stream") return { data: u.body, ...h }; let m = await u[c](); return c === "json" && (s.responseValidator && await s.responseValidator(m), s.responseTransformer && (m = await s.responseTransformer(m))), { data: m, ...h }; } let y = await u.text(); try { y = JSON.parse(y); } catch {} let p = y; for (let c of n.error._fns) p = await c(y, u, f, s); if (p = p || {}, s.throwOnError) throw p; return { error: p, ...h }; }; return { buildUrl: v, connect: (a) => o({ ...a, method: "CONNECT" }), delete: (a) => o({ ...a, method: "DELETE" }), get: (a) => o({ ...a, method: "GET" }), getConfig: e, head: (a) => o({ ...a, method: "HEAD" }), interceptors: n, options: (a) => o({ ...a, method: "OPTIONS" }), patch: (a) => o({ ...a, method: "PATCH" }), post: (a) => o({ ...a, method: "POST" }), put: (a) => o({ ...a, method: "PUT" }), request: o, setConfig: l, trace: (a) => o({ ...a, method: "TRACE" }) }; }; var V = B; var G = O; // ../../node_modules/.bun/@botpress+webchat-client@0.7.3/node_modules/@botpress/webchat-client/dist/webchat-client8.js var e = (t) => ({ ...t, withCredentials: true, timeout: 60000, maxBodyLength: 104857600, maxContentLength: 104857600, throwOnError: true, parseAs: "json" }); // ../../node_modules/.bun/@botpress+webchat-client@0.7.3/node_modules/@botpress/webchat-client/dist/webchat-client4.js var i = /* @__PURE__ */ V(/* @__PURE__ */ e(/* @__PURE__ */ G({ baseUrl: "https://webchat.botpress.cloud/" }))); // ../../node_modules/.bun/@botpress+webchat-client@0.7.3/node_modules/@botpress/webchat-client/dist/webchat-client3.js var t = (e2) => (e2.client ?? i).delete({ url: "/conversations/{id}", ...e2 }); var c = (e2) => (e2.client ?? i).get({ url: "/conversations/{id}", ...e2 }); var l = (e2) => (e2.client ?? i).get({ url: "/conversations", ...e2 }); var n = (e2) => (e2.client ?? i).post({ url: "/conversations", ...e2, headers: { "Content-Type": "application/json", ...e2 == null ? undefined : e2.headers } }); var s = (e2) => (e2.client ?? i).get({ url: "/conversations/{id}/messages", ...e2 }); var u = (e2) => (e2.client ?? i).get({ url: "/conversations/{id}/participants", ...e2 }); var d = (e2) => (e2.client ?? i).post({ url: "/conversations/{id}/participants", ...e2, headers: { "Content-Type": "application/json", ...e2 == null ? undefined : e2.headers } }); var g2 = (e2) => (e2.client ?? i).delete({ url: "/conversations/{id}/participants/{userId}", ...e2 }); var h = (e2) => (e2.client ?? i).get({ url: "/conversations/{id}/participants/{userId}", ...e2 }); var v2 = (e2) => (e2.client ?? i).delete({ url: "/messages/{id}", ...e2 }); var C2 = (e2) => (e2.client ?? i).get({ url: "/messages/{id}", ...e2 }); var m = (e2) => (e2.client ?? i).put({ url: "/messages/{id}", ...e2, headers: { "Content-Type": "application/json", ...e2 == null ? undefined : e2.headers } }); var y = (e2) => (e2.client ?? i).post({ url: "/messages", ...e2, headers: { "Content-Type": "application/json", ...e2 == null ? undefined : e2.headers } }); var j2 = (e2) => (e2.client ?? i).delete({ url: "/messages/{id}/feedback", ...e2 }); var T2 = (e2) => (e2.client ?? i).put({ url: "/messages/{id}/feedback", ...e2, headers: { "Content-Type": "application/json", ...e2 == null ? undefined : e2.headers } }); var M = (e2) => (e2.client ?? i).delete({ url: "/users/me", ...e2 }); var i2 = (e2) => (e2.client ?? i).get({ url: "/users/me", ...e2 }); var f = (e2) => (e2.client ?? i).put({ url: "/users/me", ...e2, headers: { "Content-Type": "application/json", ...e2 == null ? undefined : e2.headers } }); var k2 = (e2) => ((e2 == null ? undefined : e2.client) ?? i).post({ url: "/users", ...e2, headers: { "Content-Type": "application/json", ...e2 == null ? undefined : e2.headers } }); var P2 = (e2) => ((e2 == null ? undefined : e2.client) ?? i).post({ url: "/users/key", ...e2, headers: { "Content-Type": "application/json", ...e2 == null ? undefined : e2.headers } }); var U2 = (e2) => (e2.client ?? i).get({ url: "/events/{id}", ...e2 }); var b2 = (e2) => (e2.client ?? i).post({ url: "/events", ...e2, headers: { "Content-Type": "application/json", ...e2 == null ? undefined : e2.headers } }); var F = (e2) => (e2.client ?? i).post({ url: "/files", ...e2, headers: { "Content-Type": "application/json", ...e2 == null ? undefined : e2.headers } }); var E2 = (e2) => ((e2 == null ? undefined : e2.client) ?? i).post({ url: "/p", ...e2, headers: { "Content-Type": "application/json", ...e2 == null ? undefined : e2.headers } }); // ../../node_modules/.bun/@botpress+webchat-client@0.7.3/node_modules/@botpress/webchat-client/dist/webchat-client9.js class E3 extends Error { constructor(d2, i3) { super(d2), this.name = "ParseError", this.type = i3.type, this.field = i3.field, this.value = i3.value, this.line = i3.line; } } function x2(n2) {} function w2(n2) { if (typeof n2 == "function") throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?"); const { onEvent: d2 = x2, onError: i3 = x2, onRetry: r = x2, onComment: c2 } = n2; let o = "", s2 = true, f2, a = "", p = ""; function b3(e2) { const t2 = s2 ? e2.replace(/^\xEF\xBB\xBF/, "") : e2, [l2, u2] = g3(`${o}${t2}`); for (const h2 of l2) y2(h2); o = u2, s2 = false; } function y2(e2) { if (e2 === "") { v3(); return; } if (e2.startsWith(":")) { c2 && c2(e2.slice(e2.startsWith(": ") ? 2 : 1)); return; } const t2 = e2.indexOf(":"); if (t2 !== -1) { const l2 = e2.slice(0, t2), u2 = e2[t2 + 1] === " " ? 2 : 1, h2 = e2.slice(t2 + u2); m2(l2, h2, e2); return; } m2(e2, "", e2); } function m2(e2, t2, l2) { switch (e2) { case "event": p = t2; break; case "data": a = `${a}${t2} `; break; case "id": f2 = t2.includes("\x00") ? undefined : t2; break; case "retry": /^\d+$/.test(t2) ? r(parseInt(t2, 10)) : i3(new E3(`Invalid \`retry\` value: "${t2}"`, { type: "invalid-retry", value: t2, line: l2 })); break; default: i3(new E3(`Unknown field "${e2.length > 20 ? `${e2.slice(0, 20)}\u2026` : e2}"`, { type: "unknown-field", field: e2, value: t2, line: l2 })); break; } } function v3() { a.length > 0 && d2({ id: f2, event: p || undefined, data: a.endsWith(` `) ? a.slice(0, -1) : a }), f2 = undefined, a = "", p = ""; } function $2(e2 = {}) { o && e2.consume && y2(o), s2 = true, f2 = undefined, a = "", p = "", o = ""; } return { feed: b3, reset: $2 }; } function g3(n2) { const d2 = []; let i3 = "", r = 0; for (;r < n2.length; ) { const c2 = n2.indexOf("\r", r), o = n2.indexOf(` `, r); let s2 = -1; if (c2 !== -1 && o !== -1 ? s2 = Math.min(c2, o) : c2 !== -1 ? c2 === n2.length - 1 ? s2 = -1 : s2 = c2 : o !== -1 && (s2 = o), s2 === -1) { i3 = n2.slice(r); break; } else { const f2 = n2.slice(r, s2); d2.push(f2), r = s2 + 1, n2[r - 1] === "\r" && n2[r] === ` ` && r++; } } return [d2, i3]; } // ../../node_modules/.bun/@botpress+webchat-client@0.7.3/node_modules/@botpress/webchat-client/dist/webchat-client5.js class q2 extends Event { constructor(e2, i3) { var r, c2; super(e2), this.code = (r = i3 == null ? undefined : i3.code) != null ? r : undefined, this.message = (c2 = i3 == null ? undefined : i3.message) != null ? c2 : undefined; } [Symbol.for("nodejs.util.inspect.custom")](e2, i3, r) { return r(B2(this), i3); } [Symbol.for("Deno.customInspect")](e2, i3) { return e2(B2(this), i3); } } function Y(t2) { const e2 = globalThis.DOMException; return typeof e2 == "function" ? new e2(t2, "SyntaxError") : new SyntaxError(t2); } function T3(t2) { return t2 instanceof Error ? "errors" in t2 && Array.isArray(t2.errors) ? t2.errors.map(T3).join(", ") : ("cause" in t2) && t2.cause instanceof Error ? `${t2}: ${T3(t2.cause)}` : t2.message : `${t2}`; } function B2(t2) { return { type: t2.type, message: t2.message, code: t2.code, defaultPrevented: t2.defaultPrevented, cancelable: t2.cancelable, timeStamp: t2.timeStamp }; } var z2 = (t2) => { throw TypeError(t2); }; var D2 = (t2, e2, i3) => e2.has(t2) || z2("Cannot " + i3); var s2 = (t2, e2, i3) => (D2(t2, e2, "read from private field"), i3 ? i3.call(t2) : e2.get(t2)); var a = (t2, e2, i3) => e2.has(t2) ? z2("Cannot add the same private member more than once") : e2 instanceof WeakSet ? e2.add(t2) : e2.set(t2, i3); var n2 = (t2, e2, i3, r) => (D2(t2, e2, "write to private field"), e2.set(t2, i3), i3); var d2 = (t2, e2, i3) => (D2(t2, e2, "access private method"), i3); var h2; var u2; var E4; var W2; var O2; var M2; var _2; var N2; var p; var f2; var g4; var w3; var C3; var l2; var L; var b3; var R2; var H2; var x3; var I2; var y2; var U3; var A2; class S extends EventTarget { constructor(e2, i3) { var r, c2; super(), a(this, l2), this.CONNECTING = 0, this.OPEN = 1, this.CLOSED = 2, a(this, h2), a(this, u2), a(this, E4), a(this, W2), a(this, O2), a(this, M2), a(this, _2), a(this, N2, null), a(this, p), a(this, f2), a(this, g4, null), a(this, w3, null), a(this, C3, null), a(this, b3, async (o) => { var m2; s2(this, f2).reset(); const { body: k3, redirected: J2, status: v3, headers: K } = o; if (v3 === 204) { d2(this, l2, y2).call(this, "Server sent HTTP 204, not reconnecting", 204), this.close(); return; } if (J2 ? n2(this, E4, new URL(o.url)) : n2(this, E4, undefined), v3 !== 200) { d2(this, l2, y2).call(this, `Non-200 status code (${v3})`, v3); return; } if (!(K.get("content-type") || "").startsWith("text/event-stream")) { d2(this, l2, y2).call(this, 'Invalid content type, expected "text/event-stream"', v3); return; } if (s2(this, h2) === this.CLOSED) return; n2(this, h2, this.OPEN); const G2 = new Event("open"); if ((m2 = s2(this, C3)) == null || m2.call(this, G2), this.dispatchEvent(G2), typeof k3 != "object" || !k3 || !("getReader" in k3)) { d2(this, l2, y2).call(this, "Invalid response body, expected a web ReadableStream", v3), this.close(); return; } const Q = new TextDecoder, V2 = k3.getReader(); let P3 = true; do { const { done: $2, value: F2 } = await V2.read(); F2 && s2(this, f2).feed(Q.decode(F2, { stream: !$2 })), $2 && (P3 = false, s2(this, f2).reset(), d2(this, l2, U3).call(this)); } while (P3); }), a(this, R2, (o) => { n2(this, p, undefined), !(o.name === "AbortError" || o.type === "aborted") && d2(this, l2, U3).call(this, T3(o)); }), a(this, x3, (o) => { typeof o.id == "string" && n2(this, N2, o.id); const m2 = new MessageEvent(o.event || "message", { data: o.data, origin: s2(this, E4) ? s2(this, E4).origin : s2(this, u2).origin, lastEventId: o.id || "" }); s2(this, w3) && (!o.event || o.event === "message") && s2(this, w3).call(this, m2), this.dispatchEvent(m2); }), a(this, I2, (o) => { n2(this, M2, o); }), a(this, A2, () => { n2(this, _2, undefined), s2(this, h2) === this.CONNECTING && d2(this, l2, L).call(this); }); try { if (e2 instanceof URL) n2(this, u2, e2); else if (typeof e2 == "string") n2(this, u2, new URL(e2, Z())); else throw new Error("Invalid URL"); } catch { throw Y("An invalid or illegal string was specified"); } n2(this, f2, w2({ onEvent: s2(this, x3), onRetry: s2(this, I2) })), n2(this, h2, this.CONNECTING), n2(this, M2, 3000), n2(this, O2, (r = i3 == null ? undefined : i3.fetch) != null ? r : globalThis.fetch), n2(this, W2, (c2 = i3 == null ? undefined : i3.withCredentials) != null ? c2 : false), d2(this, l2, L).call(this); } get readyState() { return s2(this, h2); } get url() { return s2(this, u2).href; } get withCredentials() { return s2(this, W2); } get onerror() { return s2(this, g4); } set onerror(e2) { n2(this, g4, e2); } get onmessage() { return s2(this, w3); } set onmessage(e2) { n2(this, w3, e2); } get onopen() { return s2(this, C3); } set onopen(e2) { n2(this, C3, e2); } addEventListener(e2, i3, r) { const c2 = i3; super.addEventListener(e2, c2, r); } removeEventListener(e2, i3, r) { const c2 = i3; super.removeEventListener(e2, c2, r); } close() { s2(this, _2) && clearTimeout(s2(this, _2)), s2(this, h2) !== this.CLOSED && (s2(this, p) && s2(this, p).abort(), n2(this, h2, this.CLOSED), n2(this, p, undefined)); } } h2 = /* @__PURE__ */ new WeakMap, u2 = /* @__PURE__ */ new WeakMap, E4 = /* @__PURE__ */ new WeakMap, W2 = /* @__PURE__ */ new WeakMap, O2 = /* @__PURE__ */ new WeakMap, M2 = /* @__PURE__ */ new WeakMap, _2 = /* @__PURE__ */ new WeakMap, N2 = /* @__PURE__ */ new WeakMap, p = /* @__PURE__ */ new WeakMap, f2 = /* @__PURE__ */ new WeakMap, g4 = /* @__PURE__ */ new WeakMap, w3 = /* @__PURE__ */ new WeakMap, C3 = /* @__PURE__ */ new WeakMap, l2 = /* @__PURE__ */ new WeakSet, L = function() { n2(this, h2, this.CONNECTING), n2(this, p, new AbortController), s2(this, O2)(s2(this, u2), d2(this, l2, H2).call(this)).then(s2(this, b3)).catch(s2(this, R2)); }, b3 = /* @__PURE__ */ new WeakMap, R2 = /* @__PURE__ */ new WeakMap, H2 = function() { var t2; const e2 = { mode: "cors", redirect: "follow", headers: { Accept: "text/event-stream", ...s2(this, N2) ? { "Last-Event-ID": s2(this, N2) } : undefined }, cache: "no-store", signal: (t2 = s2(this, p)) == null ? undefined : t2.signal }; return "window" in globalThis && (e2.credentials = this.withCredentials ? "include" : "same-origin"), e2; }, x3 = /* @__PURE__ */ new WeakMap, I2 = /* @__PURE__ */ new WeakMap, y2 = function(t2, e2) { var i3; s2(this, h2) !== this.CLOSED && n2(this, h2, this.CLOSED); const r = new q2("error", { code: e2, message: t2 }); (i3 = s2(this, g4)) == null || i3.call(this, r), this.dispatchEvent(r); }, U3 = function(t2, e2) { var i3; if (s2(this, h2) === this.CLOSED) return; n2(this, h2, this.CONNECTING); const r = new q2("error", { code: e2, message: t2 }); (i3 = s2(this, g4)) == null || i3.call(this, r), this.dispatchEvent(r), n2(this, _2, setTimeout(s2(this, A2), s2(this, M2))); }, A2 = /* @__PURE__ */ new WeakMap, S.CONNECTING = 0, S.OPEN = 1, S.CLOSED = 2; function Z() { const t2 = "document" in globalThis ? globalThis.document : undefined; return t2 && typeof t2 == "object" && "baseURI" in t2 && typeof t2.baseURI == "string" ? t2.baseURI : undefined; } // ../../node_modules/.bun/@botpress+webchat-client@0.7.3/node_modules/@botpress/webchat-client/dist/webchat-client6.js async function c2(r) { var t2; const e2 = await r.clone().json(); if ((t2 = e2 == null ? undefined : e2.id) != null && t2.startsWith("err_")) { const o = new Error(e2.message); throw o.id = e2.id, o.code = e2.code, o.type = e2.type, o; } return r; } // ../../node_modules/.bun/@botpress+webchat-client@0.7.3/node_modules/@botpress/webchat-client/dist/webchat-client7.js var d3 = () => { const e2 = {}; return { on: (t2, o) => { var n3; return e2[t2] || (e2[t2] = /* @__PURE__ */ new Set), (n3 = e2[t2]) == null || n3.add(o), () => { var c3; return (c3 = e2[t2]) == null ? undefined : c3.delete(o); }; }, emit: (t2, o) => { var n3, c3; (n3 = e2[t2]) == null || n3.forEach((r) => r(o)), (c3 = e2["*"]) == null || c3.forEach((r) => r({ type: t2, payload: o })); }, cleanup: () => { for (const t2 in e2) delete e2[t2]; } }; }; // ../../node_modules/.bun/@botpress+webchat-client@0.7.3/node_modules/@botpress/webchat-client/dist/webchat-client2.js var r = (o) => o.data; var T4 = 10; var x4 = 3000; var te = "60000"; var k3 = (o, l3) => { const c3 = (...a2) => o.on(...a2); return new Proxy(c3, { get: (a2, i3) => i3 === "on" ? o.on : i3 === "disconnect" ? l3 : i3 === "cleanup" ? o.cleanup : Reflect.get(a2, i3) }); }; var U4 = { throwOnError: true }; var ie = async ({ clientId: o, apiUrl: l3, adminSecret: c3, customHeaders: a2, ...i3 }) => { const n3 = `${l3 || i.getConfig().baseUrl}/${o}`; i.interceptors.response._fns.length === 0 && i.interceptors.response.use(c2); const u3 = { ...U4, baseUrl: n3 }, t2 = { ...c3 ? { "x-admin-secret": c3 } : {}, ...a2 }; return k2({ ...u3, headers: Object.keys(t2).length > 0 ? t2 : undefined, body: i3 }).then(r); }; var ce = ({ conversationId: o, userToken: l3, clientId: c3, apiUrl: a2, adminSecret: i3 }) => { let n3 = 0, u3 = null, t2 = null; const v3 = d3(); let e2 = o, s3 = l3; const p2 = () => { u3 && (clearTimeout(u3), u3 = null), t2 && (t2.close(), t2 = null); }, d4 = () => { t2 && t2.close(); const b4 = `${`${a2 || i.getConfig().baseUrl}/${c3}`}/initialize${e2 ? `?conversationId=${e2}` : ""}`, y3 = { ...i3 ? { "x-admin-secret": i3 } : {}, ...s3 ? { "x-user-key": s3 } : {} }; t2 = S2(b4, y3), t2.addEventListener("open", () => v3.emit("open")), t2.addEventListener("error", (f3) => { n3 < T4 ? (n3++, u3 = setTimeout(() => d4(), x4)) : v3.emit("error", f3); }), t2.addEventListener("message", (f3) => { const g5 = L2(f3.data); g5.type === "init" && (e2 = g5.data.conversation.id ?? e2, s3 = g5.data.user.userKey ?? s3), v3.emit(g5.type, g5.data); }); }; return d4(), k3(v3, p2); }; var le = async ({ adminSecret: o, expiresAt: l3, userId: c3, apiUrl: a2, clientId: i3 }) => { const n3 = { "x-admin-secret": o }, u3 = `${a2 || i.getConfig().baseUrl}/${i3}`, t2 = { ...U4, baseUrl: u3 }; return P2({ ...t2, headers: n3, body: { id: c3, expiresAt: l3 } }).then(r); }; var de = async (o, l3, c3, a2) => { const i3 = `${c3 || i.getConfig().baseUrl}/${o}`, n3 = { ...U4, baseUrl: i3 }; return E2({ ...n3, body: l3, headers: a2 }).then(r); }; var ue = ({ userKey: o, clientId: l3, apiUrl: c3, customHeaders: a2, advancedOptions: i3 }) => { const n3 = { "x-user-key": o, ...a2 }, u3 = `${c3 || i.getConfig().baseUrl}/${l3}`, t2 = { ...U4, baseUrl: u3 }; return i.interceptors.response._fns.length === 0 && i.interceptors.response.use(c2), { createConversation: () => n({ ...t2, headers: n3, body: {} }).then(r), getConversation: ({ conversationId: e2 }) => c({ ...t2, headers: n3, path: { id: e2 } }).then(r), deleteConversation: ({ conversationId: e2 }) => t({ ...t2, headers: n3, path: { id: e2 } }).then(r), listConversations: ({ nextToken: e2 }) => l({ ...t2, headers: n3, query: { nextToken: e2 } }).then(r), listConversationMessages: ({ conversationId: e2, nextToken: s3 }) => s({ ...t2, headers: n3, path: { id: e2 }, query: { nextToken: s3 } }).then(r), addParticipant: ({ conversationId: e2, userId: s3 }) => d({ ...t2, headers: n3, path: { id: e2 }, body: { userId: s3 } }).then(r), removeParticipant: ({ conversationId: e2, userId: s3 }) => g2({ ...t2, headers: n3, path: { id: e2, userId: s3 } }).then(r), getParticipant: ({ conversationId: e2, userId: s3 }) => h({ ...t2, headers: n3, path: { id: e2, userId: s3 } }).then(r), listParticipants: ({ conversationId: e2, nextToken: s3 }) => u({ ...t2, headers: n3, path: { id: e2 }, query: { nextToken: s3 } }).then(r), createMessage: (e2) => y({ ...t2, headers: n3, body: e2 }).then(r), updateMessage: ({ messageId: e2, ...s3 }) => m({ ...t2, headers: n3, path: { id: e2 }, body: s3 }).then(r), getMessage: ({ messageId: e2 }) => C2({ ...t2, headers: n3, path: { id: e2 } }).then(r), deleteMessage: ({ messageId: e2 }) => v2({ ...t2, headers: n3, path: { id: e2 } }).then(r), createFile: (e2) => F({ ...t2, headers: n3, body: e2 }).then(r), getUser: () => i2({ ...t2, headers: n3 }).then(r), updateUser: (e2) => f({ ...t2, headers: n3, body: e2 }).then(r), deleteUser: () => M({ ...t2, headers: n3 }).then(r), createEvent: (e2) => b2({ ...t2, headers: n3, body: e2 }).then(r), getEvent: ({ eventId: e2 }) => U2({ ...t2, headers: n3, path: { id: e2 } }).then(r), addMessageFeedback: ({ messageId: e2, ...s3 }) => T2({ ...t2, headers: n3, path: { id: e2 }, body: s3 }).then(r), removeMessageFeedback: ({ messageId: e2 }) => j2({ ...t2, headers: n3, path: { id: e2 } }).then(r), generateUserKey: ({ adminSecret: e2, ...s3 }) => P2({ ...t2, headers: { "x-admin-secret": e2 }, body: s3 }).then(r), listenConversation: ({ conversationId: e2 }) => { let s3 = 0, p2 = null, d4 = null; const m2 = d3(), b4 = () => { p2 && (clearTimeout(p2), p2 = null), d4 && (d4.close(), d4 = null); }, y3 = () => { d4 && d4.close(); const f3 = `${u3}/conversations/${e2}/listen`, g5 = i3 == null ? undefined : i3.eventSource; d4 = g5 ? g5({ url: f3, headers: n3 }) : S2(f3, n3), d4.addEventListener("open", () => m2.emit("open")), d4.addEventListener("error", (E5) => { s3 < T4 ? (s3++, p2 = setTimeout(() => y3(), x4)) : m2.emit("error", E5); }), d4.addEventListener("message", (E5) => { const C4 = L2(E5.data); m2.emit(C4.type, C4.data); }); }; return y3(), k3(m2, b4); } }; }; var L2 = (o) => { try { return JSON.parse(o); } catch { return o; } }; var S2 = (o, l3) => new S(o, { fetch: (c3, a2) => fetch(c3, { ...a2, headers: { ...a2 == null ? undefined : a2.headers, ...l3, timeout: te } }) }); export { de as sendPerfMetrics, ce as initialize, le as generateUserKey, ie as createUser, ue as createClient };