@camstack/types 1.2.243 → 1.2.245

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.
@@ -91,6 +91,31 @@ export declare const ClipStillDispositionSchema: z.ZodEnum<{
91
91
  export type ClipStillDisposition = z.infer<typeof ClipStillDispositionSchema>;
92
92
  /** The camera's / provider's own words. Kept verbatim, never parsed. */
93
93
  export declare const CLIP_STILL_REASON_HEADER = "x-camstack-reason";
94
+ /** Longest reason a header carries. Beyond this the sentence is cut. */
95
+ export declare const CLIP_REASON_HEADER_MAX = 500;
96
+ /**
97
+ * Make a refusal sentence safe to put in an HTTP header.
98
+ *
99
+ * **An HTTP header value is Latin-1.** Node throws `Invalid character in
100
+ * header content` on anything above U+00FF, the handler dies mid-response,
101
+ * and the client gets a socket hang up — no status, no reason, nothing. The
102
+ * mechanism that exists to EXPLAIN a refusal is then the thing that silences
103
+ * it, and the surface shows "nothing happened".
104
+ *
105
+ * That is not hypothetical: measured 2026-09-23 on 1436, a Hikvision replay
106
+ * refusal read `SETUP of the video track answered 500 — the camera refused
107
+ * this replay`, and the EM DASH in it threw on every clip the operator
108
+ * opened. This repository writes its refusals in prose, and its prose uses
109
+ * `—`, `’` and `…` everywhere, so every reason string is a candidate.
110
+ *
111
+ * Substitutes rather than strips: an operator reading a log or a response
112
+ * should get a readable sentence, not one with holes in it. The typographic
113
+ * characters this repo actually writes have exact ASCII equivalents; anything
114
+ * else non-Latin-1 becomes `?`, which is visible rather than silent. Control
115
+ * characters go too — a newline in a header value is a response-splitting
116
+ * bug, not a formatting one.
117
+ */
118
+ export declare function clipReasonHeaderValue(reason: string): string;
94
119
  /** One {@link ClipStillRefusalCodeSchema} token, alone. */
95
120
  export declare const CLIP_STILL_REASON_CODE_HEADER = "x-camstack-reason-code";
96
121
  /** One {@link ClipStillDispositionSchema} token, alone. */
@@ -36,6 +36,7 @@ import type { customModelRegistryCapability } from '../capabilities/custom-model
36
36
  import type { dataStoreProviderCapability } from '../capabilities/data-store-provider.cap.js';
37
37
  import type { dayNightCapability } from '../capabilities/day-night.cap.js';
38
38
  import type { decoderCapability } from '../capabilities/decoder.cap.js';
39
+ import type { deviceAdminLinkCapability } from '../capabilities/device-admin-link.cap.js';
39
40
  import type { deviceAdoptionCapability } from '../capabilities/device-adoption.cap.js';
40
41
  import type { deviceDiscoveryCapability } from '../capabilities/device-discovery.cap.js';
41
42
  import type { deviceExportCapability } from '../capabilities/device-export.cap.js';
@@ -94,6 +95,7 @@ import type { ptzAutotrackCapability } from '../capabilities/ptz-autotrack.cap.j
94
95
  import type { ptzCapability } from '../capabilities/ptz.cap.js';
95
96
  import type { rebootCapability } from '../capabilities/reboot.cap.js';
96
97
  import type { recordingExportCapability } from '../capabilities/recording-export.cap.js';
98
+ import type { recordingOnboardCapability } from '../capabilities/recording-onboard.cap.js';
97
99
  import type { recordingSignalCapability } from '../capabilities/recording-signal.cap.js';
98
100
  import type { recordingCapability } from '../capabilities/recording.cap.js';
99
101
  import type { sceneMonitorCapability } from '../capabilities/scene-monitor.cap.js';
@@ -1917,6 +1919,20 @@ export type AppRouter = TrpcCoreRouter<{
1917
1919
  meta: object;
1918
1920
  }>;
1919
1921
  }>>;
1922
+ deviceAdminLink: TRPCBuiltRouter<{
1923
+ ctx: TrpcContext;
1924
+ meta: object;
1925
+ errorShape: AugmentedErrorShape;
1926
+ transformer: true;
1927
+ }, TRPCDecorateCreateRouterOptions<{
1928
+ getAdminLink: TRPCQueryProcedure<{
1929
+ input: {
1930
+ [x: string]: unknown;
1931
+ } & z.input<typeof deviceAdminLinkCapability.methods.getAdminLink.input>;
1932
+ output: z.infer<typeof deviceAdminLinkCapability.methods.getAdminLink.output>;
1933
+ meta: object;
1934
+ }>;
1935
+ }>>;
1920
1936
  deviceAdoption: TRPCBuiltRouter<{
1921
1937
  ctx: TrpcContext;
1922
1938
  meta: object;
@@ -7137,6 +7153,34 @@ export type AppRouter = TrpcCoreRouter<{
7137
7153
  meta: object;
7138
7154
  }>;
7139
7155
  }>>;
7156
+ recordingOnboard: TRPCBuiltRouter<{
7157
+ ctx: TrpcContext;
7158
+ meta: object;
7159
+ errorShape: AugmentedErrorShape;
7160
+ transformer: true;
7161
+ }, TRPCDecorateCreateRouterOptions<{
7162
+ getStatus: TRPCQueryProcedure<{
7163
+ input: {
7164
+ [x: string]: unknown;
7165
+ } & z.input<typeof DEVICE_STATUS_METHOD.getStatus.input>;
7166
+ output: z.infer<typeof DEVICE_STATUS_METHOD.getStatus.output>;
7167
+ meta: object;
7168
+ }>;
7169
+ getOptions: TRPCQueryProcedure<{
7170
+ input: {
7171
+ [x: string]: unknown;
7172
+ } & z.input<typeof recordingOnboardCapability.methods.getOptions.input>;
7173
+ output: z.infer<typeof recordingOnboardCapability.methods.getOptions.output>;
7174
+ meta: object;
7175
+ }>;
7176
+ setSettings: TRPCMutationProcedure<{
7177
+ input: {
7178
+ [x: string]: unknown;
7179
+ } & z.input<typeof recordingOnboardCapability.methods.setSettings.input>;
7180
+ output: z.infer<typeof recordingOnboardCapability.methods.setSettings.output>;
7181
+ meta: object;
7182
+ }>;
7183
+ }>>;
7140
7184
  recordingSignal: TRPCBuiltRouter<{
7141
7185
  ctx: TrpcContext;
7142
7186
  meta: object;
@@ -55,6 +55,7 @@ import type { PrivacyMaskStatusSchema } from '../capabilities/privacy-mask.cap.j
55
55
  import type { PtzStatusSchema } from '../capabilities/ptz.cap.js';
56
56
  import type { PtzAutotrackStatusSchema } from '../capabilities/ptz-autotrack.cap.js';
57
57
  import type { RecordingStatusSchema } from '../capabilities/recording.cap.js';
58
+ import type { RecordingOnboardStatusSchema } from '../capabilities/recording-onboard.cap.js';
58
59
  import type { RecordingSignalStatusSchema } from '../capabilities/recording-signal.cap.js';
59
60
  import type { SceneMonitorStatusSchema } from '../capabilities/scene-monitor.cap.js';
60
61
  import type { ScriptRunnerStatusSchema } from '../capabilities/script-runner.cap.js';
@@ -132,6 +133,7 @@ export type CapStatusTypeMap = {
132
133
  readonly 'ptz': z.infer<typeof PtzStatusSchema>;
133
134
  readonly 'ptz-autotrack': z.infer<typeof PtzAutotrackStatusSchema>;
134
135
  readonly 'recording': z.infer<typeof RecordingStatusSchema>;
136
+ readonly 'recording-onboard': z.infer<typeof RecordingOnboardStatusSchema>;
135
137
  readonly 'recording-signal': z.infer<typeof RecordingSignalStatusSchema>;
136
138
  readonly 'scene-monitor': z.infer<typeof SceneMonitorStatusSchema>;
137
139
  readonly 'script-runner': z.infer<typeof ScriptRunnerStatusSchema>;
@@ -155,4 +157,4 @@ export type CapNameWithStatus = keyof CapStatusTypeMap;
155
157
  * aggregator to enumerate caps whose `status` should be polled +
156
158
  * streamed via `subscribeDeviceStatusAggregate`.
157
159
  */
158
- export declare const CAP_NAMES_WITH_STATUS: readonly ["accessories", "air-quality-sensor", "alarm-panel", "ambient-light-sensor", "automation-control", "battery", "binary", "brightness", "broker", "camera-credentials", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "day-night", "device-adoption", "device-discovery", "device-export", "device-status", "doorbell", "enum-sensor", "event-emitter", "fan-control", "feature-probe", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "intercom", "lawn-mower-control", "lock-control", "media-player", "motion", "motion-trigger", "motion-zones", "mqtt-broker", "native-object-detection", "navigation", "network-link", "notifier", "numeric-sensor", "osd", "pet-feeder", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "recording", "recording-signal", "scene-monitor", "script-runner", "smoke", "snapshot", "stream-params", "switch", "tamper", "temperature-sensor", "update", "vacuum-control", "valve", "vibration", "water-heater", "weather"];
160
+ export declare const CAP_NAMES_WITH_STATUS: readonly ["accessories", "air-quality-sensor", "alarm-panel", "ambient-light-sensor", "automation-control", "battery", "binary", "brightness", "broker", "camera-credentials", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "day-night", "device-adoption", "device-discovery", "device-export", "device-status", "doorbell", "enum-sensor", "event-emitter", "fan-control", "feature-probe", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "intercom", "lawn-mower-control", "lock-control", "media-player", "motion", "motion-trigger", "motion-zones", "mqtt-broker", "native-object-detection", "navigation", "network-link", "notifier", "numeric-sensor", "osd", "pet-feeder", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "recording", "recording-onboard", "recording-signal", "scene-monitor", "script-runner", "smoke", "snapshot", "stream-params", "switch", "tamper", "temperature-sensor", "update", "vacuum-control", "valve", "vibration", "water-heater", "weather"];
@@ -42,6 +42,7 @@ export { dataStoreProviderCapability } from '../capabilities/data-store-provider
42
42
  export { dayNightCapability } from '../capabilities/day-night.cap.js';
43
43
  export { decoderCapability } from '../capabilities/decoder.cap.js';
44
44
  export { detectionPipelineCapability } from '../capabilities/detection-pipeline.cap.js';
45
+ export { deviceAdminLinkCapability } from '../capabilities/device-admin-link.cap.js';
45
46
  export { deviceAdoptionCapability } from '../capabilities/device-adoption.cap.js';
46
47
  export { deviceDiscoveryCapability } from '../capabilities/device-discovery.cap.js';
47
48
  export { deviceExportCapability } from '../capabilities/device-export.cap.js';
@@ -116,6 +117,7 @@ export { ptzAutotrackCapability } from '../capabilities/ptz-autotrack.cap.js';
116
117
  export { rebootCapability } from '../capabilities/reboot.cap.js';
117
118
  export { recordingCapability } from '../capabilities/recording.cap.js';
118
119
  export { recordingExportCapability } from '../capabilities/recording-export.cap.js';
120
+ export { recordingOnboardCapability } from '../capabilities/recording-onboard.cap.js';
119
121
  export { recordingSignalCapability } from '../capabilities/recording-signal.cap.js';
120
122
  export { sceneMonitorCapability } from '../capabilities/scene-monitor.cap.js';
121
123
  export { scriptRunnerCapability } from '../capabilities/script-runner.cap.js';
@@ -201,6 +203,7 @@ export declare const CAPABILITY_NAMES: {
201
203
  readonly dayNight: "day-night";
202
204
  readonly decoder: "decoder";
203
205
  readonly detectionPipeline: "detection-pipeline";
206
+ readonly deviceAdminLink: "device-admin-link";
204
207
  readonly deviceAdoption: "device-adoption";
205
208
  readonly deviceDiscovery: "device-discovery";
206
209
  readonly deviceExport: "device-export";
@@ -275,6 +278,7 @@ export declare const CAPABILITY_NAMES: {
275
278
  readonly reboot: "reboot";
276
279
  readonly recording: "recording";
277
280
  readonly recordingExport: "recording-export";
281
+ readonly recordingOnboard: "recording-onboard";
278
282
  readonly recordingSignal: "recording-signal";
279
283
  readonly sceneMonitor: "scene-monitor";
280
284
  readonly scriptRunner: "script-runner";
@@ -373,6 +377,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
373
377
  readonly dayNight: TRouter;
374
378
  readonly decoder: TRouter;
375
379
  readonly detectionPipeline: TRouter;
380
+ readonly deviceAdminLink: TRouter;
376
381
  readonly deviceAdoption: TRouter;
377
382
  readonly deviceDiscovery: TRouter;
378
383
  readonly deviceExport: TRouter;
@@ -447,6 +452,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
447
452
  readonly reboot: TRouter;
448
453
  readonly recording: TRouter;
449
454
  readonly recordingExport: TRouter;
455
+ readonly recordingOnboard: TRouter;
450
456
  readonly recordingSignal: TRouter;
451
457
  readonly sceneMonitor: TRouter;
452
458
  readonly scriptRunner: TRouter;
@@ -488,8 +494,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
488
494
  readonly zoneRules: TRouter;
489
495
  readonly zones: TRouter;
490
496
  }
491
- /** Capability names whose mode is `singleton` (129 caps). */
492
- export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-grid-layout", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "core-blocks", "cover", "day-night", "decoder", "detection-pipeline", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "integrations", "intercom", "lawn-mower-control", "llm-runtime", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "navigation", "network-link", "network-quality", "nodes", "notification-rules", "notifier", "numeric-sensor", "osd", "osd-manager", "pet-feeder", "pipeline-analytics", "pipeline-executor", "pipeline-orchestrator", "pipeline-runner", "plate-gallery", "platform-probe", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "reboot", "recording", "recording-export", "recording-signal", "scene-monitor", "script-runner", "server-management", "settings-store", "smoke", "snapshot", "sso-bridge", "storage", "storage-migration", "stream-broker", "stream-catalog", "stream-params", "stream-signals", "switch", "system", "tamper", "temperature-sensor", "terminal-session", "toast", "update", "user-management", "vacuum-control", "valve", "vector-store", "vibration", "viewer-ui", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
497
+ /** Capability names whose mode is `singleton` (131 caps). */
498
+ export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-grid-layout", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "core-blocks", "cover", "day-night", "decoder", "detection-pipeline", "device-admin-link", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "integrations", "intercom", "lawn-mower-control", "llm-runtime", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "navigation", "network-link", "network-quality", "nodes", "notification-rules", "notifier", "numeric-sensor", "osd", "osd-manager", "pet-feeder", "pipeline-analytics", "pipeline-executor", "pipeline-orchestrator", "pipeline-runner", "plate-gallery", "platform-probe", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "reboot", "recording", "recording-export", "recording-onboard", "recording-signal", "scene-monitor", "script-runner", "server-management", "settings-store", "smoke", "snapshot", "sso-bridge", "storage", "storage-migration", "stream-broker", "stream-catalog", "stream-params", "stream-signals", "switch", "system", "tamper", "temperature-sensor", "terminal-session", "toast", "update", "user-management", "vacuum-control", "valve", "vector-store", "vibration", "viewer-ui", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
493
499
  /** Union of singleton capability names (literal string union). */
494
500
  export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
495
501
  /** Capability names whose mode is `collection` (29 caps). */
@@ -48,6 +48,7 @@ import { presenceCapability } from '../capabilities/presence.cap.js';
48
48
  import { pressureSensorCapability } from '../capabilities/pressure-sensor.cap.js';
49
49
  import { privacyMaskCapability } from '../capabilities/privacy-mask.cap.js';
50
50
  import { ptzAutotrackCapability } from '../capabilities/ptz-autotrack.cap.js';
51
+ import { recordingOnboardCapability } from '../capabilities/recording-onboard.cap.js';
51
52
  import { recordingSignalCapability } from '../capabilities/recording-signal.cap.js';
52
53
  import { sceneMonitorCapability } from '../capabilities/scene-monitor.cap.js';
53
54
  import { scriptRunnerCapability } from '../capabilities/script-runner.cap.js';
@@ -128,6 +129,7 @@ export interface DeviceLocalState {
128
129
  pressureSensor: InferRuntimeState<typeof pressureSensorCapability>;
129
130
  privacyMask: InferRuntimeState<typeof privacyMaskCapability>;
130
131
  ptzAutotrack: InferRuntimeState<typeof ptzAutotrackCapability>;
132
+ recordingOnboard: InferRuntimeState<typeof recordingOnboardCapability>;
131
133
  recordingSignal: InferRuntimeState<typeof recordingSignalCapability>;
132
134
  sceneMonitor: InferRuntimeState<typeof sceneMonitorCapability>;
133
135
  scriptRunner: InferRuntimeState<typeof scriptRunnerCapability>;
@@ -218,6 +220,7 @@ export interface CapNameToRuntimeStateMap {
218
220
  'pressure-sensor': InferRuntimeState<typeof pressureSensorCapability>;
219
221
  'privacy-mask': InferRuntimeState<typeof privacyMaskCapability>;
220
222
  'ptz-autotrack': InferRuntimeState<typeof ptzAutotrackCapability>;
223
+ 'recording-onboard': InferRuntimeState<typeof recordingOnboardCapability>;
221
224
  'recording-signal': InferRuntimeState<typeof recordingSignalCapability>;
222
225
  'scene-monitor': InferRuntimeState<typeof sceneMonitorCapability>;
223
226
  'script-runner': InferRuntimeState<typeof scriptRunnerCapability>;
@@ -26,6 +26,7 @@ import type { controlCapability } from '../capabilities/control.cap.js';
26
26
  import type { coverCapability } from '../capabilities/cover.cap.js';
27
27
  import type { dayNightCapability } from '../capabilities/day-night.cap.js';
28
28
  import type { detectionPipelineCapability } from '../capabilities/detection-pipeline.cap.js';
29
+ import type { deviceAdminLinkCapability } from '../capabilities/device-admin-link.cap.js';
29
30
  import type { deviceDiscoveryCapability } from '../capabilities/device-discovery.cap.js';
30
31
  import type { deviceOpsCapability } from '../capabilities/device-ops.cap.js';
31
32
  import type { deviceStatusCapability } from '../capabilities/device-status.cap.js';
@@ -65,6 +66,7 @@ import type { privacyMaskCapability } from '../capabilities/privacy-mask.cap.js'
65
66
  import type { ptzCapability } from '../capabilities/ptz.cap.js';
66
67
  import type { ptzAutotrackCapability } from '../capabilities/ptz-autotrack.cap.js';
67
68
  import type { rebootCapability } from '../capabilities/reboot.cap.js';
69
+ import type { recordingOnboardCapability } from '../capabilities/recording-onboard.cap.js';
68
70
  import type { recordingSignalCapability } from '../capabilities/recording-signal.cap.js';
69
71
  import type { sceneMonitorCapability } from '../capabilities/scene-monitor.cap.js';
70
72
  import type { scriptRunnerCapability } from '../capabilities/script-runner.cap.js';
@@ -160,6 +162,7 @@ export interface DeviceProxyState {
160
162
  readonly pressureSensor: SliceHandle<InferRuntimeState<typeof pressureSensorCapability>>;
161
163
  readonly privacyMask: SliceHandle<InferRuntimeState<typeof privacyMaskCapability>>;
162
164
  readonly ptzAutotrack: SliceHandle<InferRuntimeState<typeof ptzAutotrackCapability>>;
165
+ readonly recordingOnboard: SliceHandle<InferRuntimeState<typeof recordingOnboardCapability>>;
163
166
  readonly recordingSignal: SliceHandle<InferRuntimeState<typeof recordingSignalCapability>>;
164
167
  readonly sceneMonitor: SliceHandle<InferRuntimeState<typeof sceneMonitorCapability>>;
165
168
  readonly scriptRunner: SliceHandle<InferRuntimeState<typeof scriptRunnerCapability>>;
@@ -222,6 +225,7 @@ export interface DeviceProxy {
222
225
  readonly cover?: InferDeviceProxyCap<typeof coverCapability>;
223
226
  readonly dayNight?: InferDeviceProxyCap<typeof dayNightCapability>;
224
227
  readonly detectionPipeline?: InferDeviceProxyCap<typeof detectionPipelineCapability>;
228
+ readonly deviceAdminLink?: InferDeviceProxyCap<typeof deviceAdminLinkCapability>;
225
229
  readonly deviceDiscovery?: InferDeviceProxyCap<typeof deviceDiscoveryCapability>;
226
230
  readonly deviceOps?: InferDeviceProxyCap<typeof deviceOpsCapability>;
227
231
  readonly deviceStatus?: InferDeviceProxyCap<typeof deviceStatusCapability>;
@@ -261,6 +265,7 @@ export interface DeviceProxy {
261
265
  readonly ptz?: InferDeviceProxyCap<typeof ptzCapability>;
262
266
  readonly ptzAutotrack?: InferDeviceProxyCap<typeof ptzAutotrackCapability>;
263
267
  readonly reboot?: InferDeviceProxyCap<typeof rebootCapability>;
268
+ readonly recordingOnboard?: InferDeviceProxyCap<typeof recordingOnboardCapability>;
264
269
  readonly recordingSignal?: InferDeviceProxyCap<typeof recordingSignalCapability>;
265
270
  readonly sceneMonitor?: InferDeviceProxyCap<typeof sceneMonitorCapability>;
266
271
  readonly scriptRunner?: InferDeviceProxyCap<typeof scriptRunnerCapability>;
@@ -5,7 +5,7 @@
5
5
  * can answer "may a rule actuate this?" without importing the schema barrel
6
6
  * (~144MB RSS per runner, D28).
7
7
  *
8
- * Coverage: 85 device-scoped capabilities.
8
+ * Coverage: 87 device-scoped capabilities.
9
9
  */
10
10
  export declare const DEVICE_SCOPED_CAPS: ReadonlySet<string>;
11
11
  /**
@@ -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: 1165 method paths across 158 capabilities.
9
+ * Coverage: 1169 method paths across 160 capabilities.
10
10
  */
11
11
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
12
12
  export interface MethodAccessRecord {
@@ -6,7 +6,7 @@
6
6
  * system-scope cap that takes a deviceId was previously never device-filtered
7
7
  * — see the generator header).
8
8
  *
9
- * Coverage: 392 methods carry a device reference, of which
9
+ * Coverage: 395 methods carry a device reference, of which
10
10
  * 141 are on SYSTEM-scope caps.
11
11
  *
12
12
  * Top-level fields, number arrays, and one-level arrays of objects carrying
@@ -11,7 +11,7 @@ export interface RuntimeStatePolicy {
11
11
  }
12
12
  /**
13
13
  * Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
14
- * `runtimeState`. 68 caps: 35 `restored`, 33 `session`.
14
+ * `runtimeState`. 69 caps: 36 `restored`, 33 `session`.
15
15
  *
16
16
  * A cap absent from this map has no runtime-state slice at all. A cap PRESENT
17
17
  * with `durability: 'session'` has one and has decided not to keep it.