@onekeyfe/hd-transport 1.1.27-patch.1 → 1.2.0-alpha.0

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 (87) hide show
  1. package/README.md +2 -4
  2. package/__tests__/build-receive.test.js +6 -8
  3. package/__tests__/decode-features.test.js +3 -2
  4. package/__tests__/messages.test.js +8 -0
  5. package/__tests__/protocol-v2.test.js +754 -0
  6. package/dist/constants.d.ts +14 -5
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/index.d.ts +934 -41
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +827 -84
  11. package/dist/protocols/index.d.ts +45 -0
  12. package/dist/protocols/index.d.ts.map +1 -0
  13. package/dist/protocols/v1/decode.d.ts +11 -0
  14. package/dist/protocols/v1/decode.d.ts.map +1 -0
  15. package/dist/protocols/v1/encode.d.ts +11 -0
  16. package/dist/protocols/v1/encode.d.ts.map +1 -0
  17. package/dist/protocols/v1/index.d.ts +5 -0
  18. package/dist/protocols/v1/index.d.ts.map +1 -0
  19. package/dist/protocols/v1/packets.d.ts +7 -0
  20. package/dist/protocols/v1/packets.d.ts.map +1 -0
  21. package/dist/{serialization → protocols/v1}/receive.d.ts +1 -1
  22. package/dist/protocols/v1/receive.d.ts.map +1 -0
  23. package/dist/protocols/v2/constants.d.ts +7 -0
  24. package/dist/protocols/v2/constants.d.ts.map +1 -0
  25. package/dist/protocols/v2/crc8.d.ts +3 -0
  26. package/dist/protocols/v2/crc8.d.ts.map +1 -0
  27. package/dist/protocols/v2/debug.d.ts +13 -0
  28. package/dist/protocols/v2/debug.d.ts.map +1 -0
  29. package/dist/protocols/v2/decode.d.ts +8 -0
  30. package/dist/protocols/v2/decode.d.ts.map +1 -0
  31. package/dist/protocols/v2/encode.d.ts +5 -0
  32. package/dist/protocols/v2/encode.d.ts.map +1 -0
  33. package/dist/protocols/v2/frame-assembler.d.ts +12 -0
  34. package/dist/protocols/v2/frame-assembler.d.ts.map +1 -0
  35. package/dist/protocols/v2/index.d.ts +7 -0
  36. package/dist/protocols/v2/index.d.ts.map +1 -0
  37. package/dist/protocols/v2/session.d.ts +50 -0
  38. package/dist/protocols/v2/session.d.ts.map +1 -0
  39. package/dist/serialization/index.d.ts +6 -3
  40. package/dist/serialization/index.d.ts.map +1 -1
  41. package/dist/serialization/protobuf/decode.d.ts.map +1 -1
  42. package/dist/serialization/protobuf/messages.d.ts +1 -1
  43. package/dist/serialization/protobuf/messages.d.ts.map +1 -1
  44. package/dist/types/messages.d.ts +461 -11
  45. package/dist/types/messages.d.ts.map +1 -1
  46. package/dist/types/transport.d.ts +14 -2
  47. package/dist/types/transport.d.ts.map +1 -1
  48. package/dist/utils/logBlockCommand.d.ts.map +1 -1
  49. package/messages-protocol-v2.json +13369 -0
  50. package/package.json +3 -3
  51. package/scripts/protobuf-build.sh +314 -20
  52. package/scripts/protobuf-patches/TxInputType.js +1 -0
  53. package/scripts/protobuf-patches/index.js +2 -0
  54. package/scripts/protobuf-types.js +224 -18
  55. package/src/constants.ts +42 -6
  56. package/src/index.ts +39 -11
  57. package/src/protocols/index.ts +144 -0
  58. package/src/{serialization/protocol → protocols/v1}/decode.ts +4 -4
  59. package/src/{serialization/protocol → protocols/v1}/encode.ts +18 -13
  60. package/src/protocols/v1/index.ts +4 -0
  61. package/src/protocols/v1/packets.ts +53 -0
  62. package/src/{serialization → protocols/v1}/receive.ts +5 -5
  63. package/src/protocols/v2/constants.ts +6 -0
  64. package/src/protocols/v2/crc8.ts +34 -0
  65. package/src/protocols/v2/debug.ts +26 -0
  66. package/src/protocols/v2/decode.ts +92 -0
  67. package/src/protocols/v2/encode.ts +116 -0
  68. package/src/protocols/v2/frame-assembler.ts +98 -0
  69. package/src/protocols/v2/index.ts +6 -0
  70. package/src/protocols/v2/session.ts +429 -0
  71. package/src/serialization/index.ts +6 -5
  72. package/src/serialization/protobuf/decode.ts +7 -0
  73. package/src/serialization/protobuf/messages.ts +8 -4
  74. package/src/types/messages.ts +606 -13
  75. package/src/types/transport.ts +26 -2
  76. package/src/utils/logBlockCommand.ts +9 -1
  77. package/dist/serialization/protocol/decode.d.ts +0 -11
  78. package/dist/serialization/protocol/decode.d.ts.map +0 -1
  79. package/dist/serialization/protocol/encode.d.ts +0 -11
  80. package/dist/serialization/protocol/encode.d.ts.map +0 -1
  81. package/dist/serialization/protocol/index.d.ts +0 -3
  82. package/dist/serialization/protocol/index.d.ts.map +0 -1
  83. package/dist/serialization/receive.d.ts.map +0 -1
  84. package/dist/serialization/send.d.ts +0 -7
  85. package/dist/serialization/send.d.ts.map +0 -1
  86. package/src/serialization/protocol/index.ts +0 -2
  87. package/src/serialization/send.ts +0 -58
@@ -0,0 +1,45 @@
1
+ /// <reference types="node" />
2
+ import ByteBuffer from 'bytebuffer';
3
+ import { encodeEnvelopeMessage } from './v1/packets';
4
+ import { decodeMessage as decodeV1Message } from './v1/receive';
5
+ import type { Root } from 'protobufjs/light';
6
+ import type { ProtocolV2DebugLogger } from './v2';
7
+ export declare const PROTOCOL_V2_SYS_MESSAGE_THRESHOLD = 60000;
8
+ type ProtocolV2Schemas = {
9
+ protocolV1: Root;
10
+ protocolV2: Root;
11
+ };
12
+ type ProtocolV2FrameOptions = {
13
+ packetSrc?: number;
14
+ router?: number;
15
+ seq?: number;
16
+ logger?: ProtocolV2DebugLogger;
17
+ logPrefix?: string;
18
+ context?: string;
19
+ };
20
+ export declare const ProtocolV1: {
21
+ encodeEnvelope: typeof encodeEnvelopeMessage;
22
+ encodeMessageChunks: (messages: Root, name: string, data: Record<string, unknown>) => Buffer[];
23
+ encodeTransportPackets: (messages: Root, name: string, data: Record<string, unknown>) => ByteBuffer[];
24
+ decodeFirstChunk: (bytes: ArrayBuffer) => {
25
+ length: number;
26
+ typeId: number;
27
+ restBuffer: ByteBuffer;
28
+ };
29
+ decodeMessage: typeof decodeV1Message;
30
+ };
31
+ export declare const ProtocolV2: {
32
+ encodeFrame(schemas: ProtocolV2Schemas, name: string, data: Record<string, unknown>, options?: ProtocolV2FrameOptions): Uint8Array;
33
+ decodeFrame(schemas: ProtocolV2Schemas, frame: Uint8Array, options?: Pick<ProtocolV2FrameOptions, 'logger' | 'logPrefix' | 'context'>): {
34
+ message: {
35
+ [key: string]: any;
36
+ };
37
+ messageName: string;
38
+ messageTypeId: number;
39
+ pbPayload: Uint8Array;
40
+ seq: number;
41
+ type: string;
42
+ };
43
+ };
44
+ export {};
45
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocols/index.ts"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,qBAAqB,EAA+C,MAAM,cAAc,CAAC;AAElG,OAAO,EAAE,aAAa,IAAI,eAAe,EAAE,MAAM,cAAc,CAAC;AAMhE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,MAAM,CAAC;AAElD,eAAO,MAAM,iCAAiC,QAAQ,CAAC;AAEvD,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;CAClB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAqCF,eAAO,MAAM,UAAU;;;;;;;;;;CAOtB,CAAC;AAEF,eAAO,MAAM,UAAU;yBAEV,iBAAiB,QACpB,MAAM,QACN,OAAO,MAAM,EAAE,OAAO,CAAC,YACpB,sBAAsB;yBAkCtB,iBAAiB,SACnB,UAAU,YACR,KAAK,sBAAsB,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;;;;;;;;;;CA4B5E,CAAC"}
@@ -0,0 +1,11 @@
1
+ import ByteBuffer from 'bytebuffer';
2
+ export declare const decodeEnvelope: (byteBuffer: ByteBuffer) => {
3
+ typeId: number;
4
+ buffer: ByteBuffer;
5
+ };
6
+ export declare const decodeFirstChunk: (bytes: ArrayBuffer) => {
7
+ length: number;
8
+ typeId: number;
9
+ restBuffer: ByteBuffer;
10
+ };
11
+ //# sourceMappingURL=decode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../../src/protocols/v1/decode.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AA0BpC,eAAO,MAAM,cAAc,eAAgB,UAAU;;;CAOpD,CAAC;AAIF,eAAO,MAAM,gBAAgB,UAAW,WAAW;;;;CAWlD,CAAC"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="node" />
2
+ import ByteBuffer from 'bytebuffer';
3
+ type Options<Chunked> = {
4
+ chunked: Chunked;
5
+ addTrezorHeaders: boolean;
6
+ messageTypeId: number;
7
+ };
8
+ declare function encodeEnvelope(data: ByteBuffer, options: Options<true>): Buffer[];
9
+ declare function encodeEnvelope(data: ByteBuffer, options: Options<false>): Buffer;
10
+ export { encodeEnvelope };
11
+ //# sourceMappingURL=encode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../../src/protocols/v1/encode.ts"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAQpC,KAAK,OAAO,CAAC,OAAO,IAAI;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,iBAAS,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;AAC5E,iBAAS,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;AAgD3E,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './decode';
2
+ export * from './encode';
3
+ export * from './packets';
4
+ export * from './receive';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/protocols/v1/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="node" />
2
+ import ByteBuffer from 'bytebuffer';
3
+ import type { Root } from 'protobufjs/light';
4
+ export declare function encodeEnvelopeMessage(messages: Root, name: string, data: Record<string, unknown>): Buffer;
5
+ export declare const encodeMessageChunks: (messages: Root, name: string, data: Record<string, unknown>) => Buffer[];
6
+ export declare const encodeTransportPackets: (messages: Root, name: string, data: Record<string, unknown>) => ByteBuffer[];
7
+ //# sourceMappingURL=packets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packets.d.ts","sourceRoot":"","sources":["../../../src/protocols/v1/packets.ts"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAOpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAShG;AAED,eAAO,MAAM,mBAAmB,aACpB,IAAI,QACR,MAAM,QACN,OAAO,MAAM,EAAE,OAAO,CAAC,aAS9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,aACvB,IAAI,QACR,MAAM,QACN,OAAO,MAAM,EAAE,OAAO,CAAC,iBAe9B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Root } from 'protobufjs/light';
2
- export declare function receiveOne(messages: Root, data: string): {
2
+ export declare function decodeMessage(messages: Root, data: string): {
3
3
  message: {
4
4
  [key: string]: any;
5
5
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receive.d.ts","sourceRoot":"","sources":["../../../src/protocols/v1/receive.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM;;;;;EAUzD"}
@@ -0,0 +1,7 @@
1
+ export declare const PROTO_HEAD_SOF = 90;
2
+ export declare const PROTO_PRE_HEAD_SIZE = 4;
3
+ export declare const PROTO_HEAD_CRC_SIZE = 8;
4
+ export declare const CRC8_INIT = 48;
5
+ export declare const PACKET_SIZE = 4096;
6
+ export declare const PROTO_DATA_TYPE_PACKET = 0;
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/protocols/v2/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,KAAO,CAAC;AACnC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,WAAW,OAAO,CAAC;AAChC,eAAO,MAAM,sBAAsB,IAAI,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const CRC8_TABLE: Uint8Array;
2
+ export declare function crc8(data: Uint8Array, len: number): number;
3
+ //# sourceMappingURL=crc8.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crc8.d.ts","sourceRoot":"","sources":["../../../src/protocols/v2/crc8.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,YAiBrB,CAAC;AAKH,wBAAgB,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAO1D"}
@@ -0,0 +1,13 @@
1
+ export type ProtocolV2DebugLogger = {
2
+ debug?: (...args: unknown[]) => void;
3
+ };
4
+ export type ProtocolV2FrameDebugOptions = {
5
+ logger?: ProtocolV2DebugLogger;
6
+ logPrefix?: string;
7
+ context?: string;
8
+ messageName?: string;
9
+ messageTypeId?: number;
10
+ pbPayloadLength?: number;
11
+ };
12
+ export declare function logProtocolV2Debug(options: ProtocolV2FrameDebugOptions | undefined, stage: string, details: Record<string, unknown>): void;
13
+ //# sourceMappingURL=debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/protocols/v2/debug.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,2BAA2B,GAAG,SAAS,EAChD,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QASjC"}
@@ -0,0 +1,8 @@
1
+ import type { ProtocolV2FrameDebugOptions } from './debug';
2
+ export interface ProtoV2Frame {
3
+ messageTypeId: number;
4
+ pbPayload: Uint8Array;
5
+ seq: number;
6
+ }
7
+ export declare function decodeFrame(data: Uint8Array, debugOptions?: ProtocolV2FrameDebugOptions): ProtoV2Frame;
8
+ //# sourceMappingURL=decode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../../src/protocols/v2/decode.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAE3D,MAAM,WAAW,YAAY;IAE3B,aAAa,EAAE,MAAM,CAAC;IAEtB,SAAS,EAAE,UAAU,CAAC;IAEtB,GAAG,EAAE,MAAM,CAAC;CACb;AAYD,wBAAgB,WAAW,CACzB,IAAI,EAAE,UAAU,EAChB,YAAY,CAAC,EAAE,2BAA2B,GACzC,YAAY,CA+Dd"}
@@ -0,0 +1,5 @@
1
+ import type { ProtocolV2FrameDebugOptions } from './debug';
2
+ export declare function nextProtoSeq(current: number): number;
3
+ export declare function encodeFrame(payload: Uint8Array | null, packetSrc?: number, router?: number, debugOptions?: ProtocolV2FrameDebugOptions, seq?: number): Uint8Array;
4
+ export declare function encodeProtobufFrame(messageTypeId: number, pbPayload: Uint8Array, packetSrc?: number, router?: number, debugOptions?: ProtocolV2FrameDebugOptions, seq?: number): Uint8Array;
5
+ //# sourceMappingURL=encode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../../src/protocols/v2/encode.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAU3D,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAgBD,wBAAgB,WAAW,CACzB,OAAO,EAAE,UAAU,GAAG,IAAI,EAC1B,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,2BAA2B,EAC1C,GAAG,CAAC,EAAE,MAAM,GACX,UAAU,CA4CZ;AASD,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,UAAU,EACrB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,2BAA2B,EAC1C,GAAG,CAAC,EAAE,MAAM,GACX,UAAU,CAgBZ"}
@@ -0,0 +1,12 @@
1
+ export declare function concatUint8Arrays(arrays: Uint8Array[]): Uint8Array;
2
+ export declare class ProtocolV2FrameAssembler {
3
+ private buffer;
4
+ private readonly maxFrameBytes;
5
+ constructor(maxFrameBytes?: number);
6
+ reset(): void;
7
+ push(chunk: Uint8Array): Uint8Array | undefined;
8
+ drain(chunk?: Uint8Array): Uint8Array[];
9
+ private append;
10
+ private extractFrame;
11
+ }
12
+ //# sourceMappingURL=frame-assembler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-assembler.d.ts","sourceRoot":"","sources":["../../../src/protocols/v2/frame-assembler.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CASlE;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,CAAqB;IAEnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,aAAa,SAA8B;IAIvD,KAAK;IAIL,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS;IAU/C,KAAK,CAAC,KAAK,GAAE,UAA8B,GAAG,UAAU,EAAE;IAW1D,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,YAAY;CA0CrB"}
@@ -0,0 +1,7 @@
1
+ export * from './constants';
2
+ export * from './crc8';
3
+ export * from './debug';
4
+ export * from './encode';
5
+ export * from './decode';
6
+ export * from './frame-assembler';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/protocols/v2/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { ProtocolV2FrameAssembler, concatUint8Arrays } from './frame-assembler';
2
+ import type { Root } from 'protobufjs/light';
3
+ import type { MessageFromOneKey } from '../../types';
4
+ export type ProtocolV2Schemas = {
5
+ protocolV1: Root;
6
+ protocolV2: Root;
7
+ };
8
+ type ProtocolLogger = {
9
+ debug?: (...args: any[]) => void;
10
+ error?: (...args: any[]) => void;
11
+ };
12
+ export type ProtocolV2SessionOptions = {
13
+ schemas: ProtocolV2Schemas;
14
+ router: number;
15
+ packetSrc?: number;
16
+ writeFrame: (frame: Uint8Array) => Promise<void>;
17
+ readFrame: () => Promise<Uint8Array>;
18
+ logger?: ProtocolLogger;
19
+ logPrefix?: string;
20
+ createTimeoutError?: (name: string, timeoutMs: number) => Error;
21
+ };
22
+ export type ProtocolV2CallOptions = {
23
+ timeoutMs?: number;
24
+ expectedTypes?: string[];
25
+ intermediateTypes?: string[];
26
+ onIntermediateResponse?: (response: MessageFromOneKey) => void;
27
+ };
28
+ export { concatUint8Arrays, ProtocolV2FrameAssembler };
29
+ export declare function hexToBytes(hex: string): Uint8Array;
30
+ export declare function bytesToHex(bytes: Uint8Array): string;
31
+ export declare function getErrorMessage(error: unknown): string;
32
+ export declare function withProtocolTimeout<T>(promise: Promise<T>, timeoutMs: number | undefined, createTimeoutError: () => Error, onTimeout?: () => void): Promise<T>;
33
+ export declare const PROTOCOL_V2_WRITE_WATCHDOG_TIMEOUT_MS = 30000;
34
+ export declare class ProtocolV2Session {
35
+ private readonly options;
36
+ private pendingCall;
37
+ private protoSeq;
38
+ constructor(options: ProtocolV2SessionOptions);
39
+ call(name: string, data: Record<string, unknown>, callOptions?: ProtocolV2CallOptions): Promise<MessageFromOneKey>;
40
+ private executeCall;
41
+ }
42
+ export declare function probeProtocolV2({ call, timeoutMs, logger, logPrefix, onBeforeProbe, onProbeFailed, }: {
43
+ call: (name: string, data: Record<string, unknown>, options?: ProtocolV2CallOptions) => Promise<MessageFromOneKey>;
44
+ timeoutMs: number;
45
+ logger?: ProtocolLogger;
46
+ logPrefix?: string;
47
+ onBeforeProbe?: () => Promise<void> | void;
48
+ onProbeFailed?: (error: unknown) => Promise<void> | void;
49
+ }): Promise<boolean>;
50
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/protocols/v2/session.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import { parseConfigure } from './protobuf';
2
- export * from './send';
3
- export * from './receive';
4
- export * as decodeProtocol from './protocol/decode';
5
2
  export { parseConfigure };
3
+ export { createMessageFromName, createMessageFromType } from './protobuf/messages';
4
+ export { encode as encodeProtobuf } from './protobuf/encode';
5
+ export { decode as decodeProtobuf } from './protobuf/decode';
6
+ export { PROTOCOL_V2_SYS_MESSAGE_THRESHOLD, ProtocolV1, ProtocolV2 } from '../protocols';
7
+ export * as protocolV1 from '../protocols/v1';
8
+ export * as protocolV2 from '../protocols/v2';
6
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/serialization/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAE1B,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/serialization/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACzF,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../../src/serialization/protobuf/decode.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAIpC,OAAO,KAAK,EAAkB,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAsE7D,eAAO,MAAM,MAAM,YAAa,IAAI,QAAQ,UAAU;;CAsBrD,CAAC"}
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../../src/serialization/protobuf/decode.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAIpC,OAAO,KAAK,EAAkB,IAAI,EAAE,MAAM,kBAAkB,CAAC;AA6E7D,eAAO,MAAM,MAAM,YAAa,IAAI,QAAQ,UAAU;;CAsBrD,CAAC"}
@@ -2,7 +2,7 @@ import * as protobuf from 'protobufjs/light';
2
2
  export declare function parseConfigure(data: protobuf.INamespace): protobuf.Root;
3
3
  export declare const createMessageFromName: (messages: protobuf.Root, name: string) => {
4
4
  Message: protobuf.Type;
5
- messageType: number;
5
+ messageTypeId: number;
6
6
  };
7
7
  export declare const createMessageFromType: (messages: protobuf.Root, typeId: number) => {
8
8
  Message: protobuf.Type;
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/serialization/protobuf/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAE7C,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,iBAMvD;AAED,eAAO,MAAM,qBAAqB,aAAc,SAAS,IAAI,QAAQ,MAAM;;;CAa1E,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAAc,SAAS,IAAI,UAAU,MAAM;;;CAW5E,CAAC"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/serialization/protobuf/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAE7C,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,iBAMvD;AAED,eAAO,MAAM,qBAAqB,aAAc,SAAS,IAAI,QAAQ,MAAM;;;CAiB1E,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAAc,SAAS,IAAI,UAAU,MAAM;;;CAW5E,CAAC"}