@arbidocs/react 0.4.3 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +33 -0
  2. package/dist/artifacts/index.cjs +458 -0
  3. package/dist/artifacts/index.cjs.map +1 -0
  4. package/dist/artifacts/index.d.cts +276 -0
  5. package/dist/artifacts/index.d.ts +276 -0
  6. package/dist/artifacts/index.js +434 -0
  7. package/dist/artifacts/index.js.map +1 -0
  8. package/dist/artifacts/redline-core.cjs +20 -0
  9. package/dist/artifacts/redline-core.cjs.map +1 -0
  10. package/dist/artifacts/redline-core.d.cts +36 -0
  11. package/dist/artifacts/redline-core.d.ts +36 -0
  12. package/dist/artifacts/redline-core.js +3 -0
  13. package/dist/artifacts/redline-core.js.map +1 -0
  14. package/dist/chunk-2DXS7L7M.cjs +302 -0
  15. package/dist/chunk-2DXS7L7M.cjs.map +1 -0
  16. package/dist/{chunk-ORKGCXG3.cjs → chunk-7BDGLRQX.cjs} +123 -427
  17. package/dist/chunk-7BDGLRQX.cjs.map +1 -0
  18. package/dist/chunk-7V7B7OEM.cjs +318 -0
  19. package/dist/chunk-7V7B7OEM.cjs.map +1 -0
  20. package/dist/{chunk-MIJRORQL.js → chunk-DVRJFLE7.js} +8 -302
  21. package/dist/chunk-DVRJFLE7.js.map +1 -0
  22. package/dist/{chunk-EJ2BMHYK.js → chunk-FSMIN5VX.js} +4 -3
  23. package/dist/chunk-FSMIN5VX.js.map +1 -0
  24. package/dist/chunk-H7ZZQ4ZV.js +305 -0
  25. package/dist/chunk-H7ZZQ4ZV.js.map +1 -0
  26. package/dist/{chunk-JKO3NR5L.js → chunk-HDCRPPBW.js} +5 -23
  27. package/dist/chunk-HDCRPPBW.js.map +1 -0
  28. package/dist/chunk-J4MX2W4H.js +26 -0
  29. package/dist/chunk-J4MX2W4H.js.map +1 -0
  30. package/dist/{chunk-6ALMBER7.js → chunk-N5SVBDLC.js} +4 -9
  31. package/dist/chunk-N5SVBDLC.js.map +1 -0
  32. package/dist/{chunk-RZQACYNQ.cjs → chunk-OBNTJEEO.cjs} +14 -20
  33. package/dist/chunk-OBNTJEEO.cjs.map +1 -0
  34. package/dist/{chunk-BXP6S34V.cjs → chunk-PGLV23SB.cjs} +13 -12
  35. package/dist/chunk-PGLV23SB.cjs.map +1 -0
  36. package/dist/chunk-RKWNX32A.js +299 -0
  37. package/dist/chunk-RKWNX32A.js.map +1 -0
  38. package/dist/chunk-S6A6FSG7.cjs +13 -0
  39. package/dist/chunk-S6A6FSG7.cjs.map +1 -0
  40. package/dist/chunk-SN5YV6FF.js +11 -0
  41. package/dist/chunk-SN5YV6FF.js.map +1 -0
  42. package/dist/{chunk-7IOCMCC5.cjs → chunk-TMPDW7J5.cjs} +3 -23
  43. package/dist/chunk-TMPDW7J5.cjs.map +1 -0
  44. package/dist/chunk-VJWAP2HJ.cjs +303 -0
  45. package/dist/chunk-VJWAP2HJ.cjs.map +1 -0
  46. package/dist/chunk-ZMTLGO3K.cjs +29 -0
  47. package/dist/chunk-ZMTLGO3K.cjs.map +1 -0
  48. package/dist/chunk-ZY53R6I4.js +276 -0
  49. package/dist/chunk-ZY53R6I4.js.map +1 -0
  50. package/dist/index.cjs +784 -612
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.d.cts +1522 -82
  53. package/dist/index.d.ts +1522 -82
  54. package/dist/index.js +327 -250
  55. package/dist/index.js.map +1 -1
  56. package/dist/shell/index.cjs +8 -7
  57. package/dist/shell/index.js +3 -2
  58. package/dist/ui/index.cjs +156 -154
  59. package/dist/ui/index.js +4 -2
  60. package/dist/viewers/index.cjs +9 -8
  61. package/dist/viewers/index.cjs.map +1 -1
  62. package/dist/viewers/index.js +3 -2
  63. package/dist/viewers/index.js.map +1 -1
  64. package/package.json +19 -3
  65. package/dist/chunk-6ALMBER7.js.map +0 -1
  66. package/dist/chunk-7IOCMCC5.cjs.map +0 -1
  67. package/dist/chunk-BXP6S34V.cjs.map +0 -1
  68. package/dist/chunk-EJ2BMHYK.js.map +0 -1
  69. package/dist/chunk-JKO3NR5L.js.map +0 -1
  70. package/dist/chunk-MIJRORQL.js.map +0 -1
  71. package/dist/chunk-ORKGCXG3.cjs.map +0 -1
  72. package/dist/chunk-RZQACYNQ.cjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,16 +1,20 @@
1
1
  'use strict';
2
2
 
3
- var chunkBXP6S34V_cjs = require('./chunk-BXP6S34V.cjs');
4
- var chunkORKGCXG3_cjs = require('./chunk-ORKGCXG3.cjs');
5
- var chunkRZQACYNQ_cjs = require('./chunk-RZQACYNQ.cjs');
6
- var chunk7IOCMCC5_cjs = require('./chunk-7IOCMCC5.cjs');
3
+ var chunk2DXS7L7M_cjs = require('./chunk-2DXS7L7M.cjs');
4
+ var chunkPGLV23SB_cjs = require('./chunk-PGLV23SB.cjs');
5
+ var chunk7BDGLRQX_cjs = require('./chunk-7BDGLRQX.cjs');
6
+ var chunk7V7B7OEM_cjs = require('./chunk-7V7B7OEM.cjs');
7
+ var chunkOBNTJEEO_cjs = require('./chunk-OBNTJEEO.cjs');
8
+ var chunkS6A6FSG7_cjs = require('./chunk-S6A6FSG7.cjs');
9
+ var chunkTMPDW7J5_cjs = require('./chunk-TMPDW7J5.cjs');
10
+ var chunkZMTLGO3K_cjs = require('./chunk-ZMTLGO3K.cjs');
7
11
  var React = require('react');
8
- var reactQuery = require('@tanstack/react-query');
9
12
  var lucideReact = require('lucide-react');
10
13
  var jsxRuntime = require('react/jsx-runtime');
11
14
  var browser = require('@arbidocs/sdk/browser');
12
15
  var client = require('@arbidocs/client');
13
16
  var zustand = require('zustand');
17
+ var reactQuery = require('@tanstack/react-query');
14
18
  var diff = require('diff');
15
19
  var framerMotion = require('framer-motion');
16
20
  var reactDom = require('react-dom');
@@ -25,241 +29,6 @@ var React__default = /*#__PURE__*/_interopDefault(React);
25
29
  var ReactMarkdown__default = /*#__PURE__*/_interopDefault(ReactMarkdown);
26
30
  var Cropper__default = /*#__PURE__*/_interopDefault(Cropper);
27
31
 
28
- var arbiQueryKeys = {
29
- workspaces: () => ["arbi", "workspaces"],
30
- documents: (workspaceId) => ["arbi", "documents", workspaceId],
31
- conversations: (workspaceId) => ["arbi", "conversations", workspaceId],
32
- tags: (workspaceId) => ["arbi", "tags", workspaceId],
33
- thumbnails: (docIds) => ["arbi", "thumbnails", [...docIds].sort().join(",")],
34
- parsedDoc: (docId, stage) => ["arbi", "parsedDoc", docId, stage],
35
- agents: () => ["arbi", "agents"],
36
- sessions: () => ["arbi", "sessions"],
37
- health: () => ["arbi", "health"],
38
- tasks: () => ["arbi", "tasks"],
39
- facts: (workspaceId) => ["arbi", "facts", workspaceId],
40
- configs: () => ["arbi", "configs"],
41
- activity: () => ["arbi", "activity"],
42
- projects: () => ["arbi", "projects"],
43
- projectUsage: (projectExtId, monthsBack) => ["arbi", "projectUsage", projectExtId, monthsBack],
44
- projectInvoices: (projectExtId) => ["arbi", "projectInvoices", projectExtId],
45
- userUsageToday: () => ["arbi", "userUsageToday"]
46
- };
47
- function useWorkspaces(options) {
48
- const arbi = chunk7IOCMCC5_cjs.useArbi();
49
- return reactQuery.useQuery({
50
- queryKey: arbiQueryKeys.workspaces(),
51
- queryFn: () => arbi.workspaces.list(),
52
- enabled: options?.enabled ?? arbi.isLoggedIn
53
- });
54
- }
55
- function useDocuments(workspaceId, options) {
56
- const arbi = chunk7IOCMCC5_cjs.useArbi();
57
- return reactQuery.useQuery({
58
- queryKey: arbiQueryKeys.documents(workspaceId ?? ""),
59
- queryFn: () => arbi.documents.list(),
60
- enabled: (options?.enabled ?? true) && !!workspaceId && arbi.hasWorkspace
61
- });
62
- }
63
- function useConversations(workspaceId, options) {
64
- const arbi = chunk7IOCMCC5_cjs.useArbi();
65
- return reactQuery.useQuery({
66
- queryKey: arbiQueryKeys.conversations(workspaceId ?? ""),
67
- queryFn: () => arbi.conversations.list(),
68
- enabled: (options?.enabled ?? true) && !!workspaceId && arbi.hasWorkspace
69
- });
70
- }
71
- function useTags(workspaceId, options) {
72
- const arbi = chunk7IOCMCC5_cjs.useArbi();
73
- return reactQuery.useQuery({
74
- queryKey: arbiQueryKeys.tags(workspaceId ?? ""),
75
- queryFn: () => arbi.tags.list(),
76
- enabled: (options?.enabled ?? true) && !!workspaceId && arbi.hasWorkspace
77
- });
78
- }
79
- function useThumbnails(docIds, options) {
80
- const arbi = chunk7IOCMCC5_cjs.useArbi();
81
- return reactQuery.useQuery({
82
- queryKey: arbiQueryKeys.thumbnails(docIds),
83
- queryFn: () => arbi.documents.getThumbnails(docIds),
84
- enabled: (options?.enabled ?? true) && docIds.length > 0 && arbi.hasWorkspace,
85
- staleTime: 5 * 6e4
86
- });
87
- }
88
- function useParsedDocument(docId, stage = "final", options) {
89
- const arbi = chunk7IOCMCC5_cjs.useArbi();
90
- return reactQuery.useQuery({
91
- queryKey: arbiQueryKeys.parsedDoc(docId ?? "", stage),
92
- queryFn: () => arbi.documents.getParsedContent(docId, stage),
93
- enabled: (options?.enabled ?? true) && !!docId && arbi.hasWorkspace
94
- });
95
- }
96
- function useAssistantQuery() {
97
- const arbi = chunk7IOCMCC5_cjs.useArbi();
98
- return reactQuery.useMutation({
99
- mutationFn: ({ question, ...options }) => arbi.assistant.query(question, options)
100
- });
101
- }
102
- function useAgents(options) {
103
- const arbi = chunk7IOCMCC5_cjs.useArbi();
104
- return reactQuery.useQuery({
105
- queryKey: arbiQueryKeys.agents(),
106
- queryFn: () => arbi.agents.list(),
107
- enabled: options?.enabled ?? arbi.isLoggedIn
108
- });
109
- }
110
- function useDeleteAgents() {
111
- const arbi = chunk7IOCMCC5_cjs.useArbi();
112
- return reactQuery.useMutation({
113
- mutationFn: ({ agentExtIds }) => arbi.agents.delete(agentExtIds)
114
- });
115
- }
116
- function useSessions(options) {
117
- const arbi = chunk7IOCMCC5_cjs.useArbi();
118
- return reactQuery.useQuery({
119
- queryKey: arbiQueryKeys.sessions(),
120
- queryFn: () => arbi.sessions.list(),
121
- enabled: options?.enabled ?? arbi.isLoggedIn
122
- });
123
- }
124
- function useHealth(options) {
125
- const arbi = chunk7IOCMCC5_cjs.useArbi();
126
- return reactQuery.useQuery({
127
- queryKey: arbiQueryKeys.health(),
128
- queryFn: () => arbi.health.check(),
129
- enabled: options?.enabled
130
- });
131
- }
132
- function useTasks(options) {
133
- const arbi = chunk7IOCMCC5_cjs.useArbi();
134
- return reactQuery.useQuery({
135
- queryKey: arbiQueryKeys.tasks(),
136
- queryFn: () => arbi.tasks.list(),
137
- enabled: options?.enabled ?? arbi.isLoggedIn
138
- });
139
- }
140
- function useFacts(workspaceId, options) {
141
- const arbi = chunk7IOCMCC5_cjs.useArbi();
142
- return reactQuery.useQuery({
143
- queryKey: arbiQueryKeys.facts(workspaceId ?? ""),
144
- queryFn: () => arbi.facts.list({ pinnedOnly: options?.pinnedOnly }),
145
- enabled: (options?.enabled ?? true) && !!workspaceId && arbi.hasWorkspace
146
- });
147
- }
148
- function useConfigs(options) {
149
- const arbi = chunk7IOCMCC5_cjs.useArbi();
150
- return reactQuery.useQuery({
151
- queryKey: arbiQueryKeys.configs(),
152
- queryFn: () => arbi.agentConfig.list(),
153
- enabled: options?.enabled ?? arbi.isLoggedIn
154
- });
155
- }
156
- function useActivity(options) {
157
- const arbi = chunk7IOCMCC5_cjs.useArbi();
158
- return reactQuery.useQuery({
159
- queryKey: arbiQueryKeys.activity(),
160
- queryFn: () => arbi.dm.listActivity({ limit: options?.limit, offset: options?.offset }),
161
- enabled: options?.enabled ?? arbi.isLoggedIn
162
- });
163
- }
164
- function useProjects(options) {
165
- const arbi = chunk7IOCMCC5_cjs.useArbi();
166
- return reactQuery.useQuery({
167
- queryKey: arbiQueryKeys.projects(),
168
- queryFn: () => arbi.projects.list(),
169
- enabled: options?.enabled ?? arbi.isLoggedIn
170
- });
171
- }
172
- function useProjectUsage(projectExtId, monthsBack = 0, options) {
173
- const arbi = chunk7IOCMCC5_cjs.useArbi();
174
- return reactQuery.useQuery({
175
- queryKey: arbiQueryKeys.projectUsage(projectExtId ?? "", monthsBack),
176
- queryFn: () => arbi.projects.usage(projectExtId, monthsBack),
177
- enabled: (options?.enabled ?? true) && !!projectExtId && arbi.isLoggedIn
178
- });
179
- }
180
- function useProjectsUsage(projectExtIds, monthsBack = 0, options) {
181
- const arbi = chunk7IOCMCC5_cjs.useArbi();
182
- const enabled = (options?.enabled ?? true) && arbi.isLoggedIn;
183
- const results = reactQuery.useQueries({
184
- queries: projectExtIds.map((id) => ({
185
- queryKey: arbiQueryKeys.projectUsage(id, monthsBack),
186
- queryFn: () => arbi.projects.usage(id, monthsBack),
187
- enabled: enabled && !!id
188
- }))
189
- });
190
- const signature = results.map((r) => `${r.status}:${r.dataUpdatedAt ?? 0}`).join("|");
191
- return React.useMemo(() => {
192
- const dailyMap = /* @__PURE__ */ new Map();
193
- const modelMap = /* @__PURE__ */ new Map();
194
- let totalSpend = 0;
195
- let totalTokens = 0;
196
- let totalRequests = 0;
197
- for (const r of results) {
198
- const d = r.data;
199
- if (!d) continue;
200
- totalSpend += d.total_spend ?? 0;
201
- totalTokens += d.total_tokens ?? 0;
202
- totalRequests += d.total_requests ?? 0;
203
- for (const day of d.daily ?? []) {
204
- const cur = dailyMap.get(day.date) ?? {
205
- date: day.date,
206
- spend: 0,
207
- totalTokens: 0,
208
- apiRequests: 0
209
- };
210
- cur.spend += day.spend ?? 0;
211
- cur.totalTokens += day.total_tokens ?? 0;
212
- cur.apiRequests += day.api_requests ?? 0;
213
- dailyMap.set(day.date, cur);
214
- }
215
- for (const [model, mg] of Object.entries(d.model_groups ?? {})) {
216
- const cur = modelMap.get(model) ?? {
217
- model,
218
- spend: 0,
219
- totalTokens: 0,
220
- promptTokens: 0,
221
- completionTokens: 0,
222
- successfulRequests: 0
223
- };
224
- cur.spend += mg.spend ?? 0;
225
- cur.totalTokens += mg.total_tokens ?? 0;
226
- cur.promptTokens += mg.prompt_tokens ?? 0;
227
- cur.completionTokens += mg.completion_tokens ?? 0;
228
- cur.successfulRequests += mg.successful_requests ?? 0;
229
- modelMap.set(model, cur);
230
- }
231
- }
232
- return {
233
- totalSpend,
234
- totalTokens,
235
- totalRequests,
236
- daily: [...dailyMap.values()].sort((a, b) => a.date.localeCompare(b.date)),
237
- modelGroups: [...modelMap.values()].sort(
238
- (a, b) => b.spend - a.spend || b.totalTokens - a.totalTokens
239
- ),
240
- isLoading: results.some((r) => r.isLoading),
241
- isError: results.some((r) => r.isError)
242
- };
243
- }, [signature]);
244
- }
245
- function useProjectInvoices(projectExtId, options) {
246
- const arbi = chunk7IOCMCC5_cjs.useArbi();
247
- return reactQuery.useQuery({
248
- queryKey: arbiQueryKeys.projectInvoices(projectExtId ?? ""),
249
- queryFn: () => arbi.projects.invoices(projectExtId),
250
- enabled: (options?.enabled ?? true) && !!projectExtId && arbi.isLoggedIn
251
- });
252
- }
253
- function useUserUsageToday(options) {
254
- const arbi = chunk7IOCMCC5_cjs.useArbi();
255
- return reactQuery.useQuery({
256
- queryKey: arbiQueryKeys.userUsageToday(),
257
- queryFn: () => arbi.user.usageToday(),
258
- enabled: options?.enabled ?? arbi.isLoggedIn
259
- });
260
- }
261
-
262
- // src/chat/useArbiChat.ts
263
32
  var counter = 0;
264
33
  var nextId = (prefix) => `${prefix}-${Date.now().toString(36)}-${(counter++).toString(36)}`;
265
34
  var emptyThread = () => ({
@@ -279,9 +48,9 @@ function titleFromQuestion(question, maxLength = 48) {
279
48
  var messageOf = (e, fallback) => e instanceof Error ? e.message : fallback;
280
49
  function useArbiChat(options = {}) {
281
50
  const { workspaceId, model, titleLength = 48 } = options;
282
- const arbi = chunk7IOCMCC5_cjs.useArbi();
283
- const { data: docs = [], isLoading: isLoadingDocuments, refetch } = useDocuments(workspaceId);
284
- const query = useAssistantQuery();
51
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
52
+ const { data: docs = [], isLoading: isLoadingDocuments, refetch } = chunk2DXS7L7M_cjs.useDocuments(workspaceId);
53
+ const query = chunk2DXS7L7M_cjs.useAssistantQuery();
285
54
  const { mutateAsync } = query;
286
55
  const [threads, setThreads] = React.useState(() => [emptyThread()]);
287
56
  const [activeId, setActiveId] = React.useState(() => threads[0].id);
@@ -511,12 +280,12 @@ var ChatBubble = React.memo(function ChatBubble2({
511
280
  }
512
281
  );
513
282
  }
514
- const bubbleRadius = chunkRZQACYNQ_cjs.cn(
283
+ const bubbleRadius = chunkS6A6FSG7_cjs.cn(
515
284
  "rounded-2xl",
516
285
  isSent && isLastOfRun && "rounded-br-sm",
517
286
  !isSent && isLastOfRun && "rounded-bl-sm"
518
287
  );
519
- const bubbleSurface = isSent ? chunkRZQACYNQ_cjs.cn("bg-ai-accent-soft text-foreground chat-bubble-sent", classNames?.ownBubble) : chunkRZQACYNQ_cjs.cn("border border-border bg-card text-card-foreground", classNames?.peerBubble);
288
+ const bubbleSurface = isSent ? chunkS6A6FSG7_cjs.cn("bg-ai-accent-soft text-foreground chat-bubble-sent", classNames?.ownBubble) : chunkS6A6FSG7_cjs.cn("border border-border bg-card text-card-foreground", classNames?.peerBubble);
520
289
  const highlightClass = highlighted && "ring-2 ring-blue-400 dark:ring-blue-600";
521
290
  const copyLinkButton = onCopyLink && /* @__PURE__ */ jsxRuntime.jsx(
522
291
  "button",
@@ -524,7 +293,7 @@ var ChatBubble = React.memo(function ChatBubble2({
524
293
  onClick: onCopyLink,
525
294
  onFocus: () => setIsFocused(true),
526
295
  onBlur: () => setIsFocused(false),
527
- className: chunkRZQACYNQ_cjs.cn(
296
+ className: chunkS6A6FSG7_cjs.cn(
528
297
  "self-end p-1 transition-opacity focus:outline-none focus-visible:ring-1 focus-visible:ring-ring rounded",
529
298
  showActions ? "opacity-100 text-foreground" : "opacity-0 text-muted-foreground"
530
299
  ),
@@ -537,7 +306,7 @@ var ChatBubble = React.memo(function ChatBubble2({
537
306
  {
538
307
  id,
539
308
  "data-testid": testId,
540
- className: chunkRZQACYNQ_cjs.cn(
309
+ className: chunkS6A6FSG7_cjs.cn(
541
310
  "flex w-full items-end",
542
311
  isLastOfRun ? "mb-2" : "mb-0.5",
543
312
  isSent ? "justify-end" : "justify-start"
@@ -553,7 +322,7 @@ var ChatBubble = React.memo(function ChatBubble2({
553
322
  onClick: onDelete,
554
323
  onFocus: () => setIsFocused(true),
555
324
  onBlur: () => setIsFocused(false),
556
- className: chunkRZQACYNQ_cjs.cn(
325
+ className: chunkS6A6FSG7_cjs.cn(
557
326
  "self-end p-1 transition-opacity focus:outline-none focus-visible:ring-1 focus-visible:ring-ring rounded",
558
327
  showActions ? "opacity-100 text-destructive" : "opacity-0 text-muted-foreground"
559
328
  ),
@@ -565,7 +334,7 @@ var ChatBubble = React.memo(function ChatBubble2({
565
334
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col max-w-[80%] md:max-w-[60%]", children: /* @__PURE__ */ jsxRuntime.jsxs(
566
335
  "div",
567
336
  {
568
- className: chunkRZQACYNQ_cjs.cn(
337
+ className: chunkS6A6FSG7_cjs.cn(
569
338
  "px-3.5 py-2 break-words shadow-sm transition-shadow",
570
339
  bubbleRadius,
571
340
  bubbleSurface,
@@ -576,7 +345,7 @@ var ChatBubble = React.memo(function ChatBubble2({
576
345
  isLastOfRun && /* @__PURE__ */ jsxRuntime.jsxs(
577
346
  "div",
578
347
  {
579
- className: chunkRZQACYNQ_cjs.cn(
348
+ className: chunkS6A6FSG7_cjs.cn(
580
349
  "flex items-center gap-1.5 mt-0.5",
581
350
  isSent ? "justify-end" : "justify-start"
582
351
  ),
@@ -597,7 +366,7 @@ var ChatBubble = React.memo(function ChatBubble2({
597
366
  onClick: onDelete,
598
367
  onFocus: () => setIsFocused(true),
599
368
  onBlur: () => setIsFocused(false),
600
- className: chunkRZQACYNQ_cjs.cn(
369
+ className: chunkS6A6FSG7_cjs.cn(
601
370
  "self-end p-1 transition-opacity focus:outline-none focus-visible:ring-1 focus-visible:ring-ring rounded",
602
371
  showActions ? "opacity-100 text-destructive" : "opacity-0 text-muted-foreground"
603
372
  ),
@@ -630,7 +399,7 @@ function useArbiWsContext() {
630
399
  return ctx;
631
400
  }
632
401
  function ArbiWebSocketProvider({ enabled = true, children }) {
633
- const arbi = chunk7IOCMCC5_cjs.useArbi();
402
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
634
403
  const subscribersRef = React.useRef(/* @__PURE__ */ new Set());
635
404
  const setStatus = useArbiWsStore((s) => s.setStatus);
636
405
  const applyTaskUpdate = useArbiWsStore((s) => s.applyTaskUpdate);
@@ -742,14 +511,14 @@ function useArbiDocumentSync(workspaceId) {
742
511
  if (!workspaceId) return;
743
512
  if (client.isMessageType(msg, "batch_complete")) {
744
513
  if (msg.workspace_ext_id !== workspaceId) return;
745
- void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.documents(workspaceId) });
746
- void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.tags(workspaceId) });
514
+ void queryClient.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.documents(workspaceId) });
515
+ void queryClient.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.tags(workspaceId) });
747
516
  return;
748
517
  }
749
518
  if (client.isMessageType(msg, "task_update")) {
750
519
  if (msg.workspace_ext_id !== workspaceId) return;
751
520
  if (TERMINAL_STATUSES.has(msg.status)) {
752
- void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.documents(workspaceId) });
521
+ void queryClient.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.documents(workspaceId) });
753
522
  }
754
523
  }
755
524
  });
@@ -877,8 +646,8 @@ function useShellWorkspaces(options) {
877
646
  };
878
647
  }
879
648
  function useArbiShellWorkspaces(options = {}) {
880
- const arbi = chunk7IOCMCC5_cjs.useArbi();
881
- const query = useWorkspaces();
649
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
650
+ const query = chunk2DXS7L7M_cjs.useWorkspaces();
882
651
  const { select, ...rest } = options;
883
652
  const defaultSelect = React.useCallback(
884
653
  (workspace) => arbi.selectWorkspace(workspace.id),
@@ -892,8 +661,188 @@ function useArbiShellWorkspaces(options = {}) {
892
661
  select: select ?? defaultSelect
893
662
  });
894
663
  }
664
+ function useCreateTask() {
665
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
666
+ const qc = reactQuery.useQueryClient();
667
+ return reactQuery.useMutation({
668
+ mutationFn: (body) => arbi.tasks.create(body),
669
+ onSuccess: () => qc.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.tasks() })
670
+ });
671
+ }
672
+ function useUpdateTask() {
673
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
674
+ const qc = reactQuery.useQueryClient();
675
+ return reactQuery.useMutation({
676
+ mutationFn: ({ taskId, patch }) => arbi.tasks.update(taskId, patch),
677
+ onSuccess: () => qc.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.tasks() })
678
+ });
679
+ }
680
+ function useRunTask() {
681
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
682
+ const qc = reactQuery.useQueryClient();
683
+ return reactQuery.useMutation({
684
+ mutationFn: (taskId) => arbi.tasks.runWithAuth(taskId),
685
+ onSuccess: (_task, taskId) => Promise.all([
686
+ qc.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.tasks() }),
687
+ qc.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.taskRuns(taskId) })
688
+ ])
689
+ });
690
+ }
691
+ function useDeleteTask() {
692
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
693
+ const qc = reactQuery.useQueryClient();
694
+ return reactQuery.useMutation({
695
+ mutationFn: (taskId) => arbi.tasks.delete(taskId),
696
+ onSuccess: () => qc.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.tasks() })
697
+ });
698
+ }
699
+ function useTaskRuns(taskId, options) {
700
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
701
+ return reactQuery.useQuery({
702
+ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.taskRuns(taskId ?? ""),
703
+ queryFn: () => arbi.tasks.listRuns(taskId),
704
+ enabled: (options?.enabled ?? true) && !!taskId && arbi.isLoggedIn,
705
+ refetchInterval: (q) => q.state.data?.some((r) => r.status === "running") ? 3e3 : false
706
+ });
707
+ }
708
+ function useCreateAgent() {
709
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
710
+ const qc = reactQuery.useQueryClient();
711
+ return reactQuery.useMutation({
712
+ mutationFn: (name) => arbi.agents.create(name),
713
+ onSuccess: () => qc.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.agents() })
714
+ });
715
+ }
716
+ function useAgentConfig(agentExtId, options) {
717
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
718
+ return reactQuery.useQuery({
719
+ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.agentConfig(agentExtId),
720
+ queryFn: async () => agentExtId ? await arbi.agents.getConfig(agentExtId) : await arbi.agentConfig.get("default"),
721
+ enabled: (options?.enabled ?? true) && arbi.isLoggedIn
722
+ });
723
+ }
724
+ function useAgentModels(options) {
725
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
726
+ return reactQuery.useQuery({
727
+ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.models(),
728
+ queryFn: async () => (await arbi.agentConfig.getModels()).models.map((m) => m.model_name),
729
+ enabled: (options?.enabled ?? true) && arbi.isLoggedIn
730
+ });
731
+ }
732
+ function useSaveAgentConfig() {
733
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
734
+ const qc = reactQuery.useQueryClient();
735
+ return reactQuery.useMutation({
736
+ mutationFn: async ({ agentExtId, title, sections }) => {
737
+ const pinned = await arbi.agents.getConfig(agentExtId);
738
+ const base = pinned ?? await arbi.agentConfig.get("default");
739
+ const merged = structuredClone(base);
740
+ for (const [section, params] of Object.entries(sections)) {
741
+ merged[section] = { ...merged[section] ?? {}, ...params };
742
+ }
743
+ return arbi.agentConfig.save({
744
+ ...merged,
745
+ agent_ext_id: agentExtId,
746
+ title: title ?? `agent-${agentExtId}`
747
+ });
748
+ },
749
+ onSuccess: (_saved, { agentExtId }) => Promise.all([
750
+ qc.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.configs() }),
751
+ qc.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.agentConfig(agentExtId) })
752
+ ])
753
+ });
754
+ }
755
+ function useAgentWorkspaces(agentExtId, options) {
756
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
757
+ return reactQuery.useQuery({
758
+ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.agentWorkspaces(agentExtId ?? ""),
759
+ queryFn: () => arbi.agents.listWorkspaces(agentExtId),
760
+ enabled: (options?.enabled ?? true) && !!agentExtId && arbi.isLoggedIn
761
+ });
762
+ }
763
+ function useGrantAgentAccess() {
764
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
765
+ const qc = reactQuery.useQueryClient();
766
+ return reactQuery.useMutation({
767
+ mutationFn: async ({
768
+ agentExtId,
769
+ workspaceId,
770
+ mode = { kind: "standing" }
771
+ }) => {
772
+ if (mode.kind === "temporary") {
773
+ return arbi.agents.grantTemporaryAccess(agentExtId, workspaceId, mode.ttlSeconds);
774
+ }
775
+ const agent = (await arbi.agents.list()).find((a) => a.external_id === agentExtId);
776
+ if (!agent?.email) throw new Error("The agent's address is unknown.");
777
+ return arbi.workspaces.grantAccess({ workspaceId, emails: [agent.email] });
778
+ },
779
+ onSuccess: (_res, { agentExtId }) => qc.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.agentWorkspaces(agentExtId) })
780
+ });
781
+ }
782
+ function useRevokeAgentAccess() {
783
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
784
+ const qc = reactQuery.useQueryClient();
785
+ return reactQuery.useMutation({
786
+ mutationFn: async ({
787
+ agentExtId,
788
+ workspaceId
789
+ }) => {
790
+ const previous = arbi.hasWorkspace ? arbi.getWorkspaceId() : null;
791
+ await arbi.selectWorkspace(workspaceId);
792
+ try {
793
+ await arbi.workspaces.removeUsers([agentExtId]);
794
+ } finally {
795
+ if (previous && previous !== workspaceId) await arbi.selectWorkspace(previous);
796
+ }
797
+ },
798
+ onSuccess: (_res, { agentExtId }) => qc.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.agentWorkspaces(agentExtId) })
799
+ });
800
+ }
801
+ function useSkills(options) {
802
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
803
+ return reactQuery.useQuery({
804
+ queryKey: [...chunk2DXS7L7M_cjs.arbiQueryKeys.skills(), options?.includeHidden ?? false],
805
+ queryFn: () => arbi.assistant.listSkills({ includeHidden: options?.includeHidden }),
806
+ enabled: (options?.enabled ?? true) && arbi.isLoggedIn,
807
+ staleTime: 3e4
808
+ });
809
+ }
810
+ function useContacts(options) {
811
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
812
+ return reactQuery.useQuery({
813
+ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.contacts(),
814
+ queryFn: () => arbi.contacts.list(),
815
+ enabled: (options?.enabled ?? true) && arbi.isLoggedIn
816
+ });
817
+ }
818
+ function usePendingContacts(options) {
819
+ const contacts = useContacts(options);
820
+ const pending = React.useMemo(
821
+ () => (contacts.data ?? []).filter(
822
+ (c) => c.status === "invitation_pending" || c.status === "invitation_expired"
823
+ ),
824
+ [contacts.data]
825
+ );
826
+ return { ...contacts, pending };
827
+ }
828
+ function useAddContacts() {
829
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
830
+ const qc = reactQuery.useQueryClient();
831
+ return reactQuery.useMutation({
832
+ mutationFn: (emails) => arbi.contacts.add(emails),
833
+ onSuccess: () => qc.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.contacts() })
834
+ });
835
+ }
836
+ function useRemoveContacts() {
837
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
838
+ const qc = reactQuery.useQueryClient();
839
+ return reactQuery.useMutation({
840
+ mutationFn: (contactIds) => arbi.contacts.remove(contactIds),
841
+ onSuccess: () => qc.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.contacts() })
842
+ });
843
+ }
895
844
  function useWorkspaceDocs(workspaceId) {
896
- const { data: docs = [], isLoading, isError } = useDocuments(workspaceId);
845
+ const { data: docs = [], isLoading, isError } = chunk2DXS7L7M_cjs.useDocuments(workspaceId);
897
846
  const docIds = React.useMemo(
898
847
  () => docs.map((d) => d.external_id).filter((id) => !!id),
899
848
  [docs]
@@ -901,7 +850,7 @@ function useWorkspaceDocs(workspaceId) {
901
850
  return { wsId: workspaceId, docs, docIds, isLoading, isError, ready: docIds.length > 0 };
902
851
  }
903
852
  function useAiTask() {
904
- const mutation = useAssistantQuery();
853
+ const mutation = chunk2DXS7L7M_cjs.useAssistantQuery();
905
854
  const [status, setStatus] = React.useState("idle");
906
855
  const [text, setText] = React.useState("");
907
856
  const [stepCount, setStepCount] = React.useState(0);
@@ -990,7 +939,7 @@ function useAiTask() {
990
939
  };
991
940
  }
992
941
  function useSemanticSearch(docIds) {
993
- const arbi = chunk7IOCMCC5_cjs.useArbi();
942
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
994
943
  const [query, setQuery] = React.useState("");
995
944
  const mutation = reactQuery.useMutation({
996
945
  mutationFn: async ({ query: q, mode }) => {
@@ -1088,9 +1037,9 @@ function AiAnswer({
1088
1037
  setTimeout(() => setCopied(false), 1600);
1089
1038
  };
1090
1039
  if (status === "idle" && !hasText) {
1091
- return emptyHint ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: chunkRZQACYNQ_cjs.cn("text-sm text-muted-foreground", className), "data-testid": `${testId}-empty`, children: emptyHint }) : null;
1040
+ return emptyHint ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: chunkS6A6FSG7_cjs.cn("text-sm text-muted-foreground", className), "data-testid": `${testId}-empty`, children: emptyHint }) : null;
1092
1041
  }
1093
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkRZQACYNQ_cjs.cn("space-y-3", className), "data-testid": testId, "data-status": status, children: [
1042
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkS6A6FSG7_cjs.cn("space-y-3", className), "data-testid": testId, "data-status": status, children: [
1094
1043
  running && /* @__PURE__ */ jsxRuntime.jsxs(
1095
1044
  "div",
1096
1045
  {
@@ -1114,7 +1063,7 @@ function AiAnswer({
1114
1063
  }
1115
1064
  ),
1116
1065
  hasText && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1117
- /* @__PURE__ */ jsxRuntime.jsx(chunkORKGCXG3_cjs.AiMarkdown, { isStreaming: running, children: text }),
1066
+ /* @__PURE__ */ jsxRuntime.jsx(chunk7BDGLRQX_cjs.AiMarkdown, { isStreaming: running, children: text }),
1118
1067
  !running && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-t border-border pt-2.5", children: [
1119
1068
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1120
1069
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ShieldCheck, { className: "size-3.5 text-ai-accent" }),
@@ -1159,7 +1108,7 @@ function AiActionCard({
1159
1108
  const p = typeof prompt === "function" ? prompt() : prompt;
1160
1109
  void task.run(p, docIds);
1161
1110
  };
1162
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkORKGCXG3_cjs.Card, { variant: "elevated", className: "rounded-xl p-5", "data-testid": testId, children: [
1111
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunk7BDGLRQX_cjs.Card, { variant: "elevated", className: "rounded-xl p-5", "data-testid": testId, children: [
1163
1112
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-4", children: [
1164
1113
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
1165
1114
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-9 shrink-0 items-center justify-center rounded-lg bg-ai-accent-soft text-ai-accent", children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "size-4" }) }),
@@ -1169,7 +1118,7 @@ function AiActionCard({
1169
1118
  ] })
1170
1119
  ] }),
1171
1120
  /* @__PURE__ */ jsxRuntime.jsxs(
1172
- chunkORKGCXG3_cjs.Button,
1121
+ chunk7BDGLRQX_cjs.Button,
1173
1122
  {
1174
1123
  variant: task.isDone ? "outline" : "accent",
1175
1124
  size: "sm",
@@ -1216,7 +1165,7 @@ function ArtifactCanvas({
1216
1165
  return /* @__PURE__ */ jsxRuntime.jsxs(
1217
1166
  "div",
1218
1167
  {
1219
- className: chunkRZQACYNQ_cjs.cn(
1168
+ className: chunkS6A6FSG7_cjs.cn(
1220
1169
  "flex h-full min-h-[280px] flex-col items-center justify-center rounded-xl border border-destructive/30 bg-destructive/5 p-8 text-center",
1221
1170
  className
1222
1171
  ),
@@ -1232,7 +1181,7 @@ function ArtifactCanvas({
1232
1181
  return /* @__PURE__ */ jsxRuntime.jsxs(
1233
1182
  "div",
1234
1183
  {
1235
- className: chunkRZQACYNQ_cjs.cn(
1184
+ className: chunkS6A6FSG7_cjs.cn(
1236
1185
  "flex h-full min-h-[280px] flex-col items-center justify-center rounded-xl border border-border bg-ai-surface/40 p-8 text-center",
1237
1186
  className
1238
1187
  ),
@@ -1253,7 +1202,7 @@ function ArtifactCanvas({
1253
1202
  return /* @__PURE__ */ jsxRuntime.jsxs(
1254
1203
  "div",
1255
1204
  {
1256
- className: chunkRZQACYNQ_cjs.cn(
1205
+ className: chunkS6A6FSG7_cjs.cn(
1257
1206
  "flex h-full min-h-[280px] flex-col items-center justify-center rounded-xl border border-dashed border-border bg-secondary/30 p-8 text-center",
1258
1207
  className
1259
1208
  ),
@@ -1285,7 +1234,7 @@ function ArtifactCanvas({
1285
1234
  return /* @__PURE__ */ jsxRuntime.jsxs(
1286
1235
  "div",
1287
1236
  {
1288
- className: chunkRZQACYNQ_cjs.cn(
1237
+ className: chunkS6A6FSG7_cjs.cn(
1289
1238
  "flex h-full flex-col overflow-hidden rounded-xl border border-border bg-card",
1290
1239
  className
1291
1240
  ),
@@ -1301,11 +1250,11 @@ function ArtifactCanvas({
1301
1250
  children: active.title
1302
1251
  }
1303
1252
  ),
1304
- isRedline && /* @__PURE__ */ jsxRuntime.jsxs(chunkORKGCXG3_cjs.Badge, { variant: "accent", className: "gap-1", children: [
1253
+ isRedline && /* @__PURE__ */ jsxRuntime.jsxs(chunk7BDGLRQX_cjs.Badge, { variant: "accent", className: "gap-1", children: [
1305
1254
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.GitCompareArrows, { className: "size-3" }),
1306
1255
  " Redline"
1307
1256
  ] }),
1308
- /* @__PURE__ */ jsxRuntime.jsxs(chunkORKGCXG3_cjs.Badge, { variant: "secondary", children: [
1257
+ /* @__PURE__ */ jsxRuntime.jsxs(chunk7BDGLRQX_cjs.Badge, { variant: "secondary", children: [
1309
1258
  "v",
1310
1259
  active.version
1311
1260
  ] }),
@@ -1346,7 +1295,7 @@ function ArtifactCanvas({
1346
1295
  "button",
1347
1296
  {
1348
1297
  onClick: () => setActiveId(a.doc_ext_id),
1349
- className: chunkRZQACYNQ_cjs.cn(
1298
+ className: chunkS6A6FSG7_cjs.cn(
1350
1299
  "shrink-0 rounded-md px-2.5 py-1 text-xs font-medium",
1351
1300
  a.doc_ext_id === active.doc_ext_id ? "bg-ai-accent-soft text-ai-accent" : "text-muted-foreground hover:bg-accent"
1352
1301
  ),
@@ -1361,7 +1310,7 @@ function ArtifactCanvas({
1361
1310
  animate: { opacity: 1, y: 0 },
1362
1311
  transition: { duration: 0.2 },
1363
1312
  className: "mx-auto max-w-2xl rounded-lg bg-card p-8 shadow-sm ring-1 ring-border",
1364
- children: active.mode === "html" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm", dangerouslySetInnerHTML: { __html: active.content } }) : active.mode === "text" ? /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "whitespace-pre-wrap font-mono text-xs text-foreground", children: active.content }) : /* @__PURE__ */ jsxRuntime.jsx(chunkORKGCXG3_cjs.AiMarkdown, { children: active.content })
1313
+ children: active.mode === "html" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm", dangerouslySetInnerHTML: { __html: active.content } }) : active.mode === "text" ? /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "whitespace-pre-wrap font-mono text-xs text-foreground", children: active.content }) : /* @__PURE__ */ jsxRuntime.jsx(chunk7BDGLRQX_cjs.AiMarkdown, { children: active.content })
1365
1314
  },
1366
1315
  active.doc_ext_id
1367
1316
  ) }) })
@@ -1378,7 +1327,7 @@ function MessageArtifactCard({
1378
1327
  const Icon = isImage ? lucideReact.Image : lucideReact.FileText;
1379
1328
  const statusText = isImage ? isComplete ? "Image ready" : "Generating\u2026" : isComplete ? "Draft ready" : "Drafting\u2026";
1380
1329
  return /* @__PURE__ */ jsxRuntime.jsxs(
1381
- chunkORKGCXG3_cjs.Card,
1330
+ chunk7BDGLRQX_cjs.Card,
1382
1331
  {
1383
1332
  variant: "outline",
1384
1333
  className: "mt-3 flex items-center gap-3 px-3 py-2.5",
@@ -1421,7 +1370,7 @@ function DocSearch({
1421
1370
  const submit = () => {
1422
1371
  if (value.trim()) void search(value, "hybrid");
1423
1372
  };
1424
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkRZQACYNQ_cjs.cn("space-y-3", className), "data-testid": "doc-search", children: [
1373
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkS6A6FSG7_cjs.cn("space-y-3", className), "data-testid": "doc-search", children: [
1425
1374
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
1426
1375
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }),
1427
1376
  isRunning && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "absolute right-3 top-1/2 size-4 -translate-y-1/2 animate-spin text-ai-accent" }),
@@ -1454,10 +1403,10 @@ function DocSearch({
1454
1403
  status === "done" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", "data-testid": "doc-search-results", children: [
1455
1404
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: results.length === 0 ? `No passages matched \u201C${query}\u201D.` : `${results.length} passage${results.length === 1 ? "" : "s"} for \u201C${query}\u201D` }),
1456
1405
  results.slice(0, 8).map((r, i) => /* @__PURE__ */ jsxRuntime.jsxs(
1457
- chunkORKGCXG3_cjs.Card,
1406
+ chunk7BDGLRQX_cjs.Card,
1458
1407
  {
1459
1408
  variant: "elevated",
1460
- className: chunkRZQACYNQ_cjs.cn(
1409
+ className: chunkS6A6FSG7_cjs.cn(
1461
1410
  "rounded-xl p-3",
1462
1411
  onOpenDoc && r.docId && "cursor-pointer transition-colors hover:border-ai-accent/40"
1463
1412
  ),
@@ -1467,7 +1416,7 @@ function DocSearch({
1467
1416
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-1 flex items-center gap-2", children: [
1468
1417
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "size-3.5 text-ai-accent" }),
1469
1418
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs font-medium text-foreground", children: r.docTitle ?? "Document" }),
1470
- r.page != null && /* @__PURE__ */ jsxRuntime.jsxs(chunkORKGCXG3_cjs.Badge, { variant: "secondary", children: [
1419
+ r.page != null && /* @__PURE__ */ jsxRuntime.jsxs(chunk7BDGLRQX_cjs.Badge, { variant: "secondary", children: [
1471
1420
  "p.",
1472
1421
  r.page
1473
1422
  ] }),
@@ -1493,8 +1442,8 @@ function DocumentReview({
1493
1442
  onClose,
1494
1443
  className
1495
1444
  }) {
1496
- const parsedQuery = useParsedDocument(docId, stage);
1497
- const tagsQuery = useTags(workspaceId);
1445
+ const parsedQuery = chunk2DXS7L7M_cjs.useParsedDocument(docId, stage);
1446
+ const tagsQuery = chunk2DXS7L7M_cjs.useTags(workspaceId);
1498
1447
  const tagNameById = React__default.default.useMemo(() => {
1499
1448
  const map = /* @__PURE__ */ new Map();
1500
1449
  for (const t of tagsQuery.data ?? []) {
@@ -1548,7 +1497,7 @@ function DocumentReview({
1548
1497
  "div",
1549
1498
  {
1550
1499
  "data-testid": "document-review",
1551
- className: chunkRZQACYNQ_cjs.cn(
1500
+ className: chunkS6A6FSG7_cjs.cn(
1552
1501
  "flex h-full min-h-0 flex-col overflow-hidden rounded-lg border bg-card",
1553
1502
  className
1554
1503
  ),
@@ -1561,7 +1510,7 @@ function DocumentReview({
1561
1510
  findings.length ? ` \xB7 ${findings.length} findings` : ""
1562
1511
  ] })
1563
1512
  ] }),
1564
- doc?.status ? /* @__PURE__ */ jsxRuntime.jsx(chunkORKGCXG3_cjs.Badge, { variant: "secondary", children: doc.status }) : null,
1513
+ doc?.status ? /* @__PURE__ */ jsxRuntime.jsx(chunk7BDGLRQX_cjs.Badge, { variant: "secondary", children: doc.status }) : null,
1565
1514
  onClose ? /* @__PURE__ */ jsxRuntime.jsx(
1566
1515
  "button",
1567
1516
  {
@@ -1598,7 +1547,7 @@ function DocumentReview({
1598
1547
  className: "w-full cursor-pointer rounded-md border p-2 text-left text-xs transition hover:border-ring hover:bg-muted/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",
1599
1548
  children: [
1600
1549
  /* @__PURE__ */ jsxRuntime.jsx(
1601
- chunkORKGCXG3_cjs.TagEntity,
1550
+ chunk7BDGLRQX_cjs.TagEntity,
1602
1551
  {
1603
1552
  size: "sm",
1604
1553
  tag: {
@@ -1632,7 +1581,7 @@ function DocumentReview({
1632
1581
  {
1633
1582
  "data-chunk-id": cid,
1634
1583
  "data-testid": isActive ? "review-chunk-active" : highlighted ? "review-chunk-cited" : "review-chunk",
1635
- className: chunkRZQACYNQ_cjs.cn(
1584
+ className: chunkS6A6FSG7_cjs.cn(
1636
1585
  "scroll-mt-4 rounded-md px-2 py-1 transition-colors",
1637
1586
  highlighted && "bg-[var(--color-ai-accent-soft,theme(colors.amber.100))] ring-1 ring-inset ring-border",
1638
1587
  // The externally-selected search passage wins the
@@ -1643,7 +1592,7 @@ function DocumentReview({
1643
1592
  ),
1644
1593
  children: [
1645
1594
  highlighted ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1", children: /* @__PURE__ */ jsxRuntime.jsx(
1646
- chunkORKGCXG3_cjs.TagEntity,
1595
+ chunk7BDGLRQX_cjs.TagEntity,
1647
1596
  {
1648
1597
  size: "sm",
1649
1598
  tag: {
@@ -1652,7 +1601,7 @@ function DocumentReview({
1652
1601
  }
1653
1602
  }
1654
1603
  ) }) : null,
1655
- /* @__PURE__ */ jsxRuntime.jsx(chunkORKGCXG3_cjs.MarkdownRenderer, { className: "prose prose-sm max-w-none dark:prose-invert", children: c.content })
1604
+ /* @__PURE__ */ jsxRuntime.jsx(chunk7V7B7OEM_cjs.MarkdownRenderer, { className: "prose prose-sm max-w-none dark:prose-invert", children: c.content })
1656
1605
  ]
1657
1606
  },
1658
1607
  cid ?? i
@@ -1692,7 +1641,7 @@ function ResultRow({
1692
1641
  onSelect
1693
1642
  }) {
1694
1643
  return /* @__PURE__ */ jsxRuntime.jsx(
1695
- chunkORKGCXG3_cjs.PassageCard,
1644
+ chunk7BDGLRQX_cjs.PassageCard,
1696
1645
  {
1697
1646
  onClick: onSelect,
1698
1647
  active: isActive,
@@ -1701,7 +1650,7 @@ function ResultRow({
1701
1650
  header: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1702
1651
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "size-3.5 shrink-0 text-ai-accent" }),
1703
1652
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs font-medium text-foreground", children: result.docTitle ?? "Document" }),
1704
- result.page != null && /* @__PURE__ */ jsxRuntime.jsxs(chunkORKGCXG3_cjs.Badge, { variant: "secondary", children: [
1653
+ result.page != null && /* @__PURE__ */ jsxRuntime.jsxs(chunk7BDGLRQX_cjs.Badge, { variant: "secondary", children: [
1705
1654
  "p.",
1706
1655
  result.page
1707
1656
  ] })
@@ -1725,7 +1674,7 @@ function SemanticSearch({
1725
1674
  const { results, status, error, search, isRunning, query } = useSemanticSearch(docIds);
1726
1675
  const [value, setValue] = React.useState("");
1727
1676
  const [selected, setSelected] = React.useState(null);
1728
- const { data: docs = [] } = useDocuments(workspaceId, { enabled: !!workspaceId });
1677
+ const { data: docs = [] } = chunk2DXS7L7M_cjs.useDocuments(workspaceId, { enabled: !!workspaceId });
1729
1678
  const docMap = React.useMemo(() => {
1730
1679
  const map = /* @__PURE__ */ new Map();
1731
1680
  for (const d of docs) if (d.external_id) map.set(d.external_id, d);
@@ -1740,11 +1689,11 @@ function SemanticSearch({
1740
1689
  }, [value, search, searchMode]);
1741
1690
  const selectedDoc = selected?.docId ? docMap.get(selected.docId) : void 0;
1742
1691
  const hasResults = status === "done" && results.length > 0;
1743
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": testId, className: chunkRZQACYNQ_cjs.cn("flex min-h-0 flex-col gap-4 md:flex-row", className), children: [
1692
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": testId, className: chunkS6A6FSG7_cjs.cn("flex min-h-0 flex-col gap-4 md:flex-row", className), children: [
1744
1693
  /* @__PURE__ */ jsxRuntime.jsxs(
1745
1694
  "div",
1746
1695
  {
1747
- className: chunkRZQACYNQ_cjs.cn(
1696
+ className: chunkS6A6FSG7_cjs.cn(
1748
1697
  "flex min-h-0 flex-col gap-3 md:w-[22rem] md:shrink-0",
1749
1698
  selected && "hidden md:flex"
1750
1699
  ),
@@ -1807,11 +1756,11 @@ function SemanticSearch({
1807
1756
  /* @__PURE__ */ jsxRuntime.jsx(
1808
1757
  "div",
1809
1758
  {
1810
- className: chunkRZQACYNQ_cjs.cn("min-h-0 min-w-0 flex-1", !selected && "hidden md:block"),
1759
+ className: chunkS6A6FSG7_cjs.cn("min-h-0 min-w-0 flex-1", !selected && "hidden md:block"),
1811
1760
  "data-testid": "arbi-semantic-search-viewer",
1812
1761
  children: selected && selected.docId ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col gap-2", children: [
1813
1762
  /* @__PURE__ */ jsxRuntime.jsxs(
1814
- chunkORKGCXG3_cjs.Button,
1763
+ chunk7BDGLRQX_cjs.Button,
1815
1764
  {
1816
1765
  variant: "ghost",
1817
1766
  size: "sm",
@@ -1870,7 +1819,7 @@ Question: ${question}`,
1870
1819
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 space-y-3", "data-testid": "doc-qa", children: [
1871
1820
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
1872
1821
  /* @__PURE__ */ jsxRuntime.jsx(
1873
- chunkORKGCXG3_cjs.Input,
1822
+ chunk7BDGLRQX_cjs.Input,
1874
1823
  {
1875
1824
  value: q,
1876
1825
  onChange: (e) => setQ(e.target.value),
@@ -1881,7 +1830,7 @@ Question: ${question}`,
1881
1830
  }
1882
1831
  ),
1883
1832
  /* @__PURE__ */ jsxRuntime.jsx(
1884
- chunkORKGCXG3_cjs.Button,
1833
+ chunk7BDGLRQX_cjs.Button,
1885
1834
  {
1886
1835
  variant: "accent",
1887
1836
  size: "icon",
@@ -1893,7 +1842,7 @@ Question: ${question}`,
1893
1842
  }
1894
1843
  ),
1895
1844
  /* @__PURE__ */ jsxRuntime.jsxs(
1896
- chunkORKGCXG3_cjs.Button,
1845
+ chunk7BDGLRQX_cjs.Button,
1897
1846
  {
1898
1847
  variant: "outline",
1899
1848
  size: "sm",
@@ -2029,10 +1978,10 @@ var CitationRendererComponent = ({
2029
1978
  onDismissCitation,
2030
1979
  notify2
2031
1980
  ]);
2032
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkRZQACYNQ_cjs.cn("citation-container", className), "data-testid": "citation-renderer", children: renderMarkdown({
1981
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkS6A6FSG7_cjs.cn("citation-container", className), "data-testid": "citation-renderer", children: renderMarkdown({
2033
1982
  components: markdownComponents,
2034
1983
  isStreaming,
2035
- children: chunkORKGCXG3_cjs.normalizeCitationMarkup(content)
1984
+ children: chunk7V7B7OEM_cjs.normalizeCitationMarkup(content)
2036
1985
  }) });
2037
1986
  };
2038
1987
  var CitationPopover = ({
@@ -2223,7 +2172,7 @@ var CitationPopover = ({
2223
2172
  {
2224
2173
  "data-testid": `citation-chunk-${chunk.metadata.chunk_ext_id}`,
2225
2174
  onClick: () => onChunkClick(chunk),
2226
- className: chunkRZQACYNQ_cjs.cn(
2175
+ className: chunkS6A6FSG7_cjs.cn(
2227
2176
  "w-full text-left text-sm rounded-md px-2 py-1.5 pointer-coarse:min-h-11 pointer-coarse:py-3 transition-colors flex items-start gap-2 mb-1 last:mb-0",
2228
2177
  isSelected ? "bg-ai-soft text-foreground ring-1 ring-ai-accent/40" : "text-muted-foreground hover:text-primary hover:bg-muted"
2229
2178
  ),
@@ -2257,7 +2206,7 @@ var CitationLink = ({
2257
2206
  triggerRef,
2258
2207
  children
2259
2208
  }) => /* @__PURE__ */ jsxRuntime.jsxs(
2260
- chunkORKGCXG3_cjs.MarkMenu,
2209
+ chunk7BDGLRQX_cjs.MarkMenu,
2261
2210
  {
2262
2211
  triggerRef,
2263
2212
  items,
@@ -2266,7 +2215,7 @@ var CitationLink = ({
2266
2215
  testId: `citation-link-${citationNum}`,
2267
2216
  tabIndex: isStreaming ? -1 : 0,
2268
2217
  "data-mark-kind": "citation",
2269
- className: chunkRZQACYNQ_cjs.cn(
2218
+ className: chunkS6A6FSG7_cjs.cn(
2270
2219
  "cited-text relative rounded-sm px-0.5 transition-colors",
2271
2220
  // 44px touch hit area without changing the text layout.
2272
2221
  "pointer-coarse:after:absolute pointer-coarse:after:content-[''] pointer-coarse:after:-inset-x-3 pointer-coarse:after:-inset-y-4",
@@ -2295,8 +2244,8 @@ var DocIcon = ({ size = 16, className = "" }) => {
2295
2244
  "path",
2296
2245
  {
2297
2246
  d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
2298
- fill: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.doc,
2299
- stroke: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.doc,
2247
+ fill: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.doc,
2248
+ stroke: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.doc,
2300
2249
  strokeWidth: "1",
2301
2250
  strokeLinecap: "round",
2302
2251
  strokeLinejoin: "round"
@@ -2307,7 +2256,7 @@ var DocIcon = ({ size = 16, className = "" }) => {
2307
2256
  {
2308
2257
  d: "M14 2v6h6",
2309
2258
  fill: "none",
2310
- stroke: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.white,
2259
+ stroke: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.white,
2311
2260
  strokeWidth: "1",
2312
2261
  strokeLinecap: "round",
2313
2262
  strokeLinejoin: "round"
@@ -2345,8 +2294,8 @@ var HtmlIcon = ({ size = 16, className = "" }) => {
2345
2294
  "path",
2346
2295
  {
2347
2296
  d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
2348
- fill: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.html,
2349
- stroke: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.html,
2297
+ fill: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.html,
2298
+ stroke: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.html,
2350
2299
  strokeWidth: "1",
2351
2300
  strokeLinecap: "round",
2352
2301
  strokeLinejoin: "round"
@@ -2357,7 +2306,7 @@ var HtmlIcon = ({ size = 16, className = "" }) => {
2357
2306
  {
2358
2307
  d: "M14 2v6h6",
2359
2308
  fill: "none",
2360
- stroke: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.white,
2309
+ stroke: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.white,
2361
2310
  strokeWidth: "1",
2362
2311
  strokeLinecap: "round",
2363
2312
  strokeLinejoin: "round"
@@ -2395,8 +2344,8 @@ var TxtIcon = ({ size = 16, className = "" }) => {
2395
2344
  "path",
2396
2345
  {
2397
2346
  d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
2398
- fill: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.txt,
2399
- stroke: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.txt,
2347
+ fill: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.txt,
2348
+ stroke: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.txt,
2400
2349
  strokeWidth: "1",
2401
2350
  strokeLinecap: "round",
2402
2351
  strokeLinejoin: "round"
@@ -2407,7 +2356,7 @@ var TxtIcon = ({ size = 16, className = "" }) => {
2407
2356
  {
2408
2357
  d: "M14 2v6h6",
2409
2358
  fill: "none",
2410
- stroke: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.white,
2359
+ stroke: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.white,
2411
2360
  strokeWidth: "1",
2412
2361
  strokeLinecap: "round",
2413
2362
  strokeLinejoin: "round"
@@ -2445,8 +2394,8 @@ var XlsIcon = ({ size = 16, className = "" }) => {
2445
2394
  "path",
2446
2395
  {
2447
2396
  d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
2448
- fill: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.xls,
2449
- stroke: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.xls,
2397
+ fill: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.xls,
2398
+ stroke: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.xls,
2450
2399
  strokeWidth: "1",
2451
2400
  strokeLinecap: "round",
2452
2401
  strokeLinejoin: "round"
@@ -2457,7 +2406,7 @@ var XlsIcon = ({ size = 16, className = "" }) => {
2457
2406
  {
2458
2407
  d: "M14 2v6h6",
2459
2408
  fill: "none",
2460
- stroke: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.white,
2409
+ stroke: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.white,
2461
2410
  strokeWidth: "1",
2462
2411
  strokeLinecap: "round",
2463
2412
  strokeLinejoin: "round"
@@ -2495,8 +2444,8 @@ var FileIcon = ({ size = 16, className = "" }) => {
2495
2444
  "path",
2496
2445
  {
2497
2446
  d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
2498
- fill: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.generic,
2499
- stroke: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.generic,
2447
+ fill: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.generic,
2448
+ stroke: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.generic,
2500
2449
  strokeWidth: "1",
2501
2450
  strokeLinecap: "round",
2502
2451
  strokeLinejoin: "round"
@@ -2507,7 +2456,7 @@ var FileIcon = ({ size = 16, className = "" }) => {
2507
2456
  {
2508
2457
  d: "M14 2v6h6",
2509
2458
  fill: "none",
2510
- stroke: chunkORKGCXG3_cjs.FILE_TYPE_COLORS.white,
2459
+ stroke: chunk7BDGLRQX_cjs.FILE_TYPE_COLORS.white,
2511
2460
  strokeWidth: "1",
2512
2461
  strokeLinecap: "round",
2513
2462
  strokeLinejoin: "round"
@@ -2863,7 +2812,7 @@ var ArbiBotIcon = ({ size = 24, className = "" }) => {
2863
2812
  );
2864
2813
  };
2865
2814
  function getNotificationTypeMeta(type) {
2866
- const WorkspaceIcon = chunkORKGCXG3_cjs.getEntityIcon("WORKSPACE");
2815
+ const WorkspaceIcon = chunk7BDGLRQX_cjs.getEntityIcon("WORKSPACE");
2867
2816
  switch (type) {
2868
2817
  case "user_message":
2869
2818
  return { Icon: lucideReact.MessageCircleMore, iconClassName: "text-primary", label: "Message" };
@@ -2978,7 +2927,7 @@ function describeActivity(content) {
2978
2927
  }
2979
2928
  default:
2980
2929
  return {
2981
- Icon: parsed.workspace_ext_id ? chunkORKGCXG3_cjs.getEntityIcon("WORKSPACE") : lucideReact.Activity,
2930
+ Icon: parsed.workspace_ext_id ? chunk7BDGLRQX_cjs.getEntityIcon("WORKSPACE") : lucideReact.Activity,
2982
2931
  iconClassName: "text-muted-foreground",
2983
2932
  title: humaniseEvent(parsed.event)
2984
2933
  };
@@ -3008,22 +2957,22 @@ function ActivityFeed({
3008
2957
  enabled,
3009
2958
  "data-testid": testId = "activity-feed"
3010
2959
  }) {
3011
- const { data, isLoading, isError } = useActivity({ limit, enabled });
2960
+ const { data, isLoading, isError } = chunk2DXS7L7M_cjs.useActivity({ limit, enabled });
3012
2961
  if (isLoading) {
3013
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkRZQACYNQ_cjs.cn("space-y-2", className), "data-testid": testId, "aria-busy": "true", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 py-1.5", children: [
2962
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkS6A6FSG7_cjs.cn("space-y-2", className), "data-testid": testId, "aria-busy": "true", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 py-1.5", children: [
3014
2963
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-4 shrink-0 animate-pulse rounded-full bg-muted" }),
3015
2964
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-3 flex-1 animate-pulse rounded bg-muted" })
3016
2965
  ] }, i)) });
3017
2966
  }
3018
2967
  if (isError) {
3019
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkRZQACYNQ_cjs.cn("text-sm text-muted-foreground", className), "data-testid": testId, children: "Couldn\u2019t load activity." });
2968
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkS6A6FSG7_cjs.cn("text-sm text-muted-foreground", className), "data-testid": testId, children: "Couldn\u2019t load activity." });
3020
2969
  }
3021
2970
  const items = data ?? [];
3022
2971
  if (items.length === 0) {
3023
2972
  return /* @__PURE__ */ jsxRuntime.jsxs(
3024
2973
  "div",
3025
2974
  {
3026
- className: chunkRZQACYNQ_cjs.cn("flex items-center gap-2 text-sm text-muted-foreground", className),
2975
+ className: chunkS6A6FSG7_cjs.cn("flex items-center gap-2 text-sm text-muted-foreground", className),
3027
2976
  "data-testid": testId,
3028
2977
  children: [
3029
2978
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Activity, { className: "h-4 w-4 shrink-0" }),
@@ -3032,7 +2981,7 @@ function ActivityFeed({
3032
2981
  }
3033
2982
  );
3034
2983
  }
3035
- return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: chunkRZQACYNQ_cjs.cn("divide-y divide-border", className), "data-testid": testId, children: items.map((item) => {
2984
+ return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: chunkS6A6FSG7_cjs.cn("divide-y divide-border", className), "data-testid": testId, children: items.map((item) => {
3036
2985
  const desc = describeActivity(item.content);
3037
2986
  return /* @__PURE__ */ jsxRuntime.jsxs(
3038
2987
  "li",
@@ -3040,7 +2989,7 @@ function ActivityFeed({
3040
2989
  className: "flex items-center gap-3 py-2",
3041
2990
  "data-testid": "activity-feed-item",
3042
2991
  children: [
3043
- /* @__PURE__ */ jsxRuntime.jsx(desc.Icon, { className: chunkRZQACYNQ_cjs.cn("h-4 w-4 shrink-0", desc.iconClassName) }),
2992
+ /* @__PURE__ */ jsxRuntime.jsx(desc.Icon, { className: chunkS6A6FSG7_cjs.cn("h-4 w-4 shrink-0", desc.iconClassName) }),
3044
2993
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate text-sm text-foreground", children: desc.title }),
3045
2994
  /* @__PURE__ */ jsxRuntime.jsx("time", { className: "shrink-0 text-xs tabular-nums text-muted-foreground", children: formatRelative(item.created_at) })
3046
2995
  ]
@@ -3067,7 +3016,6 @@ function isAgentUser(user) {
3067
3016
  return user.external_id.startsWith("agt-");
3068
3017
  }
3069
3018
  var DM_QUERY_KEY = ["arbi", "directMessages"];
3070
- var CONTACTS_QUERY_KEY = ["arbi", "contacts"];
3071
3019
  function mergeContacts(threads, contacts) {
3072
3020
  const byPeer = /* @__PURE__ */ new Map();
3073
3021
  for (const t of threads) byPeer.set(t.peer.external_id, t);
@@ -3124,7 +3072,7 @@ function groupConversations(notifications, myExtId) {
3124
3072
  return conversations;
3125
3073
  }
3126
3074
  function useDirectMessages(options) {
3127
- const arbi = chunk7IOCMCC5_cjs.useArbi();
3075
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
3128
3076
  const queryClient = reactQuery.useQueryClient();
3129
3077
  const enabled = options?.enabled ?? arbi.isLoggedIn;
3130
3078
  const query = reactQuery.useQuery({
@@ -3133,7 +3081,7 @@ function useDirectMessages(options) {
3133
3081
  enabled
3134
3082
  });
3135
3083
  const contactsQuery = reactQuery.useQuery({
3136
- queryKey: CONTACTS_QUERY_KEY,
3084
+ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.contacts(),
3137
3085
  queryFn: () => arbi.contacts.list(),
3138
3086
  enabled
3139
3087
  });
@@ -3195,7 +3143,7 @@ function DmAvatar({ user, className, size = "lg" }) {
3195
3143
  const presence = useArbiWsStore((s) => s.presence[user.external_id]);
3196
3144
  const displayStatus = presence === void 0 ? void 0 : presence === "online" ? "connected" : "disconnected";
3197
3145
  return /* @__PURE__ */ jsxRuntime.jsx(
3198
- chunkORKGCXG3_cjs.UserEntity,
3146
+ chunk7BDGLRQX_cjs.UserEntity,
3199
3147
  {
3200
3148
  variant: "icon",
3201
3149
  size,
@@ -3205,7 +3153,7 @@ function DmAvatar({ user, className, size = "lg" }) {
3205
3153
  initials: userInitials(user),
3206
3154
  displayName: userDisplayName(user),
3207
3155
  picture: user.picture,
3208
- avatarStyle: chunkORKGCXG3_cjs.getEntityColorStyles(user.external_id),
3156
+ avatarStyle: chunk7BDGLRQX_cjs.getEntityColorStyles(user.external_id),
3209
3157
  isAgent: isAgentUser(user),
3210
3158
  displayStatus
3211
3159
  }
@@ -3218,12 +3166,13 @@ function ConversationList({
3218
3166
  classNames,
3219
3167
  emptyState,
3220
3168
  header,
3169
+ lead,
3221
3170
  className
3222
3171
  }) {
3223
3172
  return /* @__PURE__ */ jsxRuntime.jsxs(
3224
3173
  "aside",
3225
3174
  {
3226
- className: chunkRZQACYNQ_cjs.cn(
3175
+ className: chunkS6A6FSG7_cjs.cn(
3227
3176
  "flex min-h-0 flex-col border-b border-border md:w-80 md:shrink-0 md:border-b-0 md:border-r",
3228
3177
  className
3229
3178
  ),
@@ -3237,6 +3186,7 @@ function ConversationList({
3237
3186
  conversations.length === 1 ? "colleague" : "colleagues"
3238
3187
  ] })
3239
3188
  ] }) : header,
3189
+ lead,
3240
3190
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 overflow-y-auto", children: conversations.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-4 py-6 text-xs text-muted-foreground", children: emptyState ?? "No conversations yet." }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "w-full", children: conversations.map((c, i) => {
3241
3191
  const { peer, lastMessage, unreadCount } = c;
3242
3192
  const newSection = c.sectionLabel && c.sectionLabel !== conversations[i - 1]?.sectionLabel;
@@ -3251,17 +3201,17 @@ function ConversationList({
3251
3201
  /* @__PURE__ */ jsxRuntime.jsx(
3252
3202
  "span",
3253
3203
  {
3254
- className: chunkRZQACYNQ_cjs.cn(
3204
+ className: chunkS6A6FSG7_cjs.cn(
3255
3205
  "truncate text-sm text-foreground",
3256
3206
  unread ? "font-bold" : "font-semibold"
3257
3207
  ),
3258
3208
  children: userDisplayName(peer)
3259
3209
  }
3260
3210
  ),
3261
- c.badge ?? (isAgentUser(peer) ? /* @__PURE__ */ jsxRuntime.jsx(chunkORKGCXG3_cjs.AgentBadge, {}) : null)
3211
+ c.badge ?? (isAgentUser(peer) ? /* @__PURE__ */ jsxRuntime.jsx(chunk7BDGLRQX_cjs.AgentBadge, {}) : null)
3262
3212
  ] }),
3263
3213
  c.statusLabel ? /* @__PURE__ */ jsxRuntime.jsx(
3264
- chunkORKGCXG3_cjs.Badge,
3214
+ chunk7BDGLRQX_cjs.Badge,
3265
3215
  {
3266
3216
  variant: "outline",
3267
3217
  className: "shrink-0 rounded-full px-2 py-0 text-xs font-medium text-muted-foreground",
@@ -3272,10 +3222,10 @@ function ConversationList({
3272
3222
  // shouted louder than the message it was counting.
3273
3223
  // Enough to catch the eye scanning the list, no more.
3274
3224
  /* @__PURE__ */ jsxRuntime.jsx(
3275
- chunkORKGCXG3_cjs.Badge,
3225
+ chunk7BDGLRQX_cjs.Badge,
3276
3226
  {
3277
3227
  variant: "accent",
3278
- className: chunkRZQACYNQ_cjs.cn(
3228
+ className: chunkS6A6FSG7_cjs.cn(
3279
3229
  "min-w-[1.125rem] justify-center rounded-full px-1 py-0 text-xs font-medium leading-[1.125rem] shadow-none",
3280
3230
  classNames?.unreadBadge
3281
3231
  ),
@@ -3301,18 +3251,18 @@ function ConversationList({
3301
3251
  /* @__PURE__ */ jsxRuntime.jsx(
3302
3252
  "p",
3303
3253
  {
3304
- className: chunkRZQACYNQ_cjs.cn(
3254
+ className: chunkS6A6FSG7_cjs.cn(
3305
3255
  "min-w-0 flex-1 truncate text-xs",
3306
3256
  unread ? "font-medium text-foreground" : "text-muted-foreground"
3307
3257
  ),
3308
3258
  children: c.subtitle ?? preview
3309
3259
  }
3310
3260
  ),
3311
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-xs text-muted-foreground", children: lastMessage ? chunkBXP6S34V_cjs.formatRelativeTime(lastMessage.createdAt) : "" })
3261
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-xs text-muted-foreground", children: lastMessage ? chunkPGLV23SB_cjs.formatRelativeTime(lastMessage.createdAt) : "" })
3312
3262
  ] })
3313
3263
  ] })
3314
3264
  ] });
3315
- const rowClass = chunkRZQACYNQ_cjs.cn(
3265
+ const rowClass = chunkS6A6FSG7_cjs.cn(
3316
3266
  // Each row is its own opaque surface. Left transparent it takes
3317
3267
  // the panel's colour, and the chips stop reading as cards at all
3318
3268
  // — which is the whole point of them.
@@ -3399,7 +3349,7 @@ function MessageBubble({
3399
3349
  isLastOfRun,
3400
3350
  senderName: message.isMine ? "You" : userDisplayName(message.sender),
3401
3351
  classNames,
3402
- formatTimestamp: chunkBXP6S34V_cjs.formatRelativeTime
3352
+ formatTimestamp: chunkPGLV23SB_cjs.formatRelativeTime
3403
3353
  }
3404
3354
  );
3405
3355
  }
@@ -3441,7 +3391,7 @@ function MessageThread({
3441
3391
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs text-muted-foreground", children: peer.email })
3442
3392
  ] })
3443
3393
  ] }),
3444
- /* @__PURE__ */ jsxRuntime.jsx(chunkRZQACYNQ_cjs.ScrollArea, { className: "min-h-0 flex-1 bg-background", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col px-4 py-4", "data-testid": "arbi-dm-thread", children: [
3394
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOBNTJEEO_cjs.ScrollArea, { className: "min-h-0 flex-1 bg-background", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col px-4 py-4", "data-testid": "arbi-dm-thread", children: [
3445
3395
  items.map(({ message: m, isLastOfRun, isFirstOfDay }) => /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
3446
3396
  isFirstOfDay && formatDay && /* @__PURE__ */ jsxRuntime.jsx(DateSeparator, { children: formatDay(m.createdAt) }),
3447
3397
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -3491,7 +3441,7 @@ function DmComposer({
3491
3441
  children,
3492
3442
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-end gap-2", children: [
3493
3443
  /* @__PURE__ */ jsxRuntime.jsx(
3494
- chunkORKGCXG3_cjs.Textarea,
3444
+ chunk7BDGLRQX_cjs.Textarea,
3495
3445
  {
3496
3446
  ref: inputRef,
3497
3447
  value: draft,
@@ -3505,12 +3455,12 @@ function DmComposer({
3505
3455
  }
3506
3456
  ),
3507
3457
  /* @__PURE__ */ jsxRuntime.jsxs(
3508
- chunkORKGCXG3_cjs.Button,
3458
+ chunk7BDGLRQX_cjs.Button,
3509
3459
  {
3510
3460
  type: "button",
3511
3461
  onClick: () => void submit(),
3512
3462
  disabled: disabled || busy || !draft.trim(),
3513
- className: chunkRZQACYNQ_cjs.cn(classNames?.sendButton),
3463
+ className: chunkS6A6FSG7_cjs.cn(classNames?.sendButton),
3514
3464
  "data-testid": "arbi-dm-send",
3515
3465
  "aria-label": "Send message",
3516
3466
  children: [
@@ -3523,14 +3473,117 @@ function DmComposer({
3523
3473
  error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-xs text-destructive", "data-testid": "arbi-dm-error", children: error })
3524
3474
  ] });
3525
3475
  }
3476
+ var DEFAULT_START_BY_EMAIL_LABELS = {
3477
+ email: "Email address",
3478
+ emailPlaceholder: "name@example.com",
3479
+ message: "Message",
3480
+ messagePlaceholder: "Write the first message\u2026",
3481
+ send: "Send",
3482
+ sending: "Sending\u2026",
3483
+ invalidEmail: "Enter a valid email address."
3484
+ };
3485
+ var EMAIL = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
3486
+ function StartByEmail({
3487
+ onStart,
3488
+ onStarted,
3489
+ classNames,
3490
+ labels,
3491
+ className
3492
+ }) {
3493
+ const l = { ...DEFAULT_START_BY_EMAIL_LABELS, ...labels };
3494
+ const uid = React.useId();
3495
+ const [email, setEmail] = React.useState("");
3496
+ const [text, setText] = React.useState("");
3497
+ const [busy, setBusy] = React.useState(false);
3498
+ const [error, setError] = React.useState(null);
3499
+ const address = email.trim().toLowerCase();
3500
+ const valid = EMAIL.test(address);
3501
+ const submit = async () => {
3502
+ if (!valid || !text.trim() || busy) return;
3503
+ setBusy(true);
3504
+ setError(null);
3505
+ try {
3506
+ const result = await onStart(address, text.trim());
3507
+ setEmail("");
3508
+ setText("");
3509
+ onStarted?.(result);
3510
+ } catch (e) {
3511
+ setError(e instanceof Error ? e.message : String(e));
3512
+ } finally {
3513
+ setBusy(false);
3514
+ }
3515
+ };
3516
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3517
+ "form",
3518
+ {
3519
+ "data-testid": "arbi-dm-start",
3520
+ className: chunkS6A6FSG7_cjs.cn("flex flex-col gap-2 border-b border-border px-4 py-3", className),
3521
+ onSubmit: (e) => {
3522
+ e.preventDefault();
3523
+ void submit();
3524
+ },
3525
+ children: [
3526
+ /* @__PURE__ */ jsxRuntime.jsx(chunk7BDGLRQX_cjs.Label, { htmlFor: `${uid}-email`, children: l.email }),
3527
+ /* @__PURE__ */ jsxRuntime.jsx(
3528
+ chunk7BDGLRQX_cjs.Input,
3529
+ {
3530
+ id: `${uid}-email`,
3531
+ type: "email",
3532
+ value: email,
3533
+ onChange: (e) => setEmail(e.target.value),
3534
+ placeholder: l.emailPlaceholder,
3535
+ "aria-invalid": email !== "" && !valid,
3536
+ "aria-describedby": email !== "" && !valid ? `${uid}-bad` : void 0,
3537
+ disabled: busy,
3538
+ "data-testid": "arbi-dm-start-email"
3539
+ }
3540
+ ),
3541
+ email !== "" && !valid && /* @__PURE__ */ jsxRuntime.jsx("p", { id: `${uid}-bad`, className: "text-xs text-destructive", children: l.invalidEmail }),
3542
+ /* @__PURE__ */ jsxRuntime.jsx(chunk7BDGLRQX_cjs.Label, { htmlFor: `${uid}-text`, children: l.message }),
3543
+ /* @__PURE__ */ jsxRuntime.jsx(
3544
+ chunk7BDGLRQX_cjs.Textarea,
3545
+ {
3546
+ id: `${uid}-text`,
3547
+ value: text,
3548
+ onChange: (e) => setText(e.target.value),
3549
+ placeholder: l.messagePlaceholder,
3550
+ rows: 2,
3551
+ disabled: busy,
3552
+ "data-testid": "arbi-dm-start-message"
3553
+ }
3554
+ ),
3555
+ error && /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-xs text-destructive", "data-testid": "arbi-dm-start-error", children: error }),
3556
+ /* @__PURE__ */ jsxRuntime.jsxs(
3557
+ chunk7BDGLRQX_cjs.Button,
3558
+ {
3559
+ type: "submit",
3560
+ size: "sm",
3561
+ disabled: !valid || !text.trim() || busy,
3562
+ className: chunkS6A6FSG7_cjs.cn("self-end", classNames?.sendButton),
3563
+ "data-testid": "arbi-dm-start-send",
3564
+ children: [
3565
+ busy ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin", "aria-hidden": true }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Send, { className: "size-4", "aria-hidden": true }),
3566
+ busy ? l.sending : l.send
3567
+ ]
3568
+ }
3569
+ )
3570
+ ]
3571
+ }
3572
+ );
3573
+ }
3526
3574
  function DirectMessages({
3527
3575
  className,
3528
3576
  classNames,
3529
3577
  emptyThread: emptyThread2,
3530
- emptyList
3578
+ emptyList,
3579
+ listHeader,
3580
+ listLead,
3581
+ startByEmail,
3582
+ hideOwnContact
3531
3583
  }) {
3532
3584
  const {
3533
- conversations,
3585
+ conversations: allConversations,
3586
+ myExtId,
3534
3587
  isLoading,
3535
3588
  isError,
3536
3589
  error,
@@ -3540,6 +3593,14 @@ function DirectMessages({
3540
3593
  markRead
3541
3594
  } = useDirectMessages();
3542
3595
  const [selectedPeerId, setSelectedPeerId] = React.useState(null);
3596
+ const conversations = React.useMemo(
3597
+ () => hideOwnContact && myExtId ? allConversations.filter((c) => c.peer.external_id !== myExtId) : allConversations,
3598
+ [allConversations, hideOwnContact, myExtId]
3599
+ );
3600
+ const openStarted = (created) => {
3601
+ const peer = Array.isArray(created) ? created[0]?.recipient?.external_id : void 0;
3602
+ if (peer) setSelectedPeerId(peer);
3603
+ };
3543
3604
  const loadError = isError ? error instanceof Error ? error.message : "Couldn\u2019t load messages." : null;
3544
3605
  const selected = React.useMemo(
3545
3606
  () => conversations.find((c) => c.peer.external_id === selectedPeerId) ?? null,
@@ -3563,7 +3624,7 @@ function DirectMessages({
3563
3624
  {
3564
3625
  "data-testid": "arbi-dm",
3565
3626
  style: { height: "calc(100vh - 16rem)", minHeight: "28rem" },
3566
- className: chunkRZQACYNQ_cjs.cn(
3627
+ className: chunkS6A6FSG7_cjs.cn(
3567
3628
  "relative flex flex-col overflow-hidden rounded-xl border border-border bg-card md:flex-row",
3568
3629
  className
3569
3630
  ),
@@ -3583,7 +3644,20 @@ function DirectMessages({
3583
3644
  selectedPeerId: selected?.peer.external_id ?? null,
3584
3645
  onSelect: setSelectedPeerId,
3585
3646
  classNames,
3586
- emptyState: isLoading ? "Loading messages\u2026" : emptyList
3647
+ emptyState: isLoading ? "Loading messages\u2026" : emptyList,
3648
+ header: listHeader,
3649
+ lead: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3650
+ listLead,
3651
+ startByEmail && /* @__PURE__ */ jsxRuntime.jsx(
3652
+ StartByEmail,
3653
+ {
3654
+ onStart: sendMessageTo,
3655
+ onStarted: openStarted,
3656
+ classNames,
3657
+ labels: typeof startByEmail === "object" ? startByEmail.labels : void 0
3658
+ }
3659
+ )
3660
+ ] })
3587
3661
  }
3588
3662
  ),
3589
3663
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-0 min-w-0 flex-1 flex-col", children: [
@@ -3631,7 +3705,7 @@ function ImageCropper({
3631
3705
  },
3632
3706
  [onCropComplete, activeAspect]
3633
3707
  );
3634
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkRZQACYNQ_cjs.cn("flex flex-col gap-3", className), children: [
3708
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkS6A6FSG7_cjs.cn("flex flex-col gap-3", className), children: [
3635
3709
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative h-72 w-full overflow-hidden rounded-md bg-foreground/95", children: /* @__PURE__ */ jsxRuntime.jsx(
3636
3710
  Cropper__default.default,
3637
3711
  {
@@ -3657,7 +3731,7 @@ function ImageCropper({
3657
3731
  type: "button",
3658
3732
  onClick: () => setActiveAspect(opt.value),
3659
3733
  "data-testid": `image-cropper-aspect-${opt.label}`,
3660
- className: chunkRZQACYNQ_cjs.cn(
3734
+ className: chunkS6A6FSG7_cjs.cn(
3661
3735
  "rounded-md px-2 py-1 text-xs font-medium transition-colors",
3662
3736
  on ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-accent hover:text-foreground"
3663
3737
  ),
@@ -3670,7 +3744,7 @@ function ImageCropper({
3670
3744
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
3671
3745
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-semibold uppercase tracking-wider text-muted-foreground", children: "Zoom" }),
3672
3746
  /* @__PURE__ */ jsxRuntime.jsx(
3673
- chunkORKGCXG3_cjs.Slider,
3747
+ chunk7BDGLRQX_cjs.Slider,
3674
3748
  {
3675
3749
  value: [zoom],
3676
3750
  onValueChange: ([v]) => setZoom(v ?? 1),
@@ -3747,8 +3821,8 @@ function ImageCropModal({
3747
3821
  setBusy(false);
3748
3822
  }
3749
3823
  };
3750
- return /* @__PURE__ */ jsxRuntime.jsx(chunkORKGCXG3_cjs.Dialog, { open, onOpenChange: (next) => !next ? onCancel() : void 0, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkORKGCXG3_cjs.DialogContent, { className: "sm:max-w-md", "data-testid": "image-crop-modal", children: [
3751
- /* @__PURE__ */ jsxRuntime.jsx(chunkORKGCXG3_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkORKGCXG3_cjs.DialogTitle, { children: title }) }),
3824
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk7BDGLRQX_cjs.Dialog, { open, onOpenChange: (next) => !next ? onCancel() : void 0, children: /* @__PURE__ */ jsxRuntime.jsxs(chunk7BDGLRQX_cjs.DialogContent, { className: "sm:max-w-md", "data-testid": "image-crop-modal", children: [
3825
+ /* @__PURE__ */ jsxRuntime.jsx(chunk7BDGLRQX_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk7BDGLRQX_cjs.DialogTitle, { children: title }) }),
3752
3826
  image ? /* @__PURE__ */ jsxRuntime.jsx(
3753
3827
  ImageCropper,
3754
3828
  {
@@ -3759,9 +3833,9 @@ function ImageCropModal({
3759
3833
  onCropComplete: setArea
3760
3834
  }
3761
3835
  ) : null,
3762
- /* @__PURE__ */ jsxRuntime.jsxs(chunkORKGCXG3_cjs.DialogFooter, { className: "gap-2 sm:gap-2", children: [
3763
- /* @__PURE__ */ jsxRuntime.jsx(chunkORKGCXG3_cjs.Button, { variant: "ghost", onClick: onCancel, disabled: busy, children: "Cancel" }),
3764
- /* @__PURE__ */ jsxRuntime.jsxs(chunkORKGCXG3_cjs.Button, { onClick: handleSave, disabled: !area || busy, "data-testid": "image-crop-save", children: [
3836
+ /* @__PURE__ */ jsxRuntime.jsxs(chunk7BDGLRQX_cjs.DialogFooter, { className: "gap-2 sm:gap-2", children: [
3837
+ /* @__PURE__ */ jsxRuntime.jsx(chunk7BDGLRQX_cjs.Button, { variant: "ghost", onClick: onCancel, disabled: busy, children: "Cancel" }),
3838
+ /* @__PURE__ */ jsxRuntime.jsxs(chunk7BDGLRQX_cjs.Button, { onClick: handleSave, disabled: !area || busy, "data-testid": "image-crop-save", children: [
3765
3839
  busy ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-1 size-4 animate-spin" }) : null,
3766
3840
  saveLabel
3767
3841
  ] })
@@ -3827,18 +3901,18 @@ function CommandPalette({
3827
3901
  if (!q || task.isRunning) return;
3828
3902
  void task.run(buildAskPrompt(q), askDocIds, { model });
3829
3903
  };
3830
- return /* @__PURE__ */ jsxRuntime.jsx(chunkORKGCXG3_cjs.Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(
3831
- chunkORKGCXG3_cjs.DialogContent,
3904
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk7BDGLRQX_cjs.Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(
3905
+ chunk7BDGLRQX_cjs.DialogContent,
3832
3906
  {
3833
- className: chunkRZQACYNQ_cjs.cn(
3907
+ className: chunkS6A6FSG7_cjs.cn(
3834
3908
  "top-[12%] max-w-2xl translate-y-0 gap-0 overflow-hidden p-0",
3835
3909
  classNames?.dialog
3836
3910
  ),
3837
3911
  "data-testid": testId,
3838
3912
  children: [
3839
- /* @__PURE__ */ jsxRuntime.jsx(chunkORKGCXG3_cjs.DialogTitle, { className: "sr-only", children: "Command palette" }),
3913
+ /* @__PURE__ */ jsxRuntime.jsx(chunk7BDGLRQX_cjs.DialogTitle, { className: "sr-only", children: "Command palette" }),
3840
3914
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 border-b border-border px-4", children: [
3841
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: chunkRZQACYNQ_cjs.cn("size-4 shrink-0 text-ai-accent", classNames?.leadingIcon) }),
3915
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: chunkS6A6FSG7_cjs.cn("size-4 shrink-0 text-ai-accent", classNames?.leadingIcon) }),
3842
3916
  /* @__PURE__ */ jsxRuntime.jsx(
3843
3917
  "input",
3844
3918
  {
@@ -3852,7 +3926,7 @@ function CommandPalette({
3852
3926
  }
3853
3927
  },
3854
3928
  placeholder,
3855
- className: chunkRZQACYNQ_cjs.cn(
3929
+ className: chunkS6A6FSG7_cjs.cn(
3856
3930
  "h-14 flex-1 bg-transparent text-base outline-none placeholder:text-muted-foreground",
3857
3931
  classNames?.input
3858
3932
  ),
@@ -3867,7 +3941,7 @@ function CommandPalette({
3867
3941
  {
3868
3942
  type: "button",
3869
3943
  onClick: ask,
3870
- className: chunkRZQACYNQ_cjs.cn(
3944
+ className: chunkS6A6FSG7_cjs.cn(
3871
3945
  "mb-1 flex w-full items-center gap-3 rounded-lg px-3 py-2.5 text-left hover:bg-accent",
3872
3946
  classNames?.askAction
3873
3947
  ),
@@ -3876,7 +3950,7 @@ function CommandPalette({
3876
3950
  /* @__PURE__ */ jsxRuntime.jsx(
3877
3951
  "span",
3878
3952
  {
3879
- className: chunkRZQACYNQ_cjs.cn(
3953
+ className: chunkS6A6FSG7_cjs.cn(
3880
3954
  "flex size-8 items-center justify-center rounded-md bg-ai-surface text-ai-accent",
3881
3955
  classNames?.askChip
3882
3956
  ),
@@ -3907,7 +3981,7 @@ function CommandPalette({
3907
3981
  }
3908
3982
  ),
3909
3983
  task.isDone && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3 flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(
3910
- chunkORKGCXG3_cjs.Button,
3984
+ chunk7BDGLRQX_cjs.Button,
3911
3985
  {
3912
3986
  variant: "outline",
3913
3987
  size: "sm",
@@ -3925,7 +3999,7 @@ function CommandPalette({
3925
3999
  {
3926
4000
  type: "button",
3927
4001
  onClick: () => go(item.to),
3928
- className: chunkRZQACYNQ_cjs.cn(
4002
+ className: chunkS6A6FSG7_cjs.cn(
3929
4003
  "flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left hover:bg-accent",
3930
4004
  classNames?.navItem
3931
4005
  ),
@@ -4042,10 +4116,10 @@ function DocumentTable({
4042
4116
  extraColumns,
4043
4117
  className
4044
4118
  }) {
4045
- const query = useDocuments(workspaceId, { enabled: !documents });
4119
+ const query = chunk2DXS7L7M_cjs.useDocuments(workspaceId, { enabled: !documents });
4046
4120
  const rows = documents ?? query.data ?? [];
4047
4121
  const isLoading = !documents && query.isLoading;
4048
- const tagsQuery = useTags(workspaceId);
4122
+ const tagsQuery = chunk2DXS7L7M_cjs.useTags(workspaceId);
4049
4123
  const tagNameById = React__default.default.useMemo(() => {
4050
4124
  const map = /* @__PURE__ */ new Map();
4051
4125
  for (const t of tagsQuery.data ?? []) {
@@ -4105,7 +4179,7 @@ function DocumentTable({
4105
4179
  const doc = p.data;
4106
4180
  if (!doc) return null;
4107
4181
  return /* @__PURE__ */ jsxRuntime.jsx(
4108
- chunkORKGCXG3_cjs.DocumentEntity,
4182
+ chunk7BDGLRQX_cjs.DocumentEntity,
4109
4183
  {
4110
4184
  doc,
4111
4185
  size: "base",
@@ -4128,7 +4202,7 @@ function DocumentTable({
4128
4202
  cellRenderer: (p) => {
4129
4203
  const status = p.data?.status;
4130
4204
  if (!status) return null;
4131
- return /* @__PURE__ */ jsxRuntime.jsx(chunkORKGCXG3_cjs.Badge, { variant: STATUS_VARIANTS[status.toLowerCase()] ?? "secondary", children: status });
4205
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk7BDGLRQX_cjs.Badge, { variant: STATUS_VARIANTS[status.toLowerCase()] ?? "secondary", children: status });
4132
4206
  }
4133
4207
  },
4134
4208
  {
@@ -4142,7 +4216,7 @@ function DocumentTable({
4142
4216
  const doctags = p.data?.doctags ?? [];
4143
4217
  if (doctags.length === 0) return null;
4144
4218
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center gap-1 py-1", children: doctags.map((dt) => /* @__PURE__ */ jsxRuntime.jsx(
4145
- chunkORKGCXG3_cjs.TagEntity,
4219
+ chunk7BDGLRQX_cjs.TagEntity,
4146
4220
  {
4147
4221
  size: "sm",
4148
4222
  tag: {
@@ -4221,12 +4295,12 @@ function DocumentCardMenu({
4221
4295
  canDelete = true,
4222
4296
  testId = "document-card-menu"
4223
4297
  }) {
4224
- const arbi = chunk7IOCMCC5_cjs.useArbi();
4298
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
4225
4299
  const queryClient = reactQuery.useQueryClient();
4226
4300
  const invalidateDocuments = () => {
4227
4301
  const workspaceId = arbi.getWorkspaceId();
4228
4302
  if (workspaceId) {
4229
- void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.documents(workspaceId) });
4303
+ void queryClient.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.documents(workspaceId) });
4230
4304
  }
4231
4305
  };
4232
4306
  const download = reactQuery.useMutation({
@@ -4248,8 +4322,8 @@ function DocumentCardMenu({
4248
4322
  mutationFn: () => arbi.documents.delete([docId]),
4249
4323
  onSuccess: invalidateDocuments
4250
4324
  });
4251
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkRZQACYNQ_cjs.DropdownMenu, { children: [
4252
- /* @__PURE__ */ jsxRuntime.jsx(chunkRZQACYNQ_cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
4325
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkOBNTJEEO_cjs.DropdownMenu, { children: [
4326
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOBNTJEEO_cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
4253
4327
  "button",
4254
4328
  {
4255
4329
  type: "button",
@@ -4260,17 +4334,17 @@ function DocumentCardMenu({
4260
4334
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, { className: "size-4" })
4261
4335
  }
4262
4336
  ) }),
4263
- /* @__PURE__ */ jsxRuntime.jsxs(chunkRZQACYNQ_cjs.DropdownMenuContent, { align: "start", onClick: (e) => e.stopPropagation(), className: "w-44", children: [
4264
- onOpen && /* @__PURE__ */ jsxRuntime.jsxs(chunkRZQACYNQ_cjs.DropdownMenuItem, { onSelect: onOpen, "data-testid": `${testId}-open`, children: [
4337
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkOBNTJEEO_cjs.DropdownMenuContent, { align: "start", onClick: (e) => e.stopPropagation(), className: "w-44", children: [
4338
+ onOpen && /* @__PURE__ */ jsxRuntime.jsxs(chunkOBNTJEEO_cjs.DropdownMenuItem, { onSelect: onOpen, "data-testid": `${testId}-open`, children: [
4265
4339
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.SquarePen, { className: "mr-2 size-4" }),
4266
4340
  "Open"
4267
4341
  ] }),
4268
- onRename && /* @__PURE__ */ jsxRuntime.jsxs(chunkRZQACYNQ_cjs.DropdownMenuItem, { onSelect: onRename, "data-testid": `${testId}-rename`, children: [
4342
+ onRename && /* @__PURE__ */ jsxRuntime.jsxs(chunkOBNTJEEO_cjs.DropdownMenuItem, { onSelect: onRename, "data-testid": `${testId}-rename`, children: [
4269
4343
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "mr-2 size-4" }),
4270
4344
  "Rename"
4271
4345
  ] }),
4272
4346
  /* @__PURE__ */ jsxRuntime.jsxs(
4273
- chunkRZQACYNQ_cjs.DropdownMenuItem,
4347
+ chunkOBNTJEEO_cjs.DropdownMenuItem,
4274
4348
  {
4275
4349
  onSelect: () => download.mutate(),
4276
4350
  disabled: download.isPending,
@@ -4282,9 +4356,9 @@ function DocumentCardMenu({
4282
4356
  }
4283
4357
  ),
4284
4358
  canDelete && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4285
- /* @__PURE__ */ jsxRuntime.jsx(chunkRZQACYNQ_cjs.DropdownMenuSeparator, {}),
4359
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOBNTJEEO_cjs.DropdownMenuSeparator, {}),
4286
4360
  /* @__PURE__ */ jsxRuntime.jsxs(
4287
- chunkRZQACYNQ_cjs.DropdownMenuItem,
4361
+ chunkOBNTJEEO_cjs.DropdownMenuItem,
4288
4362
  {
4289
4363
  onSelect: () => remove.mutate(),
4290
4364
  disabled: remove.isPending,
@@ -4325,10 +4399,10 @@ function DocumentGallery({
4325
4399
  minTileWidth = 148,
4326
4400
  className
4327
4401
  }) {
4328
- const query = useDocuments(workspaceId, { enabled: !documents });
4402
+ const query = chunk2DXS7L7M_cjs.useDocuments(workspaceId, { enabled: !documents });
4329
4403
  const rows = documents ?? query.data ?? [];
4330
4404
  const isLoading = !documents && query.isLoading;
4331
- const tagsQuery = useTags(workspaceId);
4405
+ const tagsQuery = chunk2DXS7L7M_cjs.useTags(workspaceId);
4332
4406
  const tagNameById = React__default.default.useMemo(() => {
4333
4407
  const map = /* @__PURE__ */ new Map();
4334
4408
  for (const t of tagsQuery.data ?? []) {
@@ -4340,7 +4414,7 @@ function DocumentGallery({
4340
4414
  () => rows.map((d) => d.external_id).filter((id) => !!id),
4341
4415
  [rows]
4342
4416
  );
4343
- const thumbsQuery = useThumbnails(docIds);
4417
+ const thumbsQuery = chunk2DXS7L7M_cjs.useThumbnails(docIds);
4344
4418
  const thumbs = thumbsQuery.data ?? {};
4345
4419
  const storeSelected = useArbiUiStore((s) => s.selectedDocIds);
4346
4420
  const storeSetSelected = useArbiUiStore((s) => s.setSelectedDocIds);
@@ -4365,7 +4439,7 @@ function DocumentGallery({
4365
4439
  },
4366
4440
  [onOpenDocument, setViewingDocId]
4367
4441
  );
4368
- const arbi = chunk7IOCMCC5_cjs.useArbi();
4442
+ const arbi = chunkZMTLGO3K_cjs.useArbi();
4369
4443
  const queryClient = reactQuery.useQueryClient();
4370
4444
  const [renamingId, setRenamingId] = React__default.default.useState(null);
4371
4445
  const rename = reactQuery.useMutation({
@@ -4376,7 +4450,7 @@ function DocumentGallery({
4376
4450
  setRenamingId(null);
4377
4451
  const activeWorkspace = workspaceId ?? arbi.getWorkspaceId();
4378
4452
  if (activeWorkspace) {
4379
- void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.documents(activeWorkspace) });
4453
+ void queryClient.invalidateQueries({ queryKey: chunk2DXS7L7M_cjs.arbiQueryKeys.documents(activeWorkspace) });
4380
4454
  }
4381
4455
  }
4382
4456
  });
@@ -4384,7 +4458,7 @@ function DocumentGallery({
4384
4458
  return /* @__PURE__ */ jsxRuntime.jsx(
4385
4459
  "div",
4386
4460
  {
4387
- className: chunkRZQACYNQ_cjs.cn(
4461
+ className: chunkS6A6FSG7_cjs.cn(
4388
4462
  "flex items-center justify-center p-8 text-sm text-muted-foreground",
4389
4463
  className
4390
4464
  ),
@@ -4396,7 +4470,7 @@ function DocumentGallery({
4396
4470
  return /* @__PURE__ */ jsxRuntime.jsx(
4397
4471
  "div",
4398
4472
  {
4399
- className: chunkRZQACYNQ_cjs.cn(
4473
+ className: chunkS6A6FSG7_cjs.cn(
4400
4474
  "flex items-center justify-center p-8 text-sm text-muted-foreground",
4401
4475
  className
4402
4476
  ),
@@ -4408,7 +4482,7 @@ function DocumentGallery({
4408
4482
  "div",
4409
4483
  {
4410
4484
  "data-testid": "document-gallery",
4411
- className: chunkRZQACYNQ_cjs.cn("grid gap-3", className),
4485
+ className: chunkS6A6FSG7_cjs.cn("grid gap-3", className),
4412
4486
  style: { gridTemplateColumns: `repeat(auto-fill, minmax(${minTileWidth}px, 1fr))` },
4413
4487
  children: rows.map((doc) => {
4414
4488
  const id = doc.external_id;
@@ -4418,7 +4492,7 @@ function DocumentGallery({
4418
4492
  (dt) => tagNameById.get(dt.tag_ext_id) ?? dt.tag_ext_id.slice(0, 8)
4419
4493
  );
4420
4494
  return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-doc-id": id, "data-testid": "document-gallery-card", children: /* @__PURE__ */ jsxRuntime.jsx(
4421
- chunkORKGCXG3_cjs.DocumentCard,
4495
+ chunk7BDGLRQX_cjs.DocumentCard,
4422
4496
  {
4423
4497
  doc,
4424
4498
  thumbnailUrl: thumbs[id],
@@ -4455,7 +4529,7 @@ function VoiceNoteRecorder({
4455
4529
  isSaving = false,
4456
4530
  transcribe
4457
4531
  }) {
4458
- const recorder = chunkORKGCXG3_cjs.useAudioRecorder();
4532
+ const recorder = chunk7BDGLRQX_cjs.useAudioRecorder();
4459
4533
  const [transcript, setTranscript] = React.useState(null);
4460
4534
  const [isTranscribing, setIsTranscribing] = React.useState(false);
4461
4535
  React.useEffect(() => {
@@ -4487,7 +4561,7 @@ function VoiceNoteRecorder({
4487
4561
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col items-center justify-center gap-6 p-8", children: [
4488
4562
  recorder.state === "idle" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4489
4563
  /* @__PURE__ */ jsxRuntime.jsx(
4490
- chunkORKGCXG3_cjs.Button,
4564
+ chunk7BDGLRQX_cjs.Button,
4491
4565
  {
4492
4566
  type: "button",
4493
4567
  size: "lg",
@@ -4501,7 +4575,7 @@ function VoiceNoteRecorder({
4501
4575
  ] }),
4502
4576
  (recorder.state === "recording" || recorder.state === "paused") && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4503
4577
  /* @__PURE__ */ jsxRuntime.jsx(
4504
- chunkORKGCXG3_cjs.MicWaveformIndicator,
4578
+ chunk7BDGLRQX_cjs.MicWaveformIndicator,
4505
4579
  {
4506
4580
  level: recorder.level,
4507
4581
  elapsedMs: recorder.elapsedMs,
@@ -4510,7 +4584,7 @@ function VoiceNoteRecorder({
4510
4584
  ),
4511
4585
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
4512
4586
  recorder.state === "recording" ? /* @__PURE__ */ jsxRuntime.jsxs(
4513
- chunkORKGCXG3_cjs.Button,
4587
+ chunk7BDGLRQX_cjs.Button,
4514
4588
  {
4515
4589
  type: "button",
4516
4590
  variant: "outline",
@@ -4522,7 +4596,7 @@ function VoiceNoteRecorder({
4522
4596
  ]
4523
4597
  }
4524
4598
  ) : /* @__PURE__ */ jsxRuntime.jsxs(
4525
- chunkORKGCXG3_cjs.Button,
4599
+ chunk7BDGLRQX_cjs.Button,
4526
4600
  {
4527
4601
  type: "button",
4528
4602
  variant: "outline",
@@ -4534,14 +4608,14 @@ function VoiceNoteRecorder({
4534
4608
  ]
4535
4609
  }
4536
4610
  ),
4537
- /* @__PURE__ */ jsxRuntime.jsxs(chunkORKGCXG3_cjs.Button, { type: "button", onClick: recorder.stop, "data-testid": "voice-note-stop-button", children: [
4611
+ /* @__PURE__ */ jsxRuntime.jsxs(chunk7BDGLRQX_cjs.Button, { type: "button", onClick: recorder.stop, "data-testid": "voice-note-stop-button", children: [
4538
4612
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "mr-1.5 h-3.5 w-3.5 fill-current" }),
4539
4613
  "Stop"
4540
4614
  ] })
4541
4615
  ] })
4542
4616
  ] }),
4543
4617
  recorder.state === "stopped" && recorder.blob && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4544
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxRuntime.jsx(chunk7IOCMCC5_cjs.AudioViewer, { blob: recorder.blob, title }) }),
4618
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTMPDW7J5_cjs.AudioViewer, { blob: recorder.blob, title }) }),
4545
4619
  (isTranscribing || transcript) && /* @__PURE__ */ jsxRuntime.jsx(
4546
4620
  "div",
4547
4621
  {
@@ -4558,7 +4632,7 @@ function VoiceNoteRecorder({
4558
4632
  ),
4559
4633
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
4560
4634
  /* @__PURE__ */ jsxRuntime.jsxs(
4561
- chunkORKGCXG3_cjs.Button,
4635
+ chunk7BDGLRQX_cjs.Button,
4562
4636
  {
4563
4637
  type: "button",
4564
4638
  variant: "outline",
@@ -4572,7 +4646,7 @@ function VoiceNoteRecorder({
4572
4646
  }
4573
4647
  ),
4574
4648
  /* @__PURE__ */ jsxRuntime.jsxs(
4575
- chunkORKGCXG3_cjs.Button,
4649
+ chunk7BDGLRQX_cjs.Button,
4576
4650
  {
4577
4651
  type: "button",
4578
4652
  variant: "outline",
@@ -4586,7 +4660,7 @@ function VoiceNoteRecorder({
4586
4660
  }
4587
4661
  ),
4588
4662
  /* @__PURE__ */ jsxRuntime.jsxs(
4589
- chunkORKGCXG3_cjs.Button,
4663
+ chunk7BDGLRQX_cjs.Button,
4590
4664
  {
4591
4665
  type: "button",
4592
4666
  onClick: handleSave,
@@ -4623,7 +4697,7 @@ function DraftTitleControls({
4623
4697
  }
4624
4698
  ),
4625
4699
  /* @__PURE__ */ jsxRuntime.jsx(
4626
- chunkORKGCXG3_cjs.IconToggle,
4700
+ chunk7BDGLRQX_cjs.IconToggle,
4627
4701
  {
4628
4702
  icon: lucideReact.Sparkles,
4629
4703
  isActive: autoRename,
@@ -4657,7 +4731,7 @@ function useCameraStream(constraints = { video: true, audio: false }) {
4657
4731
  streamRef.current = media;
4658
4732
  setStream(media);
4659
4733
  } catch (err) {
4660
- setError(chunkORKGCXG3_cjs.classifyMediaError(err, "camera"));
4734
+ setError(chunk7BDGLRQX_cjs.classifyMediaError(err, "camera"));
4661
4735
  } finally {
4662
4736
  setIsStarting(false);
4663
4737
  }
@@ -4788,7 +4862,7 @@ function PhotoCapture({ onSave, onDiscard, onError, isSaving = false }) {
4788
4862
  }
4789
4863
  ) }),
4790
4864
  /* @__PURE__ */ jsxRuntime.jsx(
4791
- chunkORKGCXG3_cjs.Button,
4865
+ chunk7BDGLRQX_cjs.Button,
4792
4866
  {
4793
4867
  type: "button",
4794
4868
  size: "lg",
@@ -4803,10 +4877,10 @@ function PhotoCapture({ onSave, onDiscard, onError, isSaving = false }) {
4803
4877
  captureError && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-text", children: captureError })
4804
4878
  ] }),
4805
4879
  capturedBlob && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4806
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxRuntime.jsx(chunk7IOCMCC5_cjs.ImageViewer, { blob: capturedBlob, alt: "Captured photo" }) }),
4880
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTMPDW7J5_cjs.ImageViewer, { blob: capturedBlob, alt: "Captured photo" }) }),
4807
4881
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
4808
4882
  /* @__PURE__ */ jsxRuntime.jsxs(
4809
- chunkORKGCXG3_cjs.Button,
4883
+ chunk7BDGLRQX_cjs.Button,
4810
4884
  {
4811
4885
  type: "button",
4812
4886
  variant: "outline",
@@ -4820,7 +4894,7 @@ function PhotoCapture({ onSave, onDiscard, onError, isSaving = false }) {
4820
4894
  }
4821
4895
  ),
4822
4896
  /* @__PURE__ */ jsxRuntime.jsxs(
4823
- chunkORKGCXG3_cjs.Button,
4897
+ chunk7BDGLRQX_cjs.Button,
4824
4898
  {
4825
4899
  type: "button",
4826
4900
  variant: "outline",
@@ -4834,7 +4908,7 @@ function PhotoCapture({ onSave, onDiscard, onError, isSaving = false }) {
4834
4908
  }
4835
4909
  ),
4836
4910
  /* @__PURE__ */ jsxRuntime.jsxs(
4837
- chunkORKGCXG3_cjs.Button,
4911
+ chunk7BDGLRQX_cjs.Button,
4838
4912
  {
4839
4913
  type: "button",
4840
4914
  onClick: handleSave,
@@ -4893,10 +4967,10 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
4893
4967
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "relative inline-flex h-2 w-2 rounded-full bg-red-500" })
4894
4968
  ] }),
4895
4969
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold uppercase tracking-wide text-red-500", children: "Rec" }),
4896
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-xs tabular-nums text-muted-foreground", children: chunkORKGCXG3_cjs.formatElapsed(recorder.elapsedMs) })
4970
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-xs tabular-nums text-muted-foreground", children: chunk7BDGLRQX_cjs.formatElapsed(recorder.elapsedMs) })
4897
4971
  ] }),
4898
4972
  recorder.state === "recording" ? /* @__PURE__ */ jsxRuntime.jsx(
4899
- chunkORKGCXG3_cjs.Button,
4973
+ chunk7BDGLRQX_cjs.Button,
4900
4974
  {
4901
4975
  type: "button",
4902
4976
  size: "lg",
@@ -4906,7 +4980,7 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
4906
4980
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-5 w-5 fill-current" })
4907
4981
  }
4908
4982
  ) : /* @__PURE__ */ jsxRuntime.jsx(
4909
- chunkORKGCXG3_cjs.Button,
4983
+ chunk7BDGLRQX_cjs.Button,
4910
4984
  {
4911
4985
  type: "button",
4912
4986
  size: "lg",
@@ -4920,10 +4994,10 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
4920
4994
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: recorder.state === "recording" ? "Tap to stop recording" : camera.isStarting ? "Starting camera\u2026" : camera.stream ? "Tap to start recording" : "Waiting for camera access\u2026" })
4921
4995
  ] }),
4922
4996
  recorder.state === "stopped" && recorder.blob && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4923
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxRuntime.jsx(chunk7IOCMCC5_cjs.VideoViewer, { blob: recorder.blob, title: "Captured video" }) }),
4997
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTMPDW7J5_cjs.VideoViewer, { blob: recorder.blob, title: "Captured video" }) }),
4924
4998
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
4925
4999
  /* @__PURE__ */ jsxRuntime.jsxs(
4926
- chunkORKGCXG3_cjs.Button,
5000
+ chunk7BDGLRQX_cjs.Button,
4927
5001
  {
4928
5002
  type: "button",
4929
5003
  variant: "outline",
@@ -4937,7 +5011,7 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
4937
5011
  }
4938
5012
  ),
4939
5013
  /* @__PURE__ */ jsxRuntime.jsxs(
4940
- chunkORKGCXG3_cjs.Button,
5014
+ chunk7BDGLRQX_cjs.Button,
4941
5015
  {
4942
5016
  type: "button",
4943
5017
  variant: "outline",
@@ -4951,7 +5025,7 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
4951
5025
  }
4952
5026
  ),
4953
5027
  /* @__PURE__ */ jsxRuntime.jsxs(
4954
- chunkORKGCXG3_cjs.Button,
5028
+ chunk7BDGLRQX_cjs.Button,
4955
5029
  {
4956
5030
  type: "button",
4957
5031
  onClick: handleSave,
@@ -4992,673 +5066,773 @@ function hasVideoTrack(blob) {
4992
5066
  });
4993
5067
  }
4994
5068
 
5069
+ Object.defineProperty(exports, "DEFAULT_USD_PER_CREDIT", {
5070
+ enumerable: true,
5071
+ get: function () { return chunk2DXS7L7M_cjs.DEFAULT_USD_PER_CREDIT; }
5072
+ });
5073
+ Object.defineProperty(exports, "arbiQueryKeys", {
5074
+ enumerable: true,
5075
+ get: function () { return chunk2DXS7L7M_cjs.arbiQueryKeys; }
5076
+ });
5077
+ Object.defineProperty(exports, "creditsToUsd", {
5078
+ enumerable: true,
5079
+ get: function () { return chunk2DXS7L7M_cjs.creditsToUsd; }
5080
+ });
5081
+ Object.defineProperty(exports, "formatCredits", {
5082
+ enumerable: true,
5083
+ get: function () { return chunk2DXS7L7M_cjs.formatCredits; }
5084
+ });
5085
+ Object.defineProperty(exports, "isUsageMetered", {
5086
+ enumerable: true,
5087
+ get: function () { return chunk2DXS7L7M_cjs.isUsageMetered; }
5088
+ });
5089
+ Object.defineProperty(exports, "useActivity", {
5090
+ enumerable: true,
5091
+ get: function () { return chunk2DXS7L7M_cjs.useActivity; }
5092
+ });
5093
+ Object.defineProperty(exports, "useAgents", {
5094
+ enumerable: true,
5095
+ get: function () { return chunk2DXS7L7M_cjs.useAgents; }
5096
+ });
5097
+ Object.defineProperty(exports, "useAssistantQuery", {
5098
+ enumerable: true,
5099
+ get: function () { return chunk2DXS7L7M_cjs.useAssistantQuery; }
5100
+ });
5101
+ Object.defineProperty(exports, "useConfigs", {
5102
+ enumerable: true,
5103
+ get: function () { return chunk2DXS7L7M_cjs.useConfigs; }
5104
+ });
5105
+ Object.defineProperty(exports, "useConversations", {
5106
+ enumerable: true,
5107
+ get: function () { return chunk2DXS7L7M_cjs.useConversations; }
5108
+ });
5109
+ Object.defineProperty(exports, "useDeleteAgents", {
5110
+ enumerable: true,
5111
+ get: function () { return chunk2DXS7L7M_cjs.useDeleteAgents; }
5112
+ });
5113
+ Object.defineProperty(exports, "useDocuments", {
5114
+ enumerable: true,
5115
+ get: function () { return chunk2DXS7L7M_cjs.useDocuments; }
5116
+ });
5117
+ Object.defineProperty(exports, "useFacts", {
5118
+ enumerable: true,
5119
+ get: function () { return chunk2DXS7L7M_cjs.useFacts; }
5120
+ });
5121
+ Object.defineProperty(exports, "useHealth", {
5122
+ enumerable: true,
5123
+ get: function () { return chunk2DXS7L7M_cjs.useHealth; }
5124
+ });
5125
+ Object.defineProperty(exports, "useParsedDocument", {
5126
+ enumerable: true,
5127
+ get: function () { return chunk2DXS7L7M_cjs.useParsedDocument; }
5128
+ });
5129
+ Object.defineProperty(exports, "useProjectInvoices", {
5130
+ enumerable: true,
5131
+ get: function () { return chunk2DXS7L7M_cjs.useProjectInvoices; }
5132
+ });
5133
+ Object.defineProperty(exports, "useProjectUsage", {
5134
+ enumerable: true,
5135
+ get: function () { return chunk2DXS7L7M_cjs.useProjectUsage; }
5136
+ });
5137
+ Object.defineProperty(exports, "useProjects", {
5138
+ enumerable: true,
5139
+ get: function () { return chunk2DXS7L7M_cjs.useProjects; }
5140
+ });
5141
+ Object.defineProperty(exports, "useProjectsUsage", {
5142
+ enumerable: true,
5143
+ get: function () { return chunk2DXS7L7M_cjs.useProjectsUsage; }
5144
+ });
5145
+ Object.defineProperty(exports, "useSessions", {
5146
+ enumerable: true,
5147
+ get: function () { return chunk2DXS7L7M_cjs.useSessions; }
5148
+ });
5149
+ Object.defineProperty(exports, "useTags", {
5150
+ enumerable: true,
5151
+ get: function () { return chunk2DXS7L7M_cjs.useTags; }
5152
+ });
5153
+ Object.defineProperty(exports, "useTasks", {
5154
+ enumerable: true,
5155
+ get: function () { return chunk2DXS7L7M_cjs.useTasks; }
5156
+ });
5157
+ Object.defineProperty(exports, "useThumbnails", {
5158
+ enumerable: true,
5159
+ get: function () { return chunk2DXS7L7M_cjs.useThumbnails; }
5160
+ });
5161
+ Object.defineProperty(exports, "useUserUsageToday", {
5162
+ enumerable: true,
5163
+ get: function () { return chunk2DXS7L7M_cjs.useUserUsageToday; }
5164
+ });
5165
+ Object.defineProperty(exports, "useWorkspaces", {
5166
+ enumerable: true,
5167
+ get: function () { return chunk2DXS7L7M_cjs.useWorkspaces; }
5168
+ });
4995
5169
  Object.defineProperty(exports, "DEFAULT_NOTIFY_TONE", {
4996
5170
  enumerable: true,
4997
- get: function () { return chunkBXP6S34V_cjs.DEFAULT_NOTIFY_TONE; }
5171
+ get: function () { return chunkPGLV23SB_cjs.DEFAULT_NOTIFY_TONE; }
4998
5172
  });
4999
5173
  Object.defineProperty(exports, "NotificationBell", {
5000
5174
  enumerable: true,
5001
- get: function () { return chunkBXP6S34V_cjs.NotificationBell; }
5175
+ get: function () { return chunkPGLV23SB_cjs.NotificationBell; }
5002
5176
  });
5003
5177
  Object.defineProperty(exports, "Toaster", {
5004
5178
  enumerable: true,
5005
- get: function () { return chunkBXP6S34V_cjs.Toaster; }
5179
+ get: function () { return chunkPGLV23SB_cjs.Toaster; }
5006
5180
  });
5007
5181
  Object.defineProperty(exports, "formatRelativeTime", {
5008
5182
  enumerable: true,
5009
- get: function () { return chunkBXP6S34V_cjs.formatRelativeTime; }
5183
+ get: function () { return chunkPGLV23SB_cjs.formatRelativeTime; }
5010
5184
  });
5011
5185
  Object.defineProperty(exports, "notify", {
5012
5186
  enumerable: true,
5013
- get: function () { return chunkBXP6S34V_cjs.notify; }
5187
+ get: function () { return chunkPGLV23SB_cjs.notify; }
5014
5188
  });
5015
5189
  Object.defineProperty(exports, "seedNotifications", {
5016
5190
  enumerable: true,
5017
- get: function () { return chunkBXP6S34V_cjs.seedNotifications; }
5191
+ get: function () { return chunkPGLV23SB_cjs.seedNotifications; }
5018
5192
  });
5019
5193
  Object.defineProperty(exports, "selectUnread", {
5020
5194
  enumerable: true,
5021
- get: function () { return chunkBXP6S34V_cjs.selectUnread; }
5195
+ get: function () { return chunkPGLV23SB_cjs.selectUnread; }
5022
5196
  });
5023
5197
  Object.defineProperty(exports, "toast", {
5024
5198
  enumerable: true,
5025
- get: function () { return chunkBXP6S34V_cjs.toast; }
5199
+ get: function () { return chunkPGLV23SB_cjs.toast; }
5026
5200
  });
5027
5201
  Object.defineProperty(exports, "useNotify", {
5028
5202
  enumerable: true,
5029
- get: function () { return chunkBXP6S34V_cjs.useNotify; }
5203
+ get: function () { return chunkPGLV23SB_cjs.useNotify; }
5030
5204
  });
5031
5205
  Object.defineProperty(exports, "AgentBadge", {
5032
5206
  enumerable: true,
5033
- get: function () { return chunkORKGCXG3_cjs.AgentBadge; }
5207
+ get: function () { return chunk7BDGLRQX_cjs.AgentBadge; }
5034
5208
  });
5035
5209
  Object.defineProperty(exports, "AiMarkdown", {
5036
5210
  enumerable: true,
5037
- get: function () { return chunkORKGCXG3_cjs.AiMarkdown; }
5211
+ get: function () { return chunk7BDGLRQX_cjs.AiMarkdown; }
5038
5212
  });
5039
5213
  Object.defineProperty(exports, "ArbiBotHeadIcon", {
5040
5214
  enumerable: true,
5041
- get: function () { return chunkORKGCXG3_cjs.ArbiBotHeadIcon; }
5215
+ get: function () { return chunk7BDGLRQX_cjs.ArbiBotHeadIcon; }
5042
5216
  });
5043
5217
  Object.defineProperty(exports, "AudIcon", {
5044
5218
  enumerable: true,
5045
- get: function () { return chunkORKGCXG3_cjs.AudIcon; }
5219
+ get: function () { return chunk7BDGLRQX_cjs.AudIcon; }
5046
5220
  });
5047
5221
  Object.defineProperty(exports, "Avatar", {
5048
5222
  enumerable: true,
5049
- get: function () { return chunkORKGCXG3_cjs.Avatar; }
5223
+ get: function () { return chunk7BDGLRQX_cjs.Avatar; }
5050
5224
  });
5051
5225
  Object.defineProperty(exports, "AvatarFallback", {
5052
5226
  enumerable: true,
5053
- get: function () { return chunkORKGCXG3_cjs.AvatarFallback; }
5227
+ get: function () { return chunk7BDGLRQX_cjs.AvatarFallback; }
5054
5228
  });
5055
5229
  Object.defineProperty(exports, "AvatarImage", {
5056
5230
  enumerable: true,
5057
- get: function () { return chunkORKGCXG3_cjs.AvatarImage; }
5231
+ get: function () { return chunk7BDGLRQX_cjs.AvatarImage; }
5058
5232
  });
5059
5233
  Object.defineProperty(exports, "BASE_COLORS", {
5060
5234
  enumerable: true,
5061
- get: function () { return chunkORKGCXG3_cjs.BASE_COLORS; }
5235
+ get: function () { return chunk7BDGLRQX_cjs.BASE_COLORS; }
5062
5236
  });
5063
5237
  Object.defineProperty(exports, "Badge", {
5064
5238
  enumerable: true,
5065
- get: function () { return chunkORKGCXG3_cjs.Badge; }
5239
+ get: function () { return chunk7BDGLRQX_cjs.Badge; }
5066
5240
  });
5067
5241
  Object.defineProperty(exports, "Button", {
5068
5242
  enumerable: true,
5069
- get: function () { return chunkORKGCXG3_cjs.Button; }
5243
+ get: function () { return chunk7BDGLRQX_cjs.Button; }
5070
5244
  });
5071
5245
  Object.defineProperty(exports, "Card", {
5072
5246
  enumerable: true,
5073
- get: function () { return chunkORKGCXG3_cjs.Card; }
5247
+ get: function () { return chunk7BDGLRQX_cjs.Card; }
5074
5248
  });
5075
5249
  Object.defineProperty(exports, "CardContent", {
5076
5250
  enumerable: true,
5077
- get: function () { return chunkORKGCXG3_cjs.CardContent; }
5251
+ get: function () { return chunk7BDGLRQX_cjs.CardContent; }
5078
5252
  });
5079
5253
  Object.defineProperty(exports, "CardDescription", {
5080
5254
  enumerable: true,
5081
- get: function () { return chunkORKGCXG3_cjs.CardDescription; }
5255
+ get: function () { return chunk7BDGLRQX_cjs.CardDescription; }
5082
5256
  });
5083
5257
  Object.defineProperty(exports, "CardFooter", {
5084
5258
  enumerable: true,
5085
- get: function () { return chunkORKGCXG3_cjs.CardFooter; }
5259
+ get: function () { return chunk7BDGLRQX_cjs.CardFooter; }
5086
5260
  });
5087
5261
  Object.defineProperty(exports, "CardHeader", {
5088
5262
  enumerable: true,
5089
- get: function () { return chunkORKGCXG3_cjs.CardHeader; }
5263
+ get: function () { return chunk7BDGLRQX_cjs.CardHeader; }
5090
5264
  });
5091
5265
  Object.defineProperty(exports, "CardTitle", {
5092
5266
  enumerable: true,
5093
- get: function () { return chunkORKGCXG3_cjs.CardTitle; }
5267
+ get: function () { return chunk7BDGLRQX_cjs.CardTitle; }
5094
5268
  });
5095
5269
  Object.defineProperty(exports, "Checkbox", {
5096
5270
  enumerable: true,
5097
- get: function () { return chunkORKGCXG3_cjs.Checkbox; }
5271
+ get: function () { return chunk7BDGLRQX_cjs.Checkbox; }
5098
5272
  });
5099
5273
  Object.defineProperty(exports, "Collapsible", {
5100
5274
  enumerable: true,
5101
- get: function () { return chunkORKGCXG3_cjs.Collapsible; }
5275
+ get: function () { return chunk7BDGLRQX_cjs.Collapsible; }
5102
5276
  });
5103
5277
  Object.defineProperty(exports, "CollapsibleContent", {
5104
5278
  enumerable: true,
5105
- get: function () { return chunkORKGCXG3_cjs.CollapsibleContent; }
5279
+ get: function () { return chunk7BDGLRQX_cjs.CollapsibleContent; }
5106
5280
  });
5107
5281
  Object.defineProperty(exports, "CollapsibleTrigger", {
5108
5282
  enumerable: true,
5109
- get: function () { return chunkORKGCXG3_cjs.CollapsibleTrigger; }
5283
+ get: function () { return chunk7BDGLRQX_cjs.CollapsibleTrigger; }
5110
5284
  });
5111
5285
  Object.defineProperty(exports, "Command", {
5112
5286
  enumerable: true,
5113
- get: function () { return chunkORKGCXG3_cjs.Command; }
5287
+ get: function () { return chunk7BDGLRQX_cjs.Command; }
5114
5288
  });
5115
5289
  Object.defineProperty(exports, "CommandDialog", {
5116
5290
  enumerable: true,
5117
- get: function () { return chunkORKGCXG3_cjs.CommandDialog; }
5291
+ get: function () { return chunk7BDGLRQX_cjs.CommandDialog; }
5118
5292
  });
5119
5293
  Object.defineProperty(exports, "CommandEmpty", {
5120
5294
  enumerable: true,
5121
- get: function () { return chunkORKGCXG3_cjs.CommandEmpty; }
5295
+ get: function () { return chunk7BDGLRQX_cjs.CommandEmpty; }
5122
5296
  });
5123
5297
  Object.defineProperty(exports, "CommandGroup", {
5124
5298
  enumerable: true,
5125
- get: function () { return chunkORKGCXG3_cjs.CommandGroup; }
5299
+ get: function () { return chunk7BDGLRQX_cjs.CommandGroup; }
5126
5300
  });
5127
5301
  Object.defineProperty(exports, "CommandInput", {
5128
5302
  enumerable: true,
5129
- get: function () { return chunkORKGCXG3_cjs.CommandInput; }
5303
+ get: function () { return chunk7BDGLRQX_cjs.CommandInput; }
5130
5304
  });
5131
5305
  Object.defineProperty(exports, "CommandItem", {
5132
5306
  enumerable: true,
5133
- get: function () { return chunkORKGCXG3_cjs.CommandItem; }
5307
+ get: function () { return chunk7BDGLRQX_cjs.CommandItem; }
5134
5308
  });
5135
5309
  Object.defineProperty(exports, "CommandList", {
5136
5310
  enumerable: true,
5137
- get: function () { return chunkORKGCXG3_cjs.CommandList; }
5311
+ get: function () { return chunk7BDGLRQX_cjs.CommandList; }
5138
5312
  });
5139
5313
  Object.defineProperty(exports, "CommandSeparator", {
5140
5314
  enumerable: true,
5141
- get: function () { return chunkORKGCXG3_cjs.CommandSeparator; }
5315
+ get: function () { return chunk7BDGLRQX_cjs.CommandSeparator; }
5142
5316
  });
5143
5317
  Object.defineProperty(exports, "CommandShortcut", {
5144
5318
  enumerable: true,
5145
- get: function () { return chunkORKGCXG3_cjs.CommandShortcut; }
5319
+ get: function () { return chunk7BDGLRQX_cjs.CommandShortcut; }
5146
5320
  });
5147
5321
  Object.defineProperty(exports, "Dialog", {
5148
5322
  enumerable: true,
5149
- get: function () { return chunkORKGCXG3_cjs.Dialog; }
5323
+ get: function () { return chunk7BDGLRQX_cjs.Dialog; }
5150
5324
  });
5151
5325
  Object.defineProperty(exports, "DialogClose", {
5152
5326
  enumerable: true,
5153
- get: function () { return chunkORKGCXG3_cjs.DialogClose; }
5327
+ get: function () { return chunk7BDGLRQX_cjs.DialogClose; }
5154
5328
  });
5155
5329
  Object.defineProperty(exports, "DialogContent", {
5156
5330
  enumerable: true,
5157
- get: function () { return chunkORKGCXG3_cjs.DialogContent; }
5331
+ get: function () { return chunk7BDGLRQX_cjs.DialogContent; }
5158
5332
  });
5159
5333
  Object.defineProperty(exports, "DialogDescription", {
5160
5334
  enumerable: true,
5161
- get: function () { return chunkORKGCXG3_cjs.DialogDescription; }
5335
+ get: function () { return chunk7BDGLRQX_cjs.DialogDescription; }
5162
5336
  });
5163
5337
  Object.defineProperty(exports, "DialogFooter", {
5164
5338
  enumerable: true,
5165
- get: function () { return chunkORKGCXG3_cjs.DialogFooter; }
5339
+ get: function () { return chunk7BDGLRQX_cjs.DialogFooter; }
5166
5340
  });
5167
5341
  Object.defineProperty(exports, "DialogHeader", {
5168
5342
  enumerable: true,
5169
- get: function () { return chunkORKGCXG3_cjs.DialogHeader; }
5343
+ get: function () { return chunk7BDGLRQX_cjs.DialogHeader; }
5170
5344
  });
5171
5345
  Object.defineProperty(exports, "DialogOverlay", {
5172
5346
  enumerable: true,
5173
- get: function () { return chunkORKGCXG3_cjs.DialogOverlay; }
5347
+ get: function () { return chunk7BDGLRQX_cjs.DialogOverlay; }
5174
5348
  });
5175
5349
  Object.defineProperty(exports, "DialogPortal", {
5176
5350
  enumerable: true,
5177
- get: function () { return chunkORKGCXG3_cjs.DialogPortal; }
5351
+ get: function () { return chunk7BDGLRQX_cjs.DialogPortal; }
5178
5352
  });
5179
5353
  Object.defineProperty(exports, "DialogTitle", {
5180
5354
  enumerable: true,
5181
- get: function () { return chunkORKGCXG3_cjs.DialogTitle; }
5355
+ get: function () { return chunk7BDGLRQX_cjs.DialogTitle; }
5182
5356
  });
5183
5357
  Object.defineProperty(exports, "DialogTrigger", {
5184
5358
  enumerable: true,
5185
- get: function () { return chunkORKGCXG3_cjs.DialogTrigger; }
5359
+ get: function () { return chunk7BDGLRQX_cjs.DialogTrigger; }
5186
5360
  });
5187
5361
  Object.defineProperty(exports, "DictateProvider", {
5188
5362
  enumerable: true,
5189
- get: function () { return chunkORKGCXG3_cjs.DictateProvider; }
5363
+ get: function () { return chunk7BDGLRQX_cjs.DictateProvider; }
5190
5364
  });
5191
5365
  Object.defineProperty(exports, "DocumentCard", {
5192
5366
  enumerable: true,
5193
- get: function () { return chunkORKGCXG3_cjs.DocumentCard; }
5367
+ get: function () { return chunk7BDGLRQX_cjs.DocumentCard; }
5194
5368
  });
5195
5369
  Object.defineProperty(exports, "DocumentEntity", {
5196
5370
  enumerable: true,
5197
- get: function () { return chunkORKGCXG3_cjs.DocumentEntity; }
5371
+ get: function () { return chunk7BDGLRQX_cjs.DocumentEntity; }
5198
5372
  });
5199
5373
  Object.defineProperty(exports, "ENTITY_MAPPINGS", {
5200
5374
  enumerable: true,
5201
- get: function () { return chunkORKGCXG3_cjs.ENTITY_MAPPINGS; }
5375
+ get: function () { return chunk7BDGLRQX_cjs.ENTITY_MAPPINGS; }
5202
5376
  });
5203
5377
  Object.defineProperty(exports, "EmlIcon", {
5204
5378
  enumerable: true,
5205
- get: function () { return chunkORKGCXG3_cjs.EmlIcon; }
5379
+ get: function () { return chunk7BDGLRQX_cjs.EmlIcon; }
5206
5380
  });
5207
5381
  Object.defineProperty(exports, "EntityIcon", {
5208
5382
  enumerable: true,
5209
- get: function () { return chunkORKGCXG3_cjs.EntityIcon; }
5383
+ get: function () { return chunk7BDGLRQX_cjs.EntityIcon; }
5210
5384
  });
5211
5385
  Object.defineProperty(exports, "EntityPill", {
5212
5386
  enumerable: true,
5213
- get: function () { return chunkORKGCXG3_cjs.EntityPill; }
5387
+ get: function () { return chunk7BDGLRQX_cjs.EntityPill; }
5214
5388
  });
5215
5389
  Object.defineProperty(exports, "FILE_TYPE_COLORS", {
5216
5390
  enumerable: true,
5217
- get: function () { return chunkORKGCXG3_cjs.FILE_TYPE_COLORS; }
5391
+ get: function () { return chunk7BDGLRQX_cjs.FILE_TYPE_COLORS; }
5218
5392
  });
5219
5393
  Object.defineProperty(exports, "HoverCard", {
5220
5394
  enumerable: true,
5221
- get: function () { return chunkORKGCXG3_cjs.HoverCard; }
5395
+ get: function () { return chunk7BDGLRQX_cjs.HoverCard; }
5222
5396
  });
5223
5397
  Object.defineProperty(exports, "HoverCardContent", {
5224
5398
  enumerable: true,
5225
- get: function () { return chunkORKGCXG3_cjs.HoverCardContent; }
5399
+ get: function () { return chunk7BDGLRQX_cjs.HoverCardContent; }
5226
5400
  });
5227
5401
  Object.defineProperty(exports, "HoverCardTrigger", {
5228
5402
  enumerable: true,
5229
- get: function () { return chunkORKGCXG3_cjs.HoverCardTrigger; }
5403
+ get: function () { return chunk7BDGLRQX_cjs.HoverCardTrigger; }
5230
5404
  });
5231
5405
  Object.defineProperty(exports, "IconToggle", {
5232
5406
  enumerable: true,
5233
- get: function () { return chunkORKGCXG3_cjs.IconToggle; }
5407
+ get: function () { return chunk7BDGLRQX_cjs.IconToggle; }
5234
5408
  });
5235
5409
  Object.defineProperty(exports, "ImgIcon", {
5236
5410
  enumerable: true,
5237
- get: function () { return chunkORKGCXG3_cjs.ImgIcon; }
5411
+ get: function () { return chunk7BDGLRQX_cjs.ImgIcon; }
5238
5412
  });
5239
5413
  Object.defineProperty(exports, "InlineMicButton", {
5240
5414
  enumerable: true,
5241
- get: function () { return chunkORKGCXG3_cjs.InlineMicButton; }
5415
+ get: function () { return chunk7BDGLRQX_cjs.InlineMicButton; }
5242
5416
  });
5243
5417
  Object.defineProperty(exports, "Input", {
5244
5418
  enumerable: true,
5245
- get: function () { return chunkORKGCXG3_cjs.Input; }
5419
+ get: function () { return chunk7BDGLRQX_cjs.Input; }
5246
5420
  });
5247
5421
  Object.defineProperty(exports, "Label", {
5248
5422
  enumerable: true,
5249
- get: function () { return chunkORKGCXG3_cjs.Label; }
5423
+ get: function () { return chunk7BDGLRQX_cjs.Label; }
5250
5424
  });
5251
5425
  Object.defineProperty(exports, "MarkMenu", {
5252
5426
  enumerable: true,
5253
- get: function () { return chunkORKGCXG3_cjs.MarkMenu; }
5254
- });
5255
- Object.defineProperty(exports, "MarkdownRenderer", {
5256
- enumerable: true,
5257
- get: function () { return chunkORKGCXG3_cjs.MarkdownRenderer; }
5258
- });
5259
- Object.defineProperty(exports, "MarkdownStreamingContext", {
5260
- enumerable: true,
5261
- get: function () { return chunkORKGCXG3_cjs.MarkdownStreamingContext; }
5427
+ get: function () { return chunk7BDGLRQX_cjs.MarkMenu; }
5262
5428
  });
5263
5429
  Object.defineProperty(exports, "MicRecordingOverlay", {
5264
5430
  enumerable: true,
5265
- get: function () { return chunkORKGCXG3_cjs.MicRecordingOverlay; }
5431
+ get: function () { return chunk7BDGLRQX_cjs.MicRecordingOverlay; }
5266
5432
  });
5267
5433
  Object.defineProperty(exports, "MicWaveformIndicator", {
5268
5434
  enumerable: true,
5269
- get: function () { return chunkORKGCXG3_cjs.MicWaveformIndicator; }
5435
+ get: function () { return chunk7BDGLRQX_cjs.MicWaveformIndicator; }
5270
5436
  });
5271
5437
  Object.defineProperty(exports, "NEUTRAL_GRAY", {
5272
5438
  enumerable: true,
5273
- get: function () { return chunkORKGCXG3_cjs.NEUTRAL_GRAY; }
5439
+ get: function () { return chunk7BDGLRQX_cjs.NEUTRAL_GRAY; }
5274
5440
  });
5275
5441
  Object.defineProperty(exports, "PLACEHOLDER_COLOR", {
5276
5442
  enumerable: true,
5277
- get: function () { return chunkORKGCXG3_cjs.PLACEHOLDER_COLOR; }
5443
+ get: function () { return chunk7BDGLRQX_cjs.PLACEHOLDER_COLOR; }
5278
5444
  });
5279
5445
  Object.defineProperty(exports, "PassageCard", {
5280
5446
  enumerable: true,
5281
- get: function () { return chunkORKGCXG3_cjs.PassageCard; }
5447
+ get: function () { return chunk7BDGLRQX_cjs.PassageCard; }
5282
5448
  });
5283
5449
  Object.defineProperty(exports, "PdfIcon", {
5284
5450
  enumerable: true,
5285
- get: function () { return chunkORKGCXG3_cjs.PdfIcon; }
5451
+ get: function () { return chunk7BDGLRQX_cjs.PdfIcon; }
5286
5452
  });
5287
5453
  Object.defineProperty(exports, "Popover", {
5288
5454
  enumerable: true,
5289
- get: function () { return chunkORKGCXG3_cjs.Popover; }
5455
+ get: function () { return chunk7BDGLRQX_cjs.Popover; }
5290
5456
  });
5291
5457
  Object.defineProperty(exports, "PopoverAnchor", {
5292
5458
  enumerable: true,
5293
- get: function () { return chunkORKGCXG3_cjs.PopoverAnchor; }
5459
+ get: function () { return chunk7BDGLRQX_cjs.PopoverAnchor; }
5294
5460
  });
5295
5461
  Object.defineProperty(exports, "PopoverContent", {
5296
5462
  enumerable: true,
5297
- get: function () { return chunkORKGCXG3_cjs.PopoverContent; }
5463
+ get: function () { return chunk7BDGLRQX_cjs.PopoverContent; }
5298
5464
  });
5299
5465
  Object.defineProperty(exports, "PopoverTrigger", {
5300
5466
  enumerable: true,
5301
- get: function () { return chunkORKGCXG3_cjs.PopoverTrigger; }
5467
+ get: function () { return chunk7BDGLRQX_cjs.PopoverTrigger; }
5302
5468
  });
5303
5469
  Object.defineProperty(exports, "PresenceLabel", {
5304
5470
  enumerable: true,
5305
- get: function () { return chunkORKGCXG3_cjs.PresenceLabel; }
5471
+ get: function () { return chunk7BDGLRQX_cjs.PresenceLabel; }
5306
5472
  });
5307
5473
  Object.defineProperty(exports, "Progress", {
5308
5474
  enumerable: true,
5309
- get: function () { return chunkORKGCXG3_cjs.Progress; }
5475
+ get: function () { return chunk7BDGLRQX_cjs.Progress; }
5310
5476
  });
5311
5477
  Object.defineProperty(exports, "ProjectEntity", {
5312
5478
  enumerable: true,
5313
- get: function () { return chunkORKGCXG3_cjs.ProjectEntity; }
5479
+ get: function () { return chunk7BDGLRQX_cjs.ProjectEntity; }
5314
5480
  });
5315
5481
  Object.defineProperty(exports, "RadioGroup", {
5316
5482
  enumerable: true,
5317
- get: function () { return chunkORKGCXG3_cjs.RadioGroup; }
5483
+ get: function () { return chunk7BDGLRQX_cjs.RadioGroup; }
5318
5484
  });
5319
5485
  Object.defineProperty(exports, "RadioGroupItem", {
5320
5486
  enumerable: true,
5321
- get: function () { return chunkORKGCXG3_cjs.RadioGroupItem; }
5487
+ get: function () { return chunk7BDGLRQX_cjs.RadioGroupItem; }
5322
5488
  });
5323
5489
  Object.defineProperty(exports, "RagDot", {
5324
5490
  enumerable: true,
5325
- get: function () { return chunkORKGCXG3_cjs.RagDot; }
5491
+ get: function () { return chunk7BDGLRQX_cjs.RagDot; }
5326
5492
  });
5327
5493
  Object.defineProperty(exports, "RelevanceDot", {
5328
5494
  enumerable: true,
5329
- get: function () { return chunkORKGCXG3_cjs.RelevanceDot; }
5495
+ get: function () { return chunk7BDGLRQX_cjs.RelevanceDot; }
5330
5496
  });
5331
5497
  Object.defineProperty(exports, "Select", {
5332
5498
  enumerable: true,
5333
- get: function () { return chunkORKGCXG3_cjs.Select; }
5499
+ get: function () { return chunk7BDGLRQX_cjs.Select; }
5334
5500
  });
5335
5501
  Object.defineProperty(exports, "SelectContent", {
5336
5502
  enumerable: true,
5337
- get: function () { return chunkORKGCXG3_cjs.SelectContent; }
5503
+ get: function () { return chunk7BDGLRQX_cjs.SelectContent; }
5338
5504
  });
5339
5505
  Object.defineProperty(exports, "SelectGroup", {
5340
5506
  enumerable: true,
5341
- get: function () { return chunkORKGCXG3_cjs.SelectGroup; }
5507
+ get: function () { return chunk7BDGLRQX_cjs.SelectGroup; }
5342
5508
  });
5343
5509
  Object.defineProperty(exports, "SelectItem", {
5344
5510
  enumerable: true,
5345
- get: function () { return chunkORKGCXG3_cjs.SelectItem; }
5511
+ get: function () { return chunk7BDGLRQX_cjs.SelectItem; }
5346
5512
  });
5347
5513
  Object.defineProperty(exports, "SelectLabel", {
5348
5514
  enumerable: true,
5349
- get: function () { return chunkORKGCXG3_cjs.SelectLabel; }
5515
+ get: function () { return chunk7BDGLRQX_cjs.SelectLabel; }
5350
5516
  });
5351
5517
  Object.defineProperty(exports, "SelectScrollDownButton", {
5352
5518
  enumerable: true,
5353
- get: function () { return chunkORKGCXG3_cjs.SelectScrollDownButton; }
5519
+ get: function () { return chunk7BDGLRQX_cjs.SelectScrollDownButton; }
5354
5520
  });
5355
5521
  Object.defineProperty(exports, "SelectScrollUpButton", {
5356
5522
  enumerable: true,
5357
- get: function () { return chunkORKGCXG3_cjs.SelectScrollUpButton; }
5523
+ get: function () { return chunk7BDGLRQX_cjs.SelectScrollUpButton; }
5358
5524
  });
5359
5525
  Object.defineProperty(exports, "SelectSeparator", {
5360
5526
  enumerable: true,
5361
- get: function () { return chunkORKGCXG3_cjs.SelectSeparator; }
5527
+ get: function () { return chunk7BDGLRQX_cjs.SelectSeparator; }
5362
5528
  });
5363
5529
  Object.defineProperty(exports, "SelectTrigger", {
5364
5530
  enumerable: true,
5365
- get: function () { return chunkORKGCXG3_cjs.SelectTrigger; }
5531
+ get: function () { return chunk7BDGLRQX_cjs.SelectTrigger; }
5366
5532
  });
5367
5533
  Object.defineProperty(exports, "SelectValue", {
5368
5534
  enumerable: true,
5369
- get: function () { return chunkORKGCXG3_cjs.SelectValue; }
5535
+ get: function () { return chunk7BDGLRQX_cjs.SelectValue; }
5370
5536
  });
5371
5537
  Object.defineProperty(exports, "Separator", {
5372
5538
  enumerable: true,
5373
- get: function () { return chunkORKGCXG3_cjs.Separator; }
5539
+ get: function () { return chunk7BDGLRQX_cjs.Separator; }
5374
5540
  });
5375
5541
  Object.defineProperty(exports, "Slider", {
5376
5542
  enumerable: true,
5377
- get: function () { return chunkORKGCXG3_cjs.Slider; }
5543
+ get: function () { return chunk7BDGLRQX_cjs.Slider; }
5378
5544
  });
5379
5545
  Object.defineProperty(exports, "StatusPill", {
5380
5546
  enumerable: true,
5381
- get: function () { return chunkORKGCXG3_cjs.StatusPill; }
5547
+ get: function () { return chunk7BDGLRQX_cjs.StatusPill; }
5382
5548
  });
5383
5549
  Object.defineProperty(exports, "Switch", {
5384
5550
  enumerable: true,
5385
- get: function () { return chunkORKGCXG3_cjs.Switch; }
5551
+ get: function () { return chunk7BDGLRQX_cjs.Switch; }
5386
5552
  });
5387
5553
  Object.defineProperty(exports, "TAG_TYPE_ICONS", {
5388
5554
  enumerable: true,
5389
- get: function () { return chunkORKGCXG3_cjs.TAG_TYPE_ICONS; }
5555
+ get: function () { return chunk7BDGLRQX_cjs.TAG_TYPE_ICONS; }
5390
5556
  });
5391
5557
  Object.defineProperty(exports, "TAG_TYPE_LABELS", {
5392
5558
  enumerable: true,
5393
- get: function () { return chunkORKGCXG3_cjs.TAG_TYPE_LABELS; }
5559
+ get: function () { return chunk7BDGLRQX_cjs.TAG_TYPE_LABELS; }
5394
5560
  });
5395
5561
  Object.defineProperty(exports, "Table", {
5396
5562
  enumerable: true,
5397
- get: function () { return chunkORKGCXG3_cjs.Table; }
5563
+ get: function () { return chunk7BDGLRQX_cjs.Table; }
5398
5564
  });
5399
5565
  Object.defineProperty(exports, "TableBody", {
5400
5566
  enumerable: true,
5401
- get: function () { return chunkORKGCXG3_cjs.TableBody; }
5567
+ get: function () { return chunk7BDGLRQX_cjs.TableBody; }
5402
5568
  });
5403
5569
  Object.defineProperty(exports, "TableCaption", {
5404
5570
  enumerable: true,
5405
- get: function () { return chunkORKGCXG3_cjs.TableCaption; }
5571
+ get: function () { return chunk7BDGLRQX_cjs.TableCaption; }
5406
5572
  });
5407
5573
  Object.defineProperty(exports, "TableCell", {
5408
5574
  enumerable: true,
5409
- get: function () { return chunkORKGCXG3_cjs.TableCell; }
5575
+ get: function () { return chunk7BDGLRQX_cjs.TableCell; }
5410
5576
  });
5411
5577
  Object.defineProperty(exports, "TableFooter", {
5412
5578
  enumerable: true,
5413
- get: function () { return chunkORKGCXG3_cjs.TableFooter; }
5579
+ get: function () { return chunk7BDGLRQX_cjs.TableFooter; }
5414
5580
  });
5415
5581
  Object.defineProperty(exports, "TableHead", {
5416
5582
  enumerable: true,
5417
- get: function () { return chunkORKGCXG3_cjs.TableHead; }
5583
+ get: function () { return chunk7BDGLRQX_cjs.TableHead; }
5418
5584
  });
5419
5585
  Object.defineProperty(exports, "TableHeader", {
5420
5586
  enumerable: true,
5421
- get: function () { return chunkORKGCXG3_cjs.TableHeader; }
5587
+ get: function () { return chunk7BDGLRQX_cjs.TableHeader; }
5422
5588
  });
5423
5589
  Object.defineProperty(exports, "TableRow", {
5424
5590
  enumerable: true,
5425
- get: function () { return chunkORKGCXG3_cjs.TableRow; }
5591
+ get: function () { return chunk7BDGLRQX_cjs.TableRow; }
5426
5592
  });
5427
5593
  Object.defineProperty(exports, "Tabs", {
5428
5594
  enumerable: true,
5429
- get: function () { return chunkORKGCXG3_cjs.Tabs; }
5595
+ get: function () { return chunk7BDGLRQX_cjs.Tabs; }
5430
5596
  });
5431
5597
  Object.defineProperty(exports, "TabsContent", {
5432
5598
  enumerable: true,
5433
- get: function () { return chunkORKGCXG3_cjs.TabsContent; }
5599
+ get: function () { return chunk7BDGLRQX_cjs.TabsContent; }
5434
5600
  });
5435
5601
  Object.defineProperty(exports, "TabsList", {
5436
5602
  enumerable: true,
5437
- get: function () { return chunkORKGCXG3_cjs.TabsList; }
5603
+ get: function () { return chunk7BDGLRQX_cjs.TabsList; }
5438
5604
  });
5439
5605
  Object.defineProperty(exports, "TabsTrigger", {
5440
5606
  enumerable: true,
5441
- get: function () { return chunkORKGCXG3_cjs.TabsTrigger; }
5607
+ get: function () { return chunk7BDGLRQX_cjs.TabsTrigger; }
5442
5608
  });
5443
5609
  Object.defineProperty(exports, "TagEntity", {
5444
5610
  enumerable: true,
5445
- get: function () { return chunkORKGCXG3_cjs.TagEntity; }
5611
+ get: function () { return chunk7BDGLRQX_cjs.TagEntity; }
5446
5612
  });
5447
5613
  Object.defineProperty(exports, "Textarea", {
5448
5614
  enumerable: true,
5449
- get: function () { return chunkORKGCXG3_cjs.Textarea; }
5615
+ get: function () { return chunk7BDGLRQX_cjs.Textarea; }
5450
5616
  });
5451
5617
  Object.defineProperty(exports, "Toggle", {
5452
5618
  enumerable: true,
5453
- get: function () { return chunkORKGCXG3_cjs.Toggle; }
5619
+ get: function () { return chunk7BDGLRQX_cjs.Toggle; }
5454
5620
  });
5455
5621
  Object.defineProperty(exports, "ToggleGroup", {
5456
5622
  enumerable: true,
5457
- get: function () { return chunkORKGCXG3_cjs.ToggleGroup; }
5623
+ get: function () { return chunk7BDGLRQX_cjs.ToggleGroup; }
5458
5624
  });
5459
5625
  Object.defineProperty(exports, "ToggleGroupItem", {
5460
5626
  enumerable: true,
5461
- get: function () { return chunkORKGCXG3_cjs.ToggleGroupItem; }
5627
+ get: function () { return chunk7BDGLRQX_cjs.ToggleGroupItem; }
5462
5628
  });
5463
5629
  Object.defineProperty(exports, "Tooltip", {
5464
5630
  enumerable: true,
5465
- get: function () { return chunkORKGCXG3_cjs.Tooltip; }
5631
+ get: function () { return chunk7BDGLRQX_cjs.Tooltip; }
5466
5632
  });
5467
5633
  Object.defineProperty(exports, "TooltipContent", {
5468
5634
  enumerable: true,
5469
- get: function () { return chunkORKGCXG3_cjs.TooltipContent; }
5635
+ get: function () { return chunk7BDGLRQX_cjs.TooltipContent; }
5470
5636
  });
5471
5637
  Object.defineProperty(exports, "TooltipProvider", {
5472
5638
  enumerable: true,
5473
- get: function () { return chunkORKGCXG3_cjs.TooltipProvider; }
5639
+ get: function () { return chunk7BDGLRQX_cjs.TooltipProvider; }
5474
5640
  });
5475
5641
  Object.defineProperty(exports, "TooltipTrigger", {
5476
5642
  enumerable: true,
5477
- get: function () { return chunkORKGCXG3_cjs.TooltipTrigger; }
5643
+ get: function () { return chunk7BDGLRQX_cjs.TooltipTrigger; }
5478
5644
  });
5479
5645
  Object.defineProperty(exports, "UserEntity", {
5480
5646
  enumerable: true,
5481
- get: function () { return chunkORKGCXG3_cjs.UserEntity; }
5647
+ get: function () { return chunk7BDGLRQX_cjs.UserEntity; }
5482
5648
  });
5483
5649
  Object.defineProperty(exports, "UserMenu", {
5484
5650
  enumerable: true,
5485
- get: function () { return chunkORKGCXG3_cjs.UserMenu; }
5651
+ get: function () { return chunk7BDGLRQX_cjs.UserMenu; }
5486
5652
  });
5487
5653
  Object.defineProperty(exports, "VISIBILITY_ICONS", {
5488
5654
  enumerable: true,
5489
- get: function () { return chunkORKGCXG3_cjs.VISIBILITY_ICONS; }
5655
+ get: function () { return chunk7BDGLRQX_cjs.VISIBILITY_ICONS; }
5490
5656
  });
5491
5657
  Object.defineProperty(exports, "VidIcon", {
5492
5658
  enumerable: true,
5493
- get: function () { return chunkORKGCXG3_cjs.VidIcon; }
5659
+ get: function () { return chunk7BDGLRQX_cjs.VidIcon; }
5494
5660
  });
5495
5661
  Object.defineProperty(exports, "VisibilityIcon", {
5496
5662
  enumerable: true,
5497
- get: function () { return chunkORKGCXG3_cjs.VisibilityIcon; }
5663
+ get: function () { return chunk7BDGLRQX_cjs.VisibilityIcon; }
5498
5664
  });
5499
5665
  Object.defineProperty(exports, "badgeVariants", {
5500
5666
  enumerable: true,
5501
- get: function () { return chunkORKGCXG3_cjs.badgeVariants; }
5667
+ get: function () { return chunk7BDGLRQX_cjs.badgeVariants; }
5502
5668
  });
5503
5669
  Object.defineProperty(exports, "buttonVariants", {
5504
5670
  enumerable: true,
5505
- get: function () { return chunkORKGCXG3_cjs.buttonVariants; }
5671
+ get: function () { return chunk7BDGLRQX_cjs.buttonVariants; }
5506
5672
  });
5507
5673
  Object.defineProperty(exports, "cardVariants", {
5508
5674
  enumerable: true,
5509
- get: function () { return chunkORKGCXG3_cjs.cardVariants; }
5675
+ get: function () { return chunk7BDGLRQX_cjs.cardVariants; }
5510
5676
  });
5511
5677
  Object.defineProperty(exports, "configureEntityRegistry", {
5512
5678
  enumerable: true,
5513
- get: function () { return chunkORKGCXG3_cjs.configureEntityRegistry; }
5679
+ get: function () { return chunk7BDGLRQX_cjs.configureEntityRegistry; }
5514
5680
  });
5515
5681
  Object.defineProperty(exports, "configureRagLabels", {
5516
5682
  enumerable: true,
5517
- get: function () { return chunkORKGCXG3_cjs.configureRagLabels; }
5683
+ get: function () { return chunk7BDGLRQX_cjs.configureRagLabels; }
5518
5684
  });
5519
5685
  Object.defineProperty(exports, "configureStatusRegistry", {
5520
5686
  enumerable: true,
5521
- get: function () { return chunkORKGCXG3_cjs.configureStatusRegistry; }
5687
+ get: function () { return chunk7BDGLRQX_cjs.configureStatusRegistry; }
5522
5688
  });
5523
5689
  Object.defineProperty(exports, "formatElapsed", {
5524
5690
  enumerable: true,
5525
- get: function () { return chunkORKGCXG3_cjs.formatElapsed; }
5691
+ get: function () { return chunk7BDGLRQX_cjs.formatElapsed; }
5526
5692
  });
5527
5693
  Object.defineProperty(exports, "getDocIcon", {
5528
5694
  enumerable: true,
5529
- get: function () { return chunkORKGCXG3_cjs.getDocIcon; }
5695
+ get: function () { return chunk7BDGLRQX_cjs.getDocIcon; }
5530
5696
  });
5531
5697
  Object.defineProperty(exports, "getEntityColor", {
5532
5698
  enumerable: true,
5533
- get: function () { return chunkORKGCXG3_cjs.getEntityColor; }
5699
+ get: function () { return chunk7BDGLRQX_cjs.getEntityColor; }
5534
5700
  });
5535
5701
  Object.defineProperty(exports, "getEntityColorStyles", {
5536
5702
  enumerable: true,
5537
- get: function () { return chunkORKGCXG3_cjs.getEntityColorStyles; }
5703
+ get: function () { return chunk7BDGLRQX_cjs.getEntityColorStyles; }
5538
5704
  });
5539
5705
  Object.defineProperty(exports, "getEntityIcon", {
5540
5706
  enumerable: true,
5541
- get: function () { return chunkORKGCXG3_cjs.getEntityIcon; }
5707
+ get: function () { return chunk7BDGLRQX_cjs.getEntityIcon; }
5542
5708
  });
5543
5709
  Object.defineProperty(exports, "getEntityLabel", {
5544
5710
  enumerable: true,
5545
- get: function () { return chunkORKGCXG3_cjs.getEntityLabel; }
5711
+ get: function () { return chunk7BDGLRQX_cjs.getEntityLabel; }
5546
5712
  });
5547
5713
  Object.defineProperty(exports, "getStatusVariant", {
5548
5714
  enumerable: true,
5549
- get: function () { return chunkORKGCXG3_cjs.getStatusVariant; }
5715
+ get: function () { return chunk7BDGLRQX_cjs.getStatusVariant; }
5550
5716
  });
5551
5717
  Object.defineProperty(exports, "getTagTypeIcon", {
5552
5718
  enumerable: true,
5553
- get: function () { return chunkORKGCXG3_cjs.getTagTypeIcon; }
5719
+ get: function () { return chunk7BDGLRQX_cjs.getTagTypeIcon; }
5554
5720
  });
5555
5721
  Object.defineProperty(exports, "getTagTypeLabel", {
5556
5722
  enumerable: true,
5557
- get: function () { return chunkORKGCXG3_cjs.getTagTypeLabel; }
5723
+ get: function () { return chunk7BDGLRQX_cjs.getTagTypeLabel; }
5558
5724
  });
5559
5725
  Object.defineProperty(exports, "getWorkspaceColor", {
5560
5726
  enumerable: true,
5561
- get: function () { return chunkORKGCXG3_cjs.getWorkspaceColor; }
5727
+ get: function () { return chunk7BDGLRQX_cjs.getWorkspaceColor; }
5562
5728
  });
5563
- Object.defineProperty(exports, "markdownBaseComponents", {
5729
+ Object.defineProperty(exports, "toggleVariants", {
5564
5730
  enumerable: true,
5565
- get: function () { return chunkORKGCXG3_cjs.markdownBaseComponents; }
5731
+ get: function () { return chunk7BDGLRQX_cjs.toggleVariants; }
5566
5732
  });
5567
- Object.defineProperty(exports, "normalizeCitationMarkup", {
5733
+ Object.defineProperty(exports, "useAudioRecorder", {
5568
5734
  enumerable: true,
5569
- get: function () { return chunkORKGCXG3_cjs.normalizeCitationMarkup; }
5735
+ get: function () { return chunk7BDGLRQX_cjs.useAudioRecorder; }
5570
5736
  });
5571
- Object.defineProperty(exports, "splitMarkdownBlocks", {
5737
+ Object.defineProperty(exports, "MarkdownRenderer", {
5572
5738
  enumerable: true,
5573
- get: function () { return chunkORKGCXG3_cjs.splitMarkdownBlocks; }
5739
+ get: function () { return chunk7V7B7OEM_cjs.MarkdownRenderer; }
5574
5740
  });
5575
- Object.defineProperty(exports, "toggleVariants", {
5741
+ Object.defineProperty(exports, "MarkdownStreamingContext", {
5576
5742
  enumerable: true,
5577
- get: function () { return chunkORKGCXG3_cjs.toggleVariants; }
5743
+ get: function () { return chunk7V7B7OEM_cjs.MarkdownStreamingContext; }
5578
5744
  });
5579
- Object.defineProperty(exports, "useAudioRecorder", {
5745
+ Object.defineProperty(exports, "markdownBaseComponents", {
5746
+ enumerable: true,
5747
+ get: function () { return chunk7V7B7OEM_cjs.markdownBaseComponents; }
5748
+ });
5749
+ Object.defineProperty(exports, "normalizeCitationMarkup", {
5750
+ enumerable: true,
5751
+ get: function () { return chunk7V7B7OEM_cjs.normalizeCitationMarkup; }
5752
+ });
5753
+ Object.defineProperty(exports, "splitMarkdownBlocks", {
5580
5754
  enumerable: true,
5581
- get: function () { return chunkORKGCXG3_cjs.useAudioRecorder; }
5755
+ get: function () { return chunk7V7B7OEM_cjs.splitMarkdownBlocks; }
5582
5756
  });
5583
5757
  Object.defineProperty(exports, "DropdownMenu", {
5584
5758
  enumerable: true,
5585
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenu; }
5759
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenu; }
5586
5760
  });
5587
5761
  Object.defineProperty(exports, "DropdownMenuCheckboxItem", {
5588
5762
  enumerable: true,
5589
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenuCheckboxItem; }
5763
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenuCheckboxItem; }
5590
5764
  });
5591
5765
  Object.defineProperty(exports, "DropdownMenuContent", {
5592
5766
  enumerable: true,
5593
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenuContent; }
5767
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenuContent; }
5594
5768
  });
5595
5769
  Object.defineProperty(exports, "DropdownMenuGroup", {
5596
5770
  enumerable: true,
5597
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenuGroup; }
5771
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenuGroup; }
5598
5772
  });
5599
5773
  Object.defineProperty(exports, "DropdownMenuItem", {
5600
5774
  enumerable: true,
5601
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenuItem; }
5775
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenuItem; }
5602
5776
  });
5603
5777
  Object.defineProperty(exports, "DropdownMenuLabel", {
5604
5778
  enumerable: true,
5605
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenuLabel; }
5779
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenuLabel; }
5606
5780
  });
5607
5781
  Object.defineProperty(exports, "DropdownMenuPortal", {
5608
5782
  enumerable: true,
5609
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenuPortal; }
5783
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenuPortal; }
5610
5784
  });
5611
5785
  Object.defineProperty(exports, "DropdownMenuRadioGroup", {
5612
5786
  enumerable: true,
5613
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenuRadioGroup; }
5787
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenuRadioGroup; }
5614
5788
  });
5615
5789
  Object.defineProperty(exports, "DropdownMenuRadioItem", {
5616
5790
  enumerable: true,
5617
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenuRadioItem; }
5791
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenuRadioItem; }
5618
5792
  });
5619
5793
  Object.defineProperty(exports, "DropdownMenuSeparator", {
5620
5794
  enumerable: true,
5621
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenuSeparator; }
5795
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenuSeparator; }
5622
5796
  });
5623
5797
  Object.defineProperty(exports, "DropdownMenuShortcut", {
5624
5798
  enumerable: true,
5625
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenuShortcut; }
5799
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenuShortcut; }
5626
5800
  });
5627
5801
  Object.defineProperty(exports, "DropdownMenuSub", {
5628
5802
  enumerable: true,
5629
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenuSub; }
5803
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenuSub; }
5630
5804
  });
5631
5805
  Object.defineProperty(exports, "DropdownMenuSubContent", {
5632
5806
  enumerable: true,
5633
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenuSubContent; }
5807
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenuSubContent; }
5634
5808
  });
5635
5809
  Object.defineProperty(exports, "DropdownMenuSubTrigger", {
5636
5810
  enumerable: true,
5637
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenuSubTrigger; }
5811
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenuSubTrigger; }
5638
5812
  });
5639
5813
  Object.defineProperty(exports, "DropdownMenuTrigger", {
5640
5814
  enumerable: true,
5641
- get: function () { return chunkRZQACYNQ_cjs.DropdownMenuTrigger; }
5815
+ get: function () { return chunkOBNTJEEO_cjs.DropdownMenuTrigger; }
5642
5816
  });
5643
5817
  Object.defineProperty(exports, "ScrollArea", {
5644
5818
  enumerable: true,
5645
- get: function () { return chunkRZQACYNQ_cjs.ScrollArea; }
5819
+ get: function () { return chunkOBNTJEEO_cjs.ScrollArea; }
5646
5820
  });
5647
5821
  Object.defineProperty(exports, "ScrollBar", {
5648
5822
  enumerable: true,
5649
- get: function () { return chunkRZQACYNQ_cjs.ScrollBar; }
5823
+ get: function () { return chunkOBNTJEEO_cjs.ScrollBar; }
5650
5824
  });
5651
5825
  Object.defineProperty(exports, "cn", {
5652
5826
  enumerable: true,
5653
- get: function () { return chunkRZQACYNQ_cjs.cn; }
5827
+ get: function () { return chunkS6A6FSG7_cjs.cn; }
5654
5828
  });
5655
5829
  Object.defineProperty(exports, "ArbiProvider", {
5656
5830
  enumerable: true,
5657
- get: function () { return chunk7IOCMCC5_cjs.ArbiProvider; }
5831
+ get: function () { return chunkZMTLGO3K_cjs.ArbiProvider; }
5658
5832
  });
5659
5833
  Object.defineProperty(exports, "useArbi", {
5660
5834
  enumerable: true,
5661
- get: function () { return chunk7IOCMCC5_cjs.useArbi; }
5835
+ get: function () { return chunkZMTLGO3K_cjs.useArbi; }
5662
5836
  });
5663
5837
  Object.defineProperty(exports, "Arbi", {
5664
5838
  enumerable: true,
@@ -5687,6 +5861,7 @@ exports.CommandPalette = CommandPalette;
5687
5861
  exports.CommandPaletteProvider = CommandPaletteProvider;
5688
5862
  exports.ConversationList = ConversationList;
5689
5863
  exports.DEFAULT_ASPECT_OPTIONS = DEFAULT_ASPECT_OPTIONS;
5864
+ exports.DEFAULT_START_BY_EMAIL_LABELS = DEFAULT_START_BY_EMAIL_LABELS;
5690
5865
  exports.DateSeparator = DateSeparator;
5691
5866
  exports.DirectMessages = DirectMessages;
5692
5867
  exports.DmAvatar = DmAvatar;
@@ -5716,13 +5891,13 @@ exports.PhotoCapture = PhotoCapture;
5716
5891
  exports.ProviderIcon = ProviderIcon;
5717
5892
  exports.RUN_WINDOW_MS = RUN_WINDOW_MS;
5718
5893
  exports.SemanticSearch = SemanticSearch;
5894
+ exports.StartByEmail = StartByEmail;
5719
5895
  exports.TxtIcon = TxtIcon;
5720
5896
  exports.TypingIndicator = TypingIndicator;
5721
5897
  exports.VideoCapture = VideoCapture;
5722
5898
  exports.VoiceNoteRecorder = VoiceNoteRecorder;
5723
5899
  exports.XlsIcon = XlsIcon;
5724
5900
  exports.annotateThread = annotateThread;
5725
- exports.arbiQueryKeys = arbiQueryKeys;
5726
5901
  exports.captureFrameAsBlob = captureFrameAsBlob;
5727
5902
  exports.cropImage = cropImage;
5728
5903
  exports.dayKey = dayKey;
@@ -5741,8 +5916,10 @@ exports.textToArtifact = textToArtifact;
5741
5916
  exports.titleFromQuestion = titleFromQuestion;
5742
5917
  exports.toRedlineMarkdown = toRedlineMarkdown;
5743
5918
  exports.toShellWorkspace = toShellWorkspace;
5744
- exports.useActivity = useActivity;
5745
- exports.useAgents = useAgents;
5919
+ exports.useAddContacts = useAddContacts;
5920
+ exports.useAgentConfig = useAgentConfig;
5921
+ exports.useAgentModels = useAgentModels;
5922
+ exports.useAgentWorkspaces = useAgentWorkspaces;
5746
5923
  exports.useAiTask = useAiTask;
5747
5924
  exports.useArbiChat = useArbiChat;
5748
5925
  exports.useArbiConnected = useArbiConnected;
@@ -5756,31 +5933,26 @@ exports.useArbiWsStatus = useArbiWsStatus;
5756
5933
  exports.useArbiWsStore = useArbiWsStore;
5757
5934
  exports.useArbiWsTask = useArbiWsTask;
5758
5935
  exports.useArbiWsTasks = useArbiWsTasks;
5759
- exports.useAssistantQuery = useAssistantQuery;
5760
5936
  exports.useCameraStream = useCameraStream;
5761
5937
  exports.useCommandPalette = useCommandPalette;
5762
- exports.useConfigs = useConfigs;
5763
- exports.useConversations = useConversations;
5764
- exports.useDeleteAgents = useDeleteAgents;
5938
+ exports.useContacts = useContacts;
5939
+ exports.useCreateAgent = useCreateAgent;
5940
+ exports.useCreateTask = useCreateTask;
5941
+ exports.useDeleteTask = useDeleteTask;
5765
5942
  exports.useDirectMessages = useDirectMessages;
5766
- exports.useDocuments = useDocuments;
5767
- exports.useFacts = useFacts;
5768
- exports.useHealth = useHealth;
5769
- exports.useParsedDocument = useParsedDocument;
5770
- exports.useProjectInvoices = useProjectInvoices;
5771
- exports.useProjectUsage = useProjectUsage;
5772
- exports.useProjects = useProjects;
5773
- exports.useProjectsUsage = useProjectsUsage;
5943
+ exports.useGrantAgentAccess = useGrantAgentAccess;
5944
+ exports.usePendingContacts = usePendingContacts;
5945
+ exports.useRemoveContacts = useRemoveContacts;
5946
+ exports.useRevokeAgentAccess = useRevokeAgentAccess;
5947
+ exports.useRunTask = useRunTask;
5948
+ exports.useSaveAgentConfig = useSaveAgentConfig;
5774
5949
  exports.useSemanticSearch = useSemanticSearch;
5775
- exports.useSessions = useSessions;
5776
5950
  exports.useShellWorkspaces = useShellWorkspaces;
5777
- exports.useTags = useTags;
5778
- exports.useTasks = useTasks;
5779
- exports.useThumbnails = useThumbnails;
5780
- exports.useUserUsageToday = useUserUsageToday;
5951
+ exports.useSkills = useSkills;
5952
+ exports.useTaskRuns = useTaskRuns;
5953
+ exports.useUpdateTask = useUpdateTask;
5781
5954
  exports.useVideoRecorder = useVideoRecorder;
5782
5955
  exports.useWorkspaceDocs = useWorkspaceDocs;
5783
- exports.useWorkspaces = useWorkspaces;
5784
5956
  exports.userDisplayName = userDisplayName;
5785
5957
  exports.userInitials = userInitials;
5786
5958
  //# sourceMappingURL=index.cjs.map