@assistant-ui/react-devtools 1.0.6 → 1.2.1

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 (54) hide show
  1. package/README.md +11 -47
  2. package/dist/DevToolsFrame.d.ts +9 -6
  3. package/dist/DevToolsFrame.d.ts.map +1 -1
  4. package/dist/DevToolsFrame.js +33 -24
  5. package/dist/DevToolsFrame.js.map +1 -1
  6. package/dist/DevToolsHost.d.ts +31 -29
  7. package/dist/DevToolsHost.d.ts.map +1 -1
  8. package/dist/DevToolsHost.js +81 -99
  9. package/dist/DevToolsHost.js.map +1 -1
  10. package/dist/DevToolsModal.d.ts +4 -1
  11. package/dist/DevToolsModal.d.ts.map +1 -1
  12. package/dist/DevToolsModal.js +132 -77
  13. package/dist/DevToolsModal.js.map +1 -1
  14. package/dist/ExtensionHost.d.ts +8 -5
  15. package/dist/ExtensionHost.d.ts.map +1 -1
  16. package/dist/ExtensionHost.js +40 -44
  17. package/dist/ExtensionHost.js.map +1 -1
  18. package/dist/FrameClient.d.ts +29 -27
  19. package/dist/FrameClient.d.ts.map +1 -1
  20. package/dist/FrameClient.js +52 -55
  21. package/dist/FrameClient.js.map +1 -1
  22. package/dist/FrameHost.d.ts +9 -6
  23. package/dist/FrameHost.d.ts.map +1 -1
  24. package/dist/FrameHost.js +24 -25
  25. package/dist/FrameHost.js.map +1 -1
  26. package/dist/constants.d.ts +5 -2
  27. package/dist/constants.d.ts.map +1 -1
  28. package/dist/constants.js +6 -2
  29. package/dist/constants.js.map +1 -1
  30. package/dist/index.d.ts +11 -11
  31. package/dist/index.js +10 -10
  32. package/dist/styles/DevToolsModal.styles.d.ts +16 -12
  33. package/dist/styles/DevToolsModal.styles.d.ts.map +1 -1
  34. package/dist/styles/DevToolsModal.styles.js +101 -103
  35. package/dist/styles/DevToolsModal.styles.js.map +1 -1
  36. package/dist/types.d.ts +12 -8
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/types.js +0 -2
  39. package/dist/utils/serialization.d.ts +7 -3
  40. package/dist/utils/serialization.d.ts.map +1 -1
  41. package/dist/utils/serialization.js +48 -76
  42. package/dist/utils/serialization.js.map +1 -1
  43. package/dist/utils/toolNormalization.d.ts +10 -7
  44. package/dist/utils/toolNormalization.d.ts.map +1 -1
  45. package/dist/utils/toolNormalization.js +38 -48
  46. package/dist/utils/toolNormalization.js.map +1 -1
  47. package/package.json +11 -11
  48. package/src/DevToolsModal.tsx +7 -1
  49. package/src/FrameClient.ts +2 -0
  50. package/src/utils/serialization.ts +7 -7
  51. package/src/utils/toolNormalization.ts +10 -10
  52. package/dist/index.d.ts.map +0 -1
  53. package/dist/index.js.map +0 -1
  54. package/dist/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FrameHost.d.ts","sourceRoot":"","sources":["../src/FrameHost.ts"],"names":[],"mappings":"AAEA,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,eAAe,CAAgC;gBAE3C,KAAK,EAAE,iBAAiB;IAmBpC,OAAO;CAIR"}
1
+ {"version":3,"file":"FrameHost.d.ts","names":[],"sources":["../src/FrameHost.ts"],"mappings":";cAEa,SAAA;EAAA,QACH,KAAA;EAAA,QACA,YAAA;EAAA,QACA,eAAA;cAEI,KAAA,EAAO,iBAAiB;EAmBpC,OAAA,CAAA;AAAA"}
package/dist/FrameHost.js CHANGED
@@ -1,27 +1,26 @@
1
1
  import { DevToolsHost } from "./DevToolsHost.js";
2
- export class FrameHost {
3
- frame;
4
- devToolsHost;
5
- messageListener;
6
- constructor(frame) {
7
- this.frame = frame;
8
- // Create DevToolsHost with callback to send messages to iframe
9
- this.devToolsHost = new DevToolsHost((message) => {
10
- if (this.frame.contentWindow) {
11
- this.frame.contentWindow.postMessage(message, "*");
12
- }
13
- });
14
- // Setup listener to forward messages from iframe to DevToolsHost
15
- this.messageListener = (event) => {
16
- if (event.source !== this.frame.contentWindow)
17
- return;
18
- this.devToolsHost.onReceiveMessage(event.data);
19
- };
20
- window.addEventListener("message", this.messageListener);
21
- }
22
- destroy() {
23
- window.removeEventListener("message", this.messageListener);
24
- this.devToolsHost.destroy();
25
- }
26
- }
2
+ //#region src/FrameHost.ts
3
+ var FrameHost = class {
4
+ frame;
5
+ devToolsHost;
6
+ messageListener;
7
+ constructor(frame) {
8
+ this.frame = frame;
9
+ this.devToolsHost = new DevToolsHost((message) => {
10
+ if (this.frame.contentWindow) this.frame.contentWindow.postMessage(message, "*");
11
+ });
12
+ this.messageListener = (event) => {
13
+ if (event.source !== this.frame.contentWindow) return;
14
+ this.devToolsHost.onReceiveMessage(event.data);
15
+ };
16
+ window.addEventListener("message", this.messageListener);
17
+ }
18
+ destroy() {
19
+ window.removeEventListener("message", this.messageListener);
20
+ this.devToolsHost.destroy();
21
+ }
22
+ };
23
+ //#endregion
24
+ export { FrameHost };
25
+
27
26
  //# sourceMappingURL=FrameHost.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrameHost.js","sourceRoot":"","sources":["../src/FrameHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,0BAAuB;AAE9C,MAAM,OAAO,SAAS;IACZ,KAAK,CAAoB;IACzB,YAAY,CAAe;IAC3B,eAAe,CAAgC;IAEvD,YAAY,KAAwB;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,+DAA+D;QAC/D,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE;YAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iEAAiE;QACjE,IAAI,CAAC,eAAe,GAAG,CAAC,KAAmB,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa;gBAAE,OAAO;YACtD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO;QACL,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"FrameHost.js","names":[],"sources":["../src/FrameHost.ts"],"sourcesContent":["import { DevToolsHost } from \"./DevToolsHost\";\n\nexport class FrameHost {\n private frame: HTMLIFrameElement;\n private devToolsHost: DevToolsHost;\n private messageListener: (event: MessageEvent) => void;\n\n constructor(frame: HTMLIFrameElement) {\n this.frame = frame;\n\n // Create DevToolsHost with callback to send messages to iframe\n this.devToolsHost = new DevToolsHost((message) => {\n if (this.frame.contentWindow) {\n this.frame.contentWindow.postMessage(message, \"*\");\n }\n });\n\n // Setup listener to forward messages from iframe to DevToolsHost\n this.messageListener = (event: MessageEvent) => {\n if (event.source !== this.frame.contentWindow) return;\n this.devToolsHost.onReceiveMessage(event.data);\n };\n\n window.addEventListener(\"message\", this.messageListener);\n }\n\n destroy() {\n window.removeEventListener(\"message\", this.messageListener);\n this.devToolsHost.destroy();\n }\n}\n"],"mappings":";;AAEA,IAAa,YAAb,MAAuB;CACrB;CACA;CACA;CAEA,YAAY,OAA0B;EACpC,KAAK,QAAQ;EAGb,KAAK,eAAe,IAAI,cAAc,YAAY;GAChD,IAAI,KAAK,MAAM,eACb,KAAK,MAAM,cAAc,YAAY,SAAS,GAAG;EAErD,CAAC;EAGD,KAAK,mBAAmB,UAAwB;GAC9C,IAAI,MAAM,WAAW,KAAK,MAAM,eAAe;GAC/C,KAAK,aAAa,iBAAiB,MAAM,IAAI;EAC/C;EAEA,OAAO,iBAAiB,WAAW,KAAK,eAAe;CACzD;CAEA,UAAU;EACR,OAAO,oBAAoB,WAAW,KAAK,eAAe;EAC1D,KAAK,aAAa,QAAQ;CAC5B;AACF"}
@@ -1,3 +1,6 @@
1
- export declare const DEFAULT_FRAME_URL = "https://devtools-frame.assistant-ui.com";
2
- export declare const LOCAL_FRAME_URL = "http://localhost:3010";
1
+ //#region src/constants.d.ts
2
+ declare const DEFAULT_FRAME_URL = "https://devtools-frame.assistant-ui.com";
3
+ declare const LOCAL_FRAME_URL = "http://localhost:3010";
4
+ //#endregion
5
+ export { DEFAULT_FRAME_URL, LOCAL_FRAME_URL };
3
6
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,4CAA4C,CAAC;AAC3E,eAAO,MAAM,eAAe,0BAA0B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","names":[],"sources":["../src/constants.ts"],"mappings":";cAAa,iBAAA;AAAA,cACA,eAAA"}
package/dist/constants.js CHANGED
@@ -1,3 +1,7 @@
1
- export const DEFAULT_FRAME_URL = "https://devtools-frame.assistant-ui.com";
2
- export const LOCAL_FRAME_URL = "http://localhost:3010";
1
+ //#region src/constants.ts
2
+ const DEFAULT_FRAME_URL = "https://devtools-frame.assistant-ui.com";
3
+ const LOCAL_FRAME_URL = "http://localhost:3010";
4
+ //#endregion
5
+ export { DEFAULT_FRAME_URL, LOCAL_FRAME_URL };
6
+
3
7
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,yCAAyC,CAAC;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAuB,CAAC"}
1
+ {"version":3,"file":"constants.js","names":[],"sources":["../src/constants.ts"],"sourcesContent":["export const DEFAULT_FRAME_URL = \"https://devtools-frame.assistant-ui.com\";\nexport const LOCAL_FRAME_URL = \"http://localhost:3010\";\n"],"mappings":";AAAA,MAAa,oBAAoB;AACjC,MAAa,kBAAkB"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- export { DevToolsModal } from "./DevToolsModal.js";
2
- export { DevToolsFrame } from "./DevToolsFrame.js";
3
- export { FrameHost } from "./FrameHost.js";
4
- export { DevToolsHost } from "./DevToolsHost.js";
5
- export { ExtensionHost } from "./ExtensionHost.js";
6
- export { FrameClient } from "./FrameClient.js";
7
- export { normalizeToolList, type NormalizedTool, } from "./utils/toolNormalization.js";
8
- export { sanitizeForMessage, serializeModelContext, } from "./utils/serialization.js";
9
- export type { SerializedModelContext, TabType, ViewMode } from "./types.js";
10
- export * from "./constants.js";
11
- //# sourceMappingURL=index.d.ts.map
1
+ import { DevToolsFrame } from "./DevToolsFrame.js";
2
+ import { DevToolsHost } from "./DevToolsHost.js";
3
+ import { DevToolsModal } from "./DevToolsModal.js";
4
+ import { ExtensionHost } from "./ExtensionHost.js";
5
+ import { FrameClient } from "./FrameClient.js";
6
+ import { FrameHost } from "./FrameHost.js";
7
+ import { DEFAULT_FRAME_URL, LOCAL_FRAME_URL } from "./constants.js";
8
+ import { NormalizedTool, normalizeToolList } from "./utils/toolNormalization.js";
9
+ import { SerializedModelContext, TabType, ViewMode } from "./types.js";
10
+ import { sanitizeForMessage, serializeModelContext } from "./utils/serialization.js";
11
+ export { DEFAULT_FRAME_URL, DevToolsFrame, DevToolsHost, DevToolsModal, ExtensionHost, FrameClient, FrameHost, LOCAL_FRAME_URL, type NormalizedTool, type SerializedModelContext, type TabType, type ViewMode, normalizeToolList, sanitizeForMessage, serializeModelContext };
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
- export { DevToolsModal } from "./DevToolsModal.js";
2
- export { DevToolsFrame } from "./DevToolsFrame.js";
3
- export { FrameHost } from "./FrameHost.js";
4
- export { DevToolsHost } from "./DevToolsHost.js";
5
- export { ExtensionHost } from "./ExtensionHost.js";
6
- export { FrameClient } from "./FrameClient.js";
7
- export { normalizeToolList, } from "./utils/toolNormalization.js";
8
- export { sanitizeForMessage, serializeModelContext, } from "./utils/serialization.js";
9
- export * from "./constants.js";
10
- //# sourceMappingURL=index.js.map
1
+ import { normalizeToolList } from "./utils/toolNormalization.js";
2
+ import { sanitizeForMessage, serializeModelContext } from "./utils/serialization.js";
3
+ import { DevToolsHost } from "./DevToolsHost.js";
4
+ import { FrameHost } from "./FrameHost.js";
5
+ import { DEFAULT_FRAME_URL, LOCAL_FRAME_URL } from "./constants.js";
6
+ import { DevToolsFrame } from "./DevToolsFrame.js";
7
+ import { DevToolsModal } from "./DevToolsModal.js";
8
+ import { ExtensionHost } from "./ExtensionHost.js";
9
+ import { FrameClient } from "./FrameClient.js";
10
+ export { DEFAULT_FRAME_URL, DevToolsFrame, DevToolsHost, DevToolsModal, ExtensionHost, FrameClient, FrameHost, LOCAL_FRAME_URL, normalizeToolList, sanitizeForMessage, serializeModelContext };
@@ -1,14 +1,18 @@
1
- import type { CSSProperties } from "react";
2
- export interface DevToolsModalStyles {
3
- floatingContainer: CSSProperties;
4
- floatingButton: CSSProperties;
5
- floatingButtonHover: CSSProperties;
6
- backdrop: CSSProperties;
7
- modal: CSSProperties;
8
- dismissButton: CSSProperties;
9
- dismissButtonHover: CSSProperties;
10
- modalContent: CSSProperties;
1
+ import { CSSProperties } from "react";
2
+
3
+ //#region src/styles/DevToolsModal.styles.d.ts
4
+ interface DevToolsModalStyles {
5
+ floatingContainer: CSSProperties;
6
+ floatingButton: CSSProperties;
7
+ floatingButtonHover: CSSProperties;
8
+ backdrop: CSSProperties;
9
+ modal: CSSProperties;
10
+ dismissButton: CSSProperties;
11
+ dismissButtonHover: CSSProperties;
12
+ modalContent: CSSProperties;
11
13
  }
12
- export declare const getStyles: (darkMode: boolean) => DevToolsModalStyles;
13
- export declare const ANIMATION_STYLES = "\n @keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n @keyframes slideIn {\n from {\n opacity: 0;\n transform: translate(-50%, -48%) scale(0.95);\n }\n to {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n }\n";
14
+ declare const getStyles: (darkMode: boolean) => DevToolsModalStyles;
15
+ declare const ANIMATION_STYLES = "\n @keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n @keyframes slideIn {\n from {\n opacity: 0;\n transform: translate(-50%, -48%) scale(0.95);\n }\n to {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n }\n";
16
+ //#endregion
17
+ export { ANIMATION_STYLES, DevToolsModalStyles, getStyles };
14
18
  //# sourceMappingURL=DevToolsModal.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DevToolsModal.styles.d.ts","sourceRoot":"","sources":["../../src/styles/DevToolsModal.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,aAAa,CAAC;IACjC,cAAc,EAAE,aAAa,CAAC;IAC9B,mBAAmB,EAAE,aAAa,CAAC;IACnC,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,kBAAkB,EAAE,aAAa,CAAC;IAClC,YAAY,EAAE,aAAa,CAAC;CAC7B;AA2BD,eAAO,MAAM,SAAS,GAAI,UAAU,OAAO,KAAG,mBAiF7C,CAAC;AAEF,eAAO,MAAM,gBAAgB,mSAe5B,CAAC"}
1
+ {"version":3,"file":"DevToolsModal.styles.d.ts","names":[],"sources":["../../src/styles/DevToolsModal.styles.ts"],"mappings":";;;UAEiB,mBAAA;EACf,iBAAA,EAAmB,aAAA;EACnB,cAAA,EAAgB,aAAA;EAChB,mBAAA,EAAqB,aAAA;EACrB,QAAA,EAAU,aAAA;EACV,KAAA,EAAO,aAAA;EACP,aAAA,EAAe,aAAA;EACf,kBAAA,EAAoB,aAAA;EACpB,YAAA,EAAc,aAAA;AAAA;AAAA,cA4BH,SAAA,GAAa,QAAA,cAAoB,mBAiF7C;AAAA,cAEY,gBAAA"}
@@ -1,109 +1,104 @@
1
+ //#region src/styles/DevToolsModal.styles.ts
1
2
  const COLORS = {
2
- light: {
3
- primary: "#2563EB",
4
- background: "#f8fafc",
5
- surface: "#ffffff",
6
- text: "#111827",
7
- textLight: "#6b7280",
8
- border: "rgba(148, 163, 184, 0.35)",
9
- shadow: "rgba(37, 99, 235, 0.35)",
10
- buttonText: "#f9fafb",
11
- hoverBg: "rgba(148, 163, 184, 0.18)",
12
- },
13
- dark: {
14
- primary: "#111827",
15
- background: "#09090b",
16
- surface: "#09090b",
17
- text: "#e5e7eb",
18
- textLight: "#9ca3af",
19
- border: "rgba(63, 63, 70, 0.6)",
20
- shadow: "rgba(0, 0, 0, 0.55)",
21
- buttonText: "#e5e7eb",
22
- hoverBg: "rgba(148, 163, 184, 0.12)",
23
- },
3
+ light: {
4
+ primary: "#2563EB",
5
+ background: "#f8fafc",
6
+ surface: "#ffffff",
7
+ text: "#111827",
8
+ textLight: "#6b7280",
9
+ border: "rgba(148, 163, 184, 0.35)",
10
+ shadow: "rgba(37, 99, 235, 0.35)",
11
+ buttonText: "#f9fafb",
12
+ hoverBg: "rgba(148, 163, 184, 0.18)"
13
+ },
14
+ dark: {
15
+ primary: "#111827",
16
+ background: "#09090b",
17
+ surface: "#09090b",
18
+ text: "#e5e7eb",
19
+ textLight: "#9ca3af",
20
+ border: "rgba(63, 63, 70, 0.6)",
21
+ shadow: "rgba(0, 0, 0, 0.55)",
22
+ buttonText: "#e5e7eb",
23
+ hoverBg: "rgba(148, 163, 184, 0.12)"
24
+ }
24
25
  };
25
- export const getStyles = (darkMode) => {
26
- const theme = darkMode ? COLORS.dark : COLORS.light;
27
- return {
28
- floatingContainer: {
29
- position: "fixed",
30
- bottom: "24px",
31
- right: "24px",
32
- zIndex: 2147483647,
33
- },
34
- floatingButton: {
35
- width: "42px",
36
- height: "42px",
37
- borderRadius: "9999px",
38
- border: "none",
39
- background: theme.primary,
40
- color: theme.buttonText,
41
- cursor: "pointer",
42
- display: "flex",
43
- alignItems: "center",
44
- justifyContent: "center",
45
- boxShadow: darkMode
46
- ? `0 10px 40px ${COLORS.dark.shadow}`
47
- : `0 10px 40px ${COLORS.light.shadow}`,
48
- transition: "transform 0.2s ease, box-shadow 0.2s ease",
49
- },
50
- floatingButtonHover: {
51
- transform: "translateY(-2px)",
52
- boxShadow: darkMode
53
- ? "0 16px 50px rgba(17, 24, 39, 0.55)"
54
- : "0 16px 50px rgba(37, 99, 235, 0.45)",
55
- },
56
- backdrop: {
57
- position: "fixed",
58
- inset: 0,
59
- background: "rgba(15, 23, 42, 0.45)",
60
- backdropFilter: "blur(6px)",
61
- animation: "fadeIn 0.12s ease",
62
- zIndex: 2147483646,
63
- },
64
- modal: {
65
- position: "fixed",
66
- top: "50%",
67
- left: "50%",
68
- transform: "translate(-50%, -50%)",
69
- width: "min(960px, 90vw)",
70
- height: "min(720px, 85vh)",
71
- background: theme.background,
72
- borderRadius: "16px",
73
- border: `1px solid ${theme.border}`,
74
- boxShadow: darkMode
75
- ? "0 32px 120px rgba(0, 0, 0, 0.55)"
76
- : "0 32px 120px rgba(15, 23, 42, 0.35)",
77
- display: "flex",
78
- flexDirection: "column",
79
- overflow: "hidden",
80
- animation: "slideIn 0.16s ease",
81
- zIndex: 2147483647,
82
- },
83
- dismissButton: {
84
- alignSelf: "flex-end",
85
- margin: "10px 12px 0 0",
86
- background: "transparent",
87
- border: "none",
88
- color: theme.textLight,
89
- cursor: "pointer",
90
- padding: "6px",
91
- borderRadius: "6px",
92
- transition: "background 0.2s ease, color 0.2s ease",
93
- },
94
- dismissButtonHover: {
95
- background: theme.hoverBg,
96
- color: theme.text,
97
- },
98
- modalContent: {
99
- flex: 1,
100
- overflow: "hidden",
101
- position: "relative",
102
- background: theme.background,
103
- },
104
- };
26
+ const getStyles = (darkMode) => {
27
+ const theme = darkMode ? COLORS.dark : COLORS.light;
28
+ return {
29
+ floatingContainer: {
30
+ position: "fixed",
31
+ bottom: "24px",
32
+ right: "24px",
33
+ zIndex: 2147483647
34
+ },
35
+ floatingButton: {
36
+ width: "42px",
37
+ height: "42px",
38
+ borderRadius: "9999px",
39
+ border: "none",
40
+ background: theme.primary,
41
+ color: theme.buttonText,
42
+ cursor: "pointer",
43
+ display: "flex",
44
+ alignItems: "center",
45
+ justifyContent: "center",
46
+ boxShadow: darkMode ? `0 10px 40px ${COLORS.dark.shadow}` : `0 10px 40px ${COLORS.light.shadow}`,
47
+ transition: "transform 0.2s ease, box-shadow 0.2s ease"
48
+ },
49
+ floatingButtonHover: {
50
+ transform: "translateY(-2px)",
51
+ boxShadow: darkMode ? "0 16px 50px rgba(17, 24, 39, 0.55)" : "0 16px 50px rgba(37, 99, 235, 0.45)"
52
+ },
53
+ backdrop: {
54
+ position: "fixed",
55
+ inset: 0,
56
+ background: "rgba(15, 23, 42, 0.45)",
57
+ backdropFilter: "blur(6px)",
58
+ animation: "fadeIn 0.12s ease",
59
+ zIndex: 2147483646
60
+ },
61
+ modal: {
62
+ position: "fixed",
63
+ top: "50%",
64
+ left: "50%",
65
+ transform: "translate(-50%, -50%)",
66
+ width: "min(960px, 90vw)",
67
+ height: "min(720px, 85vh)",
68
+ background: theme.background,
69
+ borderRadius: "16px",
70
+ border: `1px solid ${theme.border}`,
71
+ boxShadow: darkMode ? "0 32px 120px rgba(0, 0, 0, 0.55)" : "0 32px 120px rgba(15, 23, 42, 0.35)",
72
+ display: "flex",
73
+ flexDirection: "column",
74
+ overflow: "hidden",
75
+ animation: "slideIn 0.16s ease",
76
+ zIndex: 2147483647
77
+ },
78
+ dismissButton: {
79
+ alignSelf: "flex-end",
80
+ margin: "10px 12px 0 0",
81
+ background: "transparent",
82
+ border: "none",
83
+ color: theme.textLight,
84
+ cursor: "pointer",
85
+ padding: "6px",
86
+ borderRadius: "6px",
87
+ transition: "background 0.2s ease, color 0.2s ease"
88
+ },
89
+ dismissButtonHover: {
90
+ background: theme.hoverBg,
91
+ color: theme.text
92
+ },
93
+ modalContent: {
94
+ flex: 1,
95
+ overflow: "hidden",
96
+ position: "relative",
97
+ background: theme.background
98
+ }
99
+ };
105
100
  };
106
- export const ANIMATION_STYLES = `
101
+ const ANIMATION_STYLES = `
107
102
  @keyframes fadeIn {
108
103
  from { opacity: 0; }
109
104
  to { opacity: 1; }
@@ -119,4 +114,7 @@ export const ANIMATION_STYLES = `
119
114
  }
120
115
  }
121
116
  `;
117
+ //#endregion
118
+ export { ANIMATION_STYLES, getStyles };
119
+
122
120
  //# sourceMappingURL=DevToolsModal.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DevToolsModal.styles.js","sourceRoot":"","sources":["../../src/styles/DevToolsModal.styles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DevToolsModal.styles.js","names":[],"sources":["../../src/styles/DevToolsModal.styles.ts"],"sourcesContent":["import type { CSSProperties } from \"react\";\n\nexport interface DevToolsModalStyles {\n floatingContainer: CSSProperties;\n floatingButton: CSSProperties;\n floatingButtonHover: CSSProperties;\n backdrop: CSSProperties;\n modal: CSSProperties;\n dismissButton: CSSProperties;\n dismissButtonHover: CSSProperties;\n modalContent: CSSProperties;\n}\n\nconst COLORS = {\n light: {\n primary: \"#2563EB\",\n background: \"#f8fafc\",\n surface: \"#ffffff\",\n text: \"#111827\",\n textLight: \"#6b7280\",\n border: \"rgba(148, 163, 184, 0.35)\",\n shadow: \"rgba(37, 99, 235, 0.35)\",\n buttonText: \"#f9fafb\",\n hoverBg: \"rgba(148, 163, 184, 0.18)\",\n },\n dark: {\n primary: \"#111827\",\n background: \"#09090b\",\n surface: \"#09090b\",\n text: \"#e5e7eb\",\n textLight: \"#9ca3af\",\n border: \"rgba(63, 63, 70, 0.6)\",\n shadow: \"rgba(0, 0, 0, 0.55)\",\n buttonText: \"#e5e7eb\",\n hoverBg: \"rgba(148, 163, 184, 0.12)\",\n },\n} as const;\n\nexport const getStyles = (darkMode: boolean): DevToolsModalStyles => {\n const theme = darkMode ? COLORS.dark : COLORS.light;\n\n return {\n floatingContainer: {\n position: \"fixed\",\n bottom: \"24px\",\n right: \"24px\",\n zIndex: 2147483647,\n },\n floatingButton: {\n width: \"42px\",\n height: \"42px\",\n borderRadius: \"9999px\",\n border: \"none\",\n background: theme.primary,\n color: theme.buttonText,\n cursor: \"pointer\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n boxShadow: darkMode\n ? `0 10px 40px ${COLORS.dark.shadow}`\n : `0 10px 40px ${COLORS.light.shadow}`,\n transition: \"transform 0.2s ease, box-shadow 0.2s ease\",\n },\n floatingButtonHover: {\n transform: \"translateY(-2px)\",\n boxShadow: darkMode\n ? \"0 16px 50px rgba(17, 24, 39, 0.55)\"\n : \"0 16px 50px rgba(37, 99, 235, 0.45)\",\n },\n backdrop: {\n position: \"fixed\",\n inset: 0,\n background: \"rgba(15, 23, 42, 0.45)\",\n backdropFilter: \"blur(6px)\",\n animation: \"fadeIn 0.12s ease\",\n zIndex: 2147483646,\n },\n modal: {\n position: \"fixed\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: \"min(960px, 90vw)\",\n height: \"min(720px, 85vh)\",\n background: theme.background,\n borderRadius: \"16px\",\n border: `1px solid ${theme.border}`,\n boxShadow: darkMode\n ? \"0 32px 120px rgba(0, 0, 0, 0.55)\"\n : \"0 32px 120px rgba(15, 23, 42, 0.35)\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden\",\n animation: \"slideIn 0.16s ease\",\n zIndex: 2147483647,\n },\n dismissButton: {\n alignSelf: \"flex-end\",\n margin: \"10px 12px 0 0\",\n background: \"transparent\",\n border: \"none\",\n color: theme.textLight,\n cursor: \"pointer\",\n padding: \"6px\",\n borderRadius: \"6px\",\n transition: \"background 0.2s ease, color 0.2s ease\",\n },\n dismissButtonHover: {\n background: theme.hoverBg,\n color: theme.text,\n },\n modalContent: {\n flex: 1,\n overflow: \"hidden\",\n position: \"relative\",\n background: theme.background,\n },\n };\n};\n\nexport const ANIMATION_STYLES = `\n @keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n @keyframes slideIn {\n from {\n opacity: 0;\n transform: translate(-50%, -48%) scale(0.95);\n }\n to {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n }\n`;\n"],"mappings":";AAaA,MAAM,SAAS;CACb,OAAO;EACL,SAAS;EACT,YAAY;EACZ,SAAS;EACT,MAAM;EACN,WAAW;EACX,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,SAAS;CACX;CACA,MAAM;EACJ,SAAS;EACT,YAAY;EACZ,SAAS;EACT,MAAM;EACN,WAAW;EACX,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,SAAS;CACX;AACF;AAEA,MAAa,aAAa,aAA2C;CACnE,MAAM,QAAQ,WAAW,OAAO,OAAO,OAAO;CAE9C,OAAO;EACL,mBAAmB;GACjB,UAAU;GACV,QAAQ;GACR,OAAO;GACP,QAAQ;EACV;EACA,gBAAgB;GACd,OAAO;GACP,QAAQ;GACR,cAAc;GACd,QAAQ;GACR,YAAY,MAAM;GAClB,OAAO,MAAM;GACb,QAAQ;GACR,SAAS;GACT,YAAY;GACZ,gBAAgB;GAChB,WAAW,WACP,eAAe,OAAO,KAAK,WAC3B,eAAe,OAAO,MAAM;GAChC,YAAY;EACd;EACA,qBAAqB;GACnB,WAAW;GACX,WAAW,WACP,uCACA;EACN;EACA,UAAU;GACR,UAAU;GACV,OAAO;GACP,YAAY;GACZ,gBAAgB;GAChB,WAAW;GACX,QAAQ;EACV;EACA,OAAO;GACL,UAAU;GACV,KAAK;GACL,MAAM;GACN,WAAW;GACX,OAAO;GACP,QAAQ;GACR,YAAY,MAAM;GAClB,cAAc;GACd,QAAQ,aAAa,MAAM;GAC3B,WAAW,WACP,qCACA;GACJ,SAAS;GACT,eAAe;GACf,UAAU;GACV,WAAW;GACX,QAAQ;EACV;EACA,eAAe;GACb,WAAW;GACX,QAAQ;GACR,YAAY;GACZ,QAAQ;GACR,OAAO,MAAM;GACb,QAAQ;GACR,SAAS;GACT,cAAc;GACd,YAAY;EACd;EACA,oBAAoB;GAClB,YAAY,MAAM;GAClB,OAAO,MAAM;EACf;EACA,cAAc;GACZ,MAAM;GACN,UAAU;GACV,UAAU;GACV,YAAY,MAAM;EACpB;CACF;AACF;AAEA,MAAa,mBAAmB"}
package/dist/types.d.ts CHANGED
@@ -1,10 +1,14 @@
1
- import type { NormalizedTool } from "./utils/toolNormalization.js";
2
- export type TabType = "state" | "events" | "context";
3
- export type ViewMode = "raw" | "preview";
4
- export interface SerializedModelContext {
5
- system?: string;
6
- tools?: NormalizedTool[];
7
- callSettings?: Record<string, unknown>;
8
- config?: Record<string, unknown>;
1
+ import { NormalizedTool } from "./utils/toolNormalization.js";
2
+
3
+ //#region src/types.d.ts
4
+ type TabType = "state" | "events" | "context";
5
+ type ViewMode = "raw" | "preview";
6
+ interface SerializedModelContext {
7
+ system?: string;
8
+ tools?: NormalizedTool[];
9
+ callSettings?: Record<string, unknown>;
10
+ config?: Record<string, unknown>;
9
11
  }
12
+ //#endregion
13
+ export { SerializedModelContext, TabType, ViewMode };
10
14
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qCAAkC;AAGhE,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AACrD,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAGzC,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":";;;KAGY,OAAA;AAAA,KACA,QAAA;AAAA,UAGK,sBAAA;EACf,MAAA;EACA,KAAA,GAAQ,cAAA;EACR,YAAA,GAAe,MAAA;EACf,MAAA,GAAS,MAAA;AAAA"}
package/dist/types.js CHANGED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1,5 +1,9 @@
1
+ import { SerializedModelContext } from "../types.js";
1
2
  import { ModelContext } from "@assistant-ui/react";
2
- import type { SerializedModelContext } from "../types.js";
3
- export declare const sanitizeForMessage: (value: unknown, seen?: WeakSet<object>) => unknown;
4
- export declare const serializeModelContext: (context: ModelContext | undefined) => SerializedModelContext | undefined;
3
+
4
+ //#region src/utils/serialization.d.ts
5
+ declare const sanitizeForMessage: (value: unknown, seen?: WeakSet<object>) => unknown;
6
+ declare const serializeModelContext: (context: ModelContext | undefined) => SerializedModelContext | undefined;
7
+ //#endregion
8
+ export { sanitizeForMessage, serializeModelContext };
5
9
  //# sourceMappingURL=serialization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../src/utils/serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAiB;AAGvD,eAAO,MAAM,kBAAkB,GAC7B,OAAO,OAAO,EACd,sBAA4B,KAC3B,OA6CF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,SAAS,YAAY,GAAG,SAAS,KAChC,sBAAsB,GAAG,SAwC3B,CAAC"}
1
+ {"version":3,"file":"serialization.d.ts","names":[],"sources":["../../src/utils/serialization.ts"],"mappings":";;;;cAIa,kBAAA,GACX,KAAA,WACA,IAAA,GAAA,OAAA;AAAA,cAgDW,qBAAA,GACX,OAAA,EAAS,YAAA,iBACR,sBAAsB"}