@camstack/system 1.2.457 → 1.2.458

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 (89) hide show
  1. package/dist/addon-runner.js +163 -27
  2. package/dist/addon-runner.mjs +193 -57
  3. package/dist/{agent-https-CK9Z4sSR.mjs → agent-https-CQA3W-3e.mjs} +2 -2
  4. package/dist/{agent-https-CoyOZ3pC.js → agent-https-DOELEug8.js} +2 -2
  5. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  6. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  8. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  9. package/dist/builtins/alerts/alerts.addon.js +2 -2
  10. package/dist/builtins/alerts/alerts.addon.mjs +2 -2
  11. package/dist/builtins/autotrack/index.js +1 -1
  12. package/dist/builtins/autotrack/index.mjs +1 -1
  13. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  14. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  15. package/dist/builtins/calendars/calendars.addon.js +1 -1
  16. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  17. package/dist/builtins/camera-grid/index.js +1 -1
  18. package/dist/builtins/camera-grid/index.mjs +1 -1
  19. package/dist/builtins/composer/composer.addon.js +2 -2
  20. package/dist/builtins/composer/composer.addon.mjs +2 -2
  21. package/dist/builtins/console-logging/index.js +1 -1
  22. package/dist/builtins/console-logging/index.mjs +1 -1
  23. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  24. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  25. package/dist/builtins/device-history/device-history.addon.d.ts +13 -0
  26. package/dist/builtins/device-history/device-history.addon.js +296 -233
  27. package/dist/builtins/device-history/device-history.addon.mjs +296 -233
  28. package/dist/builtins/device-history/ingest/producer-ingest.d.ts +11 -1
  29. package/dist/builtins/device-manager/device-manager.addon.js +1 -1
  30. package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
  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 +4 -4
  34. package/dist/builtins/keychain/index.mjs +4 -4
  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 +3 -3
  38. package/dist/builtins/local-auth/local-auth.addon.mjs +3 -3
  39. package/dist/builtins/local-network/local-network.addon.js +2 -2
  40. package/dist/builtins/local-network/local-network.addon.mjs +2 -2
  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/coral-accelerators.d.ts +26 -9
  46. package/dist/builtins/platform-probe/index.js +11 -68
  47. package/dist/builtins/platform-probe/index.mjs +11 -68
  48. package/dist/builtins/record-entries/index.js +1 -1
  49. package/dist/builtins/record-entries/index.mjs +1 -1
  50. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  51. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  52. package/dist/builtins/snapshot/index.js +1 -1
  53. package/dist/builtins/snapshot/index.mjs +1 -1
  54. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  55. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  56. package/dist/builtins/sqlite-storage/index.js +1 -1
  57. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  58. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +2 -2
  59. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +2 -2
  60. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  61. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  62. package/dist/builtins/system-config/system-config.addon.js +3 -3
  63. package/dist/builtins/system-config/system-config.addon.mjs +3 -3
  64. package/dist/builtins/winston-logging/index.js +1 -1
  65. package/dist/builtins/winston-logging/index.mjs +1 -1
  66. package/dist/{composition-sources-B_jeZDRJ.mjs → composition-sources-BVguN7VV.mjs} +1 -1
  67. package/dist/{composition-sources-qKyvMAvc.js → composition-sources-DURQNDJ4.js} +1 -1
  68. package/dist/{constants-cxKcZRMi.mjs → constants-FGjnsE2x.mjs} +1 -1
  69. package/dist/{constants-B_X9cWEK.js → constants-Njka8Cv6.js} +1 -1
  70. package/dist/coral-accelerators-Bi_c3Rft.js +175 -0
  71. package/dist/coral-accelerators-DcnZvctM.mjs +162 -0
  72. package/dist/{device-ca-CVK3YcR_.js → device-ca-BrVK_5s3.js} +1 -1
  73. package/dist/{device-ca-BB6nHAL5.mjs → device-ca-lEaAQ9Xi.mjs} +1 -1
  74. package/dist/{dist-C89nqNnn.js → dist-BZQjLPiz.js} +55 -10
  75. package/dist/{dist-Dhux90yB.mjs → dist-B_GRPhnY.mjs} +55 -10
  76. package/dist/file-host-worker.js +1 -1
  77. package/dist/file-host-worker.mjs +1 -1
  78. package/dist/{hub-mdns-ciao-B8olZqqd.mjs → hub-mdns-ciao-Bg2HfTwP.mjs} +2 -2
  79. package/dist/{hub-mdns-ciao-DB1Y9agt.js → hub-mdns-ciao-nce3TXs_.js} +2 -2
  80. package/dist/index.js +12 -35
  81. package/dist/index.mjs +12 -35
  82. package/dist/kernel/hwaccel/hwaccel-resolver.d.ts +7 -3
  83. package/dist/{phase6-declare-gate-BO-_jLh_.js → phase6-declare-gate-Dag1_WR2.js} +1 -1
  84. package/dist/{phase6-declare-gate-x9ZCbQJP.mjs → phase6-declare-gate-Lb-mrVvz.mjs} +1 -1
  85. package/dist/{restore-archive-DyOaPeAr.mjs → restore-archive-C7kLDI_0.mjs} +1 -1
  86. package/dist/{restore-archive-4DOUR5Gu.js → restore-archive-FyfZ8YMC.js} +1 -1
  87. package/dist/{wal-maintenance-DVN-DiVP.js → wal-maintenance-DfSIOj24.js} +0 -0
  88. package/dist/{wal-maintenance-BMiX6UIa.mjs → wal-maintenance-Duejh7Lx.mjs} +0 -0
  89. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-Cek0wNdY.js");
3
- const require_dist = require("./dist-C89nqNnn.js");
3
+ const require_dist = require("./dist-BZQjLPiz.js");
4
4
  const require_read_all_rows$1 = require("./read-all-rows-CVoO1ONM.js");
5
- const require_device_ca = require("./device-ca-CVK3YcR_.js");
5
+ const require_device_ca = require("./device-ca-BrVK_5s3.js");
6
6
  const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
7
7
  require("./builtins/alerts/index.js");
8
8
  const require_builtins_calendars_calendars_addon = require("./builtins/calendars/calendars.addon.js");
@@ -28,21 +28,22 @@ const require_builtins_loki_logging_index = require("./builtins/loki-logging/ind
28
28
  const require_builtins_native_metrics_native_metrics_addon = require("./builtins/native-metrics/native-metrics.addon.js");
29
29
  const require_builtins_device_history_device_history_addon = require("./builtins/device-history/device-history.addon.js");
30
30
  const require_builtins_sqlite_storage_filesystem_storage_addon = require("./builtins/sqlite-storage/filesystem-storage.addon.js");
31
- const require_wal_maintenance = require("./wal-maintenance-DVN-DiVP.js");
31
+ const require_wal_maintenance = require("./wal-maintenance-DfSIOj24.js");
32
32
  const require_builtins_sqlite_storage_sqlite_settings_addon = require("./builtins/sqlite-storage/sqlite-settings.addon.js");
33
33
  const require_builtins_sqlite_storage_index = require("./builtins/sqlite-storage/index.js");
34
34
  const require_builtins_storage_orchestrator_storage_orchestrator_addon = require("./builtins/storage-orchestrator/storage-orchestrator.addon.js");
35
35
  require("./builtins/storage-orchestrator/index.js");
36
- const require_constants = require("./constants-B_X9cWEK.js");
37
- const require_agent_https = require("./agent-https-CoyOZ3pC.js");
36
+ const require_constants = require("./constants-Njka8Cv6.js");
37
+ const require_agent_https = require("./agent-https-DOELEug8.js");
38
38
  const require_builtins_system_config_system_config_addon = require("./builtins/system-config/system-config.addon.js");
39
39
  require("./builtins/system-config/index.js");
40
40
  const require_builtins_winston_logging_index = require("./builtins/winston-logging/index.js");
41
41
  const require_custom_action_registry = require("./custom-action-registry-COyb49zm.js");
42
- const require_hub_mdns_ciao = require("./hub-mdns-ciao-DB1Y9agt.js");
42
+ const require_hub_mdns_ciao = require("./hub-mdns-ciao-nce3TXs_.js");
43
43
  const require_platform_key_source = require("./platform-key-source-Di7HrlGR.js");
44
44
  const require_resource_monitor = require("./resource-monitor-mio9dSCT.js");
45
- const require_restore_archive = require("./restore-archive-4DOUR5Gu.js");
45
+ const require_restore_archive = require("./restore-archive-FyfZ8YMC.js");
46
+ const require_coral_accelerators = require("./coral-accelerators-Bi_c3Rft.js");
46
47
  let zod = require("zod");
47
48
  let node_crypto = require("node:crypto");
48
49
  node_crypto = require_chunk.__toESM(node_crypto);
@@ -22313,30 +22314,6 @@ function safeExistsSync(path) {
22313
22314
  return false;
22314
22315
  }
22315
22316
  }
22316
- /**
22317
- * Detect a Coral USB Edge TPU: a matching USB device (`1a6e:089a` pre-init or
22318
- * `18d1:9302` post-init) OR the installed libedgetpu delegate (the hub
22319
- * provisions it out-of-band; its presence is a reliable "Coral is wired"
22320
- * signal even where the container's `/sys` USB view is limited).
22321
- */
22322
- function detectCoralUsb() {
22323
- const CORAL_IDS = [{
22324
- vendor: "1a6e",
22325
- product: "089a"
22326
- }, {
22327
- vendor: "18d1",
22328
- product: "9302"
22329
- }];
22330
- try {
22331
- for (const device of node_fs.readdirSync("/sys/bus/usb/devices")) try {
22332
- const base = `/sys/bus/usb/devices/${device}`;
22333
- const vendor = node_fs.readFileSync(`${base}/idVendor`, "utf8").trim().toLowerCase();
22334
- const product = node_fs.readFileSync(`${base}/idProduct`, "utf8").trim().toLowerCase();
22335
- if (CORAL_IDS.some((id) => id.vendor === vendor && id.product === product)) return true;
22336
- } catch {}
22337
- } catch {}
22338
- return safeExistsSync(process.env["CAMSTACK_EDGETPU_LIB"] ?? "/data/deps/edgetpu/lib/libedgetpu.so.1");
22339
- }
22340
22317
  /** Probe Linux GPU vendors by parsing /proc/bus/pci/devices or /sys/class/drm. */
22341
22318
  function probeLinuxGpus() {
22342
22319
  const signals = {
@@ -22345,7 +22322,7 @@ function probeLinuxGpus() {
22345
22322
  hasIntelGpu: false,
22346
22323
  hasRenderNode: false,
22347
22324
  hasIntelNpu: safeExistsSync("/dev/accel/accel0"),
22348
- hasCoral: detectCoralUsb()
22325
+ coral: require_coral_accelerators.classifyCoralAccelerator(require_coral_accelerators.nodeCoralFs)
22349
22326
  };
22350
22327
  signals.hasRenderNode = safeExistsSync("/dev/dri/renderD128");
22351
22328
  if (safeExistsSync("/dev/nvidia0") || safeExistsSync("/proc/driver/nvidia/version")) signals.hasNvidiaGpu = true;
@@ -22379,7 +22356,7 @@ function probePlatform() {
22379
22356
  hasIntelGpu: false,
22380
22357
  hasRenderNode: false,
22381
22358
  hasIntelNpu: false,
22382
- hasCoral: safeExistsSync(process.env["CAMSTACK_EDGETPU_LIB"] ?? "/data/deps/edgetpu/lib/libedgetpu.so.1")
22359
+ coral: require_coral_accelerators.classifyCoralAccelerator(require_coral_accelerators.nodeCoralFs)
22383
22360
  };
22384
22361
  }
22385
22362
  function pickBackendsForPlatform(signals) {
@@ -22470,7 +22447,7 @@ function mapSignalsToInferenceHardware(signals) {
22470
22447
  return {
22471
22448
  gpu: signals.hasNvidiaGpu ? { type: "nvidia" } : signals.hasAmdGpu ? { type: "amd" } : signals.hasIntelGpu ? { type: "intel" } : signals.hasRenderNode ? { type: "intel" } : null,
22472
22449
  npu: signals.platform === "darwin" && signals.arch === "arm64" ? { type: "apple-ane" } : signals.hasIntelNpu ? { type: "intel-npu" } : null,
22473
- coral: signals.hasCoral ? { type: "coral-edgetpu" } : null
22450
+ coral: signals.coral
22474
22451
  };
22475
22452
  }
22476
22453
  /**
@@ -24817,7 +24794,7 @@ function localHardwareInfo() {
24817
24794
  name: gpuType
24818
24795
  } : null,
24819
24796
  npu: npuType !== null ? { type: npuType } : null,
24820
- coral: inference.coral != null ? { type: "coral-edgetpu" } : null
24797
+ coral: inference.coral ?? null
24821
24798
  };
24822
24799
  }
24823
24800
  /** Runtime ids offered on this host (`onnx`, `openvino`, `coreml`, `edgetpu`). */
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { i as __require } from "./chunk-CNf5ZN-e.mjs";
2
- import { An as isVoidInput, Bn as logLevelAtMost, Ci as ReadinessTimeoutError, Da as withoutCallerStamp, Ea as userError, Fi as asString$1, Hi as createEvent$1, In as lifecycleJobSchema, J as METHOD_ACCESS_MAP, K as LOG_LEVEL_RANK, Ki as defineRecordKinds, Mr as supportedRuntimes, Ni as asJsonObject$1, Oa as EventCategory$1, Pi as asNumber, Si as ReadinessRegistry, Tn as isCollectionArrayMethod, Vn as looseSchema, Xn as objectInputDeclaresAddonId, Yi as expandCapMethods, Zn as objectInputDeclaresRequiredDeviceId, _a as resolveCapMount, _r as scopesAllowAddon, ai as DATAPLANE_SECRET_HEADER$1, bn as interpolate, bt as addonSettingsCapability, d as CATALOG_LANGS, da as parseJsonUnknown, ha as readinessKey, ii as CALLER_STAMPED_CAPABILITIES$1, jn as kebabToCamel$1, kn as isObjectInput, mn as extractNestedAddonId, mr as resolveMethodAuth, n as AGENT_MDNS_TXT_KEYS, nr as procedureAuthKey, oi as DEVICE_SETTINGS_CONTRIBUTION_METHODS, qi as emitDownForOwnedCaps, r as ALL_CAPABILITY_DEFINITIONS, si as DEVICE_STATUS_METHOD, t as AGENT_MDNS_SERVICE_TYPE, ti as errMsg$1, ua as parseJsonObject, v as CatalogFileSchema, vr as scopesAllowDeviceCap, wn as isArrayOutputSchema, wr as splitTranslationRef, xi as RUNTIME_DEFAULTS, ya as scopeKey } from "./dist-Dhux90yB.mjs";
2
+ import { An as isVoidInput, Bn as logLevelAtMost, Ci as ReadinessTimeoutError, Da as withoutCallerStamp, Ea as userError, Fi as asString$1, Hi as createEvent$1, In as lifecycleJobSchema, J as METHOD_ACCESS_MAP, K as LOG_LEVEL_RANK, Ki as defineRecordKinds, Mr as supportedRuntimes, Ni as asJsonObject$1, Oa as EventCategory$1, Pi as asNumber, Si as ReadinessRegistry, Tn as isCollectionArrayMethod, Vn as looseSchema, Xn as objectInputDeclaresAddonId, Yi as expandCapMethods, Zn as objectInputDeclaresRequiredDeviceId, _a as resolveCapMount, _r as scopesAllowAddon, ai as DATAPLANE_SECRET_HEADER$1, bn as interpolate, bt as addonSettingsCapability, d as CATALOG_LANGS, da as parseJsonUnknown, ha as readinessKey, ii as CALLER_STAMPED_CAPABILITIES$1, jn as kebabToCamel$1, kn as isObjectInput, mn as extractNestedAddonId, mr as resolveMethodAuth, n as AGENT_MDNS_TXT_KEYS, nr as procedureAuthKey, oi as DEVICE_SETTINGS_CONTRIBUTION_METHODS, qi as emitDownForOwnedCaps, r as ALL_CAPABILITY_DEFINITIONS, si as DEVICE_STATUS_METHOD, t as AGENT_MDNS_SERVICE_TYPE, ti as errMsg$1, ua as parseJsonObject, v as CatalogFileSchema, vr as scopesAllowDeviceCap, wn as isArrayOutputSchema, wr as splitTranslationRef, xi as RUNTIME_DEFAULTS, ya as scopeKey } from "./dist-B_GRPhnY.mjs";
3
3
  import { t as require_read_all_rows } from "./read-all-rows-TaPqdWNF.mjs";
4
- import { d as JWT_SIGNING_KEY_REF, f as JwtSigningKeyUnavailableError, g as processJwtSigningKey, i as generateDeviceCa, l as verifyDeviceLeaf, m as getProcessJwtSigningKeyState, n as DEVICE_CA_KEY_REF, o as issueDeviceLeaf, p as SYSTEM_SECRET_OWNER, s as loadDeviceCa, u as verifyDeviceSignature, v as staticJwtSigningKey } from "./device-ca-BB6nHAL5.mjs";
4
+ import { d as JWT_SIGNING_KEY_REF, f as JwtSigningKeyUnavailableError, g as processJwtSigningKey, i as generateDeviceCa, l as verifyDeviceLeaf, m as getProcessJwtSigningKeyState, n as DEVICE_CA_KEY_REF, o as issueDeviceLeaf, p as SYSTEM_SECRET_OWNER, s as loadDeviceCa, u as verifyDeviceSignature, v as staticJwtSigningKey } from "./device-ca-lEaAQ9Xi.mjs";
5
5
  import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
6
6
  import "./builtins/alerts/index.mjs";
7
7
  import { CalendarsAddon } from "./builtins/calendars/calendars.addon.mjs";
@@ -27,21 +27,22 @@ import { LokiDestination, LokiLoggingAddon } from "./builtins/loki-logging/index
27
27
  import NativeMetricsAddon, { a as NativeMetricsProvider, n as nodeProcReader, r as parseProcStat } from "./builtins/native-metrics/native-metrics.addon.mjs";
28
28
  import { DeviceHistoryAddon } from "./builtins/device-history/device-history.addon.mjs";
29
29
  import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./builtins/sqlite-storage/filesystem-storage.addon.mjs";
30
- import { l as SqliteSettingsBackend } from "./wal-maintenance-BMiX6UIa.mjs";
30
+ import { l as SqliteSettingsBackend } from "./wal-maintenance-Duejh7Lx.mjs";
31
31
  import { SqliteSettingsAddon } from "./builtins/sqlite-storage/sqlite-settings.addon.mjs";
32
32
  import { ConfigStore, DeviceStore } from "./builtins/sqlite-storage/index.mjs";
33
33
  import { StorageOrchestratorAddon, a as stripForwardedCaller, i as createHubCapForwardService, l as STORAGE_DRAIN_STATE_LEGACY, n as HUB_CAP_FWD_ACTION, o as buildStorageLocationRegistry, r as HUB_CAP_FWD_SERVICE, t as StorageOrchestratorService, u as storageOrchestratorRecordKinds } from "./builtins/storage-orchestrator/storage-orchestrator.addon.mjs";
34
34
  import "./builtins/storage-orchestrator/index.mjs";
35
- import { a as MESH_CA_KEY_REF, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY } from "./constants-cxKcZRMi.mjs";
36
- import { $ as generateMeshCa, A as buildNameConstraintSet, B as setProcessAgentHttpsNames, C as LEAF_RENEWAL_WINDOW_DAYS, E as evaluateExistingCert, F as readNameConstraints, G as RENEWAL_ABANDONED, H as MESH_NODE_CERTIFICATES_COLLECTION, I as AGENT_HTTPS_NAMES_COLLECTION, J as setProcessMeshCertificateRegistry, K as describeMeshLeaf, L as AGENT_HTTPS_NAMES_COLUMNS, M as isLocalOnlyHostname, N as permitsIdentity, O as PERMITTED_DNS_SUFFIXES, P as permitsName, Q as exportMeshPrivateKeyPem, R as AgentHttpsNames, S as CA_VALIDITY_DAYS, T as SERVER_AUTH_OID, U as MESH_NODE_CERTIFICATES_COLUMNS, W as MeshCertificateRegistry, X as caFingerprintCompact, Y as caFingerprint, Z as createMeshCsrPem, a as collectAgentNames, b as collectCertIdentity, c as installAgentHttps, d as issueAgentHttpsLeaf, et as generateMeshKeyPair, f as loadAgentHttps, h as CA_COMMON_NAME, i as certificateNames, it as loadMeshCa, j as isConstrainedCa, k as PERMITTED_IP_RANGES, l as isContainerBridgeAddress, m as pinnedHttpsCaFingerprint, n as acceptAgentSans, nt as issueMeshLeafForNode, o as createAgentHttpsRequest, p as pemDigest, q as getProcessMeshCertificateRegistry, r as agentHttpsPaths, rt as issueMeshLeafFromCsr, s as describeHttpsLeaf, t as AgentHttpsInstallError, tt as isValidAgentNodeId, u as isPrivateAddress, w as MAX_LEAF_VALIDITY_DAYS, x as systemHostFacts, y as localCaCommonName, z as getProcessAgentHttpsNames } from "./agent-https-CK9Z4sSR.mjs";
35
+ import { a as MESH_CA_KEY_REF, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY } from "./constants-FGjnsE2x.mjs";
36
+ import { $ as generateMeshCa, A as buildNameConstraintSet, B as setProcessAgentHttpsNames, C as LEAF_RENEWAL_WINDOW_DAYS, E as evaluateExistingCert, F as readNameConstraints, G as RENEWAL_ABANDONED, H as MESH_NODE_CERTIFICATES_COLLECTION, I as AGENT_HTTPS_NAMES_COLLECTION, J as setProcessMeshCertificateRegistry, K as describeMeshLeaf, L as AGENT_HTTPS_NAMES_COLUMNS, M as isLocalOnlyHostname, N as permitsIdentity, O as PERMITTED_DNS_SUFFIXES, P as permitsName, Q as exportMeshPrivateKeyPem, R as AgentHttpsNames, S as CA_VALIDITY_DAYS, T as SERVER_AUTH_OID, U as MESH_NODE_CERTIFICATES_COLUMNS, W as MeshCertificateRegistry, X as caFingerprintCompact, Y as caFingerprint, Z as createMeshCsrPem, a as collectAgentNames, b as collectCertIdentity, c as installAgentHttps, d as issueAgentHttpsLeaf, et as generateMeshKeyPair, f as loadAgentHttps, h as CA_COMMON_NAME, i as certificateNames, it as loadMeshCa, j as isConstrainedCa, k as PERMITTED_IP_RANGES, l as isContainerBridgeAddress, m as pinnedHttpsCaFingerprint, n as acceptAgentSans, nt as issueMeshLeafForNode, o as createAgentHttpsRequest, p as pemDigest, q as getProcessMeshCertificateRegistry, r as agentHttpsPaths, rt as issueMeshLeafFromCsr, s as describeHttpsLeaf, t as AgentHttpsInstallError, tt as isValidAgentNodeId, u as isPrivateAddress, w as MAX_LEAF_VALIDITY_DAYS, x as systemHostFacts, y as localCaCommonName, z as getProcessAgentHttpsNames } from "./agent-https-CQA3W-3e.mjs";
37
37
  import { $ as parseCidrList, A as setProcessMeshPeerTransportLookup, B as requireProcessMeshCa, C as setProcessMeshTlsEnabler, D as getProcessPeerLeaf, E as getProcessNodeMeshTransport, F as setProcessMeshTlsListenerState, G as AGENT_UI_UNLOCK_VERSION, H as AGENT_UI_UNLOCK_TTL_MS, I as MeshCrl, J as mintAgentUiUnlockTicket, K as UnlockTicketJtiStore, L as processMeshCrl, M as revokeMeshCertificate, N as getProcessMeshTlsListenerState, O as isProcessVerifiedMeshPeer, P as openMeshTlsWhenRevocationsLoaded, Q as normalizeIp, R as MeshCaKeeper, S as ServiceBroker, SystemConfigAddon, T as emitProcessNodeRegistered, U as AGENT_UI_UNLOCK_TYP, V as AGENT_DASHBOARD_ORIGINS_FIELD, W as AGENT_UI_UNLOCK_USE, X as verifyAgentUiUnlockTicket, Y as parseAgentDashboardOrigins, Z as createCidrMatcher, _ as signPairingProof, a as hubHostFromMeshAddress, b as TlsTcpTransporter, c as PAIRING_MAX_SESSIONS, d as PAIRING_PROTOCOL, et as readCidrSetting, f as PAIRING_TTL_MS, g as keyFingerprintShort, h as describeCsr, i as AgentPairing, j as renewMeshCertificate, k as onProcessNodeRegistered, l as PAIRING_PATHS, m as computePairingSas, n as HubPairing, o as PAIRING_CODE_DIGITS, p as computePairingCommitment, q as isAllowedAgentDashboardReturnTo, r as PairingHttpError, s as PAIRING_MAX_CODE_ATTEMPTS, u as PAIRING_PIN_DIGITS, v as verifyPairingProof, w as dropProcessPeer, x as Errors, y as MESH_TLS_PORT_HELLO_FIELD, z as getProcessMeshCaState } from "./builtins/system-config/system-config.addon.mjs";
38
38
  import "./builtins/system-config/index.mjs";
39
39
  import { WinstonDestination, WinstonLoggingAddon } from "./builtins/winston-logging/index.mjs";
40
40
  import { C as isModelDownloaded, T as revisionWeightUrl, _ as downloadFile, a as startEventLoopStallMonitor, b as fetchJson, c as createAuthenticatedFileServer, d as resolveFilePath, f as ModelDownloadService, g as deleteModelFromDisk, h as collectModelFiles, i as attributeStall, l as parseRangeHeader, m as adoptModelRevisions, n as STALL_REPORT_MS, o as createFileDataPlaneHandler, r as STALL_TICK_MS, s as contentTypeFor, t as CustomActionRegistry, u as parseTokenizedUrl, v as downloadModel, w as resolveFormatRevision, x as getModelFilePath, y as ensureModel } from "./custom-action-registry-stpC3Zy-.mjs";
41
- import { A as allFamiliesListenHost, C as caReplacementMarkerFile, D as replaceUnconstrainedLocalCa, E as reissueTlsLeaf, F as registerLanHttpHandler, M as bindPendingLanHttp, N as closeLanHttp, O as retirePreviousLocalCa, P as readLanHttpState, S as validateUploadedTls, T as loadTlsCert, _ as splitPemCertificates, a as storeUploadedCertificate, b as chainsToPublicRoot, c as leafFingerprintOf, d as servedHttpsLeafFingerprint, f as prepareBootTls, g as readTlsMode, h as readTlsAccessStatus, i as revertToGeneratedCertificate, j as applyLanHttp, k as DEFAULT_LAN_HTTP_PORT, l as registerHttpsListener, m as readExtraSans, n as applyCertificateToListener, o as useStoredUploadedCertificate, p as UPLOADED_CA_FILE, r as regenerateCertificate, s as clearHttpsListener, t as createCiaoPublisher, u as reloadHttpsListener, v as writeExtraSans, w as ensureTlsCert, x as checkUploadedCa, y as writeTlsMode } from "./hub-mdns-ciao-B8olZqqd.mjs";
41
+ import { A as allFamiliesListenHost, C as caReplacementMarkerFile, D as replaceUnconstrainedLocalCa, E as reissueTlsLeaf, F as registerLanHttpHandler, M as bindPendingLanHttp, N as closeLanHttp, O as retirePreviousLocalCa, P as readLanHttpState, S as validateUploadedTls, T as loadTlsCert, _ as splitPemCertificates, a as storeUploadedCertificate, b as chainsToPublicRoot, c as leafFingerprintOf, d as servedHttpsLeafFingerprint, f as prepareBootTls, g as readTlsMode, h as readTlsAccessStatus, i as revertToGeneratedCertificate, j as applyLanHttp, k as DEFAULT_LAN_HTTP_PORT, l as registerHttpsListener, m as readExtraSans, n as applyCertificateToListener, o as useStoredUploadedCertificate, p as UPLOADED_CA_FILE, r as regenerateCertificate, s as clearHttpsListener, t as createCiaoPublisher, u as reloadHttpsListener, v as writeExtraSans, w as ensureTlsCert, x as checkUploadedCa, y as writeTlsMode } from "./hub-mdns-ciao-Bg2HfTwP.mjs";
42
42
  import { n as getPlatformKeychainKey, r as setPlatformKeychainKey, t as clearPlatformKeychainKey } from "./platform-key-source-BWlq0jjn.mjs";
43
43
  import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-Di9daRwI.mjs";
44
- import { c as backupOrchestratorRecordKinds, f as BackupDecryptError, g as generateBackupKeyPair, l as backupRecordStoresOf, m as BackupKeyMismatchError, p as BackupKeyFormatError, r as prepareRestoreArchive, s as SystemBackupService, t as BackupKeyRequiredError, v as readBackupEncryptionHeader } from "./restore-archive-DyOaPeAr.mjs";
44
+ import { c as backupOrchestratorRecordKinds, f as BackupDecryptError, g as generateBackupKeyPair, l as backupRecordStoresOf, m as BackupKeyMismatchError, p as BackupKeyFormatError, r as prepareRestoreArchive, s as SystemBackupService, t as BackupKeyRequiredError, v as readBackupEncryptionHeader } from "./restore-archive-C7kLDI_0.mjs";
45
+ import { n as nodeCoralFs, t as classifyCoralAccelerator } from "./coral-accelerators-DcnZvctM.mjs";
45
46
  import { z } from "zod";
46
47
  import * as crypto$1 from "node:crypto";
47
48
  import { createHash, randomBytes, randomUUID } from "node:crypto";
@@ -22310,30 +22311,6 @@ function safeExistsSync(path) {
22310
22311
  return false;
22311
22312
  }
22312
22313
  }
22313
- /**
22314
- * Detect a Coral USB Edge TPU: a matching USB device (`1a6e:089a` pre-init or
22315
- * `18d1:9302` post-init) OR the installed libedgetpu delegate (the hub
22316
- * provisions it out-of-band; its presence is a reliable "Coral is wired"
22317
- * signal even where the container's `/sys` USB view is limited).
22318
- */
22319
- function detectCoralUsb() {
22320
- const CORAL_IDS = [{
22321
- vendor: "1a6e",
22322
- product: "089a"
22323
- }, {
22324
- vendor: "18d1",
22325
- product: "9302"
22326
- }];
22327
- try {
22328
- for (const device of fs.readdirSync("/sys/bus/usb/devices")) try {
22329
- const base = `/sys/bus/usb/devices/${device}`;
22330
- const vendor = fs.readFileSync(`${base}/idVendor`, "utf8").trim().toLowerCase();
22331
- const product = fs.readFileSync(`${base}/idProduct`, "utf8").trim().toLowerCase();
22332
- if (CORAL_IDS.some((id) => id.vendor === vendor && id.product === product)) return true;
22333
- } catch {}
22334
- } catch {}
22335
- return safeExistsSync(process.env["CAMSTACK_EDGETPU_LIB"] ?? "/data/deps/edgetpu/lib/libedgetpu.so.1");
22336
- }
22337
22314
  /** Probe Linux GPU vendors by parsing /proc/bus/pci/devices or /sys/class/drm. */
22338
22315
  function probeLinuxGpus() {
22339
22316
  const signals = {
@@ -22342,7 +22319,7 @@ function probeLinuxGpus() {
22342
22319
  hasIntelGpu: false,
22343
22320
  hasRenderNode: false,
22344
22321
  hasIntelNpu: safeExistsSync("/dev/accel/accel0"),
22345
- hasCoral: detectCoralUsb()
22322
+ coral: classifyCoralAccelerator(nodeCoralFs)
22346
22323
  };
22347
22324
  signals.hasRenderNode = safeExistsSync("/dev/dri/renderD128");
22348
22325
  if (safeExistsSync("/dev/nvidia0") || safeExistsSync("/proc/driver/nvidia/version")) signals.hasNvidiaGpu = true;
@@ -22376,7 +22353,7 @@ function probePlatform() {
22376
22353
  hasIntelGpu: false,
22377
22354
  hasRenderNode: false,
22378
22355
  hasIntelNpu: false,
22379
- hasCoral: safeExistsSync(process.env["CAMSTACK_EDGETPU_LIB"] ?? "/data/deps/edgetpu/lib/libedgetpu.so.1")
22356
+ coral: classifyCoralAccelerator(nodeCoralFs)
22380
22357
  };
22381
22358
  }
22382
22359
  function pickBackendsForPlatform(signals) {
@@ -22467,7 +22444,7 @@ function mapSignalsToInferenceHardware(signals) {
22467
22444
  return {
22468
22445
  gpu: signals.hasNvidiaGpu ? { type: "nvidia" } : signals.hasAmdGpu ? { type: "amd" } : signals.hasIntelGpu ? { type: "intel" } : signals.hasRenderNode ? { type: "intel" } : null,
22469
22446
  npu: signals.platform === "darwin" && signals.arch === "arm64" ? { type: "apple-ane" } : signals.hasIntelNpu ? { type: "intel-npu" } : null,
22470
- coral: signals.hasCoral ? { type: "coral-edgetpu" } : null
22447
+ coral: signals.coral
22471
22448
  };
22472
22449
  }
22473
22450
  /**
@@ -24814,7 +24791,7 @@ function localHardwareInfo() {
24814
24791
  name: gpuType
24815
24792
  } : null,
24816
24793
  npu: npuType !== null ? { type: npuType } : null,
24817
- coral: inference.coral != null ? { type: "coral-edgetpu" } : null
24794
+ coral: inference.coral ?? null
24818
24795
  };
24819
24796
  }
24820
24797
  /** Runtime ids offered on this host (`onnx`, `openvino`, `coreml`, `edgetpu`). */
@@ -1,4 +1,4 @@
1
- import type { HwAccelBackend, HwAccelResolution } from "@camstack/types";
1
+ import type { CoralInfo, HwAccelBackend, HwAccelResolution } from "@camstack/types";
2
2
  export interface PlatformSignals {
3
3
  readonly platform: NodeJS.Platform;
4
4
  readonly arch: string;
@@ -8,8 +8,12 @@ export interface PlatformSignals {
8
8
  readonly hasRenderNode: boolean;
9
9
  /** Intel NPU (Meteor Lake / Core Ultra "AI Boost") — exposed as /dev/accel/accel0. */
10
10
  readonly hasIntelNpu: boolean;
11
- /** Coral USB Edge TPU — a discrete USB accelerator (gates the `edgetpu` runtime). */
12
- readonly hasCoral: boolean;
11
+ /**
12
+ * Coral Edge TPU hardware (USB and/or PCIe), whole — usable units and the
13
+ * present-but-unusable ones with their reason. `null` ⇒ no Coral found. The
14
+ * SAME classifier as the platform-probe builtin, so the two never disagree.
15
+ */
16
+ readonly coral: CoralInfo | null;
13
17
  }
14
18
  export declare function probePlatform(): PlatformSignals;
15
19
  /**
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-C89nqNnn.js");
1
+ const require_dist = require("./dist-BZQjLPiz.js");
2
2
  //#region src/builtins/records/legacy-table-row-count.ts
3
3
  /** Row count for a physical settings-db table (matches the records engine `legacyRowCount`). */
4
4
  function legacyTableRowCountFromList(tables, collection) {
@@ -1,4 +1,4 @@
1
- import { Wi as declarationsOf } from "./dist-Dhux90yB.mjs";
1
+ import { Wi as declarationsOf } from "./dist-B_GRPhnY.mjs";
2
2
  //#region src/builtins/records/legacy-table-row-count.ts
3
3
  /** Row count for a physical settings-db table (matches the records engine `legacyRowCount`). */
4
4
  function legacyTableRowCountFromList(tables, collection) {
@@ -1,4 +1,4 @@
1
- import { Ki as defineRecordKinds, N as DataStoreDatabaseSchema, S as DATABASE_SNAPSHOT_SUFFIX } from "./dist-Dhux90yB.mjs";
1
+ import { Ki as defineRecordKinds, N as DataStoreDatabaseSchema, S as DATABASE_SNAPSHOT_SUFFIX } from "./dist-B_GRPhnY.mjs";
2
2
  import { t as require_read_all_rows } from "./read-all-rows-TaPqdWNF.mjs";
3
3
  import { z } from "zod";
4
4
  import { createCipheriv, createDecipheriv, createHash, createPrivateKey, createPublicKey, diffieHellman, generateKeyPairSync, hkdfSync, randomBytes } from "node:crypto";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-C89nqNnn.js");
2
+ const require_dist = require("./dist-BZQjLPiz.js");
3
3
  const require_read_all_rows$1 = require("./read-all-rows-CVoO1ONM.js");
4
4
  let zod = require("zod");
5
5
  let node_crypto = require("node:crypto");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/system",
3
- "version": "1.2.457",
3
+ "version": "1.2.458",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",