@camstack/types 1.2.304 → 1.2.305
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-admin-link-url.d.ts +2 -2
- package/dist/capabilities/device-admin-link.cap.d.ts +1 -1
- package/dist/capabilities/index.d.ts +8 -7
- package/dist/capabilities/local-network.cap.d.ts +18 -8
- package/dist/capabilities/notification-rules.cap.d.ts +34 -2
- package/dist/capabilities/pipeline-runner.cap.d.ts +54 -0
- package/dist/capabilities/viewer-link-url.d.ts +104 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +272 -34
- package/dist/index.mjs +262 -35
- package/dist/interfaces/event-bus.d.ts +23 -0
- package/dist/interfaces/pipeline-runner-capability.d.ts +6 -0
- package/dist/notification/alarm-settings.d.ts +25 -0
- package/package.json +1 -1
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* they sit next to each other in the same device config (`{ host, port,
|
|
13
13
|
* username, password }` on Hikvision, Reolink, Amcrest, ONVIF alike). A
|
|
14
14
|
* convenience that "pre-fills the login" is one template literal away, and
|
|
15
|
-
* `http://admin:hunter2@192.168.
|
|
15
|
+
* `http://admin:hunter2@192.168.60.139/` is a working URL that browsers accept,
|
|
16
16
|
* that lands in the DOM, in a right-click → copy, in a screenshot, and in any
|
|
17
17
|
* log line that prints what was opened. `scripts/check-no-credential-urls-in-
|
|
18
18
|
* fixtures.ts` already exists because this repo shipped exactly that leak on
|
|
@@ -35,7 +35,7 @@ export interface DeviceAdminUrlParts {
|
|
|
35
35
|
*
|
|
36
36
|
* Not the vendor's control port. Reolink's device config carries `port: 9000`
|
|
37
37
|
* — the Baichuan media port — and `http://<reolink>:9000/` answers nothing
|
|
38
|
-
* (verified against 192.168.
|
|
38
|
+
* (verified against 192.168.60.226 on 2026-09-22: `:9000` refuses the
|
|
39
39
|
* connection, `:80` returns 200 text/html). A provider that reads a port
|
|
40
40
|
* field without knowing what that port IS produces a button that opens a
|
|
41
41
|
* browser error.
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
* This matters here more than anywhere else in the repo, because every provider
|
|
50
50
|
* that knows a device's host knows its PASSWORD too: `{ host, port, username,
|
|
51
51
|
* password }` sit in one object on Hikvision, Amcrest, Reolink and ONVIF alike,
|
|
52
|
-
* and `http://admin:hunter2@192.168.
|
|
52
|
+
* and `http://admin:hunter2@192.168.60.139/` is a URL a browser accepts. The
|
|
53
53
|
* camera's own page will ask for its own login. That is correct, and pre-
|
|
54
54
|
* filling it is the operator's business, not ours.
|
|
55
55
|
*
|
|
@@ -32,14 +32,14 @@ export { AUDIO_BACKEND_CHOICES, AudioAnalysisResultSchema, AudioAnalysisSettings
|
|
|
32
32
|
export { AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEncodeSessionConfigSchema, AudioPcmChunkSchema, audioCodecCapability, type IAudioCodecCapProvider, PcmSampleFormatSchema, } from './audio-codec.cap.js';
|
|
33
33
|
export { AuthResultSchema, authProviderCapability } from './auth-provider.cap.js';
|
|
34
34
|
export { ArchiveEntrySchema, ArchiveManifestSchema, BackupDestinationInfoSchema, BackupEntrySchema, type BackupRun, type BackupRunPhase, BackupRunPhaseSchema, BackupRunSchema, type BackupRunState, BackupRunStateSchema, type BackupTriggerResult, BackupTriggerResultSchema, backupCapability, type IBackupProvider, LocationStatSchema, } from './backup.cap.js';
|
|
35
|
-
export { BrokerAddInputSchema, BrokerGetStateInputSchema, type BrokerInfo,
|
|
35
|
+
export { BrokerAddInputSchema, BrokerGetStateInputSchema, type BrokerInfo, type BrokerInfo as UnifiedBrokerInfo, BrokerInfoSchema, BrokerInfoSchema as UnifiedBrokerInfoSchema, type BrokerProviderInfo, BrokerProviderInfoSchema, BrokerPublishInputSchema, BrokerRegistryStatusSchema, type BrokerStatus as UnifiedBrokerStatus, BrokerStatusEnum, BrokerSubscribeInputSchema, BrokerSubscribeResultSchema, BrokerTestConnectionResultSchema, BrokerUnsubscribeInputSchema, brokerCapability, type IBrokerProvider, } from './broker.cap.js';
|
|
36
36
|
export { cameraPipelineConfigCapability, type ICameraPipelineConfigProvider, } from './camera-pipeline-config.cap.js';
|
|
37
37
|
export { cameraStreamsCapability, type ICameraStreamsProvider, type PickedCamStream, PickedCamStreamSchema, type PickStreamPreferences, PickStreamPreferencesSchema, type PickStreamRequirements, PickStreamRequirementsSchema, type StreamCodec, StreamCodecSchema, } from './camera-streams.cap.js';
|
|
38
38
|
export { emitsCollectionSelector, extractNestedAddonId, isArrayOutputSchema, isCollectionArrayMethod, isObjectInput, isVoidInput, kebabToCamel, looseSchema, objectInputDeclaresAddonId, objectInputDeclaresRequiredDeviceId, procedureAuthKey, resolveMethodAuth, } from './cap-router-predicates.js';
|
|
39
39
|
export type { CapabilityDefinition, CapabilityEventSchema, CapabilityMethodAuth, CapabilityMethodCaller, CapabilityMethodKind, CapabilityMethodOptions, CapabilityMethodSchema, CapabilityMountHint, CapabilityMountKind, CapabilityStatusItemArray, CapabilityStatusKind, CapabilityStatusSchema, CapCaller, DeviceConfigDerivedFormUi, DeviceConfigSpec, DeviceConfigUiSpec, DeviceConfigWidgetUi, DeviceSettingsContribution, InferDeviceProxyCap, InferEvents, InferName, InferNativeProvider, InferProvider, InferRuntimeState, ProviderKind, RuntimeStateDurability, UiContribution, UiContributionKind, UiContributionRemote, } from './capability-definition.js';
|
|
40
40
|
export { DEFAULT_RUNTIME_STATE_DURABILITY, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, event, expandCapMethods, isDeviceConfigCap, method, optionalMethod, PROVIDER_PIN_FIELD, resolveCapMount, } from './capability-definition.js';
|
|
41
41
|
export { COMPOSER_RUNNER_ID, type ComposerApplyInput, ComposerApplyInputSchema, type ComposerApplyResult, ComposerApplyResultSchema, type ComposerBlock, ComposerBlockSchema, type ComposerBlockVerdict, ComposerBlockVerdictSchema, type ComposerUnreadableBlock, ComposerUnreadableBlockSchema, composerCapability, type IComposerProvider, } from './composer.cap.js';
|
|
42
|
-
export { CORE_BLOCK_ADDON_PREFIX, CORE_BLOCKS_ADDON_ID, type CompositionBlockInput, CompositionBlockInputSchema, type CompositionBlockPatch, type CompositionCustomizationRead, CompositionCustomizationReadSchema, type CompositionGetRead, CompositionGetReadSchema, type CompositionListRead, CompositionListReadSchema, type CompositionStateRead, CompositionStateReadSchema, type CompositionView, CompositionViewSchema, type CoreBlock, type
|
|
42
|
+
export { CORE_BLOCK_ADDON_PREFIX, CORE_BLOCKS_ADDON_ID, type CompositionBlockInput, CompositionBlockInputSchema, type CompositionBlockPatch, type CompositionCustomizationRead, CompositionCustomizationReadSchema, type CompositionGetRead, CompositionGetReadSchema, type CompositionListRead, CompositionListReadSchema, type CompositionStateRead, CompositionStateReadSchema, type CompositionView, CompositionViewSchema, type CoreBlock, type CoreBlockCompileInput, CoreBlockCompileInputSchema, type CoreBlockCompileResult, CoreBlockCompileResultSchema, type CoreBlockFiles, CoreBlockFilesSchema, type CoreBlockInput, CoreBlockInputFieldsSchema, CoreBlockInputSchema, type CoreBlockPlacement, CoreBlockPlacementSchema, CoreBlockSchema, type CoreBlockSource, type CoreBlockSourceKind, CoreBlockSourceSchema, type CoreBlockStatus, CoreBlockStatusSchema, coreBlockAddonId, coreBlockComposition, coreBlockIdFromAddonId, coreBlockSourceKind, coreBlocksCapability, DEFAULT_CORE_BLOCK_ENTRY, type ICoreBlocksProvider, normalizeCoreBlockWrite, resolveCoreBlockEntry, resolveCoreBlockFiles, } from './core-blocks.cap.js';
|
|
43
43
|
export * from './custom-actions.js';
|
|
44
44
|
export type { CustomModelDescriptor, ICustomModelRegistryProvider, } from './custom-model-registry.cap.js';
|
|
45
45
|
export { CustomModelDescriptorSchema, customModelRegistryCapability, } from './custom-model-registry.cap.js';
|
|
@@ -85,8 +85,8 @@ export type { BrokerConnectionDetails, BrokerInfo as MqttBrokerInfo, BrokerStatu
|
|
|
85
85
|
export { AddBrokerInputSchema, BrokerConnectionDetailsSchema, BrokerInfoSchema as MqttBrokerInfoSchema, MqttBrokerStatusSchema, mqttBrokerCapability, StartEmbeddedInputSchema, } from './mqtt-broker.cap.js';
|
|
86
86
|
export type { NetworkAccessStatus, NetworkEndpoint } from './network-access.cap.js';
|
|
87
87
|
export { NetworkAccessStatusSchema, NetworkEndpointSchema, networkAccessCapability, } from './network-access.cap.js';
|
|
88
|
-
export { type Attachment, type AttachmentMediaType, AttachmentMediaTypeSchema, AttachmentSchema, type DiscoveredTarget, DiscoveredTargetSchema, type INotificationOutputProvider, type NotificationAction, type NotificationActionIcon, NotificationActionIconSchema, NotificationActionSchema, type NotificationFormat, NotificationFormatSchema, NotificationSchema, notificationOutputCapability, type
|
|
89
|
-
export { consumableLowPercentOf, type INotificationRulesProvider, isRetiredClearKey, NC_ALARM_DELAY_MAX_SEC, NC_ALARM_NONBLOCKING_MAX, NC_ALARM_SENSORS_MAX, NC_ALARM_SYSTEM_EVENT_KINDS, NC_ALARM_TRIGGERED_MAX_SEC, NC_AUDIO_DBFS_FLOOR, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_CLIP_POST_ROLL_DEFAULT_SEC, NC_CLIP_PRE_ROLL_DEFAULT_SEC, NC_CLIP_RETENTION_MAX_SEC, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_CONSUMABLE_LOW_PERCENT_DEFAULT, NC_CONSUMABLE_LOW_PERCENT_MAX, NC_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_DEFAULT_SNOOZE_MINUTES, NC_GROUPING_DEFAULT_SEC, NC_GROUPING_MAX_SEC, NC_GROUPING_MIN_SEC, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_RULE_CLEARABLE_KEYS, NC_RULE_RETIRED_CLEAR_KEYS, NC_SNOOZE_MAX_MINUTES, NC_TANK_SYSTEM_EVENT_KINDS, type
|
|
88
|
+
export { type Attachment, type AttachmentMediaType, AttachmentMediaTypeSchema, AttachmentSchema, type DiscoveredTarget, DiscoveredTargetSchema, type INotificationOutputProvider, type NotificationAction, type NotificationActionIcon, NotificationActionIconSchema, NotificationActionSchema, type NotificationFormat, NotificationFormatSchema, NotificationSchema, notificationOutputCapability, type ProbeTargetConfigResult, ProbeTargetConfigResultSchema, type RenderedAs, RenderedAsSchema, type SendResult, SendResultSchema, type Target, type TargetKind, type TargetKindCaps, TargetKindCapsSchema, type TargetKindLevel, TargetKindLevelSchema, TargetKindSchema, TargetSchema, type TestResult, TestResultSchema, } from './notification-output.cap.js';
|
|
89
|
+
export { consumableLowPercentOf, type INotificationRulesProvider, isRetiredClearKey, NC_ALARM_DELAY_MAX_SEC, NC_ALARM_NONBLOCKING_MAX, NC_ALARM_SENSORS_MAX, NC_ALARM_SYSTEM_EVENT_KINDS, NC_ALARM_TRIGGERED_MAX_SEC, NC_AUDIO_DBFS_FLOOR, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_CLIP_POST_ROLL_DEFAULT_SEC, NC_CLIP_PRE_ROLL_DEFAULT_SEC, NC_CLIP_RETENTION_MAX_SEC, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_CONSUMABLE_LOW_PERCENT_DEFAULT, NC_CONSUMABLE_LOW_PERCENT_MAX, NC_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_DEFAULT_SNOOZE_MINUTES, NC_GROUPING_DEFAULT_SEC, NC_GROUPING_MAX_SEC, NC_GROUPING_MIN_SEC, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_RULE_CLEARABLE_KEYS, NC_RULE_RETIRED_CLEAR_KEYS, NC_SNOOZE_MAX_MINUTES, NC_TANK_SYSTEM_EVENT_KINDS, type NcActionBinding, NcActionBindingSchema, type NcAlarmBlocking, type NcAlarmBlockingEdit, NcAlarmBlockingEditSchema, NcAlarmBlockingSchema, type NcAlarmConfig, NcAlarmConfigSchema, type NcAlarmCreateProfileInput, NcAlarmCreateProfileInputSchema, type NcAlarmModeCoverage, NcAlarmModeCoverageSchema, type NcAlarmModeDelays, type NcAlarmModeDelaysEdit, NcAlarmModeDelaysEditSchema, NcAlarmModeDelaysSchema, type NcAlarmModeDeviceList, NcAlarmModeDeviceListSchema, type NcAlarmNonBlocking, type NcAlarmNonBlockingEdit, NcAlarmNonBlockingEditSchema, NcAlarmNonBlockingSchema, type NcAlarmPostTriggeredAction, NcAlarmPostTriggeredActionSchema, type NcAlarmProfileIdInput, NcAlarmProfileIdInputSchema, type NcAlarmProfileMeta, NcAlarmProfileMetaSchema, type NcAlarmProfilesView, NcAlarmProfilesViewSchema, type NcAlarmRenameProfileInput, NcAlarmRenameProfileInputSchema, type NcAlarmSecureOnArmEdit, NcAlarmSecureOnArmEditSchema, type NcAlarmSecureOnArmOff, NcAlarmSecureOnArmOffSchema, type NcAlarmSensorReading, NcAlarmSensorReadingSchema, type NcAlarmSensorState, NcAlarmSensorStateSchema, type NcAlarmSensors, type NcAlarmSensorsInput, NcAlarmSensorsInputSchema, NcAlarmSensorsSchema, type NcAlarmSettings, type NcAlarmSettingsPatch, NcAlarmSettingsPatchSchema, NcAlarmSettingsSchema, type NcAlarmSkippedDevice, NcAlarmSkippedDeviceSchema, type NcAlarmSkipReason, NcAlarmSkipReasonSchema, type NcAudioCondition, NcAudioConditionSchema, type NcClipRetentionAsk, NcClipRetentionAskSchema, type NcClipRetentionPlan, NcClipRetentionPlanSchema, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcConfirm, type NcConfirmExpect, NcConfirmExpectSchema, NcConfirmSchema, type NcCrossing, NcCrossingSchema, type NcDelivery, NcDeliverySchema, type NcDeviceStateCondition, NcDeviceStateConditionSchema, type NcHistoryEntry, NcHistoryEntrySchema, type NcHistoryFilter, NcHistoryFilterSchema, type NcHistoryRecordKind, NcHistoryRecordKindSchema, type NcHistoryStatus, NcHistoryStatusSchema, type NcHistorySubject, NcHistorySubjectSchema, type NcHookBindings, NcHookBindingsSchema, type NcLegacyRuleActionSequence, NcLegacyRuleActionSequenceSchema, type NcLinkedCameraMode, NcLinkedCameraModeSchema, type NcMediaFrame, NcMediaFrameSchema, type NcMediaPolicy, NcMediaPolicySchema, type NcOccupancyCondition, NcOccupancyConditionSchema, type NcPlateMatcher, NcPlateMatcherSchema, type NcRule, type NcRuleAction, NcRuleActionSchema, type NcRuleActionSequence, NcRuleActionSequenceSchema, type NcRuleActions, NcRuleActionsSchema, type NcRuleClearableKey, NcRuleClearableKeySchema, type NcRuleInput, NcRuleInputSchema, NcRuleKindSchema, type NcRuleLastRun, NcRuleLastRunSchema, type NcRuleLastRuns, NcRuleLastRunsSchema, type NcRuleNotificationButton, NcRuleNotificationButtonSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcRuleUpdateInput, NcRuleUpdateInputSchema, type NcSceneCondition, NcSceneConditionSchema, type NcSchedule, NcScheduleSchema, type NcScheduleWindow, NcScheduleWindowSchema, type NcSensorTransition, NcSensorTransitionSchema, type NcSharedSequence, type NcSharedSequenceInput, NcSharedSequenceInputSchema, NcSharedSequenceSchema, type NcSnooze, type NcSnoozeInput, NcSnoozeInputSchema, NcSnoozeSchema, type NcSnoozeScope, NcSnoozeScopeSchema, type NcSnoozeSuppressed, NcSnoozeSuppressedSchema, type NcStateSummaryPreview, type NcStateSummaryPreviewRow, NcStateSummaryPreviewRowSchema, NcStateSummaryPreviewSchema, type NcStateSummaryPreviewSection, NcStateSummaryPreviewSectionSchema, type NcStateSummarySectionId, NcStateSummarySectionIdSchema, type NcStateSummarySplit, NcStateSummarySplitSchema, type NcSystemEventCondition, NcSystemEventConditionSchema, type NcSystemEventDelivery, type NcSystemEventDeliveryMode, NcSystemEventDeliveryModeSchema, NcSystemEventDeliverySchema, type NcSystemEventKind, NcSystemEventKindSchema, type NcTemplateFamily, NcTemplateFamilySchema, type NcTemplateField, NcTemplateFieldSchema, type NcTemplatePreview, type NcTemplatePreviewInput, NcTemplatePreviewInputSchema, NcTemplatePreviewSchema, type NcTemplateVarContext, NcTemplateVarContextSchema, type NcTemplateVarDescriptor, NcTemplateVarDescriptorSchema, type NcTemplateVarGroup, NcTemplateVarGroupSchema, type NcTemplateVarKind, NcTemplateVarKindSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
|
|
90
90
|
export { type IOauthIntegrationProvider, type OauthIntegrationDescriptor, OauthIntegrationDescriptorSchema, oauthIntegrationCapability, } from './oauth-integration.cap.js';
|
|
91
91
|
export { AnalyticsLtsSeriesSchema, type AudioEvent, type AudioEventDraft, AudioEventSchema, type DetectionSource, DetectionSourceSchema, EVENT_DENSITY_BATCH_MAX, type EventDensityBucket, EventDensityBucketSchema, type EventDensityForDevice, EventDensityForDeviceSchema, type EventKind, type EventKindCategory, EventKindCategorySchema, type EventKindDescriptor, EventKindDescriptorSchema, type EventKindIcon, EventKindIconSchema, EventKindSchema, type EventKindsForDevice, EventKindsForDeviceSchema, type EventMediaKindBreakdown, type EventMediaKindFootprint, type EventPruneCounts, type EventStoreDeviceFootprint, type EventStoreFootprint, type IPipelineAnalyticsProvider, type KeyEvent, KeyEventSchema, type KeyEventsForDevice, type LabelAttribution, LabelAttributionSchema, type LabelTier, LabelTierSchema, LTS_SCOPE_CLASS_SEPARATOR, type LtsBucket, LtsBucketSchema, MAX_TRACK_DEBUG_NOTE_LEN, type MediaFile, type MediaFileBytes, type MediaFileInfo, MediaFileInfoSchema, type MediaFileKind, MediaFileKindEnum, type MediaFileRef, MediaFileRefSchema, MediaFileSchema, type MotionEvent, type MotionEventDraft, MotionEventSchema, type ObjectEvent, type ObjectEventDraft, ObjectEventSchema, occupancyScope, parseOccupancyScope, pipelineAnalyticsCapability, type RebuildObjectEmbeddingsRefusal, RebuildObjectEmbeddingsRefusalSchema, type RecentTracksPage, RecentTracksPageSchema, type RecentTracksQuery, RecentTracksQueryInput, type RetrainAnnotation, type RetrainAnnotationDraft, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, type RetrainAssistResult, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, type RetrainFrame, type RetrainFrameCandidate, RetrainFrameCandidateSchema, type RetrainFrameList, RetrainFrameListSchema, RetrainFrameSchema, type RetrainFrameSelection, RetrainFrameSelectionSchema, type RetrainMacroClass, RetrainMacroClassSchema, type RetrainStatus, RetrainStatusSchema, type RetrainTrack, RetrainTrackSchema, type RetrainTransitionResult, RetrainTransitionResultSchema, type ScoredObjectEvent, ScoredObjectEventSchema, type SensorEvent, SensorEventSchema, type Track, type TrackCascadeCounts, TrackCascadeCountsSchema, type TrackEnvelope, TrackEnvelopeSchema, TrackedDetectionSchema, type TrackFlags, type TrackFlagsPatch, TrackFlagsPatchSchema, TrackFlagsSchema, type TrackProjection, TrackProjectionSchema, TrackSchema, type TrackSource, TrackSourceSchema, type TrackState, TrackStateSchema, type TrackZoneFilter, TrackZoneFilterSchema, type TrainingExportDeviceTotals, TrainingExportDeviceTotalsSchema, type TrainingExportSummary, TrainingExportSummarySchema, type ZoneCrossing, type ZoneCrossingDirection, ZoneCrossingDirectionSchema, ZoneCrossingSchema, } from './pipeline-analytics.cap.js';
|
|
92
92
|
export type { EffectiveTuning, EffectiveTuningInput, NativeCropRef, PipelineStepInputOutput, PipelineValidationIssue, PipelineValidationResult, } from './pipeline-executor.cap.js';
|
|
@@ -94,7 +94,7 @@ export { EffectiveTuningSchema, ModelSubstitutionSchema, NativeCropRefSchema, Pi
|
|
|
94
94
|
export type { CameraAssignmentStatus, CameraAudioStatus, CameraBrokerProfile, CameraBrokerStatus, CameraDecoderShm, CameraDecoderStatus, CameraDetectionPhase, CameraDetectionProvisioning, CameraDetectionProvisioningState, CameraDetectionStatus, CameraMotionStatus, CameraRecordingMode, CameraRecordingStatus, CameraSourceStatus, CameraSourceStream, CameraStatus, CameraStatusDegradation, CameraStatusDegradationReason, CameraStatusStage, ClusterModelChoice, ClusterModelChoiceUnreadableReason, DiskReconcileJob, InferenceDeviceExclusionReason, IngestOwner, NodeInferenceDevice, NodeInferenceDevices, OccupancyLookAnswer, OccupancyLookRefusal, OccupancyLookRequest, SetCameraSensorsInput, } from './pipeline-orchestrator.cap.js';
|
|
95
95
|
export { AgentLoadSummarySchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMotionStatusSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusDegradationReasonSchema, CameraStatusDegradationSchema, CameraStatusSchema, CameraStatusStageSchema, CapabilityBindingsSchema, CLUSTER_MODEL_CHOICE_UNREADABLE_REASONS, ClusterModelChoiceSchema, DiskReconcileJobSchema, GlobalMetricsSchema, INFERENCE_DEVICE_EXCLUSION_REASONS, InferenceDeviceExclusionReasonSchema, IngestOwnerSchema, OccupancyLookAnswerSchema, OccupancyLookRefusalSchema, OccupancyLookRequestSchema, PipelineAssignmentSchema, pipelineOrchestratorCapability, SetCameraSensorsInputSchema, } from './pipeline-orchestrator.cap.js';
|
|
96
96
|
export type { DetailParent, DetailResult, MotionSource, MotionSources, OccupancyBurstRefusal, ParkedFrameKind, ParkedTrackFrame, ParkRefusal, ParkTrackFrameResult, ReportMotionInput, RunDetailSubtreeInput, RunDetailSubtreeResult, RunnerFrameSource, RunnerInferenceDevice, RunnerJumpStepProvisioning, RunStatelessStepInput, RunStatelessStepResult, StatelessStepRefusal, } from './pipeline-runner.cap.js';
|
|
97
|
-
export { type DetectionSources, DetectionSourcesSchema, FrameLazyCountersSchema, FrameLazyMetricsSchema, MOTION_SOURCE_LABELS, MotionSourceEnum, MotionSourcesSchema, motionSourceLabel, type NativeCropBbox, NativeCropBboxSchema, NativeCropResultSchema, OccupancyBurstRefusalSchema, ParkedFrameKindSchema, ParkedTrackFrameSchema, ParkRefusalSchema, ParkTrackFrameResultSchema, pipelineRunnerCapability, ReportMotionInputSchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerJumpStepProvisioningSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, } from './pipeline-runner.cap.js';
|
|
97
|
+
export { type DetectionSources, DetectionSourcesSchema, FrameLazyCountersSchema, FrameLazyMetricsSchema, MOTION_SOURCE_LABELS, MotionSourceEnum, MotionSourcesSchema, motionSourceLabel, type NativeCropBbox, NativeCropBboxSchema, NativeCropResultSchema, OccupancyBurstRefusalSchema, ParkedFrameKindSchema, ParkedTrackFrameSchema, ParkRefusalSchema, ParkTrackFrameResultSchema, pipelineRunnerCapability, ReportMotionInputSchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerJumpStepProvisioningSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, type SessionTrigger, SessionTriggerSchema, } from './pipeline-runner.cap.js';
|
|
98
98
|
export type { AudioClassifyOutcome, AudioNotClassifiedReason, } from './schemas/detection-shared.js';
|
|
99
99
|
export { AUDIO_NOT_CLASSIFIED_REASONS, AudioChunkInputSchema, AudioClassificationLabelSchema, AudioClassifyOutcomeSchema, AudioLevelSchema, BoundingBoxSchema, FrameInputSchema, SpatialDetectionSchema, } from './schemas/detection-shared.js';
|
|
100
100
|
export { CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, OrchestratorMetricsSchema, } from './schemas/orchestrator-metrics.js';
|
|
@@ -125,6 +125,7 @@ export type { IVectorStoreProvider } from './vector-store.cap.js';
|
|
|
125
125
|
export { isVectorIndexDimConflict, VECTOR_INDEX_DIM_CONFLICT, VectorDeclareIndexInputSchema, VectorDeleteByFilterInputSchema, VectorDeleteInputSchema, VectorDeleteResultSchema, type VectorFilter, VectorFilterSchema, VectorGetInputSchema, VectorGetResultSchema, type VectorItem, VectorItemSchema, type VectorMatch, VectorMatchSchema, type VectorMetadata, VectorMetadataSchema, type VectorMetric, VectorMetricSchema, VectorQueryInputSchema, VectorQueryResultSchema, VectorStatsInputSchema, VectorStatsResultSchema, VectorUpsertInputSchema, VectorUpsertResultSchema, vectorIndexDimConflictError, vectorStoreCapability, } from './vector-store.cap.js';
|
|
126
126
|
export type { Clip, ClipBytes, ClipBytesOffer, ClipPlayback, ClipPlaybackOptions, ClipSource, ClipSourceAvailability, ClipStillDisposition, ClipStillRefusalCode, ClipStreamAudio, ClipStreamAudioReason, ClipStreamDial, ClipWake, IVideoclipsProvider, } from './videoclips.cap.js';
|
|
127
127
|
export { CLIP_BROKER_PACED_RATES, CLIP_PLAYBACK_OPTIONS, CLIP_REALTIME_SOURCE_RATES, CLIP_REASON_HEADER_MAX, CLIP_STILL_DISPOSITION_HEADER, CLIP_STILL_REASON_CODE_HEADER, CLIP_STILL_REASON_HEADER, CLIP_STREAM_SOURCE_RATES, CLIP_STREAM_TRANSPORT_HEADER, ClipBytesOfferSchema, ClipBytesSchema, ClipPlaybackOptionsSchema, ClipPlaybackSchema, ClipSchema, ClipSourceAvailabilitySchema, ClipSourceSchema, ClipStillDispositionSchema, ClipStillRefusalCodeSchema, ClipStreamAudioReasonSchema, ClipStreamAudioSchema, ClipStreamDialSchema, ClipWakeSchema, clipReasonHeaderValue, MAX_CLIP_EVENT_IDS, MAX_CLIP_LABELS, VIDEOCLIPS_MAX_OFFER_BYTES, VIDEOCLIPS_MAX_READ_BYTES, videoclipsCapability, } from './videoclips.cap.js';
|
|
128
|
+
export { buildViewerLink, CAMSTACK_APP_LINK_ORIGIN, HUB_VIEWER_MOUNT, isAppLinkBase, type NotificationLinkEndpoint, pickAppLinkHub, toAppLinkHubOrigin, type ViewerDestination, type ViewerLinkBase, type ViewerLinkForm, type ViewerLinkInput, viewerLinkBaseOf, } from './viewer-link-url.js';
|
|
128
129
|
export type { IViewerUiProvider } from './viewer-ui.cap.js';
|
|
129
130
|
export { viewerUiCapability } from './viewer-ui.cap.js';
|
|
130
131
|
export { type IWebrtcSessionProvider, WEBRTC_CLIMB_HOLD_CODES, WEBRTC_TRY_BLOCKERS, type WebrtcClientHints, type WebrtcClimbHold, type WebrtcClimbHoldCode, WebrtcClimbHoldSchema, type WebrtcLadderDecision, WebrtcLadderDecisionSchema, type WebrtcSessionDebug, WebrtcSessionDebugSchema, type WebrtcStreamChoice, WebrtcStreamChoiceSchema, type WebrtcStreamTarget, WebrtcStreamTargetSchema, type WebrtcTierFailure, WebrtcTierFailureSchema, type WebrtcTryBlocker, webrtcClientHintsSchema, webrtcSessionCapability, } from './webrtc-session.cap.js';
|
|
@@ -173,7 +174,7 @@ export { type BacklightMode, BacklightModeSchema, type ExposureMode, ExposureMod
|
|
|
173
174
|
export { AvailableIntegrationTypeSchema, CreateIntegrationInputSchema, DeleteIntegrationResultSchema, type IIntegrationsProvider, IntegrationLiteSchema, type IntegrationTestConnectionResult, type IntegrationTestConnectionStatus, IntegrationWithStateSchema, integrationsCapability, TestConnectionResultSchema, TestConnectionStatusEnum, UpdateIntegrationInputSchema, } from './integrations.cap.js';
|
|
174
175
|
export { type IIntercomProvider, type IntercomAbility, IntercomAbilitySchema, type IntercomStatus, IntercomStatusSchema, intercomCapability, } from './intercom.cap.js';
|
|
175
176
|
export { type DeviceCodeSeverity, DeviceCodeSeveritySchema, type ILawnMowerControlProvider, type LawnMowerActivity, LawnMowerActivitySchema, type LawnMowerControlStatus, LawnMowerControlStatusSchema, lawnMowerControlCapability, } from './lawn-mower-control.cap.js';
|
|
176
|
-
export { type AdvertisedLocalPort, type ConnectionEndpoint, type ILocalNetworkProvider, type LocalInterface, localNetworkCapability, } from './local-network.cap.js';
|
|
177
|
+
export { type AdvertisedLocalPort, type ConnectionEndpoint, type ILocalNetworkProvider, type LocalInterface, localNetworkCapability, type NotificationEndpoint, } from './local-network.cap.js';
|
|
177
178
|
export { type ILockControlProvider, type LockControlStatus, LockControlStatusSchema, type LockState, LockStateSchema, lockControlCapability, } from './lock-control.cap.js';
|
|
178
179
|
export { type MaskGridDims, MaskGridDimsSchema, type MaskGridShape, MaskGridShapeSchema, type MaskLineShape, MaskLineShapeSchema, type MaskPoint, MaskPointSchema, type MaskPolygonShape, MaskPolygonShapeSchema, type MaskPolygonVertices, MaskPolygonVerticesSchema, type MaskRectShape, MaskRectShapeSchema, type MaskShape, type MaskShapeKind, MaskShapeKindSchema, MaskShapeSchema, } from './mask-shape.js';
|
|
179
180
|
export { type IMediaPlayerProvider, type MediaInfo, type MediaPlayerRepeat, MediaPlayerRepeatSchema, type MediaPlayerState, MediaPlayerStateSchema, type MediaPlayerStatus, MediaPlayerStatusSchema, mediaPlayerCapability, } from './media-player.cap.js';
|
|
@@ -189,7 +190,7 @@ export { ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, type I
|
|
|
189
190
|
export { type INotifierProvider, type NotifierAction, type NotifierPriority, type NotifierSendInput, type NotifierSendResult, type NotifierStatus, NotifierStatusSchema, type NotifierSupports, notifierCapability, } from './notifier.cap.js';
|
|
190
191
|
export { type INumericSensorProvider, type NumericSensorStatus, NumericSensorStatusSchema, numericSensorCapability, } from './numeric-sensor.cap.js';
|
|
191
192
|
export { type IOsdProvider, type OsdOverlay, type OsdOverlayKind, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, type OsdPosition, OsdPositionEnum, type OsdStatus, OsdStatusSchema, osdCapability, } from './osd.cap.js';
|
|
192
|
-
export { type IOsdManagerProvider, type OsdNamedTemplate, OsdNamedTemplateSchema, type OsdRenderOutcome, OsdRenderOutcomeEnum, type OsdRenderResult, OsdRenderResultSchema, type OsdSlotBinding, OsdSlotBindingSchema, type OsdSlotView, OsdSlotViewSchema, type OsdSource, type OsdSourceOption, OsdSourceOptionSchema, OsdSourceSchema, type OsdSourceValueType, OsdSourceValueTypeEnum, type OsdTemplateBinding, OsdTemplateBindingSchema, type OsdTemplateFormat, OsdTemplateFormatSchema, type
|
|
193
|
+
export { type IOsdManagerProvider, type OsdNamedTemplate, OsdNamedTemplateSchema, type OsdRenderOutcome, OsdRenderOutcomeEnum, type OsdRenderResult, OsdRenderResultSchema, type OsdSlotBinding, OsdSlotBindingSchema, type OsdSlotView, OsdSlotViewSchema, type OsdSource, type OsdSourceOption, OsdSourceOptionSchema, OsdSourceSchema, type OsdSourceValueType, OsdSourceValueTypeEnum, type OsdTemplateBinding, OsdTemplateBindingSchema, type OsdTemplateFormat, OsdTemplateFormatSchema, type OsdTemplatePick, OsdTemplatePickSchema, type OsdTemplateTokenKind, OsdTemplateTokenKindSchema, osdManagerCapability, } from './osd-manager.cap.js';
|
|
193
194
|
export { type IPetFeederProvider, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, type PetFeederStatus, PetFeederStatusSchema, petFeederCapability, } from './pet-feeder.cap.js';
|
|
194
195
|
export { type IPlateGalleryProvider, type PlateInfo, plateGalleryCapability, type Vehicle, type VehicleSampleInfo, } from './plate-gallery.cap.js';
|
|
195
196
|
export { type HardwareDecodeAccels, type HardwareEncoderId, type HardwareEncoderProbe, type HardwareEncoders, type IPlatformProbeProvider, platformProbeCapability, } from './platform-probe.cap.js';
|
|
@@ -60,6 +60,7 @@ declare const ConnectionEndpointSchema: z.ZodObject<{
|
|
|
60
60
|
loopback: "loopback";
|
|
61
61
|
"lan-ipv4": "lan-ipv4";
|
|
62
62
|
"lan-ipv6": "lan-ipv6";
|
|
63
|
+
"app-link": "app-link";
|
|
63
64
|
}>;
|
|
64
65
|
interfaceKind: z.ZodEnum<{
|
|
65
66
|
public: "public";
|
|
@@ -86,13 +87,14 @@ declare const AdvertisedLocalPortSchema: z.ZodObject<{
|
|
|
86
87
|
}, z.core.$strip>;
|
|
87
88
|
export type AdvertisedLocalPort = z.infer<typeof AdvertisedLocalPortSchema>;
|
|
88
89
|
/**
|
|
89
|
-
* The
|
|
90
|
-
*
|
|
91
|
-
*
|
|
90
|
+
* The address flagged for notification links. `baseUrl: null` = AUTO, which
|
|
91
|
+
* since D709 is the CamStack app link; `resolved` reports the effective value,
|
|
92
|
+
* so the UI can show it either way.
|
|
92
93
|
*/
|
|
93
94
|
declare const NotificationEndpointSchema: z.ZodObject<{
|
|
94
95
|
baseUrl: z.ZodNullable<z.ZodString>;
|
|
95
96
|
resolved: z.ZodNullable<z.ZodString>;
|
|
97
|
+
appLinkHub: z.ZodNullable<z.ZodString>;
|
|
96
98
|
}, z.core.$strip>;
|
|
97
99
|
export type NotificationEndpoint = z.infer<typeof NotificationEndpointSchema>;
|
|
98
100
|
/**
|
|
@@ -185,7 +187,7 @@ export declare const localNetworkCapability: {
|
|
|
185
187
|
* every client a second authority on a socket only the hub binds. A viewer
|
|
186
188
|
* configured with a port-less public URL (`https://camstack.example.top`)
|
|
187
189
|
* infers 443 from the scheme, asks with 443, and was handed
|
|
188
|
-
* `https://192.168.
|
|
190
|
+
* `https://192.168.10.9:443` for a hub listening on 4443. That candidate
|
|
189
191
|
* cannot ever answer, and losing its race reads in the log exactly like
|
|
190
192
|
* "the LAN was tried and it was slower" — so an operator sitting on his own
|
|
191
193
|
* WiFi stayed on the public tunnel for weeks, with the LAN candidate born
|
|
@@ -207,6 +209,7 @@ export declare const localNetworkCapability: {
|
|
|
207
209
|
https: "https";
|
|
208
210
|
http: "http";
|
|
209
211
|
}>>;
|
|
212
|
+
includeAppLink: z.ZodOptional<z.ZodBoolean>;
|
|
210
213
|
}, z.core.$strip>, z.ZodObject<{
|
|
211
214
|
endpoints: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
212
215
|
label: z.ZodString;
|
|
@@ -216,6 +219,7 @@ export declare const localNetworkCapability: {
|
|
|
216
219
|
loopback: "loopback";
|
|
217
220
|
"lan-ipv4": "lan-ipv4";
|
|
218
221
|
"lan-ipv6": "lan-ipv6";
|
|
222
|
+
"app-link": "app-link";
|
|
219
223
|
}>;
|
|
220
224
|
interfaceKind: z.ZodEnum<{
|
|
221
225
|
public: "public";
|
|
@@ -241,10 +245,14 @@ export declare const localNetworkCapability: {
|
|
|
241
245
|
}, z.core.$strip>;
|
|
242
246
|
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
243
247
|
/**
|
|
244
|
-
* The
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
+
* The address notification links are flagged with. `baseUrl: null` means
|
|
249
|
+
* AUTO, which is the CamStack app link (D709): viewer taps go through
|
|
250
|
+
* `https://camstack.zentik.app/…?hub=<appLinkHub>` and open the app. Any
|
|
251
|
+
* hub address the palette lists can be flagged instead; then viewer taps,
|
|
252
|
+
* attachment links and action buttons all use it. Signed media and
|
|
253
|
+
* buttons never use the app link — with it flagged (or AUTO) they keep
|
|
254
|
+
* the ranked hub ladder (a configured origin, a connected tunnel, then
|
|
255
|
+
* the LAN), never loopback.
|
|
248
256
|
*
|
|
249
257
|
* Why an explicit marker: the automatic ranking cannot know which of
|
|
250
258
|
* several reachable addresses the RECIPIENT can actually open. A link is
|
|
@@ -255,6 +263,7 @@ export declare const localNetworkCapability: {
|
|
|
255
263
|
readonly getNotificationEndpoint: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
|
|
256
264
|
baseUrl: z.ZodNullable<z.ZodString>;
|
|
257
265
|
resolved: z.ZodNullable<z.ZodString>;
|
|
266
|
+
appLinkHub: z.ZodNullable<z.ZodString>;
|
|
258
267
|
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
259
268
|
/**
|
|
260
269
|
* Mark which endpoint notification artifacts use. `baseUrl: null` restores
|
|
@@ -267,6 +276,7 @@ export declare const localNetworkCapability: {
|
|
|
267
276
|
}, z.core.$strip>, z.ZodObject<{
|
|
268
277
|
baseUrl: z.ZodNullable<z.ZodString>;
|
|
269
278
|
resolved: z.ZodNullable<z.ZodString>;
|
|
279
|
+
appLinkHub: z.ZodNullable<z.ZodString>;
|
|
270
280
|
}, z.core.$strip>, "mutation">;
|
|
271
281
|
/**
|
|
272
282
|
* The endpoints the SDK / viewer races for API access. Empty `baseUrls`
|
|
@@ -2601,8 +2601,9 @@ export declare const NcRuleSchema: z.ZodObject<{
|
|
|
2601
2601
|
}, z.core.$strip>;
|
|
2602
2602
|
export type NcRule = z.infer<typeof NcRuleSchema>;
|
|
2603
2603
|
/**
|
|
2604
|
-
* The state-summary SECTIONS (D647 / D698): the D637 kind groups that
|
|
2605
|
-
* still-true state. `
|
|
2604
|
+
* The state-summary SECTIONS (D647 / D698 / D708): the D637 kind groups that
|
|
2605
|
+
* report a still-true state. `addons` is the crash-looped addons only and
|
|
2606
|
+
* `addon-updates` the addons that are behind (D708 split them). `backups-exports` and `alarm` are not sections — a completed
|
|
2606
2607
|
* job is not an open state, and the alarm stays instant.
|
|
2607
2608
|
*/
|
|
2608
2609
|
export declare const NcStateSummarySectionIdSchema: z.ZodEnum<{
|
|
@@ -2614,6 +2615,7 @@ export declare const NcStateSummarySectionIdSchema: z.ZodEnum<{
|
|
|
2614
2615
|
streams: "streams";
|
|
2615
2616
|
"detection-blind": "detection-blind";
|
|
2616
2617
|
tanks: "tanks";
|
|
2618
|
+
"addon-updates": "addon-updates";
|
|
2617
2619
|
updates: "updates";
|
|
2618
2620
|
}>;
|
|
2619
2621
|
export type NcStateSummarySectionId = z.infer<typeof NcStateSummarySectionIdSchema>;
|
|
@@ -2628,6 +2630,7 @@ export declare const NcStateSummaryPreviewSectionSchema: z.ZodObject<{
|
|
|
2628
2630
|
streams: "streams";
|
|
2629
2631
|
"detection-blind": "detection-blind";
|
|
2630
2632
|
tanks: "tanks";
|
|
2633
|
+
"addon-updates": "addon-updates";
|
|
2631
2634
|
updates: "updates";
|
|
2632
2635
|
}>;
|
|
2633
2636
|
status: z.ZodEnum<{
|
|
@@ -2652,6 +2655,7 @@ export declare const NcStateSummaryPreviewRowSchema: z.ZodObject<{
|
|
|
2652
2655
|
streams: "streams";
|
|
2653
2656
|
"detection-blind": "detection-blind";
|
|
2654
2657
|
tanks: "tanks";
|
|
2658
|
+
"addon-updates": "addon-updates";
|
|
2655
2659
|
updates: "updates";
|
|
2656
2660
|
}>>;
|
|
2657
2661
|
title: z.ZodString;
|
|
@@ -2681,6 +2685,7 @@ export declare const NcStateSummaryPreviewSchema: z.ZodObject<{
|
|
|
2681
2685
|
streams: "streams";
|
|
2682
2686
|
"detection-blind": "detection-blind";
|
|
2683
2687
|
tanks: "tanks";
|
|
2688
|
+
"addon-updates": "addon-updates";
|
|
2684
2689
|
updates: "updates";
|
|
2685
2690
|
}>;
|
|
2686
2691
|
status: z.ZodEnum<{
|
|
@@ -2706,6 +2711,7 @@ export declare const NcStateSummaryPreviewSchema: z.ZodObject<{
|
|
|
2706
2711
|
streams: "streams";
|
|
2707
2712
|
"detection-blind": "detection-blind";
|
|
2708
2713
|
tanks: "tanks";
|
|
2714
|
+
"addon-updates": "addon-updates";
|
|
2709
2715
|
updates: "updates";
|
|
2710
2716
|
}>>;
|
|
2711
2717
|
title: z.ZodString;
|
|
@@ -3473,6 +3479,8 @@ export declare const NcAlarmModeDelaysSchema: z.ZodObject<{
|
|
|
3473
3479
|
timezone: z.ZodOptional<z.ZodString>;
|
|
3474
3480
|
invert: z.ZodOptional<z.ZodBoolean>;
|
|
3475
3481
|
}, z.core.$strip>>;
|
|
3482
|
+
notifyDuringEntryDelay: z.ZodOptional<z.ZodBoolean>;
|
|
3483
|
+
notifySensorRewatched: z.ZodOptional<z.ZodBoolean>;
|
|
3476
3484
|
}, z.core.$strip>;
|
|
3477
3485
|
export type NcAlarmModeDelays = z.infer<typeof NcAlarmModeDelaysSchema>;
|
|
3478
3486
|
/**
|
|
@@ -3505,6 +3513,8 @@ export declare const NcAlarmModeDelaysEditSchema: z.ZodObject<{
|
|
|
3505
3513
|
timezone: z.ZodOptional<z.ZodString>;
|
|
3506
3514
|
invert: z.ZodOptional<z.ZodBoolean>;
|
|
3507
3515
|
}, z.core.$strip>>>;
|
|
3516
|
+
notifyDuringEntryDelay: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
3517
|
+
notifySensorRewatched: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
3508
3518
|
}, z.core.$strip>;
|
|
3509
3519
|
export type NcAlarmModeDelaysEdit = z.infer<typeof NcAlarmModeDelaysEditSchema>;
|
|
3510
3520
|
/** One switch of the alarm table: put ONE device on, or take it off, ONE mode's list. */
|
|
@@ -3684,6 +3694,8 @@ export declare const NcAlarmSettingsSchema: z.ZodObject<{
|
|
|
3684
3694
|
timezone: z.ZodOptional<z.ZodString>;
|
|
3685
3695
|
invert: z.ZodOptional<z.ZodBoolean>;
|
|
3686
3696
|
}, z.core.$strip>>;
|
|
3697
|
+
notifyDuringEntryDelay: z.ZodOptional<z.ZodBoolean>;
|
|
3698
|
+
notifySensorRewatched: z.ZodOptional<z.ZodBoolean>;
|
|
3687
3699
|
}, z.core.$strip>>>;
|
|
3688
3700
|
}, z.core.$strip>;
|
|
3689
3701
|
export type NcAlarmSettings = z.infer<typeof NcAlarmSettingsSchema>;
|
|
@@ -3801,6 +3813,8 @@ export declare const NcAlarmSettingsPatchSchema: z.ZodObject<{
|
|
|
3801
3813
|
timezone: z.ZodOptional<z.ZodString>;
|
|
3802
3814
|
invert: z.ZodOptional<z.ZodBoolean>;
|
|
3803
3815
|
}, z.core.$strip>>>;
|
|
3816
|
+
notifyDuringEntryDelay: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
3817
|
+
notifySensorRewatched: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
3804
3818
|
}, z.core.$strip>>>;
|
|
3805
3819
|
nonBlockingEdit: z.ZodOptional<z.ZodObject<{
|
|
3806
3820
|
mode: z.ZodEnum<{
|
|
@@ -4046,6 +4060,8 @@ export declare const NcAlarmConfigSchema: z.ZodObject<{
|
|
|
4046
4060
|
timezone: z.ZodOptional<z.ZodString>;
|
|
4047
4061
|
invert: z.ZodOptional<z.ZodBoolean>;
|
|
4048
4062
|
}, z.core.$strip>>;
|
|
4063
|
+
notifyDuringEntryDelay: z.ZodOptional<z.ZodBoolean>;
|
|
4064
|
+
notifySensorRewatched: z.ZodOptional<z.ZodBoolean>;
|
|
4049
4065
|
}, z.core.$strip>>>;
|
|
4050
4066
|
}, z.core.$strip>;
|
|
4051
4067
|
profiles: z.ZodOptional<z.ZodObject<{
|
|
@@ -7261,6 +7277,7 @@ export declare const notificationRulesCapability: {
|
|
|
7261
7277
|
streams: "streams";
|
|
7262
7278
|
"detection-blind": "detection-blind";
|
|
7263
7279
|
tanks: "tanks";
|
|
7280
|
+
"addon-updates": "addon-updates";
|
|
7264
7281
|
updates: "updates";
|
|
7265
7282
|
}>;
|
|
7266
7283
|
status: z.ZodEnum<{
|
|
@@ -7286,6 +7303,7 @@ export declare const notificationRulesCapability: {
|
|
|
7286
7303
|
streams: "streams";
|
|
7287
7304
|
"detection-blind": "detection-blind";
|
|
7288
7305
|
tanks: "tanks";
|
|
7306
|
+
"addon-updates": "addon-updates";
|
|
7289
7307
|
updates: "updates";
|
|
7290
7308
|
}>>;
|
|
7291
7309
|
title: z.ZodString;
|
|
@@ -7879,6 +7897,8 @@ export declare const notificationRulesCapability: {
|
|
|
7879
7897
|
timezone: z.ZodOptional<z.ZodString>;
|
|
7880
7898
|
invert: z.ZodOptional<z.ZodBoolean>;
|
|
7881
7899
|
}, z.core.$strip>>;
|
|
7900
|
+
notifyDuringEntryDelay: z.ZodOptional<z.ZodBoolean>;
|
|
7901
|
+
notifySensorRewatched: z.ZodOptional<z.ZodBoolean>;
|
|
7882
7902
|
}, z.core.$strip>>>;
|
|
7883
7903
|
}, z.core.$strip>;
|
|
7884
7904
|
profiles: z.ZodOptional<z.ZodObject<{
|
|
@@ -8039,6 +8059,8 @@ export declare const notificationRulesCapability: {
|
|
|
8039
8059
|
timezone: z.ZodOptional<z.ZodString>;
|
|
8040
8060
|
invert: z.ZodOptional<z.ZodBoolean>;
|
|
8041
8061
|
}, z.core.$strip>>>;
|
|
8062
|
+
notifyDuringEntryDelay: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
8063
|
+
notifySensorRewatched: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
8042
8064
|
}, z.core.$strip>>>;
|
|
8043
8065
|
nonBlockingEdit: z.ZodOptional<z.ZodObject<{
|
|
8044
8066
|
mode: z.ZodEnum<{
|
|
@@ -8142,6 +8164,8 @@ export declare const notificationRulesCapability: {
|
|
|
8142
8164
|
timezone: z.ZodOptional<z.ZodString>;
|
|
8143
8165
|
invert: z.ZodOptional<z.ZodBoolean>;
|
|
8144
8166
|
}, z.core.$strip>>;
|
|
8167
|
+
notifyDuringEntryDelay: z.ZodOptional<z.ZodBoolean>;
|
|
8168
|
+
notifySensorRewatched: z.ZodOptional<z.ZodBoolean>;
|
|
8145
8169
|
}, z.core.$strip>>>;
|
|
8146
8170
|
}, z.core.$strip>;
|
|
8147
8171
|
profiles: z.ZodOptional<z.ZodObject<{
|
|
@@ -8302,6 +8326,8 @@ export declare const notificationRulesCapability: {
|
|
|
8302
8326
|
timezone: z.ZodOptional<z.ZodString>;
|
|
8303
8327
|
invert: z.ZodOptional<z.ZodBoolean>;
|
|
8304
8328
|
}, z.core.$strip>>;
|
|
8329
|
+
notifyDuringEntryDelay: z.ZodOptional<z.ZodBoolean>;
|
|
8330
|
+
notifySensorRewatched: z.ZodOptional<z.ZodBoolean>;
|
|
8305
8331
|
}, z.core.$strip>>>;
|
|
8306
8332
|
}, z.core.$strip>;
|
|
8307
8333
|
profiles: z.ZodOptional<z.ZodObject<{
|
|
@@ -8458,6 +8484,8 @@ export declare const notificationRulesCapability: {
|
|
|
8458
8484
|
timezone: z.ZodOptional<z.ZodString>;
|
|
8459
8485
|
invert: z.ZodOptional<z.ZodBoolean>;
|
|
8460
8486
|
}, z.core.$strip>>;
|
|
8487
|
+
notifyDuringEntryDelay: z.ZodOptional<z.ZodBoolean>;
|
|
8488
|
+
notifySensorRewatched: z.ZodOptional<z.ZodBoolean>;
|
|
8461
8489
|
}, z.core.$strip>>>;
|
|
8462
8490
|
}, z.core.$strip>;
|
|
8463
8491
|
profiles: z.ZodOptional<z.ZodObject<{
|
|
@@ -8616,6 +8644,8 @@ export declare const notificationRulesCapability: {
|
|
|
8616
8644
|
timezone: z.ZodOptional<z.ZodString>;
|
|
8617
8645
|
invert: z.ZodOptional<z.ZodBoolean>;
|
|
8618
8646
|
}, z.core.$strip>>;
|
|
8647
|
+
notifyDuringEntryDelay: z.ZodOptional<z.ZodBoolean>;
|
|
8648
|
+
notifySensorRewatched: z.ZodOptional<z.ZodBoolean>;
|
|
8619
8649
|
}, z.core.$strip>>>;
|
|
8620
8650
|
}, z.core.$strip>;
|
|
8621
8651
|
profiles: z.ZodOptional<z.ZodObject<{
|
|
@@ -8774,6 +8804,8 @@ export declare const notificationRulesCapability: {
|
|
|
8774
8804
|
timezone: z.ZodOptional<z.ZodString>;
|
|
8775
8805
|
invert: z.ZodOptional<z.ZodBoolean>;
|
|
8776
8806
|
}, z.core.$strip>>;
|
|
8807
|
+
notifyDuringEntryDelay: z.ZodOptional<z.ZodBoolean>;
|
|
8808
|
+
notifySensorRewatched: z.ZodOptional<z.ZodBoolean>;
|
|
8777
8809
|
}, z.core.$strip>>>;
|
|
8778
8810
|
}, z.core.$strip>;
|
|
8779
8811
|
profiles: z.ZodOptional<z.ZodObject<{
|
|
@@ -180,6 +180,32 @@ export declare const MotionSourceEnum: z.ZodEnum<{
|
|
|
180
180
|
"device-activity": "device-activity";
|
|
181
181
|
}>;
|
|
182
182
|
export type MotionSource = z.infer<typeof MotionSourceEnum>;
|
|
183
|
+
/**
|
|
184
|
+
* What opened an on-motion detection SESSION: the motion source that passed the
|
|
185
|
+
* camera's `motionSources` gate, and what raised it (the camera itself, or a
|
|
186
|
+
* sensor the operator attached — D672). `sensorName` is the attached sensor's
|
|
187
|
+
* device name as the orchestrator's camera-sensors resolution last read it;
|
|
188
|
+
* absent when unknown or when the camera itself triggered.
|
|
189
|
+
*
|
|
190
|
+
* Carried on the session attach ONLY so the runner's `DetectionPhaseTransition`
|
|
191
|
+
* can say what started the session (D672 rule 11, amended 2026-10-06). The
|
|
192
|
+
* runner never decides anything on it.
|
|
193
|
+
*/
|
|
194
|
+
export declare const SessionTriggerSchema: z.ZodObject<{
|
|
195
|
+
source: z.ZodEnum<{
|
|
196
|
+
onboard: "onboard";
|
|
197
|
+
analyzer: "analyzer";
|
|
198
|
+
"device-activity": "device-activity";
|
|
199
|
+
}>;
|
|
200
|
+
triggeredBy: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
201
|
+
kind: z.ZodLiteral<"camera">;
|
|
202
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
203
|
+
kind: z.ZodLiteral<"sensor">;
|
|
204
|
+
deviceId: z.ZodNumber;
|
|
205
|
+
}, z.core.$strip>], "kind">;
|
|
206
|
+
sensorName: z.ZodOptional<z.ZodString>;
|
|
207
|
+
}, z.core.$strip>;
|
|
208
|
+
export type SessionTrigger = z.infer<typeof SessionTriggerSchema>;
|
|
183
209
|
/**
|
|
184
210
|
* List of motion sources active on a camera. Empty array is valid:
|
|
185
211
|
* "no source" — happens for battery cams without firmware motion when
|
|
@@ -371,6 +397,20 @@ declare const RunnerCameraConfigSchema: z.ZodObject<{
|
|
|
371
397
|
analyzer: "analyzer";
|
|
372
398
|
"device-activity": "device-activity";
|
|
373
399
|
}>>>;
|
|
400
|
+
sessionTrigger: z.ZodOptional<z.ZodObject<{
|
|
401
|
+
source: z.ZodEnum<{
|
|
402
|
+
onboard: "onboard";
|
|
403
|
+
analyzer: "analyzer";
|
|
404
|
+
"device-activity": "device-activity";
|
|
405
|
+
}>;
|
|
406
|
+
triggeredBy: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
407
|
+
kind: z.ZodLiteral<"camera">;
|
|
408
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
409
|
+
kind: z.ZodLiteral<"sensor">;
|
|
410
|
+
deviceId: z.ZodNumber;
|
|
411
|
+
}, z.core.$strip>], "kind">;
|
|
412
|
+
sensorName: z.ZodOptional<z.ZodString>;
|
|
413
|
+
}, z.core.$strip>>;
|
|
374
414
|
detectionSources: z.ZodDefault<z.ZodPreprocess<z.ZodArray<z.ZodEnum<{
|
|
375
415
|
pipeline: "pipeline";
|
|
376
416
|
onboard: "onboard";
|
|
@@ -660,6 +700,20 @@ export declare const pipelineRunnerCapability: {
|
|
|
660
700
|
analyzer: "analyzer";
|
|
661
701
|
"device-activity": "device-activity";
|
|
662
702
|
}>>>;
|
|
703
|
+
sessionTrigger: z.ZodOptional<z.ZodObject<{
|
|
704
|
+
source: z.ZodEnum<{
|
|
705
|
+
onboard: "onboard";
|
|
706
|
+
analyzer: "analyzer";
|
|
707
|
+
"device-activity": "device-activity";
|
|
708
|
+
}>;
|
|
709
|
+
triggeredBy: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
710
|
+
kind: z.ZodLiteral<"camera">;
|
|
711
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
712
|
+
kind: z.ZodLiteral<"sensor">;
|
|
713
|
+
deviceId: z.ZodNumber;
|
|
714
|
+
}, z.core.$strip>], "kind">;
|
|
715
|
+
sensorName: z.ZodOptional<z.ZodString>;
|
|
716
|
+
}, z.core.$strip>>;
|
|
663
717
|
detectionSources: z.ZodDefault<z.ZodPreprocess<z.ZodArray<z.ZodEnum<{
|
|
664
718
|
pipeline: "pipeline";
|
|
665
719
|
onboard: "onboard";
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* viewer-link-url — the ONE builder for a link that opens a VIEWER page
|
|
3
|
+
* (a camera at an instant, the events timeline, the notification centre),
|
|
4
|
+
* and the one definition of the "CamStack app link" address (D709).
|
|
5
|
+
*
|
|
6
|
+
* The address a link points at is the endpoint the operator FLAGS for
|
|
7
|
+
* notifications on the admin Network page (`local-network`'s notification
|
|
8
|
+
* endpoint — one flag, one store). Among the addresses that page lists,
|
|
9
|
+
* `local-network` adds one generic entry: the app link,
|
|
10
|
+
* `https://camstack.zentik.app`, and that entry carries the flag BY DEFAULT.
|
|
11
|
+
* Two forms follow from which address is flagged:
|
|
12
|
+
*
|
|
13
|
+
* - `app` — the app link is flagged:
|
|
14
|
+
* `https://camstack.zentik.app/<path>?<query>&hub=<hub origin>`. The central
|
|
15
|
+
* domain the native app claims as a Universal Link / App Link
|
|
16
|
+
* (docs/design/2026-08-19-central-link-redirect.md): on a phone with the app
|
|
17
|
+
* it opens the app on that page; anywhere else the hosted viewer opens and
|
|
18
|
+
* `hub=` tells it which hub to talk to. `hub=` is filled automatically from
|
|
19
|
+
* the hub's own best public HTTPS address ({@link pickAppLinkHub}).
|
|
20
|
+
* - `hub` — one of the hub's own addresses is flagged:
|
|
21
|
+
* `<hub base>/viewer/camstack/<path>?<query>` (the pre-D709 form).
|
|
22
|
+
*
|
|
23
|
+
* The paths are the viewer's own routes, verbatim (§2.3 of that design), and
|
|
24
|
+
* only the families the app claims in its AASA (`camstack/web-server/
|
|
25
|
+
* app-links.ts`): `/camera/*`, `/events*`, `/notifications*`. A destination
|
|
26
|
+
* is a typed union rather than a free path so a caller cannot mint a central
|
|
27
|
+
* link the domain would 404.
|
|
28
|
+
*
|
|
29
|
+
* The admin UI is NOT a viewer destination: the central site hosts the
|
|
30
|
+
* viewer only, so an admin page (an addon update row → `/system/addons`)
|
|
31
|
+
* always points at the hub itself — see `system-event-tap-url.ts`. Nor is the
|
|
32
|
+
* app link a HUB address: signed media and action-button links never use it.
|
|
33
|
+
*/
|
|
34
|
+
import type { ConnectionEndpoint } from './local-network.cap.js';
|
|
35
|
+
/** The central link domain the viewer app claims (Universal Links / App Links). */
|
|
36
|
+
export declare const CAMSTACK_APP_LINK_ORIGIN = "https://camstack.zentik.app";
|
|
37
|
+
/** Where the hub serves the viewer SPA. */
|
|
38
|
+
export declare const HUB_VIEWER_MOUNT = "/viewer/camstack";
|
|
39
|
+
/** Which form a viewer link takes — see the module header. */
|
|
40
|
+
export type ViewerLinkForm = 'hub' | 'app';
|
|
41
|
+
/**
|
|
42
|
+
* The base a viewer link is built on. `hub`: the flagged hub address (null =
|
|
43
|
+
* none reachable — no link). `app`: the hub origin to carry as `hub=` (null =
|
|
44
|
+
* none known — the link is still minted, without `hub=`; the central page then
|
|
45
|
+
* asks once, design §5).
|
|
46
|
+
*/
|
|
47
|
+
export interface ViewerLinkBase {
|
|
48
|
+
readonly form: ViewerLinkForm;
|
|
49
|
+
readonly hubBaseUrl: string | null;
|
|
50
|
+
}
|
|
51
|
+
/** A viewer page a link may open. One member per AASA-claimed route family. */
|
|
52
|
+
export type ViewerDestination = {
|
|
53
|
+
readonly kind: 'camera';
|
|
54
|
+
readonly deviceId: number;
|
|
55
|
+
/** Recorded seek instant (`?at=`), epoch ms. Absent = live. */
|
|
56
|
+
readonly atMs?: number;
|
|
57
|
+
} | {
|
|
58
|
+
readonly kind: 'events';
|
|
59
|
+
} | {
|
|
60
|
+
readonly kind: 'notifications';
|
|
61
|
+
};
|
|
62
|
+
export interface ViewerLinkInput {
|
|
63
|
+
readonly base: ViewerLinkBase;
|
|
64
|
+
readonly destination: ViewerDestination;
|
|
65
|
+
}
|
|
66
|
+
/** True when `baseUrl` names the CamStack app link rather than a hub address. */
|
|
67
|
+
export declare function isAppLinkBase(baseUrl: string | null | undefined): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* The fields of `local-network.getNotificationEndpoint` a viewer link reads.
|
|
70
|
+
* `appLinkHub` is absent on a pre-D709 hub, which never flags the app link.
|
|
71
|
+
*/
|
|
72
|
+
export interface NotificationLinkEndpoint {
|
|
73
|
+
readonly baseUrl: string | null;
|
|
74
|
+
readonly resolved: string | null;
|
|
75
|
+
readonly appLinkHub?: string | null;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The base a viewer link is built on, from the flagged notification address:
|
|
79
|
+
* the effective address is the explicit choice, else AUTO's `resolved`. The
|
|
80
|
+
* one reading of that answer — the NC's tap and the Network page's preview
|
|
81
|
+
* both go through it.
|
|
82
|
+
*/
|
|
83
|
+
export declare function viewerLinkBaseOf(endpoint: NotificationLinkEndpoint): ViewerLinkBase;
|
|
84
|
+
/**
|
|
85
|
+
* Reduce a base URL to the bare origin the central page accepts as `hub=`,
|
|
86
|
+
* or `null` when it cannot be one: not http(s), carries credentials, or does
|
|
87
|
+
* not parse. A path/query/fragment is dropped — the central page mounts the
|
|
88
|
+
* viewer under the origin itself.
|
|
89
|
+
*/
|
|
90
|
+
export declare function toAppLinkHubOrigin(baseUrl: string): string | null;
|
|
91
|
+
/**
|
|
92
|
+
* The hub address an app link carries as `hub=`, chosen from the hub's OWN
|
|
93
|
+
* advertised palette so it always agrees with what the Network page lists:
|
|
94
|
+
* the public tunnel first, then the mesh (Tailscale MagicDNS) — HTTPS only,
|
|
95
|
+
* because the app and the hosted viewer reach it from off the LAN. `null`
|
|
96
|
+
* when the hub advertises neither.
|
|
97
|
+
*/
|
|
98
|
+
export declare function pickAppLinkHub(endpoints: readonly ConnectionEndpoint[]): string | null;
|
|
99
|
+
/**
|
|
100
|
+
* The link for a viewer destination, or `null` when none can be minted: an
|
|
101
|
+
* unknown destination, or the `hub` form with no reachable base (a dead link
|
|
102
|
+
* is worse than none).
|
|
103
|
+
*/
|
|
104
|
+
export declare function buildViewerLink(input: ViewerLinkInput): string | null;
|
package/dist/index.d.ts
CHANGED
|
@@ -244,7 +244,7 @@ export { conditionExclusionReason, conditionVisibleForKind, defaultDeliveryForSe
|
|
|
244
244
|
export { isScheduleActive } from './notification/schedule.js';
|
|
245
245
|
export { isAlarmControllableCap, NC_ALARM_CONTROLLABLE_CAPS, NC_ALARM_OPENING_EVENT_KINDS, NC_SENSOR_TRANSITION_NEVER_FIRES_WARNING, type NcAlarmControllableCap, type NcAlarmMembershipSubject, type NcAlarmOpeningEventKind, ruleAutoTriggersAlarm, ruleBelongsToAlarm, ruleGatedOnArmedState, sensorTransitionNeverFires, } from './notification/alarm-membership.js';
|
|
246
246
|
export { alarmDeviceBlocksArming, alarmDeviceSecureOnArm, type AlarmDeviceBlocksInput, type AlarmDeviceSecureOnArmInput, type NcAlarmSecureActuation, secureActuationFor, } from './notification/alarm-controllable.js';
|
|
247
|
-
export { alarmPatchLanded, applyBlockingEdit, applyModeDelaysEdits, applyModeDeviceListEdit, applyNonBlockingEdit, applySecureOnArmEdit, derivePostTriggeredAction, NC_ALARM_DELAY_FIELDS, type NcAlarmDelayField, type NcAlarmDelaySettings, type NcAlarmDelaySource, type NcAlarmModeDeviceListEditResult, type NcAlarmNonBlockingEditResult, type NcAlarmResolvedDelays, resolveModeDelays, } from './notification/alarm-settings.js';
|
|
247
|
+
export { alarmPatchLanded, applyBlockingEdit, applyModeDelaysEdits, applyModeDeviceListEdit, applyNonBlockingEdit, applySecureOnArmEdit, derivePostTriggeredAction, NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC, NC_ALARM_DELAY_FIELDS, NC_ALARM_NOTIFY_FIELDS, type NcAlarmDelayField, type NcAlarmDelaySettings, type NcAlarmDelaySource, type NcAlarmModeDeviceListEditResult, type NcAlarmModeNotifyPolicy, type NcAlarmNonBlockingEditResult, type NcAlarmNotifyField, type NcAlarmResolvedDelays, resolveModeDelays, resolveModeNotifyPolicy, } from './notification/alarm-settings.js';
|
|
248
248
|
export { activateAlarmProfile, alarmProfileById, cloneAlarmSettings, createAlarmProfile, deleteAlarmProfile, ensureAlarmProfiles, isDefaultAlarmProfileId, NC_ALARM_DEFAULT_PROFILE_ID, NC_ALARM_DEFAULT_PROFILE_NAME, NC_ALARM_SYSTEM_DEFAULT_DELAYS, ncAlarmSystemDefaultSettings, type NcAlarmProfileCreateSource, type NcAlarmProfileRecord, type NcAlarmProfilesMutationResult, type NcAlarmProfilesRefuseReason, type NcAlarmProfilesState, renameAlarmProfile, syncActiveAlarmProfileSettings, } from './notification/alarm-profiles.js';
|
|
249
249
|
export { NC_SENSOR_RAISED_FIELD_BY_KIND, NC_SENSOR_TRANSITION_KINDS, NC_SENSOR_TRANSITION_UNSUPPORTED_REASON, sensorRaisedOf, sensorTransitionOffered, } from './notification/sensor-raised.js';
|
|
250
250
|
export { NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS, NC_TEMPLATE_VARS, isHeldBackTemplateVar, isKnownTemplateVar, servedTemplateVars, templateVarDeliveryApplies, templateVarKindApplies, templateVarSystemEventApplies, templateVarsFor, } from './notification/template-vars.js';
|