@camstack/addon-post-analysis 1.2.194 → 1.2.195

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.
@@ -8195,6 +8195,24 @@ var RecordingBandSchema = object({
8195
8195
  end: string().regex(HHMM),
8196
8196
  mode: RecordingBandModeSchema,
8197
8197
  triggers: RecordingBandTriggersSchema.optional(),
8198
+ /**
8199
+ * RETIRED (D381). A band no longer carries a pre-buffer of its own.
8200
+ *
8201
+ * It was the retroactive KEEP bound — which already-written segments survive
8202
+ * a trigger — and it had to be at least as wide as the widest pre-roll the
8203
+ * broker could serve, or the gate would delete the seconds the ring had just
8204
+ * handed the writer. That "at least as wide as" is the tell: it was a second
8205
+ * expression of the broker's retention, in different units, in a different
8206
+ * addon, with an invariant the operator had to maintain by hand. The keep
8207
+ * bound is now derived from the one prebuffer ceiling and there is nothing
8208
+ * left to configure here.
8209
+ *
8210
+ * The key survives in the SHAPE so a config written before that record still
8211
+ * parses and can be migrated deliberately — `RecordingBandSchema` is not
8212
+ * strict, so simply deleting it would strip an operator's value in silence on
8213
+ * the next save (the failure D380 came one commit from shipping). Nothing
8214
+ * reads it: {@link stripRetiredBandPreBufferSec} removes it on load.
8215
+ */
8198
8216
  preBufferSec: number().min(0).optional(),
8199
8217
  postBufferSec: number().min(0).optional()
8200
8218
  });
@@ -8211,10 +8229,7 @@ var RecordingBandSchema = object({
8211
8229
  * Segments stay the source of truth on disk (`startMs-durMs-bytes.m4s`); a
8212
8230
  * visit is derived, not a second copy of the files.
8213
8231
  */
8214
- var VISIT_MERGE_GAP_MS = {
8215
- preBufferSec: 15,
8216
- postBufferSec: 30
8217
- }.postBufferSec * 1e3;
8232
+ var VISIT_MERGE_GAP_MS = { postBufferSec: 30 }.postBufferSec * 1e3;
8218
8233
  /**
8219
8234
  * Per-device retention overrides. Every field is optional; an unset or `0`
8220
8235
  * value inherits the node-wide recorder default. Only footage-lifetime limits
@@ -8164,6 +8164,24 @@ var RecordingBandSchema = object({
8164
8164
  end: string().regex(HHMM),
8165
8165
  mode: RecordingBandModeSchema,
8166
8166
  triggers: RecordingBandTriggersSchema.optional(),
8167
+ /**
8168
+ * RETIRED (D381). A band no longer carries a pre-buffer of its own.
8169
+ *
8170
+ * It was the retroactive KEEP bound — which already-written segments survive
8171
+ * a trigger — and it had to be at least as wide as the widest pre-roll the
8172
+ * broker could serve, or the gate would delete the seconds the ring had just
8173
+ * handed the writer. That "at least as wide as" is the tell: it was a second
8174
+ * expression of the broker's retention, in different units, in a different
8175
+ * addon, with an invariant the operator had to maintain by hand. The keep
8176
+ * bound is now derived from the one prebuffer ceiling and there is nothing
8177
+ * left to configure here.
8178
+ *
8179
+ * The key survives in the SHAPE so a config written before that record still
8180
+ * parses and can be migrated deliberately — `RecordingBandSchema` is not
8181
+ * strict, so simply deleting it would strip an operator's value in silence on
8182
+ * the next save (the failure D380 came one commit from shipping). Nothing
8183
+ * reads it: {@link stripRetiredBandPreBufferSec} removes it on load.
8184
+ */
8167
8185
  preBufferSec: number().min(0).optional(),
8168
8186
  postBufferSec: number().min(0).optional()
8169
8187
  });
@@ -8180,10 +8198,7 @@ var RecordingBandSchema = object({
8180
8198
  * Segments stay the source of truth on disk (`startMs-durMs-bytes.m4s`); a
8181
8199
  * visit is derived, not a second copy of the files.
8182
8200
  */
8183
- var VISIT_MERGE_GAP_MS = {
8184
- preBufferSec: 15,
8185
- postBufferSec: 30
8186
- }.postBufferSec * 1e3;
8201
+ var VISIT_MERGE_GAP_MS = { postBufferSec: 30 }.postBufferSec * 1e3;
8187
8202
  /**
8188
8203
  * Per-device retention overrides. Every field is optional; an unset or `0`
8189
8204
  * value inherits the node-wide recorder default. Only footage-lifetime limits
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-DMnyp081.js");
5
+ const require_dist = require("../dist-C15zOWA2.js");
6
6
  let node_fs = require("node:fs");
7
7
  node_fs = require_dist.__toESM(node_fs);
8
8
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { At as BaseAddon, F as PoolMemoryWatchdog, St as resolvePoolMemoryPolicy, at as embeddingEncoderCapability, gt as parseProcStatus, ut as hfModelUrl } from "../dist-DLVNGF8I.mjs";
1
+ import { At as BaseAddon, F as PoolMemoryWatchdog, St as resolvePoolMemoryPolicy, at as embeddingEncoderCapability, gt as parseProcStatus, ut as hfModelUrl } from "../dist-DE64ld3c.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";
@@ -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.79",
6
+ version: "1.2.80",
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.159",
21
+ version: "1.2.160",
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.127",
36
+ version: "1.2.128",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_pipeline_analytics_widgets",
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.159",
39
+ version: "1.2.160",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -45,7 +45,7 @@ async function r() {
45
45
  }
46
46
  },
47
47
  "@camstack/sdk": {
48
- version: "1.2.79",
48
+ version: "1.2.80",
49
49
  scope: "default",
50
50
  shareConfig: {
51
51
  singleton: !0,
@@ -81,7 +81,7 @@ async function r() {
81
81
  }
82
82
  },
83
83
  "@camstack/ui-library": {
84
- version: "1.2.127",
84
+ version: "1.2.128",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-DMnyp081.js");
5
+ const require_dist = require("../dist-C15zOWA2.js");
6
6
  let node_fs = require("node:fs");
7
7
  node_fs = require_dist.__toESM(node_fs, 1);
8
8
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { $ as audioModeOf, A as NcSnoozeSchema, At as BaseAddon, B as SCENE_DEFAULT_UNCOVERED_POLICY, Bt as boolean, C as NcConditionDescriptorSchema, Ct as sceneMonitorCapability, D as NcRuleTargetSchema, Dt as videoclipsCapability, E as NcRuleSchema, Et as vectorDimFromBase64, Ft as isDeviceScopedCap, G as TimelapseRulePatchSchema, Gt as partialRecord, H as SceneMonitorSchema, Ht as literal, I as RECORDING_EXPORT_MAX_READ_BYTES, It as nodePin, J as VISIT_MERGE_GAP_MS, Jt as unknown, K as TimelapseRuleSchema, Kt as record, L as RetrainStatusSchema, Lt as sleep$1, M as NcSystemEventKindSchema, Mt as DeviceType, N as NcTaxonomySchema, Nt as createEvent, O as NcScheduleSchema, Ot as zoneAnalyticsCapability, P as OpsLogEntrySchema, Pt as hydrateSchema, Q as audioMetricsCapability, Rt as _enum, S as NC_TAXONOMY, T as NcRulePatchSchema, Tt as systemEventFilterApplies, U as TIMELAPSE_DENSE_FLOOR_SEC, Ut as number, V as SCENE_DIVERGED, Vt as discriminatedUnion, W as TimelapseRuleInputSchema, Wt as object, X as alarmPanelCapability, Y as addonWidgetsSourceCapability, Yt as EventCategory, Z as assertTimelapseCadences, _ as MediaFileKindEnum, _t as pickClusterStepModels, a as DEFAULT_EVENT_COLOR, b as NC_DEFAULT_SNOOZE_MINUTES, bt as readDeviceStateFrom, c as DETECTION_MACRO_CLASSES, ct as faceGalleryCapability, d as EVENT_KIND_BY_CAP, dt as isDetectionMacroClass, et as buildEventKindDescriptor, f as EVENT_PAD_MS, ft as isScheduleActive, g as MACRO_LABELS, h as LabelAttributionSchema, ht as notificationRulesCapability, i as COCO_TO_MACRO, it as deriveRecordingMode, j as NcSnoozeSuppressedSchema, jt as CamProfileSchema, k as NcSnoozeInputSchema, kt as errMsg$1, lt as failureContributionCapability, m as FailureCounters, mt as kebabToCamel, n as BaseDevice, nt as customAction, ot as encodeVectorBase64, p as FULL_IMAGE_BBOX, pt as isSourceCap, q as TrackSourceSchema, qt as string, r as CLUSTER_MODEL_SCOPED_STEPS, rt as defineCustomActions, st as evaluateSensorEdge, t as AUDIO_MACRO_LABELS, tt as cosineSimilarity$1, u as DeclaredDevices, v as NC_ALARM_SYSTEM_EVENT_KINDS, vt as pipelineAnalyticsCapability, w as NcRuleInputSchema, wt as subKindsOf, xt as readTimelapseGeneratedAt, y as NC_CONDITION_CATALOG, yt as plateGalleryCapability, z as SCENE_DEFAULT_ANCHOR_THRESHOLD, zt as array } from "../dist-DLVNGF8I.mjs";
1
+ import { $ as audioModeOf, A as NcSnoozeSchema, At as BaseAddon, B as SCENE_DEFAULT_UNCOVERED_POLICY, Bt as boolean, C as NcConditionDescriptorSchema, Ct as sceneMonitorCapability, D as NcRuleTargetSchema, Dt as videoclipsCapability, E as NcRuleSchema, Et as vectorDimFromBase64, Ft as isDeviceScopedCap, G as TimelapseRulePatchSchema, Gt as partialRecord, H as SceneMonitorSchema, Ht as literal, I as RECORDING_EXPORT_MAX_READ_BYTES, It as nodePin, J as VISIT_MERGE_GAP_MS, Jt as unknown, K as TimelapseRuleSchema, Kt as record, L as RetrainStatusSchema, Lt as sleep$1, M as NcSystemEventKindSchema, Mt as DeviceType, N as NcTaxonomySchema, Nt as createEvent, O as NcScheduleSchema, Ot as zoneAnalyticsCapability, P as OpsLogEntrySchema, Pt as hydrateSchema, Q as audioMetricsCapability, Rt as _enum, S as NC_TAXONOMY, T as NcRulePatchSchema, Tt as systemEventFilterApplies, U as TIMELAPSE_DENSE_FLOOR_SEC, Ut as number, V as SCENE_DIVERGED, Vt as discriminatedUnion, W as TimelapseRuleInputSchema, Wt as object, X as alarmPanelCapability, Y as addonWidgetsSourceCapability, Yt as EventCategory, Z as assertTimelapseCadences, _ as MediaFileKindEnum, _t as pickClusterStepModels, a as DEFAULT_EVENT_COLOR, b as NC_DEFAULT_SNOOZE_MINUTES, bt as readDeviceStateFrom, c as DETECTION_MACRO_CLASSES, ct as faceGalleryCapability, d as EVENT_KIND_BY_CAP, dt as isDetectionMacroClass, et as buildEventKindDescriptor, f as EVENT_PAD_MS, ft as isScheduleActive, g as MACRO_LABELS, h as LabelAttributionSchema, ht as notificationRulesCapability, i as COCO_TO_MACRO, it as deriveRecordingMode, j as NcSnoozeSuppressedSchema, jt as CamProfileSchema, k as NcSnoozeInputSchema, kt as errMsg$1, lt as failureContributionCapability, m as FailureCounters, mt as kebabToCamel, n as BaseDevice, nt as customAction, ot as encodeVectorBase64, p as FULL_IMAGE_BBOX, pt as isSourceCap, q as TrackSourceSchema, qt as string, r as CLUSTER_MODEL_SCOPED_STEPS, rt as defineCustomActions, st as evaluateSensorEdge, t as AUDIO_MACRO_LABELS, tt as cosineSimilarity$1, u as DeclaredDevices, v as NC_ALARM_SYSTEM_EVENT_KINDS, vt as pipelineAnalyticsCapability, w as NcRuleInputSchema, wt as subKindsOf, xt as readTimelapseGeneratedAt, y as NC_CONDITION_CATALOG, yt as plateGalleryCapability, z as SCENE_DEFAULT_ANCHOR_THRESHOLD, zt as array } from "../dist-DE64ld3c.mjs";
2
2
  import { t as __exportAll } from "../embedding-encoder/index.mjs";
3
3
  import * as fs from "node:fs";
4
4
  import { promises } from "node:fs";
@@ -30,7 +30,7 @@ async function d(e) {
30
30
  }
31
31
  }
32
32
  async function f() {
33
- return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-DAc8SUDf.mjs")).catch((e) => {
33
+ return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-if_wK4QI.mjs")).catch((e) => {
34
34
  throw l = void 0, e;
35
35
  }), l;
36
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-post-analysis",
3
- "version": "1.2.194",
3
+ "version": "1.2.195",
4
4
  "description": "Post-Analysis bundle — enrichment, embedding-encoder, pipeline-analytics. Multi-entry npm package shipping addons that consume pipeline output.",
5
5
  "keywords": [
6
6
  "camstack",