@camstack/system 1.2.380 → 1.2.381
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.
- package/dist/addon-runner.js +1 -1
- package/dist/addon-runner.mjs +1 -1
- package/dist/addon-utils.js +1 -1
- package/dist/addon-utils.mjs +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/alerts/alerts.addon.js +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +1 -1
- package/dist/builtins/autotrack/index.js +1 -1
- package/dist/builtins/autotrack/index.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
- package/dist/builtins/calendars/calendars.addon.js +1 -1
- package/dist/builtins/calendars/calendars.addon.mjs +1 -1
- package/dist/builtins/camera-grid/index.js +1 -1
- package/dist/builtins/camera-grid/index.mjs +1 -1
- package/dist/builtins/composer/composer.addon.js +2 -2
- package/dist/builtins/composer/composer.addon.mjs +2 -2
- package/dist/builtins/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
- package/dist/builtins/device-manager/device-aggregation.d.ts +12 -0
- package/dist/builtins/device-manager/device-form-secrets.d.ts +25 -0
- package/dist/builtins/device-manager/device-manager.addon.d.ts +2 -0
- package/dist/builtins/device-manager/device-manager.addon.js +165 -26
- package/dist/builtins/device-manager/device-manager.addon.mjs +165 -26
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/keychain/index.js +3 -3
- package/dist/builtins/keychain/index.mjs +3 -3
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/local-auth.addon.js +2 -2
- package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
- package/dist/builtins/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +1 -1
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
- package/dist/builtins/system-config/system-config.addon.js +2 -2
- package/dist/builtins/system-config/system-config.addon.mjs +2 -2
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{child-cap-dispatch-CpjohToR.mjs → child-cap-dispatch-BTe4eKep.mjs} +1 -1
- package/dist/{child-cap-dispatch-CZeRUgYF.js → child-cap-dispatch-hf-Gce_4.js} +1 -1
- package/dist/{cluster-secret-Dg0OOOSr.js → cluster-secret-BUiG8DCo.js} +1 -1
- package/dist/{cluster-secret-BDue-uJj.mjs → cluster-secret-DgJTZ4qY.mjs} +1 -1
- package/dist/{composition-sources-CHvLMrFI.js → composition-sources-4SmsP0O4.js} +1 -1
- package/dist/{composition-sources-DT_uJwI3.mjs → composition-sources-CgOQVIwa.mjs} +1 -1
- package/dist/{dist-B9oFw2jh.mjs → dist-BC0GnGeg.mjs} +5 -1
- package/dist/{dist-Cc6KOdY-.js → dist-BugrtARh.js} +34 -0
- package/dist/{event-loop-stall-monitor-mk6WGxir.js → event-loop-stall-monitor-CnQ-K6Gn.js} +1 -1
- package/dist/{event-loop-stall-monitor-anUH2IE1.mjs → event-loop-stall-monitor-GgpnfAC0.mjs} +1 -1
- package/dist/index.js +5 -5
- package/dist/index.mjs +5 -5
- package/dist/{jwt-signing-key-C2rE3wH6.js → jwt-signing-key-CjoZcol8.js} +1 -1
- package/dist/{jwt-signing-key-Qhde8r82.mjs → jwt-signing-key-CsuVKA1W.mjs} +1 -1
- package/dist/{retired-settings-keys-YOOKLA3v.js → retired-settings-keys-DCuetwOt.js} +1 -1
- package/dist/{retired-settings-keys-DlZ3VV6x.mjs → retired-settings-keys-MCVhxPkJ.mjs} +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $ as buildStreamParamsConfigSchema, A as MINUTES_PER_DAY, C as FieldClaimModeSchema, Dn as runtimeStatePolicyFor,
|
|
2
|
-
import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-
|
|
1
|
+
import { $ as buildStreamParamsConfigSchema, A as MINUTES_PER_DAY, Ar as isDeviceConfigCap, C as FieldClaimModeSchema, Cr as collectZodSecretPaths, Dn as runtimeStatePolicyFor, Fr as isSecretMarkerLike, Jr as sleep$1, Kr as secretTreeFromPaths, Kt as legacyAutoLinkIds, L as STREAM_PROFILE_META, Mn as siteZoneKey, Mr as isKeychainStoredField, Nr as isSecretClear, Nt as formatMinutes, O as LocationIconIdSchema, Ot as expandContainer, Pr as isSecretMarker, Qr as EventCategory, St as deviceStatusCapability, Tt as enumerateSchemaFields, Ur as resolveSecretMarkers, Xr as toSecretFieldView, Xt as locationIconKey, Zr as transformSecretWrite, _r as WELL_KNOWN_TAB_MAP, ar as DeviceFeature, bt as deviceManagerCapability, c as CAP_NAMES_WITH_STATUS, cn as normalizeUnit, cr as errMsg, dn as parseStreamParamsFormPatch, dt as createDeviceExtensionProvider, gr as SECRET_CLEAR, gt as defineExtensionSlotProvider, lr as BaseAddon, o as CAMERA_SWITCH_ORDER, or as DeviceRole, sr as DeviceType, t as ALL_CAPABILITY_DEFINITIONS, v as DAY_NAMES, w as FieldClaimSchema, wt as enumerateItemArrayFields, x as DeviceStatusSchema, xt as deviceStateCapability, yt as deviceExtensionCapability } from "../../dist-BC0GnGeg.mjs";
|
|
2
|
+
import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-MCVhxPkJ.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
5
5
|
import { canonicalDeviceFingerprint } from "@camstack/types/node";
|
|
@@ -1028,6 +1028,105 @@ function mergeAggregates(parts) {
|
|
|
1028
1028
|
return out;
|
|
1029
1029
|
}
|
|
1030
1030
|
//#endregion
|
|
1031
|
+
//#region src/builtins/device-manager/device-form-secrets.ts
|
|
1032
|
+
/**
|
|
1033
|
+
* A driver's device-settings form, kept on the keychain side of the wire
|
|
1034
|
+
* (D787 / D789 for device forms).
|
|
1035
|
+
*
|
|
1036
|
+
* A driver hydrates its own form from the config `loadConfig` RESOLVED for it,
|
|
1037
|
+
* so a camera password reaches the form as plaintext even though the stored
|
|
1038
|
+
* blob holds a keychain marker. This module closes that in ONE place — the
|
|
1039
|
+
* device-manager aggregate every device form goes through — for every driver:
|
|
1040
|
+
*
|
|
1041
|
+
* - READ ({@link viewStoredSecrets}): a form field whose key names a stored
|
|
1042
|
+
* MARKER (a declared `secretConfigPaths` entry, or a field secret by type)
|
|
1043
|
+
* is handed the marker's VIEW instead of the driver's plaintext. A value
|
|
1044
|
+
* that is still inline plaintext in the blob (not migrated) is left as the
|
|
1045
|
+
* driver hydrated it: there is nothing to reveal it by.
|
|
1046
|
+
* - WRITE ({@link applyDriverFormPatch}): the form sends the view back for an
|
|
1047
|
+
* untouched field and `{ $secretClear: true }` for an explicit clear. The
|
|
1048
|
+
* driver understands neither (its schema wants a string), so a view is
|
|
1049
|
+
* dropped from the driver's patch (KEEP — the driver still holds the
|
|
1050
|
+
* resolved value) and a clear reaches the driver as `''` while the stored
|
|
1051
|
+
* marker is removed at the keychain door. A typed value passes through and
|
|
1052
|
+
* the driver's own persist stores it in the keychain.
|
|
1053
|
+
*
|
|
1054
|
+
* Top-level keys only: a driver form's field key is its config key for every
|
|
1055
|
+
* declared device secret today (`password`, `apiKey`, `localKey`). A nested or
|
|
1056
|
+
* per-row path (`connection.password`, `rows[].pin`) is not mapped onto a form
|
|
1057
|
+
* field and keeps the driver's hydration.
|
|
1058
|
+
*/
|
|
1059
|
+
function isRecord$2(value) {
|
|
1060
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1061
|
+
}
|
|
1062
|
+
/** The declared paths that name a top-level config key. */
|
|
1063
|
+
function topLevelKeys(paths) {
|
|
1064
|
+
return new Set(paths.filter((p) => p.length > 0 && !p.includes(".") && !p.includes("[")));
|
|
1065
|
+
}
|
|
1066
|
+
function viewField(field, stored, declared) {
|
|
1067
|
+
if (!isRecord$2(field)) return field;
|
|
1068
|
+
const nested = field["fields"];
|
|
1069
|
+
if (Array.isArray(nested)) return {
|
|
1070
|
+
...field,
|
|
1071
|
+
fields: nested.map((f) => viewField(f, stored, declared))
|
|
1072
|
+
};
|
|
1073
|
+
const tabs = field["tabs"];
|
|
1074
|
+
if (Array.isArray(tabs)) return {
|
|
1075
|
+
...field,
|
|
1076
|
+
tabs: tabs.map((tab) => isRecord$2(tab) && Array.isArray(tab["fields"]) ? {
|
|
1077
|
+
...tab,
|
|
1078
|
+
fields: tab["fields"].map((f) => viewField(f, stored, declared))
|
|
1079
|
+
} : tab)
|
|
1080
|
+
};
|
|
1081
|
+
const key = field["key"];
|
|
1082
|
+
if (typeof key !== "string" || !("value" in field)) return field;
|
|
1083
|
+
const marker = stored[key];
|
|
1084
|
+
if (!isSecretMarker(marker)) return field;
|
|
1085
|
+
const secretByType = isKeychainStoredField(field);
|
|
1086
|
+
if (!secretByType && !declared.has(key)) return field;
|
|
1087
|
+
const type = secretByType ? field["type"] : "password";
|
|
1088
|
+
return {
|
|
1089
|
+
...field,
|
|
1090
|
+
type,
|
|
1091
|
+
value: toSecretFieldView(marker)
|
|
1092
|
+
};
|
|
1093
|
+
}
|
|
1094
|
+
/**
|
|
1095
|
+
* The driver's hydrated sections with every keychain-stored secret replaced
|
|
1096
|
+
* by its view. Returns the input unchanged when the blob holds no marker.
|
|
1097
|
+
*/
|
|
1098
|
+
function viewStoredSecrets(sections, stored, declaredPaths) {
|
|
1099
|
+
if (!Object.values(stored).some(isSecretMarker)) return sections;
|
|
1100
|
+
const declared = topLevelKeys(declaredPaths);
|
|
1101
|
+
return sections.map((section) => ({
|
|
1102
|
+
...section,
|
|
1103
|
+
fields: section.fields.map((f) => viewField(f, stored, declared))
|
|
1104
|
+
}));
|
|
1105
|
+
}
|
|
1106
|
+
/** Split a device-settings form patch (see the module doc). */
|
|
1107
|
+
function splitDriverFormPatch(patch) {
|
|
1108
|
+
const driverPatch = {};
|
|
1109
|
+
const clearKeys = [];
|
|
1110
|
+
for (const [key, value] of Object.entries(patch)) if (isSecretClear(value)) {
|
|
1111
|
+
driverPatch[key] = "";
|
|
1112
|
+
clearKeys.push(key);
|
|
1113
|
+
} else if (!isSecretMarkerLike(value)) driverPatch[key] = value;
|
|
1114
|
+
return {
|
|
1115
|
+
driverPatch,
|
|
1116
|
+
clearKeys
|
|
1117
|
+
};
|
|
1118
|
+
}
|
|
1119
|
+
/**
|
|
1120
|
+
* Apply a device-settings form patch: the driver gets plain values only, then
|
|
1121
|
+
* an explicit clear removes the stored secret at the keychain door (after the
|
|
1122
|
+
* driver's own persist, whose `''` the door reads as KEEP).
|
|
1123
|
+
*/
|
|
1124
|
+
async function applyDriverFormPatch(input) {
|
|
1125
|
+
const { driverPatch, clearKeys } = splitDriverFormPatch(input.patch);
|
|
1126
|
+
if (Object.keys(driverPatch).length > 0) await input.applyToDriver(driverPatch);
|
|
1127
|
+
if (clearKeys.length > 0) await input.clearSecrets(clearKeys);
|
|
1128
|
+
}
|
|
1129
|
+
//#endregion
|
|
1031
1130
|
//#region src/builtins/device-manager/stale-wrapper-activations.ts
|
|
1032
1131
|
/**
|
|
1033
1132
|
* A stored wrapper activation that names a cap with NO wrapper any more.
|
|
@@ -3446,6 +3545,25 @@ function refusedLinkedPicks(params) {
|
|
|
3446
3545
|
//#endregion
|
|
3447
3546
|
//#region src/builtins/device-manager/device-aggregation.ts
|
|
3448
3547
|
/**
|
|
3548
|
+
* A driver's hydrated sections as the browser may see them: every secret the
|
|
3549
|
+
* keychain stores is its VIEW, never the plaintext the driver was handed by
|
|
3550
|
+
* `loadConfig`. An unreadable blob withholds nothing new — the non-admin
|
|
3551
|
+
* redaction still runs at the transport — but it is logged.
|
|
3552
|
+
*/
|
|
3553
|
+
async function driverSectionsWithSecretViews(deps, deviceId, sections) {
|
|
3554
|
+
const door = deps.deviceFormSecrets;
|
|
3555
|
+
if (!door) return sections;
|
|
3556
|
+
try {
|
|
3557
|
+
return viewStoredSecrets(sections, await door.readStored(deviceId), door.declaredPaths(deviceId));
|
|
3558
|
+
} catch (err) {
|
|
3559
|
+
deps.ctx.logger.warn("device form: stored config unreadable — secret views not applied", {
|
|
3560
|
+
tags: { deviceId },
|
|
3561
|
+
meta: { error: errMsg(err) }
|
|
3562
|
+
});
|
|
3563
|
+
return sections;
|
|
3564
|
+
}
|
|
3565
|
+
}
|
|
3566
|
+
/**
|
|
3449
3567
|
* One process-wide cache behind every device-details fan-out.
|
|
3450
3568
|
*
|
|
3451
3569
|
* Module-level on purpose: the page re-polls every 2.5 s and a per-call cache
|
|
@@ -3671,16 +3789,18 @@ async function buildBaseDeviceSection(deps, deviceId) {
|
|
|
3671
3789
|
if (!hubLocal && !nativeOwner) return null;
|
|
3672
3790
|
const sections = [];
|
|
3673
3791
|
const driverResult = await resolveDriverConfigSchema(deps, deviceId, hubLocal);
|
|
3674
|
-
if (driverResult.status === "ok")
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
|
|
3683
|
-
|
|
3792
|
+
if (driverResult.status === "ok") {
|
|
3793
|
+
const driverSections = await driverSectionsWithSecretViews(deps, deviceId, driverResult.schema.sections);
|
|
3794
|
+
for (const section of driverSections) sections.push({
|
|
3795
|
+
id: section.id,
|
|
3796
|
+
title: section.title,
|
|
3797
|
+
tab: section.tab ?? "general",
|
|
3798
|
+
order: section.order ?? 1,
|
|
3799
|
+
fields: [...section.fields],
|
|
3800
|
+
...section.description !== void 0 ? { description: section.description } : {},
|
|
3801
|
+
...section.columns !== void 0 ? { columns: section.columns } : {}
|
|
3802
|
+
});
|
|
3803
|
+
} else if (driverResult.status === "unavailable") sections.push({
|
|
3684
3804
|
id: "driver-settings-unavailable",
|
|
3685
3805
|
title: "Driver Settings",
|
|
3686
3806
|
tab: "general",
|
|
@@ -4074,19 +4194,26 @@ async function applyGroupPatch(deps, deviceId, group) {
|
|
|
4074
4194
|
});
|
|
4075
4195
|
throw new Error(`[device-manager] ${retired.join(", ")} can no longer be saved from the settings section — reload the page and use the Extensions section`);
|
|
4076
4196
|
}
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4084
|
-
|
|
4085
|
-
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
|
|
4089
|
-
|
|
4197
|
+
await applyDriverFormPatch({
|
|
4198
|
+
patch: group.patch,
|
|
4199
|
+
applyToDriver: async (driverPatch) => {
|
|
4200
|
+
const hubRegistry = deps.ctx.kernel?.deviceRegistry;
|
|
4201
|
+
const found = hubRegistry ? resolveDeviceById(hubRegistry, deviceId) : null;
|
|
4202
|
+
if (found) {
|
|
4203
|
+
await found.device.applySettingsPatch(driverPatch);
|
|
4204
|
+
return;
|
|
4205
|
+
}
|
|
4206
|
+
const ops = deps.capabilityRegistry?.getNativeProvider("device-ops", deviceId);
|
|
4207
|
+
if (!ops) throw new Error(`[device-manager] device "${deviceId}" not found (no hub-local entry, no device-ops native provider)`);
|
|
4208
|
+
await ops.setConfig({
|
|
4209
|
+
deviceId,
|
|
4210
|
+
values: driverPatch
|
|
4211
|
+
});
|
|
4212
|
+
},
|
|
4213
|
+
clearSecrets: async (keys) => {
|
|
4214
|
+
if (!deps.deviceFormSecrets) throw new Error(`[device-manager] cannot clear ${keys.join(", ")}: no keychain door`);
|
|
4215
|
+
await deps.deviceFormSecrets.clear(deviceId, keys);
|
|
4216
|
+
}
|
|
4090
4217
|
});
|
|
4091
4218
|
return;
|
|
4092
4219
|
}
|
|
@@ -9712,6 +9839,8 @@ var DeviceManagerAddon = class extends BaseAddon {
|
|
|
9712
9839
|
removalFence = createRemovalFence();
|
|
9713
9840
|
/** Declared secret config paths per device, as last registered (D783). */
|
|
9714
9841
|
secretConfigPaths = createSecretConfigPathRegistry();
|
|
9842
|
+
/** The keychain side of driver device forms (D789), wired in onInitialize. */
|
|
9843
|
+
deviceFormSecrets;
|
|
9715
9844
|
/** The runtime-state mirror, asserted present (constructed in onInitialize). */
|
|
9716
9845
|
get stateMirror() {
|
|
9717
9846
|
if (!this.stateMirrorImpl) throw new Error("DeviceManagerAddon: state mirror accessed before onInitialize");
|
|
@@ -9864,7 +9993,8 @@ var DeviceManagerAddon = class extends BaseAddon {
|
|
|
9864
9993
|
ctx: this.ctx,
|
|
9865
9994
|
capabilityRegistry: this.capabilityRegistry,
|
|
9866
9995
|
remoteNativeCaps: this.remoteNativeCaps,
|
|
9867
|
-
bindingsDeps: this.bindingsDeps
|
|
9996
|
+
bindingsDeps: this.bindingsDeps,
|
|
9997
|
+
...this.deviceFormSecrets ? { deviceFormSecrets: this.deviceFormSecrets } : {}
|
|
9868
9998
|
};
|
|
9869
9999
|
}
|
|
9870
10000
|
async getDeviceAggregate(deviceId, kind) {
|
|
@@ -9960,6 +10090,15 @@ var DeviceManagerAddon = class extends BaseAddon {
|
|
|
9960
10090
|
return provider;
|
|
9961
10091
|
}
|
|
9962
10092
|
};
|
|
10093
|
+
this.deviceFormSecrets = {
|
|
10094
|
+
readStored: (deviceId) => settings.readDeviceStore(deviceId),
|
|
10095
|
+
declaredPaths: (deviceId) => this.secretConfigPaths.get(deviceId) ?? [],
|
|
10096
|
+
clear: (deviceId, keys) => persistConfig(pctx, {
|
|
10097
|
+
deviceId,
|
|
10098
|
+
data: Object.fromEntries(keys.map((key) => [key, SECRET_CLEAR])),
|
|
10099
|
+
secretConfigPaths: [...new Set([...this.secretConfigPaths.get(deviceId) ?? [], ...keys])]
|
|
10100
|
+
})
|
|
10101
|
+
};
|
|
9963
10102
|
try {
|
|
9964
10103
|
await runLocationBackfillAtBoot(pctx, bootRows);
|
|
9965
10104
|
} catch (err) {
|
|
@@ -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-
|
|
6
|
+
const require_dist = require("../../dist-BugrtARh.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 { Zt as logDestinationCapability, lr as BaseAddon } from "../../dist-
|
|
1
|
+
import { Zt as logDestinationCapability, lr as BaseAddon } from "../../dist-BC0GnGeg.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,9 +3,9 @@ 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-
|
|
7
|
-
const require_jwt_signing_key = require("../../jwt-signing-key-
|
|
8
|
-
const require_cluster_secret = require("../../cluster-secret-
|
|
6
|
+
const require_dist = require("../../dist-BugrtARh.js");
|
|
7
|
+
const require_jwt_signing_key = require("../../jwt-signing-key-CjoZcol8.js");
|
|
8
|
+
const require_cluster_secret = require("../../cluster-secret-BUiG8DCo.js");
|
|
9
9
|
const require_platform_key_source = require("../../platform-key-source-Di7HrlGR.js");
|
|
10
10
|
let node_crypto = require("node:crypto");
|
|
11
11
|
let node_path = require("node:path");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as SYSTEM_SECRET_OWNER, t as JWT_SIGNING_KEY_REF } from "../../jwt-signing-key-
|
|
3
|
-
import { i as CLUSTER_SECRET_SETTINGS_KEY } from "../../cluster-secret-
|
|
1
|
+
import { Br as parseSecretRef, Gt as keychainCapability, Lr as normalizeSecretOwner, Or as formatSecretScope, Qr as EventCategory, Wt as keychainAdminCapability, lr as BaseAddon } from "../../dist-BC0GnGeg.mjs";
|
|
2
|
+
import { r as SYSTEM_SECRET_OWNER, t as JWT_SIGNING_KEY_REF } from "../../jwt-signing-key-CsuVKA1W.mjs";
|
|
3
|
+
import { i as CLUSTER_SECRET_SETTINGS_KEY } from "../../cluster-secret-DgJTZ4qY.mjs";
|
|
4
4
|
import { n as getPlatformKeychainKey } from "../../platform-key-source-BWlq0jjn.mjs";
|
|
5
5
|
import { createCipheriv, createDecipheriv, createHmac, randomBytes, randomUUID, timingSafeEqual } from "node:crypto";
|
|
6
6
|
import * as path$1 from "node:path";
|
|
@@ -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-
|
|
3
|
+
const require_dist = require("../../dist-BugrtARh.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 {
|
|
1
|
+
import { F as RecordingStatusSchema, N as RECORDING_SOURCE_CAMSTACK_ADDON, Qr as EventCategory, cr as errMsg, lr as BaseAddon, wr as createEvent } from "../../dist-BC0GnGeg.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,8 +3,8 @@ 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-
|
|
7
|
-
const require_jwt_signing_key = require("../../jwt-signing-key-
|
|
6
|
+
const require_dist = require("../../dist-BugrtARh.js");
|
|
7
|
+
const require_jwt_signing_key = require("../../jwt-signing-key-CjoZcol8.js");
|
|
8
8
|
let node_crypto = require("node:crypto");
|
|
9
9
|
node_crypto = require_chunk.__toESM(node_crypto);
|
|
10
10
|
let crypto$1 = require("crypto");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { i as __require, o as __toESM, t as __commonJSMin } from "../../chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import { Bn as userManagementCapability, J as authProviderCapability, R as ScopedTokenSchema, U as UserRecordSchema, lr as BaseAddon, r as ApiKeyRecordSchema } from "../../dist-
|
|
3
|
-
import { a as loadJwtSigningKey, i as getProcessJwtSigningKeyState, o as processJwtSigningKey, s as setProcessJwtSigningKey, t as JWT_SIGNING_KEY_REF } from "../../jwt-signing-key-
|
|
2
|
+
import { Bn as userManagementCapability, J as authProviderCapability, R as ScopedTokenSchema, U as UserRecordSchema, lr as BaseAddon, r as ApiKeyRecordSchema } from "../../dist-BC0GnGeg.mjs";
|
|
3
|
+
import { a as loadJwtSigningKey, i as getProcessJwtSigningKeyState, o as processJwtSigningKey, s as setProcessJwtSigningKey, t as JWT_SIGNING_KEY_REF } from "../../jwt-signing-key-CsuVKA1W.mjs";
|
|
4
4
|
import * as crypto$2 from "node:crypto";
|
|
5
5
|
import { createHash, randomUUID, timingSafeEqual } from "node:crypto";
|
|
6
6
|
import nodeCrypto from "crypto";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("../../dist-
|
|
3
|
+
const require_dist = require("../../dist-BugrtARh.js");
|
|
4
4
|
const require_tls = require("../../tls-CCMX7MjX.js");
|
|
5
5
|
let zod = require("zod");
|
|
6
6
|
let node_os = require("node:os");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Cn as resolveHubAddressRoles, En as resolveNotificationTapAddress, Hn as validateCustomAddress, It as isAppLinkBase, Yt as localNetworkCapability, fn as pickAppLinkHub, lr as BaseAddon, nt as checkRoleAddress,
|
|
1
|
+
import { Cn as resolveHubAddressRoles, En as resolveNotificationTapAddress, Hn as validateCustomAddress, It as isAppLinkBase, Qr as EventCategory, Yt as localNetworkCapability, fn as pickAppLinkHub, lr as BaseAddon, nt as checkRoleAddress, s as CAMSTACK_APP_LINK_ORIGIN, yn as resolveAppConnections, zt as isDefaultAppConnectionEndpoint } from "../../dist-BC0GnGeg.mjs";
|
|
2
2
|
import { P as readLanHttpState, _ as writeExtraSans, h as readTlsMode, i as storeUploadedCertificate, j as applyLanHttp, k as DEFAULT_LAN_HTTP_PORT, m as readTlsAccessStatus, n as regenerateCertificate, p as readExtraSans, r as revertToGeneratedCertificate, t as applyCertificateToListener, u as servedHttpsLeafFingerprint, y as ensureTlsCert } from "../../tls-CJHogwTl.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import * as os 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-
|
|
6
|
+
const require_dist = require("../../dist-BugrtARh.js");
|
|
7
7
|
//#region src/builtins/loki-logging/loki-payload.ts
|
|
8
8
|
/**
|
|
9
9
|
* Loki rejects a label name that is not a valid Prometheus label
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Zt as logDestinationCapability, lr as BaseAddon } from "../../dist-
|
|
1
|
+
import { Zt as logDestinationCapability, lr as BaseAddon } from "../../dist-BC0GnGeg.mjs";
|
|
2
2
|
//#region src/builtins/loki-logging/loki-payload.ts
|
|
3
3
|
/**
|
|
4
4
|
* Loki rejects a label name that is not a valid Prometheus label
|
|
@@ -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-
|
|
6
|
+
const require_dist = require("../../dist-BugrtARh.js");
|
|
7
7
|
const require_proc_stat = require("../../proc-stat-DL-WUOhl.js");
|
|
8
8
|
let node_fs_promises = require("node:fs/promises");
|
|
9
9
|
let node_os = require("node:os");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Mt as foldSnapshotByFunction, Qr as EventCategory, _n as reducePoints, bn as resolveBucketMs, cr as errMsg, in as metricsProviderCapability, lr as BaseAddon, wr as createEvent } from "../../dist-BC0GnGeg.mjs";
|
|
2
2
|
import { a as parseProcStat, i as nodeProcReader, n as elapsedSecSince, o as parseProcStatusRss, r as lifetimeCpuPercent, t as commandFromCmdline } from "../../proc-stat-CbC55Kqi.mjs";
|
|
3
3
|
import { access, readFile, readdir } from "node:fs/promises";
|
|
4
4
|
import * as os from "node:os";
|
|
@@ -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-
|
|
6
|
+
const require_dist = require("../../dist-BugrtARh.js");
|
|
7
7
|
let node_os = require("node:os");
|
|
8
8
|
node_os = require_chunk.__toESM(node_os);
|
|
9
9
|
let node_fs = require("node:fs");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { o as __toESM } from "../../chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import { An as scoreRuntimes, Ct as enumerateInferenceDevices,
|
|
2
|
+
import { An as scoreRuntimes, Ct as enumerateInferenceDevices, Er as emitReadiness, Qr as EventCategory, cr as errMsg, lr as BaseAddon, mn as platformProbeCapability } from "../../dist-BC0GnGeg.mjs";
|
|
3
3
|
import * as os from "node:os";
|
|
4
4
|
import * as fs from "node:fs";
|
|
5
5
|
import { execFile } from "node:child_process";
|
|
@@ -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-
|
|
6
|
+
const require_dist = require("../../dist-BugrtARh.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 {
|
|
1
|
+
import { Qr as EventCategory, lr as BaseAddon } from "../../dist-BC0GnGeg.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-
|
|
6
|
+
const require_dist = require("../../dist-BugrtARh.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 {
|
|
1
|
+
import { Ir as nodePin, Nn as snapshotCapability, Qr as EventCategory, X as bareAddonId, Z as batteryCapability, _t as deriveBatteryPresence, a as BatteryStatusSchema, ar as DeviceFeature, cr as errMsg, lr as BaseAddon, rn as memoizePinnedFfmpeg, sr as DeviceType, zn as streamQualityLabel } from "../../dist-BC0GnGeg.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-
|
|
6
|
+
const require_dist = require("../../dist-BugrtARh.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");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ln as storageProviderCapability, jt as filesystemBrowseCapability, lr as BaseAddon } from "../../dist-
|
|
1
|
+
import { Ln as storageProviderCapability, jt as filesystemBrowseCapability, lr as BaseAddon } from "../../dist-BC0GnGeg.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import { mkdir, readdir, realpath, statfs } from "node:fs/promises";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
Binary file
|
|
Binary file
|
|
@@ -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-
|
|
6
|
+
const require_dist = require("../../dist-BugrtARh.js");
|
|
7
7
|
const require_hub_cap_forward = require("../../hub-cap-forward-COCmYaup.js");
|
|
8
8
|
let zod = require("zod");
|
|
9
9
|
let node_crypto = require("node:crypto");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as StorageLocationModeSchema, Bt as isLocationEnabled, D as LegacyStorageLocationDefaultSchema, Dt as evictionPolicyOfLocation, Fn as storageMigrationCapability, H as StorageMigrationJobSchema,
|
|
1
|
+
import { B as StorageLocationModeSchema, Bt as isLocationEnabled, D as LegacyStorageLocationDefaultSchema, Dt as evictionPolicyOfLocation, Fn as storageMigrationCapability, H as StorageMigrationJobSchema, Kn as withLocationMode, Kr as secretTreeFromPaths, Pn as storageCapability, Pr as isSecretMarker, Pt as gbToBytes, Qr as EventCategory, Rr as parseJsonObject, Sr as collectSecretConfigKeys, Ur as resolveSecretMarkers, V as StorageLocationTypeSchema, Zr as transformSecretWrite, an as modeMayWrite, jn as settingsStoreCapability, lr as BaseAddon, nn as mayWriteToLocation, pr as REDACTED_SECRET, qt as legacyModeOf, tn as mayReadLocation, wn as resolveLocationMode, z as StorageCleanupJobSchema } from "../../dist-BC0GnGeg.mjs";
|
|
2
2
|
import { t as HUB_CAP_FWD_ACTION } from "../../hub-cap-forward-CH6_VWVO.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
@@ -3,8 +3,8 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
7
|
-
const require_cluster_secret = require("../../cluster-secret-
|
|
6
|
+
const require_dist = require("../../dist-BugrtARh.js");
|
|
7
|
+
const require_cluster_secret = require("../../cluster-secret-BUiG8DCo.js");
|
|
8
8
|
//#region src/builtins/system-config/cluster-secret-keeper.ts
|
|
9
9
|
/**
|
|
10
10
|
* Keeps the hub's cluster-secret gate in step with System → Cluster (D797).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { d as setProcessClusterSecretGate, l as hashClusterSecret, n as CLUSTER_SECRET_REF } from "../../cluster-secret-
|
|
1
|
+
import { Pr as isSecretMarker, Zr as transformSecretWrite, cr as errMsg, kr as hydrateSchema, lr as BaseAddon, qr as secretTreeFromSchema } from "../../dist-BC0GnGeg.mjs";
|
|
2
|
+
import { d as setProcessClusterSecretGate, l as hashClusterSecret, n as CLUSTER_SECRET_REF } from "../../cluster-secret-DgJTZ4qY.mjs";
|
|
3
3
|
//#region src/builtins/system-config/cluster-secret-keeper.ts
|
|
4
4
|
/**
|
|
5
5
|
* Keeps the hub's cluster-secret gate in step with System → Cluster (D797).
|
|
@@ -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-
|
|
6
|
+
const require_dist = require("../../dist-BugrtARh.js");
|
|
7
7
|
const require_formatter = require("../../formatter-DqAKDlvN.js");
|
|
8
8
|
let node_path = require("node:path");
|
|
9
9
|
node_path = require_chunk.__toESM(node_path);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Zt as logDestinationCapability, lr as BaseAddon } from "../../dist-
|
|
1
|
+
import { Zt as logDestinationCapability, lr as BaseAddon } from "../../dist-BC0GnGeg.mjs";
|
|
2
2
|
import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
|
|
3
3
|
import * as path$1 from "node:path";
|
|
4
4
|
import path from "node:path";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Gr as scrubKnownSecrets, Qr as EventCategory$1, en as maskUrlCredentials, wr as createEvent } from "./dist-BC0GnGeg.mjs";
|
|
2
2
|
import { a as parseProcStat, i as nodeProcReader } from "./proc-stat-CbC55Kqi.mjs";
|
|
3
3
|
import "./hub-cap-forward-CH6_VWVO.mjs";
|
|
4
4
|
import * as crypto$1 from "node:crypto";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
2
|
-
const require_dist = require("./dist-
|
|
2
|
+
const require_dist = require("./dist-BugrtARh.js");
|
|
3
3
|
const require_proc_stat = require("./proc-stat-DL-WUOhl.js");
|
|
4
4
|
require("./hub-cap-forward-COCmYaup.js");
|
|
5
5
|
let node_crypto = require("node:crypto");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cr as errMsg, tr as compositionSourceKey } from "./dist-
|
|
1
|
+
import { cr as errMsg, tr as compositionSourceKey } from "./dist-BC0GnGeg.mjs";
|
|
2
2
|
//#region src/builtins/core-blocks/composition-sources.ts
|
|
3
3
|
/**
|
|
4
4
|
* Describe what a composition reads and writes for SAVE-time validation
|
|
@@ -887,6 +887,10 @@ function isSecretMarker(value) {
|
|
|
887
887
|
const ref = value["$secret"];
|
|
888
888
|
return typeof ref === "string" && ref.length > 0;
|
|
889
889
|
}
|
|
890
|
+
/** Anything carrying a `$secret` key — a stored marker or a UI view of one. */
|
|
891
|
+
function isSecretMarkerLike(value) {
|
|
892
|
+
return isRecord$1(value) && Object.prototype.hasOwnProperty.call(value, "$secret");
|
|
893
|
+
}
|
|
890
894
|
function isSecretClear(value) {
|
|
891
895
|
return isRecord$1(value) && value["$secretClear"] === true;
|
|
892
896
|
}
|
|
@@ -63105,4 +63109,4 @@ function enumerateInferenceDevices(hw) {
|
|
|
63105
63109
|
return out;
|
|
63106
63110
|
}
|
|
63107
63111
|
//#endregion
|
|
63108
|
-
export { buildStreamParamsConfigSchema as $, compositionItemFieldPath as $n, looseSchema as $t, MINUTES_PER_DAY as A, scoreRuntimes as An,
|
|
63112
|
+
export { buildStreamParamsConfigSchema as $, compositionItemFieldPath as $n, looseSchema as $t, MINUTES_PER_DAY as A, scoreRuntimes as An, isDeviceConfigCap as Ar, extractNestedAddonId as At, StorageLocationModeSchema as B, userManagementCapability as Bn, parseSecretRef as Br, isLocationEnabled as Bt, FieldClaimModeSchema as C, resolveHubAddressRoles as Cn, collectZodSecretPaths as Cr, enumerateInferenceDevices as Ct, LegacyStorageLocationDefaultSchema as D, runtimeStatePolicyFor as Dn, expandCapMethods as Dr, evictionPolicyOfLocation as Dt, LOG_LEVEL_RANK as E, resolveNotificationTapAddress as En, emitReadiness as Er, evaluateCompositionField as Et, RecordingStatusSchema as F, storageMigrationCapability as Fn, isSecretMarkerLike as Fr, hfModelUrl as Ft, addonSettingsCapability as G, vectorStoreCapability as Gn, scrubKnownSecrets as Gr, keychainCapability as Gt, StorageMigrationJobSchema as H, validateCustomAddress as Hn, resolveCapMount as Hr, isVoidInput as Ht, STORAGE_ACCESS_FALLBACK as I, storageOccupancyCapability as In, nodePin as Ir, isAppLinkBase as It, authProviderCapability as J, buildFfmpegArgs as Jn, sleep as Jr, lifecycleJobSchema as Jt, addonWidgetsCapability as K, withLocationMode as Kn, secretTreeFromPaths as Kr, legacyAutoLinkIds as Kt, STREAM_PROFILE_META as L, storageProviderCapability as Ln, normalizeSecretOwner as Lr, isArrayOutputSchema as Lt, MOTION_CLOSE_AFTER_MS as M, siteZoneKey as Mn, isKeychainStoredField as Mr, foldSnapshotByFunction as Mt, RECORDING_SOURCE_CAMSTACK_ADDON as N, snapshotCapability as Nn, isSecretClear as Nr, formatMinutes as Nt, LocationIconIdSchema as O, scopesAllowAddon as On, formatSecretScope as Or, expandContainer as Ot, RUNTIME_DEFAULTS as P, storageCapability as Pn, isSecretMarker as Pr, gbToBytes as Pt, buildCapabilityLookup as Q, compositionFeatureEnabled as Qn, EventCategory as Qr, logLevelAtMost as Qt, ScopedTokenSchema as R, streamCatalogCapability as Rn, parseJsonObject as Rr, isCollectionArrayMethod as Rt, FIRST_LEVEL_MACRO_CLASSES as S, resolveCoreBlockFiles as Sn, collectSecretConfigKeys as Sr, deviceStatusCapability as St, HF_REPO as T, resolveMethodAuth as Tn, emitDownForOwnedCaps as Tr, enumerateSchemaFields as Tt, UserRecordSchema as U, vectorDimFromBase64 as Un, resolveSecretMarkers as Ur, kebabToCamel as Ut, StorageLocationTypeSchema as V, validateComposition as Vn, readinessKey as Vr, isObjectInput as Vt, addonPagesCapability as W, vectorIndexDimConflictError as Wn, scopeKey as Wr, keychainAdminCapability as Wt, bareAddonId as X, composedDeviceRef as Xn, toSecretFieldView as Xr, locationIconKey as Xt, backupCapability as Y, cloneStatefulExpressionMemory as Yn, toNodeId as Yr, localNetworkCapability as Yt, batteryCapability as Z, composedDeviceStableId as Zn, transformSecretWrite as Zr, logDestinationCapability as Zt, DATABASE_SNAPSHOT_TIMEOUT_MS as _, reducePoints as _n, WELL_KNOWN_TAB_MAP as _r, deriveBatteryPresence as _t, BatteryStatusSchema as a, modeMayWrite as an, DeviceFeature as ar, compositionSourceRefs as at, DeclaredDevices as b, resolveBucketMs as bn, asString$1 as br, deviceManagerCapability as bt, CAP_NAMES_WITH_STATUS as c, normalizeUnit as cn, errMsg as cr, coreBlockIdFromAddonId as ct, CORE_BLOCKS_ADDON_ID as d, parseStreamParamsFormPatch as dn, DEVICE_SETTINGS_CONTRIBUTION_METHODS as dr, createDeviceExtensionProvider as dt, maskUrlCredentials as en, compositionSliceKey as er, calendarsCapability as et, CORE_BLOCK_ADDON_PREFIX as f, pickAppLinkHub as fn, DEVICE_STATUS_METHOD as fr, dataStoreProviderCapability as ft, DATABASE_SNAPSHOT_SUFFIX as g, ptzAutotrackCapability as gn, SECRET_CLEAR as gr, defineExtensionSlotProvider as gt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as h, procedureAuthKey as hn, ReadinessTimeoutError as hr, decodeVectorBase64 as ht, BaseDevice as i, metricsProviderCapability as in, toExpressionValue as ir, compositionFieldKey as it, MODEL_FORMATS as j, settingsStoreCapability as jn, isEvent as jr, filesystemBrowseCapability as jt, METHOD_ACCESS_MAP as k, scopesAllowDeviceCap as kn, hydrateSchema as kr, expressionContainsBuiltinCall as kt, COMPOSED_ITEM_FIXED_FIELDS as l, objectInputDeclaresAddonId as ln, BaseAddon as lr, coreBlockSourceKind as lt, CoreBlockSchema as m, platformProbeCapability as mn, ReadinessRegistry as mr, declarationOwnerNodeId as mt, AlertSchema as n, mayWriteToLocation as nn, createStatefulExpressionMemory as nr, checkRoleAddress as nt, CAMERA_SWITCH_ORDER as o, motionCapability as on, DeviceRole as or, coreBlockAddonId as ot, CalendarPreferencesSchema as p, planComposition as pn, REDACTED_SECRET as pr, databaseSnapshotCapability as pt, alertsCapability as q, COMPOSER_ADDON_ID as qn, secretTreeFromSchema as qr, legacyModeOf as qt, ApiKeyRecordSchema as r, memoizePinnedFfmpeg as rn, disarmRoseMemory as rr, composerCapability as rt, CAMSTACK_APP_LINK_ORIGIN as s, normalizeCoreBlockWrite as sn, DeviceType as sr, coreBlockComposition as st, ALL_CAPABILITY_DEFINITIONS as t, mayReadLocation as tn, compositionSourceKey as tr, cameraGridLayoutCapability as tt, COMPOSER_RUNNER_ID as u, objectInputDeclaresRequiredDeviceId as un, DATAPLANE_SECRET_HEADER as ur, coreBlocksCapability as ut, DAY_NAMES as v, replacedFieldKeys as vn, asJsonObject as vr, describeComposableCaps as vt, FieldClaimSchema as w, resolveLocationMode as wn, createEvent as wr, enumerateItemArrayFields as wt, DeviceStatusSchema as x, resolveCoreBlockEntry as xn, buildSecretRef as xr, deviceStateCapability as xt, DERIVED_CAMERA_SILENCED_CAP_NAMES as y, resolveAppConnections as yn, asNumber as yr, deviceExtensionCapability as yt, StorageCleanupJobSchema as z, streamQualityLabel as zn, parseJsonUnknown as zr, isDefaultAppConnectionEndpoint as zt };
|