@camstack/addon-post-analysis 1.2.622 → 1.2.623

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 (15) hide show
  1. package/THIRD_PARTY_MODELS.md +2 -2
  2. package/dist/{clip-model-registry-EDTOCKN9.mjs → clip-model-registry-C58fyELd.mjs} +181 -65
  3. package/dist/{clip-model-registry-MHJ9BSUV.js → clip-model-registry-KKT83z9U.js} +192 -64
  4. package/dist/embedding-encoder/index.js +1 -1
  5. package/dist/embedding-encoder/index.mjs +1 -1
  6. package/dist/pipeline-analytics/_stub.js +2 -2
  7. package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-DAyVukQp.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-_ahOxwNA.mjs} +3 -3
  8. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-V5-s2hmZ.mjs +26 -0
  9. package/dist/pipeline-analytics/{_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CssYIiFD.mjs → _virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-B1HZu0i3.mjs} +1 -1
  10. package/dist/pipeline-analytics/{hostInit-C4-dCKYR.mjs → hostInit-CdRVx4vF.mjs} +3 -3
  11. package/dist/pipeline-analytics/index.js +335 -86
  12. package/dist/pipeline-analytics/index.mjs +335 -86
  13. package/dist/pipeline-analytics/remoteEntry.js +1 -1
  14. package/package.json +1 -1
  15. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CTvx3PDS.mjs +0 -26
@@ -30,7 +30,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
30
30
  }) : target, mod));
31
31
  //#endregion
32
32
  let node_crypto = require("node:crypto");
33
- //#region ../types/dist/event-category-7pZEBmVg.mjs
33
+ //#region ../types/dist/event-category-BfJwUd2S.mjs
34
34
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
35
35
  EventCategory["SystemBoot"] = "system.boot";
36
36
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -347,6 +347,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
347
347
  */
348
348
  EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
349
349
  /**
350
+ * A camera's motion source has fired constantly with no subject for an hour
351
+ * (motion duty or session count over the bar, zero detections) — it is not
352
+ * blind, its motion zones or sensitivity want tuning (D907). Paired with
353
+ * {@link PipelineMotionCalm}.
354
+ */
355
+ EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
356
+ /** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
357
+ EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
358
+ /**
350
359
  * Per-camera pipeline config was mutated by the orchestrator
351
360
  * (3-level settings change via `setAgentAddonDefaults` /
352
361
  * `setCameraStepToggle` / `setCameraPipelineForAgent` or a
@@ -5651,7 +5660,7 @@ var ZodIssueCode = {
5651
5660
  var ZodFirstPartyTypeKind;
5652
5661
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5653
5662
  //#endregion
5654
- //#region ../types/dist/sleep-CueztlR1.mjs
5663
+ //#region ../types/dist/sleep-DJFUfKvA.mjs
5655
5664
  /**
5656
5665
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5657
5666
  * window to float samples (D455).
@@ -8243,7 +8252,7 @@ var EntryDescriptorSchema = object({
8243
8252
  /** JSON Schema of the entry body; `secret: true` marks a password field. */
8244
8253
  fields: record(string(), unknown())
8245
8254
  }).strict();
8246
- /** What crosses the wire and sits in the engine's catalog: JSON only, no Zod. */
8255
+ /** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
8247
8256
  var RecordKindDeclarationSchema = object({
8248
8257
  database: _enum(RECORD_DATABASES).default("settings"),
8249
8258
  class: _enum(RECORD_CLASSES),
@@ -8262,14 +8271,6 @@ var RecordKindDeclarationSchema = object({
8262
8271
  secretPaths: array(string().min(1)).default([]),
8263
8272
  /** The id key of each array that carries a secret (`{ headers: 'name' }`). */
8264
8273
  secretArrayKeys: record(string(), string()).default({}),
8265
- /**
8266
- * RETIRED (D900): the legacy table a kind adopted from during the records
8267
- * migration. Nothing declares it any more and nothing reads it; the schema
8268
- * still ACCEPTS it because the catalog rows the migration wrote carry it
8269
- * (an orphaned kind is never redeclared) and an addon built before the
8270
- * removal still sends it. Never set it.
8271
- */
8272
- adoptsFrom: string().min(1).optional(),
8273
8274
  /** Kinds that must agree through `transact` sit in one file under one family name. */
8274
8275
  transactFamily: string().min(1).optional(),
8275
8276
  entry: EntryDescriptorSchema.optional()
@@ -14171,17 +14172,6 @@ object({
14171
14172
  createdAt: number(),
14172
14173
  updatedAt: number()
14173
14174
  });
14174
- object({
14175
- id: string(),
14176
- label: string(),
14177
- isAdmin: boolean().default(false),
14178
- allowedProviders: AllowedProviderSchema,
14179
- allowedDevices: AllowedDevicesSchema,
14180
- tokenHash: string(),
14181
- tokenPrefix: string(),
14182
- createdAt: number(),
14183
- lastUsedAt: number().optional()
14184
- });
14185
14175
  object({
14186
14176
  id: string(),
14187
14177
  userId: string(),
@@ -18193,16 +18183,36 @@ var RecordKindStateSchema = _enum([
18193
18183
  var DeclareKindResultSchema = object({
18194
18184
  kindId: number().int(),
18195
18185
  state: RecordKindStateSchema,
18196
- createdIndexes: array(string()),
18197
- /**
18198
- * RETIRED (D900): always `null`. It carried the records-migration boot guard;
18199
- * it stays on the wire, null, because an addon built before the removal reads
18200
- * an ABSENT field as "adoption pending" and refuses to start.
18201
- */
18202
- adoptionPending: _null()
18186
+ createdIndexes: array(string())
18203
18187
  });
18204
18188
  /** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
18205
18189
  var SecretRefsList = array(string());
18190
+ /**
18191
+ * One op of a `transact`: the single-row writes, each on a kind of the caller.
18192
+ * All ops of one call share ONE database file and ONE `transactFamily`.
18193
+ */
18194
+ var RecordTransactOpSchema = discriminatedUnion("op", [
18195
+ object({
18196
+ op: literal("put"),
18197
+ kind: RecordKindNameSchema,
18198
+ record: RecordInputSchema,
18199
+ ifRev: number().int().min(0).optional()
18200
+ }),
18201
+ object({
18202
+ op: literal("patch"),
18203
+ kind: RecordKindNameSchema,
18204
+ id: RecordIdSchema,
18205
+ data: RecordBodySchema,
18206
+ at: number().int().nullable().optional(),
18207
+ expiresAt: number().int().nullable().optional(),
18208
+ ifRev: number().int().min(1).optional()
18209
+ }),
18210
+ object({
18211
+ op: literal("delete"),
18212
+ kind: RecordKindNameSchema,
18213
+ id: RecordIdSchema
18214
+ })
18215
+ ]);
18206
18216
  var RecordSecretRefsSchema = record(string(), record(string(), string()));
18207
18217
  method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
18208
18218
  kind: "mutation",
@@ -18309,6 +18319,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
18309
18319
  }), {
18310
18320
  kind: "mutation",
18311
18321
  auth: "admin"
18322
+ }), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
18323
+ results: array(object({
18324
+ rev: number().int().nullable(),
18325
+ deleted: boolean()
18326
+ })),
18327
+ releasedRefs: SecretRefsList,
18328
+ secretRefs: SecretRefsList
18329
+ }), {
18330
+ kind: "mutation",
18331
+ auth: "admin"
18312
18332
  }), method(object({
18313
18333
  deviceId: number().int(),
18314
18334
  kinds: array(RecordKindNameSchema).optional()
@@ -44050,9 +44070,13 @@ var NcSystemEventKindSchema = _enum([
44050
44070
  "node-updating",
44051
44071
  "node-inference-unavailable",
44052
44072
  "detection-blind",
44073
+ "motion-noisy",
44074
+ "motion-calm",
44053
44075
  "recording-stalled",
44054
44076
  "recording-healthy",
44055
44077
  "recording-degraded",
44078
+ "device-attention-required",
44079
+ "device-attention-resolved",
44056
44080
  "storage-location-low",
44057
44081
  "storage-location-critical",
44058
44082
  "storage-location-ok",
@@ -45607,6 +45631,14 @@ var NC_CONDITION_CATALOG = [
45607
45631
  value: "detection-blind",
45608
45632
  label: "Camera detecting nothing"
45609
45633
  },
45634
+ {
45635
+ value: "motion-noisy",
45636
+ label: "Camera motion constant, no subject"
45637
+ },
45638
+ {
45639
+ value: "motion-calm",
45640
+ label: "Camera motion calm again"
45641
+ },
45610
45642
  {
45611
45643
  value: "recording-stalled",
45612
45644
  label: "Recording stalled"
@@ -45619,6 +45651,14 @@ var NC_CONDITION_CATALOG = [
45619
45651
  value: "recording-degraded",
45620
45652
  label: "Recording degraded (restart storm)"
45621
45653
  },
45654
+ {
45655
+ value: "device-attention-required",
45656
+ label: "Device needs attention"
45657
+ },
45658
+ {
45659
+ value: "device-attention-resolved",
45660
+ label: "Device attention resolved"
45661
+ },
45622
45662
  {
45623
45663
  value: "storage-location-low",
45624
45664
  label: "Storage location low"
@@ -59266,6 +59306,16 @@ var DishwasherStatusSchema = object({
59266
59306
  powerState: string().nullable(),
59267
59307
  saltLevel: DishwasherConsumableLevelSchema.nullable(),
59268
59308
  rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
59309
+ /**
59310
+ * True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
59311
+ * combined care-and-filter reminder raised); false when every such reminder reads clear; null
59312
+ * when none is reported. A cleared reminder is not an unknown one.
59313
+ */
59314
+ filterCleaningDue: boolean().nullable(),
59315
+ /** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
59316
+ machineCareDue: boolean().nullable(),
59317
+ /** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
59318
+ machineCareRemainingRuns: number().int().nonnegative().nullable(),
59269
59319
  /** Option states: null when the appliance does not expose the option or has not said. */
59270
59320
  halfLoad: boolean().nullable(),
59271
59321
  hygienePlus: boolean().nullable(),
@@ -68085,16 +68135,6 @@ var UpdateUserInputSchema = object({
68085
68135
  allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
68086
68136
  scopes: array(TokenScopeSchema).optional()
68087
68137
  });
68088
- var ApiKeySummarySchema = object({
68089
- id: string(),
68090
- label: string(),
68091
- isAdmin: boolean().default(false),
68092
- allowedProviders: union([array(string()), literal("*")]).optional(),
68093
- allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
68094
- tokenPrefix: string(),
68095
- createdAt: number(),
68096
- lastUsedAt: number().optional()
68097
- });
68098
68138
  var OauthSessionSummarySchema = object({
68099
68139
  id: string(),
68100
68140
  userId: string(),
@@ -68116,8 +68156,7 @@ var TotpStatusSchema = object({
68116
68156
  confirmedAt: number().nullable()
68117
68157
  });
68118
68158
  /**
68119
- * user-management — singleton capability for user accounts and the
68120
- * legacy API-key rows.
68159
+ * user-management — singleton capability for user accounts.
68121
68160
  *
68122
68161
  * v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
68123
68162
  * — the subset check on `setUserScopes` is moot
@@ -68173,10 +68212,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
68173
68212
  }), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
68174
68213
  kind: "mutation",
68175
68214
  access: "view"
68176
- }), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
68177
- kind: "mutation",
68178
- auth: "admin",
68179
- access: "delete"
68180
68215
  }), method(object({ userId: string() }), TotpSetupResultSchema, {
68181
68216
  kind: "mutation",
68182
68217
  auth: "admin",
@@ -77202,6 +77237,12 @@ Object.freeze({
77202
77237
  addonId: null,
77203
77238
  access: "view"
77204
77239
  },
77240
+ "records.transact": {
77241
+ capName: "records",
77242
+ capScope: "system",
77243
+ addonId: null,
77244
+ access: "create"
77245
+ },
77205
77246
  "sceneMonitor.captureReference": {
77206
77247
  capName: "scene-monitor",
77207
77248
  capScope: "device",
@@ -78534,12 +78575,6 @@ Object.freeze({
78534
78575
  addonId: null,
78535
78576
  access: "view"
78536
78577
  },
78537
- "userManagement.listApiKeys": {
78538
- capName: "user-management",
78539
- capScope: "system",
78540
- addonId: null,
78541
- access: "view"
78542
- },
78543
78578
  "userManagement.listExternalIdentities": {
78544
78579
  capName: "user-management",
78545
78580
  capScope: "system",
@@ -78594,12 +78629,6 @@ Object.freeze({
78594
78629
  addonId: null,
78595
78630
  access: "create"
78596
78631
  },
78597
- "userManagement.revokeApiKey": {
78598
- capName: "user-management",
78599
- capScope: "system",
78600
- addonId: null,
78601
- access: "delete"
78602
- },
78603
78632
  "userManagement.revokeOauthSession": {
78604
78633
  capName: "user-management",
78605
78634
  capScope: "system",
@@ -82089,8 +82118,8 @@ var NC_SYSTEM_EVENT_FILTER_KEYS = [
82089
82118
  */
82090
82119
  function systemEventFilterApplies(kind, filter) {
82091
82120
  switch (filter) {
82092
- case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("recording-") || kind === "alarm-triggered";
82093
- case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind";
82121
+ case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("motion-") || kind.startsWith("recording-") || kind === "alarm-triggered";
82122
+ case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind" || kind.startsWith("motion-");
82094
82123
  case "nodeIds": return kind.startsWith("node-") || kind === "addon-crash-loop" || kind === "addon-update-available" || kind === "addon-updated" || kind === "server-update-available" || kind === "wrapper-update-available" || kind === "server-updated" || kind.startsWith("storage-location-") || kind.startsWith("alert-");
82095
82124
  case "packageNames": return kind.endsWith("update-available") || kind === "addon-updated" || kind === "node-updating" || kind === "server-updated";
82096
82125
  case "consumableLowPercent": return NC_CONSUMABLE_SYSTEM_EVENT_KINDS.includes(kind);
@@ -82135,9 +82164,13 @@ var NC_SYSTEM_EVENT_FAMILY = {
82135
82164
  "stream-online": "device-events",
82136
82165
  "stream-offline": "device-events",
82137
82166
  "detection-blind": "device-events",
82167
+ "motion-noisy": "device-events",
82168
+ "motion-calm": "device-events",
82138
82169
  "recording-stalled": "device-events",
82139
82170
  "recording-healthy": "device-events",
82140
82171
  "recording-degraded": "device-events",
82172
+ "device-attention-required": "device-events",
82173
+ "device-attention-resolved": "device-events",
82141
82174
  "node-online": "system",
82142
82175
  "node-offline": "system",
82143
82176
  "node-restarting": "system",
@@ -82238,6 +82271,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
82238
82271
  label: "Detecting nothing",
82239
82272
  kinds: ["detection-blind"]
82240
82273
  },
82274
+ {
82275
+ id: "motion-noise",
82276
+ family: "device-events",
82277
+ label: "Motion without a subject",
82278
+ kinds: ["motion-noisy", "motion-calm"]
82279
+ },
82241
82280
  {
82242
82281
  id: "recording",
82243
82282
  family: "device-events",
@@ -82248,6 +82287,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
82248
82287
  "recording-degraded"
82249
82288
  ]
82250
82289
  },
82290
+ {
82291
+ id: "device-attention",
82292
+ family: "device-events",
82293
+ label: "Needs attention",
82294
+ kinds: ["device-attention-required", "device-attention-resolved"]
82295
+ },
82251
82296
  {
82252
82297
  id: "nodes",
82253
82298
  family: "system",
@@ -83595,6 +83640,16 @@ function alertEpisodeKind(severity, phase) {
83595
83640
  if (severity === "error" && phase === "raised") return "alert-error";
83596
83641
  return null;
83597
83642
  }
83643
+ /**
83644
+ * The kind of a CRITICAL episode edge about a DEVICE (D911): the alert's source
83645
+ * is `device`, so it is announced in the devices family as
83646
+ * `device-attention-required` / `-resolved` INSTEAD of `alert-critical`. One
83647
+ * alert notifies once, through one family. `null` for any other severity.
83648
+ */
83649
+ function deviceAttentionKind(severity, phase) {
83650
+ if (severity !== "critical") return null;
83651
+ return phase === "raised" ? "device-attention-required" : "device-attention-resolved";
83652
+ }
83598
83653
  function alertEpisodePayload(alert, phase, at) {
83599
83654
  const nodeId = alertNodeId(alert);
83600
83655
  return {
@@ -83628,6 +83683,7 @@ var ALERT_EPISODE = [
83628
83683
  "alert-error",
83629
83684
  "alert-critical-resolved"
83630
83685
  ];
83686
+ var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
83631
83687
  var UPDATES = [
83632
83688
  "addon-update-available",
83633
83689
  "server-update-available",
@@ -83657,9 +83713,12 @@ var DEVICE_EVENTS = [
83657
83713
  "stream-online",
83658
83714
  "stream-offline",
83659
83715
  "detection-blind",
83716
+ "motion-noisy",
83717
+ "motion-calm",
83660
83718
  "recording-stalled",
83661
83719
  "recording-healthy",
83662
83720
  "recording-degraded",
83721
+ ...DEVICE_ATTENTION,
83663
83722
  ...ALARM
83664
83723
  ];
83665
83724
  /** Every kind a summary may speak about — the two summarisable families. */
@@ -84233,7 +84292,36 @@ var NC_TEMPLATE_VARS = [
84233
84292
  families: ["rule"],
84234
84293
  fields: [...RULE_TEXT],
84235
84294
  kinds: ["system"],
84236
- systemEventKinds: ["detection-blind", "recording-stalled"]
84295
+ systemEventKinds: [
84296
+ "detection-blind",
84297
+ "motion-noisy",
84298
+ "motion-calm",
84299
+ "recording-stalled"
84300
+ ]
84301
+ },
84302
+ {
84303
+ name: "duty",
84304
+ label: "Motion share (%)",
84305
+ example: "55",
84306
+ group: "system",
84307
+ families: ["rule"],
84308
+ fields: [...RULE_TEXT],
84309
+ kinds: ["system"],
84310
+ systemEventKinds: ["motion-noisy", "motion-calm"]
84311
+ },
84312
+ {
84313
+ name: "sessions",
84314
+ label: "Detection sessions",
84315
+ example: "96",
84316
+ group: "system",
84317
+ families: ["rule"],
84318
+ fields: [...RULE_TEXT],
84319
+ kinds: ["system"],
84320
+ systemEventKinds: [
84321
+ "detection-blind",
84322
+ "motion-noisy",
84323
+ "motion-calm"
84324
+ ]
84237
84325
  },
84238
84326
  {
84239
84327
  name: "message",
@@ -84243,7 +84331,11 @@ var NC_TEMPLATE_VARS = [
84243
84331
  families: ["rule"],
84244
84332
  fields: [...RULE_TEXT],
84245
84333
  kinds: ["system"],
84246
- systemEventKinds: ["recording-degraded", ...ALERT_EPISODE]
84334
+ systemEventKinds: [
84335
+ "recording-degraded",
84336
+ ...DEVICE_ATTENTION,
84337
+ ...ALERT_EPISODE
84338
+ ]
84247
84339
  },
84248
84340
  {
84249
84341
  name: "ruleName",
@@ -84487,7 +84579,11 @@ var NC_TEMPLATE_VARS = [
84487
84579
  families: ["rule"],
84488
84580
  fields: [...RULE_TEXT],
84489
84581
  kinds: ["system"],
84490
- systemEventKinds: ["export-completed", ...ALERT_EPISODE]
84582
+ systemEventKinds: [
84583
+ "export-completed",
84584
+ ...DEVICE_ATTENTION,
84585
+ ...ALERT_EPISODE
84586
+ ]
84491
84587
  },
84492
84588
  {
84493
84589
  name: "severity",
@@ -84507,7 +84603,7 @@ var NC_TEMPLATE_VARS = [
84507
84603
  families: ["rule"],
84508
84604
  fields: [...RULE_TEXT],
84509
84605
  kinds: ["system"],
84510
- systemEventKinds: [...ALERT_EPISODE]
84606
+ systemEventKinds: [...DEVICE_ATTENTION, ...ALERT_EPISODE]
84511
84607
  },
84512
84608
  {
84513
84609
  name: "source",
@@ -84527,7 +84623,7 @@ var NC_TEMPLATE_VARS = [
84527
84623
  families: ["rule"],
84528
84624
  fields: [...RULE_TEXT],
84529
84625
  kinds: ["system"],
84530
- systemEventKinds: [...ALERT_EPISODE]
84626
+ systemEventKinds: [...DEVICE_ATTENTION, ...ALERT_EPISODE]
84531
84627
  },
84532
84628
  {
84533
84629
  name: "exportId",
@@ -84742,6 +84838,8 @@ var NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = [
84742
84838
  "alert-critical",
84743
84839
  "alert-error",
84744
84840
  "alert-critical-resolved",
84841
+ "device-attention-required",
84842
+ "device-attention-resolved",
84745
84843
  "rule-broken",
84746
84844
  "rule-repaired"
84747
84845
  ];
@@ -84903,6 +85001,15 @@ var CLASS_BY_KIND = new Map([
84903
85001
  snapshotLabel: "Tanks low or full now",
84904
85002
  snapshotSection: "tanks"
84905
85003
  },
85004
+ {
85005
+ id: "motion-noise",
85006
+ family: "device-events",
85007
+ label: "Motion without a subject (constant / calm again)",
85008
+ bad: ["motion-noisy"],
85009
+ recovery: ["motion-calm"],
85010
+ snapshotLabel: "Cameras with constant motion now",
85011
+ snapshotSection: null
85012
+ },
84906
85013
  {
84907
85014
  id: "recording-health",
84908
85015
  family: "device-events",
@@ -84912,6 +85019,15 @@ var CLASS_BY_KIND = new Map([
84912
85019
  snapshotLabel: "Recordings stalled now",
84913
85020
  snapshotSection: null
84914
85021
  },
85022
+ {
85023
+ id: "device-attention",
85024
+ family: "device-events",
85025
+ label: "Device needs attention (raised / resolved)",
85026
+ bad: ["device-attention-required"],
85027
+ recovery: ["device-attention-resolved"],
85028
+ snapshotLabel: "Devices needing attention now",
85029
+ snapshotSection: null
85030
+ },
84915
85031
  {
84916
85032
  id: "node-connectivity",
84917
85033
  family: "system",
@@ -87062,6 +87178,12 @@ Object.defineProperty(exports, "FailureCounters", {
87062
87178
  return FailureCounters;
87063
87179
  }
87064
87180
  });
87181
+ Object.defineProperty(exports, "InvalidRecordError", {
87182
+ enumerable: true,
87183
+ get: function() {
87184
+ return InvalidRecordError;
87185
+ }
87186
+ });
87065
87187
  Object.defineProperty(exports, "LABEL_SUPPLY_MACRO", {
87066
87188
  enumerable: true,
87067
87189
  get: function() {
@@ -87902,6 +88024,12 @@ Object.defineProperty(exports, "describeSystemEventFamilyProblem", {
87902
88024
  return describeSystemEventFamilyProblem;
87903
88025
  }
87904
88026
  });
88027
+ Object.defineProperty(exports, "deviceAttentionKind", {
88028
+ enumerable: true,
88029
+ get: function() {
88030
+ return deviceAttentionKind;
88031
+ }
88032
+ });
87905
88033
  Object.defineProperty(exports, "deviceRemovalHookCapability", {
87906
88034
  enumerable: true,
87907
88035
  get: function() {
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_clip_model_registry = require("../clip-model-registry-MHJ9BSUV.js");
5
+ const require_clip_model_registry = require("../clip-model-registry-KKT83z9U.js");
6
6
  let node_fs = require("node:fs");
7
7
  node_fs = require_clip_model_registry.__toESM(node_fs);
8
8
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { Gi as BaseAddon, Yr as parseProcStatus, a as CLIP_EMBEDDING_STEP_ID, cr as embeddingEncoderCapability, dr as embeddingRequirementsFailedError, en as PoolMemoryWatchdog, fr as embeddingRequirementsUnavailableError, i as CLIP_TEXT_MODELS, l as resolveClusterModelPin, li as resolvePoolMemoryPolicy, lr as embeddingModelFailedError, n as DEFAULT_CLIP_MODEL, na as normalizeNodeId, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS } from "../clip-model-registry-EDTOCKN9.mjs";
1
+ import { Ki as BaseAddon, Xr as parseProcStatus, a as CLIP_EMBEDDING_STEP_ID, en as PoolMemoryWatchdog, fr as embeddingRequirementsFailedError, i as CLIP_TEXT_MODELS, ia as normalizeNodeId, l as resolveClusterModelPin, lr as embeddingEncoderCapability, n as DEFAULT_CLIP_MODEL, pr as embeddingRequirementsUnavailableError, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS, ui as resolvePoolMemoryPolicy, ur as embeddingModelFailedError } from "../clip-model-registry-C58fyELd.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import * as fs from "node:fs";
4
4
  import * as path$1 from "node:path";
@@ -1,8 +1,8 @@
1
1
  import { a as e, i as t, n, o as r, r as i, t as a } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react__loadShare__.js-Cx9AsA5q.mjs";
2
2
  import { t as o } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-B3Wx5J80.mjs";
3
- import { a as s, c, d as l, f as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CssYIiFD.mjs";
3
+ import { a as s, c, d as l, f as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-B1HZu0i3.mjs";
4
4
  import { n as x, t as S } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-CkwmHEi0.mjs";
5
- import { t as C } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CTvx3PDS.mjs";
5
+ import { t as C } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-V5-s2hmZ.mjs";
6
6
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
7
7
  var w = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), T = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), E = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), D = (e) => {
8
8
  let t = E(e);
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
3
3
  var e = {
4
4
  "@camstack/sdk": {
5
5
  name: "@camstack/sdk",
6
- version: "1.2.147",
6
+ version: "1.2.148",
7
7
  scope: ["default"],
8
8
  loaded: !1,
9
9
  from: "addon_pipeline_analytics_widgets",
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.397",
21
+ version: "1.2.398",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_pipeline_analytics_widgets",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.314",
36
+ version: "1.2.315",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_pipeline_analytics_widgets",