@camstack/system 1.2.376 → 1.2.378
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 +9 -4
- package/dist/addon-runner.mjs +10 -5
- package/dist/addon-utils.js +1 -1
- package/dist/addon-utils.mjs +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/alerts/alerts.addon.js +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +1 -1
- package/dist/builtins/autotrack/index.js +1 -1
- package/dist/builtins/autotrack/index.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
- package/dist/builtins/calendars/calendars.addon.js +1 -1
- package/dist/builtins/calendars/calendars.addon.mjs +1 -1
- package/dist/builtins/camera-grid/index.js +1 -1
- package/dist/builtins/camera-grid/index.mjs +1 -1
- package/dist/builtins/composer/composer.addon.js +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-config-secrets.d.ts +21 -0
- package/dist/builtins/device-manager/device-manager.addon.js +85 -6
- package/dist/builtins/device-manager/device-manager.addon.mjs +85 -6
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/keychain/index.d.ts +1 -0
- package/dist/builtins/keychain/index.js +1442 -0
- package/dist/builtins/keychain/index.mjs +1435 -0
- package/dist/builtins/keychain/key-sources.d.ts +37 -0
- package/dist/builtins/keychain/keychain-crypto.d.ts +28 -0
- package/dist/builtins/keychain/keychain-service.d.ts +103 -0
- package/dist/builtins/keychain/keychain-store.d.ts +82 -0
- package/dist/builtins/keychain/keychain-usage.d.ts +6 -0
- package/dist/builtins/keychain/keychain.addon.d.ts +11 -0
- package/dist/builtins/keychain/platform-key-source.d.ts +24 -0
- 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 +19 -2
- package/dist/builtins/local-auth/local-auth.addon.mjs +19 -2
- package/dist/builtins/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +1 -1
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
- package/dist/builtins/storage-orchestrator/location-store.d.ts +6 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +15 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +74 -14
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +74 -14
- package/dist/builtins/system-config/system-config.addon.js +1 -1
- package/dist/builtins/system-config/system-config.addon.mjs +1 -1
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{child-cap-dispatch-BWtaSmWf.js → child-cap-dispatch-C9lmrWFT.js} +198 -25
- package/dist/{child-cap-dispatch-8qMgog1O.mjs → child-cap-dispatch-DpHovtQd.mjs} +170 -27
- package/dist/{composition-sources-zxQPPtP_.mjs → composition-sources-BLBd338N.mjs} +1 -1
- package/dist/{composition-sources-DW7CgMsg.js → composition-sources-CxhGdtdh.js} +1 -1
- package/dist/{dist-D732NygW.mjs → dist-Bvl5JgNt.mjs} +2336 -105
- package/dist/{dist-BcUWQGr9.js → dist-KxsOMQik.js} +2401 -104
- package/dist/{event-loop-stall-monitor-QX4RjNe7.js → event-loop-stall-monitor-CbSmCWkp.js} +8 -7
- package/dist/{event-loop-stall-monitor-8W4yWNVW.mjs → event-loop-stall-monitor-D8rqSWfW.mjs} +8 -7
- package/dist/{hub-cap-forward-BdT320dq.mjs → hub-cap-forward-CH6_VWVO.mjs} +13 -4
- package/dist/{hub-cap-forward-DmHNjbB0.js → hub-cap-forward-COCmYaup.js} +13 -4
- package/dist/index.d.ts +2 -0
- package/dist/index.js +20 -6
- package/dist/index.mjs +13 -7
- package/dist/kernel/config-schema.d.ts +4 -0
- package/dist/kernel/moleculer/child-addon-call-dispatch.d.ts +6 -0
- package/dist/kernel/transport/cap-route-resolver.d.ts +19 -0
- package/dist/kernel/transport/hub-cap-forward.d.ts +22 -1
- package/dist/kernel/transport/index.d.ts +2 -2
- package/dist/kernel/transport/local-child-registry.d.ts +4 -3
- package/dist/logging/log-redactor.d.ts +9 -0
- package/dist/platform-key-source-BWlq0jjn.mjs +23 -0
- package/dist/platform-key-source-Di7HrlGR.js +40 -0
- package/dist/{retired-settings-keys-CxPOg7BF.mjs → retired-settings-keys-BAcfvFtm.mjs} +1 -1
- package/dist/{retired-settings-keys-MaESpO18.js → retired-settings-keys-gTsZfpmP.js} +1 -1
- package/package.json +17 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
2
|
-
const require_dist = require("./dist-
|
|
2
|
+
const require_dist = require("./dist-KxsOMQik.js");
|
|
3
3
|
let node_crypto = require("node:crypto");
|
|
4
4
|
let node_path = require("node:path");
|
|
5
5
|
node_path = require_chunk.__toESM(node_path);
|
|
@@ -193,12 +193,13 @@ function collectModelFiles(entry, format) {
|
|
|
193
193
|
for (const extra of entry.extraFiles ?? []) names.push(extra.filename);
|
|
194
194
|
return names;
|
|
195
195
|
}
|
|
196
|
-
/**
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
196
|
+
/**
|
|
197
|
+
* Fetch headers for a model download. No credential: the CamStack model repos
|
|
198
|
+
* are public, and no secret is ever read from the environment (operator rule —
|
|
199
|
+
* a token, if a gated source ever needs one, is a keychain-backed setting).
|
|
200
|
+
*/
|
|
201
|
+
function buildHeaders(_url) {
|
|
202
|
+
return { "User-Agent": "CamStack/1.0" };
|
|
202
203
|
}
|
|
203
204
|
/**
|
|
204
205
|
* A download that the server ANSWERED with a non-2xx status. Typed so a caller
|
package/dist/{event-loop-stall-monitor-8W4yWNVW.mjs → event-loop-stall-monitor-D8rqSWfW.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Ft as hfModelUrl, T as HF_REPO, j as MODEL_FORMATS } from "./dist-Bvl5JgNt.mjs";
|
|
2
2
|
import { createHash } from "node:crypto";
|
|
3
3
|
import * as path$1 from "node:path";
|
|
4
4
|
import path from "node:path";
|
|
@@ -192,12 +192,13 @@ function collectModelFiles(entry, format) {
|
|
|
192
192
|
for (const extra of entry.extraFiles ?? []) names.push(extra.filename);
|
|
193
193
|
return names;
|
|
194
194
|
}
|
|
195
|
-
/**
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
195
|
+
/**
|
|
196
|
+
* Fetch headers for a model download. No credential: the CamStack model repos
|
|
197
|
+
* are public, and no secret is ever read from the environment (operator rule —
|
|
198
|
+
* a token, if a gated source ever needs one, is a keychain-backed setting).
|
|
199
|
+
*/
|
|
200
|
+
function buildHeaders(_url) {
|
|
201
|
+
return { "User-Agent": "CamStack/1.0" };
|
|
201
202
|
}
|
|
202
203
|
/**
|
|
203
204
|
* A download that the server ANSWERED with a non-2xx status. Typed so a caller
|
|
@@ -15,13 +15,15 @@ function narrowParams(raw) {
|
|
|
15
15
|
const deviceId = Reflect.get(raw, "deviceId");
|
|
16
16
|
const nodeId = Reflect.get(raw, "nodeId");
|
|
17
17
|
const native = Reflect.get(raw, "native");
|
|
18
|
+
const callerAddonId = Reflect.get(raw, "callerAddonId");
|
|
18
19
|
return {
|
|
19
20
|
capName,
|
|
20
21
|
method,
|
|
21
22
|
args: Reflect.get(raw, "args"),
|
|
22
23
|
deviceId: typeof deviceId === "number" ? deviceId : void 0,
|
|
23
24
|
nodeId: typeof nodeId === "string" && nodeId.length > 0 ? nodeId : void 0,
|
|
24
|
-
native: native === true ? true : void 0
|
|
25
|
+
native: native === true ? true : void 0,
|
|
26
|
+
callerAddonId: typeof callerAddonId === "string" && callerAddonId.length > 0 ? callerAddonId : void 0
|
|
25
27
|
};
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
@@ -33,18 +35,25 @@ function narrowParams(raw) {
|
|
|
33
35
|
* `createParentUnownedCallHandler`). Reused verbatim so
|
|
34
36
|
* forwarded calls route exactly like a hub-local child's.
|
|
35
37
|
*/
|
|
36
|
-
function createHubCapForwardService(onUnownedCall) {
|
|
38
|
+
function createHubCapForwardService(onUnownedCall, options = {}) {
|
|
37
39
|
return {
|
|
38
40
|
name: HUB_CAP_FWD_SERVICE,
|
|
39
41
|
actions: { forward: { handler: async (ctx) => {
|
|
40
|
-
const { capName, method, args, deviceId, nodeId, native } = narrowParams(ctx.params);
|
|
42
|
+
const { capName, method, args, deviceId, nodeId, native, callerAddonId } = narrowParams(ctx.params);
|
|
43
|
+
const sender = typeof ctx.nodeID === "string" ? ctx.nodeID : null;
|
|
44
|
+
let caller = callerAddonId;
|
|
45
|
+
if (caller !== void 0 && options.isCallerOnNode !== void 0 && (sender === null || !options.isCallerOnNode(sender, caller))) {
|
|
46
|
+
options.onRejectedCaller?.(sender ?? "(unknown node)", caller);
|
|
47
|
+
caller = void 0;
|
|
48
|
+
}
|
|
41
49
|
return onUnownedCall({
|
|
42
50
|
capName,
|
|
43
51
|
method,
|
|
44
52
|
args,
|
|
45
53
|
...deviceId !== void 0 ? { deviceId } : {},
|
|
46
54
|
...nodeId !== void 0 ? { nodeId } : {},
|
|
47
|
-
...native === true ? { native: true } : {}
|
|
55
|
+
...native === true ? { native: true } : {},
|
|
56
|
+
...caller !== void 0 ? { callerAddonId: caller } : {}
|
|
48
57
|
});
|
|
49
58
|
} } }
|
|
50
59
|
};
|
|
@@ -15,13 +15,15 @@ function narrowParams(raw) {
|
|
|
15
15
|
const deviceId = Reflect.get(raw, "deviceId");
|
|
16
16
|
const nodeId = Reflect.get(raw, "nodeId");
|
|
17
17
|
const native = Reflect.get(raw, "native");
|
|
18
|
+
const callerAddonId = Reflect.get(raw, "callerAddonId");
|
|
18
19
|
return {
|
|
19
20
|
capName,
|
|
20
21
|
method,
|
|
21
22
|
args: Reflect.get(raw, "args"),
|
|
22
23
|
deviceId: typeof deviceId === "number" ? deviceId : void 0,
|
|
23
24
|
nodeId: typeof nodeId === "string" && nodeId.length > 0 ? nodeId : void 0,
|
|
24
|
-
native: native === true ? true : void 0
|
|
25
|
+
native: native === true ? true : void 0,
|
|
26
|
+
callerAddonId: typeof callerAddonId === "string" && callerAddonId.length > 0 ? callerAddonId : void 0
|
|
25
27
|
};
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
@@ -33,18 +35,25 @@ function narrowParams(raw) {
|
|
|
33
35
|
* `createParentUnownedCallHandler`). Reused verbatim so
|
|
34
36
|
* forwarded calls route exactly like a hub-local child's.
|
|
35
37
|
*/
|
|
36
|
-
function createHubCapForwardService(onUnownedCall) {
|
|
38
|
+
function createHubCapForwardService(onUnownedCall, options = {}) {
|
|
37
39
|
return {
|
|
38
40
|
name: HUB_CAP_FWD_SERVICE,
|
|
39
41
|
actions: { forward: { handler: async (ctx) => {
|
|
40
|
-
const { capName, method, args, deviceId, nodeId, native } = narrowParams(ctx.params);
|
|
42
|
+
const { capName, method, args, deviceId, nodeId, native, callerAddonId } = narrowParams(ctx.params);
|
|
43
|
+
const sender = typeof ctx.nodeID === "string" ? ctx.nodeID : null;
|
|
44
|
+
let caller = callerAddonId;
|
|
45
|
+
if (caller !== void 0 && options.isCallerOnNode !== void 0 && (sender === null || !options.isCallerOnNode(sender, caller))) {
|
|
46
|
+
options.onRejectedCaller?.(sender ?? "(unknown node)", caller);
|
|
47
|
+
caller = void 0;
|
|
48
|
+
}
|
|
41
49
|
return onUnownedCall({
|
|
42
50
|
capName,
|
|
43
51
|
method,
|
|
44
52
|
args,
|
|
45
53
|
...deviceId !== void 0 ? { deviceId } : {},
|
|
46
54
|
...nodeId !== void 0 ? { nodeId } : {},
|
|
47
|
-
...native === true ? { native: true } : {}
|
|
55
|
+
...native === true ? { native: true } : {},
|
|
56
|
+
...caller !== void 0 ? { callerAddonId: caller } : {}
|
|
48
57
|
});
|
|
49
58
|
} } }
|
|
50
59
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -80,6 +80,8 @@ export { LifecycleStateMachine } from './lifecycle/lifecycle-state-machine.js';
|
|
|
80
80
|
export { formatLogLine } from './logging/formatter.js';
|
|
81
81
|
export type { ILogDestination } from './logging/log-manager.js';
|
|
82
82
|
export { LogManager } from './logging/log-manager.js';
|
|
83
|
+
export { isCredentialKeyName, redactLogEntry, redactLogMeta, redactLogText, } from './logging/log-redactor.js';
|
|
84
|
+
export { clearPlatformKeychainKey, getPlatformKeychainKey, type PlatformKeychainKey, setPlatformKeychainKey, } from './builtins/keychain/platform-key-source.js';
|
|
83
85
|
export type { LogEntry, LogFilter, LogLevel } from './logging/log-ring-buffer.js';
|
|
84
86
|
export { LogRingBuffer } from './logging/log-ring-buffer.js';
|
|
85
87
|
export type { LevelBearing } from './logging/logging-gate.js';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("./dist-
|
|
3
|
+
const require_dist = require("./dist-KxsOMQik.js");
|
|
4
4
|
const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
|
|
5
5
|
require("./builtins/alerts/index.js");
|
|
6
6
|
const require_builtins_calendars_calendars_addon = require("./builtins/calendars/calendars.addon.js");
|
|
@@ -23,15 +23,16 @@ const require_builtins_native_metrics_native_metrics_addon = require("./builtins
|
|
|
23
23
|
const require_builtins_sqlite_storage_filesystem_storage_addon = require("./builtins/sqlite-storage/filesystem-storage.addon.js");
|
|
24
24
|
const require_builtins_sqlite_storage_sqlite_settings_addon = require("./builtins/sqlite-storage/sqlite-settings.addon.js");
|
|
25
25
|
const require_builtins_sqlite_storage_index = require("./builtins/sqlite-storage/index.js");
|
|
26
|
-
const require_hub_cap_forward = require("./hub-cap-forward-
|
|
26
|
+
const require_hub_cap_forward = require("./hub-cap-forward-COCmYaup.js");
|
|
27
27
|
const require_builtins_storage_orchestrator_storage_orchestrator_addon = require("./builtins/storage-orchestrator/storage-orchestrator.addon.js");
|
|
28
28
|
require("./builtins/storage-orchestrator/index.js");
|
|
29
29
|
const require_builtins_system_config_system_config_addon = require("./builtins/system-config/system-config.addon.js");
|
|
30
30
|
require("./builtins/system-config/index.js");
|
|
31
31
|
const require_builtins_winston_logging_index = require("./builtins/winston-logging/index.js");
|
|
32
|
-
const require_event_loop_stall_monitor = require("./event-loop-stall-monitor-
|
|
32
|
+
const require_event_loop_stall_monitor = require("./event-loop-stall-monitor-CbSmCWkp.js");
|
|
33
33
|
const require_tls$1 = require("./tls-CCMX7MjX.js");
|
|
34
|
-
const require_child_cap_dispatch = require("./child-cap-dispatch-
|
|
34
|
+
const require_child_cap_dispatch = require("./child-cap-dispatch-C9lmrWFT.js");
|
|
35
|
+
const require_platform_key_source = require("./platform-key-source-Di7HrlGR.js");
|
|
35
36
|
const require_resource_monitor = require("./resource-monitor-BgWGRxN5.js");
|
|
36
37
|
const require_custom_action_registry = require("./custom-action-registry-acBY3mHA.js");
|
|
37
38
|
let zod = require("zod");
|
|
@@ -1212,7 +1213,7 @@ var LogManager = class {
|
|
|
1212
1213
|
}
|
|
1213
1214
|
createLogger(scope) {
|
|
1214
1215
|
return new ScopedLogger(scope, (entry) => {
|
|
1215
|
-
const enriched = this.enrichDeviceName(entry);
|
|
1216
|
+
const enriched = require_child_cap_dispatch.redactLogEntry(this.enrichDeviceName(entry));
|
|
1216
1217
|
if (this.isDestinationEnabled?.("log-buffer") !== false) this.ringBuffer.push(enriched);
|
|
1217
1218
|
if (this.gate.allowsDestination(enriched)) for (const entry of this.destinations) {
|
|
1218
1219
|
if (entry.addonId !== void 0 && this.isDestinationEnabled?.(entry.addonId) === false) continue;
|
|
@@ -7474,6 +7475,10 @@ var INFRA_CAPABILITIES = [
|
|
|
7474
7475
|
name: "settings-store",
|
|
7475
7476
|
required: true
|
|
7476
7477
|
},
|
|
7478
|
+
{
|
|
7479
|
+
name: "keychain",
|
|
7480
|
+
required: false
|
|
7481
|
+
},
|
|
7477
7482
|
{
|
|
7478
7483
|
name: "log-destination",
|
|
7479
7484
|
required: false
|
|
@@ -10335,7 +10340,8 @@ var BOOTSTRAP_OWNED_SECTIONS = new Set([
|
|
|
10335
10340
|
"hub",
|
|
10336
10341
|
"agent",
|
|
10337
10342
|
"tls",
|
|
10338
|
-
"bootstrap"
|
|
10343
|
+
"bootstrap",
|
|
10344
|
+
"keychain"
|
|
10339
10345
|
]);
|
|
10340
10346
|
/** The only keys under a bootstrap-owned section the store may answer. */
|
|
10341
10347
|
var STORE_READABLE_BOOTSTRAP_KEYS = new Set(["auth.tokenExpiry"]);
|
|
@@ -96521,6 +96527,7 @@ exports.classifyAddonDir = classifyAddonDir;
|
|
|
96521
96527
|
exports.classifyCapRoute = require_child_cap_dispatch.classifyCapRoute;
|
|
96522
96528
|
exports.clearHttpsListener = require_tls$1.clearHttpsListener;
|
|
96523
96529
|
exports.clearPendingRestart = clearPendingRestart;
|
|
96530
|
+
exports.clearPlatformKeychainKey = require_platform_key_source.clearPlatformKeychainKey;
|
|
96524
96531
|
exports.closeLanHttp = require_tls$1.closeLanHttp;
|
|
96525
96532
|
exports.clusterEventTopic = require_child_cap_dispatch.clusterEventTopic;
|
|
96526
96533
|
exports.clusterSecretMatches = clusterSecretMatches;
|
|
@@ -96648,6 +96655,7 @@ Object.defineProperty(exports, "getPlatformInfo", {
|
|
|
96648
96655
|
return _camstack_types_node.getPlatformInfo;
|
|
96649
96656
|
}
|
|
96650
96657
|
});
|
|
96658
|
+
exports.getPlatformKeychainKey = require_platform_key_source.getPlatformKeychainKey;
|
|
96651
96659
|
Object.defineProperty(exports, "getPythonDownloadUrl", {
|
|
96652
96660
|
enumerable: true,
|
|
96653
96661
|
get: function() {
|
|
@@ -96684,6 +96692,7 @@ exports.isArrayBufferCensusReport = require_child_cap_dispatch.isArrayBufferCens
|
|
|
96684
96692
|
exports.isArrayOutputSchema = require_dist.isArrayOutputSchema;
|
|
96685
96693
|
exports.isClusterSecretMismatchError = isClusterSecretMismatchError;
|
|
96686
96694
|
exports.isCollectionArrayMethod = require_dist.isCollectionArrayMethod;
|
|
96695
|
+
exports.isCredentialKeyName = require_child_cap_dispatch.isCredentialKeyName;
|
|
96687
96696
|
exports.isInfraCapability = isInfraCapability;
|
|
96688
96697
|
exports.isModelDownloaded = require_event_loop_stall_monitor.isModelDownloaded;
|
|
96689
96698
|
exports.isSettingsReadUnavailable = require_builtins_local_auth_local_auth_addon.isSettingsReadUnavailable;
|
|
@@ -96714,6 +96723,9 @@ exports.readTlsMode = require_tls$1.readTlsMode;
|
|
|
96714
96723
|
exports.readinessKey = require_dist.readinessKey;
|
|
96715
96724
|
exports.reclaimIntervalMs = require_child_cap_dispatch.reclaimIntervalMs;
|
|
96716
96725
|
exports.recordSocketFrame = require_child_cap_dispatch.recordSocketFrame;
|
|
96726
|
+
exports.redactLogEntry = require_child_cap_dispatch.redactLogEntry;
|
|
96727
|
+
exports.redactLogMeta = require_child_cap_dispatch.redactLogMeta;
|
|
96728
|
+
exports.redactLogText = require_child_cap_dispatch.redactLogText;
|
|
96717
96729
|
exports.regenerateCertificate = require_tls$1.regenerateCertificate;
|
|
96718
96730
|
exports.registerEventBusService = require_child_cap_dispatch.registerEventBusService;
|
|
96719
96731
|
exports.registerHttpsListener = require_tls$1.registerHttpsListener;
|
|
@@ -96739,12 +96751,14 @@ exports.serializeTypedArrays = require_child_cap_dispatch.serializeTypedArrays;
|
|
|
96739
96751
|
exports.servedHttpsLeafFingerprint = require_tls$1.servedHttpsLeafFingerprint;
|
|
96740
96752
|
exports.setHubConnected = require_child_cap_dispatch.setHubConnected;
|
|
96741
96753
|
exports.setNodeEventInterest = require_child_cap_dispatch.setNodeEventInterest;
|
|
96754
|
+
exports.setPlatformKeychainKey = require_platform_key_source.setPlatformKeychainKey;
|
|
96742
96755
|
exports.setWrapperActive = require_builtins_device_manager_device_manager_addon.setWrapperActive;
|
|
96743
96756
|
exports.shouldReclaim = require_child_cap_dispatch.shouldReclaim;
|
|
96744
96757
|
exports.signalAllRunnerGroups = require_child_cap_dispatch.signalAllRunnerGroups;
|
|
96745
96758
|
exports.socketDirectionBytes = require_child_cap_dispatch.socketDirectionBytes;
|
|
96746
96759
|
exports.socketDirectionMessages = require_child_cap_dispatch.socketDirectionMessages;
|
|
96747
96760
|
exports.splitPemCertificates = require_tls$1.splitPemCertificates;
|
|
96761
|
+
exports.stampCallerAddonId = require_child_cap_dispatch.stampCallerAddonId;
|
|
96748
96762
|
exports.startEventLoopStallMonitor = require_event_loop_stall_monitor.startEventLoopStallMonitor;
|
|
96749
96763
|
exports.startHeapWatch = require_child_cap_dispatch.startHeapWatch;
|
|
96750
96764
|
exports.startRunnerHeapWatch = require_child_cap_dispatch.startRunnerHeapWatch;
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM$1, r as __exportAll, t as __commonJSMin$1 } from "./chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import { $t as looseSchema,
|
|
2
|
+
import { $t as looseSchema, At as extractNestedAddonId, Cr as emitDownForOwnedCaps, E as LOG_LEVEL_RANK, G as addonSettingsCapability, Gr as EventCategory$1, Ht as isVoidInput, Ir as readinessKey, Jt as lifecycleJobSchema, Lr as resolveCapMount, Lt as isArrayOutputSchema, Nr as parseJsonObject, On as scopesAllowAddon, P as RUNTIME_DEFAULTS, Pr as parseJsonUnknown, Qt as logLevelAtMost, Rt as isCollectionArrayMethod, Sr as createEvent, Tn as resolveMethodAuth, Tr as expandCapMethods, Ut as kebabToCamel, Vt as isObjectInput, _r as asJsonObject$1, cr as errMsg$1, dr as DEVICE_SETTINGS_CONTRIBUTION_METHODS, fr as DEVICE_STATUS_METHOD, hn as procedureAuthKey, hr as ReadinessTimeoutError, k as METHOD_ACCESS_MAP, kn as scopesAllowDeviceCap, ln as objectInputDeclaresAddonId, mr as ReadinessRegistry, t as ALL_CAPABILITY_DEFINITIONS, un as objectInputDeclaresRequiredDeviceId, ur as DATAPLANE_SECRET_HEADER$1, vr as asNumber, yr as asString$1, zr as scopeKey } from "./dist-Bvl5JgNt.mjs";
|
|
3
3
|
import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
|
|
4
4
|
import "./builtins/alerts/index.mjs";
|
|
5
5
|
import { CalendarsAddon } from "./builtins/calendars/calendars.addon.mjs";
|
|
@@ -22,15 +22,16 @@ import NativeMetricsAddon, { t as NativeMetricsProvider } from "./builtins/nativ
|
|
|
22
22
|
import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./builtins/sqlite-storage/filesystem-storage.addon.mjs";
|
|
23
23
|
import { SqliteSettingsAddon, o as SqliteSettingsBackend, s as prefixRange } from "./builtins/sqlite-storage/sqlite-settings.addon.mjs";
|
|
24
24
|
import { ConfigStore, DeviceStore } from "./builtins/sqlite-storage/index.mjs";
|
|
25
|
-
import { n as HUB_CAP_FWD_SERVICE, r as createHubCapForwardService, t as HUB_CAP_FWD_ACTION } from "./hub-cap-forward-
|
|
25
|
+
import { n as HUB_CAP_FWD_SERVICE, r as createHubCapForwardService, t as HUB_CAP_FWD_ACTION } from "./hub-cap-forward-CH6_VWVO.mjs";
|
|
26
26
|
import { StorageOrchestratorAddon, n as buildStorageLocationRegistry, t as StorageOrchestratorService } from "./builtins/storage-orchestrator/storage-orchestrator.addon.mjs";
|
|
27
27
|
import "./builtins/storage-orchestrator/index.mjs";
|
|
28
28
|
import { SystemConfigAddon } from "./builtins/system-config/system-config.addon.mjs";
|
|
29
29
|
import "./builtins/system-config/index.mjs";
|
|
30
30
|
import { WinstonDestination, WinstonLoggingAddon } from "./builtins/winston-logging/index.mjs";
|
|
31
|
-
import { C as resolveFormatRevision, S as isModelDownloaded, _ as downloadModel, a as createFileDataPlaneHandler, b as getModelFilePath, c as parseRangeHeader, d as ModelDownloadService, g as downloadFile, h as deleteModelFromDisk, i as startEventLoopStallMonitor, l as parseTokenizedUrl, m as collectModelFiles, n as STALL_TICK_MS, o as contentTypeFor, p as adoptModelRevisions, r as attributeStall, s as createAuthenticatedFileServer, t as STALL_REPORT_MS, u as resolveFilePath, v as ensureModel, w as revisionWeightUrl, y as fetchJson } from "./event-loop-stall-monitor-
|
|
31
|
+
import { C as resolveFormatRevision, S as isModelDownloaded, _ as downloadModel, a as createFileDataPlaneHandler, b as getModelFilePath, c as parseRangeHeader, d as ModelDownloadService, g as downloadFile, h as deleteModelFromDisk, i as startEventLoopStallMonitor, l as parseTokenizedUrl, m as collectModelFiles, n as STALL_TICK_MS, o as contentTypeFor, p as adoptModelRevisions, r as attributeStall, s as createAuthenticatedFileServer, t as STALL_REPORT_MS, u as resolveFilePath, v as ensureModel, w as revisionWeightUrl, y as fetchJson } from "./event-loop-stall-monitor-D8rqSWfW.mjs";
|
|
32
32
|
import { A as allFamiliesListenHost, C as collectCertIdentity, D as SERVER_AUTH_OID, E as MAX_LEAF_VALIDITY_DAYS, F as registerLanHttpHandler, M as bindPendingLanHttp, N as closeLanHttp, O as evaluateExistingCert, P as readLanHttpState, S as CA_COMMON_NAME, T as LEAF_RENEWAL_WINDOW_DAYS, _ as writeExtraSans, a as validateUploadedTls, b as loadTlsCert, c as registerHttpsListener, d as prepareBootTls, f as UPLOADED_CA_FILE, g as splitPemCertificates, h as readTlsMode, i as storeUploadedCertificate, j as applyLanHttp, k as DEFAULT_LAN_HTTP_PORT, l as reloadHttpsListener, m as readTlsAccessStatus, n as regenerateCertificate, o as clearHttpsListener, p as readExtraSans, r as revertToGeneratedCertificate, s as leafFingerprintOf, t as applyCertificateToListener, u as servedHttpsLeafFingerprint, v as writeTlsMode, w as CA_VALIDITY_DAYS, x as reissueTlsLeaf, y as ensureTlsCert } from "./tls-CJHogwTl.mjs";
|
|
33
|
-
import { $ as
|
|
33
|
+
import { $ as stampCallerAddonId, $n as sampleSocketDirection, $t as HUB_MAIN_RSS_BUDGET_MB, A as resolveHwAccel, An as formatHeapSpaces, At as serializeTypedArrays, B as udsChildLogToWorkerEntry, Bn as createMeshQueueReader, Bt as isCredentialKeyName, C as getBrokerEventBus, Cn as createArrayBufferCensusGate, Ct as NATIVE_PROVIDER_SERVICE_INFIX, D as subscribePassthrough, Dn as DECISIVE_HEAP_SPACES, Dt as capServiceName, E as setNodeEventInterest, En as isArrayBufferCensusReport, Et as capBareAction, F as ipcParentLink, Fn as OUTBOUND_QUEUE_SUSTAIN_MS, Ft as installManifestNativeDeps, G as UDS_NO_ROUTE_PREFIX, Gn as createSocketPlaneMeter, Gt as hostNodeIdOf, H as createUdsLoggerWithControl, Hn as EMPTY_SOCKET_PLANE_BASELINE, Ht as redactLogMeta, I as localProviderLink, In as OUTBOUND_QUEUE_THRESHOLD_BYTES, It as resolveAddonClass, J as answerClaimedGetStatus, Jn as formatSocketPlane, Jt as HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, K as afterWorkerOnlineAnnounce, Kn as createSocketPlaneReader, Kt as createAddonDataPlaneFacility, L as createParentUnownedCallHandler, Ln as createOutboundQueueGate, Lt as buildNpmChildEnv, M as brokerTransportLink, Mn as readHeapSpaces, Mt as CapabilityHandle, N as buildLinkChain, Nn as selectReportedSpaces, Nt as CapabilityUnavailableError, O as AddonDepsManager, On as HEAP_SPACE_REPORT_MIN_MB, Ot as parseCapAction, P as deviceCapResolverLink, Pn as OUTBOUND_QUEUE_COOLDOWN_MS, Pt as copyBundledNativeModules, Q as CapRouteResolver, Qn as recordSocketFrame, Qt as HUB_MAIN_HEAP_WATCH_LABEL, R as createUdsEventBridge, Rn as formatOutboundQueueVerdict, Rt as resolveNpmInvocation, S as clusterEventTopic, Sn as ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO, St as validateProviderRegistrations, T as registerEventBusService, Tn as formatArrayBufferCensus, Tt as capActionSuffix, U as LocalChildClient, Un as SOCKET_PLANE_TOP_N, Ut as redactLogText, V as createUdsLogger, Vn as formatMeshQueue, Vt as redactLogEntry, W as LocalChildRegistry, Wn as SOCKET_QUEUE_TOP_N, Wt as createAddonPeerBytesFacility, X as AGENT_CAP_FWD_ACTION, Xn as EMPTY_SOCKET_DIRECTION, Xt as HEAP_WATCH_INTERVAL_MS, Y as deviceOfGetStatus, Yn as readSocketQueues, Yt as HEAP_RECLAIM_TRIGGER_MB, Z as AGENT_CAP_FWD_SERVICE, Zn as createSocketDirectionCounters, Zt as HEAP_WATCH_WARN_RATIO, _ as getWorkerDeviceRegistry, _n as startRunnerHeapWatch, a as reapProcessGroup, an as ZERO_LOOP_DELAY, ar as MAX_CAP_ACTIONS_PER_PEER, at as __resetCapUsageRegistryForTests, b as setHubConnected, bn as ARRAY_BUFFER_CENSUS_SUSTAIN_MS, c as runnerOwnsProcessGroup, cn as createLoopDelayMeter, cr as diffCapActionCensus, ct as UdsLocalTransportClient, d as summarizeMembers, dn as hubMainRssBudget, dr as createEventPlaneReader, dt as PeerAnsweredError, en as HUB_RSS_BUDGET_ENV, er as socketDirectionBytes, et as CapRouteError, f as installManifestSystemDeps, fn as nextRssBudgetState, fr as diffEventPlane, ft as localEndpointPath, g as createUdsAddonContext, gn as startHeapWatch, gt as createBrokerDeviceManagerApi, h as createAddonContext, hn as shouldReclaim, ht as buildNativeCapProxy, in as RUNNER_RSS_BUDGET_ENV, ir as EMPTY_CAP_ACTION_READING, it as PARENT_ROUTED_PROVIDER_ADDON_ID, j as brokerCallForCap, jn as heapSpaceField, jt as DeviceRegistry, k as createKernelHwAccel, kn as emitHeapDiagnosticReport, kt as deserializeTypedArrays, l as signalAllRunnerGroups, ln as createV8Reclaimer, lr as EVENT_PLANE_TOP_N, lt as UdsLocalTransportServer, m as adaptBrokerToCluster, mn as reclaimIntervalMs, mt as encodeFrame, nn as RSS_BUDGET_RELEASE_RATIO, nr as CAP_ACTION_OVERFLOW_LABEL, nt as callWithServiceDiscovery, o as registerRunnerGroup, on as buildHeapSample, or as capActionLabel, ot as getCapUsageRegistry, p as installManifestPythonDeps, pn as parseRssBudgetMb, pr as formatEventPlane, pt as FrameDecoder, q as GET_STATUS_METHOD, qn as diffSocketPlane, qt as HEAP_RECLAIM_MIN_INTERVAL_MS, r as defaultProcessGroupOps, rn as RUNNER_HEAP_WATCH_INTERVAL_MS, rr as CAP_ACTION_UNLABELLED, rt as CapUsageRegistry, s as releaseRunnerGroup, sn as createDeferredHeapWatchSink, sr as createCapActionCensus, st as createLocalTransport, t as CAP_METHOD_NOT_IMPLEMENTED, tn as RSS_BUDGET_REANNOUNCE_MIN_MS, tr as socketDirectionMessages, tt as classifyCapRoute, un as describeRss, ur as createEventPlaneMeter, ut as SocketChannel, v as getOrInitReadinessRegistry, vn as strandedMb, w as getMoleculerEventStats, wn as createInspectorArrayBufferCensus, wt as capActionName, x as EVENT_TOPIC_PREFIX, xn as ARRAY_BUFFER_CENSUS_THRESHOLD_MB, xt as createAddonService, y as getOrInitReadinessRegistryForClient, yn as ARRAY_BUFFER_CENSUS_COOLDOWN_MS, yt as mountNativeCapService, z as createUdsEventBus, zn as MESH_QUEUE_TOP_N, zt as runNpm } from "./child-cap-dispatch-DpHovtQd.mjs";
|
|
34
|
+
import { n as getPlatformKeychainKey, r as setPlatformKeychainKey, t as clearPlatformKeychainKey } from "./platform-key-source-BWlq0jjn.mjs";
|
|
34
35
|
import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-B2WZ8_q9.mjs";
|
|
35
36
|
import { t as CustomActionRegistry } from "./custom-action-registry-B4Cf4O_X.mjs";
|
|
36
37
|
import { z } from "zod";
|
|
@@ -1205,7 +1206,7 @@ var LogManager = class {
|
|
|
1205
1206
|
}
|
|
1206
1207
|
createLogger(scope) {
|
|
1207
1208
|
return new ScopedLogger(scope, (entry) => {
|
|
1208
|
-
const enriched = this.enrichDeviceName(entry);
|
|
1209
|
+
const enriched = redactLogEntry(this.enrichDeviceName(entry));
|
|
1209
1210
|
if (this.isDestinationEnabled?.("log-buffer") !== false) this.ringBuffer.push(enriched);
|
|
1210
1211
|
if (this.gate.allowsDestination(enriched)) for (const entry of this.destinations) {
|
|
1211
1212
|
if (entry.addonId !== void 0 && this.isDestinationEnabled?.(entry.addonId) === false) continue;
|
|
@@ -7467,6 +7468,10 @@ var INFRA_CAPABILITIES = [
|
|
|
7467
7468
|
name: "settings-store",
|
|
7468
7469
|
required: true
|
|
7469
7470
|
},
|
|
7471
|
+
{
|
|
7472
|
+
name: "keychain",
|
|
7473
|
+
required: false
|
|
7474
|
+
},
|
|
7470
7475
|
{
|
|
7471
7476
|
name: "log-destination",
|
|
7472
7477
|
required: false
|
|
@@ -10328,7 +10333,8 @@ var BOOTSTRAP_OWNED_SECTIONS = new Set([
|
|
|
10328
10333
|
"hub",
|
|
10329
10334
|
"agent",
|
|
10330
10335
|
"tls",
|
|
10331
|
-
"bootstrap"
|
|
10336
|
+
"bootstrap",
|
|
10337
|
+
"keychain"
|
|
10332
10338
|
]);
|
|
10333
10339
|
/** The only keys under a bootstrap-owned section the store may answer. */
|
|
10334
10340
|
var STORE_READABLE_BOOTSTRAP_KEYS = new Set(["auth.tokenExpiry"]);
|
|
@@ -96310,4 +96316,4 @@ var LifecycleJobEngine = class {
|
|
|
96310
96316
|
}
|
|
96311
96317
|
};
|
|
96312
96318
|
//#endregion
|
|
96313
|
-
export { AGENT_CAP_FWD_ACTION, AGENT_CAP_FWD_SERVICE, AGENT_READINESS_SERVICE_NAME, 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, AddonRouteRegistry, AlertCenterAddon, ApiKeyManager, AuthManager, CAP_ACTION_OVERFLOW_LABEL, CAP_ACTION_UNLABELLED, CAP_METHOD_NOT_IMPLEMENTED, CA_COMMON_NAME, CA_VALIDITY_DAYS, CLUSTER_SECRET_MISMATCH_TYPE, CLUSTER_SECRET_REJECTED_EXIT_CODE, CORE_CAP_SERVICE_NAME, CalendarsAddon, CapRouteError, CapRouteResolver, CapUsageRegistry, CapabilityHandle, CapabilityRegistry, CapabilityUnavailableError, ComposerAddon, ConfigManager, ConfigStore, ConsoleDestination, ConsoleLoggingAddon, CoreBlocksAddon, CustomActionRegistry, DECISIVE_HEAP_SPACES, DEFAULT_DATA_PATH, DEFAULT_LAN_HTTP_PORT, DEFAULT_LOG_LEVEL, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DataPlaneRegistry, DeviceManagerAddon, DeviceRegistry, DeviceStore, EMPTY_CAP_ACTION_READING, EMPTY_SOCKET_DIRECTION, EMPTY_SOCKET_PLANE_BASELINE, EVENT_PLANE_TOP_N, EVENT_TOPIC_PREFIX, EngineManagerResolver, EventBus, 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, INFRA_CAPABILITIES, IntegrationRegistry, JobJournal, LEAF_RENEWAL_WINDOW_DAYS, LifecycleJobEngine, LifecycleStateMachine, LivenessMonitorAddon, LocalAuthAddon, LocalChildClient, LocalChildRegistry, LogManager, LogRingBuffer, LoggingGate, LokiDestination, LokiLoggingAddon, MAX_CAP_ACTIONS_PER_PEER, MAX_LEAF_VALIDITY_DAYS, MESH_QUEUE_TOP_N, METHOD_ACCESS_MAP, ModelDownloadService, NATIVE_PROVIDER_SERVICE_INFIX, NATIVE_SCAN_DEPTH, NativeMetricsAddon, NativeMetricsProvider, NetworkQualityTracker, NotificationService, OUTBOUND_QUEUE_COOLDOWN_MS, OUTBOUND_QUEUE_SUSTAIN_MS, OUTBOUND_QUEUE_THRESHOLD_BYTES, PARENT_ROUTED_PROVIDER_ADDON_ID, PYTHON_VERSION, PeerAnsweredError, PipelineRunner, PipelineValidator, PythonEnvManager, QUARANTINE_DIRNAME, 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, ReplEngine, RingBuffer, SERVER_AUTH_OID, SOCKET_PLANE_TOP_N, SOCKET_QUEUE_TOP_N, STALL_REPORT_MS, STALL_TICK_MS, STORE_READABLE_BOOTSTRAP_KEYS, ScopedLogger, ScopedTokenManager, SettingsReadUnavailableError, SocketChannel, SqliteSettingsAddon, SqliteSettingsBackend, StagingArea, StorageLocationManager, StorageManager, StorageOrchestratorAddon, StorageOrchestratorService, SystemConfigAddon, SystemEventBus, TRADITIONAL_NATIVE_PACKAGES, ToastService, UDS_NO_ROUTE_PREFIX, UNCLAIMED, UPLOADED_CA_FILE, UdsLocalTransportClient, UdsLocalTransportServer, UserManager, WinstonDestination, WinstonLoggingAddon, ZERO_LOOP_DELAY, __resetCapUsageRegistryForTests, __resetLoggingGateForTests, adaptBrokerToCluster, addonSettingsCapability, adoptModelRevisions, afterWorkerOnlineAnnounce, allFamiliesListenHost, answerClaimedGetStatus, applyCertificateToListener, applyLanHttp, attributeStall, bindPendingLanHttp, bootstrapSchema, brokerCallForCap, brokerTransportLink, buildBinaryPath, buildCapRouters, buildHeapSample, buildLinkChain, buildNativeCapProxy, buildNodeManifest, buildNpmChildEnv, buildStorageLocationRegistry, builderMountedCapNames, callRegisterNodeWithRetry, callWithServiceDiscovery, canServeDataPlane, capActionLabel, capActionName, capActionSuffix, capBareAction, capServiceName, classifyAddonDir, classifyCapRoute, clearHttpsListener, clearPendingRestart, closeLanHttp, clusterEventTopic, clusterSecretMatches, collectCertIdentity, collectModelFiles, contentTypeFor, copyDirRecursive, copyExtraFileDirs, createAddonContext, createAddonDataPlaneFacility, createAddonPeerBytesFacility, createAddonService, createArrayBufferCensusGate, createAuthenticatedFileServer, createBroker, createBrokerDeviceManagerApi, createCapActionCensus, createCoreCapService, createDeferredHeapWatchSink, createDoorSettingsView, createEventPlaneMeter, createEventPlaneReader, createFileDataPlaneHandler, createHubCapForwardService, createHubService, createInspectorArrayBufferCensus, createKernelHwAccel, createLocalTransport, createLoopDelayMeter, createMeshQueueReader, createOutboundQueueGate, createParentUnownedCallHandler, createProcessService, createReadinessService, createReadinessServiceForRegistry, createScopedProcessManager, createSocketDirectionCounters, createSocketPlaneMeter, createSocketPlaneReader, createStreamProbeBrokerService, createUdsAddonContext, createUdsEventBridge, createUdsEventBus, createUdsLogger, createUdsLoggerWithControl, createV8Reclaimer, deleteModelFromDisk, deriveAgentListenPort, describeProviderKindDrift, describeRss, detectWorkspacePackagesDir, deviceCapResolverLink, deviceOfGetStatus, diffCapActionCensus, diffEventPlane, diffSocketPlane, downloadBinary, downloadFile, downloadModel, emitDownForOwnedCaps, emitHeapDiagnosticReport, encodeFrame, ensureAddonNativePrebuilds, ensureBinary, ensureDir, ensureFfmpeg, ensureLibraryBuilt, ensureModel, ensureNativePrebuilds, ensurePython, ensureTlsCert, evaluateExistingCert, expandCapMethods, fetchJson, findInPath, formatArrayBufferCensus, formatEventPlane, formatHeapSpaces, formatLogLine, formatMeshQueue, formatOutboundQueueVerdict, formatSocketPlane, getBrokerEventBus, getCapUsageRegistry, getFfmpegDownloadUrl, getLoggingGate, getModelFilePath, getMoleculerEventStats, getOrInitReadinessRegistry, getOrInitReadinessRegistryForClient, getPidStats, getPlatformInfo, getPythonDownloadUrl, getRestartMarkerPath, getSinglePidStats, getWorkerDeviceRegistry, hasDotNode, hashClusterSecret, heapSpaceField, hostNodeIdOf, hubMainRssBudget, installManifestNativeDeps, installManifestPythonDeps, installManifestSystemDeps, installPackageFromNpm, installPythonPackages, installPythonRequirements, ipcParentLink, isAddonDeploySource, isArrayBufferCensusReport, isArrayOutputSchema, isClusterSecretMismatchError, isCollectionArrayMethod, isInfraCapability, isModelDownloaded, isSettingsReadUnavailable, isSourceNewer, isolatedBuiltinPhase, leafFingerprintOf, loadTlsCert, localEndpointPath, localProviderLink, mountNativeCapService, nextRssBudgetState, overlayGetStatus, parseCapAction, parseRangeHeader, parseRssBudgetMb, parseTokenizedUrl, partitionIsolatedBuiltinIds, prepareBootTls, proxyToUpstream, quarantineAddonResidue, readExtraSans, readHeapSpaces, readLanHttpState, readPendingRestart, readSocketQueues, readTlsAccessStatus, readTlsMode, readinessKey, reclaimIntervalMs, recordSocketFrame, regenerateCertificate, registerEventBusService, registerHttpsListener, registerLanHttpHandler, reissueTlsLeaf, reloadHttpsListener, resolveFilePath, resolveFormatRevision, resolveHwAccel, resolveNpmInvocation, revertToGeneratedCertificate, revisionWeightUrl, runHubAddonBoot, runNpm, sampleSocketDirection, scheduleSelfRestart, scopeKey, scopesAllowAddon, scopesAllowDeviceCap, selectAddonResidue, selectReportedSpaces, serializeTypedArrays, servedHttpsLeafFingerprint, setHubConnected, setNodeEventInterest, setWrapperActive, shouldReclaim, signalAllRunnerGroups, socketDirectionBytes, socketDirectionMessages, splitPemCertificates, startEventLoopStallMonitor, startHeapWatch, startRunnerHeapWatch, storeMayAnswer, storeUploadedCertificate, strandedMb, stripCamstackDeps, subscribePassthrough, udsChildLogToWorkerEntry, validateProviderRegistrations, validateUploadedTls, waitUntilReady, writeExtraSans, writePendingRestart, writeTlsMode };
|
|
96319
|
+
export { AGENT_CAP_FWD_ACTION, AGENT_CAP_FWD_SERVICE, AGENT_READINESS_SERVICE_NAME, 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, AddonRouteRegistry, AlertCenterAddon, ApiKeyManager, AuthManager, CAP_ACTION_OVERFLOW_LABEL, CAP_ACTION_UNLABELLED, CAP_METHOD_NOT_IMPLEMENTED, CA_COMMON_NAME, CA_VALIDITY_DAYS, CLUSTER_SECRET_MISMATCH_TYPE, CLUSTER_SECRET_REJECTED_EXIT_CODE, CORE_CAP_SERVICE_NAME, CalendarsAddon, CapRouteError, CapRouteResolver, CapUsageRegistry, CapabilityHandle, CapabilityRegistry, CapabilityUnavailableError, ComposerAddon, ConfigManager, ConfigStore, ConsoleDestination, ConsoleLoggingAddon, CoreBlocksAddon, CustomActionRegistry, DECISIVE_HEAP_SPACES, DEFAULT_DATA_PATH, DEFAULT_LAN_HTTP_PORT, DEFAULT_LOG_LEVEL, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DataPlaneRegistry, DeviceManagerAddon, DeviceRegistry, DeviceStore, EMPTY_CAP_ACTION_READING, EMPTY_SOCKET_DIRECTION, EMPTY_SOCKET_PLANE_BASELINE, EVENT_PLANE_TOP_N, EVENT_TOPIC_PREFIX, EngineManagerResolver, EventBus, 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, INFRA_CAPABILITIES, IntegrationRegistry, JobJournal, LEAF_RENEWAL_WINDOW_DAYS, LifecycleJobEngine, LifecycleStateMachine, LivenessMonitorAddon, LocalAuthAddon, LocalChildClient, LocalChildRegistry, LogManager, LogRingBuffer, LoggingGate, LokiDestination, LokiLoggingAddon, MAX_CAP_ACTIONS_PER_PEER, MAX_LEAF_VALIDITY_DAYS, MESH_QUEUE_TOP_N, METHOD_ACCESS_MAP, ModelDownloadService, NATIVE_PROVIDER_SERVICE_INFIX, NATIVE_SCAN_DEPTH, NativeMetricsAddon, NativeMetricsProvider, NetworkQualityTracker, NotificationService, OUTBOUND_QUEUE_COOLDOWN_MS, OUTBOUND_QUEUE_SUSTAIN_MS, OUTBOUND_QUEUE_THRESHOLD_BYTES, PARENT_ROUTED_PROVIDER_ADDON_ID, PYTHON_VERSION, PeerAnsweredError, PipelineRunner, PipelineValidator, PythonEnvManager, QUARANTINE_DIRNAME, 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, ReplEngine, RingBuffer, SERVER_AUTH_OID, SOCKET_PLANE_TOP_N, SOCKET_QUEUE_TOP_N, STALL_REPORT_MS, STALL_TICK_MS, STORE_READABLE_BOOTSTRAP_KEYS, ScopedLogger, ScopedTokenManager, SettingsReadUnavailableError, SocketChannel, SqliteSettingsAddon, SqliteSettingsBackend, StagingArea, StorageLocationManager, StorageManager, StorageOrchestratorAddon, StorageOrchestratorService, SystemConfigAddon, SystemEventBus, TRADITIONAL_NATIVE_PACKAGES, ToastService, UDS_NO_ROUTE_PREFIX, UNCLAIMED, UPLOADED_CA_FILE, UdsLocalTransportClient, UdsLocalTransportServer, UserManager, WinstonDestination, WinstonLoggingAddon, ZERO_LOOP_DELAY, __resetCapUsageRegistryForTests, __resetLoggingGateForTests, adaptBrokerToCluster, addonSettingsCapability, adoptModelRevisions, afterWorkerOnlineAnnounce, allFamiliesListenHost, answerClaimedGetStatus, applyCertificateToListener, applyLanHttp, attributeStall, bindPendingLanHttp, bootstrapSchema, brokerCallForCap, brokerTransportLink, buildBinaryPath, buildCapRouters, buildHeapSample, buildLinkChain, buildNativeCapProxy, buildNodeManifest, buildNpmChildEnv, buildStorageLocationRegistry, builderMountedCapNames, callRegisterNodeWithRetry, callWithServiceDiscovery, canServeDataPlane, capActionLabel, capActionName, capActionSuffix, capBareAction, capServiceName, classifyAddonDir, classifyCapRoute, clearHttpsListener, clearPendingRestart, clearPlatformKeychainKey, closeLanHttp, clusterEventTopic, clusterSecretMatches, collectCertIdentity, collectModelFiles, contentTypeFor, copyDirRecursive, copyExtraFileDirs, createAddonContext, createAddonDataPlaneFacility, createAddonPeerBytesFacility, createAddonService, createArrayBufferCensusGate, createAuthenticatedFileServer, createBroker, createBrokerDeviceManagerApi, createCapActionCensus, createCoreCapService, createDeferredHeapWatchSink, createDoorSettingsView, createEventPlaneMeter, createEventPlaneReader, createFileDataPlaneHandler, createHubCapForwardService, createHubService, createInspectorArrayBufferCensus, createKernelHwAccel, createLocalTransport, createLoopDelayMeter, createMeshQueueReader, createOutboundQueueGate, createParentUnownedCallHandler, createProcessService, createReadinessService, createReadinessServiceForRegistry, createScopedProcessManager, createSocketDirectionCounters, createSocketPlaneMeter, createSocketPlaneReader, createStreamProbeBrokerService, createUdsAddonContext, createUdsEventBridge, createUdsEventBus, createUdsLogger, createUdsLoggerWithControl, createV8Reclaimer, deleteModelFromDisk, deriveAgentListenPort, describeProviderKindDrift, describeRss, detectWorkspacePackagesDir, deviceCapResolverLink, deviceOfGetStatus, diffCapActionCensus, diffEventPlane, diffSocketPlane, downloadBinary, downloadFile, downloadModel, emitDownForOwnedCaps, emitHeapDiagnosticReport, encodeFrame, ensureAddonNativePrebuilds, ensureBinary, ensureDir, ensureFfmpeg, ensureLibraryBuilt, ensureModel, ensureNativePrebuilds, ensurePython, ensureTlsCert, evaluateExistingCert, expandCapMethods, fetchJson, findInPath, formatArrayBufferCensus, formatEventPlane, formatHeapSpaces, formatLogLine, formatMeshQueue, formatOutboundQueueVerdict, formatSocketPlane, getBrokerEventBus, getCapUsageRegistry, getFfmpegDownloadUrl, getLoggingGate, getModelFilePath, getMoleculerEventStats, getOrInitReadinessRegistry, getOrInitReadinessRegistryForClient, getPidStats, getPlatformInfo, getPlatformKeychainKey, getPythonDownloadUrl, getRestartMarkerPath, getSinglePidStats, getWorkerDeviceRegistry, hasDotNode, hashClusterSecret, heapSpaceField, hostNodeIdOf, hubMainRssBudget, installManifestNativeDeps, installManifestPythonDeps, installManifestSystemDeps, installPackageFromNpm, installPythonPackages, installPythonRequirements, ipcParentLink, isAddonDeploySource, isArrayBufferCensusReport, isArrayOutputSchema, isClusterSecretMismatchError, isCollectionArrayMethod, isCredentialKeyName, isInfraCapability, isModelDownloaded, isSettingsReadUnavailable, isSourceNewer, isolatedBuiltinPhase, leafFingerprintOf, loadTlsCert, localEndpointPath, localProviderLink, mountNativeCapService, nextRssBudgetState, overlayGetStatus, parseCapAction, parseRangeHeader, parseRssBudgetMb, parseTokenizedUrl, partitionIsolatedBuiltinIds, prepareBootTls, proxyToUpstream, quarantineAddonResidue, readExtraSans, readHeapSpaces, readLanHttpState, readPendingRestart, readSocketQueues, readTlsAccessStatus, readTlsMode, readinessKey, reclaimIntervalMs, recordSocketFrame, redactLogEntry, redactLogMeta, redactLogText, regenerateCertificate, registerEventBusService, registerHttpsListener, registerLanHttpHandler, reissueTlsLeaf, reloadHttpsListener, resolveFilePath, resolveFormatRevision, resolveHwAccel, resolveNpmInvocation, revertToGeneratedCertificate, revisionWeightUrl, runHubAddonBoot, runNpm, sampleSocketDirection, scheduleSelfRestart, scopeKey, scopesAllowAddon, scopesAllowDeviceCap, selectAddonResidue, selectReportedSpaces, serializeTypedArrays, servedHttpsLeafFingerprint, setHubConnected, setNodeEventInterest, setPlatformKeychainKey, setWrapperActive, shouldReclaim, signalAllRunnerGroups, socketDirectionBytes, socketDirectionMessages, splitPemCertificates, stampCallerAddonId, startEventLoopStallMonitor, startHeapWatch, startRunnerHeapWatch, storeMayAnswer, storeUploadedCertificate, strandedMb, stripCamstackDeps, subscribePassthrough, udsChildLogToWorkerEntry, validateProviderRegistrations, validateUploadedTls, waitUntilReady, writeExtraSans, writePendingRestart, writeTlsMode };
|
|
@@ -45,6 +45,10 @@ export declare const bootstrapSchema: z.ZodObject<{
|
|
|
45
45
|
requiredAddons: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
46
46
|
forceDisable: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
47
47
|
}, z.core.$strip>>;
|
|
48
|
+
keychain: z.ZodDefault<z.ZodObject<{
|
|
49
|
+
keyFile: z.ZodOptional<z.ZodString>;
|
|
50
|
+
previousKeyFile: z.ZodOptional<z.ZodString>;
|
|
51
|
+
}, z.core.$strip>>;
|
|
48
52
|
}, z.core.$strip>;
|
|
49
53
|
export type BootstrapConfig = z.infer<typeof bootstrapSchema>;
|
|
50
54
|
/**
|
|
@@ -31,6 +31,12 @@ export interface ChildAddonCallDispatchDeps {
|
|
|
31
31
|
/** Resolve an addon's live HTTP data-plane endpoints (published by its
|
|
32
32
|
* `ctx.dataPlane` facility). Empty when the addon serves no data-plane. */
|
|
33
33
|
getDataPlanes: (addonId: string) => readonly AddonDataPlaneEndpoint[];
|
|
34
|
+
/**
|
|
35
|
+
* Swap the secret VIEWS a form sent as action input for their values,
|
|
36
|
+
* through the owner addon's own `ctx.secrets` (D789). Absent → the input is
|
|
37
|
+
* parsed as it arrived.
|
|
38
|
+
*/
|
|
39
|
+
resolveSecretViews?: (addonId: string, args: unknown) => Promise<unknown>;
|
|
34
40
|
}
|
|
35
41
|
/**
|
|
36
42
|
* Creates the addon-level dispatcher the addon-runner wires to
|
|
@@ -148,6 +148,25 @@ export declare function extractDeviceId(args: unknown): number | undefined;
|
|
|
148
148
|
* `getEngineProvisioning({nodeId})`) still receive it unchanged.
|
|
149
149
|
*/
|
|
150
150
|
export declare function extractNodeId(args: unknown): string | undefined;
|
|
151
|
+
/**
|
|
152
|
+
* Stamp the CALLER identity into a cap call's args — the SAME "provider
|
|
153
|
+
* destructures what it needs and ignores the rest" convention
|
|
154
|
+
* {@link extractNodeId} already relies on for the inline `nodeId` pin.
|
|
155
|
+
*
|
|
156
|
+
* The stamp is the transport's, never the caller's (D787):
|
|
157
|
+
* - a stamp (`callerAddonId` known to the transport) OVERWRITES whatever the
|
|
158
|
+
* args carry under that key;
|
|
159
|
+
* - NO stamp STRIPS the key: a call that crossed a wire with no identity the
|
|
160
|
+
* transport can vouch for must not arrive carrying a claimed one. The
|
|
161
|
+
* keychain owner-checks on this field, and until 2026-10-08 an unstamped
|
|
162
|
+
* call let a child's own `callerAddonId` through untouched.
|
|
163
|
+
*
|
|
164
|
+
* A hub in-process caller never reaches this function (`localProviderLink`
|
|
165
|
+
* calls the provider directly), which is the one place a stated identity is
|
|
166
|
+
* trusted. A non-object `args` (or `null`/array) is returned unchanged: there
|
|
167
|
+
* is nowhere to attach a key, and nowhere one could hide.
|
|
168
|
+
*/
|
|
169
|
+
export declare function stampCallerAddonId(args: unknown, callerAddonId: string | undefined): unknown;
|
|
151
170
|
export declare class CapRouteResolver {
|
|
152
171
|
private readonly hubNodeId;
|
|
153
172
|
private readonly broker;
|
|
@@ -24,6 +24,27 @@ export interface HubCapForwardParams {
|
|
|
24
24
|
* trying to skip.
|
|
25
25
|
*/
|
|
26
26
|
readonly native?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* The ORIGINATING addon, stamped by the AGENT's `LocalChildRegistry` off the
|
|
29
|
+
* child connection the call arrived on (D787) — the agent-side equivalent of
|
|
30
|
+
* what the hub's own registry stamps for a hub-local child. The hub trusts it
|
|
31
|
+
* because the agent node is authenticated by the cluster secret, and checks
|
|
32
|
+
* it against the node the request came from ({@link HubCapForwardOptions}).
|
|
33
|
+
* Absent → the call is anonymous, and an owner-checked cap refuses it.
|
|
34
|
+
*/
|
|
35
|
+
readonly callerAddonId?: string;
|
|
36
|
+
}
|
|
37
|
+
/** How the hub decides whether an agent's caller stamp is believable. */
|
|
38
|
+
export interface HubCapForwardOptions {
|
|
39
|
+
/**
|
|
40
|
+
* Is `callerAddonId` (a runner id) actually running on `nodeId`, the agent
|
|
41
|
+
* this request came from? A stamp that fails the check is DROPPED — the call
|
|
42
|
+
* proceeds anonymous, it is not refused here. Omitted → stamps are trusted
|
|
43
|
+
* as the cluster secret already authenticates the node.
|
|
44
|
+
*/
|
|
45
|
+
readonly isCallerOnNode?: (nodeId: string, callerAddonId: string) => boolean;
|
|
46
|
+
/** Told about a dropped stamp — a misrouted or lying runner deserves a line. */
|
|
47
|
+
readonly onRejectedCaller?: (nodeId: string, callerAddonId: string) => void;
|
|
27
48
|
}
|
|
28
49
|
/**
|
|
29
50
|
* Handler that routes an agent-originated cap call through the hub's own
|
|
@@ -39,4 +60,4 @@ export type HubUnownedCallHandler = (input: CapCallInput) => Promise<unknown>;
|
|
|
39
60
|
* `createParentUnownedCallHandler`). Reused verbatim so
|
|
40
61
|
* forwarded calls route exactly like a hub-local child's.
|
|
41
62
|
*/
|
|
42
|
-
export declare function createHubCapForwardService(onUnownedCall: HubUnownedCallHandler): ServiceSchema;
|
|
63
|
+
export declare function createHubCapForwardService(onUnownedCall: HubUnownedCallHandler, options?: HubCapForwardOptions): ServiceSchema;
|
|
@@ -16,7 +16,7 @@ export type { LocalChildClientOptions, AddonCallHandler } from './local-child-cl
|
|
|
16
16
|
export { LocalChildClient } from './local-child-client.js';
|
|
17
17
|
export type { CapRoute, CapRouteBase, CapRouteOpts, HubInProcessRoute, HubLocalUdsRoute, RemoteMoleculerRoute, AgentChildForwardRoute, CapInvoker, InProcessProviderRef, CapRouteReason, RejectedRoute, CapRouteErrorDetail, } from './cap-route.js';
|
|
18
18
|
export { CapRouteError, classifyCapRoute } from './cap-route.js';
|
|
19
|
-
export { CapRouteResolver, AGENT_CAP_FWD_SERVICE, AGENT_CAP_FWD_ACTION, } from './cap-route-resolver.js';
|
|
19
|
+
export { CapRouteResolver, AGENT_CAP_FWD_SERVICE, AGENT_CAP_FWD_ACTION, stampCallerAddonId, } from './cap-route-resolver.js';
|
|
20
20
|
export type { NodeCapAuthority, InProcessProviderLookup, CapRouteResolverDeps, AgentCapForwardParams, HubLocalChildDispatcher, } from './cap-route-resolver.js';
|
|
21
21
|
export { NATIVE_PROVIDER_SERVICE_INFIX, capServiceName, capActionName, capActionSuffix, capBareAction, parseCapAction, } from './cap-action-name.js';
|
|
22
22
|
export type { ParsedCapAction } from './cap-action-name.js';
|
|
@@ -33,4 +33,4 @@ export { answerClaimedGetStatus, deviceOfGetStatus, GET_STATUS_METHOD, } from '.
|
|
|
33
33
|
export type { ClaimedGetStatusAnswer, ClaimedGetStatusCall } from './claimed-get-status.js';
|
|
34
34
|
export type { ParentUnownedCallDeps, ParentUnownedCallLogger } from './parent-unowned-call.js';
|
|
35
35
|
export { createHubCapForwardService, HUB_CAP_FWD_SERVICE, HUB_CAP_FWD_ACTION, } from './hub-cap-forward.js';
|
|
36
|
-
export type { HubCapForwardParams, HubUnownedCallHandler } from './hub-cap-forward.js';
|
|
36
|
+
export type { HubCapForwardOptions, HubCapForwardParams, HubUnownedCallHandler, } from './hub-cap-forward.js';
|
|
@@ -273,9 +273,10 @@ export interface LocalChildRegistryOptions {
|
|
|
273
273
|
* `ml` execution groups have co-located providers at all (D9, D29).
|
|
274
274
|
* 3. **An agent's own runners.** Their parent is the agent process, whose
|
|
275
275
|
* `LocalChildRegistry` writes to the agent's singleton. Aggregating that
|
|
276
|
-
* needs a transport hop
|
|
277
|
-
* `callerAddonId`
|
|
278
|
-
*
|
|
276
|
+
* needs a transport hop. `$hub-cap-fwd`'s envelope has carried the
|
|
277
|
+
* agent-stamped `callerAddonId` since D787 (the keychain owner-checks
|
|
278
|
+
* it), but the hub does not feed it to this observer — an
|
|
279
|
+
* agent-originated call is still not recorded here.
|
|
279
280
|
*
|
|
280
281
|
* MUST NOT throw; the call site catches anyway (see the record site).
|
|
281
282
|
*/
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LogEntry } from '@camstack/types';
|
|
2
|
+
/** True when a meta key names a credential. */
|
|
3
|
+
export declare function isCredentialKeyName(key: string): boolean;
|
|
4
|
+
/** Redact one free-form string. */
|
|
5
|
+
export declare function redactLogText(text: string): string;
|
|
6
|
+
/** Redact a `meta` record; the same object back when it was already clean. */
|
|
7
|
+
export declare function redactLogMeta(meta: Record<string, unknown>): Record<string, unknown>;
|
|
8
|
+
/** Redact a whole entry: message and meta. Tags are identifiers, left alone. */
|
|
9
|
+
export declare function redactLogEntry(entry: LogEntry): LogEntry;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/builtins/keychain/platform-key-source.ts
|
|
2
|
+
var SLOT = Symbol.for("camstack.keychain.platform-key");
|
|
3
|
+
/** Register the platform key. Called once, by the hub's boot. */
|
|
4
|
+
function setPlatformKeychainKey(entry) {
|
|
5
|
+
Reflect.set(globalThis, SLOT, entry);
|
|
6
|
+
}
|
|
7
|
+
/** Drop the platform key (tests). */
|
|
8
|
+
function clearPlatformKeychainKey() {
|
|
9
|
+
Reflect.deleteProperty(globalThis, SLOT);
|
|
10
|
+
}
|
|
11
|
+
function isPlatformKey(value) {
|
|
12
|
+
if (value === null || typeof value !== "object") return false;
|
|
13
|
+
const label = Reflect.get(value, "label");
|
|
14
|
+
const key = Reflect.get(value, "key");
|
|
15
|
+
return typeof label === "string" && Buffer.isBuffer(key);
|
|
16
|
+
}
|
|
17
|
+
/** The platform key, when this hub was started by the desktop app with one. */
|
|
18
|
+
function getPlatformKeychainKey() {
|
|
19
|
+
const value = Reflect.get(globalThis, SLOT);
|
|
20
|
+
return isPlatformKey(value) ? value : null;
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { getPlatformKeychainKey as n, setPlatformKeychainKey as r, clearPlatformKeychainKey as t };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
//#region src/builtins/keychain/platform-key-source.ts
|
|
2
|
+
var SLOT = Symbol.for("camstack.keychain.platform-key");
|
|
3
|
+
/** Register the platform key. Called once, by the hub's boot. */
|
|
4
|
+
function setPlatformKeychainKey(entry) {
|
|
5
|
+
Reflect.set(globalThis, SLOT, entry);
|
|
6
|
+
}
|
|
7
|
+
/** Drop the platform key (tests). */
|
|
8
|
+
function clearPlatformKeychainKey() {
|
|
9
|
+
Reflect.deleteProperty(globalThis, SLOT);
|
|
10
|
+
}
|
|
11
|
+
function isPlatformKey(value) {
|
|
12
|
+
if (value === null || typeof value !== "object") return false;
|
|
13
|
+
const label = Reflect.get(value, "label");
|
|
14
|
+
const key = Reflect.get(value, "key");
|
|
15
|
+
return typeof label === "string" && Buffer.isBuffer(key);
|
|
16
|
+
}
|
|
17
|
+
/** The platform key, when this hub was started by the desktop app with one. */
|
|
18
|
+
function getPlatformKeychainKey() {
|
|
19
|
+
const value = Reflect.get(globalThis, SLOT);
|
|
20
|
+
return isPlatformKey(value) ? value : null;
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
Object.defineProperty(exports, "clearPlatformKeychainKey", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function() {
|
|
26
|
+
return clearPlatformKeychainKey;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(exports, "getPlatformKeychainKey", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function() {
|
|
32
|
+
return getPlatformKeychainKey;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
Object.defineProperty(exports, "setPlatformKeychainKey", {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function() {
|
|
38
|
+
return setPlatformKeychainKey;
|
|
39
|
+
}
|
|
40
|
+
});
|