@camstack/types 1.2.271 → 1.2.273

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 (43) hide show
  1. package/dist/addon.js +2 -4
  2. package/dist/addon.mjs +2 -4
  3. package/dist/capabilities/control.cap.d.ts +4 -4
  4. package/dist/capabilities/core-blocks.cap.d.ts +1 -1
  5. package/dist/capabilities/device-discovery.cap.d.ts +1 -1
  6. package/dist/capabilities/device-extension.cap.d.ts +8 -8
  7. package/dist/capabilities/index.d.ts +2 -2
  8. package/dist/capabilities/integrations.cap.d.ts +3 -3
  9. package/dist/capabilities/llm-runtime.cap.d.ts +3 -3
  10. package/dist/capabilities/llm.cap.d.ts +4 -4
  11. package/dist/capabilities/motion.cap.d.ts +12 -0
  12. package/dist/capabilities/notification-rules.cap.d.ts +9 -9
  13. package/dist/capabilities/osd-manager.cap.d.ts +10 -10
  14. package/dist/capabilities/pet-feeder.cap.d.ts +4 -4
  15. package/dist/capabilities/pipeline-analytics.cap.d.ts +22 -199
  16. package/dist/capabilities/pipeline-executor.cap.d.ts +2 -2
  17. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +156 -6
  18. package/dist/capabilities/pipeline-runner.cap.d.ts +9 -0
  19. package/dist/capabilities/recording-archive.cap.d.ts +4 -4
  20. package/dist/capabilities/recording-export.cap.d.ts +7 -7
  21. package/dist/capabilities/recording-onboard.cap.d.ts +5 -5
  22. package/dist/capabilities/recording.cap.d.ts +5 -5
  23. package/dist/capabilities/snapshot.cap.d.ts +2 -2
  24. package/dist/capabilities/storage-provider.cap.d.ts +11 -11
  25. package/dist/capabilities/storage.cap.d.ts +3 -3
  26. package/dist/capabilities/stream-broker.cap.d.ts +1 -1
  27. package/dist/capabilities/videoclips.cap.d.ts +3 -3
  28. package/dist/capabilities/zone-analytics.cap.d.ts +2 -2
  29. package/dist/composition/composition-report.d.ts +3 -3
  30. package/dist/generated/addon-api.d.ts +0 -21
  31. package/dist/generated/cap-input-defaults.d.ts +1 -1
  32. package/dist/generated/method-access-map.d.ts +1 -1
  33. package/dist/generated/method-device-selectors.d.ts +1 -1
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.js +182 -195
  36. package/dist/index.mjs +168 -193
  37. package/dist/interfaces/storage-location-mode.d.ts +1 -1
  38. package/dist/interfaces/storage-location.d.ts +1 -1
  39. package/dist/media/media-owner-key.d.ts +6 -2
  40. package/dist/pipeline/camera-sensors.d.ts +146 -0
  41. package/dist/{sleep-DlrgY4Qb.mjs → sleep-C-v96WpE.mjs} +0 -3
  42. package/dist/{sleep-DYGSsCgK.js → sleep-WOeeZ4FU.js} +0 -3
  43. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-DYGSsCgK.js");
2
+ const require_sleep = require("./sleep-WOeeZ4FU.js");
3
3
  const require_event_category = require("./event-category-MbnB-6AN.js");
4
4
  const require_composition = require("./composition-BRxAnxtU.js");
5
5
  const require_err_msg = require("./err-msg-Dx2Kor0g.js");
@@ -16,7 +16,7 @@ let zod = require("zod");
16
16
  * ```
17
17
  *
18
18
  * The owner type is a TABLE. That is already true of every owner on the live
19
- * hub - `track`, `summary`, `face`, `identity`, `plate` - and the exception was
19
+ * hub - `track`, `face`, `identity`, `plate` - and the exception was
20
20
  * `event`, which covered three tables at once. While event ids were UUIDs the
21
21
  * ambiguity cost nothing, because a UUID is unique across tables. D474 made an
22
22
  * event id a SQLite rowid alias, so each table numbers from 1 and `event:5`
@@ -62,10 +62,13 @@ let zod = require("zod");
62
62
  * are declared owner kinds with no rows today, and the parser would have
63
63
  * rejected their keys the day one appeared. A list derived from data is a list
64
64
  * that is correct until the data changes.
65
+ *
66
+ * `summary` is gone with the session summary it named (D680): a `summary:` key
67
+ * left on disk is unreadable by design, like a legacy `event:` one, and the
68
+ * orphan audit reclaims its row as a retired owner.
65
69
  */
66
70
  var MEDIA_OWNER_TYPES = [
67
71
  "track",
68
- "summary",
69
72
  "face",
70
73
  "identity",
71
74
  "plate",
@@ -20524,6 +20527,123 @@ var oauthIntegrationCapability = {
20524
20527
  getDescriptor: require_sleep.method(zod.z.void(), OauthIntegrationDescriptorSchema, { auth: "admin" }) }
20525
20528
  };
20526
20529
  //#endregion
20530
+ //#region src/pipeline/camera-sensors.ts
20531
+ /**
20532
+ * What started a camera's onboard motion (D672). `camera` is the camera's own
20533
+ * firmware; `sensor` is a device the operator ATTACHED to it. Absent on the
20534
+ * wire means the camera: only the camera-sensors bridge ever says `sensor`.
20535
+ */
20536
+ var MotionTriggeredBySchema = zod.z.discriminatedUnion("kind", [zod.z.object({ kind: zod.z.literal("camera") }), zod.z.object({
20537
+ kind: zod.z.literal("sensor"),
20538
+ deviceId: zod.z.number().int().positive()
20539
+ })]);
20540
+ var CAMERA_TRIGGER = Object.freeze({ kind: "camera" });
20541
+ function readMotionTriggeredBy(value) {
20542
+ if (value === void 0) return {
20543
+ triggeredBy: CAMERA_TRIGGER,
20544
+ malformed: false
20545
+ };
20546
+ const parsed = MotionTriggeredBySchema.safeParse(value);
20547
+ return parsed.success ? {
20548
+ triggeredBy: parsed.data,
20549
+ malformed: false
20550
+ } : {
20551
+ triggeredBy: CAMERA_TRIGGER,
20552
+ malformed: true
20553
+ };
20554
+ }
20555
+ /** The orchestrator device-store key, beside `motionSources`. */
20556
+ var CAMERA_SENSORS_SETTINGS_KEY = "cameraSensors";
20557
+ /** More than this is a configuration error, not a camera. */
20558
+ var MAX_CAMERA_SENSORS = 8;
20559
+ var CameraSensorRefSchema = zod.z.object({
20560
+ addonId: zod.z.string().min(1),
20561
+ stableId: zod.z.string().min(1)
20562
+ });
20563
+ function cameraSensorRefKey(ref) {
20564
+ return `${ref.addonId}/${ref.stableId}`;
20565
+ }
20566
+ /** CS-1 accepts exactly one mode; CS-2 (D673) widens it to confirm / replace. */
20567
+ var CameraSensorsModeSchema = zod.z.enum(["in-addition"]);
20568
+ var CameraSensorsConfigSchema = zod.z.object({
20569
+ mode: CameraSensorsModeSchema,
20570
+ sensors: zod.z.array(CameraSensorRefSchema).min(1).max(8)
20571
+ }).superRefine((value, ctx) => {
20572
+ const seen = /* @__PURE__ */ new Set();
20573
+ value.sensors.forEach((ref, index) => {
20574
+ const key = cameraSensorRefKey(ref);
20575
+ if (seen.has(key)) ctx.addIssue({
20576
+ code: "custom",
20577
+ path: ["sensors", index],
20578
+ message: `duplicate camera sensor ${key}`
20579
+ });
20580
+ seen.add(key);
20581
+ });
20582
+ });
20583
+ var RefFields = {
20584
+ addonId: zod.z.string(),
20585
+ stableId: zod.z.string()
20586
+ };
20587
+ var CameraSensorAttachmentSchema = zod.z.discriminatedUnion("state", [
20588
+ zod.z.object({
20589
+ ...RefFields,
20590
+ state: zod.z.literal("ready"),
20591
+ deviceId: zod.z.number(),
20592
+ name: zod.z.string(),
20593
+ caps: zod.z.array(zod.z.string()).readonly()
20594
+ }),
20595
+ zod.z.object({
20596
+ ...RefFields,
20597
+ state: zod.z.literal("offline"),
20598
+ deviceId: zod.z.number(),
20599
+ name: zod.z.string(),
20600
+ reason: zod.z.enum(["offline", "disabled"])
20601
+ }),
20602
+ zod.z.object({
20603
+ ...RefFields,
20604
+ state: zod.z.literal("missing"),
20605
+ reason: zod.z.string()
20606
+ }),
20607
+ zod.z.object({
20608
+ ...RefFields,
20609
+ state: zod.z.literal("unsupported"),
20610
+ deviceId: zod.z.number(),
20611
+ name: zod.z.string(),
20612
+ reason: zod.z.string()
20613
+ }),
20614
+ zod.z.object({
20615
+ ...RefFields,
20616
+ state: zod.z.literal("unreadable"),
20617
+ reason: zod.z.string()
20618
+ })
20619
+ ]);
20620
+ /**
20621
+ * Why a configured camera forwards NOTHING from its sensors, however ready they
20622
+ * are (D672): it does not list `onboard` in `motionSources` (attaching a sensor
20623
+ * does not add it), or it has no active detection config at all (the bridge
20624
+ * reads the active config). Absent = forwarded, or an older node that does not
20625
+ * say.
20626
+ */
20627
+ var CameraSensorsNotForwardedSchema = zod.z.enum(["onboard-not-listed", "no-active-detection"]);
20628
+ var CameraSensorsStatusSchema = zod.z.discriminatedUnion("state", [
20629
+ zod.z.object({ state: zod.z.literal("not-configured") }),
20630
+ zod.z.object({
20631
+ state: zod.z.literal("unreadable"),
20632
+ reason: zod.z.string()
20633
+ }),
20634
+ zod.z.object({
20635
+ state: zod.z.literal("configured"),
20636
+ mode: CameraSensorsModeSchema,
20637
+ sensors: zod.z.array(CameraSensorAttachmentSchema).readonly(),
20638
+ notForwarded: CameraSensorsNotForwardedSchema.optional()
20639
+ })
20640
+ ]);
20641
+ /** What a camera reads before its first settings read ANSWERED (D315). */
20642
+ var CAMERA_SENSORS_NOT_LOADED = Object.freeze({
20643
+ state: "unreadable",
20644
+ reason: "camera sensor mappings not loaded"
20645
+ });
20646
+ //#endregion
20527
20647
  //#region src/pipeline/cluster-model-scope.ts
20528
20648
  /**
20529
20649
  * A model choice has a SCOPE, and a scope change has a workflow.
@@ -21446,6 +21566,12 @@ var MotionEventSchema = zod.z.object({
21446
21566
  /** Populated by B5 (recording playback URL for this event). */
21447
21567
  mediaUrl: zod.z.string().optional(),
21448
21568
  /**
21569
+ * The FIRST trigger of an `onboard` episode, written once at open (D672).
21570
+ * Absent = not recorded (a row written before D672, or an analyzer /
21571
+ * device-activity episode) — never read as "the camera" (D393).
21572
+ */
21573
+ triggeredBy: MotionTriggeredBySchema.optional(),
21574
+ /**
21449
21575
  * One row per motion EPISODE, not one per push (D475). `null` while the
21450
21576
  * episode is still open — a further rising edge extends it in place rather
21451
21577
  * than inserting a new row. Set once, at close, to `lastOnAt - startedAt`
@@ -21957,143 +22083,6 @@ var RecentTracksQueryInput = zod.z.object({
21957
22083
  /** See {@link ExcludeSourcesDoc}. */
21958
22084
  excludeSources: zod.z.array(TrackSourceSchema).optional()
21959
22085
  });
21960
- /**
21961
- * A Summary (D359): the per-camera session envelope that references tracks.
21962
- * `groupShotMediaId` is the media ROW id of its group shot (`ownerKind:
21963
- * 'summary'`, served by the event-media plane at `/m/<id>`), null until the
21964
- * first frame with a member visible has been materialised (D482 — it was the
21965
- * row's composite key, which embedded the owner and could name another table's
21966
- * row once event ids became per-table rowids).
21967
- */
21968
- var SummarySchema = zod.z.object({
21969
- id: zod.z.string(),
21970
- deviceId: zod.z.number(),
21971
- openedAt: zod.z.number(),
21972
- lastActiveAt: zod.z.number(),
21973
- sealedAt: zod.z.number().nullable(),
21974
- memberCount: zod.z.number().int().nonnegative(),
21975
- groupShotMediaId: zod.z.number().int().nullable()
21976
- });
21977
- var SUMMARIES_MAX_LIMIT = 200;
21978
- var SUMMARIES_DEFAULT_LIMIT = 50;
21979
- var SummariesQueryInput = zod.z.object({
21980
- deviceIds: zod.z.array(zod.z.number()).min(1),
21981
- since: zod.z.number().optional(),
21982
- until: zod.z.number().optional(),
21983
- limit: zod.z.number().int().min(1).max(200).default(50),
21984
- /** The same member-wise filter {@link listRecentSummaries} takes — one
21985
- * meaning of "dog" on every summary surface. */
21986
- classes: zod.z.array(zod.z.string().min(1).max(60)).max(40).optional()
21987
- });
21988
- /**
21989
- * One member of a group, as a reader needs it.
21990
- *
21991
- * The class and the role travel WITH the id because every consumer that shows
21992
- * a group has to say what it was made of — "two people and a dog" — and asking
21993
- * `getTrack` per member to find that out turns one card into `memberCount`
21994
- * round trips. The member row already holds both (they are written at the
21995
- * join), so this costs the reader nothing.
21996
- */
21997
- var SummaryMemberSchema = zod.z.object({
21998
- trackId: zod.z.string(),
21999
- /**
22000
- * The track's class at the time it JOINED, or `null` when it was unresolved
22001
- * and the track no longer exists to fill it.
22002
- *
22003
- * The join, not the latest opinion: class voting can re-decide a track's
22004
- * class afterwards, and a group's composition is the history of who came
22005
- * together. A consumer counts these to badge a thumbnail — "two people and a
22006
- * dog" — rather than being handed a second, denormalised tally that would
22007
- * drift from the members it claims to describe.
22008
- */
22009
- className: zod.z.string().nullable(),
22010
- /** `primary` is the one member that carries the group's identity. */
22011
- role: zod.z.enum([
22012
- "primary",
22013
- "sibling",
22014
- "child"
22015
- ]).nullable(),
22016
- joinedAt: zod.z.number(),
22017
- /** Tier 1 — the sub-class (`dog`, `van`), resolved from the member's track
22018
- * at read time. Absent when nothing resolved, never an empty string. */
22019
- label: zod.z.string().optional(),
22020
- /** Tier 2 — the instance: a person's name, a plate. Absent when the pipeline
22021
- * recognised nobody, and absent for a member whose track has been pruned —
22022
- * a thumbnail that names the wrong person is worse than one naming nobody. */
22023
- subLabel: zod.z.string().optional()
22024
- });
22025
- var SummaryDetailSchema = zod.z.object({
22026
- summary: SummarySchema,
22027
- /** Members in absorption order, oldest join first. */
22028
- members: zod.z.array(SummaryMemberSchema).readonly()
22029
- });
22030
- /**
22031
- * What a LIST of groups carries: the envelope plus what it is MADE OF.
22032
- *
22033
- * Coarse on purpose — the operator's rule is "only the rough data on the list,
22034
- * we extend when we notice we need more". Enough to draw the card ("two people
22035
- * and a dog") and no more. The MEMBERS, their names and the per-member links
22036
- * are on {@link getSummary}: shipping every member of every group so a client
22037
- * can count them turns a page of two hundred groups into a thousand records to
22038
- * draw two hundred badges.
22039
- */
22040
- var SummaryListItemSchema = zod.z.object({
22041
- summary: SummarySchema,
22042
- /** Class counts, most numerous first; `className: null` is a member whose
22043
- * class never resolved, counted so the counts add up to `memberCount`. */
22044
- classes: zod.z.array(zod.z.object({
22045
- className: zod.z.string().nullable(),
22046
- count: zod.z.number().int().positive()
22047
- })).readonly()
22048
- });
22049
- var SummariesPageSchema = zod.z.object({ summaries: zod.z.array(SummaryListItemSchema).readonly() });
22050
- /**
22051
- * The paged feed, deliberately the SAME shape as {@link RecentTracksQueryInput}.
22052
- *
22053
- * The reel on the cameras page and the Events gallery both ride a cursor, so a
22054
- * summaries feed that could only answer "the last N for these cameras"
22055
- * (`listSummaries`) would make groups available in the timeline and nowhere
22056
- * else. Two feeds with different ordering contracts would be two ideas of what
22057
- * "newest" means, on one screen.
22058
- */
22059
- var RecentSummariesQueryInput = zod.z.object({
22060
- /** Devices to merge. An empty array yields an empty page. */
22061
- deviceIds: zod.z.array(zod.z.number()),
22062
- /** Window lower bound on `lastActiveAt` (inclusive). */
22063
- since: zod.z.number().optional(),
22064
- /** Window upper bound on `lastActiveAt` (inclusive). */
22065
- until: zod.z.number().optional(),
22066
- limit: zod.z.number().int().min(1).max(500).default(100),
22067
- /** Opaque continuation cursor from a previous page's `nextCursor`. */
22068
- cursor: zod.z.string().optional(),
22069
- /**
22070
- * Restrict to these classes — THE SAME FIELD `listRecentTracks` takes, and
22071
- * deliberately the same name: the events filter tree emits one list of ticked
22072
- * taxonomy nodes, and a summaries feed that called it something else would
22073
- * make the operator's one filter component produce two shapes.
22074
- *
22075
- * A question about the MEMBERS: a group matches when ANY of them does. "Show
22076
- * me the arrivals with a dog" has to return the group of four people who had
22077
- * one with them; a filter on the group's own fields could only ever answer
22078
- * about its primary.
22079
- *
22080
- * Matched against all THREE tiers of a member — the class (`animal`), the
22081
- * sub-class (`dog`) and the instance (a name, a plate) — because which tier a
22082
- * ticked node lives on is the taxonomy's business, not the caller's. `dog` is
22083
- * an event kind in the tree and a tier-1 label on an `animal` track; a filter
22084
- * that read only the class would answer "animal" and never "dog".
22085
- *
22086
- * ABSENT or EMPTY means no filter — absent is not a selection of none.
22087
- */
22088
- classes: zod.z.array(zod.z.string().min(1).max(60)).max(40).optional()
22089
- });
22090
- var RecentSummariesPageSchema = zod.z.object({
22091
- /** Ordered by (`lastActiveAt` DESC, id DESC). Same light item as
22092
- * {@link listSummaries} — one list shape, so a card renders the same
22093
- * whichever feed drew it. */
22094
- summaries: zod.z.array(SummaryListItemSchema).readonly(),
22095
- nextCursor: zod.z.string().nullable()
22096
- });
22097
22086
  var RecentTracksPageSchema = zod.z.object({
22098
22087
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
22099
22088
  tracks: zod.z.array(TrackSchema).readonly(),
@@ -22680,15 +22669,6 @@ var pipelineAnalyticsCapability = {
22680
22669
  * are not included (same contract as `listTracks`).
22681
22670
  */
22682
22671
  listRecentTracks: require_sleep.method(RecentTracksQueryInput, RecentTracksPageSchema),
22683
- /** Newest first by `openedAt`, for a camera set, inside an optional window. */
22684
- listSummaries: require_sleep.method(SummariesQueryInput, SummariesPageSchema),
22685
- /**
22686
- * The PAGED feed — the reel and the Events gallery. Same cursor contract as
22687
- * {@link listRecentTracks}, so one screen cannot hold two ideas of newest.
22688
- */
22689
- listRecentSummaries: require_sleep.method(RecentSummariesQueryInput, RecentSummariesPageSchema),
22690
- /** One summary with its member track ids; `null` for an id nobody wrote. */
22691
- getSummary: require_sleep.method(zod.z.object({ id: zod.z.string() }), SummaryDetailSchema.nullable()),
22692
22672
  clearTracks: require_sleep.method(zod.z.object({ deviceId: zod.z.number() }), zod.z.void(), {
22693
22673
  kind: "mutation",
22694
22674
  auth: "admin"
@@ -24725,6 +24705,28 @@ var MotionSourceEnum = zod.z.enum([
24725
24705
  */
24726
24706
  var MotionSourcesSchema = zod.z.array(MotionSourceEnum);
24727
24707
  /**
24708
+ * The operator-facing name of each MOTION source (D672: `onboard` = the
24709
+ * camera's sensors — its own motion plus any sensor attached to it). The wire
24710
+ * value stays `onboard`; only the label changed. `detectionSources: 'onboard'`
24711
+ * ("Camera onboard AI") and the notification source filter keep their labels.
24712
+ */
24713
+ var MOTION_SOURCE_LABELS = {
24714
+ analyzer: "Frame-diff Analyzer (motion addon)",
24715
+ onboard: "Camera sensors",
24716
+ "device-activity": "Device activity (the device says it is working)"
24717
+ };
24718
+ /** A value this build does not know (a newer node's) is shown as itself. */
24719
+ function motionSourceLabel(value) {
24720
+ const parsed = MotionSourceEnum.safeParse(value);
24721
+ return parsed.success ? MOTION_SOURCE_LABELS[parsed.data] : value;
24722
+ }
24723
+ /** The order the motion-source picker offers them in (not the enum's order). */
24724
+ var MOTION_SOURCE_PICKER_ORDER = [
24725
+ "analyzer",
24726
+ "onboard",
24727
+ "device-activity"
24728
+ ];
24729
+ /**
24728
24730
  * Which root detector a camera runs — EXACTLY ONE.
24729
24731
  *
24730
24732
  * Deliberately the SAME vocabulary post-analysis already tags every detection
@@ -25092,20 +25094,14 @@ var RunnerCameraDeviceUIFields = [
25092
25094
  type: "multiselect",
25093
25095
  label: "Motion Sources",
25094
25096
  default: ["analyzer"],
25095
- options: [
25096
- {
25097
- value: "analyzer",
25098
- label: "Frame-diff Analyzer (motion addon)"
25099
- },
25100
- {
25101
- value: "onboard",
25102
- label: "Camera Onboard Sensor"
25103
- },
25104
- {
25105
- value: "device-activity",
25106
- label: "Device activity (the device says it is working)"
25107
- }
25108
- ]
25097
+ options: MOTION_SOURCE_PICKER_ORDER.map((value) => value === "onboard" ? {
25098
+ value,
25099
+ label: MOTION_SOURCE_LABELS[value],
25100
+ description: "The camera's own motion, plus any sensor attached to it"
25101
+ } : {
25102
+ value,
25103
+ label: MOTION_SOURCE_LABELS[value]
25104
+ })
25109
25105
  },
25110
25106
  {
25111
25107
  key: "detectionSources",
@@ -26070,6 +26066,11 @@ var CameraStatusSchema = zod.z.object({
26070
26066
  */
26071
26067
  switchedOff: zod.z.array(CameraSwitchIdSchema).readonly(),
26072
26068
  /**
26069
+ * The camera's attached sensors (D672). Optional only for a status composed
26070
+ * by an orchestrator older than D672; this orchestrator always sets it.
26071
+ */
26072
+ cameraSensors: CameraSensorsStatusSchema.optional(),
26073
+ /**
26073
26074
  * Stages of the bounded fan-out that were CUT SHORT — a timeout or a
26074
26075
  * rejection — and whose block is therefore `null` because we could not
26075
26076
  * READ it, not because there is nothing there.
@@ -35950,7 +35951,9 @@ var MotionOnMotionChangedDataSchema = zod.z.object({
35950
35951
  detected: zod.z.boolean(),
35951
35952
  timestamp: zod.z.number(),
35952
35953
  source: MotionSourceEnum,
35953
- regions: zod.z.array(MotionRegionSchema).readonly().optional()
35954
+ regions: zod.z.array(MotionRegionSchema).readonly().optional(),
35955
+ /** Who started it (D672). Absent = the camera itself. Only `onboard` carries `sensor`. */
35956
+ triggeredBy: MotionTriggeredBySchema.optional()
35954
35957
  });
35955
35958
  var motionCapability = {
35956
35959
  name: "motion",
@@ -55816,12 +55819,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
55816
55819
  addonId: null,
55817
55820
  access: "view"
55818
55821
  },
55819
- "pipelineAnalytics.getSummary": {
55820
- capName: "pipeline-analytics",
55821
- capScope: "device",
55822
- addonId: null,
55823
- access: "view"
55824
- },
55825
55822
  "pipelineAnalytics.getTrack": {
55826
55823
  capName: "pipeline-analytics",
55827
55824
  capScope: "device",
@@ -55882,12 +55879,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
55882
55879
  addonId: null,
55883
55880
  access: "view"
55884
55881
  },
55885
- "pipelineAnalytics.listRecentSummaries": {
55886
- capName: "pipeline-analytics",
55887
- capScope: "device",
55888
- addonId: null,
55889
- access: "view"
55890
- },
55891
55882
  "pipelineAnalytics.listRecentTracks": {
55892
55883
  capName: "pipeline-analytics",
55893
55884
  capScope: "device",
@@ -55918,12 +55909,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
55918
55909
  addonId: null,
55919
55910
  access: "view"
55920
55911
  },
55921
- "pipelineAnalytics.listSummaries": {
55922
- capName: "pipeline-analytics",
55923
- capScope: "device",
55924
- addonId: null,
55925
- access: "view"
55926
- },
55927
55912
  "pipelineAnalytics.listTrackMedia": {
55928
55913
  capName: "pipeline-analytics",
55929
55914
  capScope: "device",
@@ -60428,11 +60413,6 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
60428
60413
  form: "single",
60429
60414
  optional: true
60430
60415
  }],
60431
- "pipelineAnalytics.listRecentSummaries": [{
60432
- name: "deviceIds",
60433
- form: "array",
60434
- optional: false
60435
- }],
60436
60416
  "pipelineAnalytics.listRecentTracks": [{
60437
60417
  name: "deviceIds",
60438
60418
  form: "array",
@@ -60443,11 +60423,6 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
60443
60423
  form: "array",
60444
60424
  optional: true
60445
60425
  }],
60446
- "pipelineAnalytics.listSummaries": [{
60447
- name: "deviceIds",
60448
- form: "array",
60449
- optional: false
60450
- }],
60451
60426
  "pipelineAnalytics.listTrackMedia": [{
60452
60427
  name: "deviceId",
60453
60428
  form: "single",
@@ -68364,8 +68339,11 @@ exports.BrokerSubscribeResultSchema = SubscribeResultSchema;
68364
68339
  exports.BrokerTestConnectionResultSchema = TestConnectionResultSchema;
68365
68340
  exports.BrokerUnsubscribeInputSchema = UnsubscribeInputSchema;
68366
68341
  exports.BulkRecordSchema = BulkRecordSchema;
68342
+ exports.CAMERA_SENSORS_NOT_LOADED = CAMERA_SENSORS_NOT_LOADED;
68343
+ exports.CAMERA_SENSORS_SETTINGS_KEY = CAMERA_SENSORS_SETTINGS_KEY;
68367
68344
  exports.CAMERA_SWITCH_CATALOG = CAMERA_SWITCH_CATALOG;
68368
68345
  exports.CAMERA_SWITCH_ORDER = CAMERA_SWITCH_ORDER;
68346
+ exports.CAMERA_TRIGGER = CAMERA_TRIGGER;
68369
68347
  exports.CAM_PROFILE_ORDER = require_sleep.CAM_PROFILE_ORDER;
68370
68348
  exports.CAPABILITY_NAMES = CAPABILITY_NAMES;
68371
68349
  exports.CAPABILITY_ROUTER_KEYS = CAPABILITY_ROUTER_KEYS;
@@ -68425,6 +68403,12 @@ exports.CameraMotionStatusSchema = CameraMotionStatusSchema;
68425
68403
  exports.CameraOccupancySnapshotForDeviceSchema = CameraOccupancySnapshotForDeviceSchema;
68426
68404
  exports.CameraRecordingModeSchema = CameraRecordingModeSchema;
68427
68405
  exports.CameraRecordingStatusSchema = CameraRecordingStatusSchema;
68406
+ exports.CameraSensorAttachmentSchema = CameraSensorAttachmentSchema;
68407
+ exports.CameraSensorRefSchema = CameraSensorRefSchema;
68408
+ exports.CameraSensorsConfigSchema = CameraSensorsConfigSchema;
68409
+ exports.CameraSensorsModeSchema = CameraSensorsModeSchema;
68410
+ exports.CameraSensorsNotForwardedSchema = CameraSensorsNotForwardedSchema;
68411
+ exports.CameraSensorsStatusSchema = CameraSensorsStatusSchema;
68428
68412
  exports.CameraSourceStatusSchema = CameraSourceStatusSchema;
68429
68413
  exports.CameraSourceStreamSchema = CameraSourceStreamSchema;
68430
68414
  exports.CameraStatusDegradationReasonSchema = CameraStatusDegradationReasonSchema;
@@ -68870,6 +68854,7 @@ exports.MACRO_LABELS = MACRO_LABELS;
68870
68854
  exports.MAX_ARCHIVED_DEBUG_NOTES = MAX_ARCHIVED_DEBUG_NOTES;
68871
68855
  exports.MAX_BIRTH_DECISION_RECORDS = MAX_BIRTH_DECISION_RECORDS;
68872
68856
  exports.MAX_BIRTH_LATENCY_PROXY_MS = MAX_BIRTH_LATENCY_PROXY_MS;
68857
+ exports.MAX_CAMERA_SENSORS = MAX_CAMERA_SENSORS;
68873
68858
  exports.MAX_CLIP_EVENT_IDS = MAX_CLIP_EVENT_IDS;
68874
68859
  exports.MAX_CLIP_LABELS = MAX_CLIP_LABELS;
68875
68860
  exports.MAX_COMPOSITION_CODE_LENGTH = require_composition.MAX_COMPOSITION_CODE_LENGTH;
@@ -68896,6 +68881,7 @@ exports.MODEL_FORMATS = MODEL_FORMATS;
68896
68881
  exports.MODEL_HOSTING = MODEL_HOSTING;
68897
68882
  exports.MODEL_PROVIDER_IDS = MODEL_PROVIDER_IDS;
68898
68883
  exports.MOTION_CLOSE_AFTER_MS = MOTION_CLOSE_AFTER_MS;
68884
+ exports.MOTION_SOURCE_LABELS = MOTION_SOURCE_LABELS;
68899
68885
  exports.MOTION_TRIGGER_FEATURE = MOTION_TRIGGER_FEATURE;
68900
68886
  exports.ManagedModelCatalogEntrySchema = ManagedModelCatalogEntrySchema;
68901
68887
  exports.ManagedModelExtraFileSchema = ManagedModelExtraFileSchema;
@@ -68946,6 +68932,7 @@ exports.MotionSourcesSchema = MotionSourcesSchema;
68946
68932
  exports.MotionStatusSchema = MotionStatusSchema;
68947
68933
  exports.MotionTriggerRuntimeStateSchema = MotionTriggerRuntimeStateSchema;
68948
68934
  exports.MotionTriggerStatusSchema = MotionTriggerStatusSchema;
68935
+ exports.MotionTriggeredBySchema = MotionTriggeredBySchema;
68949
68936
  exports.MotionZoneOptionsSchema = MotionZoneOptionsSchema;
68950
68937
  exports.MotionZonePatchSchema = MotionZonePatchSchema;
68951
68938
  exports.MotionZoneRegionSchema = MotionZoneRegionSchema;
@@ -69367,8 +69354,6 @@ exports.STORAGE_LOCATION_MODES = STORAGE_LOCATION_MODES;
69367
69354
  exports.STREAM_PROFILE_META = STREAM_PROFILE_META;
69368
69355
  exports.STREAM_QUALITY_LABELS = STREAM_QUALITY_LABELS;
69369
69356
  exports.SUB_DETECTION_TYPES = SUB_DETECTION_TYPES;
69370
- exports.SUMMARIES_DEFAULT_LIMIT = SUMMARIES_DEFAULT_LIMIT;
69371
- exports.SUMMARIES_MAX_LIMIT = SUMMARIES_MAX_LIMIT;
69372
69357
  exports.SYSTEM_CAP_NAMES = SYSTEM_CAP_NAMES;
69373
69358
  exports.SYSTEM_SCOPE_DEVICE_METHODS = SYSTEM_SCOPE_DEVICE_METHODS;
69374
69359
  exports.SceneCheckSchema = SceneCheckSchema;
@@ -69478,7 +69463,6 @@ exports.SubscribeAudioChunksInputSchema = require_sleep.SubscribeAudioChunksInpu
69478
69463
  exports.SubscribeAudioChunksResultSchema = require_sleep.SubscribeAudioChunksResultSchema;
69479
69464
  exports.SubscribeFramesInputSchema = require_sleep.SubscribeFramesInputSchema;
69480
69465
  exports.SubscribeFramesResultSchema = require_sleep.SubscribeFramesResultSchema;
69481
- exports.SummarySchema = SummarySchema;
69482
69466
  exports.SwitchStatusSchema = SwitchStatusSchema;
69483
69467
  exports.SystemMetricsSchema = SystemMetricsSchema;
69484
69468
  exports.SystemMirror = SystemMirror;
@@ -69659,6 +69643,7 @@ exports.buttonCapability = buttonCapability;
69659
69643
  exports.cameraCredentialsCapability = cameraCredentialsCapability;
69660
69644
  exports.cameraGridLayoutCapability = cameraGridLayoutCapability;
69661
69645
  exports.cameraPipelineConfigCapability = cameraPipelineConfigCapability;
69646
+ exports.cameraSensorRefKey = cameraSensorRefKey;
69662
69647
  exports.cameraStreamsCapability = cameraStreamsCapability;
69663
69648
  exports.canConvertUnit = canConvertUnit;
69664
69649
  exports.canonicalEgressPlan = canonicalEgressPlan;
@@ -69948,6 +69933,7 @@ exports.modelDistributorCapability = modelDistributorCapability;
69948
69933
  exports.modelFormatForRuntime = modelFormatForRuntime;
69949
69934
  exports.motionCapability = motionCapability;
69950
69935
  exports.motionDetectionCapability = motionDetectionCapability;
69936
+ exports.motionSourceLabel = motionSourceLabel;
69951
69937
  exports.motionTriggerCapability = motionTriggerCapability;
69952
69938
  exports.motionZonesCapability = motionZonesCapability;
69953
69939
  exports.mqttBrokerCapability = mqttBrokerCapability;
@@ -70028,6 +70014,7 @@ exports.readClusterStepModels = readClusterStepModels;
70028
70014
  exports.readClusterStepSettings = readClusterStepSettings;
70029
70015
  exports.readDetailCropConvention = readDetailCropConvention;
70030
70016
  exports.readDeviceStateFrom = readDeviceStateFrom;
70017
+ exports.readMotionTriggeredBy = readMotionTriggeredBy;
70031
70018
  exports.readNativeLeaseOverride = readNativeLeaseOverride;
70032
70019
  exports.readNodePin = require_sleep.readNodePin;
70033
70020
  exports.readTimelapseGeneratedAt = readTimelapseGeneratedAt;