@camstack/addon-model-studio 1.1.284 → 1.1.285

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 (19) hide show
  1. package/THIRD_PARTY_MODELS.md +2 -2
  2. package/dist/{MotionZonesSettings-B2mJ8oko.mjs → MotionZonesSettings-BWIjI_mB.mjs} +2 -2
  3. package/dist/{PrivacyMaskSettings-D_VpMef0.mjs → PrivacyMaskSettings-BuSCnSs6.mjs} +4 -4
  4. package/dist/{SceneMonitorEditor-A0lWa-Hl.mjs → SceneMonitorEditor-D6DomEv3.mjs} +3 -3
  5. package/dist/_stub.js +12 -12
  6. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page--OwLITGY.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-D4_cFV_R.mjs} +4 -4
  7. package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-8XY35EWj.mjs +26 -0
  8. package/dist/{hostInit-DYym-P1a.mjs → hostInit-SeST1uzI.mjs} +3 -3
  9. package/dist/model-studio.addon.js +114 -61
  10. package/dist/model-studio.addon.mjs +114 -61
  11. package/dist/{player-overlays-BCBBEl1N.mjs → player-overlays-DZwcDBXd.mjs} +1 -1
  12. package/dist/remoteEntry.js +1 -1
  13. package/dist/{responsive-BFb9cu5b.mjs → responsive-B15MRUZC.mjs} +1 -1
  14. package/dist/{scene-monitor-copy-Cwn4dXms.mjs → scene-monitor-copy-JIcLgE--.mjs} +1 -1
  15. package/dist/{square-BbRYJv-r.mjs → square-E31fCPCW.mjs} +1 -1
  16. package/dist/{trash-2-DrglU1vc.mjs → trash-2-DBIIPVno.mjs} +1 -1
  17. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-BiFMkYv1.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-Dcfz5AcL.mjs} +1 -1
  18. package/package.json +1 -1
  19. package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-D6d6JMl7.mjs +0 -26
@@ -394,7 +394,7 @@ function buildScryptedRegistryDescriptor(entry) {
394
394
  };
395
395
  }
396
396
  //#endregion
397
- //#region ../types/dist/event-category-7pZEBmVg.mjs
397
+ //#region ../types/dist/event-category-BfJwUd2S.mjs
398
398
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
399
399
  EventCategory["SystemBoot"] = "system.boot";
400
400
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -711,6 +711,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
711
711
  */
712
712
  EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
713
713
  /**
714
+ * A camera's motion source has fired constantly with no subject for an hour
715
+ * (motion duty or session count over the bar, zero detections) — it is not
716
+ * blind, its motion zones or sensitivity want tuning (D907). Paired with
717
+ * {@link PipelineMotionCalm}.
718
+ */
719
+ EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
720
+ /** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
721
+ EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
722
+ /**
714
723
  * Per-camera pipeline config was mutated by the orchestrator
715
724
  * (3-level settings change via `setAgentAddonDefaults` /
716
725
  * `setCameraStepToggle` / `setCameraPipelineForAgent` or a
@@ -5817,7 +5826,7 @@ var ZodIssueCode = {
5817
5826
  var ZodFirstPartyTypeKind;
5818
5827
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5819
5828
  //#endregion
5820
- //#region ../types/dist/sleep-CueztlR1.mjs
5829
+ //#region ../types/dist/sleep-DJFUfKvA.mjs
5821
5830
  /**
5822
5831
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5823
5832
  * window to float samples (D455).
@@ -8279,7 +8288,7 @@ var EntryDescriptorSchema = object({
8279
8288
  /** JSON Schema of the entry body; `secret: true` marks a password field. */
8280
8289
  fields: record(string(), unknown())
8281
8290
  }).strict();
8282
- /** What crosses the wire and sits in the engine's catalog: JSON only, no Zod. */
8291
+ /** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
8283
8292
  var RecordKindDeclarationSchema = object({
8284
8293
  database: _enum(RECORD_DATABASES).default("settings"),
8285
8294
  class: _enum(RECORD_CLASSES),
@@ -8298,14 +8307,6 @@ var RecordKindDeclarationSchema = object({
8298
8307
  secretPaths: array(string().min(1)).default([]),
8299
8308
  /** The id key of each array that carries a secret (`{ headers: 'name' }`). */
8300
8309
  secretArrayKeys: record(string(), string()).default({}),
8301
- /**
8302
- * RETIRED (D900): the legacy table a kind adopted from during the records
8303
- * migration. Nothing declares it any more and nothing reads it; the schema
8304
- * still ACCEPTS it because the catalog rows the migration wrote carry it
8305
- * (an orphaned kind is never redeclared) and an addon built before the
8306
- * removal still sends it. Never set it.
8307
- */
8308
- adoptsFrom: string().min(1).optional(),
8309
8310
  /** Kinds that must agree through `transact` sit in one file under one family name. */
8310
8311
  transactFamily: string().min(1).optional(),
8311
8312
  entry: EntryDescriptorSchema.optional()
@@ -13189,17 +13190,6 @@ object({
13189
13190
  createdAt: number(),
13190
13191
  updatedAt: number()
13191
13192
  });
13192
- object({
13193
- id: string(),
13194
- label: string(),
13195
- isAdmin: boolean().default(false),
13196
- allowedProviders: AllowedProviderSchema,
13197
- allowedDevices: AllowedDevicesSchema,
13198
- tokenHash: string(),
13199
- tokenPrefix: string(),
13200
- createdAt: number(),
13201
- lastUsedAt: number().optional()
13202
- });
13203
13193
  object({
13204
13194
  id: string(),
13205
13195
  userId: string(),
@@ -17120,16 +17110,36 @@ var RecordKindStateSchema = _enum([
17120
17110
  var DeclareKindResultSchema = object({
17121
17111
  kindId: number().int(),
17122
17112
  state: RecordKindStateSchema,
17123
- createdIndexes: array(string()),
17124
- /**
17125
- * RETIRED (D900): always `null`. It carried the records-migration boot guard;
17126
- * it stays on the wire, null, because an addon built before the removal reads
17127
- * an ABSENT field as "adoption pending" and refuses to start.
17128
- */
17129
- adoptionPending: _null()
17113
+ createdIndexes: array(string())
17130
17114
  });
17131
17115
  /** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
17132
17116
  var SecretRefsList = array(string());
17117
+ /**
17118
+ * One op of a `transact`: the single-row writes, each on a kind of the caller.
17119
+ * All ops of one call share ONE database file and ONE `transactFamily`.
17120
+ */
17121
+ var RecordTransactOpSchema = discriminatedUnion("op", [
17122
+ object({
17123
+ op: literal("put"),
17124
+ kind: RecordKindNameSchema,
17125
+ record: RecordInputSchema,
17126
+ ifRev: number().int().min(0).optional()
17127
+ }),
17128
+ object({
17129
+ op: literal("patch"),
17130
+ kind: RecordKindNameSchema,
17131
+ id: RecordIdSchema,
17132
+ data: RecordBodySchema,
17133
+ at: number().int().nullable().optional(),
17134
+ expiresAt: number().int().nullable().optional(),
17135
+ ifRev: number().int().min(1).optional()
17136
+ }),
17137
+ object({
17138
+ op: literal("delete"),
17139
+ kind: RecordKindNameSchema,
17140
+ id: RecordIdSchema
17141
+ })
17142
+ ]);
17133
17143
  var RecordSecretRefsSchema = record(string(), record(string(), string()));
17134
17144
  method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
17135
17145
  kind: "mutation",
@@ -17236,6 +17246,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
17236
17246
  }), {
17237
17247
  kind: "mutation",
17238
17248
  auth: "admin"
17249
+ }), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
17250
+ results: array(object({
17251
+ rev: number().int().nullable(),
17252
+ deleted: boolean()
17253
+ })),
17254
+ releasedRefs: SecretRefsList,
17255
+ secretRefs: SecretRefsList
17256
+ }), {
17257
+ kind: "mutation",
17258
+ auth: "admin"
17239
17259
  }), method(object({
17240
17260
  deviceId: number().int(),
17241
17261
  kinds: array(RecordKindNameSchema).optional()
@@ -42600,9 +42620,13 @@ var NcSystemEventKindSchema = _enum([
42600
42620
  "node-updating",
42601
42621
  "node-inference-unavailable",
42602
42622
  "detection-blind",
42623
+ "motion-noisy",
42624
+ "motion-calm",
42603
42625
  "recording-stalled",
42604
42626
  "recording-healthy",
42605
42627
  "recording-degraded",
42628
+ "device-attention-required",
42629
+ "device-attention-resolved",
42606
42630
  "storage-location-low",
42607
42631
  "storage-location-critical",
42608
42632
  "storage-location-ok",
@@ -55059,6 +55083,16 @@ object({
55059
55083
  powerState: string().nullable(),
55060
55084
  saltLevel: DishwasherConsumableLevelSchema.nullable(),
55061
55085
  rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
55086
+ /**
55087
+ * True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
55088
+ * combined care-and-filter reminder raised); false when every such reminder reads clear; null
55089
+ * when none is reported. A cleared reminder is not an unknown one.
55090
+ */
55091
+ filterCleaningDue: boolean().nullable(),
55092
+ /** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
55093
+ machineCareDue: boolean().nullable(),
55094
+ /** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
55095
+ machineCareRemainingRuns: number().int().nonnegative().nullable(),
55062
55096
  /** Option states: null when the appliance does not expose the option or has not said. */
55063
55097
  halfLoad: boolean().nullable(),
55064
55098
  hygienePlus: boolean().nullable(),
@@ -61676,16 +61710,6 @@ var UpdateUserInputSchema = object({
61676
61710
  allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
61677
61711
  scopes: array(TokenScopeSchema).optional()
61678
61712
  });
61679
- var ApiKeySummarySchema = object({
61680
- id: string(),
61681
- label: string(),
61682
- isAdmin: boolean().default(false),
61683
- allowedProviders: union([array(string()), literal("*")]).optional(),
61684
- allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
61685
- tokenPrefix: string(),
61686
- createdAt: number(),
61687
- lastUsedAt: number().optional()
61688
- });
61689
61713
  var OauthSessionSummarySchema = object({
61690
61714
  id: string(),
61691
61715
  userId: string(),
@@ -61707,8 +61731,7 @@ var TotpStatusSchema = object({
61707
61731
  confirmedAt: number().nullable()
61708
61732
  });
61709
61733
  /**
61710
- * user-management — singleton capability for user accounts and the
61711
- * legacy API-key rows.
61734
+ * user-management — singleton capability for user accounts.
61712
61735
  *
61713
61736
  * v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
61714
61737
  * — the subset check on `setUserScopes` is moot
@@ -61764,10 +61787,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
61764
61787
  }), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
61765
61788
  kind: "mutation",
61766
61789
  access: "view"
61767
- }), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
61768
- kind: "mutation",
61769
- auth: "admin",
61770
- access: "delete"
61771
61790
  }), method(object({ userId: string() }), TotpSetupResultSchema, {
61772
61791
  kind: "mutation",
61773
61792
  auth: "admin",
@@ -69378,6 +69397,12 @@ Object.freeze({
69378
69397
  addonId: null,
69379
69398
  access: "view"
69380
69399
  },
69400
+ "records.transact": {
69401
+ capName: "records",
69402
+ capScope: "system",
69403
+ addonId: null,
69404
+ access: "create"
69405
+ },
69381
69406
  "sceneMonitor.captureReference": {
69382
69407
  capName: "scene-monitor",
69383
69408
  capScope: "device",
@@ -70710,12 +70735,6 @@ Object.freeze({
70710
70735
  addonId: null,
70711
70736
  access: "view"
70712
70737
  },
70713
- "userManagement.listApiKeys": {
70714
- capName: "user-management",
70715
- capScope: "system",
70716
- addonId: null,
70717
- access: "view"
70718
- },
70719
70738
  "userManagement.listExternalIdentities": {
70720
70739
  capName: "user-management",
70721
70740
  capScope: "system",
@@ -70770,12 +70789,6 @@ Object.freeze({
70770
70789
  addonId: null,
70771
70790
  access: "create"
70772
70791
  },
70773
- "userManagement.revokeApiKey": {
70774
- capName: "user-management",
70775
- capScope: "system",
70776
- addonId: null,
70777
- access: "delete"
70778
- },
70779
70792
  "userManagement.revokeOauthSession": {
70780
70793
  capName: "user-management",
70781
70794
  capScope: "system",
@@ -74140,9 +74153,13 @@ new Map(Object.entries({
74140
74153
  "stream-online": "device-events",
74141
74154
  "stream-offline": "device-events",
74142
74155
  "detection-blind": "device-events",
74156
+ "motion-noisy": "device-events",
74157
+ "motion-calm": "device-events",
74143
74158
  "recording-stalled": "device-events",
74144
74159
  "recording-healthy": "device-events",
74145
74160
  "recording-degraded": "device-events",
74161
+ "device-attention-required": "device-events",
74162
+ "device-attention-resolved": "device-events",
74146
74163
  "node-online": "system",
74147
74164
  "node-offline": "system",
74148
74165
  "node-restarting": "system",
@@ -74225,6 +74242,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
74225
74242
  label: "Detecting nothing",
74226
74243
  kinds: ["detection-blind"]
74227
74244
  },
74245
+ {
74246
+ id: "motion-noise",
74247
+ family: "device-events",
74248
+ label: "Motion without a subject",
74249
+ kinds: ["motion-noisy", "motion-calm"]
74250
+ },
74228
74251
  {
74229
74252
  id: "recording",
74230
74253
  family: "device-events",
@@ -74235,6 +74258,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
74235
74258
  "recording-degraded"
74236
74259
  ]
74237
74260
  },
74261
+ {
74262
+ id: "device-attention",
74263
+ family: "device-events",
74264
+ label: "Needs attention",
74265
+ kinds: ["device-attention-required", "device-attention-resolved"]
74266
+ },
74238
74267
  {
74239
74268
  id: "nodes",
74240
74269
  family: "system",
@@ -74374,6 +74403,7 @@ var ALERT_EPISODE = [
74374
74403
  "alert-error",
74375
74404
  "alert-critical-resolved"
74376
74405
  ];
74406
+ var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
74377
74407
  var UPDATES = [
74378
74408
  "addon-update-available",
74379
74409
  "server-update-available",
@@ -74403,9 +74433,12 @@ var DEVICE_EVENTS = [
74403
74433
  "stream-online",
74404
74434
  "stream-offline",
74405
74435
  "detection-blind",
74436
+ "motion-noisy",
74437
+ "motion-calm",
74406
74438
  "recording-stalled",
74407
74439
  "recording-healthy",
74408
74440
  "recording-degraded",
74441
+ ...DEVICE_ATTENTION,
74409
74442
  ...ALARM
74410
74443
  ];
74411
74444
  /** Every kind a summary may speak about — the two summarisable families. */
@@ -74573,7 +74606,9 @@ var STATE_SUMMARY_VARS = [
74573
74606
  [...RULE_TEXT],
74574
74607
  [...RULE_TEXT],
74575
74608
  [...RULE_TEXT],
74576
- ([...RULE_TEXT], [...ALERT_EPISODE]),
74609
+ [...RULE_TEXT],
74610
+ [...RULE_TEXT],
74611
+ ([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
74577
74612
  [...RULE_TEXT],
74578
74613
  [...RULE_TEXT],
74579
74614
  [...RULE_TEXT],
@@ -74595,11 +74630,11 @@ var STATE_SUMMARY_VARS = [
74595
74630
  [...RULE_TEXT],
74596
74631
  [...RULE_TEXT],
74597
74632
  [...RULE_TEXT],
74633
+ ([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
74598
74634
  ([...RULE_TEXT], [...ALERT_EPISODE]),
74635
+ ([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
74599
74636
  ([...RULE_TEXT], [...ALERT_EPISODE]),
74600
- ([...RULE_TEXT], [...ALERT_EPISODE]),
74601
- ([...RULE_TEXT], [...ALERT_EPISODE]),
74602
- ([...RULE_TEXT], [...ALERT_EPISODE]),
74637
+ ([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
74603
74638
  [...RULE_TEXT],
74604
74639
  [...RULE_TEXT],
74605
74640
  [...RULE_TEXT],
@@ -74675,6 +74710,15 @@ new Map([
74675
74710
  snapshotLabel: "Tanks low or full now",
74676
74711
  snapshotSection: "tanks"
74677
74712
  },
74713
+ {
74714
+ id: "motion-noise",
74715
+ family: "device-events",
74716
+ label: "Motion without a subject (constant / calm again)",
74717
+ bad: ["motion-noisy"],
74718
+ recovery: ["motion-calm"],
74719
+ snapshotLabel: "Cameras with constant motion now",
74720
+ snapshotSection: null
74721
+ },
74678
74722
  {
74679
74723
  id: "recording-health",
74680
74724
  family: "device-events",
@@ -74684,6 +74728,15 @@ new Map([
74684
74728
  snapshotLabel: "Recordings stalled now",
74685
74729
  snapshotSection: null
74686
74730
  },
74731
+ {
74732
+ id: "device-attention",
74733
+ family: "device-events",
74734
+ label: "Device needs attention (raised / resolved)",
74735
+ bad: ["device-attention-required"],
74736
+ recovery: ["device-attention-resolved"],
74737
+ snapshotLabel: "Devices needing attention now",
74738
+ snapshotSection: null
74739
+ },
74687
74740
  {
74688
74741
  id: "node-connectivity",
74689
74742
  family: "system",