@ledgerhq/device-mockserver-client 0.0.0-develop-20260622003722 → 0.0.0-develop-20260624002956

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 (154) hide show
  1. package/lib/cjs/package.json +8 -2
  2. package/lib/cjs/src/DmkNetworkClient.stub.js +2 -0
  3. package/lib/cjs/src/DmkNetworkClient.stub.js.map +7 -0
  4. package/lib/cjs/src/MockClient.js +1 -1
  5. package/lib/cjs/src/MockClient.js.map +3 -3
  6. package/lib/cjs/src/MockClient.test.js +2 -0
  7. package/lib/cjs/src/MockClient.test.js.map +7 -0
  8. package/lib/cjs/src/index.js +1 -1
  9. package/lib/cjs/src/index.js.map +3 -3
  10. package/lib/cjs/src/model/Auth.js +2 -0
  11. package/lib/cjs/src/model/Auth.js.map +7 -0
  12. package/lib/cjs/src/model/CommandResponse.js +1 -1
  13. package/lib/cjs/src/model/CommandResponse.js.map +3 -3
  14. package/lib/cjs/src/model/Device.js +1 -1
  15. package/lib/cjs/src/model/Device.js.map +3 -3
  16. package/lib/cjs/src/model/Mock.js +1 -1
  17. package/lib/cjs/src/model/Mock.js.map +3 -3
  18. package/lib/cjs/src/model/Session.js +1 -1
  19. package/lib/cjs/src/model/Session.js.map +3 -3
  20. package/lib/cjs/src/model/SessionExport.js +2 -0
  21. package/lib/cjs/src/model/SessionExport.js.map +7 -0
  22. package/lib/cjs/src/model/Speculos.js +2 -0
  23. package/lib/cjs/src/model/Speculos.js.map +7 -0
  24. package/lib/esm/package.json +8 -2
  25. package/lib/esm/src/DmkNetworkClient.stub.js +2 -0
  26. package/lib/esm/src/DmkNetworkClient.stub.js.map +7 -0
  27. package/lib/esm/src/MockClient.js +1 -1
  28. package/lib/esm/src/MockClient.js.map +3 -3
  29. package/lib/esm/src/MockClient.test.js +2 -0
  30. package/lib/esm/src/MockClient.test.js.map +7 -0
  31. package/lib/esm/src/index.js +1 -1
  32. package/lib/esm/src/index.js.map +3 -3
  33. package/lib/esm/src/model/Auth.js +2 -0
  34. package/lib/esm/src/model/Auth.js.map +7 -0
  35. package/lib/esm/src/model/CommandResponse.js +1 -1
  36. package/lib/esm/src/model/CommandResponse.js.map +3 -3
  37. package/lib/esm/src/model/Device.js +1 -1
  38. package/lib/esm/src/model/Device.js.map +3 -3
  39. package/lib/esm/src/model/Mock.js +1 -1
  40. package/lib/esm/src/model/Mock.js.map +3 -3
  41. package/lib/esm/src/model/Session.js +1 -1
  42. package/lib/esm/src/model/Session.js.map +3 -3
  43. package/lib/esm/src/model/SessionExport.js +2 -0
  44. package/lib/esm/src/model/SessionExport.js.map +7 -0
  45. package/lib/esm/src/model/Speculos.js +2 -0
  46. package/lib/esm/src/model/Speculos.js.map +7 -0
  47. package/lib/types/src/DmkNetworkClient.stub.d.ts +18 -0
  48. package/lib/types/src/DmkNetworkClient.stub.d.ts.map +1 -0
  49. package/lib/types/src/MockClient.d.ts +64 -21
  50. package/lib/types/src/MockClient.d.ts.map +1 -1
  51. package/lib/types/src/MockClient.test.d.ts +2 -0
  52. package/lib/types/src/MockClient.test.d.ts.map +1 -0
  53. package/lib/types/src/index.d.ts +8 -4
  54. package/lib/types/src/index.d.ts.map +1 -1
  55. package/lib/types/src/model/Auth.d.ts +38 -0
  56. package/lib/types/src/model/Auth.d.ts.map +1 -0
  57. package/lib/types/src/model/CommandResponse.d.ts +11 -5
  58. package/lib/types/src/model/CommandResponse.d.ts.map +1 -1
  59. package/lib/types/src/model/Device.d.ts +65 -7
  60. package/lib/types/src/model/Device.d.ts.map +1 -1
  61. package/lib/types/src/model/Mock.d.ts +32 -6
  62. package/lib/types/src/model/Mock.d.ts.map +1 -1
  63. package/lib/types/src/model/Session.d.ts +27 -10
  64. package/lib/types/src/model/Session.d.ts.map +1 -1
  65. package/lib/types/src/model/SessionExport.d.ts +32 -0
  66. package/lib/types/src/model/SessionExport.d.ts.map +1 -0
  67. package/lib/types/src/model/Speculos.d.ts +20 -0
  68. package/lib/types/src/model/Speculos.d.ts.map +1 -0
  69. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  70. package/package.json +9 -3
  71. package/lib/cjs/src/DefaultHttpClient.js +0 -2
  72. package/lib/cjs/src/DefaultHttpClient.js.map +0 -7
  73. package/lib/cjs/src/DefaultHttpClient.stub.js +0 -2
  74. package/lib/cjs/src/DefaultHttpClient.stub.js.map +0 -7
  75. package/lib/cjs/src/HttpClient.js +0 -2
  76. package/lib/cjs/src/HttpClient.js.map +0 -7
  77. package/lib/cjs/src/model/ComandResponse.test.js +0 -2
  78. package/lib/cjs/src/model/ComandResponse.test.js.map +0 -7
  79. package/lib/cjs/src/model/CommandResponse.stub.js +0 -2
  80. package/lib/cjs/src/model/CommandResponse.stub.js.map +0 -7
  81. package/lib/cjs/src/model/Device.stub.js +0 -2
  82. package/lib/cjs/src/model/Device.stub.js.map +0 -7
  83. package/lib/cjs/src/model/Mock.stub.js +0 -2
  84. package/lib/cjs/src/model/Mock.stub.js.map +0 -7
  85. package/lib/cjs/src/model/Session.stub.js +0 -2
  86. package/lib/cjs/src/model/Session.stub.js.map +0 -7
  87. package/lib/cjs/src/service/ConnectivityService.js +0 -2
  88. package/lib/cjs/src/service/ConnectivityService.js.map +0 -7
  89. package/lib/cjs/src/service/ConnectivityService.test.js +0 -2
  90. package/lib/cjs/src/service/ConnectivityService.test.js.map +0 -7
  91. package/lib/cjs/src/service/DiscoveryService.js +0 -2
  92. package/lib/cjs/src/service/DiscoveryService.js.map +0 -7
  93. package/lib/cjs/src/service/DiscoveryService.test.js +0 -2
  94. package/lib/cjs/src/service/DiscoveryService.test.js.map +0 -7
  95. package/lib/cjs/src/service/MockService.js +0 -2
  96. package/lib/cjs/src/service/MockService.js.map +0 -7
  97. package/lib/cjs/src/service/SendService.js +0 -2
  98. package/lib/cjs/src/service/SendService.js.map +0 -7
  99. package/lib/esm/src/DefaultHttpClient.js +0 -2
  100. package/lib/esm/src/DefaultHttpClient.js.map +0 -7
  101. package/lib/esm/src/DefaultHttpClient.stub.js +0 -2
  102. package/lib/esm/src/DefaultHttpClient.stub.js.map +0 -7
  103. package/lib/esm/src/HttpClient.js +0 -1
  104. package/lib/esm/src/HttpClient.js.map +0 -7
  105. package/lib/esm/src/model/ComandResponse.test.js +0 -2
  106. package/lib/esm/src/model/ComandResponse.test.js.map +0 -7
  107. package/lib/esm/src/model/CommandResponse.stub.js +0 -2
  108. package/lib/esm/src/model/CommandResponse.stub.js.map +0 -7
  109. package/lib/esm/src/model/Device.stub.js +0 -2
  110. package/lib/esm/src/model/Device.stub.js.map +0 -7
  111. package/lib/esm/src/model/Mock.stub.js +0 -2
  112. package/lib/esm/src/model/Mock.stub.js.map +0 -7
  113. package/lib/esm/src/model/Session.stub.js +0 -2
  114. package/lib/esm/src/model/Session.stub.js.map +0 -7
  115. package/lib/esm/src/service/ConnectivityService.js +0 -2
  116. package/lib/esm/src/service/ConnectivityService.js.map +0 -7
  117. package/lib/esm/src/service/ConnectivityService.test.js +0 -2
  118. package/lib/esm/src/service/ConnectivityService.test.js.map +0 -7
  119. package/lib/esm/src/service/DiscoveryService.js +0 -2
  120. package/lib/esm/src/service/DiscoveryService.js.map +0 -7
  121. package/lib/esm/src/service/DiscoveryService.test.js +0 -2
  122. package/lib/esm/src/service/DiscoveryService.test.js.map +0 -7
  123. package/lib/esm/src/service/MockService.js +0 -2
  124. package/lib/esm/src/service/MockService.js.map +0 -7
  125. package/lib/esm/src/service/SendService.js +0 -2
  126. package/lib/esm/src/service/SendService.js.map +0 -7
  127. package/lib/types/src/DefaultHttpClient.d.ts +0 -14
  128. package/lib/types/src/DefaultHttpClient.d.ts.map +0 -1
  129. package/lib/types/src/DefaultHttpClient.stub.d.ts +0 -16
  130. package/lib/types/src/DefaultHttpClient.stub.d.ts.map +0 -1
  131. package/lib/types/src/HttpClient.d.ts +0 -6
  132. package/lib/types/src/HttpClient.d.ts.map +0 -1
  133. package/lib/types/src/model/ComandResponse.test.d.ts +0 -2
  134. package/lib/types/src/model/ComandResponse.test.d.ts.map +0 -1
  135. package/lib/types/src/model/CommandResponse.stub.d.ts +0 -3
  136. package/lib/types/src/model/CommandResponse.stub.d.ts.map +0 -1
  137. package/lib/types/src/model/Device.stub.d.ts +0 -3
  138. package/lib/types/src/model/Device.stub.d.ts.map +0 -1
  139. package/lib/types/src/model/Mock.stub.d.ts +0 -3
  140. package/lib/types/src/model/Mock.stub.d.ts.map +0 -1
  141. package/lib/types/src/model/Session.stub.d.ts +0 -3
  142. package/lib/types/src/model/Session.stub.d.ts.map +0 -1
  143. package/lib/types/src/service/ConnectivityService.d.ts +0 -15
  144. package/lib/types/src/service/ConnectivityService.d.ts.map +0 -1
  145. package/lib/types/src/service/ConnectivityService.test.d.ts +0 -2
  146. package/lib/types/src/service/ConnectivityService.test.d.ts.map +0 -1
  147. package/lib/types/src/service/DiscoveryService.d.ts +0 -11
  148. package/lib/types/src/service/DiscoveryService.d.ts.map +0 -1
  149. package/lib/types/src/service/DiscoveryService.test.d.ts +0 -2
  150. package/lib/types/src/service/DiscoveryService.test.d.ts.map +0 -1
  151. package/lib/types/src/service/MockService.d.ts +0 -10
  152. package/lib/types/src/service/MockService.d.ts.map +0 -1
  153. package/lib/types/src/service/SendService.d.ts +0 -8
  154. package/lib/types/src/service/SendService.d.ts.map +0 -1
@@ -1,14 +1,72 @@
1
- export type DeviceArgs = {
2
- readonly id: string;
1
+ import { Codec } from "purify-ts";
2
+ import { type MockConfig } from "./Mock";
3
+ export type DeviceConnectivityType = "USB" | "BLE";
4
+ export interface DeviceApp {
3
5
  readonly name: string;
4
- readonly device_type: string;
5
- readonly connectivity_type: string;
6
- };
7
- export declare class Device {
6
+ readonly version: string;
7
+ }
8
+ export declare const deviceAppCodec: Codec<{
9
+ name: string;
10
+ version: string;
11
+ }>;
12
+ /**
13
+ * A mocked device attached to a session.
14
+ *
15
+ * The device exposes rich metadata (firmware
16
+ * version, installed applications, memory masks) so DMK can build a realistic
17
+ * device session.
18
+ */
19
+ export interface Device {
8
20
  readonly id: string;
9
21
  readonly name: string;
22
+ /** DeviceModelId enum value, e.g. "nanoX", "stax", "flex". */
10
23
  readonly device_type: string;
11
24
  readonly connectivity_type: string;
12
- constructor({ id, name, device_type, connectivity_type }: DeviceArgs);
25
+ readonly firmware_version?: string;
26
+ readonly apps?: DeviceApp[];
27
+ readonly masks?: number[];
28
+ readonly connected?: boolean;
29
+ }
30
+ export declare const deviceCodec: Codec<{
31
+ id: string;
32
+ name: string;
33
+ device_type: string;
34
+ connectivity_type: string;
35
+ firmware_version: string | undefined;
36
+ apps: {
37
+ name: string;
38
+ version: string;
39
+ }[] | undefined;
40
+ masks: number[] | undefined;
41
+ connected: boolean | undefined;
42
+ }>;
43
+ /**
44
+ * Payload used to attach (POST /devices) or edit (PATCH /devices/:id) a device.
45
+ */
46
+ export interface DeviceConfig {
47
+ readonly name?: string;
48
+ readonly device_type?: string;
49
+ readonly connectivity_type?: string;
50
+ readonly firmware_version?: string;
51
+ readonly apps?: DeviceApp[];
52
+ readonly masks?: number[];
53
+ /** Device-scoped APDU mocks, used when attaching (POST) or importing a device. */
54
+ readonly mocks?: MockConfig[];
13
55
  }
56
+ export declare const deviceConfigCodec: Codec<{
57
+ name: string | undefined;
58
+ device_type: string | undefined;
59
+ connectivity_type: string | undefined;
60
+ firmware_version: string | undefined;
61
+ apps: {
62
+ name: string;
63
+ version: string;
64
+ }[] | undefined;
65
+ masks: number[] | undefined;
66
+ mocks: {
67
+ prefix: string;
68
+ response: string | undefined;
69
+ responses: string[] | undefined;
70
+ }[] | undefined;
71
+ }>;
14
72
  //# sourceMappingURL=Device.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../../../src/model/Device.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,qBAAa,MAAM;IACjB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBAEvB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE,UAAU;CAMrE"}
1
+ {"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../../../src/model/Device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAA4B,MAAM,WAAW,CAAC;AAE5E,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,QAAQ,CAAC;AAE1D,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,KAAK,CAAC;AAEnD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,cAAc;;;EAGzB,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;EAStB,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAQ5B,CAAC"}
@@ -1,10 +1,36 @@
1
- export type MockArgs = {
1
+ import { Codec } from "purify-ts";
2
+ /**
3
+ * A canned APDU response registered against a device.
4
+ *
5
+ * Whenever an incoming APDU starts with {@link Mock.prefix} (hex), the mock
6
+ * server returns the next entry of {@link Mock.responses}, advancing one entry
7
+ * per matching APDU and looping back to the start once the list is exhausted.
8
+ * Mocks are device-scoped: each device owns its own independent mock table.
9
+ */
10
+ export interface Mock {
11
+ readonly id: string;
2
12
  readonly prefix: string;
3
- readonly response: string;
4
- };
5
- export declare class Mock {
13
+ readonly responses: string[];
14
+ }
15
+ export declare const mockCodec: Codec<{
16
+ id: string;
17
+ prefix: string;
18
+ responses: string[];
19
+ }>;
20
+ /**
21
+ * Payload used to create (POST /mocks) or edit (PATCH /mocks/:id) a mock.
22
+ *
23
+ * Provide either an ordered {@link MockConfig.responses} list or a single
24
+ * {@link MockConfig.response} (shorthand for `responses: [response]`).
25
+ */
26
+ export interface MockConfig {
6
27
  readonly prefix: string;
7
- readonly response: string;
8
- constructor({ prefix, response }: MockArgs);
28
+ readonly response?: string;
29
+ readonly responses?: string[];
9
30
  }
31
+ export declare const mockConfigCodec: Codec<{
32
+ prefix: string;
33
+ response: string | undefined;
34
+ responses: string[] | undefined;
35
+ }>;
10
36
  //# sourceMappingURL=Mock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Mock.d.ts","sourceRoot":"","sources":["../../../../src/model/Mock.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,qBAAa,IAAI;IACf,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ;CAI3C"}
1
+ {"version":3,"file":"Mock.d.ts","sourceRoot":"","sources":["../../../../src/model/Mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,EAAoB,MAAM,WAAW,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,eAAO,MAAM,SAAS;;;;EAIpB,CAAC;AAEH;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe;;;;EAI1B,CAAC"}
@@ -1,15 +1,32 @@
1
+ import { Codec } from "purify-ts";
1
2
  import { type Device } from "./Device";
2
- export type SessionArgs = {
3
+ /**
4
+ * A mock server session, resolved from a bearer token.
5
+ *
6
+ * All devices and mocks are scoped to the session that owns the token.
7
+ */
8
+ export interface Session {
3
9
  readonly id: string;
4
- readonly device: Device;
5
- readonly current_app: string;
6
10
  readonly created_at: number;
7
- };
8
- export declare class Session {
9
- readonly id: string;
10
- readonly device: Device;
11
- readonly currentApp: string;
12
- readonly created_at: number;
13
- constructor({ id, device, current_app, created_at }: SessionArgs);
11
+ readonly expires_at: number;
12
+ readonly devices: Device[];
14
13
  }
14
+ export declare const sessionCodec: Codec<{
15
+ id: string;
16
+ created_at: number;
17
+ expires_at: number;
18
+ devices: {
19
+ id: string;
20
+ name: string;
21
+ device_type: string;
22
+ connectivity_type: string;
23
+ firmware_version: string | undefined;
24
+ apps: {
25
+ name: string;
26
+ version: string;
27
+ }[] | undefined;
28
+ masks: number[] | undefined;
29
+ connected: boolean | undefined;
30
+ }[];
31
+ }>;
15
32
  //# sourceMappingURL=Session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../../src/model/Session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,qBAAa,OAAO;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,WAAW;CAMjE"}
1
+ {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../../src/model/Session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,EAAkB,MAAM,WAAW,CAAC;AAEzD,OAAO,EAAE,KAAK,MAAM,EAAe,MAAM,UAAU,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;EAKvB,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { Codec } from "purify-ts";
2
+ import { type DeviceConfig } from "./Device";
3
+ /**
4
+ * A portable snapshot of a session's devices (and their mocks).
5
+ *
6
+ * Produced by `GET /export` and consumed by `POST /import` to save and restore
7
+ * complex scenarios. Only configuration is captured (no ids, connection state
8
+ * or response cursors), so importing recreates a fresh, deterministic session
9
+ * state. Mocks are nested under each device (`DeviceConfig.mocks`).
10
+ */
11
+ export interface SessionExport {
12
+ readonly devices: DeviceConfig[];
13
+ }
14
+ export declare const sessionExportCodec: Codec<{
15
+ devices: {
16
+ name: string | undefined;
17
+ device_type: string | undefined;
18
+ connectivity_type: string | undefined;
19
+ firmware_version: string | undefined;
20
+ apps: {
21
+ name: string;
22
+ version: string;
23
+ }[] | undefined;
24
+ masks: number[] | undefined;
25
+ mocks: {
26
+ prefix: string;
27
+ response: string | undefined;
28
+ responses: string[] | undefined;
29
+ }[] | undefined;
30
+ }[];
31
+ }>;
32
+ //# sourceMappingURL=SessionExport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionExport.d.ts","sourceRoot":"","sources":["../../../../src/model/SessionExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,UAAU,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;CAClC;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;EAE7B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { Codec } from "purify-ts";
2
+ /**
3
+ * The live Speculos emulator instance backing a device, returned by
4
+ * `GET /devices/:id/speculos`. Control calls are proxied through
5
+ * `/devices/:id/speculos/*`.
6
+ */
7
+ export interface SpeculosInstance {
8
+ /** Speculinho run id owning the emulator pod. */
9
+ readonly run_id: string;
10
+ /** Per-pod emulator URL (reachable from the mock server). */
11
+ readonly speculos_url: string;
12
+ /** Device model (e.g. "nanoX", "stax", "flex"). */
13
+ readonly model: string;
14
+ }
15
+ export declare const speculosInstanceCodec: Codec<{
16
+ run_id: string;
17
+ speculos_url: string;
18
+ model: string;
19
+ }>;
20
+ //# sourceMappingURL=Speculos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Speculos.d.ts","sourceRoot":"","sources":["../../../../src/model/Speculos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAU,MAAM,WAAW,CAAC;AAE1C;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,qBAAqB;;;;EAIhC,CAAC"}