cortex-react-components 2.5.0 → 2.6.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 (168) hide show
  1. package/dist/{chunk-GETYSIZV.mjs → chunk-255P6K5W.mjs} +1 -1
  2. package/dist/{chunk-VRE6VCHX.mjs → chunk-2BR55L74.mjs} +1 -1
  3. package/dist/{chunk-P6OSMPUQ.mjs → chunk-2RQDJ5XT.mjs} +1 -1
  4. package/dist/{chunk-LW4QFIFR.mjs → chunk-3PHJWI4Q.mjs} +1 -1
  5. package/dist/{chunk-QTILVWJA.mjs → chunk-4RYG24IZ.mjs} +1 -1
  6. package/dist/{chunk-WB2Y7HTT.mjs → chunk-55MVSCX4.mjs} +1 -1
  7. package/dist/{chunk-ABGNIQRP.mjs → chunk-5RDLHKTK.mjs} +1 -1
  8. package/dist/{chunk-BQQ4V4PX.mjs → chunk-5SHZBJ5R.mjs} +1 -1
  9. package/dist/{chunk-GAZHKHGB.mjs → chunk-67QPOSVV.mjs} +1 -1
  10. package/dist/{chunk-CLGBBNRB.mjs → chunk-75WE6ZXB.mjs} +1 -1
  11. package/dist/{chunk-7OMPPFGG.mjs → chunk-7GMAMIHM.mjs} +1 -1
  12. package/dist/chunk-CSDKRMII.mjs +4 -0
  13. package/dist/{chunk-TK4JC5PG.mjs → chunk-E64KWNOT.mjs} +1 -1
  14. package/dist/{chunk-2GM2LPLB.mjs → chunk-ERJXTG6X.mjs} +1 -1
  15. package/dist/{chunk-HDKHF3EA.mjs → chunk-FKU4VQR6.mjs} +1 -1
  16. package/dist/{chunk-MO2B5CDW.mjs → chunk-FQMEHUDP.mjs} +1 -1
  17. package/dist/{chunk-77PCUNUC.mjs → chunk-FTZRG54P.mjs} +1 -1
  18. package/dist/chunk-FUEUJPNZ.mjs +1 -0
  19. package/dist/{chunk-F64CA5CH.mjs → chunk-H3CJOE6S.mjs} +1 -1
  20. package/dist/{chunk-U3FYDDE2.mjs → chunk-HKGW6JI2.mjs} +1 -1
  21. package/dist/{chunk-PNUBVBSR.mjs → chunk-IF3425JX.mjs} +1 -1
  22. package/dist/{chunk-IDG2O4B7.mjs → chunk-ISBVFNWD.mjs} +1 -1
  23. package/dist/{chunk-KZAYLEFB.mjs → chunk-LJOWXPWW.mjs} +1 -1
  24. package/dist/{chunk-PTZT4QJW.mjs → chunk-LJQPLE4S.mjs} +1 -1
  25. package/dist/{chunk-2OOJ4ZFB.mjs → chunk-M7NV6EFH.mjs} +1 -1
  26. package/dist/{chunk-S4A4VHOI.mjs → chunk-MQA37YMO.mjs} +1 -1
  27. package/dist/{chunk-4SRUEQTP.mjs → chunk-MXCW6SOT.mjs} +1 -1
  28. package/dist/{chunk-FYQBRCQM.mjs → chunk-N3B3XNV3.mjs} +1 -1
  29. package/dist/{chunk-MPTT6GRI.mjs → chunk-NTS4U2OE.mjs} +1 -1
  30. package/dist/{chunk-ATIEKI6M.mjs → chunk-O4GULNQE.mjs} +1 -1
  31. package/dist/{chunk-MO4HRQEL.mjs → chunk-PK3OBSCB.mjs} +1 -1
  32. package/dist/{chunk-ZFUP5NVF.mjs → chunk-PXLSH6S2.mjs} +1 -1
  33. package/dist/chunk-QM5FOQHG.mjs +10 -0
  34. package/dist/{chunk-W7MEHF4G.mjs → chunk-RNMPX2AU.mjs} +1 -1
  35. package/dist/{chunk-6VHK4OL7.mjs → chunk-RRLXKDET.mjs} +1 -1
  36. package/dist/{chunk-VR5WOPRD.mjs → chunk-SEXSYCWD.mjs} +1 -1
  37. package/dist/chunk-SIL7AP7H.mjs +1 -0
  38. package/dist/{chunk-JHYWAL24.mjs → chunk-SW7RYGO6.mjs} +1 -1
  39. package/dist/{chunk-5N32XPU2.mjs → chunk-U3F45KVI.mjs} +1 -1
  40. package/dist/{chunk-UZSBX5GO.mjs → chunk-X3JZSN3W.mjs} +1 -1
  41. package/dist/{chunk-GTK2SGS5.mjs → chunk-XBCYPOFD.mjs} +1 -1
  42. package/dist/{chunk-VNYUNZ3M.mjs → chunk-XGIYNUGC.mjs} +1 -1
  43. package/dist/{chunk-DYCG7KUN.mjs → chunk-XHR2HXMP.mjs} +1 -1
  44. package/dist/{chunk-RAGDUV7M.mjs → chunk-XIGBDWYI.mjs} +1 -1
  45. package/dist/chunk-XKM35QQD.mjs +4 -0
  46. package/dist/{chunk-HKMNAXLM.mjs → chunk-YKG4FNS4.mjs} +1 -1
  47. package/dist/{chunk-RRME4EHD.mjs → chunk-ZEPEWKBV.mjs} +1 -1
  48. package/dist/components/Blocks/Banner.mjs +1 -1
  49. package/dist/components/Blocks/CallToAction.mjs +1 -1
  50. package/dist/components/Blocks/CollapsibleArea.mjs +1 -1
  51. package/dist/components/Blocks/Content.mjs +1 -1
  52. package/dist/components/Blocks/FeaturesBlock.mjs +1 -1
  53. package/dist/components/Blocks/ImageBlock.mjs +1 -1
  54. package/dist/components/Blocks/MediaBlock.mjs +1 -1
  55. package/dist/components/Blocks/RelatedPosts.mjs +1 -1
  56. package/dist/components/Blocks/RenderBlocks.mjs +1 -1
  57. package/dist/components/Blocks/ReusableContentBlock.mjs +1 -1
  58. package/dist/components/Blocks/index.mjs +1 -1
  59. package/dist/components/Cards/ContentCard.mjs +1 -1
  60. package/dist/components/Cards/FeatureCard.mjs +1 -1
  61. package/dist/components/Cards/index.mjs +1 -1
  62. package/dist/components/Chat/ChatInterface.d.ts +2 -1
  63. package/dist/components/Chat/ChatInterface.js +7 -1
  64. package/dist/components/Chat/ChatInterface.mjs +1 -1
  65. package/dist/components/Chat/Components/Oauth.d.ts +11 -0
  66. package/dist/components/Chat/Components/Oauth.js +10 -0
  67. package/dist/components/Chat/Components/Oauth.mjs +2 -0
  68. package/dist/components/Chat/CopilotInterface.js +7 -1
  69. package/dist/components/Chat/CopilotInterface.mjs +1 -1
  70. package/dist/components/Chat/PartTypes/PartAuthenticateTool.d.ts +15 -0
  71. package/dist/components/Chat/PartTypes/PartAuthenticateTool.js +10 -0
  72. package/dist/components/Chat/PartTypes/PartAuthenticateTool.mjs +1 -0
  73. package/dist/components/Chat/PartTypes/index.d.ts +1 -0
  74. package/dist/components/Chat/PartTypes/index.js +10 -0
  75. package/dist/components/Chat/PartTypes/index.mjs +1 -0
  76. package/dist/components/Chat/demo-long-messages.js +12 -6
  77. package/dist/components/Chat/demo-long-messages.mjs +1 -1
  78. package/dist/components/Chat/demo-tests.css +1 -0
  79. package/dist/components/Chat/demo-tests.d.ts +10 -0
  80. package/dist/components/Chat/demo-tests.js +645 -0
  81. package/dist/components/Chat/demo-tests.mjs +635 -0
  82. package/dist/components/Chat/demo.js +7 -1
  83. package/dist/components/Chat/demo.mjs +1 -1
  84. package/dist/components/Chat/example-usage.js +7 -1
  85. package/dist/components/Chat/example-usage.mjs +1 -1
  86. package/dist/components/Chat/example-with-vercel-ai.js +7 -1
  87. package/dist/components/Chat/example-with-vercel-ai.mjs +1 -1
  88. package/dist/components/Chat/index.js +8 -2
  89. package/dist/components/Chat/index.mjs +1 -1
  90. package/dist/components/DigitalColleagues/AppSidebarLeft.mjs +1 -1
  91. package/dist/components/DigitalColleagues/MainPage.mjs +1 -1
  92. package/dist/components/DigitalColleagues/ManagementSidebar.mjs +1 -1
  93. package/dist/components/DigitalColleagues/Pages/dashboardpage.js +1 -1
  94. package/dist/components/DigitalColleagues/Pages/dashboardpage.mjs +1 -1
  95. package/dist/components/DigitalColleagues/Views/ColleaguesView.mjs +1 -1
  96. package/dist/components/DigitalColleagues/Views/KnowledgeView.js +1 -1
  97. package/dist/components/DigitalColleagues/Views/KnowledgeView.mjs +1 -1
  98. package/dist/components/DigitalColleagues/Views/index.js +1 -1
  99. package/dist/components/DigitalColleagues/Views/index.mjs +1 -1
  100. package/dist/components/DigitalColleagues/document-edit.js +1 -1
  101. package/dist/components/DigitalColleagues/document-edit.mjs +1 -1
  102. package/dist/components/DigitalColleagues/document-preview-examples.js +5 -5
  103. package/dist/components/DigitalColleagues/document-preview-examples.mjs +1 -1
  104. package/dist/components/DigitalColleagues/document-preview.js +1 -1
  105. package/dist/components/DigitalColleagues/document-preview.mjs +1 -1
  106. package/dist/components/DigitalColleagues/index.js +1 -1
  107. package/dist/components/DigitalColleagues/index.mjs +1 -1
  108. package/dist/components/DigitalColleagues/knowledge-browser.js +1 -1
  109. package/dist/components/DigitalColleagues/knowledge-browser.mjs +1 -1
  110. package/dist/components/HeaderFooter/Header.mjs +1 -1
  111. package/dist/components/HeaderFooter/SectionHeading.mjs +1 -1
  112. package/dist/components/HeaderFooter/index.mjs +1 -1
  113. package/dist/components/Heros/HighImpact/index.mjs +1 -1
  114. package/dist/components/Heros/LowImpact/index.mjs +1 -1
  115. package/dist/components/Heros/MediumImpact/index.mjs +1 -1
  116. package/dist/components/Heros/PostHero/index.mjs +1 -1
  117. package/dist/components/Heros/RenderHero.mjs +1 -1
  118. package/dist/components/Heros/index.mjs +1 -1
  119. package/dist/components/Layouts/OutputHeaderFooter.mjs +1 -1
  120. package/dist/components/Layouts/Print.mjs +1 -1
  121. package/dist/components/Layouts/SlideShow.mjs +1 -1
  122. package/dist/components/Layouts/index.mjs +1 -1
  123. package/dist/components/Menus/SidebarLeft.mjs +1 -1
  124. package/dist/components/Menus/SidebarRight.mjs +1 -1
  125. package/dist/components/Menus/index.mjs +1 -1
  126. package/dist/components/Payload/Card/index.mjs +1 -1
  127. package/dist/components/Payload/CollectionArchive/index.mjs +1 -1
  128. package/dist/components/Payload/Media/index.mjs +1 -1
  129. package/dist/components/Payload/RichText/index.mjs +1 -1
  130. package/dist/components/Payload/RichText/serialize.mjs +1 -1
  131. package/dist/components/Payload/index.mjs +1 -1
  132. package/dist/components/Projects/KanbanBoardView.mjs +1 -1
  133. package/dist/components/Projects/ProjectPage.mjs +1 -1
  134. package/dist/components/Projects/ProjectView.mjs +1 -1
  135. package/dist/components/dc-temp/index.js +1 -1
  136. package/dist/components/dc-temp/index.mjs +1 -1
  137. package/dist/components/index.js +17 -11
  138. package/dist/components/index.mjs +1 -1
  139. package/dist/components/ui/index.mjs +1 -1
  140. package/dist/components/ui/sidebar.mjs +1 -1
  141. package/dist/globals.css +1 -1
  142. package/dist/index.js +21 -15
  143. package/dist/index.mjs +1 -1
  144. package/dist/metafile-cjs.json +1 -1
  145. package/dist/metafile-esm.json +1 -1
  146. package/dist/pages/Blog.mjs +1 -1
  147. package/dist/pages/Documentation.mjs +1 -1
  148. package/dist/pages/IndexPage.mjs +1 -1
  149. package/dist/pages/Intranet.mjs +1 -1
  150. package/dist/pages/LandingPage.mjs +1 -1
  151. package/dist/pages/Page.mjs +1 -1
  152. package/dist/pages/Publish.mjs +1 -1
  153. package/dist/pages/Website.mjs +1 -1
  154. package/dist/sections/AboutSection.mjs +1 -1
  155. package/dist/sections/BlogDetail.mjs +1 -1
  156. package/dist/sections/BlogList.mjs +1 -1
  157. package/dist/sections/BlogListSection.mjs +1 -1
  158. package/dist/sections/ContactSection.mjs +1 -1
  159. package/dist/sections/PageSections.mjs +1 -1
  160. package/dist/sections/PricingSection.mjs +1 -1
  161. package/dist/sections/ServiceDetail.mjs +1 -1
  162. package/dist/sections/ServiceDetailSection.mjs +1 -1
  163. package/dist/sections/ServiceSection.mjs +1 -1
  164. package/dist/sections/index.mjs +1 -1
  165. package/package.json +5 -5
  166. package/dist/chunk-553B5H2H.mjs +0 -4
  167. package/dist/chunk-FI57DC3P.mjs +0 -1
  168. package/dist/chunk-H7PR7Q2X.mjs +0 -4
@@ -0,0 +1,635 @@
1
+ import{a as n}from"../../chunk-CSDKRMII.mjs";import"../../chunk-2GNX22CR.mjs";import"../../chunk-5BK3HTPN.mjs";import"../../chunk-FUEUJPNZ.mjs";import"../../chunk-SIL7AP7H.mjs";import"../../chunk-QM5FOQHG.mjs";import"../../chunk-LUPNE23E.mjs";import"../../chunk-A2AEX4YB.mjs";import"../../chunk-DBY4SXQI.mjs";import"../../chunk-I3E2TYYZ.mjs";import"../../chunk-LTTO57ZK.mjs";import"../../chunk-BE5B22X7.mjs";import"../../chunk-PA4ZBJDO.mjs";import"../../chunk-CBLP4MXP.mjs";import"../../chunk-AZKOVKSK.mjs";import"../../chunk-M245YHYF.mjs";import"../../chunk-3KITWLRN.mjs";import{b as s}from"../../chunk-Q2DPE66H.mjs";import"../../chunk-INCYANPB.mjs";import"../../chunk-RLVKIMGU.mjs";import"../../chunk-OCPX4QPC.mjs";import"../../chunk-FT3AE7L2.mjs";import"../../chunk-3UMMMQEH.mjs";import"../../chunk-L5JPAKPM.mjs";import"../../chunk-KY7WQYN4.mjs";import"../../chunk-ZUA4KNIR.mjs";import"../../chunk-SOLZ4VQH.mjs";import"../../chunk-CSBGSBEU.mjs";import"../../chunk-YO3GQYRJ.mjs";import"../../chunk-MDJREBVI.mjs";import"../../chunk-ZWHGOTSF.mjs";import"../../chunk-Q3G5UAAD.mjs";import"../../chunk-XGRRLABA.mjs";import"../../chunk-FLHDNCNY.mjs";import"../../chunk-YEKQJ4YC.mjs";import{useState as r}from"react";import{jsx as e}from"react/jsx-runtime";function u(){let[t,a]=r([{id:"1",role:"user",parts:[{type:"text",text:"Can you help me analyze my sales data?"}]},{id:"2",role:"assistant",parts:[{type:"text",text:`I'll help you analyze your sales data. Let me fetch the latest information.
2
+
3
+ *\u{1F527} Calling function: fetch_sales_data(period="30d", region="all")*`}]},{id:"3",role:"assistant",parts:[{type:"text",text:`Great! I've retrieved your sales data for the last 30 days. Here's what I found:
4
+
5
+ **Sales Summary:**
6
+ - **Total Revenue:** $125,000
7
+ - **Deals Closed:** 15
8
+ - **Average Deal Size:** $8,333
9
+
10
+ **Top Performers:**
11
+ 1. Alice Johnson
12
+ 2. Bob Smith
13
+ 3. Carol Davis
14
+
15
+ *\u{1F4CA} Tool Result: Successfully retrieved 1,247 records from sales database*
16
+
17
+ Would you like me to create a detailed report or analyze any specific metrics?`}]},{id:"4",role:"user",parts:[{type:"text",text:"Can you create a chart showing the revenue trend?"}]},{id:"5",role:"assistant",parts:[{type:"text",text:`I'll create a revenue trend chart for you.
18
+
19
+ *\u{1F527} Calling function: create_chart(type="line", data_source="sales_revenue", period="30d")*
20
+
21
+ *\u{1F4C8} Tool Result: Chart generated successfully - ID: revenue-trend-123*
22
+
23
+ Perfect! I've created a revenue trend chart for the last 30 days. The chart shows your daily revenue performance with clear trend indicators:
24
+
25
+ \`\`\`
26
+ \u{1F4CA} Revenue Trend - Last 30 Days
27
+ $6K \u2524 \u25CF
28
+ $5K \u2524 \u25CF \u2502 \u25CF \u25CF
29
+ $4K \u2524 \u25CF \u2502 \u2502 \u2502 \u25CF \u2502 \u25CF
30
+ $3K \u2524 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u25CF
31
+ $2K \u2524 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502
32
+ $1K \u2524 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502
33
+ 0 \u2514\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500
34
+ 1 2 3 4 5 6 7 8... (days)
35
+ \`\`\`
36
+
37
+ **Key Insights:**
38
+ - Peak revenue on Day 5: $5,500
39
+ - Lowest revenue on Day 6: $3,200
40
+ - Average daily revenue: $4,443
41
+ - Overall trend: **Positive growth** (+12% from start to end)`}]},{id:"6",role:"user",parts:[{type:"text",text:"What about error handling? Try calling a function that doesn't exist."}]},{id:"7",role:"assistant",parts:[{type:"text",text:`I'll demonstrate error handling by calling a non-existent function.
42
+
43
+ *\u{1F527} Calling function: non_existent_function(param="test")*
44
+
45
+ \u274C **Function Call Error**
46
+ \`\`\`
47
+ Error: Function 'non_existent_function' not found
48
+ Code: FUNCTION_NOT_FOUND
49
+ Timestamp: 2024-01-20T10:30:45Z
50
+ \`\`\`
51
+
52
+ **Error Handling:**
53
+ - \u2705 Error caught and handled gracefully
54
+ - \u2705 User-friendly error message displayed
55
+ - \u2705 System remains stable and responsive
56
+ - \u2705 Fallback options available
57
+
58
+ **Available Functions:**
59
+ - \`fetch_sales_data\` - Retrieve sales information
60
+ - \`create_chart\` - Generate visualizations
61
+ - \`analyze_data\` - Perform data analysis
62
+ - \`generate_report\` - Create reports
63
+
64
+ Would you like me to try a valid function instead?`}]}]);return e("div",{className:"h-screen w-full",children:e(n,{messages:t,capabilities:s,enableFileUpload:!0,maxFileSize:10,allowedFileTypes:["*"],businessUnits:[],sessions:[],notifications:[],onNewChat:()=>a([]),onSessionSelect:()=>{},onSessionDelete:()=>{},showCapabilities:!0})})}function c(){let[t,a]=r([{id:"1",role:"user",parts:[{type:"text",text:"Can you show me some examples of markdown formatting?"}]},{id:"2",role:"assistant",parts:[{type:"text",text:`# Markdown Formatting Examples
65
+
66
+ Here are various markdown elements that should render properly in the chat:
67
+
68
+ ## Headers and Text Formatting
69
+
70
+ **Bold text** and *italic text* and ***bold italic text***
71
+
72
+ ~~Strikethrough text~~
73
+
74
+ \`Inline code\` and regular text.
75
+
76
+ ## Code Blocks
77
+
78
+ Here's a JavaScript function:
79
+
80
+ \`\`\`javascript
81
+ function calculateRevenue(deals) {
82
+ return deals.reduce((total, deal) => {
83
+ return total + deal.amount;
84
+ }, 0);
85
+ }
86
+
87
+ const deals = [
88
+ { id: 1, amount: 5000, status: 'closed' },
89
+ { id: 2, amount: 3500, status: 'pending' },
90
+ { id: 3, amount: 7200, status: 'closed' }
91
+ ];
92
+
93
+ console.log('Total Revenue:', calculateRevenue(deals));
94
+ \`\`\`
95
+
96
+ ## Lists
97
+
98
+ ### Unordered List:
99
+ - Project management features
100
+ - Real-time collaboration
101
+ - Advanced analytics
102
+ - Revenue tracking
103
+ - Performance metrics
104
+ - Custom dashboards
105
+
106
+ ### Ordered List:
107
+ 1. **Setup** - Configure your workspace
108
+ 2. **Import** - Upload your data
109
+ 3. **Analyze** - Review insights
110
+ 4. **Action** - Implement changes
111
+
112
+ ## Tables
113
+
114
+ | Feature | Basic | Pro | Enterprise |
115
+ |---------|-------|-----|------------|
116
+ | Users | 5 | 50 | Unlimited |
117
+ | Storage | 1GB | 100GB | 1TB |
118
+ | Support | Email | Priority | 24/7 |
119
+ | Price | $0 | $29/mo | $99/mo |
120
+
121
+ ## Links and Images
122
+
123
+ Visit our [documentation](https://docs.example.com) for more details.
124
+
125
+ ## Blockquotes
126
+
127
+ > "The best way to predict the future is to create it."
128
+ >
129
+ > \u2014 Peter Drucker
130
+
131
+ ## Horizontal Rule
132
+
133
+ ---
134
+
135
+ That covers the main markdown elements! They should all render properly in the chat interface.`}]},{id:"3",role:"user",parts:[{type:"text",text:"Can you show me a complex code example with syntax highlighting?"}]},{id:"4",role:"assistant",parts:[{type:"text",text:`# Complex Code Examples
136
+
137
+ Here are some advanced code examples with different languages:
138
+
139
+ ## React Component with TypeScript
140
+
141
+ \`\`\`typescript
142
+ import React, { useState, useEffect, useCallback } from 'react';
143
+
144
+ interface User {
145
+ id: number;
146
+ name: string;
147
+ email: string;
148
+ role: 'admin' | 'user' | 'viewer';
149
+ }
150
+
151
+ interface UserListProps {
152
+ initialUsers?: User[];
153
+ onUserSelect: (user: User) => void;
154
+ filterByRole?: User['role'];
155
+ }
156
+
157
+ const UserList: React.FC<UserListProps> = ({
158
+ initialUsers = [],
159
+ onUserSelect,
160
+ filterByRole
161
+ }) => {
162
+ const [users, setUsers] = useState<User[]>(initialUsers);
163
+ const [loading, setLoading] = useState(false);
164
+ const [error, setError] = useState<string | null>(null);
165
+
166
+ const fetchUsers = useCallback(async () => {
167
+ setLoading(true);
168
+ setError(null);
169
+
170
+ try {
171
+ const response = await fetch('/api/users');
172
+ if (!response.ok) {
173
+ throw new Error(\`HTTP error! status: \${response.status}\`);
174
+ }
175
+
176
+ const userData: User[] = await response.json();
177
+ setUsers(userData);
178
+ } catch (err) {
179
+ setError(err instanceof Error ? err.message : 'Unknown error');
180
+ } finally {
181
+ setLoading(false);
182
+ }
183
+ }, []);
184
+
185
+ useEffect(() => {
186
+ if (initialUsers.length === 0) {
187
+ fetchUsers();
188
+ }
189
+ }, [fetchUsers, initialUsers.length]);
190
+
191
+ const filteredUsers = filterByRole
192
+ ? users.filter(user => user.role === filterByRole)
193
+ : users;
194
+
195
+ if (loading) return <div className="spinner">Loading...</div>;
196
+ if (error) return <div className="error">Error: {error}</div>;
197
+
198
+ return (
199
+ <div className="user-list">
200
+ {filteredUsers.map(user => (
201
+ <UserCard
202
+ key={user.id}
203
+ user={user}
204
+ onClick={() => onUserSelect(user)}
205
+ />
206
+ ))}
207
+ </div>
208
+ );
209
+ };
210
+
211
+ export default UserList;
212
+ \`\`\`
213
+
214
+ ## Python Data Analysis
215
+
216
+ \`\`\`python
217
+ import pandas as pd
218
+ import numpy as np
219
+ from datetime import datetime, timedelta
220
+ import matplotlib.pyplot as plt
221
+ import seaborn as sns
222
+
223
+ class SalesAnalyzer:
224
+ def __init__(self, data_path: str):
225
+ self.data = pd.read_csv(data_path)
226
+ self.prepare_data()
227
+
228
+ def prepare_data(self):
229
+ """Clean and prepare the sales data for analysis."""
230
+ # Convert date columns
231
+ self.data['date'] = pd.to_datetime(self.data['date'])
232
+ self.data['month'] = self.data['date'].dt.to_period('M')
233
+
234
+ # Handle missing values
235
+ self.data['revenue'].fillna(0, inplace=True)
236
+ self.data['customer_id'].fillna('unknown', inplace=True)
237
+
238
+ # Create derived metrics
239
+ self.data['revenue_category'] = pd.cut(
240
+ self.data['revenue'],
241
+ bins=[0, 1000, 5000, 10000, float('inf')],
242
+ labels=['Small', 'Medium', 'Large', 'Enterprise']
243
+ )
244
+
245
+ def monthly_trends(self) -> pd.DataFrame:
246
+ """Calculate monthly revenue trends."""
247
+ monthly_data = self.data.groupby('month').agg({
248
+ 'revenue': ['sum', 'mean', 'count'],
249
+ 'customer_id': 'nunique'
250
+ }).round(2)
251
+
252
+ monthly_data.columns = [
253
+ 'total_revenue', 'avg_deal_size',
254
+ 'deal_count', 'unique_customers'
255
+ ]
256
+
257
+ # Calculate growth rates
258
+ monthly_data['revenue_growth'] = (
259
+ monthly_data['total_revenue']
260
+ .pct_change() * 100
261
+ ).round(2)
262
+
263
+ return monthly_data
264
+
265
+ def top_customers(self, n: int = 10) -> pd.DataFrame:
266
+ """Find top customers by revenue."""
267
+ return (
268
+ self.data.groupby('customer_id')['revenue']
269
+ .sum()
270
+ .sort_values(ascending=False)
271
+ .head(n)
272
+ .reset_index()
273
+ )
274
+
275
+ def visualize_trends(self, save_path: str = None):
276
+ """Create visualizations of sales trends."""
277
+ fig, axes = plt.subplots(2, 2, figsize=(15, 10))
278
+
279
+ # Monthly revenue trend
280
+ monthly = self.monthly_trends()
281
+ axes[0, 0].plot(monthly.index.astype(str), monthly['total_revenue'])
282
+ axes[0, 0].set_title('Monthly Revenue Trend')
283
+ axes[0, 0].tick_params(axis='x', rotation=45)
284
+
285
+ # Revenue distribution
286
+ axes[0, 1].hist(self.data['revenue'], bins=30, alpha=0.7)
287
+ axes[0, 1].set_title('Revenue Distribution')
288
+
289
+ # Customer segments
290
+ segment_counts = self.data['revenue_category'].value_counts()
291
+ axes[1, 0].pie(segment_counts.values, labels=segment_counts.index, autopct='%1.1f%%')
292
+ axes[1, 0].set_title('Customer Segments')
293
+
294
+ # Top customers
295
+ top_customers = self.top_customers()
296
+ axes[1, 1].barh(top_customers['customer_id'][::-1], top_customers['revenue'][::-1])
297
+ axes[1, 1].set_title('Top 10 Customers by Revenue')
298
+
299
+ plt.tight_layout()
300
+
301
+ if save_path:
302
+ plt.savefig(save_path, dpi=300, bbox_inches='tight')
303
+
304
+ return fig
305
+
306
+ # Usage example
307
+ if __name__ == "__main__":
308
+ analyzer = SalesAnalyzer('sales_data.csv')
309
+
310
+ # Generate insights
311
+ trends = analyzer.monthly_trends()
312
+ print("Monthly Trends:")
313
+ print(trends)
314
+
315
+ top_customers = analyzer.top_customers()
316
+ print("\\nTop Customers:")
317
+ print(top_customers)
318
+
319
+ # Create visualizations
320
+ analyzer.visualize_trends('sales_analysis.png')
321
+ \`\`\`
322
+
323
+ This demonstrates complex syntax highlighting with multiple languages and should render properly with appropriate color coding!`}]}]);return e("div",{className:"h-screen w-full",children:e(n,{messages:t,capabilities:s,enableFileUpload:!0,maxFileSize:10,allowedFileTypes:["*"],businessUnits:[],sessions:[],notifications:[],onNewChat:()=>a([]),onSessionSelect:()=>{},onSessionDelete:()=>{},showCapabilities:!0})})}function p(){let[t,a]=r([{id:"1",role:"user",parts:[{type:"text",text:"Can you show me some interactive dashboard components?"}]},{id:"2",role:"assistant",parts:[{type:"text",text:"I'll create some interactive dashboard components for you. Here are various UI elements:"},{type:"data-dashboard",data:{title:"Sales Dashboard",widgets:[{type:"metric",title:"Total Revenue",value:"$125,000",change:"+12.5%",trend:"up"},{type:"metric",title:"New Customers",value:"47",change:"+8.3%",trend:"up"},{type:"metric",title:"Conversion Rate",value:"3.2%",change:"-2.1%",trend:"down"}]}}]},{id:"3",role:"user",parts:[{type:"text",text:"Can you show me a data table with customer information?"}]},{id:"4",role:"assistant",parts:[{type:"text",text:"Here's a customer data table with sorting and filtering capabilities:"},{type:"data-table",data:{title:"Customer Information",columns:[{key:"name",label:"Customer Name",sortable:!0},{key:"company",label:"Company",sortable:!0},{key:"revenue",label:"Revenue",sortable:!0,type:"currency"},{key:"status",label:"Status",type:"badge"},{key:"lastContact",label:"Last Contact",type:"date"}],rows:[{id:"1",name:"Alice Johnson",company:"Acme Corp",revenue:85e3,status:"active",lastContact:"2024-01-15"},{id:"2",name:"Bob Smith",company:"Beta Inc",revenue:45e3,status:"pending",lastContact:"2024-01-12"},{id:"3",name:"Carol Davis",company:"Gamma LLC",revenue:15e3,status:"inactive",lastContact:"2024-01-08"},{id:"4",name:"David Wilson",company:"Delta Systems",revenue:125e3,status:"active",lastContact:"2024-01-18"}]}}]},{id:"5",role:"user",parts:[{type:"text",text:"Show me a progress tracker for a project"}]},{id:"6",role:"assistant",parts:[{type:"text",text:"Here's a project progress tracker with timeline and milestones:"},{type:"data-progress",data:{title:"Website Redesign Project",overall_progress:65,phases:[{name:"Discovery & Planning",status:"completed",progress:100,start_date:"2024-01-01",end_date:"2024-01-15",tasks:[{name:"Stakeholder interviews",completed:!0},{name:"Requirements gathering",completed:!0},{name:"Project timeline",completed:!0}]},{name:"Design & Prototyping",status:"completed",progress:100,start_date:"2024-01-16",end_date:"2024-02-15",tasks:[{name:"Wireframes",completed:!0},{name:"Visual design",completed:!0},{name:"Interactive prototype",completed:!0}]},{name:"Development",status:"in_progress",progress:75,start_date:"2024-02-16",end_date:"2024-03-30",tasks:[{name:"Frontend development",completed:!0},{name:"Backend integration",completed:!1},{name:"Testing & QA",completed:!1}]},{name:"Launch & Deployment",status:"pending",progress:0,start_date:"2024-03-31",end_date:"2024-04-15",tasks:[{name:"Production deployment",completed:!1},{name:"User training",completed:!1},{name:"Go-live support",completed:!1}]}]}}]}]);return e("div",{className:"h-screen w-full",children:e(n,{messages:t,capabilities:s,enableFileUpload:!0,maxFileSize:10,allowedFileTypes:["*"],businessUnits:[],sessions:[],notifications:[],onNewChat:()=>a([]),onSessionSelect:()=>{},onSessionDelete:()=>{},showCapabilities:!0})})}function m(){let[t,a]=r([{id:"1",role:"user",parts:[{type:"text",text:"I want to upload some files for analysis. I have a sales_data.csv file and a quarterly_report.pdf that I need to analyze."}]},{id:"2",role:"assistant",parts:[{type:"text",text:`Perfect! I can help you analyze various file types. You can upload:
324
+
325
+ \u{1F4CA} **Data Files:**
326
+ - CSV/Excel spreadsheets
327
+ - JSON data files
328
+ - Database exports
329
+
330
+ \u{1F4C4} **Documents:**
331
+ - PDF reports
332
+ - Word documents
333
+ - Text files
334
+
335
+ \u{1F5BC}\uFE0F **Media Files:**
336
+ - Images (PNG, JPG, GIF)
337
+ - Charts and diagrams
338
+
339
+ **File Upload Features:**
340
+ - \u2705 Drag & drop support
341
+ - \u2705 Multiple file selection
342
+ - \u2705 Progress indicators
343
+ - \u2705 File type validation
344
+ - \u2705 Size limit checking (max 10MB)
345
+
346
+ Try uploading your files using the attachment button below! I'll analyze them once uploaded.`}]},{id:"3",role:"user",parts:[{type:"text",text:"I just uploaded sales_data.csv (15.4 KB) and quarterly_report.pdf (2.6 MB)"}]},{id:"4",role:"assistant",parts:[{type:"text",text:`Great! I can see you've uploaded two files:
347
+
348
+ ## \u{1F4C1} Uploaded Files
349
+
350
+ ### 1. \u{1F4CA} sales_data.csv (15.4 KB)
351
+ - **Type:** CSV Spreadsheet
352
+ - **Status:** \u2705 Successfully uploaded
353
+ - **Preview:** Contains sales transaction data
354
+ - **Columns:** Date, Customer, Product, Revenue, Region
355
+
356
+ ### 2. \u{1F4C4} quarterly_report.pdf (2.6 MB)
357
+ - **Type:** PDF Document
358
+ - **Status:** \u2705 Successfully uploaded
359
+ - **Pages:** 24 pages
360
+ - **Content:** Q4 2023 Business Report
361
+
362
+ *\u{1F527} Analyzing CSV file: sales_data.csv*
363
+
364
+ ## \u{1F50D} Analysis Results
365
+
366
+ **CSV Data Summary:**
367
+ - **Total Records:** 1,247 sales transactions
368
+ - **Date Range:** January 1, 2023 - December 31, 2023
369
+ - **Total Revenue:** $1,250,000
370
+ - **Average Deal Size:** $1,002.40
371
+
372
+ *\u{1F527} Extracting PDF content: quarterly_report.pdf*
373
+
374
+ **PDF Report Highlights:**
375
+ - **Q4 Revenue:** $485,000 (from report)
376
+ - **Annual Growth:** 15.2%
377
+ - **Top Region:** North America
378
+ - **Key Sections:** Executive Summary, Financial Performance, Sales Analysis
379
+
380
+ ## \u{1F50D} Data Comparison
381
+ - **Variance Found:** $70,000 difference between CSV total ($1,250,000) and PDF annual total ($1,180,000)
382
+ - **Recommendation:** Investigate timing differences or adjustments
383
+
384
+ Would you like me to:
385
+ - \u{1F4CA} Create detailed visualizations
386
+ - \u{1F50D} Investigate the revenue variance
387
+ - \u{1F4C8} Generate trend analysis
388
+ - \u{1F4CB} Create a unified report?`}]}]);return e("div",{className:"h-screen w-full",children:e(n,{messages:t,capabilities:s,enableFileUpload:!0,maxFileSize:10,allowedFileTypes:["*"],businessUnits:[],sessions:[],notifications:[],onNewChat:()=>a([]),onSessionSelect:()=>{},onSessionDelete:()=>{},showCapabilities:!0})})}function y(){let[t,a]=r([{id:"1",role:"user",parts:[{type:"text",text:"Can you fetch my latest sales data?"}]},{id:"2",role:"assistant",parts:[{type:"text",text:`I'll fetch your latest sales data right away.
389
+
390
+ *\u{1F527} Calling function: fetch_sales_data(period="latest")*
391
+
392
+ \u26A0\uFE0F **Database Connection Timeout**
393
+
394
+ \`\`\`
395
+ Error: Database connection timeout
396
+ Code: DB_TIMEOUT
397
+ Retry after: 30 seconds
398
+ Timestamp: 2024-01-20T10:15:23Z
399
+ \`\`\`
400
+
401
+ This is usually a temporary issue. I'll retry the request in 30 seconds. In the meantime, you can:
402
+
403
+ 1. Check if there are any ongoing system maintenance notifications
404
+ 2. Try refreshing the page
405
+ 3. Contact support if the issue persists
406
+
407
+ Would you like me to try again now or wait for the suggested retry time?`}]},{id:"3",role:"user",parts:[{type:"text",text:"Please try again now"}]},{id:"4",role:"assistant",parts:[{type:"text",text:`Retrying the sales data fetch...
408
+
409
+ *\u{1F527} Calling function: fetch_sales_data(period="latest", retry=true)*
410
+
411
+ \u{1F6AB} **Access Denied**
412
+
413
+ \`\`\`
414
+ Error: Insufficient permissions
415
+ Code: AUTH_ERROR
416
+ Required permissions: ['sales:read', 'data:access']
417
+ Contact admin: true
418
+ \`\`\`
419
+
420
+ I'm unable to fetch the sales data due to insufficient permissions.
421
+
422
+ **Required Permissions:**
423
+ - \`sales:read\` - Read access to sales data
424
+ - \`data:access\` - General data access rights
425
+
426
+ **Next Steps:**
427
+ 1. **Contact your administrator** to request the necessary permissions
428
+ 2. **Verify your role** - You may need a sales or data analyst role
429
+ 3. **Check group memberships** - Ensure you're in the appropriate security groups
430
+
431
+ **Alternative Options:**
432
+ - Upload a sales data file directly (CSV, Excel)
433
+ - Request data from a colleague with appropriate access
434
+ - Use the capabilities menu to explore other available features
435
+
436
+ Would you like to try uploading a file instead, or explore other features I can help you with?`}]},{id:"5",role:"user",parts:[{type:"text",text:"What about creating a report with invalid data?"}]},{id:"6",role:"assistant",parts:[{type:"text",text:`I'll attempt to create a report with the data available.
437
+
438
+ *\u{1F527} Calling function: generate_report(data_source="invalid_source", report_type="sales_summary")*
439
+
440
+ \u274C **Invalid Data Source**
441
+
442
+ \`\`\`
443
+ Error: Invalid data source specified
444
+ Code: INVALID_SOURCE
445
+ Valid sources: ['sales_db', 'crm_system', 'uploaded_files']
446
+ Suggestion: Please specify a valid data source
447
+ \`\`\`
448
+
449
+ The report generation failed because the specified data source is not valid.
450
+
451
+ **Available Data Sources:**
452
+ - \`sales_db\` - Main sales database
453
+ - \`crm_system\` - Customer relationship management system
454
+ - \`uploaded_files\` - Files you've uploaded to the chat
455
+
456
+ **How to Fix This:**
457
+ 1. **Choose a valid source** from the list above
458
+ 2. **Upload data files** if you want to use your own data
459
+ 3. **Check data permissions** for database sources
460
+
461
+ **Example:** "Generate a sales report using the CRM system data"
462
+
463
+ Would you like me to try generating a report with one of the valid data sources?`}]},{id:"7",role:"user",parts:[{type:"text",text:"Let me try uploading some corrupted data (corrupted_data.xlsx - 0 bytes)"}]},{id:"8",role:"assistant",parts:[{type:"text",text:`I see you're trying to upload a file. Let me analyze it.
464
+
465
+ *\u{1F527} Processing file: corrupted_data.xlsx*
466
+
467
+ \u{1F4BE} **Corrupted or Empty File**
468
+
469
+ \`\`\`
470
+ Error: File appears to be corrupted or empty
471
+ Code: CORRUPTED_FILE
472
+ File size: 0 bytes
473
+ MIME type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
474
+ \`\`\`
475
+
476
+ The uploaded Excel file appears to be corrupted or empty (0 bytes).
477
+
478
+ **Possible Causes:**
479
+ - File upload was interrupted
480
+ - Original file is corrupted
481
+ - File format is not supported
482
+ - Network issues during upload
483
+
484
+ **Troubleshooting Steps:**
485
+
486
+ 1. **Re-save the file:**
487
+ - Open in Excel and save as a new file
488
+ - Try "Save As" \u2192 Excel Workbook (.xlsx)
489
+
490
+ 2. **Try different format:**
491
+ - Export as CSV (.csv) for better compatibility
492
+ - Save as Excel 97-2003 (.xls) if needed
493
+
494
+ 3. **Check file integrity:**
495
+ - Verify you can open the file locally
496
+ - Check file size (should be > 0 bytes)
497
+
498
+ 4. **Re-upload:**
499
+ - Clear browser cache
500
+ - Try uploading again
501
+
502
+ **Alternative Solutions:**
503
+ - Copy data into a new spreadsheet
504
+ - Use Google Sheets and export as Excel
505
+ - Upload as a text/CSV file instead
506
+
507
+ Would you like to try uploading the file again or in a different format?`}]},{id:"9",role:"user",parts:[{type:"text",text:"What about network connectivity issues?"}]},{id:"10",role:"assistant",parts:[{type:"text",text:`Let me check the network connectivity and system status.
508
+
509
+ *\u{1F527} Calling function: check_system_status()*
510
+
511
+ \u{1F310} **Network Connectivity Issues**
512
+
513
+ \`\`\`
514
+ Error: Unable to reach external services
515
+ Code: NETWORK_ERROR
516
+ Status: Multiple service endpoints unreachable
517
+ Last successful connection: 5 minutes ago
518
+ \`\`\`
519
+
520
+ It appears there are network connectivity issues affecting several services:
521
+
522
+ **Affected Services:**
523
+ - \u274C Customer Database (timeout)
524
+ - \u274C File Processing Service (unreachable)
525
+ - \u274C Analytics Engine (connection refused)
526
+ - \u2705 Chat Service (operational)
527
+ - \u2705 Authentication (operational)
528
+
529
+ **Impact:**
530
+ - File uploads may fail or be delayed
531
+ - Data retrieval functions unavailable
532
+ - Real-time analytics temporarily disabled
533
+ - Chat functionality remains available
534
+
535
+ **Troubleshooting:**
536
+ 1. **Check your internet connection**
537
+ 2. **Try refreshing the page**
538
+ 3. **Wait 2-3 minutes and retry**
539
+ 4. **Contact IT if issues persist**
540
+
541
+ **What you can still do:**
542
+ - Continue chatting for general assistance
543
+ - Review previously uploaded data
544
+ - Access cached reports and documents
545
+ - Plan future actions for when services restore
546
+
547
+ I'll continue monitoring the connection status. Services typically restore within 5-10 minutes during maintenance windows.`}]}]);return e("div",{className:"h-screen w-full",children:e(n,{messages:t,capabilities:s,enableFileUpload:!0,maxFileSize:10,allowedFileTypes:["*"],businessUnits:[],sessions:[],notifications:[],onNewChat:()=>a([]),onSessionSelect:()=>{},onSessionDelete:()=>{},showCapabilities:!0})})}function g(){let[t,a]=r([{id:"1",role:"assistant",parts:[{type:"text",text:`Welcome! I can help you with various business tasks. Use the capabilities menu at the bottom to explore what I can do, or ask me directly about:
548
+
549
+ \u{1F3E2} **Sales & CRM**
550
+ - Customer management
551
+ - Sales pipeline tracking
552
+ - Revenue analysis
553
+
554
+ \u{1F4CA} **Marketing**
555
+ - Campaign management
556
+ - Analytics and reporting
557
+ - Lead generation
558
+
559
+ \u{1F465} **HR & Operations**
560
+ - Employee management
561
+ - Project tracking
562
+ - Document processing
563
+
564
+ \u{1F4B0} **Finance**
565
+ - Financial reporting
566
+ - Budget analysis
567
+ - Expense tracking
568
+
569
+ Try clicking on any capability in the menu below to get started!`}]},{id:"2",role:"user",parts:[{type:"text",text:"I clicked on Sales \u2192 Customers \u2192 Acme Corp"}]},{id:"3",role:"assistant",parts:[{type:"text",text:"Great! You've selected **Acme Corp** from the customers list. Here's what I found:"},{type:"data-customer-card",data:{id:"acme-corp",name:"Acme Corp",type:"Enterprise Customer",revenue:"$125,000 ARR",industry:"Technology",employees:500,lastContact:"2024-01-15",status:"active",contacts:[{name:"John Smith",role:"CTO",email:"john@acme.com"},{name:"Sarah Johnson",role:"Procurement",email:"sarah@acme.com"}],recent_activity:[{date:"2024-01-15",activity:"Contract renewal discussion"},{date:"2024-01-10",activity:"Product demo scheduled"},{date:"2024-01-05",activity:"Support ticket resolved"}],opportunities:[{name:"Enterprise License Renewal",value:"$150K",stage:"Negotiation"},{name:"Additional Modules",value:"$25K",stage:"Proposal"}]}}]},{id:"4",role:"assistant",parts:[{type:"text",text:`**Available Actions for Acme Corp:**
570
+
571
+ \u{1F3AF} **Sales Actions**
572
+ - Schedule follow-up meeting
573
+ - Update opportunity status
574
+ - Send contract renewal proposal
575
+
576
+ \u{1F4DE} **Communication**
577
+ - Log customer call
578
+ - Send email update
579
+ - Schedule product demo
580
+
581
+ \u{1F4CA} **Analytics**
582
+ - View customer health score
583
+ - Generate account report
584
+ - Analyze usage patterns
585
+
586
+ What would you like to do next?`}]},{id:"5",role:"user",parts:[{type:"text",text:"Now I want to explore Marketing \u2192 Campaign Management"}]},{id:"6",role:"assistant",parts:[{type:"text",text:"Perfect! You've navigated to **Campaign Management**. Here's an overview of your marketing campaigns:"},{type:"data-campaigns",data:{title:"Active Marketing Campaigns",campaigns:[{id:"winter-promo",name:"Winter Promotion 2024",status:"active",type:"Email + Social",start_date:"2024-01-01",end_date:"2024-02-29",budget:15e3,spent:8500,leads:247,conversions:23,roi:"180%"},{id:"product-launch",name:"New Product Launch",status:"planning",type:"Multi-channel",start_date:"2024-02-15",end_date:"2024-04-15",budget:25e3,spent:0,leads:0,conversions:0,roi:"TBD"},{id:"retargeting",name:"Retargeting Campaign",status:"active",type:"Digital Ads",start_date:"2024-01-10",end_date:"2024-03-10",budget:8e3,spent:3200,leads:89,conversions:12,roi:"150%"}]}}]},{id:"7",role:"assistant",parts:[{type:"text",text:`**Campaign Management Actions:**
587
+
588
+ \u{1F4DD} **Create & Edit**
589
+ - Create new campaign
590
+ - Duplicate existing campaign
591
+ - Edit campaign settings
592
+
593
+ \u{1F4CA} **Analytics & Reporting**
594
+ - View detailed performance
595
+ - Generate ROI report
596
+ - Compare campaign metrics
597
+
598
+ \u2699\uFE0F **Management**
599
+ - Pause/resume campaigns
600
+ - Adjust budgets
601
+ - Update target audiences
602
+
603
+ \u{1F3AF} **Optimization**
604
+ - A/B test variations
605
+ - Optimize targeting
606
+ - Adjust bidding strategies
607
+
608
+ Which campaign would you like to work with, or what action would you like to take?`}]},{id:"8",role:"user",parts:[{type:"text",text:"Let me check HR \u2192 Employee Management \u2192 Performance Reviews"}]},{id:"9",role:"assistant",parts:[{type:"text",text:"You've accessed **Performance Reviews** in HR. Here's the current status of performance reviews:"},{type:"data-performance",data:{title:"Performance Review Dashboard",period:"Q4 2023",overview:{total_employees:127,reviews_completed:89,reviews_pending:23,reviews_overdue:15,completion_rate:70.1},departments:[{name:"Engineering",employees:45,completed:38,pending:5,overdue:2,avg_rating:4.2},{name:"Sales",employees:28,completed:22,pending:4,overdue:2,avg_rating:3.9},{name:"Marketing",employees:18,completed:12,pending:3,overdue:3,avg_rating:4},{name:"Operations",employees:15,completed:9,pending:4,overdue:2,avg_rating:3.8}],upcoming_deadlines:[{employee:"Alex Chen",department:"Engineering",due_date:"2024-01-25"},{employee:"Maria Garcia",department:"Sales",due_date:"2024-01-27"},{employee:"David Kim",department:"Marketing",due_date:"2024-01-30"}]}}]},{id:"10",role:"assistant",parts:[{type:"text",text:`**Performance Review Actions:**
609
+
610
+ \u2705 **Review Management**
611
+ - Schedule new reviews
612
+ - Send completion reminders
613
+ - Mark reviews as complete
614
+
615
+ \u{1F4CB} **Templates & Forms**
616
+ - Create review templates
617
+ - Customize evaluation forms
618
+ - Set review criteria
619
+
620
+ \u{1F4CA} **Analytics & Reports**
621
+ - Generate department reports
622
+ - Track completion rates
623
+ - Analyze performance trends
624
+
625
+ \u{1F514} **Notifications**
626
+ - Send deadline reminders
627
+ - Notify managers of overdue reviews
628
+ - Schedule follow-up meetings
629
+
630
+ **Attention Required:**
631
+ - 15 reviews are **overdue**
632
+ - 23 reviews are **pending**
633
+ - 3 employees have upcoming deadlines this week
634
+
635
+ Would you like me to send reminder notifications or help with any specific review tasks?`}]}]);return e("div",{className:"h-screen w-full",children:e(n,{messages:t,capabilities:s,enableFileUpload:!0,maxFileSize:10,allowedFileTypes:["*"],businessUnits:[],sessions:[],notifications:[],onNewChat:()=>a([]),onSessionSelect:()=>{},onSessionDelete:()=>{},showCapabilities:!0})})}export{g as ChatDemoCapabilitiesInteraction,y as ChatDemoErrorHandling,m as ChatDemoFileUploads,c as ChatDemoMarkdownResponses,u as ChatDemoToolCalling,p as ChatDemoUIComponents};