@camstack/system 1.2.417 → 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-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 +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 +2 -2
- package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
- 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 +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- 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/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/{composition-sources-CndJVssc.mjs → composition-sources-0cPw9E0M.mjs} +1 -1
- package/dist/{composition-sources-ChAX2Kdo.js → composition-sources-BVjuMvpb.js} +1 -1
- package/dist/{constants-VXvZkGgw.js → constants-Aj0OBqlt.js} +1 -1
- package/dist/{constants-BzxwnfDc.mjs → constants-C8T7u1_Z.mjs} +1 -1
- package/dist/{custom-action-registry-DHv0kYcT.mjs → custom-action-registry-BQnbN0DP.mjs} +1 -2
- package/dist/{custom-action-registry-Bb28ibZV.js → custom-action-registry-Bf_YnagS.js} +3 -4
- package/dist/{dist-BMOD9OyH.js → dist-DVUg8e1T.js} +56 -72
- package/dist/{dist-H_RapIeM.mjs → dist-DlmdESNT.mjs} +57 -55
- package/dist/index.js +38 -10
- package/dist/index.mjs +38 -10
- package/dist/{jwt-signing-key-xQxqpwMC.mjs → jwt-signing-key-CGg61A5v.mjs} +1 -1
- package/dist/{jwt-signing-key-BiKHENST.js → jwt-signing-key-Jyu81jZR.js} +1 -1
- package/dist/{restore-archive-BobsETEp.js → restore-archive-Bq5PpQ-H.js} +1 -1
- package/dist/{restore-archive-CCAQicV-.mjs → restore-archive-DVo5ooBt.mjs} +1 -1
- package/dist/{retired-settings-keys-BMq2u4Wv.js → retired-settings-keys-CihMX6h9.js} +1 -1
- package/dist/{retired-settings-keys-CwL4zHLg.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 +1 -1
- package/dist/amd-npu-B-QyyMyF.js +0 -53
- package/dist/amd-npu-Db_SoSuL.mjs +0 -52
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
2
|
-
const require_dist = require("./dist-BMOD9OyH.js");
|
|
3
2
|
let node_crypto = require("node:crypto");
|
|
4
3
|
let node_path = require("node:path");
|
|
5
4
|
node_path = require_chunk.__toESM(node_path);
|
|
6
5
|
let node_fs = require("node:fs");
|
|
7
6
|
node_fs = require_chunk.__toESM(node_fs);
|
|
8
7
|
let node_util = require("node:util");
|
|
8
|
+
let _camstack_types_addon = require("@camstack/types/addon");
|
|
9
9
|
let node_http = require("node:http");
|
|
10
10
|
let node_zlib = require("node:zlib");
|
|
11
11
|
let node_perf_hooks = require("node:perf_hooks");
|
|
12
|
-
let _camstack_types_addon = require("@camstack/types/addon");
|
|
13
12
|
//#region src/download/hosted-model-revisions.ts
|
|
14
13
|
/**
|
|
15
14
|
* GENERATED by `scripts/check-hosted-model-revisions.ts --write` — DO NOT EDIT.
|
|
@@ -439,7 +438,7 @@ function readRevisionRecord(modelPath) {
|
|
|
439
438
|
}
|
|
440
439
|
}
|
|
441
440
|
/** The CamStack model mirror. Every artefact under it has a generated revision. */
|
|
442
|
-
var HOSTED_MODEL_MIRROR_PREFIX =
|
|
441
|
+
var HOSTED_MODEL_MIRROR_PREFIX = (0, _camstack_types_addon.hfModelUrl)(_camstack_types_addon.HF_REPO, "");
|
|
443
442
|
/**
|
|
444
443
|
* The revision a format must be at — the ONE rule every model download path
|
|
445
444
|
* reads (D743, D744). An inline `revision` wins; otherwise a format hosted on
|
|
@@ -609,7 +608,7 @@ async function adoptModelRevisions(modelsDir, entries) {
|
|
|
609
608
|
};
|
|
610
609
|
}
|
|
611
610
|
function isModelFormat(value) {
|
|
612
|
-
return
|
|
611
|
+
return _camstack_types_addon.MODEL_FORMATS.some((f) => f === value);
|
|
613
612
|
}
|
|
614
613
|
/** Compute the on-disk path for a given model + format, even when not yet downloaded. */
|
|
615
614
|
function getModelFilePath(modelsDir, entry, format) {
|
|
@@ -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).
|
|
@@ -3887,6 +3887,21 @@ function emitDownForOwnedCaps(registry, owned) {
|
|
|
3887
3887
|
for (const { capName, scope } of owned) registry.emitDown(capName, scope);
|
|
3888
3888
|
}
|
|
3889
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
|
+
/**
|
|
3890
3905
|
* Per-call node pinning for `ctx.api` capability calls.
|
|
3891
3906
|
*
|
|
3892
3907
|
* A capability call normally resolves to its DEFAULT provider — a `singleton`
|
|
@@ -4306,6 +4321,42 @@ var deviceOpsCapability = {
|
|
|
4306
4321
|
getRawState: method(zod.z.object({ deviceId: zod.z.number() }), RawStateResultSchema.nullable(), { auth: "protected" })
|
|
4307
4322
|
}
|
|
4308
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
|
+
};
|
|
4309
4360
|
function defOf(schema) {
|
|
4310
4361
|
return schema._zod?.def ?? {};
|
|
4311
4362
|
}
|
|
@@ -4765,7 +4816,7 @@ function errMsg(err) {
|
|
|
4765
4816
|
return String(err);
|
|
4766
4817
|
}
|
|
4767
4818
|
//#endregion
|
|
4768
|
-
//#region ../types/dist/composition-
|
|
4819
|
+
//#region ../types/dist/composition-C-WpVYTX.mjs
|
|
4769
4820
|
var AUDIO_ENCODER_BY_CODEC = {
|
|
4770
4821
|
opus: "libopus",
|
|
4771
4822
|
aac: "aac",
|
|
@@ -5209,7 +5260,7 @@ var BASE = `https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${FFM
|
|
|
5209
5260
|
function portable(target) {
|
|
5210
5261
|
return `${BASE}/jellyfin-ffmpeg_${FFMPEG_RELEASE}_portable_${target}-gpl.tar.xz`;
|
|
5211
5262
|
}
|
|
5212
|
-
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64")
|
|
5263
|
+
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64"), `${BASE}${FFMPEG_RELEASE}`;
|
|
5213
5264
|
/**
|
|
5214
5265
|
* THE table "which boolean of this device type counts as HIGH", and the
|
|
5215
5266
|
* pure evaluator of its EDGE.
|
|
@@ -9265,14 +9316,6 @@ var MASK_SUPPLY_STEP_IDS = ["segmentation"];
|
|
|
9265
9316
|
...CROP_SUPPLY_STEP_IDS,
|
|
9266
9317
|
...MASK_SUPPLY_STEP_IDS
|
|
9267
9318
|
];
|
|
9268
|
-
var MODEL_FORMATS = [
|
|
9269
|
-
"onnx",
|
|
9270
|
-
"coreml",
|
|
9271
|
-
"openvino",
|
|
9272
|
-
"tflite",
|
|
9273
|
-
"pt",
|
|
9274
|
-
"gguf"
|
|
9275
|
-
];
|
|
9276
9319
|
/**
|
|
9277
9320
|
* Multi-file format payload.
|
|
9278
9321
|
*
|
|
@@ -50083,44 +50126,6 @@ Object.freeze({
|
|
|
50083
50126
|
vehicle: .65,
|
|
50084
50127
|
animal: .65
|
|
50085
50128
|
});
|
|
50086
|
-
var HF_REPO = "camstack/camstack-models";
|
|
50087
|
-
`${HF_REPO}`;
|
|
50088
|
-
/**
|
|
50089
|
-
* Runtime defaults -- used by ConfigManager.get() for backward compatibility
|
|
50090
|
-
* until Plan B wires all runtime settings to the system_settings SQL table.
|
|
50091
|
-
*
|
|
50092
|
-
* Moved from @camstack/system/config-schema to @camstack/types so that
|
|
50093
|
-
* @camstack/system can reference it without a cross-package kernel import.
|
|
50094
|
-
*/
|
|
50095
|
-
var RUNTIME_DEFAULTS = {
|
|
50096
|
-
"features.streaming": true,
|
|
50097
|
-
"features.notifications": true,
|
|
50098
|
-
"features.objectDetection": false,
|
|
50099
|
-
"features.remoteAccess": true,
|
|
50100
|
-
"features.agentCluster": false,
|
|
50101
|
-
"features.smartHome": true,
|
|
50102
|
-
"features.recordings": true,
|
|
50103
|
-
"features.backup": true,
|
|
50104
|
-
"features.repl": true,
|
|
50105
|
-
"retention.detectionEventsDays": 30,
|
|
50106
|
-
"retention.audioLevelsDays": 7,
|
|
50107
|
-
"logging.level": "info",
|
|
50108
|
-
"logging.retentionDays": 30,
|
|
50109
|
-
"eventBus.ringBufferSize": 1e4,
|
|
50110
|
-
"storage.provider": "sqlite-storage",
|
|
50111
|
-
"storage.locations": {
|
|
50112
|
-
data: "camstack-data/data",
|
|
50113
|
-
media: "camstack-data/media",
|
|
50114
|
-
recordings: "camstack-data/recordings",
|
|
50115
|
-
cache: "/tmp/camstack-cache",
|
|
50116
|
-
logs: "camstack-data/logs",
|
|
50117
|
-
models: "camstack-data/models"
|
|
50118
|
-
},
|
|
50119
|
-
providers: [],
|
|
50120
|
-
"ffmpeg.hwAccel": "auto",
|
|
50121
|
-
"ffmpeg.threadCount": 0,
|
|
50122
|
-
"auth.tokenExpiry": "30d"
|
|
50123
|
-
};
|
|
50124
50129
|
/**
|
|
50125
50130
|
* Accessory device helpers — shared across drivers.
|
|
50126
50131
|
*
|
|
@@ -64861,9 +64866,6 @@ var ADDON_ID_PREFIX = "addon:";
|
|
|
64861
64866
|
function bareAddonId(id) {
|
|
64862
64867
|
return id.startsWith(ADDON_ID_PREFIX) ? id.slice(6) : id;
|
|
64863
64868
|
}
|
|
64864
|
-
function hfModelUrl(repo, path) {
|
|
64865
|
-
return `https://huggingface.co/${repo}/resolve/main/${path}`;
|
|
64866
|
-
}
|
|
64867
64869
|
var MB = 1024 * 1024;
|
|
64868
64870
|
1024 * MB, 3072 * MB;
|
|
64869
64871
|
/**
|
|
@@ -64907,7 +64909,7 @@ var RUNTIMES = [
|
|
|
64907
64909
|
value: "cuda",
|
|
64908
64910
|
label: "CUDA"
|
|
64909
64911
|
});
|
|
64910
|
-
if (hw.gpu?.type === "amd") out.push({
|
|
64912
|
+
if (hw.gpu?.type === "amd" && hw.platform === "linux") out.push({
|
|
64911
64913
|
value: "webgpu",
|
|
64912
64914
|
label: "WebGPU (AMD iGPU)"
|
|
64913
64915
|
});
|
|
@@ -65018,7 +65020,7 @@ function scoreRuntimes(hw) {
|
|
|
65018
65020
|
});
|
|
65019
65021
|
}
|
|
65020
65022
|
if (hw.gpu?.type === "amd") {
|
|
65021
|
-
scores.push({
|
|
65023
|
+
if (hw.platform === "linux") scores.push({
|
|
65022
65024
|
runtime: "python",
|
|
65023
65025
|
backend: "onnx",
|
|
65024
65026
|
format: "onnx",
|
|
@@ -65309,12 +65311,6 @@ Object.defineProperty(exports, "FieldClaimSchema", {
|
|
|
65309
65311
|
return FieldClaimSchema;
|
|
65310
65312
|
}
|
|
65311
65313
|
});
|
|
65312
|
-
Object.defineProperty(exports, "HF_REPO", {
|
|
65313
|
-
enumerable: true,
|
|
65314
|
-
get: function() {
|
|
65315
|
-
return HF_REPO;
|
|
65316
|
-
}
|
|
65317
|
-
});
|
|
65318
65314
|
Object.defineProperty(exports, "HUB_MDNS_SERVICE_TYPE", {
|
|
65319
65315
|
enumerable: true,
|
|
65320
65316
|
get: function() {
|
|
@@ -65363,12 +65359,6 @@ Object.defineProperty(exports, "MINUTES_PER_DAY", {
|
|
|
65363
65359
|
return MINUTES_PER_DAY;
|
|
65364
65360
|
}
|
|
65365
65361
|
});
|
|
65366
|
-
Object.defineProperty(exports, "MODEL_FORMATS", {
|
|
65367
|
-
enumerable: true,
|
|
65368
|
-
get: function() {
|
|
65369
|
-
return MODEL_FORMATS;
|
|
65370
|
-
}
|
|
65371
|
-
});
|
|
65372
65362
|
Object.defineProperty(exports, "MOTION_CLOSE_AFTER_MS", {
|
|
65373
65363
|
enumerable: true,
|
|
65374
65364
|
get: function() {
|
|
@@ -65885,12 +65875,6 @@ Object.defineProperty(exports, "gbToBytes", {
|
|
|
65885
65875
|
return gbToBytes;
|
|
65886
65876
|
}
|
|
65887
65877
|
});
|
|
65888
|
-
Object.defineProperty(exports, "hfModelUrl", {
|
|
65889
|
-
enumerable: true,
|
|
65890
|
-
get: function() {
|
|
65891
|
-
return hfModelUrl;
|
|
65892
|
-
}
|
|
65893
|
-
});
|
|
65894
65878
|
Object.defineProperty(exports, "hydrateSchema", {
|
|
65895
65879
|
enumerable: true,
|
|
65896
65880
|
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).
|
|
@@ -3887,6 +3887,21 @@ function emitDownForOwnedCaps(registry, owned) {
|
|
|
3887
3887
|
for (const { capName, scope } of owned) registry.emitDown(capName, scope);
|
|
3888
3888
|
}
|
|
3889
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
|
+
/**
|
|
3890
3905
|
* Per-call node pinning for `ctx.api` capability calls.
|
|
3891
3906
|
*
|
|
3892
3907
|
* A capability call normally resolves to its DEFAULT provider — a `singleton`
|
|
@@ -4306,6 +4321,42 @@ var deviceOpsCapability = {
|
|
|
4306
4321
|
getRawState: method(z.object({ deviceId: z.number() }), RawStateResultSchema.nullable(), { auth: "protected" })
|
|
4307
4322
|
}
|
|
4308
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
|
+
};
|
|
4309
4360
|
function defOf(schema) {
|
|
4310
4361
|
return schema._zod?.def ?? {};
|
|
4311
4362
|
}
|
|
@@ -4765,7 +4816,7 @@ function errMsg(err) {
|
|
|
4765
4816
|
return String(err);
|
|
4766
4817
|
}
|
|
4767
4818
|
//#endregion
|
|
4768
|
-
//#region ../types/dist/composition-
|
|
4819
|
+
//#region ../types/dist/composition-C-WpVYTX.mjs
|
|
4769
4820
|
var AUDIO_ENCODER_BY_CODEC = {
|
|
4770
4821
|
opus: "libopus",
|
|
4771
4822
|
aac: "aac",
|
|
@@ -5209,7 +5260,7 @@ var BASE = `https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${FFM
|
|
|
5209
5260
|
function portable(target) {
|
|
5210
5261
|
return `${BASE}/jellyfin-ffmpeg_${FFMPEG_RELEASE}_portable_${target}-gpl.tar.xz`;
|
|
5211
5262
|
}
|
|
5212
|
-
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64")
|
|
5263
|
+
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64"), `${BASE}${FFMPEG_RELEASE}`;
|
|
5213
5264
|
/**
|
|
5214
5265
|
* THE table "which boolean of this device type counts as HIGH", and the
|
|
5215
5266
|
* pure evaluator of its EDGE.
|
|
@@ -9265,14 +9316,6 @@ var MASK_SUPPLY_STEP_IDS = ["segmentation"];
|
|
|
9265
9316
|
...CROP_SUPPLY_STEP_IDS,
|
|
9266
9317
|
...MASK_SUPPLY_STEP_IDS
|
|
9267
9318
|
];
|
|
9268
|
-
var MODEL_FORMATS = [
|
|
9269
|
-
"onnx",
|
|
9270
|
-
"coreml",
|
|
9271
|
-
"openvino",
|
|
9272
|
-
"tflite",
|
|
9273
|
-
"pt",
|
|
9274
|
-
"gguf"
|
|
9275
|
-
];
|
|
9276
9319
|
/**
|
|
9277
9320
|
* Multi-file format payload.
|
|
9278
9321
|
*
|
|
@@ -50083,44 +50126,6 @@ Object.freeze({
|
|
|
50083
50126
|
vehicle: .65,
|
|
50084
50127
|
animal: .65
|
|
50085
50128
|
});
|
|
50086
|
-
var HF_REPO = "camstack/camstack-models";
|
|
50087
|
-
`${HF_REPO}`;
|
|
50088
|
-
/**
|
|
50089
|
-
* Runtime defaults -- used by ConfigManager.get() for backward compatibility
|
|
50090
|
-
* until Plan B wires all runtime settings to the system_settings SQL table.
|
|
50091
|
-
*
|
|
50092
|
-
* Moved from @camstack/system/config-schema to @camstack/types so that
|
|
50093
|
-
* @camstack/system can reference it without a cross-package kernel import.
|
|
50094
|
-
*/
|
|
50095
|
-
var RUNTIME_DEFAULTS = {
|
|
50096
|
-
"features.streaming": true,
|
|
50097
|
-
"features.notifications": true,
|
|
50098
|
-
"features.objectDetection": false,
|
|
50099
|
-
"features.remoteAccess": true,
|
|
50100
|
-
"features.agentCluster": false,
|
|
50101
|
-
"features.smartHome": true,
|
|
50102
|
-
"features.recordings": true,
|
|
50103
|
-
"features.backup": true,
|
|
50104
|
-
"features.repl": true,
|
|
50105
|
-
"retention.detectionEventsDays": 30,
|
|
50106
|
-
"retention.audioLevelsDays": 7,
|
|
50107
|
-
"logging.level": "info",
|
|
50108
|
-
"logging.retentionDays": 30,
|
|
50109
|
-
"eventBus.ringBufferSize": 1e4,
|
|
50110
|
-
"storage.provider": "sqlite-storage",
|
|
50111
|
-
"storage.locations": {
|
|
50112
|
-
data: "camstack-data/data",
|
|
50113
|
-
media: "camstack-data/media",
|
|
50114
|
-
recordings: "camstack-data/recordings",
|
|
50115
|
-
cache: "/tmp/camstack-cache",
|
|
50116
|
-
logs: "camstack-data/logs",
|
|
50117
|
-
models: "camstack-data/models"
|
|
50118
|
-
},
|
|
50119
|
-
providers: [],
|
|
50120
|
-
"ffmpeg.hwAccel": "auto",
|
|
50121
|
-
"ffmpeg.threadCount": 0,
|
|
50122
|
-
"auth.tokenExpiry": "30d"
|
|
50123
|
-
};
|
|
50124
50129
|
/**
|
|
50125
50130
|
* Accessory device helpers — shared across drivers.
|
|
50126
50131
|
*
|
|
@@ -64861,9 +64866,6 @@ var ADDON_ID_PREFIX = "addon:";
|
|
|
64861
64866
|
function bareAddonId(id) {
|
|
64862
64867
|
return id.startsWith(ADDON_ID_PREFIX) ? id.slice(6) : id;
|
|
64863
64868
|
}
|
|
64864
|
-
function hfModelUrl(repo, path) {
|
|
64865
|
-
return `https://huggingface.co/${repo}/resolve/main/${path}`;
|
|
64866
|
-
}
|
|
64867
64869
|
var MB = 1024 * 1024;
|
|
64868
64870
|
1024 * MB, 3072 * MB;
|
|
64869
64871
|
/**
|
|
@@ -64907,7 +64909,7 @@ var RUNTIMES = [
|
|
|
64907
64909
|
value: "cuda",
|
|
64908
64910
|
label: "CUDA"
|
|
64909
64911
|
});
|
|
64910
|
-
if (hw.gpu?.type === "amd") out.push({
|
|
64912
|
+
if (hw.gpu?.type === "amd" && hw.platform === "linux") out.push({
|
|
64911
64913
|
value: "webgpu",
|
|
64912
64914
|
label: "WebGPU (AMD iGPU)"
|
|
64913
64915
|
});
|
|
@@ -65018,7 +65020,7 @@ function scoreRuntimes(hw) {
|
|
|
65018
65020
|
});
|
|
65019
65021
|
}
|
|
65020
65022
|
if (hw.gpu?.type === "amd") {
|
|
65021
|
-
scores.push({
|
|
65023
|
+
if (hw.platform === "linux") scores.push({
|
|
65022
65024
|
runtime: "python",
|
|
65023
65025
|
backend: "onnx",
|
|
65024
65026
|
format: "onnx",
|
|
@@ -65111,4 +65113,4 @@ function enumerateInferenceDevices(hw) {
|
|
|
65111
65113
|
return out;
|
|
65112
65114
|
}
|
|
65113
65115
|
//#endregion
|
|
65114
|
-
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 };
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("./dist-
|
|
4
|
-
const require_jwt_signing_key = require("./jwt-signing-key-
|
|
3
|
+
const require_dist = require("./dist-DVUg8e1T.js");
|
|
4
|
+
const require_jwt_signing_key = require("./jwt-signing-key-Jyu81jZR.js");
|
|
5
5
|
const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
|
|
6
6
|
require("./builtins/alerts/index.js");
|
|
7
7
|
const require_builtins_calendars_calendars_addon = require("./builtins/calendars/calendars.addon.js");
|
|
@@ -26,15 +26,15 @@ const require_builtins_sqlite_storage_sqlite_settings_addon = require("./builtin
|
|
|
26
26
|
const require_builtins_sqlite_storage_index = require("./builtins/sqlite-storage/index.js");
|
|
27
27
|
const require_builtins_storage_orchestrator_storage_orchestrator_addon = require("./builtins/storage-orchestrator/storage-orchestrator.addon.js");
|
|
28
28
|
require("./builtins/storage-orchestrator/index.js");
|
|
29
|
-
const require_constants = require("./constants-
|
|
29
|
+
const require_constants = require("./constants-Aj0OBqlt.js");
|
|
30
30
|
const require_builtins_system_config_system_config_addon = require("./builtins/system-config/system-config.addon.js");
|
|
31
31
|
require("./builtins/system-config/index.js");
|
|
32
32
|
const require_builtins_winston_logging_index = require("./builtins/winston-logging/index.js");
|
|
33
|
-
const require_custom_action_registry = require("./custom-action-registry-
|
|
34
|
-
const require_tls = require("./tls-
|
|
33
|
+
const require_custom_action_registry = require("./custom-action-registry-Bf_YnagS.js");
|
|
34
|
+
const require_tls = require("./tls-BgImdxCO.js");
|
|
35
35
|
const require_platform_key_source = require("./platform-key-source-Di7HrlGR.js");
|
|
36
36
|
const require_resource_monitor = require("./resource-monitor-mio9dSCT.js");
|
|
37
|
-
const require_restore_archive = require("./restore-archive-
|
|
37
|
+
const require_restore_archive = require("./restore-archive-Bq5PpQ-H.js");
|
|
38
38
|
let zod = require("zod");
|
|
39
39
|
let node_crypto = require("node:crypto");
|
|
40
40
|
node_crypto = require_chunk.__toESM(node_crypto);
|
|
@@ -52,6 +52,7 @@ let node_child_process = require("node:child_process");
|
|
|
52
52
|
let node_util = require("node:util");
|
|
53
53
|
node_util = require_chunk.__toESM(node_util);
|
|
54
54
|
let node_events = require("node:events");
|
|
55
|
+
let _camstack_types_addon = require("@camstack/types/addon");
|
|
55
56
|
let node_http = require("node:http");
|
|
56
57
|
let node_v8 = require("node:v8");
|
|
57
58
|
node_v8 = require_chunk.__toESM(node_v8);
|
|
@@ -59,7 +60,6 @@ let node_inspector_promises = require("node:inspector/promises");
|
|
|
59
60
|
let node_perf_hooks = require("node:perf_hooks");
|
|
60
61
|
let node_vm = require("node:vm");
|
|
61
62
|
node_vm = require_chunk.__toESM(node_vm);
|
|
62
|
-
let _camstack_types_addon = require("@camstack/types/addon");
|
|
63
63
|
let _trpc_client = require("@trpc/client");
|
|
64
64
|
//#region src/addon/addon-api-factory.ts
|
|
65
65
|
/**
|
|
@@ -24065,6 +24065,8 @@ function stripForgedIdentity(action, params) {
|
|
|
24065
24065
|
}
|
|
24066
24066
|
return withoutIdentity(params);
|
|
24067
24067
|
}
|
|
24068
|
+
/** Minimum gap between two "mesh event refused" lines for one sender. */
|
|
24069
|
+
var DROPPED_EVENT_LOG_INTERVAL_MS = 6e4;
|
|
24068
24070
|
function senderOf(ctx) {
|
|
24069
24071
|
const nodeID = ctx.nodeID;
|
|
24070
24072
|
return typeof nodeID === "string" && nodeID.length > 0 ? nodeID : null;
|
|
@@ -24078,6 +24080,29 @@ function paramNodeId(params) {
|
|
|
24078
24080
|
*/
|
|
24079
24081
|
function createMeshAccessMiddleware(options) {
|
|
24080
24082
|
const { ownNodeId, authenticator, logger } = options;
|
|
24083
|
+
const dropped = /* @__PURE__ */ new Map();
|
|
24084
|
+
const noteDroppedEvent = (sender, eventName) => {
|
|
24085
|
+
const now = Date.now();
|
|
24086
|
+
const entry = dropped.get(sender) ?? {
|
|
24087
|
+
lastLogAt: 0,
|
|
24088
|
+
count: 0
|
|
24089
|
+
};
|
|
24090
|
+
const count = entry.count + 1;
|
|
24091
|
+
if (now - entry.lastLogAt >= DROPPED_EVENT_LOG_INTERVAL_MS) {
|
|
24092
|
+
logger?.warn("mesh event refused", {
|
|
24093
|
+
sender,
|
|
24094
|
+
event: eventName,
|
|
24095
|
+
droppedSinceLastLog: count
|
|
24096
|
+
});
|
|
24097
|
+
dropped.set(sender, {
|
|
24098
|
+
lastLogAt: now,
|
|
24099
|
+
count: 0
|
|
24100
|
+
});
|
|
24101
|
+
} else dropped.set(sender, {
|
|
24102
|
+
lastLogAt: entry.lastLogAt,
|
|
24103
|
+
count
|
|
24104
|
+
});
|
|
24105
|
+
};
|
|
24081
24106
|
return {
|
|
24082
24107
|
name: "CamstackMeshAccess",
|
|
24083
24108
|
localAction(next, action) {
|
|
@@ -24103,9 +24128,12 @@ function createMeshAccessMiddleware(options) {
|
|
|
24103
24128
|
const name = event.name ?? "";
|
|
24104
24129
|
return function meshGatedEvent(ctx) {
|
|
24105
24130
|
const sender = senderOf(ctx);
|
|
24106
|
-
if (sender === null || sender === ownNodeId) return next.call(this, ctx);
|
|
24107
|
-
if (authenticator.admitEvent(sender, name).verdict === "deny")
|
|
24108
|
-
|
|
24131
|
+
if (sender === null || sender === ownNodeId) return Promise.resolve(next.call(this, ctx));
|
|
24132
|
+
if (authenticator.admitEvent(sender, name).verdict === "deny") {
|
|
24133
|
+
noteDroppedEvent(sender, name);
|
|
24134
|
+
return Promise.resolve();
|
|
24135
|
+
}
|
|
24136
|
+
return Promise.resolve(next.call(this, ctx));
|
|
24109
24137
|
};
|
|
24110
24138
|
}
|
|
24111
24139
|
};
|