@super_studio/ecforce-ai-agent-react 0.6.0-canary.6 → 1.0.0-canary.7

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.
Files changed (73) hide show
  1. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/defineProperty.mjs +14 -0
  2. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/extends.mjs +13 -0
  3. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/objectDestructuringEmpty.mjs +7 -0
  4. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/objectSpread2.mjs +27 -0
  5. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/objectWithoutProperties.mjs +15 -0
  6. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/objectWithoutPropertiesLoose.mjs +13 -0
  7. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/toPrimitive.mjs +16 -0
  8. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/toPropertyKey.mjs +11 -0
  9. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/typeof.mjs +12 -0
  10. package/dist/components/chatbot-frame.d.mts +53 -0
  11. package/dist/components/chatbot-frame.d.mts.map +1 -0
  12. package/dist/components/chatbot-frame.mjs +99 -0
  13. package/dist/components/chatbot-frame.mjs.map +1 -0
  14. package/dist/components/chatbot-sheet.d.mts +15 -0
  15. package/dist/components/chatbot-sheet.d.mts.map +1 -0
  16. package/dist/components/chatbot-sheet.mjs +40 -0
  17. package/dist/components/chatbot-sheet.mjs.map +1 -0
  18. package/dist/components/lottie-ai-icon.mjs +60 -0
  19. package/dist/components/lottie-ai-icon.mjs.map +1 -0
  20. package/dist/components/provider/chatbot-provider.d.mts +48 -0
  21. package/dist/components/provider/chatbot-provider.d.mts.map +1 -0
  22. package/dist/components/provider/chatbot-provider.mjs +46 -0
  23. package/dist/components/provider/chatbot-provider.mjs.map +1 -0
  24. package/dist/components/provider/use-chatbot-frame-handler.d.mts +17 -0
  25. package/dist/components/provider/use-chatbot-frame-handler.d.mts.map +1 -0
  26. package/dist/components/provider/use-chatbot-frame-handler.mjs +93 -0
  27. package/dist/components/provider/use-chatbot-frame-handler.mjs.map +1 -0
  28. package/dist/components/provider/use-chatbot-window-states.mjs +27 -0
  29. package/dist/components/provider/use-chatbot-window-states.mjs.map +1 -0
  30. package/dist/components/sheet.d.mts +18 -0
  31. package/dist/components/sheet.d.mts.map +1 -0
  32. package/dist/components/sheet.mjs +117 -0
  33. package/dist/components/sheet.mjs.map +1 -0
  34. package/dist/components/tooltip.d.mts +38 -0
  35. package/dist/components/tooltip.d.mts.map +1 -0
  36. package/dist/components/tooltip.mjs +36 -0
  37. package/dist/components/tooltip.mjs.map +1 -0
  38. package/dist/index.d.mts +6 -0
  39. package/dist/index.mjs +6 -618
  40. package/dist/lib/constants.mjs +6 -0
  41. package/dist/lib/constants.mjs.map +1 -0
  42. package/package.json +16 -25
  43. package/src/components/chatbot-frame.tsx +2 -0
  44. package/src/components/chatbot-sheet.tsx +2 -0
  45. package/src/components/lottie-ai-icon.tsx +2 -0
  46. package/src/components/provider/chatbot-provider.tsx +2 -0
  47. package/src/components/provider/use-chatbot-frame-handler.tsx +2 -0
  48. package/src/components/provider/use-chatbot-window-states.tsx +2 -0
  49. package/src/components/sheet.tsx +2 -0
  50. package/src/components/tooltip.tsx +2 -0
  51. package/dist/components/chatbot-frame.d.ts +0 -39
  52. package/dist/components/chatbot-frame.d.ts.map +0 -1
  53. package/dist/components/chatbot-sheet.d.ts +0 -8
  54. package/dist/components/chatbot-sheet.d.ts.map +0 -1
  55. package/dist/components/lottie-ai-icon.d.ts +0 -13
  56. package/dist/components/lottie-ai-icon.d.ts.map +0 -1
  57. package/dist/components/provider/chatbot-provider.d.ts +0 -42
  58. package/dist/components/provider/chatbot-provider.d.ts.map +0 -1
  59. package/dist/components/provider/use-chatbot-frame-handler.d.ts +0 -57
  60. package/dist/components/provider/use-chatbot-frame-handler.d.ts.map +0 -1
  61. package/dist/components/provider/use-chatbot-window-states.d.ts +0 -11
  62. package/dist/components/provider/use-chatbot-window-states.d.ts.map +0 -1
  63. package/dist/components/sheet.d.ts +0 -12
  64. package/dist/components/sheet.d.ts.map +0 -1
  65. package/dist/components/tooltip.d.ts +0 -20
  66. package/dist/components/tooltip.d.ts.map +0 -1
  67. package/dist/index.d.ts +0 -6
  68. package/dist/index.d.ts.map +0 -1
  69. package/dist/index.js +0 -619
  70. package/dist/lib/constants.d.ts +0 -2
  71. package/dist/lib/constants.d.ts.map +0 -1
  72. package/dist/styles/chatbot-sheet.css +0 -122
  73. package/dist/styles/preset.css +0 -18
@@ -0,0 +1,14 @@
1
+ import { toPropertyKey } from "./toPropertyKey.mjs";
2
+
3
+ //#region \0@oxc-project+runtime@0.103.0/helpers/defineProperty.js
4
+ function _defineProperty(e, r, t) {
5
+ return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
6
+ value: t,
7
+ enumerable: !0,
8
+ configurable: !0,
9
+ writable: !0
10
+ }) : e[r] = t, e;
11
+ }
12
+
13
+ //#endregion
14
+ export { _defineProperty };
@@ -0,0 +1,13 @@
1
+ //#region \0@oxc-project+runtime@0.103.0/helpers/extends.js
2
+ function _extends() {
3
+ return _extends = Object.assign ? Object.assign.bind() : function(n) {
4
+ for (var e = 1; e < arguments.length; e++) {
5
+ var t = arguments[e];
6
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
7
+ }
8
+ return n;
9
+ }, _extends.apply(null, arguments);
10
+ }
11
+
12
+ //#endregion
13
+ export { _extends };
@@ -0,0 +1,7 @@
1
+ //#region \0@oxc-project+runtime@0.103.0/helpers/objectDestructuringEmpty.js
2
+ function _objectDestructuringEmpty(t) {
3
+ if (null == t) throw new TypeError("Cannot destructure " + t);
4
+ }
5
+
6
+ //#endregion
7
+ export { _objectDestructuringEmpty };
@@ -0,0 +1,27 @@
1
+ import { _defineProperty } from "./defineProperty.mjs";
2
+
3
+ //#region \0@oxc-project+runtime@0.103.0/helpers/objectSpread2.js
4
+ function ownKeys(e, r) {
5
+ var t = Object.keys(e);
6
+ if (Object.getOwnPropertySymbols) {
7
+ var o = Object.getOwnPropertySymbols(e);
8
+ r && (o = o.filter(function(r$1) {
9
+ return Object.getOwnPropertyDescriptor(e, r$1).enumerable;
10
+ })), t.push.apply(t, o);
11
+ }
12
+ return t;
13
+ }
14
+ function _objectSpread2(e) {
15
+ for (var r = 1; r < arguments.length; r++) {
16
+ var t = null != arguments[r] ? arguments[r] : {};
17
+ r % 2 ? ownKeys(Object(t), !0).forEach(function(r$1) {
18
+ _defineProperty(e, r$1, t[r$1]);
19
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r$1) {
20
+ Object.defineProperty(e, r$1, Object.getOwnPropertyDescriptor(t, r$1));
21
+ });
22
+ }
23
+ return e;
24
+ }
25
+
26
+ //#endregion
27
+ export { _objectSpread2 };
@@ -0,0 +1,15 @@
1
+ import { _objectWithoutPropertiesLoose } from "./objectWithoutPropertiesLoose.mjs";
2
+
3
+ //#region \0@oxc-project+runtime@0.103.0/helpers/objectWithoutProperties.js
4
+ function _objectWithoutProperties(e, t) {
5
+ if (null == e) return {};
6
+ var o, r, i = _objectWithoutPropertiesLoose(e, t);
7
+ if (Object.getOwnPropertySymbols) {
8
+ var s = Object.getOwnPropertySymbols(e);
9
+ for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
10
+ }
11
+ return i;
12
+ }
13
+
14
+ //#endregion
15
+ export { _objectWithoutProperties };
@@ -0,0 +1,13 @@
1
+ //#region \0@oxc-project+runtime@0.103.0/helpers/objectWithoutPropertiesLoose.js
2
+ function _objectWithoutPropertiesLoose(r, e) {
3
+ if (null == r) return {};
4
+ var t = {};
5
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
6
+ if (e.includes(n)) continue;
7
+ t[n] = r[n];
8
+ }
9
+ return t;
10
+ }
11
+
12
+ //#endregion
13
+ export { _objectWithoutPropertiesLoose };
@@ -0,0 +1,16 @@
1
+ import { _typeof } from "./typeof.mjs";
2
+
3
+ //#region \0@oxc-project+runtime@0.103.0/helpers/toPrimitive.js
4
+ function toPrimitive(t, r) {
5
+ if ("object" != _typeof(t) || !t) return t;
6
+ var e = t[Symbol.toPrimitive];
7
+ if (void 0 !== e) {
8
+ var i = e.call(t, r || "default");
9
+ if ("object" != _typeof(i)) return i;
10
+ throw new TypeError("@@toPrimitive must return a primitive value.");
11
+ }
12
+ return ("string" === r ? String : Number)(t);
13
+ }
14
+
15
+ //#endregion
16
+ export { toPrimitive };
@@ -0,0 +1,11 @@
1
+ import { _typeof } from "./typeof.mjs";
2
+ import { toPrimitive } from "./toPrimitive.mjs";
3
+
4
+ //#region \0@oxc-project+runtime@0.103.0/helpers/toPropertyKey.js
5
+ function toPropertyKey(t) {
6
+ var i = toPrimitive(t, "string");
7
+ return "symbol" == _typeof(i) ? i : i + "";
8
+ }
9
+
10
+ //#endregion
11
+ export { toPropertyKey };
@@ -0,0 +1,12 @@
1
+ //#region \0@oxc-project+runtime@0.103.0/helpers/typeof.js
2
+ function _typeof(o) {
3
+ "@babel/helpers - typeof";
4
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o$1) {
5
+ return typeof o$1;
6
+ } : function(o$1) {
7
+ return o$1 && "function" == typeof Symbol && o$1.constructor === Symbol && o$1 !== Symbol.prototype ? "symbol" : typeof o$1;
8
+ }, _typeof(o);
9
+ }
10
+
11
+ //#endregion
12
+ export { _typeof };
@@ -0,0 +1,53 @@
1
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
2
+
3
+ //#region src/components/chatbot-frame.d.ts
4
+ type ChatbotFrameProps = {
5
+ /** 初期化時のチャットID */
6
+ initialConfig?: {
7
+ agentId?: string;
8
+ chatId?: string;
9
+ model?: string;
10
+ };
11
+ /** アプリ名のメタデータ */
12
+ appName?: string;
13
+ /** セッションを取得するための関数 */
14
+ getSession?: () => Promise<{
15
+ token: string;
16
+ expiresAt: string;
17
+ }>;
18
+ /**
19
+ * trueになるまで、初期化されません。
20
+ * 初期化せれたあとはもう使われません。
21
+ * @default true
22
+ */
23
+ enabled?: boolean;
24
+ /**
25
+ * エージェントのURLを上書きしたい場合にこちらを使います。
26
+ * 基本的には使われません。
27
+ * [CHATBOT_URL]の環境変数でも設定可能。
28
+ * @internal
29
+ */
30
+ url?: string;
31
+ className?: string;
32
+ };
33
+ declare function ChatbotFrame({
34
+ appName,
35
+ initialConfig,
36
+ getSession,
37
+ enabled,
38
+ url,
39
+ className
40
+ }: ChatbotFrameProps): react_jsx_runtime2.JSX.Element;
41
+ type SessionData = {
42
+ token: string;
43
+ expiresAt: string;
44
+ };
45
+ type UseSessionProps = {
46
+ getSession?: () => Promise<SessionData>;
47
+ };
48
+ declare function useSession({
49
+ getSession
50
+ }: UseSessionProps): string | undefined;
51
+ //#endregion
52
+ export { ChatbotFrame, ChatbotFrameProps, SessionData, UseSessionProps, useSession };
53
+ //# sourceMappingURL=chatbot-frame.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-frame.d.mts","names":[],"sources":["../../src/components/chatbot-frame.tsx"],"sourcesContent":[],"mappings":";;;KAOY,iBAAA;;;IAAA,OAAA,CAAA,EAAA,MAAiB;IA8Bb,MAAA,CAAA,EAAA,MAAY;IAC1B,KAAA,CAAA,EAAA,MAAA;EACA,CAAA;EACA;EACA,OAAA,CAAA,EAAA,MAAA;EACA;EACA,UAAA,CAAA,EAAA,GAAA,GA1BmB,OA0BnB,CAAA;IACC,KAAA,EAAA,MAAA;IAAiB,SAAA,EAAA,MAAA;EAAA,CAAA,CAAA;EAuFR;AAKZ;AAIA;;;;;;;;;;;;;iBAvGgB,YAAA;;;;;;;GAOb,oBAAiB,kBAAA,CAAA,GAAA,CAAA;KAuFR,WAAA;;;;KAKA,eAAA;qBACS,QAAQ;;iBAGb,UAAA;;GAA2B"}
@@ -0,0 +1,99 @@
1
+ "use client";
2
+
3
+ import { useChatbot } from "./provider/chatbot-provider.mjs";
4
+ import { PROD_CHATBOT_URL } from "../lib/constants.mjs";
5
+ import React from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+
8
+ //#region src/components/chatbot-frame.tsx
9
+ function ChatbotFrame({ appName, initialConfig, getSession, enabled = true, url, className }) {
10
+ var _ref;
11
+ const baseUrl = (_ref = url !== null && url !== void 0 ? url : process.env.CHATBOT_URL) !== null && _ref !== void 0 ? _ref : PROD_CHATBOT_URL;
12
+ const { setIframeEl } = useChatbot();
13
+ const { init, setMcps, setAppName, setSessionToken, isReady } = useChatbot();
14
+ const sentInitRef = React.useRef(false);
15
+ const [currentMcps, setCurrentMcps] = React.useState();
16
+ const [currentAppName, setCurrentAppName] = React.useState();
17
+ const [currentSessionToken, setCurrentSessionToken] = React.useState();
18
+ const sessionToken = useSession({ getSession });
19
+ const shouldInit = enabled && isReady && !!(sessionToken || getSession === void 0);
20
+ React.useEffect(() => {
21
+ if (shouldInit && !sentInitRef.current) {
22
+ init({
23
+ appName,
24
+ sessionToken
25
+ });
26
+ sentInitRef.current = true;
27
+ setCurrentAppName(appName);
28
+ setCurrentSessionToken(sessionToken);
29
+ }
30
+ }, [
31
+ enabled,
32
+ init,
33
+ appName,
34
+ isReady,
35
+ sessionToken
36
+ ]);
37
+ React.useEffect(() => {
38
+ if (sentInitRef.current && appName && currentAppName !== appName) {
39
+ setCurrentAppName(appName);
40
+ setAppName(appName);
41
+ }
42
+ }, [appName]);
43
+ React.useEffect(() => {
44
+ if (sentInitRef.current && sessionToken && currentSessionToken !== sessionToken) {
45
+ setCurrentSessionToken(sessionToken);
46
+ setSessionToken(sessionToken);
47
+ }
48
+ }, [sessionToken]);
49
+ return /* @__PURE__ */ jsx("iframe", {
50
+ ref: setIframeEl,
51
+ src: buildIframeUrl({
52
+ baseUrl,
53
+ initialConfig
54
+ }),
55
+ className,
56
+ allow: "clipboard-write",
57
+ style: {
58
+ width: "100%",
59
+ height: "100%"
60
+ }
61
+ });
62
+ }
63
+ function buildIframeUrl({ baseUrl, initialConfig }) {
64
+ const url = new URL(`/embed`, baseUrl);
65
+ if (initialConfig) url.searchParams.set("initialConfig", JSON.stringify(initialConfig));
66
+ return url.toString();
67
+ }
68
+ function useSession({ getSession }) {
69
+ const { setSessionToken } = useChatbot();
70
+ const [session, setSession] = React.useState();
71
+ const isFetchingSessionRef = React.useRef(false);
72
+ React.useEffect(() => {
73
+ if (!getSession) return;
74
+ let intervalId;
75
+ const fetchSession = async () => {
76
+ if (isFetchingSessionRef.current) return;
77
+ try {
78
+ isFetchingSessionRef.current = true;
79
+ const session$1 = await getSession();
80
+ setSession(session$1);
81
+ setSessionToken(session$1.token);
82
+ } catch (error) {
83
+ console.error("Failed to get session:", error);
84
+ } finally {
85
+ isFetchingSessionRef.current = false;
86
+ }
87
+ };
88
+ fetchSession();
89
+ intervalId = setInterval(fetchSession, 900 * 1e3);
90
+ return () => {
91
+ if (intervalId) clearInterval(intervalId);
92
+ };
93
+ }, [getSession, setSessionToken]);
94
+ return session === null || session === void 0 ? void 0 : session.token;
95
+ }
96
+
97
+ //#endregion
98
+ export { ChatbotFrame, useSession };
99
+ //# sourceMappingURL=chatbot-frame.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-frame.mjs","names":["intervalId: NodeJS.Timeout","session"],"sources":["../../src/components/chatbot-frame.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { PROD_CHATBOT_URL } from \"../lib/constants\";\nimport { useChatbot } from \"./provider/chatbot-provider\";\nimport type { MCP } from \"./provider/use-chatbot-frame-handler\";\n\nexport type ChatbotFrameProps = {\n /** 初期化時のチャットID */\n initialConfig?: {\n agentId?: string;\n chatId?: string;\n model?: string;\n };\n /** アプリ名のメタデータ */\n appName?: string;\n /** セッションを取得するための関数 */\n getSession?: () => Promise<{\n token: string;\n expiresAt: string;\n }>;\n /**\n * trueになるまで、初期化されません。\n * 初期化せれたあとはもう使われません。\n * @default true\n */\n enabled?: boolean;\n /**\n * エージェントのURLを上書きしたい場合にこちらを使います。\n * 基本的には使われません。\n * [CHATBOT_URL]の環境変数でも設定可能。\n * @internal\n */\n url?: string;\n className?: string;\n};\n\nexport function ChatbotFrame({\n appName,\n initialConfig,\n getSession,\n enabled = true,\n url,\n className,\n}: ChatbotFrameProps) {\n const baseUrl = url ?? process.env.CHATBOT_URL ?? PROD_CHATBOT_URL;\n const { setIframeEl } = useChatbot();\n const { init, setMcps, setAppName, setSessionToken, isReady } = useChatbot();\n const sentInitRef = React.useRef(false);\n const [currentMcps, setCurrentMcps] = React.useState<MCP[]>();\n const [currentAppName, setCurrentAppName] = React.useState<string>();\n const [currentSessionToken, setCurrentSessionToken] =\n React.useState<string>();\n const sessionToken = useSession({ getSession });\n\n const shouldInit =\n enabled &&\n isReady &&\n // getSessionが定義されていれば、currentSessionが設定されるまで待つ\n !!(sessionToken || getSession === undefined);\n\n // 初期化の仕組み\n React.useEffect(() => {\n if (shouldInit && !sentInitRef.current) {\n init({\n appName,\n sessionToken,\n });\n sentInitRef.current = true;\n setCurrentAppName(appName);\n setCurrentSessionToken(sessionToken);\n }\n }, [enabled, init, appName, isReady, sessionToken]);\n\n // appNameの更新の仕組み\n React.useEffect(() => {\n if (sentInitRef.current && appName && currentAppName !== appName) {\n setCurrentAppName(appName);\n setAppName(appName);\n }\n }, [appName]);\n\n // sessionTokenの更新の仕組み\n React.useEffect(() => {\n if (\n sentInitRef.current &&\n sessionToken &&\n currentSessionToken !== sessionToken\n ) {\n setCurrentSessionToken(sessionToken);\n setSessionToken(sessionToken);\n }\n }, [sessionToken]);\n\n return (\n <iframe\n ref={setIframeEl}\n src={buildIframeUrl({\n baseUrl,\n initialConfig,\n })}\n className={className}\n allow=\"clipboard-write\"\n style={{\n width: \"100%\",\n height: \"100%\",\n }}\n />\n );\n}\n\nfunction buildIframeUrl({\n baseUrl,\n initialConfig,\n}: {\n baseUrl: string;\n initialConfig?: {\n agentId?: string;\n chatId?: string;\n model?: string;\n };\n}) {\n const url = new URL(`/embed`, baseUrl);\n\n if (initialConfig) {\n url.searchParams.set(\"initialConfig\", JSON.stringify(initialConfig));\n }\n\n return url.toString();\n}\n\nexport type SessionData = {\n token: string;\n expiresAt: string;\n};\n\nexport type UseSessionProps = {\n getSession?: () => Promise<SessionData>;\n};\n\nexport function useSession({ getSession }: UseSessionProps) {\n const { setSessionToken } = useChatbot();\n const [session, setSession] = React.useState<SessionData>();\n const isFetchingSessionRef = React.useRef(false);\n\n // セッションの取得と定期更新\n React.useEffect(() => {\n if (!getSession) return;\n\n let intervalId: NodeJS.Timeout;\n\n const fetchSession = async () => {\n if (isFetchingSessionRef.current) return;\n try {\n isFetchingSessionRef.current = true;\n const session = await getSession();\n setSession(session);\n setSessionToken(session.token);\n } catch (error) {\n console.error(\"Failed to get session:\", error);\n } finally {\n isFetchingSessionRef.current = false;\n }\n };\n\n // 初回実行\n fetchSession();\n\n // 15分ごとに実行\n intervalId = setInterval(fetchSession, 15 * 60 * 1000);\n\n return () => {\n if (intervalId) {\n clearInterval(intervalId);\n }\n };\n }, [getSession, setSessionToken]);\n\n return session?.token;\n}\n"],"mappings":";;;;;;;;AAqCA,SAAgB,aAAa,EAC3B,SACA,eACA,YACA,UAAU,MACV,KACA,aACoB;;CACpB,MAAM,kBAAU,uCAAO,QAAQ,IAAI,kDAAe;CAClD,MAAM,EAAE,gBAAgB,YAAY;CACpC,MAAM,EAAE,MAAM,SAAS,YAAY,iBAAiB,YAAY,YAAY;CAC5E,MAAM,cAAc,MAAM,OAAO,MAAM;CACvC,MAAM,CAAC,aAAa,kBAAkB,MAAM,UAAiB;CAC7D,MAAM,CAAC,gBAAgB,qBAAqB,MAAM,UAAkB;CACpE,MAAM,CAAC,qBAAqB,0BAC1B,MAAM,UAAkB;CAC1B,MAAM,eAAe,WAAW,EAAE,YAAY,CAAC;CAE/C,MAAM,aACJ,WACA,WAEA,CAAC,EAAE,gBAAgB,eAAe;AAGpC,OAAM,gBAAgB;AACpB,MAAI,cAAc,CAAC,YAAY,SAAS;AACtC,QAAK;IACH;IACA;IACD,CAAC;AACF,eAAY,UAAU;AACtB,qBAAkB,QAAQ;AAC1B,0BAAuB,aAAa;;IAErC;EAAC;EAAS;EAAM;EAAS;EAAS;EAAa,CAAC;AAGnD,OAAM,gBAAgB;AACpB,MAAI,YAAY,WAAW,WAAW,mBAAmB,SAAS;AAChE,qBAAkB,QAAQ;AAC1B,cAAW,QAAQ;;IAEpB,CAAC,QAAQ,CAAC;AAGb,OAAM,gBAAgB;AACpB,MACE,YAAY,WACZ,gBACA,wBAAwB,cACxB;AACA,0BAAuB,aAAa;AACpC,mBAAgB,aAAa;;IAE9B,CAAC,aAAa,CAAC;AAElB,QACE,oBAAC;EACC,KAAK;EACL,KAAK,eAAe;GAClB;GACA;GACD,CAAC;EACS;EACX,OAAM;EACN,OAAO;GACL,OAAO;GACP,QAAQ;GACT;GACD;;AAIN,SAAS,eAAe,EACtB,SACA,iBAQC;CACD,MAAM,MAAM,IAAI,IAAI,UAAU,QAAQ;AAEtC,KAAI,cACF,KAAI,aAAa,IAAI,iBAAiB,KAAK,UAAU,cAAc,CAAC;AAGtE,QAAO,IAAI,UAAU;;AAYvB,SAAgB,WAAW,EAAE,cAA+B;CAC1D,MAAM,EAAE,oBAAoB,YAAY;CACxC,MAAM,CAAC,SAAS,cAAc,MAAM,UAAuB;CAC3D,MAAM,uBAAuB,MAAM,OAAO,MAAM;AAGhD,OAAM,gBAAgB;AACpB,MAAI,CAAC,WAAY;EAEjB,IAAIA;EAEJ,MAAM,eAAe,YAAY;AAC/B,OAAI,qBAAqB,QAAS;AAClC,OAAI;AACF,yBAAqB,UAAU;IAC/B,MAAMC,YAAU,MAAM,YAAY;AAClC,eAAWA,UAAQ;AACnB,oBAAgBA,UAAQ,MAAM;YACvB,OAAO;AACd,YAAQ,MAAM,0BAA0B,MAAM;aACtC;AACR,yBAAqB,UAAU;;;AAKnC,gBAAc;AAGd,eAAa,YAAY,cAAc,MAAU,IAAK;AAEtD,eAAa;AACX,OAAI,WACF,eAAc,WAAW;;IAG5B,CAAC,YAAY,gBAAgB,CAAC;AAEjC,0DAAO,QAAS"}
@@ -0,0 +1,15 @@
1
+ import { ChatbotFrameProps } from "./chatbot-frame.mjs";
2
+ import React from "react";
3
+ import * as react_jsx_runtime3 from "react/jsx-runtime";
4
+
5
+ //#region src/components/chatbot-sheet.d.ts
6
+ type ChatbotSheetProps = ChatbotFrameProps & {
7
+ sheetStyle?: React.CSSProperties;
8
+ };
9
+ declare function ChatbotSheet({
10
+ sheetStyle,
11
+ ...props
12
+ }: ChatbotSheetProps): react_jsx_runtime3.JSX.Element;
13
+ //#endregion
14
+ export { ChatbotSheet };
15
+ //# sourceMappingURL=chatbot-sheet.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-sheet.d.mts","names":[],"sources":["../../src/components/chatbot-sheet.tsx"],"sourcesContent":[],"mappings":";;;;;KAeK,iBAAA,GAAoB;eACV,KAAA,CAAM;;AADhB,iBAIW,YAAA,CAJS;EAAA,UAAA;EAAA,GAAA;AACS,CAAb,EAGkC,iBAHrB,CAAA,EAGsC,kBAAA,CAAA,GAAA,CAAA,OAHtC"}
@@ -0,0 +1,40 @@
1
+ "use client";
2
+
3
+ import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.103.0/helpers/objectSpread2.mjs";
4
+ import { PROD_CHATBOT_URL } from "../lib/constants.mjs";
5
+ import { ChatbotFrame } from "./chatbot-frame.mjs";
6
+ import { LottieAiIcon } from "./lottie-ai-icon.mjs";
7
+ import { _objectWithoutProperties } from "../_virtual/_@oxc-project_runtime@0.103.0/helpers/objectWithoutProperties.mjs";
8
+ import { Sheet, SheetContent, SheetDescription, SheetTitle, SheetTrigger } from "./sheet.mjs";
9
+ import { Tooltip } from "./tooltip.mjs";
10
+ import React from "react";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+
13
+ //#region src/components/chatbot-sheet.tsx
14
+ const _excluded = ["sheetStyle"];
15
+ function ChatbotSheet(_ref) {
16
+ let { sheetStyle } = _ref, props = _objectWithoutProperties(_ref, _excluded);
17
+ return /* @__PURE__ */ jsxs(Sheet, { children: [/* @__PURE__ */ jsx(Tooltip, {
18
+ side: "top",
19
+ align: "end",
20
+ content: "AIに質問してみましょう",
21
+ trigger: /* @__PURE__ */ jsx(SheetTrigger, { children: /* @__PURE__ */ jsx(LottieAiIcon, {
22
+ src: `${PROD_CHATBOT_URL}/animations/ai-icon.v1.lottie`,
23
+ width: 24,
24
+ height: 24,
25
+ autoplay: true,
26
+ loop: true
27
+ }) })
28
+ }), /* @__PURE__ */ jsxs(SheetContent, {
29
+ style: sheetStyle,
30
+ children: [
31
+ /* @__PURE__ */ jsx(SheetTitle, { children: "AIに質問してみましょう" }),
32
+ /* @__PURE__ */ jsx(SheetDescription, { children: "AIに質問してみましょう" }),
33
+ /* @__PURE__ */ jsx(ChatbotFrame, _objectSpread2({}, props))
34
+ ]
35
+ })] });
36
+ }
37
+
38
+ //#endregion
39
+ export { ChatbotSheet };
40
+ //# sourceMappingURL=chatbot-sheet.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-sheet.mjs","names":[],"sources":["../../src/components/chatbot-sheet.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { PROD_CHATBOT_URL } from \"@/lib/constants\";\nimport { ChatbotFrame, type ChatbotFrameProps } from \"./chatbot-frame\";\nimport { LottieAiIcon } from \"./lottie-ai-icon\";\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetTitle,\n SheetTrigger,\n} from \"./sheet\";\nimport { Tooltip } from \"./tooltip\";\n\ntype ChatbotSheetProps = ChatbotFrameProps & {\n sheetStyle?: React.CSSProperties;\n};\n\nexport function ChatbotSheet({ sheetStyle, ...props }: ChatbotSheetProps) {\n return (\n <Sheet>\n <Tooltip\n side=\"top\"\n align=\"end\"\n content=\"AIに質問してみましょう\"\n trigger={\n <SheetTrigger>\n <LottieAiIcon\n src={`${PROD_CHATBOT_URL}/animations/ai-icon.v1.lottie`}\n width={24}\n height={24}\n autoplay\n loop\n />\n </SheetTrigger>\n }\n />\n <SheetContent style={sheetStyle}>\n <SheetTitle>AIに質問してみましょう</SheetTitle>\n <SheetDescription>AIに質問してみましょう</SheetDescription>\n <ChatbotFrame {...props} />\n </SheetContent>\n </Sheet>\n );\n}\n"],"mappings":";;;;;;;;;;;;;mBAmB+B;AAA/B,SAAgB,aAAa,MAA6C;KAA7C,EAAE,qBAAe;AAC5C,QACE,qBAAC,oBACC,oBAAC;EACC,MAAK;EACL,OAAM;EACN,SAAQ;EACR,SACE,oBAAC,0BACC,oBAAC;GACC,KAAK,GAAG,iBAAiB;GACzB,OAAO;GACP,QAAQ;GACR;GACA;IACA,GACW;GAEjB,EACF,qBAAC;EAAa,OAAO;;GACnB,oBAAC,wBAAW,iBAAyB;GACrC,oBAAC,8BAAiB,iBAA+B;GACjD,oBAAC,iCAAiB,OAAS;;GACd,IACT"}
@@ -0,0 +1,60 @@
1
+ "use client";
2
+
3
+ import * as React$1 from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+
6
+ //#region src/components/lottie-ai-icon.tsx
7
+ function LottieAiIcon({ src, width = 18, height = 18, loop = true, autoplay = false, hover = false, fallback }) {
8
+ const containerRef = React$1.useRef(null);
9
+ const [ready, setReady] = React$1.useState(false);
10
+ React$1.useEffect(() => {
11
+ if (typeof window === "undefined") return;
12
+ if (!document.querySelector("script[data-dotlottie-player]")) {
13
+ const scriptEl = document.createElement("script");
14
+ scriptEl.type = "module";
15
+ scriptEl.async = true;
16
+ scriptEl.src = "https://unpkg.com/@dotlottie/player-component@latest/dist/dotlottie-player.js";
17
+ scriptEl.setAttribute("data-dotlottie-player", "true");
18
+ scriptEl.onload = () => setReady(true);
19
+ scriptEl.onerror = () => setReady(false);
20
+ document.head.appendChild(scriptEl);
21
+ } else setReady(true);
22
+ }, []);
23
+ React$1.useEffect(() => {
24
+ if (!ready || !containerRef.current) return;
25
+ const container = containerRef.current;
26
+ container.innerHTML = "";
27
+ const player = document.createElement("dotlottie-player");
28
+ player.setAttribute("src", src);
29
+ player.setAttribute("style", `width:${width}px;height:${height}px`);
30
+ if (loop) player.setAttribute("loop", "");
31
+ if (autoplay) player.setAttribute("autoplay", "");
32
+ if (hover) player.setAttribute("hover", "");
33
+ container.appendChild(player);
34
+ return () => {
35
+ container.innerHTML = "";
36
+ };
37
+ }, [
38
+ ready,
39
+ src,
40
+ width,
41
+ height,
42
+ loop,
43
+ autoplay,
44
+ hover
45
+ ]);
46
+ return /* @__PURE__ */ jsx("div", {
47
+ ref: containerRef,
48
+ "aria-hidden": "true",
49
+ children: !ready && (fallback !== null && fallback !== void 0 ? fallback : /* @__PURE__ */ jsx("svg", {
50
+ width,
51
+ height,
52
+ viewBox: "0 0 24 24",
53
+ fill: "currentColor"
54
+ }))
55
+ });
56
+ }
57
+
58
+ //#endregion
59
+ export { LottieAiIcon };
60
+ //# sourceMappingURL=lottie-ai-icon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lottie-ai-icon.mjs","names":["React"],"sources":["../../src/components/lottie-ai-icon.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\ntype LottieAiIconProps = {\n src: string;\n width?: number;\n height?: number;\n loop?: boolean;\n autoplay?: boolean;\n hover?: boolean;\n fallback?: React.ReactNode;\n};\n\nexport function LottieAiIcon({\n src,\n width = 18,\n height = 18,\n loop = true,\n autoplay = false,\n hover = false,\n fallback,\n}: LottieAiIconProps) {\n const containerRef = React.useRef<HTMLDivElement>(null);\n const [ready, setReady] = React.useState(false);\n\n React.useEffect(() => {\n if (typeof window === \"undefined\") return;\n\n const existing = document.querySelector(\"script[data-dotlottie-player]\");\n if (!existing) {\n const scriptEl = document.createElement(\"script\");\n scriptEl.type = \"module\";\n scriptEl.async = true;\n scriptEl.src =\n \"https://unpkg.com/@dotlottie/player-component@latest/dist/dotlottie-player.js\";\n scriptEl.setAttribute(\"data-dotlottie-player\", \"true\");\n scriptEl.onload = () => setReady(true);\n scriptEl.onerror = () => setReady(false);\n document.head.appendChild(scriptEl);\n } else {\n setReady(true);\n }\n }, []);\n\n React.useEffect(() => {\n if (!ready || !containerRef.current) return;\n const container = containerRef.current;\n container.innerHTML = \"\";\n const player = document.createElement(\"dotlottie-player\");\n player.setAttribute(\"src\", src);\n player.setAttribute(\"style\", `width:${width}px;height:${height}px`);\n if (loop) player.setAttribute(\"loop\", \"\");\n if (autoplay) player.setAttribute(\"autoplay\", \"\");\n if (hover) player.setAttribute(\"hover\", \"\");\n container.appendChild(player);\n return () => {\n container.innerHTML = \"\";\n };\n }, [ready, src, width, height, loop, autoplay, hover]);\n\n return (\n <div ref={containerRef} aria-hidden=\"true\">\n {!ready &&\n (fallback ?? (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n />\n ))}\n </div>\n );\n}\n"],"mappings":";;;;;;AAcA,SAAgB,aAAa,EAC3B,KACA,QAAQ,IACR,SAAS,IACT,OAAO,MACP,WAAW,OACX,QAAQ,OACR,YACoB;CACpB,MAAM,eAAeA,QAAM,OAAuB,KAAK;CACvD,MAAM,CAAC,OAAO,YAAYA,QAAM,SAAS,MAAM;AAE/C,SAAM,gBAAgB;AACpB,MAAI,OAAO,WAAW,YAAa;AAGnC,MAAI,CADa,SAAS,cAAc,gCAAgC,EACzD;GACb,MAAM,WAAW,SAAS,cAAc,SAAS;AACjD,YAAS,OAAO;AAChB,YAAS,QAAQ;AACjB,YAAS,MACP;AACF,YAAS,aAAa,yBAAyB,OAAO;AACtD,YAAS,eAAe,SAAS,KAAK;AACtC,YAAS,gBAAgB,SAAS,MAAM;AACxC,YAAS,KAAK,YAAY,SAAS;QAEnC,UAAS,KAAK;IAEf,EAAE,CAAC;AAEN,SAAM,gBAAgB;AACpB,MAAI,CAAC,SAAS,CAAC,aAAa,QAAS;EACrC,MAAM,YAAY,aAAa;AAC/B,YAAU,YAAY;EACtB,MAAM,SAAS,SAAS,cAAc,mBAAmB;AACzD,SAAO,aAAa,OAAO,IAAI;AAC/B,SAAO,aAAa,SAAS,SAAS,MAAM,YAAY,OAAO,IAAI;AACnE,MAAI,KAAM,QAAO,aAAa,QAAQ,GAAG;AACzC,MAAI,SAAU,QAAO,aAAa,YAAY,GAAG;AACjD,MAAI,MAAO,QAAO,aAAa,SAAS,GAAG;AAC3C,YAAU,YAAY,OAAO;AAC7B,eAAa;AACX,aAAU,YAAY;;IAEvB;EAAC;EAAO;EAAK;EAAO;EAAQ;EAAM;EAAU;EAAM,CAAC;AAEtD,QACE,oBAAC;EAAI,KAAK;EAAc,eAAY;YACjC,CAAC,UACC,sDACC,oBAAC;GACQ;GACC;GACR,SAAQ;GACR,MAAK;IACL;GAEF"}
@@ -0,0 +1,48 @@
1
+ import { InitProps, MCP } from "./use-chatbot-frame-handler.mjs";
2
+ import React from "react";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/provider/chatbot-provider.d.ts
6
+ type ChatbotContextType = {
7
+ /** 1回チャットボットを開いたら、固定でtrueになる */
8
+ hasOpened: boolean;
9
+ /** チャットボットを開いているか */
10
+ open: boolean;
11
+ /** チャットボットを開く */
12
+ setOpen: (open: boolean) => void;
13
+ /** チャットボットを展開しているか */
14
+ isExpanded: boolean;
15
+ /** チャットボットを展開する */
16
+ setIsExpanded: (expanded: boolean) => void;
17
+ /** チャットボットをフルスクリーンにしているか */
18
+ isFullScreen: boolean;
19
+ /** チャットボットをフルスクリーンにする */
20
+ setIsFullScreen: (fullScreen: boolean) => void;
21
+ /** チャットボットを初期化 */
22
+ init: (props: InitProps) => void;
23
+ /** MCPを設定 */
24
+ setMcps: (mcps: MCP[]) => void;
25
+ /** アプリ名を設定 */
26
+ setAppName: (appName: string) => void;
27
+ /** セッショントークンを設定 */
28
+ setSessionToken: (sessionToken: string) => void;
29
+ /** チャットボットが準備できたか */
30
+ isReady: boolean;
31
+ /** チャットボットが初期化されたか */
32
+ isInitialized: boolean;
33
+ /**
34
+ * @internal
35
+ * チャットボットのiframe要素を設定
36
+ */
37
+ setIframeEl: (iframeEl: HTMLIFrameElement | null) => void;
38
+ };
39
+ declare function useChatbot(): ChatbotContextType;
40
+ type ChatbotProviderProps = {
41
+ children: React.ReactNode;
42
+ };
43
+ declare function ChatbotProvider({
44
+ children
45
+ }: ChatbotProviderProps): react_jsx_runtime0.JSX.Element;
46
+ //#endregion
47
+ export { ChatbotProvider, useChatbot };
48
+ //# sourceMappingURL=chatbot-provider.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-provider.d.mts","names":[],"sources":["../../../src/components/provider/chatbot-provider.tsx"],"sourcesContent":[],"mappings":";;;;;KAUK,kBAAA;;;EAAA;EAgBW,IAAA,EAAA,OAAA;EAEE;EAaQ,OAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,GAAA,IAAA;EAAiB;EAO3B,UAAA,EAAA,OAAU;EAQrB;EAIW,aAAA,EAAA,CAAA,QAAe,EAAA,OAAA,EAAA,GAAA,IAAA;EAAG;EAAY,YAAA,EAAA,OAAA;EAAoB;EAAA,eAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,GAAA,IAAA;;gBAlClD;;kBAEE;;;;;;;;;;;;;0BAaQ;;iBAOV,UAAA,CAAA,GAAU;KAQrB,oBAAA;YACO,KAAA,CAAM;;iBAGF,eAAA;;GAA8B,uBAAoB,kBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,46 @@
1
+ "use client";
2
+
3
+ import { useChatbotFrameHandler } from "./use-chatbot-frame-handler.mjs";
4
+ import { useChatbotWindowStates } from "./use-chatbot-window-states.mjs";
5
+ import React from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+
8
+ //#region src/components/provider/chatbot-provider.tsx
9
+ const ChatbotContext = React.createContext(void 0);
10
+ function useChatbot() {
11
+ const context = React.useContext(ChatbotContext);
12
+ if (!context) throw new Error("useChatbot must be used within a ChatbotProvider");
13
+ return context;
14
+ }
15
+ function ChatbotProvider({ children }) {
16
+ const { hasOpened, open, isExpanded, isFullScreen, setOpen, setIsExpanded, setIsFullScreen } = useChatbotWindowStates();
17
+ const { setMcps, setAppName, setSessionToken, init, isReady, isInitialized, setIframeEl } = useChatbotFrameHandler({
18
+ setOpen,
19
+ setIsExpanded,
20
+ setIsFullScreen
21
+ });
22
+ const value = {
23
+ hasOpened,
24
+ open,
25
+ setOpen,
26
+ isExpanded,
27
+ setIsExpanded,
28
+ isFullScreen,
29
+ setIsFullScreen,
30
+ setSessionToken,
31
+ init,
32
+ setMcps,
33
+ setAppName,
34
+ isReady,
35
+ isInitialized,
36
+ setIframeEl
37
+ };
38
+ return /* @__PURE__ */ jsx(ChatbotContext.Provider, {
39
+ value,
40
+ children
41
+ });
42
+ }
43
+
44
+ //#endregion
45
+ export { ChatbotProvider, useChatbot };
46
+ //# sourceMappingURL=chatbot-provider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-provider.mjs","names":[],"sources":["../../../src/components/provider/chatbot-provider.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport {\n useChatbotFrameHandler,\n type InitProps,\n type MCP,\n} from \"./use-chatbot-frame-handler\";\nimport { useChatbotWindowStates } from \"./use-chatbot-window-states\";\n\ntype ChatbotContextType = {\n /** 1回チャットボットを開いたら、固定でtrueになる */\n hasOpened: boolean;\n /** チャットボットを開いているか */\n open: boolean;\n /** チャットボットを開く */\n setOpen: (open: boolean) => void;\n /** チャットボットを展開しているか */\n isExpanded: boolean;\n /** チャットボットを展開する */\n setIsExpanded: (expanded: boolean) => void;\n /** チャットボットをフルスクリーンにしているか */\n isFullScreen: boolean;\n /** チャットボットをフルスクリーンにする */\n setIsFullScreen: (fullScreen: boolean) => void;\n /** チャットボットを初期化 */\n init: (props: InitProps) => void;\n /** MCPを設定 */\n setMcps: (mcps: MCP[]) => void;\n /** アプリ名を設定 */\n setAppName: (appName: string) => void;\n /** セッショントークンを設定 */\n setSessionToken: (sessionToken: string) => void;\n /** チャットボットが準備できたか */\n isReady: boolean;\n /** チャットボットが初期化されたか */\n isInitialized: boolean;\n /**\n * @internal\n * チャットボットのiframe要素を設定\n */\n setIframeEl: (iframeEl: HTMLIFrameElement | null) => void;\n};\n\nconst ChatbotContext = React.createContext<ChatbotContextType | undefined>(\n undefined,\n);\n\nexport function useChatbot() {\n const context = React.useContext(ChatbotContext);\n if (!context) {\n throw new Error(\"useChatbot must be used within a ChatbotProvider\");\n }\n return context;\n}\n\ntype ChatbotProviderProps = {\n children: React.ReactNode;\n};\n\nexport function ChatbotProvider({ children }: ChatbotProviderProps) {\n const {\n hasOpened,\n open,\n isExpanded,\n isFullScreen,\n setOpen,\n setIsExpanded,\n setIsFullScreen,\n } = useChatbotWindowStates();\n const {\n setMcps,\n setAppName,\n setSessionToken,\n init,\n isReady,\n isInitialized,\n setIframeEl,\n } = useChatbotFrameHandler({\n setOpen,\n setIsExpanded,\n setIsFullScreen,\n });\n\n const value = {\n hasOpened,\n open,\n setOpen,\n isExpanded,\n setIsExpanded,\n isFullScreen,\n setIsFullScreen,\n setSessionToken,\n init,\n setMcps,\n setAppName,\n isReady,\n isInitialized,\n setIframeEl,\n };\n\n return (\n <ChatbotContext.Provider value={value}>{children}</ChatbotContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;AA4CA,MAAM,iBAAiB,MAAM,cAC3B,OACD;AAED,SAAgB,aAAa;CAC3B,MAAM,UAAU,MAAM,WAAW,eAAe;AAChD,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,mDAAmD;AAErE,QAAO;;AAOT,SAAgB,gBAAgB,EAAE,YAAkC;CAClE,MAAM,EACJ,WACA,MACA,YACA,cACA,SACA,eACA,oBACE,wBAAwB;CAC5B,MAAM,EACJ,SACA,YACA,iBACA,MACA,SACA,eACA,gBACE,uBAAuB;EACzB;EACA;EACA;EACD,CAAC;CAEF,MAAM,QAAQ;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;AAED,QACE,oBAAC,eAAe;EAAgB;EAAQ;GAAmC"}
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+
3
+ //#region src/components/provider/use-chatbot-frame-handler.d.ts
4
+
5
+ type MCP = {
6
+ name: string;
7
+ url: string;
8
+ headers?: Record<string, string>;
9
+ };
10
+ type InitProps = {
11
+ mcps?: MCP[];
12
+ appName?: string;
13
+ sessionToken?: string;
14
+ };
15
+ //#endregion
16
+ export { InitProps, MCP };
17
+ //# sourceMappingURL=use-chatbot-frame-handler.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-chatbot-frame-handler.d.mts","names":[],"sources":["../../../src/components/provider/use-chatbot-frame-handler.tsx"],"sourcesContent":[],"mappings":";;;;KAcY,GAAA;;;YAGA;;KAGA,SAAA;SACH"}