@elizaos/client 1.6.3-alpha.9 → 1.6.3

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 (104) hide show
  1. package/dist/assets/{_basePickBy-D1VwWj4y.js → _basePickBy-CF7u0JoM.js} +2 -2
  2. package/dist/assets/{_basePickBy-D1VwWj4y.js.map → _basePickBy-CF7u0JoM.js.map} +1 -1
  3. package/dist/assets/{_baseUniq-BqneJ7vC.js → _baseUniq-C01nKZPU.js} +2 -2
  4. package/dist/assets/{_baseUniq-BqneJ7vC.js.map → _baseUniq-C01nKZPU.js.map} +1 -1
  5. package/dist/assets/{arc-B41HBJYw.js → arc-CvfPh49h.js} +2 -2
  6. package/dist/assets/{arc-B41HBJYw.js.map → arc-CvfPh49h.js.map} +1 -1
  7. package/dist/assets/{architectureDiagram-VXUJARFQ-DTblZJPk.js → architectureDiagram-VXUJARFQ-Cx-DJdd9.js} +2 -2
  8. package/dist/assets/{architectureDiagram-VXUJARFQ-DTblZJPk.js.map → architectureDiagram-VXUJARFQ-Cx-DJdd9.js.map} +1 -1
  9. package/dist/assets/{blockDiagram-VD42YOAC-BMM1ENpW.js → blockDiagram-VD42YOAC-CjZi8L8b.js} +2 -2
  10. package/dist/assets/{blockDiagram-VD42YOAC-BMM1ENpW.js.map → blockDiagram-VD42YOAC-CjZi8L8b.js.map} +1 -1
  11. package/dist/assets/{c4Diagram-YG6GDRKO-0_tm3K4y.js → c4Diagram-YG6GDRKO-C7VSQCDP.js} +2 -2
  12. package/dist/assets/{c4Diagram-YG6GDRKO-0_tm3K4y.js.map → c4Diagram-YG6GDRKO-C7VSQCDP.js.map} +1 -1
  13. package/dist/assets/{channel-CzviH7wi.js → channel-jS3fITDG.js} +2 -2
  14. package/dist/assets/{channel-CzviH7wi.js.map → channel-jS3fITDG.js.map} +1 -1
  15. package/dist/assets/{chunk-4BX2VUAB-BdiEiQKw.js → chunk-4BX2VUAB-BzqE3lym.js} +2 -2
  16. package/dist/assets/{chunk-4BX2VUAB-BdiEiQKw.js.map → chunk-4BX2VUAB-BzqE3lym.js.map} +1 -1
  17. package/dist/assets/{chunk-55IACEB6-o-GxTW9D.js → chunk-55IACEB6-DxGUJrft.js} +2 -2
  18. package/dist/assets/{chunk-55IACEB6-o-GxTW9D.js.map → chunk-55IACEB6-DxGUJrft.js.map} +1 -1
  19. package/dist/assets/{chunk-B4BG7PRW-qIW-HouX.js → chunk-B4BG7PRW-8qRdtArO.js} +2 -2
  20. package/dist/assets/{chunk-B4BG7PRW-qIW-HouX.js.map → chunk-B4BG7PRW-8qRdtArO.js.map} +1 -1
  21. package/dist/assets/{chunk-DI55MBZ5-CUalBYtH.js → chunk-DI55MBZ5-Ux1QOzUy.js} +2 -2
  22. package/dist/assets/{chunk-DI55MBZ5-CUalBYtH.js.map → chunk-DI55MBZ5-Ux1QOzUy.js.map} +1 -1
  23. package/dist/assets/{chunk-FMBD7UC4-DvTLIOqx.js → chunk-FMBD7UC4-CuR8eQbP.js} +2 -2
  24. package/dist/assets/{chunk-FMBD7UC4-DvTLIOqx.js.map → chunk-FMBD7UC4-CuR8eQbP.js.map} +1 -1
  25. package/dist/assets/{chunk-QN33PNHL-IzRCZEG_.js → chunk-QN33PNHL-B8CCHcFQ.js} +2 -2
  26. package/dist/assets/{chunk-QN33PNHL-IzRCZEG_.js.map → chunk-QN33PNHL-B8CCHcFQ.js.map} +1 -1
  27. package/dist/assets/{chunk-QZHKN3VN-Ce2AFs__.js → chunk-QZHKN3VN-59ReDUUS.js} +2 -2
  28. package/dist/assets/{chunk-QZHKN3VN-Ce2AFs__.js.map → chunk-QZHKN3VN-59ReDUUS.js.map} +1 -1
  29. package/dist/assets/{chunk-TZMSLE5B-BJW4UVSc.js → chunk-TZMSLE5B-yB8S-MoI.js} +2 -2
  30. package/dist/assets/{chunk-TZMSLE5B-BJW4UVSc.js.map → chunk-TZMSLE5B-yB8S-MoI.js.map} +1 -1
  31. package/dist/assets/classDiagram-2ON5EDUG-CX-ma-72.js +2 -0
  32. package/dist/assets/{classDiagram-2ON5EDUG-B0ASNnbX.js.map → classDiagram-2ON5EDUG-CX-ma-72.js.map} +1 -1
  33. package/dist/assets/classDiagram-v2-WZHVMYZB-CX-ma-72.js +2 -0
  34. package/dist/assets/{classDiagram-v2-WZHVMYZB-B0ASNnbX.js.map → classDiagram-v2-WZHVMYZB-CX-ma-72.js.map} +1 -1
  35. package/dist/assets/{clone-DuI60JlF.js → clone-B1cS_P1m.js} +2 -2
  36. package/dist/assets/{clone-DuI60JlF.js.map → clone-B1cS_P1m.js.map} +1 -1
  37. package/dist/assets/{cose-bilkent-S5V4N54A-BFURzd3k.js → cose-bilkent-S5V4N54A-WaA6My8T.js} +2 -2
  38. package/dist/assets/{cose-bilkent-S5V4N54A-BFURzd3k.js.map → cose-bilkent-S5V4N54A-WaA6My8T.js.map} +1 -1
  39. package/dist/assets/{dagre-6UL2VRFP-2NloE4Yi.js → dagre-6UL2VRFP-WTXafpU6.js} +2 -2
  40. package/dist/assets/{dagre-6UL2VRFP-2NloE4Yi.js.map → dagre-6UL2VRFP-WTXafpU6.js.map} +1 -1
  41. package/dist/assets/{diagram-PSM6KHXK-7x7Qnd4X.js → diagram-PSM6KHXK-CoH6fjzQ.js} +2 -2
  42. package/dist/assets/{diagram-PSM6KHXK-7x7Qnd4X.js.map → diagram-PSM6KHXK-CoH6fjzQ.js.map} +1 -1
  43. package/dist/assets/{diagram-QEK2KX5R-B0NXXuOV.js → diagram-QEK2KX5R-Oljv-_39.js} +2 -2
  44. package/dist/assets/{diagram-QEK2KX5R-B0NXXuOV.js.map → diagram-QEK2KX5R-Oljv-_39.js.map} +1 -1
  45. package/dist/assets/{diagram-S2PKOQOG-a74j2Pdd.js → diagram-S2PKOQOG-Gg4hR71b.js} +2 -2
  46. package/dist/assets/{diagram-S2PKOQOG-a74j2Pdd.js.map → diagram-S2PKOQOG-Gg4hR71b.js.map} +1 -1
  47. package/dist/assets/{erDiagram-Q2GNP2WA-k-KyHPId.js → erDiagram-Q2GNP2WA-DB7tjULu.js} +2 -2
  48. package/dist/assets/{erDiagram-Q2GNP2WA-k-KyHPId.js.map → erDiagram-Q2GNP2WA-DB7tjULu.js.map} +1 -1
  49. package/dist/assets/{flowDiagram-NV44I4VS-Dl-K34yG.js → flowDiagram-NV44I4VS-DzT5xRq3.js} +2 -2
  50. package/dist/assets/{flowDiagram-NV44I4VS-Dl-K34yG.js.map → flowDiagram-NV44I4VS-DzT5xRq3.js.map} +1 -1
  51. package/dist/assets/{ganttDiagram-LVOFAZNH-B6eaVPpp.js → ganttDiagram-LVOFAZNH-D2NBbgM6.js} +2 -2
  52. package/dist/assets/{ganttDiagram-LVOFAZNH-B6eaVPpp.js.map → ganttDiagram-LVOFAZNH-D2NBbgM6.js.map} +1 -1
  53. package/dist/assets/{gitGraphDiagram-NY62KEGX-BdOMe-oh.js → gitGraphDiagram-NY62KEGX-BzXJHLw9.js} +2 -2
  54. package/dist/assets/{gitGraphDiagram-NY62KEGX-BdOMe-oh.js.map → gitGraphDiagram-NY62KEGX-BzXJHLw9.js.map} +1 -1
  55. package/dist/assets/{graph-BCeOLFp6.js → graph-DNJkdAax.js} +2 -2
  56. package/dist/assets/{graph-BCeOLFp6.js.map → graph-DNJkdAax.js.map} +1 -1
  57. package/dist/assets/{infoDiagram-F6ZHWCRC-DLB1jYji.js → infoDiagram-F6ZHWCRC-Bt1j9OBZ.js} +2 -2
  58. package/dist/assets/{infoDiagram-F6ZHWCRC-DLB1jYji.js.map → infoDiagram-F6ZHWCRC-Bt1j9OBZ.js.map} +1 -1
  59. package/dist/assets/{journeyDiagram-XKPGCS4Q-CEkRszjc.js → journeyDiagram-XKPGCS4Q-CpBwKMO2.js} +2 -2
  60. package/dist/assets/{journeyDiagram-XKPGCS4Q-CEkRszjc.js.map → journeyDiagram-XKPGCS4Q-CpBwKMO2.js.map} +1 -1
  61. package/dist/assets/{kanban-definition-3W4ZIXB7-DvGzdmFz.js → kanban-definition-3W4ZIXB7-BM-_9-8C.js} +2 -2
  62. package/dist/assets/{kanban-definition-3W4ZIXB7-DvGzdmFz.js.map → kanban-definition-3W4ZIXB7-BM-_9-8C.js.map} +1 -1
  63. package/dist/assets/{layout-DqFGgFXM.js → layout-C9Bg2dBa.js} +2 -2
  64. package/dist/assets/{layout-DqFGgFXM.js.map → layout-C9Bg2dBa.js.map} +1 -1
  65. package/dist/assets/{linear-oKTGuyqU.js → linear-BTJsW5AR.js} +2 -2
  66. package/dist/assets/{linear-oKTGuyqU.js.map → linear-BTJsW5AR.js.map} +1 -1
  67. package/dist/assets/{main-B_rmFN-P.css → main-BGaTIf-Q.css} +1 -1
  68. package/dist/assets/{main-Chbvf6JP.js → main-BaebWasr.js} +4 -4
  69. package/dist/assets/{main-Chbvf6JP.js.map → main-BaebWasr.js.map} +1 -1
  70. package/dist/assets/{main-C81Et7oP.js → main-CWkZDH4r.js} +3 -3
  71. package/dist/assets/{main-C81Et7oP.js.map → main-CWkZDH4r.js.map} +1 -1
  72. package/dist/assets/{mermaid.core-rWg6JcoC.js → mermaid.core-BymI4HJS.js} +6 -6
  73. package/dist/assets/{mermaid.core-rWg6JcoC.js.map → mermaid.core-BymI4HJS.js.map} +1 -1
  74. package/dist/assets/{mindmap-definition-VGOIOE7T-CHrK3W4B.js → mindmap-definition-VGOIOE7T-CLTEnp2P.js} +2 -2
  75. package/dist/assets/{mindmap-definition-VGOIOE7T-CHrK3W4B.js.map → mindmap-definition-VGOIOE7T-CLTEnp2P.js.map} +1 -1
  76. package/dist/assets/{pieDiagram-ADFJNKIX-BL-nn_b4.js → pieDiagram-ADFJNKIX-Bw0donk2.js} +2 -2
  77. package/dist/assets/{pieDiagram-ADFJNKIX-BL-nn_b4.js.map → pieDiagram-ADFJNKIX-Bw0donk2.js.map} +1 -1
  78. package/dist/assets/{quadrantDiagram-AYHSOK5B-Cxy4jxbg.js → quadrantDiagram-AYHSOK5B-Cm8mUfGa.js} +2 -2
  79. package/dist/assets/{quadrantDiagram-AYHSOK5B-Cxy4jxbg.js.map → quadrantDiagram-AYHSOK5B-Cm8mUfGa.js.map} +1 -1
  80. package/dist/assets/{requirementDiagram-UZGBJVZJ-Cza4HxEz.js → requirementDiagram-UZGBJVZJ-C_f1ywi-.js} +2 -2
  81. package/dist/assets/{requirementDiagram-UZGBJVZJ-Cza4HxEz.js.map → requirementDiagram-UZGBJVZJ-C_f1ywi-.js.map} +1 -1
  82. package/dist/assets/{sankeyDiagram-TZEHDZUN-qwIj1xsG.js → sankeyDiagram-TZEHDZUN-DTNFZCdJ.js} +2 -2
  83. package/dist/assets/{sankeyDiagram-TZEHDZUN-qwIj1xsG.js.map → sankeyDiagram-TZEHDZUN-DTNFZCdJ.js.map} +1 -1
  84. package/dist/assets/{sequenceDiagram-WL72ISMW-C9_twmEc.js → sequenceDiagram-WL72ISMW-TGqxh1eL.js} +2 -2
  85. package/dist/assets/{sequenceDiagram-WL72ISMW-C9_twmEc.js.map → sequenceDiagram-WL72ISMW-TGqxh1eL.js.map} +1 -1
  86. package/dist/assets/{stateDiagram-FKZM4ZOC-B33VNknZ.js → stateDiagram-FKZM4ZOC-BI4QdIXS.js} +2 -2
  87. package/dist/assets/{stateDiagram-FKZM4ZOC-B33VNknZ.js.map → stateDiagram-FKZM4ZOC-BI4QdIXS.js.map} +1 -1
  88. package/dist/assets/stateDiagram-v2-4FDKWEC3-DSN57ySy.js +2 -0
  89. package/dist/assets/{stateDiagram-v2-4FDKWEC3-DOXH6dJF.js.map → stateDiagram-v2-4FDKWEC3-DSN57ySy.js.map} +1 -1
  90. package/dist/assets/{timeline-definition-IT6M3QCI-BU2GcjD5.js → timeline-definition-IT6M3QCI-PXMMkiNk.js} +2 -2
  91. package/dist/assets/{timeline-definition-IT6M3QCI-BU2GcjD5.js.map → timeline-definition-IT6M3QCI-PXMMkiNk.js.map} +1 -1
  92. package/dist/assets/{treemap-KMMF4GRG-C2Sf7oH-.js → treemap-KMMF4GRG-DZ3dLkt9.js} +2 -2
  93. package/dist/assets/{treemap-KMMF4GRG-C2Sf7oH-.js.map → treemap-KMMF4GRG-DZ3dLkt9.js.map} +1 -1
  94. package/dist/assets/{xychartDiagram-PRI3JC2R-CJQGMN6m.js → xychartDiagram-PRI3JC2R-DQlXFKme.js} +2 -2
  95. package/dist/assets/{xychartDiagram-PRI3JC2R-CJQGMN6m.js.map → xychartDiagram-PRI3JC2R-DQlXFKme.js.map} +1 -1
  96. package/dist/index.html +1 -1
  97. package/package.json +4 -4
  98. package/src/components/ai-elements/__tests__/response.test.tsx +157 -158
  99. package/src/components/ai-elements/response.tsx +7 -10
  100. package/src/components/chat.tsx +7 -7
  101. package/src/index.css +1 -1
  102. package/dist/assets/classDiagram-2ON5EDUG-B0ASNnbX.js +0 -2
  103. package/dist/assets/classDiagram-v2-WZHVMYZB-B0ASNnbX.js +0 -2
  104. package/dist/assets/stateDiagram-v2-4FDKWEC3-DOXH6dJF.js +0 -2
package/dist/index.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" type="image/x-icon" href="/favicon.ico" />
7
7
  <title>ElizaOS - Client</title>
8
- <script type="module" crossorigin src="/assets/main-C81Et7oP.js"></script>
8
+ <script type="module" crossorigin src="/assets/main-CWkZDH4r.js"></script>
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/client",
3
- "version": "1.6.3-alpha.9",
3
+ "version": "1.6.3",
4
4
  "description": "Web client interface for ElizaOS agents",
5
5
  "repository": {
6
6
  "type": "git",
@@ -61,8 +61,8 @@
61
61
  "access": "public"
62
62
  },
63
63
  "dependencies": {
64
- "@elizaos/api-client": "1.6.3-alpha.9",
65
- "@elizaos/core": "1.6.3-alpha.9",
64
+ "@elizaos/api-client": "1.6.3",
65
+ "@elizaos/core": "1.6.3",
66
66
  "@evilmartians/agent-prism-data": "^0.0.4",
67
67
  "@evilmartians/agent-prism-types": "^0.0.4",
68
68
  "@hookform/resolvers": "^5.1.1",
@@ -159,5 +159,5 @@
159
159
  "vite-tsconfig-paths": "^5.1.4",
160
160
  "wait-on": "^9.0.1"
161
161
  },
162
- "gitHead": "abe8d728db8fefeda8bb80ad8f4c6b15c69efa2e"
162
+ "gitHead": "22e866ff0036bd93af64880cb46ca89cb474d2b2"
163
163
  }
@@ -7,95 +7,95 @@ import { describe, it, expect } from 'bun:test';
7
7
  import { Response } from '../response';
8
8
 
9
9
  describe('Response Component', () => {
10
- it('should be defined and exportable', () => {
11
- expect(Response).toBeDefined();
12
- // React.memo wraps the component, so it returns an object
13
- expect(typeof Response).toBe('object');
14
- });
15
-
16
- it('should have correct display name', () => {
17
- expect(Response.displayName).toBe('Response');
18
- });
19
-
20
- it('should accept required props structure', () => {
21
- // This test verifies the component can be instantiated with correct props
22
- // Since we're in a non-browser test environment, we just verify the component structure
23
-
24
- const props = {
25
- children: 'Test markdown content',
26
- className: 'test-class',
27
- isAnimating: false,
28
- shikiTheme: ['github-dark', 'github-dark'] as const,
29
- };
30
-
31
- // Verify props structure is valid by checking component accepts them
32
- // In a full React testing environment, we would render this
33
- expect(props.children).toBe('Test markdown content');
34
- expect(props.isAnimating).toBe(false);
35
- expect(props.shikiTheme).toEqual(['github-dark', 'github-dark']);
36
- });
37
-
38
- it('should be a memoized React component', () => {
39
- // Response component should be memoized with React.memo
40
- // React.memo returns an object, not a function
41
- expect(Response).toBeDefined();
42
- expect(typeof Response).toBe('object');
43
- expect(Response.displayName).toBe('Response');
44
- });
45
-
46
- it('should handle markdown content prop correctly', () => {
47
- const markdownContent = '# Hello World\n\nThis is a test.';
48
- const props = {
49
- children: markdownContent,
50
- };
51
-
52
- expect(props.children).toBe(markdownContent);
53
- });
54
-
55
- it('should handle animation state prop correctly', () => {
56
- const animatingProps = {
57
- children: 'Content',
58
- isAnimating: true,
59
- };
60
-
61
- const staticProps = {
62
- children: 'Content',
63
- isAnimating: false,
64
- };
65
-
66
- expect(animatingProps.isAnimating).toBe(true);
67
- expect(staticProps.isAnimating).toBe(false);
68
- });
69
-
70
- it('should handle theme configuration correctly', () => {
71
- const customTheme = ['monokai', 'github-light'] as const;
72
- const props = {
73
- children: 'Content',
74
- shikiTheme: customTheme,
75
- };
76
-
77
- expect(props.shikiTheme).toEqual(['monokai', 'github-light']);
78
- });
79
-
80
- it('should use default theme when not specified', () => {
81
- // Default theme should be github-dark for both light and dark modes
82
- const defaultTheme = ['github-dark', 'github-dark'] as const;
83
-
84
- expect(defaultTheme).toEqual(['github-dark', 'github-dark']);
85
- });
86
-
87
- it('should handle className prop for styling', () => {
88
- const customClass = 'custom-markdown-style max-w-none';
89
- const props = {
90
- children: 'Content',
91
- className: customClass,
92
- };
93
-
94
- expect(props.className).toBe(customClass);
95
- });
96
-
97
- it('should support code blocks in markdown', () => {
98
- const markdownWithCode = `
10
+ it('should be defined and exportable', () => {
11
+ expect(Response).toBeDefined();
12
+ // React.memo wraps the component, so it returns an object
13
+ expect(typeof Response).toBe('object');
14
+ });
15
+
16
+ it('should have correct display name', () => {
17
+ expect(Response.displayName).toBe('Response');
18
+ });
19
+
20
+ it('should accept required props structure', () => {
21
+ // This test verifies the component can be instantiated with correct props
22
+ // Since we're in a non-browser test environment, we just verify the component structure
23
+
24
+ const props = {
25
+ children: 'Test markdown content',
26
+ className: 'test-class',
27
+ isAnimating: false,
28
+ shikiTheme: ['github-dark', 'github-dark'] as const,
29
+ };
30
+
31
+ // Verify props structure is valid by checking component accepts them
32
+ // In a full React testing environment, we would render this
33
+ expect(props.children).toBe('Test markdown content');
34
+ expect(props.isAnimating).toBe(false);
35
+ expect(props.shikiTheme).toEqual(['github-dark', 'github-dark']);
36
+ });
37
+
38
+ it('should be a memoized React component', () => {
39
+ // Response component should be memoized with React.memo
40
+ // React.memo returns an object, not a function
41
+ expect(Response).toBeDefined();
42
+ expect(typeof Response).toBe('object');
43
+ expect(Response.displayName).toBe('Response');
44
+ });
45
+
46
+ it('should handle markdown content prop correctly', () => {
47
+ const markdownContent = '# Hello World\n\nThis is a test.';
48
+ const props = {
49
+ children: markdownContent,
50
+ };
51
+
52
+ expect(props.children).toBe(markdownContent);
53
+ });
54
+
55
+ it('should handle animation state prop correctly', () => {
56
+ const animatingProps = {
57
+ children: 'Content',
58
+ isAnimating: true,
59
+ };
60
+
61
+ const staticProps = {
62
+ children: 'Content',
63
+ isAnimating: false,
64
+ };
65
+
66
+ expect(animatingProps.isAnimating).toBe(true);
67
+ expect(staticProps.isAnimating).toBe(false);
68
+ });
69
+
70
+ it('should handle theme configuration correctly', () => {
71
+ const customTheme = ['monokai', 'github-light'] as const;
72
+ const props = {
73
+ children: 'Content',
74
+ shikiTheme: customTheme,
75
+ };
76
+
77
+ expect(props.shikiTheme).toEqual(['monokai', 'github-light']);
78
+ });
79
+
80
+ it('should use default theme when not specified', () => {
81
+ // Default theme should be github-dark for both light and dark modes
82
+ const defaultTheme = ['github-dark', 'github-dark'] as const;
83
+
84
+ expect(defaultTheme).toEqual(['github-dark', 'github-dark']);
85
+ });
86
+
87
+ it('should handle className prop for styling', () => {
88
+ const customClass = 'custom-markdown-style max-w-none';
89
+ const props = {
90
+ children: 'Content',
91
+ className: customClass,
92
+ };
93
+
94
+ expect(props.className).toBe(customClass);
95
+ });
96
+
97
+ it('should support code blocks in markdown', () => {
98
+ const markdownWithCode = `
99
99
  # Code Example
100
100
 
101
101
  \`\`\`typescript
@@ -104,27 +104,27 @@ console.log(hello);
104
104
  \`\`\`
105
105
  `;
106
106
 
107
- const props = {
108
- children: markdownWithCode,
109
- };
107
+ const props = {
108
+ children: markdownWithCode,
109
+ };
110
110
 
111
- expect(props.children).toContain('```typescript');
112
- expect(props.children).toContain('const hello');
113
- });
111
+ expect(props.children).toContain('```typescript');
112
+ expect(props.children).toContain('const hello');
113
+ });
114
114
 
115
- it('should support inline code in markdown', () => {
116
- const markdownWithInlineCode = 'Use `const` instead of `var` in JavaScript.';
115
+ it('should support inline code in markdown', () => {
116
+ const markdownWithInlineCode = 'Use `const` instead of `var` in JavaScript.';
117
117
 
118
- const props = {
119
- children: markdownWithInlineCode,
120
- };
118
+ const props = {
119
+ children: markdownWithInlineCode,
120
+ };
121
121
 
122
- expect(props.children).toContain('`const`');
123
- expect(props.children).toContain('`var`');
124
- });
122
+ expect(props.children).toContain('`const`');
123
+ expect(props.children).toContain('`var`');
124
+ });
125
125
 
126
- it('should support various markdown elements', () => {
127
- const complexMarkdown = `
126
+ it('should support various markdown elements', () => {
127
+ const complexMarkdown = `
128
128
  # Heading 1
129
129
  ## Heading 2
130
130
 
@@ -138,57 +138,56 @@ console.log(hello);
138
138
  > Blockquote
139
139
  `;
140
140
 
141
- const props = {
142
- children: complexMarkdown,
143
- };
144
-
145
- expect(props.children).toContain('# Heading 1');
146
- expect(props.children).toContain('**Bold text**');
147
- expect(props.children).toContain('[Link]');
148
- expect(props.children).toContain('> Blockquote');
149
- });
150
-
151
- it('should handle empty content gracefully', () => {
152
- const props = {
153
- children: '',
154
- };
155
-
156
- expect(props.children).toBe('');
157
- });
158
-
159
- it('should handle whitespace-only content', () => {
160
- const props = {
161
- children: ' \n\n ',
162
- };
163
-
164
- expect(typeof props.children).toBe('string');
165
- expect(props.children.trim()).toBe('');
166
- });
167
-
168
- it('should memo comparison logic work correctly', () => {
169
- // The component uses memo with a custom comparison
170
- // It should only re-render when children prop changes
171
-
172
- const props1 = { children: 'Same content', isAnimating: false };
173
- const props2 = { children: 'Same content', isAnimating: true };
174
- const props3 = { children: 'Different content', isAnimating: false };
175
-
176
- // Same children should be considered equal for memo
177
- expect(props1.children === props2.children).toBe(true);
178
-
179
- // Different children should not be equal
180
- expect(props1.children === props3.children).toBe(false);
181
- });
182
-
183
- it('should apply default max-width styling', () => {
184
- // Component should include "max-w-none" in its default className
185
- // This is verified by checking the component implementation
186
- const expectedClasses = 'size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0';
187
-
188
- // This is the expected default className structure
189
- expect(expectedClasses).toContain('size-full');
190
- expect(expectedClasses).toContain('[&>*:first-child]:mt-0');
191
- expect(expectedClasses).toContain('[&>*:last-child]:mb-0');
192
- });
141
+ const props = {
142
+ children: complexMarkdown,
143
+ };
144
+
145
+ expect(props.children).toContain('# Heading 1');
146
+ expect(props.children).toContain('**Bold text**');
147
+ expect(props.children).toContain('[Link]');
148
+ expect(props.children).toContain('> Blockquote');
149
+ });
150
+
151
+ it('should handle empty content gracefully', () => {
152
+ const props = {
153
+ children: '',
154
+ };
155
+
156
+ expect(props.children).toBe('');
157
+ });
158
+
159
+ it('should handle whitespace-only content', () => {
160
+ const props = {
161
+ children: ' \n\n ',
162
+ };
163
+
164
+ expect(typeof props.children).toBe('string');
165
+ expect(props.children.trim()).toBe('');
166
+ });
167
+
168
+ it('should memo comparison logic work correctly', () => {
169
+ // The component uses memo with a custom comparison
170
+ // It should only re-render when children prop changes
171
+
172
+ const props1 = { children: 'Same content', isAnimating: false };
173
+ const props2 = { children: 'Same content', isAnimating: true };
174
+ const props3 = { children: 'Different content', isAnimating: false };
175
+
176
+ // Same children should be considered equal for memo
177
+ expect(props1.children === props2.children).toBe(true);
178
+
179
+ // Different children should not be equal
180
+ expect(props1.children === props3.children).toBe(false);
181
+ });
182
+
183
+ it('should apply default max-width styling', () => {
184
+ // Component should include "max-w-none" in its default className
185
+ // This is verified by checking the component implementation
186
+ const expectedClasses = 'size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0';
187
+
188
+ // This is the expected default className structure
189
+ expect(expectedClasses).toContain('size-full');
190
+ expect(expectedClasses).toContain('[&>*:first-child]:mt-0');
191
+ expect(expectedClasses).toContain('[&>*:last-child]:mb-0');
192
+ });
193
193
  });
194
-
@@ -1,18 +1,15 @@
1
- "use client";
1
+ 'use client';
2
2
 
3
- import { cn } from "@/lib/utils";
4
- import { type ComponentProps, memo } from "react";
5
- import { Streamdown } from "streamdown";
3
+ import { cn } from '@/lib/utils';
4
+ import { type ComponentProps, memo } from 'react';
5
+ import { Streamdown } from 'streamdown';
6
6
 
7
7
  type ResponseProps = ComponentProps<typeof Streamdown>;
8
8
 
9
9
  export const Response = memo(
10
- ({ className, shikiTheme = ["github-dark", "github-dark"], ...props }: ResponseProps) => (
10
+ ({ className, shikiTheme = ['github-dark', 'github-dark'], ...props }: ResponseProps) => (
11
11
  <Streamdown
12
- className={cn(
13
- "size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",
14
- className
15
- )}
12
+ className={cn('size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0', className)}
16
13
  shikiTheme={shikiTheme}
17
14
  {...props}
18
15
  />
@@ -28,4 +25,4 @@ export const Response = memo(
28
25
  }
29
26
  );
30
27
 
31
- Response.displayName = "Response";
28
+ Response.displayName = 'Response';
@@ -366,10 +366,10 @@ export default function Chat({
366
366
  // Convert AgentWithStatus to Agent, ensuring required fields have defaults
367
367
  const targetAgentData: Agent | undefined = agentDataResponse?.data
368
368
  ? ({
369
- ...agentDataResponse.data,
370
- createdAt: agentDataResponse.data.createdAt || Date.now(),
371
- updatedAt: agentDataResponse.data.updatedAt || Date.now(),
372
- } as Agent)
369
+ ...agentDataResponse.data,
370
+ createdAt: agentDataResponse.data.createdAt || Date.now(),
371
+ updatedAt: agentDataResponse.data.updatedAt || Date.now(),
372
+ } as Agent)
373
373
  : undefined;
374
374
 
375
375
  const { handleDelete: handleDeleteAgent, isDeleting: isDeletingAgent } = useDeleteAgent(
@@ -1354,11 +1354,11 @@ export default function Chat({
1354
1354
  <span className="text-xs text-muted-foreground">
1355
1355
  {moment(
1356
1356
  (typeof channel.metadata?.createdAt === 'string' ||
1357
- typeof channel.metadata?.createdAt === 'number'
1357
+ typeof channel.metadata?.createdAt === 'number'
1358
1358
  ? channel.metadata.createdAt
1359
1359
  : null) ||
1360
- channel.updatedAt ||
1361
- channel.createdAt
1360
+ channel.updatedAt ||
1361
+ channel.createdAt
1362
1362
  ).fromNow()}
1363
1363
  </span>
1364
1364
  </div>
package/src/index.css CHANGED
@@ -170,4 +170,4 @@
170
170
  body {
171
171
  @apply bg-background text-foreground;
172
172
  }
173
- }
173
+ }
@@ -1,2 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-qIW-HouX.js";import{_ as i}from"./mermaid.core-rWg6JcoC.js";import"./chunk-FMBD7UC4-DvTLIOqx.js";import"./chunk-55IACEB6-o-GxTW9D.js";import"./chunk-QN33PNHL-IzRCZEG_.js";import"./main-C81Et7oP.js";import"./main-Chbvf6JP.js";import"./react-vendor-BGrcQn-n.js";import"./ui-vendor-B7JxFfFk.js";var b={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{b as diagram};
2
- //# sourceMappingURL=classDiagram-2ON5EDUG-B0ASNnbX.js.map
@@ -1,2 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-qIW-HouX.js";import{_ as i}from"./mermaid.core-rWg6JcoC.js";import"./chunk-FMBD7UC4-DvTLIOqx.js";import"./chunk-55IACEB6-o-GxTW9D.js";import"./chunk-QN33PNHL-IzRCZEG_.js";import"./main-C81Et7oP.js";import"./main-Chbvf6JP.js";import"./react-vendor-BGrcQn-n.js";import"./ui-vendor-B7JxFfFk.js";var b={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{b as diagram};
2
- //# sourceMappingURL=classDiagram-v2-WZHVMYZB-B0ASNnbX.js.map
@@ -1,2 +0,0 @@
1
- import{s as r,b as e,a,S as s}from"./chunk-DI55MBZ5-CUalBYtH.js";import{_ as i}from"./mermaid.core-rWg6JcoC.js";import"./chunk-55IACEB6-o-GxTW9D.js";import"./chunk-QN33PNHL-IzRCZEG_.js";import"./main-C81Et7oP.js";import"./main-Chbvf6JP.js";import"./react-vendor-BGrcQn-n.js";import"./ui-vendor-B7JxFfFk.js";var b={parser:a,get db(){return new s(2)},renderer:e,styles:r,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{b as diagram};
2
- //# sourceMappingURL=stateDiagram-v2-4FDKWEC3-DOXH6dJF.js.map