@arbidocs/react 0.4.5 → 0.4.6
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.
- package/README.md +12 -0
- package/dist/artifacts/index.cjs +6 -6
- package/dist/artifacts/index.js +2 -2
- package/dist/{chunk-DVRJFLE7.js → chunk-2ACHNDO6.js} +5 -5
- package/dist/chunk-2ACHNDO6.js.map +1 -0
- package/dist/{chunk-2DXS7L7M.cjs → chunk-CBJ3WOGD.cjs} +18 -3
- package/dist/chunk-CBJ3WOGD.cjs.map +1 -0
- package/dist/{chunk-ZY53R6I4.js → chunk-KWCHIAQ5.js} +18 -4
- package/dist/chunk-KWCHIAQ5.js.map +1 -0
- package/dist/{chunk-7V7B7OEM.cjs → chunk-OI55JRKT.cjs} +44 -28
- package/dist/chunk-OI55JRKT.cjs.map +1 -0
- package/dist/{chunk-H7ZZQ4ZV.js → chunk-RIHMIEXM.js} +44 -29
- package/dist/chunk-RIHMIEXM.js.map +1 -0
- package/dist/{chunk-7BDGLRQX.cjs → chunk-Z5YCRJY3.cjs} +6 -6
- package/dist/chunk-Z5YCRJY3.cjs.map +1 -0
- package/dist/index-CC6CvXEs.d.cts +1366 -0
- package/dist/index-CC6CvXEs.d.ts +1366 -0
- package/dist/index.cjs +988 -358
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +588 -28
- package/dist/index.d.ts +588 -28
- package/dist/index.js +642 -42
- package/dist/index.js.map +1 -1
- package/dist/ui/index.cjs +131 -127
- package/dist/ui/index.d.cts +24 -1324
- package/dist/ui/index.d.ts +24 -1324
- package/dist/ui/index.js +2 -2
- package/package.json +3 -3
- package/dist/chunk-2DXS7L7M.cjs.map +0 -1
- package/dist/chunk-7BDGLRQX.cjs.map +0 -1
- package/dist/chunk-7V7B7OEM.cjs.map +0 -1
- package/dist/chunk-DVRJFLE7.js.map +0 -1
- package/dist/chunk-H7ZZQ4ZV.js.map +0 -1
- package/dist/chunk-ZY53R6I4.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkCBJ3WOGD_cjs = require('./chunk-CBJ3WOGD.cjs');
|
|
4
|
+
var chunkZ5YCRJY3_cjs = require('./chunk-Z5YCRJY3.cjs');
|
|
5
|
+
var chunkOI55JRKT_cjs = require('./chunk-OI55JRKT.cjs');
|
|
4
6
|
var chunkPGLV23SB_cjs = require('./chunk-PGLV23SB.cjs');
|
|
5
|
-
var chunk7BDGLRQX_cjs = require('./chunk-7BDGLRQX.cjs');
|
|
6
|
-
var chunk7V7B7OEM_cjs = require('./chunk-7V7B7OEM.cjs');
|
|
7
7
|
var chunkOBNTJEEO_cjs = require('./chunk-OBNTJEEO.cjs');
|
|
8
8
|
var chunkS6A6FSG7_cjs = require('./chunk-S6A6FSG7.cjs');
|
|
9
9
|
var chunkTMPDW7J5_cjs = require('./chunk-TMPDW7J5.cjs');
|
|
10
10
|
var chunkZMTLGO3K_cjs = require('./chunk-ZMTLGO3K.cjs');
|
|
11
11
|
var React = require('react');
|
|
12
|
+
var browser = require('@arbidocs/sdk/browser');
|
|
12
13
|
var lucideReact = require('lucide-react');
|
|
13
14
|
var jsxRuntime = require('react/jsx-runtime');
|
|
14
|
-
var browser = require('@arbidocs/sdk/browser');
|
|
15
15
|
var client = require('@arbidocs/client');
|
|
16
16
|
var zustand = require('zustand');
|
|
17
17
|
var reactQuery = require('@tanstack/react-query');
|
|
@@ -29,14 +29,67 @@ var React__default = /*#__PURE__*/_interopDefault(React);
|
|
|
29
29
|
var ReactMarkdown__default = /*#__PURE__*/_interopDefault(ReactMarkdown);
|
|
30
30
|
var Cropper__default = /*#__PURE__*/_interopDefault(Cropper);
|
|
31
31
|
|
|
32
|
+
function previewText(content) {
|
|
33
|
+
return content.replace(/\s+/g, " ").trim().replace(/^(?:(?:[-*•>]|#{1,6})\s+)+/, "");
|
|
34
|
+
}
|
|
35
|
+
function toChatCitations(source) {
|
|
36
|
+
if (!source?.tools) return [];
|
|
37
|
+
const resolved = browser.resolveCitations(source);
|
|
38
|
+
const summaries = browser.summarizeCitations(resolved);
|
|
39
|
+
return resolved.map((r, i) => {
|
|
40
|
+
const summary = summaries[i];
|
|
41
|
+
return {
|
|
42
|
+
num: r.citationNum,
|
|
43
|
+
statement: summary.statement,
|
|
44
|
+
documentTitle: summary.docTitle,
|
|
45
|
+
page: summary.pageNumber,
|
|
46
|
+
passages: r.chunks.map((chunk) => ({
|
|
47
|
+
id: chunk.metadata.chunk_ext_id,
|
|
48
|
+
documentId: chunk.metadata.doc_ext_id ?? null,
|
|
49
|
+
documentTitle: chunk.metadata.doc_title ?? summary.docTitle,
|
|
50
|
+
page: chunk.metadata.page_number ?? null,
|
|
51
|
+
text: previewText(chunk.content)
|
|
52
|
+
}))
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// src/chat/useArbiChat.ts
|
|
32
58
|
var counter = 0;
|
|
33
59
|
var nextId = (prefix) => `${prefix}-${Date.now().toString(36)}-${(counter++).toString(36)}`;
|
|
34
60
|
var emptyThread = () => ({
|
|
35
|
-
|
|
61
|
+
key: nextId("thread"),
|
|
62
|
+
conversationId: null,
|
|
36
63
|
title: "",
|
|
37
64
|
messages: [],
|
|
38
|
-
responseId: null
|
|
65
|
+
responseId: null,
|
|
66
|
+
isLoaded: true
|
|
39
67
|
});
|
|
68
|
+
var storedThread = (conversationId) => ({
|
|
69
|
+
key: conversationId,
|
|
70
|
+
conversationId,
|
|
71
|
+
title: "",
|
|
72
|
+
messages: [],
|
|
73
|
+
responseId: null,
|
|
74
|
+
isLoaded: false
|
|
75
|
+
});
|
|
76
|
+
var publicId = (t) => t.conversationId ?? t.key;
|
|
77
|
+
function messagesFromHistory(history) {
|
|
78
|
+
return history.filter((m) => m.role !== "system" && m.content.trim() !== "").map((m) => {
|
|
79
|
+
if (m.role === "user") {
|
|
80
|
+
return { id: m.external_id, role: "user", content: m.content, status: "complete" };
|
|
81
|
+
}
|
|
82
|
+
const citations = toChatCitations({ tools: m.tools });
|
|
83
|
+
return {
|
|
84
|
+
id: m.external_id,
|
|
85
|
+
role: "assistant",
|
|
86
|
+
content: m.content,
|
|
87
|
+
status: m.status === "failed" ? "error" : "complete",
|
|
88
|
+
...m.status === "failed" ? { error: "The assistant request failed." } : {},
|
|
89
|
+
...citations.length > 0 ? { citations } : {}
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
}
|
|
40
93
|
function titleFromQuestion(question, maxLength = 48) {
|
|
41
94
|
const flat = question.replace(/\s+/g, " ").trim();
|
|
42
95
|
if (flat.length <= maxLength) return flat;
|
|
@@ -46,29 +99,88 @@ function titleFromQuestion(question, maxLength = 48) {
|
|
|
46
99
|
return `${words.replace(/[\s,;:.\-–—]+$/, "")}\u2026`;
|
|
47
100
|
}
|
|
48
101
|
var messageOf = (e, fallback) => e instanceof Error ? e.message : fallback;
|
|
102
|
+
var isAbort = (e) => e instanceof DOMException && e.name === "AbortError";
|
|
103
|
+
var TITLE_REFRESH_DELAYS_MS = [2500, 6e3, 12e3];
|
|
49
104
|
function useArbiChat(options = {}) {
|
|
50
105
|
const { workspaceId, model, titleLength = 48 } = options;
|
|
51
106
|
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
52
|
-
const { data: docs = [], isLoading: isLoadingDocuments, refetch } =
|
|
53
|
-
const
|
|
107
|
+
const { data: docs = [], isLoading: isLoadingDocuments, refetch } = chunkCBJ3WOGD_cjs.useDocuments(workspaceId);
|
|
108
|
+
const {
|
|
109
|
+
data: stored = [],
|
|
110
|
+
isLoading: isLoadingThreads,
|
|
111
|
+
refetch: refetchConversations
|
|
112
|
+
} = chunkCBJ3WOGD_cjs.useConversations(workspaceId);
|
|
113
|
+
const query = chunkCBJ3WOGD_cjs.useAssistantQuery();
|
|
54
114
|
const { mutateAsync } = query;
|
|
55
115
|
const [threads, setThreads] = React.useState(() => [emptyThread()]);
|
|
56
|
-
const [
|
|
116
|
+
const [activeKey, setActiveKey] = React.useState(() => threads[0].key);
|
|
57
117
|
const [deselected, setDeselected] = React.useState(/* @__PURE__ */ new Set());
|
|
58
118
|
const [isRunning, setIsRunning] = React.useState(false);
|
|
59
119
|
const [isUploading, setIsUploading] = React.useState(false);
|
|
60
120
|
const [uploadError, setUploadError] = React.useState(null);
|
|
121
|
+
const [historyError, setHistoryError] = React.useState(null);
|
|
122
|
+
const abortRef = React.useRef(null);
|
|
123
|
+
const timersRef = React.useRef([]);
|
|
124
|
+
React.useEffect(() => {
|
|
125
|
+
const timers = timersRef.current;
|
|
126
|
+
return () => timers.forEach(clearTimeout);
|
|
127
|
+
}, []);
|
|
61
128
|
const scopeRef = React.useRef(workspaceId);
|
|
62
129
|
React.useEffect(() => {
|
|
63
130
|
if (scopeRef.current === workspaceId) return;
|
|
64
131
|
scopeRef.current = workspaceId;
|
|
65
132
|
const fresh = emptyThread();
|
|
66
133
|
setThreads([fresh]);
|
|
67
|
-
|
|
134
|
+
setActiveKey(fresh.key);
|
|
68
135
|
setDeselected(/* @__PURE__ */ new Set());
|
|
69
136
|
setUploadError(null);
|
|
137
|
+
setHistoryError(null);
|
|
70
138
|
}, [workspaceId]);
|
|
71
|
-
const active = threads.find((t) => t.
|
|
139
|
+
const active = threads.find((t) => t.key === activeKey) ?? threads[0];
|
|
140
|
+
const threadEntries = React.useMemo(() => {
|
|
141
|
+
const storedIds = new Set(stored.map((c) => c.external_id));
|
|
142
|
+
const byConversation = new Map(
|
|
143
|
+
threads.filter((t) => t.conversationId).map((t) => [t.conversationId, t])
|
|
144
|
+
);
|
|
145
|
+
const fresh = threads.filter((t) => !t.conversationId);
|
|
146
|
+
const justSaved = threads.filter((t) => t.conversationId && !storedIds.has(t.conversationId));
|
|
147
|
+
const persisted = [...stored].filter((c) => c.message_count > 0 || byConversation.has(c.external_id)).sort((a, b) => b.updated_at.localeCompare(a.updated_at)).map((c) => {
|
|
148
|
+
const local = byConversation.get(c.external_id);
|
|
149
|
+
return {
|
|
150
|
+
key: local?.key ?? c.external_id,
|
|
151
|
+
id: c.external_id,
|
|
152
|
+
title: c.title || local?.title || ""
|
|
153
|
+
};
|
|
154
|
+
});
|
|
155
|
+
return [
|
|
156
|
+
...fresh.map((t) => ({ key: t.key, id: publicId(t), title: t.title })),
|
|
157
|
+
...justSaved.map((t) => ({ key: t.key, id: publicId(t), title: t.title })),
|
|
158
|
+
...persisted
|
|
159
|
+
];
|
|
160
|
+
}, [threads, stored]);
|
|
161
|
+
const needsLoad = !!active.conversationId && !active.isLoaded;
|
|
162
|
+
const loaded = chunkCBJ3WOGD_cjs.useConversationThreads(workspaceId, active.conversationId ?? void 0, {
|
|
163
|
+
enabled: needsLoad
|
|
164
|
+
});
|
|
165
|
+
React.useEffect(() => {
|
|
166
|
+
const data = loaded.data;
|
|
167
|
+
if (!needsLoad || !data || data.conversation_ext_id !== active.conversationId) return;
|
|
168
|
+
const primary = [...data.threads].sort((a, b) => b.history.length - a.history.length)[0];
|
|
169
|
+
setThreads(
|
|
170
|
+
(all) => all.map(
|
|
171
|
+
(t) => t.key === active.key ? {
|
|
172
|
+
...t,
|
|
173
|
+
isLoaded: true,
|
|
174
|
+
messages: messagesFromHistory(primary?.history ?? []),
|
|
175
|
+
responseId: primary?.leaf_message_ext_id ?? null
|
|
176
|
+
} : t
|
|
177
|
+
)
|
|
178
|
+
);
|
|
179
|
+
}, [loaded.data, needsLoad, active.conversationId, active.key]);
|
|
180
|
+
React.useEffect(() => {
|
|
181
|
+
if (loaded.error)
|
|
182
|
+
setHistoryError(messageOf(loaded.error, "The conversation could not be loaded."));
|
|
183
|
+
}, [loaded.error]);
|
|
72
184
|
const selectedIds = React.useMemo(
|
|
73
185
|
() => docs.map((d) => d.external_id).filter((id) => !!id && !deselected.has(id)),
|
|
74
186
|
[docs, deselected]
|
|
@@ -82,16 +194,23 @@ function useArbiChat(options = {}) {
|
|
|
82
194
|
[docs, deselected]
|
|
83
195
|
);
|
|
84
196
|
const patchThread = React.useCallback(
|
|
85
|
-
(
|
|
197
|
+
(key, patch) => setThreads((all) => all.map((t) => t.key === key ? patch(t) : t)),
|
|
86
198
|
[]
|
|
87
199
|
);
|
|
88
200
|
const patchMessage = React.useCallback(
|
|
89
|
-
(
|
|
201
|
+
(threadKey, messageId, patch) => patchThread(threadKey, (t) => ({
|
|
90
202
|
...t,
|
|
91
203
|
messages: t.messages.map((m) => m.id === messageId ? { ...m, ...patch } : m)
|
|
92
204
|
})),
|
|
93
205
|
[patchThread]
|
|
94
206
|
);
|
|
207
|
+
const refreshTitles = React.useCallback(() => {
|
|
208
|
+
void refetchConversations();
|
|
209
|
+
timersRef.current.forEach(clearTimeout);
|
|
210
|
+
timersRef.current = TITLE_REFRESH_DELAYS_MS.map(
|
|
211
|
+
(delay) => setTimeout(() => void refetchConversations(), delay)
|
|
212
|
+
);
|
|
213
|
+
}, [refetchConversations]);
|
|
95
214
|
const ask = React.useCallback(
|
|
96
215
|
async (thread, text) => {
|
|
97
216
|
const userMessage = {
|
|
@@ -106,11 +225,13 @@ function useArbiChat(options = {}) {
|
|
|
106
225
|
content: "",
|
|
107
226
|
status: "streaming"
|
|
108
227
|
};
|
|
109
|
-
patchThread(thread.
|
|
228
|
+
patchThread(thread.key, (t) => ({
|
|
110
229
|
...t,
|
|
111
230
|
title: t.title || titleFromQuestion(text, titleLength),
|
|
112
231
|
messages: [...t.messages, userMessage, answer]
|
|
113
232
|
}));
|
|
233
|
+
const controller = new AbortController();
|
|
234
|
+
abortRef.current = controller;
|
|
114
235
|
setIsRunning(true);
|
|
115
236
|
let buffer = "";
|
|
116
237
|
let steps = 0;
|
|
@@ -121,15 +242,34 @@ function useArbiChat(options = {}) {
|
|
|
121
242
|
docIds: selectedIds,
|
|
122
243
|
previousResponseId: thread.responseId,
|
|
123
244
|
model,
|
|
245
|
+
signal: controller.signal,
|
|
246
|
+
onStreamStart: (data) => {
|
|
247
|
+
if (data.assistant_message_ext_id) {
|
|
248
|
+
patchThread(thread.key, (t) => ({
|
|
249
|
+
...t,
|
|
250
|
+
responseId: data.assistant_message_ext_id ?? t.responseId
|
|
251
|
+
}));
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
onUserMessage: (ev) => {
|
|
255
|
+
patchThread(thread.key, (t) => ({
|
|
256
|
+
...t,
|
|
257
|
+
conversationId: t.conversationId ?? ev.conversation_ext_id
|
|
258
|
+
}));
|
|
259
|
+
},
|
|
260
|
+
onMetadata: (meta) => {
|
|
261
|
+
const citations = toChatCitations(meta);
|
|
262
|
+
if (citations.length > 0) patchMessage(thread.key, answer.id, { citations });
|
|
263
|
+
},
|
|
124
264
|
onToken: (token) => {
|
|
125
265
|
buffer += token;
|
|
126
|
-
patchMessage(thread.
|
|
266
|
+
patchMessage(thread.key, answer.id, { content: buffer });
|
|
127
267
|
},
|
|
128
268
|
onOutputItemDone: (ev) => {
|
|
129
269
|
const type = ev.item.type;
|
|
130
270
|
if (type === "function_call" || type === "reasoning") {
|
|
131
271
|
steps += 1;
|
|
132
|
-
patchMessage(thread.
|
|
272
|
+
patchMessage(thread.key, answer.id, { stepCount: steps });
|
|
133
273
|
}
|
|
134
274
|
},
|
|
135
275
|
onError: (message) => {
|
|
@@ -139,37 +279,50 @@ function useArbiChat(options = {}) {
|
|
|
139
279
|
const finalText = result.text || buffer;
|
|
140
280
|
const failure = streamError || result.errors[0] || null;
|
|
141
281
|
if (failure && !finalText) {
|
|
142
|
-
patchMessage(thread.
|
|
282
|
+
patchMessage(thread.key, answer.id, { status: "error", error: failure });
|
|
143
283
|
} else {
|
|
144
|
-
|
|
284
|
+
const citations = toChatCitations(result.metadata);
|
|
285
|
+
patchMessage(thread.key, answer.id, {
|
|
145
286
|
status: "complete",
|
|
146
287
|
content: finalText,
|
|
147
|
-
stepCount: result.agentSteps.length || steps || void 0
|
|
288
|
+
stepCount: result.agentSteps.length || steps || void 0,
|
|
289
|
+
...citations.length > 0 ? { citations } : {}
|
|
148
290
|
});
|
|
149
|
-
patchThread(thread.
|
|
291
|
+
patchThread(thread.key, (t) => ({
|
|
150
292
|
...t,
|
|
151
293
|
responseId: result.assistantMessageExtId ?? t.responseId
|
|
152
294
|
}));
|
|
153
295
|
}
|
|
154
296
|
} catch (e) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
297
|
+
if (controller.signal.aborted || isAbort(e)) {
|
|
298
|
+
patchMessage(thread.key, answer.id, {
|
|
299
|
+
status: "complete",
|
|
300
|
+
content: buffer,
|
|
301
|
+
stopped: true
|
|
302
|
+
});
|
|
303
|
+
} else {
|
|
304
|
+
patchMessage(thread.key, answer.id, {
|
|
305
|
+
status: "error",
|
|
306
|
+
error: messageOf(e, "The assistant request failed.")
|
|
307
|
+
});
|
|
308
|
+
}
|
|
159
309
|
} finally {
|
|
310
|
+
if (abortRef.current === controller) abortRef.current = null;
|
|
160
311
|
setIsRunning(false);
|
|
312
|
+
refreshTitles();
|
|
161
313
|
}
|
|
162
314
|
},
|
|
163
|
-
[mutateAsync, patchMessage, patchThread, selectedIds, model, titleLength]
|
|
315
|
+
[mutateAsync, patchMessage, patchThread, refreshTitles, selectedIds, model, titleLength]
|
|
164
316
|
);
|
|
165
317
|
const send = React.useCallback(
|
|
166
318
|
async (text) => {
|
|
167
319
|
const trimmed = text.trim();
|
|
168
|
-
if (!trimmed || isRunning) return;
|
|
320
|
+
if (!trimmed || isRunning || !active.isLoaded) return;
|
|
169
321
|
await ask(active, trimmed);
|
|
170
322
|
},
|
|
171
323
|
[active, ask, isRunning]
|
|
172
324
|
);
|
|
325
|
+
const stop = React.useCallback(() => abortRef.current?.abort(), []);
|
|
173
326
|
const lastMessage = active.messages[active.messages.length - 1];
|
|
174
327
|
const error = lastMessage?.status === "error" ? lastMessage.error ?? null : null;
|
|
175
328
|
const retry = React.useCallback(async () => {
|
|
@@ -179,23 +332,54 @@ function useArbiChat(options = {}) {
|
|
|
179
332
|
const question = messages[messages.length - 2];
|
|
180
333
|
if (failed?.status !== "error" || question?.role !== "user") return;
|
|
181
334
|
const trimmed = { ...active, messages: messages.slice(0, -2) };
|
|
182
|
-
patchThread(active.
|
|
335
|
+
patchThread(active.key, () => trimmed);
|
|
183
336
|
await ask(trimmed, question.content);
|
|
184
337
|
}, [active, ask, isRunning, patchThread]);
|
|
185
338
|
const newThread = React.useCallback(() => {
|
|
186
|
-
|
|
339
|
+
setHistoryError(null);
|
|
340
|
+
const blank = threads.find((t) => !t.conversationId && t.messages.length === 0);
|
|
341
|
+
if (blank) {
|
|
342
|
+
setActiveKey(blank.key);
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
187
345
|
const fresh = emptyThread();
|
|
188
346
|
setThreads((all) => [fresh, ...all]);
|
|
189
|
-
|
|
190
|
-
}, [
|
|
347
|
+
setActiveKey(fresh.key);
|
|
348
|
+
}, [threads]);
|
|
349
|
+
const selectThread = React.useCallback(
|
|
350
|
+
(id) => {
|
|
351
|
+
const entry = threadEntries.find((e) => e.id === id);
|
|
352
|
+
if (!entry) return;
|
|
353
|
+
setHistoryError(null);
|
|
354
|
+
setThreads((all) => all.some((t) => t.key === entry.key) ? all : [...all, storedThread(id)]);
|
|
355
|
+
setActiveKey(entry.key);
|
|
356
|
+
},
|
|
357
|
+
[threadEntries]
|
|
358
|
+
);
|
|
191
359
|
const deleteThread = React.useCallback(
|
|
192
360
|
(id) => {
|
|
193
|
-
const
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
361
|
+
const entry = threadEntries.find((e) => e.id === id);
|
|
362
|
+
if (!entry) return;
|
|
363
|
+
const remove = () => {
|
|
364
|
+
const rest = threads.filter((t) => t.key !== entry.key);
|
|
365
|
+
const next = rest.length > 0 ? rest : [emptyThread()];
|
|
366
|
+
setThreads(next);
|
|
367
|
+
if (entry.key === active.key) setActiveKey(next[0].key);
|
|
368
|
+
};
|
|
369
|
+
const local = threads.find((t) => t.key === entry.key);
|
|
370
|
+
const conversationId = local ? local.conversationId : id;
|
|
371
|
+
if (!conversationId) return remove();
|
|
372
|
+
void (async () => {
|
|
373
|
+
try {
|
|
374
|
+
await arbi.conversations.delete(conversationId);
|
|
375
|
+
remove();
|
|
376
|
+
await refetchConversations();
|
|
377
|
+
} catch (e) {
|
|
378
|
+
setHistoryError(messageOf(e, "The conversation could not be deleted."));
|
|
379
|
+
}
|
|
380
|
+
})();
|
|
197
381
|
},
|
|
198
|
-
[threads,
|
|
382
|
+
[threadEntries, threads, active.key, arbi, refetchConversations]
|
|
199
383
|
);
|
|
200
384
|
const toggleDocument = React.useCallback((id) => {
|
|
201
385
|
setDeselected((prev) => {
|
|
@@ -223,18 +407,22 @@ function useArbiChat(options = {}) {
|
|
|
223
407
|
[arbi, refetch]
|
|
224
408
|
);
|
|
225
409
|
return {
|
|
226
|
-
threads:
|
|
227
|
-
activeThreadId: active
|
|
410
|
+
threads: threadEntries.map(({ id, title }) => ({ id, title })),
|
|
411
|
+
activeThreadId: publicId(active),
|
|
228
412
|
messages: active.messages,
|
|
229
413
|
isRunning,
|
|
230
414
|
error,
|
|
415
|
+
isLoadingThread: needsLoad && !historyError,
|
|
416
|
+
isLoadingThreads,
|
|
417
|
+
historyError,
|
|
231
418
|
documents,
|
|
232
419
|
isLoadingDocuments,
|
|
233
420
|
isUploading,
|
|
234
421
|
uploadError,
|
|
235
422
|
send,
|
|
236
423
|
retry,
|
|
237
|
-
|
|
424
|
+
stop,
|
|
425
|
+
selectThread,
|
|
238
426
|
newThread,
|
|
239
427
|
deleteThread,
|
|
240
428
|
toggleDocument,
|
|
@@ -511,14 +699,14 @@ function useArbiDocumentSync(workspaceId) {
|
|
|
511
699
|
if (!workspaceId) return;
|
|
512
700
|
if (client.isMessageType(msg, "batch_complete")) {
|
|
513
701
|
if (msg.workspace_ext_id !== workspaceId) return;
|
|
514
|
-
void queryClient.invalidateQueries({ queryKey:
|
|
515
|
-
void queryClient.invalidateQueries({ queryKey:
|
|
702
|
+
void queryClient.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.documents(workspaceId) });
|
|
703
|
+
void queryClient.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.tags(workspaceId) });
|
|
516
704
|
return;
|
|
517
705
|
}
|
|
518
706
|
if (client.isMessageType(msg, "task_update")) {
|
|
519
707
|
if (msg.workspace_ext_id !== workspaceId) return;
|
|
520
708
|
if (TERMINAL_STATUSES.has(msg.status)) {
|
|
521
|
-
void queryClient.invalidateQueries({ queryKey:
|
|
709
|
+
void queryClient.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.documents(workspaceId) });
|
|
522
710
|
}
|
|
523
711
|
}
|
|
524
712
|
});
|
|
@@ -647,7 +835,7 @@ function useShellWorkspaces(options) {
|
|
|
647
835
|
}
|
|
648
836
|
function useArbiShellWorkspaces(options = {}) {
|
|
649
837
|
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
650
|
-
const query =
|
|
838
|
+
const query = chunkCBJ3WOGD_cjs.useWorkspaces();
|
|
651
839
|
const { select, ...rest } = options;
|
|
652
840
|
const defaultSelect = React.useCallback(
|
|
653
841
|
(workspace) => arbi.selectWorkspace(workspace.id),
|
|
@@ -666,7 +854,7 @@ function useCreateTask() {
|
|
|
666
854
|
const qc = reactQuery.useQueryClient();
|
|
667
855
|
return reactQuery.useMutation({
|
|
668
856
|
mutationFn: (body) => arbi.tasks.create(body),
|
|
669
|
-
onSuccess: () => qc.invalidateQueries({ queryKey:
|
|
857
|
+
onSuccess: () => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.tasks() })
|
|
670
858
|
});
|
|
671
859
|
}
|
|
672
860
|
function useUpdateTask() {
|
|
@@ -674,7 +862,7 @@ function useUpdateTask() {
|
|
|
674
862
|
const qc = reactQuery.useQueryClient();
|
|
675
863
|
return reactQuery.useMutation({
|
|
676
864
|
mutationFn: ({ taskId, patch }) => arbi.tasks.update(taskId, patch),
|
|
677
|
-
onSuccess: () => qc.invalidateQueries({ queryKey:
|
|
865
|
+
onSuccess: () => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.tasks() })
|
|
678
866
|
});
|
|
679
867
|
}
|
|
680
868
|
function useRunTask() {
|
|
@@ -683,8 +871,8 @@ function useRunTask() {
|
|
|
683
871
|
return reactQuery.useMutation({
|
|
684
872
|
mutationFn: (taskId) => arbi.tasks.runWithAuth(taskId),
|
|
685
873
|
onSuccess: (_task, taskId) => Promise.all([
|
|
686
|
-
qc.invalidateQueries({ queryKey:
|
|
687
|
-
qc.invalidateQueries({ queryKey:
|
|
874
|
+
qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.tasks() }),
|
|
875
|
+
qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.taskRuns(taskId) })
|
|
688
876
|
])
|
|
689
877
|
});
|
|
690
878
|
}
|
|
@@ -693,13 +881,13 @@ function useDeleteTask() {
|
|
|
693
881
|
const qc = reactQuery.useQueryClient();
|
|
694
882
|
return reactQuery.useMutation({
|
|
695
883
|
mutationFn: (taskId) => arbi.tasks.delete(taskId),
|
|
696
|
-
onSuccess: () => qc.invalidateQueries({ queryKey:
|
|
884
|
+
onSuccess: () => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.tasks() })
|
|
697
885
|
});
|
|
698
886
|
}
|
|
699
887
|
function useTaskRuns(taskId, options) {
|
|
700
888
|
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
701
889
|
return reactQuery.useQuery({
|
|
702
|
-
queryKey:
|
|
890
|
+
queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.taskRuns(taskId ?? ""),
|
|
703
891
|
queryFn: () => arbi.tasks.listRuns(taskId),
|
|
704
892
|
enabled: (options?.enabled ?? true) && !!taskId && arbi.isLoggedIn,
|
|
705
893
|
refetchInterval: (q) => q.state.data?.some((r) => r.status === "running") ? 3e3 : false
|
|
@@ -710,13 +898,13 @@ function useCreateAgent() {
|
|
|
710
898
|
const qc = reactQuery.useQueryClient();
|
|
711
899
|
return reactQuery.useMutation({
|
|
712
900
|
mutationFn: (name) => arbi.agents.create(name),
|
|
713
|
-
onSuccess: () => qc.invalidateQueries({ queryKey:
|
|
901
|
+
onSuccess: () => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.agents() })
|
|
714
902
|
});
|
|
715
903
|
}
|
|
716
904
|
function useAgentConfig(agentExtId, options) {
|
|
717
905
|
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
718
906
|
return reactQuery.useQuery({
|
|
719
|
-
queryKey:
|
|
907
|
+
queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.agentConfig(agentExtId),
|
|
720
908
|
queryFn: async () => agentExtId ? await arbi.agents.getConfig(agentExtId) : await arbi.agentConfig.get("default"),
|
|
721
909
|
enabled: (options?.enabled ?? true) && arbi.isLoggedIn
|
|
722
910
|
});
|
|
@@ -724,7 +912,7 @@ function useAgentConfig(agentExtId, options) {
|
|
|
724
912
|
function useAgentModels(options) {
|
|
725
913
|
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
726
914
|
return reactQuery.useQuery({
|
|
727
|
-
queryKey:
|
|
915
|
+
queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.models(),
|
|
728
916
|
queryFn: async () => (await arbi.agentConfig.getModels()).models.map((m) => m.model_name),
|
|
729
917
|
enabled: (options?.enabled ?? true) && arbi.isLoggedIn
|
|
730
918
|
});
|
|
@@ -747,15 +935,15 @@ function useSaveAgentConfig() {
|
|
|
747
935
|
});
|
|
748
936
|
},
|
|
749
937
|
onSuccess: (_saved, { agentExtId }) => Promise.all([
|
|
750
|
-
qc.invalidateQueries({ queryKey:
|
|
751
|
-
qc.invalidateQueries({ queryKey:
|
|
938
|
+
qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.configs() }),
|
|
939
|
+
qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.agentConfig(agentExtId) })
|
|
752
940
|
])
|
|
753
941
|
});
|
|
754
942
|
}
|
|
755
943
|
function useAgentWorkspaces(agentExtId, options) {
|
|
756
944
|
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
757
945
|
return reactQuery.useQuery({
|
|
758
|
-
queryKey:
|
|
946
|
+
queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.agentWorkspaces(agentExtId ?? ""),
|
|
759
947
|
queryFn: () => arbi.agents.listWorkspaces(agentExtId),
|
|
760
948
|
enabled: (options?.enabled ?? true) && !!agentExtId && arbi.isLoggedIn
|
|
761
949
|
});
|
|
@@ -776,7 +964,7 @@ function useGrantAgentAccess() {
|
|
|
776
964
|
if (!agent?.email) throw new Error("The agent's address is unknown.");
|
|
777
965
|
return arbi.workspaces.grantAccess({ workspaceId, emails: [agent.email] });
|
|
778
966
|
},
|
|
779
|
-
onSuccess: (_res, { agentExtId }) => qc.invalidateQueries({ queryKey:
|
|
967
|
+
onSuccess: (_res, { agentExtId }) => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.agentWorkspaces(agentExtId) })
|
|
780
968
|
});
|
|
781
969
|
}
|
|
782
970
|
function useRevokeAgentAccess() {
|
|
@@ -795,13 +983,13 @@ function useRevokeAgentAccess() {
|
|
|
795
983
|
if (previous && previous !== workspaceId) await arbi.selectWorkspace(previous);
|
|
796
984
|
}
|
|
797
985
|
},
|
|
798
|
-
onSuccess: (_res, { agentExtId }) => qc.invalidateQueries({ queryKey:
|
|
986
|
+
onSuccess: (_res, { agentExtId }) => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.agentWorkspaces(agentExtId) })
|
|
799
987
|
});
|
|
800
988
|
}
|
|
801
989
|
function useSkills(options) {
|
|
802
990
|
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
803
991
|
return reactQuery.useQuery({
|
|
804
|
-
queryKey: [...
|
|
992
|
+
queryKey: [...chunkCBJ3WOGD_cjs.arbiQueryKeys.skills(), options?.includeHidden ?? false],
|
|
805
993
|
queryFn: () => arbi.assistant.listSkills({ includeHidden: options?.includeHidden }),
|
|
806
994
|
enabled: (options?.enabled ?? true) && arbi.isLoggedIn,
|
|
807
995
|
staleTime: 3e4
|
|
@@ -810,7 +998,7 @@ function useSkills(options) {
|
|
|
810
998
|
function useContacts(options) {
|
|
811
999
|
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
812
1000
|
return reactQuery.useQuery({
|
|
813
|
-
queryKey:
|
|
1001
|
+
queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.contacts(),
|
|
814
1002
|
queryFn: () => arbi.contacts.list(),
|
|
815
1003
|
enabled: (options?.enabled ?? true) && arbi.isLoggedIn
|
|
816
1004
|
});
|
|
@@ -830,7 +1018,7 @@ function useAddContacts() {
|
|
|
830
1018
|
const qc = reactQuery.useQueryClient();
|
|
831
1019
|
return reactQuery.useMutation({
|
|
832
1020
|
mutationFn: (emails) => arbi.contacts.add(emails),
|
|
833
|
-
onSuccess: () => qc.invalidateQueries({ queryKey:
|
|
1021
|
+
onSuccess: () => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.contacts() })
|
|
834
1022
|
});
|
|
835
1023
|
}
|
|
836
1024
|
function useRemoveContacts() {
|
|
@@ -838,11 +1026,423 @@ function useRemoveContacts() {
|
|
|
838
1026
|
const qc = reactQuery.useQueryClient();
|
|
839
1027
|
return reactQuery.useMutation({
|
|
840
1028
|
mutationFn: (contactIds) => arbi.contacts.remove(contactIds),
|
|
841
|
-
onSuccess: () => qc.invalidateQueries({ queryKey:
|
|
1029
|
+
onSuccess: () => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.contacts() })
|
|
1030
|
+
});
|
|
1031
|
+
}
|
|
1032
|
+
function toProfileView(profile) {
|
|
1033
|
+
return {
|
|
1034
|
+
...profile,
|
|
1035
|
+
fullName: [profile.givenName, profile.familyName].map((part) => part?.trim()).filter(Boolean).join(" ")
|
|
1036
|
+
};
|
|
1037
|
+
}
|
|
1038
|
+
function useProfile(options) {
|
|
1039
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1040
|
+
return reactQuery.useQuery({
|
|
1041
|
+
queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.profile(),
|
|
1042
|
+
queryFn: () => {
|
|
1043
|
+
const profile = arbi.user.profile();
|
|
1044
|
+
return profile ? toProfileView(profile) : null;
|
|
1045
|
+
},
|
|
1046
|
+
enabled: (options?.enabled ?? true) && arbi.isLoggedIn,
|
|
1047
|
+
staleTime: Infinity
|
|
1048
|
+
});
|
|
1049
|
+
}
|
|
1050
|
+
function useUpdateProfile() {
|
|
1051
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1052
|
+
const qc = reactQuery.useQueryClient();
|
|
1053
|
+
return reactQuery.useMutation({
|
|
1054
|
+
mutationFn: async (vars) => {
|
|
1055
|
+
await arbi.profile.update({
|
|
1056
|
+
...vars.givenName !== void 0 && { given_name: vars.givenName.trim() },
|
|
1057
|
+
...vars.familyName !== void 0 && { family_name: vars.familyName.trim() },
|
|
1058
|
+
...vars.picture !== void 0 && { picture: vars.picture }
|
|
1059
|
+
});
|
|
1060
|
+
const profile = arbi.user.profile();
|
|
1061
|
+
return profile ? toProfileView(profile) : null;
|
|
1062
|
+
},
|
|
1063
|
+
onSuccess: (profile) => {
|
|
1064
|
+
qc.setQueryData(chunkCBJ3WOGD_cjs.arbiQueryKeys.profile(), profile);
|
|
1065
|
+
return qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.workspaces() });
|
|
1066
|
+
}
|
|
1067
|
+
});
|
|
1068
|
+
}
|
|
1069
|
+
function useNameEditor({ givenName, familyName, save }) {
|
|
1070
|
+
const [isEditing, setIsEditing] = React.useState(false);
|
|
1071
|
+
const [given, setGiven] = React.useState("");
|
|
1072
|
+
const [family, setFamily] = React.useState("");
|
|
1073
|
+
const [isSaving, setIsSaving] = React.useState(false);
|
|
1074
|
+
const [error, setError] = React.useState(null);
|
|
1075
|
+
const onStartEdit = React.useCallback(() => {
|
|
1076
|
+
setGiven(givenName ?? "");
|
|
1077
|
+
setFamily(familyName ?? "");
|
|
1078
|
+
setError(null);
|
|
1079
|
+
setIsEditing(true);
|
|
1080
|
+
}, [givenName, familyName]);
|
|
1081
|
+
const onSave = React.useCallback(() => {
|
|
1082
|
+
const trimmedGiven = given.trim();
|
|
1083
|
+
if (!trimmedGiven) return;
|
|
1084
|
+
setIsSaving(true);
|
|
1085
|
+
setError(null);
|
|
1086
|
+
void Promise.resolve().then(() => save({ givenName: trimmedGiven, familyName: family.trim() })).then(() => setIsEditing(false)).catch((e) => setError(e)).finally(() => setIsSaving(false));
|
|
1087
|
+
}, [given, family, save]);
|
|
1088
|
+
return {
|
|
1089
|
+
isEditing,
|
|
1090
|
+
givenName: given,
|
|
1091
|
+
familyName: family,
|
|
1092
|
+
onGivenNameChange: setGiven,
|
|
1093
|
+
onFamilyNameChange: setFamily,
|
|
1094
|
+
onStartEdit,
|
|
1095
|
+
onSave,
|
|
1096
|
+
onCancel: () => setIsEditing(false),
|
|
1097
|
+
isSaving,
|
|
1098
|
+
error
|
|
1099
|
+
};
|
|
1100
|
+
}
|
|
1101
|
+
var MAX_AVATAR_FILE_BYTES = 5 * 1024 * 1024;
|
|
1102
|
+
function useAvatarCrop({
|
|
1103
|
+
upload,
|
|
1104
|
+
onProblem,
|
|
1105
|
+
maxBytes = MAX_AVATAR_FILE_BYTES
|
|
1106
|
+
}) {
|
|
1107
|
+
const [pendingImage, setPendingImage] = React.useState(null);
|
|
1108
|
+
const [isUploading, setIsUploading] = React.useState(false);
|
|
1109
|
+
const onFileChosen = React.useCallback(
|
|
1110
|
+
(file) => {
|
|
1111
|
+
if (!file.type.startsWith("image/")) return onProblem?.("not-image");
|
|
1112
|
+
if (file.size > maxBytes) return onProblem?.("too-large");
|
|
1113
|
+
const reader = new FileReader();
|
|
1114
|
+
reader.onload = () => setPendingImage(reader.result);
|
|
1115
|
+
reader.onerror = () => onProblem?.("unreadable");
|
|
1116
|
+
reader.readAsDataURL(file);
|
|
1117
|
+
},
|
|
1118
|
+
[maxBytes, onProblem]
|
|
1119
|
+
);
|
|
1120
|
+
const onCropComplete = React.useCallback(
|
|
1121
|
+
(result) => {
|
|
1122
|
+
setPendingImage(null);
|
|
1123
|
+
setIsUploading(true);
|
|
1124
|
+
void Promise.resolve().then(() => upload(result.dataUrl)).catch(() => {
|
|
1125
|
+
}).finally(() => setIsUploading(false));
|
|
1126
|
+
},
|
|
1127
|
+
[upload]
|
|
1128
|
+
);
|
|
1129
|
+
return {
|
|
1130
|
+
onFileChosen,
|
|
1131
|
+
pendingImage,
|
|
1132
|
+
onCropComplete,
|
|
1133
|
+
onCropCancel: () => setPendingImage(null),
|
|
1134
|
+
isUploading
|
|
1135
|
+
};
|
|
1136
|
+
}
|
|
1137
|
+
function useRequestEmailChange() {
|
|
1138
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1139
|
+
return reactQuery.useMutation({
|
|
1140
|
+
mutationFn: (newEmail) => arbi.account.requestEmailChange(newEmail)
|
|
1141
|
+
});
|
|
1142
|
+
}
|
|
1143
|
+
function useConfirmEmailChange() {
|
|
1144
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1145
|
+
const qc = reactQuery.useQueryClient();
|
|
1146
|
+
return reactQuery.useMutation({
|
|
1147
|
+
mutationFn: ({ newEmail, code }) => arbi.account.confirmEmailChange(newEmail, code),
|
|
1148
|
+
onSuccess: () => {
|
|
1149
|
+
const profile = arbi.user.profile();
|
|
1150
|
+
qc.setQueryData(chunkCBJ3WOGD_cjs.arbiQueryKeys.profile(), profile ? toProfileView(profile) : null);
|
|
1151
|
+
}
|
|
1152
|
+
});
|
|
1153
|
+
}
|
|
1154
|
+
function useEmailChange({
|
|
1155
|
+
requestCode,
|
|
1156
|
+
confirm,
|
|
1157
|
+
cooldownSeconds: cooldownLength = 30
|
|
1158
|
+
}) {
|
|
1159
|
+
const [isOpen, setIsOpen] = React.useState(false);
|
|
1160
|
+
const [step, setStep] = React.useState("enter");
|
|
1161
|
+
const [newEmail, setNewEmail] = React.useState("");
|
|
1162
|
+
const [code, setCode] = React.useState("");
|
|
1163
|
+
const [cooldown, setCooldown] = React.useState(0);
|
|
1164
|
+
const [isSending, setIsSending] = React.useState(false);
|
|
1165
|
+
const [isConfirming, setIsConfirming] = React.useState(false);
|
|
1166
|
+
const [error, setError] = React.useState(null);
|
|
1167
|
+
React.useEffect(() => {
|
|
1168
|
+
if (cooldown <= 0) return;
|
|
1169
|
+
const timer = setTimeout(() => setCooldown((c) => c - 1), 1e3);
|
|
1170
|
+
return () => clearTimeout(timer);
|
|
1171
|
+
}, [cooldown]);
|
|
1172
|
+
const reset = React.useCallback(() => {
|
|
1173
|
+
setIsOpen(false);
|
|
1174
|
+
setStep("enter");
|
|
1175
|
+
setNewEmail("");
|
|
1176
|
+
setCode("");
|
|
1177
|
+
setError(null);
|
|
1178
|
+
}, []);
|
|
1179
|
+
const onSendCode = React.useCallback(() => {
|
|
1180
|
+
const email = newEmail.trim();
|
|
1181
|
+
if (!email) return;
|
|
1182
|
+
setIsSending(true);
|
|
1183
|
+
setError(null);
|
|
1184
|
+
void Promise.resolve().then(() => requestCode(email)).then(() => {
|
|
1185
|
+
setStep("verify");
|
|
1186
|
+
setCooldown(cooldownLength);
|
|
1187
|
+
}).catch((e) => setError(e)).finally(() => setIsSending(false));
|
|
1188
|
+
}, [newEmail, requestCode, cooldownLength]);
|
|
1189
|
+
const onConfirm = React.useCallback(() => {
|
|
1190
|
+
const email = newEmail.trim();
|
|
1191
|
+
const entered = code.trim();
|
|
1192
|
+
if (!email || !entered) return;
|
|
1193
|
+
setIsConfirming(true);
|
|
1194
|
+
setError(null);
|
|
1195
|
+
void Promise.resolve().then(() => confirm({ newEmail: email, code: entered })).then(reset).catch((e) => setError(e)).finally(() => setIsConfirming(false));
|
|
1196
|
+
}, [newEmail, code, confirm, reset]);
|
|
1197
|
+
return {
|
|
1198
|
+
isOpen,
|
|
1199
|
+
onStart: () => setIsOpen(true),
|
|
1200
|
+
step,
|
|
1201
|
+
newEmail,
|
|
1202
|
+
onNewEmailChange: setNewEmail,
|
|
1203
|
+
onSendCode,
|
|
1204
|
+
isSending,
|
|
1205
|
+
code,
|
|
1206
|
+
onCodeChange: setCode,
|
|
1207
|
+
onConfirm,
|
|
1208
|
+
isConfirming,
|
|
1209
|
+
cooldownSeconds: cooldown,
|
|
1210
|
+
onCancel: reset,
|
|
1211
|
+
error
|
|
1212
|
+
};
|
|
1213
|
+
}
|
|
1214
|
+
function usePasswordChange() {
|
|
1215
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1216
|
+
return reactQuery.useMutation({
|
|
1217
|
+
mutationFn: (vars) => arbi.account.changePassword(vars)
|
|
842
1218
|
});
|
|
843
1219
|
}
|
|
1220
|
+
var DEFAULT_PASSWORD_CHANGE_FORM_MESSAGES = {
|
|
1221
|
+
required: "All fields are required",
|
|
1222
|
+
mismatch: "New passwords do not match",
|
|
1223
|
+
sameAsCurrent: "New password must be different from current password",
|
|
1224
|
+
wrongCurrent: "Current password is incorrect.",
|
|
1225
|
+
wrongRecoveryKey: "Recovery key did not match this account. Try a different recovery file."
|
|
1226
|
+
};
|
|
1227
|
+
function usePasswordChangeForm({
|
|
1228
|
+
recoveryMode = false,
|
|
1229
|
+
getUnmetRequirement,
|
|
1230
|
+
submit,
|
|
1231
|
+
onClose,
|
|
1232
|
+
onRecoveryComplete,
|
|
1233
|
+
messages
|
|
1234
|
+
}) {
|
|
1235
|
+
const m = React.useMemo(() => ({ ...DEFAULT_PASSWORD_CHANGE_FORM_MESSAGES, ...messages }), [messages]);
|
|
1236
|
+
const [currentPassword, setCurrentPassword] = React.useState("");
|
|
1237
|
+
const [newPassword, setNewPassword] = React.useState("");
|
|
1238
|
+
const [confirmPassword, setConfirmPassword] = React.useState("");
|
|
1239
|
+
const [error, setError] = React.useState(null);
|
|
1240
|
+
const [isProcessing, setIsProcessing] = React.useState(false);
|
|
1241
|
+
const [result, setResult] = React.useState(null);
|
|
1242
|
+
const clear = React.useCallback(() => {
|
|
1243
|
+
setCurrentPassword("");
|
|
1244
|
+
setNewPassword("");
|
|
1245
|
+
setConfirmPassword("");
|
|
1246
|
+
}, []);
|
|
1247
|
+
const isSubmitDisabled = isProcessing || !recoveryMode && !currentPassword || !newPassword || !confirmPassword || getUnmetRequirement(newPassword) !== null || newPassword !== confirmPassword;
|
|
1248
|
+
const onSubmit = React.useCallback(() => {
|
|
1249
|
+
setError(null);
|
|
1250
|
+
if (!recoveryMode && !currentPassword || !newPassword || !confirmPassword) {
|
|
1251
|
+
return setError(m.required);
|
|
1252
|
+
}
|
|
1253
|
+
if (newPassword !== confirmPassword) return setError(m.mismatch);
|
|
1254
|
+
const unmet = getUnmetRequirement(newPassword);
|
|
1255
|
+
if (unmet !== null) return setError(unmet);
|
|
1256
|
+
if (!recoveryMode && currentPassword === newPassword) return setError(m.sameAsCurrent);
|
|
1257
|
+
setIsProcessing(true);
|
|
1258
|
+
void submit({ newPassword, currentPassword: recoveryMode ? void 0 : currentPassword }).then((outcome) => {
|
|
1259
|
+
clear();
|
|
1260
|
+
if (recoveryMode) {
|
|
1261
|
+
onClose();
|
|
1262
|
+
onRecoveryComplete?.();
|
|
1263
|
+
} else {
|
|
1264
|
+
setResult(outcome);
|
|
1265
|
+
}
|
|
1266
|
+
}).catch((e) => {
|
|
1267
|
+
const message = client.passwordChangeErrorMessage(e);
|
|
1268
|
+
const wrongCurrent = /invalid signature|current password|401/i.test(message);
|
|
1269
|
+
setError(wrongCurrent ? recoveryMode ? m.wrongRecoveryKey : m.wrongCurrent : message);
|
|
1270
|
+
}).finally(() => setIsProcessing(false));
|
|
1271
|
+
}, [
|
|
1272
|
+
recoveryMode,
|
|
1273
|
+
currentPassword,
|
|
1274
|
+
newPassword,
|
|
1275
|
+
confirmPassword,
|
|
1276
|
+
getUnmetRequirement,
|
|
1277
|
+
submit,
|
|
1278
|
+
clear,
|
|
1279
|
+
onClose,
|
|
1280
|
+
onRecoveryComplete,
|
|
1281
|
+
m
|
|
1282
|
+
]);
|
|
1283
|
+
return {
|
|
1284
|
+
currentPassword,
|
|
1285
|
+
onCurrentPasswordChange: setCurrentPassword,
|
|
1286
|
+
newPassword,
|
|
1287
|
+
onNewPasswordChange: setNewPassword,
|
|
1288
|
+
confirmPassword,
|
|
1289
|
+
onConfirmPasswordChange: setConfirmPassword,
|
|
1290
|
+
error,
|
|
1291
|
+
isProcessing,
|
|
1292
|
+
isSubmitDisabled,
|
|
1293
|
+
onSubmit,
|
|
1294
|
+
result,
|
|
1295
|
+
onCancel: () => {
|
|
1296
|
+
clear();
|
|
1297
|
+
setError(null);
|
|
1298
|
+
setResult(null);
|
|
1299
|
+
onClose();
|
|
1300
|
+
},
|
|
1301
|
+
onDone: () => {
|
|
1302
|
+
setResult(null);
|
|
1303
|
+
onClose();
|
|
1304
|
+
}
|
|
1305
|
+
};
|
|
1306
|
+
}
|
|
1307
|
+
function toNotificationPreferences(stored, keys) {
|
|
1308
|
+
const checked = Object.fromEntries(keys.map((key) => [key, stored?.[key] ?? true]));
|
|
1309
|
+
return {
|
|
1310
|
+
masterChecked: keys.some((key) => checked[key]),
|
|
1311
|
+
checked,
|
|
1312
|
+
masterPatch: (value) => Object.fromEntries(keys.map((key) => [key, value])),
|
|
1313
|
+
categoryPatch: (key, value) => ({ [key]: value })
|
|
1314
|
+
};
|
|
1315
|
+
}
|
|
1316
|
+
function useUserSettings(options) {
|
|
1317
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1318
|
+
return reactQuery.useQuery({
|
|
1319
|
+
queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.userSettings(),
|
|
1320
|
+
queryFn: () => arbi.settings.get(),
|
|
1321
|
+
enabled: (options?.enabled ?? true) && arbi.isLoggedIn
|
|
1322
|
+
});
|
|
1323
|
+
}
|
|
1324
|
+
function useNotificationPreferences(keys, options) {
|
|
1325
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1326
|
+
const qc = reactQuery.useQueryClient();
|
|
1327
|
+
const settings = useUserSettings(options);
|
|
1328
|
+
const stored = settings.data?.email_notifications;
|
|
1329
|
+
const save = reactQuery.useMutation({
|
|
1330
|
+
mutationFn: (patch) => arbi.settings.update({ email_notifications: patch }),
|
|
1331
|
+
onMutate: async (patch) => {
|
|
1332
|
+
await qc.cancelQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.userSettings() });
|
|
1333
|
+
const previous = qc.getQueryData(chunkCBJ3WOGD_cjs.arbiQueryKeys.userSettings());
|
|
1334
|
+
qc.setQueryData(
|
|
1335
|
+
chunkCBJ3WOGD_cjs.arbiQueryKeys.userSettings(),
|
|
1336
|
+
(old) => old ? { ...old, email_notifications: { ...old.email_notifications, ...patch } } : old
|
|
1337
|
+
);
|
|
1338
|
+
return { previous };
|
|
1339
|
+
},
|
|
1340
|
+
onError: (_err, _patch, context) => {
|
|
1341
|
+
qc.setQueryData(chunkCBJ3WOGD_cjs.arbiQueryKeys.userSettings(), context?.previous);
|
|
1342
|
+
},
|
|
1343
|
+
onSettled: () => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.userSettings() })
|
|
1344
|
+
});
|
|
1345
|
+
const model = React.useMemo(() => toNotificationPreferences(stored, keys), [stored, keys]);
|
|
1346
|
+
const setAll = React.useCallback(
|
|
1347
|
+
(value) => save.mutate(model.masterPatch(value)),
|
|
1348
|
+
[save, model]
|
|
1349
|
+
);
|
|
1350
|
+
const setCategory = React.useCallback(
|
|
1351
|
+
(key, value) => save.mutate(model.categoryPatch(key, value)),
|
|
1352
|
+
[save, model]
|
|
1353
|
+
);
|
|
1354
|
+
return {
|
|
1355
|
+
...model,
|
|
1356
|
+
isLoading: settings.isLoading,
|
|
1357
|
+
isSaving: save.isPending,
|
|
1358
|
+
/** The master switch handler: every category on or off. */
|
|
1359
|
+
setAll,
|
|
1360
|
+
/** One category's handler. */
|
|
1361
|
+
setCategory
|
|
1362
|
+
};
|
|
1363
|
+
}
|
|
1364
|
+
function useTerminateSession() {
|
|
1365
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1366
|
+
const qc = reactQuery.useQueryClient();
|
|
1367
|
+
return reactQuery.useMutation({
|
|
1368
|
+
mutationFn: (sessionId) => arbi.sessions.terminate(sessionId),
|
|
1369
|
+
onSuccess: () => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.sessions() })
|
|
1370
|
+
});
|
|
1371
|
+
}
|
|
1372
|
+
function useLogoutAllSessions() {
|
|
1373
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1374
|
+
const qc = reactQuery.useQueryClient();
|
|
1375
|
+
return reactQuery.useMutation({
|
|
1376
|
+
mutationFn: () => arbi.sessions.logoutAll(),
|
|
1377
|
+
onSuccess: () => qc.clear()
|
|
1378
|
+
});
|
|
1379
|
+
}
|
|
1380
|
+
function useCurrentSessionId() {
|
|
1381
|
+
return chunkZMTLGO3K_cjs.useArbi().sessions.currentId();
|
|
1382
|
+
}
|
|
1383
|
+
function parseDeleteAccountBlockers(error) {
|
|
1384
|
+
const body = error?.apiError ?? error;
|
|
1385
|
+
const detail = body?.detail;
|
|
1386
|
+
if (detail === "active_subscription") return [{ type: "active_subscription" }];
|
|
1387
|
+
if (detail && typeof detail === "object") {
|
|
1388
|
+
const d = detail;
|
|
1389
|
+
if (d.reason === "workspace_members" && Array.isArray(d.workspaces)) {
|
|
1390
|
+
return [{ type: "workspace_members", workspaces: d.workspaces.map(String) }];
|
|
1391
|
+
}
|
|
1392
|
+
}
|
|
1393
|
+
return [];
|
|
1394
|
+
}
|
|
1395
|
+
function useDeleteAccount() {
|
|
1396
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1397
|
+
return reactQuery.useMutation({ mutationFn: () => arbi.account.requestDeletion() });
|
|
1398
|
+
}
|
|
1399
|
+
function useDeleteAccountFlow({
|
|
1400
|
+
userEmail,
|
|
1401
|
+
remove,
|
|
1402
|
+
onClose,
|
|
1403
|
+
onDeleted,
|
|
1404
|
+
onError
|
|
1405
|
+
}) {
|
|
1406
|
+
const [step, setStep] = React.useState("warning");
|
|
1407
|
+
const [confirmEmail, setConfirmEmail] = React.useState("");
|
|
1408
|
+
const [blockers, setBlockers] = React.useState([]);
|
|
1409
|
+
const [isDeleting, setIsDeleting] = React.useState(false);
|
|
1410
|
+
const close = React.useCallback(() => {
|
|
1411
|
+
setStep("warning");
|
|
1412
|
+
setConfirmEmail("");
|
|
1413
|
+
setBlockers([]);
|
|
1414
|
+
onClose();
|
|
1415
|
+
}, [onClose]);
|
|
1416
|
+
const onSubmit = React.useCallback(() => {
|
|
1417
|
+
if (confirmEmail.toLowerCase() !== userEmail.toLowerCase()) return;
|
|
1418
|
+
setIsDeleting(true);
|
|
1419
|
+
void Promise.resolve().then(remove).then(() => {
|
|
1420
|
+
close();
|
|
1421
|
+
onDeleted();
|
|
1422
|
+
}).catch((error) => {
|
|
1423
|
+
const found = parseDeleteAccountBlockers(error);
|
|
1424
|
+
if (found.length > 0) {
|
|
1425
|
+
setBlockers(found);
|
|
1426
|
+
setStep("warning");
|
|
1427
|
+
} else {
|
|
1428
|
+
onError?.(error);
|
|
1429
|
+
}
|
|
1430
|
+
}).finally(() => setIsDeleting(false));
|
|
1431
|
+
}, [confirmEmail, userEmail, remove, close, onDeleted, onError]);
|
|
1432
|
+
return {
|
|
1433
|
+
step,
|
|
1434
|
+
blockers,
|
|
1435
|
+
confirmEmail,
|
|
1436
|
+
onConfirmEmailChange: setConfirmEmail,
|
|
1437
|
+
onContinue: () => setStep("confirm"),
|
|
1438
|
+
onBack: () => setStep("warning"),
|
|
1439
|
+
isDeleting,
|
|
1440
|
+
onSubmit,
|
|
1441
|
+
onClose: close
|
|
1442
|
+
};
|
|
1443
|
+
}
|
|
844
1444
|
function useWorkspaceDocs(workspaceId) {
|
|
845
|
-
const { data: docs = [], isLoading, isError } =
|
|
1445
|
+
const { data: docs = [], isLoading, isError } = chunkCBJ3WOGD_cjs.useDocuments(workspaceId);
|
|
846
1446
|
const docIds = React.useMemo(
|
|
847
1447
|
() => docs.map((d) => d.external_id).filter((id) => !!id),
|
|
848
1448
|
[docs]
|
|
@@ -850,7 +1450,7 @@ function useWorkspaceDocs(workspaceId) {
|
|
|
850
1450
|
return { wsId: workspaceId, docs, docIds, isLoading, isError, ready: docIds.length > 0 };
|
|
851
1451
|
}
|
|
852
1452
|
function useAiTask() {
|
|
853
|
-
const mutation =
|
|
1453
|
+
const mutation = chunkCBJ3WOGD_cjs.useAssistantQuery();
|
|
854
1454
|
const [status, setStatus] = React.useState("idle");
|
|
855
1455
|
const [text, setText] = React.useState("");
|
|
856
1456
|
const [stepCount, setStepCount] = React.useState(0);
|
|
@@ -1063,7 +1663,7 @@ function AiAnswer({
|
|
|
1063
1663
|
}
|
|
1064
1664
|
),
|
|
1065
1665
|
hasText && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1066
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1666
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.AiMarkdown, { isStreaming: running, children: text }),
|
|
1067
1667
|
!running && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-t border-border pt-2.5", children: [
|
|
1068
1668
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1.5 text-xs text-muted-foreground", children: [
|
|
1069
1669
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ShieldCheck, { className: "size-3.5 text-ai-accent" }),
|
|
@@ -1108,7 +1708,7 @@ function AiActionCard({
|
|
|
1108
1708
|
const p = typeof prompt === "function" ? prompt() : prompt;
|
|
1109
1709
|
void task.run(p, docIds);
|
|
1110
1710
|
};
|
|
1111
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1711
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.Card, { variant: "elevated", className: "rounded-xl p-5", "data-testid": testId, children: [
|
|
1112
1712
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-4", children: [
|
|
1113
1713
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
|
|
1114
1714
|
/* @__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" }) }),
|
|
@@ -1118,7 +1718,7 @@ function AiActionCard({
|
|
|
1118
1718
|
] })
|
|
1119
1719
|
] }),
|
|
1120
1720
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1121
|
-
|
|
1721
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
1122
1722
|
{
|
|
1123
1723
|
variant: task.isDone ? "outline" : "accent",
|
|
1124
1724
|
size: "sm",
|
|
@@ -1250,11 +1850,11 @@ function ArtifactCanvas({
|
|
|
1250
1850
|
children: active.title
|
|
1251
1851
|
}
|
|
1252
1852
|
),
|
|
1253
|
-
isRedline && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1853
|
+
isRedline && /* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.Badge, { variant: "accent", className: "gap-1", children: [
|
|
1254
1854
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.GitCompareArrows, { className: "size-3" }),
|
|
1255
1855
|
" Redline"
|
|
1256
1856
|
] }),
|
|
1257
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1857
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.Badge, { variant: "secondary", children: [
|
|
1258
1858
|
"v",
|
|
1259
1859
|
active.version
|
|
1260
1860
|
] }),
|
|
@@ -1310,7 +1910,7 @@ function ArtifactCanvas({
|
|
|
1310
1910
|
animate: { opacity: 1, y: 0 },
|
|
1311
1911
|
transition: { duration: 0.2 },
|
|
1312
1912
|
className: "mx-auto max-w-2xl rounded-lg bg-card p-8 shadow-sm ring-1 ring-border",
|
|
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(
|
|
1913
|
+
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(chunkZ5YCRJY3_cjs.AiMarkdown, { children: active.content })
|
|
1314
1914
|
},
|
|
1315
1915
|
active.doc_ext_id
|
|
1316
1916
|
) }) })
|
|
@@ -1327,7 +1927,7 @@ function MessageArtifactCard({
|
|
|
1327
1927
|
const Icon = isImage ? lucideReact.Image : lucideReact.FileText;
|
|
1328
1928
|
const statusText = isImage ? isComplete ? "Image ready" : "Generating\u2026" : isComplete ? "Draft ready" : "Drafting\u2026";
|
|
1329
1929
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1330
|
-
|
|
1930
|
+
chunkZ5YCRJY3_cjs.Card,
|
|
1331
1931
|
{
|
|
1332
1932
|
variant: "outline",
|
|
1333
1933
|
className: "mt-3 flex items-center gap-3 px-3 py-2.5",
|
|
@@ -1403,7 +2003,7 @@ function DocSearch({
|
|
|
1403
2003
|
status === "done" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", "data-testid": "doc-search-results", children: [
|
|
1404
2004
|
/* @__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` }),
|
|
1405
2005
|
results.slice(0, 8).map((r, i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1406
|
-
|
|
2006
|
+
chunkZ5YCRJY3_cjs.Card,
|
|
1407
2007
|
{
|
|
1408
2008
|
variant: "elevated",
|
|
1409
2009
|
className: chunkS6A6FSG7_cjs.cn(
|
|
@@ -1416,7 +2016,7 @@ function DocSearch({
|
|
|
1416
2016
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-1 flex items-center gap-2", children: [
|
|
1417
2017
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "size-3.5 text-ai-accent" }),
|
|
1418
2018
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs font-medium text-foreground", children: r.docTitle ?? "Document" }),
|
|
1419
|
-
r.page != null && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2019
|
+
r.page != null && /* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.Badge, { variant: "secondary", children: [
|
|
1420
2020
|
"p.",
|
|
1421
2021
|
r.page
|
|
1422
2022
|
] }),
|
|
@@ -1442,8 +2042,8 @@ function DocumentReview({
|
|
|
1442
2042
|
onClose,
|
|
1443
2043
|
className
|
|
1444
2044
|
}) {
|
|
1445
|
-
const parsedQuery =
|
|
1446
|
-
const tagsQuery =
|
|
2045
|
+
const parsedQuery = chunkCBJ3WOGD_cjs.useParsedDocument(docId, stage);
|
|
2046
|
+
const tagsQuery = chunkCBJ3WOGD_cjs.useTags(workspaceId);
|
|
1447
2047
|
const tagNameById = React__default.default.useMemo(() => {
|
|
1448
2048
|
const map = /* @__PURE__ */ new Map();
|
|
1449
2049
|
for (const t of tagsQuery.data ?? []) {
|
|
@@ -1510,7 +2110,7 @@ function DocumentReview({
|
|
|
1510
2110
|
findings.length ? ` \xB7 ${findings.length} findings` : ""
|
|
1511
2111
|
] })
|
|
1512
2112
|
] }),
|
|
1513
|
-
doc?.status ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2113
|
+
doc?.status ? /* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.Badge, { variant: "secondary", children: doc.status }) : null,
|
|
1514
2114
|
onClose ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1515
2115
|
"button",
|
|
1516
2116
|
{
|
|
@@ -1547,7 +2147,7 @@ function DocumentReview({
|
|
|
1547
2147
|
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",
|
|
1548
2148
|
children: [
|
|
1549
2149
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1550
|
-
|
|
2150
|
+
chunkZ5YCRJY3_cjs.TagEntity,
|
|
1551
2151
|
{
|
|
1552
2152
|
size: "sm",
|
|
1553
2153
|
tag: {
|
|
@@ -1592,7 +2192,7 @@ function DocumentReview({
|
|
|
1592
2192
|
),
|
|
1593
2193
|
children: [
|
|
1594
2194
|
highlighted ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1595
|
-
|
|
2195
|
+
chunkZ5YCRJY3_cjs.TagEntity,
|
|
1596
2196
|
{
|
|
1597
2197
|
size: "sm",
|
|
1598
2198
|
tag: {
|
|
@@ -1601,7 +2201,7 @@ function DocumentReview({
|
|
|
1601
2201
|
}
|
|
1602
2202
|
}
|
|
1603
2203
|
) }) : null,
|
|
1604
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2204
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkOI55JRKT_cjs.MarkdownRenderer, { className: "prose prose-sm max-w-none dark:prose-invert", children: c.content })
|
|
1605
2205
|
]
|
|
1606
2206
|
},
|
|
1607
2207
|
cid ?? i
|
|
@@ -1641,7 +2241,7 @@ function ResultRow({
|
|
|
1641
2241
|
onSelect
|
|
1642
2242
|
}) {
|
|
1643
2243
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1644
|
-
|
|
2244
|
+
chunkZ5YCRJY3_cjs.PassageCard,
|
|
1645
2245
|
{
|
|
1646
2246
|
onClick: onSelect,
|
|
1647
2247
|
active: isActive,
|
|
@@ -1650,7 +2250,7 @@ function ResultRow({
|
|
|
1650
2250
|
header: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1651
2251
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "size-3.5 shrink-0 text-ai-accent" }),
|
|
1652
2252
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs font-medium text-foreground", children: result.docTitle ?? "Document" }),
|
|
1653
|
-
result.page != null && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2253
|
+
result.page != null && /* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.Badge, { variant: "secondary", children: [
|
|
1654
2254
|
"p.",
|
|
1655
2255
|
result.page
|
|
1656
2256
|
] })
|
|
@@ -1674,7 +2274,7 @@ function SemanticSearch({
|
|
|
1674
2274
|
const { results, status, error, search, isRunning, query } = useSemanticSearch(docIds);
|
|
1675
2275
|
const [value, setValue] = React.useState("");
|
|
1676
2276
|
const [selected, setSelected] = React.useState(null);
|
|
1677
|
-
const { data: docs = [] } =
|
|
2277
|
+
const { data: docs = [] } = chunkCBJ3WOGD_cjs.useDocuments(workspaceId, { enabled: !!workspaceId });
|
|
1678
2278
|
const docMap = React.useMemo(() => {
|
|
1679
2279
|
const map = /* @__PURE__ */ new Map();
|
|
1680
2280
|
for (const d of docs) if (d.external_id) map.set(d.external_id, d);
|
|
@@ -1760,7 +2360,7 @@ function SemanticSearch({
|
|
|
1760
2360
|
"data-testid": "arbi-semantic-search-viewer",
|
|
1761
2361
|
children: selected && selected.docId ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col gap-2", children: [
|
|
1762
2362
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1763
|
-
|
|
2363
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
1764
2364
|
{
|
|
1765
2365
|
variant: "ghost",
|
|
1766
2366
|
size: "sm",
|
|
@@ -1819,7 +2419,7 @@ Question: ${question}`,
|
|
|
1819
2419
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 space-y-3", "data-testid": "doc-qa", children: [
|
|
1820
2420
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
1821
2421
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1822
|
-
|
|
2422
|
+
chunkZ5YCRJY3_cjs.Input,
|
|
1823
2423
|
{
|
|
1824
2424
|
value: q,
|
|
1825
2425
|
onChange: (e) => setQ(e.target.value),
|
|
@@ -1830,7 +2430,7 @@ Question: ${question}`,
|
|
|
1830
2430
|
}
|
|
1831
2431
|
),
|
|
1832
2432
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1833
|
-
|
|
2433
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
1834
2434
|
{
|
|
1835
2435
|
variant: "accent",
|
|
1836
2436
|
size: "icon",
|
|
@@ -1842,7 +2442,7 @@ Question: ${question}`,
|
|
|
1842
2442
|
}
|
|
1843
2443
|
),
|
|
1844
2444
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1845
|
-
|
|
2445
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
1846
2446
|
{
|
|
1847
2447
|
variant: "outline",
|
|
1848
2448
|
size: "sm",
|
|
@@ -1981,7 +2581,7 @@ var CitationRendererComponent = ({
|
|
|
1981
2581
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkS6A6FSG7_cjs.cn("citation-container", className), "data-testid": "citation-renderer", children: renderMarkdown({
|
|
1982
2582
|
components: markdownComponents,
|
|
1983
2583
|
isStreaming,
|
|
1984
|
-
children:
|
|
2584
|
+
children: chunkOI55JRKT_cjs.normalizeCitationMarkup(content)
|
|
1985
2585
|
}) });
|
|
1986
2586
|
};
|
|
1987
2587
|
var CitationPopover = ({
|
|
@@ -2206,7 +2806,7 @@ var CitationLink = ({
|
|
|
2206
2806
|
triggerRef,
|
|
2207
2807
|
children
|
|
2208
2808
|
}) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2209
|
-
|
|
2809
|
+
chunkZ5YCRJY3_cjs.MarkMenu,
|
|
2210
2810
|
{
|
|
2211
2811
|
triggerRef,
|
|
2212
2812
|
items,
|
|
@@ -2244,8 +2844,8 @@ var DocIcon = ({ size = 16, className = "" }) => {
|
|
|
2244
2844
|
"path",
|
|
2245
2845
|
{
|
|
2246
2846
|
d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
|
|
2247
|
-
fill:
|
|
2248
|
-
stroke:
|
|
2847
|
+
fill: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.doc,
|
|
2848
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.doc,
|
|
2249
2849
|
strokeWidth: "1",
|
|
2250
2850
|
strokeLinecap: "round",
|
|
2251
2851
|
strokeLinejoin: "round"
|
|
@@ -2256,7 +2856,7 @@ var DocIcon = ({ size = 16, className = "" }) => {
|
|
|
2256
2856
|
{
|
|
2257
2857
|
d: "M14 2v6h6",
|
|
2258
2858
|
fill: "none",
|
|
2259
|
-
stroke:
|
|
2859
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.white,
|
|
2260
2860
|
strokeWidth: "1",
|
|
2261
2861
|
strokeLinecap: "round",
|
|
2262
2862
|
strokeLinejoin: "round"
|
|
@@ -2294,8 +2894,8 @@ var HtmlIcon = ({ size = 16, className = "" }) => {
|
|
|
2294
2894
|
"path",
|
|
2295
2895
|
{
|
|
2296
2896
|
d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
|
|
2297
|
-
fill:
|
|
2298
|
-
stroke:
|
|
2897
|
+
fill: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.html,
|
|
2898
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.html,
|
|
2299
2899
|
strokeWidth: "1",
|
|
2300
2900
|
strokeLinecap: "round",
|
|
2301
2901
|
strokeLinejoin: "round"
|
|
@@ -2306,7 +2906,7 @@ var HtmlIcon = ({ size = 16, className = "" }) => {
|
|
|
2306
2906
|
{
|
|
2307
2907
|
d: "M14 2v6h6",
|
|
2308
2908
|
fill: "none",
|
|
2309
|
-
stroke:
|
|
2909
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.white,
|
|
2310
2910
|
strokeWidth: "1",
|
|
2311
2911
|
strokeLinecap: "round",
|
|
2312
2912
|
strokeLinejoin: "round"
|
|
@@ -2344,8 +2944,8 @@ var TxtIcon = ({ size = 16, className = "" }) => {
|
|
|
2344
2944
|
"path",
|
|
2345
2945
|
{
|
|
2346
2946
|
d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
|
|
2347
|
-
fill:
|
|
2348
|
-
stroke:
|
|
2947
|
+
fill: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.txt,
|
|
2948
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.txt,
|
|
2349
2949
|
strokeWidth: "1",
|
|
2350
2950
|
strokeLinecap: "round",
|
|
2351
2951
|
strokeLinejoin: "round"
|
|
@@ -2356,7 +2956,7 @@ var TxtIcon = ({ size = 16, className = "" }) => {
|
|
|
2356
2956
|
{
|
|
2357
2957
|
d: "M14 2v6h6",
|
|
2358
2958
|
fill: "none",
|
|
2359
|
-
stroke:
|
|
2959
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.white,
|
|
2360
2960
|
strokeWidth: "1",
|
|
2361
2961
|
strokeLinecap: "round",
|
|
2362
2962
|
strokeLinejoin: "round"
|
|
@@ -2394,8 +2994,8 @@ var XlsIcon = ({ size = 16, className = "" }) => {
|
|
|
2394
2994
|
"path",
|
|
2395
2995
|
{
|
|
2396
2996
|
d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
|
|
2397
|
-
fill:
|
|
2398
|
-
stroke:
|
|
2997
|
+
fill: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.xls,
|
|
2998
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.xls,
|
|
2399
2999
|
strokeWidth: "1",
|
|
2400
3000
|
strokeLinecap: "round",
|
|
2401
3001
|
strokeLinejoin: "round"
|
|
@@ -2406,7 +3006,7 @@ var XlsIcon = ({ size = 16, className = "" }) => {
|
|
|
2406
3006
|
{
|
|
2407
3007
|
d: "M14 2v6h6",
|
|
2408
3008
|
fill: "none",
|
|
2409
|
-
stroke:
|
|
3009
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.white,
|
|
2410
3010
|
strokeWidth: "1",
|
|
2411
3011
|
strokeLinecap: "round",
|
|
2412
3012
|
strokeLinejoin: "round"
|
|
@@ -2444,8 +3044,8 @@ var FileIcon = ({ size = 16, className = "" }) => {
|
|
|
2444
3044
|
"path",
|
|
2445
3045
|
{
|
|
2446
3046
|
d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
|
|
2447
|
-
fill:
|
|
2448
|
-
stroke:
|
|
3047
|
+
fill: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.generic,
|
|
3048
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.generic,
|
|
2449
3049
|
strokeWidth: "1",
|
|
2450
3050
|
strokeLinecap: "round",
|
|
2451
3051
|
strokeLinejoin: "round"
|
|
@@ -2456,7 +3056,7 @@ var FileIcon = ({ size = 16, className = "" }) => {
|
|
|
2456
3056
|
{
|
|
2457
3057
|
d: "M14 2v6h6",
|
|
2458
3058
|
fill: "none",
|
|
2459
|
-
stroke:
|
|
3059
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.white,
|
|
2460
3060
|
strokeWidth: "1",
|
|
2461
3061
|
strokeLinecap: "round",
|
|
2462
3062
|
strokeLinejoin: "round"
|
|
@@ -2812,7 +3412,7 @@ var ArbiBotIcon = ({ size = 24, className = "" }) => {
|
|
|
2812
3412
|
);
|
|
2813
3413
|
};
|
|
2814
3414
|
function getNotificationTypeMeta(type) {
|
|
2815
|
-
const WorkspaceIcon =
|
|
3415
|
+
const WorkspaceIcon = chunkZ5YCRJY3_cjs.getEntityIcon("WORKSPACE");
|
|
2816
3416
|
switch (type) {
|
|
2817
3417
|
case "user_message":
|
|
2818
3418
|
return { Icon: lucideReact.MessageCircleMore, iconClassName: "text-primary", label: "Message" };
|
|
@@ -2927,7 +3527,7 @@ function describeActivity(content) {
|
|
|
2927
3527
|
}
|
|
2928
3528
|
default:
|
|
2929
3529
|
return {
|
|
2930
|
-
Icon: parsed.workspace_ext_id ?
|
|
3530
|
+
Icon: parsed.workspace_ext_id ? chunkZ5YCRJY3_cjs.getEntityIcon("WORKSPACE") : lucideReact.Activity,
|
|
2931
3531
|
iconClassName: "text-muted-foreground",
|
|
2932
3532
|
title: humaniseEvent(parsed.event)
|
|
2933
3533
|
};
|
|
@@ -2957,7 +3557,7 @@ function ActivityFeed({
|
|
|
2957
3557
|
enabled,
|
|
2958
3558
|
"data-testid": testId = "activity-feed"
|
|
2959
3559
|
}) {
|
|
2960
|
-
const { data, isLoading, isError } =
|
|
3560
|
+
const { data, isLoading, isError } = chunkCBJ3WOGD_cjs.useActivity({ limit, enabled });
|
|
2961
3561
|
if (isLoading) {
|
|
2962
3562
|
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: [
|
|
2963
3563
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-4 shrink-0 animate-pulse rounded-full bg-muted" }),
|
|
@@ -3081,7 +3681,7 @@ function useDirectMessages(options) {
|
|
|
3081
3681
|
enabled
|
|
3082
3682
|
});
|
|
3083
3683
|
const contactsQuery = reactQuery.useQuery({
|
|
3084
|
-
queryKey:
|
|
3684
|
+
queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.contacts(),
|
|
3085
3685
|
queryFn: () => arbi.contacts.list(),
|
|
3086
3686
|
enabled
|
|
3087
3687
|
});
|
|
@@ -3143,7 +3743,7 @@ function DmAvatar({ user, className, size = "lg" }) {
|
|
|
3143
3743
|
const presence = useArbiWsStore((s) => s.presence[user.external_id]);
|
|
3144
3744
|
const displayStatus = presence === void 0 ? void 0 : presence === "online" ? "connected" : "disconnected";
|
|
3145
3745
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3146
|
-
|
|
3746
|
+
chunkZ5YCRJY3_cjs.UserEntity,
|
|
3147
3747
|
{
|
|
3148
3748
|
variant: "icon",
|
|
3149
3749
|
size,
|
|
@@ -3153,7 +3753,7 @@ function DmAvatar({ user, className, size = "lg" }) {
|
|
|
3153
3753
|
initials: userInitials(user),
|
|
3154
3754
|
displayName: userDisplayName(user),
|
|
3155
3755
|
picture: user.picture,
|
|
3156
|
-
avatarStyle:
|
|
3756
|
+
avatarStyle: chunkZ5YCRJY3_cjs.getEntityColorStyles(user.external_id),
|
|
3157
3757
|
isAgent: isAgentUser(user),
|
|
3158
3758
|
displayStatus
|
|
3159
3759
|
}
|
|
@@ -3208,10 +3808,10 @@ function ConversationList({
|
|
|
3208
3808
|
children: userDisplayName(peer)
|
|
3209
3809
|
}
|
|
3210
3810
|
),
|
|
3211
|
-
c.badge ?? (isAgentUser(peer) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3811
|
+
c.badge ?? (isAgentUser(peer) ? /* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.AgentBadge, {}) : null)
|
|
3212
3812
|
] }),
|
|
3213
3813
|
c.statusLabel ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3214
|
-
|
|
3814
|
+
chunkZ5YCRJY3_cjs.Badge,
|
|
3215
3815
|
{
|
|
3216
3816
|
variant: "outline",
|
|
3217
3817
|
className: "shrink-0 rounded-full px-2 py-0 text-xs font-medium text-muted-foreground",
|
|
@@ -3222,7 +3822,7 @@ function ConversationList({
|
|
|
3222
3822
|
// shouted louder than the message it was counting.
|
|
3223
3823
|
// Enough to catch the eye scanning the list, no more.
|
|
3224
3824
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3225
|
-
|
|
3825
|
+
chunkZ5YCRJY3_cjs.Badge,
|
|
3226
3826
|
{
|
|
3227
3827
|
variant: "accent",
|
|
3228
3828
|
className: chunkS6A6FSG7_cjs.cn(
|
|
@@ -3441,7 +4041,7 @@ function DmComposer({
|
|
|
3441
4041
|
children,
|
|
3442
4042
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-end gap-2", children: [
|
|
3443
4043
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3444
|
-
|
|
4044
|
+
chunkZ5YCRJY3_cjs.Textarea,
|
|
3445
4045
|
{
|
|
3446
4046
|
ref: inputRef,
|
|
3447
4047
|
value: draft,
|
|
@@ -3455,7 +4055,7 @@ function DmComposer({
|
|
|
3455
4055
|
}
|
|
3456
4056
|
),
|
|
3457
4057
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3458
|
-
|
|
4058
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
3459
4059
|
{
|
|
3460
4060
|
type: "button",
|
|
3461
4061
|
onClick: () => void submit(),
|
|
@@ -3523,9 +4123,9 @@ function StartByEmail({
|
|
|
3523
4123
|
void submit();
|
|
3524
4124
|
},
|
|
3525
4125
|
children: [
|
|
3526
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4126
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.Label, { htmlFor: `${uid}-email`, children: l.email }),
|
|
3527
4127
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3528
|
-
|
|
4128
|
+
chunkZ5YCRJY3_cjs.Input,
|
|
3529
4129
|
{
|
|
3530
4130
|
id: `${uid}-email`,
|
|
3531
4131
|
type: "email",
|
|
@@ -3539,9 +4139,9 @@ function StartByEmail({
|
|
|
3539
4139
|
}
|
|
3540
4140
|
),
|
|
3541
4141
|
email !== "" && !valid && /* @__PURE__ */ jsxRuntime.jsx("p", { id: `${uid}-bad`, className: "text-xs text-destructive", children: l.invalidEmail }),
|
|
3542
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4142
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.Label, { htmlFor: `${uid}-text`, children: l.message }),
|
|
3543
4143
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3544
|
-
|
|
4144
|
+
chunkZ5YCRJY3_cjs.Textarea,
|
|
3545
4145
|
{
|
|
3546
4146
|
id: `${uid}-text`,
|
|
3547
4147
|
value: text,
|
|
@@ -3554,7 +4154,7 @@ function StartByEmail({
|
|
|
3554
4154
|
),
|
|
3555
4155
|
error && /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-xs text-destructive", "data-testid": "arbi-dm-start-error", children: error }),
|
|
3556
4156
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3557
|
-
|
|
4157
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
3558
4158
|
{
|
|
3559
4159
|
type: "submit",
|
|
3560
4160
|
size: "sm",
|
|
@@ -3744,7 +4344,7 @@ function ImageCropper({
|
|
|
3744
4344
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
|
|
3745
4345
|
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-semibold uppercase tracking-wider text-muted-foreground", children: "Zoom" }),
|
|
3746
4346
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3747
|
-
|
|
4347
|
+
chunkZ5YCRJY3_cjs.Slider,
|
|
3748
4348
|
{
|
|
3749
4349
|
value: [zoom],
|
|
3750
4350
|
onValueChange: ([v]) => setZoom(v ?? 1),
|
|
@@ -3821,8 +4421,8 @@ function ImageCropModal({
|
|
|
3821
4421
|
setBusy(false);
|
|
3822
4422
|
}
|
|
3823
4423
|
};
|
|
3824
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3825
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4424
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.Dialog, { open, onOpenChange: (next) => !next ? onCancel() : void 0, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.DialogContent, { className: "sm:max-w-md", "data-testid": "image-crop-modal", children: [
|
|
4425
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.DialogTitle, { children: title }) }),
|
|
3826
4426
|
image ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3827
4427
|
ImageCropper,
|
|
3828
4428
|
{
|
|
@@ -3833,9 +4433,9 @@ function ImageCropModal({
|
|
|
3833
4433
|
onCropComplete: setArea
|
|
3834
4434
|
}
|
|
3835
4435
|
) : null,
|
|
3836
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3837
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3838
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4436
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.DialogFooter, { className: "gap-2 sm:gap-2", children: [
|
|
4437
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.Button, { variant: "ghost", onClick: onCancel, disabled: busy, children: "Cancel" }),
|
|
4438
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.Button, { onClick: handleSave, disabled: !area || busy, "data-testid": "image-crop-save", children: [
|
|
3839
4439
|
busy ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-1 size-4 animate-spin" }) : null,
|
|
3840
4440
|
saveLabel
|
|
3841
4441
|
] })
|
|
@@ -3901,8 +4501,8 @@ function CommandPalette({
|
|
|
3901
4501
|
if (!q || task.isRunning) return;
|
|
3902
4502
|
void task.run(buildAskPrompt(q), askDocIds, { model });
|
|
3903
4503
|
};
|
|
3904
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3905
|
-
|
|
4504
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4505
|
+
chunkZ5YCRJY3_cjs.DialogContent,
|
|
3906
4506
|
{
|
|
3907
4507
|
className: chunkS6A6FSG7_cjs.cn(
|
|
3908
4508
|
"top-[12%] max-w-2xl translate-y-0 gap-0 overflow-hidden p-0",
|
|
@@ -3910,7 +4510,7 @@ function CommandPalette({
|
|
|
3910
4510
|
),
|
|
3911
4511
|
"data-testid": testId,
|
|
3912
4512
|
children: [
|
|
3913
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4513
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.DialogTitle, { className: "sr-only", children: "Command palette" }),
|
|
3914
4514
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 border-b border-border px-4", children: [
|
|
3915
4515
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: chunkS6A6FSG7_cjs.cn("size-4 shrink-0 text-ai-accent", classNames?.leadingIcon) }),
|
|
3916
4516
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3981,7 +4581,7 @@ function CommandPalette({
|
|
|
3981
4581
|
}
|
|
3982
4582
|
),
|
|
3983
4583
|
task.isDone && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3 flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3984
|
-
|
|
4584
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
3985
4585
|
{
|
|
3986
4586
|
variant: "outline",
|
|
3987
4587
|
size: "sm",
|
|
@@ -4116,10 +4716,10 @@ function DocumentTable({
|
|
|
4116
4716
|
extraColumns,
|
|
4117
4717
|
className
|
|
4118
4718
|
}) {
|
|
4119
|
-
const query =
|
|
4719
|
+
const query = chunkCBJ3WOGD_cjs.useDocuments(workspaceId, { enabled: !documents });
|
|
4120
4720
|
const rows = documents ?? query.data ?? [];
|
|
4121
4721
|
const isLoading = !documents && query.isLoading;
|
|
4122
|
-
const tagsQuery =
|
|
4722
|
+
const tagsQuery = chunkCBJ3WOGD_cjs.useTags(workspaceId);
|
|
4123
4723
|
const tagNameById = React__default.default.useMemo(() => {
|
|
4124
4724
|
const map = /* @__PURE__ */ new Map();
|
|
4125
4725
|
for (const t of tagsQuery.data ?? []) {
|
|
@@ -4179,7 +4779,7 @@ function DocumentTable({
|
|
|
4179
4779
|
const doc = p.data;
|
|
4180
4780
|
if (!doc) return null;
|
|
4181
4781
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4182
|
-
|
|
4782
|
+
chunkZ5YCRJY3_cjs.DocumentEntity,
|
|
4183
4783
|
{
|
|
4184
4784
|
doc,
|
|
4185
4785
|
size: "base",
|
|
@@ -4202,7 +4802,7 @@ function DocumentTable({
|
|
|
4202
4802
|
cellRenderer: (p) => {
|
|
4203
4803
|
const status = p.data?.status;
|
|
4204
4804
|
if (!status) return null;
|
|
4205
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4805
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.Badge, { variant: STATUS_VARIANTS[status.toLowerCase()] ?? "secondary", children: status });
|
|
4206
4806
|
}
|
|
4207
4807
|
},
|
|
4208
4808
|
{
|
|
@@ -4216,7 +4816,7 @@ function DocumentTable({
|
|
|
4216
4816
|
const doctags = p.data?.doctags ?? [];
|
|
4217
4817
|
if (doctags.length === 0) return null;
|
|
4218
4818
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center gap-1 py-1", children: doctags.map((dt) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
4219
|
-
|
|
4819
|
+
chunkZ5YCRJY3_cjs.TagEntity,
|
|
4220
4820
|
{
|
|
4221
4821
|
size: "sm",
|
|
4222
4822
|
tag: {
|
|
@@ -4300,7 +4900,7 @@ function DocumentCardMenu({
|
|
|
4300
4900
|
const invalidateDocuments = () => {
|
|
4301
4901
|
const workspaceId = arbi.getWorkspaceId();
|
|
4302
4902
|
if (workspaceId) {
|
|
4303
|
-
void queryClient.invalidateQueries({ queryKey:
|
|
4903
|
+
void queryClient.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.documents(workspaceId) });
|
|
4304
4904
|
}
|
|
4305
4905
|
};
|
|
4306
4906
|
const download = reactQuery.useMutation({
|
|
@@ -4399,10 +4999,10 @@ function DocumentGallery({
|
|
|
4399
4999
|
minTileWidth = 148,
|
|
4400
5000
|
className
|
|
4401
5001
|
}) {
|
|
4402
|
-
const query =
|
|
5002
|
+
const query = chunkCBJ3WOGD_cjs.useDocuments(workspaceId, { enabled: !documents });
|
|
4403
5003
|
const rows = documents ?? query.data ?? [];
|
|
4404
5004
|
const isLoading = !documents && query.isLoading;
|
|
4405
|
-
const tagsQuery =
|
|
5005
|
+
const tagsQuery = chunkCBJ3WOGD_cjs.useTags(workspaceId);
|
|
4406
5006
|
const tagNameById = React__default.default.useMemo(() => {
|
|
4407
5007
|
const map = /* @__PURE__ */ new Map();
|
|
4408
5008
|
for (const t of tagsQuery.data ?? []) {
|
|
@@ -4414,7 +5014,7 @@ function DocumentGallery({
|
|
|
4414
5014
|
() => rows.map((d) => d.external_id).filter((id) => !!id),
|
|
4415
5015
|
[rows]
|
|
4416
5016
|
);
|
|
4417
|
-
const thumbsQuery =
|
|
5017
|
+
const thumbsQuery = chunkCBJ3WOGD_cjs.useThumbnails(docIds);
|
|
4418
5018
|
const thumbs = thumbsQuery.data ?? {};
|
|
4419
5019
|
const storeSelected = useArbiUiStore((s) => s.selectedDocIds);
|
|
4420
5020
|
const storeSetSelected = useArbiUiStore((s) => s.setSelectedDocIds);
|
|
@@ -4450,7 +5050,7 @@ function DocumentGallery({
|
|
|
4450
5050
|
setRenamingId(null);
|
|
4451
5051
|
const activeWorkspace = workspaceId ?? arbi.getWorkspaceId();
|
|
4452
5052
|
if (activeWorkspace) {
|
|
4453
|
-
void queryClient.invalidateQueries({ queryKey:
|
|
5053
|
+
void queryClient.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.documents(activeWorkspace) });
|
|
4454
5054
|
}
|
|
4455
5055
|
}
|
|
4456
5056
|
});
|
|
@@ -4492,7 +5092,7 @@ function DocumentGallery({
|
|
|
4492
5092
|
(dt) => tagNameById.get(dt.tag_ext_id) ?? dt.tag_ext_id.slice(0, 8)
|
|
4493
5093
|
);
|
|
4494
5094
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-doc-id": id, "data-testid": "document-gallery-card", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4495
|
-
|
|
5095
|
+
chunkZ5YCRJY3_cjs.DocumentCard,
|
|
4496
5096
|
{
|
|
4497
5097
|
doc,
|
|
4498
5098
|
thumbnailUrl: thumbs[id],
|
|
@@ -4529,7 +5129,7 @@ function VoiceNoteRecorder({
|
|
|
4529
5129
|
isSaving = false,
|
|
4530
5130
|
transcribe
|
|
4531
5131
|
}) {
|
|
4532
|
-
const recorder =
|
|
5132
|
+
const recorder = chunkZ5YCRJY3_cjs.useAudioRecorder();
|
|
4533
5133
|
const [transcript, setTranscript] = React.useState(null);
|
|
4534
5134
|
const [isTranscribing, setIsTranscribing] = React.useState(false);
|
|
4535
5135
|
React.useEffect(() => {
|
|
@@ -4561,7 +5161,7 @@ function VoiceNoteRecorder({
|
|
|
4561
5161
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col items-center justify-center gap-6 p-8", children: [
|
|
4562
5162
|
recorder.state === "idle" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4563
5163
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4564
|
-
|
|
5164
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4565
5165
|
{
|
|
4566
5166
|
type: "button",
|
|
4567
5167
|
size: "lg",
|
|
@@ -4575,7 +5175,7 @@ function VoiceNoteRecorder({
|
|
|
4575
5175
|
] }),
|
|
4576
5176
|
(recorder.state === "recording" || recorder.state === "paused") && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4577
5177
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4578
|
-
|
|
5178
|
+
chunkZ5YCRJY3_cjs.MicWaveformIndicator,
|
|
4579
5179
|
{
|
|
4580
5180
|
level: recorder.level,
|
|
4581
5181
|
elapsedMs: recorder.elapsedMs,
|
|
@@ -4584,7 +5184,7 @@ function VoiceNoteRecorder({
|
|
|
4584
5184
|
),
|
|
4585
5185
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
4586
5186
|
recorder.state === "recording" ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4587
|
-
|
|
5187
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4588
5188
|
{
|
|
4589
5189
|
type: "button",
|
|
4590
5190
|
variant: "outline",
|
|
@@ -4596,7 +5196,7 @@ function VoiceNoteRecorder({
|
|
|
4596
5196
|
]
|
|
4597
5197
|
}
|
|
4598
5198
|
) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4599
|
-
|
|
5199
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4600
5200
|
{
|
|
4601
5201
|
type: "button",
|
|
4602
5202
|
variant: "outline",
|
|
@@ -4608,7 +5208,7 @@ function VoiceNoteRecorder({
|
|
|
4608
5208
|
]
|
|
4609
5209
|
}
|
|
4610
5210
|
),
|
|
4611
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5211
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.Button, { type: "button", onClick: recorder.stop, "data-testid": "voice-note-stop-button", children: [
|
|
4612
5212
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "mr-1.5 h-3.5 w-3.5 fill-current" }),
|
|
4613
5213
|
"Stop"
|
|
4614
5214
|
] })
|
|
@@ -4632,7 +5232,7 @@ function VoiceNoteRecorder({
|
|
|
4632
5232
|
),
|
|
4633
5233
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
4634
5234
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4635
|
-
|
|
5235
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4636
5236
|
{
|
|
4637
5237
|
type: "button",
|
|
4638
5238
|
variant: "outline",
|
|
@@ -4646,7 +5246,7 @@ function VoiceNoteRecorder({
|
|
|
4646
5246
|
}
|
|
4647
5247
|
),
|
|
4648
5248
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4649
|
-
|
|
5249
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4650
5250
|
{
|
|
4651
5251
|
type: "button",
|
|
4652
5252
|
variant: "outline",
|
|
@@ -4660,7 +5260,7 @@ function VoiceNoteRecorder({
|
|
|
4660
5260
|
}
|
|
4661
5261
|
),
|
|
4662
5262
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4663
|
-
|
|
5263
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4664
5264
|
{
|
|
4665
5265
|
type: "button",
|
|
4666
5266
|
onClick: handleSave,
|
|
@@ -4697,7 +5297,7 @@ function DraftTitleControls({
|
|
|
4697
5297
|
}
|
|
4698
5298
|
),
|
|
4699
5299
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4700
|
-
|
|
5300
|
+
chunkZ5YCRJY3_cjs.IconToggle,
|
|
4701
5301
|
{
|
|
4702
5302
|
icon: lucideReact.Sparkles,
|
|
4703
5303
|
isActive: autoRename,
|
|
@@ -4731,7 +5331,7 @@ function useCameraStream(constraints = { video: true, audio: false }) {
|
|
|
4731
5331
|
streamRef.current = media;
|
|
4732
5332
|
setStream(media);
|
|
4733
5333
|
} catch (err) {
|
|
4734
|
-
setError(
|
|
5334
|
+
setError(chunkZ5YCRJY3_cjs.classifyMediaError(err, "camera"));
|
|
4735
5335
|
} finally {
|
|
4736
5336
|
setIsStarting(false);
|
|
4737
5337
|
}
|
|
@@ -4862,7 +5462,7 @@ function PhotoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
4862
5462
|
}
|
|
4863
5463
|
) }),
|
|
4864
5464
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4865
|
-
|
|
5465
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4866
5466
|
{
|
|
4867
5467
|
type: "button",
|
|
4868
5468
|
size: "lg",
|
|
@@ -4880,7 +5480,7 @@ function PhotoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
4880
5480
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTMPDW7J5_cjs.ImageViewer, { blob: capturedBlob, alt: "Captured photo" }) }),
|
|
4881
5481
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
4882
5482
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4883
|
-
|
|
5483
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4884
5484
|
{
|
|
4885
5485
|
type: "button",
|
|
4886
5486
|
variant: "outline",
|
|
@@ -4894,7 +5494,7 @@ function PhotoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
4894
5494
|
}
|
|
4895
5495
|
),
|
|
4896
5496
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4897
|
-
|
|
5497
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4898
5498
|
{
|
|
4899
5499
|
type: "button",
|
|
4900
5500
|
variant: "outline",
|
|
@@ -4908,7 +5508,7 @@ function PhotoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
4908
5508
|
}
|
|
4909
5509
|
),
|
|
4910
5510
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4911
|
-
|
|
5511
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4912
5512
|
{
|
|
4913
5513
|
type: "button",
|
|
4914
5514
|
onClick: handleSave,
|
|
@@ -4967,10 +5567,10 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
4967
5567
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "relative inline-flex h-2 w-2 rounded-full bg-red-500" })
|
|
4968
5568
|
] }),
|
|
4969
5569
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold uppercase tracking-wide text-red-500", children: "Rec" }),
|
|
4970
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-xs tabular-nums text-muted-foreground", children:
|
|
5570
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-xs tabular-nums text-muted-foreground", children: chunkZ5YCRJY3_cjs.formatElapsed(recorder.elapsedMs) })
|
|
4971
5571
|
] }),
|
|
4972
5572
|
recorder.state === "recording" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
4973
|
-
|
|
5573
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4974
5574
|
{
|
|
4975
5575
|
type: "button",
|
|
4976
5576
|
size: "lg",
|
|
@@ -4980,7 +5580,7 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
4980
5580
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-5 w-5 fill-current" })
|
|
4981
5581
|
}
|
|
4982
5582
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
4983
|
-
|
|
5583
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4984
5584
|
{
|
|
4985
5585
|
type: "button",
|
|
4986
5586
|
size: "lg",
|
|
@@ -4997,7 +5597,7 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
4997
5597
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTMPDW7J5_cjs.VideoViewer, { blob: recorder.blob, title: "Captured video" }) }),
|
|
4998
5598
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
4999
5599
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5000
|
-
|
|
5600
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
5001
5601
|
{
|
|
5002
5602
|
type: "button",
|
|
5003
5603
|
variant: "outline",
|
|
@@ -5011,7 +5611,7 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
5011
5611
|
}
|
|
5012
5612
|
),
|
|
5013
5613
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5014
|
-
|
|
5614
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
5015
5615
|
{
|
|
5016
5616
|
type: "button",
|
|
5017
5617
|
variant: "outline",
|
|
@@ -5025,7 +5625,7 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
5025
5625
|
}
|
|
5026
5626
|
),
|
|
5027
5627
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5028
|
-
|
|
5628
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
5029
5629
|
{
|
|
5030
5630
|
type: "button",
|
|
5031
5631
|
onClick: handleSave,
|
|
@@ -5068,691 +5668,699 @@ function hasVideoTrack(blob) {
|
|
|
5068
5668
|
|
|
5069
5669
|
Object.defineProperty(exports, "DEFAULT_USD_PER_CREDIT", {
|
|
5070
5670
|
enumerable: true,
|
|
5071
|
-
get: function () { return
|
|
5671
|
+
get: function () { return chunkCBJ3WOGD_cjs.DEFAULT_USD_PER_CREDIT; }
|
|
5072
5672
|
});
|
|
5073
5673
|
Object.defineProperty(exports, "arbiQueryKeys", {
|
|
5074
5674
|
enumerable: true,
|
|
5075
|
-
get: function () { return
|
|
5675
|
+
get: function () { return chunkCBJ3WOGD_cjs.arbiQueryKeys; }
|
|
5076
5676
|
});
|
|
5077
5677
|
Object.defineProperty(exports, "creditsToUsd", {
|
|
5078
5678
|
enumerable: true,
|
|
5079
|
-
get: function () { return
|
|
5679
|
+
get: function () { return chunkCBJ3WOGD_cjs.creditsToUsd; }
|
|
5080
5680
|
});
|
|
5081
5681
|
Object.defineProperty(exports, "formatCredits", {
|
|
5082
5682
|
enumerable: true,
|
|
5083
|
-
get: function () { return
|
|
5683
|
+
get: function () { return chunkCBJ3WOGD_cjs.formatCredits; }
|
|
5084
5684
|
});
|
|
5085
5685
|
Object.defineProperty(exports, "isUsageMetered", {
|
|
5086
5686
|
enumerable: true,
|
|
5087
|
-
get: function () { return
|
|
5687
|
+
get: function () { return chunkCBJ3WOGD_cjs.isUsageMetered; }
|
|
5088
5688
|
});
|
|
5089
5689
|
Object.defineProperty(exports, "useActivity", {
|
|
5090
5690
|
enumerable: true,
|
|
5091
|
-
get: function () { return
|
|
5691
|
+
get: function () { return chunkCBJ3WOGD_cjs.useActivity; }
|
|
5092
5692
|
});
|
|
5093
5693
|
Object.defineProperty(exports, "useAgents", {
|
|
5094
5694
|
enumerable: true,
|
|
5095
|
-
get: function () { return
|
|
5695
|
+
get: function () { return chunkCBJ3WOGD_cjs.useAgents; }
|
|
5096
5696
|
});
|
|
5097
5697
|
Object.defineProperty(exports, "useAssistantQuery", {
|
|
5098
5698
|
enumerable: true,
|
|
5099
|
-
get: function () { return
|
|
5699
|
+
get: function () { return chunkCBJ3WOGD_cjs.useAssistantQuery; }
|
|
5100
5700
|
});
|
|
5101
5701
|
Object.defineProperty(exports, "useConfigs", {
|
|
5102
5702
|
enumerable: true,
|
|
5103
|
-
get: function () { return
|
|
5703
|
+
get: function () { return chunkCBJ3WOGD_cjs.useConfigs; }
|
|
5704
|
+
});
|
|
5705
|
+
Object.defineProperty(exports, "useConversationThreads", {
|
|
5706
|
+
enumerable: true,
|
|
5707
|
+
get: function () { return chunkCBJ3WOGD_cjs.useConversationThreads; }
|
|
5104
5708
|
});
|
|
5105
5709
|
Object.defineProperty(exports, "useConversations", {
|
|
5106
5710
|
enumerable: true,
|
|
5107
|
-
get: function () { return
|
|
5711
|
+
get: function () { return chunkCBJ3WOGD_cjs.useConversations; }
|
|
5108
5712
|
});
|
|
5109
5713
|
Object.defineProperty(exports, "useDeleteAgents", {
|
|
5110
5714
|
enumerable: true,
|
|
5111
|
-
get: function () { return
|
|
5715
|
+
get: function () { return chunkCBJ3WOGD_cjs.useDeleteAgents; }
|
|
5112
5716
|
});
|
|
5113
5717
|
Object.defineProperty(exports, "useDocuments", {
|
|
5114
5718
|
enumerable: true,
|
|
5115
|
-
get: function () { return
|
|
5719
|
+
get: function () { return chunkCBJ3WOGD_cjs.useDocuments; }
|
|
5116
5720
|
});
|
|
5117
5721
|
Object.defineProperty(exports, "useFacts", {
|
|
5118
5722
|
enumerable: true,
|
|
5119
|
-
get: function () { return
|
|
5723
|
+
get: function () { return chunkCBJ3WOGD_cjs.useFacts; }
|
|
5120
5724
|
});
|
|
5121
5725
|
Object.defineProperty(exports, "useHealth", {
|
|
5122
5726
|
enumerable: true,
|
|
5123
|
-
get: function () { return
|
|
5727
|
+
get: function () { return chunkCBJ3WOGD_cjs.useHealth; }
|
|
5124
5728
|
});
|
|
5125
5729
|
Object.defineProperty(exports, "useParsedDocument", {
|
|
5126
5730
|
enumerable: true,
|
|
5127
|
-
get: function () { return
|
|
5731
|
+
get: function () { return chunkCBJ3WOGD_cjs.useParsedDocument; }
|
|
5128
5732
|
});
|
|
5129
5733
|
Object.defineProperty(exports, "useProjectInvoices", {
|
|
5130
5734
|
enumerable: true,
|
|
5131
|
-
get: function () { return
|
|
5735
|
+
get: function () { return chunkCBJ3WOGD_cjs.useProjectInvoices; }
|
|
5132
5736
|
});
|
|
5133
5737
|
Object.defineProperty(exports, "useProjectUsage", {
|
|
5134
5738
|
enumerable: true,
|
|
5135
|
-
get: function () { return
|
|
5739
|
+
get: function () { return chunkCBJ3WOGD_cjs.useProjectUsage; }
|
|
5136
5740
|
});
|
|
5137
5741
|
Object.defineProperty(exports, "useProjects", {
|
|
5138
5742
|
enumerable: true,
|
|
5139
|
-
get: function () { return
|
|
5743
|
+
get: function () { return chunkCBJ3WOGD_cjs.useProjects; }
|
|
5140
5744
|
});
|
|
5141
5745
|
Object.defineProperty(exports, "useProjectsUsage", {
|
|
5142
5746
|
enumerable: true,
|
|
5143
|
-
get: function () { return
|
|
5747
|
+
get: function () { return chunkCBJ3WOGD_cjs.useProjectsUsage; }
|
|
5144
5748
|
});
|
|
5145
5749
|
Object.defineProperty(exports, "useSessions", {
|
|
5146
5750
|
enumerable: true,
|
|
5147
|
-
get: function () { return
|
|
5751
|
+
get: function () { return chunkCBJ3WOGD_cjs.useSessions; }
|
|
5148
5752
|
});
|
|
5149
5753
|
Object.defineProperty(exports, "useTags", {
|
|
5150
5754
|
enumerable: true,
|
|
5151
|
-
get: function () { return
|
|
5755
|
+
get: function () { return chunkCBJ3WOGD_cjs.useTags; }
|
|
5152
5756
|
});
|
|
5153
5757
|
Object.defineProperty(exports, "useTasks", {
|
|
5154
5758
|
enumerable: true,
|
|
5155
|
-
get: function () { return
|
|
5759
|
+
get: function () { return chunkCBJ3WOGD_cjs.useTasks; }
|
|
5156
5760
|
});
|
|
5157
5761
|
Object.defineProperty(exports, "useThumbnails", {
|
|
5158
5762
|
enumerable: true,
|
|
5159
|
-
get: function () { return
|
|
5763
|
+
get: function () { return chunkCBJ3WOGD_cjs.useThumbnails; }
|
|
5160
5764
|
});
|
|
5161
5765
|
Object.defineProperty(exports, "useUserUsageToday", {
|
|
5162
5766
|
enumerable: true,
|
|
5163
|
-
get: function () { return
|
|
5767
|
+
get: function () { return chunkCBJ3WOGD_cjs.useUserUsageToday; }
|
|
5164
5768
|
});
|
|
5165
5769
|
Object.defineProperty(exports, "useWorkspaces", {
|
|
5166
5770
|
enumerable: true,
|
|
5167
|
-
get: function () { return
|
|
5168
|
-
});
|
|
5169
|
-
Object.defineProperty(exports, "DEFAULT_NOTIFY_TONE", {
|
|
5170
|
-
enumerable: true,
|
|
5171
|
-
get: function () { return chunkPGLV23SB_cjs.DEFAULT_NOTIFY_TONE; }
|
|
5172
|
-
});
|
|
5173
|
-
Object.defineProperty(exports, "NotificationBell", {
|
|
5174
|
-
enumerable: true,
|
|
5175
|
-
get: function () { return chunkPGLV23SB_cjs.NotificationBell; }
|
|
5176
|
-
});
|
|
5177
|
-
Object.defineProperty(exports, "Toaster", {
|
|
5178
|
-
enumerable: true,
|
|
5179
|
-
get: function () { return chunkPGLV23SB_cjs.Toaster; }
|
|
5180
|
-
});
|
|
5181
|
-
Object.defineProperty(exports, "formatRelativeTime", {
|
|
5182
|
-
enumerable: true,
|
|
5183
|
-
get: function () { return chunkPGLV23SB_cjs.formatRelativeTime; }
|
|
5184
|
-
});
|
|
5185
|
-
Object.defineProperty(exports, "notify", {
|
|
5186
|
-
enumerable: true,
|
|
5187
|
-
get: function () { return chunkPGLV23SB_cjs.notify; }
|
|
5188
|
-
});
|
|
5189
|
-
Object.defineProperty(exports, "seedNotifications", {
|
|
5190
|
-
enumerable: true,
|
|
5191
|
-
get: function () { return chunkPGLV23SB_cjs.seedNotifications; }
|
|
5192
|
-
});
|
|
5193
|
-
Object.defineProperty(exports, "selectUnread", {
|
|
5194
|
-
enumerable: true,
|
|
5195
|
-
get: function () { return chunkPGLV23SB_cjs.selectUnread; }
|
|
5196
|
-
});
|
|
5197
|
-
Object.defineProperty(exports, "toast", {
|
|
5198
|
-
enumerable: true,
|
|
5199
|
-
get: function () { return chunkPGLV23SB_cjs.toast; }
|
|
5200
|
-
});
|
|
5201
|
-
Object.defineProperty(exports, "useNotify", {
|
|
5202
|
-
enumerable: true,
|
|
5203
|
-
get: function () { return chunkPGLV23SB_cjs.useNotify; }
|
|
5771
|
+
get: function () { return chunkCBJ3WOGD_cjs.useWorkspaces; }
|
|
5204
5772
|
});
|
|
5205
5773
|
Object.defineProperty(exports, "AgentBadge", {
|
|
5206
5774
|
enumerable: true,
|
|
5207
|
-
get: function () { return
|
|
5775
|
+
get: function () { return chunkZ5YCRJY3_cjs.AgentBadge; }
|
|
5208
5776
|
});
|
|
5209
5777
|
Object.defineProperty(exports, "AiMarkdown", {
|
|
5210
5778
|
enumerable: true,
|
|
5211
|
-
get: function () { return
|
|
5779
|
+
get: function () { return chunkZ5YCRJY3_cjs.AiMarkdown; }
|
|
5212
5780
|
});
|
|
5213
5781
|
Object.defineProperty(exports, "ArbiBotHeadIcon", {
|
|
5214
5782
|
enumerable: true,
|
|
5215
|
-
get: function () { return
|
|
5783
|
+
get: function () { return chunkZ5YCRJY3_cjs.ArbiBotHeadIcon; }
|
|
5216
5784
|
});
|
|
5217
5785
|
Object.defineProperty(exports, "AudIcon", {
|
|
5218
5786
|
enumerable: true,
|
|
5219
|
-
get: function () { return
|
|
5787
|
+
get: function () { return chunkZ5YCRJY3_cjs.AudIcon; }
|
|
5220
5788
|
});
|
|
5221
5789
|
Object.defineProperty(exports, "Avatar", {
|
|
5222
5790
|
enumerable: true,
|
|
5223
|
-
get: function () { return
|
|
5791
|
+
get: function () { return chunkZ5YCRJY3_cjs.Avatar; }
|
|
5224
5792
|
});
|
|
5225
5793
|
Object.defineProperty(exports, "AvatarFallback", {
|
|
5226
5794
|
enumerable: true,
|
|
5227
|
-
get: function () { return
|
|
5795
|
+
get: function () { return chunkZ5YCRJY3_cjs.AvatarFallback; }
|
|
5228
5796
|
});
|
|
5229
5797
|
Object.defineProperty(exports, "AvatarImage", {
|
|
5230
5798
|
enumerable: true,
|
|
5231
|
-
get: function () { return
|
|
5799
|
+
get: function () { return chunkZ5YCRJY3_cjs.AvatarImage; }
|
|
5232
5800
|
});
|
|
5233
5801
|
Object.defineProperty(exports, "BASE_COLORS", {
|
|
5234
5802
|
enumerable: true,
|
|
5235
|
-
get: function () { return
|
|
5803
|
+
get: function () { return chunkZ5YCRJY3_cjs.BASE_COLORS; }
|
|
5236
5804
|
});
|
|
5237
5805
|
Object.defineProperty(exports, "Badge", {
|
|
5238
5806
|
enumerable: true,
|
|
5239
|
-
get: function () { return
|
|
5807
|
+
get: function () { return chunkZ5YCRJY3_cjs.Badge; }
|
|
5240
5808
|
});
|
|
5241
5809
|
Object.defineProperty(exports, "Button", {
|
|
5242
5810
|
enumerable: true,
|
|
5243
|
-
get: function () { return
|
|
5811
|
+
get: function () { return chunkZ5YCRJY3_cjs.Button; }
|
|
5244
5812
|
});
|
|
5245
5813
|
Object.defineProperty(exports, "Card", {
|
|
5246
5814
|
enumerable: true,
|
|
5247
|
-
get: function () { return
|
|
5815
|
+
get: function () { return chunkZ5YCRJY3_cjs.Card; }
|
|
5248
5816
|
});
|
|
5249
5817
|
Object.defineProperty(exports, "CardContent", {
|
|
5250
5818
|
enumerable: true,
|
|
5251
|
-
get: function () { return
|
|
5819
|
+
get: function () { return chunkZ5YCRJY3_cjs.CardContent; }
|
|
5252
5820
|
});
|
|
5253
5821
|
Object.defineProperty(exports, "CardDescription", {
|
|
5254
5822
|
enumerable: true,
|
|
5255
|
-
get: function () { return
|
|
5823
|
+
get: function () { return chunkZ5YCRJY3_cjs.CardDescription; }
|
|
5256
5824
|
});
|
|
5257
5825
|
Object.defineProperty(exports, "CardFooter", {
|
|
5258
5826
|
enumerable: true,
|
|
5259
|
-
get: function () { return
|
|
5827
|
+
get: function () { return chunkZ5YCRJY3_cjs.CardFooter; }
|
|
5260
5828
|
});
|
|
5261
5829
|
Object.defineProperty(exports, "CardHeader", {
|
|
5262
5830
|
enumerable: true,
|
|
5263
|
-
get: function () { return
|
|
5831
|
+
get: function () { return chunkZ5YCRJY3_cjs.CardHeader; }
|
|
5264
5832
|
});
|
|
5265
5833
|
Object.defineProperty(exports, "CardTitle", {
|
|
5266
5834
|
enumerable: true,
|
|
5267
|
-
get: function () { return
|
|
5835
|
+
get: function () { return chunkZ5YCRJY3_cjs.CardTitle; }
|
|
5268
5836
|
});
|
|
5269
5837
|
Object.defineProperty(exports, "Checkbox", {
|
|
5270
5838
|
enumerable: true,
|
|
5271
|
-
get: function () { return
|
|
5839
|
+
get: function () { return chunkZ5YCRJY3_cjs.Checkbox; }
|
|
5272
5840
|
});
|
|
5273
5841
|
Object.defineProperty(exports, "Collapsible", {
|
|
5274
5842
|
enumerable: true,
|
|
5275
|
-
get: function () { return
|
|
5843
|
+
get: function () { return chunkZ5YCRJY3_cjs.Collapsible; }
|
|
5276
5844
|
});
|
|
5277
5845
|
Object.defineProperty(exports, "CollapsibleContent", {
|
|
5278
5846
|
enumerable: true,
|
|
5279
|
-
get: function () { return
|
|
5847
|
+
get: function () { return chunkZ5YCRJY3_cjs.CollapsibleContent; }
|
|
5280
5848
|
});
|
|
5281
5849
|
Object.defineProperty(exports, "CollapsibleTrigger", {
|
|
5282
5850
|
enumerable: true,
|
|
5283
|
-
get: function () { return
|
|
5851
|
+
get: function () { return chunkZ5YCRJY3_cjs.CollapsibleTrigger; }
|
|
5284
5852
|
});
|
|
5285
5853
|
Object.defineProperty(exports, "Command", {
|
|
5286
5854
|
enumerable: true,
|
|
5287
|
-
get: function () { return
|
|
5855
|
+
get: function () { return chunkZ5YCRJY3_cjs.Command; }
|
|
5288
5856
|
});
|
|
5289
5857
|
Object.defineProperty(exports, "CommandDialog", {
|
|
5290
5858
|
enumerable: true,
|
|
5291
|
-
get: function () { return
|
|
5859
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandDialog; }
|
|
5292
5860
|
});
|
|
5293
5861
|
Object.defineProperty(exports, "CommandEmpty", {
|
|
5294
5862
|
enumerable: true,
|
|
5295
|
-
get: function () { return
|
|
5863
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandEmpty; }
|
|
5296
5864
|
});
|
|
5297
5865
|
Object.defineProperty(exports, "CommandGroup", {
|
|
5298
5866
|
enumerable: true,
|
|
5299
|
-
get: function () { return
|
|
5867
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandGroup; }
|
|
5300
5868
|
});
|
|
5301
5869
|
Object.defineProperty(exports, "CommandInput", {
|
|
5302
5870
|
enumerable: true,
|
|
5303
|
-
get: function () { return
|
|
5871
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandInput; }
|
|
5304
5872
|
});
|
|
5305
5873
|
Object.defineProperty(exports, "CommandItem", {
|
|
5306
5874
|
enumerable: true,
|
|
5307
|
-
get: function () { return
|
|
5875
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandItem; }
|
|
5308
5876
|
});
|
|
5309
5877
|
Object.defineProperty(exports, "CommandList", {
|
|
5310
5878
|
enumerable: true,
|
|
5311
|
-
get: function () { return
|
|
5879
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandList; }
|
|
5312
5880
|
});
|
|
5313
5881
|
Object.defineProperty(exports, "CommandSeparator", {
|
|
5314
5882
|
enumerable: true,
|
|
5315
|
-
get: function () { return
|
|
5883
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandSeparator; }
|
|
5316
5884
|
});
|
|
5317
5885
|
Object.defineProperty(exports, "CommandShortcut", {
|
|
5318
5886
|
enumerable: true,
|
|
5319
|
-
get: function () { return
|
|
5887
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandShortcut; }
|
|
5320
5888
|
});
|
|
5321
5889
|
Object.defineProperty(exports, "Dialog", {
|
|
5322
5890
|
enumerable: true,
|
|
5323
|
-
get: function () { return
|
|
5891
|
+
get: function () { return chunkZ5YCRJY3_cjs.Dialog; }
|
|
5324
5892
|
});
|
|
5325
5893
|
Object.defineProperty(exports, "DialogClose", {
|
|
5326
5894
|
enumerable: true,
|
|
5327
|
-
get: function () { return
|
|
5895
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogClose; }
|
|
5328
5896
|
});
|
|
5329
5897
|
Object.defineProperty(exports, "DialogContent", {
|
|
5330
5898
|
enumerable: true,
|
|
5331
|
-
get: function () { return
|
|
5899
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogContent; }
|
|
5332
5900
|
});
|
|
5333
5901
|
Object.defineProperty(exports, "DialogDescription", {
|
|
5334
5902
|
enumerable: true,
|
|
5335
|
-
get: function () { return
|
|
5903
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogDescription; }
|
|
5336
5904
|
});
|
|
5337
5905
|
Object.defineProperty(exports, "DialogFooter", {
|
|
5338
5906
|
enumerable: true,
|
|
5339
|
-
get: function () { return
|
|
5907
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogFooter; }
|
|
5340
5908
|
});
|
|
5341
5909
|
Object.defineProperty(exports, "DialogHeader", {
|
|
5342
5910
|
enumerable: true,
|
|
5343
|
-
get: function () { return
|
|
5911
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogHeader; }
|
|
5344
5912
|
});
|
|
5345
5913
|
Object.defineProperty(exports, "DialogOverlay", {
|
|
5346
5914
|
enumerable: true,
|
|
5347
|
-
get: function () { return
|
|
5915
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogOverlay; }
|
|
5348
5916
|
});
|
|
5349
5917
|
Object.defineProperty(exports, "DialogPortal", {
|
|
5350
5918
|
enumerable: true,
|
|
5351
|
-
get: function () { return
|
|
5919
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogPortal; }
|
|
5352
5920
|
});
|
|
5353
5921
|
Object.defineProperty(exports, "DialogTitle", {
|
|
5354
5922
|
enumerable: true,
|
|
5355
|
-
get: function () { return
|
|
5923
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogTitle; }
|
|
5356
5924
|
});
|
|
5357
5925
|
Object.defineProperty(exports, "DialogTrigger", {
|
|
5358
5926
|
enumerable: true,
|
|
5359
|
-
get: function () { return
|
|
5927
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogTrigger; }
|
|
5360
5928
|
});
|
|
5361
5929
|
Object.defineProperty(exports, "DictateProvider", {
|
|
5362
5930
|
enumerable: true,
|
|
5363
|
-
get: function () { return
|
|
5931
|
+
get: function () { return chunkZ5YCRJY3_cjs.DictateProvider; }
|
|
5364
5932
|
});
|
|
5365
5933
|
Object.defineProperty(exports, "DocumentCard", {
|
|
5366
5934
|
enumerable: true,
|
|
5367
|
-
get: function () { return
|
|
5935
|
+
get: function () { return chunkZ5YCRJY3_cjs.DocumentCard; }
|
|
5368
5936
|
});
|
|
5369
5937
|
Object.defineProperty(exports, "DocumentEntity", {
|
|
5370
5938
|
enumerable: true,
|
|
5371
|
-
get: function () { return
|
|
5939
|
+
get: function () { return chunkZ5YCRJY3_cjs.DocumentEntity; }
|
|
5372
5940
|
});
|
|
5373
5941
|
Object.defineProperty(exports, "ENTITY_MAPPINGS", {
|
|
5374
5942
|
enumerable: true,
|
|
5375
|
-
get: function () { return
|
|
5943
|
+
get: function () { return chunkZ5YCRJY3_cjs.ENTITY_MAPPINGS; }
|
|
5376
5944
|
});
|
|
5377
5945
|
Object.defineProperty(exports, "EmlIcon", {
|
|
5378
5946
|
enumerable: true,
|
|
5379
|
-
get: function () { return
|
|
5947
|
+
get: function () { return chunkZ5YCRJY3_cjs.EmlIcon; }
|
|
5380
5948
|
});
|
|
5381
5949
|
Object.defineProperty(exports, "EntityIcon", {
|
|
5382
5950
|
enumerable: true,
|
|
5383
|
-
get: function () { return
|
|
5951
|
+
get: function () { return chunkZ5YCRJY3_cjs.EntityIcon; }
|
|
5384
5952
|
});
|
|
5385
5953
|
Object.defineProperty(exports, "EntityPill", {
|
|
5386
5954
|
enumerable: true,
|
|
5387
|
-
get: function () { return
|
|
5955
|
+
get: function () { return chunkZ5YCRJY3_cjs.EntityPill; }
|
|
5388
5956
|
});
|
|
5389
5957
|
Object.defineProperty(exports, "FILE_TYPE_COLORS", {
|
|
5390
5958
|
enumerable: true,
|
|
5391
|
-
get: function () { return
|
|
5959
|
+
get: function () { return chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS; }
|
|
5392
5960
|
});
|
|
5393
5961
|
Object.defineProperty(exports, "HoverCard", {
|
|
5394
5962
|
enumerable: true,
|
|
5395
|
-
get: function () { return
|
|
5963
|
+
get: function () { return chunkZ5YCRJY3_cjs.HoverCard; }
|
|
5396
5964
|
});
|
|
5397
5965
|
Object.defineProperty(exports, "HoverCardContent", {
|
|
5398
5966
|
enumerable: true,
|
|
5399
|
-
get: function () { return
|
|
5967
|
+
get: function () { return chunkZ5YCRJY3_cjs.HoverCardContent; }
|
|
5400
5968
|
});
|
|
5401
5969
|
Object.defineProperty(exports, "HoverCardTrigger", {
|
|
5402
5970
|
enumerable: true,
|
|
5403
|
-
get: function () { return
|
|
5971
|
+
get: function () { return chunkZ5YCRJY3_cjs.HoverCardTrigger; }
|
|
5404
5972
|
});
|
|
5405
5973
|
Object.defineProperty(exports, "IconToggle", {
|
|
5406
5974
|
enumerable: true,
|
|
5407
|
-
get: function () { return
|
|
5975
|
+
get: function () { return chunkZ5YCRJY3_cjs.IconToggle; }
|
|
5408
5976
|
});
|
|
5409
5977
|
Object.defineProperty(exports, "ImgIcon", {
|
|
5410
5978
|
enumerable: true,
|
|
5411
|
-
get: function () { return
|
|
5979
|
+
get: function () { return chunkZ5YCRJY3_cjs.ImgIcon; }
|
|
5412
5980
|
});
|
|
5413
5981
|
Object.defineProperty(exports, "InlineMicButton", {
|
|
5414
5982
|
enumerable: true,
|
|
5415
|
-
get: function () { return
|
|
5983
|
+
get: function () { return chunkZ5YCRJY3_cjs.InlineMicButton; }
|
|
5416
5984
|
});
|
|
5417
5985
|
Object.defineProperty(exports, "Input", {
|
|
5418
5986
|
enumerable: true,
|
|
5419
|
-
get: function () { return
|
|
5987
|
+
get: function () { return chunkZ5YCRJY3_cjs.Input; }
|
|
5420
5988
|
});
|
|
5421
5989
|
Object.defineProperty(exports, "Label", {
|
|
5422
5990
|
enumerable: true,
|
|
5423
|
-
get: function () { return
|
|
5991
|
+
get: function () { return chunkZ5YCRJY3_cjs.Label; }
|
|
5424
5992
|
});
|
|
5425
5993
|
Object.defineProperty(exports, "MarkMenu", {
|
|
5426
5994
|
enumerable: true,
|
|
5427
|
-
get: function () { return
|
|
5995
|
+
get: function () { return chunkZ5YCRJY3_cjs.MarkMenu; }
|
|
5428
5996
|
});
|
|
5429
5997
|
Object.defineProperty(exports, "MicRecordingOverlay", {
|
|
5430
5998
|
enumerable: true,
|
|
5431
|
-
get: function () { return
|
|
5999
|
+
get: function () { return chunkZ5YCRJY3_cjs.MicRecordingOverlay; }
|
|
5432
6000
|
});
|
|
5433
6001
|
Object.defineProperty(exports, "MicWaveformIndicator", {
|
|
5434
6002
|
enumerable: true,
|
|
5435
|
-
get: function () { return
|
|
6003
|
+
get: function () { return chunkZ5YCRJY3_cjs.MicWaveformIndicator; }
|
|
5436
6004
|
});
|
|
5437
6005
|
Object.defineProperty(exports, "NEUTRAL_GRAY", {
|
|
5438
6006
|
enumerable: true,
|
|
5439
|
-
get: function () { return
|
|
6007
|
+
get: function () { return chunkZ5YCRJY3_cjs.NEUTRAL_GRAY; }
|
|
5440
6008
|
});
|
|
5441
6009
|
Object.defineProperty(exports, "PLACEHOLDER_COLOR", {
|
|
5442
6010
|
enumerable: true,
|
|
5443
|
-
get: function () { return
|
|
6011
|
+
get: function () { return chunkZ5YCRJY3_cjs.PLACEHOLDER_COLOR; }
|
|
5444
6012
|
});
|
|
5445
6013
|
Object.defineProperty(exports, "PassageCard", {
|
|
5446
6014
|
enumerable: true,
|
|
5447
|
-
get: function () { return
|
|
6015
|
+
get: function () { return chunkZ5YCRJY3_cjs.PassageCard; }
|
|
5448
6016
|
});
|
|
5449
6017
|
Object.defineProperty(exports, "PdfIcon", {
|
|
5450
6018
|
enumerable: true,
|
|
5451
|
-
get: function () { return
|
|
6019
|
+
get: function () { return chunkZ5YCRJY3_cjs.PdfIcon; }
|
|
5452
6020
|
});
|
|
5453
6021
|
Object.defineProperty(exports, "Popover", {
|
|
5454
6022
|
enumerable: true,
|
|
5455
|
-
get: function () { return
|
|
6023
|
+
get: function () { return chunkZ5YCRJY3_cjs.Popover; }
|
|
5456
6024
|
});
|
|
5457
6025
|
Object.defineProperty(exports, "PopoverAnchor", {
|
|
5458
6026
|
enumerable: true,
|
|
5459
|
-
get: function () { return
|
|
6027
|
+
get: function () { return chunkZ5YCRJY3_cjs.PopoverAnchor; }
|
|
5460
6028
|
});
|
|
5461
6029
|
Object.defineProperty(exports, "PopoverContent", {
|
|
5462
6030
|
enumerable: true,
|
|
5463
|
-
get: function () { return
|
|
6031
|
+
get: function () { return chunkZ5YCRJY3_cjs.PopoverContent; }
|
|
5464
6032
|
});
|
|
5465
6033
|
Object.defineProperty(exports, "PopoverTrigger", {
|
|
5466
6034
|
enumerable: true,
|
|
5467
|
-
get: function () { return
|
|
6035
|
+
get: function () { return chunkZ5YCRJY3_cjs.PopoverTrigger; }
|
|
5468
6036
|
});
|
|
5469
6037
|
Object.defineProperty(exports, "PresenceLabel", {
|
|
5470
6038
|
enumerable: true,
|
|
5471
|
-
get: function () { return
|
|
6039
|
+
get: function () { return chunkZ5YCRJY3_cjs.PresenceLabel; }
|
|
5472
6040
|
});
|
|
5473
6041
|
Object.defineProperty(exports, "Progress", {
|
|
5474
6042
|
enumerable: true,
|
|
5475
|
-
get: function () { return
|
|
6043
|
+
get: function () { return chunkZ5YCRJY3_cjs.Progress; }
|
|
5476
6044
|
});
|
|
5477
6045
|
Object.defineProperty(exports, "ProjectEntity", {
|
|
5478
6046
|
enumerable: true,
|
|
5479
|
-
get: function () { return
|
|
6047
|
+
get: function () { return chunkZ5YCRJY3_cjs.ProjectEntity; }
|
|
5480
6048
|
});
|
|
5481
6049
|
Object.defineProperty(exports, "RadioGroup", {
|
|
5482
6050
|
enumerable: true,
|
|
5483
|
-
get: function () { return
|
|
6051
|
+
get: function () { return chunkZ5YCRJY3_cjs.RadioGroup; }
|
|
5484
6052
|
});
|
|
5485
6053
|
Object.defineProperty(exports, "RadioGroupItem", {
|
|
5486
6054
|
enumerable: true,
|
|
5487
|
-
get: function () { return
|
|
6055
|
+
get: function () { return chunkZ5YCRJY3_cjs.RadioGroupItem; }
|
|
5488
6056
|
});
|
|
5489
6057
|
Object.defineProperty(exports, "RagDot", {
|
|
5490
6058
|
enumerable: true,
|
|
5491
|
-
get: function () { return
|
|
6059
|
+
get: function () { return chunkZ5YCRJY3_cjs.RagDot; }
|
|
5492
6060
|
});
|
|
5493
6061
|
Object.defineProperty(exports, "RelevanceDot", {
|
|
5494
6062
|
enumerable: true,
|
|
5495
|
-
get: function () { return
|
|
6063
|
+
get: function () { return chunkZ5YCRJY3_cjs.RelevanceDot; }
|
|
5496
6064
|
});
|
|
5497
6065
|
Object.defineProperty(exports, "Select", {
|
|
5498
6066
|
enumerable: true,
|
|
5499
|
-
get: function () { return
|
|
6067
|
+
get: function () { return chunkZ5YCRJY3_cjs.Select; }
|
|
5500
6068
|
});
|
|
5501
6069
|
Object.defineProperty(exports, "SelectContent", {
|
|
5502
6070
|
enumerable: true,
|
|
5503
|
-
get: function () { return
|
|
6071
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectContent; }
|
|
5504
6072
|
});
|
|
5505
6073
|
Object.defineProperty(exports, "SelectGroup", {
|
|
5506
6074
|
enumerable: true,
|
|
5507
|
-
get: function () { return
|
|
6075
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectGroup; }
|
|
5508
6076
|
});
|
|
5509
6077
|
Object.defineProperty(exports, "SelectItem", {
|
|
5510
6078
|
enumerable: true,
|
|
5511
|
-
get: function () { return
|
|
6079
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectItem; }
|
|
5512
6080
|
});
|
|
5513
6081
|
Object.defineProperty(exports, "SelectLabel", {
|
|
5514
6082
|
enumerable: true,
|
|
5515
|
-
get: function () { return
|
|
6083
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectLabel; }
|
|
5516
6084
|
});
|
|
5517
6085
|
Object.defineProperty(exports, "SelectScrollDownButton", {
|
|
5518
6086
|
enumerable: true,
|
|
5519
|
-
get: function () { return
|
|
6087
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectScrollDownButton; }
|
|
5520
6088
|
});
|
|
5521
6089
|
Object.defineProperty(exports, "SelectScrollUpButton", {
|
|
5522
6090
|
enumerable: true,
|
|
5523
|
-
get: function () { return
|
|
6091
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectScrollUpButton; }
|
|
5524
6092
|
});
|
|
5525
6093
|
Object.defineProperty(exports, "SelectSeparator", {
|
|
5526
6094
|
enumerable: true,
|
|
5527
|
-
get: function () { return
|
|
6095
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectSeparator; }
|
|
5528
6096
|
});
|
|
5529
6097
|
Object.defineProperty(exports, "SelectTrigger", {
|
|
5530
6098
|
enumerable: true,
|
|
5531
|
-
get: function () { return
|
|
6099
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectTrigger; }
|
|
5532
6100
|
});
|
|
5533
6101
|
Object.defineProperty(exports, "SelectValue", {
|
|
5534
6102
|
enumerable: true,
|
|
5535
|
-
get: function () { return
|
|
6103
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectValue; }
|
|
5536
6104
|
});
|
|
5537
6105
|
Object.defineProperty(exports, "Separator", {
|
|
5538
6106
|
enumerable: true,
|
|
5539
|
-
get: function () { return
|
|
6107
|
+
get: function () { return chunkZ5YCRJY3_cjs.Separator; }
|
|
5540
6108
|
});
|
|
5541
6109
|
Object.defineProperty(exports, "Slider", {
|
|
5542
6110
|
enumerable: true,
|
|
5543
|
-
get: function () { return
|
|
6111
|
+
get: function () { return chunkZ5YCRJY3_cjs.Slider; }
|
|
5544
6112
|
});
|
|
5545
6113
|
Object.defineProperty(exports, "StatusPill", {
|
|
5546
6114
|
enumerable: true,
|
|
5547
|
-
get: function () { return
|
|
6115
|
+
get: function () { return chunkZ5YCRJY3_cjs.StatusPill; }
|
|
5548
6116
|
});
|
|
5549
6117
|
Object.defineProperty(exports, "Switch", {
|
|
5550
6118
|
enumerable: true,
|
|
5551
|
-
get: function () { return
|
|
6119
|
+
get: function () { return chunkZ5YCRJY3_cjs.Switch; }
|
|
5552
6120
|
});
|
|
5553
6121
|
Object.defineProperty(exports, "TAG_TYPE_ICONS", {
|
|
5554
6122
|
enumerable: true,
|
|
5555
|
-
get: function () { return
|
|
6123
|
+
get: function () { return chunkZ5YCRJY3_cjs.TAG_TYPE_ICONS; }
|
|
5556
6124
|
});
|
|
5557
6125
|
Object.defineProperty(exports, "TAG_TYPE_LABELS", {
|
|
5558
6126
|
enumerable: true,
|
|
5559
|
-
get: function () { return
|
|
6127
|
+
get: function () { return chunkZ5YCRJY3_cjs.TAG_TYPE_LABELS; }
|
|
5560
6128
|
});
|
|
5561
6129
|
Object.defineProperty(exports, "Table", {
|
|
5562
6130
|
enumerable: true,
|
|
5563
|
-
get: function () { return
|
|
6131
|
+
get: function () { return chunkZ5YCRJY3_cjs.Table; }
|
|
5564
6132
|
});
|
|
5565
6133
|
Object.defineProperty(exports, "TableBody", {
|
|
5566
6134
|
enumerable: true,
|
|
5567
|
-
get: function () { return
|
|
6135
|
+
get: function () { return chunkZ5YCRJY3_cjs.TableBody; }
|
|
5568
6136
|
});
|
|
5569
6137
|
Object.defineProperty(exports, "TableCaption", {
|
|
5570
6138
|
enumerable: true,
|
|
5571
|
-
get: function () { return
|
|
6139
|
+
get: function () { return chunkZ5YCRJY3_cjs.TableCaption; }
|
|
5572
6140
|
});
|
|
5573
6141
|
Object.defineProperty(exports, "TableCell", {
|
|
5574
6142
|
enumerable: true,
|
|
5575
|
-
get: function () { return
|
|
6143
|
+
get: function () { return chunkZ5YCRJY3_cjs.TableCell; }
|
|
5576
6144
|
});
|
|
5577
6145
|
Object.defineProperty(exports, "TableFooter", {
|
|
5578
6146
|
enumerable: true,
|
|
5579
|
-
get: function () { return
|
|
6147
|
+
get: function () { return chunkZ5YCRJY3_cjs.TableFooter; }
|
|
5580
6148
|
});
|
|
5581
6149
|
Object.defineProperty(exports, "TableHead", {
|
|
5582
6150
|
enumerable: true,
|
|
5583
|
-
get: function () { return
|
|
6151
|
+
get: function () { return chunkZ5YCRJY3_cjs.TableHead; }
|
|
5584
6152
|
});
|
|
5585
6153
|
Object.defineProperty(exports, "TableHeader", {
|
|
5586
6154
|
enumerable: true,
|
|
5587
|
-
get: function () { return
|
|
6155
|
+
get: function () { return chunkZ5YCRJY3_cjs.TableHeader; }
|
|
5588
6156
|
});
|
|
5589
6157
|
Object.defineProperty(exports, "TableRow", {
|
|
5590
6158
|
enumerable: true,
|
|
5591
|
-
get: function () { return
|
|
6159
|
+
get: function () { return chunkZ5YCRJY3_cjs.TableRow; }
|
|
5592
6160
|
});
|
|
5593
6161
|
Object.defineProperty(exports, "Tabs", {
|
|
5594
6162
|
enumerable: true,
|
|
5595
|
-
get: function () { return
|
|
6163
|
+
get: function () { return chunkZ5YCRJY3_cjs.Tabs; }
|
|
5596
6164
|
});
|
|
5597
6165
|
Object.defineProperty(exports, "TabsContent", {
|
|
5598
6166
|
enumerable: true,
|
|
5599
|
-
get: function () { return
|
|
6167
|
+
get: function () { return chunkZ5YCRJY3_cjs.TabsContent; }
|
|
5600
6168
|
});
|
|
5601
6169
|
Object.defineProperty(exports, "TabsList", {
|
|
5602
6170
|
enumerable: true,
|
|
5603
|
-
get: function () { return
|
|
6171
|
+
get: function () { return chunkZ5YCRJY3_cjs.TabsList; }
|
|
5604
6172
|
});
|
|
5605
6173
|
Object.defineProperty(exports, "TabsTrigger", {
|
|
5606
6174
|
enumerable: true,
|
|
5607
|
-
get: function () { return
|
|
6175
|
+
get: function () { return chunkZ5YCRJY3_cjs.TabsTrigger; }
|
|
5608
6176
|
});
|
|
5609
6177
|
Object.defineProperty(exports, "TagEntity", {
|
|
5610
6178
|
enumerable: true,
|
|
5611
|
-
get: function () { return
|
|
6179
|
+
get: function () { return chunkZ5YCRJY3_cjs.TagEntity; }
|
|
5612
6180
|
});
|
|
5613
6181
|
Object.defineProperty(exports, "Textarea", {
|
|
5614
6182
|
enumerable: true,
|
|
5615
|
-
get: function () { return
|
|
6183
|
+
get: function () { return chunkZ5YCRJY3_cjs.Textarea; }
|
|
5616
6184
|
});
|
|
5617
6185
|
Object.defineProperty(exports, "Toggle", {
|
|
5618
6186
|
enumerable: true,
|
|
5619
|
-
get: function () { return
|
|
6187
|
+
get: function () { return chunkZ5YCRJY3_cjs.Toggle; }
|
|
5620
6188
|
});
|
|
5621
6189
|
Object.defineProperty(exports, "ToggleGroup", {
|
|
5622
6190
|
enumerable: true,
|
|
5623
|
-
get: function () { return
|
|
6191
|
+
get: function () { return chunkZ5YCRJY3_cjs.ToggleGroup; }
|
|
5624
6192
|
});
|
|
5625
6193
|
Object.defineProperty(exports, "ToggleGroupItem", {
|
|
5626
6194
|
enumerable: true,
|
|
5627
|
-
get: function () { return
|
|
6195
|
+
get: function () { return chunkZ5YCRJY3_cjs.ToggleGroupItem; }
|
|
5628
6196
|
});
|
|
5629
6197
|
Object.defineProperty(exports, "Tooltip", {
|
|
5630
6198
|
enumerable: true,
|
|
5631
|
-
get: function () { return
|
|
6199
|
+
get: function () { return chunkZ5YCRJY3_cjs.Tooltip; }
|
|
5632
6200
|
});
|
|
5633
6201
|
Object.defineProperty(exports, "TooltipContent", {
|
|
5634
6202
|
enumerable: true,
|
|
5635
|
-
get: function () { return
|
|
6203
|
+
get: function () { return chunkZ5YCRJY3_cjs.TooltipContent; }
|
|
5636
6204
|
});
|
|
5637
6205
|
Object.defineProperty(exports, "TooltipProvider", {
|
|
5638
6206
|
enumerable: true,
|
|
5639
|
-
get: function () { return
|
|
6207
|
+
get: function () { return chunkZ5YCRJY3_cjs.TooltipProvider; }
|
|
5640
6208
|
});
|
|
5641
6209
|
Object.defineProperty(exports, "TooltipTrigger", {
|
|
5642
6210
|
enumerable: true,
|
|
5643
|
-
get: function () { return
|
|
6211
|
+
get: function () { return chunkZ5YCRJY3_cjs.TooltipTrigger; }
|
|
5644
6212
|
});
|
|
5645
6213
|
Object.defineProperty(exports, "UserEntity", {
|
|
5646
6214
|
enumerable: true,
|
|
5647
|
-
get: function () { return
|
|
6215
|
+
get: function () { return chunkZ5YCRJY3_cjs.UserEntity; }
|
|
5648
6216
|
});
|
|
5649
6217
|
Object.defineProperty(exports, "UserMenu", {
|
|
5650
6218
|
enumerable: true,
|
|
5651
|
-
get: function () { return
|
|
6219
|
+
get: function () { return chunkZ5YCRJY3_cjs.UserMenu; }
|
|
5652
6220
|
});
|
|
5653
6221
|
Object.defineProperty(exports, "VISIBILITY_ICONS", {
|
|
5654
6222
|
enumerable: true,
|
|
5655
|
-
get: function () { return
|
|
6223
|
+
get: function () { return chunkZ5YCRJY3_cjs.VISIBILITY_ICONS; }
|
|
5656
6224
|
});
|
|
5657
6225
|
Object.defineProperty(exports, "VidIcon", {
|
|
5658
6226
|
enumerable: true,
|
|
5659
|
-
get: function () { return
|
|
6227
|
+
get: function () { return chunkZ5YCRJY3_cjs.VidIcon; }
|
|
5660
6228
|
});
|
|
5661
6229
|
Object.defineProperty(exports, "VisibilityIcon", {
|
|
5662
6230
|
enumerable: true,
|
|
5663
|
-
get: function () { return
|
|
6231
|
+
get: function () { return chunkZ5YCRJY3_cjs.VisibilityIcon; }
|
|
5664
6232
|
});
|
|
5665
6233
|
Object.defineProperty(exports, "badgeVariants", {
|
|
5666
6234
|
enumerable: true,
|
|
5667
|
-
get: function () { return
|
|
6235
|
+
get: function () { return chunkZ5YCRJY3_cjs.badgeVariants; }
|
|
5668
6236
|
});
|
|
5669
6237
|
Object.defineProperty(exports, "buttonVariants", {
|
|
5670
6238
|
enumerable: true,
|
|
5671
|
-
get: function () { return
|
|
6239
|
+
get: function () { return chunkZ5YCRJY3_cjs.buttonVariants; }
|
|
5672
6240
|
});
|
|
5673
6241
|
Object.defineProperty(exports, "cardVariants", {
|
|
5674
6242
|
enumerable: true,
|
|
5675
|
-
get: function () { return
|
|
6243
|
+
get: function () { return chunkZ5YCRJY3_cjs.cardVariants; }
|
|
5676
6244
|
});
|
|
5677
6245
|
Object.defineProperty(exports, "configureEntityRegistry", {
|
|
5678
6246
|
enumerable: true,
|
|
5679
|
-
get: function () { return
|
|
6247
|
+
get: function () { return chunkZ5YCRJY3_cjs.configureEntityRegistry; }
|
|
5680
6248
|
});
|
|
5681
6249
|
Object.defineProperty(exports, "configureRagLabels", {
|
|
5682
6250
|
enumerable: true,
|
|
5683
|
-
get: function () { return
|
|
6251
|
+
get: function () { return chunkZ5YCRJY3_cjs.configureRagLabels; }
|
|
5684
6252
|
});
|
|
5685
6253
|
Object.defineProperty(exports, "configureStatusRegistry", {
|
|
5686
6254
|
enumerable: true,
|
|
5687
|
-
get: function () { return
|
|
6255
|
+
get: function () { return chunkZ5YCRJY3_cjs.configureStatusRegistry; }
|
|
5688
6256
|
});
|
|
5689
6257
|
Object.defineProperty(exports, "formatElapsed", {
|
|
5690
6258
|
enumerable: true,
|
|
5691
|
-
get: function () { return
|
|
6259
|
+
get: function () { return chunkZ5YCRJY3_cjs.formatElapsed; }
|
|
5692
6260
|
});
|
|
5693
6261
|
Object.defineProperty(exports, "getDocIcon", {
|
|
5694
6262
|
enumerable: true,
|
|
5695
|
-
get: function () { return
|
|
6263
|
+
get: function () { return chunkZ5YCRJY3_cjs.getDocIcon; }
|
|
5696
6264
|
});
|
|
5697
6265
|
Object.defineProperty(exports, "getEntityColor", {
|
|
5698
6266
|
enumerable: true,
|
|
5699
|
-
get: function () { return
|
|
6267
|
+
get: function () { return chunkZ5YCRJY3_cjs.getEntityColor; }
|
|
5700
6268
|
});
|
|
5701
6269
|
Object.defineProperty(exports, "getEntityColorStyles", {
|
|
5702
6270
|
enumerable: true,
|
|
5703
|
-
get: function () { return
|
|
6271
|
+
get: function () { return chunkZ5YCRJY3_cjs.getEntityColorStyles; }
|
|
5704
6272
|
});
|
|
5705
6273
|
Object.defineProperty(exports, "getEntityIcon", {
|
|
5706
6274
|
enumerable: true,
|
|
5707
|
-
get: function () { return
|
|
6275
|
+
get: function () { return chunkZ5YCRJY3_cjs.getEntityIcon; }
|
|
5708
6276
|
});
|
|
5709
6277
|
Object.defineProperty(exports, "getEntityLabel", {
|
|
5710
6278
|
enumerable: true,
|
|
5711
|
-
get: function () { return
|
|
6279
|
+
get: function () { return chunkZ5YCRJY3_cjs.getEntityLabel; }
|
|
5712
6280
|
});
|
|
5713
6281
|
Object.defineProperty(exports, "getStatusVariant", {
|
|
5714
6282
|
enumerable: true,
|
|
5715
|
-
get: function () { return
|
|
6283
|
+
get: function () { return chunkZ5YCRJY3_cjs.getStatusVariant; }
|
|
5716
6284
|
});
|
|
5717
6285
|
Object.defineProperty(exports, "getTagTypeIcon", {
|
|
5718
6286
|
enumerable: true,
|
|
5719
|
-
get: function () { return
|
|
6287
|
+
get: function () { return chunkZ5YCRJY3_cjs.getTagTypeIcon; }
|
|
5720
6288
|
});
|
|
5721
6289
|
Object.defineProperty(exports, "getTagTypeLabel", {
|
|
5722
6290
|
enumerable: true,
|
|
5723
|
-
get: function () { return
|
|
6291
|
+
get: function () { return chunkZ5YCRJY3_cjs.getTagTypeLabel; }
|
|
5724
6292
|
});
|
|
5725
6293
|
Object.defineProperty(exports, "getWorkspaceColor", {
|
|
5726
6294
|
enumerable: true,
|
|
5727
|
-
get: function () { return
|
|
6295
|
+
get: function () { return chunkZ5YCRJY3_cjs.getWorkspaceColor; }
|
|
5728
6296
|
});
|
|
5729
6297
|
Object.defineProperty(exports, "toggleVariants", {
|
|
5730
6298
|
enumerable: true,
|
|
5731
|
-
get: function () { return
|
|
6299
|
+
get: function () { return chunkZ5YCRJY3_cjs.toggleVariants; }
|
|
5732
6300
|
});
|
|
5733
6301
|
Object.defineProperty(exports, "useAudioRecorder", {
|
|
5734
6302
|
enumerable: true,
|
|
5735
|
-
get: function () { return
|
|
6303
|
+
get: function () { return chunkZ5YCRJY3_cjs.useAudioRecorder; }
|
|
5736
6304
|
});
|
|
5737
6305
|
Object.defineProperty(exports, "MarkdownRenderer", {
|
|
5738
6306
|
enumerable: true,
|
|
5739
|
-
get: function () { return
|
|
6307
|
+
get: function () { return chunkOI55JRKT_cjs.MarkdownRenderer; }
|
|
5740
6308
|
});
|
|
5741
6309
|
Object.defineProperty(exports, "MarkdownStreamingContext", {
|
|
5742
6310
|
enumerable: true,
|
|
5743
|
-
get: function () { return
|
|
6311
|
+
get: function () { return chunkOI55JRKT_cjs.MarkdownStreamingContext; }
|
|
5744
6312
|
});
|
|
5745
6313
|
Object.defineProperty(exports, "markdownBaseComponents", {
|
|
5746
6314
|
enumerable: true,
|
|
5747
|
-
get: function () { return
|
|
6315
|
+
get: function () { return chunkOI55JRKT_cjs.markdownBaseComponents; }
|
|
5748
6316
|
});
|
|
5749
6317
|
Object.defineProperty(exports, "normalizeCitationMarkup", {
|
|
5750
6318
|
enumerable: true,
|
|
5751
|
-
get: function () { return
|
|
6319
|
+
get: function () { return chunkOI55JRKT_cjs.normalizeCitationMarkup; }
|
|
5752
6320
|
});
|
|
5753
6321
|
Object.defineProperty(exports, "splitMarkdownBlocks", {
|
|
5754
6322
|
enumerable: true,
|
|
5755
|
-
get: function () { return
|
|
6323
|
+
get: function () { return chunkOI55JRKT_cjs.splitMarkdownBlocks; }
|
|
6324
|
+
});
|
|
6325
|
+
Object.defineProperty(exports, "trimOpenCitation", {
|
|
6326
|
+
enumerable: true,
|
|
6327
|
+
get: function () { return chunkOI55JRKT_cjs.trimOpenCitation; }
|
|
6328
|
+
});
|
|
6329
|
+
Object.defineProperty(exports, "DEFAULT_NOTIFY_TONE", {
|
|
6330
|
+
enumerable: true,
|
|
6331
|
+
get: function () { return chunkPGLV23SB_cjs.DEFAULT_NOTIFY_TONE; }
|
|
6332
|
+
});
|
|
6333
|
+
Object.defineProperty(exports, "NotificationBell", {
|
|
6334
|
+
enumerable: true,
|
|
6335
|
+
get: function () { return chunkPGLV23SB_cjs.NotificationBell; }
|
|
6336
|
+
});
|
|
6337
|
+
Object.defineProperty(exports, "Toaster", {
|
|
6338
|
+
enumerable: true,
|
|
6339
|
+
get: function () { return chunkPGLV23SB_cjs.Toaster; }
|
|
6340
|
+
});
|
|
6341
|
+
Object.defineProperty(exports, "formatRelativeTime", {
|
|
6342
|
+
enumerable: true,
|
|
6343
|
+
get: function () { return chunkPGLV23SB_cjs.formatRelativeTime; }
|
|
6344
|
+
});
|
|
6345
|
+
Object.defineProperty(exports, "notify", {
|
|
6346
|
+
enumerable: true,
|
|
6347
|
+
get: function () { return chunkPGLV23SB_cjs.notify; }
|
|
6348
|
+
});
|
|
6349
|
+
Object.defineProperty(exports, "seedNotifications", {
|
|
6350
|
+
enumerable: true,
|
|
6351
|
+
get: function () { return chunkPGLV23SB_cjs.seedNotifications; }
|
|
6352
|
+
});
|
|
6353
|
+
Object.defineProperty(exports, "selectUnread", {
|
|
6354
|
+
enumerable: true,
|
|
6355
|
+
get: function () { return chunkPGLV23SB_cjs.selectUnread; }
|
|
6356
|
+
});
|
|
6357
|
+
Object.defineProperty(exports, "toast", {
|
|
6358
|
+
enumerable: true,
|
|
6359
|
+
get: function () { return chunkPGLV23SB_cjs.toast; }
|
|
6360
|
+
});
|
|
6361
|
+
Object.defineProperty(exports, "useNotify", {
|
|
6362
|
+
enumerable: true,
|
|
6363
|
+
get: function () { return chunkPGLV23SB_cjs.useNotify; }
|
|
5756
6364
|
});
|
|
5757
6365
|
Object.defineProperty(exports, "DropdownMenu", {
|
|
5758
6366
|
enumerable: true,
|
|
@@ -5861,6 +6469,7 @@ exports.CommandPalette = CommandPalette;
|
|
|
5861
6469
|
exports.CommandPaletteProvider = CommandPaletteProvider;
|
|
5862
6470
|
exports.ConversationList = ConversationList;
|
|
5863
6471
|
exports.DEFAULT_ASPECT_OPTIONS = DEFAULT_ASPECT_OPTIONS;
|
|
6472
|
+
exports.DEFAULT_PASSWORD_CHANGE_FORM_MESSAGES = DEFAULT_PASSWORD_CHANGE_FORM_MESSAGES;
|
|
5864
6473
|
exports.DEFAULT_START_BY_EMAIL_LABELS = DEFAULT_START_BY_EMAIL_LABELS;
|
|
5865
6474
|
exports.DateSeparator = DateSeparator;
|
|
5866
6475
|
exports.DirectMessages = DirectMessages;
|
|
@@ -5883,6 +6492,7 @@ exports.HtmlIcon = HtmlIcon;
|
|
|
5883
6492
|
exports.ImageCropModal = ImageCropModal;
|
|
5884
6493
|
exports.ImageCropper = ImageCropper;
|
|
5885
6494
|
exports.LinkedInIcon = LinkedInIcon;
|
|
6495
|
+
exports.MAX_AVATAR_FILE_BYTES = MAX_AVATAR_FILE_BYTES;
|
|
5886
6496
|
exports.MessageArtifactCard = MessageArtifactCard;
|
|
5887
6497
|
exports.MessageBubble = MessageBubble;
|
|
5888
6498
|
exports.MessageThread = MessageThread;
|
|
@@ -5909,11 +6519,15 @@ exports.getWorkspaceSentPhrase = getWorkspaceSentPhrase;
|
|
|
5909
6519
|
exports.hasVideoTrack = hasVideoTrack;
|
|
5910
6520
|
exports.isWorkspaceNotificationType = isWorkspaceNotificationType;
|
|
5911
6521
|
exports.parseActivityContent = parseActivityContent;
|
|
6522
|
+
exports.parseDeleteAccountBlockers = parseDeleteAccountBlockers;
|
|
5912
6523
|
exports.pickRecentWorkspaces = pickRecentWorkspaces;
|
|
5913
6524
|
exports.redlineStats = redlineStats;
|
|
5914
6525
|
exports.resolveActiveWorkspace = resolveActiveWorkspace;
|
|
5915
6526
|
exports.textToArtifact = textToArtifact;
|
|
5916
6527
|
exports.titleFromQuestion = titleFromQuestion;
|
|
6528
|
+
exports.toChatCitations = toChatCitations;
|
|
6529
|
+
exports.toNotificationPreferences = toNotificationPreferences;
|
|
6530
|
+
exports.toProfileView = toProfileView;
|
|
5917
6531
|
exports.toRedlineMarkdown = toRedlineMarkdown;
|
|
5918
6532
|
exports.toShellWorkspace = toShellWorkspace;
|
|
5919
6533
|
exports.useAddContacts = useAddContacts;
|
|
@@ -5933,16 +6547,29 @@ exports.useArbiWsStatus = useArbiWsStatus;
|
|
|
5933
6547
|
exports.useArbiWsStore = useArbiWsStore;
|
|
5934
6548
|
exports.useArbiWsTask = useArbiWsTask;
|
|
5935
6549
|
exports.useArbiWsTasks = useArbiWsTasks;
|
|
6550
|
+
exports.useAvatarCrop = useAvatarCrop;
|
|
5936
6551
|
exports.useCameraStream = useCameraStream;
|
|
5937
6552
|
exports.useCommandPalette = useCommandPalette;
|
|
6553
|
+
exports.useConfirmEmailChange = useConfirmEmailChange;
|
|
5938
6554
|
exports.useContacts = useContacts;
|
|
5939
6555
|
exports.useCreateAgent = useCreateAgent;
|
|
5940
6556
|
exports.useCreateTask = useCreateTask;
|
|
6557
|
+
exports.useCurrentSessionId = useCurrentSessionId;
|
|
6558
|
+
exports.useDeleteAccount = useDeleteAccount;
|
|
6559
|
+
exports.useDeleteAccountFlow = useDeleteAccountFlow;
|
|
5941
6560
|
exports.useDeleteTask = useDeleteTask;
|
|
5942
6561
|
exports.useDirectMessages = useDirectMessages;
|
|
6562
|
+
exports.useEmailChange = useEmailChange;
|
|
5943
6563
|
exports.useGrantAgentAccess = useGrantAgentAccess;
|
|
6564
|
+
exports.useLogoutAllSessions = useLogoutAllSessions;
|
|
6565
|
+
exports.useNameEditor = useNameEditor;
|
|
6566
|
+
exports.useNotificationPreferences = useNotificationPreferences;
|
|
6567
|
+
exports.usePasswordChange = usePasswordChange;
|
|
6568
|
+
exports.usePasswordChangeForm = usePasswordChangeForm;
|
|
5944
6569
|
exports.usePendingContacts = usePendingContacts;
|
|
6570
|
+
exports.useProfile = useProfile;
|
|
5945
6571
|
exports.useRemoveContacts = useRemoveContacts;
|
|
6572
|
+
exports.useRequestEmailChange = useRequestEmailChange;
|
|
5946
6573
|
exports.useRevokeAgentAccess = useRevokeAgentAccess;
|
|
5947
6574
|
exports.useRunTask = useRunTask;
|
|
5948
6575
|
exports.useSaveAgentConfig = useSaveAgentConfig;
|
|
@@ -5950,7 +6577,10 @@ exports.useSemanticSearch = useSemanticSearch;
|
|
|
5950
6577
|
exports.useShellWorkspaces = useShellWorkspaces;
|
|
5951
6578
|
exports.useSkills = useSkills;
|
|
5952
6579
|
exports.useTaskRuns = useTaskRuns;
|
|
6580
|
+
exports.useTerminateSession = useTerminateSession;
|
|
6581
|
+
exports.useUpdateProfile = useUpdateProfile;
|
|
5953
6582
|
exports.useUpdateTask = useUpdateTask;
|
|
6583
|
+
exports.useUserSettings = useUserSettings;
|
|
5954
6584
|
exports.useVideoRecorder = useVideoRecorder;
|
|
5955
6585
|
exports.useWorkspaceDocs = useWorkspaceDocs;
|
|
5956
6586
|
exports.userDisplayName = userDisplayName;
|