@autobe/ui 0.20.0 → 0.21.0

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 (115) hide show
  1. package/lib/AutoBeChatMain.d.ts +16 -0
  2. package/lib/AutoBeChatMain.js +51 -0
  3. package/lib/AutoBeChatMain.js.map +1 -0
  4. package/lib/banner/AutoBeAgentInformation.d.ts +15 -0
  5. package/lib/banner/AutoBeAgentInformation.js +41 -0
  6. package/lib/banner/AutoBeAgentInformation.js.map +1 -0
  7. package/lib/banner/AutoBeChatBanner.d.ts +15 -0
  8. package/lib/banner/AutoBeChatBanner.js +29 -0
  9. package/lib/banner/AutoBeChatBanner.js.map +1 -0
  10. package/lib/banner/AutoBeChatState.d.ts +6 -0
  11. package/lib/banner/AutoBeChatState.js +80 -0
  12. package/lib/banner/AutoBeChatState.js.map +1 -0
  13. package/lib/banner/AutoBeTokenUsage.d.ts +14 -0
  14. package/lib/banner/AutoBeTokenUsage.js +60 -0
  15. package/lib/banner/AutoBeTokenUsage.js.map +1 -0
  16. package/lib/banner/index.d.ts +4 -0
  17. package/lib/banner/index.js +21 -0
  18. package/lib/banner/index.js.map +1 -0
  19. package/lib/common/Collapsible.d.ts +15 -0
  20. package/lib/common/Collapsible.js +45 -0
  21. package/lib/common/Collapsible.js.map +1 -0
  22. package/lib/common/index.d.ts +2 -0
  23. package/lib/common/index.js +19 -0
  24. package/lib/common/index.js.map +1 -0
  25. package/lib/constant/color.d.ts +18 -0
  26. package/lib/constant/color.js +25 -0
  27. package/lib/constant/color.js.map +1 -0
  28. package/lib/events/AutoBeEventMovie.d.ts +8 -0
  29. package/lib/events/AutoBeEventMovie.js +84 -0
  30. package/lib/events/AutoBeEventMovie.js.map +1 -0
  31. package/lib/events/index.d.ts +2 -1
  32. package/lib/events/index.js +5 -3
  33. package/lib/events/index.js.map +1 -1
  34. package/lib/hooks/index.d.ts +2 -0
  35. package/lib/hooks/index.js +19 -0
  36. package/lib/hooks/index.js.map +1 -0
  37. package/lib/hooks/useIsomorphicLayoutEffect.d.ts +6 -0
  38. package/lib/hooks/useIsomorphicLayoutEffect.js +10 -0
  39. package/lib/hooks/useIsomorphicLayoutEffect.js.map +1 -0
  40. package/lib/hooks/useMediaQuery.d.ts +11 -0
  41. package/lib/hooks/useMediaQuery.js +52 -0
  42. package/lib/hooks/useMediaQuery.js.map +1 -0
  43. package/lib/index.d.ts +5 -3
  44. package/lib/index.js +8 -7
  45. package/lib/index.js.map +1 -1
  46. package/lib/structure/AutoBeListener.d.ts +17 -0
  47. package/lib/structure/AutoBeListener.js +250 -0
  48. package/lib/structure/AutoBeListener.js.map +1 -0
  49. package/lib/structure/AutoBeListenerState.d.ts +14 -0
  50. package/lib/structure/AutoBeListenerState.js +39 -0
  51. package/lib/structure/AutoBeListenerState.js.map +1 -0
  52. package/lib/structure/IAutoBeEventGroup.d.ts +5 -0
  53. package/lib/structure/IAutoBeEventGroup.js +3 -0
  54. package/lib/structure/IAutoBeEventGroup.js.map +1 -0
  55. package/lib/structure/index.d.ts +3 -0
  56. package/lib/structure/index.js +20 -0
  57. package/lib/structure/index.js.map +1 -0
  58. package/lib/upload/AutoBeChatUploadBox.d.ts +31 -0
  59. package/lib/upload/AutoBeChatUploadBox.js +221 -0
  60. package/lib/upload/AutoBeChatUploadBox.js.map +1 -0
  61. package/lib/upload/AutoBeChatUploadSendButton.js.map +1 -0
  62. package/lib/upload/AutoBeFileUploadBox.d.ts +8 -0
  63. package/lib/upload/AutoBeFileUploadBox.js.map +1 -0
  64. package/lib/upload/AutoBeUploadConfig.d.ts +9 -0
  65. package/lib/upload/AutoBeUploadConfig.js +3 -0
  66. package/lib/upload/AutoBeUploadConfig.js.map +1 -0
  67. package/lib/{AutoBeVoiceRecoderButton.js → upload/AutoBeVoiceRecoderButton.js} +2 -2
  68. package/lib/upload/AutoBeVoiceRecoderButton.js.map +1 -0
  69. package/lib/upload/index.d.ts +5 -0
  70. package/lib/upload/index.js +22 -0
  71. package/lib/upload/index.js.map +1 -0
  72. package/lib/utils/index.d.ts +1 -0
  73. package/lib/utils/index.js +1 -0
  74. package/lib/utils/index.js.map +1 -1
  75. package/lib/utils/number.d.ts +1 -0
  76. package/lib/utils/number.js +20 -0
  77. package/lib/utils/number.js.map +1 -0
  78. package/package.json +6 -10
  79. package/src/AutoBeChatMain.tsx +123 -0
  80. package/src/banner/AutoBeAgentInformation.tsx +102 -0
  81. package/src/banner/AutoBeChatBanner.tsx +72 -0
  82. package/src/banner/AutoBeChatState.tsx +152 -0
  83. package/src/banner/AutoBeTokenUsage.tsx +152 -0
  84. package/src/banner/index.ts +4 -0
  85. package/src/common/Collapsible.tsx +95 -0
  86. package/src/common/index.ts +2 -0
  87. package/src/constant/color.ts +24 -0
  88. package/src/events/AutoBeEventMovie.tsx +114 -0
  89. package/src/events/README.md +150 -19
  90. package/src/events/index.ts +2 -4
  91. package/src/hooks/index.ts +2 -0
  92. package/src/hooks/useIsomorphicLayoutEffect.ts +8 -0
  93. package/src/hooks/useMediaQuery.ts +68 -0
  94. package/src/index.ts +5 -6
  95. package/src/structure/AutoBeListener.ts +263 -0
  96. package/src/structure/AutoBeListenerState.ts +53 -0
  97. package/src/structure/IAutoBeEventGroup.ts +6 -0
  98. package/src/structure/index.ts +3 -0
  99. package/src/upload/AutoBeChatUploadBox.tsx +372 -0
  100. package/src/{AutoBeFileUploadBox.tsx → upload/AutoBeFileUploadBox.tsx} +7 -8
  101. package/src/upload/AutoBeUploadConfig.ts +5 -0
  102. package/src/{AutoBeVoiceRecoderButton.tsx → upload/AutoBeVoiceRecoderButton.tsx} +2 -2
  103. package/src/upload/index.ts +5 -0
  104. package/src/utils/index.ts +1 -0
  105. package/src/utils/number.ts +17 -0
  106. package/tsconfig.json +2 -1
  107. package/lib/AutoBeChatUploadSendButton.js.map +0 -1
  108. package/lib/AutoBeFileUploadBox.d.ts +0 -10
  109. package/lib/AutoBeFileUploadBox.js.map +0 -1
  110. package/lib/AutoBeVoiceRecoderButton.js.map +0 -1
  111. /package/lib/{AutoBeChatUploadSendButton.d.ts → upload/AutoBeChatUploadSendButton.d.ts} +0 -0
  112. /package/lib/{AutoBeChatUploadSendButton.js → upload/AutoBeChatUploadSendButton.js} +0 -0
  113. /package/lib/{AutoBeFileUploadBox.js → upload/AutoBeFileUploadBox.js} +0 -0
  114. /package/lib/{AutoBeVoiceRecoderButton.d.ts → upload/AutoBeVoiceRecoderButton.d.ts} +0 -0
  115. /package/src/{AutoBeChatUploadSendButton.tsx → upload/AutoBeChatUploadSendButton.tsx} +0 -0
@@ -0,0 +1,16 @@
1
+ import { AutoBeUserMessageContent, IAutoBePlaygroundHeader, IAutoBeRpcService, IAutoBeTokenUsageJson } from "@autobe/interface";
2
+ import { ILlmSchema } from "@samchon/openapi";
3
+ import { AutoBeListenerState, IAutoBeEventGroup, IAutoBeUploadConfig } from ".";
4
+ export interface IAutoBeChatMainProps {
5
+ isMobile: boolean;
6
+ eventGroups: IAutoBeEventGroup[];
7
+ service: IAutoBeRpcService;
8
+ conversate: (messages: AutoBeUserMessageContent[]) => Promise<void>;
9
+ setError: (error: Error) => void;
10
+ uploadConfig?: IAutoBeUploadConfig;
11
+ tokenUsage: IAutoBeTokenUsageJson | null;
12
+ header: IAutoBePlaygroundHeader<ILlmSchema.Model>;
13
+ state: AutoBeListenerState;
14
+ }
15
+ export declare const AutoBeChatMain: (props: IAutoBeChatMainProps) => import("react/jsx-runtime").JSX.Element;
16
+ export default AutoBeChatMain;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AutoBeChatMain = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const _1 = require(".");
7
+ const hooks_1 = require("./hooks");
8
+ const AutoBeChatMain = (props) => {
9
+ var _a;
10
+ const bodyContainerRef = (0, react_1.useRef)(null);
11
+ const scrollAnchorRef = (0, react_1.useRef)(null);
12
+ const listener = (0, react_1.useRef)({
13
+ handleDragEnter: () => { },
14
+ handleDragLeave: () => { },
15
+ handleDrop: () => { },
16
+ handleDragOver: () => { },
17
+ });
18
+ (0, react_1.useEffect)(() => {
19
+ var _a;
20
+ if (props.eventGroups.length === 0)
21
+ return;
22
+ (_a = scrollAnchorRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({
23
+ behavior: "smooth",
24
+ });
25
+ }, [(_a = bodyContainerRef.current) === null || _a === void 0 ? void 0 : _a.scrollHeight]);
26
+ const isMinWidthLg = (0, hooks_1.useMediaQuery)(hooks_1.useMediaQuery.MIN_WIDTH_LG);
27
+ return ((0, jsx_runtime_1.jsxs)("div", { onDragEnter: (e) => listener.current.handleDragEnter(e), onDragLeave: (e) => listener.current.handleDragLeave(e), onDragOver: (e) => listener.current.handleDragOver(e), onDrop: (e) => listener.current.handleDrop(e), style: {
28
+ position: "relative",
29
+ overflowY: "auto",
30
+ margin: 0,
31
+ backgroundColor: "lightblue",
32
+ flexGrow: 1,
33
+ display: "flex",
34
+ flexDirection: "column",
35
+ }, ref: bodyContainerRef, children: [!isMinWidthLg && ((0, jsx_runtime_1.jsx)(_1.AutoBeChatBanner, { header: props.header, tokenUsage: props.tokenUsage, state: props.state })), (0, jsx_runtime_1.jsx)("div", { style: {
36
+ backgroundColor: "lightblue",
37
+ padding: "2rem",
38
+ gap: 16,
39
+ display: "flex",
40
+ flexDirection: "column",
41
+ }, children: props.eventGroups.map((e, index) => ((0, jsx_runtime_1.jsx)(_1.AutoBeEventMovie, { getFiles: props.service.getFiles, events: e.events, last: index === props.eventGroups.length - 1 }, index))) }), (0, jsx_runtime_1.jsx)("div", { style: { flexGrow: 1, minHeight: "1rem" }, ref: scrollAnchorRef }), (0, jsx_runtime_1.jsx)("div", { style: {
42
+ position: "sticky",
43
+ bottom: 16,
44
+ left: 0,
45
+ right: 0,
46
+ zIndex: 1000,
47
+ }, children: (0, jsx_runtime_1.jsx)(_1.AutoBeChatUploadBox, { listener: listener, uploadConfig: props.uploadConfig, conversate: props.conversate, setError: props.setError }) })] }));
48
+ };
49
+ exports.AutoBeChatMain = AutoBeChatMain;
50
+ exports.default = exports.AutoBeChatMain;
51
+ //# sourceMappingURL=AutoBeChatMain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoBeChatMain.js","sourceRoot":"","sources":["../src/AutoBeChatMain.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { IAutoBePlaygroundHeader, IAutoBePlaygroundVendor } from "@autobe/interface";
2
+ import { ILlmSchema } from "@samchon/openapi";
3
+ export interface IAutoBeAgentInformationProps {
4
+ header: Omit<IAutoBePlaygroundHeader<ILlmSchema.Model>, "vendor"> & {
5
+ vendor: Omit<IAutoBePlaygroundVendor, "apiKey">;
6
+ };
7
+ }
8
+ /**
9
+ * Agent information component displaying model, locale, and configuration
10
+ * details
11
+ *
12
+ * @param props - Component props
13
+ * @returns JSX element representing the agent information
14
+ */
15
+ export declare const AutoBeAgentInformation: ({ header, }: IAutoBeAgentInformationProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AutoBeAgentInformation = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const color_1 = require("../constant/color");
6
+ /** Info row component with consistent flex layout */
7
+ const InfoRow = ({ label, value }) => ((0, jsx_runtime_1.jsxs)("div", { style: {
8
+ display: "flex",
9
+ alignItems: "center",
10
+ padding: "4px 0",
11
+ gap: "8px",
12
+ }, children: [(0, jsx_runtime_1.jsx)(InfoLabel, { children: label + ":" }), (0, jsx_runtime_1.jsx)(InfoValue, { children: value })] }));
13
+ /** Info label component with consistent styling */
14
+ const InfoLabel = ({ children }) => ((0, jsx_runtime_1.jsx)("span", { style: {
15
+ color: color_1.COLORS.GRAY_TEXT_MEDIUM,
16
+ fontWeight: "500",
17
+ fontSize: "0.875rem",
18
+ }, children: children }));
19
+ /** Info value component with styling */
20
+ const InfoValue = ({ children }) => ((0, jsx_runtime_1.jsx)("span", { style: {
21
+ color: color_1.COLORS.GRAY_TEXT_DARK,
22
+ fontWeight: "600",
23
+ fontSize: "0.875rem",
24
+ }, children: children }));
25
+ /**
26
+ * Agent information component displaying model, locale, and configuration
27
+ * details
28
+ *
29
+ * @param props - Component props
30
+ * @returns JSX element representing the agent information
31
+ */
32
+ const AutoBeAgentInformation = ({ header, }) => {
33
+ var _a;
34
+ return ((0, jsx_runtime_1.jsxs)("div", { style: {
35
+ display: "flex",
36
+ flexDirection: "column",
37
+ gap: "6px",
38
+ }, children: [(0, jsx_runtime_1.jsx)(InfoRow, { label: "AI Model", value: header.vendor.model }), (0, jsx_runtime_1.jsx)(InfoRow, { label: "Schema Model", value: header.model }), (0, jsx_runtime_1.jsx)(InfoRow, { label: "Locale", value: header.locale }), (0, jsx_runtime_1.jsx)(InfoRow, { label: "Timezone", value: header.timezone }), (0, jsx_runtime_1.jsx)(InfoRow, { label: "Semaphore", value: (_a = header.vendor.semaphore) !== null && _a !== void 0 ? _a : 16 })] }));
39
+ };
40
+ exports.AutoBeAgentInformation = AutoBeAgentInformation;
41
+ //# sourceMappingURL=AutoBeAgentInformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoBeAgentInformation.js","sourceRoot":"","sources":["../../src/banner/AutoBeAgentInformation.tsx"],"names":[],"mappings":";;;;AAOA,6CAA2C;AA4B3C,qDAAqD;AACrD,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAiB,EAAE,EAAE,CAAC,CACnD,iCACE,KAAK,EAAE;QACL,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE,OAAO;QAChB,GAAG,EAAE,KAAK;KACX,aAED,uBAAC,SAAS,cAAE,KAAK,GAAG,GAAG,GAAa,EACpC,uBAAC,SAAS,cAAE,KAAK,GAAa,IAC1B,CACP,CAAC;AAEF,mDAAmD;AACnD,MAAM,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAmB,EAAE,EAAE,CAAC,CACnD,iCACE,KAAK,EAAE;QACL,KAAK,EAAE,cAAM,CAAC,gBAAgB;QAC9B,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,UAAU;KACrB,YAEA,QAAQ,GACJ,CACR,CAAC;AAEF,wCAAwC;AACxC,MAAM,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAmB,EAAE,EAAE,CAAC,CACnD,iCACE,KAAK,EAAE;QACL,KAAK,EAAE,cAAM,CAAC,cAAc;QAC5B,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,UAAU;KACrB,YAEA,QAAQ,GACJ,CACR,CAAC;AAEF;;;;;;GAMG;AACI,MAAM,sBAAsB,GAAG,CAAC,EACrC,MAAM,GACuB,EAAE,EAAE;;IACjC,OAAO,CACL,iCACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,GAAG,EAAE,KAAK;SACX,aAED,uBAAC,OAAO,IAAC,KAAK,EAAC,UAAU,EAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,GAAI,EACxD,uBAAC,OAAO,IAAC,KAAK,EAAC,cAAc,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAI,EACrD,uBAAC,OAAO,IAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAE,MAAM,CAAC,MAAM,GAAI,EAChD,uBAAC,OAAO,IAAC,KAAK,EAAC,UAAU,EAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,GAAI,EACpD,uBAAC,OAAO,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAE,MAAA,MAAM,CAAC,MAAM,CAAC,SAAS,mCAAI,EAAE,GAAI,IAC/D,CACP,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,sBAAsB,0BAkBjC"}
@@ -0,0 +1,15 @@
1
+ import { IAutoBeTokenUsageJson } from "@autobe/interface";
2
+ import { IAutoBeAgentInformationProps } from "./AutoBeAgentInformation";
3
+ import { IAutoBeChatStateProps } from "./AutoBeChatState";
4
+ /** Props interface for AutoBeChatBanner component */
5
+ interface IAutoBeChatBannerProps {
6
+ /** Agent information to display */
7
+ header: IAutoBeAgentInformationProps["header"];
8
+ /** Token usage data to display */
9
+ tokenUsage: IAutoBeTokenUsageJson | null;
10
+ /** Chat state to display */
11
+ state: IAutoBeChatStateProps["state"];
12
+ }
13
+ /** Chat banner component with collapsible token usage display */
14
+ export declare const AutoBeChatBanner: (props: IAutoBeChatBannerProps) => import("react/jsx-runtime").JSX.Element;
15
+ export default AutoBeChatBanner;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AutoBeChatBanner = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const common_1 = require("../common");
6
+ const color_1 = require("../constant/color");
7
+ const AutoBeAgentInformation_1 = require("./AutoBeAgentInformation");
8
+ const AutoBeChatState_1 = require("./AutoBeChatState");
9
+ const AutoBeTokenUsage_1 = require("./AutoBeTokenUsage");
10
+ /** Chat banner component with collapsible token usage display */
11
+ const AutoBeChatBanner = (props) => {
12
+ return ((0, jsx_runtime_1.jsx)("header", { style: {
13
+ padding: "0 48",
14
+ position: "sticky",
15
+ top: "12px",
16
+ marginBottom: "1rem",
17
+ zIndex: 10,
18
+ }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
19
+ border: `1px solid ${color_1.COLORS.GRAY_BORDER}`,
20
+ borderRadius: "8px",
21
+ backgroundColor: color_1.COLORS.GRAY_BACKGROUND,
22
+ padding: "0 16px 16px 16px",
23
+ boxShadow: color_1.SHADOWS.CARD,
24
+ width: "100%",
25
+ }, children: [(0, jsx_runtime_1.jsx)("h3", { children: "Summaries" }), (0, jsx_runtime_1.jsx)(common_1.Collapsible, { title: "Agent Information", defaultCollapsed: true, animated: true, children: (0, jsx_runtime_1.jsx)(AutoBeAgentInformation_1.AutoBeAgentInformation, { header: props.header }) }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)(common_1.Collapsible, { title: "Token Usage", defaultCollapsed: false, animated: true, children: (0, jsx_runtime_1.jsx)(AutoBeTokenUsage_1.AutoBeTokenUsage, { tokenUsage: props.tokenUsage }) }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)(common_1.Collapsible, { title: "Chat State", defaultCollapsed: true, animated: true, children: (0, jsx_runtime_1.jsx)(AutoBeChatState_1.AutoBeChatState, { state: props.state }) })] }) }));
26
+ };
27
+ exports.AutoBeChatBanner = AutoBeChatBanner;
28
+ exports.default = exports.AutoBeChatBanner;
29
+ //# sourceMappingURL=AutoBeChatBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoBeChatBanner.js","sourceRoot":"","sources":["../../src/banner/AutoBeChatBanner.tsx"],"names":[],"mappings":";;;;AAEA,sCAAwC;AACxC,6CAAoD;AACpD,qEAGkC;AAClC,uDAA2E;AAC3E,yDAAsD;AActD,iEAAiE;AAC1D,MAAM,gBAAgB,GAAG,CAAC,KAA6B,EAAE,EAAE;IAChE,OAAO,CACL,mCACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,MAAM;YACX,YAAY,EAAE,MAAM;YACpB,MAAM,EAAE,EAAE;SACX,YAED,iCACE,KAAK,EAAE;gBACL,MAAM,EAAE,aAAa,cAAM,CAAC,WAAW,EAAE;gBACzC,YAAY,EAAE,KAAK;gBACnB,eAAe,EAAE,cAAM,CAAC,eAAe;gBACvC,OAAO,EAAE,kBAAkB;gBAC3B,SAAS,EAAE,eAAO,CAAC,IAAI;gBACvB,KAAK,EAAE,MAAM;aACd,aAED,uDAAkB,EAElB,uBAAC,oBAAW,IACV,KAAK,EAAC,mBAAmB,EACzB,gBAAgB,EAAE,IAAI,EACtB,QAAQ,EAAE,IAAI,YAEd,uBAAC,+CAAsB,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAI,GACpC,EACd,gCAAM,EACN,uBAAC,oBAAW,IACV,KAAK,EAAC,aAAa,EACnB,gBAAgB,EAAE,KAAK,EACvB,QAAQ,EAAE,IAAI,YAEd,uBAAC,mCAAgB,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAI,GACtC,EACd,gCAAM,EACN,uBAAC,oBAAW,IAAC,KAAK,EAAC,YAAY,EAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,YACpE,uBAAC,iCAAe,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,GAC3B,IACV,GACC,CACV,CAAC;AACJ,CAAC,CAAC;AA7CW,QAAA,gBAAgB,oBA6C3B;AAEF,kBAAe,wBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { AutoBeListenerState } from "..";
2
+ export interface IAutoBeChatStateProps {
3
+ state: AutoBeListenerState;
4
+ }
5
+ /** Component to display development state information */
6
+ export declare const AutoBeChatState: (props: IAutoBeChatStateProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AutoBeChatState = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const color_1 = require("../constant/color");
6
+ /** Common styles for step items */
7
+ const getStepItemStyle = (isActive) => ({
8
+ padding: "12px",
9
+ backgroundColor: color_1.COLORS.GRAY_BACKGROUND,
10
+ borderRadius: "6px",
11
+ borderLeft: `4px solid ${isActive ? "#007bff" : color_1.COLORS.GRAY_BORDER}`,
12
+ });
13
+ const stepTitleStyle = {
14
+ fontWeight: "bold",
15
+ fontSize: "0.9rem",
16
+ marginBottom: "4px",
17
+ color: color_1.COLORS.GRAY_TEXT_DARK,
18
+ };
19
+ const stepDataStyle = {
20
+ fontSize: "0.85rem",
21
+ color: color_1.COLORS.GRAY_TEXT_MEDIUM,
22
+ lineHeight: "1.4",
23
+ };
24
+ /** Component for displaying active state step */
25
+ const StateStep = ({ step, data }) => ((0, jsx_runtime_1.jsxs)("div", { style: getStepItemStyle(true), children: [(0, jsx_runtime_1.jsx)("div", { style: stepTitleStyle, children: `${step.charAt(0).toUpperCase()}${step.slice(1)}` }), (0, jsx_runtime_1.jsx)("div", { style: stepDataStyle, children: Object.entries(getStepCount(data))
26
+ .map(([key, value]) => `${key}: ${value.toLocaleString()}`)
27
+ .join(" • ") }), (0, jsx_runtime_1.jsxs)("div", { style: stepDataStyle, children: ["\u23F1\uFE0F ", (Math.floor((data.elapsed / 60000) * 100) / 100).toLocaleString(), " ", "mins"] })] }));
28
+ /** Component for displaying empty state step */
29
+ const StateEmpty = ({ step }) => ((0, jsx_runtime_1.jsxs)("div", { style: getStepItemStyle(false), children: [(0, jsx_runtime_1.jsx)("div", { style: stepTitleStyle, children: `${step.charAt(0).toUpperCase()}${step.slice(1)}` }), (0, jsx_runtime_1.jsx)("div", { style: stepDataStyle, children: "0 items \u2022 \u23F1\uFE0F 0 mins" })] }));
30
+ /** Component to display development state information */
31
+ const AutoBeChatState = (props) => {
32
+ const containerStyle = {
33
+ display: "flex",
34
+ flexDirection: "column",
35
+ gap: "12px",
36
+ };
37
+ const steps = ["analyze", "prisma", "interface", "test", "realize"];
38
+ return ((0, jsx_runtime_1.jsx)("div", { style: containerStyle, children: (0, jsx_runtime_1.jsx)("div", { style: { display: "flex", flexDirection: "column", gap: "8px" }, children: steps.map((stepType) => props.state[stepType] ? ((0, jsx_runtime_1.jsx)(StateStep, { step: stepType, data: props.state[stepType] }, stepType)) : ((0, jsx_runtime_1.jsx)(StateEmpty, { step: stepType }, stepType))) }) }));
39
+ };
40
+ exports.AutoBeChatState = AutoBeChatState;
41
+ /** Calculate count data based on step type */
42
+ const getStepCount = (data) => {
43
+ switch (data.type) {
44
+ case "analyzeComplete": {
45
+ return {
46
+ Documents: Object.keys(data.files).length,
47
+ "Actor Roles": data.roles.length,
48
+ };
49
+ }
50
+ case "prismaComplete": {
51
+ return {
52
+ Namespaces: data.result.data.files.length,
53
+ Models: data.result.data.files
54
+ .map((f) => f.models.length)
55
+ .reduce((a, b) => a + b, 0),
56
+ };
57
+ }
58
+ case "interfaceComplete": {
59
+ return {
60
+ Operations: data.document.operations.length,
61
+ Schemas: Object.keys(data.document.components.schemas).length,
62
+ };
63
+ }
64
+ case "testComplete": {
65
+ return {
66
+ Functions: data.files.length,
67
+ };
68
+ }
69
+ case "realizeComplete": {
70
+ return {
71
+ Controllers: Object.keys(data.controllers).length,
72
+ Functions: data.functions.length,
73
+ };
74
+ }
75
+ default:
76
+ data;
77
+ throw new Error(`Unknown step type: ${data}`);
78
+ }
79
+ };
80
+ //# sourceMappingURL=AutoBeChatState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoBeChatState.js","sourceRoot":"","sources":["../../src/banner/AutoBeChatState.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { IAutoBeTokenUsageJson } from "@autobe/interface";
2
+ /** Props interface for TokenUsageCard component */
3
+ interface ITokenUsageCardProps {
4
+ /** Token usage data to display */
5
+ tokenUsage: IAutoBeTokenUsageJson | null;
6
+ }
7
+ /**
8
+ * Token usage card component displaying input, output, and total token counts
9
+ *
10
+ * @param props - Component props
11
+ * @returns JSX element representing the token usage card
12
+ */
13
+ export declare const AutoBeTokenUsage: ({ tokenUsage }: ITokenUsageCardProps) => import("react/jsx-runtime").JSX.Element;
14
+ export default AutoBeTokenUsage;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AutoBeTokenUsage = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const color_1 = require("../constant/color");
6
+ const utils_1 = require("../utils");
7
+ /** Token row component with consistent flex layout */
8
+ const TokenRow = ({ label, value, isTotal = false }) => ((0, jsx_runtime_1.jsxs)("div", { style: Object.assign({ display: "flex", justifyContent: "space-between", alignItems: "center" }, (isTotal && {
9
+ paddingTop: "8px",
10
+ borderTop: `1px solid ${color_1.COLORS.GRAY_BORDER_LIGHT}`,
11
+ })), children: [(0, jsx_runtime_1.jsx)(TokenLabel, { isTotal: isTotal, children: label }), value] }));
12
+ /** Token label component with consistent styling */
13
+ const TokenLabel = ({ children, isTotal = false }) => ((0, jsx_runtime_1.jsx)("span", { style: {
14
+ color: isTotal ? color_1.COLORS.GRAY_TEXT_DARK : color_1.COLORS.GRAY_TEXT_MEDIUM,
15
+ fontWeight: isTotal ? "600" : "500",
16
+ }, children: children }));
17
+ /** Token value component with variant-based styling */
18
+ const TokenValue = ({ children, variant }) => {
19
+ const getVariantStyles = () => {
20
+ switch (variant) {
21
+ case "input":
22
+ return { color: color_1.COLORS.TOKEN_INPUT, fontWeight: "600" };
23
+ case "cachedInput":
24
+ return {
25
+ color: color_1.COLORS.GRAY_TEXT_MEDIUM,
26
+ fontWeight: "400",
27
+ fontSize: "0.875rem",
28
+ };
29
+ case "output":
30
+ return { color: color_1.COLORS.TOKEN_OUTPUT, fontWeight: "600" };
31
+ case "total":
32
+ return {
33
+ color: color_1.COLORS.TOKEN_TOTAL,
34
+ fontWeight: "700",
35
+ fontSize: "1.125rem",
36
+ };
37
+ default:
38
+ variant;
39
+ return {};
40
+ }
41
+ };
42
+ return (0, jsx_runtime_1.jsx)("span", { style: getVariantStyles(), children: children });
43
+ };
44
+ /**
45
+ * Token usage card component displaying input, output, and total token counts
46
+ *
47
+ * @param props - Component props
48
+ * @returns JSX element representing the token usage card
49
+ */
50
+ const AutoBeTokenUsage = ({ tokenUsage }) => {
51
+ var _a, _b, _c, _d;
52
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { style: {
53
+ display: "flex",
54
+ flexDirection: "column",
55
+ gap: "8px",
56
+ }, children: [(0, jsx_runtime_1.jsx)(TokenRow, { label: "Input:", value: (0, jsx_runtime_1.jsx)(TokenValue, { variant: "input", children: (0, utils_1.toCompactNumberFormat)((_a = tokenUsage === null || tokenUsage === void 0 ? void 0 : tokenUsage.aggregate.input.total) !== null && _a !== void 0 ? _a : 0) }) }), (0, jsx_runtime_1.jsx)(TokenRow, { label: "Cached Input:", value: (0, jsx_runtime_1.jsx)(TokenValue, { variant: "cachedInput", children: (0, utils_1.toCompactNumberFormat)((_b = tokenUsage === null || tokenUsage === void 0 ? void 0 : tokenUsage.aggregate.input.cached) !== null && _b !== void 0 ? _b : 0) }) }), (0, jsx_runtime_1.jsx)(TokenRow, { label: "Output:", value: (0, jsx_runtime_1.jsx)(TokenValue, { variant: "output", children: (0, utils_1.toCompactNumberFormat)((_c = tokenUsage === null || tokenUsage === void 0 ? void 0 : tokenUsage.aggregate.output.total) !== null && _c !== void 0 ? _c : 0) }) }), (0, jsx_runtime_1.jsx)(TokenRow, { label: "Total:", value: (0, jsx_runtime_1.jsx)(TokenValue, { variant: "total", children: (0, utils_1.toCompactNumberFormat)((_d = tokenUsage === null || tokenUsage === void 0 ? void 0 : tokenUsage.aggregate.total) !== null && _d !== void 0 ? _d : 0) }), isTotal: true })] }) }));
57
+ };
58
+ exports.AutoBeTokenUsage = AutoBeTokenUsage;
59
+ exports.default = exports.AutoBeTokenUsage;
60
+ //# sourceMappingURL=AutoBeTokenUsage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoBeTokenUsage.js","sourceRoot":"","sources":["../../src/banner/AutoBeTokenUsage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./AutoBeChatBanner";
2
+ export * from "./AutoBeTokenUsage";
3
+ export * from "./AutoBeChatState";
4
+ export * from "./AutoBeAgentInformation";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./AutoBeChatBanner"), exports);
18
+ __exportStar(require("./AutoBeTokenUsage"), exports);
19
+ __exportStar(require("./AutoBeChatState"), exports);
20
+ __exportStar(require("./AutoBeAgentInformation"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/banner/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,qDAAmC;AACnC,oDAAkC;AAClC,2DAAyC"}
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from "react";
2
+ /** Props interface for Collapsible component */
3
+ interface ICollapsibleProps {
4
+ /** Title to display in the header */
5
+ title: string;
6
+ /** Content to be collapsed/expanded */
7
+ children: ReactNode;
8
+ /** Initial collapsed state */
9
+ defaultCollapsed?: boolean;
10
+ /** Whether to show animation */
11
+ animated?: boolean;
12
+ }
13
+ /** Reusable collapsible component with toggle functionality */
14
+ export declare const Collapsible: ({ title, children, defaultCollapsed, animated, }: ICollapsibleProps) => import("react/jsx-runtime").JSX.Element;
15
+ export default Collapsible;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Collapsible = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const color_1 = require("../constant/color");
7
+ /** Reusable collapsible component with toggle functionality */
8
+ const Collapsible = ({ title, children, defaultCollapsed = false, animated = true, }) => {
9
+ const [isCollapsed, setIsCollapsed] = (0, react_1.useState)(defaultCollapsed);
10
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { style: {
11
+ display: "flex",
12
+ alignItems: "center",
13
+ marginBottom: isCollapsed ? "0" : "12px",
14
+ }, children: [(0, jsx_runtime_1.jsx)("button", { onClick: () => setIsCollapsed(!isCollapsed), style: {
15
+ background: "none",
16
+ border: "none",
17
+ cursor: "pointer",
18
+ padding: "4px",
19
+ borderRadius: "4px",
20
+ display: "flex",
21
+ alignItems: "center",
22
+ justifyContent: "center",
23
+ transition: animated ? "background-color 0.2s" : "none",
24
+ color: color_1.COLORS.GRAY_TEXT_MEDIUM,
25
+ marginRight: "8px",
26
+ }, onMouseEnter: (e) => {
27
+ e.currentTarget.style.backgroundColor = color_1.COLORS.GRAY_BORDER_LIGHT;
28
+ }, onMouseLeave: (e) => {
29
+ e.currentTarget.style.backgroundColor = "transparent";
30
+ }, children: (0, jsx_runtime_1.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", style: {
31
+ transform: isCollapsed ? "rotate(-90deg)" : "rotate(0deg)",
32
+ transition: animated ? "transform 0.2s ease" : "none",
33
+ }, children: (0, jsx_runtime_1.jsx)("path", { d: "M7.41 8.58L12 13.17l4.59-4.59L18 10l-6 6-6-6 1.41-1.42z" }) }) }), (0, jsx_runtime_1.jsx)("h3", { style: {
34
+ margin: 0,
35
+ fontSize: "1.125rem",
36
+ fontWeight: "600",
37
+ color: color_1.COLORS.GRAY_TEXT_DARK,
38
+ }, children: title })] }), !isCollapsed && ((0, jsx_runtime_1.jsx)("div", { style: {
39
+ opacity: isCollapsed ? 0 : 1,
40
+ transition: animated ? "opacity 0.2s ease" : "none",
41
+ }, children: children }))] }));
42
+ };
43
+ exports.Collapsible = Collapsible;
44
+ exports.default = exports.Collapsible;
45
+ //# sourceMappingURL=Collapsible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collapsible.js","sourceRoot":"","sources":["../../src/common/Collapsible.tsx"],"names":[],"mappings":";;;;AAAA,iCAA4C;AAE5C,6CAA2C;AAc3C,+DAA+D;AACxD,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,gBAAgB,GAAG,KAAK,EACxB,QAAQ,GAAG,IAAI,GACG,EAAE,EAAE;IACtB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,CAAC;IAEjE,OAAO,CACL,4CACE,iCACE,KAAK,EAAE;oBACL,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;iBACzC,aAED,mCACE,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,EAC3C,KAAK,EAAE;4BACL,UAAU,EAAE,MAAM;4BAClB,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,SAAS;4BACjB,OAAO,EAAE,KAAK;4BACd,YAAY,EAAE,KAAK;4BACnB,OAAO,EAAE,MAAM;4BACf,UAAU,EAAE,QAAQ;4BACpB,cAAc,EAAE,QAAQ;4BACxB,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM;4BACvD,KAAK,EAAE,cAAM,CAAC,gBAAgB;4BAC9B,WAAW,EAAE,KAAK;yBACnB,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;4BAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,cAAM,CAAC,iBAAiB,CAAC;wBACnE,CAAC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;4BAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,aAAa,CAAC;wBACxD,CAAC,YAED,gCACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,EACnB,KAAK,EAAE;gCACL,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc;gCAC1D,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM;6BACtD,YAED,iCAAM,CAAC,EAAC,yDAAyD,GAAG,GAChE,GACC,EACT,+BACE,KAAK,EAAE;4BACL,MAAM,EAAE,CAAC;4BACT,QAAQ,EAAE,UAAU;4BACpB,UAAU,EAAE,KAAK;4BACjB,KAAK,EAAE,cAAM,CAAC,cAAc;yBAC7B,YAEA,KAAK,GACH,IACD,EACL,CAAC,WAAW,IAAI,CACf,gCACE,KAAK,EAAE;oBACL,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5B,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM;iBACpD,YAEA,QAAQ,GACL,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AA3EW,QAAA,WAAW,eA2EtB;AAEF,kBAAe,mBAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./Collapsible";
2
+ export * from "./ChatBubble";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Collapsible"), exports);
18
+ __exportStar(require("./ChatBubble"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAA6B"}
@@ -0,0 +1,18 @@
1
+ /** Color tokens for consistent styling */
2
+ export declare const COLORS: {
3
+ readonly GRAY_BORDER: "#d1d5db";
4
+ readonly GRAY_BACKGROUND: "#f9fafb";
5
+ readonly GRAY_BORDER_LIGHT: "#e5e7eb";
6
+ readonly GRAY_TEXT_DARK: "#1f2937";
7
+ readonly GRAY_TEXT_MEDIUM: "#4b5563";
8
+ readonly TOKEN_INPUT: "#2563eb";
9
+ readonly TOKEN_OUTPUT: "#16a34a";
10
+ readonly TOKEN_TOTAL: "#9333ea";
11
+ readonly TABLE_BORDER: "#eee";
12
+ readonly TABLE_BORDER_THICK: "#ddd";
13
+ readonly TABLE_HEADER_BG: "#f5f5f5";
14
+ };
15
+ /** Shadow styles */
16
+ export declare const SHADOWS: {
17
+ readonly CARD: "0 1px 2px 0 rgba(0, 0, 0, 0.05)";
18
+ };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SHADOWS = exports.COLORS = void 0;
4
+ /** Color tokens for consistent styling */
5
+ exports.COLORS = {
6
+ // Gray scale
7
+ GRAY_BORDER: "#d1d5db",
8
+ GRAY_BACKGROUND: "#f9fafb",
9
+ GRAY_BORDER_LIGHT: "#e5e7eb",
10
+ GRAY_TEXT_DARK: "#1f2937",
11
+ GRAY_TEXT_MEDIUM: "#4b5563",
12
+ // Token value colors
13
+ TOKEN_INPUT: "#2563eb", // Blue
14
+ TOKEN_OUTPUT: "#16a34a", // Green
15
+ TOKEN_TOTAL: "#9333ea", // Purple
16
+ // Table colors
17
+ TABLE_BORDER: "#eee",
18
+ TABLE_BORDER_THICK: "#ddd",
19
+ TABLE_HEADER_BG: "#f5f5f5",
20
+ };
21
+ /** Shadow styles */
22
+ exports.SHADOWS = {
23
+ CARD: "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
24
+ };
25
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/constant/color.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC7B,QAAA,MAAM,GAAG;IACpB,aAAa;IACb,WAAW,EAAE,SAAS;IACtB,eAAe,EAAE,SAAS;IAC1B,iBAAiB,EAAE,SAAS;IAC5B,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,SAAS;IAE3B,qBAAqB;IACrB,WAAW,EAAE,SAAS,EAAE,OAAO;IAC/B,YAAY,EAAE,SAAS,EAAE,QAAQ;IACjC,WAAW,EAAE,SAAS,EAAE,SAAS;IAEjC,eAAe;IACf,YAAY,EAAE,MAAM;IACpB,kBAAkB,EAAE,MAAM;IAC1B,eAAe,EAAE,SAAS;CAClB,CAAC;AAEX,oBAAoB;AACP,QAAA,OAAO,GAAG;IACrB,IAAI,EAAE,iCAAiC;CAC/B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { AutoBeEvent, IAutoBeGetFilesOptions } from "@autobe/interface";
2
+ export interface IAutoBeEventMovieProps<Event extends AutoBeEvent> {
3
+ getFiles: (options?: Partial<IAutoBeGetFilesOptions>) => Promise<Record<string, string>>;
4
+ events: Event[];
5
+ last: boolean;
6
+ }
7
+ export declare function AutoBeEventMovie<Event extends AutoBeEvent>(props: IAutoBeEventMovieProps<Event>): import("react/jsx-runtime").JSX.Element | null;
8
+ export default AutoBeEventMovie;