@iblai/iblai-js 2.26.0 → 2.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,7 +11,6 @@ import ReactDOM__default from 'react-dom';
11
11
  import { z } from 'zod';
12
12
  import { RemoveScroll } from 'react-remove-scroll';
13
13
  import { skipToken } from '@reduxjs/toolkit/query';
14
- import Link$2 from 'next/link';
15
14
  import { useParams, useSearchParams, useRouter, usePathname } from 'next/navigation';
16
15
  import * as DialogPrimitive from '@radix-ui/react-dialog';
17
16
  import { createDialogScope } from '@radix-ui/react-dialog';
@@ -226,7 +225,7 @@ function useLlmProviderCatalogue({ org, userId, mentorId }) {
226
225
  };
227
226
  }, [rowsByName, rowsByLooseName, rowForModel]);
228
227
  }
229
- const clean$1 = (value) => (value === null || value === void 0 ? void 0 : value.trim()) || undefined;
228
+ const clean$2 = (value) => (value === null || value === void 0 ? void 0 : value.trim()) || undefined;
230
229
  /**
231
230
  * The label to show for a model.
232
231
  *
@@ -243,7 +242,7 @@ const clean$1 = (value) => (value === null || value === void 0 ? void 0 : value.
243
242
  */
244
243
  function useLlmDisplayName({ llmName, llmConfig, org, userId, mentorId, }) {
245
244
  var _a;
246
- const fromConfig = clean$1(llmConfig === null || llmConfig === void 0 ? void 0 : llmConfig.display_name);
245
+ const fromConfig = clean$2(llmConfig === null || llmConfig === void 0 ? void 0 : llmConfig.display_name);
247
246
  const skip = Boolean(fromConfig) || !llmName || !org || !userId || !mentorId;
248
247
  const { data: providers } = useGetLlmsQuery({
249
248
  org: org !== null && org !== void 0 ? org : '',
@@ -258,7 +257,7 @@ function useLlmDisplayName({ llmName, llmConfig, org, userId, mentorId, }) {
258
257
  const wanted = modelKey(llmName);
259
258
  for (const provider of providers) {
260
259
  const match = (_a = provider === null || provider === void 0 ? void 0 : provider.chat_models) === null || _a === void 0 ? void 0 : _a.find((model) => modelKey(model === null || model === void 0 ? void 0 : model.llm_name) === wanted || modelKey(model === null || model === void 0 ? void 0 : model.display_name) === wanted);
261
- const label = clean$1(match === null || match === void 0 ? void 0 : match.display_name);
260
+ const label = clean$2(match === null || match === void 0 ? void 0 : match.display_name);
262
261
  if (label)
263
262
  return label;
264
263
  }
@@ -295,7 +294,7 @@ function useCredentialsSchemaLogos({ org, enabled }) {
295
294
  return useCallback((displayName) => (displayName && logosByDisplayName.get(displayName)) || null, [logosByDisplayName]);
296
295
  }
297
296
 
298
- var _a;
297
+ var _a$1;
299
298
  const dl$1 = dataLayer;
300
299
  /**
301
300
  * Read a named export, tolerating absence. In real ESM a missing export reads
@@ -328,7 +327,7 @@ const pick = (name, fallback) => { var _a; return ((_a = read(name)) !== null &&
328
327
  /** Whether the resolved data-layer actually supports the chat-privacy feature. */
329
328
  const CHAT_PRIVACY_SUPPORTED = !!read('ChatPrivacyModeEnum') && !!read('CHAT_PRIVACY_MODES');
330
329
  const ChatPrivacyModeEnum = read('ChatPrivacyModeEnum');
331
- const CHAT_PRIVACY_MODES = ((_a = read('CHAT_PRIVACY_MODES')) !== null && _a !== void 0 ? _a : []);
330
+ const CHAT_PRIVACY_MODES = ((_a$1 = read('CHAT_PRIVACY_MODES')) !== null && _a$1 !== void 0 ? _a$1 : []);
332
331
  const chatPrivacyApiSlice = read('chatPrivacyApiSlice');
333
332
  const useGetTenantChatPrivacyConfigQuery = pick('useGetTenantChatPrivacyConfigQuery', noopQuery);
334
333
  const useUpdateTenantChatPrivacyConfigMutation = pick('useUpdateTenantChatPrivacyConfigMutation', noopMutation);
@@ -2295,6 +2294,9 @@ var analyticsAnalyticsFinancialStats$3 = {
2295
2294
  viewTraces: "Traces →",
2296
2295
  costByLLMFooter: "{shown} models · ranked by cost"
2297
2296
  };
2297
+ var agentSettingsLink$3 = {
2298
+ openSettings: "Open settings for {name}"
2299
+ };
2298
2300
  var analyticsAgentScopeLink$3 = {
2299
2301
  scopeToAgent: "View analytics for {name}"
2300
2302
  };
@@ -2516,6 +2518,8 @@ var analyticsAnalyticsTopicsStats$3 = {
2516
2518
  topicsRankedFooter: "{shown} of {total} topics · ranked by message volume"
2517
2519
  };
2518
2520
  var analyticsAnalyticsTranscriptsStats$3 = {
2521
+ conversationFallbackTitle: "Conversation",
2522
+ labelEmail: "Email:",
2519
2523
  anonymous: "Anonymous",
2520
2524
  justNow: "Just now",
2521
2525
  minutesAgo: "{count} min ago",
@@ -2960,6 +2964,7 @@ var careerEducationTab$3 = {
2960
2964
  nothingToShow: "Nothing to show here."
2961
2965
  };
2962
2966
  var chatHistoryChatHistoryTab$3 = {
2967
+ userSentiment: "User Sentiment",
2963
2968
  tabConversations: "Conversations",
2964
2969
  tabExports: "Exports",
2965
2970
  searchAgents: "Search Agents",
@@ -4004,6 +4009,10 @@ var disclaimersTabLabels$3 = {
4004
4009
  }
4005
4010
  };
4006
4011
  var documentSidebar$3 = {
4012
+ relevance: "Relevance {percent}%",
4013
+ relevanceHint: "How closely this passage matched the question",
4014
+ preview: "Preview",
4015
+ openInNewTab: "Open {title} in a new tab",
4007
4016
  retrievedDocuments: "Retrieved Documents"
4008
4017
  };
4009
4018
  var embedTabLabels$3 = {
@@ -4113,6 +4122,12 @@ var historyTabLabels$3 = {
4113
4122
  outOf: "out of 5"
4114
4123
  },
4115
4124
  conversation: {
4125
+ sentiment: {
4126
+ positive: "Positive",
4127
+ neutral: "Neutral",
4128
+ negative: "Negative",
4129
+ userSentiment: "User Sentiment"
4130
+ },
4116
4131
  title: "Conversation",
4117
4132
  anonymous: "Anonymous",
4118
4133
  noResponse: "No response available",
@@ -8793,6 +8808,7 @@ var en = {
8793
8808
  analyticsAnalyticsCourseDetail: analyticsAnalyticsCourseDetail$3,
8794
8809
  analyticsAnalyticsCourses: analyticsAnalyticsCourses$3,
8795
8810
  analyticsAnalyticsFinancialStats: analyticsAnalyticsFinancialStats$3,
8811
+ agentSettingsLink: agentSettingsLink$3,
8796
8812
  analyticsAgentScopeLink: analyticsAgentScopeLink$3,
8797
8813
  analyticsAnalyticsMemoryStats: analyticsAnalyticsMemoryStats$3,
8798
8814
  analyticsAnalyticsMonetizationStats: analyticsAnalyticsMonetizationStats$3,
@@ -9823,6 +9839,9 @@ var analyticsAnalyticsFinancialStats$2 = {
9823
9839
  viewTraces: "Traces →",
9824
9840
  costByLLMFooter: "{shown} modèles · classés par coût"
9825
9841
  };
9842
+ var agentSettingsLink$2 = {
9843
+ openSettings: "Ouvrir les paramètres de {name}"
9844
+ };
9826
9845
  var analyticsAgentScopeLink$2 = {
9827
9846
  scopeToAgent: "Voir les analyses de {name}"
9828
9847
  };
@@ -10044,6 +10063,8 @@ var analyticsAnalyticsTopicsStats$2 = {
10044
10063
  topicsRankedFooter: "{shown} sur {total} sujets · classés par volume de messages"
10045
10064
  };
10046
10065
  var analyticsAnalyticsTranscriptsStats$2 = {
10066
+ conversationFallbackTitle: "Conversation",
10067
+ labelEmail: "E-mail :",
10047
10068
  anonymous: "Anonyme",
10048
10069
  justNow: "À l'instant",
10049
10070
  minutesAgo: "Il y a {count} min",
@@ -10488,6 +10509,7 @@ var careerEducationTab$2 = {
10488
10509
  nothingToShow: "Rien à afficher ici."
10489
10510
  };
10490
10511
  var chatHistoryChatHistoryTab$2 = {
10512
+ userSentiment: "Sentiment de l'utilisateur",
10491
10513
  tabConversations: "Conversations",
10492
10514
  tabExports: "Exportations",
10493
10515
  searchAgents: "Rechercher des agents",
@@ -11698,6 +11720,10 @@ var disclaimersTabLabels$2 = {
11698
11720
  }
11699
11721
  };
11700
11722
  var documentSidebar$2 = {
11723
+ relevance: "Pertinence {percent}%",
11724
+ relevanceHint: "Dans quelle mesure ce passage correspond à la question",
11725
+ preview: "Aperçu",
11726
+ openInNewTab: "Ouvrir {title} dans un nouvel onglet",
11701
11727
  retrievedDocuments: "Documents récupérés"
11702
11728
  };
11703
11729
  var embedTabLabels$2 = {
@@ -11807,6 +11833,12 @@ var historyTabLabels$2 = {
11807
11833
  outOf: "sur 5"
11808
11834
  },
11809
11835
  conversation: {
11836
+ sentiment: {
11837
+ positive: "Positif",
11838
+ neutral: "Neutre",
11839
+ negative: "Négatif",
11840
+ userSentiment: "Sentiment de l'utilisateur"
11841
+ },
11810
11842
  title: "Conversation",
11811
11843
  anonymous: "Anonyme",
11812
11844
  noResponse: "Aucune réponse disponible",
@@ -16321,6 +16353,7 @@ var fr = {
16321
16353
  analyticsAnalyticsCourseDetail: analyticsAnalyticsCourseDetail$2,
16322
16354
  analyticsAnalyticsCourses: analyticsAnalyticsCourses$2,
16323
16355
  analyticsAnalyticsFinancialStats: analyticsAnalyticsFinancialStats$2,
16356
+ agentSettingsLink: agentSettingsLink$2,
16324
16357
  analyticsAgentScopeLink: analyticsAgentScopeLink$2,
16325
16358
  analyticsAnalyticsMemoryStats: analyticsAnalyticsMemoryStats$2,
16326
16359
  analyticsAnalyticsMonetizationStats: analyticsAnalyticsMonetizationStats$2,
@@ -17351,6 +17384,9 @@ var analyticsAnalyticsFinancialStats$1 = {
17351
17384
  viewTraces: "Trazas →",
17352
17385
  costByLLMFooter: "{shown} modelos · ordenados por costo"
17353
17386
  };
17387
+ var agentSettingsLink$1 = {
17388
+ openSettings: "Abrir la configuración de {name}"
17389
+ };
17354
17390
  var analyticsAgentScopeLink$1 = {
17355
17391
  scopeToAgent: "Ver analíticas de {name}"
17356
17392
  };
@@ -17572,6 +17608,8 @@ var analyticsAnalyticsTopicsStats$1 = {
17572
17608
  topicsRankedFooter: "{shown} de {total} temas · ordenados por volumen de mensajes"
17573
17609
  };
17574
17610
  var analyticsAnalyticsTranscriptsStats$1 = {
17611
+ conversationFallbackTitle: "Conversación",
17612
+ labelEmail: "Correo electrónico:",
17575
17613
  anonymous: "Anónimo",
17576
17614
  justNow: "Ahora mismo",
17577
17615
  minutesAgo: "Hace {count} min",
@@ -18016,6 +18054,7 @@ var careerEducationTab$1 = {
18016
18054
  nothingToShow: "No hay nada que mostrar aquí."
18017
18055
  };
18018
18056
  var chatHistoryChatHistoryTab$1 = {
18057
+ userSentiment: "Sentimiento del usuario",
18019
18058
  tabConversations: "Conversaciones",
18020
18059
  tabExports: "Exportaciones",
18021
18060
  searchAgents: "Buscar agentes",
@@ -19226,6 +19265,10 @@ var disclaimersTabLabels$1 = {
19226
19265
  }
19227
19266
  };
19228
19267
  var documentSidebar$1 = {
19268
+ relevance: "Relevancia {percent}%",
19269
+ relevanceHint: "Cuánto coincide este fragmento con la pregunta",
19270
+ preview: "Vista previa",
19271
+ openInNewTab: "Abrir {title} en una pestaña nueva",
19229
19272
  retrievedDocuments: "Documentos recuperados"
19230
19273
  };
19231
19274
  var embedTabLabels$1 = {
@@ -19335,6 +19378,12 @@ var historyTabLabels$1 = {
19335
19378
  outOf: "de 5"
19336
19379
  },
19337
19380
  conversation: {
19381
+ sentiment: {
19382
+ positive: "Positivo",
19383
+ neutral: "Neutral",
19384
+ negative: "Negativo",
19385
+ userSentiment: "Sentimiento del usuario"
19386
+ },
19338
19387
  title: "Conversación",
19339
19388
  anonymous: "Anónimo",
19340
19389
  noResponse: "No hay respuesta disponible",
@@ -23849,6 +23898,7 @@ var es = {
23849
23898
  analyticsAnalyticsCourseDetail: analyticsAnalyticsCourseDetail$1,
23850
23899
  analyticsAnalyticsCourses: analyticsAnalyticsCourses$1,
23851
23900
  analyticsAnalyticsFinancialStats: analyticsAnalyticsFinancialStats$1,
23901
+ agentSettingsLink: agentSettingsLink$1,
23852
23902
  analyticsAgentScopeLink: analyticsAgentScopeLink$1,
23853
23903
  analyticsAnalyticsMemoryStats: analyticsAnalyticsMemoryStats$1,
23854
23904
  analyticsAnalyticsMonetizationStats: analyticsAnalyticsMonetizationStats$1,
@@ -24879,6 +24929,9 @@ var analyticsAnalyticsFinancialStats = {
24879
24929
  viewTraces: "追踪 →",
24880
24930
  costByLLMFooter: "{shown} 个模型 · 按成本排序"
24881
24931
  };
24932
+ var agentSettingsLink = {
24933
+ openSettings: "打开 {name} 的设置"
24934
+ };
24882
24935
  var analyticsAgentScopeLink = {
24883
24936
  scopeToAgent: "查看 {name} 的分析"
24884
24937
  };
@@ -25100,6 +25153,8 @@ var analyticsAnalyticsTopicsStats = {
25100
25153
  topicsRankedFooter: "共 {total} 个主题,显示 {shown} 个 · 按消息量排序"
25101
25154
  };
25102
25155
  var analyticsAnalyticsTranscriptsStats = {
25156
+ conversationFallbackTitle: "对话",
25157
+ labelEmail: "邮箱:",
25103
25158
  anonymous: "匿名",
25104
25159
  justNow: "刚刚",
25105
25160
  minutesAgo: "{count} 分钟前",
@@ -25544,6 +25599,7 @@ var careerEducationTab = {
25544
25599
  nothingToShow: "暂无内容。"
25545
25600
  };
25546
25601
  var chatHistoryChatHistoryTab = {
25602
+ userSentiment: "用户情绪",
25547
25603
  tabConversations: "对话",
25548
25604
  tabExports: "导出",
25549
25605
  searchAgents: "搜索代理",
@@ -26754,6 +26810,10 @@ var disclaimersTabLabels = {
26754
26810
  }
26755
26811
  };
26756
26812
  var documentSidebar = {
26813
+ relevance: "相关度 {percent}%",
26814
+ relevanceHint: "该片段与问题的匹配程度",
26815
+ preview: "预览",
26816
+ openInNewTab: "在新标签页中打开 {title}",
26757
26817
  retrievedDocuments: "检索到的文档"
26758
26818
  };
26759
26819
  var embedTabLabels = {
@@ -26863,6 +26923,12 @@ var historyTabLabels = {
26863
26923
  outOf: "满分 5 分"
26864
26924
  },
26865
26925
  conversation: {
26926
+ sentiment: {
26927
+ positive: "积极",
26928
+ neutral: "中性",
26929
+ negative: "消极",
26930
+ userSentiment: "用户情绪"
26931
+ },
26866
26932
  title: "对话",
26867
26933
  anonymous: "匿名",
26868
26934
  noResponse: "暂无回复",
@@ -31377,6 +31443,7 @@ var zh = {
31377
31443
  analyticsAnalyticsCourseDetail: analyticsAnalyticsCourseDetail,
31378
31444
  analyticsAnalyticsCourses: analyticsAnalyticsCourses,
31379
31445
  analyticsAnalyticsFinancialStats: analyticsAnalyticsFinancialStats,
31446
+ agentSettingsLink: agentSettingsLink,
31380
31447
  analyticsAgentScopeLink: analyticsAgentScopeLink,
31381
31448
  analyticsAnalyticsMemoryStats: analyticsAnalyticsMemoryStats,
31382
31449
  analyticsAnalyticsMonetizationStats: analyticsAnalyticsMonetizationStats,
@@ -80085,7 +80152,7 @@ const createLucideIcon = (iconName, iconNode) => {
80085
80152
  */
80086
80153
 
80087
80154
 
80088
- const __iconNode$2t = [
80155
+ const __iconNode$2u = [
80089
80156
  [
80090
80157
  "path",
80091
80158
  {
@@ -80094,7 +80161,7 @@ const __iconNode$2t = [
80094
80161
  }
80095
80162
  ]
80096
80163
  ];
80097
- const Activity = createLucideIcon("activity", __iconNode$2t);
80164
+ const Activity = createLucideIcon("activity", __iconNode$2u);
80098
80165
 
80099
80166
  /**
80100
80167
  * @license lucide-react v0.528.0 - ISC
@@ -80104,12 +80171,12 @@ const Activity = createLucideIcon("activity", __iconNode$2t);
80104
80171
  */
80105
80172
 
80106
80173
 
80107
- const __iconNode$2s = [
80174
+ const __iconNode$2t = [
80108
80175
  ["path", { d: "M17 12H7", key: "16if0g" }],
80109
80176
  ["path", { d: "M19 18H5", key: "18s9l3" }],
80110
80177
  ["path", { d: "M21 6H3", key: "1jwq7v" }]
80111
80178
  ];
80112
- const AlignCenter = createLucideIcon("align-center", __iconNode$2s);
80179
+ const AlignCenter = createLucideIcon("align-center", __iconNode$2t);
80113
80180
 
80114
80181
  /**
80115
80182
  * @license lucide-react v0.528.0 - ISC
@@ -80119,12 +80186,12 @@ const AlignCenter = createLucideIcon("align-center", __iconNode$2s);
80119
80186
  */
80120
80187
 
80121
80188
 
80122
- const __iconNode$2r = [
80189
+ const __iconNode$2s = [
80123
80190
  ["path", { d: "M15 12H3", key: "6jk70r" }],
80124
80191
  ["path", { d: "M17 18H3", key: "1amg6g" }],
80125
80192
  ["path", { d: "M21 6H3", key: "1jwq7v" }]
80126
80193
  ];
80127
- const AlignLeft = createLucideIcon("align-left", __iconNode$2r);
80194
+ const AlignLeft = createLucideIcon("align-left", __iconNode$2s);
80128
80195
 
80129
80196
  /**
80130
80197
  * @license lucide-react v0.528.0 - ISC
@@ -80134,12 +80201,12 @@ const AlignLeft = createLucideIcon("align-left", __iconNode$2r);
80134
80201
  */
80135
80202
 
80136
80203
 
80137
- const __iconNode$2q = [
80204
+ const __iconNode$2r = [
80138
80205
  ["path", { d: "M21 12H9", key: "dn1m92" }],
80139
80206
  ["path", { d: "M21 18H7", key: "1ygte8" }],
80140
80207
  ["path", { d: "M21 6H3", key: "1jwq7v" }]
80141
80208
  ];
80142
- const AlignRight = createLucideIcon("align-right", __iconNode$2q);
80209
+ const AlignRight = createLucideIcon("align-right", __iconNode$2r);
80143
80210
 
80144
80211
  /**
80145
80212
  * @license lucide-react v0.528.0 - ISC
@@ -80149,12 +80216,12 @@ const AlignRight = createLucideIcon("align-right", __iconNode$2q);
80149
80216
  */
80150
80217
 
80151
80218
 
80152
- const __iconNode$2p = [
80219
+ const __iconNode$2q = [
80153
80220
  ["rect", { width: "20", height: "5", x: "2", y: "3", rx: "1", key: "1wp1u1" }],
80154
80221
  ["path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8", key: "1s80jp" }],
80155
80222
  ["path", { d: "M10 12h4", key: "a56b0p" }]
80156
80223
  ];
80157
- const Archive = createLucideIcon("archive", __iconNode$2p);
80224
+ const Archive = createLucideIcon("archive", __iconNode$2q);
80158
80225
 
80159
80226
  /**
80160
80227
  * @license lucide-react v0.528.0 - ISC
@@ -80164,11 +80231,11 @@ const Archive = createLucideIcon("archive", __iconNode$2p);
80164
80231
  */
80165
80232
 
80166
80233
 
80167
- const __iconNode$2o = [
80234
+ const __iconNode$2p = [
80168
80235
  ["path", { d: "M12 5v14", key: "s699le" }],
80169
80236
  ["path", { d: "m19 12-7 7-7-7", key: "1idqje" }]
80170
80237
  ];
80171
- const ArrowDown = createLucideIcon("arrow-down", __iconNode$2o);
80238
+ const ArrowDown = createLucideIcon("arrow-down", __iconNode$2p);
80172
80239
 
80173
80240
  /**
80174
80241
  * @license lucide-react v0.528.0 - ISC
@@ -80178,11 +80245,11 @@ const ArrowDown = createLucideIcon("arrow-down", __iconNode$2o);
80178
80245
  */
80179
80246
 
80180
80247
 
80181
- const __iconNode$2n = [
80248
+ const __iconNode$2o = [
80182
80249
  ["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
80183
80250
  ["path", { d: "M19 12H5", key: "x3x0zl" }]
80184
80251
  ];
80185
- const ArrowLeft = createLucideIcon("arrow-left", __iconNode$2n);
80252
+ const ArrowLeft = createLucideIcon("arrow-left", __iconNode$2o);
80186
80253
 
80187
80254
  /**
80188
80255
  * @license lucide-react v0.528.0 - ISC
@@ -80192,11 +80259,11 @@ const ArrowLeft = createLucideIcon("arrow-left", __iconNode$2n);
80192
80259
  */
80193
80260
 
80194
80261
 
80195
- const __iconNode$2m = [
80262
+ const __iconNode$2n = [
80196
80263
  ["path", { d: "M5 12h14", key: "1ays0h" }],
80197
80264
  ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
80198
80265
  ];
80199
- const ArrowRight = createLucideIcon("arrow-right", __iconNode$2m);
80266
+ const ArrowRight = createLucideIcon("arrow-right", __iconNode$2n);
80200
80267
 
80201
80268
  /**
80202
80269
  * @license lucide-react v0.528.0 - ISC
@@ -80206,11 +80273,11 @@ const ArrowRight = createLucideIcon("arrow-right", __iconNode$2m);
80206
80273
  */
80207
80274
 
80208
80275
 
80209
- const __iconNode$2l = [
80276
+ const __iconNode$2m = [
80210
80277
  ["path", { d: "m5 12 7-7 7 7", key: "hav0vg" }],
80211
80278
  ["path", { d: "M12 19V5", key: "x0mq9r" }]
80212
80279
  ];
80213
- const ArrowUp = createLucideIcon("arrow-up", __iconNode$2l);
80280
+ const ArrowUp = createLucideIcon("arrow-up", __iconNode$2m);
80214
80281
 
80215
80282
  /**
80216
80283
  * @license lucide-react v0.528.0 - ISC
@@ -80220,7 +80287,7 @@ const ArrowUp = createLucideIcon("arrow-up", __iconNode$2l);
80220
80287
  */
80221
80288
 
80222
80289
 
80223
- const __iconNode$2k = [
80290
+ const __iconNode$2l = [
80224
80291
  [
80225
80292
  "path",
80226
80293
  {
@@ -80230,7 +80297,7 @@ const __iconNode$2k = [
80230
80297
  ],
80231
80298
  ["circle", { cx: "12", cy: "8", r: "6", key: "1vp47v" }]
80232
80299
  ];
80233
- const Award = createLucideIcon("award", __iconNode$2k);
80300
+ const Award = createLucideIcon("award", __iconNode$2l);
80234
80301
 
80235
80302
  /**
80236
80303
  * @license lucide-react v0.528.0 - ISC
@@ -80240,11 +80307,11 @@ const Award = createLucideIcon("award", __iconNode$2k);
80240
80307
  */
80241
80308
 
80242
80309
 
80243
- const __iconNode$2j = [
80310
+ const __iconNode$2k = [
80244
80311
  ["path", { d: "M4.929 4.929 19.07 19.071", key: "196cmz" }],
80245
80312
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
80246
80313
  ];
80247
- const Ban = createLucideIcon("ban", __iconNode$2j);
80314
+ const Ban = createLucideIcon("ban", __iconNode$2k);
80248
80315
 
80249
80316
  /**
80250
80317
  * @license lucide-react v0.528.0 - ISC
@@ -80254,12 +80321,12 @@ const Ban = createLucideIcon("ban", __iconNode$2j);
80254
80321
  */
80255
80322
 
80256
80323
 
80257
- const __iconNode$2i = [
80324
+ const __iconNode$2j = [
80258
80325
  ["rect", { width: "20", height: "12", x: "2", y: "6", rx: "2", key: "9lu3g6" }],
80259
80326
  ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }],
80260
80327
  ["path", { d: "M6 12h.01M18 12h.01", key: "113zkx" }]
80261
80328
  ];
80262
- const Banknote = createLucideIcon("banknote", __iconNode$2i);
80329
+ const Banknote = createLucideIcon("banknote", __iconNode$2j);
80263
80330
 
80264
80331
  /**
80265
80332
  * @license lucide-react v0.528.0 - ISC
@@ -80269,7 +80336,7 @@ const Banknote = createLucideIcon("banknote", __iconNode$2i);
80269
80336
  */
80270
80337
 
80271
80338
 
80272
- const __iconNode$2h = [
80339
+ const __iconNode$2i = [
80273
80340
  ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }],
80274
80341
  ["path", { d: "M22 8c0-2.3-.8-4.3-2-6", key: "5bb3ad" }],
80275
80342
  [
@@ -80281,7 +80348,7 @@ const __iconNode$2h = [
80281
80348
  ],
80282
80349
  ["path", { d: "M4 2C2.8 3.7 2 5.7 2 8", key: "tap9e0" }]
80283
80350
  ];
80284
- const BellRing = createLucideIcon("bell-ring", __iconNode$2h);
80351
+ const BellRing = createLucideIcon("bell-ring", __iconNode$2i);
80285
80352
 
80286
80353
  /**
80287
80354
  * @license lucide-react v0.528.0 - ISC
@@ -80291,7 +80358,7 @@ const BellRing = createLucideIcon("bell-ring", __iconNode$2h);
80291
80358
  */
80292
80359
 
80293
80360
 
80294
- const __iconNode$2g = [
80361
+ const __iconNode$2h = [
80295
80362
  ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }],
80296
80363
  [
80297
80364
  "path",
@@ -80301,7 +80368,7 @@ const __iconNode$2g = [
80301
80368
  }
80302
80369
  ]
80303
80370
  ];
80304
- const Bell = createLucideIcon("bell", __iconNode$2g);
80371
+ const Bell = createLucideIcon("bell", __iconNode$2h);
80305
80372
 
80306
80373
  /**
80307
80374
  * @license lucide-react v0.528.0 - ISC
@@ -80311,13 +80378,13 @@ const Bell = createLucideIcon("bell", __iconNode$2g);
80311
80378
  */
80312
80379
 
80313
80380
 
80314
- const __iconNode$2f = [
80381
+ const __iconNode$2g = [
80315
80382
  [
80316
80383
  "path",
80317
80384
  { d: "M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8", key: "mg9rjx" }
80318
80385
  ]
80319
80386
  ];
80320
- const Bold$1 = createLucideIcon("bold", __iconNode$2f);
80387
+ const Bold$1 = createLucideIcon("bold", __iconNode$2g);
80321
80388
 
80322
80389
  /**
80323
80390
  * @license lucide-react v0.528.0 - ISC
@@ -80327,7 +80394,7 @@ const Bold$1 = createLucideIcon("bold", __iconNode$2f);
80327
80394
  */
80328
80395
 
80329
80396
 
80330
- const __iconNode$2e = [
80397
+ const __iconNode$2f = [
80331
80398
  ["path", { d: "M12 7v14", key: "1akyts" }],
80332
80399
  [
80333
80400
  "path",
@@ -80337,7 +80404,7 @@ const __iconNode$2e = [
80337
80404
  }
80338
80405
  ]
80339
80406
  ];
80340
- const BookOpen = createLucideIcon("book-open", __iconNode$2e);
80407
+ const BookOpen = createLucideIcon("book-open", __iconNode$2f);
80341
80408
 
80342
80409
  /**
80343
80410
  * @license lucide-react v0.528.0 - ISC
@@ -80347,7 +80414,7 @@ const BookOpen = createLucideIcon("book-open", __iconNode$2e);
80347
80414
  */
80348
80415
 
80349
80416
 
80350
- const __iconNode$2d = [
80417
+ const __iconNode$2e = [
80351
80418
  ["path", { d: "M12 8V4H8", key: "hb8ula" }],
80352
80419
  ["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
80353
80420
  ["path", { d: "M2 14h2", key: "vft8re" }],
@@ -80355,7 +80422,7 @@ const __iconNode$2d = [
80355
80422
  ["path", { d: "M15 13v2", key: "1xurst" }],
80356
80423
  ["path", { d: "M9 13v2", key: "rq6x2g" }]
80357
80424
  ];
80358
- const Bot = createLucideIcon("bot", __iconNode$2d);
80425
+ const Bot = createLucideIcon("bot", __iconNode$2e);
80359
80426
 
80360
80427
  /**
80361
80428
  * @license lucide-react v0.528.0 - ISC
@@ -80365,11 +80432,11 @@ const Bot = createLucideIcon("bot", __iconNode$2d);
80365
80432
  */
80366
80433
 
80367
80434
 
80368
- const __iconNode$2c = [
80435
+ const __iconNode$2d = [
80369
80436
  ["path", { d: "M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16", key: "jecpp" }],
80370
80437
  ["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }]
80371
80438
  ];
80372
- const Briefcase = createLucideIcon("briefcase", __iconNode$2c);
80439
+ const Briefcase = createLucideIcon("briefcase", __iconNode$2d);
80373
80440
 
80374
80441
  /**
80375
80442
  * @license lucide-react v0.528.0 - ISC
@@ -80379,7 +80446,7 @@ const Briefcase = createLucideIcon("briefcase", __iconNode$2c);
80379
80446
  */
80380
80447
 
80381
80448
 
80382
- const __iconNode$2b = [
80449
+ const __iconNode$2c = [
80383
80450
  ["path", { d: "M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z", key: "1b4qmf" }],
80384
80451
  ["path", { d: "M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2", key: "i71pzd" }],
80385
80452
  ["path", { d: "M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2", key: "10jefs" }],
@@ -80388,7 +80455,7 @@ const __iconNode$2b = [
80388
80455
  ["path", { d: "M10 14h4", key: "kelpxr" }],
80389
80456
  ["path", { d: "M10 18h4", key: "1ulq68" }]
80390
80457
  ];
80391
- const Building2 = createLucideIcon("building-2", __iconNode$2b);
80458
+ const Building2 = createLucideIcon("building-2", __iconNode$2c);
80392
80459
 
80393
80460
  /**
80394
80461
  * @license lucide-react v0.528.0 - ISC
@@ -80398,13 +80465,13 @@ const Building2 = createLucideIcon("building-2", __iconNode$2b);
80398
80465
  */
80399
80466
 
80400
80467
 
80401
- const __iconNode$2a = [
80468
+ const __iconNode$2b = [
80402
80469
  ["path", { d: "M8 2v4", key: "1cmpym" }],
80403
80470
  ["path", { d: "M16 2v4", key: "4m81vk" }],
80404
80471
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
80405
80472
  ["path", { d: "M3 10h18", key: "8toen8" }]
80406
80473
  ];
80407
- const Calendar$1 = createLucideIcon("calendar", __iconNode$2a);
80474
+ const Calendar$1 = createLucideIcon("calendar", __iconNode$2b);
80408
80475
 
80409
80476
  /**
80410
80477
  * @license lucide-react v0.528.0 - ISC
@@ -80414,7 +80481,7 @@ const Calendar$1 = createLucideIcon("calendar", __iconNode$2a);
80414
80481
  */
80415
80482
 
80416
80483
 
80417
- const __iconNode$29 = [
80484
+ const __iconNode$2a = [
80418
80485
  [
80419
80486
  "path",
80420
80487
  {
@@ -80424,7 +80491,7 @@ const __iconNode$29 = [
80424
80491
  ],
80425
80492
  ["circle", { cx: "12", cy: "13", r: "3", key: "1vg3eu" }]
80426
80493
  ];
80427
- const Camera = createLucideIcon("camera", __iconNode$29);
80494
+ const Camera = createLucideIcon("camera", __iconNode$2a);
80428
80495
 
80429
80496
  /**
80430
80497
  * @license lucide-react v0.528.0 - ISC
@@ -80434,11 +80501,11 @@ const Camera = createLucideIcon("camera", __iconNode$29);
80434
80501
  */
80435
80502
 
80436
80503
 
80437
- const __iconNode$28 = [
80504
+ const __iconNode$29 = [
80438
80505
  ["path", { d: "M18 6 7 17l-5-5", key: "116fxf" }],
80439
80506
  ["path", { d: "m22 10-7.5 7.5L13 16", key: "ke71qq" }]
80440
80507
  ];
80441
- const CheckCheck = createLucideIcon("check-check", __iconNode$28);
80508
+ const CheckCheck = createLucideIcon("check-check", __iconNode$29);
80442
80509
 
80443
80510
  /**
80444
80511
  * @license lucide-react v0.528.0 - ISC
@@ -80448,8 +80515,8 @@ const CheckCheck = createLucideIcon("check-check", __iconNode$28);
80448
80515
  */
80449
80516
 
80450
80517
 
80451
- const __iconNode$27 = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
80452
- const Check = createLucideIcon("check", __iconNode$27);
80518
+ const __iconNode$28 = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
80519
+ const Check = createLucideIcon("check", __iconNode$28);
80453
80520
 
80454
80521
  /**
80455
80522
  * @license lucide-react v0.528.0 - ISC
@@ -80459,8 +80526,8 @@ const Check = createLucideIcon("check", __iconNode$27);
80459
80526
  */
80460
80527
 
80461
80528
 
80462
- const __iconNode$26 = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
80463
- const ChevronDown = createLucideIcon("chevron-down", __iconNode$26);
80529
+ const __iconNode$27 = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
80530
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$27);
80464
80531
 
80465
80532
  /**
80466
80533
  * @license lucide-react v0.528.0 - ISC
@@ -80470,11 +80537,11 @@ const ChevronDown = createLucideIcon("chevron-down", __iconNode$26);
80470
80537
  */
80471
80538
 
80472
80539
 
80473
- const __iconNode$25 = [
80540
+ const __iconNode$26 = [
80474
80541
  ["path", { d: "m17 18-6-6 6-6", key: "1yerx2" }],
80475
80542
  ["path", { d: "M7 6v12", key: "1p53r6" }]
80476
80543
  ];
80477
- const ChevronFirst = createLucideIcon("chevron-first", __iconNode$25);
80544
+ const ChevronFirst = createLucideIcon("chevron-first", __iconNode$26);
80478
80545
 
80479
80546
  /**
80480
80547
  * @license lucide-react v0.528.0 - ISC
@@ -80484,11 +80551,11 @@ const ChevronFirst = createLucideIcon("chevron-first", __iconNode$25);
80484
80551
  */
80485
80552
 
80486
80553
 
80487
- const __iconNode$24 = [
80554
+ const __iconNode$25 = [
80488
80555
  ["path", { d: "m7 18 6-6-6-6", key: "lwmzdw" }],
80489
80556
  ["path", { d: "M17 6v12", key: "1o0aio" }]
80490
80557
  ];
80491
- const ChevronLast = createLucideIcon("chevron-last", __iconNode$24);
80558
+ const ChevronLast = createLucideIcon("chevron-last", __iconNode$25);
80492
80559
 
80493
80560
  /**
80494
80561
  * @license lucide-react v0.528.0 - ISC
@@ -80498,8 +80565,8 @@ const ChevronLast = createLucideIcon("chevron-last", __iconNode$24);
80498
80565
  */
80499
80566
 
80500
80567
 
80501
- const __iconNode$23 = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
80502
- const ChevronLeft = createLucideIcon("chevron-left", __iconNode$23);
80568
+ const __iconNode$24 = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
80569
+ const ChevronLeft = createLucideIcon("chevron-left", __iconNode$24);
80503
80570
 
80504
80571
  /**
80505
80572
  * @license lucide-react v0.528.0 - ISC
@@ -80509,8 +80576,8 @@ const ChevronLeft = createLucideIcon("chevron-left", __iconNode$23);
80509
80576
  */
80510
80577
 
80511
80578
 
80512
- const __iconNode$22 = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
80513
- const ChevronRight = createLucideIcon("chevron-right", __iconNode$22);
80579
+ const __iconNode$23 = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
80580
+ const ChevronRight = createLucideIcon("chevron-right", __iconNode$23);
80514
80581
 
80515
80582
  /**
80516
80583
  * @license lucide-react v0.528.0 - ISC
@@ -80520,8 +80587,8 @@ const ChevronRight = createLucideIcon("chevron-right", __iconNode$22);
80520
80587
  */
80521
80588
 
80522
80589
 
80523
- const __iconNode$21 = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
80524
- const ChevronUp = createLucideIcon("chevron-up", __iconNode$21);
80590
+ const __iconNode$22 = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
80591
+ const ChevronUp = createLucideIcon("chevron-up", __iconNode$22);
80525
80592
 
80526
80593
  /**
80527
80594
  * @license lucide-react v0.528.0 - ISC
@@ -80531,11 +80598,11 @@ const ChevronUp = createLucideIcon("chevron-up", __iconNode$21);
80531
80598
  */
80532
80599
 
80533
80600
 
80534
- const __iconNode$20 = [
80601
+ const __iconNode$21 = [
80535
80602
  ["path", { d: "m11 17-5-5 5-5", key: "13zhaf" }],
80536
80603
  ["path", { d: "m18 17-5-5 5-5", key: "h8a8et" }]
80537
80604
  ];
80538
- const ChevronsLeft = createLucideIcon("chevrons-left", __iconNode$20);
80605
+ const ChevronsLeft = createLucideIcon("chevrons-left", __iconNode$21);
80539
80606
 
80540
80607
  /**
80541
80608
  * @license lucide-react v0.528.0 - ISC
@@ -80545,11 +80612,11 @@ const ChevronsLeft = createLucideIcon("chevrons-left", __iconNode$20);
80545
80612
  */
80546
80613
 
80547
80614
 
80548
- const __iconNode$1$ = [
80615
+ const __iconNode$20 = [
80549
80616
  ["path", { d: "m6 17 5-5-5-5", key: "xnjwq" }],
80550
80617
  ["path", { d: "m13 17 5-5-5-5", key: "17xmmf" }]
80551
80618
  ];
80552
- const ChevronsRight = createLucideIcon("chevrons-right", __iconNode$1$);
80619
+ const ChevronsRight = createLucideIcon("chevrons-right", __iconNode$20);
80553
80620
 
80554
80621
  /**
80555
80622
  * @license lucide-react v0.528.0 - ISC
@@ -80559,11 +80626,11 @@ const ChevronsRight = createLucideIcon("chevrons-right", __iconNode$1$);
80559
80626
  */
80560
80627
 
80561
80628
 
80562
- const __iconNode$1_ = [
80629
+ const __iconNode$1$ = [
80563
80630
  ["path", { d: "m7 15 5 5 5-5", key: "1hf1tw" }],
80564
80631
  ["path", { d: "m7 9 5-5 5 5", key: "sgt6xg" }]
80565
80632
  ];
80566
- const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$1_);
80633
+ const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$1$);
80567
80634
 
80568
80635
  /**
80569
80636
  * @license lucide-react v0.528.0 - ISC
@@ -80573,12 +80640,12 @@ const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$1_);
80573
80640
  */
80574
80641
 
80575
80642
 
80576
- const __iconNode$1Z = [
80643
+ const __iconNode$1_ = [
80577
80644
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
80578
80645
  ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
80579
80646
  ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
80580
80647
  ];
80581
- const CircleAlert = createLucideIcon("circle-alert", __iconNode$1Z);
80648
+ const CircleAlert = createLucideIcon("circle-alert", __iconNode$1_);
80582
80649
 
80583
80650
  /**
80584
80651
  * @license lucide-react v0.528.0 - ISC
@@ -80588,11 +80655,11 @@ const CircleAlert = createLucideIcon("circle-alert", __iconNode$1Z);
80588
80655
  */
80589
80656
 
80590
80657
 
80591
- const __iconNode$1Y = [
80658
+ const __iconNode$1Z = [
80592
80659
  ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
80593
80660
  ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
80594
80661
  ];
80595
- const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$1Y);
80662
+ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$1Z);
80596
80663
 
80597
80664
  /**
80598
80665
  * @license lucide-react v0.528.0 - ISC
@@ -80602,11 +80669,11 @@ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$1Y);
80602
80669
  */
80603
80670
 
80604
80671
 
80605
- const __iconNode$1X = [
80672
+ const __iconNode$1Y = [
80606
80673
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
80607
80674
  ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
80608
80675
  ];
80609
- const CircleCheck = createLucideIcon("circle-check", __iconNode$1X);
80676
+ const CircleCheck = createLucideIcon("circle-check", __iconNode$1Y);
80610
80677
 
80611
80678
  /**
80612
80679
  * @license lucide-react v0.528.0 - ISC
@@ -80616,11 +80683,11 @@ const CircleCheck = createLucideIcon("circle-check", __iconNode$1X);
80616
80683
  */
80617
80684
 
80618
80685
 
80619
- const __iconNode$1W = [
80686
+ const __iconNode$1X = [
80620
80687
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
80621
80688
  ["path", { d: "M8 12h8", key: "1wcyev" }]
80622
80689
  ];
80623
- const CircleMinus$1 = createLucideIcon("circle-minus", __iconNode$1W);
80690
+ const CircleMinus$1 = createLucideIcon("circle-minus", __iconNode$1X);
80624
80691
 
80625
80692
  /**
80626
80693
  * @license lucide-react v0.528.0 - ISC
@@ -80630,11 +80697,11 @@ const CircleMinus$1 = createLucideIcon("circle-minus", __iconNode$1W);
80630
80697
  */
80631
80698
 
80632
80699
 
80633
- const __iconNode$1V = [
80700
+ const __iconNode$1W = [
80634
80701
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
80635
80702
  ["rect", { x: "9", y: "9", width: "6", height: "6", rx: "1", key: "1ssd4o" }]
80636
80703
  ];
80637
- const CircleStop = createLucideIcon("circle-stop", __iconNode$1V);
80704
+ const CircleStop = createLucideIcon("circle-stop", __iconNode$1W);
80638
80705
 
80639
80706
  /**
80640
80707
  * @license lucide-react v0.528.0 - ISC
@@ -80644,12 +80711,12 @@ const CircleStop = createLucideIcon("circle-stop", __iconNode$1V);
80644
80711
  */
80645
80712
 
80646
80713
 
80647
- const __iconNode$1U = [
80714
+ const __iconNode$1V = [
80648
80715
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
80649
80716
  ["path", { d: "m15 9-6 6", key: "1uzhvr" }],
80650
80717
  ["path", { d: "m9 9 6 6", key: "z0biqf" }]
80651
80718
  ];
80652
- const CircleX = createLucideIcon("circle-x", __iconNode$1U);
80719
+ const CircleX = createLucideIcon("circle-x", __iconNode$1V);
80653
80720
 
80654
80721
  /**
80655
80722
  * @license lucide-react v0.528.0 - ISC
@@ -80659,8 +80726,8 @@ const CircleX = createLucideIcon("circle-x", __iconNode$1U);
80659
80726
  */
80660
80727
 
80661
80728
 
80662
- const __iconNode$1T = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
80663
- const Circle = createLucideIcon("circle", __iconNode$1T);
80729
+ const __iconNode$1U = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
80730
+ const Circle = createLucideIcon("circle", __iconNode$1U);
80664
80731
 
80665
80732
  /**
80666
80733
  * @license lucide-react v0.528.0 - ISC
@@ -80670,7 +80737,7 @@ const Circle = createLucideIcon("circle", __iconNode$1T);
80670
80737
  */
80671
80738
 
80672
80739
 
80673
- const __iconNode$1S = [
80740
+ const __iconNode$1T = [
80674
80741
  ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
80675
80742
  [
80676
80743
  "path",
@@ -80684,7 +80751,7 @@ const __iconNode$1S = [
80684
80751
  ["path", { d: "M8 11h.01", key: "1dfujw" }],
80685
80752
  ["path", { d: "M8 16h.01", key: "18s6g9" }]
80686
80753
  ];
80687
- const ClipboardList = createLucideIcon("clipboard-list", __iconNode$1S);
80754
+ const ClipboardList = createLucideIcon("clipboard-list", __iconNode$1T);
80688
80755
 
80689
80756
  /**
80690
80757
  * @license lucide-react v0.528.0 - ISC
@@ -80694,11 +80761,11 @@ const ClipboardList = createLucideIcon("clipboard-list", __iconNode$1S);
80694
80761
  */
80695
80762
 
80696
80763
 
80697
- const __iconNode$1R = [
80764
+ const __iconNode$1S = [
80698
80765
  ["path", { d: "M12 6v6l4 2", key: "mmk7yg" }],
80699
80766
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
80700
80767
  ];
80701
- const Clock = createLucideIcon("clock", __iconNode$1R);
80768
+ const Clock = createLucideIcon("clock", __iconNode$1S);
80702
80769
 
80703
80770
  /**
80704
80771
  * @license lucide-react v0.528.0 - ISC
@@ -80708,12 +80775,12 @@ const Clock = createLucideIcon("clock", __iconNode$1R);
80708
80775
  */
80709
80776
 
80710
80777
 
80711
- const __iconNode$1Q = [
80778
+ const __iconNode$1R = [
80712
80779
  ["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
80713
80780
  ["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
80714
80781
  ["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
80715
80782
  ];
80716
- const CodeXml = createLucideIcon("code-xml", __iconNode$1Q);
80783
+ const CodeXml = createLucideIcon("code-xml", __iconNode$1R);
80717
80784
 
80718
80785
  /**
80719
80786
  * @license lucide-react v0.528.0 - ISC
@@ -80723,11 +80790,11 @@ const CodeXml = createLucideIcon("code-xml", __iconNode$1Q);
80723
80790
  */
80724
80791
 
80725
80792
 
80726
- const __iconNode$1P = [
80793
+ const __iconNode$1Q = [
80727
80794
  ["path", { d: "m16 18 6-6-6-6", key: "eg8j8" }],
80728
80795
  ["path", { d: "m8 6-6 6 6 6", key: "ppft3o" }]
80729
80796
  ];
80730
- const Code$1 = createLucideIcon("code", __iconNode$1P);
80797
+ const Code$1 = createLucideIcon("code", __iconNode$1Q);
80731
80798
 
80732
80799
  /**
80733
80800
  * @license lucide-react v0.528.0 - ISC
@@ -80737,11 +80804,11 @@ const Code$1 = createLucideIcon("code", __iconNode$1P);
80737
80804
  */
80738
80805
 
80739
80806
 
80740
- const __iconNode$1O = [
80807
+ const __iconNode$1P = [
80741
80808
  ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
80742
80809
  ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
80743
80810
  ];
80744
- const Copy = createLucideIcon("copy", __iconNode$1O);
80811
+ const Copy = createLucideIcon("copy", __iconNode$1P);
80745
80812
 
80746
80813
  /**
80747
80814
  * @license lucide-react v0.528.0 - ISC
@@ -80751,11 +80818,11 @@ const Copy = createLucideIcon("copy", __iconNode$1O);
80751
80818
  */
80752
80819
 
80753
80820
 
80754
- const __iconNode$1N = [
80821
+ const __iconNode$1O = [
80755
80822
  ["rect", { width: "20", height: "14", x: "2", y: "5", rx: "2", key: "ynyp8z" }],
80756
80823
  ["line", { x1: "2", x2: "22", y1: "10", y2: "10", key: "1b3vmo" }]
80757
80824
  ];
80758
- const CreditCard = createLucideIcon("credit-card", __iconNode$1N);
80825
+ const CreditCard = createLucideIcon("credit-card", __iconNode$1O);
80759
80826
 
80760
80827
  /**
80761
80828
  * @license lucide-react v0.528.0 - ISC
@@ -80765,12 +80832,12 @@ const CreditCard = createLucideIcon("credit-card", __iconNode$1N);
80765
80832
  */
80766
80833
 
80767
80834
 
80768
- const __iconNode$1M = [
80835
+ const __iconNode$1N = [
80769
80836
  ["ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", key: "msslwz" }],
80770
80837
  ["path", { d: "M3 5V19A9 3 0 0 0 21 19V5", key: "1wlel7" }],
80771
80838
  ["path", { d: "M3 12A9 3 0 0 0 21 12", key: "mv7ke4" }]
80772
80839
  ];
80773
- const Database = createLucideIcon("database", __iconNode$1M);
80840
+ const Database = createLucideIcon("database", __iconNode$1N);
80774
80841
 
80775
80842
  /**
80776
80843
  * @license lucide-react v0.528.0 - ISC
@@ -80780,11 +80847,11 @@ const Database = createLucideIcon("database", __iconNode$1M);
80780
80847
  */
80781
80848
 
80782
80849
 
80783
- const __iconNode$1L = [
80850
+ const __iconNode$1M = [
80784
80851
  ["line", { x1: "12", x2: "12", y1: "2", y2: "22", key: "7eqyqh" }],
80785
80852
  ["path", { d: "M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6", key: "1b0p4s" }]
80786
80853
  ];
80787
- const DollarSign = createLucideIcon("dollar-sign", __iconNode$1L);
80854
+ const DollarSign = createLucideIcon("dollar-sign", __iconNode$1M);
80788
80855
 
80789
80856
  /**
80790
80857
  * @license lucide-react v0.528.0 - ISC
@@ -80794,7 +80861,7 @@ const DollarSign = createLucideIcon("dollar-sign", __iconNode$1L);
80794
80861
  */
80795
80862
 
80796
80863
 
80797
- const __iconNode$1K = [
80864
+ const __iconNode$1L = [
80798
80865
  ["path", { d: "M11 20H2", key: "nlcfvz" }],
80799
80866
  [
80800
80867
  "path",
@@ -80807,7 +80874,7 @@ const __iconNode$1K = [
80807
80874
  ["path", { d: "M14 12h.01", key: "1jfl7z" }],
80808
80875
  ["path", { d: "M22 20h-3", key: "vhrsz" }]
80809
80876
  ];
80810
- const DoorOpen = createLucideIcon("door-open", __iconNode$1K);
80877
+ const DoorOpen = createLucideIcon("door-open", __iconNode$1L);
80811
80878
 
80812
80879
  /**
80813
80880
  * @license lucide-react v0.528.0 - ISC
@@ -80817,12 +80884,12 @@ const DoorOpen = createLucideIcon("door-open", __iconNode$1K);
80817
80884
  */
80818
80885
 
80819
80886
 
80820
- const __iconNode$1J = [
80887
+ const __iconNode$1K = [
80821
80888
  ["path", { d: "M12 15V3", key: "m9g1x1" }],
80822
80889
  ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
80823
80890
  ["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
80824
80891
  ];
80825
- const Download = createLucideIcon("download", __iconNode$1J);
80892
+ const Download = createLucideIcon("download", __iconNode$1K);
80826
80893
 
80827
80894
  /**
80828
80895
  * @license lucide-react v0.528.0 - ISC
@@ -80832,12 +80899,12 @@ const Download = createLucideIcon("download", __iconNode$1J);
80832
80899
  */
80833
80900
 
80834
80901
 
80835
- const __iconNode$1I = [
80902
+ const __iconNode$1J = [
80836
80903
  ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
80837
80904
  ["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
80838
80905
  ["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
80839
80906
  ];
80840
- const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$1I);
80907
+ const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$1J);
80841
80908
 
80842
80909
  /**
80843
80910
  * @license lucide-react v0.528.0 - ISC
@@ -80847,12 +80914,12 @@ const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$1I);
80847
80914
  */
80848
80915
 
80849
80916
 
80850
- const __iconNode$1H = [
80917
+ const __iconNode$1I = [
80851
80918
  ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
80852
80919
  ["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
80853
80920
  ["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
80854
80921
  ];
80855
- const Ellipsis = createLucideIcon("ellipsis", __iconNode$1H);
80922
+ const Ellipsis = createLucideIcon("ellipsis", __iconNode$1I);
80856
80923
 
80857
80924
  /**
80858
80925
  * @license lucide-react v0.528.0 - ISC
@@ -80862,12 +80929,12 @@ const Ellipsis = createLucideIcon("ellipsis", __iconNode$1H);
80862
80929
  */
80863
80930
 
80864
80931
 
80865
- const __iconNode$1G = [
80932
+ const __iconNode$1H = [
80866
80933
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
80867
80934
  ["path", { d: "M10 14 21 3", key: "gplh6r" }],
80868
80935
  ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
80869
80936
  ];
80870
- const ExternalLink = createLucideIcon("external-link", __iconNode$1G);
80937
+ const ExternalLink = createLucideIcon("external-link", __iconNode$1H);
80871
80938
 
80872
80939
  /**
80873
80940
  * @license lucide-react v0.528.0 - ISC
@@ -80877,7 +80944,7 @@ const ExternalLink = createLucideIcon("external-link", __iconNode$1G);
80877
80944
  */
80878
80945
 
80879
80946
 
80880
- const __iconNode$1F = [
80947
+ const __iconNode$1G = [
80881
80948
  [
80882
80949
  "path",
80883
80950
  {
@@ -80895,7 +80962,7 @@ const __iconNode$1F = [
80895
80962
  ],
80896
80963
  ["path", { d: "m2 2 20 20", key: "1ooewy" }]
80897
80964
  ];
80898
- const EyeOff = createLucideIcon("eye-off", __iconNode$1F);
80965
+ const EyeOff = createLucideIcon("eye-off", __iconNode$1G);
80899
80966
 
80900
80967
  /**
80901
80968
  * @license lucide-react v0.528.0 - ISC
@@ -80905,7 +80972,7 @@ const EyeOff = createLucideIcon("eye-off", __iconNode$1F);
80905
80972
  */
80906
80973
 
80907
80974
 
80908
- const __iconNode$1E = [
80975
+ const __iconNode$1F = [
80909
80976
  [
80910
80977
  "path",
80911
80978
  {
@@ -80915,7 +80982,7 @@ const __iconNode$1E = [
80915
80982
  ],
80916
80983
  ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
80917
80984
  ];
80918
- const Eye = createLucideIcon("eye", __iconNode$1E);
80985
+ const Eye = createLucideIcon("eye", __iconNode$1F);
80919
80986
 
80920
80987
  /**
80921
80988
  * @license lucide-react v0.528.0 - ISC
@@ -80925,7 +80992,7 @@ const Eye = createLucideIcon("eye", __iconNode$1E);
80925
80992
  */
80926
80993
 
80927
80994
 
80928
- const __iconNode$1D = [
80995
+ const __iconNode$1E = [
80929
80996
  ["path", { d: "M10 12v-1", key: "v7bkov" }],
80930
80997
  ["path", { d: "M10 18v-2", key: "1cjy8d" }],
80931
80998
  ["path", { d: "M10 7V6", key: "dljcrl" }],
@@ -80936,7 +81003,7 @@ const __iconNode$1D = [
80936
81003
  ],
80937
81004
  ["circle", { cx: "10", cy: "20", r: "2", key: "1xzdoj" }]
80938
81005
  ];
80939
- const FileArchive = createLucideIcon("file-archive", __iconNode$1D);
81006
+ const FileArchive = createLucideIcon("file-archive", __iconNode$1E);
80940
81007
 
80941
81008
  /**
80942
81009
  * @license lucide-react v0.528.0 - ISC
@@ -80946,7 +81013,7 @@ const FileArchive = createLucideIcon("file-archive", __iconNode$1D);
80946
81013
  */
80947
81014
 
80948
81015
 
80949
- const __iconNode$1C = [
81016
+ const __iconNode$1D = [
80950
81017
  ["path", { d: "M17.5 22h.5a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3", key: "rslqgf" }],
80951
81018
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
80952
81019
  [
@@ -80957,7 +81024,7 @@ const __iconNode$1C = [
80957
81024
  }
80958
81025
  ]
80959
81026
  ];
80960
- const FileAudio = createLucideIcon("file-audio", __iconNode$1C);
81027
+ const FileAudio = createLucideIcon("file-audio", __iconNode$1D);
80961
81028
 
80962
81029
  /**
80963
81030
  * @license lucide-react v0.528.0 - ISC
@@ -80967,13 +81034,13 @@ const FileAudio = createLucideIcon("file-audio", __iconNode$1C);
80967
81034
  */
80968
81035
 
80969
81036
 
80970
- const __iconNode$1B = [
81037
+ const __iconNode$1C = [
80971
81038
  ["path", { d: "M10 12.5 8 15l2 2.5", key: "1tg20x" }],
80972
81039
  ["path", { d: "m14 12.5 2 2.5-2 2.5", key: "yinavb" }],
80973
81040
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
80974
81041
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }]
80975
81042
  ];
80976
- const FileCode = createLucideIcon("file-code", __iconNode$1B);
81043
+ const FileCode = createLucideIcon("file-code", __iconNode$1C);
80977
81044
 
80978
81045
  /**
80979
81046
  * @license lucide-react v0.528.0 - ISC
@@ -80983,13 +81050,13 @@ const FileCode = createLucideIcon("file-code", __iconNode$1B);
80983
81050
  */
80984
81051
 
80985
81052
 
80986
- const __iconNode$1A = [
81053
+ const __iconNode$1B = [
80987
81054
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
80988
81055
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
80989
81056
  ["path", { d: "M12 18v-6", key: "17g6i2" }],
80990
81057
  ["path", { d: "m9 15 3 3 3-3", key: "1npd3o" }]
80991
81058
  ];
80992
- const FileDown = createLucideIcon("file-down", __iconNode$1A);
81059
+ const FileDown = createLucideIcon("file-down", __iconNode$1B);
80993
81060
 
80994
81061
  /**
80995
81062
  * @license lucide-react v0.528.0 - ISC
@@ -80999,13 +81066,13 @@ const FileDown = createLucideIcon("file-down", __iconNode$1A);
80999
81066
  */
81000
81067
 
81001
81068
 
81002
- const __iconNode$1z = [
81069
+ const __iconNode$1A = [
81003
81070
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
81004
81071
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
81005
81072
  ["circle", { cx: "10", cy: "12", r: "2", key: "737tya" }],
81006
81073
  ["path", { d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22", key: "wt3hpn" }]
81007
81074
  ];
81008
- const FileImage = createLucideIcon("file-image", __iconNode$1z);
81075
+ const FileImage = createLucideIcon("file-image", __iconNode$1A);
81009
81076
 
81010
81077
  /**
81011
81078
  * @license lucide-react v0.528.0 - ISC
@@ -81015,7 +81082,7 @@ const FileImage = createLucideIcon("file-image", __iconNode$1z);
81015
81082
  */
81016
81083
 
81017
81084
 
81018
- const __iconNode$1y = [
81085
+ const __iconNode$1z = [
81019
81086
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
81020
81087
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }],
81021
81088
  [
@@ -81026,7 +81093,7 @@ const __iconNode$1y = [
81026
81093
  }
81027
81094
  ]
81028
81095
  ];
81029
- const FilePlay = createLucideIcon("file-play", __iconNode$1y);
81096
+ const FilePlay = createLucideIcon("file-play", __iconNode$1z);
81030
81097
 
81031
81098
  /**
81032
81099
  * @license lucide-react v0.528.0 - ISC
@@ -81036,7 +81103,7 @@ const FilePlay = createLucideIcon("file-play", __iconNode$1y);
81036
81103
  */
81037
81104
 
81038
81105
 
81039
- const __iconNode$1x = [
81106
+ const __iconNode$1y = [
81040
81107
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
81041
81108
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
81042
81109
  ["path", { d: "M8 13h2", key: "yr2amv" }],
@@ -81044,7 +81111,7 @@ const __iconNode$1x = [
81044
81111
  ["path", { d: "M8 17h2", key: "2yhykz" }],
81045
81112
  ["path", { d: "M14 17h2", key: "10kma7" }]
81046
81113
  ];
81047
- const FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode$1x);
81114
+ const FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode$1y);
81048
81115
 
81049
81116
  /**
81050
81117
  * @license lucide-react v0.528.0 - ISC
@@ -81054,14 +81121,14 @@ const FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode$1x);
81054
81121
  */
81055
81122
 
81056
81123
 
81057
- const __iconNode$1w = [
81124
+ const __iconNode$1x = [
81058
81125
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
81059
81126
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
81060
81127
  ["path", { d: "M10 9H8", key: "b1mrlr" }],
81061
81128
  ["path", { d: "M16 13H8", key: "t4e002" }],
81062
81129
  ["path", { d: "M16 17H8", key: "z1uh3a" }]
81063
81130
  ];
81064
- const FileText = createLucideIcon("file-text", __iconNode$1w);
81131
+ const FileText = createLucideIcon("file-text", __iconNode$1x);
81065
81132
 
81066
81133
  /**
81067
81134
  * @license lucide-react v0.528.0 - ISC
@@ -81071,11 +81138,11 @@ const FileText = createLucideIcon("file-text", __iconNode$1w);
81071
81138
  */
81072
81139
 
81073
81140
 
81074
- const __iconNode$1v = [
81141
+ const __iconNode$1w = [
81075
81142
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
81076
81143
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }]
81077
81144
  ];
81078
- const File$1 = createLucideIcon("file", __iconNode$1v);
81145
+ const File$1 = createLucideIcon("file", __iconNode$1w);
81079
81146
 
81080
81147
  /**
81081
81148
  * @license lucide-react v0.528.0 - ISC
@@ -81085,7 +81152,7 @@ const File$1 = createLucideIcon("file", __iconNode$1v);
81085
81152
  */
81086
81153
 
81087
81154
 
81088
- const __iconNode$1u = [
81155
+ const __iconNode$1v = [
81089
81156
  [
81090
81157
  "path",
81091
81158
  {
@@ -81103,7 +81170,7 @@ const __iconNode$1u = [
81103
81170
  ["path", { d: "M3 5a2 2 0 0 0 2 2h3", key: "f2jnh7" }],
81104
81171
  ["path", { d: "M3 3v13a2 2 0 0 0 2 2h3", key: "k8epm1" }]
81105
81172
  ];
81106
- const FolderTree = createLucideIcon("folder-tree", __iconNode$1u);
81173
+ const FolderTree = createLucideIcon("folder-tree", __iconNode$1v);
81107
81174
 
81108
81175
  /**
81109
81176
  * @license lucide-react v0.528.0 - ISC
@@ -81113,11 +81180,11 @@ const FolderTree = createLucideIcon("folder-tree", __iconNode$1u);
81113
81180
  */
81114
81181
 
81115
81182
 
81116
- const __iconNode$1t = [
81183
+ const __iconNode$1u = [
81117
81184
  ["path", { d: "m12 14 4-4", key: "9kzdfg" }],
81118
81185
  ["path", { d: "M3.34 19a10 10 0 1 1 17.32 0", key: "19p75a" }]
81119
81186
  ];
81120
- const Gauge = createLucideIcon("gauge", __iconNode$1t);
81187
+ const Gauge = createLucideIcon("gauge", __iconNode$1u);
81121
81188
 
81122
81189
  /**
81123
81190
  * @license lucide-react v0.528.0 - ISC
@@ -81127,14 +81194,14 @@ const Gauge = createLucideIcon("gauge", __iconNode$1t);
81127
81194
  */
81128
81195
 
81129
81196
 
81130
- const __iconNode$1s = [
81197
+ const __iconNode$1t = [
81131
81198
  ["path", { d: "m14.5 12.5-8 8a2.119 2.119 0 1 1-3-3l8-8", key: "15492f" }],
81132
81199
  ["path", { d: "m16 16 6-6", key: "vzrcl6" }],
81133
81200
  ["path", { d: "m8 8 6-6", key: "18bi4p" }],
81134
81201
  ["path", { d: "m9 7 8 8", key: "5jnvq1" }],
81135
81202
  ["path", { d: "m21 11-8-8", key: "z4y7zo" }]
81136
81203
  ];
81137
- const Gavel = createLucideIcon("gavel", __iconNode$1s);
81204
+ const Gavel = createLucideIcon("gavel", __iconNode$1t);
81138
81205
 
81139
81206
  /**
81140
81207
  * @license lucide-react v0.528.0 - ISC
@@ -81144,13 +81211,13 @@ const Gavel = createLucideIcon("gavel", __iconNode$1s);
81144
81211
  */
81145
81212
 
81146
81213
 
81147
- const __iconNode$1r = [
81214
+ const __iconNode$1s = [
81148
81215
  ["line", { x1: "6", x2: "6", y1: "3", y2: "15", key: "17qcm7" }],
81149
81216
  ["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }],
81150
81217
  ["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }],
81151
81218
  ["path", { d: "M18 9a9 9 0 0 1-9 9", key: "n2h4wq" }]
81152
81219
  ];
81153
- const GitBranch = createLucideIcon("git-branch", __iconNode$1r);
81220
+ const GitBranch = createLucideIcon("git-branch", __iconNode$1s);
81154
81221
 
81155
81222
  /**
81156
81223
  * @license lucide-react v0.528.0 - ISC
@@ -81160,12 +81227,12 @@ const GitBranch = createLucideIcon("git-branch", __iconNode$1r);
81160
81227
  */
81161
81228
 
81162
81229
 
81163
- const __iconNode$1q = [
81230
+ const __iconNode$1r = [
81164
81231
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
81165
81232
  ["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }],
81166
81233
  ["path", { d: "M2 12h20", key: "9i4pu4" }]
81167
81234
  ];
81168
- const Globe = createLucideIcon("globe", __iconNode$1q);
81235
+ const Globe = createLucideIcon("globe", __iconNode$1r);
81169
81236
 
81170
81237
  /**
81171
81238
  * @license lucide-react v0.528.0 - ISC
@@ -81175,7 +81242,7 @@ const Globe = createLucideIcon("globe", __iconNode$1q);
81175
81242
  */
81176
81243
 
81177
81244
 
81178
- const __iconNode$1p = [
81245
+ const __iconNode$1q = [
81179
81246
  [
81180
81247
  "path",
81181
81248
  {
@@ -81186,7 +81253,7 @@ const __iconNode$1p = [
81186
81253
  ["path", { d: "M22 10v6", key: "1lu8f3" }],
81187
81254
  ["path", { d: "M6 12.5V16a6 3 0 0 0 12 0v-3.5", key: "1r8lef" }]
81188
81255
  ];
81189
- const GraduationCap = createLucideIcon("graduation-cap", __iconNode$1p);
81256
+ const GraduationCap = createLucideIcon("graduation-cap", __iconNode$1q);
81190
81257
 
81191
81258
  /**
81192
81259
  * @license lucide-react v0.528.0 - ISC
@@ -81196,7 +81263,7 @@ const GraduationCap = createLucideIcon("graduation-cap", __iconNode$1p);
81196
81263
  */
81197
81264
 
81198
81265
 
81199
- const __iconNode$1o = [
81266
+ const __iconNode$1p = [
81200
81267
  ["path", { d: "M14 18a2 2 0 0 0-4 0", key: "1v8fkw" }],
81201
81268
  [
81202
81269
  "path",
@@ -81209,7 +81276,7 @@ const __iconNode$1o = [
81209
81276
  ["circle", { cx: "17", cy: "18", r: "3", key: "82mm0e" }],
81210
81277
  ["circle", { cx: "7", cy: "18", r: "3", key: "lvkj7j" }]
81211
81278
  ];
81212
- const HatGlasses = createLucideIcon("hat-glasses", __iconNode$1o);
81279
+ const HatGlasses = createLucideIcon("hat-glasses", __iconNode$1p);
81213
81280
 
81214
81281
  /**
81215
81282
  * @license lucide-react v0.528.0 - ISC
@@ -81219,13 +81286,13 @@ const HatGlasses = createLucideIcon("hat-glasses", __iconNode$1o);
81219
81286
  */
81220
81287
 
81221
81288
 
81222
- const __iconNode$1n = [
81289
+ const __iconNode$1o = [
81223
81290
  ["path", { d: "M4 12h8", key: "17cfdx" }],
81224
81291
  ["path", { d: "M4 18V6", key: "1rz3zl" }],
81225
81292
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
81226
81293
  ["path", { d: "m17 12 3-2v8", key: "1hhhft" }]
81227
81294
  ];
81228
- const Heading1 = createLucideIcon("heading-1", __iconNode$1n);
81295
+ const Heading1 = createLucideIcon("heading-1", __iconNode$1o);
81229
81296
 
81230
81297
  /**
81231
81298
  * @license lucide-react v0.528.0 - ISC
@@ -81235,13 +81302,13 @@ const Heading1 = createLucideIcon("heading-1", __iconNode$1n);
81235
81302
  */
81236
81303
 
81237
81304
 
81238
- const __iconNode$1m = [
81305
+ const __iconNode$1n = [
81239
81306
  ["path", { d: "M4 12h8", key: "17cfdx" }],
81240
81307
  ["path", { d: "M4 18V6", key: "1rz3zl" }],
81241
81308
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
81242
81309
  ["path", { d: "M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1", key: "9jr5yi" }]
81243
81310
  ];
81244
- const Heading2 = createLucideIcon("heading-2", __iconNode$1m);
81311
+ const Heading2 = createLucideIcon("heading-2", __iconNode$1n);
81245
81312
 
81246
81313
  /**
81247
81314
  * @license lucide-react v0.528.0 - ISC
@@ -81251,14 +81318,14 @@ const Heading2 = createLucideIcon("heading-2", __iconNode$1m);
81251
81318
  */
81252
81319
 
81253
81320
 
81254
- const __iconNode$1l = [
81321
+ const __iconNode$1m = [
81255
81322
  ["path", { d: "M4 12h8", key: "17cfdx" }],
81256
81323
  ["path", { d: "M4 18V6", key: "1rz3zl" }],
81257
81324
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
81258
81325
  ["path", { d: "M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2", key: "68ncm8" }],
81259
81326
  ["path", { d: "M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2", key: "1ejuhz" }]
81260
81327
  ];
81261
- const Heading3 = createLucideIcon("heading-3", __iconNode$1l);
81328
+ const Heading3 = createLucideIcon("heading-3", __iconNode$1m);
81262
81329
 
81263
81330
  /**
81264
81331
  * @license lucide-react v0.528.0 - ISC
@@ -81268,12 +81335,12 @@ const Heading3 = createLucideIcon("heading-3", __iconNode$1l);
81268
81335
  */
81269
81336
 
81270
81337
 
81271
- const __iconNode$1k = [
81338
+ const __iconNode$1l = [
81272
81339
  ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
81273
81340
  ["path", { d: "M3 3v5h5", key: "1xhq8a" }],
81274
81341
  ["path", { d: "M12 7v5l4 2", key: "1fdv2h" }]
81275
81342
  ];
81276
- const History = createLucideIcon("history", __iconNode$1k);
81343
+ const History = createLucideIcon("history", __iconNode$1l);
81277
81344
 
81278
81345
  /**
81279
81346
  * @license lucide-react v0.528.0 - ISC
@@ -81283,12 +81350,12 @@ const History = createLucideIcon("history", __iconNode$1k);
81283
81350
  */
81284
81351
 
81285
81352
 
81286
- const __iconNode$1j = [
81353
+ const __iconNode$1k = [
81287
81354
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
81288
81355
  ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }],
81289
81356
  ["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }]
81290
81357
  ];
81291
- const Image$3 = createLucideIcon("image", __iconNode$1j);
81358
+ const Image$3 = createLucideIcon("image", __iconNode$1k);
81292
81359
 
81293
81360
  /**
81294
81361
  * @license lucide-react v0.528.0 - ISC
@@ -81298,7 +81365,7 @@ const Image$3 = createLucideIcon("image", __iconNode$1j);
81298
81365
  */
81299
81366
 
81300
81367
 
81301
- const __iconNode$1i = [
81368
+ const __iconNode$1j = [
81302
81369
  ["polyline", { points: "22 12 16 12 14 15 10 15 8 12 2 12", key: "o97t9d" }],
81303
81370
  [
81304
81371
  "path",
@@ -81308,7 +81375,7 @@ const __iconNode$1i = [
81308
81375
  }
81309
81376
  ]
81310
81377
  ];
81311
- const Inbox = createLucideIcon("inbox", __iconNode$1i);
81378
+ const Inbox = createLucideIcon("inbox", __iconNode$1j);
81312
81379
 
81313
81380
  /**
81314
81381
  * @license lucide-react v0.528.0 - ISC
@@ -81318,12 +81385,12 @@ const Inbox = createLucideIcon("inbox", __iconNode$1i);
81318
81385
  */
81319
81386
 
81320
81387
 
81321
- const __iconNode$1h = [
81388
+ const __iconNode$1i = [
81322
81389
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
81323
81390
  ["path", { d: "M12 16v-4", key: "1dtifu" }],
81324
81391
  ["path", { d: "M12 8h.01", key: "e9boi3" }]
81325
81392
  ];
81326
- const Info$3 = createLucideIcon("info", __iconNode$1h);
81393
+ const Info$3 = createLucideIcon("info", __iconNode$1i);
81327
81394
 
81328
81395
  /**
81329
81396
  * @license lucide-react v0.528.0 - ISC
@@ -81333,12 +81400,12 @@ const Info$3 = createLucideIcon("info", __iconNode$1h);
81333
81400
  */
81334
81401
 
81335
81402
 
81336
- const __iconNode$1g = [
81403
+ const __iconNode$1h = [
81337
81404
  ["line", { x1: "19", x2: "10", y1: "4", y2: "4", key: "15jd3p" }],
81338
81405
  ["line", { x1: "14", x2: "5", y1: "20", y2: "20", key: "bu0au3" }],
81339
81406
  ["line", { x1: "15", x2: "9", y1: "4", y2: "20", key: "uljnxc" }]
81340
81407
  ];
81341
- const Italic$1 = createLucideIcon("italic", __iconNode$1g);
81408
+ const Italic$1 = createLucideIcon("italic", __iconNode$1h);
81342
81409
 
81343
81410
  /**
81344
81411
  * @license lucide-react v0.528.0 - ISC
@@ -81348,7 +81415,7 @@ const Italic$1 = createLucideIcon("italic", __iconNode$1g);
81348
81415
  */
81349
81416
 
81350
81417
 
81351
- const __iconNode$1f = [
81418
+ const __iconNode$1g = [
81352
81419
  [
81353
81420
  "path",
81354
81421
  {
@@ -81358,7 +81425,7 @@ const __iconNode$1f = [
81358
81425
  ],
81359
81426
  ["circle", { cx: "16.5", cy: "7.5", r: ".5", fill: "currentColor", key: "w0ekpg" }]
81360
81427
  ];
81361
- const KeyRound = createLucideIcon("key-round", __iconNode$1f);
81428
+ const KeyRound = createLucideIcon("key-round", __iconNode$1g);
81362
81429
 
81363
81430
  /**
81364
81431
  * @license lucide-react v0.528.0 - ISC
@@ -81368,7 +81435,7 @@ const KeyRound = createLucideIcon("key-round", __iconNode$1f);
81368
81435
  */
81369
81436
 
81370
81437
 
81371
- const __iconNode$1e = [
81438
+ const __iconNode$1f = [
81372
81439
  ["path", { d: "M10 18v-7", key: "wt116b" }],
81373
81440
  [
81374
81441
  "path",
@@ -81382,7 +81449,7 @@ const __iconNode$1e = [
81382
81449
  ["path", { d: "M3 22h18", key: "8prr45" }],
81383
81450
  ["path", { d: "M6 18v-7", key: "1ivflk" }]
81384
81451
  ];
81385
- const Landmark = createLucideIcon("landmark", __iconNode$1e);
81452
+ const Landmark = createLucideIcon("landmark", __iconNode$1f);
81386
81453
 
81387
81454
  /**
81388
81455
  * @license lucide-react v0.528.0 - ISC
@@ -81392,7 +81459,7 @@ const Landmark = createLucideIcon("landmark", __iconNode$1e);
81392
81459
  */
81393
81460
 
81394
81461
 
81395
- const __iconNode$1d = [
81462
+ const __iconNode$1e = [
81396
81463
  [
81397
81464
  "path",
81398
81465
  {
@@ -81415,7 +81482,7 @@ const __iconNode$1d = [
81415
81482
  }
81416
81483
  ]
81417
81484
  ];
81418
- const Layers = createLucideIcon("layers", __iconNode$1d);
81485
+ const Layers = createLucideIcon("layers", __iconNode$1e);
81419
81486
 
81420
81487
  /**
81421
81488
  * @license lucide-react v0.528.0 - ISC
@@ -81425,12 +81492,12 @@ const Layers = createLucideIcon("layers", __iconNode$1d);
81425
81492
  */
81426
81493
 
81427
81494
 
81428
- const __iconNode$1c = [
81495
+ const __iconNode$1d = [
81429
81496
  ["path", { d: "M9 17H7A5 5 0 0 1 7 7h2", key: "8i5ue5" }],
81430
81497
  ["path", { d: "M15 7h2a5 5 0 1 1 0 10h-2", key: "1b9ql8" }],
81431
81498
  ["line", { x1: "8", x2: "16", y1: "12", y2: "12", key: "1jonct" }]
81432
81499
  ];
81433
- const Link2 = createLucideIcon("link-2", __iconNode$1c);
81500
+ const Link2 = createLucideIcon("link-2", __iconNode$1d);
81434
81501
 
81435
81502
  /**
81436
81503
  * @license lucide-react v0.528.0 - ISC
@@ -81440,11 +81507,11 @@ const Link2 = createLucideIcon("link-2", __iconNode$1c);
81440
81507
  */
81441
81508
 
81442
81509
 
81443
- const __iconNode$1b = [
81510
+ const __iconNode$1c = [
81444
81511
  ["path", { d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71", key: "1cjeqo" }],
81445
81512
  ["path", { d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71", key: "19qd67" }]
81446
81513
  ];
81447
- const Link$1 = createLucideIcon("link", __iconNode$1b);
81514
+ const Link$1 = createLucideIcon("link", __iconNode$1c);
81448
81515
 
81449
81516
  /**
81450
81517
  * @license lucide-react v0.528.0 - ISC
@@ -81454,7 +81521,7 @@ const Link$1 = createLucideIcon("link", __iconNode$1b);
81454
81521
  */
81455
81522
 
81456
81523
 
81457
- const __iconNode$1a = [
81524
+ const __iconNode$1b = [
81458
81525
  ["path", { d: "M10 12h11", key: "6m4ad9" }],
81459
81526
  ["path", { d: "M10 18h11", key: "11hvi2" }],
81460
81527
  ["path", { d: "M10 6h11", key: "c7qv1k" }],
@@ -81462,7 +81529,7 @@ const __iconNode$1a = [
81462
81529
  ["path", { d: "M4 6h1v4", key: "cnovpq" }],
81463
81530
  ["path", { d: "M6 18H4c0-1 2-2 2-3s-1-1.5-2-1", key: "m9a95d" }]
81464
81531
  ];
81465
- const ListOrdered = createLucideIcon("list-ordered", __iconNode$1a);
81532
+ const ListOrdered = createLucideIcon("list-ordered", __iconNode$1b);
81466
81533
 
81467
81534
  /**
81468
81535
  * @license lucide-react v0.528.0 - ISC
@@ -81472,7 +81539,7 @@ const ListOrdered = createLucideIcon("list-ordered", __iconNode$1a);
81472
81539
  */
81473
81540
 
81474
81541
 
81475
- const __iconNode$19 = [
81542
+ const __iconNode$1a = [
81476
81543
  ["path", { d: "M3 12h.01", key: "nlz23k" }],
81477
81544
  ["path", { d: "M3 18h.01", key: "1tta3j" }],
81478
81545
  ["path", { d: "M3 6h.01", key: "1rqtza" }],
@@ -81480,7 +81547,7 @@ const __iconNode$19 = [
81480
81547
  ["path", { d: "M8 18h13", key: "1lx6n3" }],
81481
81548
  ["path", { d: "M8 6h13", key: "ik3vkj" }]
81482
81549
  ];
81483
- const List$1 = createLucideIcon("list", __iconNode$19);
81550
+ const List$1 = createLucideIcon("list", __iconNode$1a);
81484
81551
 
81485
81552
  /**
81486
81553
  * @license lucide-react v0.528.0 - ISC
@@ -81490,8 +81557,8 @@ const List$1 = createLucideIcon("list", __iconNode$19);
81490
81557
  */
81491
81558
 
81492
81559
 
81493
- const __iconNode$18 = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
81494
- const LoaderCircle = createLucideIcon("loader-circle", __iconNode$18);
81560
+ const __iconNode$19 = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
81561
+ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$19);
81495
81562
 
81496
81563
  /**
81497
81564
  * @license lucide-react v0.528.0 - ISC
@@ -81501,11 +81568,11 @@ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$18);
81501
81568
  */
81502
81569
 
81503
81570
 
81504
- const __iconNode$17 = [
81571
+ const __iconNode$18 = [
81505
81572
  ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
81506
81573
  ["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
81507
81574
  ];
81508
- const Lock = createLucideIcon("lock", __iconNode$17);
81575
+ const Lock = createLucideIcon("lock", __iconNode$18);
81509
81576
 
81510
81577
  /**
81511
81578
  * @license lucide-react v0.528.0 - ISC
@@ -81515,11 +81582,11 @@ const Lock = createLucideIcon("lock", __iconNode$17);
81515
81582
  */
81516
81583
 
81517
81584
 
81518
- const __iconNode$16 = [
81585
+ const __iconNode$17 = [
81519
81586
  ["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
81520
81587
  ["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
81521
81588
  ];
81522
- const Mail = createLucideIcon("mail", __iconNode$16);
81589
+ const Mail = createLucideIcon("mail", __iconNode$17);
81523
81590
 
81524
81591
  /**
81525
81592
  * @license lucide-react v0.528.0 - ISC
@@ -81529,10 +81596,10 @@ const Mail = createLucideIcon("mail", __iconNode$16);
81529
81596
  */
81530
81597
 
81531
81598
 
81532
- const __iconNode$15 = [
81599
+ const __iconNode$16 = [
81533
81600
  ["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }]
81534
81601
  ];
81535
- const MessageSquare = createLucideIcon("message-square", __iconNode$15);
81602
+ const MessageSquare = createLucideIcon("message-square", __iconNode$16);
81536
81603
 
81537
81604
  /**
81538
81605
  * @license lucide-react v0.528.0 - ISC
@@ -81542,12 +81609,12 @@ const MessageSquare = createLucideIcon("message-square", __iconNode$15);
81542
81609
  */
81543
81610
 
81544
81611
 
81545
- const __iconNode$14 = [
81612
+ const __iconNode$15 = [
81546
81613
  ["path", { d: "M12 19v3", key: "npa21l" }],
81547
81614
  ["path", { d: "M19 10v2a7 7 0 0 1-14 0v-2", key: "1vc78b" }],
81548
81615
  ["rect", { x: "9", y: "2", width: "6", height: "13", rx: "3", key: "s6n7sd" }]
81549
81616
  ];
81550
- const Mic = createLucideIcon("mic", __iconNode$14);
81617
+ const Mic = createLucideIcon("mic", __iconNode$15);
81551
81618
 
81552
81619
  /**
81553
81620
  * @license lucide-react v0.528.0 - ISC
@@ -81557,12 +81624,12 @@ const Mic = createLucideIcon("mic", __iconNode$14);
81557
81624
  */
81558
81625
 
81559
81626
 
81560
- const __iconNode$13 = [
81627
+ const __iconNode$14 = [
81561
81628
  ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }],
81562
81629
  ["line", { x1: "8", x2: "16", y1: "21", y2: "21", key: "1svkeh" }],
81563
81630
  ["line", { x1: "12", x2: "12", y1: "17", y2: "21", key: "vw1qmm" }]
81564
81631
  ];
81565
- const Monitor = createLucideIcon("monitor", __iconNode$13);
81632
+ const Monitor = createLucideIcon("monitor", __iconNode$14);
81566
81633
 
81567
81634
  /**
81568
81635
  * @license lucide-react v0.528.0 - ISC
@@ -81572,7 +81639,7 @@ const Monitor = createLucideIcon("monitor", __iconNode$13);
81572
81639
  */
81573
81640
 
81574
81641
 
81575
- const __iconNode$12 = [
81642
+ const __iconNode$13 = [
81576
81643
  [
81577
81644
  "path",
81578
81645
  {
@@ -81581,7 +81648,7 @@ const __iconNode$12 = [
81581
81648
  }
81582
81649
  ]
81583
81650
  ];
81584
- const Paperclip = createLucideIcon("paperclip", __iconNode$12);
81651
+ const Paperclip = createLucideIcon("paperclip", __iconNode$13);
81585
81652
 
81586
81653
  /**
81587
81654
  * @license lucide-react v0.528.0 - ISC
@@ -81591,7 +81658,7 @@ const Paperclip = createLucideIcon("paperclip", __iconNode$12);
81591
81658
  */
81592
81659
 
81593
81660
 
81594
- const __iconNode$11 = [
81661
+ const __iconNode$12 = [
81595
81662
  ["path", { d: "M13 21h8", key: "1jsn5i" }],
81596
81663
  [
81597
81664
  "path",
@@ -81601,7 +81668,7 @@ const __iconNode$11 = [
81601
81668
  }
81602
81669
  ]
81603
81670
  ];
81604
- const PenLine = createLucideIcon("pen-line", __iconNode$11);
81671
+ const PenLine = createLucideIcon("pen-line", __iconNode$12);
81605
81672
 
81606
81673
  /**
81607
81674
  * @license lucide-react v0.528.0 - ISC
@@ -81611,7 +81678,7 @@ const PenLine = createLucideIcon("pen-line", __iconNode$11);
81611
81678
  */
81612
81679
 
81613
81680
 
81614
- const __iconNode$10 = [
81681
+ const __iconNode$11 = [
81615
81682
  [
81616
81683
  "path",
81617
81684
  {
@@ -81620,7 +81687,7 @@ const __iconNode$10 = [
81620
81687
  }
81621
81688
  ]
81622
81689
  ];
81623
- const Pen = createLucideIcon("pen", __iconNode$10);
81690
+ const Pen = createLucideIcon("pen", __iconNode$11);
81624
81691
 
81625
81692
  /**
81626
81693
  * @license lucide-react v0.528.0 - ISC
@@ -81630,7 +81697,7 @@ const Pen = createLucideIcon("pen", __iconNode$10);
81630
81697
  */
81631
81698
 
81632
81699
 
81633
- const __iconNode$$ = [
81700
+ const __iconNode$10 = [
81634
81701
  [
81635
81702
  "path",
81636
81703
  {
@@ -81640,7 +81707,7 @@ const __iconNode$$ = [
81640
81707
  ],
81641
81708
  ["path", { d: "m15 5 4 4", key: "1mk7zo" }]
81642
81709
  ];
81643
- const Pencil = createLucideIcon("pencil", __iconNode$$);
81710
+ const Pencil = createLucideIcon("pencil", __iconNode$10);
81644
81711
 
81645
81712
  /**
81646
81713
  * @license lucide-react v0.528.0 - ISC
@@ -81650,7 +81717,7 @@ const Pencil = createLucideIcon("pencil", __iconNode$$);
81650
81717
  */
81651
81718
 
81652
81719
 
81653
- const __iconNode$_ = [
81720
+ const __iconNode$$ = [
81654
81721
  [
81655
81722
  "path",
81656
81723
  {
@@ -81659,7 +81726,7 @@ const __iconNode$_ = [
81659
81726
  }
81660
81727
  ]
81661
81728
  ];
81662
- const Play = createLucideIcon("play", __iconNode$_);
81729
+ const Play = createLucideIcon("play", __iconNode$$);
81663
81730
 
81664
81731
  /**
81665
81732
  * @license lucide-react v0.528.0 - ISC
@@ -81669,11 +81736,11 @@ const Play = createLucideIcon("play", __iconNode$_);
81669
81736
  */
81670
81737
 
81671
81738
 
81672
- const __iconNode$Z = [
81739
+ const __iconNode$_ = [
81673
81740
  ["path", { d: "M5 12h14", key: "1ays0h" }],
81674
81741
  ["path", { d: "M12 5v14", key: "s699le" }]
81675
81742
  ];
81676
- const Plus = createLucideIcon("plus", __iconNode$Z);
81743
+ const Plus = createLucideIcon("plus", __iconNode$_);
81677
81744
 
81678
81745
  /**
81679
81746
  * @license lucide-react v0.528.0 - ISC
@@ -81683,12 +81750,12 @@ const Plus = createLucideIcon("plus", __iconNode$Z);
81683
81750
  */
81684
81751
 
81685
81752
 
81686
- const __iconNode$Y = [
81753
+ const __iconNode$Z = [
81687
81754
  ["path", { d: "M2 3h20", key: "91anmk" }],
81688
81755
  ["path", { d: "M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3", key: "2k9sn8" }],
81689
81756
  ["path", { d: "m7 21 5-5 5 5", key: "bip4we" }]
81690
81757
  ];
81691
- const Presentation = createLucideIcon("presentation", __iconNode$Y);
81758
+ const Presentation = createLucideIcon("presentation", __iconNode$Z);
81692
81759
 
81693
81760
  /**
81694
81761
  * @license lucide-react v0.528.0 - ISC
@@ -81698,7 +81765,7 @@ const Presentation = createLucideIcon("presentation", __iconNode$Y);
81698
81765
  */
81699
81766
 
81700
81767
 
81701
- const __iconNode$X = [
81768
+ const __iconNode$Y = [
81702
81769
  [
81703
81770
  "path",
81704
81771
  {
@@ -81707,7 +81774,7 @@ const __iconNode$X = [
81707
81774
  }
81708
81775
  ]
81709
81776
  ];
81710
- const Puzzle = createLucideIcon("puzzle", __iconNode$X);
81777
+ const Puzzle = createLucideIcon("puzzle", __iconNode$Y);
81711
81778
 
81712
81779
  /**
81713
81780
  * @license lucide-react v0.528.0 - ISC
@@ -81717,7 +81784,7 @@ const Puzzle = createLucideIcon("puzzle", __iconNode$X);
81717
81784
  */
81718
81785
 
81719
81786
 
81720
- const __iconNode$W = [
81787
+ const __iconNode$X = [
81721
81788
  [
81722
81789
  "path",
81723
81790
  {
@@ -81733,7 +81800,7 @@ const __iconNode$W = [
81733
81800
  }
81734
81801
  ]
81735
81802
  ];
81736
- const Quote = createLucideIcon("quote", __iconNode$W);
81803
+ const Quote = createLucideIcon("quote", __iconNode$X);
81737
81804
 
81738
81805
  /**
81739
81806
  * @license lucide-react v0.528.0 - ISC
@@ -81743,14 +81810,14 @@ const Quote = createLucideIcon("quote", __iconNode$W);
81743
81810
  */
81744
81811
 
81745
81812
 
81746
- const __iconNode$V = [
81813
+ const __iconNode$W = [
81747
81814
  ["path", { d: "M16.247 7.761a6 6 0 0 1 0 8.478", key: "1fwjs5" }],
81748
81815
  ["path", { d: "M19.075 4.933a10 10 0 0 1 0 14.134", key: "ehdyv1" }],
81749
81816
  ["path", { d: "M4.925 19.067a10 10 0 0 1 0-14.134", key: "1q22gi" }],
81750
81817
  ["path", { d: "M7.753 16.239a6 6 0 0 1 0-8.478", key: "r2q7qm" }],
81751
81818
  ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }]
81752
81819
  ];
81753
- const Radio$1 = createLucideIcon("radio", __iconNode$V);
81820
+ const Radio$1 = createLucideIcon("radio", __iconNode$W);
81754
81821
 
81755
81822
  /**
81756
81823
  * @license lucide-react v0.528.0 - ISC
@@ -81760,13 +81827,13 @@ const Radio$1 = createLucideIcon("radio", __iconNode$V);
81760
81827
  */
81761
81828
 
81762
81829
 
81763
- const __iconNode$U = [
81830
+ const __iconNode$V = [
81764
81831
  ["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }],
81765
81832
  ["path", { d: "M21 3v5h-5", key: "1q7to0" }],
81766
81833
  ["path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16", key: "3uifl3" }],
81767
81834
  ["path", { d: "M8 16H3v5", key: "1cv678" }]
81768
81835
  ];
81769
- const RefreshCw = createLucideIcon("refresh-cw", __iconNode$U);
81836
+ const RefreshCw = createLucideIcon("refresh-cw", __iconNode$V);
81770
81837
 
81771
81838
  /**
81772
81839
  * @license lucide-react v0.528.0 - ISC
@@ -81776,13 +81843,13 @@ const RefreshCw = createLucideIcon("refresh-cw", __iconNode$U);
81776
81843
  */
81777
81844
 
81778
81845
 
81779
- const __iconNode$T = [
81846
+ const __iconNode$U = [
81780
81847
  ["path", { d: "m17 2 4 4-4 4", key: "nntrym" }],
81781
81848
  ["path", { d: "M3 11v-1a4 4 0 0 1 4-4h14", key: "84bu3i" }],
81782
81849
  ["path", { d: "m7 22-4-4 4-4", key: "1wqhfi" }],
81783
81850
  ["path", { d: "M21 13v1a4 4 0 0 1-4 4H3", key: "1rx37r" }]
81784
81851
  ];
81785
- const Repeat = createLucideIcon("repeat", __iconNode$T);
81852
+ const Repeat = createLucideIcon("repeat", __iconNode$U);
81786
81853
 
81787
81854
  /**
81788
81855
  * @license lucide-react v0.528.0 - ISC
@@ -81792,11 +81859,11 @@ const Repeat = createLucideIcon("repeat", __iconNode$T);
81792
81859
  */
81793
81860
 
81794
81861
 
81795
- const __iconNode$S = [
81862
+ const __iconNode$T = [
81796
81863
  ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
81797
81864
  ["path", { d: "M3 3v5h5", key: "1xhq8a" }]
81798
81865
  ];
81799
- const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$S);
81866
+ const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$T);
81800
81867
 
81801
81868
  /**
81802
81869
  * @license lucide-react v0.528.0 - ISC
@@ -81806,11 +81873,11 @@ const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$S);
81806
81873
  */
81807
81874
 
81808
81875
 
81809
- const __iconNode$R = [
81876
+ const __iconNode$S = [
81810
81877
  ["path", { d: "M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8", key: "1p45f6" }],
81811
81878
  ["path", { d: "M21 3v5h-5", key: "1q7to0" }]
81812
81879
  ];
81813
- const RotateCw = createLucideIcon("rotate-cw", __iconNode$R);
81880
+ const RotateCw = createLucideIcon("rotate-cw", __iconNode$S);
81814
81881
 
81815
81882
  /**
81816
81883
  * @license lucide-react v0.528.0 - ISC
@@ -81820,12 +81887,12 @@ const RotateCw = createLucideIcon("rotate-cw", __iconNode$R);
81820
81887
  */
81821
81888
 
81822
81889
 
81823
- const __iconNode$Q = [
81890
+ const __iconNode$R = [
81824
81891
  ["circle", { cx: "6", cy: "19", r: "3", key: "1kj8tv" }],
81825
81892
  ["path", { d: "M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15", key: "1d8sl" }],
81826
81893
  ["circle", { cx: "18", cy: "5", r: "3", key: "gq8acd" }]
81827
81894
  ];
81828
- const Route = createLucideIcon("route", __iconNode$Q);
81895
+ const Route = createLucideIcon("route", __iconNode$R);
81829
81896
 
81830
81897
  /**
81831
81898
  * @license lucide-react v0.528.0 - ISC
@@ -81835,7 +81902,7 @@ const Route = createLucideIcon("route", __iconNode$Q);
81835
81902
  */
81836
81903
 
81837
81904
 
81838
- const __iconNode$P = [
81905
+ const __iconNode$Q = [
81839
81906
  [
81840
81907
  "path",
81841
81908
  {
@@ -81846,7 +81913,7 @@ const __iconNode$P = [
81846
81913
  ["path", { d: "M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7", key: "1ydtos" }],
81847
81914
  ["path", { d: "M7 3v4a1 1 0 0 0 1 1h7", key: "t51u73" }]
81848
81915
  ];
81849
- const Save = createLucideIcon("save", __iconNode$P);
81916
+ const Save = createLucideIcon("save", __iconNode$Q);
81850
81917
 
81851
81918
  /**
81852
81919
  * @license lucide-react v0.528.0 - ISC
@@ -81856,7 +81923,7 @@ const Save = createLucideIcon("save", __iconNode$P);
81856
81923
  */
81857
81924
 
81858
81925
 
81859
- const __iconNode$O = [
81926
+ const __iconNode$P = [
81860
81927
  ["path", { d: "M14 22v-4a2 2 0 1 0-4 0v4", key: "hhkicm" }],
81861
81928
  [
81862
81929
  "path",
@@ -81870,7 +81937,7 @@ const __iconNode$O = [
81870
81937
  ["path", { d: "M6 5v17", key: "1xfsm0" }],
81871
81938
  ["circle", { cx: "12", cy: "9", r: "2", key: "1092wv" }]
81872
81939
  ];
81873
- const School = createLucideIcon("school", __iconNode$O);
81940
+ const School = createLucideIcon("school", __iconNode$P);
81874
81941
 
81875
81942
  /**
81876
81943
  * @license lucide-react v0.528.0 - ISC
@@ -81880,14 +81947,14 @@ const School = createLucideIcon("school", __iconNode$O);
81880
81947
  */
81881
81948
 
81882
81949
 
81883
- const __iconNode$N = [
81950
+ const __iconNode$O = [
81884
81951
  ["path", { d: "M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3", key: "i8wdob" }],
81885
81952
  ["path", { d: "M8 21h8", key: "1ev6f3" }],
81886
81953
  ["path", { d: "M12 17v4", key: "1riwvh" }],
81887
81954
  ["path", { d: "m17 8 5-5", key: "fqif7o" }],
81888
81955
  ["path", { d: "M17 3h5v5", key: "1o3tu8" }]
81889
81956
  ];
81890
- const ScreenShare = createLucideIcon("screen-share", __iconNode$N);
81957
+ const ScreenShare = createLucideIcon("screen-share", __iconNode$O);
81891
81958
 
81892
81959
  /**
81893
81960
  * @license lucide-react v0.528.0 - ISC
@@ -81897,7 +81964,7 @@ const ScreenShare = createLucideIcon("screen-share", __iconNode$N);
81897
81964
  */
81898
81965
 
81899
81966
 
81900
- const __iconNode$M = [
81967
+ const __iconNode$N = [
81901
81968
  ["path", { d: "M15 12h-5", key: "r7krc0" }],
81902
81969
  ["path", { d: "M15 8h-5", key: "1khuty" }],
81903
81970
  ["path", { d: "M19 17V5a2 2 0 0 0-2-2H4", key: "zz82l3" }],
@@ -81909,7 +81976,7 @@ const __iconNode$M = [
81909
81976
  }
81910
81977
  ]
81911
81978
  ];
81912
- const ScrollText = createLucideIcon("scroll-text", __iconNode$M);
81979
+ const ScrollText = createLucideIcon("scroll-text", __iconNode$N);
81913
81980
 
81914
81981
  /**
81915
81982
  * @license lucide-react v0.528.0 - ISC
@@ -81919,11 +81986,11 @@ const ScrollText = createLucideIcon("scroll-text", __iconNode$M);
81919
81986
  */
81920
81987
 
81921
81988
 
81922
- const __iconNode$L = [
81989
+ const __iconNode$M = [
81923
81990
  ["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
81924
81991
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
81925
81992
  ];
81926
- const Search = createLucideIcon("search", __iconNode$L);
81993
+ const Search = createLucideIcon("search", __iconNode$M);
81927
81994
 
81928
81995
  /**
81929
81996
  * @license lucide-react v0.528.0 - ISC
@@ -81933,7 +82000,7 @@ const Search = createLucideIcon("search", __iconNode$L);
81933
82000
  */
81934
82001
 
81935
82002
 
81936
- const __iconNode$K = [
82003
+ const __iconNode$L = [
81937
82004
  [
81938
82005
  "path",
81939
82006
  {
@@ -81943,7 +82010,7 @@ const __iconNode$K = [
81943
82010
  ],
81944
82011
  ["path", { d: "m21.854 2.147-10.94 10.939", key: "12cjpa" }]
81945
82012
  ];
81946
- const Send = createLucideIcon("send", __iconNode$K);
82013
+ const Send = createLucideIcon("send", __iconNode$L);
81947
82014
 
81948
82015
  /**
81949
82016
  * @license lucide-react v0.528.0 - ISC
@@ -81953,13 +82020,13 @@ const Send = createLucideIcon("send", __iconNode$K);
81953
82020
  */
81954
82021
 
81955
82022
 
81956
- const __iconNode$J = [
82023
+ const __iconNode$K = [
81957
82024
  ["rect", { width: "20", height: "8", x: "2", y: "2", rx: "2", ry: "2", key: "ngkwjq" }],
81958
82025
  ["rect", { width: "20", height: "8", x: "2", y: "14", rx: "2", ry: "2", key: "iecqi9" }],
81959
82026
  ["line", { x1: "6", x2: "6.01", y1: "6", y2: "6", key: "16zg32" }],
81960
82027
  ["line", { x1: "6", x2: "6.01", y1: "18", y2: "18", key: "nzw8ys" }]
81961
82028
  ];
81962
- const Server = createLucideIcon("server", __iconNode$J);
82029
+ const Server = createLucideIcon("server", __iconNode$K);
81963
82030
 
81964
82031
  /**
81965
82032
  * @license lucide-react v0.528.0 - ISC
@@ -81969,13 +82036,13 @@ const Server = createLucideIcon("server", __iconNode$J);
81969
82036
  */
81970
82037
 
81971
82038
 
81972
- const __iconNode$I = [
82039
+ const __iconNode$J = [
81973
82040
  ["path", { d: "M14 17H5", key: "gfn3mx" }],
81974
82041
  ["path", { d: "M19 7h-9", key: "6i9tg" }],
81975
82042
  ["circle", { cx: "17", cy: "17", r: "3", key: "18b49y" }],
81976
82043
  ["circle", { cx: "7", cy: "7", r: "3", key: "dfmy0x" }]
81977
82044
  ];
81978
- const Settings2 = createLucideIcon("settings-2", __iconNode$I);
82045
+ const Settings2 = createLucideIcon("settings-2", __iconNode$J);
81979
82046
 
81980
82047
  /**
81981
82048
  * @license lucide-react v0.528.0 - ISC
@@ -81985,7 +82052,7 @@ const Settings2 = createLucideIcon("settings-2", __iconNode$I);
81985
82052
  */
81986
82053
 
81987
82054
 
81988
- const __iconNode$H = [
82055
+ const __iconNode$I = [
81989
82056
  [
81990
82057
  "path",
81991
82058
  {
@@ -81995,7 +82062,7 @@ const __iconNode$H = [
81995
82062
  ],
81996
82063
  ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
81997
82064
  ];
81998
- const Settings = createLucideIcon("settings", __iconNode$H);
82065
+ const Settings = createLucideIcon("settings", __iconNode$I);
81999
82066
 
82000
82067
  /**
82001
82068
  * @license lucide-react v0.528.0 - ISC
@@ -82005,14 +82072,14 @@ const Settings = createLucideIcon("settings", __iconNode$H);
82005
82072
  */
82006
82073
 
82007
82074
 
82008
- const __iconNode$G = [
82075
+ const __iconNode$H = [
82009
82076
  ["circle", { cx: "18", cy: "5", r: "3", key: "gq8acd" }],
82010
82077
  ["circle", { cx: "6", cy: "12", r: "3", key: "w7nqdw" }],
82011
82078
  ["circle", { cx: "18", cy: "19", r: "3", key: "1xt0gg" }],
82012
82079
  ["line", { x1: "8.59", x2: "15.42", y1: "13.51", y2: "17.49", key: "47mynk" }],
82013
82080
  ["line", { x1: "15.41", x2: "8.59", y1: "6.51", y2: "10.49", key: "1n3mei" }]
82014
82081
  ];
82015
- const Share2 = createLucideIcon("share-2", __iconNode$G);
82082
+ const Share2 = createLucideIcon("share-2", __iconNode$H);
82016
82083
 
82017
82084
  /**
82018
82085
  * @license lucide-react v0.528.0 - ISC
@@ -82022,7 +82089,7 @@ const Share2 = createLucideIcon("share-2", __iconNode$G);
82022
82089
  */
82023
82090
 
82024
82091
 
82025
- const __iconNode$F = [
82092
+ const __iconNode$G = [
82026
82093
  [
82027
82094
  "path",
82028
82095
  {
@@ -82033,7 +82100,7 @@ const __iconNode$F = [
82033
82100
  ["path", { d: "M12 8v4", key: "1got3b" }],
82034
82101
  ["path", { d: "M12 16h.01", key: "1drbdi" }]
82035
82102
  ];
82036
- const ShieldAlert = createLucideIcon("shield-alert", __iconNode$F);
82103
+ const ShieldAlert = createLucideIcon("shield-alert", __iconNode$G);
82037
82104
 
82038
82105
  /**
82039
82106
  * @license lucide-react v0.528.0 - ISC
@@ -82043,7 +82110,7 @@ const ShieldAlert = createLucideIcon("shield-alert", __iconNode$F);
82043
82110
  */
82044
82111
 
82045
82112
 
82046
- const __iconNode$E = [
82113
+ const __iconNode$F = [
82047
82114
  [
82048
82115
  "path",
82049
82116
  {
@@ -82053,7 +82120,7 @@ const __iconNode$E = [
82053
82120
  ],
82054
82121
  ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
82055
82122
  ];
82056
- const ShieldCheck = createLucideIcon("shield-check", __iconNode$E);
82123
+ const ShieldCheck = createLucideIcon("shield-check", __iconNode$F);
82057
82124
 
82058
82125
  /**
82059
82126
  * @license lucide-react v0.528.0 - ISC
@@ -82063,7 +82130,7 @@ const ShieldCheck = createLucideIcon("shield-check", __iconNode$E);
82063
82130
  */
82064
82131
 
82065
82132
 
82066
- const __iconNode$D = [
82133
+ const __iconNode$E = [
82067
82134
  [
82068
82135
  "path",
82069
82136
  {
@@ -82072,7 +82139,7 @@ const __iconNode$D = [
82072
82139
  }
82073
82140
  ]
82074
82141
  ];
82075
- const Shield = createLucideIcon("shield", __iconNode$D);
82142
+ const Shield = createLucideIcon("shield", __iconNode$E);
82076
82143
 
82077
82144
  /**
82078
82145
  * @license lucide-react v0.528.0 - ISC
@@ -82082,7 +82149,7 @@ const Shield = createLucideIcon("shield", __iconNode$D);
82082
82149
  */
82083
82150
 
82084
82151
 
82085
- const __iconNode$C = [
82152
+ const __iconNode$D = [
82086
82153
  ["path", { d: "M16 10a4 4 0 0 1-8 0", key: "1ltviw" }],
82087
82154
  ["path", { d: "M3.103 6.034h17.794", key: "awc11p" }],
82088
82155
  [
@@ -82093,7 +82160,7 @@ const __iconNode$C = [
82093
82160
  }
82094
82161
  ]
82095
82162
  ];
82096
- const ShoppingBag = createLucideIcon("shopping-bag", __iconNode$C);
82163
+ const ShoppingBag = createLucideIcon("shopping-bag", __iconNode$D);
82097
82164
 
82098
82165
  /**
82099
82166
  * @license lucide-react v0.528.0 - ISC
@@ -82103,14 +82170,14 @@ const ShoppingBag = createLucideIcon("shopping-bag", __iconNode$C);
82103
82170
  */
82104
82171
 
82105
82172
 
82106
- const __iconNode$B = [
82173
+ const __iconNode$C = [
82107
82174
  ["path", { d: "m18 14 4 4-4 4", key: "10pe0f" }],
82108
82175
  ["path", { d: "m18 2 4 4-4 4", key: "pucp1d" }],
82109
82176
  ["path", { d: "M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22", key: "1ailkh" }],
82110
82177
  ["path", { d: "M2 6h1.972a4 4 0 0 1 3.6 2.2", key: "km57vx" }],
82111
82178
  ["path", { d: "M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45", key: "os18l9" }]
82112
82179
  ];
82113
- const Shuffle = createLucideIcon("shuffle", __iconNode$B);
82180
+ const Shuffle = createLucideIcon("shuffle", __iconNode$C);
82114
82181
 
82115
82182
  /**
82116
82183
  * @license lucide-react v0.528.0 - ISC
@@ -82120,7 +82187,7 @@ const Shuffle = createLucideIcon("shuffle", __iconNode$B);
82120
82187
  */
82121
82188
 
82122
82189
 
82123
- const __iconNode$A = [
82190
+ const __iconNode$B = [
82124
82191
  ["line", { x1: "21", x2: "14", y1: "4", y2: "4", key: "obuewd" }],
82125
82192
  ["line", { x1: "10", x2: "3", y1: "4", y2: "4", key: "1q6298" }],
82126
82193
  ["line", { x1: "21", x2: "12", y1: "12", y2: "12", key: "1iu8h1" }],
@@ -82131,7 +82198,7 @@ const __iconNode$A = [
82131
82198
  ["line", { x1: "8", x2: "8", y1: "10", y2: "14", key: "1i6ji0" }],
82132
82199
  ["line", { x1: "16", x2: "16", y1: "18", y2: "22", key: "1lctlv" }]
82133
82200
  ];
82134
- const SlidersHorizontal = createLucideIcon("sliders-horizontal", __iconNode$A);
82201
+ const SlidersHorizontal = createLucideIcon("sliders-horizontal", __iconNode$B);
82135
82202
 
82136
82203
  /**
82137
82204
  * @license lucide-react v0.528.0 - ISC
@@ -82141,11 +82208,11 @@ const SlidersHorizontal = createLucideIcon("sliders-horizontal", __iconNode$A);
82141
82208
  */
82142
82209
 
82143
82210
 
82144
- const __iconNode$z = [
82211
+ const __iconNode$A = [
82145
82212
  ["rect", { width: "14", height: "20", x: "5", y: "2", rx: "2", ry: "2", key: "1yt0o3" }],
82146
82213
  ["path", { d: "M12 18h.01", key: "mhygvu" }]
82147
82214
  ];
82148
- const Smartphone = createLucideIcon("smartphone", __iconNode$z);
82215
+ const Smartphone = createLucideIcon("smartphone", __iconNode$A);
82149
82216
 
82150
82217
  /**
82151
82218
  * @license lucide-react v0.528.0 - ISC
@@ -82155,7 +82222,7 @@ const Smartphone = createLucideIcon("smartphone", __iconNode$z);
82155
82222
  */
82156
82223
 
82157
82224
 
82158
- const __iconNode$y = [
82225
+ const __iconNode$z = [
82159
82226
  [
82160
82227
  "path",
82161
82228
  {
@@ -82167,7 +82234,22 @@ const __iconNode$y = [
82167
82234
  ["path", { d: "M22 4h-4", key: "gwowj6" }],
82168
82235
  ["circle", { cx: "4", cy: "20", r: "2", key: "6kqj1y" }]
82169
82236
  ];
82170
- const Sparkles = createLucideIcon("sparkles", __iconNode$y);
82237
+ const Sparkles = createLucideIcon("sparkles", __iconNode$z);
82238
+
82239
+ /**
82240
+ * @license lucide-react v0.528.0 - ISC
82241
+ *
82242
+ * This source code is licensed under the ISC license.
82243
+ * See the LICENSE file in the root directory of this source tree.
82244
+ */
82245
+
82246
+
82247
+ const __iconNode$y = [
82248
+ ["path", { d: "M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6", key: "y09zxi" }],
82249
+ ["path", { d: "m21 3-9 9", key: "mpx6sq" }],
82250
+ ["path", { d: "M15 3h6v6", key: "1q9fwt" }]
82251
+ ];
82252
+ const SquareArrowOutUpRight = createLucideIcon("square-arrow-out-up-right", __iconNode$y);
82171
82253
 
82172
82254
  /**
82173
82255
  * @license lucide-react v0.528.0 - ISC
@@ -148804,7 +148886,7 @@ function MemoryTab({ org, username }) {
148804
148886
  }
148805
148887
  // Hide memory UI when platform has disabled memsearch (skip check if API errored)
148806
148888
  if (!isConfigError && memsearchStatus && !memsearchStatus.enable_memsearch) {
148807
- return (jsx("div", { className: "max-w-2xl", children: jsx("div", { className: "rounded-lg border px-6 py-8 text-center", style: { borderColor: 'oklch(.922 0 0)' }, children: jsx("p", { className: "text-sm text-gray-500", children: t('memoryMemoryTab.memoryFeatureDisabled') }) }) }));
148889
+ return (jsx("div", { children: jsx("div", { className: "rounded-lg border px-6 py-8 text-center", style: { borderColor: 'oklch(.922 0 0)' }, children: jsx("p", { className: "text-sm text-gray-500", children: t('memoryMemoryTab.memoryFeatureDisabled') }) }) }));
148808
148890
  }
148809
148891
  return (jsxs("div", { className: "space-y-8", children: [(!isPreview || settings) && (jsxs("div", { className: "space-y-4", children: [jsx("h4", { className: "text-sm font-semibold text-gray-700 dark:text-gray-300 tracking-wide", children: t('memoryMemoryTab.sectionMemoryPersonalization') }), jsxs("div", { className: "flex items-center justify-between rounded-lg border px-6 py-5", style: { borderColor: 'oklch(.922 0 0)' }, children: [jsxs("div", { className: "flex-1 mr-4", children: [jsx("span", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: t('memoryMemoryTab.autoCaptureLabelTitle') }), jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400 mt-1", children: t('memoryMemoryTab.autoCaptureLabelDesc') })] }), jsx(Switch, { checked: (_a = settings === null || settings === void 0 ? void 0 : settings.auto_capture_enabled) !== null && _a !== void 0 ? _a : false, onCheckedChange: (checked) => handleToggleSetting('auto_capture_enabled', checked), disabled: isUpdatingSettings, "aria-label": t('memoryMemoryTab.autoCaptureAriaLabel', {
148810
148892
  state: (settings === null || settings === void 0 ? void 0 : settings.auto_capture_enabled)
@@ -148919,6 +149001,151 @@ function ChatPrivacyTab({ org, username }) {
148919
149001
 
148920
149002
  function c(e,u,c){var i=this,a=useRef(null),o=useRef(0),f=useRef(null),l=useRef([]),v=useRef(),m=useRef(),d=useRef(e),g=useRef(true);d.current=e;var p="undefined"!=typeof window,w=!u&&0!==u&&p;if("function"!=typeof e)throw new TypeError("Expected a function");u=+u||0;var s=!!(c=c||{}).leading,x=!("trailing"in c)||!!c.trailing,h="maxWait"in c,y="debounceOnServer"in c&&!!c.debounceOnServer,F=h?Math.max(+c.maxWait||0,u):null;useEffect(function(){return g.current=true,function(){g.current=false;}},[]);var A=useMemo(function(){var r=function(r){var n=l.current,t=v.current;return l.current=v.current=null,o.current=r,m.current=d.current.apply(t,n)},n=function(r,n){w&&cancelAnimationFrame(f.current),f.current=w?requestAnimationFrame(r):setTimeout(r,n);},t=function(r){if(!g.current)return false;var n=r-a.current;return !a.current||n>=u||n<0||h&&r-o.current>=F},e=function(n){return f.current=null,x&&l.current?r(n):(l.current=v.current=null,m.current)},c=function r(){var c=Date.now();if(t(c))return e(c);if(g.current){var i=u-(c-a.current),f=h?Math.min(i,F-(c-o.current)):i;n(r,f);}},A=function(){if(p||y){var e=Date.now(),d=t(e);if(l.current=[].slice.call(arguments),v.current=i,a.current=e,d){if(!f.current&&g.current)return o.current=a.current,n(c,u),s?r(a.current):m.current;if(h)return n(c,u),r(a.current)}return f.current||n(c,u),m.current}};return A.cancel=function(){f.current&&(w?cancelAnimationFrame(f.current):clearTimeout(f.current)),o.current=0,l.current=a.current=v.current=f.current=null;},A.isPending=function(){return !!f.current},A.flush=function(){return f.current?e(Date.now()):m.current},A},[s,h,u,F,x,w,p,y]);return A}function i$1(r,n){return r===n}function a(n,t,a){var o=i$1,f=useRef(n),l=useState({})[1],v=c(useCallback(function(r){f.current=r,l({});},[l]),t,a),m=useRef(n);return o(m.current,n)||(v(n),m.current=n),[f.current,v]}
148921
149003
 
149004
+ var _a;
149005
+ /**
149006
+ * One context object for every copy of this module. The SDK ships several
149007
+ * bundles (`index`, `next`, …) that each inline their own copy of this file,
149008
+ * so a host provider from one bundle would never reach a link rendered by
149009
+ * another (the profile modal comes from `next`; Transcripts from `index`).
149010
+ * Registering the context on `globalThis` under a well-known symbol makes
149011
+ * the copies share it — React is a single external instance, so the object
149012
+ * is interchangeable between them.
149013
+ */
149014
+ const CONTEXT_KEY = Symbol.for('@iblai/web-containers/agent-settings-launcher');
149015
+ const registry = globalThis;
149016
+ const AgentSettingsLauncherContext = (_a = registry[CONTEXT_KEY]) !== null && _a !== void 0 ? _a : (registry[CONTEXT_KEY] = React__default.createContext(null));
149017
+ /**
149018
+ * Lets a host say how an agent's settings open — the same dialog its nav bar
149019
+ * opens — so every SDK surface that names an agent (Transcripts, the profile
149020
+ * History tab) can link the name to it. Without a provider the names are
149021
+ * plain text, which is right for hosts with no agent settings at all.
149022
+ */
149023
+ function AgentSettingsLauncherProvider({ value, children, }) {
149024
+ return (jsx(AgentSettingsLauncherContext.Provider, { value: value, children: children }));
149025
+ }
149026
+ function useAgentSettingsLauncher() {
149027
+ return React__default.useContext(AgentSettingsLauncherContext);
149028
+ }
149029
+ /**
149030
+ * An agent's name, linked to its settings where the host lets this viewer
149031
+ * open them; plain text otherwise. Truncates inside an `inline-flex` box so
149032
+ * it keeps the baseline of the label beside it, and neither its clicks nor
149033
+ * its key presses reach a clickable row around it.
149034
+ */
149035
+ function AgentSettingsLink({ uniqueId, name, fallback = '-', className, testId, }) {
149036
+ var _a, _b;
149037
+ const t = useT();
149038
+ const launcher = useAgentSettingsLauncher();
149039
+ const display = name || uniqueId || fallback;
149040
+ const target = uniqueId ? { uniqueId, name: name || uniqueId } : null;
149041
+ const canOpen = !!launcher && !!target && ((_b = (_a = launcher.canOpenAgentSettings) === null || _a === void 0 ? void 0 : _a.call(launcher, target)) !== null && _b !== void 0 ? _b : true);
149042
+ if (!canOpen || !target) {
149043
+ return (jsx("span", { className: cn('inline-flex max-w-full', className), "data-testid": testId, children: jsx("span", { className: "min-w-0 truncate", children: display }) }));
149044
+ }
149045
+ return (jsx("button", { type: "button", onClick: (event) => {
149046
+ event.stopPropagation();
149047
+ launcher.openAgentSettings(target);
149048
+ },
149049
+ // Rows that open on Enter/Space would otherwise swallow the key press.
149050
+ onKeyDown: (event) => event.stopPropagation(), className: cn('inline-flex max-w-full cursor-pointer text-left hover:text-blue-600 hover:underline focus:text-blue-600 focus:outline-none', className), "aria-label": t('agentSettingsLink.openSettings', { name: display }), "data-testid": testId, children: jsx("span", { className: "min-w-0 truncate", children: display }) }));
149051
+ }
149052
+
149053
+ /**
149054
+ * A conversation's sentiment the way Analytics → Transcripts shows it: a
149055
+ * thumb and "<Sentiment> User Sentiment" — green when positive, blue when
149056
+ * negative, grey otherwise. Renders nothing when the record carries none.
149057
+ */
149058
+ function ConversationSentiment({ sentiment, labels, className, compact = false, }) {
149059
+ const key = (sentiment !== null && sentiment !== void 0 ? sentiment : '').trim().toLowerCase();
149060
+ if (!key)
149061
+ return null;
149062
+ const Icon = key === 'negative' ? ThumbsDown : ThumbsUp;
149063
+ const tone = key === 'negative' ? 'text-blue-600' : key === 'positive' ? 'text-green-600' : 'text-gray-600';
149064
+ const word = key === 'negative'
149065
+ ? labels.negative
149066
+ : key === 'positive'
149067
+ ? labels.positive
149068
+ : key === 'neutral'
149069
+ ? labels.neutral
149070
+ : key.charAt(0).toUpperCase() + key.slice(1);
149071
+ const text = `${word} ${labels.userSentiment}`;
149072
+ if (compact) {
149073
+ return (jsx(TooltipProvider, { children: jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { asChild: true, children: jsxs("span", { className: cn('inline-flex cursor-default items-center', tone, className), "data-testid": "conversation-sentiment", "data-sentiment": key, "data-compact": "true", tabIndex: 0, children: [jsx(Icon, { className: "h-4 w-4", "aria-hidden": "true" }), jsx("span", { className: "sr-only", children: text })] }) }), jsx(TooltipContent, { className: "ibl-tooltip-content", children: text })] }) }));
149074
+ }
149075
+ return (jsxs("div", { className: cn('flex items-center gap-1 text-sm', tone, className), "data-testid": "conversation-sentiment", "data-sentiment": key, children: [jsx(Icon, { className: "h-4 w-4", "aria-hidden": "true" }), jsxs("span", { children: [word, " ", labels.userSentiment] })] }));
149076
+ }
149077
+
149078
+ /**
149079
+ * A conversation's topic names, whatever shape the endpoint uses: analytics
149080
+ * returns `["Biology"]`, the chat-history endpoints `[{ name: "Biology" }]`.
149081
+ * Blank entries are dropped and repeats collapsed; order is kept.
149082
+ */
149083
+ function conversationTopics(topics) {
149084
+ if (!Array.isArray(topics))
149085
+ return [];
149086
+ const names = [];
149087
+ for (const topic of topics) {
149088
+ const raw = typeof topic === 'string'
149089
+ ? topic
149090
+ : topic && typeof topic === 'object'
149091
+ ? topic.name
149092
+ : undefined;
149093
+ const name = typeof raw === 'string' ? raw.trim() : '';
149094
+ if (name && !names.includes(name))
149095
+ names.push(name);
149096
+ }
149097
+ return names;
149098
+ }
149099
+
149100
+ /** A conversation's topics as the chips Analytics → Transcripts draws. */
149101
+ function ConversationTopics({ topics, className, children, leading, }) {
149102
+ const names = conversationTopics(topics);
149103
+ if (names.length === 0 && !children && !leading)
149104
+ return null;
149105
+ return (jsxs("div", { className: cn('flex flex-wrap items-center gap-2', className), "data-testid": "conversation-topics", children: [leading, names.map((name) => (jsx("span", { className: "rounded-[5px] bg-gray-100 px-3 py-1 text-xs text-gray-600", children: name }, name))), children] }));
149106
+ }
149107
+
149108
+ const clean$1 = (value) => typeof value === 'string' && value.trim() ? value.trim() : undefined;
149109
+ /** The first human turn of a conversation, from an array or its JSON string form. */
149110
+ function firstHumanMessage(messages) {
149111
+ let turns = messages;
149112
+ if (typeof turns === 'string') {
149113
+ try {
149114
+ turns = JSON.parse(turns);
149115
+ }
149116
+ catch (_a) {
149117
+ return undefined;
149118
+ }
149119
+ }
149120
+ if (!Array.isArray(turns))
149121
+ return undefined;
149122
+ const first = turns[0];
149123
+ return clean$1(first === null || first === void 0 ? void 0 : first.human);
149124
+ }
149125
+ /**
149126
+ * One title for a conversation, on every surface: the backend's `title` when
149127
+ * it has one, else `first_user_message`, else the first human turn, else the
149128
+ * caller's fallback label. Endpoints differ in which of these they return;
149129
+ * this keeps Transcripts and both History tabs naming a conversation alike.
149130
+ */
149131
+ function conversationTitle(source, fallback) {
149132
+ var _a, _b, _c;
149133
+ return ((_c = (_b = (_a = clean$1(source === null || source === void 0 ? void 0 : source.title)) !== null && _a !== void 0 ? _a : clean$1(source === null || source === void 0 ? void 0 : source.first_user_message)) !== null && _b !== void 0 ? _b : firstHumanMessage(source === null || source === void 0 ? void 0 : source.messages)) !== null && _c !== void 0 ? _c : fallback);
149134
+ }
149135
+
149136
+ /**
149137
+ * A conversation's timestamp the way every history surface shows it:
149138
+ * "Sep 4, 2026, 3:56 PM · 21 days ago". Empty for a missing or invalid value.
149139
+ */
149140
+ const formatSessionDate = (value) => {
149141
+ if (!value)
149142
+ return '';
149143
+ const date = new Date(value);
149144
+ if (Number.isNaN(date.getTime()))
149145
+ return '';
149146
+ return `${format$1(date, 'MMM d, yyyy, h:mm a')} · ${formatDistanceToNow(date, { addSuffix: true })}`;
149147
+ };
149148
+
148922
149149
  const offsetFormatCache = {};
148923
149150
  const offsetCache = {};
148924
149151
 
@@ -188019,14 +188246,6 @@ function stripMarkdown(text) {
188019
188246
  * When a conversation happened: the calendar date and time, followed by the
188020
188247
  * relative "x ago" so both the exact day and recency read at a glance.
188021
188248
  */
188022
- const formatSessionDate = (value) => {
188023
- if (!value)
188024
- return '';
188025
- const date = new Date(value);
188026
- if (Number.isNaN(date.getTime()))
188027
- return '';
188028
- return `${format$1(date, 'MMM d, yyyy, h:mm a')} · ${formatDistanceToNow(date, { addSuffix: true })}`;
188029
- };
188030
188249
  /**
188031
188250
  * The list endpoint may serialize `messages` as a JSON string while the detail
188032
188251
  * endpoint returns a proper array; accept either shape.
@@ -188073,11 +188292,6 @@ function downloadTextFile(filename, content, mime) {
188073
188292
  document.body.removeChild(link);
188074
188293
  URL.revokeObjectURL(blobUrl);
188075
188294
  }
188076
- const SENTIMENT_CLASSES = {
188077
- positive: 'bg-green-100 text-green-800 border-transparent',
188078
- negative: 'bg-red-100 text-red-800 border-transparent',
188079
- neutral: 'bg-gray-100 text-gray-600 border-transparent',
188080
- };
188081
188295
  /**
188082
188296
  * Agent scope filter — the same inline searchable autocomplete the Billing
188083
188297
  * tab's Agent Limits section and the Memory tab use (`SearchSelect`): type to
@@ -188141,7 +188355,7 @@ function ConversationMessages({ messages, username, agent, fallbackEmail, }) {
188141
188355
  name: file.name,
188142
188356
  contentType: file.content_type,
188143
188357
  url: file.url,
188144
- })) })] })] }), jsxs("div", { className: "flex items-start gap-3 border-t border-gray-200 pt-4", children: [jsx(AgentMessageAvatar, { agent: agent, fallback: t('chatHistoryChatHistoryTab.aiAvatarLabel') }), jsxs("div", { className: "min-w-0 flex-1 overflow-x-hidden", children: [jsx("div", { className: "font-medium text-gray-700", children: agent.name }), jsx(Markdown, { className: "mt-1 text-sm text-gray-500", children: (_c = message.ai) !== null && _c !== void 0 ? _c : '' })] })] })] }, index));
188358
+ })) })] })] }), jsxs("div", { className: "flex items-start gap-3 border-t border-gray-200 pt-4", children: [jsx(AgentMessageAvatar, { agent: agent, fallback: t('chatHistoryChatHistoryTab.aiAvatarLabel') }), jsxs("div", { className: "min-w-0 flex-1 overflow-x-hidden", children: [jsx(AgentSettingsLink, { uniqueId: agent.uniqueId, name: agent.name, className: "font-medium text-gray-700" }), jsx(Markdown, { className: "mt-1 text-sm text-gray-500", children: (_c = message.ai) !== null && _c !== void 0 ? _c : '' })] })] })] }, index));
188145
188359
  }) }));
188146
188360
  }
188147
188361
  /**
@@ -188150,12 +188364,11 @@ function ConversationMessages({ messages, username, agent, fallbackEmail, }) {
188150
188364
  * download of just this conversation.
188151
188365
  */
188152
188366
  function ConversationPreview({ org, username, session, agent, }) {
188153
- var _a;
188154
188367
  const t = useT();
188155
188368
  const inlineMessages = normalizeMessages(session.messages);
188156
188369
  const { data: detail, isLoading } = useGetUserChatHistorySessionQuery({ org, userId: username, sessionId: session.id }, { skip: inlineMessages.length > 0 });
188157
188370
  const messages = inlineMessages.length > 0 ? inlineMessages : normalizeMessages(detail === null || detail === void 0 ? void 0 : detail.messages);
188158
- const title = stripMarkdown(session.title || ((_a = messages[0]) === null || _a === void 0 ? void 0 : _a.human) || t('chatHistoryChatHistoryTab.conversation'));
188371
+ const title = stripMarkdown(conversationTitle({ title: session.title, first_user_message: session.first_user_message, messages }, t('chatHistoryChatHistoryTab.conversation')));
188159
188372
  if (isLoading) {
188160
188373
  return (jsx("div", { className: "flex items-center justify-center py-10", children: jsx(Spinner, {}) }));
188161
188374
  }
@@ -188192,6 +188405,7 @@ function ChatHistoryTab({ org, username }) {
188192
188405
  var _a;
188193
188406
  const known = agentInfo[session.mentor];
188194
188407
  return {
188408
+ uniqueId: session.mentor || undefined,
188195
188409
  name: session.mentor_name ||
188196
188410
  (known === null || known === void 0 ? void 0 : known.name) ||
188197
188411
  ((_a = filters.agent) === null || _a === void 0 ? void 0 : _a.name) ||
@@ -188204,6 +188418,12 @@ function ChatHistoryTab({ org, username }) {
188204
188418
  const sentimentOptions = ((_a = filterOptions === null || filterOptions === void 0 ? void 0 : filterOptions.sentiment) === null || _a === void 0 ? void 0 : _a.length)
188205
188419
  ? filterOptions.sentiment
188206
188420
  : DEFAULT_SENTIMENTS;
188421
+ const sentimentLabels = React__default.useMemo(() => ({
188422
+ positive: t('chatHistoryChatHistoryTab.positive'),
188423
+ neutral: t('chatHistoryChatHistoryTab.neutral'),
188424
+ negative: t('chatHistoryChatHistoryTab.negative'),
188425
+ userSentiment: t('chatHistoryChatHistoryTab.userSentiment'),
188426
+ }), [t]);
188207
188427
  const sentimentLabel = React__default.useCallback((value) => {
188208
188428
  const key = value.toLowerCase();
188209
188429
  if (key === 'positive')
@@ -188227,22 +188447,18 @@ function ChatHistoryTab({ org, username }) {
188227
188447
  : t('chatHistoryChatHistoryTab.export')] }) })] }) }), isLoading && (jsx("div", { className: "flex w-full flex-1 items-center justify-center py-10", children: jsx(Spinner, {}) })), isError && !isLoading && (jsx("div", { className: "flex flex-1 flex-col items-center justify-center py-6", children: jsx("p", { className: "text-sm text-gray-600", children: isForbidden
188228
188448
  ? t('chatHistoryChatHistoryTab.forbidden')
188229
188449
  : t('chatHistoryChatHistoryTab.loadFailed') }) })), sessions.length === 0 && !isLoading && !isError && (jsx("div", { className: "flex flex-1 flex-col items-center justify-center py-6", children: jsx("p", { className: "text-sm text-gray-600", children: t('chatHistoryChatHistoryTab.noConversations') }) })), sessions.length > 0 && (jsxs("div", { className: "grid min-h-[320px] flex-1 grid-cols-1 gap-6 md:grid-cols-2", children: [jsxs("div", { className: "col-span-full flex min-h-0 flex-col gap-3 md:col-span-1", children: [jsx("div", { className: "scrollbar-hide min-h-0 flex-1 overflow-y-auto rounded-md border border-neutral-200", tabIndex: 0, role: "region", "aria-label": t('chatHistoryChatHistoryTab.conversationListLabel'), children: sessions.map((session) => {
188230
- var _a, _b, _c, _d, _e;
188450
+ var _a;
188231
188451
  const firstMessage = normalizeMessages(session.messages)[0];
188232
- const title = stripMarkdown(session.title ||
188233
- (firstMessage === null || firstMessage === void 0 ? void 0 : firstMessage.human) ||
188234
- session.first_user_message ||
188235
- t('chatHistoryChatHistoryTab.conversation'));
188452
+ const title = stripMarkdown(conversationTitle(session, t('chatHistoryChatHistoryTab.conversation')));
188236
188453
  const preview = stripMarkdown((_a = firstMessage === null || firstMessage === void 0 ? void 0 : firstMessage.ai) !== null && _a !== void 0 ? _a : '');
188237
- const sentiment = (_c = (_b = session.sentiment) === null || _b === void 0 ? void 0 : _b.toLowerCase()) !== null && _c !== void 0 ? _c : '';
188238
188454
  return (jsxs("div", { role: "button", tabIndex: 0, "data-testid": "history-conversation-row", "data-session-id": session.id, className: cn('flex cursor-pointer items-center justify-between border-b border-neutral-200 p-4 last:border-b-0', (selectedSession === null || selectedSession === void 0 ? void 0 : selectedSession.id) === session.id ? 'bg-gray-100' : 'hover:bg-gray-50'), onClick: () => handleConversationClick(session), onKeyDown: (event) => {
188239
188455
  if (event.key === 'Enter' || event.key === ' ') {
188240
188456
  event.preventDefault();
188241
188457
  handleConversationClick(session);
188242
188458
  }
188243
- }, children: [jsxs("div", { className: "w-full", children: [jsxs("div", { className: "mb-2 flex items-center justify-between gap-2", children: [jsxs("span", { className: "flex items-center gap-2 text-sm text-gray-600", children: [formatSessionDate(session.inserted_at), sentiment && (jsx(Badge, { variant: "outline", className: cn('font-normal', (_d = SENTIMENT_CLASSES[sentiment]) !== null && _d !== void 0 ? _d : SENTIMENT_CLASSES.neutral), children: sentimentLabel((_e = session.sentiment) !== null && _e !== void 0 ? _e : '') }))] }), jsx("span", { className: "max-w-[100px] truncate text-sm text-gray-900 sm:max-w-[200px]", children: resolveAgent(session).name })] }), jsx("div", { className: "font-medium text-gray-900", children: textTruncate(title, 50) }), preview && (jsx("p", { className: "line-clamp-1 text-sm text-gray-600", children: textTruncate(preview, 60) }))] }), jsx("div", { className: "flex items-center gap-2 text-sm text-gray-600", children: jsx(ChevronRight, { className: "h-4 w-4" }) })] }, session.id));
188459
+ }, children: [jsxs("div", { className: "w-full", children: [jsxs("div", { className: "mb-2 flex items-center justify-between gap-2", children: [jsx("span", { className: "shrink-0 text-sm text-gray-600", children: formatSessionDate(session.inserted_at) }), jsx(AgentSettingsLink, { uniqueId: resolveAgent(session).uniqueId, name: resolveAgent(session).name, className: "min-w-0 text-right text-sm text-gray-900" })] }), jsx("div", { className: "font-medium text-gray-900", children: textTruncate(title, 50) }), jsx(ConversationTopics, { topics: session.topics, className: "mt-1", leading: jsx(ConversationSentiment, { sentiment: session.sentiment, labels: sentimentLabels, compact: true }) }), preview && (jsx("p", { className: "line-clamp-1 text-sm text-gray-600", children: textTruncate(preview, 60) }))] }), jsx("div", { className: "flex items-center gap-2 text-sm text-gray-600", children: jsx(ChevronRight, { className: "h-4 w-4" }) })] }, session.id));
188244
188460
  }) }), totalPages > 1 && (jsx("div", { className: "flex-shrink-0", children: jsx(IblPagination, { currentPage: page, totalPages: totalPages, onPageChange: setPage, disabled: isFetching || isLoading, disableNumberedButtons: isMobile }) }))] }), jsx("div", { className: "scrollbar-hide hidden min-h-0 flex-col overflow-y-auto rounded-lg border border-neutral-200 bg-white p-6 shadow-sm md:flex", tabIndex: 0, role: "region", "aria-label": t('chatHistoryChatHistoryTab.conversationPreviewLabel'), children: selectedSession ? (jsx(ConversationPreview, { org: org, username: username, session: selectedSession, agent: resolveAgent(selectedSession) })) : (jsx("div", { className: "flex h-full items-center justify-center text-gray-500", children: t('chatHistoryChatHistoryTab.selectPrompt') })) })] })), jsx(Dialog, { open: isPreviewModalOpen, onOpenChange: setIsPreviewModalOpen, children: jsxs(DialogContent, { className: "scrollbar-hide mx-auto max-h-[80vh] max-w-[90vw] overflow-x-hidden overflow-y-auto", children: [jsx(DialogHeader, { children: jsx(DialogTitle, { className: "text-lg font-semibold text-gray-900", children: selectedSession
188245
- ? stripMarkdown(selectedSession.title || t('chatHistoryChatHistoryTab.conversation'))
188461
+ ? stripMarkdown(conversationTitle(selectedSession, t('chatHistoryChatHistoryTab.conversation')))
188246
188462
  : t('chatHistoryChatHistoryTab.conversation') }) }), jsx("div", { className: "mx-auto max-w-full overflow-x-hidden", children: selectedSession && (jsx(ConversationPreview, { org: org, username: username, session: selectedSession, agent: resolveAgent(selectedSession) })) })] }) })] }), jsx(TabsContent, { value: "exports", className: "mt-0 min-h-0 flex-1 overflow-y-auto data-[state=inactive]:hidden", children: jsx(ReportHistory, { org: org, username: username, onDownload: downloadFromUrl }) })] }));
188247
188463
  }
188248
188464
 
@@ -189178,7 +189394,7 @@ function Profile({ tenant, username, tenants, onClose, customization = {}, isAdm
189178
189394
  if (isReadOnly)
189179
189395
  return;
189180
189396
  basicForm.handleSubmit();
189181
- }, className: "max-w-3xl space-y-8", children: [jsxs("div", { className: "grid grid-cols-1 gap-x-5 gap-y-5 md:grid-cols-2", children: [jsxs("div", { className: "space-y-1.5", children: [jsx("label", { htmlFor: "fullName", className: LABEL_CLASS, children: t('profileIndex.labelFullName') }), basicForm.Field({
189397
+ }, className: "space-y-8", children: [jsxs("div", { className: "grid grid-cols-1 gap-x-5 gap-y-5 md:grid-cols-2", children: [jsxs("div", { className: "space-y-1.5", children: [jsx("label", { htmlFor: "fullName", className: LABEL_CLASS, children: t('profileIndex.labelFullName') }), basicForm.Field({
189182
189398
  name: 'fullName',
189183
189399
  validators: {
189184
189400
  onChange: basicValidators.fullName,
@@ -189202,11 +189418,14 @@ function Profile({ tenant, username, tenants, onClose, customization = {}, isAdm
189202
189418
  children: (field) => (jsxs(Select$1, { defaultValue: field.state.value, onValueChange: (value) => field.handleChange(value), disabled: isBusyBasic, children: [jsx(SelectTrigger, { id: "language", className: FIELD_CLASS, "aria-label": t('profileIndex.selectLanguagePlaceholder'), children: jsx(SelectValue, { placeholder: t('profileIndex.selectLanguagePlaceholder') }) }), jsxs(SelectContent, { children: [jsx(SelectItem, { value: "en", children: t('profileIndex.langEnglish') }), jsx(SelectItem, { value: "es", children: t('profileIndex.langSpanish') }), jsx(SelectItem, { value: "fr", children: t('profileIndex.langFrench') })] })] })),
189203
189419
  })] }), jsxs("div", { className: "space-y-1.5 md:col-span-2", children: [jsx("label", { htmlFor: "about", className: LABEL_CLASS, children: t('profileIndex.labelAbout') }), basicForm.Field({
189204
189420
  name: 'about',
189205
- children: (field) => (jsx(Textarea, { id: "about", placeholder: t('profileIndex.placeholderAbout'), className: cn(FIELD_CLASS, 'h-auto resize-none py-2.5 leading-relaxed'), rows: 4, value: field.state.value, onChange: (e) => field.handleChange(e.target.value), disabled: isBusyBasic })),
189421
+ children: (field) => (jsx(Textarea, { id: "about", placeholder: t('profileIndex.placeholderAbout'), className: cn(FIELD_CLASS, 'h-auto resize-none py-2.5 leading-relaxed'),
189422
+ // Without the Features section below, the extra rows use
189423
+ // the space it would have taken.
189424
+ rows: customization.showMentorAIDisplayCheckbox ? 4 : 8, value: field.state.value, onChange: (e) => field.handleChange(e.target.value), disabled: isBusyBasic })),
189206
189425
  })] })] }), customization.showMentorAIDisplayCheckbox && (jsxs("section", { className: "space-y-2.5", "aria-labelledby": "profile-features-heading", children: [jsx("h4", { id: "profile-features-heading", className: "text-sm font-semibold text-gray-900 dark:text-gray-100", children: t('profileIndex.sectionFeatures') }), jsx("div", { className: "divide-y divide-gray-200 rounded-xl border border-gray-200 dark:divide-gray-800 dark:border-gray-800", children: jsxs("div", { className: "flex items-center justify-between gap-4 px-4 py-3.5", children: [jsxs("div", { className: "flex min-w-0 items-center gap-1", children: [jsx("label", { htmlFor: "display-mentor", className: "text-sm font-medium text-gray-700 peer-disabled:cursor-not-allowed peer-disabled:opacity-70 dark:text-gray-300", children: t('profileIndex.checkboxDisplayMentorAI') }), jsx(CardInfoIcon, { description: t('profileIndex.tooltipDisplayMentorAI') })] }), basicForm.Field({
189207
189426
  name: 'displayMentor',
189208
189427
  children: (field) => (jsx(Switch, { className: "data-[state=checked]:bg-blue-600", onCheckedChange: (checked) => field.handleChange(checked), checked: field.state.value, disabled: isBusyBasic, id: "display-mentor" })),
189209
- })] }) })] }))] })), activeTab === 'social' && (jsxs("form", { className: "max-w-2xl space-y-5", onSubmit: (formEvent) => {
189428
+ })] }) })] }))] })), activeTab === 'social' && (jsxs("form", { className: "space-y-5", onSubmit: (formEvent) => {
189210
189429
  formEvent.preventDefault();
189211
189430
  formEvent.stopPropagation();
189212
189431
  if (isReadOnly)
@@ -190623,6 +190842,201 @@ function InvitedUsersDialog({ tenant, onClose }) {
190623
190842
  }, children: jsx(DialogPortal, { forceMount: true, children: jsxs(DialogContent, { "aria-label": t('profileInvitedUsers.dialogAriaLabel'), className: "max-w-sm rounded-2xl px-6 py-8 pointer-events-auto", "aria-describedby": "invited-users-dialog", children: [jsx(DialogHeader, { className: "relative flex-row justify-between", children: jsx(DialogTitle, { className: "text-blue-600 text-xl font-semibold", children: t('profileInvitedUsers.title') }) }), jsxs("div", { className: "mt-4 space-y-1", children: [jsx("p", { className: "text-gray-500 text-sm", children: t('profileInvitedUsers.pendingDescription') }), jsx("form", { children: jsx(Input, { value: query, onChange: (event) => setQuery(event.target.value), placeholder: t('profileInvitedUsers.searchPlaceholder'), className: "mt-2" }) })] }), jsxs("div", { children: [jsx("h2", { className: "text-md text-gray-600 font-semibold mb-4", children: t('profileInvitedUsers.emailHeading') }), invitedUsers === null || invitedUsers === void 0 ? void 0 : invitedUsers.results.map((user) => (jsx("div", { className: "border-b-gray-50 pb-2 mb-4 text-sm text-gray-600 dark:text-gray-400", children: user.email }, user.id))), (invitedUsers === null || invitedUsers === void 0 ? void 0 : invitedUsers.results.length) === 0 && (jsx("p", { className: "text-gray", children: t('profileInvitedUsers.noRecords') }))] })] }) }) }));
190624
190843
  }
190625
190844
 
190845
+ /**
190846
+ * Whether, and how, a retrieved document can be shown inside the app.
190847
+ *
190848
+ * The Datasets tab accepts PDFs, Office files, CSV/TXT/Markdown, images,
190849
+ * audio, video, ZIPs, GitHub repos, YouTube videos, web pages and crawls, and
190850
+ * links to Google Drive, OneDrive and Dropbox. Only some of those a browser
190851
+ * can render on its own; the rest get no Preview button rather than a blank
190852
+ * frame. Decided from the source URL (extension and host) and, when the
190853
+ * backend sends one, the document's kind.
190854
+ */
190855
+ const IMAGE = new Set(['png', 'jpg', 'jpeg', 'gif', 'webp', 'svg', 'bmp', 'avif']);
190856
+ const AUDIO = new Set(['mp3', 'wav', 'ogg', 'oga', 'm4a', 'aac', 'flac']);
190857
+ const VIDEO = new Set(['mp4', 'webm', 'ogv', 'mov', 'm4v']);
190858
+ /** Browsers cannot render these; a frame would only offer a download. */
190859
+ const NOT_VIEWABLE = new Set([
190860
+ 'doc',
190861
+ 'docx',
190862
+ 'ppt',
190863
+ 'pptx',
190864
+ 'xls',
190865
+ 'xlsx',
190866
+ 'odt',
190867
+ 'odp',
190868
+ 'ods',
190869
+ 'rtf',
190870
+ 'zip',
190871
+ 'rar',
190872
+ '7z',
190873
+ 'tar',
190874
+ 'gz',
190875
+ 'tgz',
190876
+ ]);
190877
+ /** Hosts that refuse to be framed, or need the viewer's own sign-in. */
190878
+ const UNFRAMEABLE_HOSTS = [
190879
+ 'github.com',
190880
+ 'dropbox.com',
190881
+ 'onedrive.live.com',
190882
+ '1drv.ms',
190883
+ 'sharepoint.com',
190884
+ ];
190885
+ const hostMatches = (host, domain) => host === domain || host.endsWith(`.${domain}`);
190886
+ const extensionOf = (pathname) => {
190887
+ var _a;
190888
+ const last = (_a = pathname.split('/').pop()) !== null && _a !== void 0 ? _a : '';
190889
+ const dot = last.lastIndexOf('.');
190890
+ return dot > 0 ? last.slice(dot + 1).toLowerCase() : '';
190891
+ };
190892
+ const youtubeEmbed = (url) => {
190893
+ var _a;
190894
+ const host = url.hostname.toLowerCase().replace(/^(www|m)\./, '');
190895
+ let id = null;
190896
+ if (host === 'youtu.be')
190897
+ id = (_a = url.pathname.split('/')[1]) !== null && _a !== void 0 ? _a : null;
190898
+ else if (host === 'youtube.com' || host === 'youtube-nocookie.com') {
190899
+ const [, section, rest] = url.pathname.split('/');
190900
+ if (section === 'watch')
190901
+ id = url.searchParams.get('v');
190902
+ else if (section === 'embed' || section === 'shorts' || section === 'live' || section === 'v')
190903
+ id = rest !== null && rest !== void 0 ? rest : null;
190904
+ }
190905
+ return id && /^[\w-]{6,}$/.test(id) ? `https://www.youtube-nocookie.com/embed/${id}` : null;
190906
+ };
190907
+ const googleEmbed = (url) => {
190908
+ const host = url.hostname.toLowerCase();
190909
+ if (host === 'drive.google.com') {
190910
+ const file = url.pathname.match(/^\/file\/d\/([\w-]+)/);
190911
+ if (file)
190912
+ return `https://drive.google.com/file/d/${file[1]}/preview`;
190913
+ const open = url.pathname === '/open' && url.searchParams.get('id');
190914
+ if (open)
190915
+ return `https://drive.google.com/file/d/${open}/preview`;
190916
+ return null;
190917
+ }
190918
+ if (host === 'docs.google.com') {
190919
+ const doc = url.pathname.match(/^\/(document|spreadsheets|presentation)\/d\/([\w-]+)/);
190920
+ return doc ? `https://docs.google.com/${doc[1]}/d/${doc[2]}/preview` : null;
190921
+ }
190922
+ return null;
190923
+ };
190924
+ /** A kind the backend may name on the document, when it says one. */
190925
+ const kindFromHint = (hint) => {
190926
+ const h = (hint !== null && hint !== void 0 ? hint : '').toLowerCase();
190927
+ if (!h)
190928
+ return null;
190929
+ if (/image|photo|picture/.test(h))
190930
+ return 'image';
190931
+ if (/audio|podcast/.test(h))
190932
+ return 'audio';
190933
+ if (/video(?!.*youtube)/.test(h) && !/youtube/.test(h))
190934
+ return 'video';
190935
+ if (/docx|word|powerpoint|pptx|excel|xlsx|spreadsheet|zip|archive|course/.test(h))
190936
+ return 'none';
190937
+ return null;
190938
+ };
190939
+ /**
190940
+ * `null` when the document cannot be shown here: no URL, a host that refuses
190941
+ * framing, or a file type a browser cannot render (Office files, archives).
190942
+ */
190943
+ function previewPlan(source, hint) {
190944
+ const raw = (source !== null && source !== void 0 ? source : '').trim();
190945
+ if (!/^https?:\/\//i.test(raw))
190946
+ return null;
190947
+ let url;
190948
+ try {
190949
+ url = new URL(raw);
190950
+ }
190951
+ catch (_a) {
190952
+ return null;
190953
+ }
190954
+ const host = url.hostname.toLowerCase();
190955
+ const yt = youtubeEmbed(url);
190956
+ if (yt)
190957
+ return { kind: 'frame', src: yt };
190958
+ // A YouTube page that is not a video (a channel, a playlist) cannot be framed.
190959
+ if (/(^|\.)(youtube\.com|youtu\.be|youtube-nocookie\.com)$/.test(host))
190960
+ return null;
190961
+ const google = googleEmbed(url);
190962
+ if (google)
190963
+ return { kind: 'frame', src: google };
190964
+ if (host === 'drive.google.com' || host === 'docs.google.com')
190965
+ return null;
190966
+ if (host === 'raw.githubusercontent.com')
190967
+ return { kind: 'frame', src: raw };
190968
+ if (UNFRAMEABLE_HOSTS.some((domain) => hostMatches(host, domain)))
190969
+ return null;
190970
+ const hinted = kindFromHint(hint);
190971
+ if (hinted === 'none')
190972
+ return null;
190973
+ if (hinted)
190974
+ return { kind: hinted, src: raw };
190975
+ const ext = extensionOf(url.pathname);
190976
+ if (IMAGE.has(ext))
190977
+ return { kind: 'image', src: raw };
190978
+ if (AUDIO.has(ext))
190979
+ return { kind: 'audio', src: raw };
190980
+ if (VIDEO.has(ext))
190981
+ return { kind: 'video', src: raw };
190982
+ if (NOT_VIEWABLE.has(ext))
190983
+ return null;
190984
+ // PDFs, text, CSV, Markdown, HTML, JSON and extension-less API URLs: the
190985
+ // browser renders these itself (its PDF viewer, or as text or a page).
190986
+ return { kind: 'frame', src: raw };
190987
+ }
190988
+
190989
+ /** The shape a retrieved document is listed by: the session query's `VectorResult`
190990
+ * and a transcript's `TranscriptRetrievedDocument` both satisfy it. */
190991
+ /** Only `http(s)` sources are links; a bare file name or dataset id is not. */
190992
+ const isHttpUrl = (value) => /^https?:\/\//i.test((value !== null && value !== void 0 ? value : '').trim());
190993
+ /** `0.7` → `70`; anything unusable → undefined. */
190994
+ const relevancePercent = (score) => typeof score === 'number' && Number.isFinite(score)
190995
+ ? Math.round(Math.max(0, Math.min(1, score)) * 100)
190996
+ : undefined;
190997
+ /**
190998
+ * The document's URL with a text fragment for the matched passage's opening
190999
+ * words, so a browser that supports fragments (Chromium for HTML pages) opens
191000
+ * the page scrolled to, and highlighting, the passage. PDFs and other
191001
+ * viewers ignore it; a frame cannot honour it, so only new-tab links get it.
191002
+ */
191003
+ const deepLink = (url, snippet) => {
191004
+ const words = (snippet !== null && snippet !== void 0 ? snippet : '').replace(/\s+/g, ' ').trim().split(' ').slice(0, 8).join(' ');
191005
+ const text = words.replace(/[\s.,;:!?"'”’)\]]+$/, '');
191006
+ if (text.length < 12)
191007
+ return url;
191008
+ return `${url.split('#')[0]}#:~:text=${encodeURIComponent(text)}`;
191009
+ };
191010
+ const hostOf = (value) => {
191011
+ try {
191012
+ return new URL(value).host;
191013
+ }
191014
+ catch (_a) {
191015
+ return '';
191016
+ }
191017
+ };
191018
+ /**
191019
+ * One retrieved document: its title (a new-tab link when the source is a
191020
+ * URL), its relevance, the matched passage, and — for URLs — a preview the
191021
+ * reader can open (the title link beside it still opens the source in a new
191022
+ * tab).
191023
+ */
191024
+ function RetrievedDocumentRow({ doc }) {
191025
+ var _a, _b;
191026
+ const t = useT();
191027
+ const [previewOpen, setPreviewOpen] = React.useState(false);
191028
+ const source = ((_a = doc.source) !== null && _a !== void 0 ? _a : '').trim();
191029
+ const url = isHttpUrl(source) ? source : null;
191030
+ const title = doc.title || (url ? hostOf(url) : source);
191031
+ const relevance = relevancePercent(doc.score);
191032
+ const openHref = url ? deepLink(url, doc.snippet) : null;
191033
+ // Preview only what a browser can show; Office files, archives and
191034
+ // unframeable hosts get no button rather than a blank frame.
191035
+ const preview = previewPlan(source, doc.type);
191036
+ return (jsx("div", { className: "rounded-lg p-2 hover:bg-gray-50", "data-testid": "retrieved-document", children: jsxs("div", { className: "flex items-start gap-2", children: [jsx(Radio$1, { className: "mt-1 h-4 w-4 text-gray-400" }), jsxs("div", { className: "min-w-0 flex-1 space-y-1", children: [jsxs("div", { className: "flex items-start justify-between gap-2", children: [jsx("div", { className: "min-w-0", children: url ? (jsxs("a", { href: openHref !== null && openHref !== void 0 ? openHref : url, target: "_blank", rel: "noopener noreferrer", className: "inline-flex min-w-0 items-center gap-1 text-sm font-semibold text-[#646464] hover:text-blue-600", "aria-label": t('documentSidebar.openInNewTab', { title }), "data-testid": "retrieved-document-link", children: [jsx("span", { className: "min-w-0 break-words", children: title }), jsx(SquareArrowOutUpRight, { className: "h-3.5 w-3.5 shrink-0", "aria-hidden": "true" })] })) : (jsx("span", { className: "text-sm font-semibold break-words text-[#646464]", children: title })) }), relevance !== undefined && (jsx("span", { className: "shrink-0 rounded-[5px] bg-blue-50 px-2 py-0.5 text-xs text-blue-700", title: t('documentSidebar.relevanceHint'), "data-testid": "retrieved-document-relevance", children: t('documentSidebar.relevance', { percent: relevance }) }))] }), preview && (jsxs("div", { className: "pt-1", children: [jsxs(Button$1, { type: "button", variant: "outline", size: "sm", onClick: () => setPreviewOpen(true), className: "h-7 gap-1.5 px-2.5 text-xs", "data-testid": "retrieved-document-preview-toggle", children: [jsx(Eye, { className: "h-3.5 w-3.5", "aria-hidden": "true" }), t('documentSidebar.preview')] }), jsx(Dialog, { open: previewOpen, onOpenChange: setPreviewOpen, children: jsxs(DialogContent, { className: "flex flex-col gap-0 overflow-hidden rounded-lg p-0",
191037
+ // Inline: the size must not depend on a host's Tailwind scan.
191038
+ style: { width: '94vw', maxWidth: '94vw', height: '92vh' }, "data-testid": "retrieved-document-preview", children: [jsxs(DialogHeader, { className: "border-b border-gray-200 bg-white px-5 py-3 pr-12 text-left", children: [jsxs(DialogTitle, { className: "flex min-w-0 items-center gap-2 text-base font-semibold text-gray-800", children: [jsx("span", { className: "min-w-0 truncate", children: title }), jsx("a", { href: (_b = openHref !== null && openHref !== void 0 ? openHref : url) !== null && _b !== void 0 ? _b : undefined, target: "_blank", rel: "noopener noreferrer", className: "inline-flex shrink-0 items-center text-blue-600 hover:text-blue-700", "aria-label": t('documentSidebar.openInNewTab', { title }), children: jsx(SquareArrowOutUpRight, { className: "h-4 w-4", "aria-hidden": "true" }) })] }), jsx(DialogDescription, { className: "flex flex-wrap items-center gap-2 text-xs text-gray-500", children: relevance !== undefined && (jsx("span", { className: "rounded-[5px] bg-blue-50 px-2 py-0.5 text-blue-700", children: t('documentSidebar.relevance', { percent: relevance }) })) })] }), jsx("div", { className: "flex min-h-0 flex-1 items-center justify-center bg-gray-100", children: preview.kind === 'image' ? (jsx("img", { src: preview.src, alt: title, className: "h-full w-full object-contain" })) : preview.kind === 'audio' ? (jsx("audio", { src: preview.src, controls: true, className: "w-full max-w-2xl px-6" })) : preview.kind === 'video' ? (jsx("video", { src: preview.src, controls: true, className: "h-full w-full bg-black" })) : (jsx("iframe", { src: preview.src, title: title, referrerPolicy: "no-referrer", allow: "fullscreen; autoplay; encrypted-media; picture-in-picture", className: "h-full w-full border-0 bg-white" })) })] }) })] })), jsx("p", { className: "line-clamp-6 pt-[10px] text-[14px] text-gray-600", children: doc.snippet })] })] }) }));
191039
+ }
190626
191040
  function DocumentSidebar({ isModal = false, sessionId = '', documents, }) {
190627
191041
  const t = useT();
190628
191042
  const [isCollapsed, setIsCollapsed] = React.useState(false);
@@ -190655,10 +191069,7 @@ function DocumentSidebar({ isModal = false, sessionId = '', documents, }) {
190655
191069
  backgroundColor: isCollapsed && !isModal ? 'white' : '#F3F6FB',
190656
191070
  // In the dialog the parent bounds the height; the rail caps itself.
190657
191071
  maxHeight: isModal ? undefined : 'calc(100vh - 80px)',
190658
- }, children: jsxs("div", { className: "flex h-full min-h-0 flex-col", children: [!isModal && (jsxs("div", { className: cn('flex cursor-pointer items-center gap-2 border-b border-gray-200 p-4 transition-colors duration-200', isCollapsed && 'h-[80px] justify-center rounded-tl-[5px] rounded-bl-[5px] p-2', 'hover:bg-blue-100'), onClick: toggleCollapse, style: { backgroundColor: '#F3F6FB' }, children: [jsx(FileText, { className: "h-5 w-5 shrink-0 text-blue-600" }), !isCollapsed && (jsxs(Fragment$1, { children: [jsx("h2", { className: "text-base font-medium text-[#646464]", children: t('documentSidebar.retrievedDocuments') }), jsx(ChevronRight, { className: cn('ml-auto h-4 w-4 text-gray-400 transition-transform', isCollapsed ? 'rotate-180' : '') })] }))] })), (!isCollapsed || isModal) && (jsx(Fragment$1, { children: jsx("div", { className: "min-h-0 flex-1 overflow-auto", style: { backgroundColor: '#F3F6FB' }, children: jsx("div", { className: "mt-0 space-y-1 p-2", children: vectorDocuments.map((doc, index) => {
190659
- var _a, _b;
190660
- return (jsxs(React.Fragment, { children: [jsx("div", { className: "rounded-lg p-2 hover:bg-gray-50", children: jsxs("div", { className: "flex items-start gap-2", children: [jsx(Radio$1, { className: "mt-1 h-4 w-4 text-gray-400" }), jsxs("div", { className: "min-w-0 flex-1 space-y-1", children: [jsxs("div", { className: "flex items-center justify-between", children: [jsx(Link$2, { href: (_a = doc.source) !== null && _a !== void 0 ? _a : '', target: "_blank", className: "min-w-0", children: jsx("span", { className: "text-sm font-semibold break-words text-[#646464] hover:text-blue-600", children: doc.title }) }), jsx("div", { className: "flex items-center gap-2 self-center", children: jsx("span", { className: "text-xs text-gray-500", children: (_b = doc === null || doc === void 0 ? void 0 : doc.score) === null || _b === void 0 ? void 0 : _b.toFixed(2) }) })] }), jsx("p", { className: "line-clamp-6 pt-[10px] text-[14px] text-gray-600", children: doc.snippet })] })] }) }), index < vectorDocuments.length - 1 && (jsx("div", { className: "my-2 border-t border-gray-200" }))] }, index));
190661
- }) }) }) }))] }) })) : null }));
191072
+ }, children: jsxs("div", { className: "flex h-full min-h-0 flex-col", children: [!isModal && (jsxs("div", { className: cn('flex cursor-pointer items-center gap-2 border-b border-gray-200 p-4 transition-colors duration-200', isCollapsed && 'h-[80px] justify-center rounded-tl-[5px] rounded-bl-[5px] p-2', 'hover:bg-blue-100'), onClick: toggleCollapse, style: { backgroundColor: '#F3F6FB' }, children: [jsx(FileText, { className: "h-5 w-5 shrink-0 text-blue-600" }), !isCollapsed && (jsxs(Fragment$1, { children: [jsx("h2", { className: "text-base font-medium text-[#646464]", children: t('documentSidebar.retrievedDocuments') }), jsx(ChevronRight, { className: cn('ml-auto h-4 w-4 text-gray-400 transition-transform', isCollapsed ? 'rotate-180' : '') })] }))] })), (!isCollapsed || isModal) && (jsx(Fragment$1, { children: jsx("div", { className: "min-h-0 flex-1 overflow-auto", style: { backgroundColor: '#F3F6FB' }, children: jsx("div", { className: "mt-0 space-y-1 p-2", children: vectorDocuments.map((doc, index) => (jsxs(React.Fragment, { children: [jsx(RetrievedDocumentRow, { doc: doc }), index < vectorDocuments.length - 1 && (jsx("div", { className: "my-2 border-t border-gray-200" }))] }, index))) }) }) }))] }) })) : null }));
190662
191073
  }
190663
191074
 
190664
191075
  /**
@@ -201141,7 +201552,7 @@ function MemoryAdminTab({ tenantKey, username }) {
201141
201552
  return (jsxs("div", { className: "space-y-6", children: [jsx(Skeleton, { className: "h-10 w-full max-w-sm rounded-lg" }), jsx(Skeleton, { className: "h-40 w-full rounded-lg" })] }));
201142
201553
  }
201143
201554
  if (!isError && memsearchStatus && !memsearchStatus.enable_memsearch) {
201144
- return (jsx("div", { className: "max-w-2xl", children: jsx("div", { className: "rounded-lg border px-6 py-8 text-center", style: { borderColor: 'oklch(.922 0 0)' }, children: jsx("p", { className: "text-sm text-gray-500", children: t('memoryAdminTab.featureDisabled') }) }) }));
201555
+ return (jsx("div", { children: jsx("div", { className: "rounded-lg border px-6 py-8 text-center", style: { borderColor: 'oklch(.922 0 0)' }, children: jsx("p", { className: "text-sm text-gray-500", children: t('memoryAdminTab.featureDisabled') }) }) }));
201145
201556
  }
201146
201557
  return (jsxs(Tabs, { defaultValue: "global-memories", "aria-label": t('memoryAdminTab.tabsAriaLabel'), children: [jsxs(TabsList, { "aria-label": t('memoryAdminTab.tabsAriaLabel'), className: "max-w-full overflow-x-auto justify-start px-1", children: [jsx(TabsTrigger, { "data-testid": "memory-admin-sub-tab-global", value: "global-memories", children: t('memoryAdminTab.tabGlobalMemories') }), jsx(TabsTrigger, { "data-testid": "memory-admin-sub-tab-agent", value: "agent-memories", children: t('memoryAdminTab.tabAgentMemories') })] }), jsx(TabsContent, { className: "mt-4", value: "global-memories", children: jsx(GlobalMemoriesSection, { tenantKey: tenantKey, username: username }) }), jsx(TabsContent, { className: "mt-4", value: "agent-memories", children: jsx(AgentMemoriesSection, { tenantKey: tenantKey, username: username }) })] }));
201147
201558
  }
@@ -201818,7 +202229,7 @@ function VirtualMachineAdminTab({ tenantKey, username, defaultTab = 'network-pol
201818
202229
  return (jsxs("div", { className: "space-y-6", "data-testid": "vm-admin-loading", children: [jsx(Skeleton, { className: "h-10 w-full max-w-sm rounded-lg" }), jsx(Skeleton, { className: "h-40 w-full rounded-lg" })] }));
201819
202230
  }
201820
202231
  if (policiesForbidden && secretsForbidden) {
201821
- return (jsx("div", { className: "max-w-2xl", children: jsx("div", { className: "rounded-lg border px-6 py-8 text-center", style: { borderColor: 'oklch(.922 0 0)' }, "data-testid": "vm-admin-forbidden", children: jsx("p", { className: "text-sm text-gray-500", children: t('virtualMachineAdminTab.forbidden') }) }) }));
202232
+ return (jsx("div", { children: jsx("div", { className: "rounded-lg border px-6 py-8 text-center", style: { borderColor: 'oklch(.922 0 0)' }, "data-testid": "vm-admin-forbidden", children: jsx("p", { className: "text-sm text-gray-500", children: t('virtualMachineAdminTab.forbidden') }) }) }));
201822
202233
  }
201823
202234
  const initialTab = (defaultTab === 'secrets' && !secretsForbidden) || policiesForbidden
201824
202235
  ? 'secrets'
@@ -235139,43 +235550,6 @@ const useTranscripts = ({ tenantKey, mentorId, usergroupIds, }) => {
235139
235550
  };
235140
235551
  };
235141
235552
 
235142
- /**
235143
- * An agent named in a stats row, clickable to re-scope the whole analytics
235144
- * page to that agent — the same thing the control bar's picker does, reached
235145
- * from the data instead of from a search box.
235146
- *
235147
- * It renders as plain text wherever re-scoping is impossible or pointless: on
235148
- * per-agent pages (no picker, so nothing would visibly change), on rows whose
235149
- * agent the payload identifies by name alone, and on rows of the agent the
235150
- * page is already scoped to (every row, once the picker names one agent — a
235151
- * blue link there promised something and delivered nothing). Safe inside
235152
- * clickable rows and cards — neither its clicks nor its key presses reach
235153
- * their handlers.
235154
- */
235155
- function AgentScopeLink({ uniqueId, name, fallback = '-', onScoped, className, testId, }) {
235156
- const t = useT();
235157
- const setScopedMentor = useAnalyticsScopeSetter();
235158
- const { scopedMentor } = useAnalyticsScope();
235159
- const display = name || uniqueId || fallback;
235160
- const isCurrent = !!uniqueId && (scopedMentor === null || scopedMentor === void 0 ? void 0 : scopedMentor.uniqueId) === uniqueId;
235161
- if (!setScopedMentor || !uniqueId || isCurrent) {
235162
- return (jsx("span", { className: className, "data-testid": testId, children: display }));
235163
- }
235164
- return (jsx("button", { type: "button", onClick: (event) => {
235165
- event.stopPropagation();
235166
- // No `dbId`: these payloads carry the `unique_id` only. AnalyticsLayout
235167
- // resolves the rest before the scope reaches anyone — see
235168
- // AnalyticsScopedMentor.
235169
- setScopedMentor({ uniqueId, name: name || uniqueId });
235170
- onScoped === null || onScoped === void 0 ? void 0 : onScoped();
235171
- },
235172
- // Rows that open on Enter/Space would otherwise swallow the key press.
235173
- onKeyDown: (event) => event.stopPropagation(),
235174
- // Truncates inside an `inline-flex` box so the name keeps the baseline
235175
- // of the "Agent:" label beside it (see UserProfileLink).
235176
- className: cn('inline-flex max-w-full cursor-pointer text-left hover:text-blue-600 hover:underline focus:text-blue-600 focus:outline-none', className), "aria-label": t('analyticsAgentScopeLink.scopeToAgent', { name: display }), "data-testid": testId, children: jsx("span", { className: "min-w-0 truncate", children: display }) }));
235177
- }
235178
-
235179
235553
  /**
235180
235554
  * Attachments on a transcript turn. A turn can carry files with no text at
235181
235555
  * all (an uploaded image and nothing else), so the bubble renders these even
@@ -235614,6 +235988,36 @@ const getMessageContent = (content) => {
235614
235988
  }
235615
235989
  return '';
235616
235990
  };
235991
+ /**
235992
+ * The person behind a transcript, in the detail pane: who they are — their
235993
+ * full name when it is a real one, else their username — and their email,
235994
+ * each opening the shared profile viewer. Nobody at all reads "Anonymous".
235995
+ */
235996
+ function TranscriptUserLines({ source, tenantKey, currentSPA, }) {
235997
+ const t = useT();
235998
+ const identity = resolveUserIdentity(source, {
235999
+ anonymousLabel: t('analyticsAnalyticsTranscriptsStats.anonymous'),
236000
+ });
236001
+ const realName = hasDistinctName(identity.name, identity.profileUsername, identity.username)
236002
+ ? identity.name
236003
+ : undefined;
236004
+ const who = realName
236005
+ ? { label: t('analyticsAnalyticsTranscriptsStats.labelFullName'), value: realName }
236006
+ : identity.username
236007
+ ? {
236008
+ label: t('analyticsAnalyticsTranscriptsStats.labelUsername'),
236009
+ value: identity.username,
236010
+ }
236011
+ : null;
236012
+ const email = identity.email
236013
+ ? { label: t('analyticsAnalyticsTranscriptsStats.labelEmail'), value: identity.email }
236014
+ : null;
236015
+ const link = (display) => (jsx(UserProfileLink, { currentSPA: currentSPA, tenantKey: tenantKey, username: identity.profileUsername, display: display }));
236016
+ if (!who && !email) {
236017
+ return (jsxs("div", { children: [t('analyticsAnalyticsTranscriptsStats.labelUser'), " ", link(identity.label)] }));
236018
+ }
236019
+ return (jsxs(Fragment$1, { children: [who && (jsxs("div", { children: [who.label, " ", link(who.value)] })), email && (jsxs("div", { children: [email.label, " ", link(email.value)] }))] }));
236020
+ }
235617
236021
  /**
235618
236022
  * The model as the nav bar shows it (logo + display name); hosts may override
235619
236023
  * via `turnDetails.renderModel`. The catalogue is read for the tenant and the
@@ -235656,14 +236060,14 @@ function TranscriptDocumentsButton({ detail, className, }) {
235656
236060
  return (jsx(RetrievedDocumentsButton, { sessionId: sessionId, documents: documents.length > 0 ? documents : undefined, className: className }));
235657
236061
  }
235658
236062
  function AnalyticsTranscriptsStats({ tenantKey, currentSPA, mentorId, selectedMentorId, usergroupIds, turnDetails, }) {
235659
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
236063
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
235660
236064
  const t = useT();
235661
- // Who a row belongs to, by the shared identity rule: the translated
235662
- // "Anonymous" when the row names nobody (a bare "-" read as missing data).
235663
- const identifyUser = React__default.useCallback((source, order) => resolveUserIdentity(source, {
235664
- order,
235665
- anonymousLabel: t('analyticsAnalyticsTranscriptsStats.anonymous'),
235666
- }).label, [t]);
236065
+ const sentimentLabels = React__default.useMemo(() => ({
236066
+ positive: t('analyticsAnalyticsTranscriptsStats.sentimentPositive'),
236067
+ neutral: t('analyticsAnalyticsTranscriptsStats.sentimentNeutral'),
236068
+ negative: t('analyticsAnalyticsTranscriptsStats.sentimentNegative'),
236069
+ userSentiment: t('analyticsAnalyticsTranscriptsStats.userSentiment'),
236070
+ }), [t]);
235667
236071
  const currentMentorId = useScopedMentorId(selectedMentorId, mentorId);
235668
236072
  const [isModalOpen, setIsModalOpen] = useState(false);
235669
236073
  const searchParams = useSearchParams();
@@ -235674,6 +236078,13 @@ function AnalyticsTranscriptsStats({ tenantKey, currentSPA, mentorId, selectedMe
235674
236078
  // badge. Hosts that browse across agents (the LMS analytics route) pass no
235675
236079
  // mentorId, so the transcript's own agent is the only correct scope.
235676
236080
  const detailMentorId = ((_a = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _a === void 0 ? void 0 : _a.mentor_unique_id) || currentMentorId;
236081
+ // The detail's model badge shows the model's own provider: the summary's
236082
+ // when the backend sends one, else the list row's for this session (the
236083
+ // source the cards use, so both columns agree), and only then the turns'
236084
+ // `metadata.llm_provider` — which for a routed model such as ibl.ai Pro
236085
+ // names the provider underneath (openai), not the model's own.
236086
+ const selectedRow = (_b = transcriptsMessagesData === null || transcriptsMessagesData === void 0 ? void 0 : transcriptsMessagesData.results) === null || _b === void 0 ? void 0 : _b.find((row) => row.session === selectedTranscript);
236087
+ const detailProvider = (_d = (_c = providerOf(transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary)) !== null && _c !== void 0 ? _c : providerOf(selectedRow)) !== null && _d !== void 0 ? _d : providerOfTurns(transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.messages);
235677
236088
  // Read session_id from URL on mount and select the transcript
235678
236089
  useEffect(() => {
235679
236090
  const sessionIdParam = searchParams === null || searchParams === void 0 ? void 0 : searchParams.get('session_id');
@@ -235775,46 +236186,37 @@ function AnalyticsTranscriptsStats({ tenantKey, currentSPA, mentorId, selectedMe
235775
236186
  };
235776
236187
  // Transcript Detail Component (reusable for both desktop and mobile)
235777
236188
  const TranscriptDetail = ({ className = '' }) => {
235778
- var _a, _b, _c, _d, _e, _f, _g, _h;
236189
+ var _a, _b, _c, _d, _e, _f;
235779
236190
  return (jsx("div", { className: cn('h-full flex flex-col', className), children: !selectedTranscript ? (jsx("div", { className: "flex items-center justify-center h-full text-gray-400", children: jsxs("div", { className: "text-center", children: [jsx(ArrowLeft, { className: "h-6 w-6 mx-auto mb-2" }), jsx("p", { children: t('analyticsAnalyticsTranscriptsStats.selectConversation') })] }) })) : isLoadingTranscriptsMessagesDetailsData ? (
235780
236191
  /* Loading state */
235781
236192
  jsx("div", { className: "flex items-center justify-center h-full text-gray-400", children: jsxs("div", { className: "text-center", children: [jsx("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500 mx-auto mb-3", "aria-hidden": "true" }), jsx("p", { children: t('analyticsAnalyticsTranscriptsStats.loadingTranscript') })] }) })) : isErrorTranscriptsMessagesDetailsData || !transcriptsMessagesDetailsData ? (
235782
236193
  /* Error or no data state */
235783
236194
  jsx("div", { className: "flex items-center justify-center h-full text-gray-400", children: jsxs("div", { className: "text-center", children: [jsx(X$1, { className: "h-6 w-6 mx-auto mb-2 text-red-400" }), jsx("p", { children: t('analyticsAnalyticsTranscriptsStats.noTranscriptDetails') }), jsx("p", { className: "text-sm mt-1", children: t('analyticsAnalyticsTranscriptsStats.unableToLoadTranscript') })] }) })) : (
235784
236195
  /* Data loaded successfully */
235785
- jsxs(Fragment$1, { children: [jsxs("div", { className: "mb-4 flex-shrink-0", children: [jsx("h2", { className: "text-lg font-semibold mb-2", children: t('analyticsAnalyticsTranscriptsStats.conversationTranscript') }), jsxs("div", { className: "text-sm text-gray-500", children: [jsxs("div", { children: [t('analyticsAnalyticsTranscriptsStats.labelUser'), ' ', jsx(UserProfileLink, { currentSPA: currentSPA, tenantKey: tenantKey, username: (_a = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _a === void 0 ? void 0 : _a.username, display: identifyUser(transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) })] }), jsxs("div", { children: [t('analyticsAnalyticsTranscriptsStats.labelAgent'), ' ', jsx(AgentScopeLink, { uniqueId: (_b = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _b === void 0 ? void 0 : _b.mentor_unique_id, name: (_c = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _c === void 0 ? void 0 : _c.mentor })] }), jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [t('analyticsAnalyticsTranscriptsStats.labelModel'), ' ', ((_d = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _d === void 0 ? void 0 : _d.model)
235786
- ? ((_e = turnDetails === null || turnDetails === void 0 ? void 0 : turnDetails.renderModel) !== null && _e !== void 0 ? _e : renderModelBadge)({
236196
+ jsxs(Fragment$1, { children: [jsxs("div", { className: "mb-4 flex-shrink-0", children: [jsx("h2", { className: "text-lg font-semibold mb-2", children: t('analyticsAnalyticsTranscriptsStats.conversationTranscript') }), jsxs("div", { className: "text-sm text-gray-500", children: [jsx(TranscriptUserLines, { source: transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary, tenantKey: tenantKey, currentSPA: currentSPA }), jsxs("div", { children: [t('analyticsAnalyticsTranscriptsStats.labelAgent'), ' ', jsx(AgentSettingsLink, { uniqueId: (_a = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _a === void 0 ? void 0 : _a.mentor_unique_id, name: (_b = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _b === void 0 ? void 0 : _b.mentor })] }), jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [t('analyticsAnalyticsTranscriptsStats.labelModel'), ' ', ((_c = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _c === void 0 ? void 0 : _c.model)
236197
+ ? ((_d = turnDetails === null || turnDetails === void 0 ? void 0 : turnDetails.renderModel) !== null && _d !== void 0 ? _d : renderModelBadge)({
235787
236198
  model: transcriptsMessagesDetailsData.summary.model,
235788
- provider: (_f = providerOf(transcriptsMessagesDetailsData.summary)) !== null && _f !== void 0 ? _f : providerOfTurns(transcriptsMessagesDetailsData.messages),
236199
+ provider: detailProvider,
235789
236200
  tenantKey,
235790
236201
  mentorId: detailMentorId,
235791
236202
  })
235792
- : '-'] }), jsx(TranscriptDocumentsButton, { detail: transcriptsMessagesDetailsData, className: "mt-2" })] })] }), jsx("div", { className: "flex-1 overflow-y-auto space-y-4 min-h-0", children: ((_g = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.messages) === null || _g === void 0 ? void 0 : _g.length) > 0 ? ((_h = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.messages) === null || _h === void 0 ? void 0 : _h.map((message, index) => {
236203
+ : '-'] }), jsx(TranscriptDocumentsButton, { detail: transcriptsMessagesDetailsData, className: "mt-2" })] })] }), jsx("div", { className: "flex-1 overflow-y-auto space-y-4 min-h-0", children: ((_e = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.messages) === null || _e === void 0 ? void 0 : _e.length) > 0 ? ((_f = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.messages) === null || _f === void 0 ? void 0 : _f.map((message, index) => {
235793
236204
  var _a, _b;
235794
236205
  return (jsxs(React__default.Fragment, { children: [((message === null || message === void 0 ? void 0 : message.human) || !!((_a = message === null || message === void 0 ? void 0 : message.human_files) === null || _a === void 0 ? void 0 : _a.length)) && (jsxs("div", { className: `p-3 rounded-lg bg-blue-100 ml-4`, children: [jsx("div", { className: "flex justify-between items-start mb-1", children: jsx("span", { className: "font-medium text-sm", children: t('analyticsAnalyticsTranscriptsStats.roleUser') }) }), message.human && (jsx("p", { className: "text-sm", children: getMessageContent(message.human) })), jsx(TranscriptFiles, { files: message.human_files })] }, `${index}-human`)), ((message === null || message === void 0 ? void 0 : message.ai) || !!((_b = message === null || message === void 0 ? void 0 : message.ai_files) === null || _b === void 0 ? void 0 : _b.length)) && (jsxs("div", { className: `p-3 rounded-lg bg-white mr-4`, children: [jsx("div", { className: "flex justify-between items-start mb-1", children: jsx("span", { className: "font-medium text-sm", children: t('analyticsAnalyticsTranscriptsStats.roleAgent') }) }), message.ai && jsx(Markdown, { children: getMessageContent(message.ai) }), jsx(TranscriptFiles, { files: message.ai_files }), jsx(TranscriptTurnDetails, { turn: message, tenantKey: tenantKey, mentorId: detailMentorId, ...turnDetails })] }, `${index}-ai`))] }, index));
235795
236206
  })) : (jsx("div", { className: "text-center text-gray-500 py-8", children: jsx("p", { children: t('analyticsAnalyticsTranscriptsStats.noMessages') }) })) })] })) }));
235796
236207
  };
235797
- return (jsxs("div", { className: "space-y-8", children: [jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 mb-6", children: [jsx(StatCard, { title: t('analyticsAnalyticsTranscriptsStats.avgMessagesPerConversation'), value: ((_b = transcriptsConversationHeadlineData === null || transcriptsConversationHeadlineData === void 0 ? void 0 : transcriptsConversationHeadlineData.avg_messages_per_conversation) === null || _b === void 0 ? void 0 : _b.value) || 0, percentage: ((_c = transcriptsConversationHeadlineData === null || transcriptsConversationHeadlineData === void 0 ? void 0 : transcriptsConversationHeadlineData.avg_messages_per_conversation) === null || _c === void 0 ? void 0 : _c.percentage_change) ||
235798
- undefined, loading: isLoadingTranscriptsConversationHeadlineData, description: t('analyticsAnalyticsTranscriptsStats.avgMessagesPerConversationDescription') }), jsx(StatCard, { title: t('analyticsAnalyticsTranscriptsStats.avgCostPerConversation'), value: Number(((_d = transcriptsConversationHeadlineData === null || transcriptsConversationHeadlineData === void 0 ? void 0 : transcriptsConversationHeadlineData.avg_cost_per_conversation) === null || _d === void 0 ? void 0 : _d.value) || 0).toFixed(2), percentage: ((_e = transcriptsConversationHeadlineData === null || transcriptsConversationHeadlineData === void 0 ? void 0 : transcriptsConversationHeadlineData.avg_cost_per_conversation) === null || _e === void 0 ? void 0 : _e.percentage_change) ||
235799
- undefined, showDollarSign: true, loading: isLoadingTranscriptsConversationHeadlineData, description: t('analyticsAnalyticsTranscriptsStats.avgCostPerConversationDescription') }), jsx(StatCard, { title: t('analyticsAnalyticsTranscriptsStats.avgRating'), value: ((_f = transcriptsConversationHeadlineData === null || transcriptsConversationHeadlineData === void 0 ? void 0 : transcriptsConversationHeadlineData.avg_rating) === null || _f === void 0 ? void 0 : _f.value) || 0, percentage: ((_g = transcriptsConversationHeadlineData === null || transcriptsConversationHeadlineData === void 0 ? void 0 : transcriptsConversationHeadlineData.avg_rating) === null || _g === void 0 ? void 0 : _g.percentage_change) || undefined, loading: isLoadingTranscriptsConversationHeadlineData, description: t('analyticsAnalyticsTranscriptsStats.avgRatingDescription') })] }), jsxs("div", { className: "flex h-[calc(100vh-120px)]", children: [jsxs("div", { className: "w-full md:w-2/3 md:pr-6 overflow-y-auto md:border-r border-gray-200 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]", children: [jsx("div", { className: "mb-6", children: jsxs("div", { className: "flex gap-2 mb-4 items-center", children: [jsxs("div", { className: "relative", children: [jsx(Search, { className: "absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 h-4 w-4" }), jsx(Input, { placeholder: t('analyticsAnalyticsTranscriptsStats.placeholderTopics'), value: filters.topicSearch, onChange: (e) => setFilters({ ...filters, topicSearch: e.target.value }), className: "pl-10 w-[200px]" })] }), jsx("div", { className: "w-[200px]", children: jsx(UserFilterSelect, { tenantKey: tenantKey, value: filters.userSearch, onChange: (username) => setFilters({ ...filters, userSearch: username }), showSelfOption: false, className: "bg-transparent" }) }), isFetchingTranscriptsMessagesData && (filters.userSearch || filters.topicSearch) ? (jsx("div", { className: "animate-spin rounded-full h-5 w-5 border-b-2 border-blue-500 ml-2", "aria-hidden": "true" })) : (jsx(Button$1, { variant: "outline", onClick: handleClearFilters, className: "whitespace-nowrap", children: t('analyticsAnalyticsTranscriptsStats.clearAll') }))] }) }), jsxs("div", { className: "bg-gray-50 p-4 rounded-lg mb-6", children: [jsxs("div", { className: "flex flex-wrap gap-x-8 gap-y-2 text-sm text-gray-600", children: [jsxs("div", { "aria-label": t('analyticsAnalyticsTranscriptsStats.ariaTotalConversations'), children: [transcriptsMessagesData === null || transcriptsMessagesData === void 0 ? void 0 : transcriptsMessagesData.summary.total_conversations, ' ', t('analyticsAnalyticsTranscriptsStats.conversations')] }), jsx("div", { children: "\u2022" }), jsxs("div", { children: [transcriptsMessagesData === null || transcriptsMessagesData === void 0 ? void 0 : transcriptsMessagesData.summary.user_queries, ' ', t('analyticsAnalyticsTranscriptsStats.userQueries')] }), jsx("div", { children: "\u2022" }), jsxs("div", { children: [transcriptsMessagesData === null || transcriptsMessagesData === void 0 ? void 0 : transcriptsMessagesData.summary.assistant_responses, ' ', t('analyticsAnalyticsTranscriptsStats.assistantResponses')] })] }), jsx("div", { className: "flex flex-wrap gap-x-8 gap-y-2 text-sm text-gray-600 mt-2", children: jsxs("div", { children: [transcriptsMessagesData === null || transcriptsMessagesData === void 0 ? void 0 : transcriptsMessagesData.summary.average_sentiment_score, ' ', t('analyticsAnalyticsTranscriptsStats.averageSentimentScore')] }) })] }), jsx("div", { className: "flex flex-col gap-4", children: isLoadingTranscriptsMessagesData ? (
236208
+ return (jsxs("div", { className: "space-y-8", children: [jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 mb-6", children: [jsx(StatCard, { title: t('analyticsAnalyticsTranscriptsStats.avgMessagesPerConversation'), value: ((_e = transcriptsConversationHeadlineData === null || transcriptsConversationHeadlineData === void 0 ? void 0 : transcriptsConversationHeadlineData.avg_messages_per_conversation) === null || _e === void 0 ? void 0 : _e.value) || 0, percentage: ((_f = transcriptsConversationHeadlineData === null || transcriptsConversationHeadlineData === void 0 ? void 0 : transcriptsConversationHeadlineData.avg_messages_per_conversation) === null || _f === void 0 ? void 0 : _f.percentage_change) ||
236209
+ undefined, loading: isLoadingTranscriptsConversationHeadlineData, description: t('analyticsAnalyticsTranscriptsStats.avgMessagesPerConversationDescription') }), jsx(StatCard, { title: t('analyticsAnalyticsTranscriptsStats.avgCostPerConversation'), value: Number(((_g = transcriptsConversationHeadlineData === null || transcriptsConversationHeadlineData === void 0 ? void 0 : transcriptsConversationHeadlineData.avg_cost_per_conversation) === null || _g === void 0 ? void 0 : _g.value) || 0).toFixed(2), percentage: ((_h = transcriptsConversationHeadlineData === null || transcriptsConversationHeadlineData === void 0 ? void 0 : transcriptsConversationHeadlineData.avg_cost_per_conversation) === null || _h === void 0 ? void 0 : _h.percentage_change) ||
236210
+ undefined, showDollarSign: true, loading: isLoadingTranscriptsConversationHeadlineData, description: t('analyticsAnalyticsTranscriptsStats.avgCostPerConversationDescription') }), jsx(StatCard, { title: t('analyticsAnalyticsTranscriptsStats.avgRating'), value: ((_j = transcriptsConversationHeadlineData === null || transcriptsConversationHeadlineData === void 0 ? void 0 : transcriptsConversationHeadlineData.avg_rating) === null || _j === void 0 ? void 0 : _j.value) || 0, percentage: ((_k = transcriptsConversationHeadlineData === null || transcriptsConversationHeadlineData === void 0 ? void 0 : transcriptsConversationHeadlineData.avg_rating) === null || _k === void 0 ? void 0 : _k.percentage_change) || undefined, loading: isLoadingTranscriptsConversationHeadlineData, description: t('analyticsAnalyticsTranscriptsStats.avgRatingDescription') })] }), jsxs("div", { className: "flex h-[calc(100vh-120px)]", children: [jsxs("div", { className: "w-full md:w-2/3 md:pr-6 overflow-y-auto md:border-r border-gray-200 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]", children: [jsx("div", { className: "mb-6", children: jsxs("div", { className: "flex gap-2 mb-4 items-center", children: [jsxs("div", { className: "relative", children: [jsx(Search, { className: "absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 h-4 w-4" }), jsx(Input, { placeholder: t('analyticsAnalyticsTranscriptsStats.placeholderTopics'), value: filters.topicSearch, onChange: (e) => setFilters({ ...filters, topicSearch: e.target.value }), className: "pl-10 w-[200px]" })] }), jsx("div", { className: "w-[200px]", children: jsx(UserFilterSelect, { tenantKey: tenantKey, value: filters.userSearch, onChange: (username) => setFilters({ ...filters, userSearch: username }), showSelfOption: false, className: "bg-transparent" }) }), isFetchingTranscriptsMessagesData && (filters.userSearch || filters.topicSearch) ? (jsx("div", { className: "animate-spin rounded-full h-5 w-5 border-b-2 border-blue-500 ml-2", "aria-hidden": "true" })) : (jsx(Button$1, { variant: "outline", onClick: handleClearFilters, className: "whitespace-nowrap", children: t('analyticsAnalyticsTranscriptsStats.clearAll') }))] }) }), jsxs("div", { className: "bg-gray-50 p-4 rounded-lg mb-6", children: [jsxs("div", { className: "flex flex-wrap gap-x-8 gap-y-2 text-sm text-gray-600", children: [jsxs("div", { "aria-label": t('analyticsAnalyticsTranscriptsStats.ariaTotalConversations'), children: [transcriptsMessagesData === null || transcriptsMessagesData === void 0 ? void 0 : transcriptsMessagesData.summary.total_conversations, ' ', t('analyticsAnalyticsTranscriptsStats.conversations')] }), jsx("div", { children: "\u2022" }), jsxs("div", { children: [transcriptsMessagesData === null || transcriptsMessagesData === void 0 ? void 0 : transcriptsMessagesData.summary.user_queries, ' ', t('analyticsAnalyticsTranscriptsStats.userQueries')] }), jsx("div", { children: "\u2022" }), jsxs("div", { children: [transcriptsMessagesData === null || transcriptsMessagesData === void 0 ? void 0 : transcriptsMessagesData.summary.assistant_responses, ' ', t('analyticsAnalyticsTranscriptsStats.assistantResponses')] })] }), jsx("div", { className: "flex flex-wrap gap-x-8 gap-y-2 text-sm text-gray-600 mt-2", children: jsxs("div", { children: [transcriptsMessagesData === null || transcriptsMessagesData === void 0 ? void 0 : transcriptsMessagesData.summary.average_sentiment_score, ' ', t('analyticsAnalyticsTranscriptsStats.averageSentimentScore')] }) })] }), jsx("div", { className: "flex flex-col gap-4", children: isLoadingTranscriptsMessagesData ? (
235800
236211
  // Loading state
235801
236212
  jsx("div", { className: "space-y-4", children: Array.from({ length: 3 }).map((_, index) => (jsxs(Card$1, { className: "p-4 animate-pulse", children: [jsx("div", { className: "mb-3", children: jsx("div", { className: "h-4 bg-gray-200 rounded w-3/4" }) }), jsxs("div", { className: "flex flex-wrap gap-2 mb-3", children: [jsx("div", { className: "h-6 bg-gray-200 rounded w-16" }), jsx("div", { className: "h-6 bg-gray-200 rounded w-20" })] }), jsxs("div", { className: "flex flex-wrap gap-x-6 gap-y-2 mb-2", children: [jsx("div", { className: "h-4 bg-gray-200 rounded w-24" }), jsx("div", { className: "h-4 bg-gray-200 rounded w-20" })] }), jsxs("div", { className: "flex flex-wrap gap-x-6 gap-y-2", children: [jsx("div", { className: "h-4 bg-gray-200 rounded w-20" }), jsx("div", { className: "h-4 bg-gray-200 rounded w-24" })] })] }, index))) })) : (transcriptsMessagesData === null || transcriptsMessagesData === void 0 ? void 0 : transcriptsMessagesData.results) && transcriptsMessagesData.results.length > 0 ? (
235802
236213
  // Results
235803
236214
  transcriptsMessagesData.results.map((transcript) => {
235804
- var _a, _b, _c;
236215
+ var _a;
235805
236216
  return (jsxs(Card$1, { className: cn(`p-4 hover:shadow-md transition-shadow cursor-pointer border ${selectedTranscript === transcript.session
235806
236217
  ? 'border-blue-500 bg-blue-50'
235807
- : 'border-gray-200'}`), onClick: () => handleTranscriptSelect(transcript.session), children: [jsx("div", { className: "mb-3", children: jsx("p", { className: "text-gray-800", children: transcript.first_user_message }) }), jsxs("div", { className: "flex flex-wrap gap-2 mb-3", children: [((_a = transcript === null || transcript === void 0 ? void 0 : transcript.topics) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
235808
- ((_b = transcript.topics) === null || _b === void 0 ? void 0 : _b.map((topic, index) => (jsx("span", { className: "bg-gray-100 text-gray-600 px-3 py-1 rounded-[5px] text-xs", children: topic }, index)))), jsx(TranscriptRollupBadges, { documentsCount: transcript.documents_count, toolCallsCount: transcript.tool_calls_count })] }), jsx("div", { className: "flex flex-wrap items-center gap-x-6 gap-y-2 text-sm mb-2", children: jsxs("div", { className: cn('flex items-center gap-1', transcript.sentiment === 'negative'
235809
- ? 'text-blue-600'
235810
- : transcript.sentiment === 'positive'
235811
- ? 'text-green-600'
235812
- : 'text-gray-600'), children: [transcript.sentiment === 'negative' ? (jsx(ThumbsDown, { className: "h-4 w-4" })) : (jsx(ThumbsUp, { className: "h-4 w-4" })), jsxs("span", { children: [transcript.sentiment === 'negative'
235813
- ? t('analyticsAnalyticsTranscriptsStats.sentimentNegative')
235814
- : transcript.sentiment === 'positive'
235815
- ? t('analyticsAnalyticsTranscriptsStats.sentimentPositive')
235816
- : t('analyticsAnalyticsTranscriptsStats.sentimentNeutral'), ' ', t('analyticsAnalyticsTranscriptsStats.userSentiment')] })] }) }), jsxs("div", { className: "flex flex-wrap items-baseline gap-x-6 gap-y-2 text-xs text-gray-500 mb-2", children: [jsxs("div", { children: [t('analyticsAnalyticsTranscriptsStats.labelUser'), ' ', jsx(UserProfileLink, { currentSPA: currentSPA, tenantKey: tenantKey, username: transcript === null || transcript === void 0 ? void 0 : transcript.username, display: identifyUser(transcript) })] }), jsxs("div", { children: [t('analyticsAnalyticsTranscriptsStats.labelAgent'), ' ', jsx(AgentScopeLink, { uniqueId: transcript === null || transcript === void 0 ? void 0 : transcript.mentor_unique_id, name: transcript === null || transcript === void 0 ? void 0 : transcript.mentor })] })] }), jsx("div", { className: "flex flex-wrap gap-x-6 gap-y-2 text-xs text-gray-500 mb-2", children: jsxs("div", { className: "inline-flex flex-wrap items-center gap-1.5", children: [t('analyticsAnalyticsTranscriptsStats.labelModelCard'), ' ', (transcript === null || transcript === void 0 ? void 0 : transcript.model)
235817
- ? ((_c = turnDetails === null || turnDetails === void 0 ? void 0 : turnDetails.renderModel) !== null && _c !== void 0 ? _c : renderModelBadge)({
236218
+ : 'border-gray-200'}`), onClick: () => handleTranscriptSelect(transcript.session), children: [jsx("div", { className: "mb-3", children: jsx("p", { className: "text-gray-800", children: conversationTitle(transcript, t('analyticsAnalyticsTranscriptsStats.conversationFallbackTitle')) }) }), jsx(ConversationTopics, { topics: transcript.topics, className: "mb-3", children: jsx(TranscriptRollupBadges, { documentsCount: transcript.documents_count, toolCallsCount: transcript.tool_calls_count }) }), jsx("div", { className: "flex flex-wrap items-center gap-x-6 gap-y-2 text-sm mb-2", children: jsx(ConversationSentiment, { sentiment: transcript.sentiment || 'neutral', labels: sentimentLabels }) }), jsxs("div", { className: "flex flex-wrap items-baseline gap-x-6 gap-y-2 text-xs text-gray-500 mb-2", children: [jsx(TranscriptUserLines, { source: transcript, tenantKey: tenantKey, currentSPA: currentSPA }), jsxs("div", { children: [t('analyticsAnalyticsTranscriptsStats.labelAgent'), ' ', jsx(AgentSettingsLink, { uniqueId: transcript === null || transcript === void 0 ? void 0 : transcript.mentor_unique_id, name: transcript === null || transcript === void 0 ? void 0 : transcript.mentor })] })] }), jsx("div", { className: "flex flex-wrap gap-x-6 gap-y-2 text-xs text-gray-500 mb-2", children: jsxs("div", { className: "inline-flex flex-wrap items-center gap-1.5", children: [t('analyticsAnalyticsTranscriptsStats.labelModelCard'), ' ', (transcript === null || transcript === void 0 ? void 0 : transcript.model)
236219
+ ? ((_a = turnDetails === null || turnDetails === void 0 ? void 0 : turnDetails.renderModel) !== null && _a !== void 0 ? _a : renderModelBadge)({
235818
236220
  model: transcript.model,
235819
236221
  provider: providerOf(transcript),
235820
236222
  tenantKey,
@@ -235856,14 +236258,14 @@ function AnalyticsTranscriptsStats({ tenantKey, currentSPA, mentorId, selectedMe
235856
236258
  /* Error or no data state */
235857
236259
  jsx("div", { className: "flex items-center justify-center h-full text-gray-400", children: jsxs("div", { className: "text-center", children: [jsx(X$1, { className: "h-6 w-6 mx-auto mb-2 text-red-400" }), jsx("p", { children: t('analyticsAnalyticsTranscriptsStats.noTranscriptDetails') }), jsx("p", { className: "text-sm mt-1", children: t('analyticsAnalyticsTranscriptsStats.unableToLoadTranscript') })] }) })) : (
235858
236260
  /* Data loaded successfully */
235859
- jsxs("div", { className: "space-y-4", children: [jsx("div", { className: "mb-4", children: jsxs("div", { className: "text-sm text-gray-500 space-y-1", children: [jsxs("div", { children: [t('analyticsAnalyticsTranscriptsStats.labelUser'), ' ', jsx(UserProfileLink, { currentSPA: currentSPA, tenantKey: tenantKey, username: (_h = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _h === void 0 ? void 0 : _h.username, display: identifyUser(transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) })] }), jsxs("div", { children: [t('analyticsAnalyticsTranscriptsStats.labelAgent'), ' ', jsx(AgentScopeLink, { uniqueId: (_j = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _j === void 0 ? void 0 : _j.mentor_unique_id, name: (_k = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _k === void 0 ? void 0 : _k.mentor })] }), jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [t('analyticsAnalyticsTranscriptsStats.labelModel'), ' ', ((_l = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _l === void 0 ? void 0 : _l.model)
235860
- ? ((_m = turnDetails === null || turnDetails === void 0 ? void 0 : turnDetails.renderModel) !== null && _m !== void 0 ? _m : renderModelBadge)({
236261
+ jsxs("div", { className: "space-y-4", children: [jsx("div", { className: "mb-4", children: jsxs("div", { className: "text-sm text-gray-500 space-y-1", children: [jsx(TranscriptUserLines, { source: transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary, tenantKey: tenantKey, currentSPA: currentSPA }), jsxs("div", { children: [t('analyticsAnalyticsTranscriptsStats.labelAgent'), ' ', jsx(AgentSettingsLink, { uniqueId: (_l = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _l === void 0 ? void 0 : _l.mentor_unique_id, name: (_m = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _m === void 0 ? void 0 : _m.mentor })] }), jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [t('analyticsAnalyticsTranscriptsStats.labelModel'), ' ', ((_o = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.summary) === null || _o === void 0 ? void 0 : _o.model)
236262
+ ? ((_p = turnDetails === null || turnDetails === void 0 ? void 0 : turnDetails.renderModel) !== null && _p !== void 0 ? _p : renderModelBadge)({
235861
236263
  model: transcriptsMessagesDetailsData.summary.model,
235862
- provider: (_o = providerOf(transcriptsMessagesDetailsData.summary)) !== null && _o !== void 0 ? _o : providerOfTurns(transcriptsMessagesDetailsData.messages),
236264
+ provider: detailProvider,
235863
236265
  tenantKey,
235864
236266
  mentorId: detailMentorId,
235865
236267
  })
235866
- : '-'] }), jsx(TranscriptDocumentsButton, { detail: transcriptsMessagesDetailsData, className: "mt-2" })] }) }), jsx("div", { className: "space-y-4 pb-4", children: ((_p = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.messages) === null || _p === void 0 ? void 0 : _p.length) > 0 ? ((_q = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.messages) === null || _q === void 0 ? void 0 : _q.map((message, index) => {
236268
+ : '-'] }), jsx(TranscriptDocumentsButton, { detail: transcriptsMessagesDetailsData, className: "mt-2" })] }) }), jsx("div", { className: "space-y-4 pb-4", children: ((_q = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.messages) === null || _q === void 0 ? void 0 : _q.length) > 0 ? ((_r = transcriptsMessagesDetailsData === null || transcriptsMessagesDetailsData === void 0 ? void 0 : transcriptsMessagesDetailsData.messages) === null || _r === void 0 ? void 0 : _r.map((message, index) => {
235867
236269
  var _a, _b;
235868
236270
  return (jsxs(React__default.Fragment, { children: [((message === null || message === void 0 ? void 0 : message.human) || !!((_a = message === null || message === void 0 ? void 0 : message.human_files) === null || _a === void 0 ? void 0 : _a.length)) && (jsxs("div", { className: "p-3 rounded-lg bg-blue-100 ml-4", children: [jsx("div", { className: "flex justify-between items-start mb-1", children: jsx("span", { className: "font-medium text-sm", children: t('analyticsAnalyticsTranscriptsStats.roleUser') }) }), message.human && (jsx("p", { className: "text-sm", children: getMessageContent(message.human) })), jsx(TranscriptFiles, { files: message.human_files })] })), ((message === null || message === void 0 ? void 0 : message.ai) || !!((_b = message === null || message === void 0 ? void 0 : message.ai_files) === null || _b === void 0 ? void 0 : _b.length)) && (jsxs("div", { className: "p-3 rounded-lg bg-white mr-4 border", style: { borderColor: 'oklch(.922 0 0)' }, children: [jsx("div", { className: "flex justify-between items-start mb-1", children: jsx("span", { className: "font-medium text-sm", children: t('analyticsAnalyticsTranscriptsStats.roleAgent') }) }), message.ai && jsx(Markdown, { children: getMessageContent(message.ai) }), jsx(TranscriptFiles, { files: message.ai_files }), jsx(TranscriptTurnDetails, { turn: message, tenantKey: tenantKey, mentorId: detailMentorId, ...turnDetails })] }))] }, index));
235869
236271
  })) : (jsx("div", { className: "text-center text-gray-500 py-8", children: jsx("p", { children: t('analyticsAnalyticsTranscriptsStats.noMessages') }) })) })] })) })] }) }))] }));
@@ -238582,6 +238984,43 @@ function AnalyticsAuditLogStats({ tenantKey, currentSPA, mentorId, userId, selec
238582
238984
  : t('analyticsAnalyticsAuditLogStats.scopePlatformHint') })] })), activeScope === 'platform' ? (jsx(AnalyticsPlatformAuditLog, { platformKey: tenantKey, timezone: timezone, currentSPA: currentSPA })) : (jsx(AgentAuditLogView, { tenantKey: tenantKey, currentSPA: currentSPA, mentorId: mentorId, userId: userId, selectedMentorId: selectedMentorId }))] }));
238583
238985
  }
238584
238986
 
238987
+ /**
238988
+ * An agent named in a stats row, clickable to re-scope the whole analytics
238989
+ * page to that agent — the same thing the control bar's picker does, reached
238990
+ * from the data instead of from a search box.
238991
+ *
238992
+ * It renders as plain text wherever re-scoping is impossible or pointless: on
238993
+ * per-agent pages (no picker, so nothing would visibly change), on rows whose
238994
+ * agent the payload identifies by name alone, and on rows of the agent the
238995
+ * page is already scoped to (every row, once the picker names one agent — a
238996
+ * blue link there promised something and delivered nothing). Safe inside
238997
+ * clickable rows and cards — neither its clicks nor its key presses reach
238998
+ * their handlers.
238999
+ */
239000
+ function AgentScopeLink({ uniqueId, name, fallback = '-', onScoped, className, testId, }) {
239001
+ const t = useT();
239002
+ const setScopedMentor = useAnalyticsScopeSetter();
239003
+ const { scopedMentor } = useAnalyticsScope();
239004
+ const display = name || uniqueId || fallback;
239005
+ const isCurrent = !!uniqueId && (scopedMentor === null || scopedMentor === void 0 ? void 0 : scopedMentor.uniqueId) === uniqueId;
239006
+ if (!setScopedMentor || !uniqueId || isCurrent) {
239007
+ return (jsx("span", { className: className, "data-testid": testId, children: display }));
239008
+ }
239009
+ return (jsx("button", { type: "button", onClick: (event) => {
239010
+ event.stopPropagation();
239011
+ // No `dbId`: these payloads carry the `unique_id` only. AnalyticsLayout
239012
+ // resolves the rest before the scope reaches anyone — see
239013
+ // AnalyticsScopedMentor.
239014
+ setScopedMentor({ uniqueId, name: name || uniqueId });
239015
+ onScoped === null || onScoped === void 0 ? void 0 : onScoped();
239016
+ },
239017
+ // Rows that open on Enter/Space would otherwise swallow the key press.
239018
+ onKeyDown: (event) => event.stopPropagation(),
239019
+ // Truncates inside an `inline-flex` box so the name keeps the baseline
239020
+ // of the "Agent:" label beside it (see UserProfileLink).
239021
+ className: cn('inline-flex max-w-full cursor-pointer text-left hover:text-blue-600 hover:underline focus:text-blue-600 focus:outline-none', className), "aria-label": t('analyticsAgentScopeLink.scopeToAgent', { name: display }), "data-testid": testId, children: jsx("span", { className: "min-w-0 truncate", children: display }) }));
239022
+ }
239023
+
238585
239024
  /**
238586
239025
  * The global and cross-mentor endpoints both cap `page_size` at 25 server-side,
238587
239026
  * so we ask for a size every scope can honor rather than paginating
@@ -250618,5 +251057,5 @@ var trainOrDeleteModal = /*#__PURE__*/Object.freeze({
250618
251057
  TrainOrDeleteModal: TrainOrDeleteModal
250619
251058
  });
250620
251059
 
250621
- export { ACCESS_COURSE_LABEL, ALL_CATEGORIES, AccessTimeHeatmap, AccessiblePaginate, AddMentorToProjectModal, AddSkillDialog, Admin, AdvancedTab, AgentConfigPrompts, AgentScopeLink, AgentSkills, AlertsTab, AnalyticsAgentPicker, AnalyticsAreaChart, AnalyticsAuditLogStats, AnalyticsBarChart, AnalyticsControlBar, AnalyticsCourseDetail, AnalyticsCourses, AnalyticsFinancialStats, AnalyticsGlobalFiltersProvider, AnalyticsLayout, AnalyticsLlmUsageStats, AnalyticsMemoryStats, AnalyticsMonetizationStats, AnalyticsNotice, AnalyticsOverview, AnalyticsPlatformAuditLog, AnalyticsProgramDetail, AnalyticsPrograms, AnalyticsReportDownload, AnalyticsReports, AnalyticsScopeProvider, AnalyticsSettingsProvider, AnalyticsTopicsStats, AnalyticsTraces, AnalyticsTranscriptsStats, AnalyticsUsersStats, AppleRestrictionModal, ApplyWizard, AuditLogChangesView, AuditLogJsonView, BUY_NOW_LABEL, BillingTab, CATALOGS, CHART_ORDINAL_RAMP, CHART_SERIES_COLORS, CHART_SINGLE_SERIES_COLOR, CREATE_AGENT_LABELS, CUA_DRIVER_REPO_URL, CUA_DRIVER_TAURI_COMMANDS, CUA_DRIVER_TAURI_EVENTS, CardInfoIcon, CategorizedDropdownMenu, ChartCardWrapper, ChartFiltersProvider, ChartLoading, ChartTooltipCard, ChatContext, ChatPrivacyToggle, ChatProvider, CompanyDialog, ConnectorManagementDialog, CopyButtonIcon, CourseAccessGuard, CourseCardSkeleton, CourseContentLoading, CourseOutline, CourseOutlineContext, CourseOutlineDrawer, CreateAgentForm, CreateAgentModal, CreateProjectModal, CreateWorkflowModal, CredentialBox, CredentialMiniBoxSkeleton, CredentialsList, CreditBalance, CustomDateRangePicker, CustomTooltip, DEFAULT_COWORK_REQUIRED_SIZE_GB, DEFAULT_LOCALE, DEFAULT_USER_IDENTITY_ORDER, DefaultEmptyBox, DeleteProjectModal, DeleteWorkflowModal, DiscoverContentCard, DiscoverFacetsFilter, DiscoverFilterDrawer, DocumentSidebar, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENROLL_NOW_COURSE_STARTING_SOON_LABEL, ENROLL_NOW_LABEL, EditAlertDialog, EducationBox, EducationDialog, EducationTab, EdxIframeContext, EmptyStats, ExperienceBox, ExperienceDialog, ExperienceTab, FacetFilterContext, Footer, GradebookTab, GroupsFilterDropdown, HostPortChipInput, INVITATION_ONLY_LABEL, InstitutionDialog, IntegrationsTab, InviteUserContent, InviteUserDialog, InvitedUsersDialog, LOCAL_LLM_CHANGED_EVENT, LOCAL_MODELS, LlmModelBadge, Loader, LocalLLMTab, LocalModelsContent, LoginButton, MACOS_PERMISSIONS_COMMANDS, MEMORY_PAGE_SIZE, Markdown, MemoryAdminTab, MinimumMentorAlert, MonetizationTab, NotificationDisplay, NotificationDropdown, ONBOARDING_FIELD_TYPES, ONBOARDING_SECTORS, OnboardingField, OnboardingShell, OnboardingWizard, PLATFORM_AUDIT_DEEP_PAGING_THRESHOLD, PLATFORM_AUDIT_PAGE_SIZE, PaywallModal, PlacementExam, PlacementExamsDropdown, PlatformAuditLogDetailSheet, PlatformNavbar, PlatformNavbarSearch, Profile, ProfileTimeChart, ProgressDots, ProjectActionButtons, ProjectFilesModal, ProjectInstructionsModal, ProjectLandingPage, ProjectMentorsList, ProjectsPage, REQUEST_ACCESS_COURSE_STARTING_SOON_LABEL, REQUEST_ACCESS_LABEL, RankedBars, RenameProjectModal, ResumeBox, ResumeTab, RetrievedDocumentsButton, RichTextEditor, SERVICE_COLOR_ORDER, SUPPORTED_LOCALES, SandboxConfig, SearchableMultiSelect, SendNotificationDialog, SignupButton, SkeletonActivityStatBox, SkeletonAddSkillsLoading, SkeletonCreatePathwaySearchList, SkeletonDiscoverFilterBox, SkeletonEducationBox, SkeletonMultiplier, SkeletonPathwayBox, SkeletonProfileInfoCard, SkeletonSkillBox, SkillBox, SkillDetailModal, SkillLeaderboardChart, SkillsBox, SkillsList, SlashSkillPicker, SourceChip, Spinner, StatCard, StepHeader, SummerNoteTextEditor, TAURI_COMMANDS, TAURI_EVENTS, TRACES_PAGE_SIZE, TenantSwitcher, TimeFilter, TimeTrackingProvider, TimedExam, ToolCallIndicator, ToolDialogs, TopBanner, TranscriptFileCards, TranscriptRollupBadges, TranscriptTurnDetails, TrendSparkline, USER_ONBOARDING_FORM_SLUG, USER_ONBOARDING_FORM_VERSION, USER_ONBOARDING_SUBMISSION_SLUG, UpgradePackageModal, UserAvatar, UserOnboardingWizard, UserProfileDialog, UserProfileLink, Version, VirtualMachineAdminTab, VirtualMachineNetworkSection, WebContainersI18nProvider, WorkflowSidebar, addBookmarksTab, areChartFiltersEqual, availablePlacementExams, buildOnboardingAgentPath, buildUserOnboardingFormMetadata, buildUserOnboardingSubmissionMetadata, coerceOnboardingAgent, coerceOnboardingAgents, coerceUserOnboardingForm, colorForRank, colorForSeries, conversationDocuments, emptyUserOnboardingForm, findLastResumeBlock, findOnboardingAgent, findSequentialParent, flattenVerticalBlocks, formatAuditTimestamp, formatCompactNumber, formatFileSize, formatLatencySeconds, formatResult, formatTimeZoneLabel, getCatalog, getFirstAvailableUnit, getFriendlyToolName, getLLMModelDisplayName, getLocalLLMModel, getLocalLLMToolSupport, getNextUnitIframe, getOrg, getParentBlockById, getParentsInfosFromSublessonId, getPreviousUnitIframe, getQueryLabel, getRandomCourseImage, getSectorById, getTenant, getUnitToIframe, getUserId, getUserName, granularityForFilter, hasDistinctName, hasOnboardingContent, humanizeAuditToken, humanizeFieldName, inBrowserPrint, inIframe, inferProviderKeysFromModel, initialCuaDriverInstallState, initialModelDownloadState, isCoworkEnabled, isEmailLike, isFileReference, isLlmUsageForbidden, isLlmUsageUnavailable, isLocalLLMEnabled, isPlatformNavbarCreditBalanceVisible, isSlashCommandToken, isTauriApp, isValidLocale, isValidTimeZone, llmUsageDateArgs, components as markdownComponents, modelSupportsCowork, onboardingPrimaryButtonClass, onboardingSecondaryButtonClass, readUserOnboardingForm, readUserOnboardingSubmission, readUserOnboardingSubmissions, resolveAuditTimeZone, resolveCreateAgentLabels, resolveUserIdentity, sanitizeCss, setCoworkEnabled, setLocalLLMEnabled, setLocalLLMModel, setLocalLLMToolSupport, smallestCoworkModel, summarizeTranscriptTurns, toFileReference, toRetrievedDocuments, toToolCallInfos, useAnalyticsGlobalFilters, useAnalyticsScope, useAnalyticsSettings, useAuditLog, useCatalogSearch, useChartFilters, useChatPrivacy, useChatState, useCourseDetail, useCourseMetadata, useCourses, useCredentialsSchemaLogos, useCuaDriver, useDiscover, useEdxIframe, useFinancial, useIframeMessageHandler, useLlmDisplayName, useLlmProviderCatalogue, useLlmTraces, useLlmUsage, useLocalStorage, useMemory, useModelDownload, useMonetization, useOverview, usePlatformAuditLabels, usePlatformAuditLog, useProfileActivityStats, useProfileCredentials, useProfilePathways, useProfilePrograms, useProfileSkills, useProfileTimeSpent, usePrograms, useReports, useScopedMentorDbId, useScopedMentorId, useSelectedLocalModel, useSlashSkillPicker, useSlashSkills, useT, useTauri, useTimeTracking, useTopics, useTranscripts, useUserCourses, useUserMetadata, useUsers, useWebContainersI18n, useWebContainersLocale };
251060
+ export { ACCESS_COURSE_LABEL, ALL_CATEGORIES, AccessTimeHeatmap, AccessiblePaginate, AddMentorToProjectModal, AddSkillDialog, Admin, AdvancedTab, AgentConfigPrompts, AgentScopeLink, AgentSettingsLauncherProvider, AgentSettingsLink, AgentSkills, AlertsTab, AnalyticsAgentPicker, AnalyticsAreaChart, AnalyticsAuditLogStats, AnalyticsBarChart, AnalyticsControlBar, AnalyticsCourseDetail, AnalyticsCourses, AnalyticsFinancialStats, AnalyticsGlobalFiltersProvider, AnalyticsLayout, AnalyticsLlmUsageStats, AnalyticsMemoryStats, AnalyticsMonetizationStats, AnalyticsNotice, AnalyticsOverview, AnalyticsPlatformAuditLog, AnalyticsProgramDetail, AnalyticsPrograms, AnalyticsReportDownload, AnalyticsReports, AnalyticsScopeProvider, AnalyticsSettingsProvider, AnalyticsTopicsStats, AnalyticsTraces, AnalyticsTranscriptsStats, AnalyticsUsersStats, AppleRestrictionModal, ApplyWizard, AuditLogChangesView, AuditLogJsonView, BUY_NOW_LABEL, BillingTab, CATALOGS, CHART_ORDINAL_RAMP, CHART_SERIES_COLORS, CHART_SINGLE_SERIES_COLOR, CREATE_AGENT_LABELS, CUA_DRIVER_REPO_URL, CUA_DRIVER_TAURI_COMMANDS, CUA_DRIVER_TAURI_EVENTS, CardInfoIcon, CategorizedDropdownMenu, ChartCardWrapper, ChartFiltersProvider, ChartLoading, ChartTooltipCard, ChatContext, ChatPrivacyToggle, ChatProvider, CompanyDialog, ConnectorManagementDialog, ConversationSentiment, ConversationTopics, CopyButtonIcon, CourseAccessGuard, CourseCardSkeleton, CourseContentLoading, CourseOutline, CourseOutlineContext, CourseOutlineDrawer, CreateAgentForm, CreateAgentModal, CreateProjectModal, CreateWorkflowModal, CredentialBox, CredentialMiniBoxSkeleton, CredentialsList, CreditBalance, CustomDateRangePicker, CustomTooltip, DEFAULT_COWORK_REQUIRED_SIZE_GB, DEFAULT_LOCALE, DEFAULT_USER_IDENTITY_ORDER, DefaultEmptyBox, DeleteProjectModal, DeleteWorkflowModal, DiscoverContentCard, DiscoverFacetsFilter, DiscoverFilterDrawer, DocumentSidebar, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENROLL_NOW_COURSE_STARTING_SOON_LABEL, ENROLL_NOW_LABEL, EditAlertDialog, EducationBox, EducationDialog, EducationTab, EdxIframeContext, EmptyStats, ExperienceBox, ExperienceDialog, ExperienceTab, FacetFilterContext, Footer, GradebookTab, GroupsFilterDropdown, HostPortChipInput, INVITATION_ONLY_LABEL, InstitutionDialog, IntegrationsTab, InviteUserContent, InviteUserDialog, InvitedUsersDialog, LOCAL_LLM_CHANGED_EVENT, LOCAL_MODELS, LlmModelBadge, Loader, LocalLLMTab, LocalModelsContent, LoginButton, MACOS_PERMISSIONS_COMMANDS, MEMORY_PAGE_SIZE, Markdown, MemoryAdminTab, MinimumMentorAlert, MonetizationTab, NotificationDisplay, NotificationDropdown, ONBOARDING_FIELD_TYPES, ONBOARDING_SECTORS, OnboardingField, OnboardingShell, OnboardingWizard, PLATFORM_AUDIT_DEEP_PAGING_THRESHOLD, PLATFORM_AUDIT_PAGE_SIZE, PaywallModal, PlacementExam, PlacementExamsDropdown, PlatformAuditLogDetailSheet, PlatformNavbar, PlatformNavbarSearch, Profile, ProfileTimeChart, ProgressDots, ProjectActionButtons, ProjectFilesModal, ProjectInstructionsModal, ProjectLandingPage, ProjectMentorsList, ProjectsPage, REQUEST_ACCESS_COURSE_STARTING_SOON_LABEL, REQUEST_ACCESS_LABEL, RankedBars, RenameProjectModal, ResumeBox, ResumeTab, RetrievedDocumentsButton, RichTextEditor, SERVICE_COLOR_ORDER, SUPPORTED_LOCALES, SandboxConfig, SearchableMultiSelect, SendNotificationDialog, SignupButton, SkeletonActivityStatBox, SkeletonAddSkillsLoading, SkeletonCreatePathwaySearchList, SkeletonDiscoverFilterBox, SkeletonEducationBox, SkeletonMultiplier, SkeletonPathwayBox, SkeletonProfileInfoCard, SkeletonSkillBox, SkillBox, SkillDetailModal, SkillLeaderboardChart, SkillsBox, SkillsList, SlashSkillPicker, SourceChip, Spinner, StatCard, StepHeader, SummerNoteTextEditor, TAURI_COMMANDS, TAURI_EVENTS, TRACES_PAGE_SIZE, TenantSwitcher, TimeFilter, TimeTrackingProvider, TimedExam, ToolCallIndicator, ToolDialogs, TopBanner, TranscriptFileCards, TranscriptRollupBadges, TranscriptTurnDetails, TrendSparkline, USER_ONBOARDING_FORM_SLUG, USER_ONBOARDING_FORM_VERSION, USER_ONBOARDING_SUBMISSION_SLUG, UpgradePackageModal, UserAvatar, UserOnboardingWizard, UserProfileDialog, UserProfileLink, Version, VirtualMachineAdminTab, VirtualMachineNetworkSection, WebContainersI18nProvider, WorkflowSidebar, addBookmarksTab, areChartFiltersEqual, availablePlacementExams, buildOnboardingAgentPath, buildUserOnboardingFormMetadata, buildUserOnboardingSubmissionMetadata, coerceOnboardingAgent, coerceOnboardingAgents, coerceUserOnboardingForm, colorForRank, colorForSeries, conversationDocuments, conversationTitle, conversationTopics, emptyUserOnboardingForm, findLastResumeBlock, findOnboardingAgent, findSequentialParent, firstHumanMessage, flattenVerticalBlocks, formatAuditTimestamp, formatCompactNumber, formatFileSize, formatLatencySeconds, formatResult, formatSessionDate, formatTimeZoneLabel, getCatalog, getFirstAvailableUnit, getFriendlyToolName, getLLMModelDisplayName, getLocalLLMModel, getLocalLLMToolSupport, getNextUnitIframe, getOrg, getParentBlockById, getParentsInfosFromSublessonId, getPreviousUnitIframe, getQueryLabel, getRandomCourseImage, getSectorById, getTenant, getUnitToIframe, getUserId, getUserName, granularityForFilter, hasDistinctName, hasOnboardingContent, humanizeAuditToken, humanizeFieldName, inBrowserPrint, inIframe, inferProviderKeysFromModel, initialCuaDriverInstallState, initialModelDownloadState, isCoworkEnabled, isEmailLike, isFileReference, isLlmUsageForbidden, isLlmUsageUnavailable, isLocalLLMEnabled, isPlatformNavbarCreditBalanceVisible, isSlashCommandToken, isTauriApp, isValidLocale, isValidTimeZone, llmUsageDateArgs, components as markdownComponents, modelSupportsCowork, onboardingPrimaryButtonClass, onboardingSecondaryButtonClass, previewPlan, readUserOnboardingForm, readUserOnboardingSubmission, readUserOnboardingSubmissions, resolveAuditTimeZone, resolveCreateAgentLabels, resolveUserIdentity, sanitizeCss, setCoworkEnabled, setLocalLLMEnabled, setLocalLLMModel, setLocalLLMToolSupport, smallestCoworkModel, summarizeTranscriptTurns, toFileReference, toRetrievedDocuments, toToolCallInfos, useAgentSettingsLauncher, useAnalyticsGlobalFilters, useAnalyticsScope, useAnalyticsSettings, useAuditLog, useCatalogSearch, useChartFilters, useChatPrivacy, useChatState, useCourseDetail, useCourseMetadata, useCourses, useCredentialsSchemaLogos, useCuaDriver, useDiscover, useEdxIframe, useFinancial, useIframeMessageHandler, useLlmDisplayName, useLlmProviderCatalogue, useLlmTraces, useLlmUsage, useLocalStorage, useMemory, useModelDownload, useMonetization, useOverview, usePlatformAuditLabels, usePlatformAuditLog, useProfileActivityStats, useProfileCredentials, useProfilePathways, useProfilePrograms, useProfileSkills, useProfileTimeSpent, usePrograms, useReports, useScopedMentorDbId, useScopedMentorId, useSelectedLocalModel, useSlashSkillPicker, useSlashSkills, useT, useTauri, useTimeTracking, useTopics, useTranscripts, useUserCourses, useUserMetadata, useUsers, useWebContainersI18n, useWebContainersLocale };
250622
251061
  //# sourceMappingURL=index.esm.js.map