@camstack/types 1.2.356 → 1.2.358

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/addon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-BFVY4_xY.js");
2
+ const require_sleep = require("./sleep-CEqsJkV5.js");
3
3
  const require_event_category = require("./event-category-T43rdQWR.js");
4
4
  const require_err_msg = require("./err-msg-Dx2Kor0g.js");
5
5
  //#region src/generated/cap-input-defaults.ts
@@ -593,6 +593,10 @@ var CAP_STATE_LEAVES = Object.freeze({
593
593
  "path": "lastContactAt",
594
594
  "valueType": "number"
595
595
  },
596
+ {
597
+ "path": "lastFullRefreshAt",
598
+ "valueType": "number"
599
+ },
596
600
  {
597
601
  "path": "binary",
598
602
  "valueType": "boolean"
package/dist/addon.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as ReadinessRegistry, A as viewerUiCapability, At as clearKnownSecrets, C as isZodSecret, Cn as isSecretMarker, Dt as REVALIDATE_AFTER_MS, E as HF_REPO, En as toSecretFieldView, Et as resolveSecretViewsIn, Ft as shortSecretRefHash, Gt as normalizeAddonInitResult, H as expandCapMethods, I as adminUiCapability, It as PEER_BYTES_CHUNK_BYTES, Lt as PEER_BYTES_MAX_OUTSTANDING, Mt as knownSecretCount, Nt as registerKnownSecret, Ot as createSecretsAccess, P as describeCustomActions, Pt as scrubKnownSecrets, Q as MODEL_FORMATS, Rt as PEER_BYTES_STALL_MS, S as collectZodSecretPaths, Sn as isSecretFieldView, Tn as makeSecretMarker, Ut as DisposerChain, Vt as DATAPLANE_SECRET_HEADER, Wt as BaseAddon, X as readNodePin, Y as nodePin, _ as createEventBusSliceSource, an as isSecretRef, bn as classifySecretWrite, c as asString, d as parseJsonUnknown, dn as emitReadiness, en as SECRET_REF_SCHEME, et as ReadinessTimeoutError, f as hfModelUrl, g as createDeviceProxy, h as isDeviceScopedCap, in as globalSecretScope, j as DEVICE_CHILDREN_BATCH_MAX, jt as forgetKnownSecret, k as deviceOpsCapability, kt as MIN_SCRUBBED_LENGTH, m as DEVICE_SCOPED_CAPS, nn as buildSecretRef, o as asJsonObject, on as normalizeSecretOwner, p as BOOT_RECOVERY_BACKOFF_MS, r as maskUrlCredentials, rn as formatSecretScope, rt as scopeKey, sn as parseSecretRef, t as sleep, tn as arrayItemFieldPath, un as createEvent, wn as isSecretMarkerLike, xn as isSecretClear, yn as SECRET_CLEAR, zt as PEER_BYTES_TICKET_TTL_MS } from "./sleep-vWTnHq9G.mjs";
1
+ import { $ as ReadinessRegistry, A as viewerUiCapability, At as clearKnownSecrets, C as isZodSecret, Cn as isSecretMarker, Dt as REVALIDATE_AFTER_MS, E as HF_REPO, En as toSecretFieldView, Et as resolveSecretViewsIn, Ft as shortSecretRefHash, Gt as normalizeAddonInitResult, H as expandCapMethods, I as adminUiCapability, It as PEER_BYTES_CHUNK_BYTES, Lt as PEER_BYTES_MAX_OUTSTANDING, Mt as knownSecretCount, Nt as registerKnownSecret, Ot as createSecretsAccess, P as describeCustomActions, Pt as scrubKnownSecrets, Q as MODEL_FORMATS, Rt as PEER_BYTES_STALL_MS, S as collectZodSecretPaths, Sn as isSecretFieldView, Tn as makeSecretMarker, Ut as DisposerChain, Vt as DATAPLANE_SECRET_HEADER, Wt as BaseAddon, X as readNodePin, Y as nodePin, _ as createEventBusSliceSource, an as isSecretRef, bn as classifySecretWrite, c as asString, d as parseJsonUnknown, dn as emitReadiness, en as SECRET_REF_SCHEME, et as ReadinessTimeoutError, f as hfModelUrl, g as createDeviceProxy, h as isDeviceScopedCap, in as globalSecretScope, j as DEVICE_CHILDREN_BATCH_MAX, jt as forgetKnownSecret, k as deviceOpsCapability, kt as MIN_SCRUBBED_LENGTH, m as DEVICE_SCOPED_CAPS, nn as buildSecretRef, o as asJsonObject, on as normalizeSecretOwner, p as BOOT_RECOVERY_BACKOFF_MS, r as maskUrlCredentials, rn as formatSecretScope, rt as scopeKey, sn as parseSecretRef, t as sleep, tn as arrayItemFieldPath, un as createEvent, wn as isSecretMarkerLike, xn as isSecretClear, yn as SECRET_CLEAR, zt as PEER_BYTES_TICKET_TTL_MS } from "./sleep-B_3F_YwS.mjs";
2
2
  import { t as EventCategory } from "./event-category-C4hVnRo8.mjs";
3
3
  import { a as DeviceType, t as errMsg } from "./err-msg-DX6i_MY4.mjs";
4
4
  //#region src/generated/cap-input-defaults.ts
@@ -592,6 +592,10 @@ var CAP_STATE_LEAVES = Object.freeze({
592
592
  "path": "lastContactAt",
593
593
  "valueType": "number"
594
594
  },
595
+ {
596
+ "path": "lastFullRefreshAt",
597
+ "valueType": "number"
598
+ },
595
599
  {
596
600
  "path": "binary",
597
601
  "valueType": "boolean"
@@ -19,6 +19,7 @@ export declare const BatteryStatusSchema: z.ZodObject<{
19
19
  sleeping: z.ZodBoolean;
20
20
  lastUpdated: z.ZodNumber;
21
21
  lastContactAt: z.ZodOptional<z.ZodNumber>;
22
+ lastFullRefreshAt: z.ZodOptional<z.ZodNumber>;
22
23
  binary: z.ZodOptional<z.ZodBoolean>;
23
24
  }, z.core.$strip>;
24
25
  export type BatteryStatus = z.infer<typeof BatteryStatusSchema>;
@@ -89,6 +90,7 @@ export declare const batteryCapability: {
89
90
  sleeping: z.ZodBoolean;
90
91
  lastUpdated: z.ZodNumber;
91
92
  lastContactAt: z.ZodOptional<z.ZodNumber>;
93
+ lastFullRefreshAt: z.ZodOptional<z.ZodNumber>;
92
94
  binary: z.ZodOptional<z.ZodBoolean>;
93
95
  }, z.core.$strip>;
94
96
  }, z.core.$strip>;
@@ -106,6 +108,7 @@ export declare const batteryCapability: {
106
108
  sleeping: z.ZodBoolean;
107
109
  lastUpdated: z.ZodNumber;
108
110
  lastContactAt: z.ZodOptional<z.ZodNumber>;
111
+ lastFullRefreshAt: z.ZodOptional<z.ZodNumber>;
109
112
  binary: z.ZodOptional<z.ZodBoolean>;
110
113
  }, z.core.$strip>;
111
114
  readonly kind: 'push';
@@ -136,6 +139,7 @@ export declare const batteryCapability: {
136
139
  sleeping: z.ZodBoolean;
137
140
  lastUpdated: z.ZodNumber;
138
141
  lastContactAt: z.ZodOptional<z.ZodNumber>;
142
+ lastFullRefreshAt: z.ZodOptional<z.ZodNumber>;
139
143
  binary: z.ZodOptional<z.ZodBoolean>;
140
144
  }, z.core.$strip>;
141
145
  /**
@@ -95,8 +95,8 @@ export { type IOidcConnectionsProvider, type OidcConnection, OidcConnectionSchem
95
95
  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, type RetrainAnnotationSource, RetrainAnnotationSourceSchema, type RetrainArchiveResult, RetrainArchiveResultSchema, type RetrainArchiveTarget, RetrainArchiveTargetSchema, type RetrainAssistResult, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, type RetrainExportFilter, RetrainExportFilterSchema, type RetrainExportLayout, RetrainExportLayoutSchema, type AddRetrainFrameFromRecordingResult, AddRetrainFrameFromRecordingResultSchema, type RetrainDatasetSelection, RetrainDatasetSelectionSchema, type RetrainDatasetStats, RetrainDatasetStatsSchema, type RetrainDatasetVersion, RetrainDatasetVersionSchema, type RetrainTrainingCorpusResolveResult, RetrainTrainingCorpusResolveResultSchema, type RetrainTrainingCorpusSelection, RetrainTrainingCorpusSelectionSchema, type RetrainAssistProfile, RetrainAssistProfileSchema, type RetrainLlmAssistResult, RetrainLlmAssistResultSchema, type RetrainLlmProposal, RetrainLlmProposalSchema, type RetrainLlmReview, RetrainLlmReviewSchema, type RetrainCollection, type RetrainCollectionCreateResult, RetrainCollectionCreateResultSchema, type RetrainCollectionRenameResult, RetrainCollectionRenameResultSchema, RetrainCollectionSchema, type RetrainCorpusFilter, RetrainCorpusFilterSchema, type RetrainCorpusKpi, RetrainCorpusKpiSchema, type RetrainCorpusKpiCameraRow, RetrainCorpusKpiCameraRowSchema, type RetrainCorpusPage, RetrainCorpusPageSchema, type RetrainCorpusPageFrame, RetrainCorpusPageFrameSchema, type RetrainFrame, type RetrainFrameCandidate, RetrainFrameCandidateSchema, type RetrainFrameList, RetrainFrameListSchema, type RetrainFrameOrigin, RetrainFrameOriginSchema, RetrainFrameSchema, type RetrainFrameSelection, RetrainFrameSelectionSchema, type RetrainFrameWorkState, RetrainFrameWorkStateSchema, type RetrainMacroClass, RetrainMacroClassSchema, type RetrainPipelineBox, RetrainPipelineBoxSchema, 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';
96
96
  export type { EffectiveTuning, EffectiveTuningInput, NativeCropRef, PipelineStepInputOutput, PipelineValidationIssue, PipelineValidationResult, SuppliedRootOutput, } from './pipeline-executor.cap.js';
97
97
  export { EffectiveTuningSchema, ModelSubstitutionSchema, NativeCropRefSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, pipelineExecutorCapability, SuppliedRootOutputSchema, } from './pipeline-executor.cap.js';
98
- export type { CameraAssignmentStatus, CameraAudioStatus, CameraBrokerProfile, CameraBrokerStatus, 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';
99
- export { AgentLoadSummarySchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, 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';
98
+ export type { CameraAssignmentStatus, CameraAudioStatus, CameraBrokerProfile, CameraBrokerStatus, CameraDecoderStatus, CameraDetectionPhase, CameraDetectionProvisioning, CameraDetectionProvisioningState, CameraDetectionStatus, CameraMotionStatus, CameraRecordingMode, CameraRecordingStatus, CameraSourceStatus, CameraDetectionSource, CameraSourceStream, CameraStatus, CameraStatusDegradation, CameraStatusDegradationReason, CameraStatusStage, ClusterModelChoice, ClusterModelChoiceUnreadableReason, DiskReconcileJob, InferenceDeviceExclusionReason, IngestOwner, NodeInferenceDevice, NodeInferenceDevices, OccupancyLookAnswer, OccupancyLookRefusal, OccupancyLookRequest, SetCameraSensorsInput, } from './pipeline-orchestrator.cap.js';
99
+ export { AgentLoadSummarySchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraDecoderStatusSchema, CameraDetectionSourceSchema, 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';
100
100
  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';
101
101
  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';
102
102
  export type { AudioClassifyOutcome, AudioNotClassifiedReason, } from './schemas/detection-shared.js';
@@ -117,8 +117,8 @@ export { type EvictableUsage, type EvictResult, type IStorageEvictableProvider,
117
117
  export { type IStorageMigrationProvider, storageMigrationCapability, } from './storage-migration.cap.js';
118
118
  export { type IStorageOccupancyProvider, type StorageOccupancyReport, StorageOccupancyReportSchema, storageOccupancyCapability, } from './storage-occupancy.cap.js';
119
119
  export { AbortUploadInputSchema as StorageAbortUploadInputSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, type IStorageProviderImpl, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, storageProviderCapability, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, } from './storage-provider.cap.js';
120
- export type { AudioCodecTarget, BrokerAudioClient, BrokerClients, BrokerConsumerAttribution, BrokerConsumerKind, BrokerEncodedClient, BrokerRtspClient, GetStreamWithCodecInput, PlaceholderReason, RtpSource, VideoCodecTarget, } from './stream-broker.cap.js';
121
- export { BrokerAudioClientSchema, BrokerClientsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerEncodedClientSchema, BrokerRtspClientSchema, type EgressEncode, EgressEncodeSchema, type EgressRateControl, EgressRateControlSchema, type EgressTranscode, type EgressTranscodeRequest, EgressTranscodeRequestSchema, EgressTranscodeSchema, type EventMediaArtifact, EventMediaArtifactSchema, type EventMediaCoverage, EventMediaCoverageSchema, type EventMediaKind, EventMediaKindSchema, type EventMediaProduction, EventMediaProductionSchema, GetStreamWithCodecInputSchema, PlaceholderReasonSchema, RtpSourceSchema, RtspRestreamEntrySchema, type StreamBrokerClient, type StreamFormat, StreamFormatSchema, streamBrokerCapability, } from './stream-broker.cap.js';
120
+ export type { AudioCodecTarget, BrokerAudioClient, BrokerClients, LiveViewerCount, BrokerConsumerAttribution, BrokerConsumerKind, BrokerEncodedClient, BrokerRtspClient, GetStreamWithCodecInput, PlaceholderReason, RtpSource, VideoCodecTarget, } from './stream-broker.cap.js';
121
+ export { BrokerAudioClientSchema, BrokerClientsSchema, LiveViewerCountSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerEncodedClientSchema, BrokerRtspClientSchema, type EgressEncode, EgressEncodeSchema, type EgressRateControl, EgressRateControlSchema, type EgressTranscode, type EgressTranscodeRequest, EgressTranscodeRequestSchema, EgressTranscodeSchema, type EventMediaArtifact, EventMediaArtifactSchema, type EventMediaCoverage, EventMediaCoverageSchema, type EventMediaKind, EventMediaKindSchema, type EventMediaProduction, EventMediaProductionSchema, GetStreamWithCodecInputSchema, PlaceholderReasonSchema, RtpSourceSchema, RtspRestreamEntrySchema, type StreamBrokerClient, type StreamFormat, StreamFormatSchema, streamBrokerCapability, } from './stream-broker.cap.js';
122
122
  export { type IStreamSignalsProvider, type StreamSignal, StreamSignalSchema, type StreamSignalsStatus, StreamSignalsStatusSchema, streamSignalsCapability, } from './stream-signals.cap.js';
123
123
  export { type ITerminalSessionProvider, type TerminalInstanceInfo, TerminalInstanceInfoSchema, type TerminalLegacyCamera, TerminalLegacyCameraSchema, type TerminalOutputBatch, TerminalOutputBatchSchema, type TerminalOutputEvent, TerminalOutputEventSchema, type TerminalProfileInfo, TerminalProfileInfoSchema, type TerminalSessionInfo, TerminalSessionInfoSchema, terminalSessionCapability, } from './terminal-session.cap.js';
124
124
  export type { ITurnProvider } from './turn-provider.cap.js';
@@ -97,6 +97,7 @@ declare const TopologyNodeSchema: z.ZodObject<{
97
97
  clear: "clear";
98
98
  tls: "tls";
99
99
  }>>;
100
+ capabilitiesRegistered: z.ZodOptional<z.ZodBoolean>;
100
101
  }, z.core.$strip>;
101
102
  declare const ClusterAddonNodeDeploymentSchema: z.ZodObject<{
102
103
  nodeId: z.ZodString;
@@ -230,6 +231,7 @@ export declare const nodesCapability: {
230
231
  clear: "clear";
231
232
  tls: "tls";
232
233
  }>>;
234
+ capabilitiesRegistered: z.ZodOptional<z.ZodBoolean>;
233
235
  }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
234
236
  /**
235
237
  * The cheap node list for pickers (D637): the hub's in-memory registry plus
@@ -39,6 +39,13 @@ declare const CameraStepOverridePatchSchema: z.ZodObject<{
39
39
  modelId: z.ZodOptional<z.ZodString>;
40
40
  settings: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
41
41
  }, z.core.$strip>;
42
+ /** The three root-detector choices a camera has (D507: at most one root). */
43
+ export declare const CameraDetectionSourceSchema: z.ZodEnum<{
44
+ none: "none";
45
+ onboard: "onboard";
46
+ pipeline: "pipeline";
47
+ }>;
48
+ export type CameraDetectionSource = z.infer<typeof CameraDetectionSourceSchema>;
42
49
  /**
43
50
  * Pipeline placement record persisted by `addon-pipeline-orchestrator` via
44
51
  * the multi-level settings store. The orchestrator looks up these records
@@ -2318,6 +2325,48 @@ export declare const pipelineOrchestratorCapability: {
2318
2325
  }, z.core.$strip>, z.ZodObject<{
2319
2326
  success: z.ZodLiteral<true>;
2320
2327
  }, z.core.$strip>, "mutation">;
2328
+ /**
2329
+ * Where this camera's first-level detections come from: this node's own
2330
+ * root step (`pipeline`), the camera's onboard detector alone (`onboard`),
2331
+ * or no root detector (`none`). A camera runs at most one root detector
2332
+ * (D507), so there is no "both". Read from the camera's stored
2333
+ * `detectionSources` — the one authority; `explicit` is false while the
2334
+ * operator has never picked and the default stands.
2335
+ */
2336
+ readonly getCameraDetectionSource: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2337
+ deviceId: z.ZodNumber;
2338
+ }, z.core.$strip>, z.ZodObject<{
2339
+ source: z.ZodEnum<{
2340
+ none: "none";
2341
+ onboard: "onboard";
2342
+ pipeline: "pipeline";
2343
+ }>;
2344
+ explicit: z.ZodBoolean;
2345
+ onboard: z.ZodObject<{
2346
+ available: z.ZodBoolean;
2347
+ geometry: z.ZodEnum<{
2348
+ boxed: "boxed";
2349
+ "flag-only": "flag-only";
2350
+ unknown: "unknown";
2351
+ "while-streaming": "while-streaming";
2352
+ }>;
2353
+ }, z.core.$strip>;
2354
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
2355
+ /**
2356
+ * Pick where this camera's detections come from. Writes `detectionSources`
2357
+ * and arms (or disarms) the vendor's boxed sub-stream that the choice
2358
+ * drives. Refuses `onboard` on a camera with no onboard detector.
2359
+ */
2360
+ readonly setCameraDetectionSource: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2361
+ deviceId: z.ZodNumber;
2362
+ source: z.ZodEnum<{
2363
+ none: "none";
2364
+ onboard: "onboard";
2365
+ pipeline: "pipeline";
2366
+ }>;
2367
+ }, z.core.$strip>, z.ZodObject<{
2368
+ success: z.ZodLiteral<true>;
2369
+ }, z.core.$strip>, "mutation">;
2321
2370
  /** Read every per-(node,device) override map for a device. Null when device has no overrides. */
2322
2371
  readonly getCameraStepOverrides: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2323
2372
  deviceId: z.ZodNumber;
@@ -278,6 +278,17 @@ export declare const BrokerClientsSchema: z.ZodObject<{
278
278
  export type BrokerRtspClient = z.infer<typeof BrokerRtspClientSchema>;
279
279
  export type BrokerAudioClient = z.infer<typeof BrokerAudioClientSchema>;
280
280
  export type BrokerClients = z.infer<typeof BrokerClientsSchema>;
281
+ /**
282
+ * How many people are watching one camera LIVE right now — see
283
+ * `getLiveViewerCounts`. A camera with nobody watching is absent from the list
284
+ * (so `viewers` is always at least 1): the listing carries the cameras that
285
+ * have viewers, never a row of zeros.
286
+ */
287
+ export declare const LiveViewerCountSchema: z.ZodObject<{
288
+ deviceId: z.ZodNumber;
289
+ viewers: z.ZodNumber;
290
+ }, z.core.$strip>;
291
+ export type LiveViewerCount = z.infer<typeof LiveViewerCountSchema>;
281
292
  export declare const PlaceholderReasonSchema: z.ZodEnum<{
282
293
  disabled: "disabled";
283
294
  offline: "offline";
@@ -997,6 +1008,27 @@ export declare const streamBrokerCapability: {
997
1008
  pipeClients: z.ZodNumber;
998
1009
  encodedSubscribers: z.ZodNumber;
999
1010
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
1011
+ /**
1012
+ * People watching each camera LIVE right now, for every camera at once —
1013
+ * cheap enough to poll (a walk of the live session maps, no I/O).
1014
+ *
1015
+ * Counts EXTERNAL viewers only: WebRTC sessions of a viewer kind
1016
+ * (`webrtc-browser` / `-mobile` / `-whep`, `alexa`, `homekit`) that are on
1017
+ * the live edge, plus RTSP restream clients from outside that are playing.
1018
+ * The system's own consumers are never counted: the detection decoder, the
1019
+ * recorder, snapshots, the prebuffer hold, audio analysis, and the RTSP
1020
+ * dials an agent's derived broker makes. One WebRTC session or RTSP
1021
+ * connection is one viewer, so two tabs on one camera read 2.
1022
+ *
1023
+ * The count is read off the live session maps at call time, so a session
1024
+ * that ends — cleanly or by the peer vanishing — stops counting with no
1025
+ * counter to leak. It covers the sessions THIS provider serves; a node
1026
+ * with its own stream-broker is asked with a `nodeId` pin.
1027
+ */
1028
+ readonly getLiveViewerCounts: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
1029
+ deviceId: z.ZodNumber;
1030
+ viewers: z.ZodNumber;
1031
+ }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
1000
1032
  readonly killClient: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
1001
1033
  brokerId: z.ZodString;
1002
1034
  channel: z.ZodEnum<{
package/dist/client.js CHANGED
@@ -4735,7 +4735,14 @@ var TopologyNodeSchema = zod.z.object({
4735
4735
  * completed a mutual-TLS handshake, `clear` otherwise. Absent for the hub,
4736
4736
  * for offline rows and when the hub cannot tell.
4737
4737
  */
4738
- meshTransport: zod.z.enum(["tls", "clear"]).optional()
4738
+ meshTransport: zod.z.enum(["tls", "clear"]).optional(),
4739
+ /**
4740
+ * Whether the hub holds this online AGENT's capability registration (its
4741
+ * `registerNode` manifest). `false` = online in the mesh but not ready: the
4742
+ * hub dropped the registration on a disconnect only it saw and the agent has
4743
+ * not re-sent it. Absent for the hub and offline rows.
4744
+ */
4745
+ capabilitiesRegistered: zod.z.boolean().optional()
4739
4746
  });
4740
4747
  var CapUsageEdgeSchema = zod.z.object({
4741
4748
  callerAddonId: zod.z.string(),
@@ -6046,6 +6053,8 @@ function createDeviceProxy(api, binding, opts) {
6046
6053
  getAudioAssignment: (input) => dispatchSystem("pipelineOrchestrator", "getAudioAssignment", "query", input),
6047
6054
  getCameraSettings: (input) => dispatchSystem("pipelineOrchestrator", "getCameraSettings", "query", input),
6048
6055
  setCameraStepToggle: (input) => dispatchSystem("pipelineOrchestrator", "setCameraStepToggle", "mutation", input),
6056
+ getCameraDetectionSource: (input) => dispatchSystem("pipelineOrchestrator", "getCameraDetectionSource", "query", input),
6057
+ setCameraDetectionSource: (input) => dispatchSystem("pipelineOrchestrator", "setCameraDetectionSource", "mutation", input),
6049
6058
  getCameraStepOverrides: (input) => dispatchSystem("pipelineOrchestrator", "getCameraStepOverrides", "query", input),
6050
6059
  setCameraStepOverride: (input) => dispatchSystem("pipelineOrchestrator", "setCameraStepOverride", "mutation", input),
6051
6060
  setCameraStepSettings: (input) => dispatchSystem("pipelineOrchestrator", "setCameraStepSettings", "mutation", input),
@@ -7622,6 +7631,7 @@ function createSystemProxy(api) {
7622
7631
  getBrokerStats: (input) => dispatch("streamBroker", "getBrokerStats", "query", input),
7623
7632
  probeStream: (input) => dispatch("streamBroker", "probeStream", "mutation", input),
7624
7633
  listClients: (input) => dispatch("streamBroker", "listClients", "query", input),
7634
+ getLiveViewerCounts: (input) => dispatch("streamBroker", "getLiveViewerCounts", "query", input),
7625
7635
  killClient: (input) => dispatch("streamBroker", "killClient", "mutation", input),
7626
7636
  getStreamUrl: (input) => dispatch("streamBroker", "getStreamUrl", "query", input),
7627
7637
  getStreamWithCodec: (input) => dispatch("streamBroker", "getStreamWithCodec", "mutation", input),
package/dist/client.mjs CHANGED
@@ -4734,7 +4734,14 @@ var TopologyNodeSchema = z.object({
4734
4734
  * completed a mutual-TLS handshake, `clear` otherwise. Absent for the hub,
4735
4735
  * for offline rows and when the hub cannot tell.
4736
4736
  */
4737
- meshTransport: z.enum(["tls", "clear"]).optional()
4737
+ meshTransport: z.enum(["tls", "clear"]).optional(),
4738
+ /**
4739
+ * Whether the hub holds this online AGENT's capability registration (its
4740
+ * `registerNode` manifest). `false` = online in the mesh but not ready: the
4741
+ * hub dropped the registration on a disconnect only it saw and the agent has
4742
+ * not re-sent it. Absent for the hub and offline rows.
4743
+ */
4744
+ capabilitiesRegistered: z.boolean().optional()
4738
4745
  });
4739
4746
  var CapUsageEdgeSchema = z.object({
4740
4747
  callerAddonId: z.string(),
@@ -6045,6 +6052,8 @@ function createDeviceProxy(api, binding, opts) {
6045
6052
  getAudioAssignment: (input) => dispatchSystem("pipelineOrchestrator", "getAudioAssignment", "query", input),
6046
6053
  getCameraSettings: (input) => dispatchSystem("pipelineOrchestrator", "getCameraSettings", "query", input),
6047
6054
  setCameraStepToggle: (input) => dispatchSystem("pipelineOrchestrator", "setCameraStepToggle", "mutation", input),
6055
+ getCameraDetectionSource: (input) => dispatchSystem("pipelineOrchestrator", "getCameraDetectionSource", "query", input),
6056
+ setCameraDetectionSource: (input) => dispatchSystem("pipelineOrchestrator", "setCameraDetectionSource", "mutation", input),
6048
6057
  getCameraStepOverrides: (input) => dispatchSystem("pipelineOrchestrator", "getCameraStepOverrides", "query", input),
6049
6058
  setCameraStepOverride: (input) => dispatchSystem("pipelineOrchestrator", "setCameraStepOverride", "mutation", input),
6050
6059
  setCameraStepSettings: (input) => dispatchSystem("pipelineOrchestrator", "setCameraStepSettings", "mutation", input),
@@ -7621,6 +7630,7 @@ function createSystemProxy(api) {
7621
7630
  getBrokerStats: (input) => dispatch("streamBroker", "getBrokerStats", "query", input),
7622
7631
  probeStream: (input) => dispatch("streamBroker", "probeStream", "mutation", input),
7623
7632
  listClients: (input) => dispatch("streamBroker", "listClients", "query", input),
7633
+ getLiveViewerCounts: (input) => dispatch("streamBroker", "getLiveViewerCounts", "query", input),
7624
7634
  killClient: (input) => dispatch("streamBroker", "killClient", "mutation", input),
7625
7635
  getStreamUrl: (input) => dispatch("streamBroker", "getStreamUrl", "query", input),
7626
7636
  getStreamWithCodec: (input) => dispatch("streamBroker", "getStreamWithCodec", "mutation", input),
@@ -6934,6 +6934,20 @@ export type AppRouter = TrpcCoreRouter<{
6934
6934
  output: z.infer<typeof pipelineOrchestratorCapability.methods.setCameraStepToggle.output>;
6935
6935
  meta: object;
6936
6936
  }>;
6937
+ getCameraDetectionSource: TRPCQueryProcedure<{
6938
+ input: {
6939
+ [x: string]: unknown;
6940
+ } & z.input<typeof pipelineOrchestratorCapability.methods.getCameraDetectionSource.input>;
6941
+ output: z.infer<typeof pipelineOrchestratorCapability.methods.getCameraDetectionSource.output>;
6942
+ meta: object;
6943
+ }>;
6944
+ setCameraDetectionSource: TRPCMutationProcedure<{
6945
+ input: {
6946
+ [x: string]: unknown;
6947
+ } & z.input<typeof pipelineOrchestratorCapability.methods.setCameraDetectionSource.input>;
6948
+ output: z.infer<typeof pipelineOrchestratorCapability.methods.setCameraDetectionSource.output>;
6949
+ meta: object;
6950
+ }>;
6937
6951
  getCameraStepOverrides: TRPCQueryProcedure<{
6938
6952
  input: {
6939
6953
  [x: string]: unknown;
@@ -8863,6 +8877,13 @@ export type AppRouter = TrpcCoreRouter<{
8863
8877
  output: z.infer<typeof streamBrokerCapability.methods.listClients.output>;
8864
8878
  meta: object;
8865
8879
  }>;
8880
+ getLiveViewerCounts: TRPCQueryProcedure<{
8881
+ input: {
8882
+ nodeId?: string | undefined;
8883
+ } | undefined;
8884
+ output: z.infer<typeof streamBrokerCapability.methods.getLiveViewerCounts.output>;
8885
+ meta: object;
8886
+ }>;
8866
8887
  killClient: TRPCMutationProcedure<{
8867
8888
  input: {
8868
8889
  [x: string]: unknown;
@@ -5,7 +5,7 @@
5
5
  * `ALL_CAPABILITY_DEFINITIONS` (the whole Zod schema graph, ~+100 MB heap per
6
6
  * runner). See docs/decisions/adr-0028.md.
7
7
  *
8
- * Coverage: 1 advance-derived caps, 71 caps with 340 state leaves.
8
+ * Coverage: 1 advance-derived caps, 71 caps with 341 state leaves.
9
9
  */
10
10
  /** A bindable scalar in a capability's runtime state. */
11
11
  export interface CapStateLeaf {
@@ -300,7 +300,7 @@ export interface DeviceProxy {
300
300
  readonly notificationRules: Pick<InferDeviceProxyCap<typeof notificationRulesCapability>, 'setDeviceMuted'>;
301
301
  readonly osdManager: Pick<InferDeviceProxyCap<typeof osdManagerCapability>, 'getDeviceOsd' | 'getSourceCatalog' | 'setSlotBinding' | 'clearSlotBinding' | 'setSlotCameraEnabled' | 'previewSlot' | 'renderDevice'>;
302
302
  readonly pipelineExecutor: Pick<InferDeviceProxyCap<typeof pipelineExecutorCapability>, 'runPipeline' | 'runPipelineBatch'>;
303
- readonly pipelineOrchestrator: Pick<InferDeviceProxyCap<typeof pipelineOrchestratorCapability>, 'assignPipeline' | 'unassignPipeline' | 'setPipelineDevicePin' | 'getPipelineDevicePin' | 'getPipelineAssignment' | 'getCameraMetrics' | 'assignAudio' | 'unassignAudio' | 'getAudioAssignment' | 'getCameraSettings' | 'setCameraStepToggle' | 'getCameraStepOverrides' | 'setCameraStepOverride' | 'setCameraStepSettings' | 'setCameraPipelineForAgent' | 'resolvePipeline' | 'getCameraSwitches' | 'setCameraSwitch' | 'getCameraStatus' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
303
+ readonly pipelineOrchestrator: Pick<InferDeviceProxyCap<typeof pipelineOrchestratorCapability>, 'assignPipeline' | 'unassignPipeline' | 'setPipelineDevicePin' | 'getPipelineDevicePin' | 'getPipelineAssignment' | 'getCameraMetrics' | 'assignAudio' | 'unassignAudio' | 'getAudioAssignment' | 'getCameraSettings' | 'setCameraStepToggle' | 'getCameraDetectionSource' | 'setCameraDetectionSource' | 'getCameraStepOverrides' | 'setCameraStepOverride' | 'setCameraStepSettings' | 'setCameraPipelineForAgent' | 'resolvePipeline' | 'getCameraSwitches' | 'setCameraSwitch' | 'getCameraStatus' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
304
304
  readonly pipelineRunner: Pick<InferDeviceProxyCap<typeof pipelineRunnerCapability>, 'detachCamera' | 'getCameraMetrics' | 'requestOccupancyBurst' | 'runDetailSubtree' | 'parkTrackFrame' | 'getParkedTrackFrame' | 'releaseParkedTrackFrames'>;
305
305
  readonly plateGallery: Pick<InferDeviceProxyCap<typeof plateGalleryCapability>, 'listPlates' | 'getPlateByTrack'>;
306
306
  readonly recordingArchive: Pick<InferDeviceProxyCap<typeof recordingArchiveCapability>, 'getDeviceConfig' | 'locateSegment' | 'readSegmentBytes' | 'readGopBytes' | 'readWindowBytes' | 'setDeviceConfig' | 'rescanStorage' | 'pruneFootage' | 'deleteFootprint' | 'renderGif' | 'renderClip' | 'getStatus' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
@@ -6,7 +6,7 @@
6
6
  * scope+access check inside `protectedProcedure` (see
7
7
  * `server/backend/src/api/trpc/trpc.middleware.ts`).
8
8
  *
9
- * Coverage: 1297 method paths across 170 capabilities.
9
+ * Coverage: 1300 method paths across 170 capabilities.
10
10
  */
11
11
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
12
12
  export interface MethodAccessRecord {
@@ -6,8 +6,8 @@
6
6
  * system-scope cap that takes a deviceId was previously never device-filtered
7
7
  * — see the generator header).
8
8
  *
9
- * Coverage: 517 methods carry a device reference, of which
10
- * 163 are on SYSTEM-scope caps.
9
+ * Coverage: 519 methods carry a device reference, of which
10
+ * 165 are on SYSTEM-scope caps.
11
11
  *
12
12
  * Top-level fields, number arrays, and one-level arrays of objects carrying
13
13
  * a numeric device field (targets[].deviceId) are all mapped; the matcher
@@ -102,7 +102,7 @@ export interface SystemProxy {
102
102
  readonly settingsStore: Pick<InferProvider<typeof settingsStoreCapability>, 'get' | 'set' | 'query' | 'upsert' | 'insert' | 'insertMany' | 'update' | 'delete' | 'deleteWhere' | 'updateWhere' | 'count' | 'aggregate' | 'histogram' | 'isEmpty' | 'declareCollection'>;
103
103
  readonly storage: Pick<InferProvider<typeof storageCapability>, 'resolve' | 'write' | 'read' | 'exists' | 'list' | 'delete' | 'getAvailableSpace' | 'beginUpload' | 'writeChunk' | 'finalizeUpload' | 'abortUpload' | 'beginDownload' | 'readChunk' | 'endDownload' | 'listLocations' | 'listLocationDeclarations' | 'upsertLocation' | 'deleteLocation' | 'listDrainProgress' | 'testLocation' | 'listProviders' | 'testConfig'>;
104
104
  readonly storageMigration: Pick<InferProvider<typeof storageMigrationCapability>, 'plan' | 'start' | 'status' | 'cancel' | 'movers' | 'residue' | 'drain' | 'cleanupStart' | 'cleanupStatus' | 'cleanupCancel' | 'history'>;
105
- readonly streamBroker: Pick<InferProvider<typeof streamBrokerCapability>, 'fetchEventMedia' | 'listAllCameraStreams' | 'listAllProfileSlots' | 'getBrokerStats' | 'probeStream' | 'listClients' | 'killClient' | 'getStreamUrl' | 'getStreamWithCodec' | 'releaseStreamWithCodec' | 'acquireEgressTranscode' | 'releaseEgressTranscode' | 'subscribeAudioChunks' | 'pullAudioChunks' | 'unsubscribeAudioChunks' | 'setPreBufferDuration' | 'getPreBufferInfo' | 'getRtspPort' | 'getAllRtspEntries' | 'getRtspEntry' | 'regenerateRtspToken' | 'setRtspEnabled' | 'isRtspEnabled'>;
105
+ readonly streamBroker: Pick<InferProvider<typeof streamBrokerCapability>, 'fetchEventMedia' | 'listAllCameraStreams' | 'listAllProfileSlots' | 'getBrokerStats' | 'probeStream' | 'listClients' | 'getLiveViewerCounts' | 'killClient' | 'getStreamUrl' | 'getStreamWithCodec' | 'releaseStreamWithCodec' | 'acquireEgressTranscode' | 'releaseEgressTranscode' | 'subscribeAudioChunks' | 'pullAudioChunks' | 'unsubscribeAudioChunks' | 'setPreBufferDuration' | 'getPreBufferInfo' | 'getRtspPort' | 'getAllRtspEntries' | 'getRtspEntry' | 'regenerateRtspToken' | 'setRtspEnabled' | 'isRtspEnabled'>;
106
106
  readonly system: Pick<InferProvider<typeof systemCapability>, 'info' | 'health' | 'featureFlags' | 'networkAddresses' | 'getRetentionConfig' | 'setRetentionConfig' | 'forceRetentionCleanup' | 'getSiteLocation' | 'setSiteLocation' | 'detectSiteLocation' | 'getRequestCensus' | 'getLoadContributions' | 'getFailureContributions' | 'getLoggingSettings' | 'setLoggingSettings'>;
107
107
  readonly terminalSession: Pick<InferProvider<typeof terminalSessionCapability>, 'listProfiles' | 'listInstances' | 'createInstance' | 'updateInstance' | 'deleteInstance' | 'setInstanceEnabled' | 'listLegacyCameras' | 'adoptLegacyMonitor' | 'listSessions' | 'openSession' | 'resize' | 'pullOutput' | 'writeInput' | 'close'>;
108
108
  readonly toast: Pick<InferProvider<typeof toastCapability>, 'onToast'>;