@camstack/system 1.2.352 → 1.2.354
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon-runner.js +1 -1
- package/dist/addon-runner.mjs +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/alerts/alerts.addon.js +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +1 -1
- package/dist/builtins/autotrack/index.js +1 -1
- package/dist/builtins/autotrack/index.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
- package/dist/builtins/calendars/calendars.addon.js +1 -1
- package/dist/builtins/calendars/calendars.addon.mjs +1 -1
- package/dist/builtins/camera-grid/index.js +1 -1
- package/dist/builtins/camera-grid/index.mjs +1 -1
- package/dist/builtins/composer/composer.addon.js +13 -3
- package/dist/builtins/composer/composer.addon.mjs +13 -3
- 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 +3 -3
- package/dist/builtins/device-manager/device-manager.addon.mjs +3 -3
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- 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 +1 -1
- package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
- package/dist/builtins/local-network/local-network.addon.d.ts +21 -6
- package/dist/builtins/local-network/local-network.addon.js +81 -54
- package/dist/builtins/local-network/local-network.addon.mjs +81 -55
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +2 -2
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +2 -2
- package/dist/builtins/system-config/system-config.addon.js +1 -1
- package/dist/builtins/system-config/system-config.addon.mjs +1 -1
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{child-cap-dispatch-BAfa6tjj.mjs → child-cap-dispatch-C1x1kNJK.mjs} +1 -1
- package/dist/{child-cap-dispatch-B_0-zpI6.js → child-cap-dispatch-CRqYKHAb.js} +1 -1
- package/dist/{composition-sources-CUfM-BYp.js → composition-sources-0nuWOdNd.js} +1 -1
- package/dist/{composition-sources-CoFGIGCc.mjs → composition-sources-DzkEFd8q.mjs} +1 -1
- package/dist/{dist-DADwBtU5.mjs → dist-DVyXxn41.mjs} +176 -82
- package/dist/{dist-DeGPW01G.js → dist-DePB7uwU.js} +187 -81
- package/dist/http/reverse-proxy.d.ts +11 -1
- package/dist/index.js +55 -12
- package/dist/index.mjs +55 -12
- package/dist/kernel/config-schema.d.ts +1 -0
- package/dist/{retired-settings-keys-D8G5o4Fc.js → retired-settings-keys-BTKZdPn6.js} +1 -1
- package/dist/{retired-settings-keys-bUUnyTMg.mjs → retired-settings-keys-DFur4hJF.mjs} +1 -1
- package/package.json +1 -1
|
@@ -1,44 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Ht as localNetworkCapability, Sr as EventCategory, Zn as BaseAddon, in as pickAppLinkHub, s as CAMSTACK_APP_LINK_ORIGIN } from "../../dist-DVyXxn41.mjs";
|
|
2
2
|
import { S as readLanHttpState, _ as DEFAULT_LAN_HTTP_PORT, a as writeTlsMode, i as writeExtraSans, l as reissueTlsLeaf, n as readTlsAccessStatus, o as validateUploadedTls, r as readTlsMode, s as ensureTlsCert, t as readExtraSans, y as applyLanHttp } from "../../tls-DTlVWwAI.mjs";
|
|
3
3
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import * as os from "node:os";
|
|
6
6
|
import { readFileSync } from "node:fs";
|
|
7
7
|
import { isIP } from "node:net";
|
|
8
|
-
//#region src/builtins/local-network/local-hostname.ts
|
|
9
|
-
var DNS_NAME = /^(?=.{1,253}$)([a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])$/;
|
|
10
|
-
/**
|
|
11
|
-
* Parse the operator-typed local hostname.
|
|
12
|
-
*
|
|
13
|
-
* Empty / whitespace → `null` (advertise the raw LAN IP). A DNS name is
|
|
14
|
-
* lowercased. A URL, port suffix, path, or bare IP is rejected so it cannot
|
|
15
|
-
* leak into a SAN or a candidate URL.
|
|
16
|
-
*/
|
|
17
|
-
function parseLocalHostname(raw) {
|
|
18
|
-
const trimmed = raw.trim();
|
|
19
|
-
if (trimmed === "") return {
|
|
20
|
-
ok: true,
|
|
21
|
-
value: null
|
|
22
|
-
};
|
|
23
|
-
if (/[\s/:?#]/.test(trimmed) || trimmed.includes("\\")) return {
|
|
24
|
-
ok: false,
|
|
25
|
-
error: "Enter a DNS name such as camstack.lan, without a scheme or port."
|
|
26
|
-
};
|
|
27
|
-
const lowered = trimmed.toLowerCase();
|
|
28
|
-
if (isIP(lowered) !== 0) return {
|
|
29
|
-
ok: false,
|
|
30
|
-
error: "Use the address allowlist for IPs — this field is a DNS name."
|
|
31
|
-
};
|
|
32
|
-
if (!DNS_NAME.test(lowered)) return {
|
|
33
|
-
ok: false,
|
|
34
|
-
error: "Enter a DNS name such as camstack.lan, without a scheme or port."
|
|
35
|
-
};
|
|
36
|
-
return {
|
|
37
|
-
ok: true,
|
|
38
|
-
value: lowered
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
//#endregion
|
|
42
8
|
//#region src/builtins/local-network/ipv6-lan.ts
|
|
43
9
|
/**
|
|
44
10
|
* IPv6 helpers for LAN advertisement: prefix matching (privacy addresses
|
|
@@ -144,6 +110,40 @@ function parseIpv6Groups(address) {
|
|
|
144
110
|
];
|
|
145
111
|
}
|
|
146
112
|
//#endregion
|
|
113
|
+
//#region src/builtins/local-network/local-hostname.ts
|
|
114
|
+
var DNS_NAME = /^(?=.{1,253}$)([a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])$/;
|
|
115
|
+
/**
|
|
116
|
+
* Parse the operator-typed local hostname.
|
|
117
|
+
*
|
|
118
|
+
* Empty / whitespace → `null` (advertise the raw LAN IP). A DNS name is
|
|
119
|
+
* lowercased. A URL, port suffix, path, or bare IP is rejected so it cannot
|
|
120
|
+
* leak into a SAN or a candidate URL.
|
|
121
|
+
*/
|
|
122
|
+
function parseLocalHostname(raw) {
|
|
123
|
+
const trimmed = raw.trim();
|
|
124
|
+
if (trimmed === "") return {
|
|
125
|
+
ok: true,
|
|
126
|
+
value: null
|
|
127
|
+
};
|
|
128
|
+
if (/[\s/:?#]/.test(trimmed) || trimmed.includes("\\")) return {
|
|
129
|
+
ok: false,
|
|
130
|
+
error: "Enter a DNS name such as camstack.lan, without a scheme or port."
|
|
131
|
+
};
|
|
132
|
+
const lowered = trimmed.toLowerCase();
|
|
133
|
+
if (isIP(lowered) !== 0) return {
|
|
134
|
+
ok: false,
|
|
135
|
+
error: "Use the address allowlist for IPs — this field is a DNS name."
|
|
136
|
+
};
|
|
137
|
+
if (!DNS_NAME.test(lowered)) return {
|
|
138
|
+
ok: false,
|
|
139
|
+
error: "Enter a DNS name such as camstack.lan, without a scheme or port."
|
|
140
|
+
};
|
|
141
|
+
return {
|
|
142
|
+
ok: true,
|
|
143
|
+
value: lowered
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
//#endregion
|
|
147
147
|
//#region src/builtins/local-network/local-network.addon.ts
|
|
148
148
|
/**
|
|
149
149
|
* local-network — hub-only system cap implementation.
|
|
@@ -204,19 +204,32 @@ var LocalNetworkAddon = class extends BaseAddon {
|
|
|
204
204
|
});
|
|
205
205
|
}
|
|
206
206
|
/**
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
*
|
|
210
|
-
*
|
|
211
|
-
*
|
|
207
|
+
* The effective flagged notification address: the operator's explicit
|
|
208
|
+
* choice, else AUTO — the CamStack app link (D709, operator decision
|
|
209
|
+
* 2026-10-06; before it AUTO was the tunnel, then the mesh). The app link is
|
|
210
|
+
* not a hub address: the NC's signed media and buttons keep their own hub
|
|
211
|
+
* ladder when it is flagged; only viewer taps take the app form.
|
|
212
212
|
*/
|
|
213
213
|
resolveNotificationEndpoint() {
|
|
214
214
|
const explicit = this.config.notificationBaseUrl;
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
215
|
+
return explicit !== "" ? explicit : CAMSTACK_APP_LINK_ORIGIN;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* The `hub=` an app link carries: the best public HTTPS address in this
|
|
219
|
+
* cap's own palette (tunnel, then mesh) — so it can never disagree with
|
|
220
|
+
* what the Network page lists. See `pickAppLinkHub`.
|
|
221
|
+
*/
|
|
222
|
+
async resolveAppLinkHub() {
|
|
223
|
+
const port = (await this.resolveAdvertisedListenPort(null)).port;
|
|
224
|
+
return pickAppLinkHub(await this.buildAdvertisedEndpoints(false, false, "https", port));
|
|
225
|
+
}
|
|
226
|
+
async notificationEndpointSnapshot() {
|
|
227
|
+
const explicit = this.config.notificationBaseUrl;
|
|
228
|
+
return {
|
|
229
|
+
baseUrl: explicit === "" ? null : explicit,
|
|
230
|
+
resolved: this.resolveNotificationEndpoint(),
|
|
231
|
+
appLinkHub: await this.resolveAppLinkHub()
|
|
232
|
+
};
|
|
220
233
|
}
|
|
221
234
|
async snapshotViewerEndpoints() {
|
|
222
235
|
const selected = selectViewerEndpoints(await this.buildAdvertisedEndpoints(false, false, "http", (await this.resolveAdvertisedListenPort(null)).port), this.config.viewerBaseUrls);
|
|
@@ -268,22 +281,17 @@ var LocalNetworkAddon = class extends BaseAddon {
|
|
|
268
281
|
advertised: localPort.port,
|
|
269
282
|
source: localPort.source
|
|
270
283
|
} });
|
|
284
|
+
const endpoints = await this.buildAdvertisedEndpoints(includeLoopback, input.ipv4Only ?? false, scheme, localPort.port);
|
|
271
285
|
return {
|
|
272
|
-
endpoints:
|
|
286
|
+
endpoints: input.includeAppLink === true ? [appLinkEndpoint(), ...endpoints] : endpoints,
|
|
273
287
|
localPort
|
|
274
288
|
};
|
|
275
289
|
},
|
|
276
|
-
getNotificationEndpoint: async () => (
|
|
277
|
-
baseUrl: this.config.notificationBaseUrl === "" ? null : this.config.notificationBaseUrl,
|
|
278
|
-
resolved: this.resolveNotificationEndpoint()
|
|
279
|
-
}),
|
|
290
|
+
getNotificationEndpoint: async () => this.notificationEndpointSnapshot(),
|
|
280
291
|
setNotificationEndpoint: async ({ baseUrl }) => {
|
|
281
292
|
await this.updateGlobalSettings({ notificationBaseUrl: baseUrl ?? "" });
|
|
282
293
|
this.ctx.logger.info("local-network: notification endpoint set", { meta: { baseUrl: baseUrl ?? "(auto)" } });
|
|
283
|
-
return
|
|
284
|
-
baseUrl: baseUrl === "" ? null : baseUrl,
|
|
285
|
-
resolved: this.resolveNotificationEndpoint()
|
|
286
|
-
};
|
|
294
|
+
return this.notificationEndpointSnapshot();
|
|
287
295
|
},
|
|
288
296
|
getViewerEndpoints: async () => this.snapshotViewerEndpoints(),
|
|
289
297
|
setViewerEndpoints: async ({ baseUrls }) => {
|
|
@@ -726,6 +734,24 @@ function pickPreferred(interfaces) {
|
|
|
726
734
|
return prefixLen(b.netmask) - prefixLen(a.netmask);
|
|
727
735
|
})[0] ?? null;
|
|
728
736
|
}
|
|
737
|
+
/**
|
|
738
|
+
* The CamStack app link as a palette entry (D709): the one address on the
|
|
739
|
+
* Network page that is not this hub's. Flagging it for notifications (the
|
|
740
|
+
* default) makes viewer taps open the native app, with the hub carried as
|
|
741
|
+
* `hub=`. `kind: 'app-link'` keeps it out of every race and ranking; it is
|
|
742
|
+
* only emitted on `includeAppLink: true`.
|
|
743
|
+
*/
|
|
744
|
+
function appLinkEndpoint() {
|
|
745
|
+
return {
|
|
746
|
+
label: "CamStack app link",
|
|
747
|
+
baseUrl: CAMSTACK_APP_LINK_ORIGIN,
|
|
748
|
+
kind: "app-link",
|
|
749
|
+
interfaceKind: "public",
|
|
750
|
+
plausible: true,
|
|
751
|
+
plausibleReason: "",
|
|
752
|
+
priority: -1
|
|
753
|
+
};
|
|
754
|
+
}
|
|
729
755
|
function buildEndpoints(interfaces, port, includeLoopback, ipv4Only, publicHostname, scheme = "http", meshEndpoint = null, lanHttp = null) {
|
|
730
756
|
const out = [];
|
|
731
757
|
let priority = 0;
|
|
@@ -944,4 +970,4 @@ function readLinuxIpv6Flags() {
|
|
|
944
970
|
}
|
|
945
971
|
}
|
|
946
972
|
//#endregion
|
|
947
|
-
export { ALLOWLIST_RECONCILE_INTERVAL_MS, LocalNetworkAddon, applyAllowlist, autoSeedAllowlist, buildEndpoints, classifyKind, enumerateOsInterfaces, explainNonPlausible, ipv6Prefix64Key, isDefaultViewerEndpoint, isPlausibleAutoSeed, parseProcIfInet6, pickPreferred, prefixLen, reconcileAllowlist, resolveAdvertisedPort, selectViewerEndpoints, shouldAdvertiseIpv6 };
|
|
973
|
+
export { ALLOWLIST_RECONCILE_INTERVAL_MS, LocalNetworkAddon, appLinkEndpoint, applyAllowlist, autoSeedAllowlist, buildEndpoints, classifyKind, enumerateOsInterfaces, explainNonPlausible, ipv6Prefix64Key, isDefaultViewerEndpoint, isPlausibleAutoSeed, parseProcIfInet6, pickPreferred, prefixLen, reconcileAllowlist, resolveAdvertisedPort, selectViewerEndpoints, shouldAdvertiseIpv6 };
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-DePB7uwU.js");
|
|
7
7
|
//#region src/builtins/loki-logging/loki-payload.ts
|
|
8
8
|
/**
|
|
9
9
|
* Loki rejects a label name that is not a valid Prometheus label
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Wt as logDestinationCapability, Zn as BaseAddon } from "../../dist-DVyXxn41.mjs";
|
|
2
2
|
//#region src/builtins/loki-logging/loki-payload.ts
|
|
3
3
|
/**
|
|
4
4
|
* Loki rejects a label name that is not a valid Prometheus label
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-DePB7uwU.js");
|
|
7
7
|
const require_proc_stat = require("../../proc-stat-DL-WUOhl.js");
|
|
8
8
|
let node_fs_promises = require("node:fs/promises");
|
|
9
9
|
let node_os = require("node:os");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { At as foldSnapshotByFunction, Sr as EventCategory, Xn as errMsg, Xt as metricsProviderCapability, Zn as BaseAddon, dn as resolveBucketMs, ln as reducePoints, sr as createEvent } from "../../dist-DVyXxn41.mjs";
|
|
2
2
|
import { a as parseProcStat, i as nodeProcReader, n as elapsedSecSince, o as parseProcStatusRss, r as lifetimeCpuPercent, t as commandFromCmdline } from "../../proc-stat-CbC55Kqi.mjs";
|
|
3
3
|
import { access, readFile, readdir } from "node:fs/promises";
|
|
4
4
|
import * as os from "node:os";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-DePB7uwU.js");
|
|
7
7
|
let node_os = require("node:os");
|
|
8
8
|
node_os = require_chunk.__toESM(node_os);
|
|
9
9
|
let node_fs = require("node:fs");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { o as __toESM } from "../../chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { Sr as EventCategory, St as enumerateInferenceDevices, Xn as errMsg, Zn as BaseAddon, lr as emitReadiness, on as platformProbeCapability, yn as scoreRuntimes } from "../../dist-DVyXxn41.mjs";
|
|
3
3
|
import * as os from "node:os";
|
|
4
4
|
import * as fs from "node:fs";
|
|
5
5
|
import { execFile } from "node:child_process";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-DePB7uwU.js");
|
|
7
7
|
//#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
|
|
8
8
|
/**
|
|
9
9
|
* Reconcile the durable `enabledProviders` set against authoritative
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Sr as EventCategory, Zn as BaseAddon } from "../../dist-DVyXxn41.mjs";
|
|
2
2
|
//#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
|
|
3
3
|
/**
|
|
4
4
|
* Reconcile the durable `enabledProviders` set against authoritative
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-DePB7uwU.js");
|
|
7
7
|
const require_snapshot_courtesy = require("../../snapshot-courtesy-D_C5-nC0.js");
|
|
8
8
|
let zod = require("zod");
|
|
9
9
|
let node_crypto = require("node:crypto");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { On as streamQualityLabel, Sn as snapshotCapability, Sr as EventCategory, X as batteryCapability, Xn as errMsg, Y as bareAddonId, Yn as DeviceType, Yt as memoizePinnedFfmpeg, Zn as BaseAddon, a as BatteryStatusSchema, gt as deriveBatteryPresence, mr as nodePin, qn as DeviceFeature } from "../../dist-DVyXxn41.mjs";
|
|
2
2
|
import { i as renderCourtesyOverlayJpeg, n as courtesyCacheKey, r as renderCourtesyJpeg } from "../../snapshot-courtesy-CyFs1M3I.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-DePB7uwU.js");
|
|
7
7
|
let node_crypto = require("node:crypto");
|
|
8
8
|
let node_fs_promises = require("node:fs/promises");
|
|
9
9
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { En as storageProviderCapability, Zn as BaseAddon, kt as filesystemBrowseCapability } from "../../dist-DVyXxn41.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import { mkdir, readdir, realpath, statfs } from "node:fs/promises";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
Binary file
|
|
Binary file
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-DePB7uwU.js");
|
|
7
7
|
const require_hub_cap_forward = require("../../hub-cap-forward-DmHNjbB0.js");
|
|
8
8
|
let zod = require("zod");
|
|
9
9
|
let node_crypto = require("node:crypto");
|
|
@@ -1745,7 +1745,7 @@ function resolveMinFreePercent(config, providerDefaultPercent, capacity, notice)
|
|
|
1745
1745
|
*
|
|
1746
1746
|
* Measured on the live hub, 2026-09-13. `storage.listLocations` returned two
|
|
1747
1747
|
* `backups` locations with byte-identical capacity — `/data/backups` on
|
|
1748
|
-
* `filesystem-storage` and `//192.168.
|
|
1748
|
+
* `filesystem-storage` and `//192.168.10.89/backups` on `smb-storage`, both
|
|
1749
1749
|
* `total 506107977728 / available 193348673536`. `owned` differed correctly
|
|
1750
1750
|
* (9.9 GB vs 1.6 GB), so nothing about the rendering was at fault: the probe
|
|
1751
1751
|
* simply never looked at the provider. It `path.resolve`d the SMB row's
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as
|
|
1
|
+
import { B as StorageLocationTypeSchema, Bt as legacyModeOf, Cn as storageCapability, E as LegacyStorageLocationDefaultSchema, Et as evictionPolicyOfLocation, Ft as isLocationEnabled, Jt as mayWriteToLocation, M as REDACTED_SECRET, Mt as gbToBytes, Pn as withLocationMode, R as StorageCleanupJobSchema, Sr as EventCategory, V as StorageMigrationJobSchema, Zn as BaseAddon, Zt as modeMayWrite, bn as settingsStoreCapability, hr as parseJsonObject, mn as resolveLocationMode, qt as mayReadLocation, tt as collectSecretConfigKeys, wn as storageMigrationCapability, z as StorageLocationModeSchema } from "../../dist-DVyXxn41.mjs";
|
|
2
2
|
import { t as HUB_CAP_FWD_ACTION } from "../../hub-cap-forward-BdT320dq.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
@@ -1740,7 +1740,7 @@ function resolveMinFreePercent(config, providerDefaultPercent, capacity, notice)
|
|
|
1740
1740
|
*
|
|
1741
1741
|
* Measured on the live hub, 2026-09-13. `storage.listLocations` returned two
|
|
1742
1742
|
* `backups` locations with byte-identical capacity — `/data/backups` on
|
|
1743
|
-
* `filesystem-storage` and `//192.168.
|
|
1743
|
+
* `filesystem-storage` and `//192.168.10.89/backups` on `smb-storage`, both
|
|
1744
1744
|
* `total 506107977728 / available 193348673536`. `owned` differed correctly
|
|
1745
1745
|
* (9.9 GB vs 1.6 GB), so nothing about the rendering was at fault: the probe
|
|
1746
1746
|
* simply never looked at the provider. It `path.resolve`d the SMB row's
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-DePB7uwU.js");
|
|
7
7
|
//#region src/builtins/system-config/system-config.addon.ts
|
|
8
8
|
/**
|
|
9
9
|
* Built-in `system-config` addon — Phase 4 of the settings redesign.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Xn as errMsg, Zn as BaseAddon, dr as hydrateSchema } from "../../dist-DVyXxn41.mjs";
|
|
2
2
|
//#region src/builtins/system-config/system-config.addon.ts
|
|
3
3
|
/**
|
|
4
4
|
* Built-in `system-config` addon — Phase 4 of the settings redesign.
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-DePB7uwU.js");
|
|
7
7
|
const require_formatter = require("../../formatter-DqAKDlvN.js");
|
|
8
8
|
let node_path = require("node:path");
|
|
9
9
|
node_path = require_chunk.__toESM(node_path);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Wt as logDestinationCapability, Zn as BaseAddon } from "../../dist-DVyXxn41.mjs";
|
|
2
2
|
import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
|
|
3
3
|
import * as path$1 from "node:path";
|
|
4
4
|
import path from "node:path";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Sr as EventCategory$1, sr as createEvent } from "./dist-DVyXxn41.mjs";
|
|
2
2
|
import { a as parseProcStat, i as nodeProcReader } from "./proc-stat-CbC55Kqi.mjs";
|
|
3
3
|
import "./hub-cap-forward-BdT320dq.mjs";
|
|
4
4
|
import * as crypto$1 from "node:crypto";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
2
|
-
const require_dist = require("./dist-
|
|
2
|
+
const require_dist = require("./dist-DePB7uwU.js");
|
|
3
3
|
const require_proc_stat = require("./proc-stat-DL-WUOhl.js");
|
|
4
4
|
require("./hub-cap-forward-DmHNjbB0.js");
|
|
5
5
|
let node_crypto = require("node:crypto");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Un as compositionSourceKey, Xn as errMsg } from "./dist-DVyXxn41.mjs";
|
|
2
2
|
//#region src/builtins/core-blocks/composition-sources.ts
|
|
3
3
|
/**
|
|
4
4
|
* Describe what a composition reads and writes for SAVE-time validation
|