@camstack/system 1.2.467 → 1.2.469

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-utils.mjs +1 -1
  2. package/dist/{agent-https-DJ8OzQOr.js → agent-https-5OgOR-eF.js} +1 -1
  3. package/dist/{agent-https-DR1wmhYY.mjs → agent-https-b-zX78oB.mjs} +1 -1
  4. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  5. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +4 -4
  6. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  7. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +5 -5
  8. package/dist/builtins/alerts/alerts.addon.js +1 -1
  9. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  10. package/dist/builtins/autotrack/index.js +1 -1
  11. package/dist/builtins/autotrack/index.mjs +1 -1
  12. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  13. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +5 -5
  14. package/dist/builtins/calendars/calendars.addon.js +1 -1
  15. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  16. package/dist/builtins/camera-grid/index.js +1 -1
  17. package/dist/builtins/camera-grid/index.mjs +1 -1
  18. package/dist/builtins/composer/composer.addon.js +2 -2
  19. package/dist/builtins/composer/composer.addon.mjs +2 -2
  20. package/dist/builtins/console-logging/index.js +1 -1
  21. package/dist/builtins/console-logging/index.mjs +1 -1
  22. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  23. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  24. package/dist/builtins/device-history/capture/capture-engine.d.ts +24 -4
  25. package/dist/builtins/device-history/device-history.addon.js +319 -44
  26. package/dist/builtins/device-history/device-history.addon.mjs +319 -44
  27. package/dist/builtins/device-history/query/history-query.d.ts +19 -2
  28. package/dist/builtins/device-history/retention/orphans.d.ts +50 -0
  29. package/dist/builtins/device-history/retention/retention.d.ts +9 -2
  30. package/dist/builtins/device-history/runtime/history-runtime.d.ts +10 -2
  31. package/dist/builtins/device-history/store/history-store.d.ts +5 -0
  32. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  33. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  34. package/dist/builtins/device-manager/device-meta-types.d.ts +2 -2
  35. package/dist/builtins/hub-forwarder/index.js +1 -1
  36. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  37. package/dist/builtins/keychain/index.js +3 -3
  38. package/dist/builtins/keychain/index.mjs +3 -3
  39. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  40. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  41. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  42. package/dist/builtins/local-auth/local-auth.addon.mjs +5 -5
  43. package/dist/builtins/local-network/local-network.addon.js +2 -2
  44. package/dist/builtins/local-network/local-network.addon.mjs +2 -2
  45. package/dist/builtins/loki-logging/index.js +1 -1
  46. package/dist/builtins/loki-logging/index.mjs +1 -1
  47. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  48. package/dist/builtins/native-metrics/native-metrics.addon.mjs +10 -10
  49. package/dist/builtins/platform-probe/index.js +1 -1
  50. package/dist/builtins/platform-probe/index.mjs +8 -8
  51. package/dist/builtins/record-entries/index.js +1 -1
  52. package/dist/builtins/record-entries/index.mjs +1 -1
  53. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  54. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  55. package/dist/builtins/snapshot/index.js +1 -1
  56. package/dist/builtins/snapshot/index.mjs +1 -1
  57. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  58. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +20 -20
  59. package/dist/builtins/sqlite-storage/index.js +1 -1
  60. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  61. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +2 -2
  62. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +2 -2
  63. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  64. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  65. package/dist/builtins/system-config/system-config.addon.js +3 -3
  66. package/dist/builtins/system-config/system-config.addon.mjs +115 -115
  67. package/dist/builtins/winston-logging/index.js +1 -1
  68. package/dist/builtins/winston-logging/index.mjs +1 -1
  69. package/dist/{composition-sources-5rpWQhA1.js → composition-sources-BGXTiUZm.js} +1 -1
  70. package/dist/{composition-sources-Qto-S6MA.mjs → composition-sources-DTdzzyf0.mjs} +1 -1
  71. package/dist/{constants-CuO3rcw4.js → constants-2mPqJjkR.js} +1 -1
  72. package/dist/{constants-BWli8Cju.mjs → constants-md_POijo.mjs} +1 -1
  73. package/dist/{coral-accelerators-D_S1Fo5h.mjs → coral-accelerators-Qhn5TOYZ.mjs} +5 -5
  74. package/dist/{custom-action-registry-BGYDjTqY.mjs → custom-action-registry-DZSCLBuT.mjs} +37 -37
  75. package/dist/{device-ca-CGcaSheI.js → device-ca-CC58lmNV.js} +1 -1
  76. package/dist/{device-ca-C5cLlah1.mjs → device-ca-CFdyrqeJ.mjs} +1 -1
  77. package/dist/{dist-BpUtAgqR.mjs → dist-CtVVtyTX.mjs} +247 -119
  78. package/dist/{dist-l6zKmHEb.js → dist-DuBtzSCh.js} +258 -118
  79. package/dist/file-host-worker.js +1 -1
  80. package/dist/file-host-worker.mjs +1 -1
  81. package/dist/{hub-mdns-ciao-CIno_SNn.js → hub-mdns-ciao-BLsX_2cL.js} +2 -2
  82. package/dist/{hub-mdns-ciao-0KWDyIMD.mjs → hub-mdns-ciao-CmuWLPci.mjs} +2 -2
  83. package/dist/index.js +7 -7
  84. package/dist/index.mjs +225 -225
  85. package/dist/{restore-archive-B71JI-sP.js → restore-archive-CxPAuaNs.js} +1 -1
  86. package/dist/{restore-archive-DKxAZ9pI.mjs → restore-archive-D2w3z_ob.mjs} +94 -94
  87. package/dist/{wal-maintenance-BXYwFecW.mjs → wal-maintenance-DeluFl_1.mjs} +0 -0
  88. package/dist/{wal-maintenance-B6LSQ_OZ.js → wal-maintenance-EK28XXnc.js} +0 -0
  89. package/package.json +1 -1
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Orphan series (D917): device series that are no longer linked to a device.
3
+ *
4
+ * - `device-gone` — the device is absent from the successful device listings:
5
+ * the {@link DepartureTracker}'s clock is running for it. The same knowledge
6
+ * the week-long departure purge uses, but REPORTED here the moment the clock
7
+ * starts, so an admin can see it.
8
+ * - `undeclared` — a `cap:` key no capability declares any more (a cap field
9
+ * that was removed, such as the `vacuum-control` tank levels D915 moved into
10
+ * `consumables`). Capture never writes it again; only retention would age it.
11
+ *
12
+ * Nothing is deleted on this judgement alone (D49): an admin deletes, by id,
13
+ * and each id is judged AGAIN at the moment of the delete — a device that came
14
+ * back between the listing and the click keeps its history.
15
+ */
16
+ import type { DeviceHistoryOrphanDeleteEntry, DeviceHistoryOrphanList, DeviceHistoryOrphanReason, IScopedLogger } from "@camstack/types";
17
+ import type { HistoryStore, SeriesRecord } from "../store/history-store.js";
18
+ import type { SeriesRegistry } from "../store/series-registry.js";
19
+ import type { DepartureTracker } from "./departure-tracker.js";
20
+ import type { RetentionJob } from "./retention.js";
21
+ export interface OrphanVerdict {
22
+ readonly reason: DeviceHistoryOrphanReason;
23
+ readonly missingSince: number | null;
24
+ }
25
+ /**
26
+ * The orphan verdict of one series, or `null` when it is linked. PURE. A node
27
+ * series is never orphan here (its subject is a node, not a device).
28
+ */
29
+ export declare function judgeOrphan(series: Pick<SeriesRecord, "key" | "deviceId">, declaredCapKeys: ReadonlySet<string>, missingSince: number | undefined): OrphanVerdict | null;
30
+ export interface OrphanSeriesDeps {
31
+ readonly store: HistoryStore;
32
+ readonly registry: SeriesRegistry;
33
+ readonly departures: DepartureTracker;
34
+ readonly retention: RetentionJob;
35
+ /** Every `cap:` series key the catalogs declare (fields and keyed-item fields). */
36
+ readonly declaredCapKeys: ReadonlySet<string>;
37
+ readonly logger: IScopedLogger;
38
+ readonly clock: () => number;
39
+ }
40
+ export declare class OrphanSeries {
41
+ private readonly deps;
42
+ constructor(deps: OrphanSeriesDeps);
43
+ private verdictOf;
44
+ /** Every orphan, ordered by device, key and scope, the first {@link DEVICE_HISTORY_ORPHAN_LIST_MAX} counted. */
45
+ list(): Promise<DeviceHistoryOrphanList>;
46
+ private rowsOf;
47
+ /** Delete orphans by id, one at a time, each re-judged now. One entry per id, in order. */
48
+ delete(seriesIds: readonly number[]): Promise<readonly DeviceHistoryOrphanDeleteEntry[]>;
49
+ private deleteOne;
50
+ }
@@ -54,8 +54,15 @@ export declare class RetentionJob {
54
54
  /** Drop the visit markers of a purged series. */
55
55
  forgetSeries(seriesId: number): void;
56
56
  private deleteSliced;
57
- /** Tier by tier in slices, then the series row (and whatever the slices missed). */
58
- private purgeSeries;
57
+ /**
58
+ * Tier by tier in slices, then the series row (and whatever the slices missed).
59
+ * Answers the rows the slices deleted per tier. The caller removes the series
60
+ * from the registry, which releases its per-series state.
61
+ */
62
+ purgeSeries(series: {
63
+ readonly id: number;
64
+ readonly firstTs: number;
65
+ }, now: number): Promise<Readonly<Record<StoredTier, number>>>;
59
66
  /**
60
67
  * Delete every series of a DELETED device now (D865). Driven by a tombstone
61
68
  * through the `device-removal-hook`, never by a listing: the week-long
@@ -11,13 +11,14 @@
11
11
  * Then {@link HistoryRuntime.startTimers} arms flush (10 s), rollups (60 s),
12
12
  * reconcile (5 min), retention (10 min) and the row counts (30 min).
13
13
  */
14
- import type { DeviceHistoryStatus, IScopedLogger } from "@camstack/types";
15
- import { CaptureEngine, type HistoryCatalog, type SnapshotMap } from "../capture/capture-engine.js";
14
+ import type { DeviceHistoryOrphanDeleteEntry, DeviceHistoryOrphanList, DeviceHistoryStatus, IScopedLogger } from "@camstack/types";
15
+ import { CaptureEngine, type HistoryCatalog, type HistoryItemCatalog, type SnapshotMap } from "../capture/capture-engine.js";
16
16
  import { DeviceDirectory, type DeviceTypeSource } from "../capture/device-directory.js";
17
17
  import { PointWriter } from "../capture/point-writer.js";
18
18
  import { ProducerIngest } from "../ingest/producer-ingest.js";
19
19
  import { HistoryQuery } from "../query/history-query.js";
20
20
  import { DepartureTracker } from "../retention/departure-tracker.js";
21
+ import { OrphanSeries } from "../retention/orphans.js";
21
22
  import { RetentionJob, type RetentionPolicy } from "../retention/retention.js";
22
23
  import { RollupEngine } from "../rollup/rollup-engine.js";
23
24
  import { HistoryCounters } from "../status/counters.js";
@@ -36,6 +37,8 @@ export declare const FIRST_COUNT_DELAY_MS: number;
36
37
  export interface HistoryRuntimeDeps {
37
38
  readonly door: HistoryDoor;
38
39
  readonly catalog: HistoryCatalog;
40
+ /** Keyed-array series (D917): the generated `HISTORY_ITEM_CATALOG`. */
41
+ readonly itemCatalog: HistoryItemCatalog;
39
42
  readonly deviceSource: DeviceTypeSource;
40
43
  readonly readSnapshots: () => Promise<SnapshotMap>;
41
44
  readonly readCapSlice: (deviceId: number, capName: string) => Promise<Readonly<Record<string, unknown>> | null>;
@@ -56,6 +59,7 @@ export declare class HistoryRuntime {
56
59
  readonly query: HistoryQuery;
57
60
  readonly retentionJob: RetentionJob;
58
61
  readonly departures: DepartureTracker;
62
+ readonly orphans: OrphanSeries;
59
63
  private optedOutDevices;
60
64
  private readonly tierCounts;
61
65
  private readonly startedAt;
@@ -87,6 +91,10 @@ export declare class HistoryRuntime {
87
91
  removeDevice(deviceId: number): Promise<{
88
92
  series: number;
89
93
  }>;
94
+ /** Device series no longer linked to a device — reported, never purged here. */
95
+ listOrphans(): Promise<DeviceHistoryOrphanList>;
96
+ /** Delete orphan series by id; a series that is not orphan NOW is refused. */
97
+ deleteOrphans(seriesIds: readonly number[]): Promise<readonly DeviceHistoryOrphanDeleteEntry[]>;
90
98
  /** Series held per device, for the admin clean-up listing. */
91
99
  seriesByDevice(): ReadonlyMap<number, number>;
92
100
  status(): DeviceHistoryStatus;
@@ -83,6 +83,11 @@ export declare class HistoryStore {
83
83
  deleteRange(tier: StoredTier, seriesId: number, lo: number, hiInclusive: number): Promise<number>;
84
84
  /** Delete every row of one series, in every tier, then the series row. */
85
85
  deleteSeries(seriesId: number): Promise<void>;
86
+ /**
87
+ * One series' rows of a tier: a range of the primary key (`series_id = ?`),
88
+ * never a scan of the tier (D447, asserted in `history-query-plans.spec.ts`).
89
+ */
90
+ countSeriesRows(tier: StoredTier, seriesId: number): Promise<number>;
86
91
  countRows(tier: StoredTier): Promise<number>;
87
92
  loadOptOuts(): Promise<ReadonlySet<number>>;
88
93
  setOptOut(deviceId: number, at: number): Promise<void>;
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-l6zKmHEb.js");
6
+ const require_dist = require("../../dist-DuBtzSCh.js");
7
7
  const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
8
8
  const require_prefix_range = require("../../prefix-range-D_KueXbQ.js");
9
9
  const require_prefix_walk = require("../../prefix-walk-Dv6MLZlM.js");
@@ -3780,7 +3780,7 @@ async function deriveDeviceConfigContribution(deps, registry, def, entry, device
3780
3780
  title: ui.label,
3781
3781
  tab: ui.tab,
3782
3782
  order: ui.order ?? 0,
3783
- ...ui.topTab ? { location: "top-tab" } : {},
3783
+ ...ui.placement === "hero" ? { location: "hero" } : ui.topTab ? { location: "top-tab" } : {},
3784
3784
  fields: [{
3785
3785
  type: "widget",
3786
3786
  key: `${entry.capName}Widget`,
@@ -1,4 +1,4 @@
1
- import { $i as isKeychainStoredField, $r as BaseAddon, At as buildStreamParamsConfigSchema, Ca as userError, Ei as SECRET_CLEAR, F as DeviceTombstoneSchema, Fn as locationIconKey, Gi as defineRecordKinds, J as MINUTES_PER_DAY, Jt as defineExtensionSlotProvider, Kn as normalizeUnit, L as FieldClaimModeSchema, Nt as canonicalIconKey, P as DeviceStatusSchema, Qr as errMsg, Qt as deviceExtensionCapability, R as FieldClaimSchema, Sa as transformSecretWrite, Ta as EventCategory, Ut as createDeviceExtensionProvider, Vi as collectZodSecretPaths, Xr as DeviceRole, Yn as parseStreamParamsFormPatch, Yr as DeviceFeature, Zi as isDeviceConfigCap, Zr as DeviceType, _a as secretTreeFromPaths, an as enumerateItemArrayFields, at as STREAM_PROFILE_META, ea as isSecretClear, en as deviceManagerCapability, ha as resolveSecretMarkers, hn as formatMinutes, ji as WELL_KNOWN_TAB_MAP, jn as legacyAutoLinkIds, l as CAP_NAMES_WITH_STATUS, ln as expandContainer, na as isSecretMarkerLike, nn as deviceStateCapability, on as enumerateSchemaFields, pr as runtimeStatePolicyFor, r as ALL_CAPABILITY_DEFINITIONS, rn as deviceStatusCapability, s as CAMERA_SWITCH_ORDER, ta as isSecretMarker, w as DAY_NAMES, xa as toSecretFieldView, ya as sleep$1, yr as siteZoneKey } from "../../dist-BpUtAgqR.mjs";
1
+ import { $i as isDeviceConfigCap, $r as errMsg, $t as deviceExtensionCapability, Ca as toSecretFieldView, Da as EventCategory, Di as SECRET_CLEAR, F as DeviceTombstoneSchema, Hi as collectZodSecretPaths, In as locationIconKey, Ki as defineRecordKinds, L as FieldClaimModeSchema, Mi as WELL_KNOWN_TAB_MAP, Mn as legacyAutoLinkIds, P as DeviceStatusSchema, Pt as canonicalIconKey, Qr as DeviceType, R as FieldClaimSchema, Ta as userError, Wt as createDeviceExtensionProvider, Xn as parseStreamParamsFormPatch, Xr as DeviceFeature, Y as MINUTES_PER_DAY, Yt as defineExtensionSlotProvider, Zr as DeviceRole, _a as resolveSecretMarkers, br as siteZoneKey, ei as BaseAddon, gn as formatMinutes, ia as isSecretMarkerLike, in as deviceStatusCapability, jt as buildStreamParamsConfigSchema, l as CAP_NAMES_WITH_STATUS, mr as runtimeStatePolicyFor, na as isSecretClear, on as enumerateItemArrayFields, ot as STREAM_PROFILE_META, qn as normalizeUnit, r as ALL_CAPABILITY_DEFINITIONS, ra as isSecretMarker, rn as deviceStateCapability, s as CAMERA_SWITCH_ORDER, sn as enumerateSchemaFields, ta as isKeychainStoredField, tn as deviceManagerCapability, un as expandContainer, w as DAY_NAMES, wa as transformSecretWrite, xa as sleep$1, ya as secretTreeFromPaths } from "../../dist-CtVVtyTX.mjs";
2
2
  import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
3
3
  import { t as prefixRange } from "../../prefix-range-Dl0znowN.mjs";
4
4
  import { t as loadPrefixed } from "../../prefix-walk-DAOBSyH1.mjs";
@@ -3775,7 +3775,7 @@ async function deriveDeviceConfigContribution(deps, registry, def, entry, device
3775
3775
  title: ui.label,
3776
3776
  tab: ui.tab,
3777
3777
  order: ui.order ?? 0,
3778
- ...ui.topTab ? { location: "top-tab" } : {},
3778
+ ...ui.placement === "hero" ? { location: "hero" } : ui.topTab ? { location: "top-tab" } : {},
3779
3779
  fields: [{
3780
3780
  type: "widget",
3781
3781
  key: `${entry.capName}Widget`,
@@ -34,8 +34,8 @@ export interface ContributionShape {
34
34
  defaultCollapsed?: boolean;
35
35
  columns?: 1 | 2 | 3 | 4;
36
36
  tab?: string;
37
- /** Where the section renders. Default 'settings' (Config tab); 'top-tab' hoists into the device-detail tab bar via DeviceDetail discovery. */
38
- location?: "settings" | "top-tab";
37
+ /** Where the section renders. Default 'settings' (Config tab); 'top-tab' hoists into the device-detail tab bar via DeviceDetail discovery; 'hero' shows it once directly under the device's hero card (D915). */
38
+ location?: "settings" | "top-tab" | "hero";
39
39
  order?: number;
40
40
  fields: unknown[];
41
41
  }>;
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-l6zKmHEb.js");
6
+ const require_dist = require("../../dist-DuBtzSCh.js");
7
7
  const require_formatter = require("../../formatter-DqAKDlvN.js");
8
8
  //#region src/builtins/hub-forwarder/hub-forwarder-destination.ts
9
9
  var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
@@ -1,4 +1,4 @@
1
- import { $r as BaseAddon, In as logDestinationCapability } from "../../dist-BpUtAgqR.mjs";
1
+ import { Ln as logDestinationCapability, ei as BaseAddon } from "../../dist-CtVVtyTX.mjs";
2
2
  import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
3
3
  //#region src/builtins/hub-forwarder/hub-forwarder-destination.ts
4
4
  var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
@@ -3,10 +3,10 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-l6zKmHEb.js");
7
- const require_device_ca = require("../../device-ca-CGcaSheI.js");
6
+ const require_dist = require("../../dist-DuBtzSCh.js");
7
+ const require_device_ca = require("../../device-ca-CC58lmNV.js");
8
8
  const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
9
- const require_constants = require("../../constants-CuO3rcw4.js");
9
+ const require_constants = require("../../constants-2mPqJjkR.js");
10
10
  const require_platform_key_source = require("../../platform-key-source-Di7HrlGR.js");
11
11
  let node_crypto = require("node:crypto");
12
12
  let _camstack_types_node = require("@camstack/types/node");
@@ -1,7 +1,7 @@
1
- import { $r as BaseAddon, An as keychainCapability, Gi as defineRecordKinds, H as KEYCHAIN_RESET_TRIGGER_ACTOR, Ta as EventCategory, U as KeychainAuditEntrySchema, W as KeychainResetRecordSchema, Yi as formatSecretScope, ca as normalizeSecretOwner, da as parseSecretRef, kn as keychainAdminCapability } from "../../dist-BpUtAgqR.mjs";
2
- import { d as JWT_SIGNING_KEY_REF, n as DEVICE_CA_KEY_REF, p as SYSTEM_SECRET_OWNER } from "../../device-ca-C5cLlah1.mjs";
1
+ import { An as keychainAdminCapability, Da as EventCategory, G as KeychainResetRecordSchema, Ki as defineRecordKinds, U as KEYCHAIN_RESET_TRIGGER_ACTOR, W as KeychainAuditEntrySchema, Xi as formatSecretScope, ei as BaseAddon, jn as keychainCapability, pa as parseSecretRef, ua as normalizeSecretOwner } from "../../dist-CtVVtyTX.mjs";
2
+ import { d as JWT_SIGNING_KEY_REF, n as DEVICE_CA_KEY_REF, p as SYSTEM_SECRET_OWNER } from "../../device-ca-CFdyrqeJ.mjs";
3
3
  import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
4
- import { a as MESH_CA_KEY_REF } from "../../constants-BWli8Cju.mjs";
4
+ import { a as MESH_CA_KEY_REF } from "../../constants-md_POijo.mjs";
5
5
  import { n as getPlatformKeychainKey } from "../../platform-key-source-BWlq0jjn.mjs";
6
6
  import { createCipheriv, createDecipheriv, createHmac, randomBytes, randomUUID, timingSafeEqual } from "node:crypto";
7
7
  import { restrictDirToOwnerSync, restrictFileToOwnerSync, writeOwnerOnlyFileSync } from "@camstack/types/node";
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../chunk-Cek0wNdY.js");
3
- const require_dist = require("../../dist-l6zKmHEb.js");
3
+ const require_dist = require("../../dist-DuBtzSCh.js");
4
4
  //#region src/builtins/liveness-monitor/liveness-checks.ts
5
5
  var NO_DEVICES = "liveness:no-devices";
6
6
  var ALL_OFFLINE = "liveness:all-devices-offline";
@@ -1,4 +1,4 @@
1
- import { $r as BaseAddon, Hi as createEvent, Qr as errMsg, Ta as EventCategory, rt as RecordingStatusSchema, tt as RECORDING_SOURCE_CAMSTACK_ADDON } from "../../dist-BpUtAgqR.mjs";
1
+ import { $r as errMsg, Da as EventCategory, Ui as createEvent, ei as BaseAddon, it as RecordingStatusSchema, nt as RECORDING_SOURCE_CAMSTACK_ADDON } from "../../dist-CtVVtyTX.mjs";
2
2
  //#region src/builtins/liveness-monitor/liveness-checks.ts
3
3
  var NO_DEVICES = "liveness:no-devices";
4
4
  var ALL_OFFLINE = "liveness:all-devices-offline";
@@ -3,10 +3,10 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-l6zKmHEb.js");
6
+ const require_dist = require("../../dist-DuBtzSCh.js");
7
7
  const require_safe_buffer$1 = require("../../safe-buffer-D3aoa-7X.js");
8
8
  const require_ms$1 = require("../../ms-LB3giGoU.js");
9
- const require_device_ca = require("../../device-ca-CGcaSheI.js");
9
+ const require_device_ca = require("../../device-ca-CC58lmNV.js");
10
10
  const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
11
11
  let zod = require("zod");
12
12
  let node_crypto = require("node:crypto");
@@ -1,15 +1,15 @@
1
1
  import { i as __require, o as __toESM, t as __commonJSMin } from "../../chunk-CNf5ZN-e.mjs";
2
- import { $ as PreferenceNamespaceSchema, $r as BaseAddon, Ar as userManagementCapability, Ca as userError, Cn as isCredentialTokenPayload, Ct as authProviderCapability, E as DEVICE_ENROLLMENT_TTL_MS, Gi as defineRecordKinds, O as DEVICE_NONCE_TTL_MS, Ot as buildDeviceEnrollmentLink, Q as PreferenceDeviceIdSchema, Z as PREFERENCES_MAX_VALUE_BYTES, Zt as deviceCredentialsCapability, ct as SsoBridgeClaimsSchema, et as PreferenceValueSchema, h as CREDENTIAL_TOKEN_AUDIENCE, ht as UserRecordSchema, ia as makeSecretMarker, kt as buildDeviceSignatureMessage, mn as formatDeviceRevoker, ot as ScopedTokenSchema, pt as TokenScopeSchema, ta as isSecretMarker, y as CredentialTokenClaimsSchema } from "../../dist-BpUtAgqR.mjs";
2
+ import { $ as PreferenceDeviceIdSchema, At as buildDeviceSignatureMessage, E as DEVICE_ENROLLMENT_TTL_MS, Ki as defineRecordKinds, O as DEVICE_NONCE_TTL_MS, Q as PREFERENCES_MAX_VALUE_BYTES, Qt as deviceCredentialsCapability, Ta as userError, ei as BaseAddon, et as PreferenceNamespaceSchema, gt as UserRecordSchema, h as CREDENTIAL_TOKEN_AUDIENCE, hn as formatDeviceRevoker, jr as userManagementCapability, kt as buildDeviceEnrollmentLink, lt as SsoBridgeClaimsSchema, mt as TokenScopeSchema, oa as makeSecretMarker, ra as isSecretMarker, st as ScopedTokenSchema, tt as PreferenceValueSchema, wn as isCredentialTokenPayload, wt as authProviderCapability, y as CredentialTokenClaimsSchema } from "../../dist-CtVVtyTX.mjs";
3
3
  import { t as require_safe_buffer } from "../../safe-buffer-B1OjL1I9.mjs";
4
4
  import { t as require_ms } from "../../ms-CgH2OFlD.mjs";
5
- import { _ as setProcessJwtSigningKey, a as importDevicePublicKey, c as rebuildDeviceCaCertificate, d as JWT_SIGNING_KEY_REF, g as processJwtSigningKey, h as loadJwtSigningKey, i as generateDeviceCa, l as verifyDeviceLeaf, m as getProcessJwtSigningKeyState, n as DEVICE_CA_KEY_REF, o as issueDeviceLeaf, r as DEVICE_CA_SETTINGS_SECTION, s as loadDeviceCa, t as DEVICE_CA_FIELD, u as verifyDeviceSignature } from "../../device-ca-C5cLlah1.mjs";
5
+ import { _ as setProcessJwtSigningKey, a as importDevicePublicKey, c as rebuildDeviceCaCertificate, d as JWT_SIGNING_KEY_REF, g as processJwtSigningKey, h as loadJwtSigningKey, i as generateDeviceCa, l as verifyDeviceLeaf, m as getProcessJwtSigningKeyState, n as DEVICE_CA_KEY_REF, o as issueDeviceLeaf, r as DEVICE_CA_SETTINGS_SECTION, s as loadDeviceCa, t as DEVICE_CA_FIELD, u as verifyDeviceSignature } from "../../device-ca-CFdyrqeJ.mjs";
6
6
  import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
7
7
  import { z } from "zod";
8
8
  import * as crypto$1 from "node:crypto";
9
9
  import { X509Certificate, createHash, randomUUID, timingSafeEqual } from "node:crypto";
10
10
  import nodeCrypto from "crypto";
11
11
  import * as path$1 from "node:path";
12
- import * as fs from "node:fs";
12
+ import * as fs$1 from "node:fs";
13
13
  //#region ../../node_modules/bcryptjs/index.js
14
14
  /**
15
15
  * The random implementation to use as a fallback.
@@ -12064,8 +12064,8 @@ var LocalAuthAddon = class extends BaseAddon {
12064
12064
  users: this.userManager,
12065
12065
  dataDir: this.ctx.nodeDataDir,
12066
12066
  fs: {
12067
- exists: (filePath) => fs.existsSync(filePath),
12068
- remove: (filePath) => fs.rmSync(filePath, { force: true })
12067
+ exists: (filePath) => fs$1.existsSync(filePath),
12068
+ remove: (filePath) => fs$1.rmSync(filePath, { force: true })
12069
12069
  },
12070
12070
  logger: this.ctx.logger
12071
12071
  });
@@ -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-l6zKmHEb.js");
4
- const require_hub_mdns_ciao = require("../../hub-mdns-ciao-CIno_SNn.js");
3
+ const require_dist = require("../../dist-DuBtzSCh.js");
4
+ const require_hub_mdns_ciao = require("../../hub-mdns-ciao-BLsX_2cL.js");
5
5
  let zod = require("zod");
6
6
  let node_net = require("node:net");
7
7
  let node_os = require("node:os");
@@ -1,5 +1,5 @@
1
- import { $r as BaseAddon, B as HUB_MDNS_SERVICE_TYPE, Mr as validateCustomAddress, Pn as localNetworkCapability, Pt as checkRoleAddress, Qr as errMsg, Ta as EventCategory, V as HUB_MDNS_TXT_KEYS, X as NetworkTunnelStartedDataSchema, Xn as pickAppLinkHub, ar as resolveAppConnections, bn as isAppLinkBase, c as CAMSTACK_APP_LINK_ORIGIN, fr as resolveNotificationTapAddress, lr as resolveHubAddressRoles, vr as shortHostname, wn as isDefaultAppConnectionEndpoint } from "../../dist-BpUtAgqR.mjs";
2
- import { P as readLanHttpState, a as storeUploadedCertificate, d as servedHttpsLeafFingerprint, g as readTlsMode, h as readTlsAccessStatus, i as revertToGeneratedCertificate, j as applyLanHttp, k as DEFAULT_LAN_HTTP_PORT, m as readExtraSans, n as applyCertificateToListener, o as useStoredUploadedCertificate, r as regenerateCertificate, t as createCiaoPublisher, v as writeExtraSans, w as ensureTlsCert } from "../../hub-mdns-ciao-0KWDyIMD.mjs";
1
+ import { $r as errMsg, Da as EventCategory, Fn as localNetworkCapability, Ft as checkRoleAddress, H as HUB_MDNS_TXT_KEYS, Nr as validateCustomAddress, Tn as isDefaultAppConnectionEndpoint, V as HUB_MDNS_SERVICE_TYPE, Z as NetworkTunnelStartedDataSchema, Zn as pickAppLinkHub, c as CAMSTACK_APP_LINK_ORIGIN, ei as BaseAddon, or as resolveAppConnections, pr as resolveNotificationTapAddress, ur as resolveHubAddressRoles, xn as isAppLinkBase, yr as shortHostname } from "../../dist-CtVVtyTX.mjs";
2
+ import { P as readLanHttpState, a as storeUploadedCertificate, d as servedHttpsLeafFingerprint, g as readTlsMode, h as readTlsAccessStatus, i as revertToGeneratedCertificate, j as applyLanHttp, k as DEFAULT_LAN_HTTP_PORT, m as readExtraSans, n as applyCertificateToListener, o as useStoredUploadedCertificate, r as regenerateCertificate, t as createCiaoPublisher, v as writeExtraSans, w as ensureTlsCert } from "../../hub-mdns-ciao-CmuWLPci.mjs";
3
3
  import { z } from "zod";
4
4
  import { isIP } from "node:net";
5
5
  import * as os$1 from "node:os";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-l6zKmHEb.js");
6
+ const require_dist = require("../../dist-DuBtzSCh.js");
7
7
  const require_log_read_filter = require("../../log-read-filter-Bi066jwU.js");
8
8
  let zod = require("zod");
9
9
  //#region src/builtins/loki-logging/loki-payload.ts
@@ -1,4 +1,4 @@
1
- import { $r as BaseAddon, In as logDestinationCapability } from "../../dist-BpUtAgqR.mjs";
1
+ import { Ln as logDestinationCapability, ei as BaseAddon } from "../../dist-CtVVtyTX.mjs";
2
2
  import { n as compileLogFilter, o as lineMatches } from "../../log-read-filter-D7Ev3zm-.mjs";
3
3
  import { z } from "zod";
4
4
  //#region src/builtins/loki-logging/loki-payload.ts
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-l6zKmHEb.js");
6
+ const require_dist = require("../../dist-DuBtzSCh.js");
7
7
  let node_fs_promises = require("node:fs/promises");
8
8
  let node_util = require("node:util");
9
9
  let node_os = require("node:os");
@@ -1,9 +1,9 @@
1
- import { $r as BaseAddon, Hi as createEvent, Hn as metricsProviderCapability, Qr as errMsg, Ta as EventCategory, mt as UNATTRIBUTED_BUCKET_KEY, nt as ROOT_BUCKET_KEY, or as resolveBucketMs, pn as foldSnapshotByFunction, rr as reducePoints } from "../../dist-BpUtAgqR.mjs";
1
+ import { $r as errMsg, Da as EventCategory, Ui as createEvent, Un as metricsProviderCapability, ei as BaseAddon, ht as UNATTRIBUTED_BUCKET_KEY, ir as reducePoints, mn as foldSnapshotByFunction, rt as ROOT_BUCKET_KEY, sr as resolveBucketMs } from "../../dist-CtVVtyTX.mjs";
2
2
  import { access, readFile, readdir } from "node:fs/promises";
3
3
  import { promisify } from "node:util";
4
4
  import * as os$1 from "node:os";
5
5
  import { platform } from "node:os";
6
- import * as fs from "node:fs";
6
+ import * as fs$1 from "node:fs";
7
7
  import { constants, readFileSync } from "node:fs";
8
8
  import { execFile, execFileSync } from "node:child_process";
9
9
  //#region src/builtins/native-metrics/cgroup-memory.ts
@@ -1642,7 +1642,7 @@ var NativeMetricsProvider = class {
1642
1642
  let swapUsedBytes = 0;
1643
1643
  let swapTotalBytes = 0;
1644
1644
  if (IS_LINUX) try {
1645
- const meminfo = fs.readFileSync("/proc/meminfo", "utf-8");
1645
+ const meminfo = fs$1.readFileSync("/proc/meminfo", "utf-8");
1646
1646
  const swapTotal = parseInt(meminfo.match(/SwapTotal:\s+(\d+)/)?.[1] ?? "0", 10) * 1024;
1647
1647
  const swapFree = parseInt(meminfo.match(/SwapFree:\s+(\d+)/)?.[1] ?? "0", 10) * 1024;
1648
1648
  swapTotalBytes = swapTotal;
@@ -1720,7 +1720,7 @@ function sampleMacMemory(provider) {
1720
1720
  }
1721
1721
  function getDiskSpaceInternal(dirPath) {
1722
1722
  return new Promise((resolve, reject) => {
1723
- fs.statfs(dirPath, (err, stats) => {
1723
+ fs$1.statfs(dirPath, (err, stats) => {
1724
1724
  if (err) return reject(err);
1725
1725
  const totalBytes = stats.blocks * stats.bsize;
1726
1726
  const availableBytes = stats.bavail * stats.bsize;
@@ -1738,7 +1738,7 @@ function getDiskSpaceInternal(dirPath) {
1738
1738
  async function takeDiskIoSnapshot() {
1739
1739
  const now = Date.now();
1740
1740
  if (IS_LINUX) try {
1741
- const data = fs.readFileSync("/proc/diskstats", "utf-8");
1741
+ const data = fs$1.readFileSync("/proc/diskstats", "utf-8");
1742
1742
  let readOps = 0, readBytes = 0, writeOps = 0, writeBytes = 0;
1743
1743
  for (const line of data.split("\n")) {
1744
1744
  const parts = line.trim().split(/\s+/);
@@ -1769,7 +1769,7 @@ async function takeDiskIoSnapshot() {
1769
1769
  async function takeNetworkIoSnapshot() {
1770
1770
  const now = Date.now();
1771
1771
  if (IS_LINUX) try {
1772
- const data = fs.readFileSync("/proc/net/dev", "utf-8");
1772
+ const data = fs$1.readFileSync("/proc/net/dev", "utf-8");
1773
1773
  let rxBytes = 0, txBytes = 0, rxPackets = 0, txPackets = 0, rxErrors = 0, txErrors = 0;
1774
1774
  for (const line of data.split("\n")) {
1775
1775
  const match = line.match(/^\s*(\w+):\s+(.+)$/);
@@ -1830,7 +1830,7 @@ async function takeNetworkIoSnapshot() {
1830
1830
  }
1831
1831
  async function getCpuTemperatureInternal() {
1832
1832
  if (IS_LINUX) for (const p of ["/sys/class/thermal/thermal_zone0/temp", "/sys/class/hwmon/hwmon0/temp1_input"]) try {
1833
- const raw = fs.readFileSync(p, "utf-8").trim();
1833
+ const raw = fs$1.readFileSync(p, "utf-8").trim();
1834
1834
  const millideg = parseInt(raw, 10);
1835
1835
  if (!isNaN(millideg)) return Math.round(millideg / 100) / 10;
1836
1836
  } catch {
@@ -1881,10 +1881,10 @@ function getProcessResources() {
1881
1881
  let threadCount = 0;
1882
1882
  if (IS_LINUX) {
1883
1883
  try {
1884
- openFds = fs.readdirSync(`/proc/${process.pid}/fd`).length;
1884
+ openFds = fs$1.readdirSync(`/proc/${process.pid}/fd`).length;
1885
1885
  } catch {}
1886
1886
  try {
1887
- const match = fs.readFileSync(`/proc/${process.pid}/status`, "utf-8").match(/Threads:\s+(\d+)/);
1887
+ const match = fs$1.readFileSync(`/proc/${process.pid}/status`, "utf-8").match(/Threads:\s+(\d+)/);
1888
1888
  if (match) threadCount = parseInt(match[1], 10);
1889
1889
  } catch {}
1890
1890
  }
@@ -1899,7 +1899,7 @@ function getProcessResources() {
1899
1899
  function getPressure(resource) {
1900
1900
  if (!IS_LINUX) return null;
1901
1901
  try {
1902
- const data = fs.readFileSync(`/proc/pressure/${resource}`, "utf-8");
1902
+ const data = fs$1.readFileSync(`/proc/pressure/${resource}`, "utf-8");
1903
1903
  const parseLine = (prefix) => {
1904
1904
  const match = data.match(new RegExp(`${prefix} avg10=(\\d+\\.\\d+) avg60=(\\d+\\.\\d+) avg300=(\\d+\\.\\d+)`));
1905
1905
  if (!match) return null;
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-l6zKmHEb.js");
6
+ const require_dist = require("../../dist-DuBtzSCh.js");
7
7
  const require_coral_accelerators = require("../../coral-accelerators-oUXmmbc2.js");
8
8
  let node_util = require("node:util");
9
9
  let node_os = require("node:os");
@@ -1,9 +1,9 @@
1
1
  import { o as __toESM, r as __exportAll } from "../../chunk-CNf5ZN-e.mjs";
2
- import { $r as BaseAddon, Qn as platformProbeCapability, Qr as errMsg, Ta as EventCategory, gr as scoreRuntimes, in as enumerateInferenceDevices, qi as emitReadiness } from "../../dist-BpUtAgqR.mjs";
3
- import { n as nodeCoralFs, t as classifyCoralAccelerator } from "../../coral-accelerators-D_S1Fo5h.mjs";
2
+ import { $n as platformProbeCapability, $r as errMsg, Da as EventCategory, Ji as emitReadiness, _r as scoreRuntimes, an as enumerateInferenceDevices, ei as BaseAddon } from "../../dist-CtVVtyTX.mjs";
3
+ import { n as nodeCoralFs, t as classifyCoralAccelerator } from "../../coral-accelerators-Qhn5TOYZ.mjs";
4
4
  import { promisify } from "node:util";
5
5
  import * as os$1 from "node:os";
6
- import * as fs from "node:fs";
6
+ import * as fs$1 from "node:fs";
7
7
  import { execFile } from "node:child_process";
8
8
  //#region src/builtins/platform-probe/amd-npu.ts
9
9
  var amd_npu_exports = /* @__PURE__ */ __exportAll({
@@ -448,14 +448,14 @@ var PlatformScorer = class {
448
448
  if (nvidia) gpu = nvidia;
449
449
  const listRenderNodes = () => {
450
450
  try {
451
- return fs.readdirSync("/dev/dri").filter((n) => n.startsWith("renderD")).map((n) => `/dev/dri/${n}`);
451
+ return fs$1.readdirSync("/dev/dri").filter((n) => n.startsWith("renderD")).map((n) => `/dev/dri/${n}`);
452
452
  } catch {
453
453
  return [];
454
454
  }
455
455
  };
456
456
  const readDrmAttr = (node, attr) => {
457
457
  try {
458
- return fs.readFileSync(`/sys/class/drm/${node.split("/").pop()}/device/${attr}`, "utf8");
458
+ return fs$1.readFileSync(`/sys/class/drm/${node.split("/").pop()}/device/${attr}`, "utf8");
459
459
  } catch {
460
460
  return "";
461
461
  }
@@ -481,12 +481,12 @@ var PlatformScorer = class {
481
481
  }
482
482
  const listDir = (p) => {
483
483
  try {
484
- return fs.readdirSync(p);
484
+ return fs$1.readdirSync(p);
485
485
  } catch {
486
486
  return [];
487
487
  }
488
488
  };
489
- const exists = (p) => fs.existsSync(p);
489
+ const exists = (p) => fs$1.existsSync(p);
490
490
  if (!npu) {
491
491
  const { classifyIntelNpu } = await import("../../intel-npu-C8HKvRQF.mjs");
492
492
  npu = classifyIntelNpu({
@@ -514,7 +514,7 @@ var PlatformScorer = class {
514
514
  exists,
515
515
  readFile: (p) => {
516
516
  try {
517
- return fs.readFileSync(p, "utf8");
517
+ return fs$1.readFileSync(p, "utf8");
518
518
  } catch {
519
519
  return "";
520
520
  }
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-l6zKmHEb.js");
6
+ const require_dist = require("../../dist-DuBtzSCh.js");
7
7
  let zod = require("zod");
8
8
  let node_crypto = require("node:crypto");
9
9
  //#region src/builtins/record-entries/entries-service.ts
@@ -1,4 +1,4 @@
1
- import { $r as BaseAddon, Ai as UnknownRecordKindError, aa as mapSecretLeaves, li as InvalidRecordError, pa as recordSecretRef, tr as recordEntriesCapability } from "../../dist-BpUtAgqR.mjs";
1
+ import { ei as BaseAddon, ha as recordSecretRef, ji as UnknownRecordKindError, nr as recordEntriesCapability, sa as mapSecretLeaves, ui as InvalidRecordError } from "../../dist-CtVVtyTX.mjs";
2
2
  import { z } from "zod";
3
3
  import { randomUUID } from "node:crypto";
4
4
  //#region src/builtins/record-entries/entries-service.ts
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-l6zKmHEb.js");
6
+ const require_dist = require("../../dist-DuBtzSCh.js");
7
7
  //#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
8
8
  /**
9
9
  * Reconcile the durable `enabledProviders` set against authoritative
@@ -1,4 +1,4 @@
1
- import { $r as BaseAddon, Ta as EventCategory } from "../../dist-BpUtAgqR.mjs";
1
+ import { Da as EventCategory, ei as BaseAddon } from "../../dist-CtVVtyTX.mjs";
2
2
  //#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
3
3
  /**
4
4
  * Reconcile the durable `enabledProviders` set against authoritative
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-l6zKmHEb.js");
6
+ const require_dist = require("../../dist-DuBtzSCh.js");
7
7
  const require_snapshot_courtesy = require("../../snapshot-courtesy-D_C5-nC0.js");
8
8
  let zod = require("zod");
9
9
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { $r as BaseAddon, Et as batteryCapability, Or as streamQualityLabel, Qr as errMsg, Ta as EventCategory, Tt as bareAddonId, Vn as memoizePinnedFfmpeg, Yr as DeviceFeature, Yt as deriveBatteryPresence, Zr as DeviceType, br as snapshotCapability, o as BatteryStatusSchema, oa as nodePin } from "../../dist-BpUtAgqR.mjs";
1
+ import { $r as errMsg, Da as EventCategory, Dt as batteryCapability, Et as bareAddonId, Hn as memoizePinnedFfmpeg, Qr as DeviceType, Xr as DeviceFeature, Xt as deriveBatteryPresence, ca as nodePin, ei as BaseAddon, kr as streamQualityLabel, o as BatteryStatusSchema, xr as snapshotCapability } from "../../dist-CtVVtyTX.mjs";
2
2
  import { i as renderCourtesyOverlayJpeg, n as courtesyCacheKey, r as renderCourtesyJpeg } from "../../snapshot-courtesy-CyFs1M3I.mjs";
3
3
  import { z } from "zod";
4
4
  import { randomUUID } from "node:crypto";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-l6zKmHEb.js");
6
+ const require_dist = require("../../dist-DuBtzSCh.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  let node_fs_promises = require("node:fs/promises");
9
9
  let node_path = require("node:path");