@camstack/system 1.2.461 → 1.2.463
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 +21 -276
- package/dist/addon-runner.mjs +21 -276
- package/dist/{agent-https-Iw3RSQup.mjs → agent-https-B9gbXoJI.mjs} +1 -1
- package/dist/{agent-https-Dnr_nIVx.js → agent-https-DhFIbEwN.js} +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.d.ts +1 -3
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +51 -502
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +51 -502
- package/dist/builtins/backup-orchestrator/destination-policy.d.ts +5 -21
- package/dist/builtins/backup-orchestrator/record-kinds.d.ts +0 -2
- package/dist/builtins/backup-orchestrator/schedule-store.d.ts +5 -13
- package/dist/builtins/backup-orchestrator/seed-marker-store.d.ts +9 -19
- 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/cluster-agent/record-kinds.d.ts +0 -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-history/device-history.addon.js +1 -1
- package/dist/builtins/device-history/device-history.addon.mjs +1 -1
- 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/auth-schema.d.ts +2 -12
- package/dist/builtins/local-auth/local-auth.addon.js +52 -191
- package/dist/builtins/local-auth/local-auth.addon.mjs +52 -191
- package/dist/builtins/local-auth/oauth-session-manager.d.ts +13 -4
- package/dist/builtins/local-auth/record-kinds.d.ts +1 -1
- 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/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/record-entries/index.js +1 -1
- package/dist/builtins/record-entries/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/file-host-protocol.d.ts +0 -9
- 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/owned-sqlite-file.d.ts +0 -8
- package/dist/builtins/sqlite-storage/records/records-sql.d.ts +0 -2
- package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +0 -28
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +1 -2
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +6 -170
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +6 -170
- package/dist/builtins/sqlite-storage/storage-admin-provider.d.ts +3 -17
- 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 +3 -3
- package/dist/builtins/system-config/system-config.addon.mjs +3 -3
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{composition-sources-DNRZWR1j.mjs → composition-sources-CGtooHSL.mjs} +1 -1
- package/dist/{composition-sources-b0e_2I-D.js → composition-sources-oXvmbMHX.js} +1 -1
- package/dist/{constants-6OeJiZgi.js → constants-5mrGZxwS.js} +1 -1
- package/dist/{constants-BnkOdj9Q.mjs → constants-CdutnpL9.mjs} +1 -1
- package/dist/{device-ca-CPTDs--d.js → device-ca-B3xUzps7.js} +1 -1
- package/dist/{device-ca-Bnkw8GyU.mjs → device-ca-DZHKlZlD.mjs} +1 -1
- package/dist/{dist-Wy8cTxg6.mjs → dist-C2OBCa-A.mjs} +40 -80
- package/dist/{dist-Bn-RNanh.js → dist-D9aw_d0G.js} +39 -91
- package/dist/file-host-worker.js +1 -1
- package/dist/file-host-worker.mjs +1 -1
- package/dist/{hub-mdns-ciao-CJu0nhla.mjs → hub-mdns-ciao-Bm09NrMS.mjs} +2 -2
- package/dist/{hub-mdns-ciao-CTBTlia4.js → hub-mdns-ciao-CFlhVKK6.js} +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +88 -240
- package/dist/index.mjs +89 -236
- package/dist/kernel/index.d.ts +0 -1
- package/dist/kernel/moleculer/runner-addon-settings.d.ts +1 -6
- package/dist/kernel/moleculer/runner-device-settings.d.ts +2 -2
- package/dist/{restore-archive-DM1OBYq4.js → restore-archive-6zkRREHO.js} +1 -1
- package/dist/{restore-archive-CM23Pq9B.mjs → restore-archive-CSOR_tyN.mjs} +1 -1
- package/dist/{retired-settings-keys-D_VwZiDt.js → retired-settings-keys-CGUqX-Oz.js} +0 -6
- package/dist/{retired-settings-keys-Bhwe4ymb.mjs → retired-settings-keys-C_Kjp-Bj.mjs} +1 -1
- package/dist/{wal-maintenance-Bj_MmDkr.mjs → wal-maintenance-Dg6IzSgz.mjs} +0 -0
- package/dist/{wal-maintenance-CaJjuLHq.js → wal-maintenance-jXcOxm2T.js} +0 -0
- package/package.json +1 -1
- package/dist/builtins/sqlite-storage/retired-collections.d.ts +0 -146
- package/dist/kernel/legacy-blob-guard.d.ts +0 -63
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i as __require } from "./chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { $r as errMsg$1, Ar as supportedRuntimes, Bi as createEvent$1, Ca as EventCategory$1, Cn as isCollectionArrayMethod, Dn as isObjectInput, J as METHOD_ACCESS_MAP, Jn as objectInputDeclaresAddonId, K as LOG_LEVEL_RANK, Ki as expandCapMethods, Mi as asNumber, Ni as asString$1, On as isVoidInput, Pn as lifecycleJobSchema, Rn as logLevelAtMost, Sa as withoutCallerStamp, Sn as isArrayOutputSchema, Sr as splitTranslationRef, Ui as defineRecordKinds, Wi as emitDownForOwnedCaps, Yn as objectInputDeclaresRequiredDeviceId, ai as DEVICE_STATUS_METHOD, bi as ReadinessRegistry, ca as parseJsonUnknown, d as CATALOG_LANGS, er as procedureAuthKey, fa as resolveCapMount, fn as extractNestedAddonId, fr as resolveMethodAuth, gr as scopesAllowDeviceCap, hr as scopesAllowAddon, ii as DEVICE_SETTINGS_CONTRIBUTION_METHODS, ji as asJsonObject$1, kn as kebabToCamel$1, ma as scopeKey, n as AGENT_MDNS_TXT_KEYS, ni as CALLER_STAMPED_CAPABILITIES$1, r as ALL_CAPABILITY_DEFINITIONS, ri as DATAPLANE_SECRET_HEADER$1, sa as parseJsonObject, t as AGENT_MDNS_SERVICE_TYPE, ua as readinessKey, v as CatalogFileSchema, vn as interpolate, vt as addonSettingsCapability, xa as userError, xi as ReadinessTimeoutError, yi as RUNTIME_DEFAULTS, zn as looseSchema } from "./dist-C2OBCa-A.mjs";
|
|
3
3
|
import { t as require_read_all_rows } from "./read-all-rows-TaPqdWNF.mjs";
|
|
4
|
-
import { d as JWT_SIGNING_KEY_REF, f as JwtSigningKeyUnavailableError, g as processJwtSigningKey, i as generateDeviceCa, l as verifyDeviceLeaf, m as getProcessJwtSigningKeyState, n as DEVICE_CA_KEY_REF, o as issueDeviceLeaf, p as SYSTEM_SECRET_OWNER, s as loadDeviceCa, u as verifyDeviceSignature, v as staticJwtSigningKey } from "./device-ca-
|
|
4
|
+
import { d as JWT_SIGNING_KEY_REF, f as JwtSigningKeyUnavailableError, g as processJwtSigningKey, i as generateDeviceCa, l as verifyDeviceLeaf, m as getProcessJwtSigningKeyState, n as DEVICE_CA_KEY_REF, o as issueDeviceLeaf, p as SYSTEM_SECRET_OWNER, s as loadDeviceCa, u as verifyDeviceSignature, v as staticJwtSigningKey } from "./device-ca-DZHKlZlD.mjs";
|
|
5
5
|
import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
|
|
6
6
|
import "./builtins/alerts/index.mjs";
|
|
7
7
|
import { CalendarsAddon } from "./builtins/calendars/calendars.addon.mjs";
|
|
@@ -10,11 +10,9 @@ import { ComposerAddon } from "./builtins/composer/composer.addon.mjs";
|
|
|
10
10
|
import "./builtins/composer/index.mjs";
|
|
11
11
|
import { t as formatLogLine } from "./formatter-B7qW8bPJ.mjs";
|
|
12
12
|
import { ConsoleDestination, ConsoleLoggingAddon } from "./builtins/console-logging/index.mjs";
|
|
13
|
-
import { t as prefixRange } from "./prefix-range-Dl0znowN.mjs";
|
|
14
13
|
import { t as loadPrefixed } from "./prefix-walk-DAOBSyH1.mjs";
|
|
15
14
|
import { CoreBlocksAddon, o as createAddonSettingsStore } from "./builtins/core-blocks/core-blocks.addon.mjs";
|
|
16
15
|
import "./builtins/core-blocks/index.mjs";
|
|
17
|
-
import { t as RETIRED_SETTINGS_KEYS } from "./retired-settings-keys-Bhwe4ymb.mjs";
|
|
18
16
|
import { DeviceManagerAddon, n as readDeviceOrThrow, r as setWrapperActive, t as createDeviceSettingsStore } from "./builtins/device-manager/device-manager.addon.mjs";
|
|
19
17
|
import "./builtins/device-manager/index.mjs";
|
|
20
18
|
import { HubForwarderAddon, HubForwarderDestination } from "./builtins/hub-forwarder/index.mjs";
|
|
@@ -27,21 +25,21 @@ import { LokiDestination, LokiLoggingAddon } from "./builtins/loki-logging/index
|
|
|
27
25
|
import NativeMetricsAddon, { a as NativeMetricsProvider, n as nodeProcReader, r as parseProcStat } from "./builtins/native-metrics/native-metrics.addon.mjs";
|
|
28
26
|
import { DeviceHistoryAddon } from "./builtins/device-history/device-history.addon.mjs";
|
|
29
27
|
import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./builtins/sqlite-storage/filesystem-storage.addon.mjs";
|
|
30
|
-
import { C as RecordsEngine, l as SqliteSettingsBackend } from "./wal-maintenance-
|
|
28
|
+
import { C as RecordsEngine, l as SqliteSettingsBackend } from "./wal-maintenance-Dg6IzSgz.mjs";
|
|
31
29
|
import { SqliteSettingsAddon } from "./builtins/sqlite-storage/sqlite-settings.addon.mjs";
|
|
32
30
|
import { ConfigStore, DeviceStore } from "./builtins/sqlite-storage/index.mjs";
|
|
33
31
|
import { StorageOrchestratorAddon, a as stripForwardedCaller, i as createHubCapForwardService, l as STORAGE_DRAIN_STATE_LEGACY, n as HUB_CAP_FWD_ACTION, o as buildStorageLocationRegistry, r as HUB_CAP_FWD_SERVICE, t as StorageOrchestratorService, u as storageOrchestratorRecordKinds } from "./builtins/storage-orchestrator/storage-orchestrator.addon.mjs";
|
|
34
32
|
import "./builtins/storage-orchestrator/index.mjs";
|
|
35
|
-
import { A as buildNameConstraintSet, B as setProcessAgentHttpsNames, C as LEAF_RENEWAL_WINDOW_DAYS, E as evaluateExistingCert, F as readNameConstraints, I as AGENT_HTTPS_NAMES_COLLECTION, L as AGENT_HTTPS_NAMES_COLUMNS, M as isLocalOnlyHostname, N as permitsIdentity, O as PERMITTED_DNS_SUFFIXES, P as permitsName, R as AgentHttpsNames, S as CA_VALIDITY_DAYS, T as SERVER_AUTH_OID, a as collectAgentNames, b as collectCertIdentity, c as installAgentHttps, d as issueAgentHttpsLeaf, f as loadAgentHttps, h as CA_COMMON_NAME, i as certificateNames, j as isConstrainedCa, k as PERMITTED_IP_RANGES, l as isContainerBridgeAddress, m as pinnedHttpsCaFingerprint, n as acceptAgentSans, o as createAgentHttpsRequest, p as pemDigest, r as agentHttpsPaths, s as describeHttpsLeaf, t as AgentHttpsInstallError, u as isPrivateAddress, w as MAX_LEAF_VALIDITY_DAYS, x as systemHostFacts, y as localCaCommonName, z as getProcessAgentHttpsNames } from "./agent-https-
|
|
36
|
-
import { a as MESH_CA_KEY_REF, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY } from "./constants-
|
|
33
|
+
import { A as buildNameConstraintSet, B as setProcessAgentHttpsNames, C as LEAF_RENEWAL_WINDOW_DAYS, E as evaluateExistingCert, F as readNameConstraints, I as AGENT_HTTPS_NAMES_COLLECTION, L as AGENT_HTTPS_NAMES_COLUMNS, M as isLocalOnlyHostname, N as permitsIdentity, O as PERMITTED_DNS_SUFFIXES, P as permitsName, R as AgentHttpsNames, S as CA_VALIDITY_DAYS, T as SERVER_AUTH_OID, a as collectAgentNames, b as collectCertIdentity, c as installAgentHttps, d as issueAgentHttpsLeaf, f as loadAgentHttps, h as CA_COMMON_NAME, i as certificateNames, j as isConstrainedCa, k as PERMITTED_IP_RANGES, l as isContainerBridgeAddress, m as pinnedHttpsCaFingerprint, n as acceptAgentSans, o as createAgentHttpsRequest, p as pemDigest, r as agentHttpsPaths, s as describeHttpsLeaf, t as AgentHttpsInstallError, u as isPrivateAddress, w as MAX_LEAF_VALIDITY_DAYS, x as systemHostFacts, y as localCaCommonName, z as getProcessAgentHttpsNames } from "./agent-https-B9gbXoJI.mjs";
|
|
34
|
+
import { a as MESH_CA_KEY_REF, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY } from "./constants-CdutnpL9.mjs";
|
|
37
35
|
import { $ as generateMeshKeyPair, A as setProcessMeshPeerTransportLookup, B as describeMeshLeaf, C as setProcessMeshTlsEnabler, D as getProcessPeerLeaf, E as getProcessNodeMeshTransport, F as setProcessMeshTlsListenerState, G as MeshCaKeeper, H as setProcessMeshCertificateRegistry, I as MESH_NODE_CERTIFICATES_COLLECTION, J as caFingerprint, K as getProcessMeshCaState, L as MESH_NODE_CERTIFICATES_COLUMNS, M as revokeMeshCertificate, N as getProcessMeshTlsListenerState, O as isProcessVerifiedMeshPeer, P as openMeshTlsWhenRevocationsLoaded, Q as generateMeshCa, R as MeshCertificateRegistry, S as ServiceBroker, SystemConfigAddon, T as emitProcessNodeRegistered, U as MeshCrl, V as getProcessMeshCertificateRegistry, W as processMeshCrl, X as createMeshCsrPem, Y as caFingerprintCompact, Z as exportMeshPrivateKeyPem, _ as signPairingProof, _t as readCidrSetting, a as hubHostFromMeshAddress, at as AGENT_UI_UNLOCK_TTL_MS, b as TlsTcpTransporter, c as PAIRING_MAX_SESSIONS, ct as AGENT_UI_UNLOCK_VERSION, d as PAIRING_PROTOCOL, dt as mintAgentUiUnlockTicket, et as isValidAgentNodeId, f as PAIRING_TTL_MS, ft as parseAgentDashboardOrigins, g as keyFingerprintShort, gt as parseCidrList, h as describeCsr, ht as normalizeIp, i as AgentPairing, it as AGENT_DASHBOARD_ORIGINS_FIELD, j as renewMeshCertificate, k as onProcessNodeRegistered, l as PAIRING_PATHS, lt as UnlockTicketJtiStore, m as computePairingSas, mt as createCidrMatcher, n as HubPairing, nt as issueMeshLeafFromCsr, o as PAIRING_CODE_DIGITS, ot as AGENT_UI_UNLOCK_TYP, p as computePairingCommitment, pt as verifyAgentUiUnlockTicket, q as requireProcessMeshCa, r as PairingHttpError, rt as loadMeshCa, s as PAIRING_MAX_CODE_ATTEMPTS, st as AGENT_UI_UNLOCK_USE, tt as issueMeshLeafForNode, u as PAIRING_PIN_DIGITS, ut as isAllowedAgentDashboardReturnTo, v as verifyPairingProof, w as dropProcessPeer, x as Errors, y as MESH_TLS_PORT_HELLO_FIELD, z as RENEWAL_ABANDONED } from "./builtins/system-config/system-config.addon.mjs";
|
|
38
36
|
import "./builtins/system-config/index.mjs";
|
|
39
37
|
import { WinstonDestination, WinstonLoggingAddon } from "./builtins/winston-logging/index.mjs";
|
|
40
38
|
import { C as isModelDownloaded, T as revisionWeightUrl, _ as downloadFile, a as startEventLoopStallMonitor, b as fetchJson, c as createAuthenticatedFileServer, d as resolveFilePath, f as ModelDownloadService, g as deleteModelFromDisk, h as collectModelFiles, i as attributeStall, l as parseRangeHeader, m as adoptModelRevisions, n as STALL_REPORT_MS, o as createFileDataPlaneHandler, r as STALL_TICK_MS, s as contentTypeFor, t as CustomActionRegistry, u as parseTokenizedUrl, v as downloadModel, w as resolveFormatRevision, x as getModelFilePath, y as ensureModel } from "./custom-action-registry-DZSCLBuT.mjs";
|
|
41
|
-
import { A as allFamiliesListenHost, C as caReplacementMarkerFile, D as replaceUnconstrainedLocalCa, E as reissueTlsLeaf, F as registerLanHttpHandler, M as bindPendingLanHttp, N as closeLanHttp, O as retirePreviousLocalCa, P as readLanHttpState, S as validateUploadedTls, T as loadTlsCert, _ as splitPemCertificates, a as storeUploadedCertificate, b as chainsToPublicRoot, c as leafFingerprintOf, d as servedHttpsLeafFingerprint, f as prepareBootTls, g as readTlsMode, h as readTlsAccessStatus, i as revertToGeneratedCertificate, j as applyLanHttp, k as DEFAULT_LAN_HTTP_PORT, l as registerHttpsListener, m as readExtraSans, n as applyCertificateToListener, o as useStoredUploadedCertificate, p as UPLOADED_CA_FILE, r as regenerateCertificate, s as clearHttpsListener, t as createCiaoPublisher, u as reloadHttpsListener, v as writeExtraSans, w as ensureTlsCert, x as checkUploadedCa, y as writeTlsMode } from "./hub-mdns-ciao-
|
|
39
|
+
import { A as allFamiliesListenHost, C as caReplacementMarkerFile, D as replaceUnconstrainedLocalCa, E as reissueTlsLeaf, F as registerLanHttpHandler, M as bindPendingLanHttp, N as closeLanHttp, O as retirePreviousLocalCa, P as readLanHttpState, S as validateUploadedTls, T as loadTlsCert, _ as splitPemCertificates, a as storeUploadedCertificate, b as chainsToPublicRoot, c as leafFingerprintOf, d as servedHttpsLeafFingerprint, f as prepareBootTls, g as readTlsMode, h as readTlsAccessStatus, i as revertToGeneratedCertificate, j as applyLanHttp, k as DEFAULT_LAN_HTTP_PORT, l as registerHttpsListener, m as readExtraSans, n as applyCertificateToListener, o as useStoredUploadedCertificate, p as UPLOADED_CA_FILE, r as regenerateCertificate, s as clearHttpsListener, t as createCiaoPublisher, u as reloadHttpsListener, v as writeExtraSans, w as ensureTlsCert, x as checkUploadedCa, y as writeTlsMode } from "./hub-mdns-ciao-Bm09NrMS.mjs";
|
|
42
40
|
import { n as getPlatformKeychainKey, r as setPlatformKeychainKey, t as clearPlatformKeychainKey } from "./platform-key-source-BWlq0jjn.mjs";
|
|
43
41
|
import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-Di9daRwI.mjs";
|
|
44
|
-
import { _ as backupRecordStoresOf, c as BackupDecryptError, f as generateBackupKeyPair, g as backupOrchestratorRecordKinds, h as readBackupEncryptionHeader, l as BackupKeyFormatError, r as prepareRestoreArchive, s as SystemBackupService, t as BackupKeyRequiredError, u as BackupKeyMismatchError } from "./restore-archive-
|
|
42
|
+
import { _ as backupRecordStoresOf, c as BackupDecryptError, f as generateBackupKeyPair, g as backupOrchestratorRecordKinds, h as readBackupEncryptionHeader, l as BackupKeyFormatError, r as prepareRestoreArchive, s as SystemBackupService, t as BackupKeyRequiredError, u as BackupKeyMismatchError } from "./restore-archive-CSOR_tyN.mjs";
|
|
45
43
|
import { n as nodeCoralFs, t as classifyCoralAccelerator } from "./coral-accelerators-Qhn5TOYZ.mjs";
|
|
46
44
|
import { z } from "zod";
|
|
47
45
|
import * as crypto$1 from "node:crypto";
|
|
@@ -1178,23 +1176,23 @@ function formatSocketPlane(window) {
|
|
|
1178
1176
|
}
|
|
1179
1177
|
//#endregion
|
|
1180
1178
|
//#region src/kernel/moleculer/mesh-queue-report.ts
|
|
1181
|
-
function isRecord$
|
|
1179
|
+
function isRecord$6(value) {
|
|
1182
1180
|
return typeof value === "object" && value !== null;
|
|
1183
1181
|
}
|
|
1184
1182
|
/** The shape `TcpWriter` keeps its sockets in. Anything else is not a mesh. */
|
|
1185
1183
|
function writerSocketsOf(broker) {
|
|
1186
|
-
if (!isRecord$
|
|
1184
|
+
if (!isRecord$6(broker)) return void 0;
|
|
1187
1185
|
const transit = broker["transit"];
|
|
1188
|
-
if (!isRecord$
|
|
1186
|
+
if (!isRecord$6(transit)) return void 0;
|
|
1189
1187
|
const transporter = transit["tx"];
|
|
1190
|
-
if (!isRecord$
|
|
1188
|
+
if (!isRecord$6(transporter)) return void 0;
|
|
1191
1189
|
const writer = transporter["writer"];
|
|
1192
|
-
if (!isRecord$
|
|
1190
|
+
if (!isRecord$6(writer)) return void 0;
|
|
1193
1191
|
const sockets = writer["sockets"];
|
|
1194
1192
|
return sockets instanceof Map ? sockets : void 0;
|
|
1195
1193
|
}
|
|
1196
1194
|
function readSocket(nodeId, socket) {
|
|
1197
|
-
if (typeof nodeId !== "string" || !isRecord$
|
|
1195
|
+
if (typeof nodeId !== "string" || !isRecord$6(socket)) return void 0;
|
|
1198
1196
|
const queuedBytes = socket["writableLength"];
|
|
1199
1197
|
const bytesWritten = socket["bytesWritten"];
|
|
1200
1198
|
if (typeof queuedBytes !== "number" || typeof bytesWritten !== "number") return void 0;
|
|
@@ -6085,7 +6083,6 @@ var IntegrationRegistry = class IntegrationRegistry {
|
|
|
6085
6083
|
/**
|
|
6086
6084
|
* Record kinds owned by cluster-agent (phase 4 — hub-main).
|
|
6087
6085
|
*/
|
|
6088
|
-
var CLUSTER_NODE_HISTORY_COLLECTION = "cluster-node-history";
|
|
6089
6086
|
var NodePackageEntrySchema = z.object({
|
|
6090
6087
|
name: z.string(),
|
|
6091
6088
|
version: z.string().nullable()
|
|
@@ -6547,7 +6544,7 @@ async function resolveUncached(options) {
|
|
|
6547
6544
|
}
|
|
6548
6545
|
//#endregion
|
|
6549
6546
|
//#region src/kernel/addon-class-resolver.ts
|
|
6550
|
-
function isRecord$
|
|
6547
|
+
function isRecord$5(value) {
|
|
6551
6548
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
6552
6549
|
}
|
|
6553
6550
|
/**
|
|
@@ -6571,14 +6568,14 @@ function isRecord$6(value) {
|
|
|
6571
6568
|
function isAddonConstructor(fn) {
|
|
6572
6569
|
if (typeof fn !== "function") return false;
|
|
6573
6570
|
const proto = fn.prototype;
|
|
6574
|
-
if (!isRecord$
|
|
6571
|
+
if (!isRecord$5(proto)) return false;
|
|
6575
6572
|
return typeof proto["initialize"] === "function";
|
|
6576
6573
|
}
|
|
6577
6574
|
function resolveAddonClass(mod) {
|
|
6578
6575
|
let candidate = mod["default"];
|
|
6579
|
-
if (isRecord$
|
|
6576
|
+
if (isRecord$5(candidate) && "default" in candidate) candidate = candidate["default"];
|
|
6580
6577
|
if (isAddonConstructor(candidate)) return candidate;
|
|
6581
|
-
if (isRecord$
|
|
6578
|
+
if (isRecord$5(candidate)) {
|
|
6582
6579
|
const fn = Object.values(candidate).find(isAddonConstructor);
|
|
6583
6580
|
if (fn) return fn;
|
|
6584
6581
|
}
|
|
@@ -6587,7 +6584,7 @@ function resolveAddonClass(mod) {
|
|
|
6587
6584
|
}
|
|
6588
6585
|
//#endregion
|
|
6589
6586
|
//#region src/kernel/addon-loader.ts
|
|
6590
|
-
function isRecord$
|
|
6587
|
+
function isRecord$4(value) {
|
|
6591
6588
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
6592
6589
|
}
|
|
6593
6590
|
/**
|
|
@@ -6685,12 +6682,12 @@ async function importAddonModuleFresh(entryPath) {
|
|
|
6685
6682
|
* AddonPackageManifest + AddonDeclaration.
|
|
6686
6683
|
*/
|
|
6687
6684
|
function isAddonPackageManifest(value) {
|
|
6688
|
-
if (!isRecord$
|
|
6685
|
+
if (!isRecord$4(value)) return false;
|
|
6689
6686
|
if (!Array.isArray(value.addons)) return false;
|
|
6690
|
-
return value.addons.every((a) => isRecord$
|
|
6687
|
+
return value.addons.every((a) => isRecord$4(a) && typeof a.id === "string");
|
|
6691
6688
|
}
|
|
6692
6689
|
function toAddonPackageManifest(value) {
|
|
6693
|
-
if (!isRecord$
|
|
6690
|
+
if (!isRecord$4(value)) return void 0;
|
|
6694
6691
|
if (!isAddonPackageManifest(value)) return void 0;
|
|
6695
6692
|
return value;
|
|
6696
6693
|
}
|
|
@@ -6855,7 +6852,7 @@ var AddonLoader = class {
|
|
|
6855
6852
|
}
|
|
6856
6853
|
if (!fs$1.existsSync(entryPath)) throw new Error(`Entry not found: ${entryPath}`);
|
|
6857
6854
|
const modUnknown = await importAddonModuleFresh(entryPath);
|
|
6858
|
-
const mod = isRecord$
|
|
6855
|
+
const mod = isRecord$4(modUnknown) ? modUnknown : {};
|
|
6859
6856
|
const AddonClass = resolveAddonClass(mod);
|
|
6860
6857
|
if (!AddonClass) throw new Error(`No addon class in ${entryPath}`);
|
|
6861
6858
|
this.addons.set(declaration.id, {
|
|
@@ -6871,7 +6868,7 @@ var AddonLoader = class {
|
|
|
6871
6868
|
/** Load addon from a direct path (for development/testing) */
|
|
6872
6869
|
async loadFromPath(addonId, modulePath, packageName, declaration, packageVersion = "0.0.0") {
|
|
6873
6870
|
const modUnknown = await importAddonModuleFresh(modulePath);
|
|
6874
|
-
const mod = isRecord$
|
|
6871
|
+
const mod = isRecord$4(modUnknown) ? modUnknown : {};
|
|
6875
6872
|
const AddonClass = resolveAddonClass(mod);
|
|
6876
6873
|
if (!AddonClass) throw new Error(`Module ${modulePath} has no default export`);
|
|
6877
6874
|
this.addons.set(addonId, {
|
|
@@ -11802,11 +11799,11 @@ async function runHubAddonBoot(steps) {
|
|
|
11802
11799
|
}
|
|
11803
11800
|
//#endregion
|
|
11804
11801
|
//#region src/kernel/settings-door-view.ts
|
|
11805
|
-
function isRecord$
|
|
11802
|
+
function isRecord$3(value) {
|
|
11806
11803
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
11807
11804
|
}
|
|
11808
11805
|
function asBlob(value) {
|
|
11809
|
-
return isRecord$
|
|
11806
|
+
return isRecord$3(value) ? value : {};
|
|
11810
11807
|
}
|
|
11811
11808
|
/**
|
|
11812
11809
|
* Every `system-settings` row under `prefix`, keyed by the suffix — or a throw.
|
|
@@ -14375,7 +14372,7 @@ import_js_yaml.default;
|
|
|
14375
14372
|
* so that file stays one class. The `console.*` calls are the documented
|
|
14376
14373
|
* residuals described on `ConfigManager` (no logger exists yet at boot).
|
|
14377
14374
|
*/
|
|
14378
|
-
function isRecord$
|
|
14375
|
+
function isRecord$2(value) {
|
|
14379
14376
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
14380
14377
|
}
|
|
14381
14378
|
/** Sections that live in config.yaml. Everything else goes to the settings-store. */
|
|
@@ -14466,7 +14463,7 @@ function setNested(obj, configPath, value) {
|
|
|
14466
14463
|
[head]: value
|
|
14467
14464
|
};
|
|
14468
14465
|
const existing = obj[head];
|
|
14469
|
-
const child = isRecord$
|
|
14466
|
+
const child = isRecord$2(existing) ? existing : {};
|
|
14470
14467
|
return {
|
|
14471
14468
|
...obj,
|
|
14472
14469
|
[head]: setNested(child, rest.join("."), value)
|
|
@@ -14723,7 +14720,7 @@ var SystemSettingsMirror = class {
|
|
|
14723
14720
|
};
|
|
14724
14721
|
//#endregion
|
|
14725
14722
|
//#region src/kernel/config-manager.ts
|
|
14726
|
-
function isRecord$
|
|
14723
|
+
function isRecord$1(value) {
|
|
14727
14724
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
14728
14725
|
}
|
|
14729
14726
|
function errorText(err) {
|
|
@@ -15082,7 +15079,7 @@ var ConfigManager = class {
|
|
|
15082
15079
|
const keys = configPath.split(".");
|
|
15083
15080
|
let current = this.bootstrapConfig;
|
|
15084
15081
|
for (const key of keys) {
|
|
15085
|
-
if (!isRecord$
|
|
15082
|
+
if (!isRecord$1(current)) return void 0;
|
|
15086
15083
|
current = current[key];
|
|
15087
15084
|
}
|
|
15088
15085
|
return current;
|
|
@@ -16151,7 +16148,7 @@ var RuntimeStateLoadError = class extends Error {
|
|
|
16151
16148
|
this.name = "RuntimeStateLoadError";
|
|
16152
16149
|
}
|
|
16153
16150
|
};
|
|
16154
|
-
function isRecord
|
|
16151
|
+
function isRecord(value) {
|
|
16155
16152
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
16156
16153
|
}
|
|
16157
16154
|
function errorMessage(err) {
|
|
@@ -16182,7 +16179,7 @@ async function loadRuntimeStateOrRefuse(load, logger, target) {
|
|
|
16182
16179
|
} catch (err) {
|
|
16183
16180
|
return refuse(errorMessage(err), err);
|
|
16184
16181
|
}
|
|
16185
|
-
if (!isRecord
|
|
16182
|
+
if (!isRecord(answer)) return refuse(`answered ${answer === null ? "null" : typeof answer}`);
|
|
16186
16183
|
return answer;
|
|
16187
16184
|
}
|
|
16188
16185
|
//#endregion
|
|
@@ -23338,7 +23335,7 @@ function createSectionsStore(door) {
|
|
|
23338
23335
|
//#endregion
|
|
23339
23336
|
//#region src/kernel/moleculer/runner-addon-settings.ts
|
|
23340
23337
|
/** @param client the hub's `settingsStore` client; `undefined` makes every call THROW. */
|
|
23341
|
-
function createRunnerAddonSettings(client, addonId
|
|
23338
|
+
function createRunnerAddonSettings(client, addonId) {
|
|
23342
23339
|
if (client === void 0) {
|
|
23343
23340
|
const refuse = async () => {
|
|
23344
23341
|
throw new Error(`settings of "${addonId}": settings store not wired`);
|
|
@@ -23360,22 +23357,10 @@ function createRunnerAddonSettings(client, addonId, before = async () => {}) {
|
|
|
23360
23357
|
};
|
|
23361
23358
|
}
|
|
23362
23359
|
const door = {
|
|
23363
|
-
query:
|
|
23364
|
-
|
|
23365
|
-
|
|
23366
|
-
|
|
23367
|
-
get: async (input) => {
|
|
23368
|
-
await before();
|
|
23369
|
-
return client.get.query(input);
|
|
23370
|
-
},
|
|
23371
|
-
set: async (input) => {
|
|
23372
|
-
await before();
|
|
23373
|
-
return client.set.mutate(input);
|
|
23374
|
-
},
|
|
23375
|
-
transact: async (input) => {
|
|
23376
|
-
await before();
|
|
23377
|
-
return client.transact.mutate(input);
|
|
23378
|
-
}
|
|
23360
|
+
query: (input) => client.query.query(input),
|
|
23361
|
+
get: (input) => client.get.query(input),
|
|
23362
|
+
set: (input) => client.set.mutate(input),
|
|
23363
|
+
transact: (input) => client.transact.mutate(input)
|
|
23379
23364
|
};
|
|
23380
23365
|
const store = createAddonSettingsStore(door, addonId);
|
|
23381
23366
|
const sections = createSectionsStore(door);
|
|
@@ -23416,159 +23401,6 @@ function createRunnerAddonSettings(client, addonId, before = async () => {}) {
|
|
|
23416
23401
|
};
|
|
23417
23402
|
}
|
|
23418
23403
|
//#endregion
|
|
23419
|
-
//#region src/kernel/addon-refused-error.ts
|
|
23420
|
-
/**
|
|
23421
|
-
* A deterministic Init refusal (D877): an addon that says, in a typed way,
|
|
23422
|
-
* "I will not start, and here is why" - as opposed to a crash.
|
|
23423
|
-
*
|
|
23424
|
-
* The difference matters to the supervisor. A crash may be transient (a camera
|
|
23425
|
-
* dropping mid-handshake) and is bounded by the D6 circuit-breaker; a refusal
|
|
23426
|
-
* repeats identically until somebody changes the world (runs a migration,
|
|
23427
|
-
* fixes a setting), so counting it toward the breaker only turns "waiting for
|
|
23428
|
-
* the operator" into a terminal `failed` with a stack trace nobody needed.
|
|
23429
|
-
* On 2026-10-17 twenty-eight addons refused on an unmigrated store, exited five
|
|
23430
|
-
* times in ten seconds and were marked `failed` as if they had crashed.
|
|
23431
|
-
*
|
|
23432
|
-
* The runner reports a refusal to its parent (see `runner-refusal.ts`); the
|
|
23433
|
-
* process service parks the runner in `refused` with the reason and retries it
|
|
23434
|
-
* only when an operator acts.
|
|
23435
|
-
*/
|
|
23436
|
-
var AddonRefusedError = class extends Error {
|
|
23437
|
-
/** Stable, greppable cause, e.g. `unmigrated-settings`. */
|
|
23438
|
-
code;
|
|
23439
|
-
/** What the operator does about it. */
|
|
23440
|
-
remedy;
|
|
23441
|
-
constructor(code, message, remedy, options) {
|
|
23442
|
-
super(message, options);
|
|
23443
|
-
this.name = "AddonRefusedError";
|
|
23444
|
-
this.code = code;
|
|
23445
|
-
this.remedy = remedy;
|
|
23446
|
-
}
|
|
23447
|
-
};
|
|
23448
|
-
/**
|
|
23449
|
-
* The refusal in `err`'s cause chain, if any. An addon that wraps the error it
|
|
23450
|
-
* got from the kernel (`new Error('init failed', { cause })`) is still refusing.
|
|
23451
|
-
*/
|
|
23452
|
-
function findAddonRefusal(err) {
|
|
23453
|
-
const seen = /* @__PURE__ */ new Set();
|
|
23454
|
-
let current = err;
|
|
23455
|
-
while (current !== null && current !== void 0 && !seen.has(current)) {
|
|
23456
|
-
if (current instanceof AddonRefusedError) return current;
|
|
23457
|
-
seen.add(current);
|
|
23458
|
-
current = current instanceof Error ? current.cause : void 0;
|
|
23459
|
-
}
|
|
23460
|
-
return null;
|
|
23461
|
-
}
|
|
23462
|
-
//#endregion
|
|
23463
|
-
//#region src/kernel/legacy-blob-guard.ts
|
|
23464
|
-
/** Root keys retired long before D870: they never count as "settings still to migrate". */
|
|
23465
|
-
var OWN_RETIRED_ROOT_KEYS = new Set([
|
|
23466
|
-
"recordingConfigs",
|
|
23467
|
-
"recordingExports",
|
|
23468
|
-
"recordingOpsLog",
|
|
23469
|
-
"probeSnapshots",
|
|
23470
|
-
"rtspTokens",
|
|
23471
|
-
"profileMap"
|
|
23472
|
-
]);
|
|
23473
|
-
/** Is `key` of `addonId` a root key that was retired (and must not be migrated)? */
|
|
23474
|
-
function isRetiredRootKey(addonId, key) {
|
|
23475
|
-
if (OWN_RETIRED_ROOT_KEYS.has(key)) return true;
|
|
23476
|
-
return RETIRED_SETTINGS_KEYS.some((spec) => spec.namespace === addonId && (spec.keys.includes(key) || spec.perNodeKeys.some((k) => key === k || key.startsWith(`${k}@`))));
|
|
23477
|
-
}
|
|
23478
|
-
/** Stable `code` of the D870 refusal. */
|
|
23479
|
-
var UNMIGRATED_SETTINGS_CODE = "unmigrated-settings";
|
|
23480
|
-
/** The remedy the refusal (and the update pre-flight) names. */
|
|
23481
|
-
var UNMIGRATED_SETTINGS_REMEDY = "Run scripts/hub/migrate-device-store.ts --copy --apply (D870), then restart the addon.";
|
|
23482
|
-
var UnmigratedSettingsError = class extends AddonRefusedError {
|
|
23483
|
-
constructor(addonId, what) {
|
|
23484
|
-
super(UNMIGRATED_SETTINGS_CODE, `addon "${addonId}" refuses to start: ${what} - the settings it had are still in the per-addon tables and the standard store holds none. Run scripts/hub/migrate-device-store.ts --copy --apply (D870) before starting it.`, UNMIGRATED_SETTINGS_REMEDY);
|
|
23485
|
-
this.name = "UnmigratedSettingsError";
|
|
23486
|
-
}
|
|
23487
|
-
};
|
|
23488
|
-
async function countOf(client, input) {
|
|
23489
|
-
const n = await client.count.query(input);
|
|
23490
|
-
if (typeof n !== "number") throw new Error("settings store answered a non-number to a count");
|
|
23491
|
-
return n;
|
|
23492
|
-
}
|
|
23493
|
-
var LEGACY_PAGE = 500;
|
|
23494
|
-
var LEGACY_PAGE_BUDGET = 200;
|
|
23495
|
-
var ID_TAIL = "";
|
|
23496
|
-
function isRecord(value) {
|
|
23497
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
23498
|
-
}
|
|
23499
|
-
/**
|
|
23500
|
-
* Does the addon's per-device blob table hold a row the copy would actually
|
|
23501
|
-
* migrate - a positive numeric id with a non-empty record? An addon whose rows
|
|
23502
|
-
* the copy skips anyway must not be refused for them.
|
|
23503
|
-
*/
|
|
23504
|
-
async function hasMigratableDeviceRow(client, addonId) {
|
|
23505
|
-
let cursor = "";
|
|
23506
|
-
for (let page = 0; page < LEGACY_PAGE_BUDGET; page++) {
|
|
23507
|
-
const rows = await client.query.query({
|
|
23508
|
-
namespace: addonId,
|
|
23509
|
-
collection: "addon-devices",
|
|
23510
|
-
filter: {
|
|
23511
|
-
whereBetween: { id: [cursor, ID_TAIL] },
|
|
23512
|
-
orderBy: {
|
|
23513
|
-
field: "id",
|
|
23514
|
-
direction: "asc"
|
|
23515
|
-
},
|
|
23516
|
-
limit: LEGACY_PAGE
|
|
23517
|
-
}
|
|
23518
|
-
});
|
|
23519
|
-
if (!Array.isArray(rows)) throw new Error("settings store answered a non-list to a query");
|
|
23520
|
-
let lastId = cursor;
|
|
23521
|
-
for (const row of rows) {
|
|
23522
|
-
if (!isRecord(row) || typeof row["id"] !== "string") continue;
|
|
23523
|
-
lastId = row["id"];
|
|
23524
|
-
const id = Number(row["id"]);
|
|
23525
|
-
const data = row["data"];
|
|
23526
|
-
if (Number.isInteger(id) && id > 0 && isRecord(data) && Object.keys(data).length > 0) return true;
|
|
23527
|
-
}
|
|
23528
|
-
if (rows.length < LEGACY_PAGE || lastId === cursor) return false;
|
|
23529
|
-
cursor = lastId;
|
|
23530
|
-
}
|
|
23531
|
-
throw new Error(`addon "${addonId}": more legacy blob pages than the guard will read`);
|
|
23532
|
-
}
|
|
23533
|
-
/**
|
|
23534
|
-
* THROWS when the addon has blob settings and the standard store has none of
|
|
23535
|
-
* its own. A store that cannot be asked also throws: it is not "no blobs".
|
|
23536
|
-
*/
|
|
23537
|
-
async function assertLegacyBlobsMigrated(client, addonId, logger) {
|
|
23538
|
-
const legacyDevices = await hasMigratableDeviceRow(client, addonId);
|
|
23539
|
-
const root = await client.get.query({
|
|
23540
|
-
namespace: addonId,
|
|
23541
|
-
collection: "addon-settings",
|
|
23542
|
-
key: "root"
|
|
23543
|
-
});
|
|
23544
|
-
const legacySettings = isRecord(root) && Object.keys(root).some((key) => !isRetiredRootKey(addonId, key));
|
|
23545
|
-
if (!legacyDevices && !legacySettings) return;
|
|
23546
|
-
const rangeOf = (prefix) => {
|
|
23547
|
-
const range = prefixRange(prefix);
|
|
23548
|
-
if (range === null) throw new Error(`no id range for addon "${addonId}"`);
|
|
23549
|
-
return { whereBetween: { id: [range.lo, range.hi] } };
|
|
23550
|
-
};
|
|
23551
|
-
const newDevices = await countOf(client, {
|
|
23552
|
-
collection: "addon-device-settings",
|
|
23553
|
-
filter: rangeOf(`${addonId}:`)
|
|
23554
|
-
});
|
|
23555
|
-
const newSettings = await countOf(client, {
|
|
23556
|
-
collection: "addon-settings",
|
|
23557
|
-
filter: rangeOf(`${addonId}.`)
|
|
23558
|
-
});
|
|
23559
|
-
const problems = [];
|
|
23560
|
-
if (legacyDevices && newDevices === 0) problems.push("per-device blobs");
|
|
23561
|
-
if (legacySettings && newSettings === 0) problems.push("an addon settings blob");
|
|
23562
|
-
if (problems.length === 0) return;
|
|
23563
|
-
const error = new UnmigratedSettingsError(addonId, problems.join(" and "));
|
|
23564
|
-
logger.error(error.message, { meta: {
|
|
23565
|
-
addonId,
|
|
23566
|
-
newDevices,
|
|
23567
|
-
newSettings
|
|
23568
|
-
} });
|
|
23569
|
-
throw error;
|
|
23570
|
-
}
|
|
23571
|
-
//#endregion
|
|
23572
23404
|
//#region src/kernel/moleculer/runner-device-settings.ts
|
|
23573
23405
|
/**
|
|
23574
23406
|
* The forked runner's `ctx.settings` device methods (D870).
|
|
@@ -23581,20 +23413,11 @@ async function assertLegacyBlobsMigrated(client, addonId, logger) {
|
|
|
23581
23413
|
* blob per device; a hub-side write to the rows was invisible to it.
|
|
23582
23414
|
*/
|
|
23583
23415
|
/** The door slice the per-device store needs, over a tRPC client. */
|
|
23584
|
-
function doorOverClient(client
|
|
23416
|
+
function doorOverClient(client) {
|
|
23585
23417
|
return {
|
|
23586
|
-
query:
|
|
23587
|
-
|
|
23588
|
-
|
|
23589
|
-
},
|
|
23590
|
-
transact: async (input) => {
|
|
23591
|
-
await before();
|
|
23592
|
-
return client.transact.mutate(input);
|
|
23593
|
-
},
|
|
23594
|
-
deleteWhere: async (input) => {
|
|
23595
|
-
await before();
|
|
23596
|
-
return client.deleteWhere.mutate(input);
|
|
23597
|
-
}
|
|
23418
|
+
query: (input) => client.query.query(input),
|
|
23419
|
+
transact: (input) => client.transact.mutate(input),
|
|
23420
|
+
deleteWhere: (input) => client.deleteWhere.mutate(input)
|
|
23598
23421
|
};
|
|
23599
23422
|
}
|
|
23600
23423
|
/**
|
|
@@ -23602,7 +23425,7 @@ function doorOverClient(client, before = async () => {}) {
|
|
|
23602
23425
|
* runner has none — every call then THROWS: a store that could not be asked
|
|
23603
23426
|
* is not an empty one.
|
|
23604
23427
|
*/
|
|
23605
|
-
function createRunnerDeviceSettings(client, addonId
|
|
23428
|
+
function createRunnerDeviceSettings(client, addonId) {
|
|
23606
23429
|
if (client === void 0) {
|
|
23607
23430
|
const refuse = () => {
|
|
23608
23431
|
throw new Error(`device settings of "${addonId}": settings store not wired`);
|
|
@@ -23615,7 +23438,7 @@ function createRunnerDeviceSettings(client, addonId, before = async () => {}) {
|
|
|
23615
23438
|
clearDeviceStore: async () => refuse()
|
|
23616
23439
|
};
|
|
23617
23440
|
}
|
|
23618
|
-
const store = createDeviceSettingsStore(doorOverClient(client
|
|
23441
|
+
const store = createDeviceSettingsStore(doorOverClient(client), addonId);
|
|
23619
23442
|
return {
|
|
23620
23443
|
readDeviceStore: (deviceId) => readDeviceOrThrow(store, deviceId),
|
|
23621
23444
|
readDeviceStoreBatch: (ids) => store.readBatch(ids),
|
|
@@ -23914,23 +23737,9 @@ async function buildAddonContext(runtime, declaration, dataDir, options) {
|
|
|
23914
23737
|
}
|
|
23915
23738
|
};
|
|
23916
23739
|
const deviceSettingsClient = Reflect.get(api, "settingsStore");
|
|
23917
|
-
let blobsChecked = null;
|
|
23918
|
-
const bootGuard = () => {
|
|
23919
|
-
const client = deviceSettingsClient;
|
|
23920
|
-
if (client === void 0) return Promise.resolve();
|
|
23921
|
-
blobsChecked ??= assertLegacyBlobsMigrated({
|
|
23922
|
-
get: { query: (input) => client.get.query(input) },
|
|
23923
|
-
query: { query: (input) => client.query.query(input) },
|
|
23924
|
-
count: { query: (input) => client.count.query(input) }
|
|
23925
|
-
}, addonId, scopedLogger).catch((err) => {
|
|
23926
|
-
blobsChecked = null;
|
|
23927
|
-
throw err;
|
|
23928
|
-
});
|
|
23929
|
-
return blobsChecked;
|
|
23930
|
-
};
|
|
23931
23740
|
const settingsView = {
|
|
23932
|
-
...createRunnerAddonSettings(deviceSettingsClient, addonId
|
|
23933
|
-
...createRunnerDeviceSettings(deviceSettingsClient, addonId
|
|
23741
|
+
...createRunnerAddonSettings(deviceSettingsClient, addonId),
|
|
23742
|
+
...createRunnerDeviceSettings(deviceSettingsClient, addonId),
|
|
23934
23743
|
async readDeviceRuntimeState(deviceId) {
|
|
23935
23744
|
return readBlob("device-runtime-state", String(deviceId));
|
|
23936
23745
|
},
|
|
@@ -26604,6 +26413,50 @@ function createProcessService(parentNodeId, dataDir, deps, parentTcpPort, parent
|
|
|
26604
26413
|
};
|
|
26605
26414
|
}
|
|
26606
26415
|
//#endregion
|
|
26416
|
+
//#region src/kernel/addon-refused-error.ts
|
|
26417
|
+
/**
|
|
26418
|
+
* A deterministic Init refusal (D877): an addon that says, in a typed way,
|
|
26419
|
+
* "I will not start, and here is why" - as opposed to a crash.
|
|
26420
|
+
*
|
|
26421
|
+
* The difference matters to the supervisor. A crash may be transient (a camera
|
|
26422
|
+
* dropping mid-handshake) and is bounded by the D6 circuit-breaker; a refusal
|
|
26423
|
+
* repeats identically until somebody changes the world (runs a migration,
|
|
26424
|
+
* fixes a setting), so counting it toward the breaker only turns "waiting for
|
|
26425
|
+
* the operator" into a terminal `failed` with a stack trace nobody needed.
|
|
26426
|
+
* On 2026-10-17 twenty-eight addons refused on an unmigrated store, exited five
|
|
26427
|
+
* times in ten seconds and were marked `failed` as if they had crashed.
|
|
26428
|
+
*
|
|
26429
|
+
* The runner reports a refusal to its parent (see `runner-refusal.ts`); the
|
|
26430
|
+
* process service parks the runner in `refused` with the reason and retries it
|
|
26431
|
+
* only when an operator acts.
|
|
26432
|
+
*/
|
|
26433
|
+
var AddonRefusedError = class extends Error {
|
|
26434
|
+
/** Stable, greppable cause, e.g. `unmigrated-settings`. */
|
|
26435
|
+
code;
|
|
26436
|
+
/** What the operator does about it. */
|
|
26437
|
+
remedy;
|
|
26438
|
+
constructor(code, message, remedy, options) {
|
|
26439
|
+
super(message, options);
|
|
26440
|
+
this.name = "AddonRefusedError";
|
|
26441
|
+
this.code = code;
|
|
26442
|
+
this.remedy = remedy;
|
|
26443
|
+
}
|
|
26444
|
+
};
|
|
26445
|
+
/**
|
|
26446
|
+
* The refusal in `err`'s cause chain, if any. An addon that wraps the error it
|
|
26447
|
+
* got from the kernel (`new Error('init failed', { cause })`) is still refusing.
|
|
26448
|
+
*/
|
|
26449
|
+
function findAddonRefusal(err) {
|
|
26450
|
+
const seen = /* @__PURE__ */ new Set();
|
|
26451
|
+
let current = err;
|
|
26452
|
+
while (current !== null && current !== void 0 && !seen.has(current)) {
|
|
26453
|
+
if (current instanceof AddonRefusedError) return current;
|
|
26454
|
+
seen.add(current);
|
|
26455
|
+
current = current instanceof Error ? current.cause : void 0;
|
|
26456
|
+
}
|
|
26457
|
+
return null;
|
|
26458
|
+
}
|
|
26459
|
+
//#endregion
|
|
26607
26460
|
//#region src/kernel/moleculer/process-context.ts
|
|
26608
26461
|
function createScopedProcessManager(broker, addonId) {
|
|
26609
26462
|
return {
|
|
@@ -27687,4 +27540,4 @@ function resetCatalogRegistryForTests() {
|
|
|
27687
27540
|
}
|
|
27688
27541
|
//#endregion
|
|
27689
27542
|
var readAllRows = import_read_all_rows.readAllRows;
|
|
27690
|
-
export { AGENT_CAP_FWD_ACTION, AGENT_CAP_FWD_SERVICE, AGENT_DASHBOARD_ORIGINS_FIELD, AGENT_HTTPS_NAMES_COLLECTION, AGENT_HTTPS_NAMES_COLUMNS, AGENT_READINESS_SERVICE_NAME, AGENT_UI_UNLOCK_TTL_MS, AGENT_UI_UNLOCK_TYP, AGENT_UI_UNLOCK_USE, AGENT_UI_UNLOCK_VERSION, ALL_CAPABILITY_DEFINITIONS, ARRAY_BUFFER_CENSUS_COOLDOWN_MS, ARRAY_BUFFER_CENSUS_SUSTAIN_MS, ARRAY_BUFFER_CENSUS_THRESHOLD_MB, ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO, AddonApiFactory, AddonDepsManager, AddonEngineManager, AddonHealthMonitor, AddonInstaller, AddonLoader, AddonManifest, AddonRefusedError, AddonRouteRegistry, AgentHttpsInstallError, AgentHttpsNames, AgentMdnsAdvertiser, AgentMeshIdentityGate, AgentPairing, AlertCenterAddon, ApiKeyManager, AuthAuditLog, AuthManager, BackupDecryptError, BackupKeyFormatError, BackupKeyMismatchError, BackupKeyRequiredError, CAP_ACTION_OVERFLOW_LABEL, CAP_ACTION_UNLABELLED, CAP_METHOD_NOT_IMPLEMENTED, CA_COMMON_NAME, CA_VALIDITY_DAYS, CLUSTER_NODE_HISTORY_COLLECTION, CORE_CAP_SERVICE_NAME, CalendarsAddon, CapRouteError, CapRouteResolver, CapUsageRegistry, CapabilityHandle, CapabilityRegistry, CapabilityUnavailableError, CatalogRegistry, ClusterNodeHistoryBodySchema, ComposerAddon, ConfigManager, ConfigStore, ConsoleDestination, ConsoleLoggingAddon, CoreBlocksAddon, CustomActionRegistry, DECISIVE_HEAP_SPACES, DEFAULT_DATA_PATH, DEFAULT_HUB_TLS_TCP_PORT, DEFAULT_LAN_HTTP_PORT, DEFAULT_LOG_LEVEL, DEVICE_CA_KEY_REF, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DataPlaneRegistry, DeviceCaStore, DeviceCredentialManager, DeviceHistoryAddon, DeviceManagerAddon, DeviceRegistry, DeviceStore, EMPTY_CAP_ACTION_READING, EMPTY_SOCKET_DIRECTION, EMPTY_SOCKET_PLANE_BASELINE, EVENT_PLANE_TOP_N, EVENT_TOPIC_PREFIX, EngineManagerResolver, EventBus, FIRST_BOOT_ADMIN_PASSWORD, FIRST_BOOT_ADMIN_USERNAME, FeatureManager, FilesystemStorageAddon, FilesystemStorageProvider, FrameDecoder, FsStorageBackend, GET_STATUS_METHOD, HEALTH_MONITOR_GRACE_PERIOD_MS, HEALTH_MONITOR_RETRY_INTERVALS_MS, HEALTH_MONITOR_TICK_MS, HEAP_RECLAIM_MIN_INTERVAL_MS, HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, HEAP_RECLAIM_TRIGGER_MB, HEAP_SPACE_REPORT_MIN_MB, HEAP_WATCH_INTERVAL_MS, HEAP_WATCH_WARN_RATIO, HUB_CAP_FWD_ACTION, HUB_CAP_FWD_SERVICE, HUB_MAIN_HEAP_WATCH_LABEL, HUB_MAIN_RSS_BUDGET_MB, HUB_RSS_BUDGET_ENV, HubForwarderAddon, HubForwarderDestination, HubLogForwarder, HubNodeRegistry, HubPairing, INFRA_CAPABILITIES, INTEGRATIONS_LEGACY, INTEGRATION_SETTINGS_LEGACY, IntegrationRegistry, JWT_SIGNING_KEY_REF, JobJournal, JwtSigningKeyUnavailableError, LEAF_RENEWAL_WINDOW_DAYS, LifecycleJobEngine, LifecycleStateMachine, LivenessMonitorAddon, LocalAuthAddon, LocalChildClient, LocalChildRegistry, LogManager, LogRingBuffer, LoggingGate, LoginSessionManager, LokiDestination, LokiLoggingAddon, MAX_CAP_ACTIONS_PER_PEER, MAX_LEAF_VALIDITY_DAYS, MESH_ACTION_FORBIDDEN_TYPE, MESH_CA_FIELD, MESH_CA_KEY_REF, MESH_CA_SETTINGS_KEY, MESH_NODE_CERTIFICATES_COLLECTION, MESH_NODE_CERTIFICATES_COLUMNS, MESH_NODE_UNAUTHENTICATED_TYPE, MESH_QUEUE_TOP_N, MESH_TLS_PORT_HELLO_FIELD, METHOD_ACCESS_MAP, MeshCaKeeper, MeshCertificateRegistry, MeshCrl, MeshIdentityGate, ModelDownloadService, NATIVE_PROVIDER_SERVICE_INFIX, NATIVE_SCAN_DEPTH, NativeMetricsAddon, NativeMetricsProvider, NetworkQualityTracker, NotificationService, OUTBOUND_QUEUE_COOLDOWN_MS, OUTBOUND_QUEUE_SUSTAIN_MS, OUTBOUND_QUEUE_THRESHOLD_BYTES, PAIRING_CODE_DIGITS, PAIRING_MAX_CODE_ATTEMPTS, PAIRING_MAX_SESSIONS, PAIRING_PATHS, PAIRING_PIN_DIGITS, PAIRING_PROTOCOL, PAIRING_TTL_MS, PARENT_ROUTED_PROVIDER_ADDON_ID, PERMITTED_DNS_SUFFIXES, PERMITTED_IP_RANGES, PREVIOUS_LEAF_GRACE_MS, PYTHON_VERSION, PairingHttpError, PeerAnsweredError, PipelineRunner, PipelineValidator, PythonEnvManager, QUARANTINE_DIRNAME, REFRESH_TOKEN_PREFIX, RENEWAL_ABANDONED, RESTART_MARKER_FILE, RSS_BUDGET_REANNOUNCE_MIN_MS, RSS_BUDGET_RELEASE_RATIO, RUNNER_HEAP_WATCH_INTERVAL_MS, RUNNER_RSS_BUDGET_ENV, RUNTIME_DEFAULTS, ReadinessRegistry, ReadinessTimeoutError, RecordsEngine, ReplEngine, RingBuffer, SERVER_AUTH_OID, SERVER_NAMESPACE, SOCKET_PLANE_TOP_N, SOCKET_QUEUE_TOP_N, STALL_REPORT_MS, STALL_TICK_MS, STORAGE_DRAIN_STATE_LEGACY, STORE_READABLE_BOOTSTRAP_KEYS, SYSTEM_SECRET_OWNER, ScopedLogger, SettingsReadUnavailableError, SocketChannel, SqliteSettingsAddon, SqliteSettingsBackend, StagingArea, StorageLocationManager, StorageManager, StorageOrchestratorAddon, StorageOrchestratorService, SystemBackupService, SystemConfigAddon, SystemEventBus, TRADITIONAL_NATIVE_PACKAGES, TlsTcpTransporter, ToastService, UDS_NO_ROUTE_PREFIX, UNCLAIMED, UNMIGRATED_SETTINGS_CODE, UNMIGRATED_SETTINGS_REMEDY, UPLOADED_CA_FILE, USER_MANAGEMENT_INTERNAL, UdsLocalTransportClient, UdsLocalTransportServer, UnlockTicketJtiStore, UnmigratedSettingsError, UserManager, WinstonDestination, WinstonLoggingAddon, ZERO_LOOP_DELAY, __resetCapUsageRegistryForTests, __resetLoggingGateForTests, acceptAgentSans, adaptBrokerToCluster, addonSettingsCapability, adoptModelRevisions, afterWorkerOnlineAnnounce, agentHttpsPaths, allFamiliesListenHost, answerClaimedGetStatus, applyCertificateToListener, applyLanHttp, asBrokerLike, assertLegacyBlobsMigrated, attachUserManagementInternal, attributeStall, backupOrchestratorRecordKinds, backupRecordStoresOf, bareAddonOf, bindPendingLanHttp, bootstrapSchema, brokerCallForCap, brokerTransportLink, buildAgentAnnouncement, buildBinaryPath, buildCapRouters, buildHeapSample, buildLinkChain, buildNameConstraintSet, buildNativeCapProxy, buildNodeManifest, buildNpmChildEnv, buildStorageLocationRegistry, buildTransporter, builderMountedCapNames, caFingerprint, caFingerprintCompact, caReplacementMarkerFile, callRegisterNodeWithRetry, callWithServiceDiscovery, canServeDataPlane, capActionLabel, capActionName, capActionSuffix, capBareAction, capServiceName, catalogNamespaceOf, certificateNames, chainsToPublicRoot, checkUploadedCa, classifyAddonDir, classifyCapRoute, clearHttpsListener, clearPendingRestart, clearPlatformKeychainKey, closeLanHttp, clusterAgentRecordKinds, clusterEventTopic, clusterNodeHistoryRecordKind, collectAgentNames, collectCertIdentity, collectModelFiles, compileLogFilter, computePairingCommitment, computePairingSas, connectBrokerTransport, contentTypeFor, copyDirRecursive, copyExtraFileDirs, createAddonContext, createAddonDataPlaneFacility, createAddonPeerBytesFacility, createAddonService, createAgentEventScope, createAgentHttpsRequest, createAgentTransport, createArrayBufferCensusGate, createAuthenticatedFileServer, createBroker, createBrokerDeviceManagerApi, createCapActionCensus, createCiaoPublisher, createCidrMatcher, createCoreCapService, createCoreCatalogRegistry, createDeferredHeapWatchSink, createDoorSettingsView, createEventPlaneMeter, createEventPlaneReader, createFileDataPlaneHandler, createHubCapForwardService, createHubService, createInspectorArrayBufferCensus, createKernelHwAccel, createKernelInferenceEngine, createLocalTransport, createLoopDelayMeter, createMeshAccessMiddleware, createMeshCsrPem, createMeshQueueReader, createOutboundQueueGate, createParentUnownedCallHandler, createProcessService, createReadinessService, createReadinessServiceForRegistry, createScopedProcessManager, createSocketDirectionCounters, createSocketPlaneMeter, createSocketPlaneReader, createStreamProbeBrokerService, createUdsAddonContext, createUdsEventBridge, createUdsEventBus, createUdsLogger, createUdsLoggerWithControl, createV8Reclaimer, currentBrokerTransporter, deleteModelFromDisk, deriveAgentListenPort, describeCsr, describeHttpsLeaf, describeMeshLeaf, describeProviderKindDrift, describeRss, detectWorkspacePackagesDir, deviceCapResolverLink, deviceOfGetStatus, diffCapActionCensus, diffEventPlane, diffSocketPlane, disconnectBrokerTransport, downloadBinary, downloadFile, downloadModel, dropProcessPeer, emitDownForOwnedCaps, emitHeapDiagnosticReport, emitProcessNodeRegistered, encodeFrame, ensureAddonNativePrebuilds, ensureBinary, ensureDir, ensureFfmpeg, ensureLibraryBuilt, ensureModel, ensureNativePrebuilds, ensurePython, ensureTlsCert, evaluateExistingCert, expandCapMethods, exportMeshPrivateKeyPem, fetchJson, filterIsEmpty, findAddonRefusal, findInPath, formatArrayBufferCensus, formatEventPlane, formatHeapSpaces, formatLogLine, formatMeshQueue, formatOutboundQueueVerdict, formatSocketPlane, generateBackupKeyPair, generateDeviceCa, generateMeshCa, generateMeshKeyPair, getBrokerEventBus, getBrokerTlsTransporter, getCapUsageRegistry, getCatalogRegistry, getFfmpegDownloadUrl, getLoggingGate, getModelFilePath, getMoleculerEventStats, getOrInitReadinessRegistry, getOrInitReadinessRegistryForClient, getPidStats, getPlatformInfo, getPlatformKeychainKey, getProcessAgentHttpsNames, getProcessJwtSigningKeyState, getProcessMeshCaState, getProcessMeshCertificateRegistry, getProcessMeshTlsListenerState, getProcessNodeMeshTransport, getProcessPeerLeaf, getPythonDownloadUrl, getRestartMarkerPath, getSinglePidStats, getUserManagementInternal, getWorkerDeviceRegistry, hasDotNode, heapSpaceField, hostNodeIdOf, hubHostFromMeshAddress, hubMainRssBudget, installAgentHttps, installBrokerTransporter, installManifestNativeDeps, installManifestPythonDeps, installManifestSystemDeps, installPackageFromNpm, installPythonPackages, installPythonRequirements, integrationRegistryRecordKinds, ipcParentLink, isAddonDeploySource, isAllowedAgentDashboardReturnTo, isArrayBufferCensusReport, isArrayOutputSchema, isCollectionArrayMethod, isConstrainedCa, isContainerBridgeAddress, isCredentialKeyName, isInfraCapability, isInstalledTransporter, isLocalOnlyHostname, isModelDownloaded, isPeerEventPacket, isPrivateAddress, isProcessVerifiedMeshPeer, isRemoteForbiddenAction, isRemoteForbiddenOnAgent, isSettingsReadUnavailable, isSourceNewer, isValidAgentNodeId, isolatedBuiltinPhase, issueAgentHttpsLeaf, issueDeviceLeaf, issueMeshLeafForNode, issueMeshLeafFromCsr, keyFingerprintShort, leafFingerprintOf, levelRank, lineContainsText, lineMatches, loadAgentHttps, loadDeviceCa, loadMeshCa, loadTlsCert, localCaCommonName, localEndpointPath, localProviderLink, localSupportedPythonRuntimes, mapSignalsToInferenceHardware, meshErrorType, mintAgentUiUnlockTicket, mountNativeCapService, nextRssBudgetState, normalizeIp, onProcessNodeRegistered, onSessionsRevoked, openMeshTlsWhenRevocationsLoaded, originNodeOf, overlayGetStatus, parseAgentDashboardOrigins, parseCapAction, parseCidrList, parseRangeHeader, parseRssBudgetMb, parseTokenExpiry, parseTokenizedUrl, partitionIsolatedBuiltinIds, pemDigest, permitsIdentity, permitsName, pinnedHttpsCaFingerprint, preferencesLimitReasonOf, prepareBootTls, prepareRestoreArchive, probePlatform, processJwtSigningKey, processMeshCrl, proxyToUpstream, quarantineAddonResidue, readAllRows, readBackupEncryptionHeader, readCidrSetting, readExtraSans, readHeapSpaces, readLanHttpState, readNameConstraints, readPendingRestart, readSocketQueues, readTlsAccessStatus, readTlsMode, readinessKey, reclaimIntervalMs, recordSocketFrame, redactLogEntry, redactLogMeta, redactLogText, regenerateCertificate, registerEventBusService, registerHttpsListener, registerLanHttpHandler, reissueTlsLeaf, reloadHttpsListener, renewMeshCertificate, replaceUnconstrainedLocalCa, requireProcessMeshCa, resetCatalogRegistryForTests, resolveFilePath, resolveFormatRevision, resolveHwAccel, resolveNpmInvocation, retirePreviousLocalCa, revertToGeneratedCertificate, revisionWeightUrl, revokeMeshCertificate, runHubAddonBoot, runNpm, sampleSocketDirection, scheduleSelfRestart, scopeKey, scopesAllowAddon, scopesAllowDeviceCap, selectAddonResidue, selectReportedSpaces, serializeTypedArrays, servedHttpsLeafFingerprint, setHubConnected, setNodeEventInterest, setPlatformKeychainKey, setProcessAgentHttpsNames, setProcessMeshCertificateRegistry, setProcessMeshPeerTransportLookup, setProcessMeshTlsEnabler, setProcessMeshTlsListenerState, setWrapperActive, shouldReclaim, signPairingProof, signalAllRunnerGroups, socketDirectionBytes, socketDirectionMessages, splitPemCertificates, stampCallerAddonId, startEventLoopStallMonitor, startHeapWatch, startRunnerHeapWatch, staticJwtSigningKey, storageOrchestratorRecordKinds, storeMayAnswer, storeUploadedCertificate, strandedMb, stripCamstackDeps, stripForgedIdentity, stripForwardedCaller, subscribePassthrough, systemHostFacts, udsChildLogToWorkerEntry, useStoredUploadedCertificate, validateProviderRegistrations, validateUploadedTls, verifyAgentUiUnlockTicket, verifyDeviceLeaf, verifyDeviceSignature, verifyPairingProof, waitUntilReady, writeExtraSans, writePendingRestart, writeTlsMode };
|
|
27543
|
+
export { AGENT_CAP_FWD_ACTION, AGENT_CAP_FWD_SERVICE, AGENT_DASHBOARD_ORIGINS_FIELD, AGENT_HTTPS_NAMES_COLLECTION, AGENT_HTTPS_NAMES_COLUMNS, AGENT_READINESS_SERVICE_NAME, AGENT_UI_UNLOCK_TTL_MS, AGENT_UI_UNLOCK_TYP, AGENT_UI_UNLOCK_USE, AGENT_UI_UNLOCK_VERSION, ALL_CAPABILITY_DEFINITIONS, ARRAY_BUFFER_CENSUS_COOLDOWN_MS, ARRAY_BUFFER_CENSUS_SUSTAIN_MS, ARRAY_BUFFER_CENSUS_THRESHOLD_MB, ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO, AddonApiFactory, AddonDepsManager, AddonEngineManager, AddonHealthMonitor, AddonInstaller, AddonLoader, AddonManifest, AddonRefusedError, AddonRouteRegistry, AgentHttpsInstallError, AgentHttpsNames, AgentMdnsAdvertiser, AgentMeshIdentityGate, AgentPairing, AlertCenterAddon, ApiKeyManager, AuthAuditLog, AuthManager, BackupDecryptError, BackupKeyFormatError, BackupKeyMismatchError, BackupKeyRequiredError, CAP_ACTION_OVERFLOW_LABEL, CAP_ACTION_UNLABELLED, CAP_METHOD_NOT_IMPLEMENTED, CA_COMMON_NAME, CA_VALIDITY_DAYS, CORE_CAP_SERVICE_NAME, CalendarsAddon, CapRouteError, CapRouteResolver, CapUsageRegistry, CapabilityHandle, CapabilityRegistry, CapabilityUnavailableError, CatalogRegistry, ClusterNodeHistoryBodySchema, ComposerAddon, ConfigManager, ConfigStore, ConsoleDestination, ConsoleLoggingAddon, CoreBlocksAddon, CustomActionRegistry, DECISIVE_HEAP_SPACES, DEFAULT_DATA_PATH, DEFAULT_HUB_TLS_TCP_PORT, DEFAULT_LAN_HTTP_PORT, DEFAULT_LOG_LEVEL, DEVICE_CA_KEY_REF, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DataPlaneRegistry, DeviceCaStore, DeviceCredentialManager, DeviceHistoryAddon, DeviceManagerAddon, DeviceRegistry, DeviceStore, EMPTY_CAP_ACTION_READING, EMPTY_SOCKET_DIRECTION, EMPTY_SOCKET_PLANE_BASELINE, EVENT_PLANE_TOP_N, EVENT_TOPIC_PREFIX, EngineManagerResolver, EventBus, FIRST_BOOT_ADMIN_PASSWORD, FIRST_BOOT_ADMIN_USERNAME, FeatureManager, FilesystemStorageAddon, FilesystemStorageProvider, FrameDecoder, FsStorageBackend, GET_STATUS_METHOD, HEALTH_MONITOR_GRACE_PERIOD_MS, HEALTH_MONITOR_RETRY_INTERVALS_MS, HEALTH_MONITOR_TICK_MS, HEAP_RECLAIM_MIN_INTERVAL_MS, HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, HEAP_RECLAIM_TRIGGER_MB, HEAP_SPACE_REPORT_MIN_MB, HEAP_WATCH_INTERVAL_MS, HEAP_WATCH_WARN_RATIO, HUB_CAP_FWD_ACTION, HUB_CAP_FWD_SERVICE, HUB_MAIN_HEAP_WATCH_LABEL, HUB_MAIN_RSS_BUDGET_MB, HUB_RSS_BUDGET_ENV, HubForwarderAddon, HubForwarderDestination, HubLogForwarder, HubNodeRegistry, HubPairing, INFRA_CAPABILITIES, INTEGRATIONS_LEGACY, INTEGRATION_SETTINGS_LEGACY, IntegrationRegistry, JWT_SIGNING_KEY_REF, JobJournal, JwtSigningKeyUnavailableError, LEAF_RENEWAL_WINDOW_DAYS, LifecycleJobEngine, LifecycleStateMachine, LivenessMonitorAddon, LocalAuthAddon, LocalChildClient, LocalChildRegistry, LogManager, LogRingBuffer, LoggingGate, LoginSessionManager, LokiDestination, LokiLoggingAddon, MAX_CAP_ACTIONS_PER_PEER, MAX_LEAF_VALIDITY_DAYS, MESH_ACTION_FORBIDDEN_TYPE, MESH_CA_FIELD, MESH_CA_KEY_REF, MESH_CA_SETTINGS_KEY, MESH_NODE_CERTIFICATES_COLLECTION, MESH_NODE_CERTIFICATES_COLUMNS, MESH_NODE_UNAUTHENTICATED_TYPE, MESH_QUEUE_TOP_N, MESH_TLS_PORT_HELLO_FIELD, METHOD_ACCESS_MAP, MeshCaKeeper, MeshCertificateRegistry, MeshCrl, MeshIdentityGate, ModelDownloadService, NATIVE_PROVIDER_SERVICE_INFIX, NATIVE_SCAN_DEPTH, NativeMetricsAddon, NativeMetricsProvider, NetworkQualityTracker, NotificationService, OUTBOUND_QUEUE_COOLDOWN_MS, OUTBOUND_QUEUE_SUSTAIN_MS, OUTBOUND_QUEUE_THRESHOLD_BYTES, PAIRING_CODE_DIGITS, PAIRING_MAX_CODE_ATTEMPTS, PAIRING_MAX_SESSIONS, PAIRING_PATHS, PAIRING_PIN_DIGITS, PAIRING_PROTOCOL, PAIRING_TTL_MS, PARENT_ROUTED_PROVIDER_ADDON_ID, PERMITTED_DNS_SUFFIXES, PERMITTED_IP_RANGES, PREVIOUS_LEAF_GRACE_MS, PYTHON_VERSION, PairingHttpError, PeerAnsweredError, PipelineRunner, PipelineValidator, PythonEnvManager, QUARANTINE_DIRNAME, REFRESH_TOKEN_PREFIX, RENEWAL_ABANDONED, RESTART_MARKER_FILE, RSS_BUDGET_REANNOUNCE_MIN_MS, RSS_BUDGET_RELEASE_RATIO, RUNNER_HEAP_WATCH_INTERVAL_MS, RUNNER_RSS_BUDGET_ENV, RUNTIME_DEFAULTS, ReadinessRegistry, ReadinessTimeoutError, RecordsEngine, ReplEngine, RingBuffer, SERVER_AUTH_OID, SERVER_NAMESPACE, SOCKET_PLANE_TOP_N, SOCKET_QUEUE_TOP_N, STALL_REPORT_MS, STALL_TICK_MS, STORAGE_DRAIN_STATE_LEGACY, STORE_READABLE_BOOTSTRAP_KEYS, SYSTEM_SECRET_OWNER, ScopedLogger, SettingsReadUnavailableError, SocketChannel, SqliteSettingsAddon, SqliteSettingsBackend, StagingArea, StorageLocationManager, StorageManager, StorageOrchestratorAddon, StorageOrchestratorService, SystemBackupService, SystemConfigAddon, SystemEventBus, TRADITIONAL_NATIVE_PACKAGES, TlsTcpTransporter, ToastService, UDS_NO_ROUTE_PREFIX, UNCLAIMED, UPLOADED_CA_FILE, USER_MANAGEMENT_INTERNAL, UdsLocalTransportClient, UdsLocalTransportServer, UnlockTicketJtiStore, UserManager, WinstonDestination, WinstonLoggingAddon, ZERO_LOOP_DELAY, __resetCapUsageRegistryForTests, __resetLoggingGateForTests, acceptAgentSans, adaptBrokerToCluster, addonSettingsCapability, adoptModelRevisions, afterWorkerOnlineAnnounce, agentHttpsPaths, allFamiliesListenHost, answerClaimedGetStatus, applyCertificateToListener, applyLanHttp, asBrokerLike, attachUserManagementInternal, attributeStall, backupOrchestratorRecordKinds, backupRecordStoresOf, bareAddonOf, bindPendingLanHttp, bootstrapSchema, brokerCallForCap, brokerTransportLink, buildAgentAnnouncement, buildBinaryPath, buildCapRouters, buildHeapSample, buildLinkChain, buildNameConstraintSet, buildNativeCapProxy, buildNodeManifest, buildNpmChildEnv, buildStorageLocationRegistry, buildTransporter, builderMountedCapNames, caFingerprint, caFingerprintCompact, caReplacementMarkerFile, callRegisterNodeWithRetry, callWithServiceDiscovery, canServeDataPlane, capActionLabel, capActionName, capActionSuffix, capBareAction, capServiceName, catalogNamespaceOf, certificateNames, chainsToPublicRoot, checkUploadedCa, classifyAddonDir, classifyCapRoute, clearHttpsListener, clearPendingRestart, clearPlatformKeychainKey, closeLanHttp, clusterAgentRecordKinds, clusterEventTopic, clusterNodeHistoryRecordKind, collectAgentNames, collectCertIdentity, collectModelFiles, compileLogFilter, computePairingCommitment, computePairingSas, connectBrokerTransport, contentTypeFor, copyDirRecursive, copyExtraFileDirs, createAddonContext, createAddonDataPlaneFacility, createAddonPeerBytesFacility, createAddonService, createAgentEventScope, createAgentHttpsRequest, createAgentTransport, createArrayBufferCensusGate, createAuthenticatedFileServer, createBroker, createBrokerDeviceManagerApi, createCapActionCensus, createCiaoPublisher, createCidrMatcher, createCoreCapService, createCoreCatalogRegistry, createDeferredHeapWatchSink, createDoorSettingsView, createEventPlaneMeter, createEventPlaneReader, createFileDataPlaneHandler, createHubCapForwardService, createHubService, createInspectorArrayBufferCensus, createKernelHwAccel, createKernelInferenceEngine, createLocalTransport, createLoopDelayMeter, createMeshAccessMiddleware, createMeshCsrPem, createMeshQueueReader, createOutboundQueueGate, createParentUnownedCallHandler, createProcessService, createReadinessService, createReadinessServiceForRegistry, createScopedProcessManager, createSocketDirectionCounters, createSocketPlaneMeter, createSocketPlaneReader, createStreamProbeBrokerService, createUdsAddonContext, createUdsEventBridge, createUdsEventBus, createUdsLogger, createUdsLoggerWithControl, createV8Reclaimer, currentBrokerTransporter, deleteModelFromDisk, deriveAgentListenPort, describeCsr, describeHttpsLeaf, describeMeshLeaf, describeProviderKindDrift, describeRss, detectWorkspacePackagesDir, deviceCapResolverLink, deviceOfGetStatus, diffCapActionCensus, diffEventPlane, diffSocketPlane, disconnectBrokerTransport, downloadBinary, downloadFile, downloadModel, dropProcessPeer, emitDownForOwnedCaps, emitHeapDiagnosticReport, emitProcessNodeRegistered, encodeFrame, ensureAddonNativePrebuilds, ensureBinary, ensureDir, ensureFfmpeg, ensureLibraryBuilt, ensureModel, ensureNativePrebuilds, ensurePython, ensureTlsCert, evaluateExistingCert, expandCapMethods, exportMeshPrivateKeyPem, fetchJson, filterIsEmpty, findAddonRefusal, findInPath, formatArrayBufferCensus, formatEventPlane, formatHeapSpaces, formatLogLine, formatMeshQueue, formatOutboundQueueVerdict, formatSocketPlane, generateBackupKeyPair, generateDeviceCa, generateMeshCa, generateMeshKeyPair, getBrokerEventBus, getBrokerTlsTransporter, getCapUsageRegistry, getCatalogRegistry, getFfmpegDownloadUrl, getLoggingGate, getModelFilePath, getMoleculerEventStats, getOrInitReadinessRegistry, getOrInitReadinessRegistryForClient, getPidStats, getPlatformInfo, getPlatformKeychainKey, getProcessAgentHttpsNames, getProcessJwtSigningKeyState, getProcessMeshCaState, getProcessMeshCertificateRegistry, getProcessMeshTlsListenerState, getProcessNodeMeshTransport, getProcessPeerLeaf, getPythonDownloadUrl, getRestartMarkerPath, getSinglePidStats, getUserManagementInternal, getWorkerDeviceRegistry, hasDotNode, heapSpaceField, hostNodeIdOf, hubHostFromMeshAddress, hubMainRssBudget, installAgentHttps, installBrokerTransporter, installManifestNativeDeps, installManifestPythonDeps, installManifestSystemDeps, installPackageFromNpm, installPythonPackages, installPythonRequirements, integrationRegistryRecordKinds, ipcParentLink, isAddonDeploySource, isAllowedAgentDashboardReturnTo, isArrayBufferCensusReport, isArrayOutputSchema, isCollectionArrayMethod, isConstrainedCa, isContainerBridgeAddress, isCredentialKeyName, isInfraCapability, isInstalledTransporter, isLocalOnlyHostname, isModelDownloaded, isPeerEventPacket, isPrivateAddress, isProcessVerifiedMeshPeer, isRemoteForbiddenAction, isRemoteForbiddenOnAgent, isSettingsReadUnavailable, isSourceNewer, isValidAgentNodeId, isolatedBuiltinPhase, issueAgentHttpsLeaf, issueDeviceLeaf, issueMeshLeafForNode, issueMeshLeafFromCsr, keyFingerprintShort, leafFingerprintOf, levelRank, lineContainsText, lineMatches, loadAgentHttps, loadDeviceCa, loadMeshCa, loadTlsCert, localCaCommonName, localEndpointPath, localProviderLink, localSupportedPythonRuntimes, mapSignalsToInferenceHardware, meshErrorType, mintAgentUiUnlockTicket, mountNativeCapService, nextRssBudgetState, normalizeIp, onProcessNodeRegistered, onSessionsRevoked, openMeshTlsWhenRevocationsLoaded, originNodeOf, overlayGetStatus, parseAgentDashboardOrigins, parseCapAction, parseCidrList, parseRangeHeader, parseRssBudgetMb, parseTokenExpiry, parseTokenizedUrl, partitionIsolatedBuiltinIds, pemDigest, permitsIdentity, permitsName, pinnedHttpsCaFingerprint, preferencesLimitReasonOf, prepareBootTls, prepareRestoreArchive, probePlatform, processJwtSigningKey, processMeshCrl, proxyToUpstream, quarantineAddonResidue, readAllRows, readBackupEncryptionHeader, readCidrSetting, readExtraSans, readHeapSpaces, readLanHttpState, readNameConstraints, readPendingRestart, readSocketQueues, readTlsAccessStatus, readTlsMode, readinessKey, reclaimIntervalMs, recordSocketFrame, redactLogEntry, redactLogMeta, redactLogText, regenerateCertificate, registerEventBusService, registerHttpsListener, registerLanHttpHandler, reissueTlsLeaf, reloadHttpsListener, renewMeshCertificate, replaceUnconstrainedLocalCa, requireProcessMeshCa, resetCatalogRegistryForTests, resolveFilePath, resolveFormatRevision, resolveHwAccel, resolveNpmInvocation, retirePreviousLocalCa, revertToGeneratedCertificate, revisionWeightUrl, revokeMeshCertificate, runHubAddonBoot, runNpm, sampleSocketDirection, scheduleSelfRestart, scopeKey, scopesAllowAddon, scopesAllowDeviceCap, selectAddonResidue, selectReportedSpaces, serializeTypedArrays, servedHttpsLeafFingerprint, setHubConnected, setNodeEventInterest, setPlatformKeychainKey, setProcessAgentHttpsNames, setProcessMeshCertificateRegistry, setProcessMeshPeerTransportLookup, setProcessMeshTlsEnabler, setProcessMeshTlsListenerState, setWrapperActive, shouldReclaim, signPairingProof, signalAllRunnerGroups, socketDirectionBytes, socketDirectionMessages, splitPemCertificates, stampCallerAddonId, startEventLoopStallMonitor, startHeapWatch, startRunnerHeapWatch, staticJwtSigningKey, storageOrchestratorRecordKinds, storeMayAnswer, storeUploadedCertificate, strandedMb, stripCamstackDeps, stripForgedIdentity, stripForwardedCaller, subscribePassthrough, systemHostFacts, udsChildLogToWorkerEntry, useStoredUploadedCertificate, validateProviderRegistrations, validateUploadedTls, verifyAgentUiUnlockTicket, verifyDeviceLeaf, verifyDeviceSignature, verifyPairingProof, waitUntilReady, writeExtraSans, writePendingRestart, writeTlsMode };
|
package/dist/kernel/index.d.ts
CHANGED
|
@@ -94,7 +94,6 @@ export type { LocalProviderResolver, BrokerCapCallOpts } from "./moleculer/trpc-
|
|
|
94
94
|
export { createProcessService } from "./moleculer/process-service.js";
|
|
95
95
|
export type { ProcessInfo } from "./moleculer/process-service.js";
|
|
96
96
|
export { AddonRefusedError, findAddonRefusal } from "./addon-refused-error.js";
|
|
97
|
-
export { UNMIGRATED_SETTINGS_CODE, UNMIGRATED_SETTINGS_REMEDY, UnmigratedSettingsError, assertLegacyBlobsMigrated, type LegacyGuardClient } from "./legacy-blob-guard.js";
|
|
98
97
|
export type { RunnerRefusalReport } from "./moleculer/runner-refusal.js";
|
|
99
98
|
export { signalAllRunnerGroups } from "./moleculer/runner-process-group.js";
|
|
100
99
|
export { CapUsageRegistry, getCapUsageRegistry, PARENT_ROUTED_PROVIDER_ADDON_ID, __resetCapUsageRegistryForTests } from "./moleculer/cap-usage-registry.js";
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { AddonStoreRead, StoredKeyRead } from "@camstack/types";
|
|
8
8
|
import { type AddonSettingsDoor } from "../addon-settings-store.js";
|
|
9
|
-
import type { LegacyGuardClient } from "../legacy-blob-guard.js";
|
|
10
9
|
import { type SectionsDoor } from "../sections-store.js";
|
|
11
10
|
import type { RunnerSettingsClient } from "./runner-device-settings.js";
|
|
12
11
|
/** The client calls the addon-level adapter uses, on top of the device ones. */
|
|
@@ -17,10 +16,6 @@ export interface RunnerAddonSettingsClient extends RunnerSettingsClient {
|
|
|
17
16
|
readonly set: {
|
|
18
17
|
mutate: SectionsDoor["set"];
|
|
19
18
|
};
|
|
20
|
-
/** For the boot guard against unmigrated blobs (D870). */
|
|
21
|
-
readonly count: {
|
|
22
|
-
query: LegacyGuardClient["count"]["query"];
|
|
23
|
-
};
|
|
24
19
|
}
|
|
25
20
|
export interface RunnerAddonSettingsView {
|
|
26
21
|
readAddonStore(): Promise<Record<string, unknown>>;
|
|
@@ -31,4 +26,4 @@ export interface RunnerAddonSettingsView {
|
|
|
31
26
|
setSection(section: string, patch: Record<string, unknown>): Promise<void>;
|
|
32
27
|
}
|
|
33
28
|
/** @param client the hub's `settingsStore` client; `undefined` makes every call THROW. */
|
|
34
|
-
export declare function createRunnerAddonSettings(client: RunnerAddonSettingsClient | undefined, addonId: string
|
|
29
|
+
export declare function createRunnerAddonSettings(client: RunnerAddonSettingsClient | undefined, addonId: string): RunnerAddonSettingsView;
|