@camstack/system 1.2.381 → 1.2.383
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 +4 -2
- package/dist/addon-runner.mjs +4 -2
- package/dist/addon-utils.js +1 -1
- package/dist/addon-utils.mjs +1 -1
- package/dist/auth/admin-token-manager.d.ts +75 -0
- package/dist/auth/api-key-manager.d.ts +1 -14
- package/dist/auth/auth-audit-log.d.ts +59 -0
- package/dist/auth/auth-manager.d.ts +28 -16
- package/dist/auth/cidr.d.ts +22 -0
- package/dist/auth/login-session-manager.d.ts +158 -0
- package/dist/auth/user-management-internal.d.ts +69 -0
- 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 +14 -0
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +291 -3631
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +284 -3617
- package/dist/builtins/backup-orchestrator/encryption-key-store.d.ts +36 -0
- package/dist/builtins/backup-orchestrator/manifest-store.d.ts +19 -1
- package/dist/builtins/backup-orchestrator/restore-archive.d.ts +24 -0
- package/dist/builtins/calendars/calendars.addon.js +1 -1
- package/dist/builtins/calendars/calendars.addon.mjs +1 -1
- package/dist/builtins/camera-grid/index.js +1 -1
- package/dist/builtins/camera-grid/index.mjs +1 -1
- package/dist/builtins/composer/composer.addon.js +2 -2
- package/dist/builtins/composer/composer.addon.mjs +2 -2
- package/dist/builtins/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
- package/dist/builtins/device-manager/device-manager.addon.js +2 -2
- package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/keychain/index.js +1110 -735
- package/dist/builtins/keychain/index.mjs +1109 -734
- package/dist/builtins/keychain/keychain-reset-trigger.d.ts +25 -0
- package/dist/builtins/keychain/keychain-service.d.ts +36 -3
- package/dist/builtins/keychain/keychain-store.d.ts +24 -1
- package/dist/builtins/keychain/system-held-secrets.d.ts +2 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/local-auth.addon.d.ts +16 -0
- package/dist/builtins/local-auth/local-auth.addon.js +1028 -294
- package/dist/builtins/local-auth/local-auth.addon.mjs +1035 -299
- package/dist/builtins/local-network/local-network.addon.js +3 -3
- package/dist/builtins/local-network/local-network.addon.mjs +3 -3
- package/dist/builtins/loki-logging/index.js +97 -29
- package/dist/builtins/loki-logging/index.mjs +97 -29
- package/dist/builtins/loki-logging/loki-logging.addon.d.ts +7 -23
- package/dist/builtins/loki-logging/retire-enabled-flag.d.ts +23 -0
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +2 -2
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +2 -2
- package/dist/builtins/system-backup/backup-encryption.d.ts +57 -0
- package/dist/builtins/system-backup/system-backup.service.d.ts +16 -1
- package/dist/builtins/system-config/cluster-secret-keeper.d.ts +7 -0
- package/dist/builtins/system-config/index.d.ts +1 -0
- package/dist/builtins/system-config/index.js +2 -0
- package/dist/builtins/system-config/index.mjs +2 -2
- package/dist/builtins/system-config/mesh-actions.d.ts +19 -0
- package/dist/builtins/system-config/system-config.addon.d.ts +47 -4
- package/dist/builtins/system-config/system-config.addon.js +87858 -43
- package/dist/builtins/system-config/system-config.addon.mjs +87813 -39
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{child-cap-dispatch-hf-Gce_4.js → child-cap-dispatch-BD8fhJ1b.js} +7 -4
- package/dist/{child-cap-dispatch-BTe4eKep.mjs → child-cap-dispatch-C68N2a6Y.mjs} +11 -8
- package/dist/{composition-sources-4SmsP0O4.js → composition-sources-ChpT_Yw4.js} +1 -1
- package/dist/{composition-sources-CgOQVIwa.mjs → composition-sources-DM7Ft_tp.mjs} +1 -1
- package/dist/{cluster-secret-BUiG8DCo.js → constants-CDpry1_T.js} +82 -1
- package/dist/{cluster-secret-DgJTZ4qY.mjs → constants-e3mCa1jG.mjs} +23 -2
- package/dist/{dist-BugrtARh.js → dist-CUNGH0fs.js} +1755 -157
- package/dist/{dist-BC0GnGeg.mjs → dist-osl3bkF0.mjs} +1732 -158
- package/dist/{event-loop-stall-monitor-GgpnfAC0.mjs → event-loop-stall-monitor-BeeWMnyT.mjs} +15 -15
- package/dist/{event-loop-stall-monitor-CnQ-K6Gn.js → event-loop-stall-monitor-Dk28EF8B.js} +15 -15
- package/dist/{hub-cap-forward-CH6_VWVO.mjs → hub-cap-forward-CDiN1p98.mjs} +18 -2
- package/dist/{hub-cap-forward-COCmYaup.js → hub-cap-forward-W8oEm4ME.js} +23 -1
- package/dist/index.d.ts +16 -1
- package/dist/index.js +1023 -83525
- package/dist/index.mjs +1218 -83794
- package/dist/{jwt-signing-key-CsuVKA1W.mjs → jwt-signing-key-MQLxLfgF.mjs} +1 -1
- package/dist/{jwt-signing-key-CjoZcol8.js → jwt-signing-key-WI6z7JBo.js} +1 -1
- package/dist/kernel/index.d.ts +17 -1
- package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +41 -0
- package/dist/kernel/moleculer/broker-factory.d.ts +25 -2
- package/dist/kernel/moleculer/child-addon-call-dispatch.d.ts +1 -0
- package/dist/kernel/moleculer/hub-service.d.ts +9 -0
- package/dist/kernel/moleculer/mesh-access-middleware.d.ts +33 -0
- package/dist/kernel/moleculer/mesh-auth-mode.d.ts +64 -0
- package/dist/kernel/moleculer/mesh-authenticator.d.ts +71 -0
- package/dist/kernel/moleculer/mesh-auto-enforce.d.ts +26 -0
- package/dist/kernel/moleculer/mesh-join-client.d.ts +51 -0
- package/dist/kernel/moleculer/mesh-join-proof.d.ts +39 -0
- package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +20 -0
- package/dist/kernel/moleculer/mesh-mtls/index.d.ts +9 -0
- package/dist/kernel/moleculer/mesh-mtls/mesh-ca-keeper.d.ts +55 -0
- package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +45 -0
- package/dist/kernel/moleculer/mesh-mtls/mesh-crl.d.ts +16 -0
- package/dist/kernel/moleculer/mesh-mtls/mesh-enroll.d.ts +27 -0
- package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +55 -0
- package/dist/kernel/moleculer/mesh-mtls/mesh-tls-enabler.d.ts +5 -0
- package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +92 -0
- package/dist/kernel/system-settings-policy.d.ts +4 -3
- package/dist/kernel/transport/hub-cap-forward.d.ts +14 -3
- package/dist/kernel/transport/index.d.ts +1 -1
- package/dist/ms-DlIWNkkk.mjs +160 -0
- package/dist/ms-t68_FaqE.js +171 -0
- package/dist/restore-archive-C5f9yX90.js +4139 -0
- package/dist/restore-archive-CZRtI1k9.mjs +4045 -0
- package/dist/{retired-settings-keys-MCVhxPkJ.mjs → retired-settings-keys-LuDd4y3M.mjs} +1 -1
- package/dist/{retired-settings-keys-DCuetwOt.js → retired-settings-keys-WLrbzdPR.js} +1 -1
- package/dist/tls-BWpwU-d5.js +1160 -0
- package/dist/tls-C2NT-Orr.mjs +949 -0
- package/dist/{tls-CCMX7MjX.js → x509.es-BhTzcFhZ.js} +65 -1108
- package/dist/{tls-CJHogwTl.mjs → x509.es-Xf3K_brW.mjs} +40 -950
- package/package.json +3 -2
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { MESH_JOIN_TOKEN_VERSION } from './constants.js';
|
|
2
|
+
import { MeshCaSigner } from './mesh-ca.js';
|
|
3
|
+
export interface MeshJoinTokenClaims {
|
|
4
|
+
readonly v: typeof MESH_JOIN_TOKEN_VERSION;
|
|
5
|
+
readonly hubUrl: string;
|
|
6
|
+
readonly hubMeshAddress: string;
|
|
7
|
+
readonly caFingerprint: string;
|
|
8
|
+
readonly nodeId?: string;
|
|
9
|
+
readonly jti: string;
|
|
10
|
+
readonly exp: number;
|
|
11
|
+
}
|
|
12
|
+
export type MeshJoinTokenVerifyResult = {
|
|
13
|
+
readonly ok: true;
|
|
14
|
+
readonly claims: MeshJoinTokenClaims;
|
|
15
|
+
} | {
|
|
16
|
+
readonly ok: false;
|
|
17
|
+
readonly reason: string;
|
|
18
|
+
};
|
|
19
|
+
/** In-memory + optional persist of spent `jti` until `exp`. */
|
|
20
|
+
export declare class JoinTokenJtiStore {
|
|
21
|
+
private readonly spent;
|
|
22
|
+
/** True when `jti` was already consumed (and not yet expired). */
|
|
23
|
+
isSpent(jti: string, nowSec?: number): boolean;
|
|
24
|
+
/** Record a jti as used until `exp`. Returns false if already spent. */
|
|
25
|
+
consume(jti: string, exp: number, nowSec?: number): boolean;
|
|
26
|
+
/** Test helper. */
|
|
27
|
+
size(): number;
|
|
28
|
+
private gc;
|
|
29
|
+
}
|
|
30
|
+
export declare function processJoinTokenJtiStore(): JoinTokenJtiStore;
|
|
31
|
+
export interface MintJoinTokenInput {
|
|
32
|
+
readonly ca: MeshCaSigner;
|
|
33
|
+
readonly hubUrl: string;
|
|
34
|
+
readonly hubMeshAddress: string;
|
|
35
|
+
readonly nodeId?: string;
|
|
36
|
+
/** Seconds from now; capped at {@link MESH_JOIN_TOKEN_MAX_TTL_SEC}. */
|
|
37
|
+
readonly ttlSec?: number;
|
|
38
|
+
readonly now?: Date;
|
|
39
|
+
readonly jti?: string;
|
|
40
|
+
}
|
|
41
|
+
export declare function mintMeshJoinToken(input: MintJoinTokenInput): Promise<string>;
|
|
42
|
+
export interface VerifyJoinTokenInput {
|
|
43
|
+
readonly token: string;
|
|
44
|
+
readonly ca: MeshCaSigner;
|
|
45
|
+
readonly jtiStore?: JoinTokenJtiStore;
|
|
46
|
+
readonly now?: Date;
|
|
47
|
+
/** When true (enroll), consume the jti. Mint-path verify may skip. */
|
|
48
|
+
readonly consume?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Expected CA fingerprint pin. When set, must match the token's
|
|
51
|
+
* `caFingerprint` (and therefore this CA) — a MITM with another CA fails.
|
|
52
|
+
*/
|
|
53
|
+
readonly expectedCaFingerprint?: string;
|
|
54
|
+
}
|
|
55
|
+
export declare function verifyMeshJoinToken(input: VerifyJoinTokenInput): Promise<MeshJoinTokenVerifyResult>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { MeshTlsMaterial } from './tls-tcp-transporter.js';
|
|
2
|
+
export type MeshTlsEnabler = (material: MeshTlsMaterial) => void | Promise<void>;
|
|
3
|
+
export declare function setProcessMeshTlsEnabler(enabler: MeshTlsEnabler | null): void;
|
|
4
|
+
export declare function getProcessMeshTlsEnabler(): MeshTlsEnabler | null;
|
|
5
|
+
export declare function requestProcessMeshTlsEnable(material: MeshTlsMaterial): Promise<void>;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { Server as NetServer, Socket as NetSocket } from 'node:net';
|
|
2
|
+
import { MeshCrl } from './mesh-crl.js';
|
|
3
|
+
interface TlsTcpTransporterBase {
|
|
4
|
+
opts: Record<string, unknown> & {
|
|
5
|
+
port?: number;
|
|
6
|
+
tlsPort?: number;
|
|
7
|
+
maxPacketSize?: number;
|
|
8
|
+
};
|
|
9
|
+
logger: {
|
|
10
|
+
info(msg: string, ...args: unknown[]): void;
|
|
11
|
+
warn(msg: string, ...args: unknown[]): void;
|
|
12
|
+
debug(msg: string, ...args: unknown[]): void;
|
|
13
|
+
error(msg: string, ...args: unknown[]): void;
|
|
14
|
+
};
|
|
15
|
+
reader: {
|
|
16
|
+
listen(): Promise<number>;
|
|
17
|
+
close(): void;
|
|
18
|
+
} | null;
|
|
19
|
+
writer: unknown;
|
|
20
|
+
Promise: PromiseConstructor;
|
|
21
|
+
connected: boolean;
|
|
22
|
+
nodes: {
|
|
23
|
+
localNode: {
|
|
24
|
+
port: number;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
registry: {
|
|
28
|
+
regenerateLocalRawInfo(force: boolean): void;
|
|
29
|
+
};
|
|
30
|
+
startTcpServer(): Promise<number>;
|
|
31
|
+
startUdpServer(): Promise<void>;
|
|
32
|
+
startTimers(): void;
|
|
33
|
+
onConnected(): Promise<void>;
|
|
34
|
+
loadUrls(): Promise<void>;
|
|
35
|
+
connect(): Promise<void>;
|
|
36
|
+
disconnect(): Promise<void>;
|
|
37
|
+
onIncomingMessage(type: string, message: Buffer, socket?: NetSocket): unknown;
|
|
38
|
+
receive(cmd: string, data: Buffer, socket?: NetSocket): unknown;
|
|
39
|
+
deserialize(type: string, data: Buffer): {
|
|
40
|
+
payload: {
|
|
41
|
+
sender?: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
incomingMessage(cmd: string, data: Buffer): unknown;
|
|
45
|
+
}
|
|
46
|
+
export interface MeshTlsMaterial {
|
|
47
|
+
readonly caCertPem: string;
|
|
48
|
+
readonly certPem: string;
|
|
49
|
+
readonly keyPem: string;
|
|
50
|
+
}
|
|
51
|
+
export interface TlsTcpTransporterOptions {
|
|
52
|
+
readonly port?: number;
|
|
53
|
+
readonly tlsPort?: number;
|
|
54
|
+
readonly maxPacketSize?: number;
|
|
55
|
+
readonly useHostname?: boolean;
|
|
56
|
+
readonly udpDiscovery?: boolean;
|
|
57
|
+
readonly udpPort?: number;
|
|
58
|
+
readonly udpPeriod?: number;
|
|
59
|
+
readonly debug?: boolean;
|
|
60
|
+
readonly urls?: string;
|
|
61
|
+
readonly udpMaxDiscovery?: number;
|
|
62
|
+
/** When set at construction, TLS starts with the clear reader. */
|
|
63
|
+
readonly meshTls?: MeshTlsMaterial;
|
|
64
|
+
readonly crl?: MeshCrl;
|
|
65
|
+
}
|
|
66
|
+
declare const TlsTcpTransporter_base: new (opts?: Record<string, unknown>) => TlsTcpTransporterBase;
|
|
67
|
+
export declare class TlsTcpTransporter extends TlsTcpTransporter_base {
|
|
68
|
+
private tlsServer;
|
|
69
|
+
private meshTls;
|
|
70
|
+
private readonly crl;
|
|
71
|
+
private readonly tlsSockets;
|
|
72
|
+
constructor(opts?: TlsTcpTransporterOptions);
|
|
73
|
+
startTcpServer(): Promise<number>;
|
|
74
|
+
connect(): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Agent / outbound: wrap `TcpWriter.connect` so peers are dialed with
|
|
77
|
+
* mutual TLS and the peer CN must match the expected node id.
|
|
78
|
+
*/
|
|
79
|
+
private patchWriterForTlsClient;
|
|
80
|
+
/**
|
|
81
|
+
* Enable (or refresh) the TLS listener once the mesh CA / hub leaf are ready.
|
|
82
|
+
* Safe to call after connect — starts listening on `tlsPort` alongside clear.
|
|
83
|
+
*/
|
|
84
|
+
enableMeshTls(material: MeshTlsMaterial): Promise<void>;
|
|
85
|
+
/** Close sockets whose peer serial was just revoked. */
|
|
86
|
+
dropRevokedSockets(): void;
|
|
87
|
+
disconnect(): Promise<void>;
|
|
88
|
+
onIncomingMessage(type: string, message: Buffer, socket?: NetSocket): unknown;
|
|
89
|
+
private startTlsServerIfReady;
|
|
90
|
+
private onTlsClientConnected;
|
|
91
|
+
}
|
|
92
|
+
export type { NetServer };
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
*
|
|
14
14
|
* So a bootstrap-owned section is answered from env + config.yaml ONLY, and
|
|
15
15
|
* the store may add exactly the keys in {@link STORE_READABLE_BOOTSTRAP_KEYS}:
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* the values the operator edits on System → Authentication (`auth.tokenExpiry`,
|
|
17
|
+
* `auth.accessTokenExpiry`, `auth.trustedProxies`). Widening this list is a security decision, not a
|
|
18
18
|
* convenience.
|
|
19
19
|
*/
|
|
20
20
|
/** The only keys under a bootstrap-owned section the store may answer. */
|
|
@@ -32,7 +32,8 @@ export declare function storeMayAnswer(key: string): boolean;
|
|
|
32
32
|
export declare const PRELOADED_SYSTEM_PREFIXES: readonly string[];
|
|
33
33
|
/**
|
|
34
34
|
* Single keys loaded the same way. `auth.tokenExpiry` is read synchronously on
|
|
35
|
-
* every mint by the hub's `AuthService` (`AuthManager.signToken`)
|
|
35
|
+
* every mint by the hub's `AuthService` (`AuthManager.signToken`), and
|
|
36
|
+
* `auth.trustedProxies` on every public auth request (`auth-network-policy.ts`).
|
|
36
37
|
*/
|
|
37
38
|
export declare const PRELOADED_SYSTEM_KEYS: readonly string[];
|
|
38
39
|
/** Is `key` served from the boot-time mirror when the engine is isolated? */
|
|
@@ -27,9 +27,10 @@ export interface HubCapForwardParams {
|
|
|
27
27
|
/**
|
|
28
28
|
* The ORIGINATING addon, stamped by the AGENT's `LocalChildRegistry` off the
|
|
29
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
|
|
31
|
-
*
|
|
32
|
-
*
|
|
30
|
+
* what the hub's own registry stamps for a hub-local child. The hub believes
|
|
31
|
+
* it only from a node that joined the mesh (D802: challenge–response; in
|
|
32
|
+
* `transition` an unauthenticated node is tolerated) and only when that
|
|
33
|
+
* node's registered manifest hosts the runner ({@link HubCapForwardOptions}).
|
|
33
34
|
* Absent → the call is anonymous, and an owner-checked cap refuses it.
|
|
34
35
|
*/
|
|
35
36
|
readonly callerAddonId?: string;
|
|
@@ -46,6 +47,16 @@ export interface HubCapForwardOptions {
|
|
|
46
47
|
/** Told about a dropped stamp — a misrouted or lying runner deserves a line. */
|
|
47
48
|
readonly onRejectedCaller?: (nodeId: string, callerAddonId: string) => void;
|
|
48
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Drop a `caller` the forwarded args carry. `caller` is the USER identity the
|
|
52
|
+
* hub's tRPC router injects for `caller: 'required'` methods
|
|
53
|
+
* (`cap-router-builder.ts`), and providers trust it — `keychainAdmin.reveal`
|
|
54
|
+
* reads `input.caller.userId`. A call that arrives over the mesh has no user
|
|
55
|
+
* session behind it, so whatever `caller` it carries is forged (D802). The
|
|
56
|
+
* args' `callerAddonId` is overwritten or stripped further down by
|
|
57
|
+
* `stampCallerAddonId`; `caller` had no such guard.
|
|
58
|
+
*/
|
|
59
|
+
export declare function stripForwardedCaller(args: unknown): unknown;
|
|
49
60
|
/**
|
|
50
61
|
* Handler that routes an agent-originated cap call through the hub's own
|
|
51
62
|
* unowned-call routing. Structurally the hub's `onUnownedCall`.
|
|
@@ -32,5 +32,5 @@ export { createParentUnownedCallHandler } from './parent-unowned-call.js';
|
|
|
32
32
|
export { answerClaimedGetStatus, deviceOfGetStatus, GET_STATUS_METHOD, } from './claimed-get-status.js';
|
|
33
33
|
export type { ClaimedGetStatusAnswer, ClaimedGetStatusCall } from './claimed-get-status.js';
|
|
34
34
|
export type { ParentUnownedCallDeps, ParentUnownedCallLogger } from './parent-unowned-call.js';
|
|
35
|
-
export { createHubCapForwardService, HUB_CAP_FWD_SERVICE, HUB_CAP_FWD_ACTION, } from './hub-cap-forward.js';
|
|
35
|
+
export { createHubCapForwardService, HUB_CAP_FWD_SERVICE, HUB_CAP_FWD_ACTION, stripForwardedCaller, } from './hub-cap-forward.js';
|
|
36
36
|
export type { HubCapForwardOptions, HubCapForwardParams, HubUnownedCallHandler, } from './hub-cap-forward.js';
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { i as __require, t as __commonJSMin } from "./chunk-CNf5ZN-e.mjs";
|
|
2
|
+
//#region ../../node_modules/safe-buffer/index.js
|
|
3
|
+
var require_safe_buffer = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
4
|
+
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
5
|
+
var buffer = __require("buffer");
|
|
6
|
+
var Buffer = buffer.Buffer;
|
|
7
|
+
function copyProps(src, dst) {
|
|
8
|
+
for (var key in src) dst[key] = src[key];
|
|
9
|
+
}
|
|
10
|
+
if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) module.exports = buffer;
|
|
11
|
+
else {
|
|
12
|
+
copyProps(buffer, exports);
|
|
13
|
+
exports.Buffer = SafeBuffer;
|
|
14
|
+
}
|
|
15
|
+
function SafeBuffer(arg, encodingOrOffset, length) {
|
|
16
|
+
return Buffer(arg, encodingOrOffset, length);
|
|
17
|
+
}
|
|
18
|
+
SafeBuffer.prototype = Object.create(Buffer.prototype);
|
|
19
|
+
copyProps(Buffer, SafeBuffer);
|
|
20
|
+
SafeBuffer.from = function(arg, encodingOrOffset, length) {
|
|
21
|
+
if (typeof arg === "number") throw new TypeError("Argument must not be a number");
|
|
22
|
+
return Buffer(arg, encodingOrOffset, length);
|
|
23
|
+
};
|
|
24
|
+
SafeBuffer.alloc = function(size, fill, encoding) {
|
|
25
|
+
if (typeof size !== "number") throw new TypeError("Argument must be a number");
|
|
26
|
+
var buf = Buffer(size);
|
|
27
|
+
if (fill !== void 0) if (typeof encoding === "string") buf.fill(fill, encoding);
|
|
28
|
+
else buf.fill(fill);
|
|
29
|
+
else buf.fill(0);
|
|
30
|
+
return buf;
|
|
31
|
+
};
|
|
32
|
+
SafeBuffer.allocUnsafe = function(size) {
|
|
33
|
+
if (typeof size !== "number") throw new TypeError("Argument must be a number");
|
|
34
|
+
return Buffer(size);
|
|
35
|
+
};
|
|
36
|
+
SafeBuffer.allocUnsafeSlow = function(size) {
|
|
37
|
+
if (typeof size !== "number") throw new TypeError("Argument must be a number");
|
|
38
|
+
return buffer.SlowBuffer(size);
|
|
39
|
+
};
|
|
40
|
+
}));
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region ../../node_modules/ms/index.js
|
|
43
|
+
var require_ms = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
44
|
+
/**
|
|
45
|
+
* Helpers.
|
|
46
|
+
*/
|
|
47
|
+
var s = 1e3;
|
|
48
|
+
var m = s * 60;
|
|
49
|
+
var h = m * 60;
|
|
50
|
+
var d = h * 24;
|
|
51
|
+
var w = d * 7;
|
|
52
|
+
var y = d * 365.25;
|
|
53
|
+
/**
|
|
54
|
+
* Parse or format the given `val`.
|
|
55
|
+
*
|
|
56
|
+
* Options:
|
|
57
|
+
*
|
|
58
|
+
* - `long` verbose formatting [false]
|
|
59
|
+
*
|
|
60
|
+
* @param {String|Number} val
|
|
61
|
+
* @param {Object} [options]
|
|
62
|
+
* @throws {Error} throw an error if val is not a non-empty string or a number
|
|
63
|
+
* @return {String|Number}
|
|
64
|
+
* @api public
|
|
65
|
+
*/
|
|
66
|
+
module.exports = function(val, options) {
|
|
67
|
+
options = options || {};
|
|
68
|
+
var type = typeof val;
|
|
69
|
+
if (type === "string" && val.length > 0) return parse(val);
|
|
70
|
+
else if (type === "number" && isFinite(val)) return options.long ? fmtLong(val) : fmtShort(val);
|
|
71
|
+
throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(val));
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Parse the given `str` and return milliseconds.
|
|
75
|
+
*
|
|
76
|
+
* @param {String} str
|
|
77
|
+
* @return {Number}
|
|
78
|
+
* @api private
|
|
79
|
+
*/
|
|
80
|
+
function parse(str) {
|
|
81
|
+
str = String(str);
|
|
82
|
+
if (str.length > 100) return;
|
|
83
|
+
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
|
|
84
|
+
if (!match) return;
|
|
85
|
+
var n = parseFloat(match[1]);
|
|
86
|
+
switch ((match[2] || "ms").toLowerCase()) {
|
|
87
|
+
case "years":
|
|
88
|
+
case "year":
|
|
89
|
+
case "yrs":
|
|
90
|
+
case "yr":
|
|
91
|
+
case "y": return n * y;
|
|
92
|
+
case "weeks":
|
|
93
|
+
case "week":
|
|
94
|
+
case "w": return n * w;
|
|
95
|
+
case "days":
|
|
96
|
+
case "day":
|
|
97
|
+
case "d": return n * d;
|
|
98
|
+
case "hours":
|
|
99
|
+
case "hour":
|
|
100
|
+
case "hrs":
|
|
101
|
+
case "hr":
|
|
102
|
+
case "h": return n * h;
|
|
103
|
+
case "minutes":
|
|
104
|
+
case "minute":
|
|
105
|
+
case "mins":
|
|
106
|
+
case "min":
|
|
107
|
+
case "m": return n * m;
|
|
108
|
+
case "seconds":
|
|
109
|
+
case "second":
|
|
110
|
+
case "secs":
|
|
111
|
+
case "sec":
|
|
112
|
+
case "s": return n * s;
|
|
113
|
+
case "milliseconds":
|
|
114
|
+
case "millisecond":
|
|
115
|
+
case "msecs":
|
|
116
|
+
case "msec":
|
|
117
|
+
case "ms": return n;
|
|
118
|
+
default: return;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Short format for `ms`.
|
|
123
|
+
*
|
|
124
|
+
* @param {Number} ms
|
|
125
|
+
* @return {String}
|
|
126
|
+
* @api private
|
|
127
|
+
*/
|
|
128
|
+
function fmtShort(ms) {
|
|
129
|
+
var msAbs = Math.abs(ms);
|
|
130
|
+
if (msAbs >= d) return Math.round(ms / d) + "d";
|
|
131
|
+
if (msAbs >= h) return Math.round(ms / h) + "h";
|
|
132
|
+
if (msAbs >= m) return Math.round(ms / m) + "m";
|
|
133
|
+
if (msAbs >= s) return Math.round(ms / s) + "s";
|
|
134
|
+
return ms + "ms";
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Long format for `ms`.
|
|
138
|
+
*
|
|
139
|
+
* @param {Number} ms
|
|
140
|
+
* @return {String}
|
|
141
|
+
* @api private
|
|
142
|
+
*/
|
|
143
|
+
function fmtLong(ms) {
|
|
144
|
+
var msAbs = Math.abs(ms);
|
|
145
|
+
if (msAbs >= d) return plural(ms, msAbs, d, "day");
|
|
146
|
+
if (msAbs >= h) return plural(ms, msAbs, h, "hour");
|
|
147
|
+
if (msAbs >= m) return plural(ms, msAbs, m, "minute");
|
|
148
|
+
if (msAbs >= s) return plural(ms, msAbs, s, "second");
|
|
149
|
+
return ms + " ms";
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Pluralization helper.
|
|
153
|
+
*/
|
|
154
|
+
function plural(ms, msAbs, n, name) {
|
|
155
|
+
var isPlural = msAbs >= n * 1.5;
|
|
156
|
+
return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
|
|
157
|
+
}
|
|
158
|
+
}));
|
|
159
|
+
//#endregion
|
|
160
|
+
export { require_safe_buffer as n, require_ms as t };
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
2
|
+
//#region ../../node_modules/safe-buffer/index.js
|
|
3
|
+
var require_safe_buffer = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
4
|
+
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
5
|
+
var buffer = require("buffer");
|
|
6
|
+
var Buffer = buffer.Buffer;
|
|
7
|
+
function copyProps(src, dst) {
|
|
8
|
+
for (var key in src) dst[key] = src[key];
|
|
9
|
+
}
|
|
10
|
+
if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) module.exports = buffer;
|
|
11
|
+
else {
|
|
12
|
+
copyProps(buffer, exports);
|
|
13
|
+
exports.Buffer = SafeBuffer;
|
|
14
|
+
}
|
|
15
|
+
function SafeBuffer(arg, encodingOrOffset, length) {
|
|
16
|
+
return Buffer(arg, encodingOrOffset, length);
|
|
17
|
+
}
|
|
18
|
+
SafeBuffer.prototype = Object.create(Buffer.prototype);
|
|
19
|
+
copyProps(Buffer, SafeBuffer);
|
|
20
|
+
SafeBuffer.from = function(arg, encodingOrOffset, length) {
|
|
21
|
+
if (typeof arg === "number") throw new TypeError("Argument must not be a number");
|
|
22
|
+
return Buffer(arg, encodingOrOffset, length);
|
|
23
|
+
};
|
|
24
|
+
SafeBuffer.alloc = function(size, fill, encoding) {
|
|
25
|
+
if (typeof size !== "number") throw new TypeError("Argument must be a number");
|
|
26
|
+
var buf = Buffer(size);
|
|
27
|
+
if (fill !== void 0) if (typeof encoding === "string") buf.fill(fill, encoding);
|
|
28
|
+
else buf.fill(fill);
|
|
29
|
+
else buf.fill(0);
|
|
30
|
+
return buf;
|
|
31
|
+
};
|
|
32
|
+
SafeBuffer.allocUnsafe = function(size) {
|
|
33
|
+
if (typeof size !== "number") throw new TypeError("Argument must be a number");
|
|
34
|
+
return Buffer(size);
|
|
35
|
+
};
|
|
36
|
+
SafeBuffer.allocUnsafeSlow = function(size) {
|
|
37
|
+
if (typeof size !== "number") throw new TypeError("Argument must be a number");
|
|
38
|
+
return buffer.SlowBuffer(size);
|
|
39
|
+
};
|
|
40
|
+
}));
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region ../../node_modules/ms/index.js
|
|
43
|
+
var require_ms = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
44
|
+
/**
|
|
45
|
+
* Helpers.
|
|
46
|
+
*/
|
|
47
|
+
var s = 1e3;
|
|
48
|
+
var m = s * 60;
|
|
49
|
+
var h = m * 60;
|
|
50
|
+
var d = h * 24;
|
|
51
|
+
var w = d * 7;
|
|
52
|
+
var y = d * 365.25;
|
|
53
|
+
/**
|
|
54
|
+
* Parse or format the given `val`.
|
|
55
|
+
*
|
|
56
|
+
* Options:
|
|
57
|
+
*
|
|
58
|
+
* - `long` verbose formatting [false]
|
|
59
|
+
*
|
|
60
|
+
* @param {String|Number} val
|
|
61
|
+
* @param {Object} [options]
|
|
62
|
+
* @throws {Error} throw an error if val is not a non-empty string or a number
|
|
63
|
+
* @return {String|Number}
|
|
64
|
+
* @api public
|
|
65
|
+
*/
|
|
66
|
+
module.exports = function(val, options) {
|
|
67
|
+
options = options || {};
|
|
68
|
+
var type = typeof val;
|
|
69
|
+
if (type === "string" && val.length > 0) return parse(val);
|
|
70
|
+
else if (type === "number" && isFinite(val)) return options.long ? fmtLong(val) : fmtShort(val);
|
|
71
|
+
throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(val));
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Parse the given `str` and return milliseconds.
|
|
75
|
+
*
|
|
76
|
+
* @param {String} str
|
|
77
|
+
* @return {Number}
|
|
78
|
+
* @api private
|
|
79
|
+
*/
|
|
80
|
+
function parse(str) {
|
|
81
|
+
str = String(str);
|
|
82
|
+
if (str.length > 100) return;
|
|
83
|
+
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
|
|
84
|
+
if (!match) return;
|
|
85
|
+
var n = parseFloat(match[1]);
|
|
86
|
+
switch ((match[2] || "ms").toLowerCase()) {
|
|
87
|
+
case "years":
|
|
88
|
+
case "year":
|
|
89
|
+
case "yrs":
|
|
90
|
+
case "yr":
|
|
91
|
+
case "y": return n * y;
|
|
92
|
+
case "weeks":
|
|
93
|
+
case "week":
|
|
94
|
+
case "w": return n * w;
|
|
95
|
+
case "days":
|
|
96
|
+
case "day":
|
|
97
|
+
case "d": return n * d;
|
|
98
|
+
case "hours":
|
|
99
|
+
case "hour":
|
|
100
|
+
case "hrs":
|
|
101
|
+
case "hr":
|
|
102
|
+
case "h": return n * h;
|
|
103
|
+
case "minutes":
|
|
104
|
+
case "minute":
|
|
105
|
+
case "mins":
|
|
106
|
+
case "min":
|
|
107
|
+
case "m": return n * m;
|
|
108
|
+
case "seconds":
|
|
109
|
+
case "second":
|
|
110
|
+
case "secs":
|
|
111
|
+
case "sec":
|
|
112
|
+
case "s": return n * s;
|
|
113
|
+
case "milliseconds":
|
|
114
|
+
case "millisecond":
|
|
115
|
+
case "msecs":
|
|
116
|
+
case "msec":
|
|
117
|
+
case "ms": return n;
|
|
118
|
+
default: return;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Short format for `ms`.
|
|
123
|
+
*
|
|
124
|
+
* @param {Number} ms
|
|
125
|
+
* @return {String}
|
|
126
|
+
* @api private
|
|
127
|
+
*/
|
|
128
|
+
function fmtShort(ms) {
|
|
129
|
+
var msAbs = Math.abs(ms);
|
|
130
|
+
if (msAbs >= d) return Math.round(ms / d) + "d";
|
|
131
|
+
if (msAbs >= h) return Math.round(ms / h) + "h";
|
|
132
|
+
if (msAbs >= m) return Math.round(ms / m) + "m";
|
|
133
|
+
if (msAbs >= s) return Math.round(ms / s) + "s";
|
|
134
|
+
return ms + "ms";
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Long format for `ms`.
|
|
138
|
+
*
|
|
139
|
+
* @param {Number} ms
|
|
140
|
+
* @return {String}
|
|
141
|
+
* @api private
|
|
142
|
+
*/
|
|
143
|
+
function fmtLong(ms) {
|
|
144
|
+
var msAbs = Math.abs(ms);
|
|
145
|
+
if (msAbs >= d) return plural(ms, msAbs, d, "day");
|
|
146
|
+
if (msAbs >= h) return plural(ms, msAbs, h, "hour");
|
|
147
|
+
if (msAbs >= m) return plural(ms, msAbs, m, "minute");
|
|
148
|
+
if (msAbs >= s) return plural(ms, msAbs, s, "second");
|
|
149
|
+
return ms + " ms";
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Pluralization helper.
|
|
153
|
+
*/
|
|
154
|
+
function plural(ms, msAbs, n, name) {
|
|
155
|
+
var isPlural = msAbs >= n * 1.5;
|
|
156
|
+
return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
|
|
157
|
+
}
|
|
158
|
+
}));
|
|
159
|
+
//#endregion
|
|
160
|
+
Object.defineProperty(exports, "require_ms", {
|
|
161
|
+
enumerable: true,
|
|
162
|
+
get: function() {
|
|
163
|
+
return require_ms;
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
Object.defineProperty(exports, "require_safe_buffer", {
|
|
167
|
+
enumerable: true,
|
|
168
|
+
get: function() {
|
|
169
|
+
return require_safe_buffer;
|
|
170
|
+
}
|
|
171
|
+
});
|