@camstack/types 1.2.81 → 1.2.83

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.
@@ -456,6 +456,8 @@ export interface PendingRestartMarkerPayload {
456
456
  readonly toVersion?: string;
457
457
  readonly requestedBy?: string;
458
458
  readonly requestedAt: number;
459
+ /** Node that completed the restart, when known. */
460
+ readonly nodeId?: string;
459
461
  readonly [key: string]: unknown;
460
462
  }
461
463
  /** One service entry inside a topology process — addon + capabilities. */
@@ -566,6 +568,19 @@ export interface EventCatalog {
566
568
  readonly latestVersion: string;
567
569
  /** Node whose installed addon roster was checked, when not the hub. */
568
570
  readonly nodeId?: string;
571
+ /**
572
+ * The FULL currently-available set. Present when the emitter batches on a
573
+ * `latestVersion` change so one notification can list every package (or
574
+ * every node, for `target: 'server'`) instead of one event per row.
575
+ */
576
+ readonly packages?: readonly {
577
+ readonly packageName: string;
578
+ readonly currentVersion: string;
579
+ readonly latestVersion: string;
580
+ readonly nodeId?: string;
581
+ }[];
582
+ /** Nodes currently behind, when `target` is `server`. */
583
+ readonly nodeIds?: readonly string[];
569
584
  };
570
585
  'system.ready-state': SystemReadyStatePayload;
571
586
  /**
@@ -795,6 +810,21 @@ export interface EventCatalog {
795
810
  deletedCount?: number;
796
811
  freedMB?: number;
797
812
  };
813
+ 'recording.export.progress': {
814
+ exportId: string;
815
+ progressPct: number;
816
+ };
817
+ 'recording.export.completed': {
818
+ exportId: string;
819
+ fileBytes: number;
820
+ deviceId?: number;
821
+ title?: string;
822
+ notifyTargetIds?: readonly string[];
823
+ };
824
+ 'recording.export.failed': {
825
+ exportId: string;
826
+ error: string;
827
+ };
798
828
  'detection.event': {
799
829
  deviceId: number;
800
830
  detections?: unknown[];
@@ -119,6 +119,21 @@ export declare const DEFAULT_EVENTS_BAND_BUFFER_SEC: {
119
119
  readonly postBufferSec: 30;
120
120
  };
121
121
  export type DefaultEventsBandBufferSec = typeof DEFAULT_EVENTS_BAND_BUFFER_SEC;
122
+ /**
123
+ * Adjacent recorded ranges closer than this belong to the SAME videoclip visit.
124
+ *
125
+ * This is NOT the recorder calendar merge (`RANGE_MERGE_GAP_MS = 5s`). That
126
+ * threshold is for the timeline bar, which must show exact holes — including
127
+ * the ~8s GOP/keyframe rolls measured on events-mode cameras (dispensa 1438,
128
+ * 2026-08-16). A videoclip is the events-mode keep-window (writer session),
129
+ * whose idle bound is `postBufferSec`. Using that default (30s) glues those
130
+ * intra-visit holes without joining visits hours apart.
131
+ *
132
+ * Segments stay the source of truth on disk (`startMs-durMs-bytes.m4s`); a
133
+ * visit is derived, not a second copy of the files.
134
+ */
135
+ export declare const VISIT_MERGE_GAP_MS: number;
136
+ export type VisitMergeGapMs = typeof VISIT_MERGE_GAP_MS;
122
137
  /**
123
138
  * Per-device retention overrides. Every field is optional; an unset or `0`
124
139
  * value inherits the node-wide recorder default. Only footage-lifetime limits
@@ -1,4 +1,4 @@
1
- const require_event_category = require("./event-category-D3gG7oil.js");
1
+ const require_event_category = require("./event-category-DBHdQVIy.js");
2
2
  let zod = require("zod");
3
3
  //#region src/interfaces/config-ui.ts
4
4
  /** Predefined tabs with standard label, icon, and sort order.
@@ -3502,10 +3502,7 @@ function createDeviceProxy(api, binding, opts) {
3502
3502
  getDeviceLiveContribution: (input) => dispatchSystem("recording", "getDeviceLiveContribution", "query", input),
3503
3503
  applyDeviceSettingsPatch: (input) => dispatchSystem("recording", "applyDeviceSettingsPatch", "mutation", input)
3504
3504
  },
3505
- recordingExport: {
3506
- createExport: (input) => dispatchSystem("recordingExport", "createExport", "mutation", input),
3507
- listExports: (input) => dispatchSystem("recordingExport", "listExports", "query", input)
3508
- },
3505
+ recordingExport: { listExports: (input) => dispatchSystem("recordingExport", "listExports", "query", input) },
3509
3506
  streamBroker: {
3510
3507
  publishCameraStream: (input) => dispatchSystem("streamBroker", "publishCameraStream", "mutation", input),
3511
3508
  retractCameraStream: (input) => dispatchSystem("streamBroker", "retractCameraStream", "mutation", input),
@@ -1,4 +1,4 @@
1
- import { t as EventCategory } from "./event-category-Bxo5yJjt.mjs";
1
+ import { t as EventCategory } from "./event-category-C0lyLd5U.mjs";
2
2
  import { z } from "zod";
3
3
  //#region src/interfaces/config-ui.ts
4
4
  /** Predefined tabs with standard label, icon, and sort order.
@@ -3502,10 +3502,7 @@ function createDeviceProxy(api, binding, opts) {
3502
3502
  getDeviceLiveContribution: (input) => dispatchSystem("recording", "getDeviceLiveContribution", "query", input),
3503
3503
  applyDeviceSettingsPatch: (input) => dispatchSystem("recording", "applyDeviceSettingsPatch", "mutation", input)
3504
3504
  },
3505
- recordingExport: {
3506
- createExport: (input) => dispatchSystem("recordingExport", "createExport", "mutation", input),
3507
- listExports: (input) => dispatchSystem("recordingExport", "listExports", "query", input)
3508
- },
3505
+ recordingExport: { listExports: (input) => dispatchSystem("recordingExport", "listExports", "query", input) },
3509
3506
  streamBroker: {
3510
3507
  publishCameraStream: (input) => dispatchSystem("streamBroker", "publishCameraStream", "mutation", input),
3511
3508
  retractCameraStream: (input) => dispatchSystem("streamBroker", "retractCameraStream", "mutation", input),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.81",
3
+ "version": "1.2.83",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",