@camstack/addon-admin-ui 1.2.261 → 1.2.263
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/assets/{AddonCollectionPage--eDij6gR.js → AddonCollectionPage-J8z6UMQo.js} +1 -1
- package/dist/assets/{Addons-DPcMLHlz.js → Addons-CM_Y7pMH.js} +1 -1
- package/dist/assets/{AdminTabs-BK7N8lsV.js → AdminTabs-hyuVAxxz.js} +1 -1
- package/dist/assets/{AiProfiles-B7jyJdda.js → AiProfiles-DClxdmox.js} +1 -1
- package/dist/assets/{BrokerForm-ITsMv2qE.js → BrokerForm-TNZ9QyfX.js} +1 -1
- package/dist/assets/{Build-BBPfMW38.js → Build-YTaIKS1B.js} +3 -3
- package/dist/assets/{Capabilities-CuUy6amU.js → Capabilities-CO44-o71.js} +1 -1
- package/dist/assets/{CapabilityBadges-crNVvPMW.js → CapabilityBadges-Bo-BH2uc.js} +1 -1
- package/dist/assets/{Cluster-CTZlYWRi.js → Cluster-98d3x5B3.js} +1 -1
- package/dist/assets/{Data-vU8VVocG.js → Data-oGeSaknS.js} +1 -1
- package/dist/assets/{DetectionIntelligence-CsXbDOMG.js → DetectionIntelligence-PdGRL8lg.js} +1 -1
- package/dist/assets/{DeviceAggregateSection-Bns6q4dh.js → DeviceAggregateSection-BEXHugHL.js} +1 -1
- package/dist/assets/{DeviceDetail-Bf9bvxlm.js → DeviceDetail-CUt2USC6.js} +2 -2
- package/dist/assets/{Devices-DyfNHzjP.js → Devices-shZWP5Yg.js} +1 -1
- package/dist/assets/{EmbedPlayerPage-OeC5zBSX.js → EmbedPlayerPage-DV83pkcB.js} +1 -1
- package/dist/assets/{Events-bi-6IwJN.js → Events-BFRPAHa4.js} +1 -1
- package/dist/assets/FormBuilder-C3vJBSX-.js +1 -0
- package/dist/assets/{Identity-BBIh2my-.js → Identity-CYbD_-ic.js} +1 -1
- package/dist/assets/{IntegrationDetail-CKWEoy9C.js → IntegrationDetail-Baziqx9Y.js} +1 -1
- package/dist/assets/{Integrations-Ciw2g5r2.js → Integrations--B5a_e2E.js} +1 -1
- package/dist/assets/{Integrations-BWWIE00S.js → Integrations-DiLGO-6Z.js} +1 -1
- package/dist/assets/{Locations-2ZAHX5o0.js → Locations-KB7V5Ppo.js} +2 -2
- package/dist/assets/{Logs-D671CkLk.js → Logs-DoKzOnUi.js} +1 -1
- package/dist/assets/{MotionZonesSettings-BLY_TxNO.js → MotionZonesSettings-D1gJv8PU.js} +1 -1
- package/dist/assets/{MyAccess-DhSsXA2u.js → MyAccess-DfxJNeSK.js} +1 -1
- package/dist/assets/{Network-B2odAKC8.js → Network-D-Dzd878.js} +1 -1
- package/dist/assets/{NodeAddonsSettingsPanel-D5FQHmR2.js → NodeAddonsSettingsPanel-cAEQIZgk.js} +1 -1
- package/dist/assets/{NodeInferenceDevices-C7Az-W_O.js → NodeInferenceDevices-KxYvEA3S.js} +1 -1
- package/dist/assets/Notifications-CDpKRLvB.js +1 -0
- package/dist/assets/{Pipeline-DoJ8nNnx.js → Pipeline-BG4a7x11.js} +1 -1
- package/dist/assets/{Plates-IKZ7Utth.js → Plates-BJGA6QU4.js} +1 -1
- package/dist/assets/{PrivacyMaskSettings-CqzEZNtz.js → PrivacyMaskSettings-BafWGIBw.js} +1 -1
- package/dist/assets/{ProviderIcon-BAV-Rvhs.js → ProviderIcon-Ier5778X.js} +1 -1
- package/dist/assets/{Recordings-BP0eyo5u.js → Recordings-BJpeP7u1.js} +1 -1
- package/dist/assets/{ScanNetworkModal-CU9cvVBy.js → ScanNetworkModal-CXa0dvg6.js} +1 -1
- package/dist/assets/{SceneMonitorEditor-v5nh2Lxc.js → SceneMonitorEditor-ClVY678X.js} +1 -1
- package/dist/assets/{Scenes-D1EvPYdu.js → Scenes-BRnLcHWu.js} +1 -1
- package/dist/assets/{Settings-dgHQMbm7.js → Settings-DnxZIVgH.js} +1 -1
- package/dist/assets/{Showroom-CsAbqvVD.js → Showroom-DgJj4G1e.js} +1 -1
- package/dist/assets/{StorageLocationsPanel-C2e4eB8x.js → StorageLocationsPanel-BCoV1JYL.js} +1 -1
- package/dist/assets/{Terminal-hYboOO7b.js → Terminal-Cp-ihrhX.js} +1 -1
- package/dist/assets/{Viewer-B02QBhjE.js → Viewer-Cb3MHJA6.js} +1 -1
- package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-BKuXrkMW.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-CVllR8dg.js} +1 -1
- package/dist/assets/{archive-DIvzskcI.js → archive-fqvC5Brj.js} +1 -1
- package/dist/assets/{authed-media-Bd-QFC5W.js → authed-media-CCdIEUUc.js} +1 -1
- package/dist/assets/{boxes-CSKKBi4u.js → boxes-ClWpPtWg.js} +1 -1
- package/dist/assets/circle-slash-Nc-f9yJq.js +1 -0
- package/dist/assets/{debounced-invalidate-BV3nDQPS.js → debounced-invalidate-DgHMg9UT.js} +1 -1
- package/dist/assets/{dist-C4v18q8H.js → dist-B2jY4wyb.js} +1 -1
- package/dist/assets/dist-DcOFqKuw.js +349 -0
- package/dist/assets/{face-bbox-BvbTxaCS.js → face-bbox-eM3CYrIO.js} +1 -1
- package/dist/assets/{hard-drive-download-B2GSnQHz.js → hard-drive-download-DU8y4SBf.js} +1 -1
- package/dist/assets/{hostInit-DSbv4-s9.js → hostInit-DLZ0fmTR.js} +1 -1
- package/dist/assets/{index-DAAsNMtg.js → index-Wx8qmf6S.js} +3 -3
- package/dist/assets/{layers-BBmKM8YT.js → layers-CRY7Jre0.js} +1 -1
- package/dist/assets/{location-owned-usage-kZ5sn58L.js → location-owned-usage-D96OhJZW.js} +1 -1
- package/dist/assets/{mf-entry-bootstrap-0-86b82436.js → mf-entry-bootstrap-0-c1d3ec86.js} +2 -2
- package/dist/assets/{player-overlays-DRIy-fCw.js → player-overlays-CjslyEYg.js} +1 -1
- package/dist/assets/remoteEntry-BcN492UK.js +1 -0
- package/dist/assets/{send-DHfS_uWJ.js → send-DmQ6sJmy.js} +1 -1
- package/dist/assets/{settings-2-BBZVr4ih.js → settings-2-D5fIb1dV.js} +1 -1
- package/dist/assets/{square-check-big-D11rDTUh.js → square-check-big-BTFyRrw3.js} +1 -1
- package/dist/assets/src-DPG5IJP-.js +349 -0
- package/dist/assets/src-D_A-r19A.js +67 -0
- package/dist/assets/{use-scenes-feed-BrKLinIU.js → use-scenes-feed-DOxdzFvn.js} +1 -1
- package/dist/assets/{use-stationary-objects-BK5BDo2O.js → use-stationary-objects-D4OTJ7li.js} +1 -1
- package/dist/assets/useEventInvalidation-zyhPhPWm.js +1 -0
- package/dist/assets/{useNodeUrlSelection-DjLiOaP3.js → useNodeUrlSelection-DGnePN6G.js} +1 -1
- package/dist/assets/user-round-DfBfVsLc.js +1 -0
- package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-BmTwfqc6.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-DsQi1FDd.js} +2 -2
- package/dist/index.html +5 -5
- package/dist/server/addon.js +243 -42
- package/package.json +1 -1
- package/dist/assets/FormBuilder-GwoY4eBk.js +0 -1
- package/dist/assets/Notifications-Blz8iPpb.js +0 -1
- package/dist/assets/circle-slash-CteLsla4.js +0 -1
- package/dist/assets/dist-BbIc-rCH.js +0 -349
- package/dist/assets/remoteEntry-554FIKL7.js +0 -1
- package/dist/assets/src-CsP-9WJl.js +0 -349
- package/dist/assets/src-CvEqSgs7.js +0 -67
- package/dist/assets/useEventInvalidation-apdOrvxA.js +0 -1
- package/dist/assets/user-round-kptqRABF.js +0 -1
package/dist/server/addon.js
CHANGED
|
@@ -5361,7 +5361,7 @@ var ZodIssueCode = {
|
|
|
5361
5361
|
var ZodFirstPartyTypeKind;
|
|
5362
5362
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5363
5363
|
//#endregion
|
|
5364
|
-
//#region ../types/dist/sleep-
|
|
5364
|
+
//#region ../types/dist/sleep-D_4W7xuQ.mjs
|
|
5365
5365
|
/**
|
|
5366
5366
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5367
5367
|
* window to float samples (D455).
|
|
@@ -7356,11 +7356,17 @@ var RawStateResultSchema = object({
|
|
|
7356
7356
|
method(object({ deviceId: number() }), array(StreamSourceEntrySchema)), method(object({ deviceId: number() }), array(ConfigEntrySchema$1)), method(object({
|
|
7357
7357
|
deviceId: number(),
|
|
7358
7358
|
values: record(string(), unknown())
|
|
7359
|
-
}), _void(), {
|
|
7359
|
+
}), _void(), {
|
|
7360
|
+
kind: "mutation",
|
|
7361
|
+
auth: "admin"
|
|
7362
|
+
}), method(object({
|
|
7360
7363
|
deviceId: number(),
|
|
7361
7364
|
action: string().min(1),
|
|
7362
7365
|
input: unknown()
|
|
7363
|
-
}), unknown(), { kind: "mutation" }), method(object({ deviceId: number() }), _void(), {
|
|
7366
|
+
}), unknown(), { kind: "mutation" }), method(object({ deviceId: number() }), _void(), {
|
|
7367
|
+
kind: "mutation",
|
|
7368
|
+
auth: "admin"
|
|
7369
|
+
}), method(object({ deviceId: number() }), unknown().nullable()), method(object({ deviceId: number() }), RawStateResultSchema.nullable(), { auth: "protected" });
|
|
7364
7370
|
new Set([
|
|
7365
7371
|
"track",
|
|
7366
7372
|
"summary",
|
|
@@ -11584,7 +11590,7 @@ method(ListInputSchema, array(BrokerInfoSchema$1)), method(GetInputSchema, Broke
|
|
|
11584
11590
|
}), method(UnsubscribeInputSchema, _void(), {
|
|
11585
11591
|
kind: "mutation",
|
|
11586
11592
|
auth: "admin"
|
|
11587
|
-
}), method(GetStateInputSchema, unknown().nullable()), method(_void(), RegistryStatusSchema);
|
|
11593
|
+
}), method(GetStateInputSchema, unknown().nullable(), { auth: "admin" }), method(_void(), RegistryStatusSchema);
|
|
11588
11594
|
DeviceType.Camera;
|
|
11589
11595
|
/** Stream delivery format. (Relocated from the retired `streaming-engine` cap.) */
|
|
11590
11596
|
var StreamFormatSchema = _enum([
|
|
@@ -12665,17 +12671,20 @@ method(object({
|
|
|
12665
12671
|
namespace: string().optional(),
|
|
12666
12672
|
collection: string(),
|
|
12667
12673
|
key: string()
|
|
12668
|
-
}), unknown()), method(object({
|
|
12674
|
+
}), unknown(), { auth: "admin" }), method(object({
|
|
12669
12675
|
namespace: string().optional(),
|
|
12670
12676
|
collection: string(),
|
|
12671
12677
|
key: string(),
|
|
12672
12678
|
value: unknown()
|
|
12673
|
-
}), _void(), {
|
|
12679
|
+
}), _void(), {
|
|
12680
|
+
kind: "mutation",
|
|
12681
|
+
auth: "admin"
|
|
12682
|
+
}), method(object({
|
|
12674
12683
|
namespace: string().optional(),
|
|
12675
12684
|
collection: string(),
|
|
12676
12685
|
filter: QueryFilterSchema.optional(),
|
|
12677
12686
|
columns: array(string()).readonly().optional()
|
|
12678
|
-
}), array(SettingsRecordSchema).readonly()), method(object({
|
|
12687
|
+
}), array(SettingsRecordSchema).readonly(), { auth: "admin" }), method(object({
|
|
12679
12688
|
namespace: string().optional(),
|
|
12680
12689
|
collection: string(),
|
|
12681
12690
|
/** Declared columns identifying the slot; must be covered by a UNIQUE
|
|
@@ -12685,7 +12694,10 @@ method(object({
|
|
|
12685
12694
|
}), object({
|
|
12686
12695
|
/** The id the row HAS: assigned by SQLite on an insert, or the existing
|
|
12687
12696
|
* row's own id on an update. */
|
|
12688
|
-
id: union([string(), number()]) }), {
|
|
12697
|
+
id: union([string(), number()]) }), {
|
|
12698
|
+
kind: "mutation",
|
|
12699
|
+
auth: "admin"
|
|
12700
|
+
}), method(object({
|
|
12689
12701
|
namespace: string().optional(),
|
|
12690
12702
|
collection: string(),
|
|
12691
12703
|
record: object({
|
|
@@ -12698,38 +12710,56 @@ id: union([string(), number()]) }), { kind: "mutation" }), method(object({
|
|
|
12698
12710
|
* for an absent one, or the ROWID SQLite assigned on an `INTEGER`
|
|
12699
12711
|
* primary key — which is the only place an auto key is knowable.
|
|
12700
12712
|
*/
|
|
12701
|
-
id: union([string(), number()]) }), {
|
|
12713
|
+
id: union([string(), number()]) }), {
|
|
12714
|
+
kind: "mutation",
|
|
12715
|
+
auth: "admin"
|
|
12716
|
+
}), method(object({
|
|
12702
12717
|
namespace: string().optional(),
|
|
12703
12718
|
collection: string(),
|
|
12704
12719
|
records: array(BulkRecordSchema).readonly()
|
|
12705
|
-
}), object({ inserted: number().int() }), {
|
|
12720
|
+
}), object({ inserted: number().int() }), {
|
|
12721
|
+
kind: "mutation",
|
|
12722
|
+
auth: "admin"
|
|
12723
|
+
}), method(object({
|
|
12706
12724
|
namespace: string().optional(),
|
|
12707
12725
|
collection: string(),
|
|
12708
12726
|
id: string(),
|
|
12709
12727
|
data: record(string(), unknown())
|
|
12710
|
-
}), _void(), {
|
|
12728
|
+
}), _void(), {
|
|
12729
|
+
kind: "mutation",
|
|
12730
|
+
auth: "admin"
|
|
12731
|
+
}), method(object({
|
|
12711
12732
|
namespace: string().optional(),
|
|
12712
12733
|
collection: string(),
|
|
12713
12734
|
key: string()
|
|
12714
|
-
}), _void(), {
|
|
12735
|
+
}), _void(), {
|
|
12736
|
+
kind: "mutation",
|
|
12737
|
+
auth: "admin"
|
|
12738
|
+
}), method(object({
|
|
12715
12739
|
namespace: string().optional(),
|
|
12716
12740
|
collection: string(),
|
|
12717
12741
|
filter: MutationFilterSchema
|
|
12718
|
-
}), object({ deleted: number().int() }), {
|
|
12742
|
+
}), object({ deleted: number().int() }), {
|
|
12743
|
+
kind: "mutation",
|
|
12744
|
+
auth: "admin"
|
|
12745
|
+
}), method(object({
|
|
12719
12746
|
namespace: string().optional(),
|
|
12720
12747
|
collection: string(),
|
|
12721
12748
|
filter: MutationFilterSchema,
|
|
12722
12749
|
data: record(string(), unknown())
|
|
12723
|
-
}), object({ updated: number().int() }), {
|
|
12750
|
+
}), object({ updated: number().int() }), {
|
|
12751
|
+
kind: "mutation",
|
|
12752
|
+
auth: "admin"
|
|
12753
|
+
}), method(object({
|
|
12724
12754
|
namespace: string().optional(),
|
|
12725
12755
|
collection: string(),
|
|
12726
12756
|
filter: QueryFilterSchema.optional()
|
|
12727
|
-
}), number()), method(object({
|
|
12757
|
+
}), number(), { auth: "admin" }), method(object({
|
|
12728
12758
|
namespace: string().optional(),
|
|
12729
12759
|
collection: string(),
|
|
12730
12760
|
fields: array(AggregateFieldSchema).readonly(),
|
|
12731
12761
|
filter: QueryFilterSchema.optional()
|
|
12732
|
-
}), AggregateResultSchema), method(object({
|
|
12762
|
+
}), AggregateResultSchema, { auth: "admin" }), method(object({
|
|
12733
12763
|
namespace: string().optional(),
|
|
12734
12764
|
collection: string(),
|
|
12735
12765
|
field: string(),
|
|
@@ -12739,15 +12769,18 @@ id: union([string(), number()]) }), { kind: "mutation" }), method(object({
|
|
|
12739
12769
|
}), array(object({
|
|
12740
12770
|
bucket: number().int(),
|
|
12741
12771
|
count: number().int()
|
|
12742
|
-
})).readonly()), method(object({
|
|
12772
|
+
})).readonly(), { auth: "admin" }), method(object({
|
|
12743
12773
|
namespace: string().optional(),
|
|
12744
12774
|
collection: string()
|
|
12745
|
-
}), boolean()), method(object({
|
|
12775
|
+
}), boolean(), { auth: "admin" }), method(object({
|
|
12746
12776
|
namespace: string().optional(),
|
|
12747
12777
|
collection: string(),
|
|
12748
12778
|
columns: array(CollectionColumnSchema).readonly(),
|
|
12749
12779
|
indexes: array(CollectionIndexSchema).readonly().optional()
|
|
12750
|
-
}), _void(), {
|
|
12780
|
+
}), _void(), {
|
|
12781
|
+
kind: "mutation",
|
|
12782
|
+
auth: "admin"
|
|
12783
|
+
});
|
|
12751
12784
|
/**
|
|
12752
12785
|
* What one engine says about itself. The orchestrator uses `kind` to pick
|
|
12753
12786
|
* a registrant for a collection; `engineId` is what a log line names when
|
|
@@ -13431,7 +13464,13 @@ var ExposeInputSchema = object({
|
|
|
13431
13464
|
capabilities: array(string()).optional()
|
|
13432
13465
|
});
|
|
13433
13466
|
var UnexposeInputSchema = object({ deviceId: string() });
|
|
13434
|
-
method(_void(), DeviceExportStatusSchema), method(_void(), array(DeviceKindSchema)), method(_void(), array(ExposedDeviceSchema)), method(ExposeInputSchema, _void(), {
|
|
13467
|
+
method(_void(), DeviceExportStatusSchema), method(_void(), array(DeviceKindSchema)), method(_void(), array(ExposedDeviceSchema)), method(ExposeInputSchema, _void(), {
|
|
13468
|
+
kind: "mutation",
|
|
13469
|
+
auth: "admin"
|
|
13470
|
+
}), method(UnexposeInputSchema, _void(), {
|
|
13471
|
+
kind: "mutation",
|
|
13472
|
+
auth: "admin"
|
|
13473
|
+
});
|
|
13435
13474
|
/** Wire/storage schema for one icon id. */
|
|
13436
13475
|
var LocationIconIdSchema = _enum([
|
|
13437
13476
|
"map-pin",
|
|
@@ -13935,7 +13974,10 @@ method(object({
|
|
|
13935
13974
|
kind: "mutation",
|
|
13936
13975
|
auth: "admin",
|
|
13937
13976
|
timeoutMs: 12 * 6e4
|
|
13938
|
-
}), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), {
|
|
13977
|
+
}), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), {
|
|
13978
|
+
kind: "mutation",
|
|
13979
|
+
auth: "admin"
|
|
13980
|
+
}), method(object({ deviceId: number() }), record(string(), unknown()), { auth: "admin" }), method(object({ deviceId: number() }), record(string(), unknown()), { auth: "admin" }), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
|
|
13939
13981
|
deviceId: number(),
|
|
13940
13982
|
name: string()
|
|
13941
13983
|
}), _void(), {
|
|
@@ -14140,7 +14182,7 @@ method(object({
|
|
|
14140
14182
|
}), method(object({ deviceId: number() }), array(StreamProbeResultSchema), {
|
|
14141
14183
|
kind: "mutation",
|
|
14142
14184
|
auth: "admin"
|
|
14143
|
-
}), method(object({ deviceId: number() }), DeviceBindingsForDeviceSchema), method(object({ deviceIds: array(number()) }), array(DeviceBindingsForDeviceSchema)), method(object({}), array(DeviceBindingsForDeviceSchema)), method(object({
|
|
14185
|
+
}), method(object({ deviceId: number() }), DeviceBindingsForDeviceSchema), method(object({ deviceIds: array(number()) }), array(DeviceBindingsForDeviceSchema)), method(object({}), array(DeviceBindingsForDeviceSchema)), method(object({ capNames: array(string().min(1)).min(1).max(16) }), array(number())), method(object({
|
|
14144
14186
|
deviceId: number(),
|
|
14145
14187
|
capName: string(),
|
|
14146
14188
|
wrapperAddonId: string(),
|
|
@@ -15687,7 +15729,22 @@ var StatusSchema = object({
|
|
|
15687
15729
|
brokerCount: number(),
|
|
15688
15730
|
embeddedRunning: boolean()
|
|
15689
15731
|
});
|
|
15690
|
-
method(_void(), array(BrokerInfoSchema)), method(IdInputSchema, BrokerConnectionDetailsSchema
|
|
15732
|
+
method(_void(), array(BrokerInfoSchema)), method(IdInputSchema, BrokerConnectionDetailsSchema, { auth: "admin" }), method(AddBrokerInputSchema, AddBrokerResultSchema, {
|
|
15733
|
+
kind: "mutation",
|
|
15734
|
+
auth: "admin"
|
|
15735
|
+
}), method(IdInputSchema, _void(), {
|
|
15736
|
+
kind: "mutation",
|
|
15737
|
+
auth: "admin"
|
|
15738
|
+
}), method(IdInputSchema, TestResultSchema$1, {
|
|
15739
|
+
kind: "mutation",
|
|
15740
|
+
auth: "admin"
|
|
15741
|
+
}), method(StartEmbeddedInputSchema, StartEmbeddedResultSchema, {
|
|
15742
|
+
kind: "mutation",
|
|
15743
|
+
auth: "admin"
|
|
15744
|
+
}), method(IdInputSchema, _void(), {
|
|
15745
|
+
kind: "mutation",
|
|
15746
|
+
auth: "admin"
|
|
15747
|
+
}), method(_void(), StatusSchema);
|
|
15691
15748
|
var NetworkEndpointSchema = object({
|
|
15692
15749
|
url: string(),
|
|
15693
15750
|
hostname: string(),
|
|
@@ -15982,6 +16039,18 @@ var TargetKindSchema = object({
|
|
|
15982
16039
|
*/
|
|
15983
16040
|
iconMediaType: string().optional(),
|
|
15984
16041
|
configSchema: ConfigSchemaPassthrough,
|
|
16042
|
+
/**
|
|
16043
|
+
* The config keys that decide WHERE this kind's secrets are sent (server,
|
|
16044
|
+
* base URL, instance, chat, recipient). A save that changes any of them
|
|
16045
|
+
* while leaving a secret redacted is refused by the provider (D634), so an
|
|
16046
|
+
* editor uses this to ask for the secret on exactly those edits instead of
|
|
16047
|
+
* on every edit.
|
|
16048
|
+
*
|
|
16049
|
+
* Optional: absent from a provider that holds no secret (the Home Assistant
|
|
16050
|
+
* kinds) and from a provider older than this field — an editor that finds
|
|
16051
|
+
* it absent must assume ANY edit may need the secret.
|
|
16052
|
+
*/
|
|
16053
|
+
destinationKeys: array(string()).optional(),
|
|
15985
16054
|
supportsDiscovery: boolean(),
|
|
15986
16055
|
caps: TargetKindCapsSchema
|
|
15987
16056
|
});
|
|
@@ -16020,19 +16089,34 @@ var SendResultSchema = object({
|
|
|
16020
16089
|
});
|
|
16021
16090
|
/** Same shape as SendResult — kept as a distinct name for the test panel. */
|
|
16022
16091
|
var TestResultSchema = SendResultSchema;
|
|
16023
|
-
method(object({}), array(TargetKindSchema)), method(object({}), array(TargetSchema)), method(object({
|
|
16092
|
+
method(object({}), array(TargetKindSchema)), method(object({}), array(TargetSchema), { auth: "admin" }), method(object({
|
|
16024
16093
|
kind: string(),
|
|
16025
16094
|
config: record(string(), unknown()).optional()
|
|
16026
|
-
}), array(DiscoveredTargetSchema)), method(object({
|
|
16095
|
+
}), array(DiscoveredTargetSchema), { auth: "admin" }), method(object({
|
|
16027
16096
|
targetId: string(),
|
|
16028
16097
|
notification: NotificationSchema
|
|
16029
|
-
}), SendResultSchema, {
|
|
16098
|
+
}), SendResultSchema, {
|
|
16099
|
+
kind: "mutation",
|
|
16100
|
+
auth: "admin"
|
|
16101
|
+
}), method(object({
|
|
16030
16102
|
targetId: string(),
|
|
16031
16103
|
sample: NotificationSchema.optional()
|
|
16032
|
-
}), TestResultSchema, {
|
|
16104
|
+
}), TestResultSchema, {
|
|
16105
|
+
kind: "mutation",
|
|
16106
|
+
auth: "admin"
|
|
16107
|
+
}), method(object({ target: TargetSchema }), TargetSchema, {
|
|
16108
|
+
kind: "mutation",
|
|
16109
|
+
auth: "admin"
|
|
16110
|
+
}), method(object({ targetId: string() }), _void(), {
|
|
16111
|
+
kind: "mutation",
|
|
16112
|
+
auth: "admin"
|
|
16113
|
+
}), method(object({
|
|
16033
16114
|
targetId: string(),
|
|
16034
16115
|
enabled: boolean()
|
|
16035
|
-
}), _void(), {
|
|
16116
|
+
}), _void(), {
|
|
16117
|
+
kind: "mutation",
|
|
16118
|
+
auth: "admin"
|
|
16119
|
+
});
|
|
16036
16120
|
new Set([
|
|
16037
16121
|
{
|
|
16038
16122
|
id: "person",
|
|
@@ -16875,6 +16959,19 @@ var NcSystemEventConditionSchema = object({
|
|
|
16875
16959
|
* does not carry) matches no `deviceTypes` list.
|
|
16876
16960
|
*/
|
|
16877
16961
|
deviceTypes: array(string().min(1)).min(1).optional(),
|
|
16962
|
+
/**
|
|
16963
|
+
* Devices this rule NEVER speaks about, whatever else matched. Scoped to the
|
|
16964
|
+
* same kind family as `deviceIds` (`systemEventFilterApplies(kind,
|
|
16965
|
+
* 'deviceIds')`) and applied AFTER it: include first, then exclude. A
|
|
16966
|
+
* consumable subject (`consumable:<id>:<key>`) is excluded by its device id.
|
|
16967
|
+
*
|
|
16968
|
+
* It never fails closed: a subject that carries no device id is not in the
|
|
16969
|
+
* list, so it is not excluded. "Every battery except the one thermometer that
|
|
16970
|
+
* reads 0 % forever" is the question this answers — expressed as an include
|
|
16971
|
+
* list it would have to name every other battery device, and every device
|
|
16972
|
+
* adopted later would be silently left out (D636).
|
|
16973
|
+
*/
|
|
16974
|
+
excludeDeviceIds: array(number().int()).min(1).optional(),
|
|
16878
16975
|
nodeIds: array(string().min(1)).min(1).optional(),
|
|
16879
16976
|
packageNames: array(string().min(1)).min(1).optional()
|
|
16880
16977
|
});
|
|
@@ -23408,41 +23505,65 @@ var ProviderListEntrySchema = discriminatedUnion("shouldSaveDiskSpace", [object(
|
|
|
23408
23505
|
method(object({
|
|
23409
23506
|
location: StorageLocationRefSchema,
|
|
23410
23507
|
relativePath: string()
|
|
23411
|
-
}), string()), method(object({
|
|
23508
|
+
}), string(), { auth: "admin" }), method(object({
|
|
23412
23509
|
location: StorageLocationRefSchema,
|
|
23413
23510
|
relativePath: string(),
|
|
23414
23511
|
data: _instanceof(Uint8Array)
|
|
23415
|
-
}), _void(), {
|
|
23512
|
+
}), _void(), {
|
|
23513
|
+
kind: "mutation",
|
|
23514
|
+
auth: "admin"
|
|
23515
|
+
}), method(object({
|
|
23416
23516
|
location: StorageLocationRefSchema,
|
|
23417
23517
|
relativePath: string()
|
|
23418
|
-
}), _instanceof(Uint8Array)), method(object({
|
|
23518
|
+
}), _instanceof(Uint8Array), { auth: "admin" }), method(object({
|
|
23419
23519
|
location: StorageLocationRefSchema,
|
|
23420
23520
|
relativePath: string()
|
|
23421
|
-
}), boolean()), method(object({
|
|
23521
|
+
}), boolean(), { auth: "admin" }), method(object({
|
|
23422
23522
|
location: StorageLocationRefSchema,
|
|
23423
23523
|
prefix: string().optional()
|
|
23424
|
-
}), array(string()).readonly()), method(object({
|
|
23524
|
+
}), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
23425
23525
|
location: StorageLocationRefSchema,
|
|
23426
23526
|
relativePath: string()
|
|
23427
|
-
}), _void(), {
|
|
23527
|
+
}), _void(), {
|
|
23528
|
+
kind: "mutation",
|
|
23529
|
+
auth: "admin"
|
|
23530
|
+
}), method(object({ location: StorageLocationRefSchema }), number().nullable()), method(object({
|
|
23428
23531
|
location: StorageLocationRefSchema,
|
|
23429
23532
|
relativePath: string(),
|
|
23430
23533
|
sizeBytes: number().optional()
|
|
23431
|
-
}), object({ uploadId: string() }), {
|
|
23534
|
+
}), object({ uploadId: string() }), {
|
|
23535
|
+
kind: "mutation",
|
|
23536
|
+
auth: "admin"
|
|
23537
|
+
}), method(object({
|
|
23432
23538
|
uploadId: string(),
|
|
23433
23539
|
offset: number(),
|
|
23434
23540
|
data: _instanceof(Uint8Array)
|
|
23435
|
-
}), _void(), {
|
|
23541
|
+
}), _void(), {
|
|
23542
|
+
kind: "mutation",
|
|
23543
|
+
auth: "admin"
|
|
23544
|
+
}), method(object({ uploadId: string() }), _void(), {
|
|
23545
|
+
kind: "mutation",
|
|
23546
|
+
auth: "admin"
|
|
23547
|
+
}), method(object({ uploadId: string() }), _void(), {
|
|
23548
|
+
kind: "mutation",
|
|
23549
|
+
auth: "admin"
|
|
23550
|
+
}), method(object({
|
|
23436
23551
|
location: StorageLocationRefSchema,
|
|
23437
23552
|
relativePath: string()
|
|
23438
23553
|
}), object({
|
|
23439
23554
|
downloadId: string(),
|
|
23440
23555
|
sizeBytes: number()
|
|
23441
|
-
}), {
|
|
23556
|
+
}), {
|
|
23557
|
+
kind: "mutation",
|
|
23558
|
+
auth: "admin"
|
|
23559
|
+
}), method(object({
|
|
23442
23560
|
downloadId: string(),
|
|
23443
23561
|
offset: number(),
|
|
23444
23562
|
length: number()
|
|
23445
|
-
}), _instanceof(Uint8Array)
|
|
23563
|
+
}), _instanceof(Uint8Array), { auth: "admin" }), method(object({ downloadId: string() }), _void(), {
|
|
23564
|
+
kind: "mutation",
|
|
23565
|
+
auth: "admin"
|
|
23566
|
+
}), method(object({ type: StorageLocationTypeSchema.optional() }), array(StorageLocationSchema).readonly()), method(_void(), array(StorageLocationDeclarationSchema).readonly()), method(StorageLocationSchema.omit({
|
|
23446
23567
|
createdAt: true,
|
|
23447
23568
|
updatedAt: true
|
|
23448
23569
|
}), StorageLocationSchema, {
|
|
@@ -25018,7 +25139,67 @@ var WebrtcLadderDecisionSchema = object({
|
|
|
25018
25139
|
serverSending: boolean().nullable(),
|
|
25019
25140
|
/** Epoch ms. The overlay prints its age; a decision from 40 minutes ago
|
|
25020
25141
|
* must not read like one from this second. */
|
|
25021
|
-
at: number()
|
|
25142
|
+
at: number(),
|
|
25143
|
+
/** The broker's own cause when it is finer than `cause` can carry, e.g.
|
|
25144
|
+
* `trial-revert` (reported as `stall`/`loss` for older consumers). Optional:
|
|
25145
|
+
* an older server strips it instead of rejecting the answer. */
|
|
25146
|
+
causeDetail: string().optional()
|
|
25147
|
+
});
|
|
25148
|
+
var WebrtcClimbHoldSchema = object({
|
|
25149
|
+
/** `stall-building` — the client receives ≪ what is sent; `delivery` — the
|
|
25150
|
+
* current rung is not landing whole; `no-evidence` — no receiver feedback;
|
|
25151
|
+
* `warming` — healthy, accumulating the streak; `cooldown` — too soon after
|
|
25152
|
+
* a change; `capacity` — a MEASURED probe below the next rung's bar;
|
|
25153
|
+
* `try-unclean` — no capacity evidence, and the path is not clean enough to
|
|
25154
|
+
* try; `try-backoff` — a try reverted, waiting out its backoff; `trial` —
|
|
25155
|
+
* this rung IS a try, reverting if it does not land; `suspended` —
|
|
25156
|
+
* recorded playback on the track. */
|
|
25157
|
+
code: string(),
|
|
25158
|
+
/** The rung a climb would go to. */
|
|
25159
|
+
nextTier: CamProfileSchema,
|
|
25160
|
+
/** Bytes received ÷ bytes sent over the delivery window (≥ one GOP). */
|
|
25161
|
+
deliveryRatio: number().nullable(),
|
|
25162
|
+
deliveryWindowMs: number().nullable(),
|
|
25163
|
+
/** The ratio a climb requires. */
|
|
25164
|
+
climbDeliveryRatio: number(),
|
|
25165
|
+
/** The receiver's bandwidth estimate (REMB), kbps. Capped by what is sent. */
|
|
25166
|
+
capacityKbps: number().nullable(),
|
|
25167
|
+
/** The viewer's downlink probe for this session, kbps. */
|
|
25168
|
+
probeKbps: number().nullable(),
|
|
25169
|
+
/** The next rung's measured bitrate, kbps. */
|
|
25170
|
+
nextTierKbps: number().nullable(),
|
|
25171
|
+
capacityMargin: number(),
|
|
25172
|
+
/** The capacity a climb to `nextTier` needs, kbps (bitrate × margin, or the
|
|
25173
|
+
* client ladder threshold when the rung has measured nothing). */
|
|
25174
|
+
neededKbps: number().nullable(),
|
|
25175
|
+
/** For `try-unclean`: which clean-path condition failed (a `WebrtcTryBlocker`,
|
|
25176
|
+
* carried as a string for the same reason as `code`). */
|
|
25177
|
+
tryBlockedBy: string().nullable(),
|
|
25178
|
+
/** The delivery ratio and the loss ratio a try requires / must stay under.
|
|
25179
|
+
* Optional, like every field added to this schema after it first shipped:
|
|
25180
|
+
* the router validates output, so a REQUIRED new field makes a newer server
|
|
25181
|
+
* reject an older broker's whole answer (review m1). */
|
|
25182
|
+
tryDeliveryRatio: number().optional(),
|
|
25183
|
+
tryMaxLossRatio: number().optional(),
|
|
25184
|
+
/** For `try-backoff`: time until the next try, ms. */
|
|
25185
|
+
retryInMs: number().nullable(),
|
|
25186
|
+
/** The last try that reverted in this viewer session. */
|
|
25187
|
+
lastRevert: object({
|
|
25188
|
+
tier: CamProfileSchema,
|
|
25189
|
+
deliveryRatio: number().nullable(),
|
|
25190
|
+
stalled: boolean(),
|
|
25191
|
+
at: number()
|
|
25192
|
+
}).nullable(),
|
|
25193
|
+
/** For `trial`: how long this rung has been on trial, and for how long it must hold. */
|
|
25194
|
+
trialForMs: number().nullable(),
|
|
25195
|
+
trialMs: number().nullable(),
|
|
25196
|
+
healthyForMs: number().nullable(),
|
|
25197
|
+
requiredHealthyMs: number().nullable(),
|
|
25198
|
+
/** Epoch ms this hold's code began. */
|
|
25199
|
+
since: number(),
|
|
25200
|
+
/** The same one-line account the broker logs, e.g.
|
|
25201
|
+
* `held: delivery 0.97 over 4.0s ok, REMB 480 kbps < mid 1800 kbps × 1.2`. */
|
|
25202
|
+
summary: string()
|
|
25022
25203
|
});
|
|
25023
25204
|
/** Per-tier count of MEASURED downgrades this viewer session has suffered. */
|
|
25024
25205
|
var WebrtcTierFailureSchema = object({
|
|
@@ -25082,7 +25263,12 @@ var WebrtcSessionDebugSchema = object({
|
|
|
25082
25263
|
tierFailures: array(WebrtcTierFailureSchema),
|
|
25083
25264
|
/** Successful promotions in this viewer session (drives the progressive
|
|
25084
25265
|
* healthy timer). Null when no ladder is running. */
|
|
25085
|
-
upgradeCount: number().nullable()
|
|
25266
|
+
upgradeCount: number().nullable(),
|
|
25267
|
+
/** Why the ladder is not climbing right now. Null when no ladder runs, it
|
|
25268
|
+
* is at the top rung, or it just moved. Optional because this output is
|
|
25269
|
+
* validated by the router: a server carrying this schema must still accept
|
|
25270
|
+
* the answer of a stream-broker deployed before the field existed. */
|
|
25271
|
+
climbHold: WebrtcClimbHoldSchema.nullable().optional()
|
|
25086
25272
|
});
|
|
25087
25273
|
DeviceType.Camera, method(object({ deviceId: number().int().nonnegative() }), array(WebrtcStreamChoiceSchema)), method(object({
|
|
25088
25274
|
deviceId: number().int().nonnegative(),
|
|
@@ -28774,6 +28960,11 @@ var ClientNetworkStatsSchema = object({
|
|
|
28774
28960
|
jitterMs: number(),
|
|
28775
28961
|
estimatedBandwidthKbps: number(),
|
|
28776
28962
|
packetLossPercent: number().min(0).max(100),
|
|
28963
|
+
/** The viewer's latest `/adaptive-probe` reading, Mbps — whatever it read
|
|
28964
|
+
* (D635 I4). Absent when it never probed or the probe failed (unknown). */
|
|
28965
|
+
downlinkMbps: number().optional(),
|
|
28966
|
+
/** Age of that reading when this report was sent, ms. */
|
|
28967
|
+
downlinkAgeMs: number().optional(),
|
|
28777
28968
|
lastUpdated: number()
|
|
28778
28969
|
});
|
|
28779
28970
|
var DeviceNetworkStatsSchema = object({
|
|
@@ -28786,7 +28977,11 @@ method(object({ deviceId: number() }), DeviceNetworkStatsSchema.nullable()), met
|
|
|
28786
28977
|
rttMs: number().min(0).max(6e4),
|
|
28787
28978
|
jitterMs: number().min(0).max(1e4),
|
|
28788
28979
|
estimatedBandwidthKbps: number().min(0).max(1e6),
|
|
28789
|
-
packetLossPercent: number().min(0).max(100)
|
|
28980
|
+
packetLossPercent: number().min(0).max(100),
|
|
28981
|
+
/** Latest downlink probe, Mbps, whatever it read; absent = never / failed. */
|
|
28982
|
+
downlinkMbps: number().min(0).max(1e5).optional(),
|
|
28983
|
+
/** Age of that probe when this report is sent, ms. */
|
|
28984
|
+
downlinkAgeMs: number().min(0).max(864e5).optional()
|
|
28790
28985
|
}), _void(), { kind: "mutation" });
|
|
28791
28986
|
/**
|
|
28792
28987
|
* nodes — system-scoped singleton capability for cluster topology
|
|
@@ -36368,6 +36563,12 @@ Object.freeze({
|
|
|
36368
36563
|
addonId: null,
|
|
36369
36564
|
access: "view"
|
|
36370
36565
|
},
|
|
36566
|
+
"deviceManager.listDeviceIdsByCaps": {
|
|
36567
|
+
capName: "device-manager",
|
|
36568
|
+
capScope: "system",
|
|
36569
|
+
addonId: null,
|
|
36570
|
+
access: "view"
|
|
36571
|
+
},
|
|
36371
36572
|
"deviceManager.listLocationDescriptions": {
|
|
36372
36573
|
capName: "device-manager",
|
|
36373
36574
|
capScope: "system",
|
|
@@ -44300,7 +44501,7 @@ var AdminUIAddon = class extends BaseAddon {
|
|
|
44300
44501
|
capability: adminUiCapability,
|
|
44301
44502
|
provider: {
|
|
44302
44503
|
getStaticDir: async () => ({ staticDir: resolveAdminUiDistDir() }),
|
|
44303
|
-
getVersion: async () => ({ version: "1.2.
|
|
44504
|
+
getVersion: async () => ({ version: "1.2.263" })
|
|
44304
44505
|
}
|
|
44305
44506
|
}];
|
|
44306
44507
|
}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{K as e,Q as t,S as n,W as r,b as i,q as a,x as o}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-DhP-Lgiq.js";import{gt as s}from"./player-overlays-DRIy-fCw.js";import{Cu as c,Dc as l,Jt as u,Ll as d,Nl as f,_n as p,dl as m,ni as h,qt as g,vl as _}from"./src-CvEqSgs7.js";import{a as v}from"./index-DAAsNMtg.js";function y({deviceId:e}){let t=v(),{data:r,isLoading:i,isFetching:a,isError:s,refetch:c}=h({deviceId:e},{enabled:Number.isFinite(e)}),l=r?.devices??[];return n(`div`,{className:`mt-3 rounded-md border border-border bg-background p-2.5`,children:[n(`div`,{className:`flex items-center justify-between mb-1.5`,children:[n(`span`,{className:`text-[11px] font-medium text-foreground`,children:[`Resolved links`,o(`span`,{className:`ml-1.5 text-[10px] font-normal text-foreground-subtle`,children:`children + your picks`})]}),n(`button`,{type:`button`,className:`inline-flex items-center gap-1 rounded border border-border px-1.5 py-0.5 text-[10px] text-foreground-subtle hover:bg-surface-hover disabled:opacity-50`,disabled:a,onClick:()=>void c(),title:`Re-run the resolver`,children:[o(_,{className:`h-3 w-3 ${a?`animate-spin`:``}`}),`Refresh`]})]}),i?n(`div`,{className:`flex items-center gap-1.5 py-1 text-[11px] text-foreground-subtle`,children:[o(d,{className:`h-3 w-3 animate-spin`}),`Resolving…`]}):s?o(`p`,{className:`py-1 text-[11px] text-danger`,children:`Failed to resolve linked devices.`}):l.length===0?o(`p`,{className:`py-1 text-[11px] text-foreground-subtle italic`,children:`No linked devices resolved.`}):o(`div`,{className:`flex flex-wrap gap-1`,children:l.map(e=>n(`button`,{type:`button`,onClick:()=>t(`/devices/${e.deviceId}`),className:`inline-flex cursor-pointer items-center gap-1 rounded-md border border-border bg-surface px-1.5 py-0.5 text-[11px] text-foreground max-w-full hover:bg-surface-hover hover:border-primary/50 focus:outline-none focus-visible:ring-1 focus-visible:ring-primary/50`,title:e.location??void 0,children:[o(`span`,{className:`truncate`,children:e.name}),e.location!==null&&e.location.length>0&&n(`span`,{className:`inline-flex items-center gap-0.5 shrink-0 text-[10px] text-foreground-subtle`,children:[o(f,{className:`h-2.5 w-2.5`}),e.location]})]},e.deviceId))})]})}function b(e){return[e.value,e.label,e.description].filter(e=>typeof e==`string`&&e.length>0).join(` `).toLowerCase()}function x(e,t){let n=t.trim().toLowerCase().split(/\s+/).filter(Boolean);return n.length===0?e:e.filter(e=>{let t=b(e);return n.every(e=>t.includes(e))})}function S(e,t){let n=new Map(e.map(e=>[e.value,e])),r=new Set(t);return{selectedOptions:t.map(e=>n.get(e)??{value:e,label:e}),unselected:e.filter(e=>!r.has(e.value))}}function C(e){return e>=8}t();var w=`flex items-center gap-1.5 rounded-md border border-border bg-background px-2 py-1.5 focus-within:border-primary focus-within:ring-1 focus-within:ring-primary/30`,T=`block text-[11px] font-medium text-foreground mb-1 break-words`,E=`text-[10px] text-foreground-subtle mt-0.5 break-words`;function D({field:t,value:i,onChange:u,disabled:d,translationFn:f}){let h=Array.isArray(i)?i:[],g=d===!0||t.disabled===!0,_=t.maxItems!==void 0&&h.length>=t.maxItems,[v,y]=a(``),[b,C]=a(!1),[D,O]=a(0),k=e(null),A=e(null),{selectedOptions:j}=r(()=>S(t.options,h),[t.options,h]),N=r(()=>x(t.options,v),[t.options,v]),P=e=>{if(!g)if(h.includes(e))u(h.filter(t=>t!==e));else{if(t.maxItems!==void 0&&h.length>=t.maxItems)return;u([...h,e])}},F=e=>{if(e.key===`ArrowDown`)e.preventDefault(),C(!0),O(e=>N.length===0?0:(e+1)%N.length);else if(e.key===`ArrowUp`)e.preventDefault(),C(!0),O(e=>N.length===0?0:(e-1+N.length)%N.length);else if(e.key===`Enter`){e.preventDefault();let t=N[D];t&&P(t.value)}else e.key===`Escape`?C(!1):e.key===`Backspace`&&v===``&&h.length>0&&u(h.slice(0,-1))},I=M(t.label,f),L=M(t.description,f);return n(`div`,{className:`min-w-0`,children:[I!==void 0&&I!==``&&o(`label`,{className:T,children:I}),j.length>0&&o(`div`,{className:`flex flex-wrap gap-1 mb-1.5`,children:j.map(e=>n(`span`,{className:`inline-flex items-center gap-1 rounded-md bg-primary/10 px-1.5 py-0.5 text-[11px] text-primary max-w-full`,children:[e.iconId!==void 0&&o(p,{iconId:e.iconId,size:12}),o(`span`,{className:`truncate`,children:e.label}),!g&&o(`button`,{type:`button`,className:`shrink-0 hover:text-danger`,"aria-label":`Remove ${e.label}`,onClick:()=>P(e.value),children:o(l,{className:`h-2.5 w-2.5`})})]},e.value))}),n(`div`,{className:w+(g?` opacity-50`:``),children:[o(m,{className:`h-3.5 w-3.5 shrink-0 text-foreground-subtle`}),o(`input`,{ref:k,type:`text`,role:`combobox`,"aria-expanded":b,"aria-controls":`msel-${t.key}`,className:`min-w-0 flex-1 bg-transparent text-xs text-foreground outline-none placeholder:text-foreground-disabled`,value:v,placeholder:_?`Max ${t.maxItems} selected`:t.placeholder??`Search to add…`,disabled:g,onChange:e=>{y(e.target.value),C(!0),O(0)},onFocus:()=>C(!0),onBlur:()=>{A.current=setTimeout(()=>C(!1),120)},onKeyDown:F}),o(s,{className:`h-3.5 w-3.5 shrink-0 cursor-pointer text-foreground-subtle`,onMouseDown:e=>{e.preventDefault(),A.current&&clearTimeout(A.current),C(e=>!e),k.current?.focus()}})]}),b&&!g&&o(`div`,{id:`msel-${t.key}`,role:`listbox`,className:`mt-1 max-h-56 overflow-y-auto rounded-md border border-border bg-surface shadow-lg`,onMouseDown:e=>{e.preventDefault()},children:N.length===0?n(`div`,{className:`px-2.5 py-2 text-[11px] text-foreground-subtle italic`,children:[`No matches for “`,v,`”`]}):N.map((e,t)=>{let r=h.includes(e.value),i=!r&&_;return n(`button`,{type:`button`,role:`option`,"aria-selected":r,disabled:i,className:[`flex w-full items-center gap-2 px-2.5 py-1.5 text-left text-xs transition-colors`,t===D?`bg-primary/10`:`hover:bg-surface-hover`,i?`opacity-40 cursor-not-allowed`:`cursor-pointer`].join(` `),onMouseEnter:()=>O(t),onClick:()=>P(e.value),children:[o(`span`,{className:[`flex h-3.5 w-3.5 shrink-0 items-center justify-center rounded border`,r?`border-primary bg-primary text-white`:`border-border`].join(` `),children:r&&o(c,{className:`h-2.5 w-2.5`})}),e.iconId!==void 0&&o(p,{iconId:e.iconId,size:13}),o(`span`,{className:`truncate text-foreground`,children:e.label})]},e.value)})}),L&&o(`p`,{className:E,children:L})]})}t();var O=`_linkedDeviceIds`;function k(e){return e.type===`multiselect`}function A({field:e,values:t,onChange:n,disabled:r,translationFn:i,onTestField:a,externalProbe:s,allFields:c,onAction:l}){return k(e)&&C(e.options.length)?u(e,t,c)?o(D,{field:e,value:t[e.key],onChange:t=>n(e.key,t),disabled:r,translationFn:i}):null:o(g,{field:e,values:t,onChange:n,disabled:r,translationFn:i,onTestField:a,externalProbe:s,allFields:c,onAction:l})}function j(e){return/^[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)+$/.test(e)}function M(e,t){if(e!==void 0)return t&&j(e)?t(e):e}function N({section:e,values:t,onChange:r,disabled:s,translationFn:c,onTestField:l,probeResults:d,onAction:f,deviceId:p}){let[m,h]=a(e.defaultCollapsed??!1),_=e.style===`accordion`;if(e.fields.reduce((n,r)=>n+ +!!u(r,t,e.fields),0)===0)return null;let v=e.fields.some(e=>`key`in e&&e.key===O),b=e.fields,x=v?1:e.columns??2,S=x===1?`grid-cols-1`:x===3?`grid-cols-1 @[480px]:grid-cols-2 @[880px]:grid-cols-3`:x===4?`grid-cols-1 @[480px]:grid-cols-2 @[1140px]:grid-cols-4`:`grid-cols-1 @[480px]:grid-cols-2`,C=e.fields.length===1&&e.fields[0]?.type===`widget`?e.fields[0]:void 0;return n(`div`,{className:`@container rounded-lg border border-border bg-surface p-3`,style:{containerType:`inline-size`},children:[!(C!==void 0||!e.title&&!e.description)&&n(`div`,{className:[`flex items-center justify-between mb-2`,_?`cursor-pointer`:``].join(` `),onClick:_?()=>h(e=>!e):void 0,children:[n(`div`,{children:[e.title&&o(`h3`,{className:`text-[11px] font-semibold text-foreground-subtle uppercase tracking-wider`,children:M(e.title,c)}),e.description&&o(`p`,{className:`text-[10px] text-foreground-subtle mt-0.5`,children:M(e.description,c)})]}),_&&o(`span`,{className:`text-foreground-subtle text-xs ml-2`,children:m?`▸`:`▾`})]}),!m&&(C===void 0?n(i,{children:[o(`div`,{className:`grid ${S} gap-x-3 gap-y-2.5`,children:b.map(n=>o(A,{field:n,values:t,onChange:r,disabled:s,translationFn:c,onTestField:l,externalProbe:d?.[n.key],allFields:e.fields,onAction:f},n.key))}),v&&p!==void 0&&o(y,{deviceId:p})]}):o(g,{field:C,values:t,onChange:r,disabled:s,translationFn:c,onTestField:l,externalProbe:d?.[C.key],allFields:e.fields,onAction:f},C.key))]})}function P({schema:e,values:t,onChange:n,disabled:r,translationFn:i,onTestField:a,probeResults:s,onClearProbe:c,onAction:l,deviceId:u}){let d=(e,r)=>{n({...t,[e]:r}),c?.(e)};return o(`div`,{className:`space-y-4`,children:e.sections.map((e,n)=>o(N,{section:e,values:t,onChange:d,disabled:r,translationFn:i,onTestField:a,probeResults:s,onAction:l,deviceId:u},`${e.id}-${n}`))})}export{P as t};
|