@camstack/system 1.2.391 → 1.2.393

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 (84) hide show
  1. package/dist/addon-runner.js +1 -1
  2. package/dist/addon-runner.mjs +1 -1
  3. package/dist/addon-utils.js +1 -1
  4. package/dist/addon-utils.mjs +1 -1
  5. package/dist/amd-accelerators-CEuPFBBK.js +36 -0
  6. package/dist/amd-accelerators-U_RsoEDd.mjs +35 -0
  7. package/dist/amd-npu-B-QyyMyF.js +53 -0
  8. package/dist/amd-npu-Db_SoSuL.mjs +52 -0
  9. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  10. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  11. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  12. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  13. package/dist/builtins/alerts/alerts.addon.js +1 -1
  14. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  15. package/dist/builtins/autotrack/index.js +1 -1
  16. package/dist/builtins/autotrack/index.mjs +1 -1
  17. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  18. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  19. package/dist/builtins/calendars/calendars.addon.js +1 -1
  20. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  21. package/dist/builtins/camera-grid/index.js +1 -1
  22. package/dist/builtins/camera-grid/index.mjs +1 -1
  23. package/dist/builtins/composer/composer.addon.js +2 -2
  24. package/dist/builtins/composer/composer.addon.mjs +2 -2
  25. package/dist/builtins/console-logging/index.js +1 -1
  26. package/dist/builtins/console-logging/index.mjs +1 -1
  27. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  28. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  29. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  30. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  31. package/dist/builtins/hub-forwarder/index.js +1 -1
  32. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  33. package/dist/builtins/keychain/index.js +3 -3
  34. package/dist/builtins/keychain/index.mjs +3 -3
  35. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  36. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  37. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  38. package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
  39. package/dist/builtins/local-network/local-network.addon.js +1 -1
  40. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  41. package/dist/builtins/loki-logging/index.js +1 -1
  42. package/dist/builtins/loki-logging/index.mjs +1 -1
  43. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  44. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  45. package/dist/builtins/platform-probe/amd-accelerators.d.ts +15 -0
  46. package/dist/builtins/platform-probe/amd-npu.d.ts +29 -0
  47. package/dist/builtins/platform-probe/index.js +59 -22
  48. package/dist/builtins/platform-probe/index.mjs +59 -22
  49. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  50. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  51. package/dist/builtins/snapshot/index.js +1 -1
  52. package/dist/builtins/snapshot/index.mjs +1 -1
  53. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  54. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  55. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  56. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  57. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  58. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  59. package/dist/builtins/system-config/system-config.addon.js +2 -2
  60. package/dist/builtins/system-config/system-config.addon.mjs +2 -2
  61. package/dist/builtins/winston-logging/index.js +1 -1
  62. package/dist/builtins/winston-logging/index.mjs +1 -1
  63. package/dist/{child-cap-dispatch-mHO_6r0G.mjs → child-cap-dispatch-BmNpRe0Y.mjs} +12 -7
  64. package/dist/{child-cap-dispatch-Bnr8brru.js → child-cap-dispatch-jQ61bSnU.js} +12 -7
  65. package/dist/{composition-sources-xqhm2Ygr.mjs → composition-sources-CmcKAYMz.mjs} +1 -1
  66. package/dist/{composition-sources-wdAxs-uY.js → composition-sources-YkkhpPDx.js} +1 -1
  67. package/dist/{constants-D5z4EwY8.mjs → constants-Ca1v1Sdn.mjs} +1 -1
  68. package/dist/{constants-Ca-Sgcl8.js → constants-DyC3WyXE.js} +1 -1
  69. package/dist/{dist-Biqn3TEn.mjs → dist-BIc6o_mz.mjs} +126 -2
  70. package/dist/{dist-8LQ4lDEB.js → dist-D_jdr1G9.js} +131 -1
  71. package/dist/{event-loop-stall-monitor-CNj73d4D.js → event-loop-stall-monitor-DXZb28pF.js} +1 -1
  72. package/dist/{event-loop-stall-monitor-BtK_0Pjc.mjs → event-loop-stall-monitor-r2ZBISpC.mjs} +1 -1
  73. package/dist/index.js +54 -6
  74. package/dist/index.mjs +54 -7
  75. package/dist/{jwt-signing-key-SnDgvVUQ.mjs → jwt-signing-key-BtfOMVyB.mjs} +1 -1
  76. package/dist/{jwt-signing-key-DxV2ucvJ.js → jwt-signing-key-CQHHsrOf.js} +1 -1
  77. package/dist/kernel/index.d.ts +1 -0
  78. package/dist/kernel/inference/inference-resolver.d.ts +10 -5
  79. package/dist/kernel/inference/local-python-runtimes.d.ts +2 -0
  80. package/dist/{restore-archive-Do_Yu5rC.js → restore-archive-BQSveGIo.js} +1 -1
  81. package/dist/{restore-archive-D4cmLoNe.mjs → restore-archive-CKcdqHk5.mjs} +1 -1
  82. package/dist/{retired-settings-keys-BsgVxh8-.mjs → retired-settings-keys-5x91Vz3i.mjs} +1 -1
  83. package/dist/{retired-settings-keys-Cyn3OD0K.js → retired-settings-keys-DoY1sb0U.js} +1 -1
  84. package/package.json +1 -1
@@ -28945,11 +28945,14 @@ var HardwareClassIdSchema = z.enum([
28945
28945
  "intel-n-series",
28946
28946
  "apple-m-base",
28947
28947
  "apple-m-pro",
28948
+ "amd-phoenix",
28948
28949
  "unknown"
28949
28950
  ]);
28950
28951
  var AcceleratorKindSchema = z.enum([
28951
28952
  "intel-npu",
28952
28953
  "intel-igpu",
28954
+ "amd-igpu",
28955
+ "amd-npu",
28953
28956
  "x86-cpu",
28954
28957
  "arm-cpu",
28955
28958
  "apple-ane",
@@ -43047,7 +43050,15 @@ var GpuInfoSchema = z.object({
43047
43050
  name: z.string(),
43048
43051
  memoryMB: z.number().optional()
43049
43052
  });
43050
- var NpuInfoSchema = z.object({ type: z.enum(["apple-ane", "intel-npu"]) });
43053
+ var NpuInfoSchema = z.object({
43054
+ type: z.enum([
43055
+ "apple-ane",
43056
+ "intel-npu",
43057
+ "amd-xdna"
43058
+ ]),
43059
+ name: z.string().optional(),
43060
+ generation: z.enum(["xdna1", "xdna2"]).optional()
43061
+ });
43051
43062
  var CoralInfoSchema = z.object({
43052
43063
  type: z.literal("coral-edgetpu"),
43053
43064
  bus: z.string().optional()
@@ -64577,6 +64588,96 @@ function decodeVectorBase64(encoded) {
64577
64588
  function vectorDimFromBase64(encoded) {
64578
64589
  return Math.floor(Buffer.from(encoded, "base64").byteLength / 4);
64579
64590
  }
64591
+ var AUTO = {
64592
+ value: "auto",
64593
+ label: "Auto"
64594
+ };
64595
+ var CPU = {
64596
+ value: "cpu",
64597
+ label: "CPU"
64598
+ };
64599
+ var USB = {
64600
+ value: "usb",
64601
+ label: "Coral USB"
64602
+ };
64603
+ var RUNTIMES = [
64604
+ {
64605
+ id: "onnx",
64606
+ supports: () => true,
64607
+ devices: (hw) => {
64608
+ if (!hw) return [CPU];
64609
+ const out = [CPU];
64610
+ if (hw.gpu?.type === "nvidia") out.push({
64611
+ value: "cuda",
64612
+ label: "CUDA"
64613
+ });
64614
+ if (hw.gpu?.type === "amd") out.push({
64615
+ value: "webgpu",
64616
+ label: "WebGPU (AMD iGPU)"
64617
+ });
64618
+ if (hw.npu?.type === "apple-ane") out.push({
64619
+ value: "coreml",
64620
+ label: "CoreML EP"
64621
+ });
64622
+ return out;
64623
+ },
64624
+ defaultDevice: "cpu"
64625
+ },
64626
+ {
64627
+ id: "openvino",
64628
+ supports: (hw) => hw?.arch === "x64" && hw.platform !== "darwin" && (hw.gpu?.type === "intel" || hw.gpu?.type === "amd"),
64629
+ devices: (hw) => {
64630
+ if (!hw) return [AUTO];
64631
+ if (hw.gpu?.type === "amd") return [CPU];
64632
+ const out = [AUTO, CPU];
64633
+ if (hw.gpu?.type === "intel") out.push({
64634
+ value: "gpu",
64635
+ label: "GPU"
64636
+ });
64637
+ if (hw.npu?.type === "intel-npu") out.push({
64638
+ value: "npu",
64639
+ label: "NPU"
64640
+ });
64641
+ return out;
64642
+ },
64643
+ defaultDevice: "auto"
64644
+ },
64645
+ {
64646
+ id: "coreml",
64647
+ supports: (hw) => hw?.platform === "darwin",
64648
+ devices: (hw) => {
64649
+ const all = {
64650
+ value: "all",
64651
+ label: "All (ANE + GPU + CPU)"
64652
+ };
64653
+ if (!hw) return [all];
64654
+ const out = [all];
64655
+ if (hw.npu?.type === "apple-ane") out.push({
64656
+ value: "ane",
64657
+ label: "Apple Neural Engine"
64658
+ });
64659
+ out.push({
64660
+ value: "gpu",
64661
+ label: "GPU"
64662
+ }, CPU);
64663
+ return out;
64664
+ },
64665
+ defaultDevice: "all"
64666
+ },
64667
+ {
64668
+ id: "edgetpu",
64669
+ supports: (hw) => hw?.coral != null,
64670
+ devices: () => [USB],
64671
+ defaultDevice: "usb"
64672
+ }
64673
+ ];
64674
+ /**
64675
+ * Returns the list of supported runtime IDs for given hardware.
64676
+ * onnx is always included (universal floor); accelerators added when hw matches.
64677
+ */
64678
+ function supportedRuntimes(hw) {
64679
+ return RUNTIMES.filter((r) => r.supports(hw)).map((r) => r.id);
64680
+ }
64580
64681
  /**
64581
64682
  * Scores all applicable inference backends for the given hardware.
64582
64683
  *
@@ -64620,6 +64721,24 @@ function scoreRuntimes(hw) {
64620
64721
  available: true
64621
64722
  });
64622
64723
  }
64724
+ if (hw.gpu?.type === "amd") {
64725
+ scores.push({
64726
+ runtime: "python",
64727
+ backend: "onnx",
64728
+ format: "onnx",
64729
+ score: 75,
64730
+ reason: "ONNX WebGPU (AMD iGPU)",
64731
+ available: true
64732
+ });
64733
+ scores.push({
64734
+ runtime: "python",
64735
+ backend: "openvino",
64736
+ format: "openvino",
64737
+ score: 65,
64738
+ reason: "OpenVINO CPU (AMD x64)",
64739
+ available: true
64740
+ });
64741
+ }
64623
64742
  if (hw.coral != null) scores.push({
64624
64743
  runtime: "python",
64625
64744
  backend: "edgetpu",
@@ -64675,6 +64794,7 @@ function enumerateInferenceDevices(hw) {
64675
64794
  if (s.backend === "openvino") {
64676
64795
  if (hw.npu?.type === "intel-npu") out.push(device("openvino", "npu", s.format, s.score + 2));
64677
64796
  if (hw.gpu?.type === "intel") out.push(device("openvino", "gpu", s.format, s.score));
64797
+ if (hw.gpu?.type === "amd") out.push(device("openvino", "cpu", s.format, s.score));
64678
64798
  continue;
64679
64799
  }
64680
64800
  if (s.backend === "edgetpu") {
@@ -64685,10 +64805,14 @@ function enumerateInferenceDevices(hw) {
64685
64805
  }
64686
64806
  continue;
64687
64807
  }
64808
+ if (s.backend === "onnx" && s.reason.startsWith("ONNX WebGPU")) {
64809
+ out.push(device("onnx", "webgpu", s.format, s.score));
64810
+ continue;
64811
+ }
64688
64812
  const dev = DEVICE_FOR_BACKEND[s.backend] ?? s.backend;
64689
64813
  out.push(device(s.backend, dev, s.format, s.score));
64690
64814
  }
64691
64815
  return out;
64692
64816
  }
64693
64817
  //#endregion
64694
- export { buildCapabilityLookup as $, compositionFeatureEnabled as $n, toNodeId as $r, logLevelAtMost as $t, METHOD_ACCESS_MAP as A, scopesAllowDeviceCap as An, expandCapMethods as Ar, expressionContainsBuiltinCall as At, StorageCleanupJobSchema as B, streamQualityLabel as Bn, nodePin as Br, isDefaultAppConnectionEndpoint as Bt, FieldClaimModeSchema as C, resolveCoreBlockFiles as Cn, collectSecretConfigKeys as Cr, deviceStatusCapability as Ct, LOG_LEVEL_RANK as D, resolveNotificationTapAddress as Dn, defineCustomActions as Dr, evaluateCompositionField as Dt, KEYCHAIN_RESET_TRIGGER_ACTOR as E, resolveMethodAuth as En, customAction as Er, enumerateSchemaFields as Et, RUNTIME_DEFAULTS as F, storageCapability as Fn, isKeychainStoredField as Fr, gbToBytes as Ft, addonPagesCapability as G, vectorIndexDimConflictError as Gn, readinessKey as Gr, keychainAdminCapability as Gt, StorageLocationTypeSchema as H, validateComposition as Hn, parseJsonObject as Hr, isObjectInput as Ht, RecordingStatusSchema as I, storageMigrationCapability as In, isSecretClear as Ir, hfModelUrl as It, alertsCapability as J, COMPOSER_ADDON_ID as Jn, scopeKey as Jr, legacyModeOf as Jt, addonSettingsCapability as K, vectorStoreCapability as Kn, resolveCapMount as Kr, keychainCapability as Kt, STORAGE_ACCESS_FALLBACK as L, storageOccupancyCapability as Ln, isSecretMarker as Lr, isAppLinkBase as Lt, MODEL_FORMATS as M, settingsStoreCapability as Mn, hydrateSchema as Mr, filesystemBrowseCapability as Mt, MOTION_CLOSE_AFTER_MS as N, siteZoneKey as Nn, isDeviceConfigCap as Nr, foldSnapshotByFunction as Nt, LegacyStorageLocationDefaultSchema as O, runtimeStatePolicyFor as On, emitDownForOwnedCaps as Or, evictionPolicyOfLocation as Ot, RECORDING_SOURCE_CAMSTACK_ADDON as P, snapshotCapability as Pn, isEvent as Pr, formatMinutes as Pt, batteryCapability as Q, composedDeviceStableId as Qn, sleep as Qr, logDestinationCapability as Qt, STREAM_PROFILE_META as R, storageProviderCapability as Rn, isSecretMarkerLike as Rr, isArrayOutputSchema as Rt, FIRST_LEVEL_MACRO_CLASSES as S, resolveCoreBlockEntry as Sn, buildSecretRef as Sr, deviceStateCapability as St, HF_REPO as T, resolveLocationMode as Tn, createEvent as Tr, enumerateItemArrayFields as Tt, StorageMigrationJobSchema as U, validateCustomAddress as Un, parseJsonUnknown as Ur, isVoidInput as Ut, StorageLocationModeSchema as V, userManagementCapability as Vn, normalizeSecretOwner as Vr, isLocationEnabled as Vt, UserRecordSchema as W, vectorDimFromBase64 as Wn, parseSecretRef as Wr, kebabToCamel as Wt, backupCapability as X, cloneStatefulExpressionMemory as Xn, secretTreeFromPaths as Xr, localNetworkCapability as Xt, authProviderCapability as Y, buildFfmpegArgs as Yn, scrubKnownSecrets as Yr, lifecycleJobSchema as Yt, bareAddonId as Z, composedDeviceRef as Zn, secretTreeFromSchema as Zr, locationIconKey as Zt, DATABASE_SNAPSHOT_TIMEOUT_MS as _, ptzAutotrackCapability as _n, SECRET_CLEAR as _r, defineExtensionSlotProvider as _t, BatteryStatusSchema as a, metricsProviderCapability as an, toExpressionValue as ar, compositionFieldKey as at, DeclaredDevices as b, resolveAppConnections as bn, asNumber as br, deviceExtensionCapability as bt, CAP_NAMES_WITH_STATUS as c, normalizeCoreBlockWrite as cn, DeviceType as cr, coreBlockComposition as ct, CORE_BLOCKS_ADDON_ID as d, objectInputDeclaresRequiredDeviceId as dn, DATAPLANE_SECRET_HEADER as dr, coreBlocksCapability as dt, toSecretFieldView as ei, looseSchema as en, compositionItemFieldPath as er, buildStreamParamsConfigSchema as et, CORE_BLOCK_ADDON_PREFIX as f, parseStreamParamsFormPatch as fn, DEVICE_SETTINGS_CONTRIBUTION_METHODS as fr, createDeviceExtensionProvider as ft, DATABASE_SNAPSHOT_SUFFIX as g, procedureAuthKey as gn, ReadinessTimeoutError as gr, decodeVectorBase64 as gt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as h, platformProbeCapability as hn, ReadinessRegistry as hr, declarationOwnerNodeId as ht, BaseDevice as i, memoizePinnedFfmpeg as in, disarmRoseMemory as ir, composerCapability as it, MINUTES_PER_DAY as j, scoreRuntimes as jn, formatSecretScope as jr, extractNestedAddonId as jt, LocationIconIdSchema as k, scopesAllowAddon as kn, emitReadiness as kr, expandContainer as kt, COMPOSED_ITEM_FIXED_FIELDS as l, normalizeUnit as ln, errMsg as lr, coreBlockIdFromAddonId as lt, CoreBlockSchema as m, planComposition as mn, REDACTED_SECRET as mr, databaseSnapshotCapability as mt, AlertSchema as n, EventCategory as ni, mayReadLocation as nn, compositionSourceKey as nr, cameraGridLayoutCapability as nt, CAMERA_SWITCH_ORDER as o, modeMayWrite as on, DeviceFeature as or, compositionSourceRefs as ot, CalendarPreferencesSchema as p, pickAppLinkHub as pn, DEVICE_STATUS_METHOD as pr, dataStoreProviderCapability as pt, addonWidgetsCapability as q, withLocationMode as qn, resolveSecretMarkers as qr, legacyAutoLinkIds as qt, ApiKeyRecordSchema as r, mayWriteToLocation as rn, createStatefulExpressionMemory as rr, checkRoleAddress as rt, CAMSTACK_APP_LINK_ORIGIN as s, motionCapability as sn, DeviceRole as sr, coreBlockAddonId as st, ALL_CAPABILITY_DEFINITIONS as t, transformSecretWrite as ti, maskUrlCredentials as tn, compositionSliceKey as tr, calendarsCapability as tt, COMPOSER_RUNNER_ID as u, objectInputDeclaresAddonId as un, BaseAddon as ur, coreBlockSourceKind as ut, DAY_NAMES as v, reducePoints as vn, WELL_KNOWN_TAB_MAP as vr, deriveBatteryPresence as vt, FieldClaimSchema as w, resolveHubAddressRoles as wn, collectZodSecretPaths as wr, enumerateInferenceDevices as wt, DeviceStatusSchema as x, resolveBucketMs as xn, asString$1 as xr, deviceManagerCapability as xt, DERIVED_CAMERA_SILENCED_CAP_NAMES as y, replacedFieldKeys as yn, asJsonObject as yr, describeComposableCaps as yt, ScopedTokenSchema as z, streamCatalogCapability as zn, makeSecretMarker as zr, isCollectionArrayMethod as zt };
64818
+ export { buildCapabilityLookup as $, composedDeviceStableId as $n, sleep as $r, logLevelAtMost as $t, METHOD_ACCESS_MAP as A, scopesAllowDeviceCap as An, emitReadiness as Ar, expressionContainsBuiltinCall as At, StorageCleanupJobSchema as B, streamQualityLabel as Bn, makeSecretMarker as Br, isDefaultAppConnectionEndpoint as Bt, FieldClaimModeSchema as C, resolveCoreBlockFiles as Cn, buildSecretRef as Cr, deviceStatusCapability as Ct, LOG_LEVEL_RANK as D, resolveNotificationTapAddress as Dn, customAction as Dr, evaluateCompositionField as Dt, KEYCHAIN_RESET_TRIGGER_ACTOR as E, resolveMethodAuth as En, createEvent as Er, enumerateSchemaFields as Et, RUNTIME_DEFAULTS as F, storageCapability as Fn, isEvent as Fr, gbToBytes as Ft, addonPagesCapability as G, vectorDimFromBase64 as Gn, parseSecretRef as Gr, keychainAdminCapability as Gt, StorageLocationTypeSchema as H, userManagementCapability as Hn, normalizeSecretOwner as Hr, isObjectInput as Ht, RecordingStatusSchema as I, storageMigrationCapability as In, isKeychainStoredField as Ir, hfModelUrl as It, alertsCapability as J, withLocationMode as Jn, resolveSecretMarkers as Jr, legacyModeOf as Jt, addonSettingsCapability as K, vectorIndexDimConflictError as Kn, readinessKey as Kr, keychainCapability as Kt, STORAGE_ACCESS_FALLBACK as L, storageOccupancyCapability as Ln, isSecretClear as Lr, isAppLinkBase as Lt, MODEL_FORMATS as M, settingsStoreCapability as Mn, formatSecretScope as Mr, filesystemBrowseCapability as Mt, MOTION_CLOSE_AFTER_MS as N, siteZoneKey as Nn, hydrateSchema as Nr, foldSnapshotByFunction as Nt, LegacyStorageLocationDefaultSchema as O, runtimeStatePolicyFor as On, defineCustomActions as Or, evictionPolicyOfLocation as Ot, RECORDING_SOURCE_CAMSTACK_ADDON as P, snapshotCapability as Pn, isDeviceConfigCap as Pr, formatMinutes as Pt, batteryCapability as Q, composedDeviceRef as Qn, secretTreeFromSchema as Qr, logDestinationCapability as Qt, STREAM_PROFILE_META as R, storageProviderCapability as Rn, isSecretMarker as Rr, isArrayOutputSchema as Rt, FIRST_LEVEL_MACRO_CLASSES as S, resolveCoreBlockEntry as Sn, asString$1 as Sr, deviceStateCapability as St, HF_REPO as T, resolveLocationMode as Tn, collectZodSecretPaths as Tr, enumerateItemArrayFields as Tt, StorageMigrationJobSchema as U, validateComposition as Un, parseJsonObject as Ur, isVoidInput as Ut, StorageLocationModeSchema as V, supportedRuntimes as Vn, nodePin as Vr, isLocationEnabled as Vt, UserRecordSchema as W, validateCustomAddress as Wn, parseJsonUnknown as Wr, kebabToCamel as Wt, backupCapability as X, buildFfmpegArgs as Xn, scrubKnownSecrets as Xr, localNetworkCapability as Xt, authProviderCapability as Y, COMPOSER_ADDON_ID as Yn, scopeKey as Yr, lifecycleJobSchema as Yt, bareAddonId as Z, cloneStatefulExpressionMemory as Zn, secretTreeFromPaths as Zr, locationIconKey as Zt, DATABASE_SNAPSHOT_TIMEOUT_MS as _, ptzAutotrackCapability as _n, ReadinessTimeoutError as _r, defineExtensionSlotProvider as _t, BatteryStatusSchema as a, metricsProviderCapability as an, disarmRoseMemory as ar, compositionFieldKey as at, DeclaredDevices as b, resolveAppConnections as bn, asJsonObject as br, deviceExtensionCapability as bt, CAP_NAMES_WITH_STATUS as c, normalizeCoreBlockWrite as cn, DeviceRole as cr, coreBlockComposition as ct, CORE_BLOCKS_ADDON_ID as d, objectInputDeclaresRequiredDeviceId as dn, BaseAddon as dr, coreBlocksCapability as dt, toNodeId as ei, looseSchema as en, compositionFeatureEnabled as er, buildStreamParamsConfigSchema as et, CORE_BLOCK_ADDON_PREFIX as f, parseStreamParamsFormPatch as fn, DATAPLANE_SECRET_HEADER as fr, createDeviceExtensionProvider as ft, DATABASE_SNAPSHOT_SUFFIX as g, procedureAuthKey as gn, ReadinessRegistry as gr, decodeVectorBase64 as gt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as h, platformProbeCapability as hn, REDACTED_SECRET as hr, declarationOwnerNodeId as ht, BaseDevice as i, memoizePinnedFfmpeg as in, createStatefulExpressionMemory as ir, composerCapability as it, MINUTES_PER_DAY as j, scoreRuntimes as jn, expandCapMethods as jr, extractNestedAddonId as jt, LocationIconIdSchema as k, scopesAllowAddon as kn, emitDownForOwnedCaps as kr, expandContainer as kt, COMPOSED_ITEM_FIXED_FIELDS as l, normalizeUnit as ln, DeviceType as lr, coreBlockIdFromAddonId as lt, CoreBlockSchema as m, planComposition as mn, DEVICE_STATUS_METHOD as mr, databaseSnapshotCapability as mt, AlertSchema as n, transformSecretWrite as ni, mayReadLocation as nn, compositionSliceKey as nr, cameraGridLayoutCapability as nt, CAMERA_SWITCH_ORDER as o, modeMayWrite as on, toExpressionValue as or, compositionSourceRefs as ot, CalendarPreferencesSchema as p, pickAppLinkHub as pn, DEVICE_SETTINGS_CONTRIBUTION_METHODS as pr, dataStoreProviderCapability as pt, addonWidgetsCapability as q, vectorStoreCapability as qn, resolveCapMount as qr, legacyAutoLinkIds as qt, ApiKeyRecordSchema as r, EventCategory as ri, mayWriteToLocation as rn, compositionSourceKey as rr, checkRoleAddress as rt, CAMSTACK_APP_LINK_ORIGIN as s, motionCapability as sn, DeviceFeature as sr, coreBlockAddonId as st, ALL_CAPABILITY_DEFINITIONS as t, toSecretFieldView as ti, maskUrlCredentials as tn, compositionItemFieldPath as tr, calendarsCapability as tt, COMPOSER_RUNNER_ID as u, objectInputDeclaresAddonId as un, errMsg as ur, coreBlockSourceKind as ut, DAY_NAMES as v, reducePoints as vn, SECRET_CLEAR as vr, deriveBatteryPresence as vt, FieldClaimSchema as w, resolveHubAddressRoles as wn, collectSecretConfigKeys as wr, enumerateInferenceDevices as wt, DeviceStatusSchema as x, resolveBucketMs as xn, asNumber as xr, deviceManagerCapability as xt, DERIVED_CAMERA_SILENCED_CAP_NAMES as y, replacedFieldKeys as yn, WELL_KNOWN_TAB_MAP as yr, describeComposableCaps as yt, ScopedTokenSchema as z, streamCatalogCapability as zn, isSecretMarkerLike as zr, isCollectionArrayMethod as zt };
@@ -28945,11 +28945,14 @@ var HardwareClassIdSchema = zod.z.enum([
28945
28945
  "intel-n-series",
28946
28946
  "apple-m-base",
28947
28947
  "apple-m-pro",
28948
+ "amd-phoenix",
28948
28949
  "unknown"
28949
28950
  ]);
28950
28951
  var AcceleratorKindSchema = zod.z.enum([
28951
28952
  "intel-npu",
28952
28953
  "intel-igpu",
28954
+ "amd-igpu",
28955
+ "amd-npu",
28953
28956
  "x86-cpu",
28954
28957
  "arm-cpu",
28955
28958
  "apple-ane",
@@ -43047,7 +43050,15 @@ var GpuInfoSchema = zod.z.object({
43047
43050
  name: zod.z.string(),
43048
43051
  memoryMB: zod.z.number().optional()
43049
43052
  });
43050
- var NpuInfoSchema = zod.z.object({ type: zod.z.enum(["apple-ane", "intel-npu"]) });
43053
+ var NpuInfoSchema = zod.z.object({
43054
+ type: zod.z.enum([
43055
+ "apple-ane",
43056
+ "intel-npu",
43057
+ "amd-xdna"
43058
+ ]),
43059
+ name: zod.z.string().optional(),
43060
+ generation: zod.z.enum(["xdna1", "xdna2"]).optional()
43061
+ });
43051
43062
  var CoralInfoSchema = zod.z.object({
43052
43063
  type: zod.z.literal("coral-edgetpu"),
43053
43064
  bus: zod.z.string().optional()
@@ -64577,6 +64588,96 @@ function decodeVectorBase64(encoded) {
64577
64588
  function vectorDimFromBase64(encoded) {
64578
64589
  return Math.floor(Buffer.from(encoded, "base64").byteLength / 4);
64579
64590
  }
64591
+ var AUTO = {
64592
+ value: "auto",
64593
+ label: "Auto"
64594
+ };
64595
+ var CPU = {
64596
+ value: "cpu",
64597
+ label: "CPU"
64598
+ };
64599
+ var USB = {
64600
+ value: "usb",
64601
+ label: "Coral USB"
64602
+ };
64603
+ var RUNTIMES = [
64604
+ {
64605
+ id: "onnx",
64606
+ supports: () => true,
64607
+ devices: (hw) => {
64608
+ if (!hw) return [CPU];
64609
+ const out = [CPU];
64610
+ if (hw.gpu?.type === "nvidia") out.push({
64611
+ value: "cuda",
64612
+ label: "CUDA"
64613
+ });
64614
+ if (hw.gpu?.type === "amd") out.push({
64615
+ value: "webgpu",
64616
+ label: "WebGPU (AMD iGPU)"
64617
+ });
64618
+ if (hw.npu?.type === "apple-ane") out.push({
64619
+ value: "coreml",
64620
+ label: "CoreML EP"
64621
+ });
64622
+ return out;
64623
+ },
64624
+ defaultDevice: "cpu"
64625
+ },
64626
+ {
64627
+ id: "openvino",
64628
+ supports: (hw) => hw?.arch === "x64" && hw.platform !== "darwin" && (hw.gpu?.type === "intel" || hw.gpu?.type === "amd"),
64629
+ devices: (hw) => {
64630
+ if (!hw) return [AUTO];
64631
+ if (hw.gpu?.type === "amd") return [CPU];
64632
+ const out = [AUTO, CPU];
64633
+ if (hw.gpu?.type === "intel") out.push({
64634
+ value: "gpu",
64635
+ label: "GPU"
64636
+ });
64637
+ if (hw.npu?.type === "intel-npu") out.push({
64638
+ value: "npu",
64639
+ label: "NPU"
64640
+ });
64641
+ return out;
64642
+ },
64643
+ defaultDevice: "auto"
64644
+ },
64645
+ {
64646
+ id: "coreml",
64647
+ supports: (hw) => hw?.platform === "darwin",
64648
+ devices: (hw) => {
64649
+ const all = {
64650
+ value: "all",
64651
+ label: "All (ANE + GPU + CPU)"
64652
+ };
64653
+ if (!hw) return [all];
64654
+ const out = [all];
64655
+ if (hw.npu?.type === "apple-ane") out.push({
64656
+ value: "ane",
64657
+ label: "Apple Neural Engine"
64658
+ });
64659
+ out.push({
64660
+ value: "gpu",
64661
+ label: "GPU"
64662
+ }, CPU);
64663
+ return out;
64664
+ },
64665
+ defaultDevice: "all"
64666
+ },
64667
+ {
64668
+ id: "edgetpu",
64669
+ supports: (hw) => hw?.coral != null,
64670
+ devices: () => [USB],
64671
+ defaultDevice: "usb"
64672
+ }
64673
+ ];
64674
+ /**
64675
+ * Returns the list of supported runtime IDs for given hardware.
64676
+ * onnx is always included (universal floor); accelerators added when hw matches.
64677
+ */
64678
+ function supportedRuntimes(hw) {
64679
+ return RUNTIMES.filter((r) => r.supports(hw)).map((r) => r.id);
64680
+ }
64580
64681
  /**
64581
64682
  * Scores all applicable inference backends for the given hardware.
64582
64683
  *
@@ -64620,6 +64721,24 @@ function scoreRuntimes(hw) {
64620
64721
  available: true
64621
64722
  });
64622
64723
  }
64724
+ if (hw.gpu?.type === "amd") {
64725
+ scores.push({
64726
+ runtime: "python",
64727
+ backend: "onnx",
64728
+ format: "onnx",
64729
+ score: 75,
64730
+ reason: "ONNX WebGPU (AMD iGPU)",
64731
+ available: true
64732
+ });
64733
+ scores.push({
64734
+ runtime: "python",
64735
+ backend: "openvino",
64736
+ format: "openvino",
64737
+ score: 65,
64738
+ reason: "OpenVINO CPU (AMD x64)",
64739
+ available: true
64740
+ });
64741
+ }
64623
64742
  if (hw.coral != null) scores.push({
64624
64743
  runtime: "python",
64625
64744
  backend: "edgetpu",
@@ -64675,6 +64794,7 @@ function enumerateInferenceDevices(hw) {
64675
64794
  if (s.backend === "openvino") {
64676
64795
  if (hw.npu?.type === "intel-npu") out.push(device("openvino", "npu", s.format, s.score + 2));
64677
64796
  if (hw.gpu?.type === "intel") out.push(device("openvino", "gpu", s.format, s.score));
64797
+ if (hw.gpu?.type === "amd") out.push(device("openvino", "cpu", s.format, s.score));
64678
64798
  continue;
64679
64799
  }
64680
64800
  if (s.backend === "edgetpu") {
@@ -64685,6 +64805,10 @@ function enumerateInferenceDevices(hw) {
64685
64805
  }
64686
64806
  continue;
64687
64807
  }
64808
+ if (s.backend === "onnx" && s.reason.startsWith("ONNX WebGPU")) {
64809
+ out.push(device("onnx", "webgpu", s.format, s.score));
64810
+ continue;
64811
+ }
64688
64812
  const dev = DEVICE_FOR_BACKEND[s.backend] ?? s.backend;
64689
64813
  out.push(device(s.backend, dev, s.format, s.score));
64690
64814
  }
@@ -65933,6 +66057,12 @@ Object.defineProperty(exports, "streamQualityLabel", {
65933
66057
  return streamQualityLabel;
65934
66058
  }
65935
66059
  });
66060
+ Object.defineProperty(exports, "supportedRuntimes", {
66061
+ enumerable: true,
66062
+ get: function() {
66063
+ return supportedRuntimes;
66064
+ }
66065
+ });
65936
66066
  Object.defineProperty(exports, "toExpressionValue", {
65937
66067
  enumerable: true,
65938
66068
  get: function() {
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-8LQ4lDEB.js");
2
+ const require_dist = require("./dist-D_jdr1G9.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  let node_path = require("node:path");
5
5
  node_path = require_chunk.__toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { It as hfModelUrl, M as MODEL_FORMATS, T as HF_REPO } from "./dist-Biqn3TEn.mjs";
1
+ import { It as hfModelUrl, M as MODEL_FORMATS, T as HF_REPO } from "./dist-BIc6o_mz.mjs";
2
2
  import { createHash } from "node:crypto";
3
3
  import * as path$1 from "node:path";
4
4
  import path from "node:path";
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-Cek0wNdY.js");
3
- const require_dist = require("./dist-8LQ4lDEB.js");
4
- const require_jwt_signing_key = require("./jwt-signing-key-DxV2ucvJ.js");
3
+ const require_dist = require("./dist-D_jdr1G9.js");
4
+ const require_jwt_signing_key = require("./jwt-signing-key-CQHHsrOf.js");
5
5
  const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
6
6
  require("./builtins/alerts/index.js");
7
7
  const require_builtins_calendars_calendars_addon = require("./builtins/calendars/calendars.addon.js");
@@ -27,17 +27,17 @@ const require_builtins_sqlite_storage_index = require("./builtins/sqlite-storage
27
27
  const require_hub_cap_forward = require("./hub-cap-forward-W8oEm4ME.js");
28
28
  const require_builtins_storage_orchestrator_storage_orchestrator_addon = require("./builtins/storage-orchestrator/storage-orchestrator.addon.js");
29
29
  require("./builtins/storage-orchestrator/index.js");
30
- const require_constants = require("./constants-Ca-Sgcl8.js");
30
+ const require_constants = require("./constants-DyC3WyXE.js");
31
31
  const require_builtins_system_config_system_config_addon = require("./builtins/system-config/system-config.addon.js");
32
32
  require("./builtins/system-config/index.js");
33
33
  const require_builtins_winston_logging_index = require("./builtins/winston-logging/index.js");
34
- const require_event_loop_stall_monitor = require("./event-loop-stall-monitor-CNj73d4D.js");
34
+ const require_event_loop_stall_monitor = require("./event-loop-stall-monitor-DXZb28pF.js");
35
35
  const require_tls = require("./tls-BWpwU-d5.js");
36
- const require_child_cap_dispatch = require("./child-cap-dispatch-Bnr8brru.js");
36
+ const require_child_cap_dispatch = require("./child-cap-dispatch-jQ61bSnU.js");
37
37
  const require_platform_key_source = require("./platform-key-source-Di7HrlGR.js");
38
38
  const require_resource_monitor = require("./resource-monitor-BgWGRxN5.js");
39
39
  const require_custom_action_registry = require("./custom-action-registry-acBY3mHA.js");
40
- const require_restore_archive = require("./restore-archive-Do_Yu5rC.js");
40
+ const require_restore_archive = require("./restore-archive-BQSveGIo.js");
41
41
  let zod = require("zod");
42
42
  let node_crypto = require("node:crypto");
43
43
  let _camstack_types_node = require("@camstack/types/node");
@@ -12344,6 +12344,53 @@ function createStreamProbeBrokerService(deps) {
12344
12344
  };
12345
12345
  }
12346
12346
  //#endregion
12347
+ //#region src/kernel/inference/local-python-runtimes.ts
12348
+ /**
12349
+ * Cheap local answer to "which python inference runtimes does THIS host
12350
+ * support?" — the Cluster page's `engines` badges and the durable node
12351
+ * history row. Pure over `probePlatform` + `supportedRuntimes`; no Python
12352
+ * import, no platform-probe capability round-trip (those are the heavier
12353
+ * path used by the detection pipeline itself).
12354
+ *
12355
+ * Historically `AgentInfo.pythonRuntimes` was declared and projected into
12356
+ * topology `engines`, but nothing ever filled it — every node rendered "—".
12357
+ */
12358
+ function asGpuType(type) {
12359
+ if (type === "nvidia" || type === "amd" || type === "intel" || type === "apple") return type;
12360
+ return null;
12361
+ }
12362
+ function asNpuType(type) {
12363
+ if (type === "apple-ane" || type === "intel-npu" || type === "amd-xdna") return type;
12364
+ return null;
12365
+ }
12366
+ function localHardwareInfo() {
12367
+ const platform = node_os.platform();
12368
+ if (platform !== "darwin" && platform !== "linux" && platform !== "win32") return null;
12369
+ const arch = node_os.arch() === "arm64" ? "arm64" : "x64";
12370
+ const inference = require_child_cap_dispatch.mapSignalsToInferenceHardware(require_child_cap_dispatch.probePlatform());
12371
+ const gpuType = inference.gpu ? asGpuType(inference.gpu.type) : null;
12372
+ const npuType = inference.npu ? asNpuType(inference.npu.type) : null;
12373
+ const cpus = node_os.cpus();
12374
+ return {
12375
+ platform,
12376
+ arch,
12377
+ cpuModel: cpus[0]?.model ?? "unknown",
12378
+ cpuCores: cpus.length,
12379
+ totalRAM_MB: Math.round(node_os.totalmem() / 1024 / 1024),
12380
+ availableRAM_MB: Math.round(node_os.freemem() / 1024 / 1024),
12381
+ gpu: gpuType !== null ? {
12382
+ type: gpuType,
12383
+ name: gpuType
12384
+ } : null,
12385
+ npu: npuType !== null ? { type: npuType } : null,
12386
+ coral: inference.coral != null ? { type: "coral-edgetpu" } : null
12387
+ };
12388
+ }
12389
+ /** Runtime ids offered on this host (`onnx`, `openvino`, `coreml`, `edgetpu`). */
12390
+ function localSupportedPythonRuntimes() {
12391
+ return require_dist.supportedRuntimes(localHardwareInfo());
12392
+ }
12393
+ //#endregion
12347
12394
  //#region src/kernel/addon-health-monitor.ts
12348
12395
  /**
12349
12396
  * Kernel-level addon health monitor.
@@ -14318,6 +14365,7 @@ exports.loadMeshCa = require_builtins_system_config_system_config_addon.loadMesh
14318
14365
  exports.loadTlsCert = require_tls.loadTlsCert;
14319
14366
  exports.localEndpointPath = require_child_cap_dispatch.localEndpointPath;
14320
14367
  exports.localProviderLink = require_child_cap_dispatch.localProviderLink;
14368
+ exports.localSupportedPythonRuntimes = localSupportedPythonRuntimes;
14321
14369
  exports.mapSignalsToInferenceHardware = require_child_cap_dispatch.mapSignalsToInferenceHardware;
14322
14370
  exports.meshErrorType = meshErrorType;
14323
14371
  exports.mintAgentUiUnlockTicket = require_builtins_system_config_system_config_addon.mintAgentUiUnlockTicket;