@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.
Files changed (133) hide show
  1. package/dist/addon-runner.js +4 -2
  2. package/dist/addon-runner.mjs +4 -2
  3. package/dist/addon-utils.js +1 -1
  4. package/dist/addon-utils.mjs +1 -1
  5. package/dist/auth/admin-token-manager.d.ts +75 -0
  6. package/dist/auth/api-key-manager.d.ts +1 -14
  7. package/dist/auth/auth-audit-log.d.ts +59 -0
  8. package/dist/auth/auth-manager.d.ts +28 -16
  9. package/dist/auth/cidr.d.ts +22 -0
  10. package/dist/auth/login-session-manager.d.ts +158 -0
  11. package/dist/auth/user-management-internal.d.ts +69 -0
  12. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  13. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  14. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  15. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  16. package/dist/builtins/alerts/alerts.addon.js +1 -1
  17. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  18. package/dist/builtins/autotrack/index.js +1 -1
  19. package/dist/builtins/autotrack/index.mjs +1 -1
  20. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts +14 -0
  21. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +291 -3631
  22. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +284 -3617
  23. package/dist/builtins/backup-orchestrator/encryption-key-store.d.ts +36 -0
  24. package/dist/builtins/backup-orchestrator/manifest-store.d.ts +19 -1
  25. package/dist/builtins/backup-orchestrator/restore-archive.d.ts +24 -0
  26. package/dist/builtins/calendars/calendars.addon.js +1 -1
  27. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  28. package/dist/builtins/camera-grid/index.js +1 -1
  29. package/dist/builtins/camera-grid/index.mjs +1 -1
  30. package/dist/builtins/composer/composer.addon.js +2 -2
  31. package/dist/builtins/composer/composer.addon.mjs +2 -2
  32. package/dist/builtins/console-logging/index.js +1 -1
  33. package/dist/builtins/console-logging/index.mjs +1 -1
  34. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  35. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  36. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  37. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  38. package/dist/builtins/hub-forwarder/index.js +1 -1
  39. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  40. package/dist/builtins/keychain/index.js +1110 -735
  41. package/dist/builtins/keychain/index.mjs +1109 -734
  42. package/dist/builtins/keychain/keychain-reset-trigger.d.ts +25 -0
  43. package/dist/builtins/keychain/keychain-service.d.ts +36 -3
  44. package/dist/builtins/keychain/keychain-store.d.ts +24 -1
  45. package/dist/builtins/keychain/system-held-secrets.d.ts +2 -1
  46. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  47. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  48. package/dist/builtins/local-auth/local-auth.addon.d.ts +16 -0
  49. package/dist/builtins/local-auth/local-auth.addon.js +1028 -294
  50. package/dist/builtins/local-auth/local-auth.addon.mjs +1035 -299
  51. package/dist/builtins/local-network/local-network.addon.js +3 -3
  52. package/dist/builtins/local-network/local-network.addon.mjs +3 -3
  53. package/dist/builtins/loki-logging/index.js +97 -29
  54. package/dist/builtins/loki-logging/index.mjs +97 -29
  55. package/dist/builtins/loki-logging/loki-logging.addon.d.ts +7 -23
  56. package/dist/builtins/loki-logging/retire-enabled-flag.d.ts +23 -0
  57. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  58. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  59. package/dist/builtins/platform-probe/index.js +1 -1
  60. package/dist/builtins/platform-probe/index.mjs +1 -1
  61. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  62. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  63. package/dist/builtins/snapshot/index.js +1 -1
  64. package/dist/builtins/snapshot/index.mjs +1 -1
  65. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  66. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  67. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  68. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  69. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +2 -2
  70. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +2 -2
  71. package/dist/builtins/system-backup/backup-encryption.d.ts +57 -0
  72. package/dist/builtins/system-backup/system-backup.service.d.ts +16 -1
  73. package/dist/builtins/system-config/cluster-secret-keeper.d.ts +7 -0
  74. package/dist/builtins/system-config/index.d.ts +1 -0
  75. package/dist/builtins/system-config/index.js +2 -0
  76. package/dist/builtins/system-config/index.mjs +2 -2
  77. package/dist/builtins/system-config/mesh-actions.d.ts +19 -0
  78. package/dist/builtins/system-config/system-config.addon.d.ts +47 -4
  79. package/dist/builtins/system-config/system-config.addon.js +87858 -43
  80. package/dist/builtins/system-config/system-config.addon.mjs +87813 -39
  81. package/dist/builtins/winston-logging/index.js +1 -1
  82. package/dist/builtins/winston-logging/index.mjs +1 -1
  83. package/dist/{child-cap-dispatch-hf-Gce_4.js → child-cap-dispatch-BD8fhJ1b.js} +7 -4
  84. package/dist/{child-cap-dispatch-BTe4eKep.mjs → child-cap-dispatch-C68N2a6Y.mjs} +11 -8
  85. package/dist/{composition-sources-4SmsP0O4.js → composition-sources-ChpT_Yw4.js} +1 -1
  86. package/dist/{composition-sources-CgOQVIwa.mjs → composition-sources-DM7Ft_tp.mjs} +1 -1
  87. package/dist/{cluster-secret-BUiG8DCo.js → constants-CDpry1_T.js} +82 -1
  88. package/dist/{cluster-secret-DgJTZ4qY.mjs → constants-e3mCa1jG.mjs} +23 -2
  89. package/dist/{dist-BugrtARh.js → dist-CUNGH0fs.js} +1755 -157
  90. package/dist/{dist-BC0GnGeg.mjs → dist-osl3bkF0.mjs} +1732 -158
  91. package/dist/{event-loop-stall-monitor-GgpnfAC0.mjs → event-loop-stall-monitor-BeeWMnyT.mjs} +15 -15
  92. package/dist/{event-loop-stall-monitor-CnQ-K6Gn.js → event-loop-stall-monitor-Dk28EF8B.js} +15 -15
  93. package/dist/{hub-cap-forward-CH6_VWVO.mjs → hub-cap-forward-CDiN1p98.mjs} +18 -2
  94. package/dist/{hub-cap-forward-COCmYaup.js → hub-cap-forward-W8oEm4ME.js} +23 -1
  95. package/dist/index.d.ts +16 -1
  96. package/dist/index.js +1023 -83525
  97. package/dist/index.mjs +1218 -83794
  98. package/dist/{jwt-signing-key-CsuVKA1W.mjs → jwt-signing-key-MQLxLfgF.mjs} +1 -1
  99. package/dist/{jwt-signing-key-CjoZcol8.js → jwt-signing-key-WI6z7JBo.js} +1 -1
  100. package/dist/kernel/index.d.ts +17 -1
  101. package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +41 -0
  102. package/dist/kernel/moleculer/broker-factory.d.ts +25 -2
  103. package/dist/kernel/moleculer/child-addon-call-dispatch.d.ts +1 -0
  104. package/dist/kernel/moleculer/hub-service.d.ts +9 -0
  105. package/dist/kernel/moleculer/mesh-access-middleware.d.ts +33 -0
  106. package/dist/kernel/moleculer/mesh-auth-mode.d.ts +64 -0
  107. package/dist/kernel/moleculer/mesh-authenticator.d.ts +71 -0
  108. package/dist/kernel/moleculer/mesh-auto-enforce.d.ts +26 -0
  109. package/dist/kernel/moleculer/mesh-join-client.d.ts +51 -0
  110. package/dist/kernel/moleculer/mesh-join-proof.d.ts +39 -0
  111. package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +20 -0
  112. package/dist/kernel/moleculer/mesh-mtls/index.d.ts +9 -0
  113. package/dist/kernel/moleculer/mesh-mtls/mesh-ca-keeper.d.ts +55 -0
  114. package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +45 -0
  115. package/dist/kernel/moleculer/mesh-mtls/mesh-crl.d.ts +16 -0
  116. package/dist/kernel/moleculer/mesh-mtls/mesh-enroll.d.ts +27 -0
  117. package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +55 -0
  118. package/dist/kernel/moleculer/mesh-mtls/mesh-tls-enabler.d.ts +5 -0
  119. package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +92 -0
  120. package/dist/kernel/system-settings-policy.d.ts +4 -3
  121. package/dist/kernel/transport/hub-cap-forward.d.ts +14 -3
  122. package/dist/kernel/transport/index.d.ts +1 -1
  123. package/dist/ms-DlIWNkkk.mjs +160 -0
  124. package/dist/ms-t68_FaqE.js +171 -0
  125. package/dist/restore-archive-C5f9yX90.js +4139 -0
  126. package/dist/restore-archive-CZRtI1k9.mjs +4045 -0
  127. package/dist/{retired-settings-keys-MCVhxPkJ.mjs → retired-settings-keys-LuDd4y3M.mjs} +1 -1
  128. package/dist/{retired-settings-keys-DCuetwOt.js → retired-settings-keys-WLrbzdPR.js} +1 -1
  129. package/dist/tls-BWpwU-d5.js +1160 -0
  130. package/dist/tls-C2NT-Orr.mjs +949 -0
  131. package/dist/{tls-CCMX7MjX.js → x509.es-BhTzcFhZ.js} +65 -1108
  132. package/dist/{tls-CJHogwTl.mjs → x509.es-Xf3K_brW.mjs} +40 -950
  133. 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
- * today `auth.tokenExpiry`, the one value the operator edits in the UI
17
- * (System → Authentication). Widening this list is a security decision, not a
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 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}).
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
+ });