@camstack/addon-pipeline 1.2.88 → 1.2.90
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.
- package/dist/{addon-utils-B8tPjc8F.js → addon-utils-yc-chXuC.js} +1 -1
- package/dist/audio-analyzer/index.js +2 -2
- package/dist/audio-analyzer/index.mjs +1 -1
- package/dist/detection-pipeline/index.js +4 -4
- package/dist/detection-pipeline/index.mjs +2 -2
- package/dist/{dist-DCnOL8bz.mjs → dist-BJYwWEZ9.mjs} +54 -11
- package/dist/{dist-CMHxEH6s.js → dist-n4Nbnxx5.js} +54 -11
- package/dist/{event-loop-stall-monitor-BLJ0S3w2.mjs → event-loop-stall-monitor-BiPffk0D.mjs} +1 -1
- package/dist/{event-loop-stall-monitor-asYJVMb1.js → event-loop-stall-monitor-DG7QY00k.js} +1 -1
- package/dist/{lazy-sharp-1s0ymn1V.js → lazy-sharp-EoSOHgoj.js} +1 -1
- package/dist/motion-wasm/index.js +2 -2
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/pipeline-runner/index.js +4 -4
- package/dist/pipeline-runner/index.mjs +3 -3
- package/dist/recorder/index.js +735 -67
- package/dist/recorder/index.mjs +734 -66
- package/dist/session-decode/decode-worker-child.js +2 -2
- package/dist/session-decode/decode-worker-child.mjs +1 -1
- package/dist/stream-broker/_stub.js +1 -1
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-BeSS5V2H.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-CsrMZYLB.mjs} +1 -1
- package/dist/stream-broker/{_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-B2scqOH7.mjs → _virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DNSELPGi.mjs} +1 -1
- package/dist/stream-broker/{hostInit-BC9QIyzJ.mjs → hostInit-DoFovQmc.mjs} +1 -1
- package/dist/stream-broker/index.js +3 -2
- package/dist/stream-broker/index.mjs +3 -2
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/dist/{worker-protocol-BzvA7rx4.js → worker-protocol-DjuxhGo3.js} +1 -1
- package/dist/{worker-protocol-CBTyzyds.mjs → worker-protocol-XZ1e36rM.mjs} +1 -1
- package/package.json +1 -1
|
@@ -2,9 +2,9 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
5
|
+
const require_dist = require("../dist-n4Nbnxx5.js");
|
|
6
6
|
const require_node_topology_platform = require("../node-topology-platform-CFZ7F4xW.js");
|
|
7
|
-
const require_addon_utils = require("../addon-utils-
|
|
7
|
+
const require_addon_utils = require("../addon-utils-yc-chXuC.js");
|
|
8
8
|
let node_path = require("node:path");
|
|
9
9
|
node_path = require_dist.__toESM(node_path);
|
|
10
10
|
let node_fs = require("node:fs");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __require } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { D as audioAnalyzerCapability, E as audioAnalysisCapability, U as mapAudioLabelToMacro, h as HF_BASE_URL, ht as hydrateSchema, it as errMsg, n as AUDIO_BACKEND_CHOICES, s as DEFAULT_AUDIO_ANALYZER_CONFIG, ut as BaseAddon } from "../dist-
|
|
2
|
+
import { D as audioAnalyzerCapability, E as audioAnalysisCapability, U as mapAudioLabelToMacro, h as HF_BASE_URL, ht as hydrateSchema, it as errMsg, n as AUDIO_BACKEND_CHOICES, s as DEFAULT_AUDIO_ANALYZER_CONFIG, ut as BaseAddon } from "../dist-BJYwWEZ9.mjs";
|
|
3
3
|
import { t as pickNodePlatformArch } from "../node-topology-platform-BkR_k6WT.mjs";
|
|
4
4
|
import { i as downloadFile } from "../addon-utils-A2S9D7pu.mjs";
|
|
5
5
|
import * as path$1 from "node:path";
|
|
@@ -2,11 +2,11 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
6
|
-
const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-
|
|
7
|
-
const require_lazy_sharp = require("../lazy-sharp-
|
|
5
|
+
const require_dist = require("../dist-n4Nbnxx5.js");
|
|
6
|
+
const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-DG7QY00k.js");
|
|
7
|
+
const require_lazy_sharp = require("../lazy-sharp-EoSOHgoj.js");
|
|
8
8
|
const require_node_topology_platform = require("../node-topology-platform-CFZ7F4xW.js");
|
|
9
|
-
const require_addon_utils = require("../addon-utils-
|
|
9
|
+
const require_addon_utils = require("../addon-utils-yc-chXuC.js");
|
|
10
10
|
let sharp = require("sharp");
|
|
11
11
|
sharp = require_dist.__toESM(sharp);
|
|
12
12
|
let node_child_process = require("node:child_process");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __require } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { $ as runtimeDevices$1, B as enumerateInferenceDevices, Ct as sleep, Ft as EventCategory, J as pipelineExecutorCapability, L as detectionPipelineCapability, M as defaultDeviceFor$1, Nt as string, Pt as union, Tt as array, V as evaluateZoneRules, bt as parseJsonUnknown, d as DEVICE_BACKEND_TO_FORMAT, ht as hydrateSchema, it as errMsg, jt as object, mt as createEvent, nt as supportedRuntimes$1, t as APPLE_SA_TO_MACRO, ut as BaseAddon, w as YAMNET_TO_MACRO, yt as nodePin } from "../dist-
|
|
3
|
-
import { a as getDefaultModelForFormat, c as getStepDefinition, i as ALL_STEPS, l as resolveModelForFormat, n as startEventLoopStallMonitor, o as getDefaultModelForFormatFromDef, r as ALL_PIPELINE_STEPS, s as getStep } from "../event-loop-stall-monitor-
|
|
2
|
+
import { $ as runtimeDevices$1, B as enumerateInferenceDevices, Ct as sleep, Ft as EventCategory, J as pipelineExecutorCapability, L as detectionPipelineCapability, M as defaultDeviceFor$1, Nt as string, Pt as union, Tt as array, V as evaluateZoneRules, bt as parseJsonUnknown, d as DEVICE_BACKEND_TO_FORMAT, ht as hydrateSchema, it as errMsg, jt as object, mt as createEvent, nt as supportedRuntimes$1, t as APPLE_SA_TO_MACRO, ut as BaseAddon, w as YAMNET_TO_MACRO, yt as nodePin } from "../dist-BJYwWEZ9.mjs";
|
|
3
|
+
import { a as getDefaultModelForFormat, c as getStepDefinition, i as ALL_STEPS, l as resolveModelForFormat, n as startEventLoopStallMonitor, o as getDefaultModelForFormatFromDef, r as ALL_PIPELINE_STEPS, s as getStep } from "../event-loop-stall-monitor-BiPffk0D.mjs";
|
|
4
4
|
import { t as getSharp } from "../lazy-sharp-6oymT_yf.mjs";
|
|
5
5
|
import { t as pickNodePlatformArch } from "../node-topology-platform-BkR_k6WT.mjs";
|
|
6
6
|
import { a as ensureModel, o as isModelDownloaded, r as deleteModelFromDisk } from "../addon-utils-A2S9D7pu.mjs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
//#region ../types/dist/event-category-
|
|
2
|
+
//#region ../types/dist/event-category-C0lyLd5U.mjs
|
|
3
3
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4
4
|
EventCategory["SystemBoot"] = "system.boot";
|
|
5
5
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -16,9 +16,10 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
16
16
|
EventCategory["SystemRestartCompleted"] = "system.restart-completed";
|
|
17
17
|
/**
|
|
18
18
|
* A newer addon or server-root package version was found by the
|
|
19
|
-
* authoritative registry check. Emitted once
|
|
20
|
-
* `(
|
|
21
|
-
*
|
|
19
|
+
* authoritative registry check. Emitted once when any observed
|
|
20
|
+
* `latestVersion` changes (or a package/node first appears behind);
|
|
21
|
+
* the payload carries the full currently-available list. Repeated
|
|
22
|
+
* polling of the same latests is silent.
|
|
22
23
|
*/
|
|
23
24
|
EventCategory["UpdateAvailable"] = "update.available";
|
|
24
25
|
/**
|
|
@@ -8536,6 +8537,7 @@ var DEFAULT_EVENTS_BAND_BUFFER_SEC = {
|
|
|
8536
8537
|
preBufferSec: 10,
|
|
8537
8538
|
postBufferSec: 30
|
|
8538
8539
|
};
|
|
8540
|
+
DEFAULT_EVENTS_BAND_BUFFER_SEC.postBufferSec * 1e3;
|
|
8539
8541
|
/**
|
|
8540
8542
|
* Per-device retention overrides. Every field is optional; an unset or `0`
|
|
8541
8543
|
* value inherits the node-wide recorder default. Only footage-lifetime limits
|
|
@@ -16042,6 +16044,9 @@ var NcSystemEventKindSchema = _enum([
|
|
|
16042
16044
|
"alarm-disarmed",
|
|
16043
16045
|
"alarm-arming",
|
|
16044
16046
|
"alarm-arm-refused",
|
|
16047
|
+
"addon-updated",
|
|
16048
|
+
"server-updated",
|
|
16049
|
+
"export-completed",
|
|
16045
16050
|
"camera-online",
|
|
16046
16051
|
"camera-offline",
|
|
16047
16052
|
"camera-disabled",
|
|
@@ -17935,13 +17940,19 @@ var RetrainStatusSchema = _enum([
|
|
|
17935
17940
|
* "never marked" from "already trained" must read `retrainStatus`.
|
|
17936
17941
|
*
|
|
17937
17942
|
* `debug` does NOT pin; it is attention, not durability.
|
|
17943
|
+
*
|
|
17944
|
+
* `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
|
|
17945
|
+
* A favourited track is skipped by retention the same way `staging` is, but
|
|
17946
|
+
* it does not enter `none|staging|trained` and has no staging budget.
|
|
17938
17947
|
*/
|
|
17939
17948
|
var TrackFlagFields = {
|
|
17940
17949
|
/** Operator marked this track as training material — i.e. `retrainStatus` is
|
|
17941
17950
|
* `'staging'`. */
|
|
17942
17951
|
markForTrain: boolean().optional(),
|
|
17943
17952
|
/** Operator marked this track for diagnostic attention. */
|
|
17944
|
-
debug: boolean().optional()
|
|
17953
|
+
debug: boolean().optional(),
|
|
17954
|
+
/** Operator favourited this track. Pins it against pruning. */
|
|
17955
|
+
favourited: boolean().optional()
|
|
17945
17956
|
};
|
|
17946
17957
|
/**
|
|
17947
17958
|
* The lifecycle field itself, on the READ surfaces only (`Track`, `KeyEvent`).
|
|
@@ -17966,6 +17977,7 @@ var TrackFlagsSchema = object({
|
|
|
17966
17977
|
trackId: string(),
|
|
17967
17978
|
markForTrain: boolean(),
|
|
17968
17979
|
debug: boolean(),
|
|
17980
|
+
favourited: boolean(),
|
|
17969
17981
|
/** The lifecycle state the boolean was derived from. Required here (unlike on
|
|
17970
17982
|
* a track row) because this shape is only ever produced by the write body,
|
|
17971
17983
|
* which always knows it — and a surface that has just written needs to render
|
|
@@ -21927,8 +21939,28 @@ var ClipSchema = object({
|
|
|
21927
21939
|
startMs: number(),
|
|
21928
21940
|
endMs: number()
|
|
21929
21941
|
}),
|
|
21930
|
-
/**
|
|
21931
|
-
thumbnail
|
|
21942
|
+
/**
|
|
21943
|
+
* Lazy thumbnail URL, never inlined.
|
|
21944
|
+
*
|
|
21945
|
+
* Recording-derived clips (events-mode keep-window, and the prepared
|
|
21946
|
+
* continuous event+fragment visit) MUST use the snapshot of the **main
|
|
21947
|
+
* event of the interval** — `getEventMedia({ eventId, kind: 'snapshot' })`
|
|
21948
|
+
* of the event that owns `kind` (object > motion > audio). Do not extract
|
|
21949
|
+
* a keyframe from the recorded segments. Other providers (onboard, HKSV)
|
|
21950
|
+
* mint their own stills.
|
|
21951
|
+
*/
|
|
21952
|
+
thumbnail: string().optional(),
|
|
21953
|
+
/** Analytics event ids that overlap this visit. Empty on footage-only clips.
|
|
21954
|
+
* The default provider's visit grain puts many motion heartbeats on one clip
|
|
21955
|
+
* instead of minting one clip per marker. */
|
|
21956
|
+
eventIds: array(string()).optional(),
|
|
21957
|
+
/** Intra-visit footage holes (GOP rolls, discarded segments) still shorter
|
|
21958
|
+
* than `VISIT_MERGE_GAP_MS`. Playback concatenates around them; the timeline
|
|
21959
|
+
* bar keeps showing them via `recording.getAvailability`. */
|
|
21960
|
+
holes: array(object({
|
|
21961
|
+
startMs: number(),
|
|
21962
|
+
endMs: number()
|
|
21963
|
+
})).optional()
|
|
21932
21964
|
});
|
|
21933
21965
|
var ClipPlaybackSchema = object({
|
|
21934
21966
|
/** HLS master URL through the hub data-plane (Range + token in path). */
|
|
@@ -26771,7 +26803,9 @@ var ExportOptionsSchema = object({
|
|
|
26771
26803
|
includeAudio: boolean(),
|
|
26772
26804
|
maxLifeMs: number().int().positive(),
|
|
26773
26805
|
deleteAfterDownload: boolean(),
|
|
26774
|
-
title: string().max(200).optional()
|
|
26806
|
+
title: string().max(200).optional(),
|
|
26807
|
+
/** Notification-output target ids to ping when this export becomes ready. */
|
|
26808
|
+
notifyTargetIds: array(string().min(1)).max(20).optional()
|
|
26775
26809
|
}).superRefine((v, ctx) => {
|
|
26776
26810
|
if (v.speed !== void 0 && v.timelapse !== void 0) ctx.addIssue({
|
|
26777
26811
|
code: ZodIssueCode.custom,
|
|
@@ -26852,14 +26886,23 @@ var recordingExportCapability = {
|
|
|
26852
26886
|
scope: "system",
|
|
26853
26887
|
mode: "singleton",
|
|
26854
26888
|
methods: {
|
|
26855
|
-
/** Queue a render of `[fromMs,toMs)` for `deviceId`/`
|
|
26856
|
-
*
|
|
26889
|
+
/** Queue a render of `[fromMs,toMs)` for `deviceId`/`profiles` (legacy
|
|
26890
|
+
* singular `profile` still accepted). Fails fast when no footage covers
|
|
26891
|
+
* the range. One job per profile; returns the first queued record. */
|
|
26857
26892
|
createExport: method(object({
|
|
26858
26893
|
deviceId: number(),
|
|
26859
|
-
|
|
26894
|
+
/** @deprecated Prefer `profiles`. Kept so timelapse/notifiers keep working. */
|
|
26895
|
+
profile: string().optional(),
|
|
26896
|
+
profiles: array(string()).min(1).optional(),
|
|
26860
26897
|
fromMs: number(),
|
|
26861
26898
|
toMs: number(),
|
|
26862
26899
|
options: ExportOptionsSchema
|
|
26900
|
+
}).superRefine((v, ctx) => {
|
|
26901
|
+
if ((v.profiles !== void 0 && v.profiles.length > 0 ? v.profiles : v.profile !== void 0 ? [v.profile] : []).length < 1) ctx.addIssue({
|
|
26902
|
+
code: ZodIssueCode.custom,
|
|
26903
|
+
message: "pass profiles[] (min 1) or legacy profile",
|
|
26904
|
+
path: ["profiles"]
|
|
26905
|
+
});
|
|
26863
26906
|
}), ExportRecordSchema, {
|
|
26864
26907
|
kind: "mutation",
|
|
26865
26908
|
auth: "protected"
|
|
@@ -22,7 +22,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
22
22
|
}) : target, mod));
|
|
23
23
|
//#endregion
|
|
24
24
|
let node_crypto = require("node:crypto");
|
|
25
|
-
//#region ../types/dist/event-category-
|
|
25
|
+
//#region ../types/dist/event-category-C0lyLd5U.mjs
|
|
26
26
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
27
27
|
EventCategory["SystemBoot"] = "system.boot";
|
|
28
28
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -39,9 +39,10 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
39
39
|
EventCategory["SystemRestartCompleted"] = "system.restart-completed";
|
|
40
40
|
/**
|
|
41
41
|
* A newer addon or server-root package version was found by the
|
|
42
|
-
* authoritative registry check. Emitted once
|
|
43
|
-
* `(
|
|
44
|
-
*
|
|
42
|
+
* authoritative registry check. Emitted once when any observed
|
|
43
|
+
* `latestVersion` changes (or a package/node first appears behind);
|
|
44
|
+
* the payload carries the full currently-available list. Repeated
|
|
45
|
+
* polling of the same latests is silent.
|
|
45
46
|
*/
|
|
46
47
|
EventCategory["UpdateAvailable"] = "update.available";
|
|
47
48
|
/**
|
|
@@ -8559,6 +8560,7 @@ var DEFAULT_EVENTS_BAND_BUFFER_SEC = {
|
|
|
8559
8560
|
preBufferSec: 10,
|
|
8560
8561
|
postBufferSec: 30
|
|
8561
8562
|
};
|
|
8563
|
+
DEFAULT_EVENTS_BAND_BUFFER_SEC.postBufferSec * 1e3;
|
|
8562
8564
|
/**
|
|
8563
8565
|
* Per-device retention overrides. Every field is optional; an unset or `0`
|
|
8564
8566
|
* value inherits the node-wide recorder default. Only footage-lifetime limits
|
|
@@ -16065,6 +16067,9 @@ var NcSystemEventKindSchema = _enum([
|
|
|
16065
16067
|
"alarm-disarmed",
|
|
16066
16068
|
"alarm-arming",
|
|
16067
16069
|
"alarm-arm-refused",
|
|
16070
|
+
"addon-updated",
|
|
16071
|
+
"server-updated",
|
|
16072
|
+
"export-completed",
|
|
16068
16073
|
"camera-online",
|
|
16069
16074
|
"camera-offline",
|
|
16070
16075
|
"camera-disabled",
|
|
@@ -17958,13 +17963,19 @@ var RetrainStatusSchema = _enum([
|
|
|
17958
17963
|
* "never marked" from "already trained" must read `retrainStatus`.
|
|
17959
17964
|
*
|
|
17960
17965
|
* `debug` does NOT pin; it is attention, not durability.
|
|
17966
|
+
*
|
|
17967
|
+
* `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
|
|
17968
|
+
* A favourited track is skipped by retention the same way `staging` is, but
|
|
17969
|
+
* it does not enter `none|staging|trained` and has no staging budget.
|
|
17961
17970
|
*/
|
|
17962
17971
|
var TrackFlagFields = {
|
|
17963
17972
|
/** Operator marked this track as training material — i.e. `retrainStatus` is
|
|
17964
17973
|
* `'staging'`. */
|
|
17965
17974
|
markForTrain: boolean().optional(),
|
|
17966
17975
|
/** Operator marked this track for diagnostic attention. */
|
|
17967
|
-
debug: boolean().optional()
|
|
17976
|
+
debug: boolean().optional(),
|
|
17977
|
+
/** Operator favourited this track. Pins it against pruning. */
|
|
17978
|
+
favourited: boolean().optional()
|
|
17968
17979
|
};
|
|
17969
17980
|
/**
|
|
17970
17981
|
* The lifecycle field itself, on the READ surfaces only (`Track`, `KeyEvent`).
|
|
@@ -17989,6 +18000,7 @@ var TrackFlagsSchema = object({
|
|
|
17989
18000
|
trackId: string(),
|
|
17990
18001
|
markForTrain: boolean(),
|
|
17991
18002
|
debug: boolean(),
|
|
18003
|
+
favourited: boolean(),
|
|
17992
18004
|
/** The lifecycle state the boolean was derived from. Required here (unlike on
|
|
17993
18005
|
* a track row) because this shape is only ever produced by the write body,
|
|
17994
18006
|
* which always knows it — and a surface that has just written needs to render
|
|
@@ -21950,8 +21962,28 @@ var ClipSchema = object({
|
|
|
21950
21962
|
startMs: number(),
|
|
21951
21963
|
endMs: number()
|
|
21952
21964
|
}),
|
|
21953
|
-
/**
|
|
21954
|
-
thumbnail
|
|
21965
|
+
/**
|
|
21966
|
+
* Lazy thumbnail URL, never inlined.
|
|
21967
|
+
*
|
|
21968
|
+
* Recording-derived clips (events-mode keep-window, and the prepared
|
|
21969
|
+
* continuous event+fragment visit) MUST use the snapshot of the **main
|
|
21970
|
+
* event of the interval** — `getEventMedia({ eventId, kind: 'snapshot' })`
|
|
21971
|
+
* of the event that owns `kind` (object > motion > audio). Do not extract
|
|
21972
|
+
* a keyframe from the recorded segments. Other providers (onboard, HKSV)
|
|
21973
|
+
* mint their own stills.
|
|
21974
|
+
*/
|
|
21975
|
+
thumbnail: string().optional(),
|
|
21976
|
+
/** Analytics event ids that overlap this visit. Empty on footage-only clips.
|
|
21977
|
+
* The default provider's visit grain puts many motion heartbeats on one clip
|
|
21978
|
+
* instead of minting one clip per marker. */
|
|
21979
|
+
eventIds: array(string()).optional(),
|
|
21980
|
+
/** Intra-visit footage holes (GOP rolls, discarded segments) still shorter
|
|
21981
|
+
* than `VISIT_MERGE_GAP_MS`. Playback concatenates around them; the timeline
|
|
21982
|
+
* bar keeps showing them via `recording.getAvailability`. */
|
|
21983
|
+
holes: array(object({
|
|
21984
|
+
startMs: number(),
|
|
21985
|
+
endMs: number()
|
|
21986
|
+
})).optional()
|
|
21955
21987
|
});
|
|
21956
21988
|
var ClipPlaybackSchema = object({
|
|
21957
21989
|
/** HLS master URL through the hub data-plane (Range + token in path). */
|
|
@@ -26794,7 +26826,9 @@ var ExportOptionsSchema = object({
|
|
|
26794
26826
|
includeAudio: boolean(),
|
|
26795
26827
|
maxLifeMs: number().int().positive(),
|
|
26796
26828
|
deleteAfterDownload: boolean(),
|
|
26797
|
-
title: string().max(200).optional()
|
|
26829
|
+
title: string().max(200).optional(),
|
|
26830
|
+
/** Notification-output target ids to ping when this export becomes ready. */
|
|
26831
|
+
notifyTargetIds: array(string().min(1)).max(20).optional()
|
|
26798
26832
|
}).superRefine((v, ctx) => {
|
|
26799
26833
|
if (v.speed !== void 0 && v.timelapse !== void 0) ctx.addIssue({
|
|
26800
26834
|
code: ZodIssueCode.custom,
|
|
@@ -26875,14 +26909,23 @@ var recordingExportCapability = {
|
|
|
26875
26909
|
scope: "system",
|
|
26876
26910
|
mode: "singleton",
|
|
26877
26911
|
methods: {
|
|
26878
|
-
/** Queue a render of `[fromMs,toMs)` for `deviceId`/`
|
|
26879
|
-
*
|
|
26912
|
+
/** Queue a render of `[fromMs,toMs)` for `deviceId`/`profiles` (legacy
|
|
26913
|
+
* singular `profile` still accepted). Fails fast when no footage covers
|
|
26914
|
+
* the range. One job per profile; returns the first queued record. */
|
|
26880
26915
|
createExport: method(object({
|
|
26881
26916
|
deviceId: number(),
|
|
26882
|
-
|
|
26917
|
+
/** @deprecated Prefer `profiles`. Kept so timelapse/notifiers keep working. */
|
|
26918
|
+
profile: string().optional(),
|
|
26919
|
+
profiles: array(string()).min(1).optional(),
|
|
26883
26920
|
fromMs: number(),
|
|
26884
26921
|
toMs: number(),
|
|
26885
26922
|
options: ExportOptionsSchema
|
|
26923
|
+
}).superRefine((v, ctx) => {
|
|
26924
|
+
if ((v.profiles !== void 0 && v.profiles.length > 0 ? v.profiles : v.profile !== void 0 ? [v.profile] : []).length < 1) ctx.addIssue({
|
|
26925
|
+
code: ZodIssueCode.custom,
|
|
26926
|
+
message: "pass profiles[] (min 1) or legacy profile",
|
|
26927
|
+
path: ["profiles"]
|
|
26928
|
+
});
|
|
26886
26929
|
}), ExportRecordSchema, {
|
|
26887
26930
|
kind: "mutation",
|
|
26888
26931
|
auth: "protected"
|
package/dist/{event-loop-stall-monitor-BLJ0S3w2.mjs → event-loop-stall-monitor-BiPffk0D.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { H as hfModelUrl, a as COCO_80_LABELS, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-
|
|
1
|
+
import { H as hfModelUrl, a as COCO_80_LABELS, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-BJYwWEZ9.mjs";
|
|
2
2
|
import { PerformanceObserver } from "node:perf_hooks";
|
|
3
3
|
//#region src/detection-pipeline/registry/model-catalogs.ts
|
|
4
4
|
var HF_REPO = "camstack/camstack-models";
|
|
@@ -2,8 +2,8 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
6
|
-
const require_lazy_sharp = require("../lazy-sharp-
|
|
5
|
+
const require_dist = require("../dist-n4Nbnxx5.js");
|
|
6
|
+
const require_lazy_sharp = require("../lazy-sharp-EoSOHgoj.js");
|
|
7
7
|
let node_path = require("node:path");
|
|
8
8
|
let node_fs = require("node:fs");
|
|
9
9
|
//#region src/motion-wasm/wasm-motion-detector.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { G as motionDetectionCapability, V as evaluateZoneRules, ht as hydrateSchema, pt as DeviceType, ut as BaseAddon } from "../dist-
|
|
1
|
+
import { G as motionDetectionCapability, V as evaluateZoneRules, ht as hydrateSchema, pt as DeviceType, ut as BaseAddon } from "../dist-BJYwWEZ9.mjs";
|
|
2
2
|
import { t as getSharp } from "../lazy-sharp-6oymT_yf.mjs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { readFileSync } from "node:fs";
|
|
@@ -2,11 +2,11 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
6
|
-
const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-
|
|
7
|
-
const require_worker_protocol = require("../worker-protocol-
|
|
5
|
+
const require_dist = require("../dist-n4Nbnxx5.js");
|
|
6
|
+
const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-DG7QY00k.js");
|
|
7
|
+
const require_worker_protocol = require("../worker-protocol-DjuxhGo3.js");
|
|
8
8
|
const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
|
|
9
|
-
const require_lazy_sharp = require("../lazy-sharp-
|
|
9
|
+
const require_lazy_sharp = require("../lazy-sharp-EoSOHgoj.js");
|
|
10
10
|
const require_remote_restream = require("../remote-restream-BYbAsgUf.js");
|
|
11
11
|
let sharp = require("sharp");
|
|
12
12
|
sharp = require_dist.__toESM(sharp);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { At as number, Et as boolean, F as deriveDetailCropRect, Ft as EventCategory, K as pickDetailCropConvention, N as defineCustomActions, Nt as string, Ot as lazy, Tt as array, Y as pipelineRunnerCapability, c as DEFAULT_DETAIL_CROP_CONVENTION, d as DEVICE_BACKEND_TO_FORMAT, it as errMsg, j as customAction, jt as object, kt as literal, mt as createEvent, q as pickNativeLeaseOverride, ut as BaseAddon, wt as _enum, yt as nodePin } from "../dist-
|
|
2
|
-
import { c as getStepDefinition, t as attributeStall } from "../event-loop-stall-monitor-
|
|
3
|
-
import { a as nativeLeaseSettingEnv, t as isWorkerReply } from "../worker-protocol-
|
|
1
|
+
import { At as number, Et as boolean, F as deriveDetailCropRect, Ft as EventCategory, K as pickDetailCropConvention, N as defineCustomActions, Nt as string, Ot as lazy, Tt as array, Y as pipelineRunnerCapability, c as DEFAULT_DETAIL_CROP_CONVENTION, d as DEVICE_BACKEND_TO_FORMAT, it as errMsg, j as customAction, jt as object, kt as literal, mt as createEvent, q as pickNativeLeaseOverride, ut as BaseAddon, wt as _enum, yt as nodePin } from "../dist-BJYwWEZ9.mjs";
|
|
2
|
+
import { c as getStepDefinition, t as attributeStall } from "../event-loop-stall-monitor-BiPffk0D.mjs";
|
|
3
|
+
import { a as nativeLeaseSettingEnv, t as isWorkerReply } from "../worker-protocol-XZ1e36rM.mjs";
|
|
4
4
|
import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
|
|
5
5
|
import { t as getSharp } from "../lazy-sharp-6oymT_yf.mjs";
|
|
6
6
|
import { i as withDetectionIntent, n as profileForStreamId, t as isRemoteRestream } from "../remote-restream-Ci7RXNGb.mjs";
|