@camstack/addon-post-analysis 1.2.622 → 1.2.624

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-BpS_EthX.mjs} +181 -71
  3. package/dist/{clip-model-registry-MHJ9BSUV.js → clip-model-registry-WENnCB-u.js} +192 -70
  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-B3M-0LC0.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-DBuMgPh6.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-BqU6Q1wQ.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"
@@ -51392,7 +51432,6 @@ var RecommendationReasonSchema = discriminatedUnion("kind", [
51392
51432
  modelId: string()
51393
51433
  }),
51394
51434
  object({ kind: literal("cpu-device") }),
51395
- object({ kind: literal("coral-untouched") }),
51396
51435
  object({ kind: literal("device-disabled") }),
51397
51436
  object({ kind: literal("device-unavailable") }),
51398
51437
  object({ kind: literal("node-offline") }),
@@ -51490,11 +51529,6 @@ var AutoTuneWarningSchema = discriminatedUnion("kind", [
51490
51529
  kind: literal("detector-store-unreadable"),
51491
51530
  error: string()
51492
51531
  }),
51493
- object({
51494
- kind: literal("coral-enabled"),
51495
- nodeId: string(),
51496
- deviceKey: string()
51497
- }),
51498
51532
  object({
51499
51533
  kind: literal("custom-pin-kept"),
51500
51534
  nodeId: string(),
@@ -59266,6 +59300,16 @@ var DishwasherStatusSchema = object({
59266
59300
  powerState: string().nullable(),
59267
59301
  saltLevel: DishwasherConsumableLevelSchema.nullable(),
59268
59302
  rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
59303
+ /**
59304
+ * True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
59305
+ * combined care-and-filter reminder raised); false when every such reminder reads clear; null
59306
+ * when none is reported. A cleared reminder is not an unknown one.
59307
+ */
59308
+ filterCleaningDue: boolean().nullable(),
59309
+ /** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
59310
+ machineCareDue: boolean().nullable(),
59311
+ /** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
59312
+ machineCareRemainingRuns: number().int().nonnegative().nullable(),
59269
59313
  /** Option states: null when the appliance does not expose the option or has not said. */
59270
59314
  halfLoad: boolean().nullable(),
59271
59315
  hygienePlus: boolean().nullable(),
@@ -68085,16 +68129,6 @@ var UpdateUserInputSchema = object({
68085
68129
  allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
68086
68130
  scopes: array(TokenScopeSchema).optional()
68087
68131
  });
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
68132
  var OauthSessionSummarySchema = object({
68099
68133
  id: string(),
68100
68134
  userId: string(),
@@ -68116,8 +68150,7 @@ var TotpStatusSchema = object({
68116
68150
  confirmedAt: number().nullable()
68117
68151
  });
68118
68152
  /**
68119
- * user-management — singleton capability for user accounts and the
68120
- * legacy API-key rows.
68153
+ * user-management — singleton capability for user accounts.
68121
68154
  *
68122
68155
  * v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
68123
68156
  * — the subset check on `setUserScopes` is moot
@@ -68173,10 +68206,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
68173
68206
  }), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
68174
68207
  kind: "mutation",
68175
68208
  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
68209
  }), method(object({ userId: string() }), TotpSetupResultSchema, {
68181
68210
  kind: "mutation",
68182
68211
  auth: "admin",
@@ -77202,6 +77231,12 @@ Object.freeze({
77202
77231
  addonId: null,
77203
77232
  access: "view"
77204
77233
  },
77234
+ "records.transact": {
77235
+ capName: "records",
77236
+ capScope: "system",
77237
+ addonId: null,
77238
+ access: "create"
77239
+ },
77205
77240
  "sceneMonitor.captureReference": {
77206
77241
  capName: "scene-monitor",
77207
77242
  capScope: "device",
@@ -78534,12 +78569,6 @@ Object.freeze({
78534
78569
  addonId: null,
78535
78570
  access: "view"
78536
78571
  },
78537
- "userManagement.listApiKeys": {
78538
- capName: "user-management",
78539
- capScope: "system",
78540
- addonId: null,
78541
- access: "view"
78542
- },
78543
78572
  "userManagement.listExternalIdentities": {
78544
78573
  capName: "user-management",
78545
78574
  capScope: "system",
@@ -78594,12 +78623,6 @@ Object.freeze({
78594
78623
  addonId: null,
78595
78624
  access: "create"
78596
78625
  },
78597
- "userManagement.revokeApiKey": {
78598
- capName: "user-management",
78599
- capScope: "system",
78600
- addonId: null,
78601
- access: "delete"
78602
- },
78603
78626
  "userManagement.revokeOauthSession": {
78604
78627
  capName: "user-management",
78605
78628
  capScope: "system",
@@ -82089,8 +82112,8 @@ var NC_SYSTEM_EVENT_FILTER_KEYS = [
82089
82112
  */
82090
82113
  function systemEventFilterApplies(kind, filter) {
82091
82114
  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";
82115
+ case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("motion-") || kind.startsWith("recording-") || kind === "alarm-triggered";
82116
+ case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind" || kind.startsWith("motion-");
82094
82117
  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
82118
  case "packageNames": return kind.endsWith("update-available") || kind === "addon-updated" || kind === "node-updating" || kind === "server-updated";
82096
82119
  case "consumableLowPercent": return NC_CONSUMABLE_SYSTEM_EVENT_KINDS.includes(kind);
@@ -82135,9 +82158,13 @@ var NC_SYSTEM_EVENT_FAMILY = {
82135
82158
  "stream-online": "device-events",
82136
82159
  "stream-offline": "device-events",
82137
82160
  "detection-blind": "device-events",
82161
+ "motion-noisy": "device-events",
82162
+ "motion-calm": "device-events",
82138
82163
  "recording-stalled": "device-events",
82139
82164
  "recording-healthy": "device-events",
82140
82165
  "recording-degraded": "device-events",
82166
+ "device-attention-required": "device-events",
82167
+ "device-attention-resolved": "device-events",
82141
82168
  "node-online": "system",
82142
82169
  "node-offline": "system",
82143
82170
  "node-restarting": "system",
@@ -82238,6 +82265,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
82238
82265
  label: "Detecting nothing",
82239
82266
  kinds: ["detection-blind"]
82240
82267
  },
82268
+ {
82269
+ id: "motion-noise",
82270
+ family: "device-events",
82271
+ label: "Motion without a subject",
82272
+ kinds: ["motion-noisy", "motion-calm"]
82273
+ },
82241
82274
  {
82242
82275
  id: "recording",
82243
82276
  family: "device-events",
@@ -82248,6 +82281,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
82248
82281
  "recording-degraded"
82249
82282
  ]
82250
82283
  },
82284
+ {
82285
+ id: "device-attention",
82286
+ family: "device-events",
82287
+ label: "Needs attention",
82288
+ kinds: ["device-attention-required", "device-attention-resolved"]
82289
+ },
82251
82290
  {
82252
82291
  id: "nodes",
82253
82292
  family: "system",
@@ -83595,6 +83634,16 @@ function alertEpisodeKind(severity, phase) {
83595
83634
  if (severity === "error" && phase === "raised") return "alert-error";
83596
83635
  return null;
83597
83636
  }
83637
+ /**
83638
+ * The kind of a CRITICAL episode edge about a DEVICE (D911): the alert's source
83639
+ * is `device`, so it is announced in the devices family as
83640
+ * `device-attention-required` / `-resolved` INSTEAD of `alert-critical`. One
83641
+ * alert notifies once, through one family. `null` for any other severity.
83642
+ */
83643
+ function deviceAttentionKind(severity, phase) {
83644
+ if (severity !== "critical") return null;
83645
+ return phase === "raised" ? "device-attention-required" : "device-attention-resolved";
83646
+ }
83598
83647
  function alertEpisodePayload(alert, phase, at) {
83599
83648
  const nodeId = alertNodeId(alert);
83600
83649
  return {
@@ -83628,6 +83677,7 @@ var ALERT_EPISODE = [
83628
83677
  "alert-error",
83629
83678
  "alert-critical-resolved"
83630
83679
  ];
83680
+ var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
83631
83681
  var UPDATES = [
83632
83682
  "addon-update-available",
83633
83683
  "server-update-available",
@@ -83657,9 +83707,12 @@ var DEVICE_EVENTS = [
83657
83707
  "stream-online",
83658
83708
  "stream-offline",
83659
83709
  "detection-blind",
83710
+ "motion-noisy",
83711
+ "motion-calm",
83660
83712
  "recording-stalled",
83661
83713
  "recording-healthy",
83662
83714
  "recording-degraded",
83715
+ ...DEVICE_ATTENTION,
83663
83716
  ...ALARM
83664
83717
  ];
83665
83718
  /** Every kind a summary may speak about — the two summarisable families. */
@@ -84233,7 +84286,36 @@ var NC_TEMPLATE_VARS = [
84233
84286
  families: ["rule"],
84234
84287
  fields: [...RULE_TEXT],
84235
84288
  kinds: ["system"],
84236
- systemEventKinds: ["detection-blind", "recording-stalled"]
84289
+ systemEventKinds: [
84290
+ "detection-blind",
84291
+ "motion-noisy",
84292
+ "motion-calm",
84293
+ "recording-stalled"
84294
+ ]
84295
+ },
84296
+ {
84297
+ name: "duty",
84298
+ label: "Motion share (%)",
84299
+ example: "55",
84300
+ group: "system",
84301
+ families: ["rule"],
84302
+ fields: [...RULE_TEXT],
84303
+ kinds: ["system"],
84304
+ systemEventKinds: ["motion-noisy", "motion-calm"]
84305
+ },
84306
+ {
84307
+ name: "sessions",
84308
+ label: "Detection sessions",
84309
+ example: "96",
84310
+ group: "system",
84311
+ families: ["rule"],
84312
+ fields: [...RULE_TEXT],
84313
+ kinds: ["system"],
84314
+ systemEventKinds: [
84315
+ "detection-blind",
84316
+ "motion-noisy",
84317
+ "motion-calm"
84318
+ ]
84237
84319
  },
84238
84320
  {
84239
84321
  name: "message",
@@ -84243,7 +84325,11 @@ var NC_TEMPLATE_VARS = [
84243
84325
  families: ["rule"],
84244
84326
  fields: [...RULE_TEXT],
84245
84327
  kinds: ["system"],
84246
- systemEventKinds: ["recording-degraded", ...ALERT_EPISODE]
84328
+ systemEventKinds: [
84329
+ "recording-degraded",
84330
+ ...DEVICE_ATTENTION,
84331
+ ...ALERT_EPISODE
84332
+ ]
84247
84333
  },
84248
84334
  {
84249
84335
  name: "ruleName",
@@ -84487,7 +84573,11 @@ var NC_TEMPLATE_VARS = [
84487
84573
  families: ["rule"],
84488
84574
  fields: [...RULE_TEXT],
84489
84575
  kinds: ["system"],
84490
- systemEventKinds: ["export-completed", ...ALERT_EPISODE]
84576
+ systemEventKinds: [
84577
+ "export-completed",
84578
+ ...DEVICE_ATTENTION,
84579
+ ...ALERT_EPISODE
84580
+ ]
84491
84581
  },
84492
84582
  {
84493
84583
  name: "severity",
@@ -84507,7 +84597,7 @@ var NC_TEMPLATE_VARS = [
84507
84597
  families: ["rule"],
84508
84598
  fields: [...RULE_TEXT],
84509
84599
  kinds: ["system"],
84510
- systemEventKinds: [...ALERT_EPISODE]
84600
+ systemEventKinds: [...DEVICE_ATTENTION, ...ALERT_EPISODE]
84511
84601
  },
84512
84602
  {
84513
84603
  name: "source",
@@ -84527,7 +84617,7 @@ var NC_TEMPLATE_VARS = [
84527
84617
  families: ["rule"],
84528
84618
  fields: [...RULE_TEXT],
84529
84619
  kinds: ["system"],
84530
- systemEventKinds: [...ALERT_EPISODE]
84620
+ systemEventKinds: [...DEVICE_ATTENTION, ...ALERT_EPISODE]
84531
84621
  },
84532
84622
  {
84533
84623
  name: "exportId",
@@ -84742,6 +84832,8 @@ var NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = [
84742
84832
  "alert-critical",
84743
84833
  "alert-error",
84744
84834
  "alert-critical-resolved",
84835
+ "device-attention-required",
84836
+ "device-attention-resolved",
84745
84837
  "rule-broken",
84746
84838
  "rule-repaired"
84747
84839
  ];
@@ -84903,6 +84995,15 @@ var CLASS_BY_KIND = new Map([
84903
84995
  snapshotLabel: "Tanks low or full now",
84904
84996
  snapshotSection: "tanks"
84905
84997
  },
84998
+ {
84999
+ id: "motion-noise",
85000
+ family: "device-events",
85001
+ label: "Motion without a subject (constant / calm again)",
85002
+ bad: ["motion-noisy"],
85003
+ recovery: ["motion-calm"],
85004
+ snapshotLabel: "Cameras with constant motion now",
85005
+ snapshotSection: null
85006
+ },
84906
85007
  {
84907
85008
  id: "recording-health",
84908
85009
  family: "device-events",
@@ -84912,6 +85013,15 @@ var CLASS_BY_KIND = new Map([
84912
85013
  snapshotLabel: "Recordings stalled now",
84913
85014
  snapshotSection: null
84914
85015
  },
85016
+ {
85017
+ id: "device-attention",
85018
+ family: "device-events",
85019
+ label: "Device needs attention (raised / resolved)",
85020
+ bad: ["device-attention-required"],
85021
+ recovery: ["device-attention-resolved"],
85022
+ snapshotLabel: "Devices needing attention now",
85023
+ snapshotSection: null
85024
+ },
84915
85025
  {
84916
85026
  id: "node-connectivity",
84917
85027
  family: "system",
@@ -87062,6 +87172,12 @@ Object.defineProperty(exports, "FailureCounters", {
87062
87172
  return FailureCounters;
87063
87173
  }
87064
87174
  });
87175
+ Object.defineProperty(exports, "InvalidRecordError", {
87176
+ enumerable: true,
87177
+ get: function() {
87178
+ return InvalidRecordError;
87179
+ }
87180
+ });
87065
87181
  Object.defineProperty(exports, "LABEL_SUPPLY_MACRO", {
87066
87182
  enumerable: true,
87067
87183
  get: function() {
@@ -87902,6 +88018,12 @@ Object.defineProperty(exports, "describeSystemEventFamilyProblem", {
87902
88018
  return describeSystemEventFamilyProblem;
87903
88019
  }
87904
88020
  });
88021
+ Object.defineProperty(exports, "deviceAttentionKind", {
88022
+ enumerable: true,
88023
+ get: function() {
88024
+ return deviceAttentionKind;
88025
+ }
88026
+ });
87905
88027
  Object.defineProperty(exports, "deviceRemovalHookCapability", {
87906
88028
  enumerable: true,
87907
88029
  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-WENnCB-u.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-BpS_EthX.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-DBuMgPh6.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.149",
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.400",
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.316",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_pipeline_analytics_widgets",