livedesk 0.1.201 → 0.1.202
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/hub/src/remote-hub.js +129 -9
- package/hub/src/server.js +45 -1
- package/package.json +2 -2
- package/web/dist/assets/icons-CdoyEPi7.js +1 -0
- package/web/dist/assets/{index-E7mJlqTd.css → index-BtwcH3sl.css} +1 -1
- package/web/dist/assets/index-Dyw6BBgT.js +15 -0
- package/web/dist/assets/{react-Cdiodqh1.js → react-DyAxfjRM.js} +1 -1
- package/web/dist/index.html +4 -4
- package/web/dist/assets/icons-CcFpdliC.js +0 -1
- package/web/dist/assets/index-CBwRrs3z.js +0 -12
package/hub/src/remote-hub.js
CHANGED
|
@@ -558,9 +558,26 @@ function safeText(value, maxLength = 1000) {
|
|
|
558
558
|
|
|
559
559
|
function normalizeApprovalLevel(value) {
|
|
560
560
|
const level = safeString(value, 80).toLowerCase();
|
|
561
|
+
if (level === 'read-only') {
|
|
562
|
+
return 'read-only';
|
|
563
|
+
}
|
|
561
564
|
return level === 'ai-assist' ? 'ai-assist' : 'task-only';
|
|
562
565
|
}
|
|
563
566
|
|
|
567
|
+
const SUPPORTED_AGENT_OPERATIONS = new Set([
|
|
568
|
+
'system.health',
|
|
569
|
+
'gpu.status',
|
|
570
|
+
'disk.status',
|
|
571
|
+
'process.list',
|
|
572
|
+
'service.status',
|
|
573
|
+
'diagnostics.collect'
|
|
574
|
+
]);
|
|
575
|
+
|
|
576
|
+
function normalizeAgentOperation(value) {
|
|
577
|
+
const operation = safeString(value, 80).toLowerCase();
|
|
578
|
+
return SUPPORTED_AGENT_OPERATIONS.has(operation) ? operation : '';
|
|
579
|
+
}
|
|
580
|
+
|
|
564
581
|
function normalizeRemoteInputEvent(value = {}) {
|
|
565
582
|
const input = value && typeof value === 'object' ? value : {};
|
|
566
583
|
const type = safeString(input.type || input.Type, 48);
|
|
@@ -933,6 +950,8 @@ function serializeTaskBatch(batch) {
|
|
|
933
950
|
batchId: batch.batchId,
|
|
934
951
|
title: batch.title,
|
|
935
952
|
instructionPreview: batch.instructionPreview,
|
|
953
|
+
operation: batch.operation,
|
|
954
|
+
targetQuery: batch.targetQuery,
|
|
936
955
|
approvalLevel: batch.approvalLevel,
|
|
937
956
|
status: batch.status,
|
|
938
957
|
requestedAt: batch.requestedAt,
|
|
@@ -942,6 +961,7 @@ function serializeTaskBatch(batch) {
|
|
|
942
961
|
pending: batch.pending,
|
|
943
962
|
completed: batch.completed,
|
|
944
963
|
failed: batch.failed,
|
|
964
|
+
cancelled: batch.cancelled,
|
|
945
965
|
timedOut: batch.timedOut,
|
|
946
966
|
results: Array.isArray(batch.results)
|
|
947
967
|
? batch.results.map(item => ({ ...item }))
|
|
@@ -1803,6 +1823,66 @@ export function createRemoteHub(options = {}) {
|
|
|
1803
1823
|
return listTaskBatches()[0] || null;
|
|
1804
1824
|
}
|
|
1805
1825
|
|
|
1826
|
+
function getTaskBatch(batchId) {
|
|
1827
|
+
return serializeTaskBatch(taskBatches.get(safeString(batchId, 128)) || null);
|
|
1828
|
+
}
|
|
1829
|
+
|
|
1830
|
+
function cancelTaskBatch(batchId) {
|
|
1831
|
+
const batch = taskBatches.get(safeString(batchId, 128));
|
|
1832
|
+
if (!batch) {
|
|
1833
|
+
return { ok: false, error: 'task-not-found' };
|
|
1834
|
+
}
|
|
1835
|
+
|
|
1836
|
+
for (const item of batch.results) {
|
|
1837
|
+
if (!['targeted', 'queued', 'running'].includes(item.status)) {
|
|
1838
|
+
continue;
|
|
1839
|
+
}
|
|
1840
|
+
const device = devices.get(item.deviceId);
|
|
1841
|
+
const task = device?.pendingTaskCommands?.get(item.commandId);
|
|
1842
|
+
if (task) {
|
|
1843
|
+
clearTaskTimeout(device, task.commandId);
|
|
1844
|
+
device.pendingTaskCommands.delete(task.commandId);
|
|
1845
|
+
task.status = 'cancelled';
|
|
1846
|
+
task.stage = 'Cancelled';
|
|
1847
|
+
task.updatedAt = new Date().toISOString();
|
|
1848
|
+
task.completedAt = task.updatedAt;
|
|
1849
|
+
task.error = 'cancelled-by-user';
|
|
1850
|
+
task.resultSummary = 'Cancelled by user.';
|
|
1851
|
+
syncTaskBatchFromTask(device, task);
|
|
1852
|
+
continue;
|
|
1853
|
+
}
|
|
1854
|
+
item.status = 'cancelled';
|
|
1855
|
+
item.stage = 'Cancelled';
|
|
1856
|
+
item.error = 'cancelled-by-user';
|
|
1857
|
+
item.sequence = Number(item.sequence || 0) + 1;
|
|
1858
|
+
}
|
|
1859
|
+
|
|
1860
|
+
recalculateTaskBatch(batch);
|
|
1861
|
+
return { ok: true, ...serializeTaskBatch(batch) };
|
|
1862
|
+
}
|
|
1863
|
+
|
|
1864
|
+
function retryTaskBatch(batchId, options = {}) {
|
|
1865
|
+
const batch = taskBatches.get(safeString(batchId, 128));
|
|
1866
|
+
if (!batch) {
|
|
1867
|
+
return { ok: false, error: 'task-not-found' };
|
|
1868
|
+
}
|
|
1869
|
+
const failedOnly = options.failedOnly !== false;
|
|
1870
|
+
const targetIds = batch.results
|
|
1871
|
+
.filter(item => !failedOnly || item.status === 'failed')
|
|
1872
|
+
.map(item => item.deviceId)
|
|
1873
|
+
.filter(deviceId => devices.get(deviceId)?.connected === true);
|
|
1874
|
+
if (targetIds.length === 0) {
|
|
1875
|
+
return { ok: false, error: 'no-retry-targets' };
|
|
1876
|
+
}
|
|
1877
|
+
return requestAgentTaskBatch(targetIds, {
|
|
1878
|
+
instruction: batch.instructionPreview,
|
|
1879
|
+
title: batch.title,
|
|
1880
|
+
operation: batch.operation,
|
|
1881
|
+
targetQuery: batch.targetQuery,
|
|
1882
|
+
approvalLevel: batch.approvalLevel
|
|
1883
|
+
});
|
|
1884
|
+
}
|
|
1885
|
+
|
|
1806
1886
|
function emitRemoteEvent(type, device = null, extra = {}) {
|
|
1807
1887
|
emitEvent(type, {
|
|
1808
1888
|
...extra,
|
|
@@ -2719,6 +2799,8 @@ export function createRemoteHub(options = {}) {
|
|
|
2719
2799
|
.slice(0, 500);
|
|
2720
2800
|
const now = new Date().toISOString();
|
|
2721
2801
|
const instruction = safeText(options.instruction, MAX_AGENT_TASK_CHARS);
|
|
2802
|
+
const operation = normalizeAgentOperation(options.operation);
|
|
2803
|
+
const targetQuery = safeText(options.targetQuery, 160);
|
|
2722
2804
|
const batchId = safeString(options.batchId, 128) || crypto.randomUUID();
|
|
2723
2805
|
const title = safeString(options.title, 120)
|
|
2724
2806
|
|| safeString(instruction.split(/\r?\n/)[0], 120)
|
|
@@ -2727,6 +2809,8 @@ export function createRemoteHub(options = {}) {
|
|
|
2727
2809
|
batchId,
|
|
2728
2810
|
title,
|
|
2729
2811
|
instructionPreview: safeText(instruction, 320),
|
|
2812
|
+
operation,
|
|
2813
|
+
targetQuery,
|
|
2730
2814
|
approvalLevel: normalizeApprovalLevel(options.approvalLevel),
|
|
2731
2815
|
status: targets.length > 0 ? 'running' : 'failed',
|
|
2732
2816
|
requestedAt: now,
|
|
@@ -2739,12 +2823,16 @@ export function createRemoteHub(options = {}) {
|
|
|
2739
2823
|
timedOut: 0,
|
|
2740
2824
|
results: targets.map(deviceId => ({
|
|
2741
2825
|
deviceId,
|
|
2826
|
+
deviceName: safeString(devices.get(deviceId)?.deviceName || devices.get(deviceId)?.hostname || deviceId, 160),
|
|
2742
2827
|
ok: false,
|
|
2743
2828
|
status: 'targeted',
|
|
2829
|
+
stage: 'Queued',
|
|
2830
|
+
result: '',
|
|
2744
2831
|
error: '',
|
|
2745
2832
|
commandId: '',
|
|
2746
2833
|
taskId: '',
|
|
2747
2834
|
approvalLevel: normalizeApprovalLevel(options.approvalLevel),
|
|
2835
|
+
sequence: 0,
|
|
2748
2836
|
updatedAt: now
|
|
2749
2837
|
}))
|
|
2750
2838
|
};
|
|
@@ -2768,12 +2856,16 @@ export function createRemoteHub(options = {}) {
|
|
|
2768
2856
|
if (!item) {
|
|
2769
2857
|
item = {
|
|
2770
2858
|
deviceId: id,
|
|
2859
|
+
deviceName: safeString(batch.results.find(result => result.deviceId === id)?.deviceName || id, 160),
|
|
2771
2860
|
ok: false,
|
|
2772
2861
|
status: 'targeted',
|
|
2862
|
+
stage: 'Queued',
|
|
2863
|
+
result: '',
|
|
2773
2864
|
error: '',
|
|
2774
2865
|
commandId: '',
|
|
2775
2866
|
taskId: '',
|
|
2776
2867
|
approvalLevel: batch.approvalLevel,
|
|
2868
|
+
sequence: 0,
|
|
2777
2869
|
updatedAt: new Date().toISOString()
|
|
2778
2870
|
};
|
|
2779
2871
|
batch.results.push(item);
|
|
@@ -2793,16 +2885,14 @@ export function createRemoteHub(options = {}) {
|
|
|
2793
2885
|
batch.queued = results.filter(item => item.ok === true).length;
|
|
2794
2886
|
batch.completed = results.filter(item => item.status === 'completed').length;
|
|
2795
2887
|
batch.failed = results.filter(item => item.status === 'failed' || (item.ok === false && !!item.error)).length;
|
|
2888
|
+
batch.cancelled = results.filter(item => item.status === 'cancelled').length;
|
|
2796
2889
|
batch.timedOut = results.filter(item => item.error === 'task-timeout').length;
|
|
2797
|
-
batch.pending = results.filter(item =>
|
|
2798
|
-
item.ok === true
|
|
2799
|
-
&& item.status !== 'completed'
|
|
2800
|
-
&& item.status !== 'failed').length;
|
|
2890
|
+
batch.pending = results.filter(item => ['targeted', 'queued', 'running'].includes(item.status)).length;
|
|
2801
2891
|
batch.updatedAt = new Date().toISOString();
|
|
2802
2892
|
|
|
2803
2893
|
if (batch.total === 0) {
|
|
2804
2894
|
batch.status = 'failed';
|
|
2805
|
-
} else if (batch.completed + batch.failed >= batch.total) {
|
|
2895
|
+
} else if (batch.completed + batch.failed + batch.cancelled >= batch.total) {
|
|
2806
2896
|
batch.status = batch.failed > 0 ? 'completed-with-failures' : 'completed';
|
|
2807
2897
|
} else if (batch.queued > 0) {
|
|
2808
2898
|
batch.status = 'running';
|
|
@@ -2831,10 +2921,13 @@ export function createRemoteHub(options = {}) {
|
|
|
2831
2921
|
|
|
2832
2922
|
item.ok = true;
|
|
2833
2923
|
item.status = safeString(task.status, 40) || 'queued';
|
|
2924
|
+
item.stage = safeString(task.stage, 160) || (item.status === 'running' ? 'Working' : '');
|
|
2925
|
+
item.result = safeText(task.resultSummary, MAX_AGENT_TASK_RESULT_CHARS);
|
|
2834
2926
|
item.error = safeString(task.error, 500);
|
|
2835
2927
|
item.commandId = safeString(task.commandId, 128);
|
|
2836
2928
|
item.taskId = safeString(task.taskId, 128);
|
|
2837
2929
|
item.approvalLevel = normalizeApprovalLevel(task.approvalLevel || batch.approvalLevel);
|
|
2930
|
+
item.sequence = Number(item.sequence || 0) + 1;
|
|
2838
2931
|
item.updatedAt = task.updatedAt || task.completedAt || task.sentAt || new Date().toISOString();
|
|
2839
2932
|
return recalculateTaskBatch(batch);
|
|
2840
2933
|
}
|
|
@@ -2852,10 +2945,13 @@ export function createRemoteHub(options = {}) {
|
|
|
2852
2945
|
|
|
2853
2946
|
item.ok = false;
|
|
2854
2947
|
item.status = 'failed';
|
|
2948
|
+
item.stage = 'Dispatch failed';
|
|
2949
|
+
item.result = '';
|
|
2855
2950
|
item.error = safeString(error, 500) || 'task-dispatch-failed';
|
|
2856
2951
|
item.commandId = safeString(extra.commandId, 128);
|
|
2857
2952
|
item.taskId = safeString(extra.taskId, 128);
|
|
2858
2953
|
item.approvalLevel = normalizeApprovalLevel(extra.approvalLevel || batch.approvalLevel);
|
|
2954
|
+
item.sequence = Number(item.sequence || 0) + 1;
|
|
2859
2955
|
item.updatedAt = new Date().toISOString();
|
|
2860
2956
|
return recalculateTaskBatch(batch);
|
|
2861
2957
|
}
|
|
@@ -4312,6 +4408,11 @@ export function createRemoteHub(options = {}) {
|
|
|
4312
4408
|
|
|
4313
4409
|
function requestAgentTask(deviceId, options = {}) {
|
|
4314
4410
|
const device = devices.get(String(deviceId || ''));
|
|
4411
|
+
const requestedOperation = safeString(options.operation, 80);
|
|
4412
|
+
const operation = normalizeAgentOperation(requestedOperation);
|
|
4413
|
+
if (requestedOperation && !operation) {
|
|
4414
|
+
return { ok: false, error: 'unsupported-agent-operation' };
|
|
4415
|
+
}
|
|
4315
4416
|
if (!device) {
|
|
4316
4417
|
return { ok: false, error: 'device-not-found' };
|
|
4317
4418
|
}
|
|
@@ -4338,8 +4439,11 @@ export function createRemoteHub(options = {}) {
|
|
|
4338
4439
|
taskId,
|
|
4339
4440
|
commandId,
|
|
4340
4441
|
title,
|
|
4442
|
+
operation,
|
|
4443
|
+
targetQuery: safeText(options.targetQuery, 160),
|
|
4341
4444
|
instructionPreview: safeText(instruction, 320),
|
|
4342
4445
|
status: 'completed',
|
|
4446
|
+
stage: 'Completed',
|
|
4343
4447
|
approvalLevel,
|
|
4344
4448
|
requestedAt: now,
|
|
4345
4449
|
sentAt: now,
|
|
@@ -4353,9 +4457,15 @@ export function createRemoteHub(options = {}) {
|
|
|
4353
4457
|
resultResponseId: approvalLevel === 'ai-assist'
|
|
4354
4458
|
? `synthetic-response-${taskId}`
|
|
4355
4459
|
: '',
|
|
4356
|
-
resultSummary:
|
|
4357
|
-
?
|
|
4358
|
-
|
|
4460
|
+
resultSummary: operation === 'process.list'
|
|
4461
|
+
? (safeString(options.targetQuery, 160).toLowerCase() === 'comfyui'
|
|
4462
|
+
? (device.status?.tools?.comfyui?.status === 'online'
|
|
4463
|
+
? 'ComfyUI is running.'
|
|
4464
|
+
: 'ComfyUI is not running.')
|
|
4465
|
+
: 'Process list collected.')
|
|
4466
|
+
: approvalLevel === 'ai-assist'
|
|
4467
|
+
? `Synthetic AI assist completed for ${device.deviceName}.`
|
|
4468
|
+
: `Synthetic task accepted by ${device.deviceName}.`
|
|
4359
4469
|
};
|
|
4360
4470
|
|
|
4361
4471
|
device.counters.commandsSent += 1;
|
|
@@ -4408,8 +4518,11 @@ export function createRemoteHub(options = {}) {
|
|
|
4408
4518
|
taskId,
|
|
4409
4519
|
commandId,
|
|
4410
4520
|
title,
|
|
4521
|
+
operation,
|
|
4522
|
+
targetQuery: safeText(options.targetQuery, 160),
|
|
4411
4523
|
instructionPreview: safeText(instruction, 320),
|
|
4412
4524
|
status: 'queued',
|
|
4525
|
+
stage: operation === 'process.list' ? 'Checking processes' : 'Queued',
|
|
4413
4526
|
approvalLevel,
|
|
4414
4527
|
requestedAt: now,
|
|
4415
4528
|
sentAt: now,
|
|
@@ -4422,14 +4535,17 @@ export function createRemoteHub(options = {}) {
|
|
|
4422
4535
|
resultSummary: ''
|
|
4423
4536
|
};
|
|
4424
4537
|
|
|
4538
|
+
const commandName = operation || 'agent.task';
|
|
4425
4539
|
const sent = writeJsonLine(device.socket, {
|
|
4426
4540
|
type: 'command',
|
|
4427
4541
|
commandId,
|
|
4428
|
-
command:
|
|
4542
|
+
command: commandName,
|
|
4429
4543
|
payload: {
|
|
4430
4544
|
taskId,
|
|
4431
4545
|
title,
|
|
4432
4546
|
instruction,
|
|
4547
|
+
operation,
|
|
4548
|
+
targetQuery: safeText(options.targetQuery, 160),
|
|
4433
4549
|
approvalLevel,
|
|
4434
4550
|
model: safeString(options.model, 120),
|
|
4435
4551
|
requestedAt: now
|
|
@@ -4450,6 +4566,7 @@ export function createRemoteHub(options = {}) {
|
|
|
4450
4566
|
commandId,
|
|
4451
4567
|
taskId,
|
|
4452
4568
|
title,
|
|
4569
|
+
operation,
|
|
4453
4570
|
approvalLevel
|
|
4454
4571
|
});
|
|
4455
4572
|
return { ok: true, commandId, taskId, approvalLevel };
|
|
@@ -5048,6 +5165,9 @@ export function createRemoteHub(options = {}) {
|
|
|
5048
5165
|
listDevices,
|
|
5049
5166
|
listTaskBatches,
|
|
5050
5167
|
getLatestTaskBatch,
|
|
5168
|
+
getTaskBatch,
|
|
5169
|
+
cancelTaskBatch,
|
|
5170
|
+
retryTaskBatch,
|
|
5051
5171
|
listDeviceFrames,
|
|
5052
5172
|
disconnectDevice,
|
|
5053
5173
|
sendCommand,
|
package/hub/src/server.js
CHANGED
|
@@ -1486,6 +1486,8 @@ app.post('/api/remote/devices/:deviceId/tasks', requireHubFeatureAccess, (req, r
|
|
|
1486
1486
|
taskId: req.body?.taskId,
|
|
1487
1487
|
commandId: req.body?.commandId,
|
|
1488
1488
|
approvalLevel: req.body?.approvalLevel,
|
|
1489
|
+
operation: req.body?.operation,
|
|
1490
|
+
targetQuery: req.body?.targetQuery,
|
|
1489
1491
|
model: req.body?.model
|
|
1490
1492
|
}));
|
|
1491
1493
|
});
|
|
@@ -1493,7 +1495,11 @@ app.post('/api/remote/devices/:deviceId/tasks', requireHubFeatureAccess, (req, r
|
|
|
1493
1495
|
app.post('/api/remote/tasks', requireHubFeatureAccess, (req, res) => {
|
|
1494
1496
|
noStore(res);
|
|
1495
1497
|
const requestedIds = normalizeDeviceIds(req.body?.deviceIds);
|
|
1496
|
-
const approvalLevel = req.body?.approvalLevel === 'ai-assist'
|
|
1498
|
+
const approvalLevel = req.body?.approvalLevel === 'ai-assist'
|
|
1499
|
+
? 'ai-assist'
|
|
1500
|
+
: req.body?.approvalLevel === 'read-only'
|
|
1501
|
+
? 'read-only'
|
|
1502
|
+
: 'task-only';
|
|
1497
1503
|
const devices = remoteHub.listDevices({ includeDataUrl: false });
|
|
1498
1504
|
const targetIds = requestedIds.length > 0
|
|
1499
1505
|
? requestedIds
|
|
@@ -1505,6 +1511,8 @@ app.post('/api/remote/tasks', requireHubFeatureAccess, (req, res) => {
|
|
|
1505
1511
|
instruction: req.body?.instruction,
|
|
1506
1512
|
title: req.body?.title,
|
|
1507
1513
|
approvalLevel,
|
|
1514
|
+
operation: req.body?.operation,
|
|
1515
|
+
targetQuery: req.body?.targetQuery,
|
|
1508
1516
|
model: req.body?.model,
|
|
1509
1517
|
batchId: req.body?.batchId
|
|
1510
1518
|
});
|
|
@@ -1518,6 +1526,42 @@ app.post('/api/remote/tasks', requireHubFeatureAccess, (req, res) => {
|
|
|
1518
1526
|
});
|
|
1519
1527
|
});
|
|
1520
1528
|
|
|
1529
|
+
app.get('/api/remote/tasks/:taskId', requireHubFeatureAccess, (req, res) => {
|
|
1530
|
+
noStore(res);
|
|
1531
|
+
const batch = remoteHub.getTaskBatch(req.params.taskId);
|
|
1532
|
+
if (!batch) {
|
|
1533
|
+
res.status(404).json({ ok: false, error: 'task-not-found' });
|
|
1534
|
+
return;
|
|
1535
|
+
}
|
|
1536
|
+
res.json({ ok: true, ...batch });
|
|
1537
|
+
});
|
|
1538
|
+
|
|
1539
|
+
app.get('/api/remote/tasks', requireHubFeatureAccess, (req, res) => {
|
|
1540
|
+
noStore(res);
|
|
1541
|
+
const limit = Math.max(1, Math.min(30, Number(req.query?.limit) || 30));
|
|
1542
|
+
res.json({ ok: true, tasks: remoteHub.listTaskBatches().slice(0, limit) });
|
|
1543
|
+
});
|
|
1544
|
+
|
|
1545
|
+
app.post('/api/remote/tasks/:taskId/cancel', requireHubFeatureAccess, (req, res) => {
|
|
1546
|
+
noStore(res);
|
|
1547
|
+
const result = remoteHub.cancelTaskBatch(req.params.taskId);
|
|
1548
|
+
if (!result.ok) {
|
|
1549
|
+
res.status(404).json(result);
|
|
1550
|
+
return;
|
|
1551
|
+
}
|
|
1552
|
+
res.json(result);
|
|
1553
|
+
});
|
|
1554
|
+
|
|
1555
|
+
app.post('/api/remote/tasks/:taskId/retry', requireHubFeatureAccess, (req, res) => {
|
|
1556
|
+
noStore(res);
|
|
1557
|
+
const result = remoteHub.retryTaskBatch(req.params.taskId, { failedOnly: req.body?.failedOnly !== false });
|
|
1558
|
+
if (!result.ok) {
|
|
1559
|
+
res.status(409).json(result);
|
|
1560
|
+
return;
|
|
1561
|
+
}
|
|
1562
|
+
res.json(result);
|
|
1563
|
+
});
|
|
1564
|
+
|
|
1521
1565
|
app.get('/api/remote/devices/:deviceId/thumbnail', (req, res) => {
|
|
1522
1566
|
noStore(res);
|
|
1523
1567
|
if (wantsBinaryFrame(req)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "livedesk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.202",
|
|
4
4
|
"description": "LiveDesk Hub and client launcher",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@ffmpeg-installer/ffmpeg": "^1.1.0",
|
|
34
|
-
"@livedesk/client": "0.1.
|
|
34
|
+
"@livedesk/client": "0.1.121",
|
|
35
35
|
"cors": "^2.8.5",
|
|
36
36
|
"express": "^4.21.2",
|
|
37
37
|
"ffmpeg-static": "^5.3.0",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function te(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var j={exports:{}},n={};var Y;function oe(){if(Y)return n;Y=1;var i=Symbol.for("react.transitional.element"),p=Symbol.for("react.portal"),d=Symbol.for("react.fragment"),h=Symbol.for("react.strict_mode"),x=Symbol.for("react.profiler"),_=Symbol.for("react.consumer"),M=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),$=Symbol.for("react.memo"),E=Symbol.for("react.lazy"),Z=Symbol.for("react.activity"),S=Symbol.iterator;function G(e){return e===null||typeof e!="object"?null:(e=S&&e[S]||e["@@iterator"],typeof e=="function"?e:null)}var z={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},L=Object.assign,q={};function k(e,t,s){this.props=e,this.context=t,this.refs=q,this.updater=s||z}k.prototype.isReactComponent={},k.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},k.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function O(){}O.prototype=k.prototype;function N(e,t,s){this.props=e,this.context=t,this.refs=q,this.updater=s||z}var R=N.prototype=new O;R.constructor=N,L(R,k.prototype),R.isPureReactComponent=!0;var P=Array.isArray;function A(){}var u={H:null,A:null,T:null,S:null},I=Object.prototype.hasOwnProperty;function T(e,t,s){var r=s.ref;return{$$typeof:i,type:e,key:t,ref:r!==void 0?r:null,props:s}}function W(e,t){return T(e.type,t,e.props)}function b(e){return typeof e=="object"&&e!==null&&e.$$typeof===i}function J(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(s){return t[s]})}var V=/\/+/g;function H(e,t){return typeof e=="object"&&e!==null&&e.key!=null?J(""+e.key):t.toString(36)}function Q(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(A,A):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function v(e,t,s,r,a){var c=typeof e;(c==="undefined"||c==="boolean")&&(e=null);var y=!1;if(e===null)y=!0;else switch(c){case"bigint":case"string":case"number":y=!0;break;case"object":switch(e.$$typeof){case i:case p:y=!0;break;case E:return y=e._init,v(y(e._payload),t,s,r,a)}}if(y)return a=a(e),y=r===""?"."+H(e,0):r,P(a)?(s="",y!=null&&(s=y.replace(V,"$&/")+"/"),v(a,t,s,"",function(ee){return ee})):a!=null&&(b(a)&&(a=W(a,s+(a.key==null||e&&e.key===a.key?"":(""+a.key).replace(V,"$&/")+"/")+y)),t.push(a)),1;y=0;var f=r===""?".":r+":";if(P(e))for(var l=0;l<e.length;l++)r=e[l],c=f+H(r,l),y+=v(r,t,s,c,a);else if(l=G(e),typeof l=="function")for(e=l.call(e),l=0;!(r=e.next()).done;)r=r.value,c=f+H(r,l++),y+=v(r,t,s,c,a);else if(c==="object"){if(typeof e.then=="function")return v(Q(e),t,s,r,a);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return y}function w(e,t,s){if(e==null)return e;var r=[],a=0;return v(e,r,"","",function(c){return t.call(s,c,a++)}),r}function X(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(s){(e._status===0||e._status===-1)&&(e._status=1,e._result=s)},function(s){(e._status===0||e._status===-1)&&(e._status=2,e._result=s)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var U=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},F={map:w,forEach:function(e,t,s){w(e,function(){t.apply(this,arguments)},s)},count:function(e){var t=0;return w(e,function(){t++}),t},toArray:function(e){return w(e,function(t){return t})||[]},only:function(e){if(!b(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};return n.Activity=Z,n.Children=F,n.Component=k,n.Fragment=d,n.Profiler=x,n.PureComponent=N,n.StrictMode=h,n.Suspense=C,n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=u,n.__COMPILER_RUNTIME={__proto__:null,c:function(e){return u.H.useMemoCache(e)}},n.cache=function(e){return function(){return e.apply(null,arguments)}},n.cacheSignal=function(){return null},n.cloneElement=function(e,t,s){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var r=L({},e.props),a=e.key;if(t!=null)for(c in t.key!==void 0&&(a=""+t.key),t)!I.call(t,c)||c==="key"||c==="__self"||c==="__source"||c==="ref"&&t.ref===void 0||(r[c]=t[c]);var c=arguments.length-2;if(c===1)r.children=s;else if(1<c){for(var y=Array(c),f=0;f<c;f++)y[f]=arguments[f+2];r.children=y}return T(e.type,a,r)},n.createContext=function(e){return e={$$typeof:M,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:_,_context:e},e},n.createElement=function(e,t,s){var r,a={},c=null;if(t!=null)for(r in t.key!==void 0&&(c=""+t.key),t)I.call(t,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(a[r]=t[r]);var y=arguments.length-2;if(y===1)a.children=s;else if(1<y){for(var f=Array(y),l=0;l<y;l++)f[l]=arguments[l+2];a.children=f}if(e&&e.defaultProps)for(r in y=e.defaultProps,y)a[r]===void 0&&(a[r]=y[r]);return T(e,c,a)},n.createRef=function(){return{current:null}},n.forwardRef=function(e){return{$$typeof:g,render:e}},n.isValidElement=b,n.lazy=function(e){return{$$typeof:E,_payload:{_status:-1,_result:e},_init:X}},n.memo=function(e,t){return{$$typeof:$,type:e,compare:t===void 0?null:t}},n.startTransition=function(e){var t=u.T,s={};u.T=s;try{var r=e(),a=u.S;a!==null&&a(s,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(A,U)}catch(c){U(c)}finally{t!==null&&s.types!==null&&(t.types=s.types),u.T=t}},n.unstable_useCacheRefresh=function(){return u.H.useCacheRefresh()},n.use=function(e){return u.H.use(e)},n.useActionState=function(e,t,s){return u.H.useActionState(e,t,s)},n.useCallback=function(e,t){return u.H.useCallback(e,t)},n.useContext=function(e){return u.H.useContext(e)},n.useDebugValue=function(){},n.useDeferredValue=function(e,t){return u.H.useDeferredValue(e,t)},n.useEffect=function(e,t){return u.H.useEffect(e,t)},n.useEffectEvent=function(e){return u.H.useEffectEvent(e)},n.useId=function(){return u.H.useId()},n.useImperativeHandle=function(e,t,s){return u.H.useImperativeHandle(e,t,s)},n.useInsertionEffect=function(e,t){return u.H.useInsertionEffect(e,t)},n.useLayoutEffect=function(e,t){return u.H.useLayoutEffect(e,t)},n.useMemo=function(e,t){return u.H.useMemo(e,t)},n.useOptimistic=function(e,t){return u.H.useOptimistic(e,t)},n.useReducer=function(e,t,s){return u.H.useReducer(e,t,s)},n.useRef=function(e){return u.H.useRef(e)},n.useState=function(e){return u.H.useState(e)},n.useSyncExternalStore=function(e,t,s){return u.H.useSyncExternalStore(e,t,s)},n.useTransition=function(){return u.H.useTransition()},n.version="19.2.7",n}var D;function ne(){return D||(D=1,j.exports=oe()),j.exports}var m=ne();const nt=te(m);const re=i=>i.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),se=i=>i.replace(/^([A-Z])|[\s-_]+(\w)/g,(p,d,h)=>h?h.toUpperCase():d.toLowerCase()),B=i=>{const p=se(i);return p.charAt(0).toUpperCase()+p.slice(1)},K=(...i)=>i.filter((p,d,h)=>!!p&&p.trim()!==""&&h.indexOf(p)===d).join(" ").trim(),ae=i=>{for(const p in i)if(p.startsWith("aria-")||p==="role"||p==="title")return!0};var ce={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const ie=m.forwardRef(({color:i="currentColor",size:p=24,strokeWidth:d=2,absoluteStrokeWidth:h,className:x="",children:_,iconNode:M,...g},C)=>m.createElement("svg",{ref:C,...ce,width:p,height:p,stroke:i,strokeWidth:h?Number(d)*24/Number(p):d,className:K("lucide",x),...!_&&!ae(g)&&{"aria-hidden":"true"},...g},[...M.map(([$,E])=>m.createElement($,E)),...Array.isArray(_)?_:[_]]));const o=(i,p)=>{const d=m.forwardRef(({className:h,...x},_)=>m.createElement(ie,{ref:_,iconNode:p,className:K(`lucide-${re(B(i))}`,`lucide-${i}`,h),...x}));return d.displayName=B(i),d};const ue=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],rt=o("activity",ue);const ye=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],st=o("arrow-right",ye);const pe=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],at=o("arrow-up",pe);const le=[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],ct=o("badge-check",le);const de=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.9 4.9 14.2 14.2",key:"1m5liu"}]],it=o("ban",de);const he=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],ut=o("book-open",he);const fe=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],yt=o("check",fe);const _e=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],pt=o("chevron-left",_e);const ke=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],lt=o("chevron-right",ke);const ve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],dt=o("circle-alert",ve);const me=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],ht=o("circle-check",me);const xe=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],ft=o("circle",xe);const ge=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]],_t=o("clipboard",ge);const Ee=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],kt=o("credit-card",Ee);const we=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],vt=o("database",we);const Me=[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],mt=o("earth",Me);const Ce=[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"m15 15-3-3-3 3",key:"15xj92"}]],xt=o("file-up",Ce);const $e=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],gt=o("folder-open",$e);const Ne=[["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5",key:"1dkoa9"}],["path",{d:"M12 10v4h4",key:"1czhmt"}],["path",{d:"m12 14 1.535-1.605a5 5 0 0 1 8 1.5",key:"lvuxfi"}],["path",{d:"M22 22v-4h-4",key:"1ewp4q"}],["path",{d:"m22 18-1.535 1.605a5 5 0 0 1-8-1.5",key:"14ync0"}]],Et=o("folder-sync",Ne);const Re=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"m9 13 3-3 3 3",key:"1pxg3c"}]],wt=o("folder-up",Re);const Ae=[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]],Mt=o("hard-drive",Ae);const Te=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],Ct=o("key-round",Te);const be=[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]],$t=o("layout-grid",be);const He=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],Nt=o("loader-circle",He);const je=[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]],Rt=o("lock-keyhole",je);const Se=[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]],At=o("log-in",Se);const ze=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Tt=o("log-out",ze);const Le=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],bt=o("monitor",Le);const qe=[["path",{d:"M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z",key:"edeuup"}]],Ht=o("mouse-pointer-2",qe);const Oe=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],jt=o("network",Oe);const Pe=[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]],St=o("play",Pe);const Ie=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],zt=o("power",Ie);const Ve=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Lt=o("refresh-cw",Ve);const Ue=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],qt=o("rotate-ccw",Ue);const Ye=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],Ot=o("send",Ye);const De=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],Pt=o("server",De);const Be=[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],It=o("settings",Be);const Ke=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],Vt=o("shield-alert",Ke);const Ze=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Ut=o("shield-check",Ze);const Ge=[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]],Yt=o("sliders-horizontal",Ge);const We=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],Dt=o("star",We);const Je=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],Bt=o("terminal",Je);const Qe=[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]],Kt=o("trash-2",Qe);const Xe=[["circle",{cx:"10",cy:"7",r:"1",key:"dypaad"}],["circle",{cx:"4",cy:"20",r:"1",key:"22iqad"}],["path",{d:"M4.7 19.3 19 5",key:"1enqfc"}],["path",{d:"m21 3-3 1 2 2Z",key:"d3ov82"}],["path",{d:"M9.26 7.68 5 12l2 5",key:"1esawj"}],["path",{d:"m10 14 5 2 3.5-3.5",key:"v8oal5"}],["path",{d:"m18 12 1-1 1 1-1 1Z",key:"1bh22v"}]],Zt=o("usb",Xe);const Fe=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],Gt=o("users",Fe);const et=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],Wt=o("volume-2",et);const tt=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]],Jt=o("wifi",tt);const ot=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Qt=o("x",ot);export{at as A,it as B,dt as C,vt as D,mt as E,xt as F,Ut as G,Mt as H,_t as I,Dt as J,Ct as K,Rt as L,bt as M,jt as N,ct as O,pt as P,St as Q,Lt as R,Yt as S,Kt as T,Zt as U,Wt as V,Jt as W,Qt as X,zt as Y,m as a,wt as b,Nt as c,lt as d,Vt as e,Gt as f,ht as g,Et as h,Ot as i,gt as j,yt as k,ft as l,nt as m,qt as n,$t as o,Ht as p,Bt as q,ne as r,ut as s,kt as t,It as u,At as v,Tt as w,rt as x,st as y,Pt as z};
|