@camstack/types 1.2.305 → 1.2.307

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.
@@ -0,0 +1,49 @@
1
+ import { CLASS_MAP_MACRO_TARGETS, type DetectionCatalogClassMap } from '../types/labels.js';
2
+ import { type ClassifierFillDeclaration } from './classifier-fill.js';
3
+ /** A macro a detection catalog classMap may resolve to. */
4
+ export type ClassMapMacroTarget = (typeof CLASS_MAP_MACRO_TARGETS)[number];
5
+ /**
6
+ * Raw Frigate+ label → detection macro. Every label of the documented
7
+ * Frigate+ base set (docs.frigate.video/plus, verified 2026-08-21) is either
8
+ * here or in {@link FRIGATE_PLUS_UNMAPPED_LABELS}, with the reason it is not.
9
+ *
10
+ * Why this exists: a Frigate+ import used to carry NO classMap, so it inherited
11
+ * the step's `COCO_TO_MACRO` (`preserveOriginal: false`) and the executor
12
+ * dropped every label COCO does not name — deer, raccoon, fox, squirrel, goat,
13
+ * rabbit, skunk, kangaroo, possum, rodent, school_bus, garbage_truck and even
14
+ * `package` vanished as `class-filter` discards. The executor keeps the raw
15
+ * label as `originalClass` whenever the map resolves it, so the fine identity
16
+ * survives under the macro.
17
+ */
18
+ export declare const FRIGATE_PLUS_TO_MACRO: Readonly<Record<string, ClassMapMacroTarget>>;
19
+ /**
20
+ * Frigate+ labels deliberately left OUT of {@link FRIGATE_PLUS_TO_MACRO}.
21
+ *
22
+ * - `attribute`: Frigate+ emits these INSIDE a parent box (a face inside a
23
+ * person, a plate or a carrier logo on a vehicle). Mapping one to its
24
+ * parent's macro would spawn a second, overlapping track for the same
25
+ * subject; CamStack derives faces and plates with its own detail steps.
26
+ * - `no-macro`: an object with no detection macro to live under.
27
+ */
28
+ export declare const FRIGATE_PLUS_UNMAPPED_LABELS: Readonly<Record<string, 'attribute' | 'no-macro'>>;
29
+ /**
30
+ * The per-model classMap for a Frigate / Frigate+ detector, derived from ITS
31
+ * labelmap: each label resolves through {@link FRIGATE_PLUS_TO_MACRO} first,
32
+ * then `COCO_TO_MACRO` (Frigate's default model ships the COCO-91 labelmap, so
33
+ * a preset import may carry either vocabulary). A label neither knows is left
34
+ * out, and `preserveOriginal: false` drops it in the executor — the same
35
+ * contract as the COCO map, now with the Frigate+ vocabulary in it.
36
+ */
37
+ export declare function buildFrigateClassMap(labels: readonly string[]): DetectionCatalogClassMap;
38
+ /** The label-derived fields of a Frigate catalog entry. */
39
+ export interface FrigateLabelFields {
40
+ readonly classMap: DetectionCatalogClassMap;
41
+ readonly fillsClassifierEffects?: readonly ClassifierFillDeclaration[];
42
+ }
43
+ /**
44
+ * Everything a Frigate / Frigate+ entry derives from its labelmap: the classMap
45
+ * and the steps it fills (D715). Every Frigate builder spreads this, so the two
46
+ * cannot be derived from different label lists. A COCO labelmap gets its map
47
+ * and no fill.
48
+ */
49
+ export declare function frigateLabelFields(labels: readonly string[]): FrigateLabelFields;
@@ -1,4 +1,6 @@
1
1
  export * from './coco-classmap.js';
2
+ export * from './frigate-plus-classmap.js';
3
+ export * from './classifier-fill.js';
2
4
  export * from './sensor-active-state.js';
3
5
  export * from './audio-classmap.js';
4
6
  export * from './event-taxonomy.js';
@@ -0,0 +1,17 @@
1
+ /**
2
+ * `@camstack/types/client` — the runtime values a CLIENT bundle needs, and
3
+ * nothing it does not.
4
+ *
5
+ * The bare entry is one pre-bundled `index.mjs` (~1.1 MB minified) and Metro
6
+ * does not tree-shake, so the viewer's web bundle carried every capability
7
+ * schema the hub knows for the ~80 values it actually reads (D721). This entry
8
+ * is built on its own (`vite.client.config.ts`) with module side effects
9
+ * OFF, so only the modules these names reach are emitted.
10
+ *
11
+ * The list is the viewer's: every non-type import of `@camstack/types` in
12
+ * `camstack/src` + `app`, plus what `@camstack/sdk` imports at runtime.
13
+ * The viewer's guard (`types-client-entry.spec.ts`) fails when it imports a
14
+ * value this entry does not export — a missing name here is `undefined` at
15
+ * runtime, not a build error.
16
+ */
17
+ export { APPLE_SA_TO_MACRO, AUDIO_MACRO_LABELS, AlarmArmModeSchema, CLIP_BROKER_PACED_RATES, COCO_TO_MACRO, CamProfileSchema, DEFAULT_TIMELAPSE_PREVIEW_TEXT, DeviceType, EVENTFUL_CAP_NAMES, EVENT_KIND_BY_CAP, EVENT_TAXONOMY, MACRO_LABELS, NC_ALARM_DELAY_MAX_SEC, NC_ALARM_SENSORS_MAX, NC_ALARM_SYSTEM_EVENT_KINDS, NC_ALARM_TRIGGERED_MAX_SEC, NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_CAMERA_SCOPE_CAP_NAME, NC_CONSUMABLE_LOW_PERCENT_DEFAULT, NC_CONSUMABLE_LOW_PERCENT_MAX, NC_GROUPING_DEFAULT_SEC, NC_GROUPING_MAX_SEC, NC_GROUPING_MIN_SEC, NC_RULE_EDITOR_SECTION_ORDER, NC_RULE_KIND_SPECS, NC_SENSOR_TRANSITION_UNSUPPORTED_REASON, NC_SYSTEM_EVENT_FAMILY_FILTERS, NC_SYSTEM_EVENT_KIND_GROUP_SPECS, NC_SYSTEM_EVENT_SUMMARY_FAMILIES, NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS, NC_TEMPLATE_VARS, NcAlarmConfigSchema, NcAlarmSensorsSchema, NcAlarmSettingsPatchSchema, NcHistoryEntrySchema, NcRuleLastRunsSchema, NodeDirectorySchema, RECORDING_EXPORT_MAX_READ_BYTES, SystemMirror, TIMELAPSE_DENSE_FLOOR_SEC, TimelapseRuleSchema, YAMNET_TO_MACRO, alarmDeviceBlocksArming, alarmDeviceSecureOnArm, alarmPatchLanded, conditionVisibleForKind, createSystemProxy, droppedConditionsForKind, isHeldBackTemplateVar, isSystemRuleKind, kindsForDiscriminator, knownValues, nodePickerItems, packagePickerItems, pickerForCondition, pickerForRuleClasses, resolveModeDelays, ruleDeviceCompatCapNames, ruleEditorSectionsForKind, ruleGroupingApplies, ruleKindOf, ruleKindSpec, ruleSeedForSection, sensorTransitionNeverFires, sensorTransitionOffered, stateLabel, systemEventDeliveryProblems, systemEventFilterAppliesToAnyKind, systemEventKindsOfFamily, systemFamilyOfKind, templateCarriesSummary, templateVarDeliveryApplies, templateVarKindApplies, templateVarSystemEventApplies, } from './index.js';