@camstack/server 0.1.8 → 0.2.1

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 (125) hide show
  1. package/package.json +9 -7
  2. package/src/__tests__/addon-install-e2e.test.ts +0 -1
  3. package/src/__tests__/addon-pages-e2e.test.ts +40 -18
  4. package/src/__tests__/addon-settings-router.spec.ts +6 -1
  5. package/src/__tests__/addon-upload.spec.ts +91 -29
  6. package/src/__tests__/agent-registry.spec.ts +26 -9
  7. package/src/__tests__/agent-status-page.spec.ts +1 -3
  8. package/src/__tests__/auth-session-cookie.test.ts +28 -1
  9. package/src/__tests__/bulk-update-coordinator.spec.ts +48 -31
  10. package/src/__tests__/cap-ownership-authority.spec.ts +39 -8
  11. package/src/__tests__/cap-providers/cap-providers-location-import.spec.ts +24 -4
  12. package/src/__tests__/cap-providers/cap-usage-graph.spec.ts +17 -3
  13. package/src/__tests__/cap-providers/compute-topology-categories.spec.ts +57 -11
  14. package/src/__tests__/cap-providers/integrations-delete-cascade.spec.ts +64 -15
  15. package/src/__tests__/cap-providers-bulk-update.spec.ts +27 -7
  16. package/src/__tests__/cap-route-adapter.spec.ts +28 -15
  17. package/src/__tests__/cap-routers/_meta.spec.ts +6 -7
  18. package/src/__tests__/cap-routers/addon-settings.router.spec.ts +19 -10
  19. package/src/__tests__/cap-routers/broker-routing.router.spec.ts +14 -6
  20. package/src/__tests__/cap-routers/cap-route-error-formatter.spec.ts +3 -1
  21. package/src/__tests__/cap-routers/capabilities-node.spec.ts +18 -5
  22. package/src/__tests__/cap-routers/device-link-overlay.spec.ts +11 -6
  23. package/src/__tests__/cap-routers/device-manager-aggregate.router.spec.ts +72 -20
  24. package/src/__tests__/cap-routers/harness.ts +11 -7
  25. package/src/__tests__/cap-routers/metrics-provider.router.spec.ts +17 -3
  26. package/src/__tests__/cap-routers/null-provider-guard.spec.ts +5 -7
  27. package/src/__tests__/cap-routers/pipeline-executor.router.spec.ts +35 -11
  28. package/src/__tests__/cap-routers/settings-store.router.spec.ts +59 -15
  29. package/src/__tests__/capability-e2e.test.ts +9 -11
  30. package/src/__tests__/cli-e2e.test.ts +80 -59
  31. package/src/__tests__/core-cap-bridge.spec.ts +3 -1
  32. package/src/__tests__/dev-bootstrap-shm-ring.spec.ts +12 -2
  33. package/src/__tests__/device-settings-contribution-dispatch.spec.ts +61 -30
  34. package/src/__tests__/embedded-deps-e2e.test.ts +35 -19
  35. package/src/__tests__/event-bus-proxy-router.spec.ts +3 -0
  36. package/src/__tests__/framework-allowlist.spec.ts +5 -4
  37. package/src/__tests__/https-e2e.test.ts +12 -6
  38. package/src/__tests__/lifecycle-e2e.test.ts +60 -11
  39. package/src/__tests__/live-events-subscription.spec.ts +17 -18
  40. package/src/__tests__/moleculer/uds-readiness.spec.ts +11 -4
  41. package/src/__tests__/moleculer/uds-topology.spec.ts +39 -11
  42. package/src/__tests__/moleculer/uds-unowned-call.spec.ts +71 -17
  43. package/src/__tests__/moleculer-register-node-idempotency.spec.ts +16 -7
  44. package/src/__tests__/native-cap-route.spec.ts +42 -19
  45. package/src/__tests__/oauth2-account-linking.spec.ts +63 -17
  46. package/src/__tests__/singleton-contention.test.ts +23 -11
  47. package/src/__tests__/streaming-diagnostic.test.ts +156 -53
  48. package/src/__tests__/streaming-scale.test.ts +69 -35
  49. package/src/__tests__/uds-addon-call-wiring.spec.ts +6 -1
  50. package/src/agent-status-page.ts +4 -3
  51. package/src/api/__tests__/addons-custom.spec.ts +22 -8
  52. package/src/api/__tests__/capabilities.router.test.ts +18 -9
  53. package/src/api/addon-upload.ts +46 -15
  54. package/src/api/addons-custom.router.ts +7 -6
  55. package/src/api/auth-whoami.ts +3 -1
  56. package/src/api/bridge-addons.router.ts +3 -1
  57. package/src/api/capabilities.router.ts +117 -78
  58. package/src/api/core/__tests__/auth-router-totp.spec.ts +57 -16
  59. package/src/api/core/addon-settings.router.ts +4 -1
  60. package/src/api/core/agents.router.ts +52 -53
  61. package/src/api/core/auth.router.ts +55 -36
  62. package/src/api/core/bulk-update-coordinator.ts +25 -22
  63. package/src/api/core/cap-providers.ts +346 -202
  64. package/src/api/core/capabilities.router.ts +30 -23
  65. package/src/api/core/hwaccel.router.ts +37 -10
  66. package/src/api/core/live-events.router.ts +16 -9
  67. package/src/api/core/logs.router.ts +54 -25
  68. package/src/api/core/notifications.router.ts +2 -1
  69. package/src/api/core/repl.router.ts +1 -3
  70. package/src/api/core/settings-backend.router.ts +68 -70
  71. package/src/api/core/system-events.router.ts +41 -32
  72. package/src/api/health/health.routes.ts +7 -13
  73. package/src/api/oauth2/__tests__/oauth2-routes.spec.ts +12 -2
  74. package/src/api/oauth2/consent-page.ts +4 -3
  75. package/src/api/oauth2/oauth2-routes.ts +41 -12
  76. package/src/api/trpc/__tests__/scope-access-device.spec.ts +68 -23
  77. package/src/api/trpc/__tests__/scope-access.spec.ts +8 -13
  78. package/src/api/trpc/__tests__/webrtc-session-ua-enrich.spec.ts +10 -2
  79. package/src/api/trpc/cap-mount-helpers.ts +64 -55
  80. package/src/api/trpc/cap-route-error-formatter.ts +17 -9
  81. package/src/api/trpc/core-cap-bridge.ts +3 -1
  82. package/src/api/trpc/generated-cap-mounts.ts +593 -351
  83. package/src/api/trpc/generated-cap-routers.ts +3680 -579
  84. package/src/api/trpc/scope-access.ts +7 -7
  85. package/src/api/trpc/trpc.context.ts +7 -4
  86. package/src/api/trpc/trpc.middleware.ts +4 -2
  87. package/src/api/trpc/trpc.router.ts +79 -46
  88. package/src/auth/session-cookie.ts +10 -0
  89. package/src/boot/__tests__/integration-id-backfill.spec.ts +21 -6
  90. package/src/boot/boot-config.ts +103 -122
  91. package/src/boot/post-boot.service.ts +5 -3
  92. package/src/core/addon/__tests__/addon-registry-capability.test.ts +12 -3
  93. package/src/core/addon/addon-call-gateway.ts +20 -6
  94. package/src/core/addon/addon-package.service.ts +183 -89
  95. package/src/core/addon/addon-registry.service.ts +1163 -1305
  96. package/src/core/addon/addon-search.service.ts +2 -1
  97. package/src/core/addon/addon-settings-provider.ts +27 -7
  98. package/src/core/addon-bridge/addon-bridge.service.ts +11 -6
  99. package/src/core/addon-pages/addon-pages.service.ts +3 -1
  100. package/src/core/addon-widgets/addon-widgets.service.ts +5 -2
  101. package/src/core/agent/agent-registry.service.ts +60 -38
  102. package/src/core/auth/auth.service.spec.ts +6 -8
  103. package/src/core/config/config.service.spec.ts +1 -1
  104. package/src/core/events/event-bus.service.spec.ts +44 -21
  105. package/src/core/events/event-bus.service.ts +5 -1
  106. package/src/core/feature/feature.service.spec.ts +4 -1
  107. package/src/core/lifecycle/lifecycle-state-machine.spec.ts +8 -10
  108. package/src/core/logging/logging.service.spec.ts +61 -21
  109. package/src/core/logging/logging.service.ts +12 -3
  110. package/src/core/moleculer/cap-call-fn.spec.ts +17 -10
  111. package/src/core/moleculer/cap-call-fn.ts +5 -1
  112. package/src/core/moleculer/cap-route-authority.ts +18 -6
  113. package/src/core/moleculer/moleculer.service.ts +120 -32
  114. package/src/core/network/network-quality.service.spec.ts +6 -1
  115. package/src/core/notification/notification-wrapper.service.ts +1 -3
  116. package/src/core/notification/toast-wrapper.service.ts +1 -5
  117. package/src/core/repl/repl-engine.service.spec.ts +66 -39
  118. package/src/core/repl/repl-engine.service.ts +11 -12
  119. package/src/core/storage/storage-location-manager.spec.ts +12 -3
  120. package/src/core/streaming/stream-probe.service.ts +22 -13
  121. package/src/core/topology/topology-emitter.service.ts +5 -1
  122. package/src/launcher.ts +14 -9
  123. package/src/main.ts +602 -531
  124. package/src/manual-boot.ts +133 -154
  125. package/tsconfig.json +20 -8
@@ -1,7 +1,7 @@
1
1
  // AUTO-GENERATED by scripts/generate-cap-mounts.ts — DO NOT EDIT
2
2
  // Re-run: npx tsx scripts/generate-cap-mounts.ts
3
3
  //
4
- // Mounted: 123 Skipped (legacy): 6
4
+ // Mounted: 127 Skipped (legacy): 6
5
5
 
6
6
  /**
7
7
  * Single auto-mount entrypoint for every codegen'd cap router.
@@ -80,8 +80,10 @@ import {
80
80
  enumSensorCapability,
81
81
  eventEmitterCapability,
82
82
  eventsCapability,
83
+ faceGalleryCapability,
83
84
  fanControlCapability,
84
85
  featureProbeCapability,
86
+ filesystemBrowseCapability,
85
87
  floodCapability,
86
88
  gasCapability,
87
89
  humidifierCapability,
@@ -113,6 +115,7 @@ import {
113
115
  pipelineExecutorCapability,
114
116
  pipelineOrchestratorCapability,
115
117
  pipelineRunnerCapability,
118
+ plateGalleryCapability,
116
119
  platformProbeCapability,
117
120
  powerMeterCapability,
118
121
  presenceCapability,
@@ -147,6 +150,7 @@ import {
147
150
  vacuumControlCapability,
148
151
  valveCapability,
149
152
  vibrationCapability,
153
+ videoclipsCapability,
150
154
  waterHeaterCapability,
151
155
  weatherCapability,
152
156
  webrtcSessionCapability,
@@ -207,8 +211,10 @@ import {
207
211
  createCapRouter_enumSensor,
208
212
  createCapRouter_eventEmitter,
209
213
  createCapRouter_events,
214
+ createCapRouter_faceGallery,
210
215
  createCapRouter_fanControl,
211
216
  createCapRouter_featureProbe,
217
+ createCapRouter_filesystemBrowse,
212
218
  createCapRouter_flood,
213
219
  createCapRouter_gas,
214
220
  createCapRouter_humidifier,
@@ -240,6 +246,7 @@ import {
240
246
  createCapRouter_pipelineExecutor,
241
247
  createCapRouter_pipelineOrchestrator,
242
248
  createCapRouter_pipelineRunner,
249
+ createCapRouter_plateGallery,
243
250
  createCapRouter_platformProbe,
244
251
  createCapRouter_powerMeter,
245
252
  createCapRouter_presence,
@@ -274,6 +281,7 @@ import {
274
281
  createCapRouter_vacuumControl,
275
282
  createCapRouter_valve,
276
283
  createCapRouter_vibration,
284
+ createCapRouter_videoclips,
277
285
  createCapRouter_waterHeater,
278
286
  createCapRouter_weather,
279
287
  createCapRouter_webrtcSession,
@@ -321,55 +329,71 @@ export function mountAllCaps(services: MountAllCapsServices) {
321
329
  services.moleculer.createCapabilityProxy(capName, nodeId) as unknown as T | null
322
330
  return {
323
331
  accessories: createCapRouter_accessories(
324
- (_ctx) => requireDeviceScoped(reg, 'accessories') as InferProvider<typeof accessoriesCapability> | null,
332
+ (_ctx) =>
333
+ requireDeviceScoped(reg, 'accessories') as InferProvider<
334
+ typeof accessoriesCapability
335
+ > | null,
325
336
  remoteCapProxy,
326
337
  ),
327
338
  addonPages: createCapRouter_addonPages(
328
- (_ctx) => reg?.getSingleton<InferProvider<typeof addonPagesCapability>>('addon-pages') ?? null,
329
- remoteCapProxy,
330
- ),
331
- addonPagesSource: createCapRouter_addonPagesSource(
332
- (_ctx, addonId) => {
333
- if (!reg) return null
334
- if (addonId !== undefined) {
335
- return reg.getProviderByAddonId<InferProvider<typeof addonPagesSourceCapability>>('addon-pages-source', addonId)
336
- }
337
- const entries = reg.getCollectionEntries<InferProvider<typeof addonPagesSourceCapability>>('addon-pages-source')
338
- if (entries.length === 0) return null
339
- const providers = entries.map(([, p]) => p)
340
- const first = providers[0]!
341
- return {
342
- ...first,
343
- listPages: concatCollection(providers, 'listPages') as InferProvider<typeof addonPagesSourceCapability>['listPages'],
344
- }
345
- },
346
- remoteCapProxy,
347
- ),
339
+ (_ctx) =>
340
+ reg?.getSingleton<InferProvider<typeof addonPagesCapability>>('addon-pages') ?? null,
341
+ remoteCapProxy,
342
+ ),
343
+ addonPagesSource: createCapRouter_addonPagesSource((_ctx, addonId) => {
344
+ if (!reg) return null
345
+ if (addonId !== undefined) {
346
+ return reg.getProviderByAddonId<InferProvider<typeof addonPagesSourceCapability>>(
347
+ 'addon-pages-source',
348
+ addonId,
349
+ )
350
+ }
351
+ const entries =
352
+ reg.getCollectionEntries<InferProvider<typeof addonPagesSourceCapability>>(
353
+ 'addon-pages-source',
354
+ )
355
+ if (entries.length === 0) return null
356
+ const providers = entries.map(([, p]) => p)
357
+ const first = providers[0]!
358
+ return {
359
+ ...first,
360
+ listPages: concatCollection(providers, 'listPages') as InferProvider<
361
+ typeof addonPagesSourceCapability
362
+ >['listPages'],
363
+ }
364
+ }, remoteCapProxy),
348
365
  addonSettings: createCapRouter_addonSettings(
349
- (_ctx) => reg?.getSingleton<InferProvider<typeof addonSettingsCapability>>('addon-settings') ?? null,
366
+ (_ctx) =>
367
+ reg?.getSingleton<InferProvider<typeof addonSettingsCapability>>('addon-settings') ?? null,
350
368
  remoteCapProxy,
351
369
  ),
352
370
  addonWidgets: createCapRouter_addonWidgets(
353
- (_ctx) => reg?.getSingleton<InferProvider<typeof addonWidgetsCapability>>('addon-widgets') ?? null,
354
- remoteCapProxy,
355
- ),
356
- addonWidgetsSource: createCapRouter_addonWidgetsSource(
357
- (_ctx, addonId) => {
358
- if (!reg) return null
359
- if (addonId !== undefined) {
360
- return reg.getProviderByAddonId<InferProvider<typeof addonWidgetsSourceCapability>>('addon-widgets-source', addonId)
361
- }
362
- const entries = reg.getCollectionEntries<InferProvider<typeof addonWidgetsSourceCapability>>('addon-widgets-source')
363
- if (entries.length === 0) return null
364
- const providers = entries.map(([, p]) => p)
365
- const first = providers[0]!
366
- return {
367
- ...first,
368
- listWidgets: concatCollection(providers, 'listWidgets') as InferProvider<typeof addonWidgetsSourceCapability>['listWidgets'],
369
- }
370
- },
371
- remoteCapProxy,
372
- ),
371
+ (_ctx) =>
372
+ reg?.getSingleton<InferProvider<typeof addonWidgetsCapability>>('addon-widgets') ?? null,
373
+ remoteCapProxy,
374
+ ),
375
+ addonWidgetsSource: createCapRouter_addonWidgetsSource((_ctx, addonId) => {
376
+ if (!reg) return null
377
+ if (addonId !== undefined) {
378
+ return reg.getProviderByAddonId<InferProvider<typeof addonWidgetsSourceCapability>>(
379
+ 'addon-widgets-source',
380
+ addonId,
381
+ )
382
+ }
383
+ const entries =
384
+ reg.getCollectionEntries<InferProvider<typeof addonWidgetsSourceCapability>>(
385
+ 'addon-widgets-source',
386
+ )
387
+ if (entries.length === 0) return null
388
+ const providers = entries.map(([, p]) => p)
389
+ const first = providers[0]!
390
+ return {
391
+ ...first,
392
+ listWidgets: concatCollection(providers, 'listWidgets') as InferProvider<
393
+ typeof addonWidgetsSourceCapability
394
+ >['listWidgets'],
395
+ }
396
+ }, remoteCapProxy),
373
397
  addons: createCapRouter_addons(
374
398
  (_ctx) => reg?.getSingleton<InferProvider<typeof addonsCapability>>('addons') ?? null,
375
399
  remoteCapProxy,
@@ -379,15 +403,23 @@ export function mountAllCaps(services: MountAllCapsServices) {
379
403
  remoteCapProxy,
380
404
  ),
381
405
  advancedNotifier: createCapRouter_advancedNotifier(
382
- (_ctx) => reg?.getSingleton<InferProvider<typeof advancedNotifierCapability>>('advanced-notifier') ?? null,
406
+ (_ctx) =>
407
+ reg?.getSingleton<InferProvider<typeof advancedNotifierCapability>>('advanced-notifier') ??
408
+ null,
383
409
  remoteCapProxy,
384
410
  ),
385
411
  airQualitySensor: createCapRouter_airQualitySensor(
386
- (_ctx) => requireDeviceScoped(reg, 'air-quality-sensor') as InferProvider<typeof airQualitySensorCapability> | null,
412
+ (_ctx) =>
413
+ requireDeviceScoped(reg, 'air-quality-sensor') as InferProvider<
414
+ typeof airQualitySensorCapability
415
+ > | null,
387
416
  remoteCapProxy,
388
417
  ),
389
418
  alarmPanel: createCapRouter_alarmPanel(
390
- (_ctx) => requireDeviceScoped(reg, 'alarm-panel') as InferProvider<typeof alarmPanelCapability> | null,
419
+ (_ctx) =>
420
+ requireDeviceScoped(reg, 'alarm-panel') as InferProvider<
421
+ typeof alarmPanelCapability
422
+ > | null,
391
423
  remoteCapProxy,
392
424
  ),
393
425
  alerts: createCapRouter_alerts(
@@ -395,27 +427,37 @@ export function mountAllCaps(services: MountAllCapsServices) {
395
427
  remoteCapProxy,
396
428
  ),
397
429
  ambientLightSensor: createCapRouter_ambientLightSensor(
398
- (_ctx) => requireDeviceScoped(reg, 'ambient-light-sensor') as InferProvider<typeof ambientLightSensorCapability> | null,
430
+ (_ctx) =>
431
+ requireDeviceScoped(reg, 'ambient-light-sensor') as InferProvider<
432
+ typeof ambientLightSensorCapability
433
+ > | null,
399
434
  remoteCapProxy,
400
435
  ),
401
436
  audioAnalysis: createCapRouter_audioAnalysis(
402
- (_ctx) => reg?.getSingleton<InferProvider<typeof audioAnalysisCapability>>('audio-analysis') ?? null,
437
+ (_ctx) =>
438
+ reg?.getSingleton<InferProvider<typeof audioAnalysisCapability>>('audio-analysis') ?? null,
403
439
  remoteCapProxy,
404
440
  ),
405
441
  audioAnalyzer: createCapRouter_audioAnalyzer(
406
- (_ctx) => reg?.getSingleton<InferProvider<typeof audioAnalyzerCapability>>('audio-analyzer') ?? null,
442
+ (_ctx) =>
443
+ reg?.getSingleton<InferProvider<typeof audioAnalyzerCapability>>('audio-analyzer') ?? null,
407
444
  remoteCapProxy,
408
445
  ),
409
446
  audioCodec: createCapRouter_audioCodec(
410
- (_ctx) => reg?.getSingleton<InferProvider<typeof audioCodecCapability>>('audio-codec') ?? null,
447
+ (_ctx) =>
448
+ reg?.getSingleton<InferProvider<typeof audioCodecCapability>>('audio-codec') ?? null,
411
449
  remoteCapProxy,
412
450
  ),
413
451
  audioMetrics: createCapRouter_audioMetrics(
414
- (_ctx) => reg?.getSingleton<InferProvider<typeof audioMetricsCapability>>('audio-metrics') ?? null,
452
+ (_ctx) =>
453
+ reg?.getSingleton<InferProvider<typeof audioMetricsCapability>>('audio-metrics') ?? null,
415
454
  remoteCapProxy,
416
455
  ),
417
456
  automationControl: createCapRouter_automationControl(
418
- (_ctx) => requireDeviceScoped(reg, 'automation-control') as InferProvider<typeof automationControlCapability> | null,
457
+ (_ctx) =>
458
+ requireDeviceScoped(reg, 'automation-control') as InferProvider<
459
+ typeof automationControlCapability
460
+ > | null,
419
461
  remoteCapProxy,
420
462
  ),
421
463
  backup: createCapRouter_backup(
@@ -423,7 +465,8 @@ export function mountAllCaps(services: MountAllCapsServices) {
423
465
  remoteCapProxy,
424
466
  ),
425
467
  battery: createCapRouter_battery(
426
- (_ctx) => requireDeviceScoped(reg, 'battery') as InferProvider<typeof batteryCapability> | null,
468
+ (_ctx) =>
469
+ requireDeviceScoped(reg, 'battery') as InferProvider<typeof batteryCapability> | null,
427
470
  remoteCapProxy,
428
471
  ),
429
472
  binary: createCapRouter_binary(
@@ -431,49 +474,62 @@ export function mountAllCaps(services: MountAllCapsServices) {
431
474
  remoteCapProxy,
432
475
  ),
433
476
  brightness: createCapRouter_brightness(
434
- (_ctx) => requireDeviceScoped(reg, 'brightness') as InferProvider<typeof brightnessCapability> | null,
435
- remoteCapProxy,
436
- ),
437
- broker: createCapRouter_broker(
438
- (_ctx, addonId) => {
439
- if (!reg) return null
440
- if (addonId !== undefined) {
441
- return reg.getProviderByAddonId<InferProvider<typeof brokerCapability>>('broker', addonId)
442
- }
443
- const entries = reg.getCollectionEntries<InferProvider<typeof brokerCapability>>('broker')
444
- if (entries.length === 0) return null
445
- const providers = entries.map(([, p]) => p)
446
- const first = providers[0]!
447
- return {
448
- ...first,
449
- list: concatCollection(providers, 'list') as InferProvider<typeof brokerCapability>['list'],
450
- listProviders: concatCollection(providers, 'listProviders') as InferProvider<typeof brokerCapability>['listProviders'],
451
- }
452
- },
453
- remoteCapProxy,
454
- ),
477
+ (_ctx) =>
478
+ requireDeviceScoped(reg, 'brightness') as InferProvider<typeof brightnessCapability> | null,
479
+ remoteCapProxy,
480
+ ),
481
+ broker: createCapRouter_broker((_ctx, addonId) => {
482
+ if (!reg) return null
483
+ if (addonId !== undefined) {
484
+ return reg.getProviderByAddonId<InferProvider<typeof brokerCapability>>('broker', addonId)
485
+ }
486
+ const entries = reg.getCollectionEntries<InferProvider<typeof brokerCapability>>('broker')
487
+ if (entries.length === 0) return null
488
+ const providers = entries.map(([, p]) => p)
489
+ const first = providers[0]!
490
+ return {
491
+ ...first,
492
+ list: concatCollection(providers, 'list') as InferProvider<typeof brokerCapability>['list'],
493
+ listProviders: concatCollection(providers, 'listProviders') as InferProvider<
494
+ typeof brokerCapability
495
+ >['listProviders'],
496
+ }
497
+ }, remoteCapProxy),
455
498
  button: createCapRouter_button(
456
499
  (_ctx) => requireDeviceScoped(reg, 'button') as InferProvider<typeof buttonCapability> | null,
457
500
  remoteCapProxy,
458
501
  ),
459
502
  cameraCredentials: createCapRouter_cameraCredentials(
460
- (_ctx) => requireDeviceScoped(reg, 'camera-credentials') as InferProvider<typeof cameraCredentialsCapability> | null,
503
+ (_ctx) =>
504
+ requireDeviceScoped(reg, 'camera-credentials') as InferProvider<
505
+ typeof cameraCredentialsCapability
506
+ > | null,
461
507
  remoteCapProxy,
462
508
  ),
463
509
  cameraPipelineConfig: createCapRouter_cameraPipelineConfig(
464
- (_ctx) => reg?.getSingleton<InferProvider<typeof cameraPipelineConfigCapability>>('camera-pipeline-config') ?? null,
510
+ (_ctx) =>
511
+ reg?.getSingleton<InferProvider<typeof cameraPipelineConfigCapability>>(
512
+ 'camera-pipeline-config',
513
+ ) ?? null,
465
514
  remoteCapProxy,
466
515
  ),
467
516
  cameraStreams: createCapRouter_cameraStreams(
468
- (_ctx) => reg?.getSingleton<InferProvider<typeof cameraStreamsCapability>>('camera-streams') ?? null,
517
+ (_ctx) =>
518
+ reg?.getSingleton<InferProvider<typeof cameraStreamsCapability>>('camera-streams') ?? null,
469
519
  remoteCapProxy,
470
520
  ),
471
521
  carbonMonoxide: createCapRouter_carbonMonoxide(
472
- (_ctx) => requireDeviceScoped(reg, 'carbon-monoxide') as InferProvider<typeof carbonMonoxideCapability> | null,
522
+ (_ctx) =>
523
+ requireDeviceScoped(reg, 'carbon-monoxide') as InferProvider<
524
+ typeof carbonMonoxideCapability
525
+ > | null,
473
526
  remoteCapProxy,
474
527
  ),
475
528
  climateControl: createCapRouter_climateControl(
476
- (_ctx) => requireDeviceScoped(reg, 'climate-control') as InferProvider<typeof climateControlCapability> | null,
529
+ (_ctx) =>
530
+ requireDeviceScoped(reg, 'climate-control') as InferProvider<
531
+ typeof climateControlCapability
532
+ > | null,
477
533
  remoteCapProxy,
478
534
  ),
479
535
  color: createCapRouter_color(
@@ -481,19 +537,27 @@ export function mountAllCaps(services: MountAllCapsServices) {
481
537
  remoteCapProxy,
482
538
  ),
483
539
  connectivity: createCapRouter_connectivity(
484
- (_ctx) => requireDeviceScoped(reg, 'connectivity') as InferProvider<typeof connectivityCapability> | null,
540
+ (_ctx) =>
541
+ requireDeviceScoped(reg, 'connectivity') as InferProvider<
542
+ typeof connectivityCapability
543
+ > | null,
485
544
  remoteCapProxy,
486
545
  ),
487
546
  consumables: createCapRouter_consumables(
488
- (_ctx) => requireDeviceScoped(reg, 'consumables') as InferProvider<typeof consumablesCapability> | null,
547
+ (_ctx) =>
548
+ requireDeviceScoped(reg, 'consumables') as InferProvider<
549
+ typeof consumablesCapability
550
+ > | null,
489
551
  remoteCapProxy,
490
552
  ),
491
553
  contact: createCapRouter_contact(
492
- (_ctx) => requireDeviceScoped(reg, 'contact') as InferProvider<typeof contactCapability> | null,
554
+ (_ctx) =>
555
+ requireDeviceScoped(reg, 'contact') as InferProvider<typeof contactCapability> | null,
493
556
  remoteCapProxy,
494
557
  ),
495
558
  control: createCapRouter_control(
496
- (_ctx) => requireDeviceScoped(reg, 'control') as InferProvider<typeof controlCapability> | null,
559
+ (_ctx) =>
560
+ requireDeviceScoped(reg, 'control') as InferProvider<typeof controlCapability> | null,
497
561
  remoteCapProxy,
498
562
  ),
499
563
  cover: createCapRouter_cover(
@@ -505,102 +569,154 @@ export function mountAllCaps(services: MountAllCapsServices) {
505
569
  remoteCapProxy,
506
570
  ),
507
571
  detectionPipeline: createCapRouter_detectionPipeline(
508
- (_ctx) => reg?.getSingleton<InferProvider<typeof detectionPipelineCapability>>('detection-pipeline') ?? null,
572
+ (_ctx) =>
573
+ reg?.getSingleton<InferProvider<typeof detectionPipelineCapability>>(
574
+ 'detection-pipeline',
575
+ ) ?? null,
509
576
  remoteCapProxy,
510
577
  ),
511
578
  deviceAdoption: createCapRouter_deviceAdoption(
512
- (_ctx) => reg?.getSingleton<InferProvider<typeof deviceAdoptionCapability>>('device-adoption') ?? null,
579
+ (_ctx) =>
580
+ reg?.getSingleton<InferProvider<typeof deviceAdoptionCapability>>('device-adoption') ??
581
+ null,
513
582
  remoteCapProxy,
514
583
  ),
515
584
  deviceDiscovery: createCapRouter_deviceDiscovery(
516
- (_ctx) => requireDeviceScoped(reg, 'device-discovery') as InferProvider<typeof deviceDiscoveryCapability> | null,
517
- remoteCapProxy,
518
- ),
519
- deviceExport: createCapRouter_deviceExport(
520
- (_ctx, addonId) => {
521
- if (!reg) return null
522
- if (addonId !== undefined) {
523
- return reg.getProviderByAddonId<InferProvider<typeof deviceExportCapability>>('device-export', addonId)
524
- }
525
- const entries = reg.getCollectionEntries<InferProvider<typeof deviceExportCapability>>('device-export')
526
- if (entries.length === 0) return null
527
- const providers = entries.map(([, p]) => p)
528
- const first = providers[0]!
529
- return {
530
- ...first,
531
- listSupportedDeviceKinds: concatCollection(providers, 'listSupportedDeviceKinds') as InferProvider<typeof deviceExportCapability>['listSupportedDeviceKinds'],
532
- listExposedDevices: concatCollection(providers, 'listExposedDevices') as InferProvider<typeof deviceExportCapability>['listExposedDevices'],
533
- }
534
- },
535
- remoteCapProxy,
536
- ),
585
+ (_ctx) =>
586
+ requireDeviceScoped(reg, 'device-discovery') as InferProvider<
587
+ typeof deviceDiscoveryCapability
588
+ > | null,
589
+ remoteCapProxy,
590
+ ),
591
+ deviceExport: createCapRouter_deviceExport((_ctx, addonId) => {
592
+ if (!reg) return null
593
+ if (addonId !== undefined) {
594
+ return reg.getProviderByAddonId<InferProvider<typeof deviceExportCapability>>(
595
+ 'device-export',
596
+ addonId,
597
+ )
598
+ }
599
+ const entries =
600
+ reg.getCollectionEntries<InferProvider<typeof deviceExportCapability>>('device-export')
601
+ if (entries.length === 0) return null
602
+ const providers = entries.map(([, p]) => p)
603
+ const first = providers[0]!
604
+ return {
605
+ ...first,
606
+ listSupportedDeviceKinds: concatCollection(
607
+ providers,
608
+ 'listSupportedDeviceKinds',
609
+ ) as InferProvider<typeof deviceExportCapability>['listSupportedDeviceKinds'],
610
+ listExposedDevices: concatCollection(providers, 'listExposedDevices') as InferProvider<
611
+ typeof deviceExportCapability
612
+ >['listExposedDevices'],
613
+ }
614
+ }, remoteCapProxy),
537
615
  deviceManager: createCapRouter_deviceManager(
538
- (_ctx) => reg?.getSingleton<InferProvider<typeof deviceManagerCapability>>('device-manager') ?? null,
616
+ (_ctx) =>
617
+ reg?.getSingleton<InferProvider<typeof deviceManagerCapability>>('device-manager') ?? null,
539
618
  remoteCapProxy,
540
619
  ),
541
620
  deviceOps: createCapRouter_deviceOps(
542
- (_ctx) => requireDeviceScoped(reg, 'device-ops') as InferProvider<typeof deviceOpsCapability> | null,
543
- remoteCapProxy,
544
- ),
545
- deviceProvider: createCapRouter_deviceProvider(
546
- (_ctx, addonId) => {
547
- if (!reg) return null
548
- if (addonId !== undefined) {
549
- return reg.getProviderByAddonId<InferProvider<typeof deviceProviderCapability>>('device-provider', addonId)
550
- }
551
- const entries = reg.getCollectionEntries<InferProvider<typeof deviceProviderCapability>>('device-provider')
552
- if (entries.length === 0) return null
553
- const providers = entries.map(([, p]) => p)
554
- const first = providers[0]!
555
- return {
556
- ...first,
557
- getDevices: concatCollection(providers, 'getDevices') as InferProvider<typeof deviceProviderCapability>['getDevices'],
558
- discoverDevices: concatCollection(providers, 'discoverDevices') as InferProvider<typeof deviceProviderCapability>['discoverDevices'],
559
- }
560
- },
561
- remoteCapProxy,
562
- ),
621
+ (_ctx) =>
622
+ requireDeviceScoped(reg, 'device-ops') as InferProvider<typeof deviceOpsCapability> | null,
623
+ remoteCapProxy,
624
+ ),
625
+ deviceProvider: createCapRouter_deviceProvider((_ctx, addonId) => {
626
+ if (!reg) return null
627
+ if (addonId !== undefined) {
628
+ return reg.getProviderByAddonId<InferProvider<typeof deviceProviderCapability>>(
629
+ 'device-provider',
630
+ addonId,
631
+ )
632
+ }
633
+ const entries =
634
+ reg.getCollectionEntries<InferProvider<typeof deviceProviderCapability>>('device-provider')
635
+ if (entries.length === 0) return null
636
+ const providers = entries.map(([, p]) => p)
637
+ const first = providers[0]!
638
+ return {
639
+ ...first,
640
+ getDevices: concatCollection(providers, 'getDevices') as InferProvider<
641
+ typeof deviceProviderCapability
642
+ >['getDevices'],
643
+ discoverDevices: concatCollection(providers, 'discoverDevices') as InferProvider<
644
+ typeof deviceProviderCapability
645
+ >['discoverDevices'],
646
+ }
647
+ }, remoteCapProxy),
563
648
  deviceState: createCapRouter_deviceState(
564
- (_ctx) => reg?.getSingleton<InferProvider<typeof deviceStateCapability>>('device-state') ?? null,
649
+ (_ctx) =>
650
+ reg?.getSingleton<InferProvider<typeof deviceStateCapability>>('device-state') ?? null,
565
651
  remoteCapProxy,
566
652
  ),
567
653
  deviceStatus: createCapRouter_deviceStatus(
568
- (_ctx) => requireDeviceScoped(reg, 'device-status') as InferProvider<typeof deviceStatusCapability> | null,
654
+ (_ctx) =>
655
+ requireDeviceScoped(reg, 'device-status') as InferProvider<
656
+ typeof deviceStatusCapability
657
+ > | null,
569
658
  remoteCapProxy,
570
659
  ),
571
660
  doorbell: createCapRouter_doorbell(
572
- (_ctx) => requireDeviceScoped(reg, 'doorbell') as InferProvider<typeof doorbellCapability> | null,
573
- remoteCapProxy,
574
- ),
575
- embeddingEncoder: createCapRouter_embeddingEncoder(
576
- (_ctx, addonId) => {
577
- if (!reg) return null
578
- if (addonId !== undefined) {
579
- return reg.getProviderByAddonId<InferProvider<typeof embeddingEncoderCapability>>('embedding-encoder', addonId)
580
- }
581
- const entries = reg.getCollectionEntries<InferProvider<typeof embeddingEncoderCapability>>('embedding-encoder')
582
- return entries[0]?.[1] ?? null
583
- },
584
- remoteCapProxy,
585
- ),
661
+ (_ctx) =>
662
+ requireDeviceScoped(reg, 'doorbell') as InferProvider<typeof doorbellCapability> | null,
663
+ remoteCapProxy,
664
+ ),
665
+ embeddingEncoder: createCapRouter_embeddingEncoder((_ctx, addonId) => {
666
+ if (!reg) return null
667
+ if (addonId !== undefined) {
668
+ return reg.getProviderByAddonId<InferProvider<typeof embeddingEncoderCapability>>(
669
+ 'embedding-encoder',
670
+ addonId,
671
+ )
672
+ }
673
+ const entries =
674
+ reg.getCollectionEntries<InferProvider<typeof embeddingEncoderCapability>>(
675
+ 'embedding-encoder',
676
+ )
677
+ return entries[0]?.[1] ?? null
678
+ }, remoteCapProxy),
586
679
  enumSensor: createCapRouter_enumSensor(
587
- (_ctx) => requireDeviceScoped(reg, 'enum-sensor') as InferProvider<typeof enumSensorCapability> | null,
680
+ (_ctx) =>
681
+ requireDeviceScoped(reg, 'enum-sensor') as InferProvider<
682
+ typeof enumSensorCapability
683
+ > | null,
588
684
  remoteCapProxy,
589
685
  ),
590
686
  eventEmitter: createCapRouter_eventEmitter(
591
- (_ctx) => requireDeviceScoped(reg, 'event-emitter') as InferProvider<typeof eventEmitterCapability> | null,
687
+ (_ctx) =>
688
+ requireDeviceScoped(reg, 'event-emitter') as InferProvider<
689
+ typeof eventEmitterCapability
690
+ > | null,
592
691
  remoteCapProxy,
593
692
  ),
594
693
  events: createCapRouter_events(
595
694
  (_ctx) => reg?.getSingleton<InferProvider<typeof eventsCapability>>('events') ?? null,
596
695
  remoteCapProxy,
597
696
  ),
697
+ faceGallery: createCapRouter_faceGallery(
698
+ (_ctx) =>
699
+ reg?.getSingleton<InferProvider<typeof faceGalleryCapability>>('face-gallery') ?? null,
700
+ remoteCapProxy,
701
+ ),
598
702
  fanControl: createCapRouter_fanControl(
599
- (_ctx) => requireDeviceScoped(reg, 'fan-control') as InferProvider<typeof fanControlCapability> | null,
703
+ (_ctx) =>
704
+ requireDeviceScoped(reg, 'fan-control') as InferProvider<
705
+ typeof fanControlCapability
706
+ > | null,
600
707
  remoteCapProxy,
601
708
  ),
602
709
  featureProbe: createCapRouter_featureProbe(
603
- (_ctx) => requireDeviceScoped(reg, 'feature-probe') as InferProvider<typeof featureProbeCapability> | null,
710
+ (_ctx) =>
711
+ requireDeviceScoped(reg, 'feature-probe') as InferProvider<
712
+ typeof featureProbeCapability
713
+ > | null,
714
+ remoteCapProxy,
715
+ ),
716
+ filesystemBrowse: createCapRouter_filesystemBrowse(
717
+ (_ctx) =>
718
+ reg?.getSingleton<InferProvider<typeof filesystemBrowseCapability>>('filesystem-browse') ??
719
+ null,
604
720
  remoteCapProxy,
605
721
  ),
606
722
  flood: createCapRouter_flood(
@@ -612,11 +728,15 @@ export function mountAllCaps(services: MountAllCapsServices) {
612
728
  remoteCapProxy,
613
729
  ),
614
730
  humidifier: createCapRouter_humidifier(
615
- (_ctx) => requireDeviceScoped(reg, 'humidifier') as InferProvider<typeof humidifierCapability> | null,
731
+ (_ctx) =>
732
+ requireDeviceScoped(reg, 'humidifier') as InferProvider<typeof humidifierCapability> | null,
616
733
  remoteCapProxy,
617
734
  ),
618
735
  humiditySensor: createCapRouter_humiditySensor(
619
- (_ctx) => requireDeviceScoped(reg, 'humidity-sensor') as InferProvider<typeof humiditySensorCapability> | null,
736
+ (_ctx) =>
737
+ requireDeviceScoped(reg, 'humidity-sensor') as InferProvider<
738
+ typeof humiditySensorCapability
739
+ > | null,
620
740
  remoteCapProxy,
621
741
  ),
622
742
  image: createCapRouter_image(
@@ -624,42 +744,57 @@ export function mountAllCaps(services: MountAllCapsServices) {
624
744
  remoteCapProxy,
625
745
  ),
626
746
  integrations: createCapRouter_integrations(
627
- (_ctx) => reg?.getSingleton<InferProvider<typeof integrationsCapability>>('integrations') ?? null,
747
+ (_ctx) =>
748
+ reg?.getSingleton<InferProvider<typeof integrationsCapability>>('integrations') ?? null,
628
749
  remoteCapProxy,
629
750
  ),
630
751
  intercom: createCapRouter_intercom(
631
- (_ctx) => requireDeviceScoped(reg, 'intercom') as InferProvider<typeof intercomCapability> | null,
752
+ (_ctx) =>
753
+ requireDeviceScoped(reg, 'intercom') as InferProvider<typeof intercomCapability> | null,
632
754
  remoteCapProxy,
633
755
  ),
634
756
  lawnMowerControl: createCapRouter_lawnMowerControl(
635
- (_ctx) => requireDeviceScoped(reg, 'lawn-mower-control') as InferProvider<typeof lawnMowerControlCapability> | null,
757
+ (_ctx) =>
758
+ requireDeviceScoped(reg, 'lawn-mower-control') as InferProvider<
759
+ typeof lawnMowerControlCapability
760
+ > | null,
636
761
  remoteCapProxy,
637
762
  ),
638
763
  localNetwork: createCapRouter_localNetwork(
639
- (_ctx) => reg?.getSingleton<InferProvider<typeof localNetworkCapability>>('local-network') ?? null,
764
+ (_ctx) =>
765
+ reg?.getSingleton<InferProvider<typeof localNetworkCapability>>('local-network') ?? null,
640
766
  remoteCapProxy,
641
767
  ),
642
768
  lockControl: createCapRouter_lockControl(
643
- (_ctx) => requireDeviceScoped(reg, 'lock-control') as InferProvider<typeof lockControlCapability> | null,
769
+ (_ctx) =>
770
+ requireDeviceScoped(reg, 'lock-control') as InferProvider<
771
+ typeof lockControlCapability
772
+ > | null,
644
773
  remoteCapProxy,
645
774
  ),
646
775
  mediaPlayer: createCapRouter_mediaPlayer(
647
- (_ctx) => requireDeviceScoped(reg, 'media-player') as InferProvider<typeof mediaPlayerCapability> | null,
648
- remoteCapProxy,
649
- ),
650
- meshNetwork: createCapRouter_meshNetwork(
651
- (_ctx, addonId) => {
652
- if (!reg) return null
653
- if (addonId !== undefined) {
654
- return reg.getProviderByAddonId<InferProvider<typeof meshNetworkCapability>>('mesh-network', addonId)
655
- }
656
- const entries = reg.getCollectionEntries<InferProvider<typeof meshNetworkCapability>>('mesh-network')
657
- return entries[0]?.[1] ?? null
658
- },
659
- remoteCapProxy,
660
- ),
776
+ (_ctx) =>
777
+ requireDeviceScoped(reg, 'media-player') as InferProvider<
778
+ typeof mediaPlayerCapability
779
+ > | null,
780
+ remoteCapProxy,
781
+ ),
782
+ meshNetwork: createCapRouter_meshNetwork((_ctx, addonId) => {
783
+ if (!reg) return null
784
+ if (addonId !== undefined) {
785
+ return reg.getProviderByAddonId<InferProvider<typeof meshNetworkCapability>>(
786
+ 'mesh-network',
787
+ addonId,
788
+ )
789
+ }
790
+ const entries =
791
+ reg.getCollectionEntries<InferProvider<typeof meshNetworkCapability>>('mesh-network')
792
+ return entries[0]?.[1] ?? null
793
+ }, remoteCapProxy),
661
794
  metricsProvider: createCapRouter_metricsProvider(
662
- (_ctx) => reg?.getSingleton<InferProvider<typeof metricsProviderCapability>>('metrics-provider') ?? null,
795
+ (_ctx) =>
796
+ reg?.getSingleton<InferProvider<typeof metricsProviderCapability>>('metrics-provider') ??
797
+ null,
663
798
  remoteCapProxy,
664
799
  ),
665
800
  motion: createCapRouter_motion(
@@ -667,131 +802,186 @@ export function mountAllCaps(services: MountAllCapsServices) {
667
802
  remoteCapProxy,
668
803
  ),
669
804
  motionDetection: createCapRouter_motionDetection(
670
- (_ctx) => reg?.getSingleton<InferProvider<typeof motionDetectionCapability>>('motion-detection') ?? null,
805
+ (_ctx) =>
806
+ reg?.getSingleton<InferProvider<typeof motionDetectionCapability>>('motion-detection') ??
807
+ null,
671
808
  remoteCapProxy,
672
809
  ),
673
810
  motionTrigger: createCapRouter_motionTrigger(
674
- (_ctx) => requireDeviceScoped(reg, 'motion-trigger') as InferProvider<typeof motionTriggerCapability> | null,
811
+ (_ctx) =>
812
+ requireDeviceScoped(reg, 'motion-trigger') as InferProvider<
813
+ typeof motionTriggerCapability
814
+ > | null,
675
815
  remoteCapProxy,
676
816
  ),
677
817
  motionZones: createCapRouter_motionZones(
678
- (_ctx) => requireDeviceScoped(reg, 'motion-zones') as InferProvider<typeof motionZonesCapability> | null,
679
- remoteCapProxy,
680
- ),
681
- mqttBroker: createCapRouter_mqttBroker(
682
- (_ctx, addonId) => {
683
- if (!reg) return null
684
- if (addonId !== undefined) {
685
- return reg.getProviderByAddonId<InferProvider<typeof mqttBrokerCapability>>('mqtt-broker', addonId)
686
- }
687
- const entries = reg.getCollectionEntries<InferProvider<typeof mqttBrokerCapability>>('mqtt-broker')
688
- if (entries.length === 0) return null
689
- const providers = entries.map(([, p]) => p)
690
- const first = providers[0]!
691
- return {
692
- ...first,
693
- listBrokers: concatCollection(providers, 'listBrokers') as InferProvider<typeof mqttBrokerCapability>['listBrokers'],
694
- }
695
- },
696
- remoteCapProxy,
697
- ),
818
+ (_ctx) =>
819
+ requireDeviceScoped(reg, 'motion-zones') as InferProvider<
820
+ typeof motionZonesCapability
821
+ > | null,
822
+ remoteCapProxy,
823
+ ),
824
+ mqttBroker: createCapRouter_mqttBroker((_ctx, addonId) => {
825
+ if (!reg) return null
826
+ if (addonId !== undefined) {
827
+ return reg.getProviderByAddonId<InferProvider<typeof mqttBrokerCapability>>(
828
+ 'mqtt-broker',
829
+ addonId,
830
+ )
831
+ }
832
+ const entries =
833
+ reg.getCollectionEntries<InferProvider<typeof mqttBrokerCapability>>('mqtt-broker')
834
+ if (entries.length === 0) return null
835
+ const providers = entries.map(([, p]) => p)
836
+ const first = providers[0]!
837
+ return {
838
+ ...first,
839
+ listBrokers: concatCollection(providers, 'listBrokers') as InferProvider<
840
+ typeof mqttBrokerCapability
841
+ >['listBrokers'],
842
+ }
843
+ }, remoteCapProxy),
698
844
  nativeObjectDetection: createCapRouter_nativeObjectDetection(
699
- (_ctx) => requireDeviceScoped(reg, 'native-object-detection') as InferProvider<typeof nativeObjectDetectionCapability> | null,
700
- remoteCapProxy,
701
- ),
702
- networkAccess: createCapRouter_networkAccess(
703
- (_ctx, addonId) => {
704
- if (!reg) return null
705
- if (addonId !== undefined) {
706
- return reg.getProviderByAddonId<InferProvider<typeof networkAccessCapability>>('network-access', addonId)
707
- }
708
- const entries = reg.getCollectionEntries<InferProvider<typeof networkAccessCapability>>('network-access')
709
- if (entries.length === 0) return null
710
- const providers = entries.map(([, p]) => p)
711
- const first = providers[0]!
712
- return {
713
- ...first,
714
- listEndpoints: concatCollection(providers, 'listEndpoints') as InferProvider<typeof networkAccessCapability>['listEndpoints'],
715
- }
716
- },
717
- remoteCapProxy,
718
- ),
845
+ (_ctx) =>
846
+ requireDeviceScoped(reg, 'native-object-detection') as InferProvider<
847
+ typeof nativeObjectDetectionCapability
848
+ > | null,
849
+ remoteCapProxy,
850
+ ),
851
+ networkAccess: createCapRouter_networkAccess((_ctx, addonId) => {
852
+ if (!reg) return null
853
+ if (addonId !== undefined) {
854
+ return reg.getProviderByAddonId<InferProvider<typeof networkAccessCapability>>(
855
+ 'network-access',
856
+ addonId,
857
+ )
858
+ }
859
+ const entries =
860
+ reg.getCollectionEntries<InferProvider<typeof networkAccessCapability>>('network-access')
861
+ if (entries.length === 0) return null
862
+ const providers = entries.map(([, p]) => p)
863
+ const first = providers[0]!
864
+ return {
865
+ ...first,
866
+ listEndpoints: concatCollection(providers, 'listEndpoints') as InferProvider<
867
+ typeof networkAccessCapability
868
+ >['listEndpoints'],
869
+ }
870
+ }, remoteCapProxy),
719
871
  networkQuality: createCapRouter_networkQuality(
720
- (_ctx) => reg?.getSingleton<InferProvider<typeof networkQualityCapability>>('network-quality') ?? null,
872
+ (_ctx) =>
873
+ reg?.getSingleton<InferProvider<typeof networkQualityCapability>>('network-quality') ??
874
+ null,
721
875
  remoteCapProxy,
722
876
  ),
723
877
  nodes: createCapRouter_nodes(
724
878
  (_ctx) => reg?.getSingleton<InferProvider<typeof nodesCapability>>('nodes') ?? null,
725
879
  remoteCapProxy,
726
880
  ),
727
- notificationOutput: createCapRouter_notificationOutput(
728
- (_ctx, addonId) => {
729
- if (!reg) return null
730
- if (addonId !== undefined) {
731
- return reg.getProviderByAddonId<InferProvider<typeof notificationOutputCapability>>('notification-output', addonId)
732
- }
733
- const entries = reg.getCollectionEntries<InferProvider<typeof notificationOutputCapability>>('notification-output')
734
- return entries[0]?.[1] ?? null
735
- },
736
- remoteCapProxy,
737
- ),
881
+ notificationOutput: createCapRouter_notificationOutput((_ctx, addonId) => {
882
+ if (!reg) return null
883
+ if (addonId !== undefined) {
884
+ return reg.getProviderByAddonId<InferProvider<typeof notificationOutputCapability>>(
885
+ 'notification-output',
886
+ addonId,
887
+ )
888
+ }
889
+ const entries =
890
+ reg.getCollectionEntries<InferProvider<typeof notificationOutputCapability>>(
891
+ 'notification-output',
892
+ )
893
+ return entries[0]?.[1] ?? null
894
+ }, remoteCapProxy),
738
895
  notifier: createCapRouter_notifier(
739
- (_ctx) => requireDeviceScoped(reg, 'notifier') as InferProvider<typeof notifierCapability> | null,
896
+ (_ctx) =>
897
+ requireDeviceScoped(reg, 'notifier') as InferProvider<typeof notifierCapability> | null,
740
898
  remoteCapProxy,
741
899
  ),
742
900
  numericSensor: createCapRouter_numericSensor(
743
- (_ctx) => requireDeviceScoped(reg, 'numeric-sensor') as InferProvider<typeof numericSensorCapability> | null,
744
- remoteCapProxy,
745
- ),
746
- oauthIntegration: createCapRouter_oauthIntegration(
747
- (_ctx, addonId) => {
748
- if (!reg) return null
749
- if (addonId !== undefined) {
750
- return reg.getProviderByAddonId<InferProvider<typeof oauthIntegrationCapability>>('oauth-integration', addonId)
751
- }
752
- const entries = reg.getCollectionEntries<InferProvider<typeof oauthIntegrationCapability>>('oauth-integration')
753
- return entries[0]?.[1] ?? null
754
- },
755
- remoteCapProxy,
756
- ),
901
+ (_ctx) =>
902
+ requireDeviceScoped(reg, 'numeric-sensor') as InferProvider<
903
+ typeof numericSensorCapability
904
+ > | null,
905
+ remoteCapProxy,
906
+ ),
907
+ oauthIntegration: createCapRouter_oauthIntegration((_ctx, addonId) => {
908
+ if (!reg) return null
909
+ if (addonId !== undefined) {
910
+ return reg.getProviderByAddonId<InferProvider<typeof oauthIntegrationCapability>>(
911
+ 'oauth-integration',
912
+ addonId,
913
+ )
914
+ }
915
+ const entries =
916
+ reg.getCollectionEntries<InferProvider<typeof oauthIntegrationCapability>>(
917
+ 'oauth-integration',
918
+ )
919
+ return entries[0]?.[1] ?? null
920
+ }, remoteCapProxy),
757
921
  osd: createCapRouter_osd(
758
922
  (_ctx) => requireDeviceScoped(reg, 'osd') as InferProvider<typeof osdCapability> | null,
759
923
  remoteCapProxy,
760
924
  ),
761
925
  pipelineAnalytics: createCapRouter_pipelineAnalytics(
762
- (_ctx) => reg?.getSingleton<InferProvider<typeof pipelineAnalyticsCapability>>('pipeline-analytics') ?? null,
926
+ (_ctx) =>
927
+ reg?.getSingleton<InferProvider<typeof pipelineAnalyticsCapability>>(
928
+ 'pipeline-analytics',
929
+ ) ?? null,
763
930
  remoteCapProxy,
764
931
  ),
765
932
  pipelineExecutor: createCapRouter_pipelineExecutor(
766
- (_ctx) => reg?.getSingleton<InferProvider<typeof pipelineExecutorCapability>>('pipeline-executor') ?? null,
933
+ (_ctx) =>
934
+ reg?.getSingleton<InferProvider<typeof pipelineExecutorCapability>>('pipeline-executor') ??
935
+ null,
767
936
  remoteCapProxy,
768
937
  ),
769
938
  pipelineOrchestrator: createCapRouter_pipelineOrchestrator(
770
- (_ctx) => reg?.getSingleton<InferProvider<typeof pipelineOrchestratorCapability>>('pipeline-orchestrator') ?? null,
939
+ (_ctx) =>
940
+ reg?.getSingleton<InferProvider<typeof pipelineOrchestratorCapability>>(
941
+ 'pipeline-orchestrator',
942
+ ) ?? null,
771
943
  remoteCapProxy,
772
944
  ),
773
945
  pipelineRunner: createCapRouter_pipelineRunner(
774
- (_ctx) => reg?.getSingleton<InferProvider<typeof pipelineRunnerCapability>>('pipeline-runner') ?? null,
946
+ (_ctx) =>
947
+ reg?.getSingleton<InferProvider<typeof pipelineRunnerCapability>>('pipeline-runner') ??
948
+ null,
949
+ remoteCapProxy,
950
+ ),
951
+ plateGallery: createCapRouter_plateGallery(
952
+ (_ctx) =>
953
+ reg?.getSingleton<InferProvider<typeof plateGalleryCapability>>('plate-gallery') ?? null,
775
954
  remoteCapProxy,
776
955
  ),
777
956
  platformProbe: createCapRouter_platformProbe(
778
- (_ctx) => reg?.getSingleton<InferProvider<typeof platformProbeCapability>>('platform-probe') ?? null,
957
+ (_ctx) =>
958
+ reg?.getSingleton<InferProvider<typeof platformProbeCapability>>('platform-probe') ?? null,
779
959
  remoteCapProxy,
780
960
  ),
781
961
  powerMeter: createCapRouter_powerMeter(
782
- (_ctx) => requireDeviceScoped(reg, 'power-meter') as InferProvider<typeof powerMeterCapability> | null,
962
+ (_ctx) =>
963
+ requireDeviceScoped(reg, 'power-meter') as InferProvider<
964
+ typeof powerMeterCapability
965
+ > | null,
783
966
  remoteCapProxy,
784
967
  ),
785
968
  presence: createCapRouter_presence(
786
- (_ctx) => requireDeviceScoped(reg, 'presence') as InferProvider<typeof presenceCapability> | null,
969
+ (_ctx) =>
970
+ requireDeviceScoped(reg, 'presence') as InferProvider<typeof presenceCapability> | null,
787
971
  remoteCapProxy,
788
972
  ),
789
973
  pressureSensor: createCapRouter_pressureSensor(
790
- (_ctx) => requireDeviceScoped(reg, 'pressure-sensor') as InferProvider<typeof pressureSensorCapability> | null,
974
+ (_ctx) =>
975
+ requireDeviceScoped(reg, 'pressure-sensor') as InferProvider<
976
+ typeof pressureSensorCapability
977
+ > | null,
791
978
  remoteCapProxy,
792
979
  ),
793
980
  privacyMask: createCapRouter_privacyMask(
794
- (_ctx) => requireDeviceScoped(reg, 'privacy-mask') as InferProvider<typeof privacyMaskCapability> | null,
981
+ (_ctx) =>
982
+ requireDeviceScoped(reg, 'privacy-mask') as InferProvider<
983
+ typeof privacyMaskCapability
984
+ > | null,
795
985
  remoteCapProxy,
796
986
  ),
797
987
  ptz: createCapRouter_ptz(
@@ -799,7 +989,10 @@ export function mountAllCaps(services: MountAllCapsServices) {
799
989
  remoteCapProxy,
800
990
  ),
801
991
  ptzAutotrack: createCapRouter_ptzAutotrack(
802
- (_ctx) => requireDeviceScoped(reg, 'ptz-autotrack') as InferProvider<typeof ptzAutotrackCapability> | null,
992
+ (_ctx) =>
993
+ requireDeviceScoped(reg, 'ptz-autotrack') as InferProvider<
994
+ typeof ptzAutotrackCapability
995
+ > | null,
803
996
  remoteCapProxy,
804
997
  ),
805
998
  reboot: createCapRouter_reboot(
@@ -811,43 +1004,52 @@ export function mountAllCaps(services: MountAllCapsServices) {
811
1004
  remoteCapProxy,
812
1005
  ),
813
1006
  scriptRunner: createCapRouter_scriptRunner(
814
- (_ctx) => requireDeviceScoped(reg, 'script-runner') as InferProvider<typeof scriptRunnerCapability> | null,
1007
+ (_ctx) =>
1008
+ requireDeviceScoped(reg, 'script-runner') as InferProvider<
1009
+ typeof scriptRunnerCapability
1010
+ > | null,
815
1011
  remoteCapProxy,
816
1012
  ),
817
1013
  settingsStore: createCapRouter_settingsStore(
818
- (_ctx) => reg?.getSingleton<InferProvider<typeof settingsStoreCapability>>('settings-store') ?? null,
1014
+ (_ctx) =>
1015
+ reg?.getSingleton<InferProvider<typeof settingsStoreCapability>>('settings-store') ?? null,
819
1016
  remoteCapProxy,
820
1017
  ),
821
1018
  smoke: createCapRouter_smoke(
822
1019
  (_ctx) => requireDeviceScoped(reg, 'smoke') as InferProvider<typeof smokeCapability> | null,
823
1020
  remoteCapProxy,
824
1021
  ),
825
- smtpProvider: createCapRouter_smtpProvider(
826
- (_ctx, addonId) => {
827
- if (!reg) return null
828
- if (addonId !== undefined) {
829
- return reg.getProviderByAddonId<InferProvider<typeof smtpProviderCapability>>('smtp-provider', addonId)
830
- }
831
- const entries = reg.getCollectionEntries<InferProvider<typeof smtpProviderCapability>>('smtp-provider')
832
- return entries[0]?.[1] ?? null
833
- },
834
- remoteCapProxy,
835
- ),
1022
+ smtpProvider: createCapRouter_smtpProvider((_ctx, addonId) => {
1023
+ if (!reg) return null
1024
+ if (addonId !== undefined) {
1025
+ return reg.getProviderByAddonId<InferProvider<typeof smtpProviderCapability>>(
1026
+ 'smtp-provider',
1027
+ addonId,
1028
+ )
1029
+ }
1030
+ const entries =
1031
+ reg.getCollectionEntries<InferProvider<typeof smtpProviderCapability>>('smtp-provider')
1032
+ return entries[0]?.[1] ?? null
1033
+ }, remoteCapProxy),
836
1034
  snapshot: createCapRouter_snapshot(
837
- (_ctx) => requireDeviceScoped(reg, 'snapshot') as InferProvider<typeof snapshotCapability> | null,
838
- remoteCapProxy,
839
- ),
840
- snapshotProvider: createCapRouter_snapshotProvider(
841
- (_ctx, addonId) => {
842
- if (!reg) return null
843
- if (addonId !== undefined) {
844
- return reg.getProviderByAddonId<InferProvider<typeof snapshotProviderCapability>>('snapshot-provider', addonId)
845
- }
846
- const entries = reg.getCollectionEntries<InferProvider<typeof snapshotProviderCapability>>('snapshot-provider')
847
- return entries[0]?.[1] ?? null
848
- },
849
- remoteCapProxy,
850
- ),
1035
+ (_ctx) =>
1036
+ requireDeviceScoped(reg, 'snapshot') as InferProvider<typeof snapshotCapability> | null,
1037
+ remoteCapProxy,
1038
+ ),
1039
+ snapshotProvider: createCapRouter_snapshotProvider((_ctx, addonId) => {
1040
+ if (!reg) return null
1041
+ if (addonId !== undefined) {
1042
+ return reg.getProviderByAddonId<InferProvider<typeof snapshotProviderCapability>>(
1043
+ 'snapshot-provider',
1044
+ addonId,
1045
+ )
1046
+ }
1047
+ const entries =
1048
+ reg.getCollectionEntries<InferProvider<typeof snapshotProviderCapability>>(
1049
+ 'snapshot-provider',
1050
+ )
1051
+ return entries[0]?.[1] ?? null
1052
+ }, remoteCapProxy),
851
1053
  ssoBridge: createCapRouter_ssoBridge(
852
1054
  (_ctx) => reg?.getSingleton<InferProvider<typeof ssoBridgeCapability>>('sso-bridge') ?? null,
853
1055
  remoteCapProxy,
@@ -856,44 +1058,59 @@ export function mountAllCaps(services: MountAllCapsServices) {
856
1058
  (_ctx) => reg?.getSingleton<InferProvider<typeof storageCapability>>('storage') ?? null,
857
1059
  remoteCapProxy,
858
1060
  ),
859
- storageEvictable: createCapRouter_storageEvictable(
860
- (_ctx, addonId) => {
861
- if (!reg) return null
862
- if (addonId !== undefined) {
863
- return reg.getProviderByAddonId<InferProvider<typeof storageEvictableCapability>>('storage-evictable', addonId)
864
- }
865
- const entries = reg.getCollectionEntries<InferProvider<typeof storageEvictableCapability>>('storage-evictable')
866
- return entries[0]?.[1] ?? null
867
- },
868
- remoteCapProxy,
869
- ),
870
- storageProvider: createCapRouter_storageProvider(
871
- (_ctx, addonId) => {
872
- if (!reg) return null
873
- if (addonId !== undefined) {
874
- return reg.getProviderByAddonId<InferProvider<typeof storageProviderCapability>>('storage-provider', addonId)
875
- }
876
- const entries = reg.getCollectionEntries<InferProvider<typeof storageProviderCapability>>('storage-provider')
877
- if (entries.length === 0) return null
878
- const providers = entries.map(([, p]) => p)
879
- const first = providers[0]!
880
- return {
881
- ...first,
882
- list: concatCollection(providers, 'list') as InferProvider<typeof storageProviderCapability>['list'],
883
- }
884
- },
885
- remoteCapProxy,
886
- ),
1061
+ storageEvictable: createCapRouter_storageEvictable((_ctx, addonId) => {
1062
+ if (!reg) return null
1063
+ if (addonId !== undefined) {
1064
+ return reg.getProviderByAddonId<InferProvider<typeof storageEvictableCapability>>(
1065
+ 'storage-evictable',
1066
+ addonId,
1067
+ )
1068
+ }
1069
+ const entries =
1070
+ reg.getCollectionEntries<InferProvider<typeof storageEvictableCapability>>(
1071
+ 'storage-evictable',
1072
+ )
1073
+ return entries[0]?.[1] ?? null
1074
+ }, remoteCapProxy),
1075
+ storageProvider: createCapRouter_storageProvider((_ctx, addonId) => {
1076
+ if (!reg) return null
1077
+ if (addonId !== undefined) {
1078
+ return reg.getProviderByAddonId<InferProvider<typeof storageProviderCapability>>(
1079
+ 'storage-provider',
1080
+ addonId,
1081
+ )
1082
+ }
1083
+ const entries =
1084
+ reg.getCollectionEntries<InferProvider<typeof storageProviderCapability>>(
1085
+ 'storage-provider',
1086
+ )
1087
+ if (entries.length === 0) return null
1088
+ const providers = entries.map(([, p]) => p)
1089
+ const first = providers[0]!
1090
+ return {
1091
+ ...first,
1092
+ list: concatCollection(providers, 'list') as InferProvider<
1093
+ typeof storageProviderCapability
1094
+ >['list'],
1095
+ }
1096
+ }, remoteCapProxy),
887
1097
  streamBroker: createCapRouter_streamBroker(
888
- (_ctx) => reg?.getSingleton<InferProvider<typeof streamBrokerCapability>>('stream-broker') ?? null,
1098
+ (_ctx) =>
1099
+ reg?.getSingleton<InferProvider<typeof streamBrokerCapability>>('stream-broker') ?? null,
889
1100
  remoteCapProxy,
890
1101
  ),
891
1102
  streamCatalog: createCapRouter_streamCatalog(
892
- (_ctx) => requireDeviceScoped(reg, 'stream-catalog') as InferProvider<typeof streamCatalogCapability> | null,
1103
+ (_ctx) =>
1104
+ requireDeviceScoped(reg, 'stream-catalog') as InferProvider<
1105
+ typeof streamCatalogCapability
1106
+ > | null,
893
1107
  remoteCapProxy,
894
1108
  ),
895
1109
  streamParams: createCapRouter_streamParams(
896
- (_ctx) => requireDeviceScoped(reg, 'stream-params') as InferProvider<typeof streamParamsCapability> | null,
1110
+ (_ctx) =>
1111
+ requireDeviceScoped(reg, 'stream-params') as InferProvider<
1112
+ typeof streamParamsCapability
1113
+ > | null,
897
1114
  remoteCapProxy,
898
1115
  ),
899
1116
  switch: createCapRouter_switch(
@@ -909,57 +1126,71 @@ export function mountAllCaps(services: MountAllCapsServices) {
909
1126
  remoteCapProxy,
910
1127
  ),
911
1128
  temperatureSensor: createCapRouter_temperatureSensor(
912
- (_ctx) => requireDeviceScoped(reg, 'temperature-sensor') as InferProvider<typeof temperatureSensorCapability> | null,
1129
+ (_ctx) =>
1130
+ requireDeviceScoped(reg, 'temperature-sensor') as InferProvider<
1131
+ typeof temperatureSensorCapability
1132
+ > | null,
913
1133
  remoteCapProxy,
914
1134
  ),
915
1135
  toast: createCapRouter_toast(
916
1136
  (_ctx) => reg?.getSingleton<InferProvider<typeof toastCapability>>('toast') ?? null,
917
1137
  remoteCapProxy,
918
1138
  ),
919
- turnProvider: createCapRouter_turnProvider(
920
- (_ctx, addonId) => {
921
- if (!reg) return null
922
- if (addonId !== undefined) {
923
- return reg.getProviderByAddonId<InferProvider<typeof turnProviderCapability>>('turn-provider', addonId)
924
- }
925
- const entries = reg.getCollectionEntries<InferProvider<typeof turnProviderCapability>>('turn-provider')
926
- if (entries.length === 0) return null
927
- const providers = entries.map(([, p]) => p)
928
- const first = providers[0]!
929
- return {
930
- ...first,
931
- getTurnServers: concatCollection(providers, 'getTurnServers') as InferProvider<typeof turnProviderCapability>['getTurnServers'],
932
- }
933
- },
934
- remoteCapProxy,
935
- ),
1139
+ turnProvider: createCapRouter_turnProvider((_ctx, addonId) => {
1140
+ if (!reg) return null
1141
+ if (addonId !== undefined) {
1142
+ return reg.getProviderByAddonId<InferProvider<typeof turnProviderCapability>>(
1143
+ 'turn-provider',
1144
+ addonId,
1145
+ )
1146
+ }
1147
+ const entries =
1148
+ reg.getCollectionEntries<InferProvider<typeof turnProviderCapability>>('turn-provider')
1149
+ if (entries.length === 0) return null
1150
+ const providers = entries.map(([, p]) => p)
1151
+ const first = providers[0]!
1152
+ return {
1153
+ ...first,
1154
+ getTurnServers: concatCollection(providers, 'getTurnServers') as InferProvider<
1155
+ typeof turnProviderCapability
1156
+ >['getTurnServers'],
1157
+ }
1158
+ }, remoteCapProxy),
936
1159
  update: createCapRouter_update(
937
1160
  (_ctx) => requireDeviceScoped(reg, 'update') as InferProvider<typeof updateCapability> | null,
938
1161
  remoteCapProxy,
939
1162
  ),
940
1163
  userManagement: createCapRouter_userManagement(
941
- (_ctx) => reg?.getSingleton<InferProvider<typeof userManagementCapability>>('user-management') ?? null,
942
- remoteCapProxy,
943
- ),
944
- userPasskeys: createCapRouter_userPasskeys(
945
- (_ctx, addonId) => {
946
- if (!reg) return null
947
- if (addonId !== undefined) {
948
- return reg.getProviderByAddonId<InferProvider<typeof userPasskeysCapability>>('user-passkeys', addonId)
949
- }
950
- const entries = reg.getCollectionEntries<InferProvider<typeof userPasskeysCapability>>('user-passkeys')
951
- if (entries.length === 0) return null
952
- const providers = entries.map(([, p]) => p)
953
- const first = providers[0]!
954
- return {
955
- ...first,
956
- listPasskeys: concatCollection(providers, 'listPasskeys') as InferProvider<typeof userPasskeysCapability>['listPasskeys'],
957
- }
958
- },
959
- remoteCapProxy,
960
- ),
1164
+ (_ctx) =>
1165
+ reg?.getSingleton<InferProvider<typeof userManagementCapability>>('user-management') ??
1166
+ null,
1167
+ remoteCapProxy,
1168
+ ),
1169
+ userPasskeys: createCapRouter_userPasskeys((_ctx, addonId) => {
1170
+ if (!reg) return null
1171
+ if (addonId !== undefined) {
1172
+ return reg.getProviderByAddonId<InferProvider<typeof userPasskeysCapability>>(
1173
+ 'user-passkeys',
1174
+ addonId,
1175
+ )
1176
+ }
1177
+ const entries =
1178
+ reg.getCollectionEntries<InferProvider<typeof userPasskeysCapability>>('user-passkeys')
1179
+ if (entries.length === 0) return null
1180
+ const providers = entries.map(([, p]) => p)
1181
+ const first = providers[0]!
1182
+ return {
1183
+ ...first,
1184
+ listPasskeys: concatCollection(providers, 'listPasskeys') as InferProvider<
1185
+ typeof userPasskeysCapability
1186
+ >['listPasskeys'],
1187
+ }
1188
+ }, remoteCapProxy),
961
1189
  vacuumControl: createCapRouter_vacuumControl(
962
- (_ctx) => requireDeviceScoped(reg, 'vacuum-control') as InferProvider<typeof vacuumControlCapability> | null,
1190
+ (_ctx) =>
1191
+ requireDeviceScoped(reg, 'vacuum-control') as InferProvider<
1192
+ typeof vacuumControlCapability
1193
+ > | null,
963
1194
  remoteCapProxy,
964
1195
  ),
965
1196
  valve: createCapRouter_valve(
@@ -967,23 +1198,34 @@ export function mountAllCaps(services: MountAllCapsServices) {
967
1198
  remoteCapProxy,
968
1199
  ),
969
1200
  vibration: createCapRouter_vibration(
970
- (_ctx) => requireDeviceScoped(reg, 'vibration') as InferProvider<typeof vibrationCapability> | null,
1201
+ (_ctx) =>
1202
+ requireDeviceScoped(reg, 'vibration') as InferProvider<typeof vibrationCapability> | null,
1203
+ remoteCapProxy,
1204
+ ),
1205
+ videoclips: createCapRouter_videoclips(
1206
+ (_ctx) => reg?.getSingleton<InferProvider<typeof videoclipsCapability>>('videoclips') ?? null,
971
1207
  remoteCapProxy,
972
1208
  ),
973
1209
  waterHeater: createCapRouter_waterHeater(
974
- (_ctx) => requireDeviceScoped(reg, 'water-heater') as InferProvider<typeof waterHeaterCapability> | null,
1210
+ (_ctx) =>
1211
+ requireDeviceScoped(reg, 'water-heater') as InferProvider<
1212
+ typeof waterHeaterCapability
1213
+ > | null,
975
1214
  remoteCapProxy,
976
1215
  ),
977
1216
  weather: createCapRouter_weather(
978
- (_ctx) => requireDeviceScoped(reg, 'weather') as InferProvider<typeof weatherCapability> | null,
1217
+ (_ctx) =>
1218
+ requireDeviceScoped(reg, 'weather') as InferProvider<typeof weatherCapability> | null,
979
1219
  remoteCapProxy,
980
1220
  ),
981
1221
  webrtcSession: createCapRouter_webrtcSession(
982
- (_ctx) => reg?.getSingleton<InferProvider<typeof webrtcSessionCapability>>('webrtc-session') ?? null,
1222
+ (_ctx) =>
1223
+ reg?.getSingleton<InferProvider<typeof webrtcSessionCapability>>('webrtc-session') ?? null,
983
1224
  remoteCapProxy,
984
1225
  ),
985
1226
  zoneAnalytics: createCapRouter_zoneAnalytics(
986
- (_ctx) => reg?.getSingleton<InferProvider<typeof zoneAnalyticsCapability>>('zone-analytics') ?? null,
1227
+ (_ctx) =>
1228
+ reg?.getSingleton<InferProvider<typeof zoneAnalyticsCapability>>('zone-analytics') ?? null,
987
1229
  remoteCapProxy,
988
1230
  ),
989
1231
  zoneRules: createCapRouter_zoneRules(