@camstack/system 1.2.416 → 1.2.418
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 +9969 -27
- package/dist/addon-runner.mjs +9930 -9
- package/dist/addon-utils.js +19 -20
- package/dist/addon-utils.mjs +1 -2
- package/dist/auth/auth-audit-log.d.ts +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 +2 -2
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
- 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-manager.addon.js +2 -2
- package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/keychain/index.js +7 -9
- package/dist/builtins/keychain/index.mjs +7 -9
- 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 +5 -3
- package/dist/builtins/local-auth/local-auth.addon.mjs +5 -3
- package/dist/builtins/local-network/local-network.addon.js +2 -2
- package/dist/builtins/local-network/local-network.addon.mjs +2 -2
- 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 +102 -10
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +92 -4
- package/dist/builtins/platform-probe/amd-npu.d.ts +6 -0
- package/dist/builtins/platform-probe/index.js +317 -19
- package/dist/builtins/platform-probe/index.mjs +318 -20
- package/dist/builtins/platform-probe/platform-scorer.d.ts +4 -0
- package/dist/builtins/platform-probe/windows-hardware.d.ts +77 -0
- 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/index.mjs +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +83 -3
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +79 -3
- 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/{composition-sources-DEZqZLPT.mjs → composition-sources-0cPw9E0M.mjs} +1 -1
- package/dist/{composition-sources-DBcOVpGn.js → composition-sources-BVjuMvpb.js} +1 -1
- package/dist/{constants-C4jZO_qO.js → constants-Aj0OBqlt.js} +1 -1
- package/dist/{constants-BSBtmzm3.mjs → constants-C8T7u1_Z.mjs} +1 -1
- package/dist/{event-loop-stall-monitor-LBZskC1S.mjs → custom-action-registry-BQnbN0DP.mjs} +57 -2
- package/dist/{event-loop-stall-monitor-E2hFvhDg.js → custom-action-registry-Bf_YnagS.js} +64 -3
- package/dist/{dist-DxiDI8hZ.js → dist-DVUg8e1T.js} +56 -182
- package/dist/{dist-DwE9yHdk.mjs → dist-DlmdESNT.mjs} +57 -153
- package/dist/index.js +22901 -10154
- package/dist/index.mjs +22616 -9869
- package/dist/{jwt-signing-key-DLbjTIuA.mjs → jwt-signing-key-CGg61A5v.mjs} +1 -1
- package/dist/{jwt-signing-key-CsC-FxSm.js → jwt-signing-key-Jyu81jZR.js} +1 -1
- package/dist/kernel/moleculer/broker-factory.d.ts +2 -4
- package/dist/kernel/transport/local-child-registry.d.ts +1 -1
- package/dist/logging/log-redactor.d.ts +1 -1
- package/dist/{resource-monitor-B2WZ8_q9.mjs → resource-monitor-Di9daRwI.mjs} +1 -1
- package/dist/{resource-monitor-BgWGRxN5.js → resource-monitor-mio9dSCT.js} +5 -5
- package/dist/{restore-archive-BtKjaVua.js → restore-archive-Bq5PpQ-H.js} +1 -1
- package/dist/{restore-archive-CImzbuRo.mjs → restore-archive-DVo5ooBt.mjs} +1 -1
- package/dist/{retired-settings-keys-Cl1tnkmq.js → retired-settings-keys-CihMX6h9.js} +1 -1
- package/dist/{retired-settings-keys-D1WsCdUY.mjs → retired-settings-keys-k_XuC-Mt.mjs} +1 -1
- package/dist/{tls-C0TRPfqc.js → tls-BgImdxCO.js} +4 -11
- package/dist/{tls-D-2dPY-5.mjs → tls-CaOLZ09W.mjs} +5 -12
- package/package.json +2 -2
- package/dist/amd-npu-B-QyyMyF.js +0 -53
- package/dist/amd-npu-Db_SoSuL.mjs +0 -52
- package/dist/child-cap-dispatch-B87B0FrC.js +0 -13986
- package/dist/child-cap-dispatch-CmfT-OR2.mjs +0 -12916
- package/dist/custom-action-registry-B4Cf4O_X.mjs +0 -57
- package/dist/custom-action-registry-acBY3mHA.js +0 -62
- package/dist/hub-cap-forward-CDiN1p98.mjs +0 -78
- package/dist/hub-cap-forward-W8oEm4ME.js +0 -101
- package/dist/proc-stat-CbC55Kqi.mjs +0 -92
- package/dist/proc-stat-DL-WUOhl.js +0 -127
|
@@ -718,7 +718,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
718
718
|
return EventCategory;
|
|
719
719
|
}({});
|
|
720
720
|
//#endregion
|
|
721
|
-
//#region ../types/dist/sleep-
|
|
721
|
+
//#region ../types/dist/sleep-vWTnHq9G.mjs
|
|
722
722
|
/**
|
|
723
723
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
724
724
|
* window to float samples (D455).
|
|
@@ -3156,31 +3156,6 @@ var PeerBytesTicketSchema = zod.z.object({
|
|
|
3156
3156
|
*/
|
|
3157
3157
|
declaredBytes: zod.z.number().int().nonnegative().nullable()
|
|
3158
3158
|
});
|
|
3159
|
-
/**
|
|
3160
|
-
* One store per PROCESS, even when two copies of this module are loaded (an
|
|
3161
|
-
* addon bundle next to the framework's): keyed on a registered symbol.
|
|
3162
|
-
*/
|
|
3163
|
-
var STORE_KEY = Symbol.for("camstack.keychain.known-secrets");
|
|
3164
|
-
function store() {
|
|
3165
|
-
const existing = Reflect.get(globalThis, STORE_KEY);
|
|
3166
|
-
if (existing !== void 0 && existing !== null) return existing;
|
|
3167
|
-
const created = {
|
|
3168
|
-
values: /* @__PURE__ */ new Map(),
|
|
3169
|
-
compiled: null
|
|
3170
|
-
};
|
|
3171
|
-
Reflect.set(globalThis, STORE_KEY, created);
|
|
3172
|
-
return created;
|
|
3173
|
-
}
|
|
3174
|
-
/** Replace every registered value inside `text` with its label. */
|
|
3175
|
-
function scrubKnownSecrets(text) {
|
|
3176
|
-
const s = store();
|
|
3177
|
-
const re = s.compiled;
|
|
3178
|
-
if (re === null || text.length < 8) return text;
|
|
3179
|
-
re.lastIndex = 0;
|
|
3180
|
-
if (!re.test(text)) return text;
|
|
3181
|
-
re.lastIndex = 0;
|
|
3182
|
-
return text.replace(re, (match) => s.values.get(match) ?? "‹secret›");
|
|
3183
|
-
}
|
|
3184
3159
|
/** Shared Zod schemas used across streaming capabilities. */
|
|
3185
3160
|
var CamProfileSchema = zod.z.enum([
|
|
3186
3161
|
"high",
|
|
@@ -3912,6 +3887,21 @@ function emitDownForOwnedCaps(registry, owned) {
|
|
|
3912
3887
|
for (const { capName, scope } of owned) registry.emitDown(capName, scope);
|
|
3913
3888
|
}
|
|
3914
3889
|
/**
|
|
3890
|
+
* The model weight formats a catalog entry can ship. Schema-free on purpose:
|
|
3891
|
+
* `types/models.ts` builds Zod schemas from it, but a runner-closure consumer
|
|
3892
|
+
* (the model downloader in `@camstack/system`) needs only the list and must
|
|
3893
|
+
* reach it through `@camstack/types/addon` without building the cap schema
|
|
3894
|
+
* graph (D28).
|
|
3895
|
+
*/
|
|
3896
|
+
var MODEL_FORMATS = [
|
|
3897
|
+
"onnx",
|
|
3898
|
+
"coreml",
|
|
3899
|
+
"openvino",
|
|
3900
|
+
"tflite",
|
|
3901
|
+
"pt",
|
|
3902
|
+
"gguf"
|
|
3903
|
+
];
|
|
3904
|
+
/**
|
|
3915
3905
|
* Per-call node pinning for `ctx.api` capability calls.
|
|
3916
3906
|
*
|
|
3917
3907
|
* A capability call normally resolves to its DEFAULT provider — a `singleton`
|
|
@@ -4331,6 +4321,42 @@ var deviceOpsCapability = {
|
|
|
4331
4321
|
getRawState: method(zod.z.object({ deviceId: zod.z.number() }), RawStateResultSchema.nullable(), { auth: "protected" })
|
|
4332
4322
|
}
|
|
4333
4323
|
};
|
|
4324
|
+
/**
|
|
4325
|
+
* Runtime defaults -- used by ConfigManager.get() for backward compatibility
|
|
4326
|
+
* until Plan B wires all runtime settings to the system_settings SQL table.
|
|
4327
|
+
*
|
|
4328
|
+
* Moved from @camstack/system/config-schema to @camstack/types so that
|
|
4329
|
+
* @camstack/system can reference it without a cross-package kernel import.
|
|
4330
|
+
*/
|
|
4331
|
+
var RUNTIME_DEFAULTS = {
|
|
4332
|
+
"features.streaming": true,
|
|
4333
|
+
"features.notifications": true,
|
|
4334
|
+
"features.objectDetection": false,
|
|
4335
|
+
"features.remoteAccess": true,
|
|
4336
|
+
"features.agentCluster": false,
|
|
4337
|
+
"features.smartHome": true,
|
|
4338
|
+
"features.recordings": true,
|
|
4339
|
+
"features.backup": true,
|
|
4340
|
+
"features.repl": true,
|
|
4341
|
+
"retention.detectionEventsDays": 30,
|
|
4342
|
+
"retention.audioLevelsDays": 7,
|
|
4343
|
+
"logging.level": "info",
|
|
4344
|
+
"logging.retentionDays": 30,
|
|
4345
|
+
"eventBus.ringBufferSize": 1e4,
|
|
4346
|
+
"storage.provider": "sqlite-storage",
|
|
4347
|
+
"storage.locations": {
|
|
4348
|
+
data: "camstack-data/data",
|
|
4349
|
+
media: "camstack-data/media",
|
|
4350
|
+
recordings: "camstack-data/recordings",
|
|
4351
|
+
cache: "/tmp/camstack-cache",
|
|
4352
|
+
logs: "camstack-data/logs",
|
|
4353
|
+
models: "camstack-data/models"
|
|
4354
|
+
},
|
|
4355
|
+
providers: [],
|
|
4356
|
+
"ffmpeg.hwAccel": "auto",
|
|
4357
|
+
"ffmpeg.threadCount": 0,
|
|
4358
|
+
"auth.tokenExpiry": "30d"
|
|
4359
|
+
};
|
|
4334
4360
|
function defOf(schema) {
|
|
4335
4361
|
return schema._zod?.def ?? {};
|
|
4336
4362
|
}
|
|
@@ -4790,7 +4816,7 @@ function errMsg(err) {
|
|
|
4790
4816
|
return String(err);
|
|
4791
4817
|
}
|
|
4792
4818
|
//#endregion
|
|
4793
|
-
//#region ../types/dist/composition-
|
|
4819
|
+
//#region ../types/dist/composition-C-WpVYTX.mjs
|
|
4794
4820
|
var AUDIO_ENCODER_BY_CODEC = {
|
|
4795
4821
|
opus: "libopus",
|
|
4796
4822
|
aac: "aac",
|
|
@@ -5234,7 +5260,7 @@ var BASE = `https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${FFM
|
|
|
5234
5260
|
function portable(target) {
|
|
5235
5261
|
return `${BASE}/jellyfin-ffmpeg_${FFMPEG_RELEASE}_portable_${target}-gpl.tar.xz`;
|
|
5236
5262
|
}
|
|
5237
|
-
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64")
|
|
5263
|
+
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64"), `${BASE}${FFMPEG_RELEASE}`;
|
|
5238
5264
|
/**
|
|
5239
5265
|
* THE table "which boolean of this device type counts as HIGH", and the
|
|
5240
5266
|
* pure evaluator of its EDGE.
|
|
@@ -9290,14 +9316,6 @@ var MASK_SUPPLY_STEP_IDS = ["segmentation"];
|
|
|
9290
9316
|
...CROP_SUPPLY_STEP_IDS,
|
|
9291
9317
|
...MASK_SUPPLY_STEP_IDS
|
|
9292
9318
|
];
|
|
9293
|
-
var MODEL_FORMATS = [
|
|
9294
|
-
"onnx",
|
|
9295
|
-
"coreml",
|
|
9296
|
-
"openvino",
|
|
9297
|
-
"tflite",
|
|
9298
|
-
"pt",
|
|
9299
|
-
"gguf"
|
|
9300
|
-
];
|
|
9301
9319
|
/**
|
|
9302
9320
|
* Multi-file format payload.
|
|
9303
9321
|
*
|
|
@@ -50108,44 +50126,6 @@ Object.freeze({
|
|
|
50108
50126
|
vehicle: .65,
|
|
50109
50127
|
animal: .65
|
|
50110
50128
|
});
|
|
50111
|
-
var HF_REPO = "camstack/camstack-models";
|
|
50112
|
-
`${HF_REPO}`;
|
|
50113
|
-
/**
|
|
50114
|
-
* Runtime defaults -- used by ConfigManager.get() for backward compatibility
|
|
50115
|
-
* until Plan B wires all runtime settings to the system_settings SQL table.
|
|
50116
|
-
*
|
|
50117
|
-
* Moved from @camstack/system/config-schema to @camstack/types so that
|
|
50118
|
-
* @camstack/system can reference it without a cross-package kernel import.
|
|
50119
|
-
*/
|
|
50120
|
-
var RUNTIME_DEFAULTS = {
|
|
50121
|
-
"features.streaming": true,
|
|
50122
|
-
"features.notifications": true,
|
|
50123
|
-
"features.objectDetection": false,
|
|
50124
|
-
"features.remoteAccess": true,
|
|
50125
|
-
"features.agentCluster": false,
|
|
50126
|
-
"features.smartHome": true,
|
|
50127
|
-
"features.recordings": true,
|
|
50128
|
-
"features.backup": true,
|
|
50129
|
-
"features.repl": true,
|
|
50130
|
-
"retention.detectionEventsDays": 30,
|
|
50131
|
-
"retention.audioLevelsDays": 7,
|
|
50132
|
-
"logging.level": "info",
|
|
50133
|
-
"logging.retentionDays": 30,
|
|
50134
|
-
"eventBus.ringBufferSize": 1e4,
|
|
50135
|
-
"storage.provider": "sqlite-storage",
|
|
50136
|
-
"storage.locations": {
|
|
50137
|
-
data: "camstack-data/data",
|
|
50138
|
-
media: "camstack-data/media",
|
|
50139
|
-
recordings: "camstack-data/recordings",
|
|
50140
|
-
cache: "/tmp/camstack-cache",
|
|
50141
|
-
logs: "camstack-data/logs",
|
|
50142
|
-
models: "camstack-data/models"
|
|
50143
|
-
},
|
|
50144
|
-
providers: [],
|
|
50145
|
-
"ffmpeg.hwAccel": "auto",
|
|
50146
|
-
"ffmpeg.threadCount": 0,
|
|
50147
|
-
"auth.tokenExpiry": "30d"
|
|
50148
|
-
};
|
|
50149
50129
|
/**
|
|
50150
50130
|
* Accessory device helpers — shared across drivers.
|
|
50151
50131
|
*
|
|
@@ -64886,82 +64866,6 @@ var ADDON_ID_PREFIX = "addon:";
|
|
|
64886
64866
|
function bareAddonId(id) {
|
|
64887
64867
|
return id.startsWith(ADDON_ID_PREFIX) ? id.slice(6) : id;
|
|
64888
64868
|
}
|
|
64889
|
-
function hfModelUrl(repo, path) {
|
|
64890
|
-
return `https://huggingface.co/${repo}/resolve/main/${path}`;
|
|
64891
|
-
}
|
|
64892
|
-
/**
|
|
64893
|
-
* Names that, when used as URL query parameters, almost certainly carry
|
|
64894
|
-
* a secret. Matching is case-insensitive and anchored to the full param
|
|
64895
|
-
* name to avoid false positives like `user_id` (an entity reference, not
|
|
64896
|
-
* a credential) or `topic=password-reset` (a value happens to contain
|
|
64897
|
-
* the substring "password" but the param name is unrelated).
|
|
64898
|
-
*
|
|
64899
|
-
* Add new patterns here as we encounter cameras/APIs that leak through
|
|
64900
|
-
* the existing list.
|
|
64901
|
-
*/
|
|
64902
|
-
var CREDENTIAL_PARAM_PATTERNS = [
|
|
64903
|
-
/^user$/i,
|
|
64904
|
-
/^usr$/i,
|
|
64905
|
-
/^username$/i,
|
|
64906
|
-
/^password$/i,
|
|
64907
|
-
/^pwd$/i,
|
|
64908
|
-
/^pass$/i,
|
|
64909
|
-
/^passwd$/i,
|
|
64910
|
-
/^secret$/i,
|
|
64911
|
-
/^token$/i,
|
|
64912
|
-
/^auth$/i,
|
|
64913
|
-
/^auth[_-]?token$/i,
|
|
64914
|
-
/^bearer$/i,
|
|
64915
|
-
/^api[_-]?key$/i,
|
|
64916
|
-
/^access[_-]?token$/i,
|
|
64917
|
-
/^refresh[_-]?token$/i,
|
|
64918
|
-
/^bridge$/i,
|
|
64919
|
-
/^code$/i,
|
|
64920
|
-
/^state$/i,
|
|
64921
|
-
/^challenge$/i,
|
|
64922
|
-
/^link$/i
|
|
64923
|
-
];
|
|
64924
|
-
function isCredentialParam(name) {
|
|
64925
|
-
return CREDENTIAL_PARAM_PATTERNS.some((re) => re.test(name));
|
|
64926
|
-
}
|
|
64927
|
-
/**
|
|
64928
|
-
* Redact secrets we may surface in logs or telemetry:
|
|
64929
|
-
* 1. `userinfo` (`user:password@host`) — the classic RTSP shape.
|
|
64930
|
-
* 2. Query-string credential params (`?user=...&password=...`) — the
|
|
64931
|
-
* Reolink RTMP shape and several HTTP-pushed-stream APIs.
|
|
64932
|
-
*
|
|
64933
|
-
* Returns the original string verbatim when the input is not a parseable
|
|
64934
|
-
* URL — a log helper must never throw. Param values are replaced with
|
|
64935
|
-
* `***` so an operator reading logs still sees WHICH credential was
|
|
64936
|
-
* present (useful for debugging "wrong password" issues) without
|
|
64937
|
-
* exposing the value.
|
|
64938
|
-
*
|
|
64939
|
-
* The credential-name match is case-insensitive but anchored to the
|
|
64940
|
-
* whole param name; values like `user_id=42` or `topic=password-reset`
|
|
64941
|
-
* are NOT masked (those are entity references, not credentials).
|
|
64942
|
-
*/
|
|
64943
|
-
function maskUrlCredentials(rawUrl) {
|
|
64944
|
-
if (rawUrl.startsWith("/") && !rawUrl.startsWith("//")) {
|
|
64945
|
-
const masked = maskUrlCredentials(`http://relative.invalid${rawUrl}`);
|
|
64946
|
-
return masked.startsWith("http://relative.invalid") ? masked.slice(23) : rawUrl;
|
|
64947
|
-
}
|
|
64948
|
-
try {
|
|
64949
|
-
const u = new URL(rawUrl);
|
|
64950
|
-
let touched = false;
|
|
64951
|
-
if (u.username || u.password) {
|
|
64952
|
-
u.username = "";
|
|
64953
|
-
u.password = "";
|
|
64954
|
-
touched = true;
|
|
64955
|
-
}
|
|
64956
|
-
for (const key of Array.from(u.searchParams.keys())) if (isCredentialParam(key)) {
|
|
64957
|
-
u.searchParams.set(key, "***");
|
|
64958
|
-
touched = true;
|
|
64959
|
-
}
|
|
64960
|
-
return touched ? u.toString() : rawUrl;
|
|
64961
|
-
} catch {
|
|
64962
|
-
return rawUrl;
|
|
64963
|
-
}
|
|
64964
|
-
}
|
|
64965
64869
|
var MB = 1024 * 1024;
|
|
64966
64870
|
1024 * MB, 3072 * MB;
|
|
64967
64871
|
/**
|
|
@@ -65005,7 +64909,7 @@ var RUNTIMES = [
|
|
|
65005
64909
|
value: "cuda",
|
|
65006
64910
|
label: "CUDA"
|
|
65007
64911
|
});
|
|
65008
|
-
if (hw.gpu?.type === "amd") out.push({
|
|
64912
|
+
if (hw.gpu?.type === "amd" && hw.platform === "linux") out.push({
|
|
65009
64913
|
value: "webgpu",
|
|
65010
64914
|
label: "WebGPU (AMD iGPU)"
|
|
65011
64915
|
});
|
|
@@ -65116,7 +65020,7 @@ function scoreRuntimes(hw) {
|
|
|
65116
65020
|
});
|
|
65117
65021
|
}
|
|
65118
65022
|
if (hw.gpu?.type === "amd") {
|
|
65119
|
-
scores.push({
|
|
65023
|
+
if (hw.platform === "linux") scores.push({
|
|
65120
65024
|
runtime: "python",
|
|
65121
65025
|
backend: "onnx",
|
|
65122
65026
|
format: "onnx",
|
|
@@ -65407,12 +65311,6 @@ Object.defineProperty(exports, "FieldClaimSchema", {
|
|
|
65407
65311
|
return FieldClaimSchema;
|
|
65408
65312
|
}
|
|
65409
65313
|
});
|
|
65410
|
-
Object.defineProperty(exports, "HF_REPO", {
|
|
65411
|
-
enumerable: true,
|
|
65412
|
-
get: function() {
|
|
65413
|
-
return HF_REPO;
|
|
65414
|
-
}
|
|
65415
|
-
});
|
|
65416
65314
|
Object.defineProperty(exports, "HUB_MDNS_SERVICE_TYPE", {
|
|
65417
65315
|
enumerable: true,
|
|
65418
65316
|
get: function() {
|
|
@@ -65461,12 +65359,6 @@ Object.defineProperty(exports, "MINUTES_PER_DAY", {
|
|
|
65461
65359
|
return MINUTES_PER_DAY;
|
|
65462
65360
|
}
|
|
65463
65361
|
});
|
|
65464
|
-
Object.defineProperty(exports, "MODEL_FORMATS", {
|
|
65465
|
-
enumerable: true,
|
|
65466
|
-
get: function() {
|
|
65467
|
-
return MODEL_FORMATS;
|
|
65468
|
-
}
|
|
65469
|
-
});
|
|
65470
65362
|
Object.defineProperty(exports, "MOTION_CLOSE_AFTER_MS", {
|
|
65471
65363
|
enumerable: true,
|
|
65472
65364
|
get: function() {
|
|
@@ -65983,12 +65875,6 @@ Object.defineProperty(exports, "gbToBytes", {
|
|
|
65983
65875
|
return gbToBytes;
|
|
65984
65876
|
}
|
|
65985
65877
|
});
|
|
65986
|
-
Object.defineProperty(exports, "hfModelUrl", {
|
|
65987
|
-
enumerable: true,
|
|
65988
|
-
get: function() {
|
|
65989
|
-
return hfModelUrl;
|
|
65990
|
-
}
|
|
65991
|
-
});
|
|
65992
65878
|
Object.defineProperty(exports, "hydrateSchema", {
|
|
65993
65879
|
enumerable: true,
|
|
65994
65880
|
get: function() {
|
|
@@ -66145,12 +66031,6 @@ Object.defineProperty(exports, "makeSecretMarker", {
|
|
|
66145
66031
|
return makeSecretMarker;
|
|
66146
66032
|
}
|
|
66147
66033
|
});
|
|
66148
|
-
Object.defineProperty(exports, "maskUrlCredentials", {
|
|
66149
|
-
enumerable: true,
|
|
66150
|
-
get: function() {
|
|
66151
|
-
return maskUrlCredentials;
|
|
66152
|
-
}
|
|
66153
|
-
});
|
|
66154
66034
|
Object.defineProperty(exports, "mayReadLocation", {
|
|
66155
66035
|
enumerable: true,
|
|
66156
66036
|
get: function() {
|
|
@@ -66385,12 +66265,6 @@ Object.defineProperty(exports, "scoreRuntimes", {
|
|
|
66385
66265
|
return scoreRuntimes;
|
|
66386
66266
|
}
|
|
66387
66267
|
});
|
|
66388
|
-
Object.defineProperty(exports, "scrubKnownSecrets", {
|
|
66389
|
-
enumerable: true,
|
|
66390
|
-
get: function() {
|
|
66391
|
-
return scrubKnownSecrets;
|
|
66392
|
-
}
|
|
66393
|
-
});
|
|
66394
66268
|
Object.defineProperty(exports, "secretTreeFromPaths", {
|
|
66395
66269
|
enumerable: true,
|
|
66396
66270
|
get: function() {
|
|
@@ -718,7 +718,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
718
718
|
return EventCategory;
|
|
719
719
|
}({});
|
|
720
720
|
//#endregion
|
|
721
|
-
//#region ../types/dist/sleep-
|
|
721
|
+
//#region ../types/dist/sleep-vWTnHq9G.mjs
|
|
722
722
|
/**
|
|
723
723
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
724
724
|
* window to float samples (D455).
|
|
@@ -3156,31 +3156,6 @@ var PeerBytesTicketSchema = z.object({
|
|
|
3156
3156
|
*/
|
|
3157
3157
|
declaredBytes: z.number().int().nonnegative().nullable()
|
|
3158
3158
|
});
|
|
3159
|
-
/**
|
|
3160
|
-
* One store per PROCESS, even when two copies of this module are loaded (an
|
|
3161
|
-
* addon bundle next to the framework's): keyed on a registered symbol.
|
|
3162
|
-
*/
|
|
3163
|
-
var STORE_KEY = Symbol.for("camstack.keychain.known-secrets");
|
|
3164
|
-
function store() {
|
|
3165
|
-
const existing = Reflect.get(globalThis, STORE_KEY);
|
|
3166
|
-
if (existing !== void 0 && existing !== null) return existing;
|
|
3167
|
-
const created = {
|
|
3168
|
-
values: /* @__PURE__ */ new Map(),
|
|
3169
|
-
compiled: null
|
|
3170
|
-
};
|
|
3171
|
-
Reflect.set(globalThis, STORE_KEY, created);
|
|
3172
|
-
return created;
|
|
3173
|
-
}
|
|
3174
|
-
/** Replace every registered value inside `text` with its label. */
|
|
3175
|
-
function scrubKnownSecrets(text) {
|
|
3176
|
-
const s = store();
|
|
3177
|
-
const re = s.compiled;
|
|
3178
|
-
if (re === null || text.length < 8) return text;
|
|
3179
|
-
re.lastIndex = 0;
|
|
3180
|
-
if (!re.test(text)) return text;
|
|
3181
|
-
re.lastIndex = 0;
|
|
3182
|
-
return text.replace(re, (match) => s.values.get(match) ?? "‹secret›");
|
|
3183
|
-
}
|
|
3184
3159
|
/** Shared Zod schemas used across streaming capabilities. */
|
|
3185
3160
|
var CamProfileSchema = z.enum([
|
|
3186
3161
|
"high",
|
|
@@ -3912,6 +3887,21 @@ function emitDownForOwnedCaps(registry, owned) {
|
|
|
3912
3887
|
for (const { capName, scope } of owned) registry.emitDown(capName, scope);
|
|
3913
3888
|
}
|
|
3914
3889
|
/**
|
|
3890
|
+
* The model weight formats a catalog entry can ship. Schema-free on purpose:
|
|
3891
|
+
* `types/models.ts` builds Zod schemas from it, but a runner-closure consumer
|
|
3892
|
+
* (the model downloader in `@camstack/system`) needs only the list and must
|
|
3893
|
+
* reach it through `@camstack/types/addon` without building the cap schema
|
|
3894
|
+
* graph (D28).
|
|
3895
|
+
*/
|
|
3896
|
+
var MODEL_FORMATS = [
|
|
3897
|
+
"onnx",
|
|
3898
|
+
"coreml",
|
|
3899
|
+
"openvino",
|
|
3900
|
+
"tflite",
|
|
3901
|
+
"pt",
|
|
3902
|
+
"gguf"
|
|
3903
|
+
];
|
|
3904
|
+
/**
|
|
3915
3905
|
* Per-call node pinning for `ctx.api` capability calls.
|
|
3916
3906
|
*
|
|
3917
3907
|
* A capability call normally resolves to its DEFAULT provider — a `singleton`
|
|
@@ -4331,6 +4321,42 @@ var deviceOpsCapability = {
|
|
|
4331
4321
|
getRawState: method(z.object({ deviceId: z.number() }), RawStateResultSchema.nullable(), { auth: "protected" })
|
|
4332
4322
|
}
|
|
4333
4323
|
};
|
|
4324
|
+
/**
|
|
4325
|
+
* Runtime defaults -- used by ConfigManager.get() for backward compatibility
|
|
4326
|
+
* until Plan B wires all runtime settings to the system_settings SQL table.
|
|
4327
|
+
*
|
|
4328
|
+
* Moved from @camstack/system/config-schema to @camstack/types so that
|
|
4329
|
+
* @camstack/system can reference it without a cross-package kernel import.
|
|
4330
|
+
*/
|
|
4331
|
+
var RUNTIME_DEFAULTS = {
|
|
4332
|
+
"features.streaming": true,
|
|
4333
|
+
"features.notifications": true,
|
|
4334
|
+
"features.objectDetection": false,
|
|
4335
|
+
"features.remoteAccess": true,
|
|
4336
|
+
"features.agentCluster": false,
|
|
4337
|
+
"features.smartHome": true,
|
|
4338
|
+
"features.recordings": true,
|
|
4339
|
+
"features.backup": true,
|
|
4340
|
+
"features.repl": true,
|
|
4341
|
+
"retention.detectionEventsDays": 30,
|
|
4342
|
+
"retention.audioLevelsDays": 7,
|
|
4343
|
+
"logging.level": "info",
|
|
4344
|
+
"logging.retentionDays": 30,
|
|
4345
|
+
"eventBus.ringBufferSize": 1e4,
|
|
4346
|
+
"storage.provider": "sqlite-storage",
|
|
4347
|
+
"storage.locations": {
|
|
4348
|
+
data: "camstack-data/data",
|
|
4349
|
+
media: "camstack-data/media",
|
|
4350
|
+
recordings: "camstack-data/recordings",
|
|
4351
|
+
cache: "/tmp/camstack-cache",
|
|
4352
|
+
logs: "camstack-data/logs",
|
|
4353
|
+
models: "camstack-data/models"
|
|
4354
|
+
},
|
|
4355
|
+
providers: [],
|
|
4356
|
+
"ffmpeg.hwAccel": "auto",
|
|
4357
|
+
"ffmpeg.threadCount": 0,
|
|
4358
|
+
"auth.tokenExpiry": "30d"
|
|
4359
|
+
};
|
|
4334
4360
|
function defOf(schema) {
|
|
4335
4361
|
return schema._zod?.def ?? {};
|
|
4336
4362
|
}
|
|
@@ -4790,7 +4816,7 @@ function errMsg(err) {
|
|
|
4790
4816
|
return String(err);
|
|
4791
4817
|
}
|
|
4792
4818
|
//#endregion
|
|
4793
|
-
//#region ../types/dist/composition-
|
|
4819
|
+
//#region ../types/dist/composition-C-WpVYTX.mjs
|
|
4794
4820
|
var AUDIO_ENCODER_BY_CODEC = {
|
|
4795
4821
|
opus: "libopus",
|
|
4796
4822
|
aac: "aac",
|
|
@@ -5234,7 +5260,7 @@ var BASE = `https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${FFM
|
|
|
5234
5260
|
function portable(target) {
|
|
5235
5261
|
return `${BASE}/jellyfin-ffmpeg_${FFMPEG_RELEASE}_portable_${target}-gpl.tar.xz`;
|
|
5236
5262
|
}
|
|
5237
|
-
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64")
|
|
5263
|
+
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64"), `${BASE}${FFMPEG_RELEASE}`;
|
|
5238
5264
|
/**
|
|
5239
5265
|
* THE table "which boolean of this device type counts as HIGH", and the
|
|
5240
5266
|
* pure evaluator of its EDGE.
|
|
@@ -9290,14 +9316,6 @@ var MASK_SUPPLY_STEP_IDS = ["segmentation"];
|
|
|
9290
9316
|
...CROP_SUPPLY_STEP_IDS,
|
|
9291
9317
|
...MASK_SUPPLY_STEP_IDS
|
|
9292
9318
|
];
|
|
9293
|
-
var MODEL_FORMATS = [
|
|
9294
|
-
"onnx",
|
|
9295
|
-
"coreml",
|
|
9296
|
-
"openvino",
|
|
9297
|
-
"tflite",
|
|
9298
|
-
"pt",
|
|
9299
|
-
"gguf"
|
|
9300
|
-
];
|
|
9301
9319
|
/**
|
|
9302
9320
|
* Multi-file format payload.
|
|
9303
9321
|
*
|
|
@@ -50108,44 +50126,6 @@ Object.freeze({
|
|
|
50108
50126
|
vehicle: .65,
|
|
50109
50127
|
animal: .65
|
|
50110
50128
|
});
|
|
50111
|
-
var HF_REPO = "camstack/camstack-models";
|
|
50112
|
-
`${HF_REPO}`;
|
|
50113
|
-
/**
|
|
50114
|
-
* Runtime defaults -- used by ConfigManager.get() for backward compatibility
|
|
50115
|
-
* until Plan B wires all runtime settings to the system_settings SQL table.
|
|
50116
|
-
*
|
|
50117
|
-
* Moved from @camstack/system/config-schema to @camstack/types so that
|
|
50118
|
-
* @camstack/system can reference it without a cross-package kernel import.
|
|
50119
|
-
*/
|
|
50120
|
-
var RUNTIME_DEFAULTS = {
|
|
50121
|
-
"features.streaming": true,
|
|
50122
|
-
"features.notifications": true,
|
|
50123
|
-
"features.objectDetection": false,
|
|
50124
|
-
"features.remoteAccess": true,
|
|
50125
|
-
"features.agentCluster": false,
|
|
50126
|
-
"features.smartHome": true,
|
|
50127
|
-
"features.recordings": true,
|
|
50128
|
-
"features.backup": true,
|
|
50129
|
-
"features.repl": true,
|
|
50130
|
-
"retention.detectionEventsDays": 30,
|
|
50131
|
-
"retention.audioLevelsDays": 7,
|
|
50132
|
-
"logging.level": "info",
|
|
50133
|
-
"logging.retentionDays": 30,
|
|
50134
|
-
"eventBus.ringBufferSize": 1e4,
|
|
50135
|
-
"storage.provider": "sqlite-storage",
|
|
50136
|
-
"storage.locations": {
|
|
50137
|
-
data: "camstack-data/data",
|
|
50138
|
-
media: "camstack-data/media",
|
|
50139
|
-
recordings: "camstack-data/recordings",
|
|
50140
|
-
cache: "/tmp/camstack-cache",
|
|
50141
|
-
logs: "camstack-data/logs",
|
|
50142
|
-
models: "camstack-data/models"
|
|
50143
|
-
},
|
|
50144
|
-
providers: [],
|
|
50145
|
-
"ffmpeg.hwAccel": "auto",
|
|
50146
|
-
"ffmpeg.threadCount": 0,
|
|
50147
|
-
"auth.tokenExpiry": "30d"
|
|
50148
|
-
};
|
|
50149
50129
|
/**
|
|
50150
50130
|
* Accessory device helpers — shared across drivers.
|
|
50151
50131
|
*
|
|
@@ -64886,82 +64866,6 @@ var ADDON_ID_PREFIX = "addon:";
|
|
|
64886
64866
|
function bareAddonId(id) {
|
|
64887
64867
|
return id.startsWith(ADDON_ID_PREFIX) ? id.slice(6) : id;
|
|
64888
64868
|
}
|
|
64889
|
-
function hfModelUrl(repo, path) {
|
|
64890
|
-
return `https://huggingface.co/${repo}/resolve/main/${path}`;
|
|
64891
|
-
}
|
|
64892
|
-
/**
|
|
64893
|
-
* Names that, when used as URL query parameters, almost certainly carry
|
|
64894
|
-
* a secret. Matching is case-insensitive and anchored to the full param
|
|
64895
|
-
* name to avoid false positives like `user_id` (an entity reference, not
|
|
64896
|
-
* a credential) or `topic=password-reset` (a value happens to contain
|
|
64897
|
-
* the substring "password" but the param name is unrelated).
|
|
64898
|
-
*
|
|
64899
|
-
* Add new patterns here as we encounter cameras/APIs that leak through
|
|
64900
|
-
* the existing list.
|
|
64901
|
-
*/
|
|
64902
|
-
var CREDENTIAL_PARAM_PATTERNS = [
|
|
64903
|
-
/^user$/i,
|
|
64904
|
-
/^usr$/i,
|
|
64905
|
-
/^username$/i,
|
|
64906
|
-
/^password$/i,
|
|
64907
|
-
/^pwd$/i,
|
|
64908
|
-
/^pass$/i,
|
|
64909
|
-
/^passwd$/i,
|
|
64910
|
-
/^secret$/i,
|
|
64911
|
-
/^token$/i,
|
|
64912
|
-
/^auth$/i,
|
|
64913
|
-
/^auth[_-]?token$/i,
|
|
64914
|
-
/^bearer$/i,
|
|
64915
|
-
/^api[_-]?key$/i,
|
|
64916
|
-
/^access[_-]?token$/i,
|
|
64917
|
-
/^refresh[_-]?token$/i,
|
|
64918
|
-
/^bridge$/i,
|
|
64919
|
-
/^code$/i,
|
|
64920
|
-
/^state$/i,
|
|
64921
|
-
/^challenge$/i,
|
|
64922
|
-
/^link$/i
|
|
64923
|
-
];
|
|
64924
|
-
function isCredentialParam(name) {
|
|
64925
|
-
return CREDENTIAL_PARAM_PATTERNS.some((re) => re.test(name));
|
|
64926
|
-
}
|
|
64927
|
-
/**
|
|
64928
|
-
* Redact secrets we may surface in logs or telemetry:
|
|
64929
|
-
* 1. `userinfo` (`user:password@host`) — the classic RTSP shape.
|
|
64930
|
-
* 2. Query-string credential params (`?user=...&password=...`) — the
|
|
64931
|
-
* Reolink RTMP shape and several HTTP-pushed-stream APIs.
|
|
64932
|
-
*
|
|
64933
|
-
* Returns the original string verbatim when the input is not a parseable
|
|
64934
|
-
* URL — a log helper must never throw. Param values are replaced with
|
|
64935
|
-
* `***` so an operator reading logs still sees WHICH credential was
|
|
64936
|
-
* present (useful for debugging "wrong password" issues) without
|
|
64937
|
-
* exposing the value.
|
|
64938
|
-
*
|
|
64939
|
-
* The credential-name match is case-insensitive but anchored to the
|
|
64940
|
-
* whole param name; values like `user_id=42` or `topic=password-reset`
|
|
64941
|
-
* are NOT masked (those are entity references, not credentials).
|
|
64942
|
-
*/
|
|
64943
|
-
function maskUrlCredentials(rawUrl) {
|
|
64944
|
-
if (rawUrl.startsWith("/") && !rawUrl.startsWith("//")) {
|
|
64945
|
-
const masked = maskUrlCredentials(`http://relative.invalid${rawUrl}`);
|
|
64946
|
-
return masked.startsWith("http://relative.invalid") ? masked.slice(23) : rawUrl;
|
|
64947
|
-
}
|
|
64948
|
-
try {
|
|
64949
|
-
const u = new URL(rawUrl);
|
|
64950
|
-
let touched = false;
|
|
64951
|
-
if (u.username || u.password) {
|
|
64952
|
-
u.username = "";
|
|
64953
|
-
u.password = "";
|
|
64954
|
-
touched = true;
|
|
64955
|
-
}
|
|
64956
|
-
for (const key of Array.from(u.searchParams.keys())) if (isCredentialParam(key)) {
|
|
64957
|
-
u.searchParams.set(key, "***");
|
|
64958
|
-
touched = true;
|
|
64959
|
-
}
|
|
64960
|
-
return touched ? u.toString() : rawUrl;
|
|
64961
|
-
} catch {
|
|
64962
|
-
return rawUrl;
|
|
64963
|
-
}
|
|
64964
|
-
}
|
|
64965
64869
|
var MB = 1024 * 1024;
|
|
64966
64870
|
1024 * MB, 3072 * MB;
|
|
64967
64871
|
/**
|
|
@@ -65005,7 +64909,7 @@ var RUNTIMES = [
|
|
|
65005
64909
|
value: "cuda",
|
|
65006
64910
|
label: "CUDA"
|
|
65007
64911
|
});
|
|
65008
|
-
if (hw.gpu?.type === "amd") out.push({
|
|
64912
|
+
if (hw.gpu?.type === "amd" && hw.platform === "linux") out.push({
|
|
65009
64913
|
value: "webgpu",
|
|
65010
64914
|
label: "WebGPU (AMD iGPU)"
|
|
65011
64915
|
});
|
|
@@ -65116,7 +65020,7 @@ function scoreRuntimes(hw) {
|
|
|
65116
65020
|
});
|
|
65117
65021
|
}
|
|
65118
65022
|
if (hw.gpu?.type === "amd") {
|
|
65119
|
-
scores.push({
|
|
65023
|
+
if (hw.platform === "linux") scores.push({
|
|
65120
65024
|
runtime: "python",
|
|
65121
65025
|
backend: "onnx",
|
|
65122
65026
|
format: "onnx",
|
|
@@ -65209,4 +65113,4 @@ function enumerateInferenceDevices(hw) {
|
|
|
65209
65113
|
return out;
|
|
65210
65114
|
}
|
|
65211
65115
|
//#endregion
|
|
65212
|
-
export {
|
|
65116
|
+
export { buildStreamParamsConfigSchema as $, compositionSliceKey as $n, transformSecretWrite as $r, mayReadLocation as $t, LocationIconIdSchema as A, siteZoneKey as An, formatSecretScope as Ar, extractNestedAddonId as At, StorageLocationModeSchema as B, validateComposition as Bn, normalizeSecretOwner as Br, isObjectInput as Bt, FieldClaimModeSchema as C, resolveMethodAuth as Cn, collectZodSecretPaths as Cr, enumerateInferenceDevices as Ct, KEYCHAIN_RESET_TRIGGER_ACTOR as D, scopesAllowDeviceCap as Dn, emitDownForOwnedCaps as Dr, evictionPolicyOfLocation as Dt, HUB_MDNS_TXT_KEYS as E, scopesAllowAddon as En, defineCustomActions as Er, evaluateCompositionField as Et, RecordingStatusSchema as F, storageProviderCapability as Fn, isSecretClear as Fr, isAppLinkBase as Ft, addonSettingsCapability as G, withLocationMode as Gn, resolveCapMount as Gr, legacyAutoLinkIds as Gt, StorageMigrationJobSchema as H, vectorDimFromBase64 as Hn, parseJsonUnknown as Hr, kebabToCamel as Ht, STORAGE_ACCESS_FALLBACK as I, streamCatalogCapability as In, isSecretMarker as Ir, isArrayOutputSchema as It, authProviderCapability as J, cloneStatefulExpressionMemory as Jn, secretTreeFromPaths as Jr, localNetworkCapability as Jt, addonWidgetsCapability as K, COMPOSER_ADDON_ID as Kn, resolveSecretMarkers as Kr, legacyModeOf as Kt, STREAM_PROFILE_META as L, streamQualityLabel as Ln, isSecretMarkerLike as Lr, isCollectionArrayMethod as Lt, MINUTES_PER_DAY as M, storageCapability as Mn, isDeviceConfigCap as Mr, foldSnapshotByFunction as Mt, MOTION_CLOSE_AFTER_MS as N, storageMigrationCapability as Nn, isEvent as Nr, formatMinutes as Nt, LOG_LEVEL_RANK as O, scoreRuntimes as On, emitReadiness as Or, expandContainer as Ot, RECORDING_SOURCE_CAMSTACK_ADDON as P, storageOccupancyCapability as Pn, isKeychainStoredField as Pr, gbToBytes as Pt, buildCapabilityLookup as Q, compositionItemFieldPath as Qn, toSecretFieldView as Qr, looseSchema as Qt, ScopedTokenSchema as R, supportedRuntimes as Rn, makeSecretMarker as Rr, isDefaultAppConnectionEndpoint as Rt, FIRST_LEVEL_MACRO_CLASSES as S, resolveLocationMode as Sn, collectSecretConfigKeys as Sr, deviceStatusCapability as St, HUB_MDNS_SERVICE_TYPE as T, runtimeStatePolicyFor as Tn, customAction as Tr, enumerateSchemaFields as Tt, UserRecordSchema as U, vectorIndexDimConflictError as Un, parseSecretRef as Ur, keychainAdminCapability as Ut, StorageLocationTypeSchema as V, validateCustomAddress as Vn, parseJsonObject as Vr, isVoidInput as Vt, addonPagesCapability as W, vectorStoreCapability as Wn, readinessKey as Wr, keychainCapability as Wt, bareAddonId as X, composedDeviceStableId as Xn, sleep as Xr, logDestinationCapability as Xt, backupCapability as Y, composedDeviceRef as Yn, secretTreeFromSchema as Yr, locationIconKey as Yt, batteryCapability as Z, compositionFeatureEnabled as Zn, toNodeId as Zr, logLevelAtMost as Zt, DATABASE_SNAPSHOT_TIMEOUT_MS as _, resolveAppConnections as _n, WELL_KNOWN_TAB_MAP as _r, deriveBatteryPresence as _t, BatteryStatusSchema as a, normalizeCoreBlockWrite as an, DeviceRole as ar, compositionSourceRefs as at, DeclaredDevices as b, resolveCoreBlockFiles as bn, asString$1 as br, deviceManagerCapability as bt, CAP_NAMES_WITH_STATUS as c, objectInputDeclaresRequiredDeviceId as cn, BaseAddon as cr, coreBlockIdFromAddonId as ct, CORE_BLOCKS_ADDON_ID as d, planComposition as dn, DEVICE_STATUS_METHOD as dr, createDeviceExtensionProvider as dt, EventCategory as ei, mayWriteToLocation as en, compositionSourceKey as er, calendarsCapability as et, CORE_BLOCK_ADDON_PREFIX as f, platformProbeCapability as fn, REDACTED_SECRET as fr, dataStoreProviderCapability as ft, DATABASE_SNAPSHOT_SUFFIX as g, replacedFieldKeys as gn, SECRET_CLEAR as gr, defineExtensionSlotProvider as gt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as h, reducePoints as hn, ReadinessTimeoutError as hr, decodeVectorBase64 as ht, BaseDevice as i, motionCapability as in, DeviceFeature as ir, compositionFieldKey as it, METHOD_ACCESS_MAP as j, snapshotCapability as jn, hydrateSchema as jr, filesystemBrowseCapability as jt, LegacyStorageLocationDefaultSchema as k, settingsStoreCapability as kn, expandCapMethods as kr, expressionContainsBuiltinCall as kt, COMPOSED_ITEM_FIXED_FIELDS as l, parseStreamParamsFormPatch as ln, DATAPLANE_SECRET_HEADER as lr, coreBlockSourceKind as lt, CoreBlockSchema as m, ptzAutotrackCapability as mn, ReadinessRegistry as mr, declarationOwnerNodeId as mt, AlertSchema as n, metricsProviderCapability as nn, disarmRoseMemory as nr, checkRoleAddress as nt, CAMERA_SWITCH_ORDER as o, normalizeUnit as on, DeviceType as or, coreBlockAddonId as ot, CalendarPreferencesSchema as p, procedureAuthKey as pn, RUNTIME_DEFAULTS as pr, databaseSnapshotCapability as pt, alertsCapability as q, buildFfmpegArgs as qn, scopeKey as qr, lifecycleJobSchema as qt, ApiKeyRecordSchema as r, modeMayWrite as rn, toExpressionValue as rr, composerCapability as rt, CAMSTACK_APP_LINK_ORIGIN as s, objectInputDeclaresAddonId as sn, errMsg as sr, coreBlockComposition as st, ALL_CAPABILITY_DEFINITIONS as t, memoizePinnedFfmpeg as tn, createStatefulExpressionMemory as tr, cameraGridLayoutCapability as tt, COMPOSER_RUNNER_ID as u, pickAppLinkHub as un, DEVICE_SETTINGS_CONTRIBUTION_METHODS as ur, coreBlocksCapability as ut, DAY_NAMES as v, resolveBucketMs as vn, asJsonObject as vr, describeComposableCaps as vt, FieldClaimSchema as w, resolveNotificationTapAddress as wn, createEvent as wr, enumerateItemArrayFields as wt, DeviceStatusSchema as x, resolveHubAddressRoles as xn, buildSecretRef as xr, deviceStateCapability as xt, DERIVED_CAMERA_SILENCED_CAP_NAMES as y, resolveCoreBlockEntry as yn, asNumber as yr, deviceExtensionCapability as yt, StorageCleanupJobSchema as z, userManagementCapability as zn, nodePin as zr, isLocationEnabled as zt };
|