@camstack/types 1.2.402 → 1.2.404

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.
Files changed (57) hide show
  1. package/dist/addon.js +2 -2
  2. package/dist/addon.mjs +2 -2
  3. package/dist/auth/credential-scope.d.ts +23 -3
  4. package/dist/auth/viewer-access.d.ts +112 -0
  5. package/dist/capabilities/capability-definition.d.ts +14 -0
  6. package/dist/capabilities/face-gallery.cap.d.ts +3 -0
  7. package/dist/capabilities/index.d.ts +3 -3
  8. package/dist/capabilities/pipeline-analytics.cap.d.ts +82 -0
  9. package/dist/capabilities/pipeline-executor.cap.d.ts +0 -64
  10. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +32 -124
  11. package/dist/capabilities/plate-gallery.cap.d.ts +3 -0
  12. package/dist/capabilities/scene-monitor.cap.d.ts +3 -0
  13. package/dist/capabilities/training.cap.d.ts +91 -71
  14. package/dist/capabilities/user-management.cap.d.ts +108 -18
  15. package/dist/client.js +9 -8
  16. package/dist/client.mjs +9 -8
  17. package/dist/clips/clip-event-labels.d.ts +96 -0
  18. package/dist/device/cap-vocabulary/entries/actuators.d.ts +5 -0
  19. package/dist/device/cap-vocabulary/entries/appliances.d.ts +5 -0
  20. package/dist/device/cap-vocabulary/entries/camera.d.ts +5 -0
  21. package/dist/device/cap-vocabulary/entries/sensors.d.ts +5 -0
  22. package/dist/device/cap-vocabulary/entries/system.d.ts +8 -0
  23. package/dist/device/cap-vocabulary/index.d.ts +9 -0
  24. package/dist/device/cap-vocabulary/l10n.d.ts +7 -0
  25. package/dist/device/cap-vocabulary/resolve.d.ts +100 -0
  26. package/dist/device/cap-vocabulary/templates.d.ts +11 -0
  27. package/dist/device/cap-vocabulary/types.d.ts +398 -0
  28. package/dist/device/cap-vocabulary/vocabulary.d.ts +5 -0
  29. package/dist/device/device-do-actions.d.ts +8 -2
  30. package/dist/enums/event-category.d.ts +2 -3
  31. package/dist/enums.js +1 -1
  32. package/dist/enums.mjs +1 -1
  33. package/dist/{event-category-7AwNbPjm.js → event-category-CXrwjC3e.js} +2 -3
  34. package/dist/{event-category-BfJwUd2S.mjs → event-category-fDPduoeC.mjs} +2 -3
  35. package/dist/generated/addon-api.d.ts +52 -56
  36. package/dist/generated/device-proxy.d.ts +1 -1
  37. package/dist/generated/method-access-map.d.ts +4 -1
  38. package/dist/generated/method-device-selectors.d.ts +2 -2
  39. package/dist/generated/system-proxy.d.ts +3 -3
  40. package/dist/index.d.ts +8 -3
  41. package/dist/index.js +7406 -2133
  42. package/dist/index.mjs +7372 -2132
  43. package/dist/interfaces/api-responses.d.ts +1 -1
  44. package/dist/interfaces/auth.d.ts +2 -2
  45. package/dist/interfaces/birth-decision-ledger.d.ts +20 -0
  46. package/dist/interfaces/pipeline-executor-capability.d.ts +2 -8
  47. package/dist/pipeline/auto-tune/plan-schemas.d.ts +8 -80
  48. package/dist/pipeline/step-settings-layers.d.ts +7 -8
  49. package/dist/schemas/auth-records.d.ts +77 -13
  50. package/dist/schemas/device-selector.d.ts +23 -4
  51. package/dist/{sleep-DVovpDRU.js → sleep-BKS4OPMo.js} +2 -4
  52. package/dist/{sleep-CUp20JkO.mjs → sleep-CHIEEJkY.mjs} +2 -4
  53. package/dist/types/agent-pipeline-settings.d.ts +37 -70
  54. package/dist/types/camera-pipeline.d.ts +2 -2
  55. package/dist/types/detection.d.ts +19 -0
  56. package/dist/types/pipeline-step.d.ts +0 -16
  57. package/package.json +1 -1
@@ -6796,13 +6796,6 @@ export type AppRouter = TrpcCoreRouter<{
6796
6796
  output: z.infer<typeof pipelineExecutorCapability.methods.getSelectedEngine.output>;
6797
6797
  meta: object;
6798
6798
  }>;
6799
- getDefaultSteps: TRPCQueryProcedure<{
6800
- input: {
6801
- [x: string]: unknown;
6802
- } & z.input<typeof pipelineExecutorCapability.methods.getDefaultSteps.input>;
6803
- output: z.infer<typeof pipelineExecutorCapability.methods.getDefaultSteps.output>;
6804
- meta: object;
6805
- }>;
6806
6799
  getEngineProvisioning: TRPCQueryProcedure<{
6807
6800
  input: {
6808
6801
  [x: string]: unknown;
@@ -6824,20 +6817,6 @@ export type AppRouter = TrpcCoreRouter<{
6824
6817
  output: z.infer<typeof pipelineExecutorCapability.methods.setVideoPipelineSteps.output>;
6825
6818
  meta: object;
6826
6819
  }>;
6827
- clearDeviceOverrides: TRPCMutationProcedure<{
6828
- input: {
6829
- [x: string]: unknown;
6830
- } & z.input<typeof pipelineExecutorCapability.methods.clearDeviceOverrides.input>;
6831
- output: z.infer<typeof pipelineExecutorCapability.methods.clearDeviceOverrides.output>;
6832
- meta: object;
6833
- }>;
6834
- clearModelBoundDeviceOverrides: TRPCMutationProcedure<{
6835
- input: {
6836
- [x: string]: unknown;
6837
- } & z.input<typeof pipelineExecutorCapability.methods.clearModelBoundDeviceOverrides.input>;
6838
- output: z.infer<typeof pipelineExecutorCapability.methods.clearModelBoundDeviceOverrides.output>;
6839
- meta: object;
6840
- }>;
6841
6820
  getInferenceDeviceHealth: TRPCQueryProcedure<{
6842
6821
  input: {
6843
6822
  [x: string]: unknown;
@@ -6859,20 +6838,6 @@ export type AppRouter = TrpcCoreRouter<{
6859
6838
  output: z.infer<typeof pipelineExecutorCapability.methods.getSchema.output>;
6860
6839
  meta: object;
6861
6840
  }>;
6862
- getGlobalSteps: TRPCQueryProcedure<{
6863
- input: {
6864
- nodeId?: string | undefined;
6865
- } | undefined;
6866
- output: z.infer<typeof pipelineExecutorCapability.methods.getGlobalSteps.output>;
6867
- meta: object;
6868
- }>;
6869
- getGlobalPipelineConfig: TRPCQueryProcedure<{
6870
- input: {
6871
- nodeId?: string | undefined;
6872
- } | undefined;
6873
- output: z.infer<typeof pipelineExecutorCapability.methods.getGlobalPipelineConfig.output>;
6874
- meta: object;
6875
- }>;
6876
6841
  getOrchestratorConfigSchema: TRPCQueryProcedure<{
6877
6842
  input: {
6878
6843
  nodeId?: string | undefined;
@@ -7265,6 +7230,13 @@ export type AppRouter = TrpcCoreRouter<{
7265
7230
  output: z.infer<typeof pipelineOrchestratorCapability.methods.setAgentInferenceDevices.output>;
7266
7231
  meta: object;
7267
7232
  }>;
7233
+ setNodeStepSettings: TRPCMutationProcedure<{
7234
+ input: {
7235
+ [x: string]: unknown;
7236
+ } & z.input<typeof pipelineOrchestratorCapability.methods.setNodeStepSettings.input>;
7237
+ output: z.infer<typeof pipelineOrchestratorCapability.methods.setNodeStepSettings.output>;
7238
+ meta: object;
7239
+ }>;
7268
7240
  getNodeInferenceDevices: TRPCQueryProcedure<{
7269
7241
  input: {
7270
7242
  [x: string]: unknown;
@@ -7412,20 +7384,6 @@ export type AppRouter = TrpcCoreRouter<{
7412
7384
  output: z.infer<typeof pipelineOrchestratorCapability.methods.setCameraDetectionSource.output>;
7413
7385
  meta: object;
7414
7386
  }>;
7415
- getCameraStepOverrides: TRPCQueryProcedure<{
7416
- input: {
7417
- [x: string]: unknown;
7418
- } & z.input<typeof pipelineOrchestratorCapability.methods.getCameraStepOverrides.input>;
7419
- output: z.infer<typeof pipelineOrchestratorCapability.methods.getCameraStepOverrides.output>;
7420
- meta: object;
7421
- }>;
7422
- setCameraStepOverride: TRPCMutationProcedure<{
7423
- input: {
7424
- [x: string]: unknown;
7425
- } & z.input<typeof pipelineOrchestratorCapability.methods.setCameraStepOverride.input>;
7426
- output: z.infer<typeof pipelineOrchestratorCapability.methods.setCameraStepOverride.output>;
7427
- meta: object;
7428
- }>;
7429
7387
  setCameraStepSettings: TRPCMutationProcedure<{
7430
7388
  input: {
7431
7389
  [x: string]: unknown;
@@ -7433,13 +7391,6 @@ export type AppRouter = TrpcCoreRouter<{
7433
7391
  output: z.infer<typeof pipelineOrchestratorCapability.methods.setCameraStepSettings.output>;
7434
7392
  meta: object;
7435
7393
  }>;
7436
- setCameraPipelineForAgent: TRPCMutationProcedure<{
7437
- input: {
7438
- [x: string]: unknown;
7439
- } & z.input<typeof pipelineOrchestratorCapability.methods.setCameraPipelineForAgent.input>;
7440
- output: z.infer<typeof pipelineOrchestratorCapability.methods.setCameraPipelineForAgent.output>;
7441
- meta: object;
7442
- }>;
7443
7394
  resolvePipeline: TRPCQueryProcedure<{
7444
7395
  input: {
7445
7396
  [x: string]: unknown;
@@ -10105,6 +10056,13 @@ export type AppRouter = TrpcCoreRouter<{
10105
10056
  output: z.infer<typeof trainingCapability.methods.getJobResult.output>;
10106
10057
  meta: object;
10107
10058
  }>;
10059
+ listCanaryTargets: TRPCQueryProcedure<{
10060
+ input: {
10061
+ nodeId?: string | undefined;
10062
+ } | undefined;
10063
+ output: z.infer<typeof trainingCapability.methods.listCanaryTargets.output>;
10064
+ meta: object;
10065
+ }>;
10108
10066
  registerResult: TRPCMutationProcedure<{
10109
10067
  input: {
10110
10068
  [x: string]: unknown;
@@ -12942,6 +12900,11 @@ export type AppRouter = TrpcCoreRouter<{
12942
12900
  access: ("delete" | "view" | "create")[];
12943
12901
  } | {
12944
12902
  type: "preferences-self";
12903
+ } | {
12904
+ type: "viewer";
12905
+ allow: "*" | number[];
12906
+ block: number[];
12907
+ features: ("face-assignment" | "plate-assignment" | "retrain" | "scenes")[];
12945
12908
  })[];
12946
12909
  createdAt: number;
12947
12910
  expiresAt: number | null;
@@ -12999,6 +12962,11 @@ export type AppRouter = TrpcCoreRouter<{
12999
12962
  access: ("delete" | "view" | "create")[];
13000
12963
  } | {
13001
12964
  type: "preferences-self";
12965
+ } | {
12966
+ type: "viewer";
12967
+ allow: "*" | number[];
12968
+ block: number[];
12969
+ features: ("face-assignment" | "plate-assignment" | "retrain" | "scenes")[];
13002
12970
  })[];
13003
12971
  createdAt: number;
13004
12972
  expiresAt: number | null;
@@ -13056,6 +13024,11 @@ export type AppRouter = TrpcCoreRouter<{
13056
13024
  access: ("delete" | "view" | "create")[];
13057
13025
  } | {
13058
13026
  type: "preferences-self";
13027
+ } | {
13028
+ type: "viewer";
13029
+ allow: "*" | number[];
13030
+ block: number[];
13031
+ features: ("face-assignment" | "plate-assignment" | "retrain" | "scenes")[];
13059
13032
  })[];
13060
13033
  createdAt: number;
13061
13034
  expiresAt: number | null;
@@ -13550,6 +13523,8 @@ export type AppRouter = TrpcCoreRouter<{
13550
13523
  isApiKey: boolean;
13551
13524
  scope?: {
13552
13525
  isAdmin: boolean;
13526
+ role: "scoped" | "admin" | "viewer";
13527
+ features: readonly ("face-assignment" | "plate-assignment" | "retrain" | "scenes")[];
13553
13528
  allDevicesViewable: boolean;
13554
13529
  viewableDeviceCount: number;
13555
13530
  device: {
@@ -13586,6 +13561,8 @@ export type AppRouter = TrpcCoreRouter<{
13586
13561
  };
13587
13562
  output: {
13588
13563
  isAdmin: boolean;
13564
+ role: "scoped" | "admin" | "viewer";
13565
+ features: readonly ("face-assignment" | "plate-assignment" | "retrain" | "scenes")[];
13589
13566
  allDevicesViewable: boolean;
13590
13567
  viewableDeviceCount: number;
13591
13568
  device: {
@@ -13918,6 +13895,11 @@ export type AppRouter = TrpcCoreRouter<{
13918
13895
  access: ("delete" | "view" | "create")[];
13919
13896
  } | {
13920
13897
  type: "preferences-self";
13898
+ } | {
13899
+ type: "viewer";
13900
+ allow: "*" | number[];
13901
+ block: number[];
13902
+ features: ("face-assignment" | "plate-assignment" | "retrain" | "scenes")[];
13921
13903
  })[];
13922
13904
  createdAt: number;
13923
13905
  expiresAt: number | null;
@@ -13975,6 +13957,11 @@ export type AppRouter = TrpcCoreRouter<{
13975
13957
  access: ("delete" | "view" | "create")[];
13976
13958
  } | {
13977
13959
  type: "preferences-self";
13960
+ } | {
13961
+ type: "viewer";
13962
+ allow: "*" | number[];
13963
+ block: number[];
13964
+ features: ("face-assignment" | "plate-assignment" | "retrain" | "scenes")[];
13978
13965
  })[];
13979
13966
  createdAt: number;
13980
13967
  expiresAt: number | null;
@@ -14032,6 +14019,11 @@ export type AppRouter = TrpcCoreRouter<{
14032
14019
  access: ("delete" | "view" | "create")[];
14033
14020
  } | {
14034
14021
  type: "preferences-self";
14022
+ } | {
14023
+ type: "viewer";
14024
+ allow: "*" | number[];
14025
+ block: number[];
14026
+ features: ("face-assignment" | "plate-assignment" | "retrain" | "scenes")[];
14035
14027
  })[];
14036
14028
  createdAt: number;
14037
14029
  expiresAt: number | null;
@@ -14526,6 +14518,8 @@ export type AppRouter = TrpcCoreRouter<{
14526
14518
  isApiKey: boolean;
14527
14519
  scope?: {
14528
14520
  isAdmin: boolean;
14521
+ role: "scoped" | "admin" | "viewer";
14522
+ features: readonly ("face-assignment" | "plate-assignment" | "retrain" | "scenes")[];
14529
14523
  allDevicesViewable: boolean;
14530
14524
  viewableDeviceCount: number;
14531
14525
  device: {
@@ -14562,6 +14556,8 @@ export type AppRouter = TrpcCoreRouter<{
14562
14556
  };
14563
14557
  output: {
14564
14558
  isAdmin: boolean;
14559
+ role: "scoped" | "admin" | "viewer";
14560
+ features: readonly ("face-assignment" | "plate-assignment" | "retrain" | "scenes")[];
14565
14561
  allDevicesViewable: boolean;
14566
14562
  viewableDeviceCount: number;
14567
14563
  device: {
@@ -308,7 +308,7 @@ export interface DeviceProxy {
308
308
  readonly notificationRules: Pick<InferDeviceProxyCap<typeof notificationRulesCapability>, 'setDeviceMuted'>;
309
309
  readonly osdManager: Pick<InferDeviceProxyCap<typeof osdManagerCapability>, 'getDeviceOsd' | 'getSourceCatalog' | 'setSlotBinding' | 'clearSlotBinding' | 'setSlotCameraEnabled' | 'previewSlot' | 'renderDevice'>;
310
310
  readonly pipelineExecutor: Pick<InferDeviceProxyCap<typeof pipelineExecutorCapability>, 'runPipeline' | 'runPipelineBatch'>;
311
- 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'>;
311
+ readonly pipelineOrchestrator: Pick<InferDeviceProxyCap<typeof pipelineOrchestratorCapability>, 'assignPipeline' | 'unassignPipeline' | 'setPipelineDevicePin' | 'getPipelineDevicePin' | 'getPipelineAssignment' | 'getCameraMetrics' | 'assignAudio' | 'unassignAudio' | 'getAudioAssignment' | 'getCameraSettings' | 'setCameraStepToggle' | 'getCameraDetectionSource' | 'setCameraDetectionSource' | 'setCameraStepSettings' | 'resolvePipeline' | 'getCameraSwitches' | 'setCameraSwitch' | 'getCameraStatus' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
312
312
  readonly pipelineRunner: Pick<InferDeviceProxyCap<typeof pipelineRunnerCapability>, 'detachCamera' | 'getCameraMetrics' | 'requestOccupancyBurst' | 'runDetailSubtree' | 'parkTrackFrame' | 'getParkedTrackFrame' | 'releaseParkedTrackFrames'>;
313
313
  readonly plateGallery: Pick<InferDeviceProxyCap<typeof plateGalleryCapability>, 'listPlates' | 'getPlateByTrack'>;
314
314
  readonly recordingArchive: Pick<InferDeviceProxyCap<typeof recordingArchiveCapability>, 'getDeviceConfig' | 'locateSegment' | 'readSegmentBytes' | 'readGopBytes' | 'readWindowBytes' | 'setDeviceConfig' | 'rescanStorage' | 'pruneFootage' | 'deleteFootprint' | 'renderGif' | 'renderClip' | 'getStatus' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
@@ -6,14 +6,17 @@
6
6
  * scope+access check inside `protectedProcedure` (see
7
7
  * `server/backend/src/api/trpc/trpc.middleware.ts`).
8
8
  *
9
- * Coverage: 1384 method paths across 179 capabilities.
9
+ * Coverage: 1378 method paths across 179 capabilities.
10
10
  */
11
+ import type { MethodRole } from '../auth/viewer-access.js';
11
12
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
12
13
  export interface MethodAccessRecord {
13
14
  readonly capName: string;
14
15
  readonly capScope: 'device' | 'system';
15
16
  readonly addonId: string | null;
16
17
  readonly access: CapabilityMethodAccess;
18
+ /** What the method is for a viewer (D921): `public`, `viewer`, `admin` or `feature:<id>`. */
19
+ readonly role: MethodRole;
17
20
  }
18
21
  export declare const METHOD_ACCESS_MAP: Readonly<Record<string, MethodAccessRecord>>;
19
22
  /** Set of all known cap names — handy for the scope picker. */
@@ -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: 550 methods carry a device reference, of which
10
- * 179 are on SYSTEM-scope caps.
9
+ * Coverage: 545 methods carry a device reference, of which
10
+ * 174 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
@@ -97,8 +97,8 @@ export interface SystemProxy {
97
97
  readonly notificationRules: Pick<InferProvider<typeof notificationRulesCapability>, 'listRules' | 'getRule' | 'createRule' | 'updateRule' | 'deleteRule' | 'setRuleEnabled' | 'listSequences' | 'getSequence' | 'createSequence' | 'updateSequence' | 'deleteSequence' | 'getClipRetentionAsks' | 'listDeviceMutes' | 'testRule' | 'previewStateSummary' | 'getConditionCatalog' | 'getTemplateCatalog' | 'previewTemplate' | 'getHistory' | 'getRuleLastRuns' | 'resolveArtifactUrl' | 'listSnoozes' | 'createSnooze' | 'cancelSnooze' | 'getAlarmConfig' | 'setAlarmConfig' | 'createAlarmProfile' | 'renameAlarmProfile' | 'deleteAlarmProfile' | 'activateAlarmProfile' | 'getAlarmSensors'>;
98
98
  readonly oidcConnections: Pick<InferProvider<typeof oidcConnectionsCapability>, 'connectionFormSchema' | 'listConnections' | 'createConnection' | 'updateConnection' | 'deleteConnection'>;
99
99
  readonly osdManager: Pick<InferProvider<typeof osdManagerCapability>, 'getConditionSupport' | 'copyDeviceConfiguration' | 'listTemplates' | 'upsertTemplate' | 'deleteTemplate'>;
100
- readonly pipelineExecutor: Pick<InferProvider<typeof pipelineExecutorCapability>, 'getAvailableEngines' | 'getSelectedEngine' | 'getDefaultSteps' | 'getEngineProvisioning' | 'getVideoPipelineSteps' | 'setVideoPipelineSteps' | 'clearDeviceOverrides' | 'clearModelBoundDeviceOverrides' | 'getInferenceDeviceHealth' | 'rearmInferenceDevice' | 'getSchema' | 'getGlobalSteps' | 'getGlobalPipelineConfig' | 'getOrchestratorConfigSchema' | 'validatePipeline' | 'getCapabilities' | 'getAddonModels' | 'downloadModel' | 'deleteModel' | 'cacheFrameInPool' | 'inferCached' | 'uncacheFrame' | 'getEffectiveTuning' | 'listLoadedEngines' | 'spinEngine' | 'killEngine' | 'listReferenceImages' | 'getReferenceImage' | 'getReferenceAudioFiles' | 'getReferenceAudio' | 'getAudioCapabilities' | 'runAudioTest' | 'getDetectionConfigSchema'>;
101
- readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'requestOccupancyLook' | 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getClusterModelChoice' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getIngestOwner' | 'getAudioNodeLoad' | 'getAudioAssignments' | 'getAgentSettings' | 'listAgentSettings' | 'removeAgentSettings' | 'setAgentMaxCameras' | 'setAgentCapabilities' | 'setAgentDecodeLimits' | 'setAgentReachableHost' | 'setAgentInferenceDevices' | 'getNodeInferenceDevices' | 'forgetInferenceDevice' | 'resetNodePipelineDefaults' | 'planAutoTune' | 'applyAutoTune' | 'setLoadBalancingShares' | 'getPlacementStats' | 'suggestShares' | 'getEffectiveShares' | 'setShareSource' | 'getNodeBenchmarkPreflight' | 'startNodeBenchmark' | 'getNodeBenchmarkStatus' | 'abortNodeBenchmark' | 'getNodeBenchmarkCandidates' | 'listNodeBenchmarkResults' | 'deleteNodeBenchmarkResult' | 'getCameraStatuses' | 'setCameraSensors' | 'reconcileFromDisk' | 'getReconcileFromDiskStatus'>;
100
+ readonly pipelineExecutor: Pick<InferProvider<typeof pipelineExecutorCapability>, 'getAvailableEngines' | 'getSelectedEngine' | 'getEngineProvisioning' | 'getVideoPipelineSteps' | 'setVideoPipelineSteps' | 'getInferenceDeviceHealth' | 'rearmInferenceDevice' | 'getSchema' | 'getOrchestratorConfigSchema' | 'validatePipeline' | 'getCapabilities' | 'getAddonModels' | 'downloadModel' | 'deleteModel' | 'cacheFrameInPool' | 'inferCached' | 'uncacheFrame' | 'getEffectiveTuning' | 'listLoadedEngines' | 'spinEngine' | 'killEngine' | 'listReferenceImages' | 'getReferenceImage' | 'getReferenceAudioFiles' | 'getReferenceAudio' | 'getAudioCapabilities' | 'runAudioTest' | 'getDetectionConfigSchema'>;
101
+ readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'requestOccupancyLook' | 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getClusterModelChoice' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getIngestOwner' | 'getAudioNodeLoad' | 'getAudioAssignments' | 'getAgentSettings' | 'listAgentSettings' | 'removeAgentSettings' | 'setAgentMaxCameras' | 'setAgentCapabilities' | 'setAgentDecodeLimits' | 'setAgentReachableHost' | 'setAgentInferenceDevices' | 'setNodeStepSettings' | 'getNodeInferenceDevices' | 'forgetInferenceDevice' | 'resetNodePipelineDefaults' | 'planAutoTune' | 'applyAutoTune' | 'setLoadBalancingShares' | 'getPlacementStats' | 'suggestShares' | 'getEffectiveShares' | 'setShareSource' | 'getNodeBenchmarkPreflight' | 'startNodeBenchmark' | 'getNodeBenchmarkStatus' | 'abortNodeBenchmark' | 'getNodeBenchmarkCandidates' | 'listNodeBenchmarkResults' | 'deleteNodeBenchmarkResult' | 'getCameraStatuses' | 'setCameraSensors' | 'reconcileFromDisk' | 'getReconcileFromDiskStatus'>;
102
102
  readonly pipelineRunner: Pick<InferProvider<typeof pipelineRunnerCapability>, 'attachCamera' | 'reportMotion' | 'getLocalLoad' | 'getLocalMetrics' | 'getAllCameraMetrics' | 'getLocalCameras' | 'getNativeCrop' | 'runStatelessStep' | 'startNodeBench' | 'getNodeBenchStatus' | 'abortNodeBench'>;
103
103
  readonly plateGallery: Pick<InferProvider<typeof plateGalleryCapability>, 'getPlateMedia' | 'searchPlates' | 'suggestPlateClusters' | 'correctPlateText' | 'deletePlate' | 'listVehicles' | 'createVehicle' | 'renameVehicle' | 'deleteVehicle' | 'listVehicleSamples' | 'removeVehicleSample' | 'assignPlate' | 'unassignPlate' | 'assignPlates' | 'unassignPlates'>;
104
104
  readonly recordEntries: Pick<InferProvider<typeof recordEntriesCapability>, 'listEntryKinds' | 'listEntries' | 'putEntry' | 'deleteEntry'>;
@@ -112,7 +112,7 @@ export interface SystemProxy {
112
112
  readonly system: Pick<InferProvider<typeof systemCapability>, 'info' | 'health' | 'featureFlags' | 'networkAddresses' | 'getRetentionConfig' | 'setRetentionConfig' | 'forceRetentionCleanup' | 'getSiteLocation' | 'setSiteLocation' | 'detectSiteLocation' | 'getRequestCensus' | 'getLoadContributions' | 'getFailureContributions' | 'getLoggingSettings' | 'setLoggingSettings'>;
113
113
  readonly terminalSession: Pick<InferProvider<typeof terminalSessionCapability>, 'listProfiles' | 'listInstances' | 'createInstance' | 'updateInstance' | 'deleteInstance' | 'setInstanceEnabled' | 'listLegacyCameras' | 'adoptLegacyMonitor' | 'listSessions' | 'openSession' | 'resize' | 'pullOutput' | 'writeInput' | 'close'>;
114
114
  readonly toast: Pick<InferProvider<typeof toastCapability>, 'onToast'>;
115
- readonly training: Pick<InferProvider<typeof trainingCapability>, 'listBaseModels' | 'planJob' | 'startJob' | 'startJobBatch' | 'listJobs' | 'getJob' | 'cancelJob' | 'getJobResult' | 'registerResult' | 'canaryResult' | 'rollbackCanary' | 'discardResult'>;
115
+ readonly training: Pick<InferProvider<typeof trainingCapability>, 'listBaseModels' | 'planJob' | 'startJob' | 'startJobBatch' | 'listJobs' | 'getJob' | 'cancelJob' | 'getJobResult' | 'listCanaryTargets' | 'registerResult' | 'canaryResult' | 'rollbackCanary' | 'discardResult'>;
116
116
  readonly turnProvider: Pick<InferProvider<typeof turnProviderCapability>, 'getTurnServers'>;
117
117
  readonly userManagement: Pick<InferProvider<typeof userManagementCapability>, 'listUsers' | 'createUser' | 'updateUser' | 'deleteUser' | 'resetPassword' | 'setUserScopes' | 'validateCredentials' | 'setupTotp' | 'confirmTotp' | 'disableTotp' | 'getTotpStatus' | 'migrateRawSecrets' | 'verifyTotp' | 'oauthIssueCode' | 'oauthExchangeCode' | 'oauthRefresh' | 'oauthVerifyAccessToken' | 'listExternalIdentities' | 'findUserByExternalIdentity' | 'unlinkExternalIdentity' | 'listOauthSessions' | 'revokeOauthSession'>;
118
118
  }
package/dist/index.d.ts CHANGED
@@ -127,7 +127,8 @@ export { foldSnapshotByFunction, ROOT_BUCKET_KEY, reducePoints, resolveBucketMs,
127
127
  export type { AwaitReadyOptions, ReadinessHandler, ReadinessRegistryOptions, ReadinessTransition, } from './readiness/index.js';
128
128
  export { emitDownForOwnedCaps, ReadinessRegistry, ReadinessTimeoutError, readinessKey, scopeKey, } from './readiness/index.js';
129
129
  export * from './stream-selection.js';
130
- export type { AgentAddonConfig, AgentPipelineSettings, CameraPipelineSettings, CameraStepOverridePatch, DeviceStepConfig, } from './types/agent-pipeline-settings.js';
130
+ export type { AgentPipelineSettings, CameraPipelineSettings, DeviceStepConfig, } from './types/agent-pipeline-settings.js';
131
+ export { cameraScopedStepSettings, isModelScopedStepSettingKey, modelScopedStepSettingKeys, } from './types/agent-pipeline-settings.js';
131
132
  export { NODE_COLOR_IDS, NodeColorIdSchema, assignNodeColorId, } from './node-color.js';
132
133
  export type { NodeColorId } from './node-color.js';
133
134
  export * from './types/analytics.js';
@@ -152,6 +153,7 @@ export * from './types/pipeline-step.js';
152
153
  export * from './types/tracked.js';
153
154
  export { type BearerPayloadShape, type BearerPrincipal, classifyBearerPrincipal, methodAccessForHttpMethod, type PrincipalAddonReachInput, type PrincipalAddonReachVerdict, principalMayReachAddon, scopesAllowAddon, scopesAllowDeviceCap, } from './auth/principal-scope.js';
154
155
  export { ADMIN_SCOPE, ALL_METHOD_ACCESS, type AddonRoutesScope, AddonRoutesScopeSchema, capabilityScopesOf, CREDENTIAL_TOKEN_AUDIENCE, CREDENTIAL_TOKEN_KIND, isCredentialTokenPayload, type CredentialScope, CredentialScopeSchema, type CredentialTokenClaims, CredentialTokenClaimsSchema, parseCredentialScopes, PREFERENCES_SELF_SCOPE, type PreferencesSelfScope, PreferencesSelfScopeSchema, SHARE_VIEW_MAX_DEVICES, scopesAllowAddonRoutes, scopesAllowOwnPreferences, scopesGrantAdmin, type ShareViewGrant, ShareViewGrantSchema, type ShareViewScope, ShareViewScopeSchema, shareViewGrantOf, } from './auth/credential-scope.js';
156
+ export { DEFAULT_VIEWER_SCOPE, featureOfRole, type MethodRole, type MethodRoleDecl, type MethodRoleSource, methodRoleOf, resolveMethodRole, type ViewerAncestorLookup, viewerAdmitsDevice, type ViewerDeviceAllow, ViewerDeviceAllowSchema, VIEWER_FEATURE_IDS, VIEWER_FEATURES, type ViewerFeatureId, ViewerFeatureIdSchema, type ViewerFeatureSpec, viewerHoldsRole, type ViewerTokenScope, ViewerTokenScopeSchema, } from './auth/viewer-access.js';
155
157
  export { type PreferenceNamespace, PreferenceNamespaceSchema, type PreferenceRow, PreferenceRowSchema, type PreferenceValue, PreferenceValueSchema, PreferenceDeviceIdSchema, type PreferencesChangedSinceInput, PreferencesChangedSinceInputSchema, type PreferencesChangedSinceOutput, PreferencesChangedSinceOutputSchema, type PreferencesDeleteInput, PreferencesDeleteInputSchema, type PreferencesDeleteOutput, PreferencesDeleteOutputSchema, type PreferencesGetInput, PreferencesGetInputSchema, type PreferencesGetOutput, PreferencesGetOutputSchema, type PreferencesPutInput, PreferencesPutInputSchema, type PreferencesPutOutput, PreferencesPutOutputSchema, PREFERENCES_MAX_DEVICE_ID_LENGTH, PREFERENCES_MAX_NAMESPACES, PREFERENCES_MAX_VALUE_BYTES, PREFERENCES_NAMESPACE_PATTERN, } from './schemas/user-preferences.js';
156
158
  export { APP_AUTH_CALLBACK_MAX_LENGTH, APP_AUTH_CALLBACK_URLS, canonicalizeAppCallback, hasUrlScheme, parseAppAuthCallback, } from './auth/app-callback.js';
157
159
  export { APP_FLOW_DEFAULT_REDIRECT, APP_FLOW_REFUSAL_MESSAGES, APP_FLOW_STATE_PREFIX, APP_REFUSED_PATH, APP_START_REFUSAL_MESSAGES, type AppFlowParse, type AppFlowPurpose, AppFlowPurposeSchema, type AppFlowRefusal, type AppFlowRequest, type AppPageLang, AppPageLangSchema, type AppLoginPath, AppLoginPathSchema, type AppStartRefusal, appFlowLocation, isAppStartRefusal, parseAppFlowRequest, parseAppPageLang, } from './auth/app-flow.js';
@@ -162,6 +164,7 @@ export type { AutomationAction, AutomationCondition, AutomationConditionAll, Aut
162
164
  export { AutomationActionSchema, AutomationConditionOperatorSchema, AutomationConditionSchema, AutomationRecipeSchema, AutomationTriggerSchema, conditionDepth, countConditionLeaves, generateAutomationBlock, MAX_CONDITION_DEPTH, MAX_CONDITION_LEAVES, validateRecipeBounds, } from './automation/index.js';
163
165
  export * from './cap-call-context.js';
164
166
  export * from './capabilities/index.js';
167
+ export * from './clips/clip-event-labels.js';
165
168
  export * from './device-extension/index.js';
166
169
  export * from './composition/index.js';
167
170
  export { APPLE_SA_TO_MACRO, AUDIO_MACRO_LABELS, getAudioMacroClassIds, mapAudioLabelToMacro, YAMNET_TO_MACRO, } from './catalogs/audio-classmap.js';
@@ -197,6 +200,8 @@ export type { AccessoryControlInput, AccessoryControlKind, AccessoryControlPick,
197
200
  export { DEVICE_TYPE_CONTROL_KIND, hasMotionTrigger, isNode, MOTION_TRIGGER_FEATURE, pickAccessoryControl, resolveDeviceControlKind, resolveMutate, SENSOR_FEATURES, SENSOR_MAP, } from './device/device-control-resolution.js';
198
201
  export type { DeviceDoAction, DeviceDoOpenArg } from './device/device-do-actions.js';
199
202
  export { actionsForBoundCaps, actionsForDevice, actionsForDevices, actionsForDeviceType, allDoActions, DEVICE_DO_ACTIONS, DEVICE_TYPE_DO_CAPS, deviceDoFamily, doActionSelectValue, isDoActionActuatable, isDoPickerDeviceType, matchDoAction, sameDoFamily, } from './device/device-do-actions.js';
203
+ export type { CapVocabularyEntry, CapVocabularyMap, L10n as VocabL10n, LooseCapVocabularyEntry, LooseVocabOffer, LooseVocabOpenArg, ResolvedBooleanTrigger, ResolvedEnumTrigger, ResolvedEnumValue, ResolvedEventTrigger, ResolvedNumericTrigger, ResolvedValueTrigger, ResolvedVocabAction, ResolvedVocabTrigger, VocabBindingsInput, VocabCapName, VocabLocale, } from './device/cap-vocabulary/index.js';
204
+ export { actionsForDevice as vocabularyActionsForDevice, CAP_VOCABULARY, CAP_VOCABULARY_BY_NAME, renderVocabPhrase, triggersForDevice as vocabularyTriggersForDevice, VOCAB_TEMPLATES, } from './device/cap-vocabulary/index.js';
200
205
  export type { ChildLayout, ChildLayoutEntry, CreateDeviceSpec, DeviceCapDisplayOverride, DeviceDiscovery, DeviceDisplayOverride, DeviceManualCreation, DeviceMeta, DiscoveredDevice, InitialDeviceMeta, RoleDisplayDefault, SavedDevice, } from './device/device-management.js';
201
206
  export type { DeviceProfile, DeviceProfileDefaults, DeviceProfileMatch, PipelinePhaseMode, } from './device/device-profile.js';
202
207
  export { BATTERY_DEVICE_PROFILE, DEVICE_PROFILES, deviceMatchesProfile, resolveDeviceProfile, } from './device/device-profile.js';
@@ -303,8 +308,8 @@ export { DEFAULT_DETAIL_CROP_CONVENTION, DETAIL_CROP_PADDING_FIELD, DETAIL_CROP_
303
308
  export { FACE_RESCORE_INTERVAL_FIELD, FACE_RESCORE_INTERVAL_KEY, FACE_RESCORE_INTERVAL_MIN_RUNNING, FACE_RESCORE_SECTION_ID, type FaceRescoreSettingsView, pickFaceRescoreIntervalMinutes, readFaceRescoreIntervalMinutes, } from './pipeline/face-rescore-schedule.js';
304
309
  export { DEFAULT_NATIVE_LEASE_SETTINGS, NATIVE_LEASE_ACTIVITY_FIELD, NATIVE_LEASE_ACTIVITY_KEY, NATIVE_LEASE_ADMISSION_FIELD, NATIVE_LEASE_ADMISSION_KEY, NATIVE_LEASE_BUDGET_FIELD, NATIVE_LEASE_BUDGET_KEY, NATIVE_LEASE_HOLD_FIELD, NATIVE_LEASE_HOLD_KEY, NATIVE_LEASE_SCENE_BUDGET_FIELD, NATIVE_LEASE_SCENE_BUDGET_KEY, NATIVE_LEASE_SECTION_ID, NATIVE_LEASE_TILE_BUDGET_FIELD, NATIVE_LEASE_TILE_BUDGET_KEY, type NativeLeaseAdmission, NativeLeaseAdmissionSchema, type NativeLeaseKnob, type NativeLeaseNumberKnob, type NativeLeaseSettings, type NativeLeaseSettingsOverride, NativeLeaseSettingsSchema, pickNativeLeaseOverride, readNativeLeaseOverride, } from './pipeline/native-lease.js';
305
310
  export { ACCESS_ROLES, type AccessRoleAssignment, type AccessRoleId, type AccessRoleSpec, buildRoleScopes, detectAccessRole, roleSpec, } from './schemas/access-roles.js';
306
- export { type CapScope, CapScopeSchema, type DeviceSelector, DeviceSelectorSchema, type DeviceTokenScope, type MethodAccess, MethodAccessSchema, type ScopedToken, ScopedTokenSchema, type TokenScope, TokenScopeSchema, type UserRecord, UserRecordSchema, } from './schemas/auth-records.js';
307
- export { type DeviceMetaLike, type DeviceReachSummary, deviceSelectorMatches, type EffectiveScope, normalizeTokenScopes, resolveViewableDeviceIds, type ScopeGrantSummary, scopeInherits, summarizeEffectiveScope, } from './schemas/device-selector.js';
311
+ export { type CapScope, CapScopeSchema, type DeviceSelector, DeviceSelectorSchema, type DeviceTokenScope, type MethodAccess, MethodAccessSchema, type ScopedToken, ScopedTokenSchema, type TokenScope, TokenScopeSchema, type UserRecord, UserRecordSchema, type UserScope, UserScopeSchema, } from './schemas/auth-records.js';
312
+ export { type DeviceMetaLike, type DeviceReachSummary, deviceSelectorMatches, type EffectiveScope, grantRowsOf, normalizeTokenScopes, resolveViewableDeviceIds, type ScopeGrantSummary, scopeInherits, summarizeEffectiveScope, viewerScopeOf, } from './schemas/device-selector.js';
308
313
  export type { CameraDetectionCapabilities, CameraMotionConfig, CameraNativeDetectionConfig, } from './types/camera-detection.js';
309
314
  export { DEVICE_TYPE_INFO, type DeviceTypeInfo } from './types/device-type.js';
310
315
  export * from './units/index.js';