camstack 1.2.51 → 1.2.52
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/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
runDiscover
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YVH2KSTL.js";
|
|
5
5
|
import "./chunk-LMMQX4CK.js";
|
|
6
6
|
|
|
7
7
|
// src/cli.ts
|
|
@@ -38,7 +38,7 @@ async function runServe(args) {
|
|
|
38
38
|
...typeof values.data === "string" ? { data: values.data } : {}
|
|
39
39
|
};
|
|
40
40
|
Object.assign(process.env, buildServeEnv(opts));
|
|
41
|
-
await import("./launcher-
|
|
41
|
+
await import("./launcher-7T4UUMOZ.js");
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
// src/commands/agent.ts
|
|
@@ -83,7 +83,7 @@ async function runAgent(args) {
|
|
|
83
83
|
...typeof values.port === "string" ? { port: values.port } : {}
|
|
84
84
|
};
|
|
85
85
|
Object.assign(process.env, buildAgentEnv(opts));
|
|
86
|
-
await import("./launcher-
|
|
86
|
+
await import("./launcher-7T4UUMOZ.js");
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
// src/commands/setup.ts
|
|
@@ -1130,7 +1130,7 @@ function isUnknown(_value) {
|
|
|
1130
1130
|
return true;
|
|
1131
1131
|
}
|
|
1132
1132
|
async function resolveServerInteractive(presetNamespace) {
|
|
1133
|
-
const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-
|
|
1133
|
+
const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-7QG523MP.js");
|
|
1134
1134
|
if (presetNamespace) {
|
|
1135
1135
|
const spinner4 = clack.spinner();
|
|
1136
1136
|
spinner4.start(`Discovering hub on LAN (namespace "${presetNamespace}")`);
|
|
@@ -23633,9 +23633,9 @@ var require_zod = __commonJS({
|
|
|
23633
23633
|
}
|
|
23634
23634
|
});
|
|
23635
23635
|
|
|
23636
|
-
// ../system/dist/dist-
|
|
23637
|
-
var
|
|
23638
|
-
"../system/dist/dist-
|
|
23636
|
+
// ../system/dist/dist-B-mBrEz9.js
|
|
23637
|
+
var require_dist_B_mBrEz9 = __commonJS({
|
|
23638
|
+
"../system/dist/dist-B-mBrEz9.js"(exports) {
|
|
23639
23639
|
"use strict";
|
|
23640
23640
|
var zod = require_zod();
|
|
23641
23641
|
var EventCategory = /* @__PURE__ */ (function(EventCategory2) {
|
|
@@ -48902,7 +48902,7 @@ var require_dist_Dl6MFXPr = __commonJS({
|
|
|
48902
48902
|
"ffmpeg.binaryPath": "ffmpeg",
|
|
48903
48903
|
"ffmpeg.hwAccel": "auto",
|
|
48904
48904
|
"ffmpeg.threadCount": 0,
|
|
48905
|
-
"auth.tokenExpiry": "
|
|
48905
|
+
"auth.tokenExpiry": "30d"
|
|
48906
48906
|
};
|
|
48907
48907
|
var AccessoryKind = {
|
|
48908
48908
|
Siren: DeviceRole.Siren,
|
|
@@ -58395,7 +58395,7 @@ var require_alerts_addon = __commonJS({
|
|
|
58395
58395
|
[Symbol.toStringTag]: { value: "Module" }
|
|
58396
58396
|
});
|
|
58397
58397
|
require_chunk_Cek0wNdY();
|
|
58398
|
-
var require_dist10 =
|
|
58398
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
58399
58399
|
function selectExpired(alerts, cutoffMs) {
|
|
58400
58400
|
return alerts.filter((a) => a.createdAt < cutoffMs).sort((a, b) => a.createdAt - b.createdAt).map((a) => a.id);
|
|
58401
58401
|
}
|
|
@@ -59214,7 +59214,7 @@ var require_console_logging = __commonJS({
|
|
|
59214
59214
|
[Symbol.toStringTag]: { value: "Module" }
|
|
59215
59215
|
});
|
|
59216
59216
|
require_chunk_Cek0wNdY();
|
|
59217
|
-
var require_dist10 =
|
|
59217
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
59218
59218
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
59219
59219
|
var LEVEL_RANK = {
|
|
59220
59220
|
debug: 0,
|
|
@@ -59308,7 +59308,7 @@ var require_core_blocks_addon = __commonJS({
|
|
|
59308
59308
|
"use strict";
|
|
59309
59309
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
59310
59310
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
59311
|
-
var require_dist10 =
|
|
59311
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
59312
59312
|
var node_crypto = __require("crypto");
|
|
59313
59313
|
var node_fs_promises = __require("fs/promises");
|
|
59314
59314
|
node_fs_promises = require_chunk.__toESM(node_fs_promises);
|
|
@@ -60205,11 +60205,11 @@ var require_core_blocks = __commonJS({
|
|
|
60205
60205
|
}
|
|
60206
60206
|
});
|
|
60207
60207
|
|
|
60208
|
-
// ../system/dist/retired-settings-keys-
|
|
60209
|
-
var
|
|
60210
|
-
"../system/dist/retired-settings-keys-
|
|
60208
|
+
// ../system/dist/retired-settings-keys-Davtjo5p.js
|
|
60209
|
+
var require_retired_settings_keys_Davtjo5p = __commonJS({
|
|
60210
|
+
"../system/dist/retired-settings-keys-Davtjo5p.js"(exports) {
|
|
60211
60211
|
"use strict";
|
|
60212
|
-
var require_dist10 =
|
|
60212
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
60213
60213
|
function settingsStoreIsAuthoritativeHere(env) {
|
|
60214
60214
|
const raw = (env["CAMSTACK_ROLE"] ?? "").trim().toLowerCase();
|
|
60215
60215
|
return raw === "" || raw === "hub";
|
|
@@ -62363,8 +62363,8 @@ var require_device_manager_addon = __commonJS({
|
|
|
62363
62363
|
[Symbol.toStringTag]: { value: "Module" }
|
|
62364
62364
|
});
|
|
62365
62365
|
require_chunk_Cek0wNdY();
|
|
62366
|
-
var require_dist10 =
|
|
62367
|
-
var require_retired_settings_keys =
|
|
62366
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
62367
|
+
var require_retired_settings_keys = require_retired_settings_keys_Davtjo5p();
|
|
62368
62368
|
var node_crypto = __require("crypto");
|
|
62369
62369
|
var _camstack_types_node = require_node();
|
|
62370
62370
|
var JOB_HISTORY = 20;
|
|
@@ -67113,7 +67113,7 @@ var require_hub_forwarder = __commonJS({
|
|
|
67113
67113
|
[Symbol.toStringTag]: { value: "Module" }
|
|
67114
67114
|
});
|
|
67115
67115
|
require_chunk_Cek0wNdY();
|
|
67116
|
-
var require_dist10 =
|
|
67116
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
67117
67117
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
67118
67118
|
var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
|
|
67119
67119
|
var HubForwarderDestination = class {
|
|
@@ -67250,7 +67250,7 @@ var require_liveness_monitor_addon = __commonJS({
|
|
|
67250
67250
|
"use strict";
|
|
67251
67251
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
67252
67252
|
require_chunk_Cek0wNdY();
|
|
67253
|
-
var require_dist10 =
|
|
67253
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
67254
67254
|
var NO_DEVICES = "liveness:no-devices";
|
|
67255
67255
|
var ALL_OFFLINE = "liveness:all-devices-offline";
|
|
67256
67256
|
var NO_FOOTAGE_PREFIX = "liveness:no-footage:";
|
|
@@ -67440,7 +67440,7 @@ var require_local_auth_addon = __commonJS({
|
|
|
67440
67440
|
[Symbol.toStringTag]: { value: "Module" }
|
|
67441
67441
|
});
|
|
67442
67442
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
67443
|
-
var require_dist10 =
|
|
67443
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
67444
67444
|
var node_crypto = __require("crypto");
|
|
67445
67445
|
node_crypto = require_chunk.__toESM(node_crypto);
|
|
67446
67446
|
var crypto$1 = __require("crypto");
|
|
@@ -71954,6 +71954,99 @@ var require_local_auth_addon = __commonJS({
|
|
|
71954
71954
|
};
|
|
71955
71955
|
}));
|
|
71956
71956
|
var import_jsonwebtoken = /* @__PURE__ */ require_chunk.__toESM(require_jsonwebtoken());
|
|
71957
|
+
var DURATION_PATTERN = /^(\d+(?:\.\d+)?)\s*(ms|milliseconds?|msecs?|s|secs?|seconds?|m|mins?|minutes?|h|hrs?|hours?|d|days?|w|weeks?|y|yrs?|years?)$/i;
|
|
71958
|
+
var UNIT_MS = {
|
|
71959
|
+
ms: 1,
|
|
71960
|
+
msec: 1,
|
|
71961
|
+
msecs: 1,
|
|
71962
|
+
millisecond: 1,
|
|
71963
|
+
milliseconds: 1,
|
|
71964
|
+
s: 1e3,
|
|
71965
|
+
sec: 1e3,
|
|
71966
|
+
secs: 1e3,
|
|
71967
|
+
second: 1e3,
|
|
71968
|
+
seconds: 1e3,
|
|
71969
|
+
m: 6e4,
|
|
71970
|
+
min: 6e4,
|
|
71971
|
+
mins: 6e4,
|
|
71972
|
+
minute: 6e4,
|
|
71973
|
+
minutes: 6e4,
|
|
71974
|
+
h: 36e5,
|
|
71975
|
+
hr: 36e5,
|
|
71976
|
+
hrs: 36e5,
|
|
71977
|
+
hour: 36e5,
|
|
71978
|
+
hours: 36e5,
|
|
71979
|
+
d: 864e5,
|
|
71980
|
+
day: 864e5,
|
|
71981
|
+
days: 864e5,
|
|
71982
|
+
w: 6048e5,
|
|
71983
|
+
week: 6048e5,
|
|
71984
|
+
weeks: 6048e5,
|
|
71985
|
+
y: 315576e5,
|
|
71986
|
+
yr: 315576e5,
|
|
71987
|
+
yrs: 315576e5,
|
|
71988
|
+
year: 315576e5,
|
|
71989
|
+
years: 315576e5
|
|
71990
|
+
};
|
|
71991
|
+
var MIN_EXPIRY_MS = 6e4;
|
|
71992
|
+
var MAX_EXPIRY_MS = 365 * 864e5;
|
|
71993
|
+
function durationMs(candidate) {
|
|
71994
|
+
const match = DURATION_PATTERN.exec(candidate);
|
|
71995
|
+
if (match === null) return null;
|
|
71996
|
+
const amount = Number(match[1]);
|
|
71997
|
+
const unitMs = UNIT_MS[match[2].toLowerCase()];
|
|
71998
|
+
if (!Number.isFinite(amount) || unitMs === void 0) return null;
|
|
71999
|
+
return amount * unitMs;
|
|
72000
|
+
}
|
|
72001
|
+
var DEFAULT_SECONDS = (() => {
|
|
72002
|
+
const ms = durationMs("30d");
|
|
72003
|
+
if (ms === null) throw new Error(`DEFAULT_TOKEN_EXPIRY is not a duration: 30d`);
|
|
72004
|
+
return ms / 1e3;
|
|
72005
|
+
})();
|
|
72006
|
+
function refuse(reason) {
|
|
72007
|
+
return {
|
|
72008
|
+
ok: false,
|
|
72009
|
+
reason,
|
|
72010
|
+
seconds: DEFAULT_SECONDS,
|
|
72011
|
+
value: "30d"
|
|
72012
|
+
};
|
|
72013
|
+
}
|
|
72014
|
+
function parseTokenExpiry(configured) {
|
|
72015
|
+
if (configured === void 0 || configured === null) return {
|
|
72016
|
+
ok: true,
|
|
72017
|
+
seconds: DEFAULT_SECONDS,
|
|
72018
|
+
value: "30d"
|
|
72019
|
+
};
|
|
72020
|
+
if (typeof configured !== "string") return refuse("not-a-string");
|
|
72021
|
+
const trimmed = configured.trim();
|
|
72022
|
+
if (trimmed === "") return {
|
|
72023
|
+
ok: true,
|
|
72024
|
+
seconds: DEFAULT_SECONDS,
|
|
72025
|
+
value: "30d"
|
|
72026
|
+
};
|
|
72027
|
+
const totalMs = durationMs(trimmed);
|
|
72028
|
+
if (totalMs === null) return refuse("malformed");
|
|
72029
|
+
if (totalMs < MIN_EXPIRY_MS) return refuse("too-short");
|
|
72030
|
+
if (totalMs > MAX_EXPIRY_MS) return refuse("too-long");
|
|
72031
|
+
return {
|
|
72032
|
+
ok: true,
|
|
72033
|
+
seconds: totalMs / 1e3,
|
|
72034
|
+
value: trimmed
|
|
72035
|
+
};
|
|
72036
|
+
}
|
|
72037
|
+
var REJECTION_DETAIL = {
|
|
72038
|
+
"not-a-string": "value is not a string",
|
|
72039
|
+
malformed: "not a duration string (expected e.g. 24h, 7d, 30d \u2014 a bare number is NOT seconds)",
|
|
72040
|
+
"too-short": `shorter than the ${MIN_EXPIRY_MS / 1e3}s minimum`,
|
|
72041
|
+
"too-long": `longer than the ${MAX_EXPIRY_MS / 864e5}d maximum`
|
|
72042
|
+
};
|
|
72043
|
+
function logTokenExpiryRejection(configured, rejection, logger) {
|
|
72044
|
+
logger.warn(`auth.tokenExpiry REJECTED \u2014 ${REJECTION_DETAIL[rejection.reason]}; signing with the default 30d instead`, { meta: {
|
|
72045
|
+
configured,
|
|
72046
|
+
reason: rejection.reason,
|
|
72047
|
+
applied: rejection.value
|
|
72048
|
+
} });
|
|
72049
|
+
}
|
|
71957
72050
|
var noopLogger = {
|
|
71958
72051
|
debug() {
|
|
71959
72052
|
},
|
|
@@ -71974,6 +72067,16 @@ var require_local_auth_addon = __commonJS({
|
|
|
71974
72067
|
config;
|
|
71975
72068
|
jwtSecret;
|
|
71976
72069
|
logger;
|
|
72070
|
+
/**
|
|
72071
|
+
* Offending `auth.tokenExpiry` values already reported by this instance.
|
|
72072
|
+
*
|
|
72073
|
+
* `signToken` re-reads the setting on EVERY mint so an operator's change
|
|
72074
|
+
* takes effect without a restart — which also means a bad value would log
|
|
72075
|
+
* once per login and once per silent refresh from every viewer. The refusal
|
|
72076
|
+
* must be visible, not repeated: the first mint after a bad save logs, the
|
|
72077
|
+
* rest resolve silently to the same default until the value changes.
|
|
72078
|
+
*/
|
|
72079
|
+
reportedInvalidExpiries = /* @__PURE__ */ new Set();
|
|
71977
72080
|
constructor(config, logger = noopLogger) {
|
|
71978
72081
|
this.config = config;
|
|
71979
72082
|
this.logger = logger;
|
|
@@ -71988,8 +72091,15 @@ var require_local_auth_addon = __commonJS({
|
|
|
71988
72091
|
}
|
|
71989
72092
|
signToken(payload) {
|
|
71990
72093
|
const configured = this.config.get("auth.tokenExpiry");
|
|
71991
|
-
const
|
|
71992
|
-
|
|
72094
|
+
const parsed = parseTokenExpiry(configured);
|
|
72095
|
+
if (!parsed.ok) {
|
|
72096
|
+
const seen = typeof configured === "string" ? configured : JSON.stringify(configured);
|
|
72097
|
+
if (!this.reportedInvalidExpiries.has(seen)) {
|
|
72098
|
+
this.reportedInvalidExpiries.add(seen);
|
|
72099
|
+
logTokenExpiryRejection(configured, parsed, this.logger);
|
|
72100
|
+
}
|
|
72101
|
+
}
|
|
72102
|
+
return import_jsonwebtoken.sign({ ...payload }, this.jwtSecret, { expiresIn: parsed.seconds });
|
|
71993
72103
|
}
|
|
71994
72104
|
verifyToken(token2) {
|
|
71995
72105
|
return import_jsonwebtoken.verify(token2, this.jwtSecret);
|
|
@@ -74276,6 +74386,30 @@ var require_local_auth_addon = __commonJS({
|
|
|
74276
74386
|
return parseRow(results[0].data);
|
|
74277
74387
|
}
|
|
74278
74388
|
};
|
|
74389
|
+
function createAuthConfigReader(resolved, writeAuthSection) {
|
|
74390
|
+
return {
|
|
74391
|
+
get(path) {
|
|
74392
|
+
switch (path) {
|
|
74393
|
+
case "auth.jwtSecret":
|
|
74394
|
+
return narrow(resolved.jwtSecret);
|
|
74395
|
+
case "auth.adminUsername":
|
|
74396
|
+
return narrow(resolved.adminUsername);
|
|
74397
|
+
case "auth.adminPassword":
|
|
74398
|
+
return narrow(resolved.adminPassword);
|
|
74399
|
+
case "auth.tokenExpiry":
|
|
74400
|
+
return narrow(resolved.tokenExpiry);
|
|
74401
|
+
default:
|
|
74402
|
+
return;
|
|
74403
|
+
}
|
|
74404
|
+
},
|
|
74405
|
+
update(_section, data) {
|
|
74406
|
+
if (typeof data["jwtSecret"] === "string") writeAuthSection({ jwtSecret: data["jwtSecret"] });
|
|
74407
|
+
}
|
|
74408
|
+
};
|
|
74409
|
+
}
|
|
74410
|
+
function narrow(value) {
|
|
74411
|
+
return value;
|
|
74412
|
+
}
|
|
74279
74413
|
var USERS_COLLECTION = "users";
|
|
74280
74414
|
var API_KEYS_COLLECTION = "api_keys";
|
|
74281
74415
|
var SCOPED_TOKENS_COLLECTION = "scoped_tokens";
|
|
@@ -74806,19 +74940,14 @@ var require_local_auth_addon = __commonJS({
|
|
|
74806
74940
|
}
|
|
74807
74941
|
async onInitialize() {
|
|
74808
74942
|
const authSection = await this.ctx.settings?.getSection("auth") ?? {};
|
|
74809
|
-
const
|
|
74810
|
-
|
|
74811
|
-
|
|
74812
|
-
|
|
74813
|
-
|
|
74814
|
-
|
|
74815
|
-
|
|
74816
|
-
|
|
74817
|
-
},
|
|
74818
|
-
update: (_section, data) => {
|
|
74819
|
-
if (typeof data["jwtSecret"] === "string") this.ctx.settings?.setSection("auth", { jwtSecret: data["jwtSecret"] });
|
|
74820
|
-
}
|
|
74821
|
-
};
|
|
74943
|
+
const reader = createAuthConfigReader({
|
|
74944
|
+
jwtSecret: typeof authSection["jwtSecret"] === "string" ? authSection["jwtSecret"] : this.config.jwtSecret ?? "",
|
|
74945
|
+
adminUsername: typeof authSection["adminUsername"] === "string" && authSection["adminUsername"] ? authSection["adminUsername"] : this.config.adminUsername ?? "",
|
|
74946
|
+
adminPassword: typeof authSection["adminPassword"] === "string" && authSection["adminPassword"] ? authSection["adminPassword"] : this.config.adminPassword ?? "",
|
|
74947
|
+
tokenExpiry: typeof authSection["tokenExpiry"] === "string" && authSection["tokenExpiry"] ? authSection["tokenExpiry"] : void 0
|
|
74948
|
+
}, (patch) => {
|
|
74949
|
+
this.ctx.settings?.setSection("auth", patch);
|
|
74950
|
+
});
|
|
74822
74951
|
this.authManager = new AuthManager(reader, this.ctx.logger);
|
|
74823
74952
|
const store = this.ctx.api?.settingsStore;
|
|
74824
74953
|
if (store) {
|
|
@@ -75124,7 +75253,7 @@ var require_loki_logging = __commonJS({
|
|
|
75124
75253
|
[Symbol.toStringTag]: { value: "Module" }
|
|
75125
75254
|
});
|
|
75126
75255
|
require_chunk_Cek0wNdY();
|
|
75127
|
-
var require_dist10 =
|
|
75256
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
75128
75257
|
function sanitizeLabelName(raw) {
|
|
75129
75258
|
const replaced = raw.replaceAll(/[^a-zA-Z0-9_]/g, "_");
|
|
75130
75259
|
return /^[a-zA-Z_]/.test(replaced) ? replaced : `_${replaced}`;
|
|
@@ -75689,7 +75818,7 @@ var require_native_metrics_addon = __commonJS({
|
|
|
75689
75818
|
[Symbol.toStringTag]: { value: "Module" }
|
|
75690
75819
|
});
|
|
75691
75820
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
75692
|
-
var require_dist10 =
|
|
75821
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
75693
75822
|
var node_fs_promises = __require("fs/promises");
|
|
75694
75823
|
var node_child_process = __require("child_process");
|
|
75695
75824
|
var node_util = __require("util");
|
|
@@ -77646,7 +77775,7 @@ var require_filesystem_storage_addon = __commonJS({
|
|
|
77646
77775
|
[Symbol.toStringTag]: { value: "Module" }
|
|
77647
77776
|
});
|
|
77648
77777
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
77649
|
-
var require_dist10 =
|
|
77778
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
77650
77779
|
var node_crypto = __require("crypto");
|
|
77651
77780
|
var node_fs_promises = __require("fs/promises");
|
|
77652
77781
|
var node_path = __require("path");
|
|
@@ -78762,8 +78891,8 @@ var require_sqlite_settings_addon = __commonJS({
|
|
|
78762
78891
|
[Symbol.toStringTag]: { value: "Module" }
|
|
78763
78892
|
});
|
|
78764
78893
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
78765
|
-
var require_dist10 =
|
|
78766
|
-
var require_retired_settings_keys =
|
|
78894
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
78895
|
+
var require_retired_settings_keys = require_retired_settings_keys_Davtjo5p();
|
|
78767
78896
|
var node_crypto = __require("crypto");
|
|
78768
78897
|
var node_fs = __require("fs");
|
|
78769
78898
|
var node_module = __require("module");
|
|
@@ -81042,7 +81171,7 @@ var require_storage_orchestrator_addon = __commonJS({
|
|
|
81042
81171
|
[Symbol.toStringTag]: { value: "Module" }
|
|
81043
81172
|
});
|
|
81044
81173
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
81045
|
-
var require_dist10 =
|
|
81174
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
81046
81175
|
var node_crypto = __require("crypto");
|
|
81047
81176
|
var node_fs_promises = __require("fs/promises");
|
|
81048
81177
|
node_fs_promises = require_chunk.__toESM(node_fs_promises);
|
|
@@ -82923,7 +83052,7 @@ var require_system_config_addon = __commonJS({
|
|
|
82923
83052
|
[Symbol.toStringTag]: { value: "Module" }
|
|
82924
83053
|
});
|
|
82925
83054
|
require_chunk_Cek0wNdY();
|
|
82926
|
-
var require_dist10 =
|
|
83055
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
82927
83056
|
var SECTION_TITLES = {
|
|
82928
83057
|
server: "Server",
|
|
82929
83058
|
auth: "Authentication"
|
|
@@ -82988,7 +83117,7 @@ var require_system_config_addon = __commonJS({
|
|
|
82988
83117
|
type: "text",
|
|
82989
83118
|
key: "tokenExpiry",
|
|
82990
83119
|
label: "Token Expiry",
|
|
82991
|
-
description: "
|
|
83120
|
+
description: "Lifetime of a session token, as a duration string (e.g. 24h, 7d, 30d). A bare number is rejected \u2014 it would be read as milliseconds. Applies to tokens issued from the next login or silent refresh; tokens already handed out keep the lifetime they were signed with.",
|
|
82992
83121
|
placeholder: "30d",
|
|
82993
83122
|
default: "30d"
|
|
82994
83123
|
}]
|
|
@@ -100984,7 +101113,7 @@ var require_winston_logging = __commonJS({
|
|
|
100984
101113
|
[Symbol.toStringTag]: { value: "Module" }
|
|
100985
101114
|
});
|
|
100986
101115
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
100987
|
-
var require_dist10 =
|
|
101116
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
100988
101117
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
100989
101118
|
var node_path = __require("path");
|
|
100990
101119
|
node_path = require_chunk.__toESM(node_path);
|
|
@@ -113361,12 +113490,12 @@ var require_dist2 = __commonJS({
|
|
|
113361
113490
|
}
|
|
113362
113491
|
});
|
|
113363
113492
|
|
|
113364
|
-
// ../system/dist/manifest-python-deps-
|
|
113365
|
-
var
|
|
113366
|
-
"../system/dist/manifest-python-deps-
|
|
113493
|
+
// ../system/dist/manifest-python-deps-BV_Cy99l.js
|
|
113494
|
+
var require_manifest_python_deps_BV_Cy99l = __commonJS({
|
|
113495
|
+
"../system/dist/manifest-python-deps-BV_Cy99l.js"(exports) {
|
|
113367
113496
|
"use strict";
|
|
113368
113497
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
113369
|
-
|
|
113498
|
+
require_dist_B_mBrEz9();
|
|
113370
113499
|
var node_crypto = __require("crypto");
|
|
113371
113500
|
node_crypto = require_chunk.__toESM(node_crypto);
|
|
113372
113501
|
var _camstack_types_node = require_node();
|
|
@@ -124481,7 +124610,7 @@ var require_dist3 = __commonJS({
|
|
|
124481
124610
|
"use strict";
|
|
124482
124611
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
124483
124612
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
124484
|
-
var require_dist10 =
|
|
124613
|
+
var require_dist10 = require_dist_B_mBrEz9();
|
|
124485
124614
|
var require_builtins_alerts_alerts_addon = require_alerts_addon();
|
|
124486
124615
|
require_alerts();
|
|
124487
124616
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
@@ -124507,7 +124636,7 @@ var require_dist3 = __commonJS({
|
|
|
124507
124636
|
var require_builtins_winston_logging_index = require_winston_logging();
|
|
124508
124637
|
var require_file_data_plane = require_file_data_plane_DO8KbxCe();
|
|
124509
124638
|
var require_tls$1 = require_tls_u8QCJCFE();
|
|
124510
|
-
var require_manifest_python_deps =
|
|
124639
|
+
var require_manifest_python_deps = require_manifest_python_deps_BV_Cy99l();
|
|
124511
124640
|
var require_resource_monitor = require_resource_monitor_CdnzxBLP();
|
|
124512
124641
|
var require_custom_action_registry = require_custom_action_registry_jY0NOZK8();
|
|
124513
124642
|
var zod = require_zod();
|
|
@@ -231423,6 +231552,7 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
|
|
|
231423
231552
|
}
|
|
231424
231553
|
var HF_REPO = "camstack/camstack-models";
|
|
231425
231554
|
var HF_BASE_URL = `https://huggingface.co/${HF_REPO}/resolve/main`;
|
|
231555
|
+
var DEFAULT_TOKEN_EXPIRY = "30d";
|
|
231426
231556
|
var RUNTIME_DEFAULTS = {
|
|
231427
231557
|
"features.streaming": true,
|
|
231428
231558
|
"features.notifications": true,
|
|
@@ -231451,7 +231581,7 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
|
|
|
231451
231581
|
"ffmpeg.binaryPath": "ffmpeg",
|
|
231452
231582
|
"ffmpeg.hwAccel": "auto",
|
|
231453
231583
|
"ffmpeg.threadCount": 0,
|
|
231454
|
-
"auth.tokenExpiry": "
|
|
231584
|
+
"auth.tokenExpiry": "30d"
|
|
231455
231585
|
};
|
|
231456
231586
|
var AccessoryKind = {
|
|
231457
231587
|
Siren: require_sleep.DeviceRole.Siren,
|
|
@@ -246697,6 +246827,7 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
|
|
|
246697
246827
|
exports.DEFAULT_RETENTION = DEFAULT_RETENTION;
|
|
246698
246828
|
exports.DEFAULT_RUNTIME_STATE_DURABILITY = require_sleep.DEFAULT_RUNTIME_STATE_DURABILITY;
|
|
246699
246829
|
exports.DEFAULT_TIMELAPSE_PREVIEW_TEXT = DEFAULT_TIMELAPSE_PREVIEW_TEXT;
|
|
246830
|
+
exports.DEFAULT_TOKEN_EXPIRY = DEFAULT_TOKEN_EXPIRY;
|
|
246700
246831
|
exports.DETAIL_CROP_PADDING_FIELD = DETAIL_CROP_PADDING_FIELD;
|
|
246701
246832
|
exports.DETAIL_CROP_PADDING_KEY = DETAIL_CROP_PADDING_KEY;
|
|
246702
246833
|
exports.DETAIL_CROP_SECTION_ID = DETAIL_CROP_SECTION_ID;
|
package/package.json
CHANGED
|
File without changes
|