@camstack/system 1.2.432 → 1.2.434
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/{tls-CpcGkeJV.mjs → agent-https-B8lKYVtU.mjs} +123 -617
- package/dist/{tls-C5IYg3V5.js → agent-https-BZIwS4xF.js} +157 -765
- package/dist/auth/device-ca.d.ts +0 -10
- 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 +3 -3
- package/dist/builtins/keychain/index.mjs +3 -3
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/local-auth.addon.js +9 -4
- package/dist/builtins/local-auth/local-auth.addon.mjs +9 -4
- package/dist/builtins/local-network/address-book.d.ts +13 -0
- package/dist/builtins/local-network/agent-mdns.d.ts +51 -0
- package/dist/builtins/local-network/local-network.addon.js +74 -53
- package/dist/builtins/local-network/local-network.addon.mjs +56 -36
- 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/index.js +1 -1
- package/dist/builtins/sqlite-storage/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +3 -3
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +3 -3
- 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 +1388 -31
- package/dist/builtins/system-config/system-config.addon.mjs +1362 -28
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{composition-sources-CFlUdpO7.js → composition-sources-B7R1oQnY.js} +1 -1
- package/dist/{composition-sources-DpbL38z3.mjs → composition-sources-CqrDyHM1.mjs} +1 -1
- package/dist/{constants-B89vjrSm.mjs → constants-CrMPWOug.mjs} +2 -2
- package/dist/{constants-DfP8V3eX.js → constants-CuOfMdYe.js} +2 -2
- package/dist/{device-ca-4IY98a_-.mjs → device-ca-CDjGQQPd.mjs} +17 -6
- package/dist/{device-ca-BCyAPmIj.js → device-ca-D21ZP00q.js} +17 -6
- package/dist/{dist-BCKOeWu_.js → dist-CCH3XPqO.js} +86 -6
- package/dist/{dist-Bt8GTRHB.mjs → dist-CYcBqnXk.mjs} +69 -7
- package/dist/file-host-worker.js +1 -1
- package/dist/file-host-worker.mjs +1 -1
- package/dist/hub-mdns-ciao-CBLvq2oj.js +821 -0
- package/dist/hub-mdns-ciao-DJRwtlA8.mjs +648 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +176 -67
- package/dist/index.mjs +96 -13
- package/dist/kernel/index.d.ts +5 -4
- package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +12 -1
- package/dist/kernel/moleculer/agent-ui-unlock.d.ts +40 -0
- package/dist/kernel/moleculer/mesh-authenticator.d.ts +6 -0
- package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +1 -1
- package/dist/kernel/moleculer/mesh-mtls/index.d.ts +3 -2
- package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +4 -9
- package/dist/kernel/moleculer/mesh-mtls/mesh-certificate-registry.d.ts +2 -2
- package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +3 -2
- package/dist/kernel/moleculer/mesh-mtls/mesh-peer-transport.d.ts +7 -0
- package/dist/kernel/moleculer/mesh-mtls/pairing/agent-pairing.d.ts +204 -0
- package/dist/kernel/moleculer/mesh-mtls/pairing/hub-pairing.d.ts +115 -0
- package/dist/kernel/moleculer/mesh-mtls/pairing/index.d.ts +3 -0
- package/dist/kernel/moleculer/mesh-mtls/pairing/pairing-protocol.d.ts +107 -0
- package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +18 -0
- package/dist/{lib-B_R6sPC3.mjs → lib-BeGzVQcd.mjs} +1 -1
- package/dist/{lib-DOJ5yyWA.js → lib-NNxHSOIE.js} +1 -1
- package/dist/{restore-archive-Bh34W8J8.mjs → restore-archive-5ml7uYMf.mjs} +1 -1
- package/dist/{restore-archive-DhHH7VQp.js → restore-archive-Do0QwAik.js} +1 -1
- package/dist/{retired-settings-keys-u3Wwkdrq.js → retired-settings-keys-CEiCaI_j.js} +1 -1
- package/dist/{retired-settings-keys-CmcEitC2.mjs → retired-settings-keys-CyDdyjLP.mjs} +1 -1
- package/dist/tls/agent-https-names.d.ts +2 -0
- package/dist/tls/cert-backdate.d.ts +10 -0
- package/dist/tls/cert-issue.d.ts +0 -20
- package/dist/{wal-maintenance-uQGuStFW.mjs → wal-maintenance-DgLLPK14.mjs} +0 -0
- package/dist/{wal-maintenance-ChzCPUi2.js → wal-maintenance-LZYd8iT-.js} +0 -0
- package/dist/{x509.es-CAjSsrkk.mjs → x509.es-CDvj67p1.mjs} +14 -1
- package/dist/{x509.es-Dzl0BbmG.js → x509.es-r7Ht1thA.js} +19 -0
- package/package.json +1 -1
- package/dist/agent-https-names-CpUSuP4w.js +0 -120
- package/dist/agent-https-names-uetr4OQl.mjs +0 -91
|
@@ -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
|
|
3
|
+
const require_dist = require("../../dist-CCH3XPqO.js");
|
|
4
|
+
const require_hub_mdns_ciao = require("../../hub-mdns-ciao-CBLvq2oj.js");
|
|
5
5
|
let zod = require("zod");
|
|
6
6
|
let node_net = require("node:net");
|
|
7
7
|
let node_os = require("node:os");
|
|
@@ -192,6 +192,48 @@ function withAppConnectionCustomEndpoints(detected, state) {
|
|
|
192
192
|
const extra = state.custom.filter((c) => wanted.has(c.baseUrl) && !known.has(c.baseUrl)).map(customEndpoint);
|
|
193
193
|
return [...detected, ...extra];
|
|
194
194
|
}
|
|
195
|
+
/** Where a twin sorts relative to its plain-HTTP row: straight after it. */
|
|
196
|
+
var HTTPS_TWIN_PRIORITY_STEP = .5;
|
|
197
|
+
/**
|
|
198
|
+
* The HTTPS counterpart of every LAN address advertised over plain HTTP
|
|
199
|
+
* (D859): `http://<lan>:<httpPort>` gains `https://<lan>:<httpsPort>`, the hub's
|
|
200
|
+
* TLS listener, as its own row straight after it. The twin is an ordinary
|
|
201
|
+
* detected LAN row — ticked, unticked and flagged like any other, on by default
|
|
202
|
+
* (a LAN row is an automatic app connection). A phone that does not trust the
|
|
203
|
+
* hub's local CA fails that candidate in the race it already runs; one that
|
|
204
|
+
* does reaches it. Only the app-connection palette and the table carry twins:
|
|
205
|
+
* the palette `internal` and `publicEndpoint` resolve over never does, so those
|
|
206
|
+
* roles keep their answer. Rows already on https (LAN HTTP off), the public
|
|
207
|
+
* tunnel, the mesh, custom addresses and loopback have no twin.
|
|
208
|
+
*/
|
|
209
|
+
function withLanHttpsCounterparts(palette, httpsPort) {
|
|
210
|
+
const known = new Set(palette.map((e) => e.baseUrl));
|
|
211
|
+
const out = [];
|
|
212
|
+
for (const endpoint of palette) {
|
|
213
|
+
out.push(endpoint);
|
|
214
|
+
if (endpoint.kind !== "lan-ipv4" && endpoint.kind !== "lan-ipv6") continue;
|
|
215
|
+
const twin = httpsTwinOf(endpoint, httpsPort);
|
|
216
|
+
if (twin === null || known.has(twin.baseUrl)) continue;
|
|
217
|
+
known.add(twin.baseUrl);
|
|
218
|
+
out.push(twin);
|
|
219
|
+
}
|
|
220
|
+
return out;
|
|
221
|
+
}
|
|
222
|
+
function httpsTwinOf(endpoint, httpsPort) {
|
|
223
|
+
let parsed;
|
|
224
|
+
try {
|
|
225
|
+
parsed = new URL(endpoint.baseUrl);
|
|
226
|
+
} catch {
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
if (parsed.protocol !== "http:") return null;
|
|
230
|
+
return {
|
|
231
|
+
...endpoint,
|
|
232
|
+
label: `${endpoint.label} (HTTPS)`,
|
|
233
|
+
baseUrl: `https://${parsed.hostname}:${httpsPort}`,
|
|
234
|
+
priority: endpoint.priority + HTTPS_TWIN_PRIORITY_STEP
|
|
235
|
+
};
|
|
236
|
+
}
|
|
195
237
|
/** Every role's answer — the resolvers from `@camstack/types`, nothing else. */
|
|
196
238
|
function resolveRoles(state, appPalette, httpsPalette) {
|
|
197
239
|
return require_dist.resolveHubAddressRoles(withAppConnectionCustomEndpoints(appPalette, state), httpsPalette, state.flags);
|
|
@@ -491,31 +533,6 @@ function internalUrlOf(book) {
|
|
|
491
533
|
return book.roles.internal.resolved;
|
|
492
534
|
}
|
|
493
535
|
//#endregion
|
|
494
|
-
//#region src/builtins/local-network/hub-mdns-ciao.ts
|
|
495
|
-
function createCiaoPublisher() {
|
|
496
|
-
return { async publish(announcement) {
|
|
497
|
-
const { getResponder } = await Promise.resolve().then(() => /* @__PURE__ */ require_chunk.__toESM(require("../../lib-DOJ5yyWA.js").default));
|
|
498
|
-
const responder = getResponder();
|
|
499
|
-
const service = responder.createService({
|
|
500
|
-
name: announcement.name,
|
|
501
|
-
type: announcement.type,
|
|
502
|
-
port: announcement.port,
|
|
503
|
-
txt: { ...announcement.txt },
|
|
504
|
-
...announcement.address !== null ? { restrictedAddresses: [announcement.address] } : {}
|
|
505
|
-
});
|
|
506
|
-
try {
|
|
507
|
-
await service.advertise();
|
|
508
|
-
} catch (err) {
|
|
509
|
-
await responder.shutdown().catch(() => void 0);
|
|
510
|
-
throw err;
|
|
511
|
-
}
|
|
512
|
-
return { stop: async () => {
|
|
513
|
-
await service.destroy();
|
|
514
|
-
await responder.shutdown();
|
|
515
|
-
} };
|
|
516
|
-
} };
|
|
517
|
-
}
|
|
518
|
-
//#endregion
|
|
519
536
|
//#region src/builtins/local-network/local-hostname.ts
|
|
520
537
|
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])$/;
|
|
521
538
|
/**
|
|
@@ -607,7 +624,7 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
|
|
|
607
624
|
appConnectionUrls: [],
|
|
608
625
|
customAddresses: [],
|
|
609
626
|
httpEnabled: true,
|
|
610
|
-
httpPort:
|
|
627
|
+
httpPort: require_hub_mdns_ciao.DEFAULT_LAN_HTTP_PORT,
|
|
611
628
|
localHostname: "",
|
|
612
629
|
internalUrl: "",
|
|
613
630
|
publicEndpointUrl: "",
|
|
@@ -622,9 +639,13 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
|
|
|
622
639
|
async palettes() {
|
|
623
640
|
const port = (await this.resolveAdvertisedListenPort(null)).port;
|
|
624
641
|
await this.reconcileMeshEndpoint();
|
|
642
|
+
const http = this.endpointsNow(false, false, "http", port);
|
|
643
|
+
const https = this.endpointsNow(false, false, "https", port);
|
|
625
644
|
return {
|
|
626
|
-
http
|
|
627
|
-
https
|
|
645
|
+
http,
|
|
646
|
+
https,
|
|
647
|
+
httpWithTwins: withLanHttpsCounterparts(http, port),
|
|
648
|
+
httpsWithTwins: withLanHttpsCounterparts(https, port)
|
|
628
649
|
};
|
|
629
650
|
}
|
|
630
651
|
/** The stored address book, normalised against what is detected now. */
|
|
@@ -637,11 +658,11 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
|
|
|
637
658
|
}
|
|
638
659
|
/** `getAddresses`: the Addresses table and every role's answer. */
|
|
639
660
|
async addressBook(scheme) {
|
|
640
|
-
const { http, https } = await this.palettes();
|
|
641
|
-
const state = this.addressState([...
|
|
661
|
+
const { http, https, httpWithTwins, httpsWithTwins } = await this.palettes();
|
|
662
|
+
const state = this.addressState([...httpWithTwins, ...httpsWithTwins]);
|
|
642
663
|
const httpsPort = (await this.resolveAdvertisedListenPort(null)).port;
|
|
643
664
|
return buildAddressBook(state, {
|
|
644
|
-
rowsPalette: scheme === "http" ?
|
|
665
|
+
rowsPalette: scheme === "http" ? httpWithTwins : httpsWithTwins,
|
|
645
666
|
httpsPalette: https,
|
|
646
667
|
appLink: appLinkEndpoint(),
|
|
647
668
|
appLinkHub: require_dist.pickAppLinkHub(https),
|
|
@@ -653,8 +674,8 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
|
|
|
653
674
|
* naming an address in no row becomes a custom address in the same write).
|
|
654
675
|
*/
|
|
655
676
|
async changeAddressBook(change) {
|
|
656
|
-
const {
|
|
657
|
-
const detected = [...
|
|
677
|
+
const { httpWithTwins, httpsWithTwins } = await this.palettes();
|
|
678
|
+
const detected = [...httpWithTwins, ...httpsWithTwins];
|
|
658
679
|
const detectedUrls = new Set(detected.map((e) => e.baseUrl));
|
|
659
680
|
const changed = change(this.addressState(detected), {
|
|
660
681
|
detectedUrls,
|
|
@@ -733,7 +754,7 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
|
|
|
733
754
|
*/
|
|
734
755
|
async buildAdvertisedEndpoints(includeLoopback, ipv4Only, scheme, httpsPort) {
|
|
735
756
|
await this.reconcileMeshEndpoint();
|
|
736
|
-
const detected = this.endpointsNow(includeLoopback, ipv4Only, scheme, httpsPort);
|
|
757
|
+
const detected = withLanHttpsCounterparts(this.endpointsNow(includeLoopback, ipv4Only, scheme, httpsPort), httpsPort);
|
|
737
758
|
return withAppConnectionCustomEndpoints(detected, this.addressState(detected));
|
|
738
759
|
}
|
|
739
760
|
/**
|
|
@@ -742,7 +763,7 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
|
|
|
742
763
|
* on (`http` is the palette that already carries those rows).
|
|
743
764
|
*/
|
|
744
765
|
listenerOriginsNow(state, http, httpsPort) {
|
|
745
|
-
const httpListening = this.config.httpEnabled !== false &&
|
|
766
|
+
const httpListening = this.config.httpEnabled !== false && require_hub_mdns_ciao.readLanHttpState().listening;
|
|
746
767
|
const hostname = this.config.localHostname || null;
|
|
747
768
|
const localNameOrigins = hostname === null ? [] : [`https://${hostname}:${httpsPort}`, ...httpListening ? [`http://${hostname}:${this.resolvedHttpPort()}`] : []];
|
|
748
769
|
return buildListenerOrigins({
|
|
@@ -755,7 +776,7 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
|
|
|
755
776
|
/** The DETECTED palette from the cached interface/tunnel/mesh state. */
|
|
756
777
|
endpointsNow(includeLoopback, ipv4Only, scheme, httpsPort, advertiseLanHttp = true) {
|
|
757
778
|
const interfaces = applyAllowlist(this.enumerate(), this.config.allowedAddresses);
|
|
758
|
-
const httpState =
|
|
779
|
+
const httpState = require_hub_mdns_ciao.readLanHttpState();
|
|
759
780
|
return buildEndpoints(interfaces, httpsPort, includeLoopback, ipv4Only, this.publicHostname, scheme, this.meshEndpoint, advertiseLanHttp ? {
|
|
760
781
|
enabled: this.config.httpEnabled !== false,
|
|
761
782
|
listening: httpState.listening,
|
|
@@ -863,13 +884,13 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
|
|
|
863
884
|
},
|
|
864
885
|
getTlsStatus: async () => this.snapshotTls(),
|
|
865
886
|
regenerateCertificate: async (_input) => {
|
|
866
|
-
const extraSans = [...
|
|
867
|
-
await
|
|
887
|
+
const extraSans = [...require_hub_mdns_ciao.readExtraSans(this.tlsDataDir())];
|
|
888
|
+
await require_hub_mdns_ciao.regenerateCertificate(this.tlsDataDir(), { extraSans });
|
|
868
889
|
this.putCertificateOnListener("regenerate");
|
|
869
890
|
return this.snapshotTls();
|
|
870
891
|
},
|
|
871
892
|
uploadCertificate: async ({ certPem, keyPem, caPem }) => {
|
|
872
|
-
await
|
|
893
|
+
await require_hub_mdns_ciao.storeUploadedCertificate(this.tlsDataDir(), {
|
|
873
894
|
certPem,
|
|
874
895
|
keyPem,
|
|
875
896
|
caPem
|
|
@@ -881,8 +902,8 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
|
|
|
881
902
|
return { pem: this.snapshotTls().caCertPem ?? "" };
|
|
882
903
|
},
|
|
883
904
|
revertToGeneratedCertificate: async () => {
|
|
884
|
-
const extraSans = [...
|
|
885
|
-
await
|
|
905
|
+
const extraSans = [...require_hub_mdns_ciao.readExtraSans(this.tlsDataDir())];
|
|
906
|
+
await require_hub_mdns_ciao.revertToGeneratedCertificate(this.tlsDataDir(), { extraSans });
|
|
886
907
|
this.putCertificateOnListener("revert");
|
|
887
908
|
return this.snapshotTls();
|
|
888
909
|
}
|
|
@@ -945,7 +966,7 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
|
|
|
945
966
|
min: 1,
|
|
946
967
|
max: 65535,
|
|
947
968
|
step: 1,
|
|
948
|
-
default:
|
|
969
|
+
default: require_hub_mdns_ciao.DEFAULT_LAN_HTTP_PORT,
|
|
949
970
|
showWhen: {
|
|
950
971
|
field: "httpEnabled",
|
|
951
972
|
equals: true
|
|
@@ -984,7 +1005,7 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
|
|
|
984
1005
|
return;
|
|
985
1006
|
}
|
|
986
1007
|
if (this.mdns === null) this.mdns = new HubMdnsAdvertiser({
|
|
987
|
-
publisher: createCiaoPublisher(),
|
|
1008
|
+
publisher: require_hub_mdns_ciao.createCiaoPublisher(),
|
|
988
1009
|
logger: this.ctx.logger,
|
|
989
1010
|
nodeId: this.ctx.kernel.localNodeId ?? "hub",
|
|
990
1011
|
version: null,
|
|
@@ -1068,13 +1089,13 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
|
|
|
1068
1089
|
}
|
|
1069
1090
|
resolvedHttpPort() {
|
|
1070
1091
|
const port = this.config.httpPort;
|
|
1071
|
-
return Number.isInteger(port) && port >= 1 && port <= 65535 ? port :
|
|
1092
|
+
return Number.isInteger(port) && port >= 1 && port <= 65535 ? port : require_hub_mdns_ciao.DEFAULT_LAN_HTTP_PORT;
|
|
1072
1093
|
}
|
|
1073
1094
|
tlsDataDir() {
|
|
1074
1095
|
return this.ctx.nodeDataDir ?? this.ctx.dataDir;
|
|
1075
1096
|
}
|
|
1076
1097
|
snapshotTls() {
|
|
1077
|
-
const status =
|
|
1098
|
+
const status = require_hub_mdns_ciao.readTlsAccessStatus(this.tlsDataDir(), require_hub_mdns_ciao.servedHttpsLeafFingerprint());
|
|
1078
1099
|
return {
|
|
1079
1100
|
...status,
|
|
1080
1101
|
sans: [...status.sans]
|
|
@@ -1087,7 +1108,7 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
|
|
|
1087
1108
|
* a certificate change that did not reach the listener must say so.
|
|
1088
1109
|
*/
|
|
1089
1110
|
putCertificateOnListener(action) {
|
|
1090
|
-
const outcome =
|
|
1111
|
+
const outcome = require_hub_mdns_ciao.applyCertificateToListener(this.tlsDataDir());
|
|
1091
1112
|
if (outcome.kind === "reloaded") {
|
|
1092
1113
|
this.ctx.logger.info("local-network: HTTPS listener now serves the new certificate", { meta: {
|
|
1093
1114
|
action,
|
|
@@ -1113,17 +1134,17 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
|
|
|
1113
1134
|
const httpsPort = (await this.resolveAdvertisedListenPort(null)).port;
|
|
1114
1135
|
const httpPort = this.resolvedHttpPort();
|
|
1115
1136
|
if (this.config.httpEnabled !== false && httpPort === httpsPort) throw new Error(`HTTP port ${httpPort} cannot equal the HTTPS listen port`);
|
|
1116
|
-
await
|
|
1137
|
+
await require_hub_mdns_ciao.applyLanHttp({
|
|
1117
1138
|
enabled: this.config.httpEnabled !== false,
|
|
1118
1139
|
port: httpPort,
|
|
1119
1140
|
host: "0.0.0.0"
|
|
1120
1141
|
});
|
|
1121
1142
|
if (hostname !== "") {
|
|
1122
|
-
|
|
1123
|
-
if (
|
|
1124
|
-
if ((await
|
|
1143
|
+
require_hub_mdns_ciao.writeExtraSans(this.tlsDataDir(), [hostname]);
|
|
1144
|
+
if (require_hub_mdns_ciao.readTlsMode(this.tlsDataDir()) === "generated") {
|
|
1145
|
+
if ((await require_hub_mdns_ciao.ensureTlsCert(this.tlsDataDir(), { extraSans: [hostname] })).generated) this.putCertificateOnListener("hostname");
|
|
1125
1146
|
}
|
|
1126
|
-
} else
|
|
1147
|
+
} else require_hub_mdns_ciao.writeExtraSans(this.tlsDataDir(), []);
|
|
1127
1148
|
}
|
|
1128
1149
|
/**
|
|
1129
1150
|
* The port this hub is actually listening on, plus the provenance of the
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { A as readTlsMode, G as DEFAULT_LAN_HTTP_PORT, M as writeExtraSans, O as readExtraSans, P as ensureTlsCert, T as servedHttpsLeafFingerprint, X as readLanHttpState, _ as regenerateCertificate, g as applyCertificateToListener, k as readTlsAccessStatus, q as applyLanHttp, v as revertToGeneratedCertificate, y as storeUploadedCertificate } from "../../tls-CpcGkeJV.mjs";
|
|
1
|
+
import { $n as validateCustomAddress, In as resolveNotificationTapAddress, M as HUB_MDNS_SERVICE_TYPE, N as HUB_MDNS_TXT_KEYS, Nn as resolveHubAddressRoles, Sn as pickAppLinkHub, Xt as isDefaultAppConnectionEndpoint, br as BaseAddon, fi as EventCategory, ft as checkRoleAddress, kn as resolveAppConnections, l as CAMSTACK_APP_LINK_ORIGIN, on as localNetworkCapability, qt as isAppLinkBase } from "../../dist-CYcBqnXk.mjs";
|
|
2
|
+
import { C as DEFAULT_LAN_HTTP_PORT, O as readLanHttpState, T as applyLanHttp, a as storeUploadedCertificate, b as ensureTlsCert, d as servedHttpsLeafFingerprint, g as readTlsMode, h as readTlsAccessStatus, i as revertToGeneratedCertificate, m as readExtraSans, n as applyCertificateToListener, r as regenerateCertificate, t as createCiaoPublisher, v as writeExtraSans } from "../../hub-mdns-ciao-DJRwtlA8.mjs";
|
|
4
3
|
import { z } from "zod";
|
|
5
4
|
import { isIP } from "node:net";
|
|
6
5
|
import * as os from "node:os";
|
|
@@ -190,6 +189,48 @@ function withAppConnectionCustomEndpoints(detected, state) {
|
|
|
190
189
|
const extra = state.custom.filter((c) => wanted.has(c.baseUrl) && !known.has(c.baseUrl)).map(customEndpoint);
|
|
191
190
|
return [...detected, ...extra];
|
|
192
191
|
}
|
|
192
|
+
/** Where a twin sorts relative to its plain-HTTP row: straight after it. */
|
|
193
|
+
var HTTPS_TWIN_PRIORITY_STEP = .5;
|
|
194
|
+
/**
|
|
195
|
+
* The HTTPS counterpart of every LAN address advertised over plain HTTP
|
|
196
|
+
* (D859): `http://<lan>:<httpPort>` gains `https://<lan>:<httpsPort>`, the hub's
|
|
197
|
+
* TLS listener, as its own row straight after it. The twin is an ordinary
|
|
198
|
+
* detected LAN row — ticked, unticked and flagged like any other, on by default
|
|
199
|
+
* (a LAN row is an automatic app connection). A phone that does not trust the
|
|
200
|
+
* hub's local CA fails that candidate in the race it already runs; one that
|
|
201
|
+
* does reaches it. Only the app-connection palette and the table carry twins:
|
|
202
|
+
* the palette `internal` and `publicEndpoint` resolve over never does, so those
|
|
203
|
+
* roles keep their answer. Rows already on https (LAN HTTP off), the public
|
|
204
|
+
* tunnel, the mesh, custom addresses and loopback have no twin.
|
|
205
|
+
*/
|
|
206
|
+
function withLanHttpsCounterparts(palette, httpsPort) {
|
|
207
|
+
const known = new Set(palette.map((e) => e.baseUrl));
|
|
208
|
+
const out = [];
|
|
209
|
+
for (const endpoint of palette) {
|
|
210
|
+
out.push(endpoint);
|
|
211
|
+
if (endpoint.kind !== "lan-ipv4" && endpoint.kind !== "lan-ipv6") continue;
|
|
212
|
+
const twin = httpsTwinOf(endpoint, httpsPort);
|
|
213
|
+
if (twin === null || known.has(twin.baseUrl)) continue;
|
|
214
|
+
known.add(twin.baseUrl);
|
|
215
|
+
out.push(twin);
|
|
216
|
+
}
|
|
217
|
+
return out;
|
|
218
|
+
}
|
|
219
|
+
function httpsTwinOf(endpoint, httpsPort) {
|
|
220
|
+
let parsed;
|
|
221
|
+
try {
|
|
222
|
+
parsed = new URL(endpoint.baseUrl);
|
|
223
|
+
} catch {
|
|
224
|
+
return null;
|
|
225
|
+
}
|
|
226
|
+
if (parsed.protocol !== "http:") return null;
|
|
227
|
+
return {
|
|
228
|
+
...endpoint,
|
|
229
|
+
label: `${endpoint.label} (HTTPS)`,
|
|
230
|
+
baseUrl: `https://${parsed.hostname}:${httpsPort}`,
|
|
231
|
+
priority: endpoint.priority + HTTPS_TWIN_PRIORITY_STEP
|
|
232
|
+
};
|
|
233
|
+
}
|
|
193
234
|
/** Every role's answer — the resolvers from `@camstack/types`, nothing else. */
|
|
194
235
|
function resolveRoles(state, appPalette, httpsPalette) {
|
|
195
236
|
return resolveHubAddressRoles(withAppConnectionCustomEndpoints(appPalette, state), httpsPalette, state.flags);
|
|
@@ -489,31 +530,6 @@ function internalUrlOf(book) {
|
|
|
489
530
|
return book.roles.internal.resolved;
|
|
490
531
|
}
|
|
491
532
|
//#endregion
|
|
492
|
-
//#region src/builtins/local-network/hub-mdns-ciao.ts
|
|
493
|
-
function createCiaoPublisher() {
|
|
494
|
-
return { async publish(announcement) {
|
|
495
|
-
const { getResponder } = await import("../../lib-B_R6sPC3.mjs").then((m) => /* @__PURE__ */ __toESM(m.default));
|
|
496
|
-
const responder = getResponder();
|
|
497
|
-
const service = responder.createService({
|
|
498
|
-
name: announcement.name,
|
|
499
|
-
type: announcement.type,
|
|
500
|
-
port: announcement.port,
|
|
501
|
-
txt: { ...announcement.txt },
|
|
502
|
-
...announcement.address !== null ? { restrictedAddresses: [announcement.address] } : {}
|
|
503
|
-
});
|
|
504
|
-
try {
|
|
505
|
-
await service.advertise();
|
|
506
|
-
} catch (err) {
|
|
507
|
-
await responder.shutdown().catch(() => void 0);
|
|
508
|
-
throw err;
|
|
509
|
-
}
|
|
510
|
-
return { stop: async () => {
|
|
511
|
-
await service.destroy();
|
|
512
|
-
await responder.shutdown();
|
|
513
|
-
} };
|
|
514
|
-
} };
|
|
515
|
-
}
|
|
516
|
-
//#endregion
|
|
517
533
|
//#region src/builtins/local-network/local-hostname.ts
|
|
518
534
|
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])$/;
|
|
519
535
|
/**
|
|
@@ -620,9 +636,13 @@ var LocalNetworkAddon = class extends BaseAddon {
|
|
|
620
636
|
async palettes() {
|
|
621
637
|
const port = (await this.resolveAdvertisedListenPort(null)).port;
|
|
622
638
|
await this.reconcileMeshEndpoint();
|
|
639
|
+
const http = this.endpointsNow(false, false, "http", port);
|
|
640
|
+
const https = this.endpointsNow(false, false, "https", port);
|
|
623
641
|
return {
|
|
624
|
-
http
|
|
625
|
-
https
|
|
642
|
+
http,
|
|
643
|
+
https,
|
|
644
|
+
httpWithTwins: withLanHttpsCounterparts(http, port),
|
|
645
|
+
httpsWithTwins: withLanHttpsCounterparts(https, port)
|
|
626
646
|
};
|
|
627
647
|
}
|
|
628
648
|
/** The stored address book, normalised against what is detected now. */
|
|
@@ -635,11 +655,11 @@ var LocalNetworkAddon = class extends BaseAddon {
|
|
|
635
655
|
}
|
|
636
656
|
/** `getAddresses`: the Addresses table and every role's answer. */
|
|
637
657
|
async addressBook(scheme) {
|
|
638
|
-
const { http, https } = await this.palettes();
|
|
639
|
-
const state = this.addressState([...
|
|
658
|
+
const { http, https, httpWithTwins, httpsWithTwins } = await this.palettes();
|
|
659
|
+
const state = this.addressState([...httpWithTwins, ...httpsWithTwins]);
|
|
640
660
|
const httpsPort = (await this.resolveAdvertisedListenPort(null)).port;
|
|
641
661
|
return buildAddressBook(state, {
|
|
642
|
-
rowsPalette: scheme === "http" ?
|
|
662
|
+
rowsPalette: scheme === "http" ? httpWithTwins : httpsWithTwins,
|
|
643
663
|
httpsPalette: https,
|
|
644
664
|
appLink: appLinkEndpoint(),
|
|
645
665
|
appLinkHub: pickAppLinkHub(https),
|
|
@@ -651,8 +671,8 @@ var LocalNetworkAddon = class extends BaseAddon {
|
|
|
651
671
|
* naming an address in no row becomes a custom address in the same write).
|
|
652
672
|
*/
|
|
653
673
|
async changeAddressBook(change) {
|
|
654
|
-
const {
|
|
655
|
-
const detected = [...
|
|
674
|
+
const { httpWithTwins, httpsWithTwins } = await this.palettes();
|
|
675
|
+
const detected = [...httpWithTwins, ...httpsWithTwins];
|
|
656
676
|
const detectedUrls = new Set(detected.map((e) => e.baseUrl));
|
|
657
677
|
const changed = change(this.addressState(detected), {
|
|
658
678
|
detectedUrls,
|
|
@@ -731,7 +751,7 @@ var LocalNetworkAddon = class extends BaseAddon {
|
|
|
731
751
|
*/
|
|
732
752
|
async buildAdvertisedEndpoints(includeLoopback, ipv4Only, scheme, httpsPort) {
|
|
733
753
|
await this.reconcileMeshEndpoint();
|
|
734
|
-
const detected = this.endpointsNow(includeLoopback, ipv4Only, scheme, httpsPort);
|
|
754
|
+
const detected = withLanHttpsCounterparts(this.endpointsNow(includeLoopback, ipv4Only, scheme, httpsPort), httpsPort);
|
|
735
755
|
return withAppConnectionCustomEndpoints(detected, this.addressState(detected));
|
|
736
756
|
}
|
|
737
757
|
/**
|
|
@@ -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-CCH3XPqO.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 { br as BaseAddon, cn as logDestinationCapability } from "../../dist-CYcBqnXk.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-CCH3XPqO.js");
|
|
7
7
|
let node_fs_promises = require("node:fs/promises");
|
|
8
8
|
let node_os = require("node:os");
|
|
9
9
|
node_os = require_chunk.__toESM(node_os);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { An as resolveBucketMs, Dn as reducePoints, Ir as createEvent, Ut as foldSnapshotByFunction, br as BaseAddon, fi as EventCategory, mn as metricsProviderCapability, yr as errMsg } from "../../dist-CYcBqnXk.mjs";
|
|
2
2
|
import { access, readFile, readdir } from "node:fs/promises";
|
|
3
3
|
import * as os from "node:os";
|
|
4
4
|
import { platform } 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-CCH3XPqO.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, r as __exportAll } from "../../chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { Bn as scoreRuntimes, Br as emitReadiness, Pt as enumerateInferenceDevices, br as BaseAddon, fi as EventCategory, wn as platformProbeCapability, yr as errMsg } from "../../dist-CYcBqnXk.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-CCH3XPqO.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 { br as BaseAddon, fi as EventCategory } from "../../dist-CYcBqnXk.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-CCH3XPqO.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 { Dt as deriveBatteryPresence, Un as snapshotCapability, Yn as streamQualityLabel, Zr as nodePin, br as BaseAddon, fi as EventCategory, gr as DeviceFeature, it as batteryCapability, pn as memoizePinnedFfmpeg, rt as bareAddonId, s as BatteryStatusSchema, vr as DeviceType, yr as errMsg } from "../../dist-CYcBqnXk.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-CCH3XPqO.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 { Ht as filesystemBrowseCapability, br as BaseAddon, qn as storageProviderCapability } from "../../dist-CYcBqnXk.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";
|
|
@@ -4,7 +4,7 @@ Object.defineProperties(exports, {
|
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
6
|
const require_builtins_sqlite_storage_filesystem_storage_addon = require("./filesystem-storage.addon.js");
|
|
7
|
-
const require_wal_maintenance = require("../../wal-maintenance-
|
|
7
|
+
const require_wal_maintenance = require("../../wal-maintenance-LZYd8iT-.js");
|
|
8
8
|
const require_builtins_sqlite_storage_sqlite_settings_addon = require("./sqlite-settings.addon.js");
|
|
9
9
|
//#region src/builtins/sqlite-storage/config-store.ts
|
|
10
10
|
var ConfigStore = class {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./filesystem-storage.addon.mjs";
|
|
2
|
-
import { A as SQLITE_PAGE_CACHE_CEILING_KIB, B as sqliteEngineStorm, D as SQLITE_JOURNAL_SIZE_LIMIT_BYTES, F as SQLITE_PROFILE_REPORT_FLOOR_MS, I as SQLITE_PROFILE_REPORT_INTERVAL_MS, L as SQLITE_PROFILE_TOP_N, M as sqliteMmapSizeFor, N as sqlitePageCacheKibFor, O as SQLITE_MMAP_CEILING_BYTES, P as SQLITE_ENGINE_STORM_WALL_SHARE, R as SQLITE_SLOW_CALL_MS, a as WalMaintenance, c as SqliteSettingsBackend, i as WAL_MAINTENANCE_INTERVAL_MS, j as SQLITE_PAGE_CACHE_FLOOR_KIB, k as SQLITE_MMAP_FLOOR_BYTES, n as WAL_HIGH_WATER_BYTES, r as WAL_IDLE_QUIET_MS, t as WAL_CHECKPOINT_BUSY_TIMEOUT_MS, z as SqliteOpProfiler } from "../../wal-maintenance-
|
|
2
|
+
import { A as SQLITE_PAGE_CACHE_CEILING_KIB, B as sqliteEngineStorm, D as SQLITE_JOURNAL_SIZE_LIMIT_BYTES, F as SQLITE_PROFILE_REPORT_FLOOR_MS, I as SQLITE_PROFILE_REPORT_INTERVAL_MS, L as SQLITE_PROFILE_TOP_N, M as sqliteMmapSizeFor, N as sqlitePageCacheKibFor, O as SQLITE_MMAP_CEILING_BYTES, P as SQLITE_ENGINE_STORM_WALL_SHARE, R as SQLITE_SLOW_CALL_MS, a as WalMaintenance, c as SqliteSettingsBackend, i as WAL_MAINTENANCE_INTERVAL_MS, j as SQLITE_PAGE_CACHE_FLOOR_KIB, k as SQLITE_MMAP_FLOOR_BYTES, n as WAL_HIGH_WATER_BYTES, r as WAL_IDLE_QUIET_MS, t as WAL_CHECKPOINT_BUSY_TIMEOUT_MS, z as SqliteOpProfiler } from "../../wal-maintenance-DgLLPK14.mjs";
|
|
3
3
|
import { SqliteSettingsAddon } from "./sqlite-settings.addon.mjs";
|
|
4
4
|
//#region src/builtins/sqlite-storage/config-store.ts
|
|
5
5
|
var ConfigStore = class {
|
|
@@ -3,9 +3,9 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
7
|
-
const require_retired_settings_keys = require("../../retired-settings-keys-
|
|
8
|
-
const require_wal_maintenance = require("../../wal-maintenance-
|
|
6
|
+
const require_dist = require("../../dist-CCH3XPqO.js");
|
|
7
|
+
const require_retired_settings_keys = require("../../retired-settings-keys-CEiCaI_j.js");
|
|
8
|
+
const require_wal_maintenance = require("../../wal-maintenance-LZYd8iT-.js");
|
|
9
9
|
const require_sqlite_snapshot_protocol = require("../../sqlite-snapshot-protocol-B9OndqZv.js");
|
|
10
10
|
const require_wal_checkpoint_policy = require("../../wal-checkpoint-policy-d2z2qPqx.js");
|
|
11
11
|
let node_fs_promises = require("node:fs/promises");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as retiredKeyStoreOf, t as purgeRetiredSettingsKeys } from "../../retired-settings-keys-
|
|
3
|
-
import { C as callControl, E as controlTargetOf, S as trustResult, T as callVector, _ as collectTransferables, a as WalMaintenance, c as SqliteSettingsBackend, d as CrossDatabaseTransactError, f as DatabaseBusyError, m as rehydrateError, o as createVectorIndex, p as DuplicatePlacementError, s as vectorProviderOf, u as CollectionPlacementError, v as isFileHostMessage, w as callData } from "../../wal-maintenance-
|
|
1
|
+
import { Ct as databaseSnapshotCapability, St as dataStoreProviderCapability, Tr as RUNTIME_DEFAULTS, _ as DATABASE_SNAPSHOT_PARTIAL_SUFFIX, b as DATA_STORE_DATABASES, br as BaseAddon, nr as vectorStoreCapability, rt as bareAddonId, v as DATABASE_SNAPSHOT_SUFFIX, y as DATABASE_SNAPSHOT_TIMEOUT_MS, yr as errMsg } from "../../dist-CYcBqnXk.mjs";
|
|
2
|
+
import { r as retiredKeyStoreOf, t as purgeRetiredSettingsKeys } from "../../retired-settings-keys-CyDdyjLP.mjs";
|
|
3
|
+
import { C as callControl, E as controlTargetOf, S as trustResult, T as callVector, _ as collectTransferables, a as WalMaintenance, c as SqliteSettingsBackend, d as CrossDatabaseTransactError, f as DatabaseBusyError, m as rehydrateError, o as createVectorIndex, p as DuplicatePlacementError, s as vectorProviderOf, u as CollectionPlacementError, v as isFileHostMessage, w as callData } from "../../wal-maintenance-DgLLPK14.mjs";
|
|
4
4
|
import { r as isSnapshotWorkerMessage } from "../../sqlite-snapshot-protocol-2QaTouWV.mjs";
|
|
5
5
|
import { a as isWorkerMessage, t as WAL_CHECKPOINT_LARGE_PASS_FRAMES } from "../../wal-checkpoint-policy-BahrTtyD.mjs";
|
|
6
6
|
import { createRequire } from "node:module";
|
|
@@ -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-CCH3XPqO.js");
|
|
7
7
|
let zod = require("zod");
|
|
8
8
|
let node_crypto = require("node:crypto");
|
|
9
9
|
let _camstack_types_node = require("@camstack/types/node");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $r as parseJsonObject, Gn as storageMigrationCapability, I as LegacyStorageLocationDefaultSchema, J as StorageLocationTypeSchema, Jr as isSecretMarker, K as StorageCleanupJobSchema, Kt as gbToBytes, Pn as resolveLocationMode, Pr as collectSecretConfigKeys, Rt as evictionPolicyOfLocation, Vn as settingsStoreCapability, Wn as storageCapability, Y as StorageMigrationJobSchema, Zt as isLocationEnabled, br as BaseAddon, di as transformSecretWrite, dn as mayReadLocation, fi as EventCategory, fn as mayWriteToLocation, hn as modeMayWrite, ii as resolveSecretMarkers, in as legacyModeOf, oi as secretTreeFromPaths, q as StorageLocationModeSchema, rr as withLocationMode, wr as REDACTED_SECRET } from "../../dist-CYcBqnXk.mjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
4
|
import { containsOrEquals, physicalRootOf } from "@camstack/types/node";
|