@camstack/addon-model-studio 1.1.184 → 1.1.186

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.
Files changed (18) hide show
  1. package/dist/{MotionZonesSettings-CLIRob-J.mjs → MotionZonesSettings-CA9PaKjB.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-exV6L1j_.mjs → PrivacyMaskSettings-BJR31Efj.mjs} +4 -4
  3. package/dist/{SceneMonitorEditor-icoLBztR.mjs → SceneMonitorEditor-HiRFJCYE.mjs} +3 -3
  4. package/dist/_stub.js +10 -10
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DQxc1RfH.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DdDnYrMZ.mjs} +3 -3
  6. package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C-PLenBK.mjs +26 -0
  7. package/dist/{hostInit-C9yJIB1e.mjs → hostInit-T7_Tpiyv.mjs} +2 -2
  8. package/dist/model-studio.addon.js +210 -6
  9. package/dist/model-studio.addon.mjs +210 -6
  10. package/dist/{player-overlays-DwfCWVUG.mjs → player-overlays-DdeNw6dl.mjs} +1 -1
  11. package/dist/remoteEntry.js +1 -1
  12. package/dist/{responsive-BRO7smWV.mjs → responsive-Dma333nN.mjs} +1 -1
  13. package/dist/{scene-monitor-copy--wZxxF0G.mjs → scene-monitor-copy-DKotQU9H.mjs} +1 -1
  14. package/dist/{square-BfZLUXuN.mjs → square-WG1xkrgu.mjs} +1 -1
  15. package/dist/{trash-2-0kWm0Lcw.mjs → trash-2-GwC3pOqd.mjs} +1 -1
  16. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-JOrjSbrc.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-w31RPwHi.mjs} +1 -1
  17. package/package.json +1 -1
  18. package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-D3PT9fEx.mjs +0 -26
@@ -5941,7 +5941,7 @@ var ZodIssueCode = {
5941
5941
  var ZodFirstPartyTypeKind;
5942
5942
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5943
5943
  //#endregion
5944
- //#region ../types/dist/sleep-C-v96WpE.mjs
5944
+ //#region ../types/dist/sleep-gU6hqv4_.mjs
5945
5945
  /**
5946
5946
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5947
5947
  * window to float samples (D455).
@@ -9575,6 +9575,82 @@ var ArchivedDebugNoteQueryInputSchema = object({
9575
9575
  /** Max rows returned, newest-first. */
9576
9576
  limit: number().int().min(1).max(1e3).optional()
9577
9577
  });
9578
+ var TrackRelationKindSchema = _enum(["same-subject", "different-subjects"]);
9579
+ var TrackSideSchema = _enum(["before", "after"]);
9580
+ var TrackPurityValueSchema = _enum(["mixed", "not-a-subject"]);
9581
+ var TrackRelationSchema = object({
9582
+ id: string(),
9583
+ deviceId: number().int(),
9584
+ leftTrackId: string(),
9585
+ rightTrackId: string(),
9586
+ leftSide: TrackSideSchema.nullable(),
9587
+ rightSide: TrackSideSchema.nullable(),
9588
+ relation: TrackRelationKindSchema,
9589
+ presence: literal("continuous").nullable(),
9590
+ leftStartedAt: number().int().nullable(),
9591
+ rightStartedAt: number().int().nullable(),
9592
+ createdAt: number().int(),
9593
+ updatedAt: number().int(),
9594
+ author: string().nullable()
9595
+ });
9596
+ var TrackPuritySchema = object({
9597
+ id: string(),
9598
+ deviceId: number().int(),
9599
+ sourceTrackId: string(),
9600
+ purity: TrackPurityValueSchema,
9601
+ switchAtMs: number().int().nullable(),
9602
+ startedAt: number().int().nullable(),
9603
+ createdAt: number().int(),
9604
+ updatedAt: number().int(),
9605
+ author: string().nullable()
9606
+ });
9607
+ var SetTrackRelationInputSchema = object({
9608
+ deviceId: number().int(),
9609
+ trackId: string().min(1),
9610
+ otherTrackId: string().min(1),
9611
+ relation: TrackRelationKindSchema,
9612
+ presence: literal("continuous").optional(),
9613
+ trackSide: TrackSideSchema.optional(),
9614
+ otherSide: TrackSideSchema.optional()
9615
+ });
9616
+ var ClearTrackRelationInputSchema = object({
9617
+ deviceId: number().int(),
9618
+ trackId: string().min(1),
9619
+ otherTrackId: string().min(1)
9620
+ });
9621
+ var ClearTrackRelationResultSchema = object({ cleared: boolean() });
9622
+ var SetTrackPurityInputSchema = object({
9623
+ deviceId: number().int(),
9624
+ trackId: string().min(1),
9625
+ purity: _enum([
9626
+ "pure",
9627
+ "mixed",
9628
+ "not-a-subject"
9629
+ ]),
9630
+ switchAtMs: number().int().optional()
9631
+ });
9632
+ /** `null` when `pure` cleared the row. */
9633
+ var SetTrackPurityResultSchema = object({ purity: TrackPuritySchema.nullable() });
9634
+ var ListTrackRelationsInputSchema = object({
9635
+ deviceId: number().int(),
9636
+ trackId: string().optional(),
9637
+ since: number().int().optional(),
9638
+ until: number().int().optional(),
9639
+ limit: number().int().min(1).max(5e3).optional()
9640
+ });
9641
+ var ListTrackRelationsResultSchema = object({
9642
+ relations: array(TrackRelationSchema).readonly(),
9643
+ purities: array(TrackPuritySchema).readonly(),
9644
+ truncated: boolean()
9645
+ });
9646
+ _enum([
9647
+ "unknown-track",
9648
+ "cross-device",
9649
+ "self-relation",
9650
+ "contradiction",
9651
+ "switch-outside-track",
9652
+ "switch-needs-mixed"
9653
+ ]);
9578
9654
  /**
9579
9655
  * Ops-log — the durable, append-only operations audit shared by the
9580
9656
  * recordings and events management surfaces.
@@ -18954,8 +19030,14 @@ var NcSensorTransitionSchema = _enum(["raised", "cleared"]);
18954
19030
  /** Admin-zone membership condition (zone IDs as stamped by the ZoneEngine). */
18955
19031
  var NcZoneConditionSchema = object({
18956
19032
  ids: array(string().min(1)).min(1),
18957
- /** Quantifier over `ids` — at least one / every one visited. */
18958
- match: _enum(["any", "all"]).default("any")
19033
+ /**
19034
+ * LEGACY quantifier over `ids`. Absent = `any` (at least one visited), which
19035
+ * is what both editors mean and all they write since D690: "all of" was
19036
+ * removed from the editors because on an immediate rule it asked one
19037
+ * detection to stand in every zone at once. Still ACCEPTED, and `all` still
19038
+ * evaluated, so a stored rule keeps parsing and meaning what it meant.
19039
+ */
19040
+ match: _enum(["any", "all"]).optional()
18959
19041
  });
18960
19042
  /**
18961
19043
  * The P1 condition set — a flat AND of groups; absent group = pass;
@@ -22735,7 +22817,8 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
22735
22817
  trackIds: array(string()).min(1)
22736
22818
  }), object({
22737
22819
  deleted: number().int(),
22738
- failed: array(string()).readonly()
22820
+ failed: array(string()).readonly(),
22821
+ sparedMediaIds: array(number().int()).readonly().optional()
22739
22822
  }), {
22740
22823
  kind: "mutation",
22741
22824
  auth: "admin"
@@ -22744,7 +22827,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
22744
22827
  deviceId: number(),
22745
22828
  trackId: string(),
22746
22829
  flags: TrackFlagsPatchSchema
22747
- }), TrackFlagsSchema, { kind: "mutation" }), method(ArchivedDebugNoteQueryInputSchema, array(ArchivedDebugNoteSchema).readonly(), { kind: "query" }), method(BirthDecisionQueryInputSchema, array(BirthDecisionRecordSchema).readonly(), { kind: "query" }), method(object({}), EventStoreFootprintSchema, {
22830
+ }), TrackFlagsSchema, { kind: "mutation" }), method(ArchivedDebugNoteQueryInputSchema, array(ArchivedDebugNoteSchema).readonly(), { kind: "query" }), method(SetTrackRelationInputSchema, TrackRelationSchema, { kind: "mutation" }), method(ClearTrackRelationInputSchema, ClearTrackRelationResultSchema, { kind: "mutation" }), method(SetTrackPurityInputSchema, SetTrackPurityResultSchema, { kind: "mutation" }), method(ListTrackRelationsInputSchema, ListTrackRelationsResultSchema, { kind: "query" }), method(BirthDecisionQueryInputSchema, array(BirthDecisionRecordSchema).readonly(), { kind: "query" }), method(object({}), EventStoreFootprintSchema, {
22748
22831
  kind: "query",
22749
22832
  auth: "admin"
22750
22833
  }), method(object({ deviceId: number().int().optional() }), EventMediaKindBreakdownSchema, {
@@ -24924,7 +25007,42 @@ var SetCameraSensorsInputSchema = object({
24924
25007
  /** `null` removes the attachment: the camera goes back to `not-configured`. */
24925
25008
  config: CameraSensorsConfigSchema.nullable()
24926
25009
  });
24927
- method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
25010
+ /**
25011
+ * Why an early occupancy look (D691) was not scheduled.
25012
+ *
25013
+ * - `unknown-camera` — no session was ever dispatched for it, so there is no
25014
+ * node and no config to attach a burst with.
25015
+ * - `out-of-range` — the ask is negative or further out than the orchestrator
25016
+ * will hold a timer for; the parked-object cadence is the answer there.
25017
+ * - `no-burst-producer` — this build has no burst producer at all.
25018
+ * - `already-looked` — this camera's ONE early look since its last session has
25019
+ * been spent. A look's own burst can re-arm a flickering flip, and a look
25020
+ * per arm would chain a burst every ~30 s forever (review H2); the next
25021
+ * real session re-arms the budget.
25022
+ */
25023
+ var OccupancyLookRefusalSchema = _enum([
25024
+ "unknown-camera",
25025
+ "out-of-range",
25026
+ "no-burst-producer",
25027
+ "already-looked"
25028
+ ]);
25029
+ method(object({
25030
+ deviceId: number().int().nonnegative(),
25031
+ /** How long from NOW until the pending flip's sustain window ends. RELATIVE,
25032
+ * so the caller's clock and the orchestrator's never have to agree. */
25033
+ afterMs: number().finite(),
25034
+ /** Why, for the log. */
25035
+ reason: string()
25036
+ }), object({
25037
+ scheduled: boolean(),
25038
+ /** When `scheduled`: how long until the burst is dialled. */
25039
+ dueInMs: number().optional(),
25040
+ /** When not `scheduled`: why. */
25041
+ refusedBecause: OccupancyLookRefusalSchema.optional()
25042
+ }), {
25043
+ kind: "mutation",
25044
+ auth: "admin"
25045
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
24928
25046
  kind: "mutation",
24929
25047
  auth: "admin"
24930
25048
  }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
@@ -41224,6 +41342,12 @@ Object.freeze({
41224
41342
  addonId: null,
41225
41343
  access: "create"
41226
41344
  },
41345
+ "pipelineAnalytics.clearTrackRelation": {
41346
+ capName: "pipeline-analytics",
41347
+ capScope: "device",
41348
+ addonId: null,
41349
+ access: "delete"
41350
+ },
41227
41351
  "pipelineAnalytics.clearTracks": {
41228
41352
  capName: "pipeline-analytics",
41229
41353
  capScope: "device",
@@ -41476,6 +41600,12 @@ Object.freeze({
41476
41600
  addonId: null,
41477
41601
  access: "view"
41478
41602
  },
41603
+ "pipelineAnalytics.listTrackRelations": {
41604
+ capName: "pipeline-analytics",
41605
+ capScope: "device",
41606
+ addonId: null,
41607
+ access: "view"
41608
+ },
41479
41609
  "pipelineAnalytics.listTracks": {
41480
41610
  capName: "pipeline-analytics",
41481
41611
  capScope: "device",
@@ -41590,6 +41720,18 @@ Object.freeze({
41590
41720
  addonId: null,
41591
41721
  access: "create"
41592
41722
  },
41723
+ "pipelineAnalytics.setTrackPurity": {
41724
+ capName: "pipeline-analytics",
41725
+ capScope: "device",
41726
+ addonId: null,
41727
+ access: "create"
41728
+ },
41729
+ "pipelineAnalytics.setTrackRelation": {
41730
+ capName: "pipeline-analytics",
41731
+ capScope: "device",
41732
+ addonId: null,
41733
+ access: "create"
41734
+ },
41593
41735
  "pipelineAnalytics.startStorageMigrationMove": {
41594
41736
  capName: "pipeline-analytics",
41595
41737
  capScope: "device",
@@ -42028,6 +42170,12 @@ Object.freeze({
42028
42170
  addonId: null,
42029
42171
  access: "delete"
42030
42172
  },
42173
+ "pipelineOrchestrator.requestOccupancyLook": {
42174
+ capName: "pipeline-orchestrator",
42175
+ capScope: "system",
42176
+ addonId: null,
42177
+ access: "create"
42178
+ },
42031
42179
  "pipelineOrchestrator.resetNodePipelineDefaults": {
42032
42180
  capName: "pipeline-orchestrator",
42033
42181
  capScope: "system",
@@ -45510,6 +45658,11 @@ Object.freeze({
45510
45658
  form: "single",
45511
45659
  optional: false
45512
45660
  }],
45661
+ "pipelineAnalytics.clearTrackRelation": [{
45662
+ name: "deviceId",
45663
+ form: "single",
45664
+ optional: false
45665
+ }],
45513
45666
  "pipelineAnalytics.clearTracks": [{
45514
45667
  name: "deviceId",
45515
45668
  form: "single",
@@ -45660,6 +45813,11 @@ Object.freeze({
45660
45813
  form: "single",
45661
45814
  optional: false
45662
45815
  }],
45816
+ "pipelineAnalytics.listTrackRelations": [{
45817
+ name: "deviceId",
45818
+ form: "single",
45819
+ optional: false
45820
+ }],
45663
45821
  "pipelineAnalytics.listTracks": [{
45664
45822
  name: "deviceId",
45665
45823
  form: "single",
@@ -45730,6 +45888,16 @@ Object.freeze({
45730
45888
  form: "single",
45731
45889
  optional: false
45732
45890
  }],
45891
+ "pipelineAnalytics.setTrackPurity": [{
45892
+ name: "deviceId",
45893
+ form: "single",
45894
+ optional: false
45895
+ }],
45896
+ "pipelineAnalytics.setTrackRelation": [{
45897
+ name: "deviceId",
45898
+ form: "single",
45899
+ optional: false
45900
+ }],
45733
45901
  "pipelineAnalytics.wipeAllAnalytics": [{
45734
45902
  name: "deviceId",
45735
45903
  form: "single",
@@ -45800,6 +45968,11 @@ Object.freeze({
45800
45968
  form: "single",
45801
45969
  optional: false
45802
45970
  }],
45971
+ "pipelineOrchestrator.requestOccupancyLook": [{
45972
+ name: "deviceId",
45973
+ form: "single",
45974
+ optional: false
45975
+ }],
45803
45976
  "pipelineOrchestrator.resolvePipeline": [{
45804
45977
  name: "deviceId",
45805
45978
  form: "single",
@@ -47037,6 +47210,37 @@ var STATE_SUMMARY_VARS = [
47037
47210
  [...RULE_TEXT],
47038
47211
  ...STATE_SUMMARY_VARS
47039
47212
  ];
47213
+ new Set([
47214
+ "disarmed",
47215
+ "armed_home",
47216
+ "armed_away",
47217
+ "armed_night",
47218
+ "armed_vacation",
47219
+ "armed_custom_bypass",
47220
+ "arming",
47221
+ "disarming",
47222
+ "pending",
47223
+ "triggered",
47224
+ "open",
47225
+ "opening",
47226
+ "closing",
47227
+ "closed",
47228
+ "stopped",
47229
+ "locked",
47230
+ "unlocked",
47231
+ "locking",
47232
+ "unlocking",
47233
+ "jammed",
47234
+ "on",
47235
+ "off",
47236
+ "home",
47237
+ "not_home",
47238
+ "matched",
47239
+ "diverged",
47240
+ "unknown",
47241
+ "latched",
47242
+ "live"
47243
+ ]);
47040
47244
  /**
47041
47245
  * TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
47042
47246
  *
@@ -5920,7 +5920,7 @@ var ZodIssueCode = {
5920
5920
  var ZodFirstPartyTypeKind;
5921
5921
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5922
5922
  //#endregion
5923
- //#region ../types/dist/sleep-C-v96WpE.mjs
5923
+ //#region ../types/dist/sleep-gU6hqv4_.mjs
5924
5924
  /**
5925
5925
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5926
5926
  * window to float samples (D455).
@@ -9554,6 +9554,82 @@ var ArchivedDebugNoteQueryInputSchema = object({
9554
9554
  /** Max rows returned, newest-first. */
9555
9555
  limit: number().int().min(1).max(1e3).optional()
9556
9556
  });
9557
+ var TrackRelationKindSchema = _enum(["same-subject", "different-subjects"]);
9558
+ var TrackSideSchema = _enum(["before", "after"]);
9559
+ var TrackPurityValueSchema = _enum(["mixed", "not-a-subject"]);
9560
+ var TrackRelationSchema = object({
9561
+ id: string(),
9562
+ deviceId: number().int(),
9563
+ leftTrackId: string(),
9564
+ rightTrackId: string(),
9565
+ leftSide: TrackSideSchema.nullable(),
9566
+ rightSide: TrackSideSchema.nullable(),
9567
+ relation: TrackRelationKindSchema,
9568
+ presence: literal("continuous").nullable(),
9569
+ leftStartedAt: number().int().nullable(),
9570
+ rightStartedAt: number().int().nullable(),
9571
+ createdAt: number().int(),
9572
+ updatedAt: number().int(),
9573
+ author: string().nullable()
9574
+ });
9575
+ var TrackPuritySchema = object({
9576
+ id: string(),
9577
+ deviceId: number().int(),
9578
+ sourceTrackId: string(),
9579
+ purity: TrackPurityValueSchema,
9580
+ switchAtMs: number().int().nullable(),
9581
+ startedAt: number().int().nullable(),
9582
+ createdAt: number().int(),
9583
+ updatedAt: number().int(),
9584
+ author: string().nullable()
9585
+ });
9586
+ var SetTrackRelationInputSchema = object({
9587
+ deviceId: number().int(),
9588
+ trackId: string().min(1),
9589
+ otherTrackId: string().min(1),
9590
+ relation: TrackRelationKindSchema,
9591
+ presence: literal("continuous").optional(),
9592
+ trackSide: TrackSideSchema.optional(),
9593
+ otherSide: TrackSideSchema.optional()
9594
+ });
9595
+ var ClearTrackRelationInputSchema = object({
9596
+ deviceId: number().int(),
9597
+ trackId: string().min(1),
9598
+ otherTrackId: string().min(1)
9599
+ });
9600
+ var ClearTrackRelationResultSchema = object({ cleared: boolean() });
9601
+ var SetTrackPurityInputSchema = object({
9602
+ deviceId: number().int(),
9603
+ trackId: string().min(1),
9604
+ purity: _enum([
9605
+ "pure",
9606
+ "mixed",
9607
+ "not-a-subject"
9608
+ ]),
9609
+ switchAtMs: number().int().optional()
9610
+ });
9611
+ /** `null` when `pure` cleared the row. */
9612
+ var SetTrackPurityResultSchema = object({ purity: TrackPuritySchema.nullable() });
9613
+ var ListTrackRelationsInputSchema = object({
9614
+ deviceId: number().int(),
9615
+ trackId: string().optional(),
9616
+ since: number().int().optional(),
9617
+ until: number().int().optional(),
9618
+ limit: number().int().min(1).max(5e3).optional()
9619
+ });
9620
+ var ListTrackRelationsResultSchema = object({
9621
+ relations: array(TrackRelationSchema).readonly(),
9622
+ purities: array(TrackPuritySchema).readonly(),
9623
+ truncated: boolean()
9624
+ });
9625
+ _enum([
9626
+ "unknown-track",
9627
+ "cross-device",
9628
+ "self-relation",
9629
+ "contradiction",
9630
+ "switch-outside-track",
9631
+ "switch-needs-mixed"
9632
+ ]);
9557
9633
  /**
9558
9634
  * Ops-log — the durable, append-only operations audit shared by the
9559
9635
  * recordings and events management surfaces.
@@ -18933,8 +19009,14 @@ var NcSensorTransitionSchema = _enum(["raised", "cleared"]);
18933
19009
  /** Admin-zone membership condition (zone IDs as stamped by the ZoneEngine). */
18934
19010
  var NcZoneConditionSchema = object({
18935
19011
  ids: array(string().min(1)).min(1),
18936
- /** Quantifier over `ids` — at least one / every one visited. */
18937
- match: _enum(["any", "all"]).default("any")
19012
+ /**
19013
+ * LEGACY quantifier over `ids`. Absent = `any` (at least one visited), which
19014
+ * is what both editors mean and all they write since D690: "all of" was
19015
+ * removed from the editors because on an immediate rule it asked one
19016
+ * detection to stand in every zone at once. Still ACCEPTED, and `all` still
19017
+ * evaluated, so a stored rule keeps parsing and meaning what it meant.
19018
+ */
19019
+ match: _enum(["any", "all"]).optional()
18938
19020
  });
18939
19021
  /**
18940
19022
  * The P1 condition set — a flat AND of groups; absent group = pass;
@@ -22714,7 +22796,8 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
22714
22796
  trackIds: array(string()).min(1)
22715
22797
  }), object({
22716
22798
  deleted: number().int(),
22717
- failed: array(string()).readonly()
22799
+ failed: array(string()).readonly(),
22800
+ sparedMediaIds: array(number().int()).readonly().optional()
22718
22801
  }), {
22719
22802
  kind: "mutation",
22720
22803
  auth: "admin"
@@ -22723,7 +22806,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
22723
22806
  deviceId: number(),
22724
22807
  trackId: string(),
22725
22808
  flags: TrackFlagsPatchSchema
22726
- }), TrackFlagsSchema, { kind: "mutation" }), method(ArchivedDebugNoteQueryInputSchema, array(ArchivedDebugNoteSchema).readonly(), { kind: "query" }), method(BirthDecisionQueryInputSchema, array(BirthDecisionRecordSchema).readonly(), { kind: "query" }), method(object({}), EventStoreFootprintSchema, {
22809
+ }), TrackFlagsSchema, { kind: "mutation" }), method(ArchivedDebugNoteQueryInputSchema, array(ArchivedDebugNoteSchema).readonly(), { kind: "query" }), method(SetTrackRelationInputSchema, TrackRelationSchema, { kind: "mutation" }), method(ClearTrackRelationInputSchema, ClearTrackRelationResultSchema, { kind: "mutation" }), method(SetTrackPurityInputSchema, SetTrackPurityResultSchema, { kind: "mutation" }), method(ListTrackRelationsInputSchema, ListTrackRelationsResultSchema, { kind: "query" }), method(BirthDecisionQueryInputSchema, array(BirthDecisionRecordSchema).readonly(), { kind: "query" }), method(object({}), EventStoreFootprintSchema, {
22727
22810
  kind: "query",
22728
22811
  auth: "admin"
22729
22812
  }), method(object({ deviceId: number().int().optional() }), EventMediaKindBreakdownSchema, {
@@ -24903,7 +24986,42 @@ var SetCameraSensorsInputSchema = object({
24903
24986
  /** `null` removes the attachment: the camera goes back to `not-configured`. */
24904
24987
  config: CameraSensorsConfigSchema.nullable()
24905
24988
  });
24906
- method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
24989
+ /**
24990
+ * Why an early occupancy look (D691) was not scheduled.
24991
+ *
24992
+ * - `unknown-camera` — no session was ever dispatched for it, so there is no
24993
+ * node and no config to attach a burst with.
24994
+ * - `out-of-range` — the ask is negative or further out than the orchestrator
24995
+ * will hold a timer for; the parked-object cadence is the answer there.
24996
+ * - `no-burst-producer` — this build has no burst producer at all.
24997
+ * - `already-looked` — this camera's ONE early look since its last session has
24998
+ * been spent. A look's own burst can re-arm a flickering flip, and a look
24999
+ * per arm would chain a burst every ~30 s forever (review H2); the next
25000
+ * real session re-arms the budget.
25001
+ */
25002
+ var OccupancyLookRefusalSchema = _enum([
25003
+ "unknown-camera",
25004
+ "out-of-range",
25005
+ "no-burst-producer",
25006
+ "already-looked"
25007
+ ]);
25008
+ method(object({
25009
+ deviceId: number().int().nonnegative(),
25010
+ /** How long from NOW until the pending flip's sustain window ends. RELATIVE,
25011
+ * so the caller's clock and the orchestrator's never have to agree. */
25012
+ afterMs: number().finite(),
25013
+ /** Why, for the log. */
25014
+ reason: string()
25015
+ }), object({
25016
+ scheduled: boolean(),
25017
+ /** When `scheduled`: how long until the burst is dialled. */
25018
+ dueInMs: number().optional(),
25019
+ /** When not `scheduled`: why. */
25020
+ refusedBecause: OccupancyLookRefusalSchema.optional()
25021
+ }), {
25022
+ kind: "mutation",
25023
+ auth: "admin"
25024
+ }), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
24907
25025
  kind: "mutation",
24908
25026
  auth: "admin"
24909
25027
  }), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
@@ -41203,6 +41321,12 @@ Object.freeze({
41203
41321
  addonId: null,
41204
41322
  access: "create"
41205
41323
  },
41324
+ "pipelineAnalytics.clearTrackRelation": {
41325
+ capName: "pipeline-analytics",
41326
+ capScope: "device",
41327
+ addonId: null,
41328
+ access: "delete"
41329
+ },
41206
41330
  "pipelineAnalytics.clearTracks": {
41207
41331
  capName: "pipeline-analytics",
41208
41332
  capScope: "device",
@@ -41455,6 +41579,12 @@ Object.freeze({
41455
41579
  addonId: null,
41456
41580
  access: "view"
41457
41581
  },
41582
+ "pipelineAnalytics.listTrackRelations": {
41583
+ capName: "pipeline-analytics",
41584
+ capScope: "device",
41585
+ addonId: null,
41586
+ access: "view"
41587
+ },
41458
41588
  "pipelineAnalytics.listTracks": {
41459
41589
  capName: "pipeline-analytics",
41460
41590
  capScope: "device",
@@ -41569,6 +41699,18 @@ Object.freeze({
41569
41699
  addonId: null,
41570
41700
  access: "create"
41571
41701
  },
41702
+ "pipelineAnalytics.setTrackPurity": {
41703
+ capName: "pipeline-analytics",
41704
+ capScope: "device",
41705
+ addonId: null,
41706
+ access: "create"
41707
+ },
41708
+ "pipelineAnalytics.setTrackRelation": {
41709
+ capName: "pipeline-analytics",
41710
+ capScope: "device",
41711
+ addonId: null,
41712
+ access: "create"
41713
+ },
41572
41714
  "pipelineAnalytics.startStorageMigrationMove": {
41573
41715
  capName: "pipeline-analytics",
41574
41716
  capScope: "device",
@@ -42007,6 +42149,12 @@ Object.freeze({
42007
42149
  addonId: null,
42008
42150
  access: "delete"
42009
42151
  },
42152
+ "pipelineOrchestrator.requestOccupancyLook": {
42153
+ capName: "pipeline-orchestrator",
42154
+ capScope: "system",
42155
+ addonId: null,
42156
+ access: "create"
42157
+ },
42010
42158
  "pipelineOrchestrator.resetNodePipelineDefaults": {
42011
42159
  capName: "pipeline-orchestrator",
42012
42160
  capScope: "system",
@@ -45489,6 +45637,11 @@ Object.freeze({
45489
45637
  form: "single",
45490
45638
  optional: false
45491
45639
  }],
45640
+ "pipelineAnalytics.clearTrackRelation": [{
45641
+ name: "deviceId",
45642
+ form: "single",
45643
+ optional: false
45644
+ }],
45492
45645
  "pipelineAnalytics.clearTracks": [{
45493
45646
  name: "deviceId",
45494
45647
  form: "single",
@@ -45639,6 +45792,11 @@ Object.freeze({
45639
45792
  form: "single",
45640
45793
  optional: false
45641
45794
  }],
45795
+ "pipelineAnalytics.listTrackRelations": [{
45796
+ name: "deviceId",
45797
+ form: "single",
45798
+ optional: false
45799
+ }],
45642
45800
  "pipelineAnalytics.listTracks": [{
45643
45801
  name: "deviceId",
45644
45802
  form: "single",
@@ -45709,6 +45867,16 @@ Object.freeze({
45709
45867
  form: "single",
45710
45868
  optional: false
45711
45869
  }],
45870
+ "pipelineAnalytics.setTrackPurity": [{
45871
+ name: "deviceId",
45872
+ form: "single",
45873
+ optional: false
45874
+ }],
45875
+ "pipelineAnalytics.setTrackRelation": [{
45876
+ name: "deviceId",
45877
+ form: "single",
45878
+ optional: false
45879
+ }],
45712
45880
  "pipelineAnalytics.wipeAllAnalytics": [{
45713
45881
  name: "deviceId",
45714
45882
  form: "single",
@@ -45779,6 +45947,11 @@ Object.freeze({
45779
45947
  form: "single",
45780
45948
  optional: false
45781
45949
  }],
45950
+ "pipelineOrchestrator.requestOccupancyLook": [{
45951
+ name: "deviceId",
45952
+ form: "single",
45953
+ optional: false
45954
+ }],
45782
45955
  "pipelineOrchestrator.resolvePipeline": [{
45783
45956
  name: "deviceId",
45784
45957
  form: "single",
@@ -47016,6 +47189,37 @@ var STATE_SUMMARY_VARS = [
47016
47189
  [...RULE_TEXT],
47017
47190
  ...STATE_SUMMARY_VARS
47018
47191
  ];
47192
+ new Set([
47193
+ "disarmed",
47194
+ "armed_home",
47195
+ "armed_away",
47196
+ "armed_night",
47197
+ "armed_vacation",
47198
+ "armed_custom_bypass",
47199
+ "arming",
47200
+ "disarming",
47201
+ "pending",
47202
+ "triggered",
47203
+ "open",
47204
+ "opening",
47205
+ "closing",
47206
+ "closed",
47207
+ "stopped",
47208
+ "locked",
47209
+ "unlocked",
47210
+ "locking",
47211
+ "unlocking",
47212
+ "jammed",
47213
+ "on",
47214
+ "off",
47215
+ "home",
47216
+ "not_home",
47217
+ "matched",
47218
+ "diverged",
47219
+ "unknown",
47220
+ "latched",
47221
+ "live"
47222
+ ]);
47019
47223
  /**
47020
47224
  * TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
47021
47225
  *
@@ -1,5 +1,5 @@
1
1
  import { h as e, l as t, u as n, y as r } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DJDHChgO.mjs";
2
- import { o as i, s as a } from "./responsive-BRO7smWV.mjs";
2
+ import { o as i, s as a } from "./responsive-Dma333nN.mjs";
3
3
  import { n as o, r as s, t as c } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs";
4
4
  var l = a("chevron-down", [["path", {
5
5
  d: "m6 9 6 6 6-6",
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-JOrjSbrc.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-w31RPwHi.mjs";
2
2
  export { t as get, e as init };
@@ -1,6 +1,6 @@
1
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
2
  import "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs";
3
- import { n as u } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-D3PT9fEx.mjs";
3
+ import { n as u } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C-PLenBK.mjs";
4
4
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
5
5
  l();
6
6
  var d = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), f = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), p = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), m = (e) => {
@@ -1,5 +1,5 @@
1
1
  import { c as e, h as t, p as n, y as r } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DJDHChgO.mjs";
2
- import { s as i } from "./responsive-BRO7smWV.mjs";
2
+ import { s as i } from "./responsive-Dma333nN.mjs";
3
3
  var a = i("camera", [["path", {
4
4
  d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
5
5
  key: "18u6gg"
@@ -1,4 +1,4 @@
1
- import { s as e } from "./responsive-BRO7smWV.mjs";
1
+ import { s as e } from "./responsive-Dma333nN.mjs";
2
2
  var t = e("eye-off", [
3
3
  ["path", {
4
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",
@@ -1,4 +1,4 @@
1
- import { s as e } from "./responsive-BRO7smWV.mjs";
1
+ import { s as e } from "./responsive-Dma333nN.mjs";
2
2
  var t = e("trash-2", [
3
3
  ["path", {
4
4
  d: "M10 11v6",
@@ -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-DQxc1RfH.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DdDnYrMZ.mjs")).catch((e) => {
2757
2757
  throw tr = void 0, e;
2758
2758
  }), tr;
2759
2759
  }