@arbidocs/react 0.4.4 → 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 +23 -0
- package/dist/artifacts/index.cjs +458 -0
- package/dist/artifacts/index.cjs.map +1 -0
- package/dist/artifacts/index.d.cts +276 -0
- package/dist/artifacts/index.d.ts +276 -0
- package/dist/artifacts/index.js +434 -0
- package/dist/artifacts/index.js.map +1 -0
- package/dist/artifacts/redline-core.cjs +20 -0
- package/dist/artifacts/redline-core.cjs.map +1 -0
- package/dist/artifacts/redline-core.d.cts +36 -0
- package/dist/artifacts/redline-core.d.ts +36 -0
- package/dist/artifacts/redline-core.js +3 -0
- package/dist/artifacts/redline-core.js.map +1 -0
- package/dist/{chunk-MIJRORQL.js → chunk-2ACHNDO6.js} +10 -304
- package/dist/chunk-2ACHNDO6.js.map +1 -0
- package/dist/chunk-CBJ3WOGD.cjs +317 -0
- package/dist/chunk-CBJ3WOGD.cjs.map +1 -0
- package/dist/{chunk-EJ2BMHYK.js → chunk-FSMIN5VX.js} +4 -3
- package/dist/chunk-FSMIN5VX.js.map +1 -0
- package/dist/{chunk-JKO3NR5L.js → chunk-HDCRPPBW.js} +5 -23
- package/dist/chunk-HDCRPPBW.js.map +1 -0
- package/dist/chunk-J4MX2W4H.js +26 -0
- package/dist/chunk-J4MX2W4H.js.map +1 -0
- package/dist/chunk-KWCHIAQ5.js +290 -0
- package/dist/chunk-KWCHIAQ5.js.map +1 -0
- package/dist/{chunk-6ALMBER7.js → chunk-N5SVBDLC.js} +4 -9
- package/dist/chunk-N5SVBDLC.js.map +1 -0
- package/dist/{chunk-RZQACYNQ.cjs → chunk-OBNTJEEO.cjs} +14 -20
- package/dist/chunk-OBNTJEEO.cjs.map +1 -0
- package/dist/chunk-OI55JRKT.cjs +334 -0
- package/dist/chunk-OI55JRKT.cjs.map +1 -0
- package/dist/{chunk-BXP6S34V.cjs → chunk-PGLV23SB.cjs} +13 -12
- package/dist/chunk-PGLV23SB.cjs.map +1 -0
- package/dist/chunk-RIHMIEXM.js +320 -0
- package/dist/chunk-RIHMIEXM.js.map +1 -0
- package/dist/chunk-RKWNX32A.js +299 -0
- package/dist/chunk-RKWNX32A.js.map +1 -0
- package/dist/chunk-S6A6FSG7.cjs +13 -0
- package/dist/chunk-S6A6FSG7.cjs.map +1 -0
- package/dist/chunk-SN5YV6FF.js +11 -0
- package/dist/chunk-SN5YV6FF.js.map +1 -0
- package/dist/{chunk-7IOCMCC5.cjs → chunk-TMPDW7J5.cjs} +3 -23
- package/dist/chunk-TMPDW7J5.cjs.map +1 -0
- package/dist/chunk-VJWAP2HJ.cjs +303 -0
- package/dist/chunk-VJWAP2HJ.cjs.map +1 -0
- package/dist/{chunk-ORKGCXG3.cjs → chunk-Z5YCRJY3.cjs} +125 -429
- package/dist/chunk-Z5YCRJY3.cjs.map +1 -0
- package/dist/chunk-ZMTLGO3K.cjs +29 -0
- package/dist/chunk-ZMTLGO3K.cjs.map +1 -0
- package/dist/index-CC6CvXEs.d.cts +1366 -0
- package/dist/index-CC6CvXEs.d.ts +1366 -0
- package/dist/index.cjs +1159 -722
- 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 +645 -310
- package/dist/index.js.map +1 -1
- package/dist/shell/index.cjs +8 -7
- package/dist/shell/index.js +3 -2
- package/dist/ui/index.cjs +158 -152
- package/dist/ui/index.d.cts +24 -1324
- package/dist/ui/index.d.ts +24 -1324
- package/dist/ui/index.js +4 -2
- package/dist/viewers/index.cjs +9 -8
- package/dist/viewers/index.cjs.map +1 -1
- package/dist/viewers/index.js +3 -2
- package/dist/viewers/index.js.map +1 -1
- package/package.json +19 -3
- package/dist/chunk-6ALMBER7.js.map +0 -1
- package/dist/chunk-7IOCMCC5.cjs.map +0 -1
- package/dist/chunk-BXP6S34V.cjs.map +0 -1
- package/dist/chunk-EJ2BMHYK.js.map +0 -1
- package/dist/chunk-JKO3NR5L.js.map +0 -1
- package/dist/chunk-MIJRORQL.js.map +0 -1
- package/dist/chunk-ORKGCXG3.cjs.map +0 -1
- package/dist/chunk-RZQACYNQ.cjs.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
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');
|
|
6
|
+
var chunkPGLV23SB_cjs = require('./chunk-PGLV23SB.cjs');
|
|
7
|
+
var chunkOBNTJEEO_cjs = require('./chunk-OBNTJEEO.cjs');
|
|
8
|
+
var chunkS6A6FSG7_cjs = require('./chunk-S6A6FSG7.cjs');
|
|
9
|
+
var chunkTMPDW7J5_cjs = require('./chunk-TMPDW7J5.cjs');
|
|
10
|
+
var chunkZMTLGO3K_cjs = require('./chunk-ZMTLGO3K.cjs');
|
|
7
11
|
var React = require('react');
|
|
8
|
-
var
|
|
12
|
+
var browser = require('@arbidocs/sdk/browser');
|
|
9
13
|
var lucideReact = require('lucide-react');
|
|
10
14
|
var jsxRuntime = require('react/jsx-runtime');
|
|
11
|
-
var browser = require('@arbidocs/sdk/browser');
|
|
12
15
|
var client = require('@arbidocs/client');
|
|
13
16
|
var zustand = require('zustand');
|
|
17
|
+
var reactQuery = require('@tanstack/react-query');
|
|
14
18
|
var diff = require('diff');
|
|
15
19
|
var framerMotion = require('framer-motion');
|
|
16
20
|
var reactDom = require('react-dom');
|
|
@@ -25,274 +29,28 @@ var React__default = /*#__PURE__*/_interopDefault(React);
|
|
|
25
29
|
var ReactMarkdown__default = /*#__PURE__*/_interopDefault(ReactMarkdown);
|
|
26
30
|
var Cropper__default = /*#__PURE__*/_interopDefault(Cropper);
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
function formatCredits(credits, options = {}) {
|
|
31
|
-
const { unit = true, locale = "en-US" } = options;
|
|
32
|
-
const whole = Math.round(Number.isFinite(credits) ? credits : 0);
|
|
33
|
-
const digits = whole.toLocaleString(locale);
|
|
34
|
-
return unit ? `${digits} ${whole === 1 ? "credit" : "credits"}` : digits;
|
|
35
|
-
}
|
|
36
|
-
function creditsToUsd(credits, usdPerCredit = DEFAULT_USD_PER_CREDIT) {
|
|
37
|
-
return credits * usdPerCredit;
|
|
38
|
-
}
|
|
39
|
-
function isUsageMetered(usage, subscription) {
|
|
40
|
-
const empty = usage.total_spend === 0 && usage.total_tokens === 0 && usage.total_requests === 0;
|
|
41
|
-
return !(empty && subscription === "dev");
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// src/hooks.ts
|
|
45
|
-
var arbiQueryKeys = {
|
|
46
|
-
workspaces: () => ["arbi", "workspaces"],
|
|
47
|
-
documents: (workspaceId) => ["arbi", "documents", workspaceId],
|
|
48
|
-
conversations: (workspaceId) => ["arbi", "conversations", workspaceId],
|
|
49
|
-
tags: (workspaceId) => ["arbi", "tags", workspaceId],
|
|
50
|
-
thumbnails: (docIds) => ["arbi", "thumbnails", [...docIds].sort().join(",")],
|
|
51
|
-
parsedDoc: (docId, stage) => ["arbi", "parsedDoc", docId, stage],
|
|
52
|
-
agents: () => ["arbi", "agents"],
|
|
53
|
-
sessions: () => ["arbi", "sessions"],
|
|
54
|
-
health: () => ["arbi", "health"],
|
|
55
|
-
tasks: () => ["arbi", "tasks"],
|
|
56
|
-
facts: (workspaceId) => ["arbi", "facts", workspaceId],
|
|
57
|
-
configs: () => ["arbi", "configs"],
|
|
58
|
-
activity: () => ["arbi", "activity"],
|
|
59
|
-
projects: () => ["arbi", "projects"],
|
|
60
|
-
projectUsage: (projectExtId, monthsBack) => ["arbi", "projectUsage", projectExtId, monthsBack],
|
|
61
|
-
projectInvoices: (projectExtId) => ["arbi", "projectInvoices", projectExtId],
|
|
62
|
-
userUsageToday: () => ["arbi", "userUsageToday"],
|
|
63
|
-
contacts: () => ["arbi", "contacts"],
|
|
64
|
-
skills: () => ["arbi", "skills"],
|
|
65
|
-
taskRuns: (taskId) => ["arbi", "taskRuns", taskId],
|
|
66
|
-
/** An agent's pinned config; `undefined` = the library default config. */
|
|
67
|
-
agentConfig: (agentExtId) => ["arbi", "agentConfig", agentExtId ?? "default"],
|
|
68
|
-
agentWorkspaces: (agentExtId) => ["arbi", "agentWorkspaces", agentExtId],
|
|
69
|
-
models: () => ["arbi", "models"]
|
|
70
|
-
};
|
|
71
|
-
function useWorkspaces(options) {
|
|
72
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
73
|
-
return reactQuery.useQuery({
|
|
74
|
-
queryKey: arbiQueryKeys.workspaces(),
|
|
75
|
-
queryFn: () => arbi.workspaces.list(),
|
|
76
|
-
enabled: options?.enabled ?? arbi.isLoggedIn
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
function useDocuments(workspaceId, options) {
|
|
80
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
81
|
-
return reactQuery.useQuery({
|
|
82
|
-
queryKey: arbiQueryKeys.documents(workspaceId ?? ""),
|
|
83
|
-
queryFn: () => arbi.documents.list(),
|
|
84
|
-
enabled: (options?.enabled ?? true) && !!workspaceId && arbi.hasWorkspace
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
function useConversations(workspaceId, options) {
|
|
88
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
89
|
-
return reactQuery.useQuery({
|
|
90
|
-
queryKey: arbiQueryKeys.conversations(workspaceId ?? ""),
|
|
91
|
-
queryFn: () => arbi.conversations.list(),
|
|
92
|
-
enabled: (options?.enabled ?? true) && !!workspaceId && arbi.hasWorkspace
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
function useTags(workspaceId, options) {
|
|
96
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
97
|
-
return reactQuery.useQuery({
|
|
98
|
-
queryKey: arbiQueryKeys.tags(workspaceId ?? ""),
|
|
99
|
-
queryFn: () => arbi.tags.list(),
|
|
100
|
-
enabled: (options?.enabled ?? true) && !!workspaceId && arbi.hasWorkspace
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
function useThumbnails(docIds, options) {
|
|
104
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
105
|
-
return reactQuery.useQuery({
|
|
106
|
-
queryKey: arbiQueryKeys.thumbnails(docIds),
|
|
107
|
-
queryFn: () => arbi.documents.getThumbnails(docIds),
|
|
108
|
-
enabled: (options?.enabled ?? true) && docIds.length > 0 && arbi.hasWorkspace,
|
|
109
|
-
staleTime: 5 * 6e4
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
function useParsedDocument(docId, stage = "final", options) {
|
|
113
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
114
|
-
return reactQuery.useQuery({
|
|
115
|
-
queryKey: arbiQueryKeys.parsedDoc(docId ?? "", stage),
|
|
116
|
-
queryFn: () => arbi.documents.getParsedContent(docId, stage),
|
|
117
|
-
enabled: (options?.enabled ?? true) && !!docId && arbi.hasWorkspace
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
function useAssistantQuery() {
|
|
121
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
122
|
-
return reactQuery.useMutation({
|
|
123
|
-
mutationFn: ({ question, ...options }) => arbi.assistant.query(question, options)
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
function useAgents(options) {
|
|
127
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
128
|
-
return reactQuery.useQuery({
|
|
129
|
-
queryKey: arbiQueryKeys.agents(),
|
|
130
|
-
queryFn: () => arbi.agents.list(),
|
|
131
|
-
enabled: options?.enabled ?? arbi.isLoggedIn
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
function useDeleteAgents() {
|
|
135
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
136
|
-
return reactQuery.useMutation({
|
|
137
|
-
mutationFn: ({ agentExtIds }) => arbi.agents.delete(agentExtIds)
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
function useSessions(options) {
|
|
141
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
142
|
-
return reactQuery.useQuery({
|
|
143
|
-
queryKey: arbiQueryKeys.sessions(),
|
|
144
|
-
queryFn: () => arbi.sessions.list(),
|
|
145
|
-
enabled: options?.enabled ?? arbi.isLoggedIn
|
|
146
|
-
});
|
|
32
|
+
function previewText(content) {
|
|
33
|
+
return content.replace(/\s+/g, " ").trim().replace(/^(?:(?:[-*•>]|#{1,6})\s+)+/, "");
|
|
147
34
|
}
|
|
148
|
-
function
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
function useTasks(options) {
|
|
157
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
158
|
-
return reactQuery.useQuery({
|
|
159
|
-
queryKey: arbiQueryKeys.tasks(),
|
|
160
|
-
queryFn: () => arbi.tasks.list(),
|
|
161
|
-
enabled: options?.enabled ?? arbi.isLoggedIn
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
function useFacts(workspaceId, options) {
|
|
165
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
166
|
-
return reactQuery.useQuery({
|
|
167
|
-
queryKey: arbiQueryKeys.facts(workspaceId ?? ""),
|
|
168
|
-
queryFn: () => arbi.facts.list({ pinnedOnly: options?.pinnedOnly }),
|
|
169
|
-
enabled: (options?.enabled ?? true) && !!workspaceId && arbi.hasWorkspace
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
function useConfigs(options) {
|
|
173
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
174
|
-
return reactQuery.useQuery({
|
|
175
|
-
queryKey: arbiQueryKeys.configs(),
|
|
176
|
-
queryFn: () => arbi.agentConfig.list(),
|
|
177
|
-
enabled: options?.enabled ?? arbi.isLoggedIn
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
function useActivity(options) {
|
|
181
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
182
|
-
return reactQuery.useQuery({
|
|
183
|
-
queryKey: arbiQueryKeys.activity(),
|
|
184
|
-
queryFn: () => arbi.dm.listActivity({ limit: options?.limit, offset: options?.offset }),
|
|
185
|
-
enabled: options?.enabled ?? arbi.isLoggedIn
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
function useProjects(options) {
|
|
189
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
190
|
-
return reactQuery.useQuery({
|
|
191
|
-
queryKey: arbiQueryKeys.projects(),
|
|
192
|
-
queryFn: () => arbi.projects.list(),
|
|
193
|
-
enabled: options?.enabled ?? arbi.isLoggedIn
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
function useProjectUsage(projectExtId, monthsBack = 0, options) {
|
|
197
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
198
|
-
const usage = reactQuery.useQuery({
|
|
199
|
-
queryKey: arbiQueryKeys.projectUsage(projectExtId ?? "", monthsBack),
|
|
200
|
-
queryFn: () => arbi.projects.usage(projectExtId, monthsBack),
|
|
201
|
-
enabled: (options?.enabled ?? true) && !!projectExtId && arbi.isLoggedIn
|
|
202
|
-
});
|
|
203
|
-
const projects = useProjects({ enabled: !!projectExtId && (options?.enabled ?? true) });
|
|
204
|
-
const subscription = projects.data?.find((p) => p.external_id === projectExtId)?.subscription;
|
|
205
|
-
const metered = usage.data ? isUsageMetered(usage.data, subscription) : void 0;
|
|
206
|
-
return { ...usage, metered };
|
|
207
|
-
}
|
|
208
|
-
function useProjectsUsage(projectExtIds, monthsBack = 0, options) {
|
|
209
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
210
|
-
const enabled = (options?.enabled ?? true) && arbi.isLoggedIn;
|
|
211
|
-
const projects = useProjects({ enabled: enabled && projectExtIds.length > 0 });
|
|
212
|
-
const results = reactQuery.useQueries({
|
|
213
|
-
queries: projectExtIds.map((id) => ({
|
|
214
|
-
queryKey: arbiQueryKeys.projectUsage(id, monthsBack),
|
|
215
|
-
queryFn: () => arbi.projects.usage(id, monthsBack),
|
|
216
|
-
enabled: enabled && !!id
|
|
217
|
-
}))
|
|
218
|
-
});
|
|
219
|
-
const signature = results.map((r) => `${r.status}:${r.dataUpdatedAt ?? 0}`).join("|") + `#${projects.dataUpdatedAt}`;
|
|
220
|
-
return React.useMemo(() => {
|
|
221
|
-
const dailyMap = /* @__PURE__ */ new Map();
|
|
222
|
-
const modelMap = /* @__PURE__ */ new Map();
|
|
223
|
-
let totalCredits = 0;
|
|
224
|
-
let anyData = false;
|
|
225
|
-
let anyMetered = false;
|
|
226
|
-
let totalTokens = 0;
|
|
227
|
-
let totalRequests = 0;
|
|
228
|
-
results.forEach((r, i) => {
|
|
229
|
-
const d = r.data;
|
|
230
|
-
if (!d) return;
|
|
231
|
-
anyData = true;
|
|
232
|
-
const subscription = projects.data?.find(
|
|
233
|
-
(p) => p.external_id === projectExtIds[i]
|
|
234
|
-
)?.subscription;
|
|
235
|
-
if (isUsageMetered(d, subscription)) anyMetered = true;
|
|
236
|
-
totalCredits += d.total_spend ?? 0;
|
|
237
|
-
totalTokens += d.total_tokens ?? 0;
|
|
238
|
-
totalRequests += d.total_requests ?? 0;
|
|
239
|
-
for (const day of d.daily ?? []) {
|
|
240
|
-
const cur = dailyMap.get(day.date) ?? {
|
|
241
|
-
date: day.date,
|
|
242
|
-
credits: 0,
|
|
243
|
-
totalTokens: 0,
|
|
244
|
-
apiRequests: 0
|
|
245
|
-
};
|
|
246
|
-
cur.credits += day.spend ?? 0;
|
|
247
|
-
cur.totalTokens += day.total_tokens ?? 0;
|
|
248
|
-
cur.apiRequests += day.api_requests ?? 0;
|
|
249
|
-
dailyMap.set(day.date, cur);
|
|
250
|
-
}
|
|
251
|
-
for (const [model, mg] of Object.entries(d.model_groups ?? {})) {
|
|
252
|
-
const cur = modelMap.get(model) ?? {
|
|
253
|
-
model,
|
|
254
|
-
credits: 0,
|
|
255
|
-
totalTokens: 0,
|
|
256
|
-
promptTokens: 0,
|
|
257
|
-
completionTokens: 0,
|
|
258
|
-
successfulRequests: 0
|
|
259
|
-
};
|
|
260
|
-
cur.credits += mg.spend ?? 0;
|
|
261
|
-
cur.totalTokens += mg.total_tokens ?? 0;
|
|
262
|
-
cur.promptTokens += mg.prompt_tokens ?? 0;
|
|
263
|
-
cur.completionTokens += mg.completion_tokens ?? 0;
|
|
264
|
-
cur.successfulRequests += mg.successful_requests ?? 0;
|
|
265
|
-
modelMap.set(model, cur);
|
|
266
|
-
}
|
|
267
|
-
});
|
|
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];
|
|
268
41
|
return {
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
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
|
+
}))
|
|
279
53
|
};
|
|
280
|
-
}, [signature]);
|
|
281
|
-
}
|
|
282
|
-
function useProjectInvoices(projectExtId, options) {
|
|
283
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
284
|
-
return reactQuery.useQuery({
|
|
285
|
-
queryKey: arbiQueryKeys.projectInvoices(projectExtId ?? ""),
|
|
286
|
-
queryFn: () => arbi.projects.invoices(projectExtId),
|
|
287
|
-
enabled: (options?.enabled ?? true) && !!projectExtId && arbi.isLoggedIn
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
function useUserUsageToday(options) {
|
|
291
|
-
const arbi = chunk7IOCMCC5_cjs.useArbi();
|
|
292
|
-
return reactQuery.useQuery({
|
|
293
|
-
queryKey: arbiQueryKeys.userUsageToday(),
|
|
294
|
-
queryFn: () => arbi.user.usageToday(),
|
|
295
|
-
enabled: options?.enabled ?? arbi.isLoggedIn
|
|
296
54
|
});
|
|
297
55
|
}
|
|
298
56
|
|
|
@@ -300,11 +58,38 @@ function useUserUsageToday(options) {
|
|
|
300
58
|
var counter = 0;
|
|
301
59
|
var nextId = (prefix) => `${prefix}-${Date.now().toString(36)}-${(counter++).toString(36)}`;
|
|
302
60
|
var emptyThread = () => ({
|
|
303
|
-
|
|
61
|
+
key: nextId("thread"),
|
|
62
|
+
conversationId: null,
|
|
304
63
|
title: "",
|
|
305
64
|
messages: [],
|
|
306
|
-
responseId: null
|
|
65
|
+
responseId: null,
|
|
66
|
+
isLoaded: true
|
|
307
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
|
+
}
|
|
308
93
|
function titleFromQuestion(question, maxLength = 48) {
|
|
309
94
|
const flat = question.replace(/\s+/g, " ").trim();
|
|
310
95
|
if (flat.length <= maxLength) return flat;
|
|
@@ -314,29 +99,88 @@ function titleFromQuestion(question, maxLength = 48) {
|
|
|
314
99
|
return `${words.replace(/[\s,;:.\-–—]+$/, "")}\u2026`;
|
|
315
100
|
}
|
|
316
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];
|
|
317
104
|
function useArbiChat(options = {}) {
|
|
318
105
|
const { workspaceId, model, titleLength = 48 } = options;
|
|
319
|
-
const arbi =
|
|
320
|
-
const { data: docs = [], isLoading: isLoadingDocuments, refetch } = useDocuments(workspaceId);
|
|
321
|
-
const
|
|
106
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
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();
|
|
322
114
|
const { mutateAsync } = query;
|
|
323
115
|
const [threads, setThreads] = React.useState(() => [emptyThread()]);
|
|
324
|
-
const [
|
|
116
|
+
const [activeKey, setActiveKey] = React.useState(() => threads[0].key);
|
|
325
117
|
const [deselected, setDeselected] = React.useState(/* @__PURE__ */ new Set());
|
|
326
118
|
const [isRunning, setIsRunning] = React.useState(false);
|
|
327
119
|
const [isUploading, setIsUploading] = React.useState(false);
|
|
328
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
|
+
}, []);
|
|
329
128
|
const scopeRef = React.useRef(workspaceId);
|
|
330
129
|
React.useEffect(() => {
|
|
331
130
|
if (scopeRef.current === workspaceId) return;
|
|
332
131
|
scopeRef.current = workspaceId;
|
|
333
132
|
const fresh = emptyThread();
|
|
334
133
|
setThreads([fresh]);
|
|
335
|
-
|
|
134
|
+
setActiveKey(fresh.key);
|
|
336
135
|
setDeselected(/* @__PURE__ */ new Set());
|
|
337
136
|
setUploadError(null);
|
|
137
|
+
setHistoryError(null);
|
|
338
138
|
}, [workspaceId]);
|
|
339
|
-
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]);
|
|
340
184
|
const selectedIds = React.useMemo(
|
|
341
185
|
() => docs.map((d) => d.external_id).filter((id) => !!id && !deselected.has(id)),
|
|
342
186
|
[docs, deselected]
|
|
@@ -350,16 +194,23 @@ function useArbiChat(options = {}) {
|
|
|
350
194
|
[docs, deselected]
|
|
351
195
|
);
|
|
352
196
|
const patchThread = React.useCallback(
|
|
353
|
-
(
|
|
197
|
+
(key, patch) => setThreads((all) => all.map((t) => t.key === key ? patch(t) : t)),
|
|
354
198
|
[]
|
|
355
199
|
);
|
|
356
200
|
const patchMessage = React.useCallback(
|
|
357
|
-
(
|
|
201
|
+
(threadKey, messageId, patch) => patchThread(threadKey, (t) => ({
|
|
358
202
|
...t,
|
|
359
203
|
messages: t.messages.map((m) => m.id === messageId ? { ...m, ...patch } : m)
|
|
360
204
|
})),
|
|
361
205
|
[patchThread]
|
|
362
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]);
|
|
363
214
|
const ask = React.useCallback(
|
|
364
215
|
async (thread, text) => {
|
|
365
216
|
const userMessage = {
|
|
@@ -374,11 +225,13 @@ function useArbiChat(options = {}) {
|
|
|
374
225
|
content: "",
|
|
375
226
|
status: "streaming"
|
|
376
227
|
};
|
|
377
|
-
patchThread(thread.
|
|
228
|
+
patchThread(thread.key, (t) => ({
|
|
378
229
|
...t,
|
|
379
230
|
title: t.title || titleFromQuestion(text, titleLength),
|
|
380
231
|
messages: [...t.messages, userMessage, answer]
|
|
381
232
|
}));
|
|
233
|
+
const controller = new AbortController();
|
|
234
|
+
abortRef.current = controller;
|
|
382
235
|
setIsRunning(true);
|
|
383
236
|
let buffer = "";
|
|
384
237
|
let steps = 0;
|
|
@@ -389,15 +242,34 @@ function useArbiChat(options = {}) {
|
|
|
389
242
|
docIds: selectedIds,
|
|
390
243
|
previousResponseId: thread.responseId,
|
|
391
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
|
+
},
|
|
392
264
|
onToken: (token) => {
|
|
393
265
|
buffer += token;
|
|
394
|
-
patchMessage(thread.
|
|
266
|
+
patchMessage(thread.key, answer.id, { content: buffer });
|
|
395
267
|
},
|
|
396
268
|
onOutputItemDone: (ev) => {
|
|
397
269
|
const type = ev.item.type;
|
|
398
270
|
if (type === "function_call" || type === "reasoning") {
|
|
399
271
|
steps += 1;
|
|
400
|
-
patchMessage(thread.
|
|
272
|
+
patchMessage(thread.key, answer.id, { stepCount: steps });
|
|
401
273
|
}
|
|
402
274
|
},
|
|
403
275
|
onError: (message) => {
|
|
@@ -407,37 +279,50 @@ function useArbiChat(options = {}) {
|
|
|
407
279
|
const finalText = result.text || buffer;
|
|
408
280
|
const failure = streamError || result.errors[0] || null;
|
|
409
281
|
if (failure && !finalText) {
|
|
410
|
-
patchMessage(thread.
|
|
282
|
+
patchMessage(thread.key, answer.id, { status: "error", error: failure });
|
|
411
283
|
} else {
|
|
412
|
-
|
|
284
|
+
const citations = toChatCitations(result.metadata);
|
|
285
|
+
patchMessage(thread.key, answer.id, {
|
|
413
286
|
status: "complete",
|
|
414
287
|
content: finalText,
|
|
415
|
-
stepCount: result.agentSteps.length || steps || void 0
|
|
288
|
+
stepCount: result.agentSteps.length || steps || void 0,
|
|
289
|
+
...citations.length > 0 ? { citations } : {}
|
|
416
290
|
});
|
|
417
|
-
patchThread(thread.
|
|
291
|
+
patchThread(thread.key, (t) => ({
|
|
418
292
|
...t,
|
|
419
293
|
responseId: result.assistantMessageExtId ?? t.responseId
|
|
420
294
|
}));
|
|
421
295
|
}
|
|
422
296
|
} catch (e) {
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
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
|
+
}
|
|
427
309
|
} finally {
|
|
310
|
+
if (abortRef.current === controller) abortRef.current = null;
|
|
428
311
|
setIsRunning(false);
|
|
312
|
+
refreshTitles();
|
|
429
313
|
}
|
|
430
314
|
},
|
|
431
|
-
[mutateAsync, patchMessage, patchThread, selectedIds, model, titleLength]
|
|
315
|
+
[mutateAsync, patchMessage, patchThread, refreshTitles, selectedIds, model, titleLength]
|
|
432
316
|
);
|
|
433
317
|
const send = React.useCallback(
|
|
434
318
|
async (text) => {
|
|
435
319
|
const trimmed = text.trim();
|
|
436
|
-
if (!trimmed || isRunning) return;
|
|
320
|
+
if (!trimmed || isRunning || !active.isLoaded) return;
|
|
437
321
|
await ask(active, trimmed);
|
|
438
322
|
},
|
|
439
323
|
[active, ask, isRunning]
|
|
440
324
|
);
|
|
325
|
+
const stop = React.useCallback(() => abortRef.current?.abort(), []);
|
|
441
326
|
const lastMessage = active.messages[active.messages.length - 1];
|
|
442
327
|
const error = lastMessage?.status === "error" ? lastMessage.error ?? null : null;
|
|
443
328
|
const retry = React.useCallback(async () => {
|
|
@@ -447,23 +332,54 @@ function useArbiChat(options = {}) {
|
|
|
447
332
|
const question = messages[messages.length - 2];
|
|
448
333
|
if (failed?.status !== "error" || question?.role !== "user") return;
|
|
449
334
|
const trimmed = { ...active, messages: messages.slice(0, -2) };
|
|
450
|
-
patchThread(active.
|
|
335
|
+
patchThread(active.key, () => trimmed);
|
|
451
336
|
await ask(trimmed, question.content);
|
|
452
337
|
}, [active, ask, isRunning, patchThread]);
|
|
453
338
|
const newThread = React.useCallback(() => {
|
|
454
|
-
|
|
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
|
+
}
|
|
455
345
|
const fresh = emptyThread();
|
|
456
346
|
setThreads((all) => [fresh, ...all]);
|
|
457
|
-
|
|
458
|
-
}, [
|
|
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
|
+
);
|
|
459
359
|
const deleteThread = React.useCallback(
|
|
460
360
|
(id) => {
|
|
461
|
-
const
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
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
|
+
})();
|
|
465
381
|
},
|
|
466
|
-
[threads,
|
|
382
|
+
[threadEntries, threads, active.key, arbi, refetchConversations]
|
|
467
383
|
);
|
|
468
384
|
const toggleDocument = React.useCallback((id) => {
|
|
469
385
|
setDeselected((prev) => {
|
|
@@ -491,18 +407,22 @@ function useArbiChat(options = {}) {
|
|
|
491
407
|
[arbi, refetch]
|
|
492
408
|
);
|
|
493
409
|
return {
|
|
494
|
-
threads:
|
|
495
|
-
activeThreadId: active
|
|
410
|
+
threads: threadEntries.map(({ id, title }) => ({ id, title })),
|
|
411
|
+
activeThreadId: publicId(active),
|
|
496
412
|
messages: active.messages,
|
|
497
413
|
isRunning,
|
|
498
414
|
error,
|
|
415
|
+
isLoadingThread: needsLoad && !historyError,
|
|
416
|
+
isLoadingThreads,
|
|
417
|
+
historyError,
|
|
499
418
|
documents,
|
|
500
419
|
isLoadingDocuments,
|
|
501
420
|
isUploading,
|
|
502
421
|
uploadError,
|
|
503
422
|
send,
|
|
504
423
|
retry,
|
|
505
|
-
|
|
424
|
+
stop,
|
|
425
|
+
selectThread,
|
|
506
426
|
newThread,
|
|
507
427
|
deleteThread,
|
|
508
428
|
toggleDocument,
|
|
@@ -548,12 +468,12 @@ var ChatBubble = React.memo(function ChatBubble2({
|
|
|
548
468
|
}
|
|
549
469
|
);
|
|
550
470
|
}
|
|
551
|
-
const bubbleRadius =
|
|
471
|
+
const bubbleRadius = chunkS6A6FSG7_cjs.cn(
|
|
552
472
|
"rounded-2xl",
|
|
553
473
|
isSent && isLastOfRun && "rounded-br-sm",
|
|
554
474
|
!isSent && isLastOfRun && "rounded-bl-sm"
|
|
555
475
|
);
|
|
556
|
-
const bubbleSurface = isSent ?
|
|
476
|
+
const bubbleSurface = isSent ? chunkS6A6FSG7_cjs.cn("bg-ai-accent-soft text-foreground chat-bubble-sent", classNames?.ownBubble) : chunkS6A6FSG7_cjs.cn("border border-border bg-card text-card-foreground", classNames?.peerBubble);
|
|
557
477
|
const highlightClass = highlighted && "ring-2 ring-blue-400 dark:ring-blue-600";
|
|
558
478
|
const copyLinkButton = onCopyLink && /* @__PURE__ */ jsxRuntime.jsx(
|
|
559
479
|
"button",
|
|
@@ -561,7 +481,7 @@ var ChatBubble = React.memo(function ChatBubble2({
|
|
|
561
481
|
onClick: onCopyLink,
|
|
562
482
|
onFocus: () => setIsFocused(true),
|
|
563
483
|
onBlur: () => setIsFocused(false),
|
|
564
|
-
className:
|
|
484
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
565
485
|
"self-end p-1 transition-opacity focus:outline-none focus-visible:ring-1 focus-visible:ring-ring rounded",
|
|
566
486
|
showActions ? "opacity-100 text-foreground" : "opacity-0 text-muted-foreground"
|
|
567
487
|
),
|
|
@@ -574,7 +494,7 @@ var ChatBubble = React.memo(function ChatBubble2({
|
|
|
574
494
|
{
|
|
575
495
|
id,
|
|
576
496
|
"data-testid": testId,
|
|
577
|
-
className:
|
|
497
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
578
498
|
"flex w-full items-end",
|
|
579
499
|
isLastOfRun ? "mb-2" : "mb-0.5",
|
|
580
500
|
isSent ? "justify-end" : "justify-start"
|
|
@@ -590,7 +510,7 @@ var ChatBubble = React.memo(function ChatBubble2({
|
|
|
590
510
|
onClick: onDelete,
|
|
591
511
|
onFocus: () => setIsFocused(true),
|
|
592
512
|
onBlur: () => setIsFocused(false),
|
|
593
|
-
className:
|
|
513
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
594
514
|
"self-end p-1 transition-opacity focus:outline-none focus-visible:ring-1 focus-visible:ring-ring rounded",
|
|
595
515
|
showActions ? "opacity-100 text-destructive" : "opacity-0 text-muted-foreground"
|
|
596
516
|
),
|
|
@@ -602,7 +522,7 @@ var ChatBubble = React.memo(function ChatBubble2({
|
|
|
602
522
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col max-w-[80%] md:max-w-[60%]", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
603
523
|
"div",
|
|
604
524
|
{
|
|
605
|
-
className:
|
|
525
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
606
526
|
"px-3.5 py-2 break-words shadow-sm transition-shadow",
|
|
607
527
|
bubbleRadius,
|
|
608
528
|
bubbleSurface,
|
|
@@ -613,7 +533,7 @@ var ChatBubble = React.memo(function ChatBubble2({
|
|
|
613
533
|
isLastOfRun && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
614
534
|
"div",
|
|
615
535
|
{
|
|
616
|
-
className:
|
|
536
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
617
537
|
"flex items-center gap-1.5 mt-0.5",
|
|
618
538
|
isSent ? "justify-end" : "justify-start"
|
|
619
539
|
),
|
|
@@ -634,7 +554,7 @@ var ChatBubble = React.memo(function ChatBubble2({
|
|
|
634
554
|
onClick: onDelete,
|
|
635
555
|
onFocus: () => setIsFocused(true),
|
|
636
556
|
onBlur: () => setIsFocused(false),
|
|
637
|
-
className:
|
|
557
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
638
558
|
"self-end p-1 transition-opacity focus:outline-none focus-visible:ring-1 focus-visible:ring-ring rounded",
|
|
639
559
|
showActions ? "opacity-100 text-destructive" : "opacity-0 text-muted-foreground"
|
|
640
560
|
),
|
|
@@ -667,7 +587,7 @@ function useArbiWsContext() {
|
|
|
667
587
|
return ctx;
|
|
668
588
|
}
|
|
669
589
|
function ArbiWebSocketProvider({ enabled = true, children }) {
|
|
670
|
-
const arbi =
|
|
590
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
671
591
|
const subscribersRef = React.useRef(/* @__PURE__ */ new Set());
|
|
672
592
|
const setStatus = useArbiWsStore((s) => s.setStatus);
|
|
673
593
|
const applyTaskUpdate = useArbiWsStore((s) => s.applyTaskUpdate);
|
|
@@ -779,14 +699,14 @@ function useArbiDocumentSync(workspaceId) {
|
|
|
779
699
|
if (!workspaceId) return;
|
|
780
700
|
if (client.isMessageType(msg, "batch_complete")) {
|
|
781
701
|
if (msg.workspace_ext_id !== workspaceId) return;
|
|
782
|
-
void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.documents(workspaceId) });
|
|
783
|
-
void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.tags(workspaceId) });
|
|
702
|
+
void queryClient.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.documents(workspaceId) });
|
|
703
|
+
void queryClient.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.tags(workspaceId) });
|
|
784
704
|
return;
|
|
785
705
|
}
|
|
786
706
|
if (client.isMessageType(msg, "task_update")) {
|
|
787
707
|
if (msg.workspace_ext_id !== workspaceId) return;
|
|
788
708
|
if (TERMINAL_STATUSES.has(msg.status)) {
|
|
789
|
-
void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.documents(workspaceId) });
|
|
709
|
+
void queryClient.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.documents(workspaceId) });
|
|
790
710
|
}
|
|
791
711
|
}
|
|
792
712
|
});
|
|
@@ -914,8 +834,8 @@ function useShellWorkspaces(options) {
|
|
|
914
834
|
};
|
|
915
835
|
}
|
|
916
836
|
function useArbiShellWorkspaces(options = {}) {
|
|
917
|
-
const arbi =
|
|
918
|
-
const query = useWorkspaces();
|
|
837
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
838
|
+
const query = chunkCBJ3WOGD_cjs.useWorkspaces();
|
|
919
839
|
const { select, ...rest } = options;
|
|
920
840
|
const defaultSelect = React.useCallback(
|
|
921
841
|
(workspace) => arbi.selectWorkspace(workspace.id),
|
|
@@ -930,75 +850,75 @@ function useArbiShellWorkspaces(options = {}) {
|
|
|
930
850
|
});
|
|
931
851
|
}
|
|
932
852
|
function useCreateTask() {
|
|
933
|
-
const arbi =
|
|
853
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
934
854
|
const qc = reactQuery.useQueryClient();
|
|
935
855
|
return reactQuery.useMutation({
|
|
936
856
|
mutationFn: (body) => arbi.tasks.create(body),
|
|
937
|
-
onSuccess: () => qc.invalidateQueries({ queryKey: arbiQueryKeys.tasks() })
|
|
857
|
+
onSuccess: () => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.tasks() })
|
|
938
858
|
});
|
|
939
859
|
}
|
|
940
860
|
function useUpdateTask() {
|
|
941
|
-
const arbi =
|
|
861
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
942
862
|
const qc = reactQuery.useQueryClient();
|
|
943
863
|
return reactQuery.useMutation({
|
|
944
864
|
mutationFn: ({ taskId, patch }) => arbi.tasks.update(taskId, patch),
|
|
945
|
-
onSuccess: () => qc.invalidateQueries({ queryKey: arbiQueryKeys.tasks() })
|
|
865
|
+
onSuccess: () => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.tasks() })
|
|
946
866
|
});
|
|
947
867
|
}
|
|
948
868
|
function useRunTask() {
|
|
949
|
-
const arbi =
|
|
869
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
950
870
|
const qc = reactQuery.useQueryClient();
|
|
951
871
|
return reactQuery.useMutation({
|
|
952
872
|
mutationFn: (taskId) => arbi.tasks.runWithAuth(taskId),
|
|
953
873
|
onSuccess: (_task, taskId) => Promise.all([
|
|
954
|
-
qc.invalidateQueries({ queryKey: arbiQueryKeys.tasks() }),
|
|
955
|
-
qc.invalidateQueries({ queryKey: arbiQueryKeys.taskRuns(taskId) })
|
|
874
|
+
qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.tasks() }),
|
|
875
|
+
qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.taskRuns(taskId) })
|
|
956
876
|
])
|
|
957
877
|
});
|
|
958
878
|
}
|
|
959
879
|
function useDeleteTask() {
|
|
960
|
-
const arbi =
|
|
880
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
961
881
|
const qc = reactQuery.useQueryClient();
|
|
962
882
|
return reactQuery.useMutation({
|
|
963
883
|
mutationFn: (taskId) => arbi.tasks.delete(taskId),
|
|
964
|
-
onSuccess: () => qc.invalidateQueries({ queryKey: arbiQueryKeys.tasks() })
|
|
884
|
+
onSuccess: () => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.tasks() })
|
|
965
885
|
});
|
|
966
886
|
}
|
|
967
887
|
function useTaskRuns(taskId, options) {
|
|
968
|
-
const arbi =
|
|
888
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
969
889
|
return reactQuery.useQuery({
|
|
970
|
-
queryKey: arbiQueryKeys.taskRuns(taskId ?? ""),
|
|
890
|
+
queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.taskRuns(taskId ?? ""),
|
|
971
891
|
queryFn: () => arbi.tasks.listRuns(taskId),
|
|
972
892
|
enabled: (options?.enabled ?? true) && !!taskId && arbi.isLoggedIn,
|
|
973
893
|
refetchInterval: (q) => q.state.data?.some((r) => r.status === "running") ? 3e3 : false
|
|
974
894
|
});
|
|
975
895
|
}
|
|
976
896
|
function useCreateAgent() {
|
|
977
|
-
const arbi =
|
|
897
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
978
898
|
const qc = reactQuery.useQueryClient();
|
|
979
899
|
return reactQuery.useMutation({
|
|
980
900
|
mutationFn: (name) => arbi.agents.create(name),
|
|
981
|
-
onSuccess: () => qc.invalidateQueries({ queryKey: arbiQueryKeys.agents() })
|
|
901
|
+
onSuccess: () => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.agents() })
|
|
982
902
|
});
|
|
983
903
|
}
|
|
984
904
|
function useAgentConfig(agentExtId, options) {
|
|
985
|
-
const arbi =
|
|
905
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
986
906
|
return reactQuery.useQuery({
|
|
987
|
-
queryKey: arbiQueryKeys.agentConfig(agentExtId),
|
|
907
|
+
queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.agentConfig(agentExtId),
|
|
988
908
|
queryFn: async () => agentExtId ? await arbi.agents.getConfig(agentExtId) : await arbi.agentConfig.get("default"),
|
|
989
909
|
enabled: (options?.enabled ?? true) && arbi.isLoggedIn
|
|
990
910
|
});
|
|
991
911
|
}
|
|
992
912
|
function useAgentModels(options) {
|
|
993
|
-
const arbi =
|
|
913
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
994
914
|
return reactQuery.useQuery({
|
|
995
|
-
queryKey: arbiQueryKeys.models(),
|
|
915
|
+
queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.models(),
|
|
996
916
|
queryFn: async () => (await arbi.agentConfig.getModels()).models.map((m) => m.model_name),
|
|
997
917
|
enabled: (options?.enabled ?? true) && arbi.isLoggedIn
|
|
998
918
|
});
|
|
999
919
|
}
|
|
1000
920
|
function useSaveAgentConfig() {
|
|
1001
|
-
const arbi =
|
|
921
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1002
922
|
const qc = reactQuery.useQueryClient();
|
|
1003
923
|
return reactQuery.useMutation({
|
|
1004
924
|
mutationFn: async ({ agentExtId, title, sections }) => {
|
|
@@ -1015,21 +935,21 @@ function useSaveAgentConfig() {
|
|
|
1015
935
|
});
|
|
1016
936
|
},
|
|
1017
937
|
onSuccess: (_saved, { agentExtId }) => Promise.all([
|
|
1018
|
-
qc.invalidateQueries({ queryKey: arbiQueryKeys.configs() }),
|
|
1019
|
-
qc.invalidateQueries({ queryKey: arbiQueryKeys.agentConfig(agentExtId) })
|
|
938
|
+
qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.configs() }),
|
|
939
|
+
qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.agentConfig(agentExtId) })
|
|
1020
940
|
])
|
|
1021
941
|
});
|
|
1022
942
|
}
|
|
1023
943
|
function useAgentWorkspaces(agentExtId, options) {
|
|
1024
|
-
const arbi =
|
|
944
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1025
945
|
return reactQuery.useQuery({
|
|
1026
|
-
queryKey: arbiQueryKeys.agentWorkspaces(agentExtId ?? ""),
|
|
946
|
+
queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.agentWorkspaces(agentExtId ?? ""),
|
|
1027
947
|
queryFn: () => arbi.agents.listWorkspaces(agentExtId),
|
|
1028
948
|
enabled: (options?.enabled ?? true) && !!agentExtId && arbi.isLoggedIn
|
|
1029
949
|
});
|
|
1030
950
|
}
|
|
1031
951
|
function useGrantAgentAccess() {
|
|
1032
|
-
const arbi =
|
|
952
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1033
953
|
const qc = reactQuery.useQueryClient();
|
|
1034
954
|
return reactQuery.useMutation({
|
|
1035
955
|
mutationFn: async ({
|
|
@@ -1044,11 +964,11 @@ function useGrantAgentAccess() {
|
|
|
1044
964
|
if (!agent?.email) throw new Error("The agent's address is unknown.");
|
|
1045
965
|
return arbi.workspaces.grantAccess({ workspaceId, emails: [agent.email] });
|
|
1046
966
|
},
|
|
1047
|
-
onSuccess: (_res, { agentExtId }) => qc.invalidateQueries({ queryKey: arbiQueryKeys.agentWorkspaces(agentExtId) })
|
|
967
|
+
onSuccess: (_res, { agentExtId }) => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.agentWorkspaces(agentExtId) })
|
|
1048
968
|
});
|
|
1049
969
|
}
|
|
1050
970
|
function useRevokeAgentAccess() {
|
|
1051
|
-
const arbi =
|
|
971
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1052
972
|
const qc = reactQuery.useQueryClient();
|
|
1053
973
|
return reactQuery.useMutation({
|
|
1054
974
|
mutationFn: async ({
|
|
@@ -1063,22 +983,22 @@ function useRevokeAgentAccess() {
|
|
|
1063
983
|
if (previous && previous !== workspaceId) await arbi.selectWorkspace(previous);
|
|
1064
984
|
}
|
|
1065
985
|
},
|
|
1066
|
-
onSuccess: (_res, { agentExtId }) => qc.invalidateQueries({ queryKey: arbiQueryKeys.agentWorkspaces(agentExtId) })
|
|
986
|
+
onSuccess: (_res, { agentExtId }) => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.agentWorkspaces(agentExtId) })
|
|
1067
987
|
});
|
|
1068
988
|
}
|
|
1069
989
|
function useSkills(options) {
|
|
1070
|
-
const arbi =
|
|
990
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1071
991
|
return reactQuery.useQuery({
|
|
1072
|
-
queryKey: [...arbiQueryKeys.skills(), options?.includeHidden ?? false],
|
|
992
|
+
queryKey: [...chunkCBJ3WOGD_cjs.arbiQueryKeys.skills(), options?.includeHidden ?? false],
|
|
1073
993
|
queryFn: () => arbi.assistant.listSkills({ includeHidden: options?.includeHidden }),
|
|
1074
994
|
enabled: (options?.enabled ?? true) && arbi.isLoggedIn,
|
|
1075
995
|
staleTime: 3e4
|
|
1076
996
|
});
|
|
1077
997
|
}
|
|
1078
998
|
function useContacts(options) {
|
|
1079
|
-
const arbi =
|
|
999
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1080
1000
|
return reactQuery.useQuery({
|
|
1081
|
-
queryKey: arbiQueryKeys.contacts(),
|
|
1001
|
+
queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.contacts(),
|
|
1082
1002
|
queryFn: () => arbi.contacts.list(),
|
|
1083
1003
|
enabled: (options?.enabled ?? true) && arbi.isLoggedIn
|
|
1084
1004
|
});
|
|
@@ -1094,23 +1014,435 @@ function usePendingContacts(options) {
|
|
|
1094
1014
|
return { ...contacts, pending };
|
|
1095
1015
|
}
|
|
1096
1016
|
function useAddContacts() {
|
|
1097
|
-
const arbi =
|
|
1017
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1098
1018
|
const qc = reactQuery.useQueryClient();
|
|
1099
1019
|
return reactQuery.useMutation({
|
|
1100
1020
|
mutationFn: (emails) => arbi.contacts.add(emails),
|
|
1101
|
-
onSuccess: () => qc.invalidateQueries({ queryKey: arbiQueryKeys.contacts() })
|
|
1021
|
+
onSuccess: () => qc.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.contacts() })
|
|
1102
1022
|
});
|
|
1103
1023
|
}
|
|
1104
1024
|
function useRemoveContacts() {
|
|
1105
|
-
const arbi =
|
|
1025
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1106
1026
|
const qc = reactQuery.useQueryClient();
|
|
1107
1027
|
return reactQuery.useMutation({
|
|
1108
1028
|
mutationFn: (contactIds) => arbi.contacts.remove(contactIds),
|
|
1109
|
-
onSuccess: () => qc.invalidateQueries({ queryKey: arbiQueryKeys.contacts() })
|
|
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)
|
|
1218
|
+
});
|
|
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() })
|
|
1110
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
|
+
};
|
|
1111
1443
|
}
|
|
1112
1444
|
function useWorkspaceDocs(workspaceId) {
|
|
1113
|
-
const { data: docs = [], isLoading, isError } = useDocuments(workspaceId);
|
|
1445
|
+
const { data: docs = [], isLoading, isError } = chunkCBJ3WOGD_cjs.useDocuments(workspaceId);
|
|
1114
1446
|
const docIds = React.useMemo(
|
|
1115
1447
|
() => docs.map((d) => d.external_id).filter((id) => !!id),
|
|
1116
1448
|
[docs]
|
|
@@ -1118,7 +1450,7 @@ function useWorkspaceDocs(workspaceId) {
|
|
|
1118
1450
|
return { wsId: workspaceId, docs, docIds, isLoading, isError, ready: docIds.length > 0 };
|
|
1119
1451
|
}
|
|
1120
1452
|
function useAiTask() {
|
|
1121
|
-
const mutation = useAssistantQuery();
|
|
1453
|
+
const mutation = chunkCBJ3WOGD_cjs.useAssistantQuery();
|
|
1122
1454
|
const [status, setStatus] = React.useState("idle");
|
|
1123
1455
|
const [text, setText] = React.useState("");
|
|
1124
1456
|
const [stepCount, setStepCount] = React.useState(0);
|
|
@@ -1207,7 +1539,7 @@ function useAiTask() {
|
|
|
1207
1539
|
};
|
|
1208
1540
|
}
|
|
1209
1541
|
function useSemanticSearch(docIds) {
|
|
1210
|
-
const arbi =
|
|
1542
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
1211
1543
|
const [query, setQuery] = React.useState("");
|
|
1212
1544
|
const mutation = reactQuery.useMutation({
|
|
1213
1545
|
mutationFn: async ({ query: q, mode }) => {
|
|
@@ -1305,9 +1637,9 @@ function AiAnswer({
|
|
|
1305
1637
|
setTimeout(() => setCopied(false), 1600);
|
|
1306
1638
|
};
|
|
1307
1639
|
if (status === "idle" && !hasText) {
|
|
1308
|
-
return emptyHint ? /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
1640
|
+
return emptyHint ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: chunkS6A6FSG7_cjs.cn("text-sm text-muted-foreground", className), "data-testid": `${testId}-empty`, children: emptyHint }) : null;
|
|
1309
1641
|
}
|
|
1310
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1642
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkS6A6FSG7_cjs.cn("space-y-3", className), "data-testid": testId, "data-status": status, children: [
|
|
1311
1643
|
running && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1312
1644
|
"div",
|
|
1313
1645
|
{
|
|
@@ -1331,7 +1663,7 @@ function AiAnswer({
|
|
|
1331
1663
|
}
|
|
1332
1664
|
),
|
|
1333
1665
|
hasText && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1334
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1666
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.AiMarkdown, { isStreaming: running, children: text }),
|
|
1335
1667
|
!running && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-t border-border pt-2.5", children: [
|
|
1336
1668
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1.5 text-xs text-muted-foreground", children: [
|
|
1337
1669
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ShieldCheck, { className: "size-3.5 text-ai-accent" }),
|
|
@@ -1376,7 +1708,7 @@ function AiActionCard({
|
|
|
1376
1708
|
const p = typeof prompt === "function" ? prompt() : prompt;
|
|
1377
1709
|
void task.run(p, docIds);
|
|
1378
1710
|
};
|
|
1379
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1711
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.Card, { variant: "elevated", className: "rounded-xl p-5", "data-testid": testId, children: [
|
|
1380
1712
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-4", children: [
|
|
1381
1713
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
|
|
1382
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" }) }),
|
|
@@ -1386,7 +1718,7 @@ function AiActionCard({
|
|
|
1386
1718
|
] })
|
|
1387
1719
|
] }),
|
|
1388
1720
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1389
|
-
|
|
1721
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
1390
1722
|
{
|
|
1391
1723
|
variant: task.isDone ? "outline" : "accent",
|
|
1392
1724
|
size: "sm",
|
|
@@ -1433,7 +1765,7 @@ function ArtifactCanvas({
|
|
|
1433
1765
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1434
1766
|
"div",
|
|
1435
1767
|
{
|
|
1436
|
-
className:
|
|
1768
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1437
1769
|
"flex h-full min-h-[280px] flex-col items-center justify-center rounded-xl border border-destructive/30 bg-destructive/5 p-8 text-center",
|
|
1438
1770
|
className
|
|
1439
1771
|
),
|
|
@@ -1449,7 +1781,7 @@ function ArtifactCanvas({
|
|
|
1449
1781
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1450
1782
|
"div",
|
|
1451
1783
|
{
|
|
1452
|
-
className:
|
|
1784
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1453
1785
|
"flex h-full min-h-[280px] flex-col items-center justify-center rounded-xl border border-border bg-ai-surface/40 p-8 text-center",
|
|
1454
1786
|
className
|
|
1455
1787
|
),
|
|
@@ -1470,7 +1802,7 @@ function ArtifactCanvas({
|
|
|
1470
1802
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1471
1803
|
"div",
|
|
1472
1804
|
{
|
|
1473
|
-
className:
|
|
1805
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1474
1806
|
"flex h-full min-h-[280px] flex-col items-center justify-center rounded-xl border border-dashed border-border bg-secondary/30 p-8 text-center",
|
|
1475
1807
|
className
|
|
1476
1808
|
),
|
|
@@ -1502,7 +1834,7 @@ function ArtifactCanvas({
|
|
|
1502
1834
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1503
1835
|
"div",
|
|
1504
1836
|
{
|
|
1505
|
-
className:
|
|
1837
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1506
1838
|
"flex h-full flex-col overflow-hidden rounded-xl border border-border bg-card",
|
|
1507
1839
|
className
|
|
1508
1840
|
),
|
|
@@ -1518,11 +1850,11 @@ function ArtifactCanvas({
|
|
|
1518
1850
|
children: active.title
|
|
1519
1851
|
}
|
|
1520
1852
|
),
|
|
1521
|
-
isRedline && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1853
|
+
isRedline && /* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.Badge, { variant: "accent", className: "gap-1", children: [
|
|
1522
1854
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.GitCompareArrows, { className: "size-3" }),
|
|
1523
1855
|
" Redline"
|
|
1524
1856
|
] }),
|
|
1525
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1857
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.Badge, { variant: "secondary", children: [
|
|
1526
1858
|
"v",
|
|
1527
1859
|
active.version
|
|
1528
1860
|
] }),
|
|
@@ -1563,7 +1895,7 @@ function ArtifactCanvas({
|
|
|
1563
1895
|
"button",
|
|
1564
1896
|
{
|
|
1565
1897
|
onClick: () => setActiveId(a.doc_ext_id),
|
|
1566
|
-
className:
|
|
1898
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1567
1899
|
"shrink-0 rounded-md px-2.5 py-1 text-xs font-medium",
|
|
1568
1900
|
a.doc_ext_id === active.doc_ext_id ? "bg-ai-accent-soft text-ai-accent" : "text-muted-foreground hover:bg-accent"
|
|
1569
1901
|
),
|
|
@@ -1578,7 +1910,7 @@ function ArtifactCanvas({
|
|
|
1578
1910
|
animate: { opacity: 1, y: 0 },
|
|
1579
1911
|
transition: { duration: 0.2 },
|
|
1580
1912
|
className: "mx-auto max-w-2xl rounded-lg bg-card p-8 shadow-sm ring-1 ring-border",
|
|
1581
|
-
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 })
|
|
1582
1914
|
},
|
|
1583
1915
|
active.doc_ext_id
|
|
1584
1916
|
) }) })
|
|
@@ -1595,7 +1927,7 @@ function MessageArtifactCard({
|
|
|
1595
1927
|
const Icon = isImage ? lucideReact.Image : lucideReact.FileText;
|
|
1596
1928
|
const statusText = isImage ? isComplete ? "Image ready" : "Generating\u2026" : isComplete ? "Draft ready" : "Drafting\u2026";
|
|
1597
1929
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1598
|
-
|
|
1930
|
+
chunkZ5YCRJY3_cjs.Card,
|
|
1599
1931
|
{
|
|
1600
1932
|
variant: "outline",
|
|
1601
1933
|
className: "mt-3 flex items-center gap-3 px-3 py-2.5",
|
|
@@ -1638,7 +1970,7 @@ function DocSearch({
|
|
|
1638
1970
|
const submit = () => {
|
|
1639
1971
|
if (value.trim()) void search(value, "hybrid");
|
|
1640
1972
|
};
|
|
1641
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1973
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkS6A6FSG7_cjs.cn("space-y-3", className), "data-testid": "doc-search", children: [
|
|
1642
1974
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
1643
1975
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }),
|
|
1644
1976
|
isRunning && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "absolute right-3 top-1/2 size-4 -translate-y-1/2 animate-spin text-ai-accent" }),
|
|
@@ -1671,10 +2003,10 @@ function DocSearch({
|
|
|
1671
2003
|
status === "done" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", "data-testid": "doc-search-results", children: [
|
|
1672
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` }),
|
|
1673
2005
|
results.slice(0, 8).map((r, i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1674
|
-
|
|
2006
|
+
chunkZ5YCRJY3_cjs.Card,
|
|
1675
2007
|
{
|
|
1676
2008
|
variant: "elevated",
|
|
1677
|
-
className:
|
|
2009
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1678
2010
|
"rounded-xl p-3",
|
|
1679
2011
|
onOpenDoc && r.docId && "cursor-pointer transition-colors hover:border-ai-accent/40"
|
|
1680
2012
|
),
|
|
@@ -1684,7 +2016,7 @@ function DocSearch({
|
|
|
1684
2016
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-1 flex items-center gap-2", children: [
|
|
1685
2017
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "size-3.5 text-ai-accent" }),
|
|
1686
2018
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs font-medium text-foreground", children: r.docTitle ?? "Document" }),
|
|
1687
|
-
r.page != null && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2019
|
+
r.page != null && /* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.Badge, { variant: "secondary", children: [
|
|
1688
2020
|
"p.",
|
|
1689
2021
|
r.page
|
|
1690
2022
|
] }),
|
|
@@ -1710,8 +2042,8 @@ function DocumentReview({
|
|
|
1710
2042
|
onClose,
|
|
1711
2043
|
className
|
|
1712
2044
|
}) {
|
|
1713
|
-
const parsedQuery = useParsedDocument(docId, stage);
|
|
1714
|
-
const tagsQuery = useTags(workspaceId);
|
|
2045
|
+
const parsedQuery = chunkCBJ3WOGD_cjs.useParsedDocument(docId, stage);
|
|
2046
|
+
const tagsQuery = chunkCBJ3WOGD_cjs.useTags(workspaceId);
|
|
1715
2047
|
const tagNameById = React__default.default.useMemo(() => {
|
|
1716
2048
|
const map = /* @__PURE__ */ new Map();
|
|
1717
2049
|
for (const t of tagsQuery.data ?? []) {
|
|
@@ -1765,7 +2097,7 @@ function DocumentReview({
|
|
|
1765
2097
|
"div",
|
|
1766
2098
|
{
|
|
1767
2099
|
"data-testid": "document-review",
|
|
1768
|
-
className:
|
|
2100
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1769
2101
|
"flex h-full min-h-0 flex-col overflow-hidden rounded-lg border bg-card",
|
|
1770
2102
|
className
|
|
1771
2103
|
),
|
|
@@ -1778,7 +2110,7 @@ function DocumentReview({
|
|
|
1778
2110
|
findings.length ? ` \xB7 ${findings.length} findings` : ""
|
|
1779
2111
|
] })
|
|
1780
2112
|
] }),
|
|
1781
|
-
doc?.status ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2113
|
+
doc?.status ? /* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.Badge, { variant: "secondary", children: doc.status }) : null,
|
|
1782
2114
|
onClose ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1783
2115
|
"button",
|
|
1784
2116
|
{
|
|
@@ -1815,7 +2147,7 @@ function DocumentReview({
|
|
|
1815
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",
|
|
1816
2148
|
children: [
|
|
1817
2149
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1818
|
-
|
|
2150
|
+
chunkZ5YCRJY3_cjs.TagEntity,
|
|
1819
2151
|
{
|
|
1820
2152
|
size: "sm",
|
|
1821
2153
|
tag: {
|
|
@@ -1849,7 +2181,7 @@ function DocumentReview({
|
|
|
1849
2181
|
{
|
|
1850
2182
|
"data-chunk-id": cid,
|
|
1851
2183
|
"data-testid": isActive ? "review-chunk-active" : highlighted ? "review-chunk-cited" : "review-chunk",
|
|
1852
|
-
className:
|
|
2184
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1853
2185
|
"scroll-mt-4 rounded-md px-2 py-1 transition-colors",
|
|
1854
2186
|
highlighted && "bg-[var(--color-ai-accent-soft,theme(colors.amber.100))] ring-1 ring-inset ring-border",
|
|
1855
2187
|
// The externally-selected search passage wins the
|
|
@@ -1860,7 +2192,7 @@ function DocumentReview({
|
|
|
1860
2192
|
),
|
|
1861
2193
|
children: [
|
|
1862
2194
|
highlighted ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1863
|
-
|
|
2195
|
+
chunkZ5YCRJY3_cjs.TagEntity,
|
|
1864
2196
|
{
|
|
1865
2197
|
size: "sm",
|
|
1866
2198
|
tag: {
|
|
@@ -1869,7 +2201,7 @@ function DocumentReview({
|
|
|
1869
2201
|
}
|
|
1870
2202
|
}
|
|
1871
2203
|
) }) : null,
|
|
1872
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2204
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkOI55JRKT_cjs.MarkdownRenderer, { className: "prose prose-sm max-w-none dark:prose-invert", children: c.content })
|
|
1873
2205
|
]
|
|
1874
2206
|
},
|
|
1875
2207
|
cid ?? i
|
|
@@ -1909,7 +2241,7 @@ function ResultRow({
|
|
|
1909
2241
|
onSelect
|
|
1910
2242
|
}) {
|
|
1911
2243
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1912
|
-
|
|
2244
|
+
chunkZ5YCRJY3_cjs.PassageCard,
|
|
1913
2245
|
{
|
|
1914
2246
|
onClick: onSelect,
|
|
1915
2247
|
active: isActive,
|
|
@@ -1918,7 +2250,7 @@ function ResultRow({
|
|
|
1918
2250
|
header: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1919
2251
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "size-3.5 shrink-0 text-ai-accent" }),
|
|
1920
2252
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs font-medium text-foreground", children: result.docTitle ?? "Document" }),
|
|
1921
|
-
result.page != null && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2253
|
+
result.page != null && /* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.Badge, { variant: "secondary", children: [
|
|
1922
2254
|
"p.",
|
|
1923
2255
|
result.page
|
|
1924
2256
|
] })
|
|
@@ -1942,7 +2274,7 @@ function SemanticSearch({
|
|
|
1942
2274
|
const { results, status, error, search, isRunning, query } = useSemanticSearch(docIds);
|
|
1943
2275
|
const [value, setValue] = React.useState("");
|
|
1944
2276
|
const [selected, setSelected] = React.useState(null);
|
|
1945
|
-
const { data: docs = [] } = useDocuments(workspaceId, { enabled: !!workspaceId });
|
|
2277
|
+
const { data: docs = [] } = chunkCBJ3WOGD_cjs.useDocuments(workspaceId, { enabled: !!workspaceId });
|
|
1946
2278
|
const docMap = React.useMemo(() => {
|
|
1947
2279
|
const map = /* @__PURE__ */ new Map();
|
|
1948
2280
|
for (const d of docs) if (d.external_id) map.set(d.external_id, d);
|
|
@@ -1957,11 +2289,11 @@ function SemanticSearch({
|
|
|
1957
2289
|
}, [value, search, searchMode]);
|
|
1958
2290
|
const selectedDoc = selected?.docId ? docMap.get(selected.docId) : void 0;
|
|
1959
2291
|
const hasResults = status === "done" && results.length > 0;
|
|
1960
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": testId, className:
|
|
2292
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": testId, className: chunkS6A6FSG7_cjs.cn("flex min-h-0 flex-col gap-4 md:flex-row", className), children: [
|
|
1961
2293
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1962
2294
|
"div",
|
|
1963
2295
|
{
|
|
1964
|
-
className:
|
|
2296
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1965
2297
|
"flex min-h-0 flex-col gap-3 md:w-[22rem] md:shrink-0",
|
|
1966
2298
|
selected && "hidden md:flex"
|
|
1967
2299
|
),
|
|
@@ -2024,11 +2356,11 @@ function SemanticSearch({
|
|
|
2024
2356
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2025
2357
|
"div",
|
|
2026
2358
|
{
|
|
2027
|
-
className:
|
|
2359
|
+
className: chunkS6A6FSG7_cjs.cn("min-h-0 min-w-0 flex-1", !selected && "hidden md:block"),
|
|
2028
2360
|
"data-testid": "arbi-semantic-search-viewer",
|
|
2029
2361
|
children: selected && selected.docId ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col gap-2", children: [
|
|
2030
2362
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2031
|
-
|
|
2363
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
2032
2364
|
{
|
|
2033
2365
|
variant: "ghost",
|
|
2034
2366
|
size: "sm",
|
|
@@ -2087,7 +2419,7 @@ Question: ${question}`,
|
|
|
2087
2419
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 space-y-3", "data-testid": "doc-qa", children: [
|
|
2088
2420
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
2089
2421
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2090
|
-
|
|
2422
|
+
chunkZ5YCRJY3_cjs.Input,
|
|
2091
2423
|
{
|
|
2092
2424
|
value: q,
|
|
2093
2425
|
onChange: (e) => setQ(e.target.value),
|
|
@@ -2098,7 +2430,7 @@ Question: ${question}`,
|
|
|
2098
2430
|
}
|
|
2099
2431
|
),
|
|
2100
2432
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2101
|
-
|
|
2433
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
2102
2434
|
{
|
|
2103
2435
|
variant: "accent",
|
|
2104
2436
|
size: "icon",
|
|
@@ -2110,7 +2442,7 @@ Question: ${question}`,
|
|
|
2110
2442
|
}
|
|
2111
2443
|
),
|
|
2112
2444
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2113
|
-
|
|
2445
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
2114
2446
|
{
|
|
2115
2447
|
variant: "outline",
|
|
2116
2448
|
size: "sm",
|
|
@@ -2246,10 +2578,10 @@ var CitationRendererComponent = ({
|
|
|
2246
2578
|
onDismissCitation,
|
|
2247
2579
|
notify2
|
|
2248
2580
|
]);
|
|
2249
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2581
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkS6A6FSG7_cjs.cn("citation-container", className), "data-testid": "citation-renderer", children: renderMarkdown({
|
|
2250
2582
|
components: markdownComponents,
|
|
2251
2583
|
isStreaming,
|
|
2252
|
-
children:
|
|
2584
|
+
children: chunkOI55JRKT_cjs.normalizeCitationMarkup(content)
|
|
2253
2585
|
}) });
|
|
2254
2586
|
};
|
|
2255
2587
|
var CitationPopover = ({
|
|
@@ -2440,7 +2772,7 @@ var CitationPopover = ({
|
|
|
2440
2772
|
{
|
|
2441
2773
|
"data-testid": `citation-chunk-${chunk.metadata.chunk_ext_id}`,
|
|
2442
2774
|
onClick: () => onChunkClick(chunk),
|
|
2443
|
-
className:
|
|
2775
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
2444
2776
|
"w-full text-left text-sm rounded-md px-2 py-1.5 pointer-coarse:min-h-11 pointer-coarse:py-3 transition-colors flex items-start gap-2 mb-1 last:mb-0",
|
|
2445
2777
|
isSelected ? "bg-ai-soft text-foreground ring-1 ring-ai-accent/40" : "text-muted-foreground hover:text-primary hover:bg-muted"
|
|
2446
2778
|
),
|
|
@@ -2474,7 +2806,7 @@ var CitationLink = ({
|
|
|
2474
2806
|
triggerRef,
|
|
2475
2807
|
children
|
|
2476
2808
|
}) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2477
|
-
|
|
2809
|
+
chunkZ5YCRJY3_cjs.MarkMenu,
|
|
2478
2810
|
{
|
|
2479
2811
|
triggerRef,
|
|
2480
2812
|
items,
|
|
@@ -2483,7 +2815,7 @@ var CitationLink = ({
|
|
|
2483
2815
|
testId: `citation-link-${citationNum}`,
|
|
2484
2816
|
tabIndex: isStreaming ? -1 : 0,
|
|
2485
2817
|
"data-mark-kind": "citation",
|
|
2486
|
-
className:
|
|
2818
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
2487
2819
|
"cited-text relative rounded-sm px-0.5 transition-colors",
|
|
2488
2820
|
// 44px touch hit area without changing the text layout.
|
|
2489
2821
|
"pointer-coarse:after:absolute pointer-coarse:after:content-[''] pointer-coarse:after:-inset-x-3 pointer-coarse:after:-inset-y-4",
|
|
@@ -2512,8 +2844,8 @@ var DocIcon = ({ size = 16, className = "" }) => {
|
|
|
2512
2844
|
"path",
|
|
2513
2845
|
{
|
|
2514
2846
|
d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
|
|
2515
|
-
fill:
|
|
2516
|
-
stroke:
|
|
2847
|
+
fill: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.doc,
|
|
2848
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.doc,
|
|
2517
2849
|
strokeWidth: "1",
|
|
2518
2850
|
strokeLinecap: "round",
|
|
2519
2851
|
strokeLinejoin: "round"
|
|
@@ -2524,7 +2856,7 @@ var DocIcon = ({ size = 16, className = "" }) => {
|
|
|
2524
2856
|
{
|
|
2525
2857
|
d: "M14 2v6h6",
|
|
2526
2858
|
fill: "none",
|
|
2527
|
-
stroke:
|
|
2859
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.white,
|
|
2528
2860
|
strokeWidth: "1",
|
|
2529
2861
|
strokeLinecap: "round",
|
|
2530
2862
|
strokeLinejoin: "round"
|
|
@@ -2562,8 +2894,8 @@ var HtmlIcon = ({ size = 16, className = "" }) => {
|
|
|
2562
2894
|
"path",
|
|
2563
2895
|
{
|
|
2564
2896
|
d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
|
|
2565
|
-
fill:
|
|
2566
|
-
stroke:
|
|
2897
|
+
fill: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.html,
|
|
2898
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.html,
|
|
2567
2899
|
strokeWidth: "1",
|
|
2568
2900
|
strokeLinecap: "round",
|
|
2569
2901
|
strokeLinejoin: "round"
|
|
@@ -2574,7 +2906,7 @@ var HtmlIcon = ({ size = 16, className = "" }) => {
|
|
|
2574
2906
|
{
|
|
2575
2907
|
d: "M14 2v6h6",
|
|
2576
2908
|
fill: "none",
|
|
2577
|
-
stroke:
|
|
2909
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.white,
|
|
2578
2910
|
strokeWidth: "1",
|
|
2579
2911
|
strokeLinecap: "round",
|
|
2580
2912
|
strokeLinejoin: "round"
|
|
@@ -2612,8 +2944,8 @@ var TxtIcon = ({ size = 16, className = "" }) => {
|
|
|
2612
2944
|
"path",
|
|
2613
2945
|
{
|
|
2614
2946
|
d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
|
|
2615
|
-
fill:
|
|
2616
|
-
stroke:
|
|
2947
|
+
fill: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.txt,
|
|
2948
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.txt,
|
|
2617
2949
|
strokeWidth: "1",
|
|
2618
2950
|
strokeLinecap: "round",
|
|
2619
2951
|
strokeLinejoin: "round"
|
|
@@ -2624,7 +2956,7 @@ var TxtIcon = ({ size = 16, className = "" }) => {
|
|
|
2624
2956
|
{
|
|
2625
2957
|
d: "M14 2v6h6",
|
|
2626
2958
|
fill: "none",
|
|
2627
|
-
stroke:
|
|
2959
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.white,
|
|
2628
2960
|
strokeWidth: "1",
|
|
2629
2961
|
strokeLinecap: "round",
|
|
2630
2962
|
strokeLinejoin: "round"
|
|
@@ -2662,8 +2994,8 @@ var XlsIcon = ({ size = 16, className = "" }) => {
|
|
|
2662
2994
|
"path",
|
|
2663
2995
|
{
|
|
2664
2996
|
d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
|
|
2665
|
-
fill:
|
|
2666
|
-
stroke:
|
|
2997
|
+
fill: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.xls,
|
|
2998
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.xls,
|
|
2667
2999
|
strokeWidth: "1",
|
|
2668
3000
|
strokeLinecap: "round",
|
|
2669
3001
|
strokeLinejoin: "round"
|
|
@@ -2674,7 +3006,7 @@ var XlsIcon = ({ size = 16, className = "" }) => {
|
|
|
2674
3006
|
{
|
|
2675
3007
|
d: "M14 2v6h6",
|
|
2676
3008
|
fill: "none",
|
|
2677
|
-
stroke:
|
|
3009
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.white,
|
|
2678
3010
|
strokeWidth: "1",
|
|
2679
3011
|
strokeLinecap: "round",
|
|
2680
3012
|
strokeLinejoin: "round"
|
|
@@ -2712,8 +3044,8 @@ var FileIcon = ({ size = 16, className = "" }) => {
|
|
|
2712
3044
|
"path",
|
|
2713
3045
|
{
|
|
2714
3046
|
d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
|
|
2715
|
-
fill:
|
|
2716
|
-
stroke:
|
|
3047
|
+
fill: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.generic,
|
|
3048
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.generic,
|
|
2717
3049
|
strokeWidth: "1",
|
|
2718
3050
|
strokeLinecap: "round",
|
|
2719
3051
|
strokeLinejoin: "round"
|
|
@@ -2724,7 +3056,7 @@ var FileIcon = ({ size = 16, className = "" }) => {
|
|
|
2724
3056
|
{
|
|
2725
3057
|
d: "M14 2v6h6",
|
|
2726
3058
|
fill: "none",
|
|
2727
|
-
stroke:
|
|
3059
|
+
stroke: chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS.white,
|
|
2728
3060
|
strokeWidth: "1",
|
|
2729
3061
|
strokeLinecap: "round",
|
|
2730
3062
|
strokeLinejoin: "round"
|
|
@@ -3080,7 +3412,7 @@ var ArbiBotIcon = ({ size = 24, className = "" }) => {
|
|
|
3080
3412
|
);
|
|
3081
3413
|
};
|
|
3082
3414
|
function getNotificationTypeMeta(type) {
|
|
3083
|
-
const WorkspaceIcon =
|
|
3415
|
+
const WorkspaceIcon = chunkZ5YCRJY3_cjs.getEntityIcon("WORKSPACE");
|
|
3084
3416
|
switch (type) {
|
|
3085
3417
|
case "user_message":
|
|
3086
3418
|
return { Icon: lucideReact.MessageCircleMore, iconClassName: "text-primary", label: "Message" };
|
|
@@ -3195,7 +3527,7 @@ function describeActivity(content) {
|
|
|
3195
3527
|
}
|
|
3196
3528
|
default:
|
|
3197
3529
|
return {
|
|
3198
|
-
Icon: parsed.workspace_ext_id ?
|
|
3530
|
+
Icon: parsed.workspace_ext_id ? chunkZ5YCRJY3_cjs.getEntityIcon("WORKSPACE") : lucideReact.Activity,
|
|
3199
3531
|
iconClassName: "text-muted-foreground",
|
|
3200
3532
|
title: humaniseEvent(parsed.event)
|
|
3201
3533
|
};
|
|
@@ -3225,22 +3557,22 @@ function ActivityFeed({
|
|
|
3225
3557
|
enabled,
|
|
3226
3558
|
"data-testid": testId = "activity-feed"
|
|
3227
3559
|
}) {
|
|
3228
|
-
const { data, isLoading, isError } = useActivity({ limit, enabled });
|
|
3560
|
+
const { data, isLoading, isError } = chunkCBJ3WOGD_cjs.useActivity({ limit, enabled });
|
|
3229
3561
|
if (isLoading) {
|
|
3230
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
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: [
|
|
3231
3563
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-4 shrink-0 animate-pulse rounded-full bg-muted" }),
|
|
3232
3564
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-3 flex-1 animate-pulse rounded bg-muted" })
|
|
3233
3565
|
] }, i)) });
|
|
3234
3566
|
}
|
|
3235
3567
|
if (isError) {
|
|
3236
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3568
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkS6A6FSG7_cjs.cn("text-sm text-muted-foreground", className), "data-testid": testId, children: "Couldn\u2019t load activity." });
|
|
3237
3569
|
}
|
|
3238
3570
|
const items = data ?? [];
|
|
3239
3571
|
if (items.length === 0) {
|
|
3240
3572
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3241
3573
|
"div",
|
|
3242
3574
|
{
|
|
3243
|
-
className:
|
|
3575
|
+
className: chunkS6A6FSG7_cjs.cn("flex items-center gap-2 text-sm text-muted-foreground", className),
|
|
3244
3576
|
"data-testid": testId,
|
|
3245
3577
|
children: [
|
|
3246
3578
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Activity, { className: "h-4 w-4 shrink-0" }),
|
|
@@ -3249,7 +3581,7 @@ function ActivityFeed({
|
|
|
3249
3581
|
}
|
|
3250
3582
|
);
|
|
3251
3583
|
}
|
|
3252
|
-
return /* @__PURE__ */ jsxRuntime.jsx("ul", { className:
|
|
3584
|
+
return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: chunkS6A6FSG7_cjs.cn("divide-y divide-border", className), "data-testid": testId, children: items.map((item) => {
|
|
3253
3585
|
const desc = describeActivity(item.content);
|
|
3254
3586
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3255
3587
|
"li",
|
|
@@ -3257,7 +3589,7 @@ function ActivityFeed({
|
|
|
3257
3589
|
className: "flex items-center gap-3 py-2",
|
|
3258
3590
|
"data-testid": "activity-feed-item",
|
|
3259
3591
|
children: [
|
|
3260
|
-
/* @__PURE__ */ jsxRuntime.jsx(desc.Icon, { className:
|
|
3592
|
+
/* @__PURE__ */ jsxRuntime.jsx(desc.Icon, { className: chunkS6A6FSG7_cjs.cn("h-4 w-4 shrink-0", desc.iconClassName) }),
|
|
3261
3593
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate text-sm text-foreground", children: desc.title }),
|
|
3262
3594
|
/* @__PURE__ */ jsxRuntime.jsx("time", { className: "shrink-0 text-xs tabular-nums text-muted-foreground", children: formatRelative(item.created_at) })
|
|
3263
3595
|
]
|
|
@@ -3340,7 +3672,7 @@ function groupConversations(notifications, myExtId) {
|
|
|
3340
3672
|
return conversations;
|
|
3341
3673
|
}
|
|
3342
3674
|
function useDirectMessages(options) {
|
|
3343
|
-
const arbi =
|
|
3675
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
3344
3676
|
const queryClient = reactQuery.useQueryClient();
|
|
3345
3677
|
const enabled = options?.enabled ?? arbi.isLoggedIn;
|
|
3346
3678
|
const query = reactQuery.useQuery({
|
|
@@ -3349,7 +3681,7 @@ function useDirectMessages(options) {
|
|
|
3349
3681
|
enabled
|
|
3350
3682
|
});
|
|
3351
3683
|
const contactsQuery = reactQuery.useQuery({
|
|
3352
|
-
queryKey: arbiQueryKeys.contacts(),
|
|
3684
|
+
queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.contacts(),
|
|
3353
3685
|
queryFn: () => arbi.contacts.list(),
|
|
3354
3686
|
enabled
|
|
3355
3687
|
});
|
|
@@ -3411,7 +3743,7 @@ function DmAvatar({ user, className, size = "lg" }) {
|
|
|
3411
3743
|
const presence = useArbiWsStore((s) => s.presence[user.external_id]);
|
|
3412
3744
|
const displayStatus = presence === void 0 ? void 0 : presence === "online" ? "connected" : "disconnected";
|
|
3413
3745
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3414
|
-
|
|
3746
|
+
chunkZ5YCRJY3_cjs.UserEntity,
|
|
3415
3747
|
{
|
|
3416
3748
|
variant: "icon",
|
|
3417
3749
|
size,
|
|
@@ -3421,7 +3753,7 @@ function DmAvatar({ user, className, size = "lg" }) {
|
|
|
3421
3753
|
initials: userInitials(user),
|
|
3422
3754
|
displayName: userDisplayName(user),
|
|
3423
3755
|
picture: user.picture,
|
|
3424
|
-
avatarStyle:
|
|
3756
|
+
avatarStyle: chunkZ5YCRJY3_cjs.getEntityColorStyles(user.external_id),
|
|
3425
3757
|
isAgent: isAgentUser(user),
|
|
3426
3758
|
displayStatus
|
|
3427
3759
|
}
|
|
@@ -3440,7 +3772,7 @@ function ConversationList({
|
|
|
3440
3772
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3441
3773
|
"aside",
|
|
3442
3774
|
{
|
|
3443
|
-
className:
|
|
3775
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3444
3776
|
"flex min-h-0 flex-col border-b border-border md:w-80 md:shrink-0 md:border-b-0 md:border-r",
|
|
3445
3777
|
className
|
|
3446
3778
|
),
|
|
@@ -3469,17 +3801,17 @@ function ConversationList({
|
|
|
3469
3801
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3470
3802
|
"span",
|
|
3471
3803
|
{
|
|
3472
|
-
className:
|
|
3804
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3473
3805
|
"truncate text-sm text-foreground",
|
|
3474
3806
|
unread ? "font-bold" : "font-semibold"
|
|
3475
3807
|
),
|
|
3476
3808
|
children: userDisplayName(peer)
|
|
3477
3809
|
}
|
|
3478
3810
|
),
|
|
3479
|
-
c.badge ?? (isAgentUser(peer) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3811
|
+
c.badge ?? (isAgentUser(peer) ? /* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.AgentBadge, {}) : null)
|
|
3480
3812
|
] }),
|
|
3481
3813
|
c.statusLabel ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3482
|
-
|
|
3814
|
+
chunkZ5YCRJY3_cjs.Badge,
|
|
3483
3815
|
{
|
|
3484
3816
|
variant: "outline",
|
|
3485
3817
|
className: "shrink-0 rounded-full px-2 py-0 text-xs font-medium text-muted-foreground",
|
|
@@ -3490,10 +3822,10 @@ function ConversationList({
|
|
|
3490
3822
|
// shouted louder than the message it was counting.
|
|
3491
3823
|
// Enough to catch the eye scanning the list, no more.
|
|
3492
3824
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3493
|
-
|
|
3825
|
+
chunkZ5YCRJY3_cjs.Badge,
|
|
3494
3826
|
{
|
|
3495
3827
|
variant: "accent",
|
|
3496
|
-
className:
|
|
3828
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3497
3829
|
"min-w-[1.125rem] justify-center rounded-full px-1 py-0 text-xs font-medium leading-[1.125rem] shadow-none",
|
|
3498
3830
|
classNames?.unreadBadge
|
|
3499
3831
|
),
|
|
@@ -3519,18 +3851,18 @@ function ConversationList({
|
|
|
3519
3851
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3520
3852
|
"p",
|
|
3521
3853
|
{
|
|
3522
|
-
className:
|
|
3854
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3523
3855
|
"min-w-0 flex-1 truncate text-xs",
|
|
3524
3856
|
unread ? "font-medium text-foreground" : "text-muted-foreground"
|
|
3525
3857
|
),
|
|
3526
3858
|
children: c.subtitle ?? preview
|
|
3527
3859
|
}
|
|
3528
3860
|
),
|
|
3529
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-xs text-muted-foreground", children: lastMessage ?
|
|
3861
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-xs text-muted-foreground", children: lastMessage ? chunkPGLV23SB_cjs.formatRelativeTime(lastMessage.createdAt) : "" })
|
|
3530
3862
|
] })
|
|
3531
3863
|
] })
|
|
3532
3864
|
] });
|
|
3533
|
-
const rowClass =
|
|
3865
|
+
const rowClass = chunkS6A6FSG7_cjs.cn(
|
|
3534
3866
|
// Each row is its own opaque surface. Left transparent it takes
|
|
3535
3867
|
// the panel's colour, and the chips stop reading as cards at all
|
|
3536
3868
|
// — which is the whole point of them.
|
|
@@ -3617,7 +3949,7 @@ function MessageBubble({
|
|
|
3617
3949
|
isLastOfRun,
|
|
3618
3950
|
senderName: message.isMine ? "You" : userDisplayName(message.sender),
|
|
3619
3951
|
classNames,
|
|
3620
|
-
formatTimestamp:
|
|
3952
|
+
formatTimestamp: chunkPGLV23SB_cjs.formatRelativeTime
|
|
3621
3953
|
}
|
|
3622
3954
|
);
|
|
3623
3955
|
}
|
|
@@ -3659,7 +3991,7 @@ function MessageThread({
|
|
|
3659
3991
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs text-muted-foreground", children: peer.email })
|
|
3660
3992
|
] })
|
|
3661
3993
|
] }),
|
|
3662
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3994
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkOBNTJEEO_cjs.ScrollArea, { className: "min-h-0 flex-1 bg-background", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col px-4 py-4", "data-testid": "arbi-dm-thread", children: [
|
|
3663
3995
|
items.map(({ message: m, isLastOfRun, isFirstOfDay }) => /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
|
|
3664
3996
|
isFirstOfDay && formatDay && /* @__PURE__ */ jsxRuntime.jsx(DateSeparator, { children: formatDay(m.createdAt) }),
|
|
3665
3997
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3709,7 +4041,7 @@ function DmComposer({
|
|
|
3709
4041
|
children,
|
|
3710
4042
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-end gap-2", children: [
|
|
3711
4043
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3712
|
-
|
|
4044
|
+
chunkZ5YCRJY3_cjs.Textarea,
|
|
3713
4045
|
{
|
|
3714
4046
|
ref: inputRef,
|
|
3715
4047
|
value: draft,
|
|
@@ -3723,12 +4055,12 @@ function DmComposer({
|
|
|
3723
4055
|
}
|
|
3724
4056
|
),
|
|
3725
4057
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3726
|
-
|
|
4058
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
3727
4059
|
{
|
|
3728
4060
|
type: "button",
|
|
3729
4061
|
onClick: () => void submit(),
|
|
3730
4062
|
disabled: disabled || busy || !draft.trim(),
|
|
3731
|
-
className:
|
|
4063
|
+
className: chunkS6A6FSG7_cjs.cn(classNames?.sendButton),
|
|
3732
4064
|
"data-testid": "arbi-dm-send",
|
|
3733
4065
|
"aria-label": "Send message",
|
|
3734
4066
|
children: [
|
|
@@ -3785,15 +4117,15 @@ function StartByEmail({
|
|
|
3785
4117
|
"form",
|
|
3786
4118
|
{
|
|
3787
4119
|
"data-testid": "arbi-dm-start",
|
|
3788
|
-
className:
|
|
4120
|
+
className: chunkS6A6FSG7_cjs.cn("flex flex-col gap-2 border-b border-border px-4 py-3", className),
|
|
3789
4121
|
onSubmit: (e) => {
|
|
3790
4122
|
e.preventDefault();
|
|
3791
4123
|
void submit();
|
|
3792
4124
|
},
|
|
3793
4125
|
children: [
|
|
3794
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4126
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.Label, { htmlFor: `${uid}-email`, children: l.email }),
|
|
3795
4127
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3796
|
-
|
|
4128
|
+
chunkZ5YCRJY3_cjs.Input,
|
|
3797
4129
|
{
|
|
3798
4130
|
id: `${uid}-email`,
|
|
3799
4131
|
type: "email",
|
|
@@ -3807,9 +4139,9 @@ function StartByEmail({
|
|
|
3807
4139
|
}
|
|
3808
4140
|
),
|
|
3809
4141
|
email !== "" && !valid && /* @__PURE__ */ jsxRuntime.jsx("p", { id: `${uid}-bad`, className: "text-xs text-destructive", children: l.invalidEmail }),
|
|
3810
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4142
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.Label, { htmlFor: `${uid}-text`, children: l.message }),
|
|
3811
4143
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3812
|
-
|
|
4144
|
+
chunkZ5YCRJY3_cjs.Textarea,
|
|
3813
4145
|
{
|
|
3814
4146
|
id: `${uid}-text`,
|
|
3815
4147
|
value: text,
|
|
@@ -3822,12 +4154,12 @@ function StartByEmail({
|
|
|
3822
4154
|
),
|
|
3823
4155
|
error && /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-xs text-destructive", "data-testid": "arbi-dm-start-error", children: error }),
|
|
3824
4156
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3825
|
-
|
|
4157
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
3826
4158
|
{
|
|
3827
4159
|
type: "submit",
|
|
3828
4160
|
size: "sm",
|
|
3829
4161
|
disabled: !valid || !text.trim() || busy,
|
|
3830
|
-
className:
|
|
4162
|
+
className: chunkS6A6FSG7_cjs.cn("self-end", classNames?.sendButton),
|
|
3831
4163
|
"data-testid": "arbi-dm-start-send",
|
|
3832
4164
|
children: [
|
|
3833
4165
|
busy ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin", "aria-hidden": true }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Send, { className: "size-4", "aria-hidden": true }),
|
|
@@ -3892,7 +4224,7 @@ function DirectMessages({
|
|
|
3892
4224
|
{
|
|
3893
4225
|
"data-testid": "arbi-dm",
|
|
3894
4226
|
style: { height: "calc(100vh - 16rem)", minHeight: "28rem" },
|
|
3895
|
-
className:
|
|
4227
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3896
4228
|
"relative flex flex-col overflow-hidden rounded-xl border border-border bg-card md:flex-row",
|
|
3897
4229
|
className
|
|
3898
4230
|
),
|
|
@@ -3973,7 +4305,7 @@ function ImageCropper({
|
|
|
3973
4305
|
},
|
|
3974
4306
|
[onCropComplete, activeAspect]
|
|
3975
4307
|
);
|
|
3976
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4308
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkS6A6FSG7_cjs.cn("flex flex-col gap-3", className), children: [
|
|
3977
4309
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative h-72 w-full overflow-hidden rounded-md bg-foreground/95", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3978
4310
|
Cropper__default.default,
|
|
3979
4311
|
{
|
|
@@ -3999,7 +4331,7 @@ function ImageCropper({
|
|
|
3999
4331
|
type: "button",
|
|
4000
4332
|
onClick: () => setActiveAspect(opt.value),
|
|
4001
4333
|
"data-testid": `image-cropper-aspect-${opt.label}`,
|
|
4002
|
-
className:
|
|
4334
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
4003
4335
|
"rounded-md px-2 py-1 text-xs font-medium transition-colors",
|
|
4004
4336
|
on ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-accent hover:text-foreground"
|
|
4005
4337
|
),
|
|
@@ -4012,7 +4344,7 @@ function ImageCropper({
|
|
|
4012
4344
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
|
|
4013
4345
|
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-semibold uppercase tracking-wider text-muted-foreground", children: "Zoom" }),
|
|
4014
4346
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4015
|
-
|
|
4347
|
+
chunkZ5YCRJY3_cjs.Slider,
|
|
4016
4348
|
{
|
|
4017
4349
|
value: [zoom],
|
|
4018
4350
|
onValueChange: ([v]) => setZoom(v ?? 1),
|
|
@@ -4089,8 +4421,8 @@ function ImageCropModal({
|
|
|
4089
4421
|
setBusy(false);
|
|
4090
4422
|
}
|
|
4091
4423
|
};
|
|
4092
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4093
|
-
/* @__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 }) }),
|
|
4094
4426
|
image ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
4095
4427
|
ImageCropper,
|
|
4096
4428
|
{
|
|
@@ -4101,9 +4433,9 @@ function ImageCropModal({
|
|
|
4101
4433
|
onCropComplete: setArea
|
|
4102
4434
|
}
|
|
4103
4435
|
) : null,
|
|
4104
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4105
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4106
|
-
/* @__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: [
|
|
4107
4439
|
busy ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-1 size-4 animate-spin" }) : null,
|
|
4108
4440
|
saveLabel
|
|
4109
4441
|
] })
|
|
@@ -4169,18 +4501,18 @@ function CommandPalette({
|
|
|
4169
4501
|
if (!q || task.isRunning) return;
|
|
4170
4502
|
void task.run(buildAskPrompt(q), askDocIds, { model });
|
|
4171
4503
|
};
|
|
4172
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4173
|
-
|
|
4504
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4505
|
+
chunkZ5YCRJY3_cjs.DialogContent,
|
|
4174
4506
|
{
|
|
4175
|
-
className:
|
|
4507
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
4176
4508
|
"top-[12%] max-w-2xl translate-y-0 gap-0 overflow-hidden p-0",
|
|
4177
4509
|
classNames?.dialog
|
|
4178
4510
|
),
|
|
4179
4511
|
"data-testid": testId,
|
|
4180
4512
|
children: [
|
|
4181
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4513
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.DialogTitle, { className: "sr-only", children: "Command palette" }),
|
|
4182
4514
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 border-b border-border px-4", children: [
|
|
4183
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className:
|
|
4515
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: chunkS6A6FSG7_cjs.cn("size-4 shrink-0 text-ai-accent", classNames?.leadingIcon) }),
|
|
4184
4516
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4185
4517
|
"input",
|
|
4186
4518
|
{
|
|
@@ -4194,7 +4526,7 @@ function CommandPalette({
|
|
|
4194
4526
|
}
|
|
4195
4527
|
},
|
|
4196
4528
|
placeholder,
|
|
4197
|
-
className:
|
|
4529
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
4198
4530
|
"h-14 flex-1 bg-transparent text-base outline-none placeholder:text-muted-foreground",
|
|
4199
4531
|
classNames?.input
|
|
4200
4532
|
),
|
|
@@ -4209,7 +4541,7 @@ function CommandPalette({
|
|
|
4209
4541
|
{
|
|
4210
4542
|
type: "button",
|
|
4211
4543
|
onClick: ask,
|
|
4212
|
-
className:
|
|
4544
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
4213
4545
|
"mb-1 flex w-full items-center gap-3 rounded-lg px-3 py-2.5 text-left hover:bg-accent",
|
|
4214
4546
|
classNames?.askAction
|
|
4215
4547
|
),
|
|
@@ -4218,7 +4550,7 @@ function CommandPalette({
|
|
|
4218
4550
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4219
4551
|
"span",
|
|
4220
4552
|
{
|
|
4221
|
-
className:
|
|
4553
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
4222
4554
|
"flex size-8 items-center justify-center rounded-md bg-ai-surface text-ai-accent",
|
|
4223
4555
|
classNames?.askChip
|
|
4224
4556
|
),
|
|
@@ -4249,7 +4581,7 @@ function CommandPalette({
|
|
|
4249
4581
|
}
|
|
4250
4582
|
),
|
|
4251
4583
|
task.isDone && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3 flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4252
|
-
|
|
4584
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4253
4585
|
{
|
|
4254
4586
|
variant: "outline",
|
|
4255
4587
|
size: "sm",
|
|
@@ -4267,7 +4599,7 @@ function CommandPalette({
|
|
|
4267
4599
|
{
|
|
4268
4600
|
type: "button",
|
|
4269
4601
|
onClick: () => go(item.to),
|
|
4270
|
-
className:
|
|
4602
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
4271
4603
|
"flex w-full items-center gap-3 rounded-lg px-3 py-2 text-left hover:bg-accent",
|
|
4272
4604
|
classNames?.navItem
|
|
4273
4605
|
),
|
|
@@ -4384,10 +4716,10 @@ function DocumentTable({
|
|
|
4384
4716
|
extraColumns,
|
|
4385
4717
|
className
|
|
4386
4718
|
}) {
|
|
4387
|
-
const query = useDocuments(workspaceId, { enabled: !documents });
|
|
4719
|
+
const query = chunkCBJ3WOGD_cjs.useDocuments(workspaceId, { enabled: !documents });
|
|
4388
4720
|
const rows = documents ?? query.data ?? [];
|
|
4389
4721
|
const isLoading = !documents && query.isLoading;
|
|
4390
|
-
const tagsQuery = useTags(workspaceId);
|
|
4722
|
+
const tagsQuery = chunkCBJ3WOGD_cjs.useTags(workspaceId);
|
|
4391
4723
|
const tagNameById = React__default.default.useMemo(() => {
|
|
4392
4724
|
const map = /* @__PURE__ */ new Map();
|
|
4393
4725
|
for (const t of tagsQuery.data ?? []) {
|
|
@@ -4447,7 +4779,7 @@ function DocumentTable({
|
|
|
4447
4779
|
const doc = p.data;
|
|
4448
4780
|
if (!doc) return null;
|
|
4449
4781
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4450
|
-
|
|
4782
|
+
chunkZ5YCRJY3_cjs.DocumentEntity,
|
|
4451
4783
|
{
|
|
4452
4784
|
doc,
|
|
4453
4785
|
size: "base",
|
|
@@ -4470,7 +4802,7 @@ function DocumentTable({
|
|
|
4470
4802
|
cellRenderer: (p) => {
|
|
4471
4803
|
const status = p.data?.status;
|
|
4472
4804
|
if (!status) return null;
|
|
4473
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4805
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkZ5YCRJY3_cjs.Badge, { variant: STATUS_VARIANTS[status.toLowerCase()] ?? "secondary", children: status });
|
|
4474
4806
|
}
|
|
4475
4807
|
},
|
|
4476
4808
|
{
|
|
@@ -4484,7 +4816,7 @@ function DocumentTable({
|
|
|
4484
4816
|
const doctags = p.data?.doctags ?? [];
|
|
4485
4817
|
if (doctags.length === 0) return null;
|
|
4486
4818
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center gap-1 py-1", children: doctags.map((dt) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
4487
|
-
|
|
4819
|
+
chunkZ5YCRJY3_cjs.TagEntity,
|
|
4488
4820
|
{
|
|
4489
4821
|
size: "sm",
|
|
4490
4822
|
tag: {
|
|
@@ -4563,12 +4895,12 @@ function DocumentCardMenu({
|
|
|
4563
4895
|
canDelete = true,
|
|
4564
4896
|
testId = "document-card-menu"
|
|
4565
4897
|
}) {
|
|
4566
|
-
const arbi =
|
|
4898
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
4567
4899
|
const queryClient = reactQuery.useQueryClient();
|
|
4568
4900
|
const invalidateDocuments = () => {
|
|
4569
4901
|
const workspaceId = arbi.getWorkspaceId();
|
|
4570
4902
|
if (workspaceId) {
|
|
4571
|
-
void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.documents(workspaceId) });
|
|
4903
|
+
void queryClient.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.documents(workspaceId) });
|
|
4572
4904
|
}
|
|
4573
4905
|
};
|
|
4574
4906
|
const download = reactQuery.useMutation({
|
|
@@ -4590,8 +4922,8 @@ function DocumentCardMenu({
|
|
|
4590
4922
|
mutationFn: () => arbi.documents.delete([docId]),
|
|
4591
4923
|
onSuccess: invalidateDocuments
|
|
4592
4924
|
});
|
|
4593
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4594
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4925
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkOBNTJEEO_cjs.DropdownMenu, { children: [
|
|
4926
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkOBNTJEEO_cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4595
4927
|
"button",
|
|
4596
4928
|
{
|
|
4597
4929
|
type: "button",
|
|
@@ -4602,17 +4934,17 @@ function DocumentCardMenu({
|
|
|
4602
4934
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, { className: "size-4" })
|
|
4603
4935
|
}
|
|
4604
4936
|
) }),
|
|
4605
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4606
|
-
onOpen && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4937
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkOBNTJEEO_cjs.DropdownMenuContent, { align: "start", onClick: (e) => e.stopPropagation(), className: "w-44", children: [
|
|
4938
|
+
onOpen && /* @__PURE__ */ jsxRuntime.jsxs(chunkOBNTJEEO_cjs.DropdownMenuItem, { onSelect: onOpen, "data-testid": `${testId}-open`, children: [
|
|
4607
4939
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.SquarePen, { className: "mr-2 size-4" }),
|
|
4608
4940
|
"Open"
|
|
4609
4941
|
] }),
|
|
4610
|
-
onRename && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4942
|
+
onRename && /* @__PURE__ */ jsxRuntime.jsxs(chunkOBNTJEEO_cjs.DropdownMenuItem, { onSelect: onRename, "data-testid": `${testId}-rename`, children: [
|
|
4611
4943
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "mr-2 size-4" }),
|
|
4612
4944
|
"Rename"
|
|
4613
4945
|
] }),
|
|
4614
4946
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4615
|
-
|
|
4947
|
+
chunkOBNTJEEO_cjs.DropdownMenuItem,
|
|
4616
4948
|
{
|
|
4617
4949
|
onSelect: () => download.mutate(),
|
|
4618
4950
|
disabled: download.isPending,
|
|
@@ -4624,9 +4956,9 @@ function DocumentCardMenu({
|
|
|
4624
4956
|
}
|
|
4625
4957
|
),
|
|
4626
4958
|
canDelete && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4627
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4959
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkOBNTJEEO_cjs.DropdownMenuSeparator, {}),
|
|
4628
4960
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4629
|
-
|
|
4961
|
+
chunkOBNTJEEO_cjs.DropdownMenuItem,
|
|
4630
4962
|
{
|
|
4631
4963
|
onSelect: () => remove.mutate(),
|
|
4632
4964
|
disabled: remove.isPending,
|
|
@@ -4667,10 +4999,10 @@ function DocumentGallery({
|
|
|
4667
4999
|
minTileWidth = 148,
|
|
4668
5000
|
className
|
|
4669
5001
|
}) {
|
|
4670
|
-
const query = useDocuments(workspaceId, { enabled: !documents });
|
|
5002
|
+
const query = chunkCBJ3WOGD_cjs.useDocuments(workspaceId, { enabled: !documents });
|
|
4671
5003
|
const rows = documents ?? query.data ?? [];
|
|
4672
5004
|
const isLoading = !documents && query.isLoading;
|
|
4673
|
-
const tagsQuery = useTags(workspaceId);
|
|
5005
|
+
const tagsQuery = chunkCBJ3WOGD_cjs.useTags(workspaceId);
|
|
4674
5006
|
const tagNameById = React__default.default.useMemo(() => {
|
|
4675
5007
|
const map = /* @__PURE__ */ new Map();
|
|
4676
5008
|
for (const t of tagsQuery.data ?? []) {
|
|
@@ -4682,7 +5014,7 @@ function DocumentGallery({
|
|
|
4682
5014
|
() => rows.map((d) => d.external_id).filter((id) => !!id),
|
|
4683
5015
|
[rows]
|
|
4684
5016
|
);
|
|
4685
|
-
const thumbsQuery = useThumbnails(docIds);
|
|
5017
|
+
const thumbsQuery = chunkCBJ3WOGD_cjs.useThumbnails(docIds);
|
|
4686
5018
|
const thumbs = thumbsQuery.data ?? {};
|
|
4687
5019
|
const storeSelected = useArbiUiStore((s) => s.selectedDocIds);
|
|
4688
5020
|
const storeSetSelected = useArbiUiStore((s) => s.setSelectedDocIds);
|
|
@@ -4707,7 +5039,7 @@ function DocumentGallery({
|
|
|
4707
5039
|
},
|
|
4708
5040
|
[onOpenDocument, setViewingDocId]
|
|
4709
5041
|
);
|
|
4710
|
-
const arbi =
|
|
5042
|
+
const arbi = chunkZMTLGO3K_cjs.useArbi();
|
|
4711
5043
|
const queryClient = reactQuery.useQueryClient();
|
|
4712
5044
|
const [renamingId, setRenamingId] = React__default.default.useState(null);
|
|
4713
5045
|
const rename = reactQuery.useMutation({
|
|
@@ -4718,7 +5050,7 @@ function DocumentGallery({
|
|
|
4718
5050
|
setRenamingId(null);
|
|
4719
5051
|
const activeWorkspace = workspaceId ?? arbi.getWorkspaceId();
|
|
4720
5052
|
if (activeWorkspace) {
|
|
4721
|
-
void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.documents(activeWorkspace) });
|
|
5053
|
+
void queryClient.invalidateQueries({ queryKey: chunkCBJ3WOGD_cjs.arbiQueryKeys.documents(activeWorkspace) });
|
|
4722
5054
|
}
|
|
4723
5055
|
}
|
|
4724
5056
|
});
|
|
@@ -4726,7 +5058,7 @@ function DocumentGallery({
|
|
|
4726
5058
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4727
5059
|
"div",
|
|
4728
5060
|
{
|
|
4729
|
-
className:
|
|
5061
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
4730
5062
|
"flex items-center justify-center p-8 text-sm text-muted-foreground",
|
|
4731
5063
|
className
|
|
4732
5064
|
),
|
|
@@ -4738,7 +5070,7 @@ function DocumentGallery({
|
|
|
4738
5070
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4739
5071
|
"div",
|
|
4740
5072
|
{
|
|
4741
|
-
className:
|
|
5073
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
4742
5074
|
"flex items-center justify-center p-8 text-sm text-muted-foreground",
|
|
4743
5075
|
className
|
|
4744
5076
|
),
|
|
@@ -4750,7 +5082,7 @@ function DocumentGallery({
|
|
|
4750
5082
|
"div",
|
|
4751
5083
|
{
|
|
4752
5084
|
"data-testid": "document-gallery",
|
|
4753
|
-
className:
|
|
5085
|
+
className: chunkS6A6FSG7_cjs.cn("grid gap-3", className),
|
|
4754
5086
|
style: { gridTemplateColumns: `repeat(auto-fill, minmax(${minTileWidth}px, 1fr))` },
|
|
4755
5087
|
children: rows.map((doc) => {
|
|
4756
5088
|
const id = doc.external_id;
|
|
@@ -4760,7 +5092,7 @@ function DocumentGallery({
|
|
|
4760
5092
|
(dt) => tagNameById.get(dt.tag_ext_id) ?? dt.tag_ext_id.slice(0, 8)
|
|
4761
5093
|
);
|
|
4762
5094
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-doc-id": id, "data-testid": "document-gallery-card", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4763
|
-
|
|
5095
|
+
chunkZ5YCRJY3_cjs.DocumentCard,
|
|
4764
5096
|
{
|
|
4765
5097
|
doc,
|
|
4766
5098
|
thumbnailUrl: thumbs[id],
|
|
@@ -4797,7 +5129,7 @@ function VoiceNoteRecorder({
|
|
|
4797
5129
|
isSaving = false,
|
|
4798
5130
|
transcribe
|
|
4799
5131
|
}) {
|
|
4800
|
-
const recorder =
|
|
5132
|
+
const recorder = chunkZ5YCRJY3_cjs.useAudioRecorder();
|
|
4801
5133
|
const [transcript, setTranscript] = React.useState(null);
|
|
4802
5134
|
const [isTranscribing, setIsTranscribing] = React.useState(false);
|
|
4803
5135
|
React.useEffect(() => {
|
|
@@ -4829,7 +5161,7 @@ function VoiceNoteRecorder({
|
|
|
4829
5161
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col items-center justify-center gap-6 p-8", children: [
|
|
4830
5162
|
recorder.state === "idle" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4831
5163
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4832
|
-
|
|
5164
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4833
5165
|
{
|
|
4834
5166
|
type: "button",
|
|
4835
5167
|
size: "lg",
|
|
@@ -4843,7 +5175,7 @@ function VoiceNoteRecorder({
|
|
|
4843
5175
|
] }),
|
|
4844
5176
|
(recorder.state === "recording" || recorder.state === "paused") && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4845
5177
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4846
|
-
|
|
5178
|
+
chunkZ5YCRJY3_cjs.MicWaveformIndicator,
|
|
4847
5179
|
{
|
|
4848
5180
|
level: recorder.level,
|
|
4849
5181
|
elapsedMs: recorder.elapsedMs,
|
|
@@ -4852,7 +5184,7 @@ function VoiceNoteRecorder({
|
|
|
4852
5184
|
),
|
|
4853
5185
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
4854
5186
|
recorder.state === "recording" ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4855
|
-
|
|
5187
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4856
5188
|
{
|
|
4857
5189
|
type: "button",
|
|
4858
5190
|
variant: "outline",
|
|
@@ -4864,7 +5196,7 @@ function VoiceNoteRecorder({
|
|
|
4864
5196
|
]
|
|
4865
5197
|
}
|
|
4866
5198
|
) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4867
|
-
|
|
5199
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4868
5200
|
{
|
|
4869
5201
|
type: "button",
|
|
4870
5202
|
variant: "outline",
|
|
@@ -4876,14 +5208,14 @@ function VoiceNoteRecorder({
|
|
|
4876
5208
|
]
|
|
4877
5209
|
}
|
|
4878
5210
|
),
|
|
4879
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5211
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZ5YCRJY3_cjs.Button, { type: "button", onClick: recorder.stop, "data-testid": "voice-note-stop-button", children: [
|
|
4880
5212
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "mr-1.5 h-3.5 w-3.5 fill-current" }),
|
|
4881
5213
|
"Stop"
|
|
4882
5214
|
] })
|
|
4883
5215
|
] })
|
|
4884
5216
|
] }),
|
|
4885
5217
|
recorder.state === "stopped" && recorder.blob && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4886
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5218
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTMPDW7J5_cjs.AudioViewer, { blob: recorder.blob, title }) }),
|
|
4887
5219
|
(isTranscribing || transcript) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4888
5220
|
"div",
|
|
4889
5221
|
{
|
|
@@ -4900,7 +5232,7 @@ function VoiceNoteRecorder({
|
|
|
4900
5232
|
),
|
|
4901
5233
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
4902
5234
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4903
|
-
|
|
5235
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4904
5236
|
{
|
|
4905
5237
|
type: "button",
|
|
4906
5238
|
variant: "outline",
|
|
@@ -4914,7 +5246,7 @@ function VoiceNoteRecorder({
|
|
|
4914
5246
|
}
|
|
4915
5247
|
),
|
|
4916
5248
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4917
|
-
|
|
5249
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4918
5250
|
{
|
|
4919
5251
|
type: "button",
|
|
4920
5252
|
variant: "outline",
|
|
@@ -4928,7 +5260,7 @@ function VoiceNoteRecorder({
|
|
|
4928
5260
|
}
|
|
4929
5261
|
),
|
|
4930
5262
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4931
|
-
|
|
5263
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
4932
5264
|
{
|
|
4933
5265
|
type: "button",
|
|
4934
5266
|
onClick: handleSave,
|
|
@@ -4965,7 +5297,7 @@ function DraftTitleControls({
|
|
|
4965
5297
|
}
|
|
4966
5298
|
),
|
|
4967
5299
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4968
|
-
|
|
5300
|
+
chunkZ5YCRJY3_cjs.IconToggle,
|
|
4969
5301
|
{
|
|
4970
5302
|
icon: lucideReact.Sparkles,
|
|
4971
5303
|
isActive: autoRename,
|
|
@@ -4999,7 +5331,7 @@ function useCameraStream(constraints = { video: true, audio: false }) {
|
|
|
4999
5331
|
streamRef.current = media;
|
|
5000
5332
|
setStream(media);
|
|
5001
5333
|
} catch (err) {
|
|
5002
|
-
setError(
|
|
5334
|
+
setError(chunkZ5YCRJY3_cjs.classifyMediaError(err, "camera"));
|
|
5003
5335
|
} finally {
|
|
5004
5336
|
setIsStarting(false);
|
|
5005
5337
|
}
|
|
@@ -5130,7 +5462,7 @@ function PhotoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
5130
5462
|
}
|
|
5131
5463
|
) }),
|
|
5132
5464
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5133
|
-
|
|
5465
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
5134
5466
|
{
|
|
5135
5467
|
type: "button",
|
|
5136
5468
|
size: "lg",
|
|
@@ -5145,10 +5477,10 @@ function PhotoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
5145
5477
|
captureError && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-text", children: captureError })
|
|
5146
5478
|
] }),
|
|
5147
5479
|
capturedBlob && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5148
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5480
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTMPDW7J5_cjs.ImageViewer, { blob: capturedBlob, alt: "Captured photo" }) }),
|
|
5149
5481
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
5150
5482
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5151
|
-
|
|
5483
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
5152
5484
|
{
|
|
5153
5485
|
type: "button",
|
|
5154
5486
|
variant: "outline",
|
|
@@ -5162,7 +5494,7 @@ function PhotoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
5162
5494
|
}
|
|
5163
5495
|
),
|
|
5164
5496
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5165
|
-
|
|
5497
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
5166
5498
|
{
|
|
5167
5499
|
type: "button",
|
|
5168
5500
|
variant: "outline",
|
|
@@ -5176,7 +5508,7 @@ function PhotoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
5176
5508
|
}
|
|
5177
5509
|
),
|
|
5178
5510
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5179
|
-
|
|
5511
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
5180
5512
|
{
|
|
5181
5513
|
type: "button",
|
|
5182
5514
|
onClick: handleSave,
|
|
@@ -5235,10 +5567,10 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
5235
5567
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "relative inline-flex h-2 w-2 rounded-full bg-red-500" })
|
|
5236
5568
|
] }),
|
|
5237
5569
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold uppercase tracking-wide text-red-500", children: "Rec" }),
|
|
5238
|
-
/* @__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) })
|
|
5239
5571
|
] }),
|
|
5240
5572
|
recorder.state === "recording" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5241
|
-
|
|
5573
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
5242
5574
|
{
|
|
5243
5575
|
type: "button",
|
|
5244
5576
|
size: "lg",
|
|
@@ -5248,7 +5580,7 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
5248
5580
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-5 w-5 fill-current" })
|
|
5249
5581
|
}
|
|
5250
5582
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
5251
|
-
|
|
5583
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
5252
5584
|
{
|
|
5253
5585
|
type: "button",
|
|
5254
5586
|
size: "lg",
|
|
@@ -5262,10 +5594,10 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
5262
5594
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: recorder.state === "recording" ? "Tap to stop recording" : camera.isStarting ? "Starting camera\u2026" : camera.stream ? "Tap to start recording" : "Waiting for camera access\u2026" })
|
|
5263
5595
|
] }),
|
|
5264
5596
|
recorder.state === "stopped" && recorder.blob && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5265
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5597
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-md", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTMPDW7J5_cjs.VideoViewer, { blob: recorder.blob, title: "Captured video" }) }),
|
|
5266
5598
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
5267
5599
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5268
|
-
|
|
5600
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
5269
5601
|
{
|
|
5270
5602
|
type: "button",
|
|
5271
5603
|
variant: "outline",
|
|
@@ -5279,7 +5611,7 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
5279
5611
|
}
|
|
5280
5612
|
),
|
|
5281
5613
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5282
|
-
|
|
5614
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
5283
5615
|
{
|
|
5284
5616
|
type: "button",
|
|
5285
5617
|
variant: "outline",
|
|
@@ -5293,7 +5625,7 @@ function VideoCapture({ onSave, onDiscard, onError, isSaving = false }) {
|
|
|
5293
5625
|
}
|
|
5294
5626
|
),
|
|
5295
5627
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5296
|
-
|
|
5628
|
+
chunkZ5YCRJY3_cjs.Button,
|
|
5297
5629
|
{
|
|
5298
5630
|
type: "button",
|
|
5299
5631
|
onClick: handleSave,
|
|
@@ -5334,673 +5666,781 @@ function hasVideoTrack(blob) {
|
|
|
5334
5666
|
});
|
|
5335
5667
|
}
|
|
5336
5668
|
|
|
5337
|
-
Object.defineProperty(exports, "
|
|
5669
|
+
Object.defineProperty(exports, "DEFAULT_USD_PER_CREDIT", {
|
|
5338
5670
|
enumerable: true,
|
|
5339
|
-
get: function () { return
|
|
5671
|
+
get: function () { return chunkCBJ3WOGD_cjs.DEFAULT_USD_PER_CREDIT; }
|
|
5340
5672
|
});
|
|
5341
|
-
Object.defineProperty(exports, "
|
|
5673
|
+
Object.defineProperty(exports, "arbiQueryKeys", {
|
|
5342
5674
|
enumerable: true,
|
|
5343
|
-
get: function () { return
|
|
5675
|
+
get: function () { return chunkCBJ3WOGD_cjs.arbiQueryKeys; }
|
|
5344
5676
|
});
|
|
5345
|
-
Object.defineProperty(exports, "
|
|
5677
|
+
Object.defineProperty(exports, "creditsToUsd", {
|
|
5346
5678
|
enumerable: true,
|
|
5347
|
-
get: function () { return
|
|
5679
|
+
get: function () { return chunkCBJ3WOGD_cjs.creditsToUsd; }
|
|
5348
5680
|
});
|
|
5349
|
-
Object.defineProperty(exports, "
|
|
5681
|
+
Object.defineProperty(exports, "formatCredits", {
|
|
5350
5682
|
enumerable: true,
|
|
5351
|
-
get: function () { return
|
|
5683
|
+
get: function () { return chunkCBJ3WOGD_cjs.formatCredits; }
|
|
5352
5684
|
});
|
|
5353
|
-
Object.defineProperty(exports, "
|
|
5685
|
+
Object.defineProperty(exports, "isUsageMetered", {
|
|
5354
5686
|
enumerable: true,
|
|
5355
|
-
get: function () { return
|
|
5687
|
+
get: function () { return chunkCBJ3WOGD_cjs.isUsageMetered; }
|
|
5356
5688
|
});
|
|
5357
|
-
Object.defineProperty(exports, "
|
|
5689
|
+
Object.defineProperty(exports, "useActivity", {
|
|
5358
5690
|
enumerable: true,
|
|
5359
|
-
get: function () { return
|
|
5691
|
+
get: function () { return chunkCBJ3WOGD_cjs.useActivity; }
|
|
5360
5692
|
});
|
|
5361
|
-
Object.defineProperty(exports, "
|
|
5693
|
+
Object.defineProperty(exports, "useAgents", {
|
|
5362
5694
|
enumerable: true,
|
|
5363
|
-
get: function () { return
|
|
5695
|
+
get: function () { return chunkCBJ3WOGD_cjs.useAgents; }
|
|
5364
5696
|
});
|
|
5365
|
-
Object.defineProperty(exports, "
|
|
5697
|
+
Object.defineProperty(exports, "useAssistantQuery", {
|
|
5366
5698
|
enumerable: true,
|
|
5367
|
-
get: function () { return
|
|
5699
|
+
get: function () { return chunkCBJ3WOGD_cjs.useAssistantQuery; }
|
|
5368
5700
|
});
|
|
5369
|
-
Object.defineProperty(exports, "
|
|
5701
|
+
Object.defineProperty(exports, "useConfigs", {
|
|
5702
|
+
enumerable: true,
|
|
5703
|
+
get: function () { return chunkCBJ3WOGD_cjs.useConfigs; }
|
|
5704
|
+
});
|
|
5705
|
+
Object.defineProperty(exports, "useConversationThreads", {
|
|
5706
|
+
enumerable: true,
|
|
5707
|
+
get: function () { return chunkCBJ3WOGD_cjs.useConversationThreads; }
|
|
5708
|
+
});
|
|
5709
|
+
Object.defineProperty(exports, "useConversations", {
|
|
5710
|
+
enumerable: true,
|
|
5711
|
+
get: function () { return chunkCBJ3WOGD_cjs.useConversations; }
|
|
5712
|
+
});
|
|
5713
|
+
Object.defineProperty(exports, "useDeleteAgents", {
|
|
5714
|
+
enumerable: true,
|
|
5715
|
+
get: function () { return chunkCBJ3WOGD_cjs.useDeleteAgents; }
|
|
5716
|
+
});
|
|
5717
|
+
Object.defineProperty(exports, "useDocuments", {
|
|
5718
|
+
enumerable: true,
|
|
5719
|
+
get: function () { return chunkCBJ3WOGD_cjs.useDocuments; }
|
|
5720
|
+
});
|
|
5721
|
+
Object.defineProperty(exports, "useFacts", {
|
|
5722
|
+
enumerable: true,
|
|
5723
|
+
get: function () { return chunkCBJ3WOGD_cjs.useFacts; }
|
|
5724
|
+
});
|
|
5725
|
+
Object.defineProperty(exports, "useHealth", {
|
|
5726
|
+
enumerable: true,
|
|
5727
|
+
get: function () { return chunkCBJ3WOGD_cjs.useHealth; }
|
|
5728
|
+
});
|
|
5729
|
+
Object.defineProperty(exports, "useParsedDocument", {
|
|
5730
|
+
enumerable: true,
|
|
5731
|
+
get: function () { return chunkCBJ3WOGD_cjs.useParsedDocument; }
|
|
5732
|
+
});
|
|
5733
|
+
Object.defineProperty(exports, "useProjectInvoices", {
|
|
5734
|
+
enumerable: true,
|
|
5735
|
+
get: function () { return chunkCBJ3WOGD_cjs.useProjectInvoices; }
|
|
5736
|
+
});
|
|
5737
|
+
Object.defineProperty(exports, "useProjectUsage", {
|
|
5738
|
+
enumerable: true,
|
|
5739
|
+
get: function () { return chunkCBJ3WOGD_cjs.useProjectUsage; }
|
|
5740
|
+
});
|
|
5741
|
+
Object.defineProperty(exports, "useProjects", {
|
|
5742
|
+
enumerable: true,
|
|
5743
|
+
get: function () { return chunkCBJ3WOGD_cjs.useProjects; }
|
|
5744
|
+
});
|
|
5745
|
+
Object.defineProperty(exports, "useProjectsUsage", {
|
|
5370
5746
|
enumerable: true,
|
|
5371
|
-
get: function () { return
|
|
5747
|
+
get: function () { return chunkCBJ3WOGD_cjs.useProjectsUsage; }
|
|
5748
|
+
});
|
|
5749
|
+
Object.defineProperty(exports, "useSessions", {
|
|
5750
|
+
enumerable: true,
|
|
5751
|
+
get: function () { return chunkCBJ3WOGD_cjs.useSessions; }
|
|
5752
|
+
});
|
|
5753
|
+
Object.defineProperty(exports, "useTags", {
|
|
5754
|
+
enumerable: true,
|
|
5755
|
+
get: function () { return chunkCBJ3WOGD_cjs.useTags; }
|
|
5756
|
+
});
|
|
5757
|
+
Object.defineProperty(exports, "useTasks", {
|
|
5758
|
+
enumerable: true,
|
|
5759
|
+
get: function () { return chunkCBJ3WOGD_cjs.useTasks; }
|
|
5760
|
+
});
|
|
5761
|
+
Object.defineProperty(exports, "useThumbnails", {
|
|
5762
|
+
enumerable: true,
|
|
5763
|
+
get: function () { return chunkCBJ3WOGD_cjs.useThumbnails; }
|
|
5764
|
+
});
|
|
5765
|
+
Object.defineProperty(exports, "useUserUsageToday", {
|
|
5766
|
+
enumerable: true,
|
|
5767
|
+
get: function () { return chunkCBJ3WOGD_cjs.useUserUsageToday; }
|
|
5768
|
+
});
|
|
5769
|
+
Object.defineProperty(exports, "useWorkspaces", {
|
|
5770
|
+
enumerable: true,
|
|
5771
|
+
get: function () { return chunkCBJ3WOGD_cjs.useWorkspaces; }
|
|
5372
5772
|
});
|
|
5373
5773
|
Object.defineProperty(exports, "AgentBadge", {
|
|
5374
5774
|
enumerable: true,
|
|
5375
|
-
get: function () { return
|
|
5775
|
+
get: function () { return chunkZ5YCRJY3_cjs.AgentBadge; }
|
|
5376
5776
|
});
|
|
5377
5777
|
Object.defineProperty(exports, "AiMarkdown", {
|
|
5378
5778
|
enumerable: true,
|
|
5379
|
-
get: function () { return
|
|
5779
|
+
get: function () { return chunkZ5YCRJY3_cjs.AiMarkdown; }
|
|
5380
5780
|
});
|
|
5381
5781
|
Object.defineProperty(exports, "ArbiBotHeadIcon", {
|
|
5382
5782
|
enumerable: true,
|
|
5383
|
-
get: function () { return
|
|
5783
|
+
get: function () { return chunkZ5YCRJY3_cjs.ArbiBotHeadIcon; }
|
|
5384
5784
|
});
|
|
5385
5785
|
Object.defineProperty(exports, "AudIcon", {
|
|
5386
5786
|
enumerable: true,
|
|
5387
|
-
get: function () { return
|
|
5787
|
+
get: function () { return chunkZ5YCRJY3_cjs.AudIcon; }
|
|
5388
5788
|
});
|
|
5389
5789
|
Object.defineProperty(exports, "Avatar", {
|
|
5390
5790
|
enumerable: true,
|
|
5391
|
-
get: function () { return
|
|
5791
|
+
get: function () { return chunkZ5YCRJY3_cjs.Avatar; }
|
|
5392
5792
|
});
|
|
5393
5793
|
Object.defineProperty(exports, "AvatarFallback", {
|
|
5394
5794
|
enumerable: true,
|
|
5395
|
-
get: function () { return
|
|
5795
|
+
get: function () { return chunkZ5YCRJY3_cjs.AvatarFallback; }
|
|
5396
5796
|
});
|
|
5397
5797
|
Object.defineProperty(exports, "AvatarImage", {
|
|
5398
5798
|
enumerable: true,
|
|
5399
|
-
get: function () { return
|
|
5799
|
+
get: function () { return chunkZ5YCRJY3_cjs.AvatarImage; }
|
|
5400
5800
|
});
|
|
5401
5801
|
Object.defineProperty(exports, "BASE_COLORS", {
|
|
5402
5802
|
enumerable: true,
|
|
5403
|
-
get: function () { return
|
|
5803
|
+
get: function () { return chunkZ5YCRJY3_cjs.BASE_COLORS; }
|
|
5404
5804
|
});
|
|
5405
5805
|
Object.defineProperty(exports, "Badge", {
|
|
5406
5806
|
enumerable: true,
|
|
5407
|
-
get: function () { return
|
|
5807
|
+
get: function () { return chunkZ5YCRJY3_cjs.Badge; }
|
|
5408
5808
|
});
|
|
5409
5809
|
Object.defineProperty(exports, "Button", {
|
|
5410
5810
|
enumerable: true,
|
|
5411
|
-
get: function () { return
|
|
5811
|
+
get: function () { return chunkZ5YCRJY3_cjs.Button; }
|
|
5412
5812
|
});
|
|
5413
5813
|
Object.defineProperty(exports, "Card", {
|
|
5414
5814
|
enumerable: true,
|
|
5415
|
-
get: function () { return
|
|
5815
|
+
get: function () { return chunkZ5YCRJY3_cjs.Card; }
|
|
5416
5816
|
});
|
|
5417
5817
|
Object.defineProperty(exports, "CardContent", {
|
|
5418
5818
|
enumerable: true,
|
|
5419
|
-
get: function () { return
|
|
5819
|
+
get: function () { return chunkZ5YCRJY3_cjs.CardContent; }
|
|
5420
5820
|
});
|
|
5421
5821
|
Object.defineProperty(exports, "CardDescription", {
|
|
5422
5822
|
enumerable: true,
|
|
5423
|
-
get: function () { return
|
|
5823
|
+
get: function () { return chunkZ5YCRJY3_cjs.CardDescription; }
|
|
5424
5824
|
});
|
|
5425
5825
|
Object.defineProperty(exports, "CardFooter", {
|
|
5426
5826
|
enumerable: true,
|
|
5427
|
-
get: function () { return
|
|
5827
|
+
get: function () { return chunkZ5YCRJY3_cjs.CardFooter; }
|
|
5428
5828
|
});
|
|
5429
5829
|
Object.defineProperty(exports, "CardHeader", {
|
|
5430
5830
|
enumerable: true,
|
|
5431
|
-
get: function () { return
|
|
5831
|
+
get: function () { return chunkZ5YCRJY3_cjs.CardHeader; }
|
|
5432
5832
|
});
|
|
5433
5833
|
Object.defineProperty(exports, "CardTitle", {
|
|
5434
5834
|
enumerable: true,
|
|
5435
|
-
get: function () { return
|
|
5835
|
+
get: function () { return chunkZ5YCRJY3_cjs.CardTitle; }
|
|
5436
5836
|
});
|
|
5437
5837
|
Object.defineProperty(exports, "Checkbox", {
|
|
5438
5838
|
enumerable: true,
|
|
5439
|
-
get: function () { return
|
|
5839
|
+
get: function () { return chunkZ5YCRJY3_cjs.Checkbox; }
|
|
5440
5840
|
});
|
|
5441
5841
|
Object.defineProperty(exports, "Collapsible", {
|
|
5442
5842
|
enumerable: true,
|
|
5443
|
-
get: function () { return
|
|
5843
|
+
get: function () { return chunkZ5YCRJY3_cjs.Collapsible; }
|
|
5444
5844
|
});
|
|
5445
5845
|
Object.defineProperty(exports, "CollapsibleContent", {
|
|
5446
5846
|
enumerable: true,
|
|
5447
|
-
get: function () { return
|
|
5847
|
+
get: function () { return chunkZ5YCRJY3_cjs.CollapsibleContent; }
|
|
5448
5848
|
});
|
|
5449
5849
|
Object.defineProperty(exports, "CollapsibleTrigger", {
|
|
5450
5850
|
enumerable: true,
|
|
5451
|
-
get: function () { return
|
|
5851
|
+
get: function () { return chunkZ5YCRJY3_cjs.CollapsibleTrigger; }
|
|
5452
5852
|
});
|
|
5453
5853
|
Object.defineProperty(exports, "Command", {
|
|
5454
5854
|
enumerable: true,
|
|
5455
|
-
get: function () { return
|
|
5855
|
+
get: function () { return chunkZ5YCRJY3_cjs.Command; }
|
|
5456
5856
|
});
|
|
5457
5857
|
Object.defineProperty(exports, "CommandDialog", {
|
|
5458
5858
|
enumerable: true,
|
|
5459
|
-
get: function () { return
|
|
5859
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandDialog; }
|
|
5460
5860
|
});
|
|
5461
5861
|
Object.defineProperty(exports, "CommandEmpty", {
|
|
5462
5862
|
enumerable: true,
|
|
5463
|
-
get: function () { return
|
|
5863
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandEmpty; }
|
|
5464
5864
|
});
|
|
5465
5865
|
Object.defineProperty(exports, "CommandGroup", {
|
|
5466
5866
|
enumerable: true,
|
|
5467
|
-
get: function () { return
|
|
5867
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandGroup; }
|
|
5468
5868
|
});
|
|
5469
5869
|
Object.defineProperty(exports, "CommandInput", {
|
|
5470
5870
|
enumerable: true,
|
|
5471
|
-
get: function () { return
|
|
5871
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandInput; }
|
|
5472
5872
|
});
|
|
5473
5873
|
Object.defineProperty(exports, "CommandItem", {
|
|
5474
5874
|
enumerable: true,
|
|
5475
|
-
get: function () { return
|
|
5875
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandItem; }
|
|
5476
5876
|
});
|
|
5477
5877
|
Object.defineProperty(exports, "CommandList", {
|
|
5478
5878
|
enumerable: true,
|
|
5479
|
-
get: function () { return
|
|
5879
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandList; }
|
|
5480
5880
|
});
|
|
5481
5881
|
Object.defineProperty(exports, "CommandSeparator", {
|
|
5482
5882
|
enumerable: true,
|
|
5483
|
-
get: function () { return
|
|
5883
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandSeparator; }
|
|
5484
5884
|
});
|
|
5485
5885
|
Object.defineProperty(exports, "CommandShortcut", {
|
|
5486
5886
|
enumerable: true,
|
|
5487
|
-
get: function () { return
|
|
5887
|
+
get: function () { return chunkZ5YCRJY3_cjs.CommandShortcut; }
|
|
5488
5888
|
});
|
|
5489
5889
|
Object.defineProperty(exports, "Dialog", {
|
|
5490
5890
|
enumerable: true,
|
|
5491
|
-
get: function () { return
|
|
5891
|
+
get: function () { return chunkZ5YCRJY3_cjs.Dialog; }
|
|
5492
5892
|
});
|
|
5493
5893
|
Object.defineProperty(exports, "DialogClose", {
|
|
5494
5894
|
enumerable: true,
|
|
5495
|
-
get: function () { return
|
|
5895
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogClose; }
|
|
5496
5896
|
});
|
|
5497
5897
|
Object.defineProperty(exports, "DialogContent", {
|
|
5498
5898
|
enumerable: true,
|
|
5499
|
-
get: function () { return
|
|
5899
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogContent; }
|
|
5500
5900
|
});
|
|
5501
5901
|
Object.defineProperty(exports, "DialogDescription", {
|
|
5502
5902
|
enumerable: true,
|
|
5503
|
-
get: function () { return
|
|
5903
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogDescription; }
|
|
5504
5904
|
});
|
|
5505
5905
|
Object.defineProperty(exports, "DialogFooter", {
|
|
5506
5906
|
enumerable: true,
|
|
5507
|
-
get: function () { return
|
|
5907
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogFooter; }
|
|
5508
5908
|
});
|
|
5509
5909
|
Object.defineProperty(exports, "DialogHeader", {
|
|
5510
5910
|
enumerable: true,
|
|
5511
|
-
get: function () { return
|
|
5911
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogHeader; }
|
|
5512
5912
|
});
|
|
5513
5913
|
Object.defineProperty(exports, "DialogOverlay", {
|
|
5514
5914
|
enumerable: true,
|
|
5515
|
-
get: function () { return
|
|
5915
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogOverlay; }
|
|
5516
5916
|
});
|
|
5517
5917
|
Object.defineProperty(exports, "DialogPortal", {
|
|
5518
5918
|
enumerable: true,
|
|
5519
|
-
get: function () { return
|
|
5919
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogPortal; }
|
|
5520
5920
|
});
|
|
5521
5921
|
Object.defineProperty(exports, "DialogTitle", {
|
|
5522
5922
|
enumerable: true,
|
|
5523
|
-
get: function () { return
|
|
5923
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogTitle; }
|
|
5524
5924
|
});
|
|
5525
5925
|
Object.defineProperty(exports, "DialogTrigger", {
|
|
5526
5926
|
enumerable: true,
|
|
5527
|
-
get: function () { return
|
|
5927
|
+
get: function () { return chunkZ5YCRJY3_cjs.DialogTrigger; }
|
|
5528
5928
|
});
|
|
5529
5929
|
Object.defineProperty(exports, "DictateProvider", {
|
|
5530
5930
|
enumerable: true,
|
|
5531
|
-
get: function () { return
|
|
5931
|
+
get: function () { return chunkZ5YCRJY3_cjs.DictateProvider; }
|
|
5532
5932
|
});
|
|
5533
5933
|
Object.defineProperty(exports, "DocumentCard", {
|
|
5534
5934
|
enumerable: true,
|
|
5535
|
-
get: function () { return
|
|
5935
|
+
get: function () { return chunkZ5YCRJY3_cjs.DocumentCard; }
|
|
5536
5936
|
});
|
|
5537
5937
|
Object.defineProperty(exports, "DocumentEntity", {
|
|
5538
5938
|
enumerable: true,
|
|
5539
|
-
get: function () { return
|
|
5939
|
+
get: function () { return chunkZ5YCRJY3_cjs.DocumentEntity; }
|
|
5540
5940
|
});
|
|
5541
5941
|
Object.defineProperty(exports, "ENTITY_MAPPINGS", {
|
|
5542
5942
|
enumerable: true,
|
|
5543
|
-
get: function () { return
|
|
5943
|
+
get: function () { return chunkZ5YCRJY3_cjs.ENTITY_MAPPINGS; }
|
|
5544
5944
|
});
|
|
5545
5945
|
Object.defineProperty(exports, "EmlIcon", {
|
|
5546
5946
|
enumerable: true,
|
|
5547
|
-
get: function () { return
|
|
5947
|
+
get: function () { return chunkZ5YCRJY3_cjs.EmlIcon; }
|
|
5548
5948
|
});
|
|
5549
5949
|
Object.defineProperty(exports, "EntityIcon", {
|
|
5550
5950
|
enumerable: true,
|
|
5551
|
-
get: function () { return
|
|
5951
|
+
get: function () { return chunkZ5YCRJY3_cjs.EntityIcon; }
|
|
5552
5952
|
});
|
|
5553
5953
|
Object.defineProperty(exports, "EntityPill", {
|
|
5554
5954
|
enumerable: true,
|
|
5555
|
-
get: function () { return
|
|
5955
|
+
get: function () { return chunkZ5YCRJY3_cjs.EntityPill; }
|
|
5556
5956
|
});
|
|
5557
5957
|
Object.defineProperty(exports, "FILE_TYPE_COLORS", {
|
|
5558
5958
|
enumerable: true,
|
|
5559
|
-
get: function () { return
|
|
5959
|
+
get: function () { return chunkZ5YCRJY3_cjs.FILE_TYPE_COLORS; }
|
|
5560
5960
|
});
|
|
5561
5961
|
Object.defineProperty(exports, "HoverCard", {
|
|
5562
5962
|
enumerable: true,
|
|
5563
|
-
get: function () { return
|
|
5963
|
+
get: function () { return chunkZ5YCRJY3_cjs.HoverCard; }
|
|
5564
5964
|
});
|
|
5565
5965
|
Object.defineProperty(exports, "HoverCardContent", {
|
|
5566
5966
|
enumerable: true,
|
|
5567
|
-
get: function () { return
|
|
5967
|
+
get: function () { return chunkZ5YCRJY3_cjs.HoverCardContent; }
|
|
5568
5968
|
});
|
|
5569
5969
|
Object.defineProperty(exports, "HoverCardTrigger", {
|
|
5570
5970
|
enumerable: true,
|
|
5571
|
-
get: function () { return
|
|
5971
|
+
get: function () { return chunkZ5YCRJY3_cjs.HoverCardTrigger; }
|
|
5572
5972
|
});
|
|
5573
5973
|
Object.defineProperty(exports, "IconToggle", {
|
|
5574
5974
|
enumerable: true,
|
|
5575
|
-
get: function () { return
|
|
5975
|
+
get: function () { return chunkZ5YCRJY3_cjs.IconToggle; }
|
|
5576
5976
|
});
|
|
5577
5977
|
Object.defineProperty(exports, "ImgIcon", {
|
|
5578
5978
|
enumerable: true,
|
|
5579
|
-
get: function () { return
|
|
5979
|
+
get: function () { return chunkZ5YCRJY3_cjs.ImgIcon; }
|
|
5580
5980
|
});
|
|
5581
5981
|
Object.defineProperty(exports, "InlineMicButton", {
|
|
5582
5982
|
enumerable: true,
|
|
5583
|
-
get: function () { return
|
|
5983
|
+
get: function () { return chunkZ5YCRJY3_cjs.InlineMicButton; }
|
|
5584
5984
|
});
|
|
5585
5985
|
Object.defineProperty(exports, "Input", {
|
|
5586
5986
|
enumerable: true,
|
|
5587
|
-
get: function () { return
|
|
5987
|
+
get: function () { return chunkZ5YCRJY3_cjs.Input; }
|
|
5588
5988
|
});
|
|
5589
5989
|
Object.defineProperty(exports, "Label", {
|
|
5590
5990
|
enumerable: true,
|
|
5591
|
-
get: function () { return
|
|
5991
|
+
get: function () { return chunkZ5YCRJY3_cjs.Label; }
|
|
5592
5992
|
});
|
|
5593
5993
|
Object.defineProperty(exports, "MarkMenu", {
|
|
5594
5994
|
enumerable: true,
|
|
5595
|
-
get: function () { return
|
|
5596
|
-
});
|
|
5597
|
-
Object.defineProperty(exports, "MarkdownRenderer", {
|
|
5598
|
-
enumerable: true,
|
|
5599
|
-
get: function () { return chunkORKGCXG3_cjs.MarkdownRenderer; }
|
|
5600
|
-
});
|
|
5601
|
-
Object.defineProperty(exports, "MarkdownStreamingContext", {
|
|
5602
|
-
enumerable: true,
|
|
5603
|
-
get: function () { return chunkORKGCXG3_cjs.MarkdownStreamingContext; }
|
|
5995
|
+
get: function () { return chunkZ5YCRJY3_cjs.MarkMenu; }
|
|
5604
5996
|
});
|
|
5605
5997
|
Object.defineProperty(exports, "MicRecordingOverlay", {
|
|
5606
5998
|
enumerable: true,
|
|
5607
|
-
get: function () { return
|
|
5999
|
+
get: function () { return chunkZ5YCRJY3_cjs.MicRecordingOverlay; }
|
|
5608
6000
|
});
|
|
5609
6001
|
Object.defineProperty(exports, "MicWaveformIndicator", {
|
|
5610
6002
|
enumerable: true,
|
|
5611
|
-
get: function () { return
|
|
6003
|
+
get: function () { return chunkZ5YCRJY3_cjs.MicWaveformIndicator; }
|
|
5612
6004
|
});
|
|
5613
6005
|
Object.defineProperty(exports, "NEUTRAL_GRAY", {
|
|
5614
6006
|
enumerable: true,
|
|
5615
|
-
get: function () { return
|
|
6007
|
+
get: function () { return chunkZ5YCRJY3_cjs.NEUTRAL_GRAY; }
|
|
5616
6008
|
});
|
|
5617
6009
|
Object.defineProperty(exports, "PLACEHOLDER_COLOR", {
|
|
5618
6010
|
enumerable: true,
|
|
5619
|
-
get: function () { return
|
|
6011
|
+
get: function () { return chunkZ5YCRJY3_cjs.PLACEHOLDER_COLOR; }
|
|
5620
6012
|
});
|
|
5621
6013
|
Object.defineProperty(exports, "PassageCard", {
|
|
5622
6014
|
enumerable: true,
|
|
5623
|
-
get: function () { return
|
|
6015
|
+
get: function () { return chunkZ5YCRJY3_cjs.PassageCard; }
|
|
5624
6016
|
});
|
|
5625
6017
|
Object.defineProperty(exports, "PdfIcon", {
|
|
5626
6018
|
enumerable: true,
|
|
5627
|
-
get: function () { return
|
|
6019
|
+
get: function () { return chunkZ5YCRJY3_cjs.PdfIcon; }
|
|
5628
6020
|
});
|
|
5629
6021
|
Object.defineProperty(exports, "Popover", {
|
|
5630
6022
|
enumerable: true,
|
|
5631
|
-
get: function () { return
|
|
6023
|
+
get: function () { return chunkZ5YCRJY3_cjs.Popover; }
|
|
5632
6024
|
});
|
|
5633
6025
|
Object.defineProperty(exports, "PopoverAnchor", {
|
|
5634
6026
|
enumerable: true,
|
|
5635
|
-
get: function () { return
|
|
6027
|
+
get: function () { return chunkZ5YCRJY3_cjs.PopoverAnchor; }
|
|
5636
6028
|
});
|
|
5637
6029
|
Object.defineProperty(exports, "PopoverContent", {
|
|
5638
6030
|
enumerable: true,
|
|
5639
|
-
get: function () { return
|
|
6031
|
+
get: function () { return chunkZ5YCRJY3_cjs.PopoverContent; }
|
|
5640
6032
|
});
|
|
5641
6033
|
Object.defineProperty(exports, "PopoverTrigger", {
|
|
5642
6034
|
enumerable: true,
|
|
5643
|
-
get: function () { return
|
|
6035
|
+
get: function () { return chunkZ5YCRJY3_cjs.PopoverTrigger; }
|
|
5644
6036
|
});
|
|
5645
6037
|
Object.defineProperty(exports, "PresenceLabel", {
|
|
5646
6038
|
enumerable: true,
|
|
5647
|
-
get: function () { return
|
|
6039
|
+
get: function () { return chunkZ5YCRJY3_cjs.PresenceLabel; }
|
|
5648
6040
|
});
|
|
5649
6041
|
Object.defineProperty(exports, "Progress", {
|
|
5650
6042
|
enumerable: true,
|
|
5651
|
-
get: function () { return
|
|
6043
|
+
get: function () { return chunkZ5YCRJY3_cjs.Progress; }
|
|
5652
6044
|
});
|
|
5653
6045
|
Object.defineProperty(exports, "ProjectEntity", {
|
|
5654
6046
|
enumerable: true,
|
|
5655
|
-
get: function () { return
|
|
6047
|
+
get: function () { return chunkZ5YCRJY3_cjs.ProjectEntity; }
|
|
5656
6048
|
});
|
|
5657
6049
|
Object.defineProperty(exports, "RadioGroup", {
|
|
5658
6050
|
enumerable: true,
|
|
5659
|
-
get: function () { return
|
|
6051
|
+
get: function () { return chunkZ5YCRJY3_cjs.RadioGroup; }
|
|
5660
6052
|
});
|
|
5661
6053
|
Object.defineProperty(exports, "RadioGroupItem", {
|
|
5662
6054
|
enumerable: true,
|
|
5663
|
-
get: function () { return
|
|
6055
|
+
get: function () { return chunkZ5YCRJY3_cjs.RadioGroupItem; }
|
|
5664
6056
|
});
|
|
5665
6057
|
Object.defineProperty(exports, "RagDot", {
|
|
5666
6058
|
enumerable: true,
|
|
5667
|
-
get: function () { return
|
|
6059
|
+
get: function () { return chunkZ5YCRJY3_cjs.RagDot; }
|
|
5668
6060
|
});
|
|
5669
6061
|
Object.defineProperty(exports, "RelevanceDot", {
|
|
5670
6062
|
enumerable: true,
|
|
5671
|
-
get: function () { return
|
|
6063
|
+
get: function () { return chunkZ5YCRJY3_cjs.RelevanceDot; }
|
|
5672
6064
|
});
|
|
5673
6065
|
Object.defineProperty(exports, "Select", {
|
|
5674
6066
|
enumerable: true,
|
|
5675
|
-
get: function () { return
|
|
6067
|
+
get: function () { return chunkZ5YCRJY3_cjs.Select; }
|
|
5676
6068
|
});
|
|
5677
6069
|
Object.defineProperty(exports, "SelectContent", {
|
|
5678
6070
|
enumerable: true,
|
|
5679
|
-
get: function () { return
|
|
6071
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectContent; }
|
|
5680
6072
|
});
|
|
5681
6073
|
Object.defineProperty(exports, "SelectGroup", {
|
|
5682
6074
|
enumerable: true,
|
|
5683
|
-
get: function () { return
|
|
6075
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectGroup; }
|
|
5684
6076
|
});
|
|
5685
6077
|
Object.defineProperty(exports, "SelectItem", {
|
|
5686
6078
|
enumerable: true,
|
|
5687
|
-
get: function () { return
|
|
6079
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectItem; }
|
|
5688
6080
|
});
|
|
5689
6081
|
Object.defineProperty(exports, "SelectLabel", {
|
|
5690
6082
|
enumerable: true,
|
|
5691
|
-
get: function () { return
|
|
6083
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectLabel; }
|
|
5692
6084
|
});
|
|
5693
6085
|
Object.defineProperty(exports, "SelectScrollDownButton", {
|
|
5694
6086
|
enumerable: true,
|
|
5695
|
-
get: function () { return
|
|
6087
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectScrollDownButton; }
|
|
5696
6088
|
});
|
|
5697
6089
|
Object.defineProperty(exports, "SelectScrollUpButton", {
|
|
5698
6090
|
enumerable: true,
|
|
5699
|
-
get: function () { return
|
|
6091
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectScrollUpButton; }
|
|
5700
6092
|
});
|
|
5701
6093
|
Object.defineProperty(exports, "SelectSeparator", {
|
|
5702
6094
|
enumerable: true,
|
|
5703
|
-
get: function () { return
|
|
6095
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectSeparator; }
|
|
5704
6096
|
});
|
|
5705
6097
|
Object.defineProperty(exports, "SelectTrigger", {
|
|
5706
6098
|
enumerable: true,
|
|
5707
|
-
get: function () { return
|
|
6099
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectTrigger; }
|
|
5708
6100
|
});
|
|
5709
6101
|
Object.defineProperty(exports, "SelectValue", {
|
|
5710
6102
|
enumerable: true,
|
|
5711
|
-
get: function () { return
|
|
6103
|
+
get: function () { return chunkZ5YCRJY3_cjs.SelectValue; }
|
|
5712
6104
|
});
|
|
5713
6105
|
Object.defineProperty(exports, "Separator", {
|
|
5714
6106
|
enumerable: true,
|
|
5715
|
-
get: function () { return
|
|
6107
|
+
get: function () { return chunkZ5YCRJY3_cjs.Separator; }
|
|
5716
6108
|
});
|
|
5717
6109
|
Object.defineProperty(exports, "Slider", {
|
|
5718
6110
|
enumerable: true,
|
|
5719
|
-
get: function () { return
|
|
6111
|
+
get: function () { return chunkZ5YCRJY3_cjs.Slider; }
|
|
5720
6112
|
});
|
|
5721
6113
|
Object.defineProperty(exports, "StatusPill", {
|
|
5722
6114
|
enumerable: true,
|
|
5723
|
-
get: function () { return
|
|
6115
|
+
get: function () { return chunkZ5YCRJY3_cjs.StatusPill; }
|
|
5724
6116
|
});
|
|
5725
6117
|
Object.defineProperty(exports, "Switch", {
|
|
5726
6118
|
enumerable: true,
|
|
5727
|
-
get: function () { return
|
|
6119
|
+
get: function () { return chunkZ5YCRJY3_cjs.Switch; }
|
|
5728
6120
|
});
|
|
5729
6121
|
Object.defineProperty(exports, "TAG_TYPE_ICONS", {
|
|
5730
6122
|
enumerable: true,
|
|
5731
|
-
get: function () { return
|
|
6123
|
+
get: function () { return chunkZ5YCRJY3_cjs.TAG_TYPE_ICONS; }
|
|
5732
6124
|
});
|
|
5733
6125
|
Object.defineProperty(exports, "TAG_TYPE_LABELS", {
|
|
5734
6126
|
enumerable: true,
|
|
5735
|
-
get: function () { return
|
|
6127
|
+
get: function () { return chunkZ5YCRJY3_cjs.TAG_TYPE_LABELS; }
|
|
5736
6128
|
});
|
|
5737
6129
|
Object.defineProperty(exports, "Table", {
|
|
5738
6130
|
enumerable: true,
|
|
5739
|
-
get: function () { return
|
|
6131
|
+
get: function () { return chunkZ5YCRJY3_cjs.Table; }
|
|
5740
6132
|
});
|
|
5741
6133
|
Object.defineProperty(exports, "TableBody", {
|
|
5742
6134
|
enumerable: true,
|
|
5743
|
-
get: function () { return
|
|
6135
|
+
get: function () { return chunkZ5YCRJY3_cjs.TableBody; }
|
|
5744
6136
|
});
|
|
5745
6137
|
Object.defineProperty(exports, "TableCaption", {
|
|
5746
6138
|
enumerable: true,
|
|
5747
|
-
get: function () { return
|
|
6139
|
+
get: function () { return chunkZ5YCRJY3_cjs.TableCaption; }
|
|
5748
6140
|
});
|
|
5749
6141
|
Object.defineProperty(exports, "TableCell", {
|
|
5750
6142
|
enumerable: true,
|
|
5751
|
-
get: function () { return
|
|
6143
|
+
get: function () { return chunkZ5YCRJY3_cjs.TableCell; }
|
|
5752
6144
|
});
|
|
5753
6145
|
Object.defineProperty(exports, "TableFooter", {
|
|
5754
6146
|
enumerable: true,
|
|
5755
|
-
get: function () { return
|
|
6147
|
+
get: function () { return chunkZ5YCRJY3_cjs.TableFooter; }
|
|
5756
6148
|
});
|
|
5757
6149
|
Object.defineProperty(exports, "TableHead", {
|
|
5758
6150
|
enumerable: true,
|
|
5759
|
-
get: function () { return
|
|
6151
|
+
get: function () { return chunkZ5YCRJY3_cjs.TableHead; }
|
|
5760
6152
|
});
|
|
5761
6153
|
Object.defineProperty(exports, "TableHeader", {
|
|
5762
6154
|
enumerable: true,
|
|
5763
|
-
get: function () { return
|
|
6155
|
+
get: function () { return chunkZ5YCRJY3_cjs.TableHeader; }
|
|
5764
6156
|
});
|
|
5765
6157
|
Object.defineProperty(exports, "TableRow", {
|
|
5766
6158
|
enumerable: true,
|
|
5767
|
-
get: function () { return
|
|
6159
|
+
get: function () { return chunkZ5YCRJY3_cjs.TableRow; }
|
|
5768
6160
|
});
|
|
5769
6161
|
Object.defineProperty(exports, "Tabs", {
|
|
5770
6162
|
enumerable: true,
|
|
5771
|
-
get: function () { return
|
|
6163
|
+
get: function () { return chunkZ5YCRJY3_cjs.Tabs; }
|
|
5772
6164
|
});
|
|
5773
6165
|
Object.defineProperty(exports, "TabsContent", {
|
|
5774
6166
|
enumerable: true,
|
|
5775
|
-
get: function () { return
|
|
6167
|
+
get: function () { return chunkZ5YCRJY3_cjs.TabsContent; }
|
|
5776
6168
|
});
|
|
5777
6169
|
Object.defineProperty(exports, "TabsList", {
|
|
5778
6170
|
enumerable: true,
|
|
5779
|
-
get: function () { return
|
|
6171
|
+
get: function () { return chunkZ5YCRJY3_cjs.TabsList; }
|
|
5780
6172
|
});
|
|
5781
6173
|
Object.defineProperty(exports, "TabsTrigger", {
|
|
5782
6174
|
enumerable: true,
|
|
5783
|
-
get: function () { return
|
|
6175
|
+
get: function () { return chunkZ5YCRJY3_cjs.TabsTrigger; }
|
|
5784
6176
|
});
|
|
5785
6177
|
Object.defineProperty(exports, "TagEntity", {
|
|
5786
6178
|
enumerable: true,
|
|
5787
|
-
get: function () { return
|
|
6179
|
+
get: function () { return chunkZ5YCRJY3_cjs.TagEntity; }
|
|
5788
6180
|
});
|
|
5789
6181
|
Object.defineProperty(exports, "Textarea", {
|
|
5790
6182
|
enumerable: true,
|
|
5791
|
-
get: function () { return
|
|
6183
|
+
get: function () { return chunkZ5YCRJY3_cjs.Textarea; }
|
|
5792
6184
|
});
|
|
5793
6185
|
Object.defineProperty(exports, "Toggle", {
|
|
5794
6186
|
enumerable: true,
|
|
5795
|
-
get: function () { return
|
|
6187
|
+
get: function () { return chunkZ5YCRJY3_cjs.Toggle; }
|
|
5796
6188
|
});
|
|
5797
6189
|
Object.defineProperty(exports, "ToggleGroup", {
|
|
5798
6190
|
enumerable: true,
|
|
5799
|
-
get: function () { return
|
|
6191
|
+
get: function () { return chunkZ5YCRJY3_cjs.ToggleGroup; }
|
|
5800
6192
|
});
|
|
5801
6193
|
Object.defineProperty(exports, "ToggleGroupItem", {
|
|
5802
6194
|
enumerable: true,
|
|
5803
|
-
get: function () { return
|
|
6195
|
+
get: function () { return chunkZ5YCRJY3_cjs.ToggleGroupItem; }
|
|
5804
6196
|
});
|
|
5805
6197
|
Object.defineProperty(exports, "Tooltip", {
|
|
5806
6198
|
enumerable: true,
|
|
5807
|
-
get: function () { return
|
|
6199
|
+
get: function () { return chunkZ5YCRJY3_cjs.Tooltip; }
|
|
5808
6200
|
});
|
|
5809
6201
|
Object.defineProperty(exports, "TooltipContent", {
|
|
5810
6202
|
enumerable: true,
|
|
5811
|
-
get: function () { return
|
|
6203
|
+
get: function () { return chunkZ5YCRJY3_cjs.TooltipContent; }
|
|
5812
6204
|
});
|
|
5813
6205
|
Object.defineProperty(exports, "TooltipProvider", {
|
|
5814
6206
|
enumerable: true,
|
|
5815
|
-
get: function () { return
|
|
6207
|
+
get: function () { return chunkZ5YCRJY3_cjs.TooltipProvider; }
|
|
5816
6208
|
});
|
|
5817
6209
|
Object.defineProperty(exports, "TooltipTrigger", {
|
|
5818
6210
|
enumerable: true,
|
|
5819
|
-
get: function () { return
|
|
6211
|
+
get: function () { return chunkZ5YCRJY3_cjs.TooltipTrigger; }
|
|
5820
6212
|
});
|
|
5821
6213
|
Object.defineProperty(exports, "UserEntity", {
|
|
5822
6214
|
enumerable: true,
|
|
5823
|
-
get: function () { return
|
|
6215
|
+
get: function () { return chunkZ5YCRJY3_cjs.UserEntity; }
|
|
5824
6216
|
});
|
|
5825
6217
|
Object.defineProperty(exports, "UserMenu", {
|
|
5826
6218
|
enumerable: true,
|
|
5827
|
-
get: function () { return
|
|
6219
|
+
get: function () { return chunkZ5YCRJY3_cjs.UserMenu; }
|
|
5828
6220
|
});
|
|
5829
6221
|
Object.defineProperty(exports, "VISIBILITY_ICONS", {
|
|
5830
6222
|
enumerable: true,
|
|
5831
|
-
get: function () { return
|
|
6223
|
+
get: function () { return chunkZ5YCRJY3_cjs.VISIBILITY_ICONS; }
|
|
5832
6224
|
});
|
|
5833
6225
|
Object.defineProperty(exports, "VidIcon", {
|
|
5834
6226
|
enumerable: true,
|
|
5835
|
-
get: function () { return
|
|
6227
|
+
get: function () { return chunkZ5YCRJY3_cjs.VidIcon; }
|
|
5836
6228
|
});
|
|
5837
6229
|
Object.defineProperty(exports, "VisibilityIcon", {
|
|
5838
6230
|
enumerable: true,
|
|
5839
|
-
get: function () { return
|
|
6231
|
+
get: function () { return chunkZ5YCRJY3_cjs.VisibilityIcon; }
|
|
5840
6232
|
});
|
|
5841
6233
|
Object.defineProperty(exports, "badgeVariants", {
|
|
5842
6234
|
enumerable: true,
|
|
5843
|
-
get: function () { return
|
|
6235
|
+
get: function () { return chunkZ5YCRJY3_cjs.badgeVariants; }
|
|
5844
6236
|
});
|
|
5845
6237
|
Object.defineProperty(exports, "buttonVariants", {
|
|
5846
6238
|
enumerable: true,
|
|
5847
|
-
get: function () { return
|
|
6239
|
+
get: function () { return chunkZ5YCRJY3_cjs.buttonVariants; }
|
|
5848
6240
|
});
|
|
5849
6241
|
Object.defineProperty(exports, "cardVariants", {
|
|
5850
6242
|
enumerable: true,
|
|
5851
|
-
get: function () { return
|
|
6243
|
+
get: function () { return chunkZ5YCRJY3_cjs.cardVariants; }
|
|
5852
6244
|
});
|
|
5853
6245
|
Object.defineProperty(exports, "configureEntityRegistry", {
|
|
5854
6246
|
enumerable: true,
|
|
5855
|
-
get: function () { return
|
|
6247
|
+
get: function () { return chunkZ5YCRJY3_cjs.configureEntityRegistry; }
|
|
5856
6248
|
});
|
|
5857
6249
|
Object.defineProperty(exports, "configureRagLabels", {
|
|
5858
6250
|
enumerable: true,
|
|
5859
|
-
get: function () { return
|
|
6251
|
+
get: function () { return chunkZ5YCRJY3_cjs.configureRagLabels; }
|
|
5860
6252
|
});
|
|
5861
6253
|
Object.defineProperty(exports, "configureStatusRegistry", {
|
|
5862
6254
|
enumerable: true,
|
|
5863
|
-
get: function () { return
|
|
6255
|
+
get: function () { return chunkZ5YCRJY3_cjs.configureStatusRegistry; }
|
|
5864
6256
|
});
|
|
5865
6257
|
Object.defineProperty(exports, "formatElapsed", {
|
|
5866
6258
|
enumerable: true,
|
|
5867
|
-
get: function () { return
|
|
6259
|
+
get: function () { return chunkZ5YCRJY3_cjs.formatElapsed; }
|
|
5868
6260
|
});
|
|
5869
6261
|
Object.defineProperty(exports, "getDocIcon", {
|
|
5870
6262
|
enumerable: true,
|
|
5871
|
-
get: function () { return
|
|
6263
|
+
get: function () { return chunkZ5YCRJY3_cjs.getDocIcon; }
|
|
5872
6264
|
});
|
|
5873
6265
|
Object.defineProperty(exports, "getEntityColor", {
|
|
5874
6266
|
enumerable: true,
|
|
5875
|
-
get: function () { return
|
|
6267
|
+
get: function () { return chunkZ5YCRJY3_cjs.getEntityColor; }
|
|
5876
6268
|
});
|
|
5877
6269
|
Object.defineProperty(exports, "getEntityColorStyles", {
|
|
5878
6270
|
enumerable: true,
|
|
5879
|
-
get: function () { return
|
|
6271
|
+
get: function () { return chunkZ5YCRJY3_cjs.getEntityColorStyles; }
|
|
5880
6272
|
});
|
|
5881
6273
|
Object.defineProperty(exports, "getEntityIcon", {
|
|
5882
6274
|
enumerable: true,
|
|
5883
|
-
get: function () { return
|
|
6275
|
+
get: function () { return chunkZ5YCRJY3_cjs.getEntityIcon; }
|
|
5884
6276
|
});
|
|
5885
6277
|
Object.defineProperty(exports, "getEntityLabel", {
|
|
5886
6278
|
enumerable: true,
|
|
5887
|
-
get: function () { return
|
|
6279
|
+
get: function () { return chunkZ5YCRJY3_cjs.getEntityLabel; }
|
|
5888
6280
|
});
|
|
5889
6281
|
Object.defineProperty(exports, "getStatusVariant", {
|
|
5890
6282
|
enumerable: true,
|
|
5891
|
-
get: function () { return
|
|
6283
|
+
get: function () { return chunkZ5YCRJY3_cjs.getStatusVariant; }
|
|
5892
6284
|
});
|
|
5893
6285
|
Object.defineProperty(exports, "getTagTypeIcon", {
|
|
5894
6286
|
enumerable: true,
|
|
5895
|
-
get: function () { return
|
|
6287
|
+
get: function () { return chunkZ5YCRJY3_cjs.getTagTypeIcon; }
|
|
5896
6288
|
});
|
|
5897
6289
|
Object.defineProperty(exports, "getTagTypeLabel", {
|
|
5898
6290
|
enumerable: true,
|
|
5899
|
-
get: function () { return
|
|
6291
|
+
get: function () { return chunkZ5YCRJY3_cjs.getTagTypeLabel; }
|
|
5900
6292
|
});
|
|
5901
6293
|
Object.defineProperty(exports, "getWorkspaceColor", {
|
|
5902
6294
|
enumerable: true,
|
|
5903
|
-
get: function () { return
|
|
6295
|
+
get: function () { return chunkZ5YCRJY3_cjs.getWorkspaceColor; }
|
|
6296
|
+
});
|
|
6297
|
+
Object.defineProperty(exports, "toggleVariants", {
|
|
6298
|
+
enumerable: true,
|
|
6299
|
+
get: function () { return chunkZ5YCRJY3_cjs.toggleVariants; }
|
|
6300
|
+
});
|
|
6301
|
+
Object.defineProperty(exports, "useAudioRecorder", {
|
|
6302
|
+
enumerable: true,
|
|
6303
|
+
get: function () { return chunkZ5YCRJY3_cjs.useAudioRecorder; }
|
|
6304
|
+
});
|
|
6305
|
+
Object.defineProperty(exports, "MarkdownRenderer", {
|
|
6306
|
+
enumerable: true,
|
|
6307
|
+
get: function () { return chunkOI55JRKT_cjs.MarkdownRenderer; }
|
|
6308
|
+
});
|
|
6309
|
+
Object.defineProperty(exports, "MarkdownStreamingContext", {
|
|
6310
|
+
enumerable: true,
|
|
6311
|
+
get: function () { return chunkOI55JRKT_cjs.MarkdownStreamingContext; }
|
|
5904
6312
|
});
|
|
5905
6313
|
Object.defineProperty(exports, "markdownBaseComponents", {
|
|
5906
6314
|
enumerable: true,
|
|
5907
|
-
get: function () { return
|
|
6315
|
+
get: function () { return chunkOI55JRKT_cjs.markdownBaseComponents; }
|
|
5908
6316
|
});
|
|
5909
6317
|
Object.defineProperty(exports, "normalizeCitationMarkup", {
|
|
5910
6318
|
enumerable: true,
|
|
5911
|
-
get: function () { return
|
|
6319
|
+
get: function () { return chunkOI55JRKT_cjs.normalizeCitationMarkup; }
|
|
5912
6320
|
});
|
|
5913
6321
|
Object.defineProperty(exports, "splitMarkdownBlocks", {
|
|
5914
6322
|
enumerable: true,
|
|
5915
|
-
get: function () { return
|
|
6323
|
+
get: function () { return chunkOI55JRKT_cjs.splitMarkdownBlocks; }
|
|
5916
6324
|
});
|
|
5917
|
-
Object.defineProperty(exports, "
|
|
6325
|
+
Object.defineProperty(exports, "trimOpenCitation", {
|
|
5918
6326
|
enumerable: true,
|
|
5919
|
-
get: function () { return
|
|
6327
|
+
get: function () { return chunkOI55JRKT_cjs.trimOpenCitation; }
|
|
5920
6328
|
});
|
|
5921
|
-
Object.defineProperty(exports, "
|
|
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", {
|
|
5922
6362
|
enumerable: true,
|
|
5923
|
-
get: function () { return
|
|
6363
|
+
get: function () { return chunkPGLV23SB_cjs.useNotify; }
|
|
5924
6364
|
});
|
|
5925
6365
|
Object.defineProperty(exports, "DropdownMenu", {
|
|
5926
6366
|
enumerable: true,
|
|
5927
|
-
get: function () { return
|
|
6367
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenu; }
|
|
5928
6368
|
});
|
|
5929
6369
|
Object.defineProperty(exports, "DropdownMenuCheckboxItem", {
|
|
5930
6370
|
enumerable: true,
|
|
5931
|
-
get: function () { return
|
|
6371
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenuCheckboxItem; }
|
|
5932
6372
|
});
|
|
5933
6373
|
Object.defineProperty(exports, "DropdownMenuContent", {
|
|
5934
6374
|
enumerable: true,
|
|
5935
|
-
get: function () { return
|
|
6375
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenuContent; }
|
|
5936
6376
|
});
|
|
5937
6377
|
Object.defineProperty(exports, "DropdownMenuGroup", {
|
|
5938
6378
|
enumerable: true,
|
|
5939
|
-
get: function () { return
|
|
6379
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenuGroup; }
|
|
5940
6380
|
});
|
|
5941
6381
|
Object.defineProperty(exports, "DropdownMenuItem", {
|
|
5942
6382
|
enumerable: true,
|
|
5943
|
-
get: function () { return
|
|
6383
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenuItem; }
|
|
5944
6384
|
});
|
|
5945
6385
|
Object.defineProperty(exports, "DropdownMenuLabel", {
|
|
5946
6386
|
enumerable: true,
|
|
5947
|
-
get: function () { return
|
|
6387
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenuLabel; }
|
|
5948
6388
|
});
|
|
5949
6389
|
Object.defineProperty(exports, "DropdownMenuPortal", {
|
|
5950
6390
|
enumerable: true,
|
|
5951
|
-
get: function () { return
|
|
6391
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenuPortal; }
|
|
5952
6392
|
});
|
|
5953
6393
|
Object.defineProperty(exports, "DropdownMenuRadioGroup", {
|
|
5954
6394
|
enumerable: true,
|
|
5955
|
-
get: function () { return
|
|
6395
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenuRadioGroup; }
|
|
5956
6396
|
});
|
|
5957
6397
|
Object.defineProperty(exports, "DropdownMenuRadioItem", {
|
|
5958
6398
|
enumerable: true,
|
|
5959
|
-
get: function () { return
|
|
6399
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenuRadioItem; }
|
|
5960
6400
|
});
|
|
5961
6401
|
Object.defineProperty(exports, "DropdownMenuSeparator", {
|
|
5962
6402
|
enumerable: true,
|
|
5963
|
-
get: function () { return
|
|
6403
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenuSeparator; }
|
|
5964
6404
|
});
|
|
5965
6405
|
Object.defineProperty(exports, "DropdownMenuShortcut", {
|
|
5966
6406
|
enumerable: true,
|
|
5967
|
-
get: function () { return
|
|
6407
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenuShortcut; }
|
|
5968
6408
|
});
|
|
5969
6409
|
Object.defineProperty(exports, "DropdownMenuSub", {
|
|
5970
6410
|
enumerable: true,
|
|
5971
|
-
get: function () { return
|
|
6411
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenuSub; }
|
|
5972
6412
|
});
|
|
5973
6413
|
Object.defineProperty(exports, "DropdownMenuSubContent", {
|
|
5974
6414
|
enumerable: true,
|
|
5975
|
-
get: function () { return
|
|
6415
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenuSubContent; }
|
|
5976
6416
|
});
|
|
5977
6417
|
Object.defineProperty(exports, "DropdownMenuSubTrigger", {
|
|
5978
6418
|
enumerable: true,
|
|
5979
|
-
get: function () { return
|
|
6419
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenuSubTrigger; }
|
|
5980
6420
|
});
|
|
5981
6421
|
Object.defineProperty(exports, "DropdownMenuTrigger", {
|
|
5982
6422
|
enumerable: true,
|
|
5983
|
-
get: function () { return
|
|
6423
|
+
get: function () { return chunkOBNTJEEO_cjs.DropdownMenuTrigger; }
|
|
5984
6424
|
});
|
|
5985
6425
|
Object.defineProperty(exports, "ScrollArea", {
|
|
5986
6426
|
enumerable: true,
|
|
5987
|
-
get: function () { return
|
|
6427
|
+
get: function () { return chunkOBNTJEEO_cjs.ScrollArea; }
|
|
5988
6428
|
});
|
|
5989
6429
|
Object.defineProperty(exports, "ScrollBar", {
|
|
5990
6430
|
enumerable: true,
|
|
5991
|
-
get: function () { return
|
|
6431
|
+
get: function () { return chunkOBNTJEEO_cjs.ScrollBar; }
|
|
5992
6432
|
});
|
|
5993
6433
|
Object.defineProperty(exports, "cn", {
|
|
5994
6434
|
enumerable: true,
|
|
5995
|
-
get: function () { return
|
|
6435
|
+
get: function () { return chunkS6A6FSG7_cjs.cn; }
|
|
5996
6436
|
});
|
|
5997
6437
|
Object.defineProperty(exports, "ArbiProvider", {
|
|
5998
6438
|
enumerable: true,
|
|
5999
|
-
get: function () { return
|
|
6439
|
+
get: function () { return chunkZMTLGO3K_cjs.ArbiProvider; }
|
|
6000
6440
|
});
|
|
6001
6441
|
Object.defineProperty(exports, "useArbi", {
|
|
6002
6442
|
enumerable: true,
|
|
6003
|
-
get: function () { return
|
|
6443
|
+
get: function () { return chunkZMTLGO3K_cjs.useArbi; }
|
|
6004
6444
|
});
|
|
6005
6445
|
Object.defineProperty(exports, "Arbi", {
|
|
6006
6446
|
enumerable: true,
|
|
@@ -6029,8 +6469,8 @@ exports.CommandPalette = CommandPalette;
|
|
|
6029
6469
|
exports.CommandPaletteProvider = CommandPaletteProvider;
|
|
6030
6470
|
exports.ConversationList = ConversationList;
|
|
6031
6471
|
exports.DEFAULT_ASPECT_OPTIONS = DEFAULT_ASPECT_OPTIONS;
|
|
6472
|
+
exports.DEFAULT_PASSWORD_CHANGE_FORM_MESSAGES = DEFAULT_PASSWORD_CHANGE_FORM_MESSAGES;
|
|
6032
6473
|
exports.DEFAULT_START_BY_EMAIL_LABELS = DEFAULT_START_BY_EMAIL_LABELS;
|
|
6033
|
-
exports.DEFAULT_USD_PER_CREDIT = DEFAULT_USD_PER_CREDIT;
|
|
6034
6474
|
exports.DateSeparator = DateSeparator;
|
|
6035
6475
|
exports.DirectMessages = DirectMessages;
|
|
6036
6476
|
exports.DmAvatar = DmAvatar;
|
|
@@ -6052,6 +6492,7 @@ exports.HtmlIcon = HtmlIcon;
|
|
|
6052
6492
|
exports.ImageCropModal = ImageCropModal;
|
|
6053
6493
|
exports.ImageCropper = ImageCropper;
|
|
6054
6494
|
exports.LinkedInIcon = LinkedInIcon;
|
|
6495
|
+
exports.MAX_AVATAR_FILE_BYTES = MAX_AVATAR_FILE_BYTES;
|
|
6055
6496
|
exports.MessageArtifactCard = MessageArtifactCard;
|
|
6056
6497
|
exports.MessageBubble = MessageBubble;
|
|
6057
6498
|
exports.MessageThread = MessageThread;
|
|
@@ -6067,34 +6508,32 @@ exports.VideoCapture = VideoCapture;
|
|
|
6067
6508
|
exports.VoiceNoteRecorder = VoiceNoteRecorder;
|
|
6068
6509
|
exports.XlsIcon = XlsIcon;
|
|
6069
6510
|
exports.annotateThread = annotateThread;
|
|
6070
|
-
exports.arbiQueryKeys = arbiQueryKeys;
|
|
6071
6511
|
exports.captureFrameAsBlob = captureFrameAsBlob;
|
|
6072
|
-
exports.creditsToUsd = creditsToUsd;
|
|
6073
6512
|
exports.cropImage = cropImage;
|
|
6074
6513
|
exports.dayKey = dayKey;
|
|
6075
6514
|
exports.describeActivity = describeActivity;
|
|
6076
|
-
exports.formatCredits = formatCredits;
|
|
6077
6515
|
exports.getNotificationTypeMeta = getNotificationTypeMeta;
|
|
6078
6516
|
exports.getWorkspaceActionText = getWorkspaceActionText;
|
|
6079
6517
|
exports.getWorkspaceKind = getWorkspaceKind;
|
|
6080
6518
|
exports.getWorkspaceSentPhrase = getWorkspaceSentPhrase;
|
|
6081
6519
|
exports.hasVideoTrack = hasVideoTrack;
|
|
6082
|
-
exports.isUsageMetered = isUsageMetered;
|
|
6083
6520
|
exports.isWorkspaceNotificationType = isWorkspaceNotificationType;
|
|
6084
6521
|
exports.parseActivityContent = parseActivityContent;
|
|
6522
|
+
exports.parseDeleteAccountBlockers = parseDeleteAccountBlockers;
|
|
6085
6523
|
exports.pickRecentWorkspaces = pickRecentWorkspaces;
|
|
6086
6524
|
exports.redlineStats = redlineStats;
|
|
6087
6525
|
exports.resolveActiveWorkspace = resolveActiveWorkspace;
|
|
6088
6526
|
exports.textToArtifact = textToArtifact;
|
|
6089
6527
|
exports.titleFromQuestion = titleFromQuestion;
|
|
6528
|
+
exports.toChatCitations = toChatCitations;
|
|
6529
|
+
exports.toNotificationPreferences = toNotificationPreferences;
|
|
6530
|
+
exports.toProfileView = toProfileView;
|
|
6090
6531
|
exports.toRedlineMarkdown = toRedlineMarkdown;
|
|
6091
6532
|
exports.toShellWorkspace = toShellWorkspace;
|
|
6092
|
-
exports.useActivity = useActivity;
|
|
6093
6533
|
exports.useAddContacts = useAddContacts;
|
|
6094
6534
|
exports.useAgentConfig = useAgentConfig;
|
|
6095
6535
|
exports.useAgentModels = useAgentModels;
|
|
6096
6536
|
exports.useAgentWorkspaces = useAgentWorkspaces;
|
|
6097
|
-
exports.useAgents = useAgents;
|
|
6098
6537
|
exports.useAiTask = useAiTask;
|
|
6099
6538
|
exports.useArbiChat = useArbiChat;
|
|
6100
6539
|
exports.useArbiConnected = useArbiConnected;
|
|
@@ -6108,44 +6547,42 @@ exports.useArbiWsStatus = useArbiWsStatus;
|
|
|
6108
6547
|
exports.useArbiWsStore = useArbiWsStore;
|
|
6109
6548
|
exports.useArbiWsTask = useArbiWsTask;
|
|
6110
6549
|
exports.useArbiWsTasks = useArbiWsTasks;
|
|
6111
|
-
exports.
|
|
6550
|
+
exports.useAvatarCrop = useAvatarCrop;
|
|
6112
6551
|
exports.useCameraStream = useCameraStream;
|
|
6113
6552
|
exports.useCommandPalette = useCommandPalette;
|
|
6114
|
-
exports.
|
|
6553
|
+
exports.useConfirmEmailChange = useConfirmEmailChange;
|
|
6115
6554
|
exports.useContacts = useContacts;
|
|
6116
|
-
exports.useConversations = useConversations;
|
|
6117
6555
|
exports.useCreateAgent = useCreateAgent;
|
|
6118
6556
|
exports.useCreateTask = useCreateTask;
|
|
6119
|
-
exports.
|
|
6557
|
+
exports.useCurrentSessionId = useCurrentSessionId;
|
|
6558
|
+
exports.useDeleteAccount = useDeleteAccount;
|
|
6559
|
+
exports.useDeleteAccountFlow = useDeleteAccountFlow;
|
|
6120
6560
|
exports.useDeleteTask = useDeleteTask;
|
|
6121
6561
|
exports.useDirectMessages = useDirectMessages;
|
|
6122
|
-
exports.
|
|
6123
|
-
exports.useFacts = useFacts;
|
|
6562
|
+
exports.useEmailChange = useEmailChange;
|
|
6124
6563
|
exports.useGrantAgentAccess = useGrantAgentAccess;
|
|
6125
|
-
exports.
|
|
6126
|
-
exports.
|
|
6564
|
+
exports.useLogoutAllSessions = useLogoutAllSessions;
|
|
6565
|
+
exports.useNameEditor = useNameEditor;
|
|
6566
|
+
exports.useNotificationPreferences = useNotificationPreferences;
|
|
6567
|
+
exports.usePasswordChange = usePasswordChange;
|
|
6568
|
+
exports.usePasswordChangeForm = usePasswordChangeForm;
|
|
6127
6569
|
exports.usePendingContacts = usePendingContacts;
|
|
6128
|
-
exports.
|
|
6129
|
-
exports.useProjectUsage = useProjectUsage;
|
|
6130
|
-
exports.useProjects = useProjects;
|
|
6131
|
-
exports.useProjectsUsage = useProjectsUsage;
|
|
6570
|
+
exports.useProfile = useProfile;
|
|
6132
6571
|
exports.useRemoveContacts = useRemoveContacts;
|
|
6572
|
+
exports.useRequestEmailChange = useRequestEmailChange;
|
|
6133
6573
|
exports.useRevokeAgentAccess = useRevokeAgentAccess;
|
|
6134
6574
|
exports.useRunTask = useRunTask;
|
|
6135
6575
|
exports.useSaveAgentConfig = useSaveAgentConfig;
|
|
6136
6576
|
exports.useSemanticSearch = useSemanticSearch;
|
|
6137
|
-
exports.useSessions = useSessions;
|
|
6138
6577
|
exports.useShellWorkspaces = useShellWorkspaces;
|
|
6139
6578
|
exports.useSkills = useSkills;
|
|
6140
|
-
exports.useTags = useTags;
|
|
6141
6579
|
exports.useTaskRuns = useTaskRuns;
|
|
6142
|
-
exports.
|
|
6143
|
-
exports.
|
|
6580
|
+
exports.useTerminateSession = useTerminateSession;
|
|
6581
|
+
exports.useUpdateProfile = useUpdateProfile;
|
|
6144
6582
|
exports.useUpdateTask = useUpdateTask;
|
|
6145
|
-
exports.
|
|
6583
|
+
exports.useUserSettings = useUserSettings;
|
|
6146
6584
|
exports.useVideoRecorder = useVideoRecorder;
|
|
6147
6585
|
exports.useWorkspaceDocs = useWorkspaceDocs;
|
|
6148
|
-
exports.useWorkspaces = useWorkspaces;
|
|
6149
6586
|
exports.userDisplayName = userDisplayName;
|
|
6150
6587
|
exports.userInitials = userInitials;
|
|
6151
6588
|
//# sourceMappingURL=index.cjs.map
|