@camstack/types 1.2.286 → 1.2.288
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/capabilities/device-manager.cap.d.ts +1 -1
- package/dist/capabilities/failure-contribution.cap.d.ts +1 -1
- package/dist/capabilities/motion.cap.d.ts +1 -1
- package/dist/capabilities/recording-archive.cap.d.ts +1 -1
- package/dist/capabilities/system.cap.d.ts +1 -1
- package/dist/capabilities/videoclips.cap.d.ts +3 -3
- package/dist/catalogs/sensor-active-state.d.ts +31 -31
- package/dist/{composition-43aqsZQj.mjs → composition-D7ULvLdD.mjs} +22 -22
- package/dist/{composition-w3gBWMer.js → composition-DexM_etk.js} +22 -22
- package/dist/generated/method-device-selectors.d.ts +2 -2
- package/dist/index.js +576 -62
- package/dist/index.mjs +576 -62
- package/dist/interfaces/recording-config.d.ts +7 -7
- package/dist/logging/log-channel.d.ts +1 -1
- package/dist/node.js +1 -1
- package/dist/node.mjs +1 -1
- package/dist/notification/rule-kinds.d.ts +3 -3
- package/dist/notification/timelapse-rule.d.ts +1 -1
- package/dist/types/detection.d.ts +9 -9
- package/dist/types/labels.d.ts +14 -14
- package/package.json +1 -1
|
@@ -55,8 +55,8 @@ export declare const RecordingStorageModeSchema: z.ZodEnum<{
|
|
|
55
55
|
}>;
|
|
56
56
|
export type RecordingStorageMode = z.infer<typeof RecordingStorageModeSchema>;
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
58
|
+
* The macro classes that can open a recording window — the same
|
|
59
|
+
* three offered by the `object-detection` step, from ONE list
|
|
60
60
|
* ({@link FIRST_LEVEL_MACRO_CLASSES}).
|
|
61
61
|
*/
|
|
62
62
|
export declare const RecordingObjectTriggerClassSchema: z.ZodEnum<{
|
|
@@ -66,12 +66,12 @@ export declare const RecordingObjectTriggerClassSchema: z.ZodEnum<{
|
|
|
66
66
|
}>;
|
|
67
67
|
export type RecordingObjectTriggerClass = z.infer<typeof RecordingObjectTriggerClassSchema>;
|
|
68
68
|
/**
|
|
69
|
-
*
|
|
69
|
+
* How many source devices a single band can listen to.
|
|
70
70
|
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
71
|
+
* It is not a whim: every source is a KEY in the recorder's `TriggerState`, and
|
|
72
|
+
* the per-key limit (`MAX_TRIGGER_WINDOWS = 32`) without a limit on the
|
|
73
|
+
* keys would let the map grow with the operator's inventory. 16
|
|
74
|
+
* sensors on ONE camera is already beyond any installation observed.
|
|
75
75
|
*/
|
|
76
76
|
export declare const MAX_SENSOR_TRIGGER_DEVICES = 16;
|
|
77
77
|
/**
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* - **VALUE** — at which level, for which scope, until when. That stays ONE
|
|
13
13
|
* thing: the logging settings document on the `system` cap. Two authorities
|
|
14
14
|
* over the values is the exact defect
|
|
15
|
-
* `docs/design/plans/2026-08-26-
|
|
15
|
+
* `docs/design/plans/2026-08-26-per-component-logging.md` was written to
|
|
16
16
|
* remove; re-introducing it from the cure side would be grotesque.
|
|
17
17
|
*
|
|
18
18
|
* Nothing in this file reads a clock, an env var or a store. The registry is
|
package/dist/node.js
CHANGED
|
@@ -21,7 +21,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
21
21
|
enumerable: true
|
|
22
22
|
}) : target, mod));
|
|
23
23
|
//#endregion
|
|
24
|
-
const require_composition = require("./composition-
|
|
24
|
+
const require_composition = require("./composition-DexM_etk.js");
|
|
25
25
|
const require_err_msg = require("./err-msg-Dx2Kor0g.js");
|
|
26
26
|
let node_crypto = require("node:crypto");
|
|
27
27
|
let node_fs = require("node:fs");
|
package/dist/node.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ct as chooseFfmpegBinary, Dt as getFfmpegDownloadUrl, Et as getFfmpegArtifact, Lt as isSoftwareDecode, Nt as buildFfmpegArgs, Ot as canonicalHash, P as compositionSourceKey, St as FFMPEG_PATH_ENV, Tt as FFMPEG_RELEASE, a as CUSTOMIZATION_BLOCK_NAME_PREFIX, kt as Fmp4BoxSplitter, wt as ffmpegBinaryName } from "./composition-
|
|
1
|
+
import { Ct as chooseFfmpegBinary, Dt as getFfmpegDownloadUrl, Et as getFfmpegArtifact, Lt as isSoftwareDecode, Nt as buildFfmpegArgs, Ot as canonicalHash, P as compositionSourceKey, St as FFMPEG_PATH_ENV, Tt as FFMPEG_RELEASE, a as CUSTOMIZATION_BLOCK_NAME_PREFIX, kt as Fmp4BoxSplitter, wt as ffmpegBinaryName } from "./composition-D7ULvLdD.mjs";
|
|
2
2
|
import { t as errMsg } from "./err-msg-DX6i_MY4.mjs";
|
|
3
3
|
import { createHash, createHmac, randomUUID, timingSafeEqual } from "node:crypto";
|
|
4
4
|
import * as fs from "node:fs";
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* The divergence it caused is on the record: the viewer filtered conditions on
|
|
12
12
|
* the served `appliesTo` alone, so a viewer-authored occupancy rule was still
|
|
13
13
|
* offered `sensorKinds`, `eventTypeTokens` and `source` — the exact "in
|
|
14
|
-
* occupancy alcuni campi non hanno senso" failure the admin UI fixed on
|
|
14
|
+
* occupancy alcuni campi non hanno senso" [in occupancy some fields make no sense] failure the admin UI fixed on
|
|
15
15
|
* 2026-08-14 and the viewer never got. Beside it, the viewer's rule list had no
|
|
16
16
|
* sections and no seeded creates, so the two features that have no delivery of
|
|
17
17
|
* their own (sound, occupancy) were unauthorable from the phone.
|
|
@@ -318,7 +318,7 @@ export declare function droppedConditionsForKind(conditions: NcAuthoredCondition
|
|
|
318
318
|
* The sections a rule LIST is split into.
|
|
319
319
|
*
|
|
320
320
|
* Operator request, 2026-08-13: "vorrei che le system rules fossero in una
|
|
321
|
-
* sezione a parte, più facile da utilizzare, affianco alle detection rules". A
|
|
321
|
+
* sezione a parte, più facile da utilizzare, affianco alle detection rules" [I would like the system rules to be in a separate section, easier to use, next to the detection rules]. A
|
|
322
322
|
* system rule and a detection rule share a store and nothing else — different
|
|
323
323
|
* triggers, different conditions, no media, a different question ("is my
|
|
324
324
|
* installation healthy?" vs "what did the camera see?").
|
|
@@ -420,7 +420,7 @@ export declare const NC_AUDIO_SEED: NcAudioCondition;
|
|
|
420
420
|
* so the preset seeds it — otherwise the operator lands on a form identical to
|
|
421
421
|
* a detection rule's and has to know that the feature lives behind an expander
|
|
422
422
|
* on a trigger they must pick first. That is exactly the gap reported on
|
|
423
|
-
* 2026-08-13 ("non vedo un modo per creare le nuove rules audio e occupancy")
|
|
423
|
+
* 2026-08-13 ("non vedo un modo per creare le nuove rules audio e occupancy" [I do not see a way to create the new audio and occupancy rules])
|
|
424
424
|
* for two features whose engines had already shipped.
|
|
425
425
|
*
|
|
426
426
|
* A system seed carries its event kinds for the same reason: the kind is derived
|
|
@@ -39,7 +39,7 @@ export declare const TIMELAPSE_DENSE_FLOOR_SEC = 0.1;
|
|
|
39
39
|
* Whether the notification's preview is a STILL or a short animation.
|
|
40
40
|
*
|
|
41
41
|
* The operator's ask, verbatim: *"inviato come gif o video (come per le altre
|
|
42
|
-
* rule)"* — the other rules already offer an animated preview, and a ten-hour
|
|
42
|
+
* rule)"* [sent as a gif or video (as for the other rules)] — the other rules already offer an animated preview, and a ten-hour
|
|
43
43
|
* night reads better as three seconds of motion than as one frame of it. Both
|
|
44
44
|
* modes get the SAME treatment (blurred frame, large centred title); `'gif'`
|
|
45
45
|
* simply applies it to a dozen frames sampled across the render and assembles
|
|
@@ -117,11 +117,11 @@ export type DetectionKind = 'first-level' | 'detail' | 'audio';
|
|
|
117
117
|
/**
|
|
118
118
|
* First-level macro classes produced by object detectors.
|
|
119
119
|
*
|
|
120
|
-
* Alias
|
|
121
|
-
* (`FIRST_LEVEL_MACRO_CLASSES`),
|
|
122
|
-
* `object-detection`
|
|
123
|
-
*
|
|
124
|
-
*
|
|
120
|
+
* Alias of {@link FirstLevelMacroClass} — THE list lives in `labels.ts`
|
|
121
|
+
* (`FIRST_LEVEL_MACRO_CLASSES`), which is also the offer of the
|
|
122
|
+
* `object-detection` step and the domain of `RecordingTriggers.objectClasses`. Do not
|
|
123
|
+
* rewrite the union here: there were two hand-kept copies, and that is how a macro
|
|
124
|
+
* added in one place only goes unnoticed.
|
|
125
125
|
*/
|
|
126
126
|
export type FirstLevelMacro = FirstLevelMacroClass;
|
|
127
127
|
/** Detail macro classes produced by crop+recognize steps. */
|
|
@@ -250,10 +250,10 @@ export interface DetectionBase {
|
|
|
250
250
|
readonly score: number;
|
|
251
251
|
/**
|
|
252
252
|
* Enrichment labels — each with its own score. Ordered:
|
|
253
|
-
* (1)
|
|
254
|
-
* (2) labels
|
|
255
|
-
*
|
|
256
|
-
*
|
|
253
|
+
* (1) chain of direct enrichers on the detection,
|
|
254
|
+
* (2) labels inherited from the children details (in order of appearance).
|
|
255
|
+
* The score preserves the value produced by the original enricher even
|
|
256
|
+
* when the label is inherited.
|
|
257
257
|
*/
|
|
258
258
|
readonly labels: readonly ScoredLabel[];
|
|
259
259
|
readonly track?: TrackInfo;
|
package/dist/types/labels.d.ts
CHANGED
|
@@ -23,28 +23,28 @@ export interface ClassMapDefinition {
|
|
|
23
23
|
/** Detection-macro targets a catalog `classMap` may resolve to. */
|
|
24
24
|
export declare const CLASS_MAP_MACRO_TARGETS: readonly ["person", "vehicle", "animal", "package"];
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
26
|
+
* The FIRST-LEVEL macro classes: those an object detector emits and that
|
|
27
|
+
* an operator can select.
|
|
28
28
|
*
|
|
29
|
-
*
|
|
29
|
+
* They are the three offered by the `object-detection` step
|
|
30
30
|
* (`addon-pipeline/src/detection-pipeline/registry/step-definitions.ts`,
|
|
31
|
-
* `enabledMacroClasses`). `package`
|
|
32
|
-
* `MACRO_LABELS` —
|
|
33
|
-
* `package-detection`,
|
|
34
|
-
*
|
|
31
|
+
* `enabledMacroClasses`). `package` is in {@link CLASS_MAP_MACRO_TARGETS} and in
|
|
32
|
+
* `MACRO_LABELS` — it is a true macro — but NOT here: it belongs to the step
|
|
33
|
+
* `package-detection`, whose enablement is driven by zones, and offering the
|
|
34
|
+
* same word twice has already made an operator turn on the COCO proxy
|
|
35
35
|
* (suitcase/backpack/handbag) lasciando spento il detector dedicato.
|
|
36
36
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* (`types/detection.ts`);
|
|
40
|
-
* (`RecordingTriggers.objectClasses`)
|
|
41
|
-
*
|
|
37
|
+
* ONE list. Before today the same three were hand-written in the step's offer
|
|
38
|
+
* and a second time as the union `FirstLevelMacro`
|
|
39
|
+
* (`types/detection.ts`); a third copy for the recording trigger
|
|
40
|
+
* (`RecordingTriggers.objectClasses`) would have made the later divergence
|
|
41
|
+
* invisible.
|
|
42
42
|
*/
|
|
43
43
|
export declare const FIRST_LEVEL_MACRO_CLASSES: readonly ["person", "vehicle", "animal"];
|
|
44
44
|
export type FirstLevelMacroClass = (typeof FIRST_LEVEL_MACRO_CLASSES)[number];
|
|
45
45
|
/**
|
|
46
|
-
* True
|
|
47
|
-
* `className`
|
|
46
|
+
* True when `value` is a first-level macro. Type guard, not cast: a
|
|
47
|
+
* `className` coming from the bus is any string until it passes through
|
|
48
48
|
* qui.
|
|
49
49
|
*/
|
|
50
50
|
export declare function isFirstLevelMacroClass(value: string): value is FirstLevelMacroClass;
|