@camstack/addon-model-studio 1.1.278 → 1.1.280
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/THIRD_PARTY_MODELS.md +3 -1
- package/dist/_stub.js +192 -187
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-b-GMdHnG.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-Z-Bh8ofN.mjs} +4 -4
- package/dist/{hostInit-Iojqvl9V.mjs → hostInit-CTbpRaj8.mjs} +3 -3
- package/dist/remoteEntry.js +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-NnlrcOyX.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-Enoo1rWt.mjs} +1 -1
- package/package.json +1 -1
package/THIRD_PARTY_MODELS.md
CHANGED
|
@@ -32,6 +32,7 @@ under [Non-commercial models](#non-commercial-models).
|
|
|
32
32
|
|
|
33
33
|
- © Ultralytics, AGPL-3.0. Corresponding source: the upstream Ultralytics checkpoint and build-camstack-models.py (with convert_lib.py) published at https://huggingface.co/camstack/camstack-models/tree/main/source. https://github.com/ultralytics/ultralytics
|
|
34
34
|
- Coral Edge TPU models and AIY Vision Birds V1 © Google LLC, Apache-2.0. https://github.com/google-coral/test_data
|
|
35
|
+
- YOLOv9-s EdgeTPU weights © 2025 Dan Brown (fine-tuned to 17 COCO classes, INT8, compiled for the Edge TPU; https://github.com/dbro/frigate-detector-edgetpu-yolo9, repository MIT). Derived from the YOLOv9 code and yolov9-s checkpoint of Chien-Yao Wang, I-Hau Yeh, Hong-Yuan Mark Liao, GPL-3.0 (https://github.com/WongKinYiu/yolov9). Corresponding source: the fine-tuning checkpoint (yolov9-s-relu6-best.pt), the fine-tuning and conversion notebooks and the publisher LICENSE, mirrored at https://huggingface.co/camstack/camstack-models/tree/main/source/yolov9-edgetpu-dbro. https://github.com/dbro/frigate-detector-edgetpu-yolo9
|
|
35
36
|
- © Ultralytics, AGPL-3.0 (Ultralytics YOLOv9 weights). YOLOv9 architecture: Chien-Yao Wang, I-Hau Yeh, Hong-Yuan Mark Liao, GPL-3.0 (https://github.com/WongKinYiu/yolov9). Corresponding source: the upstream Ultralytics checkpoint and build-camstack-models.py (with convert_lib.py) published at https://huggingface.co/camstack/camstack-models/tree/main/source. https://github.com/ultralytics/ultralytics
|
|
36
37
|
- RF-DETR © Roboflow, Apache-2.0. https://github.com/roboflow/rf-detr
|
|
37
38
|
- YuNet weights Copyright (c) 2020 Shiqi Yu, MIT. Training code: ShiqiYu/libfacedetection.train, BSD-3-Clause. https://github.com/opencv/opencv_zoo/tree/main/models/face_detection_yunet
|
|
@@ -48,7 +49,7 @@ under [Non-commercial models](#non-commercial-models).
|
|
|
48
49
|
|
|
49
50
|
Training data under attribution terms:
|
|
50
51
|
|
|
51
|
-
- **COCO 2017** (training data of `yolo26n-seg` and
|
|
52
|
+
- **COCO 2017** (training data of `yolo26n-seg` and 52 more): annotations CC-BY-4.0; images under their Flickr owners' terms. https://cocodataset.org/#termsofuse
|
|
52
53
|
- **WIDER FACE** (training data of `yunet-2023mar`): research-oriented terms; images CC BY-NC-ND. http://shuoyang1213.me/WIDERFACE/
|
|
53
54
|
- **Open Images V7** (training data of `animal-classifier`): annotations CC-BY-4.0 (Google LLC); images listed as CC-BY-2.0, no warranty. https://storage.googleapis.com/openimages/web/factsfigures_v7.html
|
|
54
55
|
- **DrBimmer/vehicle-classification** (training data of `vehicle-type-v1`): CC-BY-NC-4.0 — treated as binding the trained weights (conservative reading). https://huggingface.co/datasets/DrBimmer/vehicle-classification
|
|
@@ -123,6 +124,7 @@ entry kept resolvable for a saved selection but no longer offered.
|
|
|
123
124
|
| `yolo26n-seg`, `yolo26s-seg`, `yolo26m-seg` | [Ultralytics](https://github.com/ultralytics/ultralytics) | AGPL-3.0 / AGPL-3.0 (`AGPL-3.0.txt`) | COCO 2017: annotations CC-BY-4.0; images under their Flickr owners' terms | exported to ONNX, OpenVINO IR and CoreML | mirror `segmentation/yolo26-seg` |
|
|
124
125
|
| `yolo26n` (default), `yolo26s`, `yolo26m`, `yolo26l`, `yolo26x` (hidden), `yolo26n-fp16` (hidden), `yolo26n-int8`, `yolo26s-fp16` (hidden), `yolo26s-int8`, `yolo26m-fp16` (hidden), `yolo26m-int8`, `yolo26l-fp16` (hidden), `yolo26l-int8`, `yolo26n-320`, `yolo26n-320-int8`, `yolo26n-256`, `yolo26n-256-int8`, `yolo26s-320`, `yolo26s-320-int8`, `yolo26s-256`, `yolo26s-256-int8`, `yolo26m-320`, `yolo26m-320-int8`, `yolo26m-256`, `yolo26m-256-int8`, `yolo26l-320`, `yolo26l-320-int8`, `yolo26l-256`, `yolo26l-256-int8`, `yolo26x-fp16` (hidden), `yolo26x-int8` (hidden) | [Ultralytics](https://github.com/ultralytics/ultralytics) | AGPL-3.0 / AGPL-3.0 (`AGPL-3.0.txt`) | COCO 2017: annotations CC-BY-4.0; images under their Flickr owners' terms | exported to ONNX, OpenVINO IR and CoreML (scripts/build-camstack-models.py); OpenVINO FP16 export; exported to OpenVINO IR, then OpenVINO NNCF INT8 post-training quantisation; re-exported at 320×320 to ONNX, OpenVINO IR and CoreML; re-exported at 320×320 to OpenVINO IR; OpenVINO NNCF INT8 post-training quantisation; re-exported at 256×256 to ONNX, OpenVINO IR and CoreML; re-exported at 256×256 to OpenVINO IR; OpenVINO NNCF INT8 post-training quantisation | mirror `objectDetection/yolo26` |
|
|
125
126
|
| `ssd-mobilenet-v2-coco-edgetpu` (default) | [Google Coral test_data](https://github.com/google-coral/test_data) | Apache-2.0 / Apache-2.0 (`Apache-2.0.txt`) | COCO 2017: annotations CC-BY-4.0; images under their Flickr owners' terms | none | https://github.com/google-coral/test_data |
|
|
127
|
+
| `yolov9s-320-edgetpu`, `yolov9s-512-edgetpu` | [YOLOv9-s EdgeTPU (Dan Brown)](https://github.com/dbro/frigate-detector-edgetpu-yolo9) | GPL-3.0 / GPL-3.0 (`GPL-3.0.txt`) | COCO 2017: annotations CC-BY-4.0; images under their Flickr owners' terms | none: the publisher release files are mirrored byte-identical | mirror `objectDetection/yolov9` |
|
|
126
128
|
| `yolov9t-320`, `yolov9t-320-int8`, `yolov9t-640`, `yolov9t-640-int8`, `yolov9s-320`, `yolov9s-320-int8`, `yolov9s-640`, `yolov9s-640-int8`, `yolov9m-320`, `yolov9m-320-int8`, `yolov9m-640`, `yolov9m-640-int8`, `yolov9c-320`, `yolov9c-320-int8`, `yolov9c-640`, `yolov9c-640-int8` | [Ultralytics](https://github.com/ultralytics/ultralytics) | AGPL-3.0 / AGPL-3.0 (`AGPL-3.0.txt`) | COCO 2017: annotations CC-BY-4.0; images under their Flickr owners' terms | exported at 320×320 to ONNX, OpenVINO IR FP16 and CoreML; exported at 320×320 to OpenVINO IR; OpenVINO NNCF INT8 post-training quantisation; exported at 640×640 to ONNX, OpenVINO IR FP16 and CoreML; exported at 640×640 to OpenVINO IR; OpenVINO NNCF INT8 post-training quantisation | mirror `objectDetection/yolov9` |
|
|
127
129
|
|
|
128
130
|
### Package detection
|
package/dist/_stub.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./virtualExposes-CWSi4E_g.mjs";
|
|
2
|
-
import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-
|
|
2
|
+
import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-Enoo1rWt.mjs";
|
|
3
3
|
import { S as e, _ as t, a as n, b as r, d as i, f as a, g as o, h as s, i as c, l, m as u, n as d, p as f, r as p, t as m, u as h, v as g, y as _ } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DMBKVIH7.mjs";
|
|
4
4
|
import { n as v, r as y, t as b } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs";
|
|
5
5
|
import { n as x, r as S, t as C } from "./ui-text-BqZa5BNK.mjs";
|
|
@@ -24424,10 +24424,28 @@ function $E(e) {
|
|
|
24424
24424
|
}
|
|
24425
24425
|
//#endregion
|
|
24426
24426
|
//#region src/frigate/registration.ts
|
|
24427
|
-
var eD =
|
|
24427
|
+
var eD = [
|
|
24428
|
+
"yolo",
|
|
24429
|
+
"yolonas",
|
|
24430
|
+
"ssd",
|
|
24431
|
+
"rfdetr",
|
|
24432
|
+
"yolo-seg",
|
|
24433
|
+
"scrfd",
|
|
24434
|
+
"softmax",
|
|
24435
|
+
"clip",
|
|
24436
|
+
"arcface",
|
|
24437
|
+
"ctc",
|
|
24438
|
+
"plate-slots",
|
|
24439
|
+
"saliency",
|
|
24440
|
+
"yolo-split-dfl"
|
|
24441
|
+
];
|
|
24428
24442
|
function tD(e) {
|
|
24443
|
+
return eD.find((t) => t === e);
|
|
24444
|
+
}
|
|
24445
|
+
var nD = /^[a-zA-Z0-9._-]+$/;
|
|
24446
|
+
function rD(e) {
|
|
24429
24447
|
let t = e.type === "custom" ? null : sE[e.type];
|
|
24430
|
-
if (!
|
|
24448
|
+
if (!nD.test(e.modelId)) throw Error(`Model id "${e.modelId}" is invalid — letters, digits, dot, underscore, hyphen only`);
|
|
24431
24449
|
if (!e.name.trim()) throw Error("Display name is required");
|
|
24432
24450
|
if (!e.stepId.trim()) throw Error("Step is required");
|
|
24433
24451
|
if (!(e.inputWidth > 0) || !(e.inputHeight > 0)) throw Error("Input size must be positive");
|
|
@@ -24472,7 +24490,7 @@ function tD(e) {
|
|
|
24472
24490
|
//#endregion
|
|
24473
24491
|
//#region src/components/StepSelect.tsx
|
|
24474
24492
|
e();
|
|
24475
|
-
function
|
|
24493
|
+
function iD({ trpc: e, label: t, value: n, onChange: r, slots: a }) {
|
|
24476
24494
|
let { t: o } = $(), [s, c] = g(null), [l, u] = g(null);
|
|
24477
24495
|
return i(() => {
|
|
24478
24496
|
let t = !1;
|
|
@@ -24518,7 +24536,7 @@ function nD({ trpc: e, label: t, value: n, onChange: r, slots: a }) {
|
|
|
24518
24536
|
}
|
|
24519
24537
|
//#endregion
|
|
24520
24538
|
//#region src/ui/probe-custom-model.ts
|
|
24521
|
-
var
|
|
24539
|
+
var aD = {
|
|
24522
24540
|
".onnx": "onnx",
|
|
24523
24541
|
".tflite": "tflite",
|
|
24524
24542
|
".pt": "pt",
|
|
@@ -24527,30 +24545,30 @@ var rD = {
|
|
|
24527
24545
|
".mlmodel": "coreml",
|
|
24528
24546
|
".xml": "openvino"
|
|
24529
24547
|
};
|
|
24530
|
-
function
|
|
24548
|
+
function oD(e) {
|
|
24531
24549
|
let t = (e.split(/[/?#]/).pop() ?? e).toLowerCase();
|
|
24532
24550
|
if (t.endsWith(".mlpackage")) return ".mlpackage";
|
|
24533
24551
|
let n = t.lastIndexOf(".");
|
|
24534
24552
|
return n >= 0 ? t.slice(n) : "";
|
|
24535
24553
|
}
|
|
24536
|
-
function
|
|
24554
|
+
function sD(e) {
|
|
24537
24555
|
return (e.split(/[/?#]/).pop() ?? e).replace(/\.(onnx|tflite|pt|pth|xml|mlmodel|mlpackage)$/i, "");
|
|
24538
24556
|
}
|
|
24539
|
-
function
|
|
24557
|
+
function cD(e) {
|
|
24540
24558
|
let t = e.trim().toLowerCase().replace(/[^a-z0-9._-]+/g, "-").replace(/^-+|-+$/g, "");
|
|
24541
24559
|
return t.length > 0 ? t : "custom-model";
|
|
24542
24560
|
}
|
|
24543
|
-
function
|
|
24561
|
+
function lD(e) {
|
|
24544
24562
|
return /\b640\b/.test(e) || /[_-]640([_-]|$)/.test(e) ? 640 : (/\b320\b/.test(e) || /[_-]320([_-]|$)/.test(e), 320);
|
|
24545
24563
|
}
|
|
24546
|
-
function
|
|
24564
|
+
function uD(e) {
|
|
24547
24565
|
let t = e.replace(/[_-]+/g, " ").trim();
|
|
24548
24566
|
return t.length === 0 ? "Custom model" : t.replace(/\b\w/g, (e) => e.toUpperCase());
|
|
24549
24567
|
}
|
|
24550
|
-
function
|
|
24551
|
-
let t = [], n = e.kind === "file" ? e.filename : e.url, r =
|
|
24568
|
+
function dD(e) {
|
|
24569
|
+
let t = [], n = e.kind === "file" ? e.filename : e.url, r = aD[oD(n)] ?? null;
|
|
24552
24570
|
r === null && n.trim().length > 0 && t.push(lT("probe.noFormat"));
|
|
24553
|
-
let i =
|
|
24571
|
+
let i = sD(n), a = cD(i), o = uD(i), s = lD(i);
|
|
24554
24572
|
s === 640 ? t.push(lT("probe.size640")) : t.push(lT("probe.size320"));
|
|
24555
24573
|
let c = null;
|
|
24556
24574
|
return e.kind === "file" && typeof e.bytes == "number" && e.bytes > 0 && (c = Number((e.bytes / 1e6).toFixed(1))), t.push(lT("probe.decode")), {
|
|
@@ -24565,37 +24583,24 @@ function lD(e) {
|
|
|
24565
24583
|
//#endregion
|
|
24566
24584
|
//#region src/tabs/RegisterTab.tsx
|
|
24567
24585
|
e();
|
|
24568
|
-
var
|
|
24586
|
+
var fD = [
|
|
24569
24587
|
"onnx",
|
|
24570
24588
|
"openvino",
|
|
24571
24589
|
"coreml",
|
|
24572
24590
|
"tflite",
|
|
24573
24591
|
"pt"
|
|
24574
|
-
],
|
|
24575
|
-
"yolo",
|
|
24576
|
-
"yolonas",
|
|
24577
|
-
"ssd",
|
|
24578
|
-
"rfdetr",
|
|
24579
|
-
"yolo-seg",
|
|
24580
|
-
"scrfd",
|
|
24581
|
-
"softmax",
|
|
24582
|
-
"clip",
|
|
24583
|
-
"arcface",
|
|
24584
|
-
"ctc",
|
|
24585
|
-
"plate-slots",
|
|
24586
|
-
"saliency"
|
|
24587
|
-
], fD = [
|
|
24592
|
+
], pD = [
|
|
24588
24593
|
".onnx",
|
|
24589
24594
|
".tflite",
|
|
24590
24595
|
".pt"
|
|
24591
|
-
],
|
|
24592
|
-
function
|
|
24596
|
+
], mD = [{ value: "upload" }, { value: "url" }];
|
|
24597
|
+
function hD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsumed: a }) {
|
|
24593
24598
|
let { t: s } = $(), c = ST(), [u, d] = g("upload"), [f, p] = g(""), [m, h] = g(""), [_, b] = g("object-detection"), [x, S] = g("onnx"), [C, w] = g(""), [T, E] = g(""), [ee, te] = g(0), [ne, D] = g(320), [O, k] = g(320), [re, A] = g(""), [j, M] = g(null), [ie, ae] = g([]), [N, oe] = g({ state: "idle" }), [P, F] = g(!1), [se, ce] = g(null), [le, ue] = g(null), de = t(null), I = o(() => cE(re), [re]);
|
|
24594
24599
|
i(() => {
|
|
24595
24600
|
r != null && (d("upload"), S(r.format), w(r.postprocessor ?? ""), D(r.inputSize), k(r.inputSize), A(r.labels.join("\n")), M(r.sourceLabel), ce(null), ue(null), a?.());
|
|
24596
24601
|
}, [r, a]);
|
|
24597
24602
|
let fe = l((e, t) => {
|
|
24598
|
-
let n =
|
|
24603
|
+
let n = dD(e);
|
|
24599
24604
|
ae(n.hints), n.format !== null && S(n.format), D(n.inputSize), k(n.inputSize), (t?.forceId || !f) && p(n.modelId), m || h(n.name), n.sizeMB !== null && e.kind === "url" && te(n.sizeMB);
|
|
24600
24605
|
}, [f, m]), L = l(async (t) => {
|
|
24601
24606
|
ce(null), fe({
|
|
@@ -24656,7 +24661,7 @@ function mD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
|
|
|
24656
24661
|
if ($T(m)) return ce(s("register.nameInvalid"));
|
|
24657
24662
|
F(!0);
|
|
24658
24663
|
try {
|
|
24659
|
-
let r =
|
|
24664
|
+
let r = tD(C), i = rD({
|
|
24660
24665
|
type: "custom",
|
|
24661
24666
|
modelId: f.trim(),
|
|
24662
24667
|
name: QT(m) ?? f.trim(),
|
|
@@ -24740,7 +24745,7 @@ function mD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
|
|
|
24740
24745
|
children: s("common.source")
|
|
24741
24746
|
}), /* @__PURE__ */ v("div", {
|
|
24742
24747
|
className: "inline-flex rounded-md border border-border overflow-hidden",
|
|
24743
|
-
children:
|
|
24748
|
+
children: mD.map((e) => /* @__PURE__ */ v("button", {
|
|
24744
24749
|
type: "button",
|
|
24745
24750
|
onClick: () => {
|
|
24746
24751
|
ce(null), ue(null), d(e.value);
|
|
@@ -24759,7 +24764,7 @@ function mD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
|
|
|
24759
24764
|
})
|
|
24760
24765
|
}),
|
|
24761
24766
|
u === "upload" ? /* @__PURE__ */ y(aT, {
|
|
24762
|
-
label: s("register.modelFile", { extensions:
|
|
24767
|
+
label: s("register.modelFile", { extensions: pD.join(" / ") }),
|
|
24763
24768
|
children: [
|
|
24764
24769
|
/* @__PURE__ */ y("div", {
|
|
24765
24770
|
className: "flex items-center gap-3 flex-wrap",
|
|
@@ -24791,7 +24796,7 @@ function mD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
|
|
|
24791
24796
|
/* @__PURE__ */ v("input", {
|
|
24792
24797
|
ref: de,
|
|
24793
24798
|
type: "file",
|
|
24794
|
-
accept:
|
|
24799
|
+
accept: pD.join(","),
|
|
24795
24800
|
className: "hidden",
|
|
24796
24801
|
onChange: (e) => {
|
|
24797
24802
|
let t = e.target.files?.[0];
|
|
@@ -24851,7 +24856,7 @@ function mD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
|
|
|
24851
24856
|
/* @__PURE__ */ y("div", {
|
|
24852
24857
|
className: "grid grid-cols-1 sm:grid-cols-3 gap-3",
|
|
24853
24858
|
children: [
|
|
24854
|
-
/* @__PURE__ */ v(
|
|
24859
|
+
/* @__PURE__ */ v(iD, {
|
|
24855
24860
|
trpc: e,
|
|
24856
24861
|
value: _,
|
|
24857
24862
|
onChange: b
|
|
@@ -24877,11 +24882,11 @@ function mD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
|
|
|
24877
24882
|
children: /* @__PURE__ */ v("select", {
|
|
24878
24883
|
value: x,
|
|
24879
24884
|
onChange: (e) => {
|
|
24880
|
-
let t =
|
|
24885
|
+
let t = fD.find((t) => t === e.target.value);
|
|
24881
24886
|
t !== void 0 && S(t);
|
|
24882
24887
|
},
|
|
24883
24888
|
className: "w-full px-3 py-1.5 text-xs rounded-md border border-border bg-surface text-foreground focus:outline-none focus:border-primary/50",
|
|
24884
|
-
children:
|
|
24889
|
+
children: fD.map((e) => /* @__PURE__ */ v("option", {
|
|
24885
24890
|
value: e,
|
|
24886
24891
|
children: e
|
|
24887
24892
|
}, e))
|
|
@@ -24895,7 +24900,7 @@ function mD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
|
|
|
24895
24900
|
children: [/* @__PURE__ */ v("option", {
|
|
24896
24901
|
value: "",
|
|
24897
24902
|
children: s("register.stepDefault")
|
|
24898
|
-
}),
|
|
24903
|
+
}), eD.map((e) => /* @__PURE__ */ v("option", {
|
|
24899
24904
|
value: e,
|
|
24900
24905
|
children: e
|
|
24901
24906
|
}, e))]
|
|
@@ -24930,7 +24935,7 @@ function mD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
|
|
|
24930
24935
|
//#endregion
|
|
24931
24936
|
//#region src/tabs/ImportTab.tsx
|
|
24932
24937
|
e();
|
|
24933
|
-
function
|
|
24938
|
+
function gD({ trpc: e, onRegistered: t, initialPrefill: n = null, onPrefillConsumed: r }) {
|
|
24934
24939
|
let { t: a } = $(), [o, s] = g(null), [c, l] = g(null), [u, d] = g(n);
|
|
24935
24940
|
return i(() => {
|
|
24936
24941
|
n !== null && d(n);
|
|
@@ -24946,7 +24951,7 @@ function hD({ trpc: e, onRegistered: t, initialPrefill: n = null, onPrefillConsu
|
|
|
24946
24951
|
className: "rounded-md border border-success/30 bg-success/10 px-3 py-2 text-xs text-success",
|
|
24947
24952
|
children: c
|
|
24948
24953
|
}),
|
|
24949
|
-
/* @__PURE__ */ v(
|
|
24954
|
+
/* @__PURE__ */ v(hD, {
|
|
24950
24955
|
trpc: e,
|
|
24951
24956
|
onRegistered: (e) => {
|
|
24952
24957
|
l(e ?? a("importTab.registered")), s(null), t();
|
|
@@ -24961,7 +24966,7 @@ function hD({ trpc: e, onRegistered: t, initialPrefill: n = null, onPrefillConsu
|
|
|
24961
24966
|
}
|
|
24962
24967
|
//#endregion
|
|
24963
24968
|
//#region src/ui/installed-activation.ts
|
|
24964
|
-
function
|
|
24969
|
+
function _D(e, t, n, r, i) {
|
|
24965
24970
|
if (r == null || ne(t)) return [];
|
|
24966
24971
|
let a = [];
|
|
24967
24972
|
for (let o of e) o.enabled && i.has(o.format) && Qo(r.models, o.format) && $o({
|
|
@@ -24975,10 +24980,10 @@ function gD(e, t, n, r, i) {
|
|
|
24975
24980
|
});
|
|
24976
24981
|
return a;
|
|
24977
24982
|
}
|
|
24978
|
-
function
|
|
24983
|
+
function vD(e, t) {
|
|
24979
24984
|
return { [Oe(e)]: t };
|
|
24980
24985
|
}
|
|
24981
|
-
function
|
|
24986
|
+
function yD(e, t, n) {
|
|
24982
24987
|
let r = Object.keys(t).length > 0;
|
|
24983
24988
|
return {
|
|
24984
24989
|
enabled: n ? !0 : e.enabled,
|
|
@@ -24987,18 +24992,18 @@ function vD(e, t, n) {
|
|
|
24987
24992
|
...r ? { steps: t } : {}
|
|
24988
24993
|
};
|
|
24989
24994
|
}
|
|
24990
|
-
function
|
|
24995
|
+
function bD(e, t, n, r) {
|
|
24991
24996
|
let i = new Set(r), a = {};
|
|
24992
24997
|
for (let r of e) {
|
|
24993
24998
|
let e = { ...r.steps };
|
|
24994
24999
|
i.has(r.key) && (e[t] = {
|
|
24995
25000
|
...e[t],
|
|
24996
25001
|
modelId: n
|
|
24997
|
-
}), a[r.key] =
|
|
25002
|
+
}), a[r.key] = yD(r, e, i.has(r.key));
|
|
24998
25003
|
}
|
|
24999
25004
|
return a;
|
|
25000
25005
|
}
|
|
25001
|
-
function
|
|
25006
|
+
function xD(e, t, n, r, i) {
|
|
25002
25007
|
let a = {};
|
|
25003
25008
|
for (let o of e) {
|
|
25004
25009
|
let e = { ...o.steps };
|
|
@@ -25014,52 +25019,52 @@ function bD(e, t, n, r, i) {
|
|
|
25014
25019
|
Object.keys(i).length > 0 ? e[t] = i : delete e[t];
|
|
25015
25020
|
}
|
|
25016
25021
|
}
|
|
25017
|
-
a[o.key] =
|
|
25022
|
+
a[o.key] = yD(o, e, o.key === i);
|
|
25018
25023
|
}
|
|
25019
25024
|
return a;
|
|
25020
25025
|
}
|
|
25021
25026
|
//#endregion
|
|
25022
25027
|
//#region src/ui/installed-inventory.ts
|
|
25023
|
-
function
|
|
25028
|
+
function SD(e) {
|
|
25024
25029
|
return Uo(e);
|
|
25025
25030
|
}
|
|
25026
|
-
function
|
|
25031
|
+
function CD(e) {
|
|
25027
25032
|
return e.map((e) => ({
|
|
25028
25033
|
value: e.key,
|
|
25029
|
-
label:
|
|
25034
|
+
label: SD(e),
|
|
25030
25035
|
enabled: e.enabled
|
|
25031
25036
|
}));
|
|
25032
25037
|
}
|
|
25033
|
-
var
|
|
25034
|
-
function
|
|
25035
|
-
let n =
|
|
25038
|
+
var wD = /\[([^\]]+)\]\s*$/;
|
|
25039
|
+
function TD(e, t) {
|
|
25040
|
+
let n = wD.exec(e.engineKey)?.[1];
|
|
25036
25041
|
return n === void 0 ? e.engine.format === t.format ? e.engine.backend === t.backend ? e.engine.device === t.device : t.key === "cpu" && e.engine.device === "cpu" : !1 : n === t.key;
|
|
25037
25042
|
}
|
|
25038
|
-
function
|
|
25043
|
+
function ED(e, t, n, r) {
|
|
25039
25044
|
if (e === null) return null;
|
|
25040
25045
|
let i = `${n}/${r}`;
|
|
25041
|
-
return e.some((e) =>
|
|
25046
|
+
return e.some((e) => TD(e, t) && e.modelsLoaded.includes(i));
|
|
25042
25047
|
}
|
|
25043
|
-
var
|
|
25044
|
-
function
|
|
25048
|
+
var DD = new Set(["audio-classifier"]);
|
|
25049
|
+
function OD(e, t, n) {
|
|
25045
25050
|
return t?.[e] ?? n?.defaultModelId;
|
|
25046
25051
|
}
|
|
25047
|
-
function
|
|
25052
|
+
function kD(e, t) {
|
|
25048
25053
|
if (e.onDisk !== "current") return /* @__PURE__ */ new Set();
|
|
25049
25054
|
let n = t.stepCatalogs[e.stepId], r = new Set([e.format]);
|
|
25050
|
-
return ne(e.stepId) ?
|
|
25055
|
+
return ne(e.stepId) ? OD(e.stepId, t.clusterModels, n) === e.modelId ? new Set(t.devices.filter((t) => t.enabled && t.format === e.format).map((e) => e.key)) : /* @__PURE__ */ new Set() : new Set(_D(t.devices, e.stepId, e.modelId, n, r).map((e) => e.deviceKey));
|
|
25051
25056
|
}
|
|
25052
|
-
function
|
|
25057
|
+
function AD(e, t, n) {
|
|
25053
25058
|
return t ? "outside-pools" : e.some((e) => e.loaded === !0) ? "in-use" : e.some((e) => e.configured) ? "configured" : e.some((e) => e.enabled) ? n ? "idle" : "unknown" : "unused";
|
|
25054
25059
|
}
|
|
25055
|
-
function
|
|
25056
|
-
let n =
|
|
25060
|
+
function jD(e, t) {
|
|
25061
|
+
let n = kD(e, t), r = t.devices.filter((t) => t.format === e.format).map((r) => ({
|
|
25057
25062
|
deviceKey: r.key,
|
|
25058
|
-
label:
|
|
25063
|
+
label: SD(r),
|
|
25059
25064
|
enabled: r.enabled,
|
|
25060
|
-
loaded:
|
|
25065
|
+
loaded: ED(t.engines, r, e.stepId, e.modelId),
|
|
25061
25066
|
configured: n.has(r.key)
|
|
25062
|
-
})).toSorted((e, t) => e.label.localeCompare(t.label)), i = t.stepCatalogs[e.stepId]?.slot, a =
|
|
25067
|
+
})).toSorted((e, t) => e.label.localeCompare(t.label)), i = t.stepCatalogs[e.stepId]?.slot, a = AD(r, i !== void 0 && DD.has(i), t.engines !== null);
|
|
25063
25068
|
return {
|
|
25064
25069
|
...e,
|
|
25065
25070
|
key: `${e.stepId}::${e.modelId}::${e.format}`,
|
|
@@ -25070,7 +25075,7 @@ function AD(e, t) {
|
|
|
25070
25075
|
removable: a === "idle" || a === "unused"
|
|
25071
25076
|
};
|
|
25072
25077
|
}
|
|
25073
|
-
function
|
|
25078
|
+
function MD(e, t, n) {
|
|
25074
25079
|
return t.onDisk === "missing" ? null : {
|
|
25075
25080
|
stepId: e.stepId,
|
|
25076
25081
|
modelId: e.modelId,
|
|
@@ -25085,7 +25090,7 @@ function jD(e, t, n) {
|
|
|
25085
25090
|
...tw(e.supplies)
|
|
25086
25091
|
};
|
|
25087
25092
|
}
|
|
25088
|
-
function
|
|
25093
|
+
function ND(e, t) {
|
|
25089
25094
|
let n = [];
|
|
25090
25095
|
for (let r of e.registry) {
|
|
25091
25096
|
let i = r.entry.id, a = e.availability[i]?.[e.nodeId];
|
|
@@ -25108,28 +25113,28 @@ function MD(e, t) {
|
|
|
25108
25113
|
}
|
|
25109
25114
|
return n;
|
|
25110
25115
|
}
|
|
25111
|
-
function
|
|
25116
|
+
function PD(e) {
|
|
25112
25117
|
let t = new Set(e.registry.map((e) => e.entry.id)), n = e.seeds.flatMap((e) => e.formats.flatMap((n) => {
|
|
25113
|
-
let r =
|
|
25118
|
+
let r = MD(e, n, t);
|
|
25114
25119
|
return r === null ? [] : [r];
|
|
25115
25120
|
})), r = new Set(n.map((e) => `${e.stepId}::${e.modelId}::${e.format}`)), i = new Map(e.registry.map((e) => [e.entry.id, e.entry.description]));
|
|
25116
|
-
return [...n, ...
|
|
25121
|
+
return [...n, ...ND(e, r)].map((e) => ({
|
|
25117
25122
|
...e,
|
|
25118
25123
|
description: i.get(e.modelId) ?? e.description
|
|
25119
|
-
})).map((t) =>
|
|
25124
|
+
})).map((t) => jD(t, e)).toSorted((e, t) => e.name.localeCompare(t.name) || e.format.localeCompare(t.format));
|
|
25120
25125
|
}
|
|
25121
|
-
function
|
|
25126
|
+
function FD(e, t, n) {
|
|
25122
25127
|
let r = n.device === "all" ? void 0 : t.find((e) => e.key === n.device)?.format;
|
|
25123
25128
|
return e.filter((e) => !(n.provider !== "all" && e.provider !== n.provider || n.step !== "all" && e.stepId !== n.step || n.device !== "all" && e.format !== r));
|
|
25124
25129
|
}
|
|
25125
|
-
function
|
|
25130
|
+
function ID(e) {
|
|
25126
25131
|
return e.filter((e) => e.removable).reduce((e, t) => e + t.sizeMB, 0);
|
|
25127
25132
|
}
|
|
25128
|
-
function
|
|
25133
|
+
function LD(e, t, n, r) {
|
|
25129
25134
|
let i = e.devices.filter((e) => e.enabled && e.format === r).map((r) => ({
|
|
25130
25135
|
deviceKey: r.key,
|
|
25131
|
-
label:
|
|
25132
|
-
loaded:
|
|
25136
|
+
label: SD(r),
|
|
25137
|
+
loaded: ED(e.engines, r, t, n)
|
|
25133
25138
|
})).toSorted((e, t) => e.label.localeCompare(t.label)), a = e.stepCatalogs[t]?.models.find((e) => e.id === n), o = e.seeds.find((e) => e.stepId === t && e.modelId === n)?.formats.find((e) => e.format === r)?.onDisk ?? "missing";
|
|
25134
25139
|
return {
|
|
25135
25140
|
format: r,
|
|
@@ -25138,7 +25143,7 @@ function ID(e, t, n, r) {
|
|
|
25138
25143
|
onDisk: o
|
|
25139
25144
|
};
|
|
25140
25145
|
}
|
|
25141
|
-
function
|
|
25146
|
+
function RD(e, t, n) {
|
|
25142
25147
|
return {
|
|
25143
25148
|
stepId: e,
|
|
25144
25149
|
modelId: t,
|
|
@@ -25151,7 +25156,7 @@ function LD(e, t, n) {
|
|
|
25151
25156
|
let r = [...new Set(n.devices.filter((e) => e.enabled).map((e) => e.format))];
|
|
25152
25157
|
return {
|
|
25153
25158
|
nodeId: n.nodeId,
|
|
25154
|
-
entries: r.map((r) =>
|
|
25159
|
+
entries: r.map((r) => LD(n, e, t, r))
|
|
25155
25160
|
};
|
|
25156
25161
|
})
|
|
25157
25162
|
};
|
|
@@ -25159,7 +25164,7 @@ function LD(e, t, n) {
|
|
|
25159
25164
|
//#endregion
|
|
25160
25165
|
//#region src/components/InstalledSettingsModal.tsx
|
|
25161
25166
|
e();
|
|
25162
|
-
function
|
|
25167
|
+
function zD({ trpc: e, nodeId: t, stepId: n, modelId: r, modelName: a, devices: o, deviceKey: s, onClose: c, onDone: u }) {
|
|
25163
25168
|
let { t: d } = $(), [f, p] = g(!1), [m, h] = g(null), [_, b] = g(null), [x, S] = g({
|
|
25164
25169
|
enabled: !0,
|
|
25165
25170
|
modelId: r,
|
|
@@ -25191,7 +25196,7 @@ function RD({ trpc: e, nodeId: t, stepId: n, modelId: r, modelName: a, devices:
|
|
|
25191
25196
|
try {
|
|
25192
25197
|
await Xw(e, {
|
|
25193
25198
|
agentNodeId: t,
|
|
25194
|
-
inferenceDevices:
|
|
25199
|
+
inferenceDevices: xD(o, n, x.modelId ?? r, x.settings ?? {}, s)
|
|
25195
25200
|
}), u(), c();
|
|
25196
25201
|
} catch (e) {
|
|
25197
25202
|
h(e instanceof Error ? e.message : d("settingsModal.saveFailed"));
|
|
@@ -25282,7 +25287,7 @@ function RD({ trpc: e, nodeId: t, stepId: n, modelId: r, modelName: a, devices:
|
|
|
25282
25287
|
//#endregion
|
|
25283
25288
|
//#region src/components/installed/use-cluster-placement.ts
|
|
25284
25289
|
e();
|
|
25285
|
-
async function
|
|
25290
|
+
async function BD(e, t) {
|
|
25286
25291
|
try {
|
|
25287
25292
|
let [n, r, i] = await Promise.all([
|
|
25288
25293
|
Mw(e, t),
|
|
@@ -25303,11 +25308,11 @@ async function zD(e, t) {
|
|
|
25303
25308
|
};
|
|
25304
25309
|
}
|
|
25305
25310
|
}
|
|
25306
|
-
function
|
|
25311
|
+
function VD(e, t, n) {
|
|
25307
25312
|
let [r, a] = g(null), o = t.join("\n");
|
|
25308
25313
|
return i(() => {
|
|
25309
25314
|
let t = !1, n = o.length === 0 ? [] : o.split("\n");
|
|
25310
|
-
return Promise.all(n.map((t) =>
|
|
25315
|
+
return Promise.all(n.map((t) => BD(e, t))).then((e) => {
|
|
25311
25316
|
t || a(e);
|
|
25312
25317
|
}), () => {
|
|
25313
25318
|
t = !0;
|
|
@@ -25321,14 +25326,14 @@ function BD(e, t, n) {
|
|
|
25321
25326
|
//#endregion
|
|
25322
25327
|
//#region src/components/installed/use-online-node-ids.ts
|
|
25323
25328
|
e();
|
|
25324
|
-
function
|
|
25329
|
+
function HD() {
|
|
25325
25330
|
let { nodes: e } = Ur();
|
|
25326
25331
|
return o(() => e.filter((e) => e.isOnline).map((e) => e.id), [e]);
|
|
25327
25332
|
}
|
|
25328
25333
|
//#endregion
|
|
25329
25334
|
//#region src/components/installed/ClusterModelsSection.tsx
|
|
25330
25335
|
e();
|
|
25331
|
-
function
|
|
25336
|
+
function UD({ row: e }) {
|
|
25332
25337
|
let { t } = $();
|
|
25333
25338
|
if (e.entry === null) return /* @__PURE__ */ v(Wa, {
|
|
25334
25339
|
variant: "danger",
|
|
@@ -25355,7 +25360,7 @@ function HD({ row: e }) {
|
|
|
25355
25360
|
})]
|
|
25356
25361
|
});
|
|
25357
25362
|
}
|
|
25358
|
-
var
|
|
25363
|
+
var WD = (e) => [
|
|
25359
25364
|
{
|
|
25360
25365
|
key: "node",
|
|
25361
25366
|
header: e("cluster.cols.node"),
|
|
@@ -25384,11 +25389,11 @@ var UD = (e) => [
|
|
|
25384
25389
|
{
|
|
25385
25390
|
key: "state",
|
|
25386
25391
|
header: e("cluster.cols.state"),
|
|
25387
|
-
render: (e) => /* @__PURE__ */ v(
|
|
25392
|
+
render: (e) => /* @__PURE__ */ v(UD, { row: e })
|
|
25388
25393
|
}
|
|
25389
25394
|
];
|
|
25390
|
-
function
|
|
25391
|
-
return
|
|
25395
|
+
function GD(e, t, n) {
|
|
25396
|
+
return RD(e.stepId, t, n).nodes.flatMap((e) => e.entries.length === 0 ? [{
|
|
25392
25397
|
key: e.nodeId,
|
|
25393
25398
|
nodeId: e.nodeId,
|
|
25394
25399
|
entry: null,
|
|
@@ -25399,7 +25404,7 @@ function WD(e, t, n) {
|
|
|
25399
25404
|
entry: t
|
|
25400
25405
|
})));
|
|
25401
25406
|
}
|
|
25402
|
-
function
|
|
25407
|
+
function KD(e, t) {
|
|
25403
25408
|
let n = new Map(e.options.map((e) => [e.id, e.label]));
|
|
25404
25409
|
for (let r of t ?? []) if (r.error === void 0) for (let t of r.seeds) t.stepId === e.stepId && !n.has(t.modelId) && n.set(t.modelId, t.name);
|
|
25405
25410
|
return [...n].map(([e, t]) => ({
|
|
@@ -25407,14 +25412,14 @@ function GD(e, t) {
|
|
|
25407
25412
|
label: t
|
|
25408
25413
|
}));
|
|
25409
25414
|
}
|
|
25410
|
-
function
|
|
25411
|
-
let { t: a } = $(), s = o(() =>
|
|
25415
|
+
function qD({ step: e, current: t, inputs: n, onChange: r }) {
|
|
25416
|
+
let { t: a } = $(), s = o(() => WD(a), [a]), [c, l] = g(t);
|
|
25412
25417
|
i(() => l(t), [t]);
|
|
25413
|
-
let u = o(() => n === null ? [] :
|
|
25418
|
+
let u = o(() => n === null ? [] : GD(e, t, n), [
|
|
25414
25419
|
e,
|
|
25415
25420
|
t,
|
|
25416
25421
|
n
|
|
25417
|
-
]), d = o(() =>
|
|
25422
|
+
]), d = o(() => KD(e, n), [e, n]), f = (e) => d.find((t) => t.id === e)?.label ?? e;
|
|
25418
25423
|
return /* @__PURE__ */ y("section", {
|
|
25419
25424
|
"aria-labelledby": `cluster-${e.stepId}`,
|
|
25420
25425
|
className: Ke,
|
|
@@ -25474,8 +25479,8 @@ function KD({ step: e, current: t, inputs: n, onChange: r }) {
|
|
|
25474
25479
|
]
|
|
25475
25480
|
});
|
|
25476
25481
|
}
|
|
25477
|
-
function
|
|
25478
|
-
let { t: a } = $(), o = Xa(), s =
|
|
25482
|
+
function JD({ trpc: e, refreshKey: t, clusterModels: n, onChanged: r, onError: i }) {
|
|
25483
|
+
let { t: a } = $(), o = Xa(), s = VD(e, HD(), t), c = async (t, n, s) => {
|
|
25479
25484
|
if (await o({
|
|
25480
25485
|
title: a("cluster.confirmTitle"),
|
|
25481
25486
|
message: a("cluster.confirmMessage", {
|
|
@@ -25486,7 +25491,7 @@ function qD({ trpc: e, refreshKey: t, clusterModels: n, onChanged: r, onError: i
|
|
|
25486
25491
|
cancelLabel: a("common.cancel"),
|
|
25487
25492
|
variant: "default"
|
|
25488
25493
|
})) try {
|
|
25489
|
-
await Qw(e,
|
|
25494
|
+
await Qw(e, vD(t, n)), r();
|
|
25490
25495
|
} catch (e) {
|
|
25491
25496
|
i(e instanceof Error ? e.message : a("cluster.activateFailed"));
|
|
25492
25497
|
}
|
|
@@ -25498,7 +25503,7 @@ function qD({ trpc: e, refreshKey: t, clusterModels: n, onChanged: r, onError: i
|
|
|
25498
25503
|
id: "installed-cluster-models",
|
|
25499
25504
|
className: Ze,
|
|
25500
25505
|
children: a("cluster.title")
|
|
25501
|
-
}), Ae.map((e) => /* @__PURE__ */ v(
|
|
25506
|
+
}), Ae.map((e) => /* @__PURE__ */ v(qD, {
|
|
25502
25507
|
step: e,
|
|
25503
25508
|
current: n?.[e.stepId] ?? e.defaultModelId,
|
|
25504
25509
|
inputs: s,
|
|
@@ -25508,7 +25513,7 @@ function qD({ trpc: e, refreshKey: t, clusterModels: n, onChanged: r, onError: i
|
|
|
25508
25513
|
}
|
|
25509
25514
|
//#endregion
|
|
25510
25515
|
//#region src/components/FillBadges.tsx
|
|
25511
|
-
function
|
|
25516
|
+
function YD(e, t) {
|
|
25512
25517
|
if (e.kind === "mask") return t("fillBadges.mask");
|
|
25513
25518
|
if (e.kind === "crop") return e.stepId === "face-detection" ? t("fillBadges.cropFace") : t("fillBadges.cropPlate");
|
|
25514
25519
|
let n = be[e.stepId], r = {
|
|
@@ -25517,14 +25522,14 @@ function JD(e, t) {
|
|
|
25517
25522
|
};
|
|
25518
25523
|
return e.uncovered.length > 0 ? t(n ? "fillBadges.labelsDefaultUncovered" : "fillBadges.labelsOptionalUncovered", r) : t(n ? "fillBadges.labelsDefaultAll" : "fillBadges.labelsOptionalAll", r);
|
|
25519
25524
|
}
|
|
25520
|
-
function
|
|
25525
|
+
function XD({ supplies: e }) {
|
|
25521
25526
|
let { t } = $();
|
|
25522
25527
|
return e === void 0 || e.length === 0 ? null : /* @__PURE__ */ v("span", {
|
|
25523
25528
|
className: "flex flex-wrap gap-1",
|
|
25524
25529
|
"data-testid": "fill-badges",
|
|
25525
25530
|
children: e.map((e) => /* @__PURE__ */ v("span", {
|
|
25526
25531
|
className: "inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium border bg-primary/10 text-primary border-primary/30",
|
|
25527
|
-
title:
|
|
25532
|
+
title: YD(e, t),
|
|
25528
25533
|
children: me(e)
|
|
25529
25534
|
}, e.stepId))
|
|
25530
25535
|
});
|
|
@@ -25532,7 +25537,7 @@ function YD({ supplies: e }) {
|
|
|
25532
25537
|
//#endregion
|
|
25533
25538
|
//#region src/components/InlineRename.tsx
|
|
25534
25539
|
e();
|
|
25535
|
-
function
|
|
25540
|
+
function ZD({ name: e, modelId: t, onRename: n, onError: r }) {
|
|
25536
25541
|
let { t: i } = $(), [a, o] = g(null), [s, c] = g(!1);
|
|
25537
25542
|
if (a === null) return /* @__PURE__ */ y("span", {
|
|
25538
25543
|
className: "flex items-center gap-1 min-w-0",
|
|
@@ -25629,7 +25634,7 @@ function XD({ name: e, modelId: t, onRename: n, onError: r }) {
|
|
|
25629
25634
|
}
|
|
25630
25635
|
//#endregion
|
|
25631
25636
|
//#region src/components/installed/DeviceChips.tsx
|
|
25632
|
-
var
|
|
25637
|
+
var QD = {
|
|
25633
25638
|
off: "off",
|
|
25634
25639
|
loadedConfigured: "loaded, configured",
|
|
25635
25640
|
loaded: "loaded",
|
|
@@ -25637,19 +25642,19 @@ var ZD = {
|
|
|
25637
25642
|
unknown: "load state unknown",
|
|
25638
25643
|
notUsed: "not used"
|
|
25639
25644
|
};
|
|
25640
|
-
function
|
|
25645
|
+
function $D(e) {
|
|
25641
25646
|
return e.enabled ? e.loaded === !0 ? e.configured ? "loadedConfigured" : "loaded" : e.configured ? "configuredNotLoaded" : e.loaded === null ? "unknown" : "notUsed" : "off";
|
|
25642
25647
|
}
|
|
25643
|
-
function
|
|
25648
|
+
function eO(e) {
|
|
25644
25649
|
return e.enabled ? e.loaded === !0 ? "border-success/40 bg-success/10 text-success" : e.configured ? "border-primary/50 bg-primary/10 text-primary" : "border-border bg-surface text-foreground-subtle" : "border-border bg-foreground-subtle/35";
|
|
25645
25650
|
}
|
|
25646
|
-
function
|
|
25651
|
+
function tO({ chip: e }) {
|
|
25647
25652
|
return /* @__PURE__ */ v("span", {
|
|
25648
25653
|
"aria-hidden": !0,
|
|
25649
25654
|
className: W("h-1.5 w-1.5 rounded-full", e.loaded === !0 ? "bg-success" : e.configured ? "border border-primary" : "border border-foreground-subtle/60")
|
|
25650
25655
|
});
|
|
25651
25656
|
}
|
|
25652
|
-
function
|
|
25657
|
+
function nO({ chips: e, onChip: t, disabled: n = !1 }) {
|
|
25653
25658
|
let { t: r } = $();
|
|
25654
25659
|
return e.length === 0 ? /* @__PURE__ */ v("span", {
|
|
25655
25660
|
className: "text-[10px] text-foreground-subtle",
|
|
@@ -25658,7 +25663,7 @@ function tO({ chips: e, onChip: t, disabled: n = !1 }) {
|
|
|
25658
25663
|
className: "flex flex-wrap gap-1",
|
|
25659
25664
|
"data-testid": "installed-device-chips",
|
|
25660
25665
|
children: e.map((e) => {
|
|
25661
|
-
let i =
|
|
25666
|
+
let i = $D(e), a = r(`deviceChips.state.${i}`), o = r("deviceChips.chipLabel", {
|
|
25662
25667
|
label: e.label,
|
|
25663
25668
|
deviceKey: e.deviceKey,
|
|
25664
25669
|
state: a
|
|
@@ -25667,19 +25672,19 @@ function tO({ chips: e, onChip: t, disabled: n = !1 }) {
|
|
|
25667
25672
|
state: a
|
|
25668
25673
|
});
|
|
25669
25674
|
if (!e.enabled) return /* @__PURE__ */ v("span", {
|
|
25670
|
-
className: W(Ue,
|
|
25675
|
+
className: W(Ue, eO(e), "min-w-[1.75rem] justify-center px-1.5"),
|
|
25671
25676
|
"data-device-key": e.deviceKey,
|
|
25672
|
-
"data-state":
|
|
25677
|
+
"data-state": QD[i],
|
|
25673
25678
|
"aria-label": o,
|
|
25674
25679
|
title: s
|
|
25675
25680
|
}, e.deviceKey);
|
|
25676
|
-
let c = t !== void 0 && !n, l = W(Ue,
|
|
25681
|
+
let c = t !== void 0 && !n, l = W(Ue, eO(e), c && "hover:border-primary/60"), u = /* @__PURE__ */ y(b, { children: [/* @__PURE__ */ v(tO, { chip: e }), e.label] });
|
|
25677
25682
|
return c ? /* @__PURE__ */ v("button", {
|
|
25678
25683
|
type: "button",
|
|
25679
25684
|
className: l,
|
|
25680
25685
|
onClick: () => t(e),
|
|
25681
25686
|
"data-device-key": e.deviceKey,
|
|
25682
|
-
"data-state":
|
|
25687
|
+
"data-state": QD[i],
|
|
25683
25688
|
"aria-label": o,
|
|
25684
25689
|
title: e.configured ? r("deviceChips.titleOpenSettings", {
|
|
25685
25690
|
deviceKey: e.deviceKey,
|
|
@@ -25692,7 +25697,7 @@ function tO({ chips: e, onChip: t, disabled: n = !1 }) {
|
|
|
25692
25697
|
}, e.deviceKey) : /* @__PURE__ */ v("span", {
|
|
25693
25698
|
className: l,
|
|
25694
25699
|
"data-device-key": e.deviceKey,
|
|
25695
|
-
"data-state":
|
|
25700
|
+
"data-state": QD[i],
|
|
25696
25701
|
"aria-label": o,
|
|
25697
25702
|
title: s,
|
|
25698
25703
|
children: u
|
|
@@ -25702,7 +25707,7 @@ function tO({ chips: e, onChip: t, disabled: n = !1 }) {
|
|
|
25702
25707
|
}
|
|
25703
25708
|
//#endregion
|
|
25704
25709
|
//#region src/components/installed/UsageBadge.tsx
|
|
25705
|
-
var
|
|
25710
|
+
var rO = {
|
|
25706
25711
|
"in-use": {
|
|
25707
25712
|
key: "inUse",
|
|
25708
25713
|
variant: "success"
|
|
@@ -25727,50 +25732,50 @@ var nO = {
|
|
|
25727
25732
|
key: "unknown",
|
|
25728
25733
|
variant: "default"
|
|
25729
25734
|
}
|
|
25730
|
-
},
|
|
25731
|
-
function
|
|
25732
|
-
let { t } = $(), n =
|
|
25735
|
+
}, iO = "text-[10px] px-1.5 py-0";
|
|
25736
|
+
function aO({ usage: e }) {
|
|
25737
|
+
let { t } = $(), n = rO[e];
|
|
25733
25738
|
return /* @__PURE__ */ v(Wa, {
|
|
25734
25739
|
variant: n.variant,
|
|
25735
|
-
className:
|
|
25740
|
+
className: iO,
|
|
25736
25741
|
title: t(`usage.${n.key}.title`),
|
|
25737
25742
|
"data-usage": e,
|
|
25738
25743
|
children: t(`usage.${n.key}.label`)
|
|
25739
25744
|
});
|
|
25740
25745
|
}
|
|
25741
|
-
function
|
|
25746
|
+
function oO() {
|
|
25742
25747
|
let { t: e } = $();
|
|
25743
25748
|
return /* @__PURE__ */ v(Wa, {
|
|
25744
25749
|
variant: "warning",
|
|
25745
25750
|
style: "outline",
|
|
25746
|
-
className: `${
|
|
25751
|
+
className: `${iO} border-warning/40`,
|
|
25747
25752
|
title: e("usage.stale.title"),
|
|
25748
25753
|
children: e("usage.stale.label")
|
|
25749
25754
|
});
|
|
25750
25755
|
}
|
|
25751
|
-
function
|
|
25756
|
+
function sO({ precision: e }) {
|
|
25752
25757
|
let { t } = $();
|
|
25753
25758
|
return /* @__PURE__ */ v(Wa, {
|
|
25754
25759
|
style: "outline",
|
|
25755
|
-
className: `${
|
|
25760
|
+
className: `${iO} border-border text-foreground-subtle uppercase`,
|
|
25756
25761
|
title: t("usage.precisionTitle"),
|
|
25757
25762
|
children: e
|
|
25758
25763
|
});
|
|
25759
25764
|
}
|
|
25760
25765
|
//#endregion
|
|
25761
25766
|
//#region src/components/installed/provider-label.ts
|
|
25762
|
-
var
|
|
25767
|
+
var cO = {
|
|
25763
25768
|
camstack: "CamStack",
|
|
25764
25769
|
scrypted: "Scrypted",
|
|
25765
25770
|
frigate: "Frigate"
|
|
25766
25771
|
};
|
|
25767
|
-
function
|
|
25768
|
-
return e === "custom" ? t("providers.custom") :
|
|
25772
|
+
function lO(e, t) {
|
|
25773
|
+
return e === "custom" ? t("providers.custom") : cO[e] ?? e;
|
|
25769
25774
|
}
|
|
25770
25775
|
//#endregion
|
|
25771
25776
|
//#region src/components/installed/InstalledFilesTable.tsx
|
|
25772
25777
|
e();
|
|
25773
|
-
function
|
|
25778
|
+
function uO({ row: e, onRename: t, onError: n }) {
|
|
25774
25779
|
let { t: r } = $();
|
|
25775
25780
|
return /* @__PURE__ */ y("div", {
|
|
25776
25781
|
className: "flex min-w-0 flex-col gap-0.5 whitespace-normal",
|
|
@@ -25779,7 +25784,7 @@ function lO({ row: e, onRename: t, onError: n }) {
|
|
|
25779
25784
|
"data-usage": e.usage,
|
|
25780
25785
|
"data-removable": e.removable ? "true" : "false",
|
|
25781
25786
|
children: [
|
|
25782
|
-
e.renameable ? /* @__PURE__ */ v(
|
|
25787
|
+
e.renameable ? /* @__PURE__ */ v(ZD, {
|
|
25783
25788
|
name: e.name,
|
|
25784
25789
|
modelId: e.modelId,
|
|
25785
25790
|
onRename: t,
|
|
@@ -25800,16 +25805,16 @@ function lO({ row: e, onRename: t, onError: n }) {
|
|
|
25800
25805
|
children: [
|
|
25801
25806
|
e.stepId,
|
|
25802
25807
|
" · ",
|
|
25803
|
-
|
|
25808
|
+
lO(e.provider, r),
|
|
25804
25809
|
e.clusterScoped ? r("filesTable.clusterModel") : "",
|
|
25805
25810
|
e.description ? ` · ${e.description}` : ""
|
|
25806
25811
|
]
|
|
25807
25812
|
}),
|
|
25808
|
-
/* @__PURE__ */ v(
|
|
25813
|
+
/* @__PURE__ */ v(XD, { supplies: e.supplies })
|
|
25809
25814
|
]
|
|
25810
25815
|
});
|
|
25811
25816
|
}
|
|
25812
|
-
function
|
|
25817
|
+
function dO({ row: e }) {
|
|
25813
25818
|
return /* @__PURE__ */ y("span", {
|
|
25814
25819
|
className: "inline-flex flex-wrap items-center gap-1",
|
|
25815
25820
|
children: [
|
|
@@ -25817,12 +25822,12 @@ function uO({ row: e }) {
|
|
|
25817
25822
|
className: "font-mono text-[11px] text-foreground",
|
|
25818
25823
|
children: e.format
|
|
25819
25824
|
}),
|
|
25820
|
-
e.precision !== void 0 && /* @__PURE__ */ v(
|
|
25821
|
-
e.onDisk === "stale" && /* @__PURE__ */ v(
|
|
25825
|
+
e.precision !== void 0 && /* @__PURE__ */ v(sO, { precision: e.precision }),
|
|
25826
|
+
e.onDisk === "stale" && /* @__PURE__ */ v(oO, {})
|
|
25822
25827
|
]
|
|
25823
25828
|
});
|
|
25824
25829
|
}
|
|
25825
|
-
function
|
|
25830
|
+
function fO({ row: e, busy: t, onRemove: n }) {
|
|
25826
25831
|
let { t: r } = $();
|
|
25827
25832
|
return e.removable ? /* @__PURE__ */ y("button", {
|
|
25828
25833
|
type: "button",
|
|
@@ -25843,7 +25848,7 @@ function dO({ row: e, busy: t, onRemove: n }) {
|
|
|
25843
25848
|
}), r("filesTable.remove")]
|
|
25844
25849
|
}) : null;
|
|
25845
25850
|
}
|
|
25846
|
-
function
|
|
25851
|
+
function pO() {
|
|
25847
25852
|
let [e, t] = g(/* @__PURE__ */ new Set());
|
|
25848
25853
|
return {
|
|
25849
25854
|
busy: e,
|
|
@@ -25857,8 +25862,8 @@ function fO() {
|
|
|
25857
25862
|
}
|
|
25858
25863
|
};
|
|
25859
25864
|
}
|
|
25860
|
-
function
|
|
25861
|
-
let { t: o } = $(), { busy: s, run: c } =
|
|
25865
|
+
function mO({ rows: e, emptyMessage: t, onRemove: n, onRename: r, onChip: i, onError: a }) {
|
|
25866
|
+
let { t: o } = $(), { busy: s, run: c } = pO(), l = (e, t) => {
|
|
25862
25867
|
c(e.key, async () => {
|
|
25863
25868
|
try {
|
|
25864
25869
|
await t();
|
|
@@ -25874,7 +25879,7 @@ function pO({ rows: e, emptyMessage: t, onRemove: n, onRename: r, onChip: i, onE
|
|
|
25874
25879
|
header: o("filesTable.cols.model"),
|
|
25875
25880
|
nowrap: !1,
|
|
25876
25881
|
sortValue: (e) => e.name,
|
|
25877
|
-
render: (e) => /* @__PURE__ */ v(
|
|
25882
|
+
render: (e) => /* @__PURE__ */ v(uO, {
|
|
25878
25883
|
row: e,
|
|
25879
25884
|
onRename: (t) => r(e, t),
|
|
25880
25885
|
onError: a
|
|
@@ -25884,7 +25889,7 @@ function pO({ rows: e, emptyMessage: t, onRemove: n, onRename: r, onChip: i, onE
|
|
|
25884
25889
|
key: "format",
|
|
25885
25890
|
header: o("filesTable.cols.format"),
|
|
25886
25891
|
sortValue: (e) => e.format,
|
|
25887
|
-
render: (e) => /* @__PURE__ */ v(
|
|
25892
|
+
render: (e) => /* @__PURE__ */ v(dO, { row: e })
|
|
25888
25893
|
},
|
|
25889
25894
|
{
|
|
25890
25895
|
key: "size",
|
|
@@ -25901,7 +25906,7 @@ function pO({ rows: e, emptyMessage: t, onRemove: n, onRename: r, onChip: i, onE
|
|
|
25901
25906
|
header: o("filesTable.cols.devices"),
|
|
25902
25907
|
nowrap: !1,
|
|
25903
25908
|
notSortableReason: o("filesTable.devicesNotSortable"),
|
|
25904
|
-
render: (e) => /* @__PURE__ */ v(
|
|
25909
|
+
render: (e) => /* @__PURE__ */ v(nO, {
|
|
25905
25910
|
chips: e.chips,
|
|
25906
25911
|
disabled: s.has(e.key),
|
|
25907
25912
|
onChip: e.clusterScoped || e.origin !== "pipeline" || e.usage === "outside-pools" ? void 0 : (t) => l(e, () => i(e, t))
|
|
@@ -25911,12 +25916,12 @@ function pO({ rows: e, emptyMessage: t, onRemove: n, onRename: r, onChip: i, onE
|
|
|
25911
25916
|
key: "status",
|
|
25912
25917
|
header: o("filesTable.cols.status"),
|
|
25913
25918
|
sortValue: (e) => e.usage,
|
|
25914
|
-
render: (e) => /* @__PURE__ */ v(
|
|
25919
|
+
render: (e) => /* @__PURE__ */ v(aO, { usage: e.usage })
|
|
25915
25920
|
},
|
|
25916
25921
|
{
|
|
25917
25922
|
key: "actions",
|
|
25918
25923
|
align: "right",
|
|
25919
|
-
render: (e) => /* @__PURE__ */ v(
|
|
25924
|
+
render: (e) => /* @__PURE__ */ v(fO, {
|
|
25920
25925
|
row: e,
|
|
25921
25926
|
busy: s.has(e.key),
|
|
25922
25927
|
onRemove: () => l(e, () => n(e))
|
|
@@ -25936,19 +25941,19 @@ function pO({ rows: e, emptyMessage: t, onRemove: n, onRename: r, onChip: i, onE
|
|
|
25936
25941
|
}
|
|
25937
25942
|
//#endregion
|
|
25938
25943
|
//#region src/components/installed/InstalledFilters.tsx
|
|
25939
|
-
var
|
|
25944
|
+
var hO = [
|
|
25940
25945
|
"camstack",
|
|
25941
25946
|
"scrypted",
|
|
25942
25947
|
"frigate",
|
|
25943
25948
|
"custom"
|
|
25944
25949
|
];
|
|
25945
|
-
function
|
|
25950
|
+
function gO(e) {
|
|
25946
25951
|
let { t } = $(), n = [{
|
|
25947
25952
|
value: "all",
|
|
25948
25953
|
label: t("installedFilters.all")
|
|
25949
|
-
}, ...
|
|
25954
|
+
}, ...hO.map((e) => ({
|
|
25950
25955
|
value: e,
|
|
25951
|
-
label:
|
|
25956
|
+
label: lO(e, t)
|
|
25952
25957
|
}))], r = [{
|
|
25953
25958
|
value: "all",
|
|
25954
25959
|
label: t("installedFilters.allDevices")
|
|
@@ -26015,20 +26020,20 @@ function hO(e) {
|
|
|
26015
26020
|
//#endregion
|
|
26016
26021
|
//#region src/tabs/InstalledTab.tsx
|
|
26017
26022
|
e();
|
|
26018
|
-
function
|
|
26023
|
+
function _O(e) {
|
|
26019
26024
|
return e === "camstack" || e === "scrypted" || e === "frigate" || e === "custom" ? e : "all";
|
|
26020
26025
|
}
|
|
26021
|
-
function
|
|
26026
|
+
function vO(e) {
|
|
26022
26027
|
return e === null || e.length === 0 || e === "all" ? "all" : e;
|
|
26023
26028
|
}
|
|
26024
|
-
var
|
|
26025
|
-
function
|
|
26029
|
+
var yO = vO, bO = vO;
|
|
26030
|
+
function xO(e) {
|
|
26026
26031
|
return e === null || e.length === 0 ? "hub" : e;
|
|
26027
26032
|
}
|
|
26028
|
-
function
|
|
26033
|
+
function SO(e) {
|
|
26029
26034
|
return w.some((t) => t === e);
|
|
26030
26035
|
}
|
|
26031
|
-
async function
|
|
26036
|
+
async function CO(e, t) {
|
|
26032
26037
|
let [n, r, i, a, o, s] = await Promise.all([
|
|
26033
26038
|
bw(e),
|
|
26034
26039
|
xw(e),
|
|
@@ -26047,15 +26052,15 @@ async function SO(e, t) {
|
|
|
26047
26052
|
clusterModels: s
|
|
26048
26053
|
};
|
|
26049
26054
|
}
|
|
26050
|
-
function
|
|
26055
|
+
function wO(e, t, n) {
|
|
26051
26056
|
let [r, i] = RS(e), a = l((e) => i(e === n ? null : e), [i, n]);
|
|
26052
26057
|
return [t(r), a];
|
|
26053
26058
|
}
|
|
26054
|
-
function
|
|
26055
|
-
let { t: n } = $(), [r, a] = RS("provider"), s =
|
|
26059
|
+
function TO({ trpc: e, refreshKey: t }) {
|
|
26060
|
+
let { t: n } = $(), [r, a] = RS("provider"), s = _O(r), c = l((e) => a(e === "all" ? null : e), [a]), [u, d] = wO("type", yO, "all"), [f, p] = wO("device", bO, "all"), [m, h] = wO("node", xO, "hub"), _ = Xa(), [x, S] = g(null), [C, w] = g(null), [T, E] = g(0), [ee, te] = g(null), ne = l(async () => {
|
|
26056
26061
|
w(null);
|
|
26057
26062
|
try {
|
|
26058
|
-
S(await
|
|
26063
|
+
S(await CO(e, m));
|
|
26059
26064
|
} catch (e) {
|
|
26060
26065
|
w(e instanceof Error ? e.message : n("installed.loadFailed"));
|
|
26061
26066
|
}
|
|
@@ -26069,7 +26074,7 @@ function wO({ trpc: e, refreshKey: t }) {
|
|
|
26069
26074
|
}, [ne, t]);
|
|
26070
26075
|
let D = l(async () => {
|
|
26071
26076
|
await ne(), E((e) => e + 1);
|
|
26072
|
-
}, [ne]), O = o(() => x === null ? [] :
|
|
26077
|
+
}, [ne]), O = o(() => x === null ? [] : PD({
|
|
26073
26078
|
nodeId: m,
|
|
26074
26079
|
seeds: x.seeds,
|
|
26075
26080
|
stepCatalogs: x.stepCatalogs,
|
|
@@ -26078,7 +26083,7 @@ function wO({ trpc: e, refreshKey: t }) {
|
|
|
26078
26083
|
clusterModels: x.clusterModels,
|
|
26079
26084
|
registry: x.models,
|
|
26080
26085
|
availability: x.availability
|
|
26081
|
-
}), [x, m]), k = x?.devices ?? [], re = o(() =>
|
|
26086
|
+
}), [x, m]), k = x?.devices ?? [], re = o(() => FD(O, k, {
|
|
26082
26087
|
provider: s,
|
|
26083
26088
|
step: u,
|
|
26084
26089
|
device: f
|
|
@@ -26092,7 +26097,7 @@ function wO({ trpc: e, refreshKey: t }) {
|
|
|
26092
26097
|
let e = new Set(O.map((e) => e.stepId));
|
|
26093
26098
|
return u !== "all" && e.add(u), [...e].toSorted((e, t) => e.localeCompare(t));
|
|
26094
26099
|
}, [O, u]), j = l(async (t) => {
|
|
26095
|
-
if (!t.removable || !
|
|
26100
|
+
if (!t.removable || !SO(t.format)) return;
|
|
26096
26101
|
let n = {
|
|
26097
26102
|
modelId: t.modelId,
|
|
26098
26103
|
format: t.format,
|
|
@@ -26103,7 +26108,7 @@ function wO({ trpc: e, refreshKey: t }) {
|
|
|
26103
26108
|
addonId: t.stepId
|
|
26104
26109
|
});
|
|
26105
26110
|
}, [m, e]), M = l(async (e) => {
|
|
26106
|
-
!e.removable || !
|
|
26111
|
+
!e.removable || !SO(e.format) || await _({
|
|
26107
26112
|
title: n("installed.deleteFile.title"),
|
|
26108
26113
|
message: n("installed.deleteFile.message", {
|
|
26109
26114
|
format: e.format,
|
|
@@ -26172,7 +26177,7 @@ function wO({ trpc: e, refreshKey: t }) {
|
|
|
26172
26177
|
variant: "default"
|
|
26173
26178
|
}) && (await Xw(e, {
|
|
26174
26179
|
agentNodeId: m,
|
|
26175
|
-
inferenceDevices:
|
|
26180
|
+
inferenceDevices: bD(k, t.stepId, t.modelId, [r.deviceKey])
|
|
26176
26181
|
}), await D());
|
|
26177
26182
|
}, [
|
|
26178
26183
|
_,
|
|
@@ -26190,14 +26195,14 @@ function wO({ trpc: e, refreshKey: t }) {
|
|
|
26190
26195
|
className: "rounded-md border border-danger/30 bg-danger/10 px-3 py-2 text-xs text-danger",
|
|
26191
26196
|
children: C
|
|
26192
26197
|
}),
|
|
26193
|
-
/* @__PURE__ */ v(
|
|
26198
|
+
/* @__PURE__ */ v(gO, {
|
|
26194
26199
|
provider: s,
|
|
26195
26200
|
onProvider: c,
|
|
26196
26201
|
step: u,
|
|
26197
26202
|
stepOptions: A,
|
|
26198
26203
|
onStep: d,
|
|
26199
26204
|
device: f,
|
|
26200
|
-
deviceOptions:
|
|
26205
|
+
deviceOptions: CD(k),
|
|
26201
26206
|
onDevice: p,
|
|
26202
26207
|
nodeId: m,
|
|
26203
26208
|
onNode: h
|
|
@@ -26222,7 +26227,7 @@ function wO({ trpc: e, refreshKey: t }) {
|
|
|
26222
26227
|
n("installed.summary.onDisk", { size: lw(P) }),
|
|
26223
26228
|
" ·",
|
|
26224
26229
|
" ",
|
|
26225
|
-
n("installed.summary.reclaimable", { size: lw(
|
|
26230
|
+
n("installed.summary.reclaimable", { size: lw(ID(O)) }),
|
|
26226
26231
|
x?.engines === null ? ` · ${n("installed.summary.loadedUnavailable")}` : ""
|
|
26227
26232
|
]
|
|
26228
26233
|
}), ie.length > 0 && /* @__PURE__ */ v("button", {
|
|
@@ -26233,7 +26238,7 @@ function wO({ trpc: e, refreshKey: t }) {
|
|
|
26233
26238
|
children: n("installed.removeUnused", { count: ie.length })
|
|
26234
26239
|
})]
|
|
26235
26240
|
}),
|
|
26236
|
-
/* @__PURE__ */ v(
|
|
26241
|
+
/* @__PURE__ */ v(mO, {
|
|
26237
26242
|
rows: re,
|
|
26238
26243
|
emptyMessage: O.length === 0 ? n("installed.emptyNode", { nodeId: m }) : n("installed.emptyFiltered"),
|
|
26239
26244
|
onRemove: M,
|
|
@@ -26241,7 +26246,7 @@ function wO({ trpc: e, refreshKey: t }) {
|
|
|
26241
26246
|
onChip: oe,
|
|
26242
26247
|
onError: w
|
|
26243
26248
|
}),
|
|
26244
|
-
/* @__PURE__ */ v(
|
|
26249
|
+
/* @__PURE__ */ v(JD, {
|
|
26245
26250
|
trpc: e,
|
|
26246
26251
|
refreshKey: t + T,
|
|
26247
26252
|
clusterModels: x?.clusterModels ?? null,
|
|
@@ -26249,7 +26254,7 @@ function wO({ trpc: e, refreshKey: t }) {
|
|
|
26249
26254
|
onError: w
|
|
26250
26255
|
})
|
|
26251
26256
|
] }),
|
|
26252
|
-
ee && /* @__PURE__ */ v(
|
|
26257
|
+
ee && /* @__PURE__ */ v(zD, {
|
|
26253
26258
|
trpc: e,
|
|
26254
26259
|
nodeId: m,
|
|
26255
26260
|
stepId: ee.row.stepId,
|
|
@@ -26265,13 +26270,13 @@ function wO({ trpc: e, refreshKey: t }) {
|
|
|
26265
26270
|
}
|
|
26266
26271
|
//#endregion
|
|
26267
26272
|
//#region src/tabs/LogsTab.tsx
|
|
26268
|
-
var
|
|
26269
|
-
function
|
|
26273
|
+
var EO = "model-studio";
|
|
26274
|
+
function DO() {
|
|
26270
26275
|
return /* @__PURE__ */ v("div", {
|
|
26271
26276
|
className: "space-y-3",
|
|
26272
26277
|
"data-testid": "logs-tab",
|
|
26273
26278
|
children: /* @__PURE__ */ v(Vl, {
|
|
26274
|
-
addonId:
|
|
26279
|
+
addonId: EO,
|
|
26275
26280
|
limit: 200,
|
|
26276
26281
|
maxHeight: "max-h-[70vh]",
|
|
26277
26282
|
showFilters: !0,
|
|
@@ -26282,23 +26287,23 @@ function EO() {
|
|
|
26282
26287
|
//#endregion
|
|
26283
26288
|
//#region src/page.tsx
|
|
26284
26289
|
e();
|
|
26285
|
-
var
|
|
26290
|
+
var OO = [
|
|
26286
26291
|
{ id: "catalog" },
|
|
26287
26292
|
{ id: "installed" },
|
|
26288
26293
|
{ id: "import" },
|
|
26289
26294
|
{ id: "logs" }
|
|
26290
26295
|
];
|
|
26291
|
-
function
|
|
26296
|
+
function kO(e) {
|
|
26292
26297
|
return e === "library" ? "installed" : e === "convert" || e === "settings" ? "catalog" : e === "import" || e === "catalog" || e === "installed" || e === "logs" ? e : "catalog";
|
|
26293
26298
|
}
|
|
26294
|
-
function
|
|
26299
|
+
function AO(e) {
|
|
26295
26300
|
return `model-studio-tab-${e}`;
|
|
26296
26301
|
}
|
|
26297
|
-
function
|
|
26302
|
+
function jO(e) {
|
|
26298
26303
|
return `model-studio-panel-${e}`;
|
|
26299
26304
|
}
|
|
26300
|
-
function
|
|
26301
|
-
let { t: n } = $(), [r, a] = RS("tab"), [o, s] = RS("source"), c =
|
|
26305
|
+
function MO({ trpc: e }) {
|
|
26306
|
+
let { t: n } = $(), [r, a] = RS("tab"), [o, s] = RS("source"), c = kO(r), u = GE(o), [d, f] = g(0), [p, m] = g(null), h = t(!1), _ = l(() => f((e) => e + 1), []), b = l((e, t = !1) => {
|
|
26302
26307
|
a(e === "catalog" ? null : e), e !== "catalog" && o !== null && (e === "import" || e === "logs" || e === "installed") && s(null), t && (h.current = !0);
|
|
26303
26308
|
}, [
|
|
26304
26309
|
a,
|
|
@@ -26308,7 +26313,7 @@ function jO({ trpc: e }) {
|
|
|
26308
26313
|
s(e === "camstack" ? null : e);
|
|
26309
26314
|
}, [s]);
|
|
26310
26315
|
i(() => {
|
|
26311
|
-
h.current && (h.current = !1, document.getElementById(
|
|
26316
|
+
h.current && (h.current = !1, document.getElementById(AO(c))?.focus());
|
|
26312
26317
|
}, [c]), i(() => {
|
|
26313
26318
|
r === "convert" && a(null), r === "library" && a("installed"), r === "settings" && (a(null), s("frigate")), c !== "catalog" && o !== null && s(null), c === "catalog" && o === "custom" && (a("import"), s(null));
|
|
26314
26319
|
}, [
|
|
@@ -26319,7 +26324,7 @@ function jO({ trpc: e }) {
|
|
|
26319
26324
|
s
|
|
26320
26325
|
]);
|
|
26321
26326
|
let S = l((e) => {
|
|
26322
|
-
let t =
|
|
26327
|
+
let t = OO.map((e) => e.id), n = t.indexOf(c);
|
|
26323
26328
|
if (n < 0) return;
|
|
26324
26329
|
let r;
|
|
26325
26330
|
e.key === "ArrowRight" ? r = t[(n + 1) % t.length] : e.key === "ArrowLeft" ? r = t[(n - 1 + t.length) % t.length] : e.key === "Home" ? r = t[0] : e.key === "End" && (r = t[t.length - 1]), r !== void 0 && (e.preventDefault(), b(r, !0));
|
|
@@ -26335,18 +26340,18 @@ function jO({ trpc: e }) {
|
|
|
26335
26340
|
children: /* @__PURE__ */ v(zs, {
|
|
26336
26341
|
"aria-label": n("page.sections"),
|
|
26337
26342
|
onKeyDown: S,
|
|
26338
|
-
children:
|
|
26339
|
-
id:
|
|
26343
|
+
children: OO.map((e) => /* @__PURE__ */ v(Bs, {
|
|
26344
|
+
id: AO(e.id),
|
|
26340
26345
|
value: e.id,
|
|
26341
|
-
"aria-controls":
|
|
26346
|
+
"aria-controls": jO(e.id),
|
|
26342
26347
|
children: n(`page.tabs.${e.id}`)
|
|
26343
26348
|
}, e.id))
|
|
26344
26349
|
})
|
|
26345
26350
|
}), /* @__PURE__ */ y("div", {
|
|
26346
26351
|
className: "min-h-[400px]",
|
|
26347
26352
|
role: "tabpanel",
|
|
26348
|
-
id:
|
|
26349
|
-
"aria-labelledby":
|
|
26353
|
+
id: jO(c),
|
|
26354
|
+
"aria-labelledby": AO(c),
|
|
26350
26355
|
children: [
|
|
26351
26356
|
c === "catalog" && /* @__PURE__ */ v(QE, {
|
|
26352
26357
|
trpc: e,
|
|
@@ -26358,20 +26363,20 @@ function jO({ trpc: e }) {
|
|
|
26358
26363
|
m(e), b("import");
|
|
26359
26364
|
}
|
|
26360
26365
|
}),
|
|
26361
|
-
c === "installed" && /* @__PURE__ */ v(
|
|
26366
|
+
c === "installed" && /* @__PURE__ */ v(TO, {
|
|
26362
26367
|
trpc: e,
|
|
26363
26368
|
refreshKey: d
|
|
26364
26369
|
}),
|
|
26365
|
-
c === "import" && /* @__PURE__ */ v(
|
|
26370
|
+
c === "import" && /* @__PURE__ */ v(gD, {
|
|
26366
26371
|
trpc: e,
|
|
26367
26372
|
onRegistered: _,
|
|
26368
26373
|
initialPrefill: p,
|
|
26369
26374
|
onPrefillConsumed: () => m(null)
|
|
26370
26375
|
}),
|
|
26371
|
-
c === "logs" && /* @__PURE__ */ v(
|
|
26376
|
+
c === "logs" && /* @__PURE__ */ v(DO, {})
|
|
26372
26377
|
]
|
|
26373
26378
|
})]
|
|
26374
26379
|
}) });
|
|
26375
26380
|
}
|
|
26376
26381
|
//#endregion
|
|
26377
|
-
export {
|
|
26382
|
+
export { MO as default };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-
|
|
1
|
+
import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-Enoo1rWt.mjs";
|
|
2
2
|
//#region \0virtual:mf-localSharedImportMap:__mfe_internal__addon_model_studio_page
|
|
3
3
|
var e = {
|
|
4
4
|
"@camstack/sdk": {
|
|
5
5
|
name: "@camstack/sdk",
|
|
6
|
-
version: "1.2.
|
|
6
|
+
version: "1.2.143",
|
|
7
7
|
scope: ["default"],
|
|
8
8
|
loaded: !1,
|
|
9
9
|
from: "addon_model_studio_page",
|
|
@@ -18,7 +18,7 @@ var e = {
|
|
|
18
18
|
},
|
|
19
19
|
"@camstack/types": {
|
|
20
20
|
name: "@camstack/types",
|
|
21
|
-
version: "1.2.
|
|
21
|
+
version: "1.2.393",
|
|
22
22
|
scope: ["default"],
|
|
23
23
|
loaded: !1,
|
|
24
24
|
from: "addon_model_studio_page",
|
|
@@ -33,7 +33,7 @@ var e = {
|
|
|
33
33
|
},
|
|
34
34
|
"@camstack/ui-library": {
|
|
35
35
|
name: "@camstack/ui-library",
|
|
36
|
-
version: "1.2.
|
|
36
|
+
version: "1.2.310",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_model_studio_page",
|
|
@@ -36,7 +36,7 @@ async function r() {
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"@camstack/types": {
|
|
39
|
-
version: "1.2.
|
|
39
|
+
version: "1.2.393",
|
|
40
40
|
scope: "default",
|
|
41
41
|
shareConfig: {
|
|
42
42
|
singleton: !0,
|
|
@@ -45,7 +45,7 @@ async function r() {
|
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"@camstack/sdk": {
|
|
48
|
-
version: "1.2.
|
|
48
|
+
version: "1.2.143",
|
|
49
49
|
scope: "default",
|
|
50
50
|
shareConfig: {
|
|
51
51
|
singleton: !0,
|
|
@@ -81,7 +81,7 @@ async function r() {
|
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
"@camstack/ui-library": {
|
|
84
|
-
version: "1.2.
|
|
84
|
+
version: "1.2.310",
|
|
85
85
|
scope: "default",
|
|
86
86
|
shareConfig: {
|
|
87
87
|
singleton: !0,
|
package/dist/remoteEntry.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-
|
|
1
|
+
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-Enoo1rWt.mjs";
|
|
2
2
|
export { t as get, e as init };
|
|
@@ -2753,7 +2753,7 @@ async function rr(e) {
|
|
|
2753
2753
|
}
|
|
2754
2754
|
}
|
|
2755
2755
|
async function ir() {
|
|
2756
|
-
return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-
|
|
2756
|
+
return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-Z-Bh8ofN.mjs")).catch((e) => {
|
|
2757
2757
|
throw tr = void 0, e;
|
|
2758
2758
|
}), tr;
|
|
2759
2759
|
}
|