@7h3/protocol 0.5.1 → 0.5.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@7h3/protocol",
3
- "version": "0.5.1",
3
+ "version": "0.5.3",
4
4
  "description": "7h3 Protocol: deterministic, signed, replay-safe AI-to-AI message envelopes (wire 7h3/0.1).",
5
5
  "type": "module",
6
6
  "main": "./index.js",
package/protocol.d.ts CHANGED
@@ -37,6 +37,11 @@ export type SignatureVerificationMaterial = {
37
37
  publicKey: string;
38
38
  };
39
39
  export declare function canonicalizeEnvelope(envelope: Omit<ProtocolEnvelope, 'signature'>): string;
40
+ /**
41
+ * Cryptographically secure random hex string. Nonces are the replay-protection
42
+ * primitive, so they must come from a CSPRNG — never Math.random().
43
+ */
44
+ export declare function randomHex(bytes?: number): string;
40
45
  export declare function signCanonicalPayloadHmac(payload: string, secret: string): Promise<string>;
41
46
  export declare function verifyCanonicalPayloadHmac(payload: string, signature: string, secret: string): Promise<boolean>;
42
47
  export declare function generateEd25519KeypairBase64Url(): Promise<{
package/replayStores.d.ts CHANGED
@@ -14,8 +14,8 @@ export interface RedisClientLike {
14
14
  px?: number;
15
15
  }): Promise<string | null>;
16
16
  get(key: string): Promise<string | null>;
17
- del(key: string): Promise<number | any>;
18
- quit(): Promise<any>;
17
+ del(key: string): Promise<number | unknown>;
18
+ quit(): Promise<unknown>;
19
19
  }
20
20
  /**
21
21
  * Gateway-facing replay store interface.
package/wsBinding.d.ts CHANGED
@@ -3,13 +3,15 @@ import type { KeyRegistry } from './keyRegistry';
3
3
  import { SignedStreamWriter, type StreamSignerOpts, type StreamVerifierOpts, type StreamVerifyResult, type StreamChunk } from './stream';
4
4
  export { type KeyRegistry, generateEd25519KeypairBase64Url };
5
5
  export type { StreamSignerOpts, StreamVerifierOpts, StreamVerifyResult, StreamChunk };
6
+ export type WsMessageHandler = (e: {
7
+ data: string | Buffer;
8
+ }) => void;
9
+ export type WsCloseHandler = () => void;
6
10
  export interface WebSocketLike {
7
11
  send(data: string): void;
8
- addEventListener(event: 'message', handler: (e: {
9
- data: string | Buffer;
10
- }) => void): void;
11
- addEventListener(event: 'close', handler: () => void): void;
12
- removeEventListener(event: string, handler: (...args: unknown[]) => void): void;
12
+ addEventListener(event: 'message', handler: WsMessageHandler): void;
13
+ addEventListener(event: 'close', handler: WsCloseHandler): void;
14
+ removeEventListener(event: 'message' | 'close', handler: WsMessageHandler | WsCloseHandler): void;
13
15
  readyState?: number;
14
16
  }
15
17
  export interface WsBindingOptions {