@camstack/addon-pipeline 1.1.59 → 1.1.61
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/audio-analyzer/index.js +2 -2
- package/dist/audio-analyzer/index.mjs +2 -2
- package/dist/detection-pipeline/index.js +42 -4
- package/dist/detection-pipeline/index.mjs +42 -4
- package/dist/{dist-DKeNH_5z.mjs → dist-D16_dBsr.mjs} +281 -7
- package/dist/{dist-B1u-QN05.js → dist-p_JqOxtk.js} +298 -6
- package/dist/{model-download-service-Cp9f4dk6-0wh7OK3s.mjs → model-download-service-Cp9f4dk6-CwUb5v3Y.mjs} +1 -1
- package/dist/{model-download-service-Cp9f4dk6-Cp_GTKTw.js → model-download-service-Cp9f4dk6-Dv-oFwjN.js} +12 -0
- package/dist/motion-wasm/index.js +1 -1
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/pipeline-runner/index.js +4 -4
- package/dist/pipeline-runner/index.mjs +4 -4
- package/dist/recorder/index.js +685 -30
- package/dist/recorder/index.mjs +686 -31
- package/dist/{sheet-geometry-BN80zpCa.js → sheet-geometry-BR-ip0CP.js} +2 -2
- package/dist/{sheet-geometry-Bk3fR4s7.mjs → sheet-geometry-DcpuGTCm.mjs} +2 -2
- package/dist/{step-definitions-CPch37vh.js → step-definitions-CoxF5G31.js} +18 -2
- package/dist/{step-definitions-DUB27V8Y.mjs → step-definitions-DxAcpUV-.mjs} +18 -2
- package/dist/stream-broker/_stub.js +2 -2
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DdkfKDgw.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-Wu4TlSuq.mjs} +3 -3
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BPujpbZ0.mjs +26 -0
- package/dist/stream-broker/{_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DSXctoaw.mjs → _virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DGxcX3Wf.mjs} +1 -1
- package/dist/stream-broker/{hostInit-BLn2Pv8Q.mjs → hostInit-D_dSciqF.mjs} +3 -3
- package/dist/stream-broker/index.js +29 -9
- package/dist/stream-broker/index.mjs +29 -9
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/embed-dist/assets/{MaskShapeCanvas-DI4BY7W2-B0_nx15B.js → MaskShapeCanvas-DI4BY7W2-BldL9_Ee.js} +1 -1
- package/embed-dist/assets/{MotionZonesSettings-NcxxQN8r-B8uM-VeO.js → MotionZonesSettings-NcxxQN8r-BgWqMe4f.js} +1 -1
- package/embed-dist/assets/{PrivacyMaskSettings-APgPLF7p-DMOs4Hj9.js → PrivacyMaskSettings-APgPLF7p-YBgaXffP.js} +1 -1
- package/embed-dist/assets/index-e0bQ8yep.js +81 -0
- package/embed-dist/index.html +1 -1
- package/package.json +5 -1
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-D3h_W9uu.mjs +0 -26
- package/embed-dist/assets/index-W9-H5LTj.js +0 -81
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../types/dist/event-category-
|
|
1
|
+
//#region ../types/dist/event-category-D4HJq7Mw.mjs
|
|
2
2
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
3
3
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4
4
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -151,6 +151,11 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
151
151
|
/** Runner-sampled scrub thumbnail (~1/5 s/camera). Telemetry (D8): a lost
|
|
152
152
|
* thumb is a scrub gap the recorder's keyframe backfill covers. */
|
|
153
153
|
EventCategory["RecordingThumbSampled"] = "recording.thumb-sampled";
|
|
154
|
+
/** Export render progress (0–100). Telemetry (D8): a lost tick is a stale
|
|
155
|
+
* progress bar the client reconciles via `recordingExport.getExport`. */
|
|
156
|
+
EventCategory["RecordingExportProgress"] = "recording.export.progress";
|
|
157
|
+
EventCategory["RecordingExportCompleted"] = "recording.export.completed";
|
|
158
|
+
EventCategory["RecordingExportFailed"] = "recording.export.failed";
|
|
154
159
|
EventCategory["DetectionEvent"] = "detection.event";
|
|
155
160
|
EventCategory["SessionTrackNew"] = "session.track.new";
|
|
156
161
|
EventCategory["SessionTrackExpired"] = "session.track.expired";
|
|
@@ -440,6 +445,25 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
440
445
|
*/
|
|
441
446
|
EventCategory["PipelineAnalyticsStationaryChanged"] = "pipeline-analytics.stationary-changed";
|
|
442
447
|
/**
|
|
448
|
+
* Fired by `addon-post-analysis` when a package-drop is confirmed inside
|
|
449
|
+
* a package zone — a newly-appeared stationary object of a package class
|
|
450
|
+
* that cleared the class / zone / dwell / size gates. Payload:
|
|
451
|
+
* `PipelineAnalyticsPackageDeliveredPayload` carrying `{ deviceId,
|
|
452
|
+
* entryId, className, zoneIds, keyFrameMediaKey?, bbox, timestamp }`.
|
|
453
|
+
* Telemetry (D8): the durable record is the `package-events` store row;
|
|
454
|
+
* this bus topic drives notifier rules + live UI. See
|
|
455
|
+
* docs/superpowers/specs/2026-07-17-package-zones-design.md §5.1.
|
|
456
|
+
*/
|
|
457
|
+
EventCategory["PipelineAnalyticsPackageDelivered"] = "pipeline-analytics.package-delivered";
|
|
458
|
+
/**
|
|
459
|
+
* Fired by `addon-post-analysis` when a previously-delivered package
|
|
460
|
+
* leaves its zone (the stationary entry departed — moved or swept).
|
|
461
|
+
* Payload: `PipelineAnalyticsPackagePickedUpPayload` carrying
|
|
462
|
+
* `{ deviceId, entryId, deliveredEventId, className, timestamp }`.
|
|
463
|
+
* Telemetry (D8). See package-zones-design §5.2.
|
|
464
|
+
*/
|
|
465
|
+
EventCategory["PipelineAnalyticsPackagePickedUp"] = "pipeline-analytics.package-picked-up";
|
|
466
|
+
/**
|
|
443
467
|
* Fired by `addon-post-analysis` whenever a gallery face row changes:
|
|
444
468
|
* `kind:'buffered'` a new detected face was persisted, `'assigned'` /
|
|
445
469
|
* `'unassigned'` its identity link changed, `'deleted'` the row was
|
|
@@ -5178,6 +5202,25 @@ function _instanceof(cls, params = {}) {
|
|
|
5178
5202
|
};
|
|
5179
5203
|
return inst;
|
|
5180
5204
|
}
|
|
5205
|
+
//#endregion
|
|
5206
|
+
//#region ../../node_modules/zod/v4/classic/compat.js
|
|
5207
|
+
/** @deprecated Use the raw string literal codes instead, e.g. "invalid_type". */
|
|
5208
|
+
var ZodIssueCode = {
|
|
5209
|
+
invalid_type: "invalid_type",
|
|
5210
|
+
too_big: "too_big",
|
|
5211
|
+
too_small: "too_small",
|
|
5212
|
+
invalid_format: "invalid_format",
|
|
5213
|
+
not_multiple_of: "not_multiple_of",
|
|
5214
|
+
unrecognized_keys: "unrecognized_keys",
|
|
5215
|
+
invalid_union: "invalid_union",
|
|
5216
|
+
invalid_key: "invalid_key",
|
|
5217
|
+
invalid_element: "invalid_element",
|
|
5218
|
+
invalid_value: "invalid_value",
|
|
5219
|
+
custom: "custom"
|
|
5220
|
+
};
|
|
5221
|
+
/** @deprecated Do not use. Stub definition, only included for zod-to-json-schema compatibility. */
|
|
5222
|
+
var ZodFirstPartyTypeKind;
|
|
5223
|
+
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5181
5224
|
Object.fromEntries([
|
|
5182
5225
|
{
|
|
5183
5226
|
id: "overview",
|
|
@@ -7379,6 +7422,65 @@ var RecordingRetentionSchema = object({
|
|
|
7379
7422
|
maxSizeGb: number().min(0).optional()
|
|
7380
7423
|
});
|
|
7381
7424
|
/**
|
|
7425
|
+
* Scrub-thumbnail fidelity preset — the single per-camera selector bundling the
|
|
7426
|
+
* sprite tile RESOLUTION + JPEG QUALITY the recorder packs timeline-scrub
|
|
7427
|
+
* previews at. Five graduated steps; absent on a config = `standard` (the
|
|
7428
|
+
* shipped default, matching `sheet-geometry`/`sheet-composer`).
|
|
7429
|
+
*
|
|
7430
|
+
* Existing sheets are IMMUTABLE — a changed preset applies to NEW windows only.
|
|
7431
|
+
* Each window's index sidecar carries its own tile dims, so a camera whose
|
|
7432
|
+
* preset changed over time renders every historical window at the dims it was
|
|
7433
|
+
* written with.
|
|
7434
|
+
*/
|
|
7435
|
+
var ScrubThumbnailPresetSchema = _enum([
|
|
7436
|
+
"minimal",
|
|
7437
|
+
"low",
|
|
7438
|
+
"standard",
|
|
7439
|
+
"high",
|
|
7440
|
+
"max"
|
|
7441
|
+
]);
|
|
7442
|
+
/**
|
|
7443
|
+
* Preset → tile geometry + JPEG quality. Every step is 16:9; the graduated
|
|
7444
|
+
* ladder trades sheet size (and remote fetch cost) for scrub crispness.
|
|
7445
|
+
* `standard` matches the shipped `sheet-geometry`/`sheet-composer` defaults
|
|
7446
|
+
* (480×270 q72), so an unset config is byte-identical to today. The map is
|
|
7447
|
+
* strictly monotone in resolution AND quality across the ordered steps.
|
|
7448
|
+
*/
|
|
7449
|
+
var SCRUB_THUMBNAIL_PRESETS = {
|
|
7450
|
+
minimal: {
|
|
7451
|
+
tileWidth: 240,
|
|
7452
|
+
tileHeight: 135,
|
|
7453
|
+
quality: 55
|
|
7454
|
+
},
|
|
7455
|
+
low: {
|
|
7456
|
+
tileWidth: 320,
|
|
7457
|
+
tileHeight: 180,
|
|
7458
|
+
quality: 60
|
|
7459
|
+
},
|
|
7460
|
+
standard: {
|
|
7461
|
+
tileWidth: 480,
|
|
7462
|
+
tileHeight: 270,
|
|
7463
|
+
quality: 72
|
|
7464
|
+
},
|
|
7465
|
+
high: {
|
|
7466
|
+
tileWidth: 640,
|
|
7467
|
+
tileHeight: 360,
|
|
7468
|
+
quality: 80
|
|
7469
|
+
},
|
|
7470
|
+
max: {
|
|
7471
|
+
tileWidth: 960,
|
|
7472
|
+
tileHeight: 540,
|
|
7473
|
+
quality: 85
|
|
7474
|
+
}
|
|
7475
|
+
};
|
|
7476
|
+
/**
|
|
7477
|
+
* Resolve the geometry for a recording config's scrub-thumbnail preset,
|
|
7478
|
+
* defaulting to `standard` when unset. Pure — no I/O.
|
|
7479
|
+
*/
|
|
7480
|
+
function resolveScrubThumbnailGeometry(preset) {
|
|
7481
|
+
return SCRUB_THUMBNAIL_PRESETS[preset ?? "standard"];
|
|
7482
|
+
}
|
|
7483
|
+
/**
|
|
7382
7484
|
* The full per-camera recording intent — the wire shape of a RecordingTarget.
|
|
7383
7485
|
*
|
|
7384
7486
|
* `mode` is the authoritative storage choice; `schedule`/`triggers`/`pre`/`post`
|
|
@@ -7415,7 +7517,14 @@ var RecordingConfigSchema = object({
|
|
|
7415
7517
|
* derived into bands once via `migrateConfigToBands`.
|
|
7416
7518
|
*/
|
|
7417
7519
|
bands: array(RecordingBandSchema).optional(),
|
|
7418
|
-
retention: RecordingRetentionSchema.optional()
|
|
7520
|
+
retention: RecordingRetentionSchema.optional(),
|
|
7521
|
+
/**
|
|
7522
|
+
* Per-camera scrub-thumbnail fidelity preset (resolution + JPEG quality for
|
|
7523
|
+
* timeline-scrub sprite previews). Absent = `standard`. Applies to NEW
|
|
7524
|
+
* windows only — existing sheets are immutable, and each window's index
|
|
7525
|
+
* carries its own tile dims so mixed-preset history renders correctly.
|
|
7526
|
+
*/
|
|
7527
|
+
scrubThumbnails: ScrubThumbnailPresetSchema.optional()
|
|
7419
7528
|
});
|
|
7420
7529
|
/** All seven weekdays (0 = Sunday … 6 = Saturday), used when a schedule omits a
|
|
7421
7530
|
* weekday filter. */
|
|
@@ -8090,7 +8199,10 @@ var COCO_TO_MACRO = {
|
|
|
8090
8199
|
elephant: "animal",
|
|
8091
8200
|
bear: "animal",
|
|
8092
8201
|
zebra: "animal",
|
|
8093
|
-
giraffe: "animal"
|
|
8202
|
+
giraffe: "animal",
|
|
8203
|
+
suitcase: "package",
|
|
8204
|
+
backpack: "package",
|
|
8205
|
+
handbag: "package"
|
|
8094
8206
|
},
|
|
8095
8207
|
preserveOriginal: false
|
|
8096
8208
|
};
|
|
@@ -13685,7 +13797,11 @@ array(ZoneRuleSchema).readonly();
|
|
|
13685
13797
|
* Extend the enum here when a new gating consumer comes online (audio
|
|
13686
13798
|
* gating, alert filtering, …) — no other surface needs to change.
|
|
13687
13799
|
*/
|
|
13688
|
-
var ZoneRuleStageEnum = _enum([
|
|
13800
|
+
var ZoneRuleStageEnum = _enum([
|
|
13801
|
+
"motion",
|
|
13802
|
+
"detection",
|
|
13803
|
+
"package"
|
|
13804
|
+
]);
|
|
13689
13805
|
DeviceType.Camera, method(object({
|
|
13690
13806
|
deviceId: number(),
|
|
13691
13807
|
stage: ZoneRuleStageEnum
|
|
@@ -13698,7 +13814,8 @@ DeviceType.Camera, method(object({
|
|
|
13698
13814
|
auth: "admin"
|
|
13699
13815
|
}), object({
|
|
13700
13816
|
motion: array(ZoneRuleSchema).readonly(),
|
|
13701
|
-
detection: array(ZoneRuleSchema).readonly()
|
|
13817
|
+
detection: array(ZoneRuleSchema).readonly(),
|
|
13818
|
+
package: array(ZoneRuleSchema).readonly()
|
|
13702
13819
|
});
|
|
13703
13820
|
var ProviderStatusSchema = object({
|
|
13704
13821
|
connected: boolean(),
|
|
@@ -17091,6 +17208,7 @@ var EventKindIconSchema = _enum([
|
|
|
17091
17208
|
"smoke",
|
|
17092
17209
|
"water",
|
|
17093
17210
|
"button",
|
|
17211
|
+
"package",
|
|
17094
17212
|
"generic"
|
|
17095
17213
|
]);
|
|
17096
17214
|
var EventKindCategorySchema = _enum([
|
|
@@ -17098,7 +17216,8 @@ var EventKindCategorySchema = _enum([
|
|
|
17098
17216
|
"audio",
|
|
17099
17217
|
"detection",
|
|
17100
17218
|
"sensor",
|
|
17101
|
-
"custom"
|
|
17219
|
+
"custom",
|
|
17220
|
+
"package"
|
|
17102
17221
|
]);
|
|
17103
17222
|
var EventKindDescriptorSchema = object({
|
|
17104
17223
|
/** Stable kind id (e.g. 'motion', 'person', 'contact'). */
|
|
@@ -20872,6 +20991,125 @@ var recordingCapability = {
|
|
|
20872
20991
|
}
|
|
20873
20992
|
};
|
|
20874
20993
|
/**
|
|
20994
|
+
* `recordingExport` cap — render a footage time range into a single downloadable
|
|
20995
|
+
* MP4 (regular / accelerated / decelerated / timelapse, ± audio), kept for a
|
|
20996
|
+
* bounded lifetime with a durable history, auto-expiry, and optional
|
|
20997
|
+
* delete-after-download.
|
|
20998
|
+
*
|
|
20999
|
+
* Like `recording` this is a `scope:'system', mode:'singleton'` cap: the
|
|
21000
|
+
* recorder self-gates so exactly ONE node (the designated `recordingNodeId`,
|
|
21001
|
+
* default `hub`) registers it. Device-scoped methods carry `deviceId` in their
|
|
21002
|
+
* input and dispatch to that single provider; the render runs on the node that
|
|
21003
|
+
* owns the footage (no cross-node segment transfer). Download rides the
|
|
21004
|
+
* framework addon data-plane. State persists in a DurableState blob (NOT
|
|
21005
|
+
* SQLite); history rows survive file deletion for audit.
|
|
21006
|
+
*/
|
|
21007
|
+
/** Playback-speed multiplier for the render (1 = realtime). */
|
|
21008
|
+
var ExportSpeedSchema = number().min(.25).max(32);
|
|
21009
|
+
/** Timelapse cadence — sample one source frame per `everyMs`, output at `outputFps`. */
|
|
21010
|
+
var ExportTimelapseSchema = object({
|
|
21011
|
+
everyMs: number().int().positive(),
|
|
21012
|
+
outputFps: number().int().min(1).max(60).optional()
|
|
21013
|
+
});
|
|
21014
|
+
/**
|
|
21015
|
+
* Render options. `speed` and `timelapse` are mutually exclusive. `includeAudio`
|
|
21016
|
+
* is honoured only for a realtime-ish speed (0.5–2×); timelapse is always
|
|
21017
|
+
* silent. `maxLifeMs` bounds how long the finished file is kept;
|
|
21018
|
+
* `deleteAfterDownload` removes it shortly after the first complete download.
|
|
21019
|
+
*/
|
|
21020
|
+
var ExportOptionsSchema = object({
|
|
21021
|
+
speed: ExportSpeedSchema.optional(),
|
|
21022
|
+
timelapse: ExportTimelapseSchema.optional(),
|
|
21023
|
+
includeAudio: boolean(),
|
|
21024
|
+
maxLifeMs: number().int().positive(),
|
|
21025
|
+
deleteAfterDownload: boolean(),
|
|
21026
|
+
title: string().max(200).optional()
|
|
21027
|
+
}).superRefine((v, ctx) => {
|
|
21028
|
+
if (v.speed !== void 0 && v.timelapse !== void 0) ctx.addIssue({
|
|
21029
|
+
code: ZodIssueCode.custom,
|
|
21030
|
+
message: "speed and timelapse are mutually exclusive",
|
|
21031
|
+
path: ["timelapse"]
|
|
21032
|
+
});
|
|
21033
|
+
});
|
|
21034
|
+
var ExportStateSchema = _enum([
|
|
21035
|
+
"queued",
|
|
21036
|
+
"rendering",
|
|
21037
|
+
"ready",
|
|
21038
|
+
"failed",
|
|
21039
|
+
"expired",
|
|
21040
|
+
"deleted"
|
|
21041
|
+
]);
|
|
21042
|
+
/** One export job / history row. */
|
|
21043
|
+
var ExportRecordSchema = object({
|
|
21044
|
+
id: string(),
|
|
21045
|
+
deviceId: number(),
|
|
21046
|
+
profile: string(),
|
|
21047
|
+
fromMs: number(),
|
|
21048
|
+
toMs: number(),
|
|
21049
|
+
options: ExportOptionsSchema,
|
|
21050
|
+
state: ExportStateSchema,
|
|
21051
|
+
/** 0–100 while rendering; null otherwise. */
|
|
21052
|
+
progressPct: number().nullable(),
|
|
21053
|
+
/** File size once ready; null before. */
|
|
21054
|
+
fileBytes: number().nullable(),
|
|
21055
|
+
expiresAt: number(),
|
|
21056
|
+
deleteAfterDownload: boolean(),
|
|
21057
|
+
/** Epoch of the first complete download; null until then. */
|
|
21058
|
+
downloadedAt: number().nullable(),
|
|
21059
|
+
createdAt: number(),
|
|
21060
|
+
/** User id/name that requested the export. */
|
|
21061
|
+
createdBy: string(),
|
|
21062
|
+
/** Failure reason when state is 'failed'; null otherwise. */
|
|
21063
|
+
error: string().nullable()
|
|
21064
|
+
});
|
|
21065
|
+
/** Candidate download URLs (LAN first, then operator extra hosts). */
|
|
21066
|
+
var ExportDownloadSchema = object({
|
|
21067
|
+
url: string(),
|
|
21068
|
+
endpoints: array(string())
|
|
21069
|
+
});
|
|
21070
|
+
var recordingExportCapability = {
|
|
21071
|
+
name: "recordingExport",
|
|
21072
|
+
scope: "system",
|
|
21073
|
+
mode: "singleton",
|
|
21074
|
+
methods: {
|
|
21075
|
+
/** Queue a render of `[fromMs,toMs)` for `deviceId`/`profile`. Fails fast
|
|
21076
|
+
* when no footage covers the range. Returns the queued record. */
|
|
21077
|
+
createExport: method(object({
|
|
21078
|
+
deviceId: number(),
|
|
21079
|
+
profile: string(),
|
|
21080
|
+
fromMs: number(),
|
|
21081
|
+
toMs: number(),
|
|
21082
|
+
options: ExportOptionsSchema
|
|
21083
|
+
}), ExportRecordSchema, {
|
|
21084
|
+
kind: "mutation",
|
|
21085
|
+
auth: "protected"
|
|
21086
|
+
}),
|
|
21087
|
+
/** All export rows (history included), optionally scoped to one device. */
|
|
21088
|
+
listExports: method(object({ deviceId: number().optional() }), array(ExportRecordSchema), {
|
|
21089
|
+
kind: "query",
|
|
21090
|
+
auth: "protected"
|
|
21091
|
+
}),
|
|
21092
|
+
getExport: method(object({ exportId: string() }), ExportRecordSchema, {
|
|
21093
|
+
kind: "query",
|
|
21094
|
+
auth: "protected"
|
|
21095
|
+
}),
|
|
21096
|
+
/** Abort a queued/rendering export; the partial file is removed. */
|
|
21097
|
+
cancelExport: method(object({ exportId: string() }), ExportRecordSchema, {
|
|
21098
|
+
kind: "mutation",
|
|
21099
|
+
auth: "protected"
|
|
21100
|
+
}),
|
|
21101
|
+
/** Remove the file but keep the history row (state → 'deleted'). */
|
|
21102
|
+
deleteExport: method(object({ exportId: string() }), ExportRecordSchema, {
|
|
21103
|
+
kind: "mutation",
|
|
21104
|
+
auth: "protected"
|
|
21105
|
+
}),
|
|
21106
|
+
getDownloadUrl: method(object({ exportId: string() }), ExportDownloadSchema, {
|
|
21107
|
+
kind: "query",
|
|
21108
|
+
auth: "protected"
|
|
21109
|
+
})
|
|
21110
|
+
}
|
|
21111
|
+
};
|
|
21112
|
+
/**
|
|
20875
21113
|
* One publishable camera stream as its OWNING PROVIDER describes it — the same
|
|
20876
21114
|
* payload the (legacy) push `streamBroker.publishCameraStream` carried, minus
|
|
20877
21115
|
* `deviceId`.
|
|
@@ -24795,6 +25033,42 @@ Object.freeze({
|
|
|
24795
25033
|
addonId: null,
|
|
24796
25034
|
access: "create"
|
|
24797
25035
|
},
|
|
25036
|
+
"recordingExport.cancelExport": {
|
|
25037
|
+
capName: "recordingExport",
|
|
25038
|
+
capScope: "system",
|
|
25039
|
+
addonId: null,
|
|
25040
|
+
access: "create"
|
|
25041
|
+
},
|
|
25042
|
+
"recordingExport.createExport": {
|
|
25043
|
+
capName: "recordingExport",
|
|
25044
|
+
capScope: "system",
|
|
25045
|
+
addonId: null,
|
|
25046
|
+
access: "create"
|
|
25047
|
+
},
|
|
25048
|
+
"recordingExport.deleteExport": {
|
|
25049
|
+
capName: "recordingExport",
|
|
25050
|
+
capScope: "system",
|
|
25051
|
+
addonId: null,
|
|
25052
|
+
access: "delete"
|
|
25053
|
+
},
|
|
25054
|
+
"recordingExport.getDownloadUrl": {
|
|
25055
|
+
capName: "recordingExport",
|
|
25056
|
+
capScope: "system",
|
|
25057
|
+
addonId: null,
|
|
25058
|
+
access: "view"
|
|
25059
|
+
},
|
|
25060
|
+
"recordingExport.getExport": {
|
|
25061
|
+
capName: "recordingExport",
|
|
25062
|
+
capScope: "system",
|
|
25063
|
+
addonId: null,
|
|
25064
|
+
access: "view"
|
|
25065
|
+
},
|
|
25066
|
+
"recordingExport.listExports": {
|
|
25067
|
+
capName: "recordingExport",
|
|
25068
|
+
capScope: "system",
|
|
25069
|
+
addonId: null,
|
|
25070
|
+
access: "view"
|
|
25071
|
+
},
|
|
24798
25072
|
"sceneMonitor.captureReference": {
|
|
24799
25073
|
capName: "scene-monitor",
|
|
24800
25074
|
capScope: "device",
|
|
@@ -26234,6 +26508,12 @@ Object.defineProperty(exports, "EventCategory", {
|
|
|
26234
26508
|
return EventCategory;
|
|
26235
26509
|
}
|
|
26236
26510
|
});
|
|
26511
|
+
Object.defineProperty(exports, "ExportRecordSchema", {
|
|
26512
|
+
enumerable: true,
|
|
26513
|
+
get: function() {
|
|
26514
|
+
return ExportRecordSchema;
|
|
26515
|
+
}
|
|
26516
|
+
});
|
|
26237
26517
|
Object.defineProperty(exports, "HF_BASE_URL", {
|
|
26238
26518
|
enumerable: true,
|
|
26239
26519
|
get: function() {
|
|
@@ -26468,6 +26748,18 @@ Object.defineProperty(exports, "recordingCapability", {
|
|
|
26468
26748
|
return recordingCapability;
|
|
26469
26749
|
}
|
|
26470
26750
|
});
|
|
26751
|
+
Object.defineProperty(exports, "recordingExportCapability", {
|
|
26752
|
+
enumerable: true,
|
|
26753
|
+
get: function() {
|
|
26754
|
+
return recordingExportCapability;
|
|
26755
|
+
}
|
|
26756
|
+
});
|
|
26757
|
+
Object.defineProperty(exports, "resolveScrubThumbnailGeometry", {
|
|
26758
|
+
enumerable: true,
|
|
26759
|
+
get: function() {
|
|
26760
|
+
return resolveScrubThumbnailGeometry;
|
|
26761
|
+
}
|
|
26762
|
+
});
|
|
26471
26763
|
Object.defineProperty(exports, "runtimeDevices", {
|
|
26472
26764
|
enumerable: true,
|
|
26473
26765
|
get: function() {
|
|
@@ -328,4 +328,4 @@ function deleteModelFromDisk(modelsDir, entry, format) {
|
|
|
328
328
|
return true;
|
|
329
329
|
}
|
|
330
330
|
//#endregion
|
|
331
|
-
export {
|
|
331
|
+
export { ensureModel as a, downloadFile as i, createFileDataPlaneHandler as n, isModelDownloaded as o, deleteModelFromDisk as r, parseRangeHeader as s, contentTypeFor as t };
|
|
@@ -329,6 +329,12 @@ function deleteModelFromDisk(modelsDir, entry, format) {
|
|
|
329
329
|
return true;
|
|
330
330
|
}
|
|
331
331
|
//#endregion
|
|
332
|
+
Object.defineProperty(exports, "contentTypeFor", {
|
|
333
|
+
enumerable: true,
|
|
334
|
+
get: function() {
|
|
335
|
+
return contentTypeFor;
|
|
336
|
+
}
|
|
337
|
+
});
|
|
332
338
|
Object.defineProperty(exports, "createFileDataPlaneHandler", {
|
|
333
339
|
enumerable: true,
|
|
334
340
|
get: function() {
|
|
@@ -359,3 +365,9 @@ Object.defineProperty(exports, "isModelDownloaded", {
|
|
|
359
365
|
return isModelDownloaded;
|
|
360
366
|
}
|
|
361
367
|
});
|
|
368
|
+
Object.defineProperty(exports, "parseRangeHeader", {
|
|
369
|
+
enumerable: true,
|
|
370
|
+
get: function() {
|
|
371
|
+
return parseRangeHeader;
|
|
372
|
+
}
|
|
373
|
+
});
|
|
@@ -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-
|
|
5
|
+
const require_dist = require("../dist-p_JqOxtk.js");
|
|
6
6
|
let node_fs = require("node:fs");
|
|
7
7
|
let node_path = require("node:path");
|
|
8
8
|
//#region src/motion-wasm/wasm-motion-detector.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as
|
|
1
|
+
import { B as BaseAddon, D as motionDetectionCapability, G as hydrateSchema, S as evaluateZoneRules, U as DeviceType } from "../dist-D16_dBsr.mjs";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
//#region src/motion-wasm/wasm-motion-detector.ts
|
|
@@ -3,11 +3,11 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../chunk-D6vf50IK.js");
|
|
6
|
-
const require_dist = require("../dist-
|
|
6
|
+
const require_dist = require("../dist-p_JqOxtk.js");
|
|
7
7
|
const require_remote_restream = require("../remote-restream-CO36Sr30.js");
|
|
8
|
-
const require_sheet_geometry = require("../sheet-geometry-
|
|
8
|
+
const require_sheet_geometry = require("../sheet-geometry-BR-ip0CP.js");
|
|
9
9
|
const require_worker_protocol = require("../worker-protocol-PP4jKHHJ.js");
|
|
10
|
-
const require_step_definitions = require("../step-definitions-
|
|
10
|
+
const require_step_definitions = require("../step-definitions-CoxF5G31.js");
|
|
11
11
|
let node_child_process = require("node:child_process");
|
|
12
12
|
let node_url = require("node:url");
|
|
13
13
|
let sharp = require("sharp");
|
|
@@ -3087,7 +3087,7 @@ var PipelineRunnerAddon = class extends require_dist.BaseAddon {
|
|
|
3087
3087
|
const data = frame.data;
|
|
3088
3088
|
(async () => {
|
|
3089
3089
|
try {
|
|
3090
|
-
const targetW = Math.min(
|
|
3090
|
+
const targetW = Math.min(480, width);
|
|
3091
3091
|
const image = (0, sharp.default)(data, { raw: {
|
|
3092
3092
|
width,
|
|
3093
3093
|
height,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as _enum, A as pipelineRunnerCapability, B as BaseAddon, O as nodePin, W as createEvent, at as number, b as defineCustomActions, ct as string, et as array, ot as object, rt as lazy, tt as boolean, ut as EventCategory, v as customAction, z as errMsg } from "../dist-D16_dBsr.mjs";
|
|
2
2
|
import { n as profileForStreamId, t as isRemoteRestream } from "../remote-restream-BeHi78PZ.mjs";
|
|
3
|
-
import { r as resolveHubHostname } from "../sheet-geometry-
|
|
3
|
+
import { r as resolveHubHostname } from "../sheet-geometry-DcpuGTCm.mjs";
|
|
4
4
|
import { t as isWorkerReply } from "../worker-protocol-CyVJTZEO.mjs";
|
|
5
|
-
import { a as getStepDefinition } from "../step-definitions-
|
|
5
|
+
import { a as getStepDefinition } from "../step-definitions-DxAcpUV-.mjs";
|
|
6
6
|
import { fork } from "node:child_process";
|
|
7
7
|
import { fileURLToPath } from "node:url";
|
|
8
8
|
import sharp from "sharp";
|
|
@@ -3081,7 +3081,7 @@ var PipelineRunnerAddon = class extends BaseAddon {
|
|
|
3081
3081
|
const data = frame.data;
|
|
3082
3082
|
(async () => {
|
|
3083
3083
|
try {
|
|
3084
|
-
const targetW = Math.min(
|
|
3084
|
+
const targetW = Math.min(480, width);
|
|
3085
3085
|
const image = sharp(data, { raw: {
|
|
3086
3086
|
width,
|
|
3087
3087
|
height,
|