@camstack/addon-model-studio 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/MaskShapeCanvas-C4g96eMz.mjs +13806 -0
- package/dist/MotionZonesSettings-B8ishTpw.mjs +309 -0
- package/dist/PrivacyMaskSettings-P06be0E2.mjs +290 -0
- package/dist/_stub.js +8968 -0
- package/dist/_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-CI4Ho-xh.mjs +156 -0
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_sdk__loadShare__.js-ZNPquRb4.mjs +25 -0
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-cUKFrqHE.mjs +26 -0
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-B-9Pn2K0.mjs +25 -0
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_trpc_mf_1_client__loadShare__.js-nybV3Y4f.mjs +25 -0
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.js-BvzT760A.mjs +26 -0
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DJDHChgO.mjs +70 -0
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs +26 -0
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_2_dom__loadShare__.js-Dh0QbaoP.mjs +26 -0
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BjUy5evk.mjs +25 -0
- package/dist/addon-model-studio.css +3 -0
- package/dist/hostInit-I8461iVN.mjs +129 -0
- package/dist/model-studio.addon.js +72 -12
- package/dist/model-studio.addon.mjs +72 -12
- package/dist/player-overlays-CeF0YjKF.mjs +163 -0
- package/dist/remoteEntry.js +2 -0
- package/dist/remoteEntry.ssr.js +33 -0
- package/dist/rolldown-runtime-HEgqtunE.mjs +20 -0
- package/dist/trash-2-Ct7_ZXVk.mjs +49 -0
- package/dist/virtualExposes-CWSi4E_g.mjs +27 -0
- package/dist/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-C-Qc_p47.mjs +2857 -0
- package/dist/virtual_mf-exposes-ssr___mfe_internal__addon_model_studio_page__remoteEntry_js-BoA99BYM.mjs +10 -0
- package/package.json +30 -3
- package/python/convert_lib.py +38 -3
- package/python/requirements.txt +10 -0
|
@@ -4638,7 +4638,7 @@ function _instanceof(cls, params = {}) {
|
|
|
4638
4638
|
return inst;
|
|
4639
4639
|
}
|
|
4640
4640
|
//#endregion
|
|
4641
|
-
//#region ../types/dist/sleep-
|
|
4641
|
+
//#region ../types/dist/sleep-NOH4yRwj.mjs
|
|
4642
4642
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4643
4643
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4644
4644
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -5753,15 +5753,24 @@ var BaseAddon = class {
|
|
|
5753
5753
|
} catch {}
|
|
5754
5754
|
}
|
|
5755
5755
|
/**
|
|
5756
|
-
* Resolve the shared models directory
|
|
5757
|
-
*
|
|
5758
|
-
*
|
|
5756
|
+
* Resolve the shared, node-local models directory: `<nodeDataDir>/models`.
|
|
5757
|
+
*
|
|
5758
|
+
* This is the SINGLE centralized models-dir resolver for every inference addon
|
|
5759
|
+
* (detection-pipeline, audio-analyzer, embedding-encoder, model-studio). It is
|
|
5760
|
+
* anchored at the node's own writable data root (`ctx.nodeDataDir`, i.e.
|
|
5761
|
+
* `CAMSTACK_DATA` ?? the kernel boot dir) — never the hub-singleton `storage`
|
|
5762
|
+
* cap, which returns the hub's `/data/models` to every node and breaks any node
|
|
5763
|
+
* whose real data dir differs (e.g. the macOS electron agent).
|
|
5764
|
+
*
|
|
5765
|
+
* `node:path`/`node:fs` are imported dynamically so the `@camstack/types` root
|
|
5766
|
+
* barrel (re-exported into browser bundles) stays free of node builtins.
|
|
5759
5767
|
*/
|
|
5760
5768
|
async resolveModelsDir() {
|
|
5761
|
-
|
|
5762
|
-
|
|
5763
|
-
|
|
5764
|
-
|
|
5769
|
+
const { join } = await import("node:path");
|
|
5770
|
+
const { promises: fsp } = await import("node:fs");
|
|
5771
|
+
const dir = join(this.ctx.nodeDataDir, "models");
|
|
5772
|
+
await fsp.mkdir(dir, { recursive: true });
|
|
5773
|
+
return dir;
|
|
5765
5774
|
}
|
|
5766
5775
|
/**
|
|
5767
5776
|
* Access the runtime capability registry for in-process provider lookups.
|
|
@@ -12524,7 +12533,13 @@ var AddonPageDeclarationSchema = object({
|
|
|
12524
12533
|
*/
|
|
12525
12534
|
bundle: string()
|
|
12526
12535
|
});
|
|
12527
|
-
|
|
12536
|
+
var addonPagesSourceCapability = {
|
|
12537
|
+
name: "addon-pages-source",
|
|
12538
|
+
scope: "system",
|
|
12539
|
+
mode: "collection",
|
|
12540
|
+
internal: true,
|
|
12541
|
+
methods: { listPages: method(_void(), array(AddonPageDeclarationSchema).readonly()) }
|
|
12542
|
+
};
|
|
12528
12543
|
/**
|
|
12529
12544
|
* `addon-widgets-source` — collection cap exposing per-addon raw widget
|
|
12530
12545
|
* declarations. Mirrors the addon-pages split: every addon shipping
|
|
@@ -12720,7 +12735,8 @@ var modelConvertCapability = {
|
|
|
12720
12735
|
sessionId: string().optional()
|
|
12721
12736
|
}), ConvertResultSchema, {
|
|
12722
12737
|
kind: "mutation",
|
|
12723
|
-
auth: "admin"
|
|
12738
|
+
auth: "admin",
|
|
12739
|
+
timeoutMs: 6e5
|
|
12724
12740
|
}) }
|
|
12725
12741
|
};
|
|
12726
12742
|
var AddonHttpRouteSchema = object({
|
|
@@ -14257,7 +14273,14 @@ var NotificationRuleConditionsSchema = object({
|
|
|
14257
14273
|
/** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
|
|
14258
14274
|
* carrying a matching `data.eventType` string pass this condition. Rules without this field are
|
|
14259
14275
|
* unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
|
|
14260
|
-
eventTypeTokens: array(string()).readonly().optional()
|
|
14276
|
+
eventTypeTokens: array(string()).readonly().optional(),
|
|
14277
|
+
/** Match detections whose CLIP image embedding is semantically similar to this free-text
|
|
14278
|
+
* description. Requires the embedding-encoder cap to have pre-warmed the text vector.
|
|
14279
|
+
* `minSimilarity` is the cosine similarity threshold in [0, 1]. */
|
|
14280
|
+
clipDescription: object({
|
|
14281
|
+
text: string().min(1),
|
|
14282
|
+
minSimilarity: number().min(0).max(1)
|
|
14283
|
+
}).optional()
|
|
14261
14284
|
});
|
|
14262
14285
|
var NotificationRuleTemplateSchema = object({
|
|
14263
14286
|
title: string(),
|
|
@@ -14499,6 +14522,16 @@ var TrackedDetectionSchema = object({
|
|
|
14499
14522
|
zones: array(string()).readonly(),
|
|
14500
14523
|
state: TrackStateSchema
|
|
14501
14524
|
});
|
|
14525
|
+
var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
|
|
14526
|
+
var SearchObjectEventsInput = object({
|
|
14527
|
+
text: string(),
|
|
14528
|
+
deviceId: number().optional(),
|
|
14529
|
+
since: number().optional(),
|
|
14530
|
+
until: number().optional(),
|
|
14531
|
+
classFilter: string().optional(),
|
|
14532
|
+
limit: number().default(50),
|
|
14533
|
+
minScore: number().min(0).max(1).default(.2)
|
|
14534
|
+
});
|
|
14502
14535
|
DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
|
|
14503
14536
|
deviceId: number(),
|
|
14504
14537
|
trackId: string()
|
|
@@ -14533,7 +14566,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
14533
14566
|
}), method(object({
|
|
14534
14567
|
eventId: string(),
|
|
14535
14568
|
kind: MediaFileKindEnum.optional()
|
|
14536
|
-
}), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
|
|
14569
|
+
}), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
|
|
14537
14570
|
deviceId: number(),
|
|
14538
14571
|
timestamp: number(),
|
|
14539
14572
|
frameWidth: number(),
|
|
@@ -19183,6 +19216,12 @@ Object.freeze({
|
|
|
19183
19216
|
addonId: null,
|
|
19184
19217
|
access: "create"
|
|
19185
19218
|
},
|
|
19219
|
+
"pipelineAnalytics.searchObjectEvents": {
|
|
19220
|
+
capName: "pipeline-analytics",
|
|
19221
|
+
capScope: "device",
|
|
19222
|
+
addonId: null,
|
|
19223
|
+
access: "view"
|
|
19224
|
+
},
|
|
19186
19225
|
"pipelineExecutor.cacheFrameInPool": {
|
|
19187
19226
|
capName: "pipeline-executor",
|
|
19188
19227
|
capScope: "system",
|
|
@@ -21418,6 +21457,20 @@ var ModelStudioAddon = class extends BaseAddon {
|
|
|
21418
21457
|
id = "model-studio";
|
|
21419
21458
|
modelsState = null;
|
|
21420
21459
|
availabilityState = null;
|
|
21460
|
+
/**
|
|
21461
|
+
* Module-Federation page declaration surfaced via the `addon-pages-source`
|
|
21462
|
+
* collection cap. Mirrors the manifest `pages[]` entry — admin-ui's
|
|
21463
|
+
* `<AddonPageLoader>` loads `addon_model_studio_page/page` from
|
|
21464
|
+
* `/api/addon-pages/model-studio/remoteEntry.js`.
|
|
21465
|
+
*/
|
|
21466
|
+
pages = [{
|
|
21467
|
+
id: "model-studio",
|
|
21468
|
+
label: "Model Studio",
|
|
21469
|
+
icon: "boxes",
|
|
21470
|
+
path: "/addon/model-studio",
|
|
21471
|
+
remoteName: "addon_model_studio_page",
|
|
21472
|
+
bundle: "remoteEntry.js"
|
|
21473
|
+
}];
|
|
21421
21474
|
constructor() {
|
|
21422
21475
|
super({});
|
|
21423
21476
|
}
|
|
@@ -21471,9 +21524,16 @@ var ModelStudioAddon = class extends BaseAddon {
|
|
|
21471
21524
|
this.availabilityState = this.state(KEY_AVAILABILITY, ModelAvailabilityMapSchema, {});
|
|
21472
21525
|
const rawNode = this.ctx.kernel?.localNodeId ?? "hub";
|
|
21473
21526
|
const isHub = (rawNode.includes("/") ? rawNode.split("/")[0] : rawNode) === "hub";
|
|
21527
|
+
const pagesProvider = {
|
|
21528
|
+
id: this.id,
|
|
21529
|
+
listPages: () => this.pages
|
|
21530
|
+
};
|
|
21474
21531
|
const providers = [{
|
|
21475
21532
|
capability: modelConvertCapability,
|
|
21476
21533
|
provider: buildModelConvertProvider(this.makeConvertDeps())
|
|
21534
|
+
}, {
|
|
21535
|
+
capability: addonPagesSourceCapability,
|
|
21536
|
+
provider: pagesProvider
|
|
21477
21537
|
}];
|
|
21478
21538
|
if (isHub) providers.push({
|
|
21479
21539
|
capability: customModelRegistryCapability,
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { c as e, g as t, h as n, l as r, n as i, p as a, r as o, t as s, u as c, y as l } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DJDHChgO.mjs";
|
|
2
|
+
import { n as u, r as d, t as f } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs";
|
|
3
|
+
import { c as p } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-cUKFrqHE.mjs";
|
|
4
|
+
//#region ../ui-library/src/lib/cap-error.ts
|
|
5
|
+
function m(e) {
|
|
6
|
+
if (typeof e != "object" || !e) return null;
|
|
7
|
+
let t = Reflect.get(e, "data");
|
|
8
|
+
if (typeof t == "object" && t) {
|
|
9
|
+
let e = Reflect.get(t, "capRouteReason");
|
|
10
|
+
if (typeof e == "string") return e;
|
|
11
|
+
}
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
function h(e) {
|
|
15
|
+
let t = m(e);
|
|
16
|
+
return t === null ? (e instanceof Error ? e.message : String(e)).includes("provider not available") : t === "no-provider" || t === "node-offline";
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region ../ui-library/src/lib/responsive.ts
|
|
20
|
+
var g = "text-[10px] text-foreground-subtle";
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region ../ui-library/src/lib/shared-context.ts
|
|
23
|
+
l();
|
|
24
|
+
function _(e, t) {
|
|
25
|
+
if (typeof globalThis > "u") return s(t);
|
|
26
|
+
let n = globalThis.__camstackSharedContexts, r = n ?? /* @__PURE__ */ new Map();
|
|
27
|
+
n || (globalThis.__camstackSharedContexts = r);
|
|
28
|
+
let i = r.get(e);
|
|
29
|
+
if (i) return i;
|
|
30
|
+
let a = s(t);
|
|
31
|
+
return r.set(e, a), a;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region ../ui-library/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
35
|
+
var v = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), y = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), b = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), x = (e) => {
|
|
36
|
+
let t = b(e);
|
|
37
|
+
return t.charAt(0).toUpperCase() + t.slice(1);
|
|
38
|
+
}, S = {
|
|
39
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
40
|
+
width: 24,
|
|
41
|
+
height: 24,
|
|
42
|
+
viewBox: "0 0 24 24",
|
|
43
|
+
fill: "none",
|
|
44
|
+
stroke: "currentColor",
|
|
45
|
+
strokeWidth: 2,
|
|
46
|
+
strokeLinecap: "round",
|
|
47
|
+
strokeLinejoin: "round"
|
|
48
|
+
}, C = (e) => {
|
|
49
|
+
for (let t in e) if (t.startsWith("aria-") || t === "role" || t === "title") return !0;
|
|
50
|
+
return !1;
|
|
51
|
+
};
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region ../ui-library/node_modules/lucide-react/dist/esm/Icon.js
|
|
54
|
+
l();
|
|
55
|
+
var w = o(({ color: e = "currentColor", size: t = 24, strokeWidth: n = 2, absoluteStrokeWidth: r, className: a = "", children: o, iconNode: s, ...c }, l) => i("svg", {
|
|
56
|
+
ref: l,
|
|
57
|
+
...S,
|
|
58
|
+
width: t,
|
|
59
|
+
height: t,
|
|
60
|
+
stroke: e,
|
|
61
|
+
strokeWidth: r ? Number(n) * 24 / Number(t) : n,
|
|
62
|
+
className: v("lucide", a),
|
|
63
|
+
...!o && !C(c) && { "aria-hidden": "true" },
|
|
64
|
+
...c
|
|
65
|
+
}, [...s.map(([e, t]) => i(e, t)), ...Array.isArray(o) ? o : [o]]));
|
|
66
|
+
//#endregion
|
|
67
|
+
//#region ../ui-library/node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
68
|
+
l();
|
|
69
|
+
var T = (e, t) => {
|
|
70
|
+
let n = o(({ className: n, ...r }, a) => i(w, {
|
|
71
|
+
ref: a,
|
|
72
|
+
iconNode: t,
|
|
73
|
+
className: v(`lucide-${y(x(e))}`, `lucide-${e}`, n),
|
|
74
|
+
...r
|
|
75
|
+
}));
|
|
76
|
+
return n.displayName = x(e), n;
|
|
77
|
+
}, E = T("chevron-down", [["path", {
|
|
78
|
+
d: "m6 9 6 6 6-6",
|
|
79
|
+
key: "qrunsl"
|
|
80
|
+
}]]), D = T("chevron-right", [["path", {
|
|
81
|
+
d: "m9 18 6-6-6-6",
|
|
82
|
+
key: "mthhwq"
|
|
83
|
+
}]]);
|
|
84
|
+
//#endregion
|
|
85
|
+
//#region ../ui-library/src/contexts/system-context.tsx
|
|
86
|
+
l();
|
|
87
|
+
var O = _("camstack:system", null);
|
|
88
|
+
function k() {
|
|
89
|
+
let e = r(O);
|
|
90
|
+
if (!e) throw Error("useSystem(): no <SystemProvider> in tree");
|
|
91
|
+
return e;
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
//#region ../ui-library/src/hooks/use-device-proxy.ts
|
|
95
|
+
l();
|
|
96
|
+
var A = "capability.binding-changed";
|
|
97
|
+
function j(e, t) {
|
|
98
|
+
let [r, i] = n(null);
|
|
99
|
+
return c(() => {
|
|
100
|
+
if (t === null) {
|
|
101
|
+
i(null);
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
let n = !1, r = async () => {
|
|
105
|
+
try {
|
|
106
|
+
let r = await e.deviceManager.getBindings.query({ deviceId: t });
|
|
107
|
+
n || i(r);
|
|
108
|
+
} catch {
|
|
109
|
+
n || i((e) => e);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
r();
|
|
113
|
+
let a = e.live?.onEvent.subscribe({ category: A }, { onData: (e) => {
|
|
114
|
+
let n = e.data?.source;
|
|
115
|
+
if (!n) {
|
|
116
|
+
r();
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
n.type === "device" && n.id === t && r();
|
|
120
|
+
} });
|
|
121
|
+
return () => {
|
|
122
|
+
n = !0, a?.unsubscribe();
|
|
123
|
+
};
|
|
124
|
+
}, [e, t]), a(() => r ? p(e, r) : null, [e, r]);
|
|
125
|
+
}
|
|
126
|
+
function M(n) {
|
|
127
|
+
let r = e((e) => n ? n.subscribe(() => e()) : () => void 0, [n]), i = e(() => n?.value, [n]);
|
|
128
|
+
return t(r, i, i);
|
|
129
|
+
}
|
|
130
|
+
//#endregion
|
|
131
|
+
//#region ../ui-library/src/composites/widget-panel.tsx
|
|
132
|
+
l();
|
|
133
|
+
function N({ title: e, icon: t, headerRight: r, collapsible: i = !1, defaultOpen: a = !0, bodyClassName: o = "p-3", children: s }) {
|
|
134
|
+
let [c, l] = n(a), p = !i || c, m = /* @__PURE__ */ d(f, { children: [/* @__PURE__ */ d("span", {
|
|
135
|
+
className: "flex items-center gap-2 text-xs font-semibold uppercase tracking-wider text-foreground",
|
|
136
|
+
children: [t, e]
|
|
137
|
+
}), i ? u(c ? E : D, { className: "h-3.5 w-3.5 text-foreground-subtle" }) : r] }), h = `px-4 py-2 flex items-center justify-between ${p ? "border-b border-border" : ""}`;
|
|
138
|
+
return /* @__PURE__ */ d("div", {
|
|
139
|
+
className: "rounded-lg border border-border bg-surface overflow-hidden",
|
|
140
|
+
children: [i ? /* @__PURE__ */ u("button", {
|
|
141
|
+
type: "button",
|
|
142
|
+
onClick: () => l((e) => !e),
|
|
143
|
+
className: `w-full text-left ${h}`,
|
|
144
|
+
children: m
|
|
145
|
+
}) : /* @__PURE__ */ u("div", {
|
|
146
|
+
className: h,
|
|
147
|
+
children: m
|
|
148
|
+
}), p ? /* @__PURE__ */ u("div", {
|
|
149
|
+
className: o,
|
|
150
|
+
children: s
|
|
151
|
+
}) : null]
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
l(), _("camstack:player-overlays-state", null);
|
|
155
|
+
var P = _("camstack:player-overlays-actions", null);
|
|
156
|
+
function F(e) {
|
|
157
|
+
let t = r(P);
|
|
158
|
+
c(() => {
|
|
159
|
+
if (!(!t || !e)) return t.setLayer(e), () => t.removeLayer(e.id);
|
|
160
|
+
}, [t, e]);
|
|
161
|
+
}
|
|
162
|
+
//#endregion
|
|
163
|
+
export { k as a, _ as c, M as i, g as l, N as n, E as o, j as r, T as s, F as t, h as u };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { init as e } from "@module-federation/runtime";
|
|
2
|
+
//#region virtual:mf-REMOTE_ENTRY_SSR_ID:__mfe_internal__addon_model_studio_page__remoteEntry_js
|
|
3
|
+
var t;
|
|
4
|
+
async function n() {
|
|
5
|
+
return t ??= import("./virtual_mf-exposes-ssr___mfe_internal__addon_model_studio_page__remoteEntry_js-BoA99BYM.mjs").then((e) => e.default ?? e), t;
|
|
6
|
+
}
|
|
7
|
+
async function r(t = {}, n = []) {
|
|
8
|
+
let r = e({
|
|
9
|
+
name: "addon_model_studio_page",
|
|
10
|
+
remotes: [],
|
|
11
|
+
shared: {}
|
|
12
|
+
}), i = { from: "addon_model_studio_page" };
|
|
13
|
+
if (!(n.indexOf(i) >= 0)) {
|
|
14
|
+
n.push(i), r.initShareScopeMap("default", t);
|
|
15
|
+
try {
|
|
16
|
+
await Promise.all(await r.initializeSharing("default", {
|
|
17
|
+
strategy: "version-first",
|
|
18
|
+
from: "build",
|
|
19
|
+
initScope: n
|
|
20
|
+
}));
|
|
21
|
+
} catch (e) {
|
|
22
|
+
console.error("[Module Federation SSR]", e);
|
|
23
|
+
}
|
|
24
|
+
return r;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async function i(e) {
|
|
28
|
+
let t = await n();
|
|
29
|
+
if (!(e in t)) throw Error(`[Module Federation] Module ${e} does not exist in container.`);
|
|
30
|
+
return t[e]().then((e) => () => e);
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { i as get, r as init };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescriptor, r = Object.getOwnPropertyNames, i = Object.getPrototypeOf, a = Object.prototype.hasOwnProperty, o = (e, t) => () => (e && (t = e(e = 0)), t), s = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), c = (e, n) => {
|
|
3
|
+
let r = {};
|
|
4
|
+
for (var i in e) t(r, i, {
|
|
5
|
+
get: e[i],
|
|
6
|
+
enumerable: !0
|
|
7
|
+
});
|
|
8
|
+
return n || t(r, Symbol.toStringTag, { value: "Module" }), r;
|
|
9
|
+
}, l = (e, i, o, s) => {
|
|
10
|
+
if (i && typeof i == "object" || typeof i == "function") for (var c = r(i), l = 0, u = c.length, d; l < u; l++) d = c[l], !a.call(e, d) && d !== o && t(e, d, {
|
|
11
|
+
get: ((e) => i[e]).bind(null, d),
|
|
12
|
+
enumerable: !(s = n(i, d)) || s.enumerable
|
|
13
|
+
});
|
|
14
|
+
return e;
|
|
15
|
+
}, u = (n, r, a) => (a = n == null ? {} : e(i(n)), l(r || !n || !n.__esModule ? t(a, "default", {
|
|
16
|
+
value: n,
|
|
17
|
+
enumerable: !0
|
|
18
|
+
}) : a, n)), d = (e) => a.call(e, "module.exports") ? e["module.exports"] : l(t({}, "__esModule", { value: !0 }), e);
|
|
19
|
+
//#endregion
|
|
20
|
+
export { u as a, d as i, o as n, c as r, s as t };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { s as e } from "./player-overlays-CeF0YjKF.mjs";
|
|
2
|
+
var t = e("eye-off", [
|
|
3
|
+
["path", {
|
|
4
|
+
d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
|
|
5
|
+
key: "ct8e1f"
|
|
6
|
+
}],
|
|
7
|
+
["path", {
|
|
8
|
+
d: "M14.084 14.158a3 3 0 0 1-4.242-4.242",
|
|
9
|
+
key: "151rxh"
|
|
10
|
+
}],
|
|
11
|
+
["path", {
|
|
12
|
+
d: "M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",
|
|
13
|
+
key: "13bj9a"
|
|
14
|
+
}],
|
|
15
|
+
["path", {
|
|
16
|
+
d: "m2 2 20 20",
|
|
17
|
+
key: "1ooewy"
|
|
18
|
+
}]
|
|
19
|
+
]), n = e("square", [["rect", {
|
|
20
|
+
width: "18",
|
|
21
|
+
height: "18",
|
|
22
|
+
x: "3",
|
|
23
|
+
y: "3",
|
|
24
|
+
rx: "2",
|
|
25
|
+
key: "afitv7"
|
|
26
|
+
}]]), r = e("trash-2", [
|
|
27
|
+
["path", {
|
|
28
|
+
d: "M10 11v6",
|
|
29
|
+
key: "nco0om"
|
|
30
|
+
}],
|
|
31
|
+
["path", {
|
|
32
|
+
d: "M14 11v6",
|
|
33
|
+
key: "outv1u"
|
|
34
|
+
}],
|
|
35
|
+
["path", {
|
|
36
|
+
d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",
|
|
37
|
+
key: "miytrc"
|
|
38
|
+
}],
|
|
39
|
+
["path", {
|
|
40
|
+
d: "M3 6h18",
|
|
41
|
+
key: "d0wm0j"
|
|
42
|
+
}],
|
|
43
|
+
["path", {
|
|
44
|
+
d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",
|
|
45
|
+
key: "e791ji"
|
|
46
|
+
}]
|
|
47
|
+
]);
|
|
48
|
+
//#endregion
|
|
49
|
+
export { n, t as r, r as t };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region virtual:mf-exposes:__mfe_internal__addon_model_studio_page__remoteEntry_js
|
|
2
|
+
var e = {}, t = /* @__PURE__ */ new Set(), n = Promise.resolve();
|
|
3
|
+
async function r(e) {
|
|
4
|
+
let t = n.then(e, e);
|
|
5
|
+
return n = t.then(() => void 0, () => void 0), t;
|
|
6
|
+
}
|
|
7
|
+
async function i(n) {
|
|
8
|
+
if (typeof document > "u") return;
|
|
9
|
+
let r = e[n] || [];
|
|
10
|
+
await Promise.all(r.map((e) => {
|
|
11
|
+
let n = new URL(e, import.meta.url).href;
|
|
12
|
+
return t.has(n) || (t.add(n), document.querySelector(`link[rel="stylesheet"][data-mf-href="${n}"]`)) ? Promise.resolve() : new Promise((e, t) => {
|
|
13
|
+
let r = document.createElement("link");
|
|
14
|
+
r.rel = "stylesheet", r.href = n, r.setAttribute("data-mf-href", n), r.onload = () => e(), r.onerror = () => t(/* @__PURE__ */ Error(`[Module Federation] Failed to load CSS asset: ${n}`)), document.head.appendChild(r);
|
|
15
|
+
});
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
var a = { "./page": async () => {
|
|
19
|
+
await i("./page");
|
|
20
|
+
let e = await r(() => import("./_stub.js")), t = {};
|
|
21
|
+
return Object.assign(t, e), Object.defineProperty(t, "__esModule", {
|
|
22
|
+
value: !0,
|
|
23
|
+
enumerable: !1
|
|
24
|
+
}), t;
|
|
25
|
+
} };
|
|
26
|
+
//#endregion
|
|
27
|
+
export { a as default };
|