@camstack/types 1.2.336 → 1.2.338

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 (231) hide show
  1. package/dist/audio/audio-chunk-format.d.ts +1 -1
  2. package/dist/automation/recipe.d.ts +3 -3
  3. package/dist/capabilities/accessories.cap.d.ts +4 -4
  4. package/dist/capabilities/addon-pages-source.cap.d.ts +3 -3
  5. package/dist/capabilities/addon-pages.cap.d.ts +3 -3
  6. package/dist/capabilities/addon-routes.cap.d.ts +8 -8
  7. package/dist/capabilities/addon-settings.cap.d.ts +9 -9
  8. package/dist/capabilities/addon-widgets-source.cap.d.ts +21 -21
  9. package/dist/capabilities/addon-widgets.cap.d.ts +17 -17
  10. package/dist/capabilities/addons.cap.d.ts +87 -87
  11. package/dist/capabilities/admin-ui.cap.d.ts +3 -3
  12. package/dist/capabilities/air-quality-sensor.cap.d.ts +5 -5
  13. package/dist/capabilities/alarm-panel.cap.d.ts +45 -45
  14. package/dist/capabilities/alerts.cap.d.ts +18 -18
  15. package/dist/capabilities/ambient-light-sensor.cap.d.ts +5 -5
  16. package/dist/capabilities/audio-analysis.cap.d.ts +4 -4
  17. package/dist/capabilities/audio-analyzer.cap.d.ts +13 -13
  18. package/dist/capabilities/audio-codec.cap.d.ts +4 -4
  19. package/dist/capabilities/audio-metrics.cap.d.ts +4 -4
  20. package/dist/capabilities/auth-provider.cap.d.ts +4 -4
  21. package/dist/capabilities/automation-control.cap.d.ts +5 -5
  22. package/dist/capabilities/backup.cap.d.ts +18 -18
  23. package/dist/capabilities/battery.cap.d.ts +15 -15
  24. package/dist/capabilities/binary.cap.d.ts +5 -5
  25. package/dist/capabilities/brightness.cap.d.ts +5 -5
  26. package/dist/capabilities/broker.cap.d.ts +21 -21
  27. package/dist/capabilities/button.cap.d.ts +3 -3
  28. package/dist/capabilities/calendar-source.cap.d.ts +3 -3
  29. package/dist/capabilities/calendars.cap.d.ts +5 -5
  30. package/dist/capabilities/camera-credentials.cap.d.ts +4 -4
  31. package/dist/capabilities/camera-grid-layout.cap.d.ts +9 -9
  32. package/dist/capabilities/camera-pipeline-config.cap.d.ts +4 -4
  33. package/dist/capabilities/camera-streams.cap.d.ts +37 -37
  34. package/dist/capabilities/capability-definition.d.ts +10 -10
  35. package/dist/capabilities/carbon-monoxide.cap.d.ts +5 -5
  36. package/dist/capabilities/climate-control.cap.d.ts +37 -37
  37. package/dist/capabilities/color.cap.d.ts +9 -9
  38. package/dist/capabilities/composer.cap.d.ts +16 -16
  39. package/dist/capabilities/connection-test.cap.d.ts +3 -3
  40. package/dist/capabilities/connectivity.cap.d.ts +5 -5
  41. package/dist/capabilities/consumables.cap.d.ts +21 -21
  42. package/dist/capabilities/contact.cap.d.ts +5 -5
  43. package/dist/capabilities/control.cap.d.ts +16 -16
  44. package/dist/capabilities/core-blocks.cap.d.ts +115 -115
  45. package/dist/capabilities/cover.cap.d.ts +17 -17
  46. package/dist/capabilities/custom-model-registry.cap.d.ts +51 -51
  47. package/dist/capabilities/data-store-provider.cap.d.ts +7 -7
  48. package/dist/capabilities/database-snapshot.cap.d.ts +3 -3
  49. package/dist/capabilities/day-night.cap.d.ts +24 -24
  50. package/dist/capabilities/decoder.cap.d.ts +4 -4
  51. package/dist/capabilities/detection-pipeline.cap.d.ts +4 -4
  52. package/dist/capabilities/device-admin-link.cap.d.ts +3 -3
  53. package/dist/capabilities/device-adoption.cap.d.ts +4 -4
  54. package/dist/capabilities/device-discovery.cap.d.ts +7 -7
  55. package/dist/capabilities/device-export.cap.d.ts +8 -8
  56. package/dist/capabilities/device-extension.cap.d.ts +22 -22
  57. package/dist/capabilities/device-manager.cap.d.ts +113 -113
  58. package/dist/capabilities/device-ops.cap.d.ts +7 -7
  59. package/dist/capabilities/device-provider.cap.d.ts +3 -3
  60. package/dist/capabilities/device-state.cap.d.ts +24 -24
  61. package/dist/capabilities/device-status.cap.d.ts +5 -5
  62. package/dist/capabilities/doorbell.cap.d.ts +7 -7
  63. package/dist/capabilities/embedding-encoder.cap.d.ts +4 -4
  64. package/dist/capabilities/enum-sensor.cap.d.ts +9 -9
  65. package/dist/capabilities/event-emitter.cap.d.ts +5 -5
  66. package/dist/capabilities/face-gallery.cap.d.ts +7 -7
  67. package/dist/capabilities/failure-contribution.cap.d.ts +4 -4
  68. package/dist/capabilities/fan-control.cap.d.ts +10 -10
  69. package/dist/capabilities/feature-probe.cap.d.ts +5 -5
  70. package/dist/capabilities/filesystem-browse.cap.d.ts +3 -3
  71. package/dist/capabilities/flood.cap.d.ts +5 -5
  72. package/dist/capabilities/gas.cap.d.ts +5 -5
  73. package/dist/capabilities/hub-address.d.ts +1 -1
  74. package/dist/capabilities/humidifier.cap.d.ts +5 -5
  75. package/dist/capabilities/humidity-sensor.cap.d.ts +5 -5
  76. package/dist/capabilities/image-settings.cap.d.ts +48 -48
  77. package/dist/capabilities/image.cap.d.ts +5 -5
  78. package/dist/capabilities/integrations.cap.d.ts +12 -12
  79. package/dist/capabilities/intercom.cap.d.ts +11 -11
  80. package/dist/capabilities/keychain-admin.cap.d.ts +57 -57
  81. package/dist/capabilities/keychain.cap.d.ts +27 -27
  82. package/dist/capabilities/lawn-mower-control.cap.d.ts +17 -17
  83. package/dist/capabilities/llm-runtime.cap.d.ts +79 -79
  84. package/dist/capabilities/llm-shared.d.ts +21 -21
  85. package/dist/capabilities/llm.cap.d.ts +109 -109
  86. package/dist/capabilities/load-contribution.cap.d.ts +12 -12
  87. package/dist/capabilities/local-network.cap.d.ts +119 -119
  88. package/dist/capabilities/lock-control.cap.d.ts +13 -13
  89. package/dist/capabilities/log-channels.cap.d.ts +5 -5
  90. package/dist/capabilities/log-destination.cap.d.ts +14 -14
  91. package/dist/capabilities/login-method.cap.d.ts +4 -4
  92. package/dist/capabilities/mask-shape.d.ts +2 -2
  93. package/dist/capabilities/media-player.cap.d.ts +13 -13
  94. package/dist/capabilities/mesh-network.cap.d.ts +9 -9
  95. package/dist/capabilities/metrics-provider.cap.d.ts +15 -15
  96. package/dist/capabilities/model-convert.cap.d.ts +29 -29
  97. package/dist/capabilities/model-distributor.cap.d.ts +27 -27
  98. package/dist/capabilities/motion-detection.cap.d.ts +8 -8
  99. package/dist/capabilities/motion-trigger.cap.d.ts +5 -5
  100. package/dist/capabilities/motion-zones.cap.d.ts +13 -13
  101. package/dist/capabilities/motion.cap.d.ts +7 -7
  102. package/dist/capabilities/mqtt-broker.cap.d.ts +13 -13
  103. package/dist/capabilities/native-object-detection.cap.d.ts +59 -59
  104. package/dist/capabilities/navigation.cap.d.ts +56 -56
  105. package/dist/capabilities/network-access.cap.d.ts +4 -4
  106. package/dist/capabilities/network-link.cap.d.ts +16 -16
  107. package/dist/capabilities/network-quality.cap.d.ts +4 -4
  108. package/dist/capabilities/nodes.cap.d.ts +5 -5
  109. package/dist/capabilities/notification-output.cap.d.ts +121 -121
  110. package/dist/capabilities/notification-rules.cap.d.ts +1583 -1583
  111. package/dist/capabilities/notifier.cap.d.ts +8 -8
  112. package/dist/capabilities/numeric-sensor.cap.d.ts +5 -5
  113. package/dist/capabilities/oauth-integration.cap.d.ts +11 -11
  114. package/dist/capabilities/osd-manager.cap.d.ts +261 -261
  115. package/dist/capabilities/osd.cap.d.ts +59 -59
  116. package/dist/capabilities/pet-feeder.cap.d.ts +9 -9
  117. package/dist/capabilities/pipeline-analytics.cap.d.ts +956 -956
  118. package/dist/capabilities/pipeline-executor.cap.d.ts +140 -140
  119. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +285 -267
  120. package/dist/capabilities/pipeline-runner.cap.d.ts +58 -58
  121. package/dist/capabilities/plate-gallery.cap.d.ts +3 -3
  122. package/dist/capabilities/platform-probe.cap.d.ts +78 -66
  123. package/dist/capabilities/power-meter.cap.d.ts +5 -5
  124. package/dist/capabilities/presence.cap.d.ts +5 -5
  125. package/dist/capabilities/pressure-sensor.cap.d.ts +5 -5
  126. package/dist/capabilities/privacy-mask.cap.d.ts +13 -13
  127. package/dist/capabilities/ptz-autotrack.cap.d.ts +10 -10
  128. package/dist/capabilities/ptz.cap.d.ts +29 -29
  129. package/dist/capabilities/reboot.cap.d.ts +3 -3
  130. package/dist/capabilities/recording-archive.cap.d.ts +59 -59
  131. package/dist/capabilities/recording-export.cap.d.ts +37 -37
  132. package/dist/capabilities/recording-onboard.cap.d.ts +73 -73
  133. package/dist/capabilities/recording-signal.cap.d.ts +6 -6
  134. package/dist/capabilities/recording.cap.d.ts +21 -21
  135. package/dist/capabilities/scene-monitor.cap.d.ts +81 -81
  136. package/dist/capabilities/schemas/detection-shared.d.ts +7 -7
  137. package/dist/capabilities/schemas/orchestrator-metrics.d.ts +4 -4
  138. package/dist/capabilities/schemas/streaming-shared.d.ts +31 -31
  139. package/dist/capabilities/schemas/zone-rule.d.ts +3 -3
  140. package/dist/capabilities/script-runner.cap.d.ts +5 -5
  141. package/dist/capabilities/server-management.cap.d.ts +70 -70
  142. package/dist/capabilities/settings-store.cap.d.ts +11 -11
  143. package/dist/capabilities/smoke.cap.d.ts +5 -5
  144. package/dist/capabilities/smtp-provider.cap.d.ts +4 -4
  145. package/dist/capabilities/snapshot.cap.d.ts +9 -9
  146. package/dist/capabilities/sso-bridge.cap.d.ts +15 -15
  147. package/dist/capabilities/storage-evictable.cap.d.ts +3 -3
  148. package/dist/capabilities/storage-migration.cap.d.ts +53 -53
  149. package/dist/capabilities/storage-occupancy.cap.d.ts +3 -3
  150. package/dist/capabilities/storage-provider.cap.d.ts +25 -25
  151. package/dist/capabilities/storage.cap.d.ts +18 -18
  152. package/dist/capabilities/stream-broker.cap.d.ts +184 -184
  153. package/dist/capabilities/stream-catalog.cap.d.ts +24 -24
  154. package/dist/capabilities/stream-params.cap.d.ts +36 -36
  155. package/dist/capabilities/stream-signals.cap.d.ts +4 -4
  156. package/dist/capabilities/switch.cap.d.ts +11 -11
  157. package/dist/capabilities/system.cap.d.ts +66 -66
  158. package/dist/capabilities/tamper.cap.d.ts +5 -5
  159. package/dist/capabilities/temperature-sensor.cap.d.ts +5 -5
  160. package/dist/capabilities/terminal-session.cap.d.ts +3 -3
  161. package/dist/capabilities/toast.cap.d.ts +6 -6
  162. package/dist/capabilities/training-provider.cap.d.ts +35 -35
  163. package/dist/capabilities/training.cap.d.ts +278 -278
  164. package/dist/capabilities/turn-provider.cap.d.ts +3 -3
  165. package/dist/capabilities/update.cap.d.ts +5 -5
  166. package/dist/capabilities/user-management.cap.d.ts +83 -83
  167. package/dist/capabilities/user-passkeys.cap.d.ts +3 -3
  168. package/dist/capabilities/vacuum-control.cap.d.ts +17 -17
  169. package/dist/capabilities/valve.cap.d.ts +17 -17
  170. package/dist/capabilities/vector-store.cap.d.ts +3 -3
  171. package/dist/capabilities/vibration.cap.d.ts +5 -5
  172. package/dist/capabilities/videoclips.cap.d.ts +53 -53
  173. package/dist/capabilities/viewer-ui.cap.d.ts +3 -3
  174. package/dist/capabilities/water-heater.cap.d.ts +5 -5
  175. package/dist/capabilities/weather.cap.d.ts +5 -5
  176. package/dist/capabilities/webrtc-session.cap.d.ts +60 -60
  177. package/dist/capabilities/zone-analytics.cap.d.ts +18 -18
  178. package/dist/capabilities/zone-rules.cap.d.ts +15 -15
  179. package/dist/capabilities/zones.cap.d.ts +4 -4
  180. package/dist/catalogs/event-taxonomy.d.ts +9 -9
  181. package/dist/catalogs/root-model-supply.d.ts +3 -3
  182. package/dist/composition/composable-caps.d.ts +6 -6
  183. package/dist/composition/composition-report.d.ts +75 -75
  184. package/dist/deps/ffmpeg-artifacts.d.ts +2 -2
  185. package/dist/device/location-icon.d.ts +25 -25
  186. package/dist/device/site-zone.d.ts +12 -12
  187. package/dist/encode-profile.d.ts +22 -22
  188. package/dist/generated/addon-api.d.ts +176 -176
  189. package/dist/generated/capability-router-map.d.ts +171 -171
  190. package/dist/generated/extension-slots.d.ts +1 -1
  191. package/dist/health/wiring-health.d.ts +8 -8
  192. package/dist/i18n/event-kind-labels.d.ts +1 -1
  193. package/dist/i18n/state-labels.d.ts +1 -1
  194. package/dist/index.js +111 -2
  195. package/dist/index.mjs +111 -2
  196. package/dist/interfaces/addon-data-plane.d.ts +1 -1
  197. package/dist/interfaces/adoption-job.d.ts +10 -10
  198. package/dist/interfaces/birth-decision-ledger.d.ts +3 -3
  199. package/dist/interfaces/camera-switches.d.ts +21 -21
  200. package/dist/interfaces/ops-log.d.ts +14 -14
  201. package/dist/interfaces/platform.d.ts +6 -1
  202. package/dist/interfaces/recording-config.d.ts +14 -14
  203. package/dist/interfaces/relocate.d.ts +88 -88
  204. package/dist/interfaces/server-analysis.d.ts +2 -2
  205. package/dist/interfaces/storage-location-declaration.d.ts +4 -4
  206. package/dist/interfaces/storage-location-mode.d.ts +4 -4
  207. package/dist/interfaces/storage-location.d.ts +2 -2
  208. package/dist/interfaces/track-relations.d.ts +14 -14
  209. package/dist/lifecycle/job.d.ts +43 -43
  210. package/dist/logging/log-channel.d.ts +2 -2
  211. package/dist/media/media-owner-key.d.ts +2 -2
  212. package/dist/notification/alarm-membership.d.ts +2 -2
  213. package/dist/notification/alarm-profiles.d.ts +1 -1
  214. package/dist/notification/condition-taxonomy.d.ts +1 -1
  215. package/dist/notification/scope-picker-items.d.ts +1 -1
  216. package/dist/notification/system-event-families.d.ts +1 -1
  217. package/dist/notification/timelapse-rule.d.ts +4 -4
  218. package/dist/pipeline/auto-tune/plan-schemas.d.ts +100 -78
  219. package/dist/pipeline/camera-sensors.d.ts +39 -39
  220. package/dist/pipeline/cluster-model-scope.d.ts +11 -1
  221. package/dist/pipeline/load-balancing/schemas.d.ts +13 -13
  222. package/dist/pipeline/native-lease.d.ts +4 -4
  223. package/dist/pipeline/node-benchmark/schemas.d.ts +82 -82
  224. package/dist/pipeline/provider-motion.d.ts +2 -2
  225. package/dist/schemas/auth-records.d.ts +14 -14
  226. package/dist/training/trainer-contract.d.ts +19 -19
  227. package/dist/types/clip-model.d.ts +2 -2
  228. package/dist/types/labels.d.ts +4 -4
  229. package/dist/types/models.d.ts +42 -42
  230. package/dist/units/unit-table.d.ts +45 -45
  231. package/package.json +9 -2
package/dist/index.js CHANGED
@@ -28367,11 +28367,14 @@ var HardwareClassIdSchema = zod.z.enum([
28367
28367
  "intel-n-series",
28368
28368
  "apple-m-base",
28369
28369
  "apple-m-pro",
28370
+ "amd-phoenix",
28370
28371
  "unknown"
28371
28372
  ]);
28372
28373
  var AcceleratorKindSchema = zod.z.enum([
28373
28374
  "intel-npu",
28374
28375
  "intel-igpu",
28376
+ "amd-igpu",
28377
+ "amd-npu",
28375
28378
  "x86-cpu",
28376
28379
  "arm-cpu",
28377
28380
  "apple-ane",
@@ -43539,7 +43542,15 @@ var GpuInfoSchema = zod.z.object({
43539
43542
  name: zod.z.string(),
43540
43543
  memoryMB: zod.z.number().optional()
43541
43544
  });
43542
- var NpuInfoSchema = zod.z.object({ type: zod.z.enum(["apple-ane", "intel-npu"]) });
43545
+ var NpuInfoSchema = zod.z.object({
43546
+ type: zod.z.enum([
43547
+ "apple-ane",
43548
+ "intel-npu",
43549
+ "amd-xdna"
43550
+ ]),
43551
+ name: zod.z.string().optional(),
43552
+ generation: zod.z.enum(["xdna1", "xdna2"]).optional()
43553
+ });
43543
43554
  var CoralInfoSchema = zod.z.object({
43544
43555
  type: zod.z.literal("coral-edgetpu"),
43545
43556
  bus: zod.z.string().optional()
@@ -75339,6 +75350,8 @@ function fieldsPinnedAtValueBelow(layer, below, boundKeys) {
75339
75350
  var APPLE_CHIP = /^Apple M(\d+)(?:\s+(Pro|Max|Ultra))?\b/i;
75340
75351
  var INTEL_CORE_ULTRA = /Core\(TM\)\s+Ultra|Core Ultra/i;
75341
75352
  var INTEL_N_SERIES = /Intel\(R\)\s+N\d{2,3}\b|\bIntel\s+N\d{2,3}\b/i;
75353
+ /** Phoenix / Hawk Point mobile (7040/8040) and Ryzen 8000G desktop APUs. */
75354
+ var AMD_PHOENIX = /Ryzen \d+ (7[0-9]40|8[0-9]40|8[0-9]45)[HSU]|Ryzen \d+ 8[0-9]00G/i;
75342
75355
  function parseAppleChip(cpuModel) {
75343
75356
  const match = APPLE_CHIP.exec(cpuModel.trim());
75344
75357
  if (match === null) return null;
@@ -75371,6 +75384,10 @@ function classifyInferenceHardware(hw) {
75371
75384
  hardwareClass: "intel-n-series",
75372
75385
  cpuModel
75373
75386
  };
75387
+ if (AMD_PHOENIX.test(cpuModel)) return {
75388
+ hardwareClass: "amd-phoenix",
75389
+ cpuModel
75390
+ };
75374
75391
  return {
75375
75392
  hardwareClass: "unknown",
75376
75393
  cpuModel
@@ -75387,6 +75404,8 @@ function acceleratorKindOf(deviceKey, hw) {
75387
75404
  if (backend === "coreml") return device === "cpu" ? "arm-cpu" : "apple-ane";
75388
75405
  if (backend === "openvino" && device === "npu") return "intel-npu";
75389
75406
  if (backend === "openvino" && device === "gpu") return "intel-igpu";
75407
+ if (backend === "onnx" && device === "webgpu") return "amd-igpu";
75408
+ if (backend === "vitisai" && device === "npu") return "amd-npu";
75390
75409
  if (backend === "cpu" || device === "cpu") return hw.arch === "arm64" ? "arm-cpu" : "x86-cpu";
75391
75410
  return null;
75392
75411
  }
@@ -75707,6 +75726,68 @@ var DETECTOR_PERF = {
75707
75726
  }
75708
75727
  }
75709
75728
  },
75729
+ "amd-phoenix": { "x86-cpu": {
75730
+ "yolov9t-320": {
75731
+ p50Ms: 6.9,
75732
+ fps: 145,
75733
+ measured: false
75734
+ },
75735
+ "yolov9t-320-int8": {
75736
+ p50Ms: 2.7,
75737
+ fps: 405,
75738
+ measured: false
75739
+ },
75740
+ "yolov9t-640": {
75741
+ p50Ms: 23,
75742
+ fps: 44,
75743
+ measured: false
75744
+ },
75745
+ "yolov9t-640-int8": {
75746
+ p50Ms: 8.8,
75747
+ fps: 124,
75748
+ measured: false
75749
+ },
75750
+ "yolov9s-320": {
75751
+ p50Ms: 15.8,
75752
+ fps: 63,
75753
+ measured: false
75754
+ },
75755
+ "yolov9s-320-int8": {
75756
+ p50Ms: 6.5,
75757
+ fps: 180,
75758
+ measured: false
75759
+ },
75760
+ "yolov9s-640": {
75761
+ p50Ms: 58.2,
75762
+ fps: 17,
75763
+ measured: false
75764
+ },
75765
+ "yolov9s-640-int8": {
75766
+ p50Ms: 20.1,
75767
+ fps: 52,
75768
+ measured: false
75769
+ },
75770
+ "yolov9m-320": {
75771
+ p50Ms: 40,
75772
+ fps: 25,
75773
+ measured: false
75774
+ },
75775
+ "yolov9m-320-int8": {
75776
+ p50Ms: 14.2,
75777
+ fps: 74,
75778
+ measured: false
75779
+ },
75780
+ "yolov9m-640": {
75781
+ p50Ms: 155.8,
75782
+ fps: 6,
75783
+ measured: false
75784
+ },
75785
+ "yolov9m-640-int8": {
75786
+ p50Ms: 52.4,
75787
+ fps: 19,
75788
+ measured: false
75789
+ }
75790
+ } },
75710
75791
  "apple-m-pro": { "apple-ane": {
75711
75792
  "yolov9t-320": {
75712
75793
  p50Ms: 1.1,
@@ -78543,6 +78624,10 @@ var RUNTIMES = [
78543
78624
  value: "cuda",
78544
78625
  label: "CUDA"
78545
78626
  });
78627
+ if (hw.gpu?.type === "amd") out.push({
78628
+ value: "webgpu",
78629
+ label: "WebGPU (AMD iGPU)"
78630
+ });
78546
78631
  if (hw.npu?.type === "apple-ane") out.push({
78547
78632
  value: "coreml",
78548
78633
  label: "CoreML EP"
@@ -78553,9 +78638,10 @@ var RUNTIMES = [
78553
78638
  },
78554
78639
  {
78555
78640
  id: "openvino",
78556
- supports: (hw) => hw?.arch === "x64" && hw.platform !== "darwin" && hw.gpu?.type === "intel",
78641
+ supports: (hw) => hw?.arch === "x64" && hw.platform !== "darwin" && (hw.gpu?.type === "intel" || hw.gpu?.type === "amd"),
78557
78642
  devices: (hw) => {
78558
78643
  if (!hw) return [AUTO];
78644
+ if (hw.gpu?.type === "amd") return [CPU];
78559
78645
  const out = [AUTO, CPU];
78560
78646
  if (hw.gpu?.type === "intel") out.push({
78561
78647
  value: "gpu",
@@ -78674,6 +78760,24 @@ function scoreRuntimes(hw) {
78674
78760
  available: true
78675
78761
  });
78676
78762
  }
78763
+ if (hw.gpu?.type === "amd") {
78764
+ scores.push({
78765
+ runtime: "python",
78766
+ backend: "onnx",
78767
+ format: "onnx",
78768
+ score: 75,
78769
+ reason: "ONNX WebGPU (AMD iGPU)",
78770
+ available: true
78771
+ });
78772
+ scores.push({
78773
+ runtime: "python",
78774
+ backend: "openvino",
78775
+ format: "openvino",
78776
+ score: 65,
78777
+ reason: "OpenVINO CPU (AMD x64)",
78778
+ available: true
78779
+ });
78780
+ }
78677
78781
  if (hw.coral != null) scores.push({
78678
78782
  runtime: "python",
78679
78783
  backend: "edgetpu",
@@ -78729,6 +78833,7 @@ function enumerateInferenceDevices(hw) {
78729
78833
  if (s.backend === "openvino") {
78730
78834
  if (hw.npu?.type === "intel-npu") out.push(device("openvino", "npu", s.format, s.score + 2));
78731
78835
  if (hw.gpu?.type === "intel") out.push(device("openvino", "gpu", s.format, s.score));
78836
+ if (hw.gpu?.type === "amd") out.push(device("openvino", "cpu", s.format, s.score));
78732
78837
  continue;
78733
78838
  }
78734
78839
  if (s.backend === "edgetpu") {
@@ -78739,6 +78844,10 @@ function enumerateInferenceDevices(hw) {
78739
78844
  }
78740
78845
  continue;
78741
78846
  }
78847
+ if (s.backend === "onnx" && s.reason.startsWith("ONNX WebGPU")) {
78848
+ out.push(device("onnx", "webgpu", s.format, s.score));
78849
+ continue;
78850
+ }
78742
78851
  const dev = DEVICE_FOR_BACKEND[s.backend] ?? s.backend;
78743
78852
  out.push(device(s.backend, dev, s.format, s.score));
78744
78853
  }
package/dist/index.mjs CHANGED
@@ -28366,11 +28366,14 @@ var HardwareClassIdSchema = z.enum([
28366
28366
  "intel-n-series",
28367
28367
  "apple-m-base",
28368
28368
  "apple-m-pro",
28369
+ "amd-phoenix",
28369
28370
  "unknown"
28370
28371
  ]);
28371
28372
  var AcceleratorKindSchema = z.enum([
28372
28373
  "intel-npu",
28373
28374
  "intel-igpu",
28375
+ "amd-igpu",
28376
+ "amd-npu",
28374
28377
  "x86-cpu",
28375
28378
  "arm-cpu",
28376
28379
  "apple-ane",
@@ -43538,7 +43541,15 @@ var GpuInfoSchema = z.object({
43538
43541
  name: z.string(),
43539
43542
  memoryMB: z.number().optional()
43540
43543
  });
43541
- var NpuInfoSchema = z.object({ type: z.enum(["apple-ane", "intel-npu"]) });
43544
+ var NpuInfoSchema = z.object({
43545
+ type: z.enum([
43546
+ "apple-ane",
43547
+ "intel-npu",
43548
+ "amd-xdna"
43549
+ ]),
43550
+ name: z.string().optional(),
43551
+ generation: z.enum(["xdna1", "xdna2"]).optional()
43552
+ });
43542
43553
  var CoralInfoSchema = z.object({
43543
43554
  type: z.literal("coral-edgetpu"),
43544
43555
  bus: z.string().optional()
@@ -75338,6 +75349,8 @@ function fieldsPinnedAtValueBelow(layer, below, boundKeys) {
75338
75349
  var APPLE_CHIP = /^Apple M(\d+)(?:\s+(Pro|Max|Ultra))?\b/i;
75339
75350
  var INTEL_CORE_ULTRA = /Core\(TM\)\s+Ultra|Core Ultra/i;
75340
75351
  var INTEL_N_SERIES = /Intel\(R\)\s+N\d{2,3}\b|\bIntel\s+N\d{2,3}\b/i;
75352
+ /** Phoenix / Hawk Point mobile (7040/8040) and Ryzen 8000G desktop APUs. */
75353
+ var AMD_PHOENIX = /Ryzen \d+ (7[0-9]40|8[0-9]40|8[0-9]45)[HSU]|Ryzen \d+ 8[0-9]00G/i;
75341
75354
  function parseAppleChip(cpuModel) {
75342
75355
  const match = APPLE_CHIP.exec(cpuModel.trim());
75343
75356
  if (match === null) return null;
@@ -75370,6 +75383,10 @@ function classifyInferenceHardware(hw) {
75370
75383
  hardwareClass: "intel-n-series",
75371
75384
  cpuModel
75372
75385
  };
75386
+ if (AMD_PHOENIX.test(cpuModel)) return {
75387
+ hardwareClass: "amd-phoenix",
75388
+ cpuModel
75389
+ };
75373
75390
  return {
75374
75391
  hardwareClass: "unknown",
75375
75392
  cpuModel
@@ -75386,6 +75403,8 @@ function acceleratorKindOf(deviceKey, hw) {
75386
75403
  if (backend === "coreml") return device === "cpu" ? "arm-cpu" : "apple-ane";
75387
75404
  if (backend === "openvino" && device === "npu") return "intel-npu";
75388
75405
  if (backend === "openvino" && device === "gpu") return "intel-igpu";
75406
+ if (backend === "onnx" && device === "webgpu") return "amd-igpu";
75407
+ if (backend === "vitisai" && device === "npu") return "amd-npu";
75389
75408
  if (backend === "cpu" || device === "cpu") return hw.arch === "arm64" ? "arm-cpu" : "x86-cpu";
75390
75409
  return null;
75391
75410
  }
@@ -75706,6 +75725,68 @@ var DETECTOR_PERF = {
75706
75725
  }
75707
75726
  }
75708
75727
  },
75728
+ "amd-phoenix": { "x86-cpu": {
75729
+ "yolov9t-320": {
75730
+ p50Ms: 6.9,
75731
+ fps: 145,
75732
+ measured: false
75733
+ },
75734
+ "yolov9t-320-int8": {
75735
+ p50Ms: 2.7,
75736
+ fps: 405,
75737
+ measured: false
75738
+ },
75739
+ "yolov9t-640": {
75740
+ p50Ms: 23,
75741
+ fps: 44,
75742
+ measured: false
75743
+ },
75744
+ "yolov9t-640-int8": {
75745
+ p50Ms: 8.8,
75746
+ fps: 124,
75747
+ measured: false
75748
+ },
75749
+ "yolov9s-320": {
75750
+ p50Ms: 15.8,
75751
+ fps: 63,
75752
+ measured: false
75753
+ },
75754
+ "yolov9s-320-int8": {
75755
+ p50Ms: 6.5,
75756
+ fps: 180,
75757
+ measured: false
75758
+ },
75759
+ "yolov9s-640": {
75760
+ p50Ms: 58.2,
75761
+ fps: 17,
75762
+ measured: false
75763
+ },
75764
+ "yolov9s-640-int8": {
75765
+ p50Ms: 20.1,
75766
+ fps: 52,
75767
+ measured: false
75768
+ },
75769
+ "yolov9m-320": {
75770
+ p50Ms: 40,
75771
+ fps: 25,
75772
+ measured: false
75773
+ },
75774
+ "yolov9m-320-int8": {
75775
+ p50Ms: 14.2,
75776
+ fps: 74,
75777
+ measured: false
75778
+ },
75779
+ "yolov9m-640": {
75780
+ p50Ms: 155.8,
75781
+ fps: 6,
75782
+ measured: false
75783
+ },
75784
+ "yolov9m-640-int8": {
75785
+ p50Ms: 52.4,
75786
+ fps: 19,
75787
+ measured: false
75788
+ }
75789
+ } },
75709
75790
  "apple-m-pro": { "apple-ane": {
75710
75791
  "yolov9t-320": {
75711
75792
  p50Ms: 1.1,
@@ -78542,6 +78623,10 @@ var RUNTIMES = [
78542
78623
  value: "cuda",
78543
78624
  label: "CUDA"
78544
78625
  });
78626
+ if (hw.gpu?.type === "amd") out.push({
78627
+ value: "webgpu",
78628
+ label: "WebGPU (AMD iGPU)"
78629
+ });
78545
78630
  if (hw.npu?.type === "apple-ane") out.push({
78546
78631
  value: "coreml",
78547
78632
  label: "CoreML EP"
@@ -78552,9 +78637,10 @@ var RUNTIMES = [
78552
78637
  },
78553
78638
  {
78554
78639
  id: "openvino",
78555
- supports: (hw) => hw?.arch === "x64" && hw.platform !== "darwin" && hw.gpu?.type === "intel",
78640
+ supports: (hw) => hw?.arch === "x64" && hw.platform !== "darwin" && (hw.gpu?.type === "intel" || hw.gpu?.type === "amd"),
78556
78641
  devices: (hw) => {
78557
78642
  if (!hw) return [AUTO];
78643
+ if (hw.gpu?.type === "amd") return [CPU];
78558
78644
  const out = [AUTO, CPU];
78559
78645
  if (hw.gpu?.type === "intel") out.push({
78560
78646
  value: "gpu",
@@ -78673,6 +78759,24 @@ function scoreRuntimes(hw) {
78673
78759
  available: true
78674
78760
  });
78675
78761
  }
78762
+ if (hw.gpu?.type === "amd") {
78763
+ scores.push({
78764
+ runtime: "python",
78765
+ backend: "onnx",
78766
+ format: "onnx",
78767
+ score: 75,
78768
+ reason: "ONNX WebGPU (AMD iGPU)",
78769
+ available: true
78770
+ });
78771
+ scores.push({
78772
+ runtime: "python",
78773
+ backend: "openvino",
78774
+ format: "openvino",
78775
+ score: 65,
78776
+ reason: "OpenVINO CPU (AMD x64)",
78777
+ available: true
78778
+ });
78779
+ }
78676
78780
  if (hw.coral != null) scores.push({
78677
78781
  runtime: "python",
78678
78782
  backend: "edgetpu",
@@ -78728,6 +78832,7 @@ function enumerateInferenceDevices(hw) {
78728
78832
  if (s.backend === "openvino") {
78729
78833
  if (hw.npu?.type === "intel-npu") out.push(device("openvino", "npu", s.format, s.score + 2));
78730
78834
  if (hw.gpu?.type === "intel") out.push(device("openvino", "gpu", s.format, s.score));
78835
+ if (hw.gpu?.type === "amd") out.push(device("openvino", "cpu", s.format, s.score));
78731
78836
  continue;
78732
78837
  }
78733
78838
  if (s.backend === "edgetpu") {
@@ -78738,6 +78843,10 @@ function enumerateInferenceDevices(hw) {
78738
78843
  }
78739
78844
  continue;
78740
78845
  }
78846
+ if (s.backend === "onnx" && s.reason.startsWith("ONNX WebGPU")) {
78847
+ out.push(device("onnx", "webgpu", s.format, s.score));
78848
+ continue;
78849
+ }
78741
78850
  const dev = DEVICE_FOR_BACKEND[s.backend] ?? s.backend;
78742
78851
  out.push(device(s.backend, dev, s.format, s.score));
78743
78852
  }
@@ -44,7 +44,7 @@ export type DataPlaneHandler = (req: IncomingMessage, res: ServerResponse) => vo
44
44
  * and validates them (`share-token.service.ts` builds its enum from this
45
45
  * list); a data plane names the kinds it ACCEPTS in `share`.
46
46
  */
47
- export declare const SHARE_VIEW_KINDS: readonly ["grid-view", "events-view"];
47
+ export declare const SHARE_VIEW_KINDS: readonly ['grid-view', 'events-view'];
48
48
  export type ShareViewKind = (typeof SHARE_VIEW_KINDS)[number];
49
49
  export interface AddonDataPlaneServeOptions {
50
50
  /** URL namespace under `/addon/<addonId>/`, e.g. `'playback'`. A request's
@@ -40,10 +40,10 @@ import { z } from 'zod';
40
40
  * never a duplicate device, and never an error the operator has to interpret.
41
41
  */
42
42
  export declare const AdoptionJobStateSchema: z.ZodEnum<{
43
- running: "running";
43
+ cancelled: "cancelled";
44
44
  done: "done";
45
45
  failed: "failed";
46
- cancelled: "cancelled";
46
+ running: "running";
47
47
  }>;
48
48
  export type AdoptionJobState = z.infer<typeof AdoptionJobStateSchema>;
49
49
  /**
@@ -58,19 +58,19 @@ export type AdoptionJobState = z.infer<typeof AdoptionJobStateSchema>;
58
58
  * - `cancelled` — the operator cancelled before this candidate was reached.
59
59
  */
60
60
  export declare const AdoptionOutcomeSchema: z.ZodEnum<{
61
- failed: "failed";
62
- cancelled: "cancelled";
63
61
  adopted: "adopted";
64
62
  "already-adopted": "already-adopted";
63
+ cancelled: "cancelled";
64
+ failed: "failed";
65
65
  }>;
66
66
  export type AdoptionOutcome = z.infer<typeof AdoptionOutcomeSchema>;
67
67
  export declare const AdoptionCandidateResultSchema: z.ZodObject<{
68
68
  childNativeId: z.ZodString;
69
69
  outcome: z.ZodEnum<{
70
- failed: "failed";
71
- cancelled: "cancelled";
72
70
  adopted: "adopted";
73
71
  "already-adopted": "already-adopted";
72
+ cancelled: "cancelled";
73
+ failed: "failed";
74
74
  }>;
75
75
  parentDeviceId: z.ZodNullable<z.ZodNumber>;
76
76
  accessoryCount: z.ZodNumber;
@@ -82,10 +82,10 @@ export declare const AdoptionJobSchema: z.ZodObject<{
82
82
  addonId: z.ZodString;
83
83
  integrationId: z.ZodString;
84
84
  state: z.ZodEnum<{
85
- running: "running";
85
+ cancelled: "cancelled";
86
86
  done: "done";
87
87
  failed: "failed";
88
- cancelled: "cancelled";
88
+ running: "running";
89
89
  }>;
90
90
  total: z.ZodNumber;
91
91
  processed: z.ZodNumber;
@@ -97,10 +97,10 @@ export declare const AdoptionJobSchema: z.ZodObject<{
97
97
  results: z.ZodReadonly<z.ZodArray<z.ZodObject<{
98
98
  childNativeId: z.ZodString;
99
99
  outcome: z.ZodEnum<{
100
- failed: "failed";
101
- cancelled: "cancelled";
102
100
  adopted: "adopted";
103
101
  "already-adopted": "already-adopted";
102
+ cancelled: "cancelled";
103
+ failed: "failed";
104
104
  }>;
105
105
  parentDeviceId: z.ZodNullable<z.ZodNumber>;
106
106
  accessoryCount: z.ZodNumber;
@@ -80,8 +80,8 @@ export declare const MAX_BIRTH_LATENCY_PROXY_MS = 60000;
80
80
  */
81
81
  export declare const BirthDecisionVerdictSchema: z.ZodEnum<{
82
82
  confirmed: "confirmed";
83
- suppressed: "suppressed";
84
83
  "exhausted-fallback": "exhausted-fallback";
84
+ suppressed: "suppressed";
85
85
  }>;
86
86
  export type BirthDecisionVerdict = z.infer<typeof BirthDecisionVerdictSchema>;
87
87
  /** One birth decision, as it is kept. */
@@ -93,8 +93,8 @@ export declare const BirthDecisionRecordSchema: z.ZodObject<{
93
93
  className: z.ZodString;
94
94
  verdict: z.ZodEnum<{
95
95
  confirmed: "confirmed";
96
- suppressed: "suppressed";
97
96
  "exhausted-fallback": "exhausted-fallback";
97
+ suppressed: "suppressed";
98
98
  }>;
99
99
  reason: z.ZodNullable<z.ZodString>;
100
100
  attempts: z.ZodNumber;
@@ -116,8 +116,8 @@ export declare const BirthDecisionQueryInputSchema: z.ZodObject<{
116
116
  since: z.ZodOptional<z.ZodNumber>;
117
117
  verdict: z.ZodOptional<z.ZodEnum<{
118
118
  confirmed: "confirmed";
119
- suppressed: "suppressed";
120
119
  "exhausted-fallback": "exhausted-fallback";
120
+ suppressed: "suppressed";
121
121
  }>>;
122
122
  limit: z.ZodOptional<z.ZodNumber>;
123
123
  }, z.core.$strip>;
@@ -112,15 +112,15 @@ import { z } from 'zod';
112
112
  * editor, not in a safety group.
113
113
  */
114
114
  export declare const CameraSwitchIdSchema: z.ZodEnum<{
115
- "privacy-mask": "privacy-mask";
116
- recording: "recording";
117
115
  "audio-analysis": "audio-analysis";
118
- "stream-broker": "stream-broker";
119
- notifications: "notifications";
120
- "object-detection": "object-detection";
121
- "device-audio": "device-audio";
122
116
  "broker-audio": "broker-audio";
117
+ "device-audio": "device-audio";
123
118
  "event-saving": "event-saving";
119
+ notifications: "notifications";
120
+ "object-detection": "object-detection";
121
+ "privacy-mask": "privacy-mask";
122
+ recording: "recording";
123
+ "stream-broker": "stream-broker";
124
124
  }>;
125
125
  export type CameraSwitchId = z.infer<typeof CameraSwitchIdSchema>;
126
126
  /**
@@ -171,9 +171,9 @@ export type CameraSwitchAuthority = z.infer<typeof CameraSwitchAuthoritySchema>;
171
171
  * not look the same.
172
172
  */
173
173
  export declare const CameraSwitchUnavailableReasonSchema: z.ZodEnum<{
174
+ "device-disabled": "device-disabled";
174
175
  "no-provider": "no-provider";
175
176
  "source-unreachable": "source-unreachable";
176
- "device-disabled": "device-disabled";
177
177
  }>;
178
178
  export type CameraSwitchUnavailableReason = z.infer<typeof CameraSwitchUnavailableReasonSchema>;
179
179
  /**
@@ -200,23 +200,23 @@ export type CameraSwitchWarning = z.infer<typeof CameraSwitchWarningSchema>;
200
200
  */
201
201
  export declare const CameraSwitchSchema: z.ZodObject<{
202
202
  id: z.ZodEnum<{
203
- "privacy-mask": "privacy-mask";
204
- recording: "recording";
205
203
  "audio-analysis": "audio-analysis";
206
- "stream-broker": "stream-broker";
207
- notifications: "notifications";
208
- "object-detection": "object-detection";
209
- "device-audio": "device-audio";
210
204
  "broker-audio": "broker-audio";
205
+ "device-audio": "device-audio";
211
206
  "event-saving": "event-saving";
207
+ notifications: "notifications";
208
+ "object-detection": "object-detection";
209
+ "privacy-mask": "privacy-mask";
210
+ recording: "recording";
211
+ "stream-broker": "stream-broker";
212
212
  }>;
213
213
  label: z.ZodString;
214
214
  costWhenOff: z.ZodString;
215
215
  available: z.ZodBoolean;
216
216
  unavailableReason: z.ZodOptional<z.ZodEnum<{
217
+ "device-disabled": "device-disabled";
217
218
  "no-provider": "no-provider";
218
219
  "source-unreachable": "source-unreachable";
219
- "device-disabled": "device-disabled";
220
220
  }>>;
221
221
  warning: z.ZodOptional<z.ZodEnum<{
222
222
  "no-privacy-zones": "no-privacy-zones";
@@ -247,23 +247,23 @@ export declare const CameraSwitchGroupSchema: z.ZodObject<{
247
247
  deviceId: z.ZodNumber;
248
248
  switches: z.ZodReadonly<z.ZodArray<z.ZodObject<{
249
249
  id: z.ZodEnum<{
250
- "privacy-mask": "privacy-mask";
251
- recording: "recording";
252
250
  "audio-analysis": "audio-analysis";
253
- "stream-broker": "stream-broker";
254
- notifications: "notifications";
255
- "object-detection": "object-detection";
256
- "device-audio": "device-audio";
257
251
  "broker-audio": "broker-audio";
252
+ "device-audio": "device-audio";
258
253
  "event-saving": "event-saving";
254
+ notifications: "notifications";
255
+ "object-detection": "object-detection";
256
+ "privacy-mask": "privacy-mask";
257
+ recording: "recording";
258
+ "stream-broker": "stream-broker";
259
259
  }>;
260
260
  label: z.ZodString;
261
261
  costWhenOff: z.ZodString;
262
262
  available: z.ZodBoolean;
263
263
  unavailableReason: z.ZodOptional<z.ZodEnum<{
264
+ "device-disabled": "device-disabled";
264
265
  "no-provider": "no-provider";
265
266
  "source-unreachable": "source-unreachable";
266
- "device-disabled": "device-disabled";
267
267
  }>>;
268
268
  warning: z.ZodOptional<z.ZodEnum<{
269
269
  "no-privacy-zones": "no-privacy-zones";
@@ -12,28 +12,28 @@
12
12
  import { z } from 'zod';
13
13
  /** Which management domain the operation belongs to. */
14
14
  export declare const OpsLogDomainSchema: z.ZodEnum<{
15
- recording: "recording";
16
15
  events: "events";
16
+ recording: "recording";
17
17
  }>;
18
18
  export type OpsLogDomain = z.infer<typeof OpsLogDomainSchema>;
19
19
  /** The kind of management operation performed. */
20
20
  export declare const OpsLogOpSchema: z.ZodEnum<{
21
- prune: "prune";
22
21
  "manual-delete": "manual-delete";
22
+ "orphan-audit": "orphan-audit";
23
+ prune: "prune";
24
+ relocate: "relocate";
23
25
  rescan: "rescan";
24
26
  "retention-run": "retention-run";
25
- relocate: "relocate";
26
- "orphan-audit": "orphan-audit";
27
27
  }>;
28
28
  export type OpsLogOp = z.infer<typeof OpsLogOpSchema>;
29
29
  /** Why the operation ran. */
30
30
  export declare const OpsLogReasonSchema: z.ZodEnum<{
31
- retention: "retention";
32
- quota: "quota";
31
+ maintenance: "maintenance";
33
32
  manual: "manual";
34
33
  operator: "operator";
35
- maintenance: "maintenance";
36
34
  "orphaned-device": "orphaned-device";
35
+ quota: "quota";
36
+ retention: "retention";
37
37
  }>;
38
38
  export type OpsLogReason = z.infer<typeof OpsLogReasonSchema>;
39
39
  /** One audit row, shared verbatim by both domains. */
@@ -41,24 +41,24 @@ export declare const OpsLogEntrySchema: z.ZodObject<{
41
41
  id: z.ZodString;
42
42
  at: z.ZodNumber;
43
43
  domain: z.ZodEnum<{
44
- recording: "recording";
45
44
  events: "events";
45
+ recording: "recording";
46
46
  }>;
47
47
  op: z.ZodEnum<{
48
- prune: "prune";
49
48
  "manual-delete": "manual-delete";
49
+ "orphan-audit": "orphan-audit";
50
+ prune: "prune";
51
+ relocate: "relocate";
50
52
  rescan: "rescan";
51
53
  "retention-run": "retention-run";
52
- relocate: "relocate";
53
- "orphan-audit": "orphan-audit";
54
54
  }>;
55
55
  reason: z.ZodEnum<{
56
- retention: "retention";
57
- quota: "quota";
56
+ maintenance: "maintenance";
58
57
  manual: "manual";
59
58
  operator: "operator";
60
- maintenance: "maintenance";
61
59
  "orphaned-device": "orphaned-device";
60
+ quota: "quota";
61
+ retention: "retention";
62
62
  }>;
63
63
  deviceId: z.ZodNullable<z.ZodNumber>;
64
64
  nodeId: z.ZodString;
@@ -22,9 +22,14 @@ export interface GpuInfo {
22
22
  readonly memoryMB?: number;
23
23
  }
24
24
  export interface NpuInfo {
25
- readonly type: 'apple-ane' | 'intel-npu';
25
+ readonly type: 'apple-ane' | 'intel-npu' | 'amd-xdna';
26
26
  /** Human-readable accelerator name (e.g. `Intel AI Boost NPU`), when known. */
27
27
  readonly name?: string;
28
+ /**
29
+ * AMD XDNA generation when `type` is `amd-xdna`. Present-only until P2
30
+ * offers a device key — Phoenix/Hawk Point are xdna1, Strix is xdna2.
31
+ */
32
+ readonly generation?: 'xdna1' | 'xdna2';
28
33
  }
29
34
  /**
30
35
  * Coral USB Edge TPU (Google Coral). A discrete USB inference accelerator that