@elevasis/ui 2.17.2 → 2.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.js +2 -2
- package/dist/app/index.js +5 -5
- package/dist/charts/index.js +3 -3
- package/dist/chunk-3JCMO7SD.js +14 -0
- package/dist/{chunk-TP5NMF6K.js → chunk-46Z2VHY3.js} +4 -4
- package/dist/{chunk-FNWWVX5N.js → chunk-5SCVXZPM.js} +358 -188
- package/dist/{chunk-TTP62HWW.js → chunk-BHR7IV72.js} +10 -15
- package/dist/{chunk-MJ6YV2B5.js → chunk-CTTY6FUT.js} +2 -2
- package/dist/{chunk-P3TFNFZS.js → chunk-EUWBY43Z.js} +2 -2
- package/dist/{chunk-MDO4UCEJ.js → chunk-IBOX2M24.js} +47 -82
- package/dist/{chunk-HH3RNG2O.js → chunk-JEQM67SO.js} +307 -173
- package/dist/{chunk-2TDZBYXI.js → chunk-LR5CRY5A.js} +1 -1
- package/dist/{chunk-JU6UB4YA.js → chunk-LVCJ2H2T.js} +4 -4
- package/dist/{chunk-GRGRBWIO.js → chunk-M7W7CGPL.js} +1 -1
- package/dist/{chunk-34NQLV2W.js → chunk-MJAKU2WA.js} +3 -3
- package/dist/{chunk-OCCZRPER.js → chunk-Q4QJOSVS.js} +1 -1
- package/dist/{chunk-R73EHHPN.js → chunk-Q5HC6ENG.js} +18 -2
- package/dist/{chunk-VDM6DQES.js → chunk-R7OJCNL3.js} +1 -1
- package/dist/{chunk-6RWMRQN5.js → chunk-TIIPYB2Z.js} +1 -1
- package/dist/{chunk-ABUDMATM.js → chunk-TKEKYPZA.js} +6 -6
- package/dist/{chunk-R7GKX4HW.js → chunk-UU6PJ4EJ.js} +192 -82
- package/dist/{chunk-7L42RRHZ.js → chunk-Y7TDUZEH.js} +221 -514
- package/dist/{chunk-7GCWOUFT.js → chunk-YVAXWM3W.js} +73 -121
- package/dist/components/index.d.ts +219 -2810
- package/dist/components/index.js +41 -27
- package/dist/features/crm/index.d.ts +54 -53
- package/dist/features/crm/index.js +11 -11
- package/dist/features/dashboard/index.js +12 -12
- package/dist/features/delivery/index.d.ts +2642 -2605
- package/dist/features/delivery/index.js +11 -11
- package/dist/features/lead-gen/index.d.ts +152 -16
- package/dist/features/lead-gen/index.js +11 -22
- package/dist/features/monitoring/index.js +13 -13
- package/dist/features/monitoring/requests/index.d.ts +38 -27
- package/dist/features/monitoring/requests/index.js +212 -106
- package/dist/features/operations/index.d.ts +9 -26
- package/dist/features/operations/index.js +15 -15
- package/dist/features/settings/index.d.ts +36 -37
- package/dist/features/settings/index.js +12 -12
- package/dist/hooks/delivery/index.d.ts +2712 -2699
- package/dist/hooks/delivery/index.js +2 -2
- package/dist/hooks/index.d.ts +1997 -4627
- package/dist/hooks/index.js +10 -10
- package/dist/hooks/published.d.ts +1997 -4627
- package/dist/hooks/published.js +10 -10
- package/dist/index.d.ts +1124 -3673
- package/dist/index.js +11 -11
- package/dist/layout/index.d.ts +14 -2
- package/dist/layout/index.js +1 -1
- package/dist/provider/index.d.ts +320 -249
- package/dist/provider/index.js +8 -8
- package/dist/provider/published.d.ts +320 -249
- package/dist/provider/published.js +5 -5
- package/dist/sse/index.d.ts +1 -6
- package/dist/theme/index.js +2 -2
- package/dist/types/index.d.ts +1608 -2487
- package/dist/utils/index.d.ts +32 -1
- package/dist/utils/index.js +1 -1
- package/dist/zustand/index.d.ts +4 -8
- package/dist/zustand/index.js +2 -2
- package/package.json +4 -4
- package/dist/chunk-ADSSLKKP.js +0 -10
- /package/dist/{chunk-GCBWGGI6.js → chunk-OD7GWIZS.js} +0 -0
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import '../../../chunk-TUMSNGTX.js';
|
|
1
|
+
import { TableSelectionToolbar } from '../../../chunk-TUMSNGTX.js';
|
|
2
2
|
import { FilterBar } from '../../../chunk-PDHTXPSF.js';
|
|
3
|
-
import { ConfirmationModal } from '../../../chunk-GBMNCNHX.js';
|
|
3
|
+
import { ConfirmationModal, CustomModal } from '../../../chunk-GBMNCNHX.js';
|
|
4
4
|
import '../../../chunk-7M2VOCYN.js';
|
|
5
|
-
import { usePaginationState, useRequestsList, useUpdateRequestStatus, useRequest } from '../../../chunk-
|
|
5
|
+
import { usePaginationState, useRequestsList, useUpdateRequestStatus, useDeleteRequest, useTableSelection, useRequest } from '../../../chunk-UU6PJ4EJ.js';
|
|
6
6
|
import '../../../chunk-BRXELOHC.js';
|
|
7
7
|
import '../../../chunk-QSTH6T77.js';
|
|
8
|
-
import '../../../chunk-
|
|
8
|
+
import '../../../chunk-M7W7CGPL.js';
|
|
9
9
|
import '../../../chunk-22UVE3RA.js';
|
|
10
10
|
import '../../../chunk-3ZMAGTWF.js';
|
|
11
|
-
import '../../../chunk-
|
|
12
|
-
import '../../../chunk-
|
|
13
|
-
import '../../../chunk-
|
|
11
|
+
import '../../../chunk-Q4QJOSVS.js';
|
|
12
|
+
import '../../../chunk-MJAKU2WA.js';
|
|
13
|
+
import '../../../chunk-Q5HC6ENG.js';
|
|
14
14
|
import '../../../chunk-WLOQ4IBG.js';
|
|
15
|
-
import '../../../chunk-
|
|
16
|
-
import '../../../chunk-
|
|
15
|
+
import '../../../chunk-LR5CRY5A.js';
|
|
16
|
+
import '../../../chunk-EUWBY43Z.js';
|
|
17
17
|
import '../../../chunk-RX4UWZZR.js';
|
|
18
|
-
import { PageTitleCaption, ContextViewer, JsonViewer } from '../../../chunk-
|
|
18
|
+
import { PageTitleCaption, CardHeader, ContextViewer, JsonViewer } from '../../../chunk-BHR7IV72.js';
|
|
19
19
|
import '../../../chunk-SZHARWKU.js';
|
|
20
20
|
import '../../../chunk-3KMDHCAR.js';
|
|
21
21
|
import '../../../chunk-NYBEU5TE.js';
|
|
22
|
-
import '../../../chunk-
|
|
22
|
+
import '../../../chunk-R7OJCNL3.js';
|
|
23
23
|
import '../../../chunk-2IFYDILW.js';
|
|
24
24
|
import '../../../chunk-Q7DJKLEN.js';
|
|
25
25
|
import '../../../chunk-7YQKVWSD.js';
|
|
@@ -28,7 +28,7 @@ import '../../../chunk-QJ2KCHKX.js';
|
|
|
28
28
|
import '../../../chunk-HQ7M6PBW.js';
|
|
29
29
|
import '../../../chunk-DT3QYZVU.js';
|
|
30
30
|
import '../../../chunk-RNP5R5I3.js';
|
|
31
|
-
import { formatTimeAgo } from '../../../chunk-
|
|
31
|
+
import { formatTimeAgo } from '../../../chunk-OD7GWIZS.js';
|
|
32
32
|
import '../../../chunk-KRWALB24.js';
|
|
33
33
|
import '../../../chunk-SLH2QLKV.js';
|
|
34
34
|
import '../../../chunk-DK2HVHCY.js';
|
|
@@ -38,9 +38,9 @@ import '../../../chunk-IRW7JMQ4.js';
|
|
|
38
38
|
import '../../../chunk-BRJ3QZ4E.js';
|
|
39
39
|
import { useState } from 'react';
|
|
40
40
|
import { useNavigate } from '@tanstack/react-router';
|
|
41
|
-
import { Badge, Menu, Button, Stack, Paper, Select, Center, Loader, Text, Table, Group, Pagination, Skeleton, SimpleGrid,
|
|
41
|
+
import { Badge, Menu, Button, Stack, Paper, Select, Center, Loader, Text, Table, Checkbox, Group, Pagination, Title, Skeleton, SimpleGrid, CopyButton, Tooltip, ActionIcon, SegmentedControl } from '@mantine/core';
|
|
42
|
+
import { IconChevronDown, IconAlertTriangle, IconCheck, IconCopy, IconClipboardText, IconFileDescription, IconAlertCircle, IconInfoCircle, IconArrowLeft } from '@tabler/icons-react';
|
|
42
43
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
43
|
-
import { IconChevronDown, IconAlertTriangle, IconArrowLeft } from '@tabler/icons-react';
|
|
44
44
|
import { notifications } from '@mantine/notifications';
|
|
45
45
|
|
|
46
46
|
// src/features/monitoring/requests/manifest.ts
|
|
@@ -165,6 +165,7 @@ function RequestsListPage({
|
|
|
165
165
|
const [severityFilter, setSeverityFilter] = useState(severityProp);
|
|
166
166
|
const [statusFilter, setStatusFilter] = useState(statusProp ?? "open");
|
|
167
167
|
const [sourceFilter, setSourceFilter] = useState(sourceProp);
|
|
168
|
+
const [showBatchDelete, setShowBatchDelete] = useState(false);
|
|
168
169
|
const { page, setPage, offset, totalPages } = usePaginationState(PAGE_SIZE, [
|
|
169
170
|
typeFilter,
|
|
170
171
|
severityFilter,
|
|
@@ -180,6 +181,8 @@ function RequestsListPage({
|
|
|
180
181
|
offset
|
|
181
182
|
});
|
|
182
183
|
const { mutate: updateStatus } = useUpdateRequestStatus();
|
|
184
|
+
const deleteRequest = useDeleteRequest();
|
|
185
|
+
const selection = useTableSelection(requests);
|
|
183
186
|
function pushSearchParam(patch) {
|
|
184
187
|
navigate({
|
|
185
188
|
// @ts-expect-error — search type is narrowed by each route wrapper
|
|
@@ -206,6 +209,11 @@ function RequestsListPage({
|
|
|
206
209
|
setSourceFilter(next);
|
|
207
210
|
pushSearchParam({ source: next });
|
|
208
211
|
}
|
|
212
|
+
const handleDeleteSelected = async () => {
|
|
213
|
+
await Promise.all([...selection.selectedIds].map((id) => deleteRequest.mutateAsync(id)));
|
|
214
|
+
setShowBatchDelete(false);
|
|
215
|
+
selection.clear();
|
|
216
|
+
};
|
|
209
217
|
const estimatedTotal = requests.length < PAGE_SIZE ? offset + requests.length : offset + PAGE_SIZE + 1;
|
|
210
218
|
const pageCount = totalPages(estimatedTotal);
|
|
211
219
|
return /* @__PURE__ */ jsxs(Stack, { children: [
|
|
@@ -217,79 +225,100 @@ function RequestsListPage({
|
|
|
217
225
|
}
|
|
218
226
|
),
|
|
219
227
|
/* @__PURE__ */ jsx(Paper, { children: /* @__PURE__ */ jsxs(Stack, { gap: 0, children: [
|
|
220
|
-
/* @__PURE__ */ jsxs(
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
228
|
+
/* @__PURE__ */ jsxs(
|
|
229
|
+
FilterBar,
|
|
230
|
+
{
|
|
231
|
+
actions: /* @__PURE__ */ jsx(
|
|
232
|
+
TableSelectionToolbar,
|
|
233
|
+
{
|
|
234
|
+
selectedCount: selection.selectedCount,
|
|
235
|
+
onDelete: () => setShowBatchDelete(true),
|
|
236
|
+
isDeleting: deleteRequest.isPending
|
|
237
|
+
}
|
|
238
|
+
),
|
|
239
|
+
children: [
|
|
240
|
+
/* @__PURE__ */ jsx(
|
|
241
|
+
Select,
|
|
242
|
+
{
|
|
243
|
+
placeholder: "All types",
|
|
244
|
+
value: typeFilter ?? null,
|
|
245
|
+
onChange: handleTypeChange,
|
|
246
|
+
data: [
|
|
247
|
+
{ value: "bug", label: "Bug" },
|
|
248
|
+
{ value: "feature", label: "Feature" },
|
|
249
|
+
{ value: "question", label: "Question" },
|
|
250
|
+
{ value: "other", label: "Other" }
|
|
251
|
+
],
|
|
252
|
+
clearable: true,
|
|
253
|
+
size: "sm",
|
|
254
|
+
w: 150
|
|
255
|
+
}
|
|
256
|
+
),
|
|
257
|
+
/* @__PURE__ */ jsx(
|
|
258
|
+
Select,
|
|
259
|
+
{
|
|
260
|
+
placeholder: "All severities",
|
|
261
|
+
value: severityFilter ?? null,
|
|
262
|
+
onChange: handleSeverityChange,
|
|
263
|
+
data: [
|
|
264
|
+
{ value: "critical", label: "Critical" },
|
|
265
|
+
{ value: "warning", label: "Warning" },
|
|
266
|
+
{ value: "info", label: "Info" }
|
|
267
|
+
],
|
|
268
|
+
clearable: true,
|
|
269
|
+
size: "sm",
|
|
270
|
+
w: 160
|
|
271
|
+
}
|
|
272
|
+
),
|
|
273
|
+
/* @__PURE__ */ jsx(
|
|
274
|
+
Select,
|
|
275
|
+
{
|
|
276
|
+
placeholder: "All statuses",
|
|
277
|
+
value: statusFilter ?? null,
|
|
278
|
+
onChange: handleStatusChange,
|
|
279
|
+
data: [
|
|
280
|
+
{ value: "open", label: "Open" },
|
|
281
|
+
{ value: "investigating", label: "Investigating" },
|
|
282
|
+
{ value: "resolved", label: "Resolved" },
|
|
283
|
+
{ value: "wont_fix", label: "Won't Fix" }
|
|
284
|
+
],
|
|
285
|
+
clearable: true,
|
|
286
|
+
size: "sm",
|
|
287
|
+
w: 170
|
|
288
|
+
}
|
|
289
|
+
),
|
|
290
|
+
/* @__PURE__ */ jsx(
|
|
291
|
+
Select,
|
|
292
|
+
{
|
|
293
|
+
placeholder: "All sources",
|
|
294
|
+
value: sourceFilter ?? null,
|
|
295
|
+
onChange: handleSourceChange,
|
|
296
|
+
data: [
|
|
297
|
+
{ value: "agent", label: "Agent" },
|
|
298
|
+
{ value: "cli", label: "CLI" },
|
|
299
|
+
{ value: "api", label: "API" },
|
|
300
|
+
{ value: "webhook", label: "Webhook" },
|
|
301
|
+
{ value: "user", label: "User" },
|
|
302
|
+
{ value: "external", label: "External" }
|
|
303
|
+
],
|
|
304
|
+
clearable: true,
|
|
305
|
+
size: "sm",
|
|
306
|
+
w: 150
|
|
307
|
+
}
|
|
308
|
+
)
|
|
309
|
+
]
|
|
310
|
+
}
|
|
311
|
+
),
|
|
291
312
|
isLoading ? /* @__PURE__ */ jsx(Center, { py: "xl", children: /* @__PURE__ */ jsx(Loader, { size: "md" }) }) : requests.length === 0 ? /* @__PURE__ */ jsx(Center, { py: "xl", children: /* @__PURE__ */ jsx(Text, { c: "dimmed", children: "No requests yet" }) }) : /* @__PURE__ */ jsxs(Table, { highlightOnHover: true, style: { cursor: "pointer" }, children: [
|
|
292
313
|
/* @__PURE__ */ jsx(Table.Thead, { children: /* @__PURE__ */ jsxs(Table.Tr, { children: [
|
|
314
|
+
/* @__PURE__ */ jsx(Table.Th, { w: 40, children: /* @__PURE__ */ jsx(
|
|
315
|
+
Checkbox,
|
|
316
|
+
{
|
|
317
|
+
checked: selection.isPageAllSelected,
|
|
318
|
+
indeterminate: selection.isPagePartiallySelected,
|
|
319
|
+
onChange: selection.togglePage
|
|
320
|
+
}
|
|
321
|
+
) }),
|
|
293
322
|
/* @__PURE__ */ jsx(Table.Th, { children: "Type" }),
|
|
294
323
|
/* @__PURE__ */ jsx(Table.Th, { children: "Severity" }),
|
|
295
324
|
/* @__PURE__ */ jsx(Table.Th, { children: "Title" }),
|
|
@@ -299,6 +328,13 @@ function RequestsListPage({
|
|
|
299
328
|
/* @__PURE__ */ jsx(Table.Th, { children: "Actions" })
|
|
300
329
|
] }) }),
|
|
301
330
|
/* @__PURE__ */ jsx(Table.Tbody, { children: requests.map((request) => /* @__PURE__ */ jsxs(Table.Tr, { onClick: () => onNavigateToRequest?.(request.id), children: [
|
|
331
|
+
/* @__PURE__ */ jsx(Table.Td, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx(
|
|
332
|
+
Checkbox,
|
|
333
|
+
{
|
|
334
|
+
checked: selection.isSelected(request.id),
|
|
335
|
+
onChange: () => selection.toggle(request.id)
|
|
336
|
+
}
|
|
337
|
+
) }),
|
|
302
338
|
/* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(RequestTypeBadge, { type: request.type }) }),
|
|
303
339
|
/* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(SeverityBadge, { severity: request.severity }) }),
|
|
304
340
|
/* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", lineClamp: 1, children: request.title }) }),
|
|
@@ -315,7 +351,38 @@ function RequestsListPage({
|
|
|
315
351
|
] }, request.id)) })
|
|
316
352
|
] }),
|
|
317
353
|
pageCount > 1 && /* @__PURE__ */ jsx(Group, { justify: "flex-start", px: "md", pb: "md", children: /* @__PURE__ */ jsx(Pagination, { size: "sm", total: pageCount, value: page, onChange: setPage, boundaries: 1 }) })
|
|
318
|
-
] }) })
|
|
354
|
+
] }) }),
|
|
355
|
+
/* @__PURE__ */ jsx(
|
|
356
|
+
CustomModal,
|
|
357
|
+
{
|
|
358
|
+
opened: showBatchDelete,
|
|
359
|
+
onClose: () => !deleteRequest.isPending && setShowBatchDelete(false),
|
|
360
|
+
size: "sm",
|
|
361
|
+
loading: deleteRequest.isPending,
|
|
362
|
+
children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
|
|
363
|
+
/* @__PURE__ */ jsxs(Group, { gap: "sm", children: [
|
|
364
|
+
/* @__PURE__ */ jsx(IconAlertTriangle, { size: 24, color: "var(--color-error)" }),
|
|
365
|
+
/* @__PURE__ */ jsxs(Title, { order: 4, children: [
|
|
366
|
+
"Delete ",
|
|
367
|
+
selection.selectedCount,
|
|
368
|
+
" Requests"
|
|
369
|
+
] })
|
|
370
|
+
] }),
|
|
371
|
+
/* @__PURE__ */ jsxs(Text, { size: "sm", children: [
|
|
372
|
+
"Are you sure you want to delete",
|
|
373
|
+
" ",
|
|
374
|
+
/* @__PURE__ */ jsx(Text, { span: true, fw: 600, children: selection.selectedCount }),
|
|
375
|
+
" ",
|
|
376
|
+
"selected requests?"
|
|
377
|
+
] }),
|
|
378
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "This action cannot be undone." }),
|
|
379
|
+
/* @__PURE__ */ jsxs(Group, { justify: "flex-end", mt: "md", children: [
|
|
380
|
+
/* @__PURE__ */ jsx(Button, { variant: "light", onClick: () => setShowBatchDelete(false), disabled: deleteRequest.isPending, children: "Cancel" }),
|
|
381
|
+
/* @__PURE__ */ jsx(Button, { color: "red", loading: deleteRequest.isPending, onClick: () => void handleDeleteSelected(), children: "Delete" })
|
|
382
|
+
] })
|
|
383
|
+
] })
|
|
384
|
+
}
|
|
385
|
+
)
|
|
319
386
|
] });
|
|
320
387
|
}
|
|
321
388
|
function formatDateTime(isoString) {
|
|
@@ -331,24 +398,28 @@ function MetaField({ label, children }) {
|
|
|
331
398
|
/* @__PURE__ */ jsx("div", { children })
|
|
332
399
|
] });
|
|
333
400
|
}
|
|
334
|
-
function JsonSection({ title, data, emptyLabel }) {
|
|
401
|
+
function JsonSection({ title, icon, data, emptyLabel }) {
|
|
335
402
|
const [view, setView] = useState("formatted");
|
|
336
403
|
return /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
|
|
337
|
-
/* @__PURE__ */
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
404
|
+
/* @__PURE__ */ jsx(
|
|
405
|
+
CardHeader,
|
|
406
|
+
{
|
|
407
|
+
icon,
|
|
408
|
+
title,
|
|
409
|
+
rightSection: data !== null && data !== void 0 ? /* @__PURE__ */ jsx(
|
|
410
|
+
SegmentedControl,
|
|
411
|
+
{
|
|
412
|
+
value: view,
|
|
413
|
+
onChange: (v) => setView(v),
|
|
414
|
+
size: "xs",
|
|
415
|
+
data: [
|
|
416
|
+
{ label: "Formatted", value: "formatted" },
|
|
417
|
+
{ label: "JSON", value: "json" }
|
|
418
|
+
]
|
|
419
|
+
}
|
|
420
|
+
) : null
|
|
421
|
+
}
|
|
422
|
+
),
|
|
352
423
|
data === null || data === void 0 ? /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", fs: "italic", children: emptyLabel }) : view === "formatted" ? /* @__PURE__ */ jsx(ContextViewer, { data }) : /* @__PURE__ */ jsx(JsonViewer, { data })
|
|
353
424
|
] }) });
|
|
354
425
|
}
|
|
@@ -417,7 +488,26 @@ function RequestsDetailPage({ requestId, onNavigateBack }) {
|
|
|
417
488
|
}
|
|
418
489
|
),
|
|
419
490
|
/* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
|
|
420
|
-
/* @__PURE__ */ jsx(
|
|
491
|
+
/* @__PURE__ */ jsx(
|
|
492
|
+
CardHeader,
|
|
493
|
+
{
|
|
494
|
+
icon: /* @__PURE__ */ jsx(IconClipboardText, { size: 18 }),
|
|
495
|
+
title: "Details",
|
|
496
|
+
rightSection: /* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
|
|
497
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", ff: "monospace", c: "var(--color-text-subtle)", children: request.id }),
|
|
498
|
+
/* @__PURE__ */ jsx(CopyButton, { value: `/requests review ${request.id}`, children: ({ copied, copy }) => /* @__PURE__ */ jsx(Tooltip, { label: copied ? "Copied!" : "Copy ID", withArrow: true, children: /* @__PURE__ */ jsx(
|
|
499
|
+
ActionIcon,
|
|
500
|
+
{
|
|
501
|
+
onClick: copy,
|
|
502
|
+
variant: "subtle",
|
|
503
|
+
size: "xs",
|
|
504
|
+
color: copied ? "green" : "var(--color-text-subtle)",
|
|
505
|
+
children: copied ? /* @__PURE__ */ jsx(IconCheck, { size: 14 }) : /* @__PURE__ */ jsx(IconCopy, { size: 14 })
|
|
506
|
+
}
|
|
507
|
+
) }) })
|
|
508
|
+
] })
|
|
509
|
+
}
|
|
510
|
+
),
|
|
421
511
|
/* @__PURE__ */ jsxs(SimpleGrid, { cols: 2, spacing: "md", children: [
|
|
422
512
|
/* @__PURE__ */ jsxs(MetaField, { label: "Status", children: [
|
|
423
513
|
/* @__PURE__ */ jsx(StatusBadge, { status: currentStatus }),
|
|
@@ -433,11 +523,27 @@ function RequestsDetailPage({ requestId, onNavigateBack }) {
|
|
|
433
523
|
] })
|
|
434
524
|
] }) }),
|
|
435
525
|
/* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
|
|
436
|
-
/* @__PURE__ */ jsx(
|
|
526
|
+
/* @__PURE__ */ jsx(CardHeader, { icon: /* @__PURE__ */ jsx(IconFileDescription, { size: 18 }), title: "Description" }),
|
|
437
527
|
/* @__PURE__ */ jsx(Text, { size: "sm", style: { whiteSpace: "pre-wrap" }, children: request.description })
|
|
438
528
|
] }) }),
|
|
439
|
-
/* @__PURE__ */ jsx(
|
|
440
|
-
|
|
529
|
+
/* @__PURE__ */ jsx(
|
|
530
|
+
JsonSection,
|
|
531
|
+
{
|
|
532
|
+
title: "Evidence",
|
|
533
|
+
icon: /* @__PURE__ */ jsx(IconAlertCircle, { size: 18 }),
|
|
534
|
+
data: request.evidence,
|
|
535
|
+
emptyLabel: "No evidence recorded."
|
|
536
|
+
}
|
|
537
|
+
),
|
|
538
|
+
/* @__PURE__ */ jsx(
|
|
539
|
+
JsonSection,
|
|
540
|
+
{
|
|
541
|
+
title: "Context",
|
|
542
|
+
icon: /* @__PURE__ */ jsx(IconInfoCircle, { size: 18 }),
|
|
543
|
+
data: request.context,
|
|
544
|
+
emptyLabel: "No context recorded."
|
|
545
|
+
}
|
|
546
|
+
)
|
|
441
547
|
] });
|
|
442
548
|
}
|
|
443
549
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { ReactNode, ComponentType } from 'react';
|
|
3
|
+
import { EventSourceMessage } from '@microsoft/fetch-event-source';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Shared form field types for dynamic form generation
|
|
@@ -328,7 +329,7 @@ type ResourceStatus = 'dev' | 'prod';
|
|
|
328
329
|
* All resource types in the platform
|
|
329
330
|
* Used as the discriminator field in ResourceDefinition
|
|
330
331
|
*/
|
|
331
|
-
type ResourceType
|
|
332
|
+
type ResourceType = 'agent' | 'workflow' | 'trigger' | 'integration' | 'external' | 'human';
|
|
332
333
|
/**
|
|
333
334
|
* Base interface for ALL platform resources
|
|
334
335
|
* Shared by both executable (agents, workflows) and non-executable (triggers, integrations, etc.) resources
|
|
@@ -343,7 +344,7 @@ interface ResourceDefinition {
|
|
|
343
344
|
/** Version for change tracking and evolution */
|
|
344
345
|
version: string;
|
|
345
346
|
/** Resource type discriminator */
|
|
346
|
-
type: ResourceType
|
|
347
|
+
type: ResourceType;
|
|
347
348
|
/** Environment/deployment status */
|
|
348
349
|
status: ResourceStatus;
|
|
349
350
|
/** Domain tags for filtering and organization */
|
|
@@ -385,9 +386,9 @@ type ResourceDomain = (typeof DOMAINS)[keyof typeof DOMAINS];
|
|
|
385
386
|
|
|
386
387
|
interface ResourcesPageProps {
|
|
387
388
|
/** Initial filter type from the URL search param (caller-managed) */
|
|
388
|
-
initialFilter?: ResourceType
|
|
389
|
+
initialFilter?: ResourceType;
|
|
389
390
|
/** Called when the user changes the tab filter — caller should update its URL */
|
|
390
|
-
onTypeChange: (type: ResourceType
|
|
391
|
+
onTypeChange: (type: ResourceType | undefined) => void;
|
|
391
392
|
/** Current time range value — caller passes from its own store */
|
|
392
393
|
timeRange: TimeRange;
|
|
393
394
|
/** Called when the user clicks a resource row — caller handles navigation */
|
|
@@ -461,14 +462,14 @@ declare function ResourcesSidebar({ timeRange }: ResourcesSidebarProps): react_j
|
|
|
461
462
|
|
|
462
463
|
interface ResourceDetailPageRenderExecutionPanelArgs {
|
|
463
464
|
resourceId: string;
|
|
464
|
-
resourceType: ResourceType
|
|
465
|
+
resourceType: ResourceType;
|
|
465
466
|
resourceName: string;
|
|
466
467
|
resourceDefinition: AIResourceDefinition;
|
|
467
468
|
onConnectionStatus: (connected: boolean, count: number) => void;
|
|
468
469
|
}
|
|
469
470
|
interface ResourceDetailPageProps {
|
|
470
471
|
/** Resource type (workflow, agent, etc.) */
|
|
471
|
-
type: ResourceType
|
|
472
|
+
type: ResourceType;
|
|
472
473
|
/** Resource identifier */
|
|
473
474
|
resourceId: string;
|
|
474
475
|
/** Current time range value — caller passes from its own store */
|
|
@@ -488,31 +489,12 @@ interface ResourceDetailPageProps {
|
|
|
488
489
|
}
|
|
489
490
|
declare function ResourceDetailPage({ type, resourceId, timeRange, renderExecutionPanel, onNavigateToResources, onNavigateToSessions, onNavigateBack }: ResourceDetailPageProps): react_jsx_runtime.JSX.Element;
|
|
490
491
|
|
|
491
|
-
/**
|
|
492
|
-
* Resource Registry type definitions
|
|
493
|
-
*/
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
/**
|
|
498
|
-
* All resource types in the platform
|
|
499
|
-
* Used as the discriminator field in ResourceDefinition
|
|
500
|
-
*/
|
|
501
|
-
type ResourceType = 'agent' | 'workflow' | 'trigger' | 'integration' | 'external' | 'human'
|
|
502
|
-
|
|
503
492
|
interface ExecuteAsyncResult {
|
|
504
493
|
executionId: string;
|
|
505
494
|
status: string;
|
|
506
495
|
resourceId: string;
|
|
507
496
|
}
|
|
508
497
|
|
|
509
|
-
interface EventSourceMessage {
|
|
510
|
-
id: string;
|
|
511
|
-
event: string;
|
|
512
|
-
data: string;
|
|
513
|
-
retry?: number;
|
|
514
|
-
}
|
|
515
|
-
|
|
516
498
|
interface FetchEventSourceWithTokenRefreshOptions {
|
|
517
499
|
url: string;
|
|
518
500
|
getToken: () => Promise<string | undefined>;
|
|
@@ -544,6 +526,7 @@ interface UseExecutionPanelStateOptions {
|
|
|
544
526
|
*/
|
|
545
527
|
apiUrl: string;
|
|
546
528
|
limit?: number;
|
|
529
|
+
offset?: number;
|
|
547
530
|
onConnectionStatus?: (connected: boolean, runningCount: number) => void;
|
|
548
531
|
selectedId?: string | null;
|
|
549
532
|
onSelectedIdChange?: (id: string | null) => void;
|
|
@@ -656,7 +639,7 @@ declare function CommandViewSidebarContent({ timeRange }: CommandViewSidebarCont
|
|
|
656
639
|
type ExecutionSelectionControlProps$2 = Pick<UseExecutionPanelStateOptions, 'selectedId' | 'onSelectedIdChange'>;
|
|
657
640
|
interface ExecutionPanelProps extends ExecutionSelectionControlProps$2 {
|
|
658
641
|
resourceId: string;
|
|
659
|
-
resourceType: ResourceType
|
|
642
|
+
resourceType: ResourceType;
|
|
660
643
|
resourceName?: string;
|
|
661
644
|
resourceDefinition: AIResourceDefinition;
|
|
662
645
|
sseManager: SSEConnectionManagerLike;
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
export { AgentExecutionPanel, AgentSessionGroup, CommandQueueDetailPage, CommandQueuePage, CommandQueueShell, CommandViewPage, CommandViewSidebarContent, ExecuteWorkflowModal, ExecutionPanel, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationGraphPage, ResourceDetailPage, ResourceExecuteDialog, ResourceExecuteForm, ResourcesPage, ResourcesSidebar, SessionChatArea, SessionChatInterface, SessionChatPage, SessionDetailsSidebar, SessionExecutionLogs, SessionHeader, SessionListItem, SessionsPage, SessionsSidebar, WorkflowExecutionPanel, operationsManifest } from '../../chunk-
|
|
1
|
+
export { AgentExecutionPanel, AgentSessionGroup, CommandQueueDetailPage, CommandQueuePage, CommandQueueShell, CommandViewPage, CommandViewSidebarContent, ExecuteWorkflowModal, ExecutionPanel, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationGraphPage, ResourceDetailPage, ResourceExecuteDialog, ResourceExecuteForm, ResourcesPage, ResourcesSidebar, SessionChatArea, SessionChatInterface, SessionChatPage, SessionDetailsSidebar, SessionExecutionLogs, SessionHeader, SessionListItem, SessionsPage, SessionsSidebar, WorkflowExecutionPanel, operationsManifest } from '../../chunk-JEQM67SO.js';
|
|
2
2
|
import '../../chunk-ROSMICXG.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-3JCMO7SD.js';
|
|
4
4
|
import '../../chunk-ZTWA5H77.js';
|
|
5
|
-
export { OperationsOverview } from '../../chunk-
|
|
5
|
+
export { OperationsOverview } from '../../chunk-TKEKYPZA.js';
|
|
6
6
|
import '../../chunk-442LZPIR.js';
|
|
7
|
-
import '../../chunk-
|
|
7
|
+
import '../../chunk-LVCJ2H2T.js';
|
|
8
8
|
import '../../chunk-LGKLC5MG.js';
|
|
9
|
-
import '../../chunk-
|
|
9
|
+
import '../../chunk-CTTY6FUT.js';
|
|
10
10
|
import '../../chunk-M25JL54Z.js';
|
|
11
11
|
import '../../chunk-BZZCNLT6.js';
|
|
12
12
|
import '../../chunk-IIMU5YAJ.js';
|
|
13
13
|
import '../../chunk-GBMNCNHX.js';
|
|
14
14
|
import '../../chunk-E4WQGJNS.js';
|
|
15
15
|
import '../../chunk-7M2VOCYN.js';
|
|
16
|
-
import '../../chunk-
|
|
16
|
+
import '../../chunk-UU6PJ4EJ.js';
|
|
17
17
|
import '../../chunk-BRXELOHC.js';
|
|
18
18
|
import '../../chunk-QSTH6T77.js';
|
|
19
|
-
import '../../chunk-
|
|
19
|
+
import '../../chunk-M7W7CGPL.js';
|
|
20
20
|
import '../../chunk-22UVE3RA.js';
|
|
21
21
|
import '../../chunk-3ZMAGTWF.js';
|
|
22
|
-
import '../../chunk-
|
|
23
|
-
import '../../chunk-
|
|
24
|
-
import '../../chunk-
|
|
22
|
+
import '../../chunk-Q4QJOSVS.js';
|
|
23
|
+
import '../../chunk-MJAKU2WA.js';
|
|
24
|
+
import '../../chunk-Q5HC6ENG.js';
|
|
25
25
|
import '../../chunk-WLOQ4IBG.js';
|
|
26
|
-
import '../../chunk-
|
|
27
|
-
import '../../chunk-
|
|
26
|
+
import '../../chunk-LR5CRY5A.js';
|
|
27
|
+
import '../../chunk-EUWBY43Z.js';
|
|
28
28
|
import '../../chunk-RX4UWZZR.js';
|
|
29
|
-
import '../../chunk-
|
|
29
|
+
import '../../chunk-BHR7IV72.js';
|
|
30
30
|
import '../../chunk-SZHARWKU.js';
|
|
31
31
|
import '../../chunk-3KMDHCAR.js';
|
|
32
32
|
import '../../chunk-NYBEU5TE.js';
|
|
33
|
-
import '../../chunk-
|
|
33
|
+
import '../../chunk-R7OJCNL3.js';
|
|
34
34
|
import '../../chunk-2IFYDILW.js';
|
|
35
35
|
import '../../chunk-Q7DJKLEN.js';
|
|
36
36
|
import '../../chunk-7YQKVWSD.js';
|
|
@@ -39,7 +39,7 @@ import '../../chunk-QJ2KCHKX.js';
|
|
|
39
39
|
import '../../chunk-HQ7M6PBW.js';
|
|
40
40
|
import '../../chunk-DT3QYZVU.js';
|
|
41
41
|
import '../../chunk-RNP5R5I3.js';
|
|
42
|
-
import '../../chunk-
|
|
42
|
+
import '../../chunk-OD7GWIZS.js';
|
|
43
43
|
import '../../chunk-KRWALB24.js';
|
|
44
44
|
import '../../chunk-SLH2QLKV.js';
|
|
45
45
|
import '../../chunk-DK2HVHCY.js';
|