@camstack/addon-post-analysis 1.2.603 → 1.2.608

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/dist/{clip-model-registry-D0-VNIW5.js → clip-model-registry-B11yS32V.js} +548 -39
  2. package/dist/{clip-model-registry-lQ7QWjLf.mjs → clip-model-registry-BItfTZEx.mjs} +507 -40
  3. package/dist/embedding-encoder/index.js +1 -1
  4. package/dist/embedding-encoder/index.mjs +1 -1
  5. package/dist/pipeline-analytics/_stub.js +2 -2
  6. package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-CXNgqP3Y.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-LGLlz5Sk.mjs} +3 -3
  7. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-iXmJsQ9Y.mjs +26 -0
  8. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Cm7pZeMH.mjs +26 -0
  9. package/dist/pipeline-analytics/{hostInit-BMh6UjVP.mjs → hostInit-Cko0y33G.mjs} +3 -3
  10. package/dist/pipeline-analytics/index.js +67507 -67010
  11. package/dist/pipeline-analytics/index.mjs +67117 -66620
  12. package/dist/pipeline-analytics/remoteEntry.js +1 -1
  13. package/package.json +1 -1
  14. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-1AlitJg2.mjs +0 -26
  15. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Cfj8Mv5X.mjs +0 -26
@@ -1,5 +1,5 @@
1
1
  import { createHash } from "node:crypto";
2
- //#region ../types/dist/event-category-BvOFi6PY.mjs
2
+ //#region ../types/dist/event-category-DOl51-Ij.mjs
3
3
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4
4
  EventCategory["SystemBoot"] = "system.boot";
5
5
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -78,9 +78,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
78
78
  /**
79
79
  * The node's one-shot runner boot check (D877): planned runners against the
80
80
  * process service, `degraded` when any is failed, refused or missing. The
81
- * alert centre turns it into one alert and a direct critical push.
81
+ * alert centre turns it into one critical alert.
82
82
  */
83
83
  EventCategory["SystemRunnerCheck"] = "system.runner-check";
84
+ /**
85
+ * An alert EPISODE opened or closed, emitted by the alert centre for alerts
86
+ * of severity `critical` or `error` (`AlertEpisodePayload`). The alert
87
+ * centre sends no notification of its own: Notification Center turns this
88
+ * into the `alert-critical` / `alert-error` / `alert-critical-resolved`
89
+ * system-event kinds, and reconciles from the alerts store because a bus
90
+ * event may be dropped (D8, D11).
91
+ */
92
+ EventCategory["AlertEpisode"] = "alert.episode";
84
93
  EventCategory["AddonError"] = "addon.error";
85
94
  EventCategory["AddonPageReady"] = "addon.page-ready";
86
95
  EventCategory["AddonWidgetReady"] = "addon.widget-ready";
@@ -5603,7 +5612,7 @@ var ZodIssueCode = {
5603
5612
  var ZodFirstPartyTypeKind;
5604
5613
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5605
5614
  //#endregion
5606
- //#region ../types/dist/sleep-BOjuyoPC.mjs
5615
+ //#region ../types/dist/sleep-BxjU_fJM.mjs
5607
5616
  /**
5608
5617
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5609
5618
  * window to float samples (D455).
@@ -12795,6 +12804,41 @@ var StorageCleanupJobSchema = object({
12795
12804
  });
12796
12805
  var StorageCleanupStatusInputSchema = object({ jobId: string().optional() });
12797
12806
  /**
12807
+ * Start a mover only when no single-location repoint holds an overlapping
12808
+ * physical root. Asks BEFORE (cheap refusal, no job) and AFTER registering the
12809
+ * job: the repoint announces its claim and then lists movers, so a mover that
12810
+ * registers first is seen by it and one that registers second sees the claim —
12811
+ * neither side can miss the other (2026-10-20: a repoint and a relocate job
12812
+ * moved and deleted the same event media with no lock between them).
12813
+ *
12814
+ * Fail CLOSED: a clearance that cannot be asked refuses the start.
12815
+ */
12816
+ async function startMoverUnderClearance(deps) {
12817
+ const refuse = (detail) => {
12818
+ throw new Error(`mover refused: ${detail}`);
12819
+ };
12820
+ const ask = async () => {
12821
+ try {
12822
+ return await deps.clearance(deps.locationIds);
12823
+ } catch (err) {
12824
+ return refuse(`the storage orchestrator could not be asked (${err instanceof Error ? err.message : String(err)})`);
12825
+ }
12826
+ };
12827
+ const blocked = (answer) => `a re-point of "${answer.repointLocationId ?? "a location"}" holds an overlapping storage root`;
12828
+ const before = await ask();
12829
+ if (!before.clear) return refuse(blocked(before));
12830
+ const jobId = deps.start();
12831
+ const after = await ask().catch((err) => {
12832
+ deps.cancel(jobId);
12833
+ throw err;
12834
+ });
12835
+ if (!after.clear) {
12836
+ deps.cancel(jobId);
12837
+ return refuse(blocked(after));
12838
+ }
12839
+ return jobId;
12840
+ }
12841
+ /**
12798
12842
  * The storage-location STATE MODEL (D385) — one typed state, one policy module.
12799
12843
  *
12800
12844
  * A location's state used to be split across two authorities: the typed
@@ -14638,7 +14682,14 @@ var AlertSeveritySchema = _enum([
14638
14682
  ]);
14639
14683
  var AlertActionSchema = object({
14640
14684
  label: string(),
14641
- href: string().optional()
14685
+ href: string().optional(),
14686
+ /**
14687
+ * How `href` is followed. Absent / `app`: an admin-ui route (client-side).
14688
+ * `server`: a route the HUB serves (an addon HTTP route such as an OAuth
14689
+ * start) — the browser must leave the SPA with a full navigation, because
14690
+ * the SPA has no such route and would bounce to the home page.
14691
+ */
14692
+ navigation: _enum(["app", "server"]).optional()
14642
14693
  });
14643
14694
  var AlertStatusSchema = _enum([
14644
14695
  "active",
@@ -19030,7 +19081,11 @@ var deviceDiscoveryCapability = {
19030
19081
  };
19031
19082
  /**
19032
19083
  * `device-adoption` — generic discovery + adoption surface,
19033
- * system-scoped singleton. The de-HA-ified successor to `ha-discovery`:
19084
+ * system-scoped collection (one provider per integration addon), routed
19085
+ * by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
19086
+ * pin model as `connection-test`. The admin UI keeps using
19087
+ * `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
19088
+ * successor to `ha-discovery`:
19034
19089
  * keyed by `integrationId` (the addon resolves integrationId → broker
19035
19090
  * internally) rather than a connection-specific `brokerId`, and it
19036
19091
  * REUSES the shared `DiscoveredChildDevice` candidate type from
@@ -43508,6 +43563,9 @@ var NcSystemEventKindSchema = _enum([
43508
43563
  "server-updated",
43509
43564
  "export-completed",
43510
43565
  "backup-completed",
43566
+ "alert-critical",
43567
+ "alert-error",
43568
+ "alert-critical-resolved",
43511
43569
  "camera-online",
43512
43570
  "camera-offline",
43513
43571
  "camera-disabled",
@@ -45073,6 +45131,18 @@ var NC_CONDITION_CATALOG = [
45073
45131
  value: "backup-completed",
45074
45132
  label: "Backup completed"
45075
45133
  },
45134
+ {
45135
+ value: "alert-critical",
45136
+ label: "Critical alert raised"
45137
+ },
45138
+ {
45139
+ value: "alert-error",
45140
+ label: "Error alert raised"
45141
+ },
45142
+ {
45143
+ value: "alert-critical-resolved",
45144
+ label: "Critical alert resolved"
45145
+ },
45076
45146
  {
45077
45147
  value: "alarm-arm-refused",
45078
45148
  label: "Alarm arm refused"
@@ -54376,7 +54446,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
54376
54446
  }), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
54377
54447
  kind: "mutation",
54378
54448
  auth: "admin"
54379
- }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
54449
+ }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
54450
+ clear: boolean(),
54451
+ repointLocationId: string().optional()
54452
+ }), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
54380
54453
  kind: "mutation",
54381
54454
  auth: "admin"
54382
54455
  }), method(StorageCleanupInputSchema, object({ jobId: string() }), {
@@ -58715,6 +58788,11 @@ onStatusChanged: { data: object({
58715
58788
  *
58716
58789
  * `kind: 'poll'` — cloud REST APIs typically have no push channel; the
58717
58790
  * provider refreshes the slice on an interval and eagerly after commands.
58791
+ *
58792
+ * UNKNOWN IS NOT OFF. Every field the appliance reports separately is
58793
+ * nullable: `null` means "not known right now" (the appliance has not said,
58794
+ * the link is down, or the description does not carry it) and is never
58795
+ * rendered or exported as `false` / `0`. `availability` says why.
58718
58796
  */
58719
58797
  var DishwasherStateSchema = _enum([
58720
58798
  "idle",
@@ -58724,35 +58802,155 @@ var DishwasherStateSchema = _enum([
58724
58802
  "error",
58725
58803
  "unavailable"
58726
58804
  ]);
58805
+ /**
58806
+ * The appliance's own operation state, uncollapsed. `state` above is the coarse
58807
+ * view for compact surfaces; this is what the appliance said.
58808
+ */
58809
+ var DishwasherOperationStateSchema = _enum([
58810
+ "Inactive",
58811
+ "Ready",
58812
+ "DelayedStart",
58813
+ "Run",
58814
+ "Pause",
58815
+ "ActionRequired",
58816
+ "Finished",
58817
+ "Error",
58818
+ "Aborting"
58819
+ ]);
58820
+ /**
58821
+ * Why fields may be `null`:
58822
+ * - `available` — the link is up and the description is loaded;
58823
+ * - `offline` — the local link is down (values are unknown, not last-known);
58824
+ * - `description-missing` — the link is up but the appliance's description could not
58825
+ * be loaded, so its values cannot be decoded.
58826
+ */
58827
+ var DishwasherAvailabilitySchema = _enum([
58828
+ "available",
58829
+ "offline",
58830
+ "description-missing"
58831
+ ]);
58727
58832
  var DishwasherConsumableLevelSchema = _enum([
58728
58833
  "ok",
58729
58834
  "low",
58730
58835
  "empty"
58731
58836
  ]);
58732
58837
  var DishwasherStatusSchema = object({
58838
+ availability: DishwasherAvailabilitySchema,
58839
+ /** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
58733
58840
  state: DishwasherStateSchema,
58734
- /** Active program id/name, or null when none selected / unknown. */
58841
+ /** The appliance's operation state as reported; null when not known. */
58842
+ operationState: DishwasherOperationStateSchema.nullable(),
58843
+ /** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
58735
58844
  program: string().nullable(),
58736
- /** Program tokens the hardware accepts — drives the UI selector. */
58845
+ /** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
58846
+ selectedProgram: string().nullable(),
58847
+ /** Feature keys of the programs the appliance currently offers — drives the UI selector. */
58737
58848
  availablePrograms: array(string()),
58738
- /** Minutes remaining on the active cycle, or null when not running. */
58739
- remainingMinutes: number().int().nonnegative().nullable(),
58849
+ /** Seconds remaining on the active cycle, or null when not running / not known. */
58850
+ remainingSeconds: number().int().nonnegative().nullable(),
58851
+ /** Seconds the delayed start is set to (time until the cycle starts), or null. */
58852
+ delayedStartSeconds: number().int().nonnegative().nullable(),
58740
58853
  /** Cycle completion 0..100, or null when not applicable. */
58741
58854
  progressPercent: number().min(0).max(100).nullable(),
58742
- /** True when the door is reported open. */
58743
- doorOpen: boolean(),
58744
- /** True when remote start is allowed (door closed, power on, etc.). */
58745
- remoteStartAllowed: boolean(),
58746
- /** Main power / switched-on state. */
58747
- powerOn: boolean(),
58855
+ /** True when the door is reported open; null when the door state is not known. */
58856
+ doorOpen: boolean().nullable(),
58857
+ /** True when the door is latched (locked) during a cycle; null when not reported. */
58858
+ doorLocked: boolean().nullable(),
58859
+ /** True when remote start is allowed (door closed, power on, etc.); null when not known. */
58860
+ remoteStartAllowed: boolean().nullable(),
58861
+ /** True when the appliance accepts remote control now; null when not known. */
58862
+ remoteControlActive: boolean().nullable(),
58863
+ /** True while somebody operates the appliance at its panel; null when not reported. */
58864
+ localControlActive: boolean().nullable(),
58865
+ /** Main power / switched-on state; null when not known. */
58866
+ powerOn: boolean().nullable(),
58867
+ /** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
58868
+ powerState: string().nullable(),
58748
58869
  saltLevel: DishwasherConsumableLevelSchema.nullable(),
58749
58870
  rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
58750
- halfLoad: boolean(),
58751
- hygienePlus: boolean(),
58871
+ /** Option states: null when the appliance does not expose the option or has not said. */
58872
+ halfLoad: boolean().nullable(),
58873
+ hygienePlus: boolean().nullable(),
58874
+ /** Extra dry option when the appliance exposes it. */
58875
+ extraDry: boolean().nullable(),
58876
+ /** Intensive zone (lower basket) when the appliance exposes it. */
58877
+ intensiveZone: boolean().nullable(),
58878
+ /** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
58879
+ varioSpeedPlus: boolean().nullable(),
58880
+ /** Child lock (controls disabled on the appliance); null when not known. */
58881
+ childLock: boolean().nullable(),
58882
+ /** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
58883
+ activeEvents: array(string()),
58884
+ /** Numeric error code when the appliance reports one; null otherwise. */
58752
58885
  errorCode: number().nullable(),
58886
+ /** Name of the raised alert-level event while the appliance is in error; null otherwise. */
58753
58887
  errorLabel: string().nullable(),
58888
+ /** Ms epoch of the last value received from the appliance; 0 = never. */
58754
58889
  lastFetchedAt: number()
58755
58890
  });
58891
+ var DeviceIdSchema = number().int().nonnegative();
58892
+ /** A value a program option or setting can take. */
58893
+ var DishwasherValueSchema = union([
58894
+ boolean(),
58895
+ string(),
58896
+ number()
58897
+ ]);
58898
+ var DishwasherAccessSchema = _enum([
58899
+ "none",
58900
+ "read",
58901
+ "readWrite",
58902
+ "writeOnly",
58903
+ "readStatic"
58904
+ ]);
58905
+ /**
58906
+ * One option or setting the appliance declares, with the constraints its description
58907
+ * gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
58908
+ */
58909
+ var DishwasherOptionDescriptorSchema = object({
58910
+ /** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
58911
+ key: string(),
58912
+ /** Last segment of the key, for display. */
58913
+ name: string(),
58914
+ type: _enum([
58915
+ "boolean",
58916
+ "number",
58917
+ "enum",
58918
+ "string"
58919
+ ]),
58920
+ access: DishwasherAccessSchema,
58921
+ /** The appliance reports this entity as currently available. */
58922
+ available: boolean(),
58923
+ /** Unit the description declares for a number; null when it declares none. */
58924
+ unit: string().nullable(),
58925
+ min: number().nullable(),
58926
+ max: number().nullable(),
58927
+ step: number().nullable(),
58928
+ /** Allowed members of an enum; null for other types. */
58929
+ enumValues: array(string()).nullable(),
58930
+ defaultValue: DishwasherValueSchema.nullable()
58931
+ });
58932
+ var DishwasherProgramSchema = object({
58933
+ /** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
58934
+ key: string(),
58935
+ name: string(),
58936
+ /** The appliance currently offers this program. */
58937
+ available: boolean(),
58938
+ /** The options this program lists, with the program-level access / availability / default. */
58939
+ options: array(DishwasherOptionDescriptorSchema)
58940
+ });
58941
+ var DishwasherOptionsSchema = object({
58942
+ availability: DishwasherAvailabilitySchema,
58943
+ /** What the appliance can be told to do, from the commands its description declares. */
58944
+ supportsStart: boolean(),
58945
+ supportsPause: boolean(),
58946
+ supportsResume: boolean(),
58947
+ supportsStop: boolean(),
58948
+ supportsPower: boolean(),
58949
+ /** Every program the description lists, with its options. */
58950
+ programs: array(DishwasherProgramSchema),
58951
+ /** Every option and setting entity the description lists (programs reference these by key). */
58952
+ options: array(DishwasherOptionDescriptorSchema)
58953
+ });
58756
58954
  var dishwasherCapability = {
58757
58955
  name: "dishwasher",
58758
58956
  scope: "device",
@@ -58760,58 +58958,102 @@ var dishwasherCapability = {
58760
58958
  mode: "singleton",
58761
58959
  deviceTypes: [DeviceType.Dishwasher],
58762
58960
  methods: {
58763
- start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
58961
+ /**
58962
+ * Start a program. Without `program` the selected one starts. `options` are
58963
+ * option feature keys; each is checked against the program's constraints.
58964
+ */
58965
+ start: method(object({
58966
+ deviceId: DeviceIdSchema,
58967
+ program: string().min(1).optional(),
58968
+ options: record(string(), DishwasherValueSchema).optional()
58969
+ }), _void(), {
58764
58970
  kind: "mutation",
58765
58971
  auth: "protected"
58766
58972
  }),
58767
- pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
58973
+ pause: method(object({ deviceId: DeviceIdSchema }), _void(), {
58768
58974
  kind: "mutation",
58769
58975
  auth: "protected"
58770
58976
  }),
58771
- stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
58977
+ resume: method(object({ deviceId: DeviceIdSchema }), _void(), {
58772
58978
  kind: "mutation",
58773
58979
  auth: "protected"
58774
58980
  }),
58981
+ stop: method(object({ deviceId: DeviceIdSchema }), _void(), {
58982
+ kind: "mutation",
58983
+ auth: "protected"
58984
+ }),
58985
+ /** Select (not start) a program; refused when the appliance does not offer it. */
58775
58986
  setProgram: method(object({
58776
- deviceId: number().int().nonnegative(),
58987
+ deviceId: DeviceIdSchema,
58777
58988
  program: string().min(1)
58778
58989
  }), _void(), {
58779
58990
  kind: "mutation",
58780
58991
  auth: "protected"
58781
58992
  }),
58782
58993
  setPower: method(object({
58783
- deviceId: number().int().nonnegative(),
58994
+ deviceId: DeviceIdSchema,
58784
58995
  on: boolean()
58785
58996
  }), _void(), {
58786
58997
  kind: "mutation",
58787
58998
  auth: "protected"
58788
58999
  }),
58789
59000
  setHalfLoad: method(object({
58790
- deviceId: number().int().nonnegative(),
59001
+ deviceId: DeviceIdSchema,
58791
59002
  on: boolean()
58792
59003
  }), _void(), {
58793
59004
  kind: "mutation",
58794
59005
  auth: "protected"
58795
59006
  }),
58796
59007
  setHygienePlus: method(object({
58797
- deviceId: number().int().nonnegative(),
59008
+ deviceId: DeviceIdSchema,
59009
+ on: boolean()
59010
+ }), _void(), {
59011
+ kind: "mutation",
59012
+ auth: "protected"
59013
+ }),
59014
+ setExtraDry: method(object({
59015
+ deviceId: DeviceIdSchema,
59016
+ on: boolean()
59017
+ }), _void(), {
59018
+ kind: "mutation",
59019
+ auth: "protected"
59020
+ }),
59021
+ setIntensiveZone: method(object({
59022
+ deviceId: DeviceIdSchema,
59023
+ on: boolean()
59024
+ }), _void(), {
59025
+ kind: "mutation",
59026
+ auth: "protected"
59027
+ }),
59028
+ setVarioSpeedPlus: method(object({
59029
+ deviceId: DeviceIdSchema,
59030
+ on: boolean()
59031
+ }), _void(), {
59032
+ kind: "mutation",
59033
+ auth: "protected"
59034
+ }),
59035
+ setChildLock: method(object({
59036
+ deviceId: DeviceIdSchema,
58798
59037
  on: boolean()
58799
59038
  }), _void(), {
58800
59039
  kind: "mutation",
58801
59040
  auth: "protected"
58802
59041
  }),
59042
+ /**
59043
+ * Write any option or setting by feature key. Refused when the description does
59044
+ * not list it, it is not writable or not available now, or the value is outside
59045
+ * its declared range / members.
59046
+ */
58803
59047
  setOption: method(object({
58804
- deviceId: number().int().nonnegative(),
59048
+ deviceId: DeviceIdSchema,
58805
59049
  key: string().min(1),
58806
- value: union([
58807
- boolean(),
58808
- string(),
58809
- number()
58810
- ])
59050
+ value: DishwasherValueSchema
58811
59051
  }), _void(), {
58812
59052
  kind: "mutation",
58813
59053
  auth: "protected"
58814
- })
59054
+ }),
59055
+ /** What this appliance can do, from its own description — the UI is derived from it. */
59056
+ getOptions: method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" })
58815
59057
  },
58816
59058
  status: {
58817
59059
  schema: DishwasherStatusSchema,
@@ -72499,6 +72741,12 @@ Object.freeze({
72499
72741
  addonId: null,
72500
72742
  access: "view"
72501
72743
  },
72744
+ "dishwasher.getOptions": {
72745
+ capName: "dishwasher",
72746
+ capScope: "device",
72747
+ addonId: null,
72748
+ access: "view"
72749
+ },
72502
72750
  "dishwasher.getStatus": {
72503
72751
  capName: "dishwasher",
72504
72752
  capScope: "device",
@@ -72511,6 +72759,24 @@ Object.freeze({
72511
72759
  addonId: null,
72512
72760
  access: "create"
72513
72761
  },
72762
+ "dishwasher.resume": {
72763
+ capName: "dishwasher",
72764
+ capScope: "device",
72765
+ addonId: null,
72766
+ access: "create"
72767
+ },
72768
+ "dishwasher.setChildLock": {
72769
+ capName: "dishwasher",
72770
+ capScope: "device",
72771
+ addonId: null,
72772
+ access: "create"
72773
+ },
72774
+ "dishwasher.setExtraDry": {
72775
+ capName: "dishwasher",
72776
+ capScope: "device",
72777
+ addonId: null,
72778
+ access: "create"
72779
+ },
72514
72780
  "dishwasher.setHalfLoad": {
72515
72781
  capName: "dishwasher",
72516
72782
  capScope: "device",
@@ -72523,6 +72789,12 @@ Object.freeze({
72523
72789
  addonId: null,
72524
72790
  access: "create"
72525
72791
  },
72792
+ "dishwasher.setIntensiveZone": {
72793
+ capName: "dishwasher",
72794
+ capScope: "device",
72795
+ addonId: null,
72796
+ access: "create"
72797
+ },
72526
72798
  "dishwasher.setOption": {
72527
72799
  capName: "dishwasher",
72528
72800
  capScope: "device",
@@ -72541,6 +72813,12 @@ Object.freeze({
72541
72813
  addonId: null,
72542
72814
  access: "create"
72543
72815
  },
72816
+ "dishwasher.setVarioSpeedPlus": {
72817
+ capName: "dishwasher",
72818
+ capScope: "device",
72819
+ addonId: null,
72820
+ access: "create"
72821
+ },
72544
72822
  "dishwasher.start": {
72545
72823
  capName: "dishwasher",
72546
72824
  capScope: "device",
@@ -76987,6 +77265,12 @@ Object.freeze({
76987
77265
  addonId: null,
76988
77266
  access: "view"
76989
77267
  },
77268
+ "storageMigration.moverClearance": {
77269
+ capName: "storage-migration",
77270
+ capScope: "system",
77271
+ addonId: null,
77272
+ access: "view"
77273
+ },
76990
77274
  "storageMigration.movers": {
76991
77275
  capName: "storage-migration",
76992
77276
  capScope: "system",
@@ -79180,6 +79464,11 @@ Object.freeze({
79180
79464
  form: "single",
79181
79465
  optional: false
79182
79466
  }],
79467
+ "dishwasher.getOptions": [{
79468
+ name: "deviceId",
79469
+ form: "single",
79470
+ optional: false
79471
+ }],
79183
79472
  "dishwasher.getStatus": [{
79184
79473
  name: "deviceId",
79185
79474
  form: "single",
@@ -79190,6 +79479,21 @@ Object.freeze({
79190
79479
  form: "single",
79191
79480
  optional: false
79192
79481
  }],
79482
+ "dishwasher.resume": [{
79483
+ name: "deviceId",
79484
+ form: "single",
79485
+ optional: false
79486
+ }],
79487
+ "dishwasher.setChildLock": [{
79488
+ name: "deviceId",
79489
+ form: "single",
79490
+ optional: false
79491
+ }],
79492
+ "dishwasher.setExtraDry": [{
79493
+ name: "deviceId",
79494
+ form: "single",
79495
+ optional: false
79496
+ }],
79193
79497
  "dishwasher.setHalfLoad": [{
79194
79498
  name: "deviceId",
79195
79499
  form: "single",
@@ -79200,6 +79504,11 @@ Object.freeze({
79200
79504
  form: "single",
79201
79505
  optional: false
79202
79506
  }],
79507
+ "dishwasher.setIntensiveZone": [{
79508
+ name: "deviceId",
79509
+ form: "single",
79510
+ optional: false
79511
+ }],
79203
79512
  "dishwasher.setOption": [{
79204
79513
  name: "deviceId",
79205
79514
  form: "single",
@@ -79215,6 +79524,11 @@ Object.freeze({
79215
79524
  form: "single",
79216
79525
  optional: false
79217
79526
  }],
79527
+ "dishwasher.setVarioSpeedPlus": [{
79528
+ name: "deviceId",
79529
+ form: "single",
79530
+ optional: false
79531
+ }],
79218
79532
  "dishwasher.start": [{
79219
79533
  name: "deviceId",
79220
79534
  form: "single",
@@ -81367,7 +81681,7 @@ function systemEventFilterApplies(kind, filter) {
81367
81681
  switch (filter) {
81368
81682
  case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("recording-") || kind === "alarm-triggered";
81369
81683
  case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind";
81370
- 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-");
81684
+ 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-");
81371
81685
  case "packageNames": return kind.endsWith("update-available") || kind === "addon-updated" || kind === "node-updating" || kind === "server-updated";
81372
81686
  case "consumableLowPercent": return NC_CONSUMABLE_SYSTEM_EVENT_KINDS.includes(kind);
81373
81687
  }
@@ -81427,6 +81741,9 @@ var NC_SYSTEM_EVENT_FAMILY = {
81427
81741
  "wrapper-update-available": "system",
81428
81742
  "backup-completed": "system",
81429
81743
  "export-completed": "system",
81744
+ "alert-critical": "system",
81745
+ "alert-error": "system",
81746
+ "alert-critical-resolved": "system",
81430
81747
  "storage-location-low": "system",
81431
81748
  "storage-location-critical": "system",
81432
81749
  "storage-location-ok": "system",
@@ -81569,6 +81886,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
81569
81886
  "storage-location-ok"
81570
81887
  ]
81571
81888
  },
81889
+ {
81890
+ id: "alerts",
81891
+ family: "system",
81892
+ label: "Alerts",
81893
+ kinds: [
81894
+ "alert-critical",
81895
+ "alert-error",
81896
+ "alert-critical-resolved"
81897
+ ]
81898
+ },
81572
81899
  {
81573
81900
  id: "alarm",
81574
81901
  family: "alarm",
@@ -82380,6 +82707,96 @@ function sensorRaisedOf(kind, value) {
82380
82707
  const raw = Object.entries(value).find(([key]) => key === field)?.[1];
82381
82708
  return typeof raw === "boolean" ? raw : void 0;
82382
82709
  }
82710
+ /**
82711
+ * An alert EPISODE as a notification subject.
82712
+ *
82713
+ * The alert centre sends nothing of its own. A critical or error alert reaches
82714
+ * the operator through Notification Center system-event rules, and this file is
82715
+ * the one vocabulary the two sides share: the alert centre mints the episode
82716
+ * identity and announces its two edges on the bus (`alert.episode`), and
82717
+ * Notification Center derives the same identity when it RECONCILES from the
82718
+ * alerts store, because a bus event may be dropped (D8, D11).
82719
+ *
82720
+ * ## Episode identity
82721
+ *
82722
+ * `metadata.episodeId`, minted by the alert centre when an alert opens (new, or
82723
+ * re-opened after it was completed/dismissed, or its emitter changed
82724
+ * `metadata.episodeKey`) and kept through every re-emit while it stays open. An
82725
+ * alert row written before the alert centre minted ids has none: its episode is
82726
+ * `<id>@<createdAt>`, derived here so both sides agree.
82727
+ */
82728
+ /** The bus payload of `EventCategory.AlertEpisode`. */
82729
+ var AlertEpisodePayloadSchema = object({
82730
+ phase: _enum(["raised", "resolved"]),
82731
+ episodeId: string().min(1),
82732
+ alertId: string().min(1),
82733
+ severity: AlertSeveritySchema,
82734
+ category: string(),
82735
+ title: string(),
82736
+ message: string(),
82737
+ sourceType: string().optional(),
82738
+ sourceId: string().optional(),
82739
+ nodeId: string().optional(),
82740
+ /** The alert's own action link (where the operator acts on it), when it has one. */
82741
+ actionUrl: string().optional(),
82742
+ at: number()
82743
+ });
82744
+ /** The payload of an `alert.episode` event's `data`, or `null` when it is not one. */
82745
+ function parseAlertEpisodePayload(data) {
82746
+ const parsed = AlertEpisodePayloadSchema.safeParse(data);
82747
+ return parsed.success ? parsed.data : null;
82748
+ }
82749
+ /** An episode is closed once its alert is completed or dismissed. */
82750
+ function isAlertEpisodeOpen(status) {
82751
+ return status !== "completed" && status !== "dismissed";
82752
+ }
82753
+ /** Only these severities are ever announced. */
82754
+ function isAlertEpisodeSeverity(severity) {
82755
+ return severity === "critical" || severity === "error";
82756
+ }
82757
+ function alertEpisodeId(alert) {
82758
+ const minted = alert.metadata?.["episodeId"];
82759
+ return typeof minted === "string" && minted.length > 0 ? minted : `${alert.id}@${String(alert.createdAt)}`;
82760
+ }
82761
+ /** The node an alert is about, from the places emitters put it. */
82762
+ function alertNodeId(alert) {
82763
+ const direct = alert.metadata?.["nodeId"];
82764
+ if (typeof direct === "string") return direct;
82765
+ const runner = alert.metadata?.["runner"];
82766
+ if (typeof runner === "object" && runner !== null && "nodeId" in runner) {
82767
+ const id = runner.nodeId;
82768
+ if (typeof id === "string") return id;
82769
+ }
82770
+ return alert.source?.type === "node" ? alert.source.id : void 0;
82771
+ }
82772
+ /**
82773
+ * The system-event kind of an episode edge, or `null` when none is announced
82774
+ * (an `error` episode announces its opening only).
82775
+ */
82776
+ function alertEpisodeKind(severity, phase) {
82777
+ if (severity === "critical") return phase === "raised" ? "alert-critical" : "alert-critical-resolved";
82778
+ if (severity === "error" && phase === "raised") return "alert-error";
82779
+ return null;
82780
+ }
82781
+ function alertEpisodePayload(alert, phase, at) {
82782
+ const nodeId = alertNodeId(alert);
82783
+ return {
82784
+ phase,
82785
+ episodeId: alertEpisodeId(alert),
82786
+ alertId: alert.id,
82787
+ severity: alert.severity,
82788
+ category: alert.category,
82789
+ title: alert.title,
82790
+ message: alert.message,
82791
+ ...alert.source !== void 0 ? {
82792
+ sourceType: alert.source.type,
82793
+ sourceId: alert.source.id
82794
+ } : {},
82795
+ ...nodeId !== void 0 ? { nodeId } : {},
82796
+ ...alert.action?.href !== void 0 ? { actionUrl: alert.action.href } : {},
82797
+ at
82798
+ };
82799
+ }
82383
82800
  var RULE_BODY_ONLY = ["body"];
82384
82801
  var RULE_TEXT = ["title", "body"];
82385
82802
  var BATTERY = ["device-battery-low", "device-battery-normal"];
@@ -82389,6 +82806,11 @@ var TANK = [
82389
82806
  "device-tank-full",
82390
82807
  "device-tank-normal"
82391
82808
  ];
82809
+ var ALERT_EPISODE = [
82810
+ "alert-critical",
82811
+ "alert-error",
82812
+ "alert-critical-resolved"
82813
+ ];
82392
82814
  var UPDATES = [
82393
82815
  "addon-update-available",
82394
82816
  "server-update-available",
@@ -82913,7 +83335,8 @@ var NC_TEMPLATE_VARS = [
82913
83335
  "server-updated",
82914
83336
  "storage-location-low",
82915
83337
  "storage-location-critical",
82916
- "storage-location-ok"
83338
+ "storage-location-ok",
83339
+ ...ALERT_EPISODE
82917
83340
  ]
82918
83341
  },
82919
83342
  {
@@ -82935,7 +83358,8 @@ var NC_TEMPLATE_VARS = [
82935
83358
  "server-updated",
82936
83359
  "storage-location-low",
82937
83360
  "storage-location-critical",
82938
- "storage-location-ok"
83361
+ "storage-location-ok",
83362
+ ...ALERT_EPISODE
82939
83363
  ]
82940
83364
  },
82941
83365
  {
@@ -83002,7 +83426,7 @@ var NC_TEMPLATE_VARS = [
83002
83426
  families: ["rule"],
83003
83427
  fields: [...RULE_TEXT],
83004
83428
  kinds: ["system"],
83005
- systemEventKinds: ["recording-degraded"]
83429
+ systemEventKinds: ["recording-degraded", ...ALERT_EPISODE]
83006
83430
  },
83007
83431
  {
83008
83432
  name: "locationName",
@@ -83199,13 +83623,53 @@ var NC_TEMPLATE_VARS = [
83199
83623
  },
83200
83624
  {
83201
83625
  name: "title",
83202
- label: "Export title",
83626
+ label: "Export or alert title",
83203
83627
  example: "Ingresso 08:00",
83204
83628
  group: "system",
83205
83629
  families: ["rule"],
83206
83630
  fields: [...RULE_TEXT],
83207
83631
  kinds: ["system"],
83208
- systemEventKinds: ["export-completed"]
83632
+ systemEventKinds: ["export-completed", ...ALERT_EPISODE]
83633
+ },
83634
+ {
83635
+ name: "severity",
83636
+ label: "Alert severity",
83637
+ example: "critical",
83638
+ group: "system",
83639
+ families: ["rule"],
83640
+ fields: [...RULE_TEXT],
83641
+ kinds: ["system"],
83642
+ systemEventKinds: [...ALERT_EPISODE]
83643
+ },
83644
+ {
83645
+ name: "category",
83646
+ label: "Alert category",
83647
+ example: "addon.runner-failed",
83648
+ group: "system",
83649
+ families: ["rule"],
83650
+ fields: [...RULE_TEXT],
83651
+ kinds: ["system"],
83652
+ systemEventKinds: [...ALERT_EPISODE]
83653
+ },
83654
+ {
83655
+ name: "source",
83656
+ label: "Alert source (addon, node or runner)",
83657
+ example: "recorder",
83658
+ group: "system",
83659
+ families: ["rule"],
83660
+ fields: [...RULE_TEXT],
83661
+ kinds: ["system"],
83662
+ systemEventKinds: [...ALERT_EPISODE]
83663
+ },
83664
+ {
83665
+ name: "actionUrl",
83666
+ label: "Alert action link",
83667
+ example: "/system/addons",
83668
+ group: "system",
83669
+ families: ["rule"],
83670
+ fields: [...RULE_TEXT],
83671
+ kinds: ["system"],
83672
+ systemEventKinds: [...ALERT_EPISODE]
83209
83673
  },
83210
83674
  {
83211
83675
  name: "exportId",
@@ -83416,7 +83880,10 @@ var NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = [
83416
83880
  "device-tank-full",
83417
83881
  "device-tank-normal",
83418
83882
  "node-restarting",
83419
- "node-updating"
83883
+ "node-updating",
83884
+ "alert-critical",
83885
+ "alert-error",
83886
+ "alert-critical-resolved"
83420
83887
  ];
83421
83888
  /**
83422
83889
  * The catalog as `getTemplateCatalog` SERVES it: every descriptor, with the
@@ -85310,4 +85777,4 @@ function buildClipModelRegistry(entries) {
85310
85777
  /** The built-in catalog's registry. */
85311
85778
  var BUILTIN_CLIP_MODELS = buildClipModelRegistry(CLIP_IMAGE_MODELS);
85312
85779
  //#endregion
85313
- export { MediaFileKindEnum as $, record as $i, deleteAlarmProfile as $n, resolvePoolMemoryPolicy as $r, NcTemplateVarDescriptorSchema as $t, DeclaredDevices as A, errMsg as Ai, TrackSideSchema as An, isRootSuppliableStepId as Ar, NcAlarmSensorsInputSchema as At, FULL_IMAGE_BBOX as B, nodePin as Bi, armRemovalReconcile as Bn, occupancyScope as Br, NcRuleSchema as Bt, ClearTrackRelationResultSchema as C, viewerLinkBaseOf as Ci, TRACK_RELATIONS_DEFAULT_LIMIT as Cn, isDetectionMacroClass as Cr, NC_SNOOZE_MAX_MINUTES as Ct, DEFAULT_TIMELAPSE_PREVIEW_TEXT as D, evaluateSensorEdge as Di, TrackPuritySchema as Dn, isLabelSupplyStepId as Dr, NC_TEMPLATE_VARS as Dt, DEFAULT_EVENT_COLOR as E, canonicalHash as Ei, TimelapseRuleSchema as En, isKnownTemplateVar as Er, NC_TAXONOMY as Et, EVENT_DENSITY_BATCH_MAX as F, customAction as Fi, alarmPanelCapability as Fn, kebabToCamel as Fr, NcLegacyRuleActionSequenceSchema as Ft, ListTrackRelationsResultSchema as G, array as Gi, buildViewerLink as Gn, readDeviceStateFrom as Gr, NcSnoozeInputSchema as Gt, LABEL_SUPPLY_MACRO as H, sleep as Hi, audioMetricsCapability as Hn, pickFaceRescoreIntervalMinutes as Hr, NcRuleUpdateInputSchema as Ht, EVENT_KIND_BY_CAP as I, defineCustomActions as Ii, applyBlockingEdit as In, linkedStepOf as Ir, NcRuleActionSchema as It, MAX_BIRTH_DECISION_RECORDS as J, literal as Ji, cloneAlarmSettings as Jn, renameAlarmProfile as Jr, NcStateSummarySectionIdSchema as Jt, LockStateSchema as K, boolean as Ki, calendarEventLocalSpan as Kn, readMotionTriggeredBy as Kr, NcSnoozeSchema as Kt, EVENT_OWNER_TYPES as L, defineRecordKinds as Li, applyModeDelaysEdits as Ln, mayWriteToLocation as Lr, NcRuleActionsSchema as Lt, EMBEDDING_MODEL_FAILED as M, CamProfileSchema as Mi, activateAlarmProfile as Mn, isSystemDelivery as Mr, NcAlarmSettingsPatchSchema as Mt, EMBEDDING_REQUIREMENTS_FAILED as N, RECORD_MAX_DATA_BYTES as Ni, addonWidgetsSourceCapability as Nn, isSystemEventSummaryRule as Nr, NcConditionDescriptorSchema as Nt, DETECTION_MACRO_CLASSES as O, isSourceCap as Oi, TrackRelationKindSchema as On, isMediaOwnerType as Or, NcAlarmConfigSchema as Ot, EMBEDDING_REQUIREMENTS_UNAVAILABLE as P, createEvent as Pi, alarmDeviceSecureOnArm as Pn, isVectorIndexDimConflict as Pr, NcConditionsSchema as Pt, MOTION_CLOSE_AFTER_MS as Q, partialRecord as Qi, createAlarmProfile as Qn, resolveModeNotifyPolicy as Qr, NcTemplatePreviewSchema as Qt, EXPORT_DENSE_MAX_RANGES as R, hydrateSchema as Ri, applyNonBlockingEdit as Rn, memoizePinnedFfmpeg as Rr, NcRuleInputSchema as Rt, ClearTrackRelationInputSchema as S, vectorDimFromBase64 as Si, TIMELAPSE_DENSE_FLOOR_SEC as Sn, isDefaultAlarmProfileId as Sr, NC_SENSOR_TRANSITION_KINDS as St, DEFAULT_DETAIL_CROP_CONVENTION as T, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as Ti, TimelapseRulePatchSchema as Tn, isEventOwnerType as Tr, NC_TANK_SYSTEM_EVENT_KINDS as Tt, LabelAttributionSchema as U, ZodObject as Ui, audioModeOf as Un, pipelineAnalyticsCapability as Ur, NcScheduleSchema as Ut, FailureCounters as V, normalizeNodeId as Vi, assertTimelapseCadences as Vn, parseProcStatus as Vr, NcRuleTargetSchema as Vt, ListTrackRelationsInputSchema as W, _enum as Wi, buildEventKindDescriptor as Wn, plateGalleryCapability as Wr, NcSharedSequenceSchema as Wt, MAX_TRACK_PURITIES as X, number as Xi, coreBlockIdFromAddonId as Xn, resolveLocationMode as Xr, NcTaxonomySchema as Xt, MAX_BIRTH_LATENCY_PROXY_MS as Y, looseObject as Yi, consumableLowPercentOf as Yn, resolveClipSearchMinScore as Yr, NcSystemEventKindSchema as Yt, MAX_TRACK_RELATIONS as Z, object as Zi, cosineSimilarity as Zn, resolveModeDelays as Zr, NcTemplatePreviewInputSchema as Zt, BIRTH_DECISION_DEFAULT_LIMIT as _, systemEventFilterApplies as _i, SCENE_RESET_RECAPTURES as _n, gifDeriveSpeed as _r, NC_CONSUMABLE_SYSTEM_EVENT_KINDS as _t, CLIP_EMBEDDING_STEP_ID as a, unknown as aa, ruleGroupingApplies as ai, RebuildObjectEmbeddingsRefusalSchema as an, deviceRemovalHookCapability as ar, NC_ALARM_NOTIFY_FIELDS as at, BucketAccumulator as b, templateCarriesSummary as bi, SetTrackPurityResultSchema as bn, isAppLinkBase as br, NC_GROUPING_MAX_SEC as bt, readClusterModelPinStrict as c, secureActuationFor as ci, RetrainStatusSchema as cn, embeddingRefusalOf as cr, NC_AUDIO_CONFIRM_HITS_DEFAULT as ct, APPEARANCE_BLOCKS as d, storageOccupancyCapability as di, SCENE_DEFAULT_ANCHOR_THRESHOLD as dn, encodeVectorBase64 as dr, NC_CLIP_PRE_ROLL_DEFAULT_SEC as dt, strictObject as ea, retrainRevisionConflictMessage as ei, OPS_LOG_DEFAULT_LIMIT as en, deriveDetailCropRect as er, MotionTriggeredBySchema as et, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT as f, subKindsOf as fi, SCENE_DEFAULT_CHECK_INTERVAL_SEC as fn, ensureAlarmProfiles as fr, NC_CLIP_RETENTION_MAX_SEC as ft, ArchivedDebugNoteSchema as g, systemEventFamilyProblems as gi, SCENE_DIVERGED as gn, failureContributionCapability as gr, NC_CONSUMABLE_LOW_PERCENT_DEFAULT as gt, AlarmArmModeSchema as h, systemEventDeliveryProblems as hi, SCENE_DEFAULT_UNCOVERED_POLICY as hn, faceGalleryCapability as hr, NC_CONFIRM_DEFAULT_TIMEOUT_MS as ht, CLIP_TEXT_MODELS as i, union as ia, ruleDeviceCompatCapQueries as ii, RECORDING_SOURCE_CAMSTACK_ADDON as in, describeSystemEventFamilyProblem as ir, NC_ALARM_DELAY_MAX_SEC as it, DetectionSourceSchema as j, BaseAddon as ji, TrackSourceSchema as jn, isScheduleActive as jr, NcAlarmSensorsSchema as jt, DETECTION_PIPELINE_CAP_NAME as k, DeviceType as ki, TrackRelationSchema as kn, isRetiredClearKey as kr, NcAlarmPostTriggeredActionSchema as kt, resolveClusterModelPin as l, sensorRaisedOf as li, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX as ln, embeddingRequirementsFailedError as lr, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT as lt, AUDIO_MACRO_LABELS as m, syncActiveAlarmProfileSettings as mi, SCENE_DEFAULT_QUIET_SECONDS as mn, evictionPolicyOfLocation as mr, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX as mt, DEFAULT_CLIP_MODEL as n, templateLiteral as na, ruleAutoTriggersAlarm as ni, PoolMemoryWatchdog as nn, deriveRecordingMode as nr, NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC as nt, CLUSTER_MODEL_OWNER_ADDON_ID as o, EventCategory as oa, ruleKindOf as oi, RetrainDismissedSchema as on, embeddingEncoderCapability as or, NC_ALARM_SYSTEM_EVENT_KINDS as ot, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT as p, summarizeReview as pi, SCENE_DEFAULT_OBSERVATION_SPACING_SEC as pn, eventKindLabel as pr, NC_CONDITION_CATALOG as pt, MAX_ARCHIVED_DEBUG_NOTES as q, discriminatedUnion as qi, classifyRetrainReview as qn, readTimelapseGeneratedAt as qr, NcSnoozeSuppressedSchema as qt, CLIP_IMAGE_MODELS as r, tuple as ra, ruleBelongsToAlarm as ri, RECORDING_EXPORT_MAX_READ_BYTES as rn, describeSystemEventDeliveryProblem as rr, NC_ALARM_DELAY_FIELDS as rt, FACE_EMBEDDING_STEP_ID as s, sceneMonitorCapability as si, RetrainOriginSchema as sn, embeddingModelFailedError as sr, NC_ALARM_TRIGGERED_MAX_SEC as st, BUILTIN_CLIP_MODELS as t, string as ta, rootSupplyServes as ti, OpsLogEntrySchema as tn, derivePostTriggeredAction as tr, NC_ALARM_DEFAULT_PROFILE_ID as tt, APPEARANCE_BIN_COUNT as u, servedTemplateVars as ui, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as un, embeddingRequirementsUnavailableError as ur, NC_CLIP_POST_ROLL_DEFAULT_SEC as ut, BaseDevice as v, systemEventSummaryScheduleOf as vi, SceneMonitorSchema as vn, gifFromMp4Args as vr, NC_DEFAULT_SNOOZE_MINUTES as vt, CoverStateSchema as w, zoneAnalyticsCapability as wi, TimelapseRuleInputSchema as wn, isEventKindLabelKey as wr, NC_SYSTEM_EVENT_KIND_GROUP_SPECS as wt, COCO_TO_MACRO as x, templateVarsFor as xi, SetTrackRelationInputSchema as xn, isAudioClassName as xr, NC_GROUPING_MIN_SEC as xt, BirthDecisionRecordSchema as y, systemEventSummarySplitOf as yi, SetTrackPurityInputSchema as yn, isAlarmControllableCap as yr, NC_GROUPING_DEFAULT_SEC as yt, FIRST_LEVEL_MACRO_CLASSES as z, isDeviceScopedCap as zi, applySecureOnArmEdit as zn, notificationRulesCapability as zr, NcRulePatchSchema as zt };
85780
+ export { MediaFileKindEnum as $, boolean as $i, coreBlockIdFromAddonId as $n, readTimelapseGeneratedAt as $r, NcTemplateVarDescriptorSchema as $t, DeclaredDevices as A, viewerLinkBaseOf as Ai, TrackSideSchema as An, isEventOwnerType as Ar, NcAlarmSensorsInputSchema as At, FULL_IMAGE_BBOX as B, RECORD_MAX_DATA_BYTES as Bi, applyModeDelaysEdits as Bn, kebabToCamel as Br, NcRuleSchema as Bt, ClearTrackRelationResultSchema as C, systemEventFamilyProblems as Ci, TRACK_RELATIONS_DEFAULT_LIMIT as Cn, isAlertEpisodeOpen as Cr, NC_SNOOZE_MAX_MINUTES as Ct, DEFAULT_TIMELAPSE_PREVIEW_TEXT as D, templateCarriesSummary as Di, TrackPuritySchema as Dn, isDefaultAlarmProfileId as Dr, NC_TEMPLATE_VARS as Dt, DEFAULT_EVENT_COLOR as E, systemEventSummarySplitOf as Ei, TimelapseRuleSchema as En, isAudioClassName as Er, NC_TAXONOMY as Et, EVENT_DENSITY_BATCH_MAX as F, isSourceCap as Fi, alarmPanelCapability as Fn, isRootSuppliableStepId as Fr, NcLegacyRuleActionSequenceSchema as Ft, ListTrackRelationsResultSchema as G, hydrateSchema as Gi, audioMetricsCapability as Gn, occupancyScope as Gr, NcSnoozeInputSchema as Gt, LABEL_SUPPLY_MACRO as H, customAction as Hi, applySecureOnArmEdit as Hn, mayWriteToLocation as Hr, NcRuleUpdateInputSchema as Ht, EVENT_KIND_BY_CAP as I, DeviceType as Ii, alertEpisodeId as In, isScheduleActive as Ir, NcRuleActionSchema as It, MAX_BIRTH_DECISION_RECORDS as J, normalizeNodeId as Ji, buildViewerLink as Jn, pickFaceRescoreIntervalMinutes as Jr, NcStateSummarySectionIdSchema as Jt, LockStateSchema as K, isDeviceScopedCap as Ki, audioModeOf as Kn, parseAlertEpisodePayload as Kr, NcSnoozeSchema as Kt, EVENT_OWNER_TYPES as L, errMsg as Li, alertEpisodeKind as Ln, isSystemDelivery as Lr, NcRuleActionsSchema as Lt, EMBEDDING_MODEL_FAILED as M, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as Mi, activateAlarmProfile as Mn, isLabelSupplyStepId as Mr, NcAlarmSettingsPatchSchema as Mt, EMBEDDING_REQUIREMENTS_FAILED as N, canonicalHash as Ni, addonWidgetsSourceCapability as Nn, isMediaOwnerType as Nr, NcConditionDescriptorSchema as Nt, DETECTION_MACRO_CLASSES as O, templateVarsFor as Oi, TrackRelationKindSchema as On, isDetectionMacroClass as Or, NcAlarmConfigSchema as Ot, EMBEDDING_REQUIREMENTS_UNAVAILABLE as P, evaluateSensorEdge as Pi, alarmDeviceSecureOnArm as Pn, isRetiredClearKey as Pr, NcConditionsSchema as Pt, MOTION_CLOSE_AFTER_MS as Q, array as Qi, consumableLowPercentOf as Qn, readMotionTriggeredBy as Qr, NcTemplatePreviewSchema as Qt, EXPORT_DENSE_MAX_RANGES as R, BaseAddon as Ri, alertEpisodePayload as Rn, isSystemEventSummaryRule as Rr, NcRuleInputSchema as Rt, ClearTrackRelationInputSchema as S, systemEventDeliveryProblems as Si, TIMELAPSE_DENSE_FLOOR_SEC as Sn, isAlarmControllableCap as Sr, NC_SENSOR_TRANSITION_KINDS as St, DEFAULT_DETAIL_CROP_CONVENTION as T, systemEventSummaryScheduleOf as Ti, TimelapseRulePatchSchema as Tn, isAppLinkBase as Tr, NC_TANK_SYSTEM_EVENT_KINDS as Tt, LabelAttributionSchema as U, defineCustomActions as Ui, armRemovalReconcile as Un, memoizePinnedFfmpeg as Ur, NcScheduleSchema as Ut, FailureCounters as V, createEvent as Vi, applyNonBlockingEdit as Vn, linkedStepOf as Vr, NcRuleTargetSchema as Vt, ListTrackRelationsInputSchema as W, defineRecordKinds as Wi, assertTimelapseCadences as Wn, notificationRulesCapability as Wr, NcSharedSequenceSchema as Wt, MAX_TRACK_PURITIES as X, ZodObject as Xi, classifyRetrainReview as Xn, plateGalleryCapability as Xr, NcTaxonomySchema as Xt, MAX_BIRTH_LATENCY_PROXY_MS as Y, sleep as Yi, calendarEventLocalSpan as Yn, pipelineAnalyticsCapability as Yr, NcSystemEventKindSchema as Yt, MAX_TRACK_RELATIONS as Z, _enum as Zi, cloneAlarmSettings as Zn, readDeviceStateFrom as Zr, NcTemplatePreviewInputSchema as Zt, BIRTH_DECISION_DEFAULT_LIMIT as _, startMoverUnderClearance as _i, SCENE_RESET_RECAPTURES as _n, evictionPolicyOfLocation as _r, NC_CONSUMABLE_SYSTEM_EVENT_KINDS as _t, CLIP_EMBEDDING_STEP_ID as a, partialRecord as aa, resolvePoolMemoryPolicy as ai, RebuildObjectEmbeddingsRefusalSchema as an, deriveRecordingMode as ar, NC_ALARM_NOTIFY_FIELDS as at, BucketAccumulator as b, summarizeReview as bi, SetTrackPurityResultSchema as bn, gifDeriveSpeed as br, NC_GROUPING_MAX_SEC as bt, readClusterModelPinStrict as c, string as ca, ruleAutoTriggersAlarm as ci, RetrainStatusSchema as cn, deviceRemovalHookCapability as cr, NC_AUDIO_CONFIRM_HITS_DEFAULT as ct, APPEARANCE_BLOCKS as d, union as da, ruleGroupingApplies as di, SCENE_DEFAULT_ANCHOR_THRESHOLD as dn, embeddingRefusalOf as dr, NC_CLIP_PRE_ROLL_DEFAULT_SEC as dt, discriminatedUnion as ea, renameAlarmProfile as ei, OPS_LOG_DEFAULT_LIMIT as en, cosineSimilarity as er, MotionTriggeredBySchema as et, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT as f, unknown as fa, ruleKindOf as fi, SCENE_DEFAULT_CHECK_INTERVAL_SEC as fn, embeddingRequirementsFailedError as fr, NC_CLIP_RETENTION_MAX_SEC as ft, ArchivedDebugNoteSchema as g, servedTemplateVars as gi, SCENE_DIVERGED as gn, eventKindLabel as gr, NC_CONSUMABLE_LOW_PERCENT_DEFAULT as gt, AlarmArmModeSchema as h, sensorRaisedOf as hi, SCENE_DEFAULT_UNCOVERED_POLICY as hn, ensureAlarmProfiles as hr, NC_CONFIRM_DEFAULT_TIMEOUT_MS as ht, CLIP_TEXT_MODELS as i, object as ia, resolveModeNotifyPolicy as ii, RECORDING_SOURCE_CAMSTACK_ADDON as in, derivePostTriggeredAction as ir, NC_ALARM_DELAY_MAX_SEC as it, DetectionSourceSchema as j, zoneAnalyticsCapability as ji, TrackSourceSchema as jn, isKnownTemplateVar as jr, NcAlarmSensorsSchema as jt, DETECTION_PIPELINE_CAP_NAME as k, vectorDimFromBase64 as ki, TrackRelationSchema as kn, isEventKindLabelKey as kr, NcAlarmPostTriggeredActionSchema as kt, resolveClusterModelPin as l, templateLiteral as la, ruleBelongsToAlarm as li, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX as ln, embeddingEncoderCapability as lr, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT as lt, AUDIO_MACRO_LABELS as m, secureActuationFor as mi, SCENE_DEFAULT_QUIET_SECONDS as mn, encodeVectorBase64 as mr, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX as mt, DEFAULT_CLIP_MODEL as n, looseObject as na, resolveLocationMode as ni, PoolMemoryWatchdog as nn, deleteAlarmProfile as nr, NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC as nt, CLUSTER_MODEL_OWNER_ADDON_ID as o, record as oa, retrainRevisionConflictMessage as oi, RetrainDismissedSchema as on, describeSystemEventDeliveryProblem as or, NC_ALARM_SYSTEM_EVENT_KINDS as ot, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT as p, EventCategory as pa, sceneMonitorCapability as pi, SCENE_DEFAULT_OBSERVATION_SPACING_SEC as pn, embeddingRequirementsUnavailableError as pr, NC_CONDITION_CATALOG as pt, MAX_ARCHIVED_DEBUG_NOTES as q, nodePin as qi, buildEventKindDescriptor as qn, parseProcStatus as qr, NcSnoozeSuppressedSchema as qt, CLIP_IMAGE_MODELS as r, number as ra, resolveModeDelays as ri, RECORDING_EXPORT_MAX_READ_BYTES as rn, deriveDetailCropRect as rr, NC_ALARM_DELAY_FIELDS as rt, FACE_EMBEDDING_STEP_ID as s, strictObject as sa, rootSupplyServes as si, RetrainOriginSchema as sn, describeSystemEventFamilyProblem as sr, NC_ALARM_TRIGGERED_MAX_SEC as st, BUILTIN_CLIP_MODELS as t, literal as ta, resolveClipSearchMinScore as ti, OpsLogEntrySchema as tn, createAlarmProfile as tr, NC_ALARM_DEFAULT_PROFILE_ID as tt, APPEARANCE_BIN_COUNT as u, tuple as ua, ruleDeviceCompatCapQueries as ui, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as un, embeddingModelFailedError as ur, NC_CLIP_POST_ROLL_DEFAULT_SEC as ut, BaseDevice as v, storageOccupancyCapability as vi, SceneMonitorSchema as vn, faceGalleryCapability as vr, NC_DEFAULT_SNOOZE_MINUTES as vt, CoverStateSchema as w, systemEventFilterApplies as wi, TimelapseRuleInputSchema as wn, isAlertEpisodeSeverity as wr, NC_SYSTEM_EVENT_KIND_GROUP_SPECS as wt, COCO_TO_MACRO as x, syncActiveAlarmProfileSettings as xi, SetTrackRelationInputSchema as xn, gifFromMp4Args as xr, NC_GROUPING_MIN_SEC as xt, BirthDecisionRecordSchema as y, subKindsOf as yi, SetTrackPurityInputSchema as yn, failureContributionCapability as yr, NC_GROUPING_DEFAULT_SEC as yt, FIRST_LEVEL_MACRO_CLASSES as z, CamProfileSchema as zi, applyBlockingEdit as zn, isVectorIndexDimConflict as zr, NcRulePatchSchema as zt };