@camstack/types 1.2.57 → 1.2.58

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,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_event_category = require("./event-category-DxZbWydC.js");
3
- const require_sleep = require("./sleep-EX1-qUVR.js");
3
+ const require_sleep = require("./sleep-DcLy1h8o.js");
4
4
  const require_err_msg = require("./err-msg-COpsHMw2.js");
5
5
  //#region src/generated/collection-array-methods.ts
6
6
  /**
package/dist/addon.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as EventCategory } from "./event-category-Cv9dO26A.mjs";
2
- import { C as DeviceType, F as readNodePin, L as ReadinessRegistry, O as expandCapMethods, P as nodePin, R as ReadinessTimeoutError, V as scopeKey, a as asJsonObject, d as DEVICE_SCOPED_CAPS, f as isDeviceScopedCap, gt as normalizeAddonInitResult, ht as BaseAddon, mt as DisposerChain, p as createDeviceProxy, pt as DATAPLANE_SECRET_HEADER, s as asString, t as sleep, u as parseJsonUnknown, v as deviceOpsCapability, w as adminUiCapability, y as viewerUiCapability, yt as emitReadiness } from "./sleep-CeuvKr4N.mjs";
2
+ import { C as DeviceType, F as readNodePin, L as ReadinessRegistry, O as expandCapMethods, P as nodePin, R as ReadinessTimeoutError, V as scopeKey, a as asJsonObject, d as DEVICE_SCOPED_CAPS, f as isDeviceScopedCap, gt as normalizeAddonInitResult, ht as BaseAddon, mt as DisposerChain, p as createDeviceProxy, pt as DATAPLANE_SECRET_HEADER, s as asString, t as sleep, u as parseJsonUnknown, v as deviceOpsCapability, w as adminUiCapability, y as viewerUiCapability, yt as emitReadiness } from "./sleep-m2HUob6m.mjs";
3
3
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
4
4
  //#region src/generated/collection-array-methods.ts
5
5
  /**
@@ -87,10 +87,12 @@ export declare const faceGalleryCapability: {
87
87
  sampleId: z.ZodString;
88
88
  }, z.core.$strip>, z.ZodVoid, "mutation">;
89
89
  readonly listRecentFaces: import("./capability-definition.js").CapabilityMethodSchema<z.ZodOptional<z.ZodObject<{
90
+ deviceId: z.ZodOptional<z.ZodNumber>;
90
91
  limit: z.ZodOptional<z.ZodNumber>;
91
92
  filter: z.ZodOptional<z.ZodEnum<{
92
93
  unassigned: "unassigned";
93
94
  recognized: "recognized";
95
+ identified: "identified";
94
96
  all: "all";
95
97
  }>>;
96
98
  includeCrops: z.ZodOptional<z.ZodBoolean>;
@@ -45,6 +45,12 @@ export declare const OsdSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
45
45
  deviceId: z.ZodOptional<z.ZodNumber>;
46
46
  capName: z.ZodString;
47
47
  valuePath: z.ZodString;
48
+ }, z.core.$strip>, z.ZodObject<{
49
+ kind: z.ZodLiteral<"latest-recognition">;
50
+ recognition: z.ZodEnum<{
51
+ person: "person";
52
+ plate: "plate";
53
+ }>;
48
54
  }, z.core.$strip>], "kind">;
49
55
  export type OsdSource = z.infer<typeof OsdSourceSchema>;
50
56
  export declare const OsdSlotBindingSchema: z.ZodObject<{
@@ -61,6 +67,12 @@ export declare const OsdSlotBindingSchema: z.ZodObject<{
61
67
  deviceId: z.ZodOptional<z.ZodNumber>;
62
68
  capName: z.ZodString;
63
69
  valuePath: z.ZodString;
70
+ }, z.core.$strip>, z.ZodObject<{
71
+ kind: z.ZodLiteral<"latest-recognition">;
72
+ recognition: z.ZodEnum<{
73
+ person: "person";
74
+ plate: "plate";
75
+ }>;
64
76
  }, z.core.$strip>], "kind">;
65
77
  template: z.ZodDefault<z.ZodString>;
66
78
  maxCharacters: z.ZodOptional<z.ZodNumber>;
@@ -185,6 +197,12 @@ export declare const OsdSlotViewSchema: z.ZodObject<{
185
197
  deviceId: z.ZodOptional<z.ZodNumber>;
186
198
  capName: z.ZodString;
187
199
  valuePath: z.ZodString;
200
+ }, z.core.$strip>, z.ZodObject<{
201
+ kind: z.ZodLiteral<"latest-recognition">;
202
+ recognition: z.ZodEnum<{
203
+ person: "person";
204
+ plate: "plate";
205
+ }>;
188
206
  }, z.core.$strip>], "kind">;
189
207
  template: z.ZodDefault<z.ZodString>;
190
208
  maxCharacters: z.ZodOptional<z.ZodNumber>;
@@ -381,6 +399,12 @@ export declare const osdManagerCapability: {
381
399
  deviceId: z.ZodOptional<z.ZodNumber>;
382
400
  capName: z.ZodString;
383
401
  valuePath: z.ZodString;
402
+ }, z.core.$strip>, z.ZodObject<{
403
+ kind: z.ZodLiteral<"latest-recognition">;
404
+ recognition: z.ZodEnum<{
405
+ person: "person";
406
+ plate: "plate";
407
+ }>;
384
408
  }, z.core.$strip>], "kind">;
385
409
  template: z.ZodDefault<z.ZodString>;
386
410
  maxCharacters: z.ZodOptional<z.ZodNumber>;
@@ -591,6 +615,12 @@ export declare const osdManagerCapability: {
591
615
  deviceId: z.ZodOptional<z.ZodNumber>;
592
616
  capName: z.ZodString;
593
617
  valuePath: z.ZodString;
618
+ }, z.core.$strip>, z.ZodObject<{
619
+ kind: z.ZodLiteral<"latest-recognition">;
620
+ recognition: z.ZodEnum<{
621
+ person: "person";
622
+ plate: "plate";
623
+ }>;
594
624
  }, z.core.$strip>], "kind">;
595
625
  template: z.ZodDefault<z.ZodString>;
596
626
  maxCharacters: z.ZodOptional<z.ZodNumber>;
@@ -714,6 +744,12 @@ export declare const osdManagerCapability: {
714
744
  deviceId: z.ZodOptional<z.ZodNumber>;
715
745
  capName: z.ZodString;
716
746
  valuePath: z.ZodString;
747
+ }, z.core.$strip>, z.ZodObject<{
748
+ kind: z.ZodLiteral<"latest-recognition">;
749
+ recognition: z.ZodEnum<{
750
+ person: "person";
751
+ plate: "plate";
752
+ }>;
717
753
  }, z.core.$strip>], "kind">;
718
754
  template: z.ZodDefault<z.ZodString>;
719
755
  maxCharacters: z.ZodOptional<z.ZodNumber>;
@@ -835,6 +871,18 @@ export declare const osdManagerCapability: {
835
871
  }, z.core.$strip>, z.ZodObject<{
836
872
  success: z.ZodLiteral<true>;
837
873
  }, z.core.$strip>, "mutation">;
874
+ /**
875
+ * Replace one camera's binding configuration from another. Writable source
876
+ * slots are mapped by ordinal onto writable target slots so different
877
+ * provider slot ids do not make the copied configuration disappear.
878
+ */
879
+ readonly copyDeviceConfiguration: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
880
+ sourceDeviceId: z.ZodNumber;
881
+ targetDeviceId: z.ZodNumber;
882
+ }, z.core.$strip>, z.ZodObject<{
883
+ copied: z.ZodNumber;
884
+ skipped: z.ZodNumber;
885
+ }, z.core.$strip>, "mutation">;
838
886
  /**
839
887
  * Render without writing. `binding` overrides the stored one so an
840
888
  * editor can preview an unsaved change. Mutation kind only to carry
@@ -857,6 +905,12 @@ export declare const osdManagerCapability: {
857
905
  deviceId: z.ZodOptional<z.ZodNumber>;
858
906
  capName: z.ZodString;
859
907
  valuePath: z.ZodString;
908
+ }, z.core.$strip>, z.ZodObject<{
909
+ kind: z.ZodLiteral<"latest-recognition">;
910
+ recognition: z.ZodEnum<{
911
+ person: "person";
912
+ plate: "plate";
913
+ }>;
860
914
  }, z.core.$strip>], "kind">;
861
915
  template: z.ZodDefault<z.ZodString>;
862
916
  maxCharacters: z.ZodOptional<z.ZodNumber>;
@@ -4605,6 +4605,13 @@ export type AppRouter = TrpcCoreRouter<{
4605
4605
  output: z.infer<typeof osdManagerCapability.methods.clearSlotBinding.output>;
4606
4606
  meta: object;
4607
4607
  }>;
4608
+ copyDeviceConfiguration: TRPCMutationProcedure<{
4609
+ input: {
4610
+ [x: string]: unknown;
4611
+ } & z.input<typeof osdManagerCapability.methods.copyDeviceConfiguration.input>;
4612
+ output: z.infer<typeof osdManagerCapability.methods.copyDeviceConfiguration.output>;
4613
+ meta: object;
4614
+ }>;
4608
4615
  previewSlot: TRPCMutationProcedure<{
4609
4616
  input: {
4610
4617
  [x: string]: unknown;
@@ -271,7 +271,7 @@ export interface DeviceProxy {
271
271
  readonly deviceExport: Pick<InferDeviceProxyCap<typeof deviceExportCapability>, 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
272
272
  readonly deviceManager: Pick<InferDeviceProxyCap<typeof deviceManagerCapability>, 'loadConfig' | 'loadRuntimeState' | 'loadMeta' | 'setName' | 'setLocation' | 'setType' | 'setIntegrationId' | 'setLinkDeviceId' | 'setPrimaryChildEntityId' | 'setChildLayout' | 'setDisplay' | 'getWireableFields' | 'setRole' | 'applyInitialMeta' | 'setMetadata' | 'setDisabled' | 'getDevice' | 'getLinkedDevices' | 'getStreamSources' | 'getConfigSchema' | 'getSettingsSchema' | 'updateConfig' | 'enable' | 'disable' | 'remove' | 'getStreamProfileMap' | 'setStreamProfileMap' | 'probeStreams' | 'getBindings' | 'getAllBindings' | 'setWrapperActive' | 'getDeviceSettingsAggregate' | 'getDeviceLiveInfoAggregate' | 'getDeviceAggregate' | 'runDeviceAction' | 'updateDeviceField' | 'updateDeviceFieldsBatch' | 'testField' | 'getDeviceStatusAggregate' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
273
273
  readonly deviceState: Pick<InferDeviceProxyCap<typeof deviceStateCapability>, 'getSnapshot' | 'getCapSlice' | 'setCapSlice'>;
274
- readonly faceGallery: Pick<InferDeviceProxyCap<typeof faceGalleryCapability>, 'getFaceByTrack'>;
274
+ readonly faceGallery: Pick<InferDeviceProxyCap<typeof faceGalleryCapability>, 'listRecentFaces' | 'getFaceByTrack'>;
275
275
  readonly networkQuality: Pick<InferDeviceProxyCap<typeof networkQualityCapability>, 'getDeviceStats' | 'reportClientStats'>;
276
276
  readonly osdManager: Pick<InferDeviceProxyCap<typeof osdManagerCapability>, 'getDeviceOsd' | 'getSourceCatalog' | 'setSlotBinding' | 'clearSlotBinding' | 'previewSlot' | 'renderDevice'>;
277
277
  readonly pipelineExecutor: Pick<InferDeviceProxyCap<typeof pipelineExecutorCapability>, 'runPipeline' | 'runPipelineBatch'>;
@@ -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: 908 method paths across 122 capabilities.
9
+ * Coverage: 909 method paths across 122 capabilities.
10
10
  */
11
11
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
12
12
  export interface MethodAccessRecord {
@@ -70,7 +70,7 @@ export interface SystemProxy {
70
70
  readonly deviceManager: Pick<InferProvider<typeof deviceManagerCapability>, 'allocateDeviceId' | 'registerDevice' | 'removeDevice' | 'persistConfig' | 'getRoleDisplayDefaults' | 'setRoleDisplayDefaults' | 'listLocations' | 'addLocation' | 'removeLocation' | 'listPersistedByAddon' | 'listAll' | 'getChildren' | 'removeByIntegration' | 'listWrappersForCap' | 'listBindableCapsForDeviceType' | 'discoverDevices' | 'adoptDevice' | 'getCreationSchema' | 'createDevice' | 'testCreationField' | 'adoptionListCandidateFilters' | 'adoptionListCandidates' | 'adoptionRefresh' | 'adoptionAdopt' | 'adoptionRelease' | 'adoptionStartJob' | 'adoptionListJobs' | 'adoptionCancelJob' | 'adoptionResync' | 'discoveryProviders' | 'discoverAllProviders' | 'discoverProvider' | 'providerCreationType' | 'providerDiscoveryParamsSchema' | 'getDeviceStatusAggregateBatch'>;
71
71
  readonly deviceProvider: Pick<InferProvider<typeof deviceProviderCapability>, 'start' | 'stop' | 'getStatus' | 'getDevices' | 'supportsDiscovery' | 'discoverDevices' | 'getDiscoveryParamsSchema' | 'getManualCreationType' | 'adoptDiscoveredDevice' | 'supportsManualCreation' | 'getChildCreationSchema' | 'createDevice' | 'testCreationField'>;
72
72
  readonly deviceState: Pick<InferProvider<typeof deviceStateCapability>, 'getAllSnapshots'>;
73
- readonly faceGallery: Pick<InferProvider<typeof faceGalleryCapability>, 'listIdentities' | 'createIdentity' | 'renameIdentity' | 'deleteIdentity' | 'listIdentitySamples' | 'removeSample' | 'listRecentFaces' | 'getFaceMedia' | 'assignFace' | 'unassignFace' | 'deleteFace' | 'assignFaces' | 'unassignFaces' | 'suggestFaceClusters'>;
73
+ readonly faceGallery: Pick<InferProvider<typeof faceGalleryCapability>, 'listIdentities' | 'createIdentity' | 'renameIdentity' | 'deleteIdentity' | 'listIdentitySamples' | 'removeSample' | 'getFaceMedia' | 'assignFace' | 'unassignFace' | 'deleteFace' | 'assignFaces' | 'unassignFaces' | 'suggestFaceClusters'>;
74
74
  readonly integrations: Pick<InferProvider<typeof integrationsCapability>, 'list' | 'get' | 'getByAddonId' | 'create' | 'update' | 'delete' | 'getSettings' | 'setSettings' | 'getAvailableTypes' | 'testConnection'>;
75
75
  readonly llm: Pick<InferProvider<typeof llmCapability>, 'generate' | 'generateVision' | 'listProfileKinds' | 'listProfiles' | 'upsertProfile' | 'deleteProfile' | 'testProfile' | 'listModels' | 'getDefaults' | 'setDefault' | 'getUsage' | 'listModelCatalog' | 'listRuntimeNodes' | 'listNodeModels' | 'installModel' | 'deleteModel' | 'getRuntimeStatus' | 'startRuntime' | 'stopRuntime'>;
76
76
  readonly localNetwork: Pick<InferProvider<typeof localNetworkCapability>, 'list' | 'getPreferred' | 'getConnectionEndpoints' | 'getNotificationEndpoint' | 'setNotificationEndpoint' | 'getAllowedAddresses' | 'setAllowedAddresses' | 'resetAllowlistToBestMatch'>;
@@ -81,7 +81,7 @@ export interface SystemProxy {
81
81
  readonly networkQuality: Pick<InferProvider<typeof networkQualityCapability>, 'getAllStats'>;
82
82
  readonly nodes: Pick<InferProvider<typeof nodesCapability>, 'topology' | 'deployAddon' | 'undeployAddon' | 'restartAddon' | 'restartProcess' | 'restartNode' | 'shutdownNode' | 'renameNode' | 'clusterAddonStatus' | 'getCapUsageGraph' | 'getNodeAddons' | 'setProcessLogLevel' | 'executeQuery'>;
83
83
  readonly notificationOutput: Pick<InferProvider<typeof notificationOutputCapability>, 'listTargetKinds' | 'listTargets' | 'discoverTargets' | 'send' | 'testTarget' | 'upsertTarget' | 'deleteTarget' | 'setTargetEnabled'>;
84
- readonly osdManager: Pick<InferProvider<typeof osdManagerCapability>, 'getConditionSupport'>;
84
+ readonly osdManager: Pick<InferProvider<typeof osdManagerCapability>, 'getConditionSupport' | 'copyDeviceConfiguration'>;
85
85
  readonly pipelineExecutor: Pick<InferProvider<typeof pipelineExecutorCapability>, 'getAvailableEngines' | 'getSelectedEngine' | 'getDefaultSteps' | 'getEngineProvisioning' | 'getVideoPipelineSteps' | 'setVideoPipelineSteps' | 'clearDeviceOverrides' | 'getSchema' | 'getGlobalSteps' | 'getGlobalPipelineConfig' | 'getOrchestratorConfigSchema' | 'validatePipeline' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate' | 'getCapabilities' | 'getAddonModels' | 'downloadModel' | 'deleteModel' | 'cacheFrameInPool' | 'inferCached' | 'uncacheFrame' | 'getEffectiveTuning' | 'listLoadedEngines' | 'spinEngine' | 'killEngine' | 'listReferenceImages' | 'getReferenceImage' | 'getReferenceAudioFiles' | 'getReferenceAudio' | 'getAudioCapabilities' | 'runAudioTest' | 'getDetectionConfigSchema'>;
86
86
  readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getIngestOwner' | 'getAudioNodeLoad' | 'getAgentSettings' | 'listAgentSettings' | 'removeAgentSettings' | 'setAgentMaxCameras' | 'setAgentDetectWeight' | 'setAgentCapabilities' | 'setAgentReachableHost' | 'setAgentInferenceDevices' | 'getNodeInferenceDevices' | 'resetNodePipelineDefaults' | 'getCameraStatuses' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate'>;
87
87
  readonly pipelineRunner: Pick<InferProvider<typeof pipelineRunnerCapability>, 'attachCamera' | 'reportMotion' | 'getLocalLoad' | 'getLocalMetrics' | 'getAllCameraMetrics' | 'getLocalCameras' | 'getNativeCrop' | 'runStatelessStep'>;
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_event_category = require("./event-category-DxZbWydC.js");
3
- const require_sleep = require("./sleep-EX1-qUVR.js");
3
+ const require_sleep = require("./sleep-DcLy1h8o.js");
4
4
  const require_canonical_hash = require("./canonical-hash-DNV8S5ET.js");
5
5
  const require_enums = require("./enums.js");
6
6
  const require_err_msg = require("./err-msg-COpsHMw2.js");
@@ -21365,6 +21365,7 @@ var FaceInfoSchema = zod.z.object({
21365
21365
  var FaceFilterEnum = zod.z.enum([
21366
21366
  "unassigned",
21367
21367
  "recognized",
21368
+ "identified",
21368
21369
  "all"
21369
21370
  ]);
21370
21371
  var MediaFileLiteSchema$1 = zod.z.object({
@@ -21404,6 +21405,8 @@ var faceGalleryCapability = {
21404
21405
  auth: "admin"
21405
21406
  }),
21406
21407
  listRecentFaces: require_sleep.method(zod.z.object({
21408
+ /** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
21409
+ deviceId: zod.z.number().int().optional(),
21407
21410
  limit: zod.z.number().int().positive().optional(),
21408
21411
  filter: FaceFilterEnum.optional(),
21409
21412
  /**
@@ -24025,6 +24028,10 @@ var OsdSourceSchema = zod.z.discriminatedUnion("kind", [
24025
24028
  capName: zod.z.string().min(1).max(64),
24026
24029
  /** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
24027
24030
  valuePath: zod.z.string().min(1).max(64)
24031
+ }),
24032
+ zod.z.object({
24033
+ kind: zod.z.literal("latest-recognition"),
24034
+ recognition: zod.z.enum(["person", "plate"])
24028
24035
  })
24029
24036
  ]);
24030
24037
  var OsdSlotBindingSchema = zod.z.object({
@@ -24163,6 +24170,21 @@ var osdManagerCapability = {
24163
24170
  auth: "admin"
24164
24171
  }),
24165
24172
  /**
24173
+ * Replace one camera's binding configuration from another. Writable source
24174
+ * slots are mapped by ordinal onto writable target slots so different
24175
+ * provider slot ids do not make the copied configuration disappear.
24176
+ */
24177
+ copyDeviceConfiguration: require_sleep.method(zod.z.object({
24178
+ sourceDeviceId: zod.z.number().int(),
24179
+ targetDeviceId: zod.z.number().int()
24180
+ }), zod.z.object({
24181
+ copied: zod.z.number().int().nonnegative(),
24182
+ skipped: zod.z.number().int().nonnegative()
24183
+ }), {
24184
+ kind: "mutation",
24185
+ auth: "admin"
24186
+ }),
24187
+ /**
24166
24188
  * Render without writing. `binding` overrides the stored one so an
24167
24189
  * editor can preview an unsaved change. Mutation kind only to carry
24168
24190
  * the binding object safely; no side effects.
@@ -34221,6 +34243,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
34221
34243
  addonId: null,
34222
34244
  access: "delete"
34223
34245
  },
34246
+ "osdManager.copyDeviceConfiguration": {
34247
+ capName: "osd-manager",
34248
+ capScope: "system",
34249
+ addonId: null,
34250
+ access: "create"
34251
+ },
34224
34252
  "osdManager.getConditionSupport": {
34225
34253
  capName: "osd-manager",
34226
34254
  capScope: "system",
@@ -37349,7 +37377,6 @@ function createSystemProxy(api) {
37349
37377
  deleteIdentity: (input) => dispatch("faceGallery", "deleteIdentity", "mutation", input),
37350
37378
  listIdentitySamples: (input) => dispatch("faceGallery", "listIdentitySamples", "query", input),
37351
37379
  removeSample: (input) => dispatch("faceGallery", "removeSample", "mutation", input),
37352
- listRecentFaces: (input) => dispatch("faceGallery", "listRecentFaces", "query", input),
37353
37380
  getFaceMedia: (input) => dispatch("faceGallery", "getFaceMedia", "query", input),
37354
37381
  assignFace: (input) => dispatch("faceGallery", "assignFace", "mutation", input),
37355
37382
  unassignFace: (input) => dispatch("faceGallery", "unassignFace", "mutation", input),
@@ -37467,7 +37494,10 @@ function createSystemProxy(api) {
37467
37494
  deleteTarget: (input) => dispatch("notificationOutput", "deleteTarget", "mutation", input),
37468
37495
  setTargetEnabled: (input) => dispatch("notificationOutput", "setTargetEnabled", "mutation", input)
37469
37496
  },
37470
- osdManager: { getConditionSupport: (input) => dispatch("osdManager", "getConditionSupport", "query", input) },
37497
+ osdManager: {
37498
+ getConditionSupport: (input) => dispatch("osdManager", "getConditionSupport", "query", input),
37499
+ copyDeviceConfiguration: (input) => dispatch("osdManager", "copyDeviceConfiguration", "mutation", input)
37500
+ },
37471
37501
  pipelineExecutor: {
37472
37502
  getAvailableEngines: (input) => dispatch("pipelineExecutor", "getAvailableEngines", "query", input),
37473
37503
  getSelectedEngine: (input) => dispatch("pipelineExecutor", "getSelectedEngine", "query", input),
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as EventCategory } from "./event-category-Cv9dO26A.mjs";
2
- import { $ as FrameHandleSchema, A as method, B as readinessKey, C as DeviceType, Ct as collectHydratedFieldEntries, D as event, E as DEVICE_STATUS_METHOD, Et as resolveHydratedFieldValue, F as readNodePin, G as CamProfileSchema, H as BrokerStatsSchema, I as toNodeId, J as CameraStreamSchema, K as CamStreamKindSchema, L as ReadinessRegistry, M as systemMethod, N as CAP_NODE_PIN_CONTEXT_KEY, O as expandCapMethods, P as nodePin, Q as FrameHandleFormatSchema, R as ReadinessTimeoutError, S as DeviceRole, St as WELL_KNOWN_TAB_MAP, T as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Tt as hydrateSchema, U as BrokerStatusSchema, V as scopeKey, W as CAM_PROFILE_ORDER, X as DecodedFrameSchema, Y as DecodedAudioChunkSchema, Z as EncodedPacketSchema, _ as RawStateResultSchema, _t as createDurableState, a as asJsonObject, at as SubscribeAudioChunksInputSchema, b as ChargingStatus, bt as isEvent, c as parseJsonArray, ct as SubscribeFramesResultSchema, d as DEVICE_SCOPED_CAPS, dt as parseProfileBrokerId, et as ProfileRtspEntrySchema, f as isDeviceScopedCap, ft as selectAssignedProfileSlots, g as createSliceHandle, gt as normalizeAddonInitResult, h as createMirrorSource, ht as BaseAddon, i as asJsonArray, it as StreamSourceSchema, j as resolveCapMount, k as isDeviceConfigCap, l as parseJsonObject, lt as makeProfileBrokerId, m as createLazyTrpcSource, mt as DisposerChain, n as sleepCancellable, nt as ProfileSlotStatusSchema, o as asNumber, ot as SubscribeAudioChunksResultSchema, p as createDeviceProxy, pt as DATAPLANE_SECRET_HEADER, q as CamStreamResolutionSchema, r as asBoolean, rt as StreamSourceEntrySchema, s as asString, st as SubscribeFramesInputSchema, t as sleep, tt as ProfileSlotSchema, u as parseJsonUnknown, ut as makeSourceBrokerId, v as deviceOpsCapability, vt as createEvent, w as adminUiCapability, wt as collectHydratedFieldValues, x as DeviceFeature, xt as WELL_KNOWN_TABS, y as viewerUiCapability, yt as emitReadiness, z as emitDownForOwnedCaps } from "./sleep-CeuvKr4N.mjs";
2
+ import { $ as FrameHandleSchema, A as method, B as readinessKey, C as DeviceType, Ct as collectHydratedFieldEntries, D as event, E as DEVICE_STATUS_METHOD, Et as resolveHydratedFieldValue, F as readNodePin, G as CamProfileSchema, H as BrokerStatsSchema, I as toNodeId, J as CameraStreamSchema, K as CamStreamKindSchema, L as ReadinessRegistry, M as systemMethod, N as CAP_NODE_PIN_CONTEXT_KEY, O as expandCapMethods, P as nodePin, Q as FrameHandleFormatSchema, R as ReadinessTimeoutError, S as DeviceRole, St as WELL_KNOWN_TAB_MAP, T as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Tt as hydrateSchema, U as BrokerStatusSchema, V as scopeKey, W as CAM_PROFILE_ORDER, X as DecodedFrameSchema, Y as DecodedAudioChunkSchema, Z as EncodedPacketSchema, _ as RawStateResultSchema, _t as createDurableState, a as asJsonObject, at as SubscribeAudioChunksInputSchema, b as ChargingStatus, bt as isEvent, c as parseJsonArray, ct as SubscribeFramesResultSchema, d as DEVICE_SCOPED_CAPS, dt as parseProfileBrokerId, et as ProfileRtspEntrySchema, f as isDeviceScopedCap, ft as selectAssignedProfileSlots, g as createSliceHandle, gt as normalizeAddonInitResult, h as createMirrorSource, ht as BaseAddon, i as asJsonArray, it as StreamSourceSchema, j as resolveCapMount, k as isDeviceConfigCap, l as parseJsonObject, lt as makeProfileBrokerId, m as createLazyTrpcSource, mt as DisposerChain, n as sleepCancellable, nt as ProfileSlotStatusSchema, o as asNumber, ot as SubscribeAudioChunksResultSchema, p as createDeviceProxy, pt as DATAPLANE_SECRET_HEADER, q as CamStreamResolutionSchema, r as asBoolean, rt as StreamSourceEntrySchema, s as asString, st as SubscribeFramesInputSchema, t as sleep, tt as ProfileSlotSchema, u as parseJsonUnknown, ut as makeSourceBrokerId, v as deviceOpsCapability, vt as createEvent, w as adminUiCapability, wt as collectHydratedFieldValues, x as DeviceFeature, xt as WELL_KNOWN_TABS, y as viewerUiCapability, yt as emitReadiness, z as emitDownForOwnedCaps } from "./sleep-m2HUob6m.mjs";
3
3
  import { a as buildAudioArgs, c as buildVideoArgs, d as logBannerArgs, f as pickVideoEncoder, i as audioPlanFromEncodeProfile, l as invocationFromEncodeProfile, n as Fmp4BoxSplitter, o as buildFfmpegArgs, r as AUDIO_PRESETS, s as buildInputArgs, t as canonicalHash, u as isSoftwareDecode } from "./canonical-hash-rO1sRmEK.mjs";
4
4
  import { EventSourceType } from "./enums.mjs";
5
5
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
@@ -21364,6 +21364,7 @@ var FaceInfoSchema = z.object({
21364
21364
  var FaceFilterEnum = z.enum([
21365
21365
  "unassigned",
21366
21366
  "recognized",
21367
+ "identified",
21367
21368
  "all"
21368
21369
  ]);
21369
21370
  var MediaFileLiteSchema$1 = z.object({
@@ -21403,6 +21404,8 @@ var faceGalleryCapability = {
21403
21404
  auth: "admin"
21404
21405
  }),
21405
21406
  listRecentFaces: method(z.object({
21407
+ /** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
21408
+ deviceId: z.number().int().optional(),
21406
21409
  limit: z.number().int().positive().optional(),
21407
21410
  filter: FaceFilterEnum.optional(),
21408
21411
  /**
@@ -24024,6 +24027,10 @@ var OsdSourceSchema = z.discriminatedUnion("kind", [
24024
24027
  capName: z.string().min(1).max(64),
24025
24028
  /** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
24026
24029
  valuePath: z.string().min(1).max(64)
24030
+ }),
24031
+ z.object({
24032
+ kind: z.literal("latest-recognition"),
24033
+ recognition: z.enum(["person", "plate"])
24027
24034
  })
24028
24035
  ]);
24029
24036
  var OsdSlotBindingSchema = z.object({
@@ -24162,6 +24169,21 @@ var osdManagerCapability = {
24162
24169
  auth: "admin"
24163
24170
  }),
24164
24171
  /**
24172
+ * Replace one camera's binding configuration from another. Writable source
24173
+ * slots are mapped by ordinal onto writable target slots so different
24174
+ * provider slot ids do not make the copied configuration disappear.
24175
+ */
24176
+ copyDeviceConfiguration: method(z.object({
24177
+ sourceDeviceId: z.number().int(),
24178
+ targetDeviceId: z.number().int()
24179
+ }), z.object({
24180
+ copied: z.number().int().nonnegative(),
24181
+ skipped: z.number().int().nonnegative()
24182
+ }), {
24183
+ kind: "mutation",
24184
+ auth: "admin"
24185
+ }),
24186
+ /**
24165
24187
  * Render without writing. `binding` overrides the stored one so an
24166
24188
  * editor can preview an unsaved change. Mutation kind only to carry
24167
24189
  * the binding object safely; no side effects.
@@ -34220,6 +34242,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
34220
34242
  addonId: null,
34221
34243
  access: "delete"
34222
34244
  },
34245
+ "osdManager.copyDeviceConfiguration": {
34246
+ capName: "osd-manager",
34247
+ capScope: "system",
34248
+ addonId: null,
34249
+ access: "create"
34250
+ },
34223
34251
  "osdManager.getConditionSupport": {
34224
34252
  capName: "osd-manager",
34225
34253
  capScope: "system",
@@ -37348,7 +37376,6 @@ function createSystemProxy(api) {
37348
37376
  deleteIdentity: (input) => dispatch("faceGallery", "deleteIdentity", "mutation", input),
37349
37377
  listIdentitySamples: (input) => dispatch("faceGallery", "listIdentitySamples", "query", input),
37350
37378
  removeSample: (input) => dispatch("faceGallery", "removeSample", "mutation", input),
37351
- listRecentFaces: (input) => dispatch("faceGallery", "listRecentFaces", "query", input),
37352
37379
  getFaceMedia: (input) => dispatch("faceGallery", "getFaceMedia", "query", input),
37353
37380
  assignFace: (input) => dispatch("faceGallery", "assignFace", "mutation", input),
37354
37381
  unassignFace: (input) => dispatch("faceGallery", "unassignFace", "mutation", input),
@@ -37466,7 +37493,10 @@ function createSystemProxy(api) {
37466
37493
  deleteTarget: (input) => dispatch("notificationOutput", "deleteTarget", "mutation", input),
37467
37494
  setTargetEnabled: (input) => dispatch("notificationOutput", "setTargetEnabled", "mutation", input)
37468
37495
  },
37469
- osdManager: { getConditionSupport: (input) => dispatch("osdManager", "getConditionSupport", "query", input) },
37496
+ osdManager: {
37497
+ getConditionSupport: (input) => dispatch("osdManager", "getConditionSupport", "query", input),
37498
+ copyDeviceConfiguration: (input) => dispatch("osdManager", "copyDeviceConfiguration", "mutation", input)
37499
+ },
37470
37500
  pipelineExecutor: {
37471
37501
  getAvailableEngines: (input) => dispatch("pipelineExecutor", "getAvailableEngines", "query", input),
37472
37502
  getSelectedEngine: (input) => dispatch("pipelineExecutor", "getSelectedEngine", "query", input),
@@ -217,7 +217,7 @@ export interface PipelineAnalyticsTrackLifecyclePayload {
217
217
  export interface PipelineAnalyticsFaceGalleryChangedPayload {
218
218
  readonly deviceId: number;
219
219
  readonly faceId: string;
220
- readonly kind: 'buffered' | 'assigned' | 'unassigned' | 'deleted';
220
+ readonly kind: 'buffered' | 'assigned' | 'unassigned' | 'deleted' | 'identity-renamed';
221
221
  readonly [key: string]: unknown;
222
222
  }
223
223
  /**
@@ -230,7 +230,7 @@ export interface PipelineAnalyticsFaceGalleryChangedPayload {
230
230
  export interface PipelineAnalyticsPlateGalleryChangedPayload {
231
231
  readonly deviceId: number;
232
232
  readonly plateId: string;
233
- readonly kind: 'buffered' | 'assigned' | 'unassigned' | 'deleted';
233
+ readonly kind: 'buffered' | 'assigned' | 'unassigned' | 'corrected' | 'deleted';
234
234
  readonly [key: string]: unknown;
235
235
  }
236
236
  /**
@@ -3421,7 +3421,10 @@ function createDeviceProxy(api, binding, opts) {
3421
3421
  getCapSlice: (input) => dispatchSystem("deviceState", "getCapSlice", "query", input),
3422
3422
  setCapSlice: (input) => dispatchSystem("deviceState", "setCapSlice", "mutation", input)
3423
3423
  },
3424
- faceGallery: { getFaceByTrack: (input) => dispatchSystem("faceGallery", "getFaceByTrack", "query", input) },
3424
+ faceGallery: {
3425
+ listRecentFaces: (input) => dispatchSystem("faceGallery", "listRecentFaces", "query", input),
3426
+ getFaceByTrack: (input) => dispatchSystem("faceGallery", "getFaceByTrack", "query", input)
3427
+ },
3425
3428
  networkQuality: {
3426
3429
  getDeviceStats: (input) => dispatchSystem("networkQuality", "getDeviceStats", "query", input),
3427
3430
  reportClientStats: (input) => dispatchSystem("networkQuality", "reportClientStats", "mutation", input)
@@ -3421,7 +3421,10 @@ function createDeviceProxy(api, binding, opts) {
3421
3421
  getCapSlice: (input) => dispatchSystem("deviceState", "getCapSlice", "query", input),
3422
3422
  setCapSlice: (input) => dispatchSystem("deviceState", "setCapSlice", "mutation", input)
3423
3423
  },
3424
- faceGallery: { getFaceByTrack: (input) => dispatchSystem("faceGallery", "getFaceByTrack", "query", input) },
3424
+ faceGallery: {
3425
+ listRecentFaces: (input) => dispatchSystem("faceGallery", "listRecentFaces", "query", input),
3426
+ getFaceByTrack: (input) => dispatchSystem("faceGallery", "getFaceByTrack", "query", input)
3427
+ },
3425
3428
  networkQuality: {
3426
3429
  getDeviceStats: (input) => dispatchSystem("networkQuality", "getDeviceStats", "query", input),
3427
3430
  reportClientStats: (input) => dispatchSystem("networkQuality", "reportClientStats", "mutation", input)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.57",
3
+ "version": "1.2.58",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",