@ledgerhq/device-contacts-kit 0.0.0-develop-20260827155839 → 0.0.0-develop-20260828024102

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 (208) hide show
  1. package/README.md +30 -2
  2. package/lib/cjs/api/ContactsManager.js +1 -1
  3. package/lib/cjs/api/ContactsManager.js.map +1 -1
  4. package/lib/cjs/api/app-binder/RegisterExternalAddressDeviceActionTypes.js +2 -0
  5. package/lib/cjs/api/app-binder/RegisterExternalAddressDeviceActionTypes.js.map +7 -0
  6. package/lib/cjs/api/index.js +1 -1
  7. package/lib/cjs/api/index.js.map +2 -2
  8. package/lib/cjs/api/model/RegisterExternalAddress.js +2 -0
  9. package/lib/cjs/api/model/RegisterExternalAddress.js.map +7 -0
  10. package/lib/cjs/internal/DefaultContactsManager.js +1 -1
  11. package/lib/cjs/internal/DefaultContactsManager.js.map +3 -3
  12. package/lib/cjs/internal/DefaultContactsManager.test.js +2 -0
  13. package/lib/cjs/internal/DefaultContactsManager.test.js.map +7 -0
  14. package/lib/cjs/internal/app-binder/ContactsAppBinder.js +1 -1
  15. package/lib/cjs/internal/app-binder/ContactsAppBinder.js.map +3 -3
  16. package/lib/cjs/internal/app-binder/command/RegisterIdentityCommand.js +2 -0
  17. package/lib/cjs/internal/app-binder/command/RegisterIdentityCommand.js.map +7 -0
  18. package/lib/cjs/internal/app-binder/command/RegisterIdentityCommand.test.js +2 -0
  19. package/lib/cjs/internal/app-binder/command/RegisterIdentityCommand.test.js.map +7 -0
  20. package/lib/cjs/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.js +2 -0
  21. package/lib/cjs/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.js.map +7 -0
  22. package/lib/cjs/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.test.js +2 -0
  23. package/lib/cjs/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.test.js.map +7 -0
  24. package/lib/cjs/internal/app-binder/device-action/RegisterExternalAddress/validateRegisterExternalAddressInput.js +2 -0
  25. package/lib/cjs/internal/app-binder/device-action/RegisterExternalAddress/validateRegisterExternalAddressInput.js.map +7 -0
  26. package/lib/cjs/internal/app-binder/device-action/RegisterExternalAddress/validateRegisterExternalAddressInput.test.js +2 -0
  27. package/lib/cjs/internal/app-binder/device-action/RegisterExternalAddress/validateRegisterExternalAddressInput.test.js.map +7 -0
  28. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +2 -0
  29. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +7 -0
  30. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +2 -0
  31. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +7 -0
  32. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupWaitForAppAndVersionDAMock.js +2 -0
  33. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupWaitForAppAndVersionDAMock.js.map +7 -0
  34. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +2 -0
  35. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +7 -0
  36. package/lib/cjs/internal/app-binder/isContactsSupportedForSession.js +1 -1
  37. package/lib/cjs/internal/app-binder/isContactsSupportedForSession.js.map +3 -3
  38. package/lib/cjs/internal/app-binder/isContactsSupportedForSession.test.js +1 -1
  39. package/lib/cjs/internal/app-binder/isContactsSupportedForSession.test.js.map +3 -3
  40. package/lib/cjs/internal/app-binder/model/contactsConstants.js +2 -0
  41. package/lib/cjs/internal/app-binder/model/contactsConstants.js.map +7 -0
  42. package/lib/cjs/internal/app-binder/model/contactsErrors.js +2 -0
  43. package/lib/cjs/internal/app-binder/model/contactsErrors.js.map +7 -0
  44. package/lib/cjs/internal/app-binder/model/contactsValidation.js +2 -0
  45. package/lib/cjs/internal/app-binder/model/contactsValidation.js.map +7 -0
  46. package/lib/cjs/internal/app-binder/model/contactsValidation.test.js +2 -0
  47. package/lib/cjs/internal/app-binder/model/contactsValidation.test.js.map +7 -0
  48. package/lib/cjs/internal/app-binder/services/contactsTlvSerializer.js +2 -0
  49. package/lib/cjs/internal/app-binder/services/contactsTlvSerializer.js.map +7 -0
  50. package/lib/cjs/internal/app-binder/services/contactsTlvSerializer.test.js +2 -0
  51. package/lib/cjs/internal/app-binder/services/contactsTlvSerializer.test.js.map +7 -0
  52. package/lib/cjs/internal/app-binder/services/sendFramedContactsPayload.js +2 -0
  53. package/lib/cjs/internal/app-binder/services/sendFramedContactsPayload.js.map +7 -0
  54. package/lib/cjs/internal/app-binder/services/sendFramedContactsPayload.test.js +2 -0
  55. package/lib/cjs/internal/app-binder/services/sendFramedContactsPayload.test.js.map +7 -0
  56. package/lib/cjs/internal/app-binder/task/SendRegisterIdentityTask.js +2 -0
  57. package/lib/cjs/internal/app-binder/task/SendRegisterIdentityTask.js.map +7 -0
  58. package/lib/cjs/internal/app-binder/task/SendRegisterIdentityTask.test.js +2 -0
  59. package/lib/cjs/internal/app-binder/task/SendRegisterIdentityTask.test.js.map +7 -0
  60. package/lib/cjs/internal/di.js +1 -1
  61. package/lib/cjs/internal/di.js.map +3 -3
  62. package/lib/cjs/internal/di.test.js +1 -1
  63. package/lib/cjs/internal/di.test.js.map +3 -3
  64. package/lib/cjs/internal/use-cases/RegisterExternalAddressUseCase.js +2 -0
  65. package/lib/cjs/internal/use-cases/RegisterExternalAddressUseCase.js.map +7 -0
  66. package/lib/cjs/internal/use-cases/RegisterExternalAddressUseCase.test.js +2 -0
  67. package/lib/cjs/internal/use-cases/RegisterExternalAddressUseCase.test.js.map +7 -0
  68. package/lib/cjs/internal/use-cases/di/useCaseModule.js +2 -0
  69. package/lib/cjs/internal/use-cases/di/useCaseModule.js.map +7 -0
  70. package/lib/cjs/internal/use-cases/di/useCaseTypes.js +2 -0
  71. package/lib/cjs/internal/use-cases/di/useCaseTypes.js.map +7 -0
  72. package/lib/cjs/package.json +2 -1
  73. package/lib/esm/api/app-binder/RegisterExternalAddressDeviceActionTypes.js +1 -0
  74. package/lib/esm/api/app-binder/RegisterExternalAddressDeviceActionTypes.js.map +7 -0
  75. package/lib/esm/api/index.js +1 -1
  76. package/lib/esm/api/index.js.map +2 -2
  77. package/lib/esm/api/model/RegisterExternalAddress.js +1 -0
  78. package/lib/esm/api/model/RegisterExternalAddress.js.map +7 -0
  79. package/lib/esm/internal/DefaultContactsManager.js +1 -1
  80. package/lib/esm/internal/DefaultContactsManager.js.map +3 -3
  81. package/lib/esm/internal/DefaultContactsManager.test.js +2 -0
  82. package/lib/esm/internal/DefaultContactsManager.test.js.map +7 -0
  83. package/lib/esm/internal/app-binder/ContactsAppBinder.js +1 -1
  84. package/lib/esm/internal/app-binder/ContactsAppBinder.js.map +3 -3
  85. package/lib/esm/internal/app-binder/command/RegisterIdentityCommand.js +2 -0
  86. package/lib/esm/internal/app-binder/command/RegisterIdentityCommand.js.map +7 -0
  87. package/lib/esm/internal/app-binder/command/RegisterIdentityCommand.test.js +2 -0
  88. package/lib/esm/internal/app-binder/command/RegisterIdentityCommand.test.js.map +7 -0
  89. package/lib/esm/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.js +2 -0
  90. package/lib/esm/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.js.map +7 -0
  91. package/lib/esm/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.test.js +2 -0
  92. package/lib/esm/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.test.js.map +7 -0
  93. package/lib/esm/internal/app-binder/device-action/RegisterExternalAddress/validateRegisterExternalAddressInput.js +2 -0
  94. package/lib/esm/internal/app-binder/device-action/RegisterExternalAddress/validateRegisterExternalAddressInput.js.map +7 -0
  95. package/lib/esm/internal/app-binder/device-action/RegisterExternalAddress/validateRegisterExternalAddressInput.test.js +2 -0
  96. package/lib/esm/internal/app-binder/device-action/RegisterExternalAddress/validateRegisterExternalAddressInput.test.js.map +7 -0
  97. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +2 -0
  98. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +7 -0
  99. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +2 -0
  100. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +7 -0
  101. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupWaitForAppAndVersionDAMock.js +2 -0
  102. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupWaitForAppAndVersionDAMock.js.map +7 -0
  103. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +2 -0
  104. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +7 -0
  105. package/lib/esm/internal/app-binder/isContactsSupportedForSession.js +1 -1
  106. package/lib/esm/internal/app-binder/isContactsSupportedForSession.js.map +3 -3
  107. package/lib/esm/internal/app-binder/isContactsSupportedForSession.test.js +1 -1
  108. package/lib/esm/internal/app-binder/isContactsSupportedForSession.test.js.map +3 -3
  109. package/lib/esm/internal/app-binder/model/contactsConstants.js +2 -0
  110. package/lib/esm/internal/app-binder/model/contactsConstants.js.map +7 -0
  111. package/lib/esm/internal/app-binder/model/contactsErrors.js +2 -0
  112. package/lib/esm/internal/app-binder/model/contactsErrors.js.map +7 -0
  113. package/lib/esm/internal/app-binder/model/contactsValidation.js +2 -0
  114. package/lib/esm/internal/app-binder/model/contactsValidation.js.map +7 -0
  115. package/lib/esm/internal/app-binder/model/contactsValidation.test.js +2 -0
  116. package/lib/esm/internal/app-binder/model/contactsValidation.test.js.map +7 -0
  117. package/lib/esm/internal/app-binder/services/contactsTlvSerializer.js +2 -0
  118. package/lib/esm/internal/app-binder/services/contactsTlvSerializer.js.map +7 -0
  119. package/lib/esm/internal/app-binder/services/contactsTlvSerializer.test.js +2 -0
  120. package/lib/esm/internal/app-binder/services/contactsTlvSerializer.test.js.map +7 -0
  121. package/lib/esm/internal/app-binder/services/sendFramedContactsPayload.js +2 -0
  122. package/lib/esm/internal/app-binder/services/sendFramedContactsPayload.js.map +7 -0
  123. package/lib/esm/internal/app-binder/services/sendFramedContactsPayload.test.js +2 -0
  124. package/lib/esm/internal/app-binder/services/sendFramedContactsPayload.test.js.map +7 -0
  125. package/lib/esm/internal/app-binder/task/SendRegisterIdentityTask.js +2 -0
  126. package/lib/esm/internal/app-binder/task/SendRegisterIdentityTask.js.map +7 -0
  127. package/lib/esm/internal/app-binder/task/SendRegisterIdentityTask.test.js +2 -0
  128. package/lib/esm/internal/app-binder/task/SendRegisterIdentityTask.test.js.map +7 -0
  129. package/lib/esm/internal/di.js +1 -1
  130. package/lib/esm/internal/di.js.map +3 -3
  131. package/lib/esm/internal/di.test.js +1 -1
  132. package/lib/esm/internal/di.test.js.map +3 -3
  133. package/lib/esm/internal/use-cases/RegisterExternalAddressUseCase.js +2 -0
  134. package/lib/esm/internal/use-cases/RegisterExternalAddressUseCase.js.map +7 -0
  135. package/lib/esm/internal/use-cases/RegisterExternalAddressUseCase.test.js +2 -0
  136. package/lib/esm/internal/use-cases/RegisterExternalAddressUseCase.test.js.map +7 -0
  137. package/lib/esm/internal/use-cases/di/useCaseModule.js +2 -0
  138. package/lib/esm/internal/use-cases/di/useCaseModule.js.map +7 -0
  139. package/lib/esm/internal/use-cases/di/useCaseTypes.js +2 -0
  140. package/lib/esm/internal/use-cases/di/useCaseTypes.js.map +7 -0
  141. package/lib/esm/package.json +2 -1
  142. package/lib/types/api/ContactsManager.d.ts +11 -5
  143. package/lib/types/api/ContactsManager.d.ts.map +1 -1
  144. package/lib/types/api/app-binder/RegisterExternalAddressDeviceActionTypes.d.ts +30 -0
  145. package/lib/types/api/app-binder/RegisterExternalAddressDeviceActionTypes.d.ts.map +1 -0
  146. package/lib/types/api/index.d.ts +2 -0
  147. package/lib/types/api/index.d.ts.map +1 -1
  148. package/lib/types/api/model/RegisterExternalAddress.d.ts +50 -0
  149. package/lib/types/api/model/RegisterExternalAddress.d.ts.map +1 -0
  150. package/lib/types/internal/DefaultContactsManager.d.ts +5 -2
  151. package/lib/types/internal/DefaultContactsManager.d.ts.map +1 -1
  152. package/lib/types/internal/DefaultContactsManager.test.d.ts +2 -0
  153. package/lib/types/internal/DefaultContactsManager.test.d.ts.map +1 -0
  154. package/lib/types/internal/app-binder/ContactsAppBinder.d.ts +4 -3
  155. package/lib/types/internal/app-binder/ContactsAppBinder.d.ts.map +1 -1
  156. package/lib/types/internal/app-binder/command/RegisterIdentityCommand.d.ts +30 -0
  157. package/lib/types/internal/app-binder/command/RegisterIdentityCommand.d.ts.map +1 -0
  158. package/lib/types/internal/app-binder/command/RegisterIdentityCommand.test.d.ts +2 -0
  159. package/lib/types/internal/app-binder/command/RegisterIdentityCommand.test.d.ts.map +1 -0
  160. package/lib/types/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.d.ts +14 -0
  161. package/lib/types/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.d.ts.map +1 -0
  162. package/lib/types/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.test.d.ts +2 -0
  163. package/lib/types/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.test.d.ts.map +1 -0
  164. package/lib/types/internal/app-binder/device-action/RegisterExternalAddress/validateRegisterExternalAddressInput.d.ts +12 -0
  165. package/lib/types/internal/app-binder/device-action/RegisterExternalAddress/validateRegisterExternalAddressInput.d.ts.map +1 -0
  166. package/lib/types/internal/app-binder/device-action/RegisterExternalAddress/validateRegisterExternalAddressInput.test.d.ts +2 -0
  167. package/lib/types/internal/app-binder/device-action/RegisterExternalAddress/validateRegisterExternalAddressInput.test.d.ts.map +1 -0
  168. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +4 -0
  169. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -0
  170. package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts +2 -0
  171. package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +1 -0
  172. package/lib/types/internal/app-binder/device-action/__test-utils__/setupWaitForAppAndVersionDAMock.d.ts +17 -0
  173. package/lib/types/internal/app-binder/device-action/__test-utils__/setupWaitForAppAndVersionDAMock.d.ts.map +1 -0
  174. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +15 -0
  175. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -0
  176. package/lib/types/internal/app-binder/isContactsSupportedForSession.d.ts +16 -8
  177. package/lib/types/internal/app-binder/isContactsSupportedForSession.d.ts.map +1 -1
  178. package/lib/types/internal/app-binder/model/contactsConstants.d.ts +24 -0
  179. package/lib/types/internal/app-binder/model/contactsConstants.d.ts.map +1 -0
  180. package/lib/types/internal/app-binder/model/contactsErrors.d.ts +30 -0
  181. package/lib/types/internal/app-binder/model/contactsErrors.d.ts.map +1 -0
  182. package/lib/types/internal/app-binder/model/contactsValidation.d.ts +53 -0
  183. package/lib/types/internal/app-binder/model/contactsValidation.d.ts.map +1 -0
  184. package/lib/types/internal/app-binder/model/contactsValidation.test.d.ts +2 -0
  185. package/lib/types/internal/app-binder/model/contactsValidation.test.d.ts.map +1 -0
  186. package/lib/types/internal/app-binder/services/contactsTlvSerializer.d.ts +33 -0
  187. package/lib/types/internal/app-binder/services/contactsTlvSerializer.d.ts.map +1 -0
  188. package/lib/types/internal/app-binder/services/contactsTlvSerializer.test.d.ts +2 -0
  189. package/lib/types/internal/app-binder/services/contactsTlvSerializer.test.d.ts.map +1 -0
  190. package/lib/types/internal/app-binder/services/sendFramedContactsPayload.d.ts +14 -0
  191. package/lib/types/internal/app-binder/services/sendFramedContactsPayload.d.ts.map +1 -0
  192. package/lib/types/internal/app-binder/services/sendFramedContactsPayload.test.d.ts +2 -0
  193. package/lib/types/internal/app-binder/services/sendFramedContactsPayload.test.d.ts.map +1 -0
  194. package/lib/types/internal/app-binder/task/SendRegisterIdentityTask.d.ts +25 -0
  195. package/lib/types/internal/app-binder/task/SendRegisterIdentityTask.d.ts.map +1 -0
  196. package/lib/types/internal/app-binder/task/SendRegisterIdentityTask.test.d.ts +2 -0
  197. package/lib/types/internal/app-binder/task/SendRegisterIdentityTask.test.d.ts.map +1 -0
  198. package/lib/types/internal/di.d.ts.map +1 -1
  199. package/lib/types/internal/use-cases/RegisterExternalAddressUseCase.d.ts +17 -0
  200. package/lib/types/internal/use-cases/RegisterExternalAddressUseCase.d.ts.map +1 -0
  201. package/lib/types/internal/use-cases/RegisterExternalAddressUseCase.test.d.ts +2 -0
  202. package/lib/types/internal/use-cases/RegisterExternalAddressUseCase.test.d.ts.map +1 -0
  203. package/lib/types/internal/use-cases/di/useCaseModule.d.ts +3 -0
  204. package/lib/types/internal/use-cases/di/useCaseModule.d.ts.map +1 -0
  205. package/lib/types/internal/use-cases/di/useCaseTypes.d.ts +4 -0
  206. package/lib/types/internal/use-cases/di/useCaseTypes.d.ts.map +1 -0
  207. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  208. package/package.json +8 -7
@@ -1,6 +1,8 @@
1
1
  import { type DeviceManagementKit, type DeviceSessionId } from "@ledgerhq/device-management-kit";
2
2
  import { type Container } from "inversify";
3
+ import { type RegisterExternalAddressDAReturnType } from "../api/app-binder/RegisterExternalAddressDeviceActionTypes";
3
4
  import { type ContactsManager } from "../api/ContactsManager";
5
+ import { type RegisterExternalAddressInput } from "../api/model/RegisterExternalAddress";
4
6
  type DefaultContactsManagerConstructorArgs = {
5
7
  dmk: DeviceManagementKit;
6
8
  sessionId: DeviceSessionId;
@@ -9,9 +11,10 @@ type DefaultContactsManagerConstructorArgs = {
9
11
  export declare class DefaultContactsManager implements ContactsManager {
10
12
  private readonly _container;
11
13
  constructor({ dmk, sessionId, appName, }: DefaultContactsManagerConstructorArgs);
14
+ registerExternalAddress(input: RegisterExternalAddressInput): RegisterExternalAddressDAReturnType;
12
15
  /**
13
- * Exposes the DI container so operation methods (added by their dedicated
14
- * tickets) can resolve their `UseCase`. Not part of the public API.
16
+ * Exposes the DI container so future operation methods can resolve their
17
+ * `UseCase`. Not part of the public API.
15
18
  */
16
19
  protected get container(): Container;
17
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultContactsManager.d.ts","sourceRoot":"","sources":["../../../src/internal/DefaultContactsManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,KAAK,qCAAqC,GAAG;IAC3C,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;gBAE3B,EACV,GAAG,EACH,SAAS,EACT,OAAO,GACR,EAAE,qCAAqC;IAIxC;;;OAGG;IACH,SAAS,KAAK,SAAS,IAAI,SAAS,CAEnC;CACF"}
1
+ {"version":3,"file":"DefaultContactsManager.d.ts","sourceRoot":"","sources":["../../../src/internal/DefaultContactsManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,0DAA0D,CAAC;AACpH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAKvF,KAAK,qCAAqC,GAAG;IAC3C,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;gBAE3B,EACV,GAAG,EACH,SAAS,EACT,OAAO,GACR,EAAE,qCAAqC;IAIxC,uBAAuB,CACrB,KAAK,EAAE,4BAA4B,GAClC,mCAAmC;IAQtC;;;OAGG;IACH,SAAS,KAAK,SAAS,IAAI,SAAS,CAEnC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DefaultContactsManager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultContactsManager.test.d.ts","sourceRoot":"","sources":["../../../src/internal/DefaultContactsManager.test.ts"],"names":[],"mappings":""}
@@ -1,14 +1,15 @@
1
1
  import { type DeviceManagementKit, type DeviceSessionId } from "@ledgerhq/device-management-kit";
2
+ import { type RegisterExternalAddressDAReturnType } from "../../api/app-binder/RegisterExternalAddressDeviceActionTypes";
3
+ import { type RegisterExternalAddressInput } from "../../api/model/RegisterExternalAddress";
2
4
  /**
3
5
  * Constructs and executes Contacts `DeviceAction`s using the injected `dmk`,
4
- * `sessionId`, and `appName`. Operation methods (one per Address Book
5
- * management command) are added by their dedicated implementation tickets and
6
- * consume these members.
6
+ * `sessionId`, and `appName`. Each Address Book operation gets one method here.
7
7
  */
8
8
  export declare class ContactsAppBinder {
9
9
  protected readonly dmk: DeviceManagementKit;
10
10
  protected readonly sessionId: DeviceSessionId;
11
11
  protected readonly appName: string;
12
12
  constructor(dmk: DeviceManagementKit, sessionId: DeviceSessionId, appName: string);
13
+ registerExternalAddress(input: RegisterExternalAddressInput): RegisterExternalAddressDAReturnType;
13
14
  }
14
15
  //# sourceMappingURL=ContactsAppBinder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContactsAppBinder.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/ContactsAppBinder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAKzC;;;;;GAKG;AACH,qBACa,iBAAiB;IAG1B,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,mBAAmB;IAE3C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe;IAE7C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM;gBAJf,GAAG,EAAE,mBAAmB,EAExB,SAAS,EAAE,eAAe,EAE1B,OAAO,EAAE,MAAM;CAErC"}
1
+ {"version":3,"file":"ContactsAppBinder.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/ContactsAppBinder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,0DAA0D,CAAC;AACpH,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAIvF;;;GAGG;AACH,qBACa,iBAAiB;IAG1B,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,mBAAmB;IAE3C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe;IAE7C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM;gBAJf,GAAG,EAAE,mBAAmB,EAExB,SAAS,EAAE,eAAe,EAE1B,OAAO,EAAE,MAAM;IAGpC,uBAAuB,CACrB,KAAK,EAAE,4BAA4B,GAClC,mCAAmC;CAQvC"}
@@ -0,0 +1,30 @@
1
+ import { type Apdu, type ApduResponse, type Command, type CommandResult } from "@ledgerhq/device-management-kit";
2
+ import { type ContactsErrorCodes } from "../../app-binder/model/contactsErrors";
3
+ export type RegisterIdentityCommandArgs = {
4
+ /** One framed chunk built by sendFramedContactsPayload. */
5
+ readonly data: Uint8Array;
6
+ /** 0x00 for the first/only chunk, 0x80 for continuation chunks. */
7
+ readonly p2: number;
8
+ };
9
+ export type RegisterIdentityCommandResponse = {
10
+ /**
11
+ * Present only on the final chunk — the device returns struct_type(0x2d) +
12
+ * group_handle(64) + hmac_proof(32) + hmac_rest(32) there. Intermediate
13
+ * chunks return SW=0x9000 with no data.
14
+ *
15
+ * `hmacProof` is the device's HMAC_PROOF (binds the contact name);
16
+ * `hmacRest` is the HMAC_REST (binds scope + identifier + family).
17
+ */
18
+ readonly groupHandle?: Uint8Array;
19
+ readonly hmacProof?: Uint8Array;
20
+ readonly hmacRest?: Uint8Array;
21
+ };
22
+ export declare class RegisterIdentityCommand implements Command<RegisterIdentityCommandResponse, RegisterIdentityCommandArgs, ContactsErrorCodes> {
23
+ readonly name = "registerIdentity";
24
+ readonly args: RegisterIdentityCommandArgs;
25
+ private readonly errorHelper;
26
+ constructor(args: RegisterIdentityCommandArgs);
27
+ getApdu(): Apdu;
28
+ parseResponse(response: ApduResponse): CommandResult<RegisterIdentityCommandResponse, ContactsErrorCodes>;
29
+ }
30
+ //# sourceMappingURL=RegisterIdentityCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisterIdentityCommand.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/command/RegisterIdentityCommand.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,IAAI,EAGT,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,aAAa,EAGnB,MAAM,iCAAiC,CAAC;AAYzC,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,2CAA2C,CAAC;AAEnD,MAAM,MAAM,2BAA2B,GAAG;IACxC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;CAChC,CAAC;AAkBF,qBAAa,uBACX,YACE,OAAO,CACL,+BAA+B,EAC/B,2BAA2B,EAC3B,kBAAkB,CACnB;IAEH,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAGwB;gBAExC,IAAI,EAAE,2BAA2B;IAI7C,OAAO,IAAI,IAAI;IAWf,aAAa,CACX,QAAQ,EAAE,YAAY,GACrB,aAAa,CAAC,+BAA+B,EAAE,kBAAkB,CAAC;CAoDtE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RegisterIdentityCommand.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisterIdentityCommand.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/command/RegisterIdentityCommand.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { type DeviceActionStateMachine, type InternalApi, XStateDeviceAction } from "@ledgerhq/device-management-kit";
2
+ import { type RegisterExternalAddressDAError, type RegisterExternalAddressDAInput, type RegisterExternalAddressDAIntermediateValue, type RegisterExternalAddressDAInternalState, type RegisterExternalAddressDAOutput } from "../../../../api/app-binder/RegisterExternalAddressDeviceActionTypes";
3
+ import { type RunningApp } from "../../../app-binder/isContactsSupportedForSession";
4
+ import { type RegisterIdentityProofs, SendRegisterIdentityTask } from "../../../app-binder/task/SendRegisterIdentityTask";
5
+ export type RegisterExternalAddressMachineDependencies = {
6
+ readonly isSupported: (app: RunningApp) => boolean;
7
+ readonly registerIdentity: (input: RegisterExternalAddressDAInput) => Promise<Awaited<ReturnType<SendRegisterIdentityTask["run"]>>>;
8
+ };
9
+ export declare class RegisterExternalAddressDeviceAction extends XStateDeviceAction<RegisterExternalAddressDAOutput, RegisterExternalAddressDAInput, RegisterExternalAddressDAError, RegisterExternalAddressDAIntermediateValue, RegisterExternalAddressDAInternalState> {
10
+ makeStateMachine(internalApi: InternalApi): DeviceActionStateMachine<RegisterExternalAddressDAOutput, RegisterExternalAddressDAInput, RegisterExternalAddressDAError, RegisterExternalAddressDAIntermediateValue, RegisterExternalAddressDAInternalState>;
11
+ extractDependencies(internalApi: InternalApi): RegisterExternalAddressMachineDependencies;
12
+ }
13
+ export type { RegisterIdentityProofs };
14
+ //# sourceMappingURL=RegisterExternalAddressDeviceAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisterExternalAddressDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAOhB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EACL,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACnC,KAAK,0CAA0C,EAC/C,KAAK,sCAAsC,EAC3C,KAAK,+BAA+B,EACrC,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,oDAAoD,CAAC;AAE5D,OAAO,EACL,KAAK,sBAAsB,EAC3B,wBAAwB,EACzB,MAAM,oDAAoD,CAAC;AAI5D,MAAM,MAAM,0CAA0C,GAAG;IACvD,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,CACzB,KAAK,EAAE,8BAA8B,KAClC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;CACpE,CAAC;AAEF,qBAAa,mCAAoC,SAAQ,kBAAkB,CACzE,+BAA+B,EAC/B,8BAA8B,EAC9B,8BAA8B,EAC9B,0CAA0C,EAC1C,sCAAsC,CACvC;IACC,gBAAgB,CACd,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,+BAA+B,EAC/B,8BAA8B,EAC9B,8BAA8B,EAC9B,0CAA0C,EAC1C,sCAAsC,CACvC;IAwPD,mBAAmB,CACjB,WAAW,EAAE,WAAW,GACvB,0CAA0C;CAkB9C;AAED,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RegisterExternalAddressDeviceAction.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisterExternalAddressDeviceAction.test.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/RegisterExternalAddress/RegisterExternalAddressDeviceAction.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { type RegisterExternalAddressInput } from "../../../../api/model/RegisterExternalAddress";
2
+ import { ContactsValidationError } from "../../../app-binder/model/contactsValidation";
3
+ /**
4
+ * Validate the caller input for Register External Address. Returns the first
5
+ * `ContactsValidationError` found, or `null` when the input is valid.
6
+ *
7
+ * Non-throwing by design: the device action calls this so an invalid input is
8
+ * surfaced as a typed terminal error state on the observable, keeping the
9
+ * public `ContactsManager.registerExternalAddress` free of synchronous throws.
10
+ */
11
+ export declare function validateRegisterExternalAddressInput(input: RegisterExternalAddressInput): ContactsValidationError | null;
12
+ //# sourceMappingURL=validateRegisterExternalAddressInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateRegisterExternalAddressInput.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/RegisterExternalAddress/validateRegisterExternalAddressInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAEvF,OAAO,EAEL,uBAAuB,EAQxB,MAAM,+CAA+C,CAAC;AAEvD;;;;;;;GAOG;AACH,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,4BAA4B,GAClC,uBAAuB,GAAG,IAAI,CAuDhC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=validateRegisterExternalAddressInput.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateRegisterExternalAddressInput.test.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/RegisterExternalAddress/validateRegisterExternalAddressInput.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { type InternalApi } from "@ledgerhq/device-management-kit";
2
+ import { type Mocked } from "vitest";
3
+ export declare function makeDeviceActionInternalApiMock(): Mocked<InternalApi>;
4
+ //# sourceMappingURL=makeInternalApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeInternalApi.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/__test-utils__/makeInternalApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,wBAAgB,+BAA+B,IAAI,MAAM,CAAC,WAAW,CAAC,CAkBrE"}
@@ -0,0 +1,2 @@
1
+ export declare const setupOpenAppDAMock: (error?: unknown) => void;
2
+ //# sourceMappingURL=setupOpenAppDAMock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupOpenAppDAMock.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,kBAAkB,GAAI,QAAQ,OAAO,SAwBjD,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { UserInteractionRequired } from "@ledgerhq/device-management-kit";
2
+ /**
3
+ * Mock WaitForAppAndVersionDeviceAction to resolve immediately with either a
4
+ * fresh `{ name, version }` (default) or an error.
5
+ *
6
+ * The mock machine carries an `intermediateValue` in its context (matching the
7
+ * real DA) so the parent's onSnapshot propagation has a defined value to read.
8
+ * Pass `requiredUserInteraction` to have the child emit an interaction (e.g.
9
+ * UnlockDevice for a locked device) before completing.
10
+ */
11
+ export declare const setupWaitForAppAndVersionDAMock: (result?: {
12
+ name: string;
13
+ version: string;
14
+ } | {
15
+ error: unknown;
16
+ }, requiredUserInteraction?: UserInteractionRequired) => void;
17
+ //# sourceMappingURL=setupWaitForAppAndVersionDAMock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupWaitForAppAndVersionDAMock.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/__test-utils__/setupWaitForAppAndVersionDAMock.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EAExB,MAAM,iCAAiC,CAAC;AAKzC;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,GAC1C,SAAQ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,OAAO,CAAA;CAG3D,EACD,0BAAyB,uBAAsD,SAuBhF,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type DeviceAction, type DeviceActionIntermediateValue, type DeviceActionState, type DmkError, type InternalApi } from "@ledgerhq/device-management-kit";
2
+ /**
3
+ * Test that the states emitted by a device action match the expected states.
4
+ * @param deviceAction The device action to test.
5
+ * @param expectedStates The expected states.
6
+ * @param callbacks { onDone, onError } The callbacks to call when the test is done or an error occurs.
7
+ */
8
+ export declare function testDeviceActionStates<Output, Input, Error extends DmkError, IntermediateValue extends DeviceActionIntermediateValue>(deviceAction: DeviceAction<Output, Input, Error, IntermediateValue>, expectedStates: Array<DeviceActionState<Output, Error, IntermediateValue>>, internalApi: InternalApi, { onDone, onError, }: {
9
+ onDone: () => void;
10
+ onError: (error: Error) => void;
11
+ }): {
12
+ observable: import("rxjs").Observable<DeviceActionState<Output, Error, IntermediateValue>>;
13
+ cancel: () => void;
14
+ };
15
+ //# sourceMappingURL=testDeviceActionStates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testDeviceActionStates.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,WAAW,EACjB,MAAM,iCAAiC,CAAC;AAEzC;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EACN,KAAK,EACL,KAAK,SAAS,QAAQ,EACtB,iBAAiB,SAAS,6BAA6B,EAEvD,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC,EACnE,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAC1E,WAAW,EAAE,WAAW,EACxB,EACE,MAAM,EACN,OAAO,GACR,EAAE;IACD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC;;;EAwBF"}
@@ -1,17 +1,25 @@
1
- import { type AppConfig, type InternalApi } from "@ledgerhq/device-management-kit";
1
+ import { type InternalApi } from "@ledgerhq/device-management-kit";
2
+ /** The running app's identity, read freshly from the device. */
3
+ export type RunningApp = {
4
+ readonly name: string;
5
+ readonly version: string;
6
+ };
2
7
  /**
3
8
  * Session-aware Contacts support check, for internal consumption by Contacts
4
- * `DeviceAction`s. Reads the current device session and resolves it against the
5
- * static requirements table:
9
+ * `DeviceAction`s. Resolves the given running app against the static
10
+ * requirements table:
6
11
  * - the device model must be supported;
7
- * - the running app must be known to Contacts and meet its minimum version —
8
- * validated with DMK's {@link ApplicationChecker} so the version comes from
9
- * the authoritative `GetAppConfiguration` result;
12
+ * - the running app must be known to Contacts and meet its minimum version;
10
13
  * - the device OS must meet its minimum version (a dimension `ApplicationChecker`
11
14
  * does not cover, so it is checked separately here).
12
15
  *
16
+ * The app `name` and `version` are supplied by the caller so they can come from
17
+ * a fresh `WaitForAppAndVersion` result rather than the (potentially stale)
18
+ * device session state; the model and OS come from the session state, which
19
+ * does not change under the caller's feet the way the running app can.
20
+ *
13
21
  * @param internalApi - the DeviceAction's internal API for the current session.
14
- * @param appConfig - the running app's configuration (must include its version).
22
+ * @param app - the running app's fresh name and version.
15
23
  */
16
- export declare function isContactsSupportedForSession(internalApi: InternalApi, appConfig: AppConfig): boolean;
24
+ export declare function isContactsSupportedForSession(internalApi: InternalApi, app: RunningApp): boolean;
17
25
  //# sourceMappingURL=isContactsSupportedForSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isContactsSupportedForSession.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/isContactsSupportedForSession.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,WAAW,EACjB,MAAM,iCAAiC,CAAC;AASzC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,GACnB,OAAO,CA8BT"}
1
+ {"version":3,"file":"isContactsSupportedForSession.d.ts","sourceRoot":"","sources":["../../../../src/internal/app-binder/isContactsSupportedForSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,iCAAiC,CAAC;AASzC,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,UAAU,GACd,OAAO,CA0BT"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Protocol constants shared by the Contacts (Address Book) operations.
3
+ *
4
+ * Wire format and values follow the BOLOS SDK Address Book specification
5
+ * (ledger-secure-sdk/app_features/address_book). Op-specific sub-command bytes
6
+ * and response field sizes live here; TLV tags and struct-type bytes live in
7
+ * {@link ./../services/contactsTlvSerializer}.
8
+ */
9
+ /** APDU class/instruction shared by every Address Book sub-command. */
10
+ export declare const CONTACTS_APDU_CLA = 176;
11
+ export declare const CONTACTS_APDU_INS = 16;
12
+ /** P1 sub-command selector for REGISTER IDENTITY (register external address). */
13
+ export declare const SUB_CMD_REGISTER_IDENTITY = 1;
14
+ /** Sizes (bytes) of the fields in the REGISTER IDENTITY final-chunk response. */
15
+ export declare const GROUP_HANDLE_BYTES = 64;
16
+ export declare const HMAC_PROOF_BYTES = 32;
17
+ export declare const HMAC_REST_BYTES = 32;
18
+ /**
19
+ * Blockchain-family byte encoded in the `BLOCKCHAIN_FAMILY` TLV, keyed by a
20
+ * lowercase family name. v1 ships Ethereum only; the remaining families are
21
+ * listed for completeness and will be enabled as their chains are supported.
22
+ */
23
+ export declare const BLOCKCHAIN_FAMILY_BY_NAME: Readonly<Record<string, number>>;
24
+ //# sourceMappingURL=contactsConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contactsConstants.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/model/contactsConstants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,uEAAuE;AACvE,eAAO,MAAM,iBAAiB,MAAO,CAAC;AACtC,eAAO,MAAM,iBAAiB,KAAO,CAAC;AAEtC,iFAAiF;AACjF,eAAO,MAAM,yBAAyB,IAAO,CAAC;AAE9C,iFAAiF;AACjF,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { type CommandErrorArgs, type CommandErrors, DeviceExchangeError, type DmkError } from "@ledgerhq/device-management-kit";
2
+ /**
3
+ * Status word returned by the app's Address Book *edit* operations when the
4
+ * seed-bound HMAC / group-handle verification fails — i.e. the entry was
5
+ * registered with a different seed than the one currently on the device.
6
+ *
7
+ * The device runs this check *before* showing any UI and returns 0x6982 *only*
8
+ * for seed-binding failures (user rejection and TLV errors return 0x6a80,
9
+ * address validation returns 0x6af0), so 0x6982 is an unambiguous "wrong seed"
10
+ * signal that consumers (e.g. Ledger Wallet) can catch to guide the user.
11
+ */
12
+ export declare const CONTACT_SEED_MISMATCH_ERROR_CODE: "6982";
13
+ export type ContactsErrorCodes = "6982" | "6800" | "6983" | "6984" | "6985" | "6a80" | "6a84" | "6a88" | "6af0" | "6b00" | "6f00";
14
+ export declare const CONTACTS_APP_ERRORS: CommandErrors<ContactsErrorCodes>;
15
+ export declare class ContactsCommandError extends DeviceExchangeError<ContactsErrorCodes> {
16
+ constructor(args: CommandErrorArgs<ContactsErrorCodes>);
17
+ }
18
+ export declare const contactsCommandErrorFactory: (args: CommandErrorArgs<ContactsErrorCodes>) => ContactsCommandError;
19
+ /**
20
+ * Raised by a Contacts `DeviceAction` when the connected device model, app
21
+ * version, or OS version does not meet the Contacts requirements — i.e. the
22
+ * DSDK-1376 support check fails before any APDU is sent.
23
+ */
24
+ export declare class ContactsVersionRequirementError implements DmkError {
25
+ readonly message: string;
26
+ readonly _tag = "ContactsVersionRequirementError";
27
+ readonly originalError?: unknown;
28
+ constructor(message?: string);
29
+ }
30
+ //# sourceMappingURL=contactsErrors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contactsErrors.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/model/contactsErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,QAAQ,EACd,MAAM,iCAAiC,CAAC;AAEzC;;;;;;;;;GASG;AACH,eAAO,MAAM,gCAAgC,EAAG,MAAe,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,CAAC;AAEX,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,kBAAkB,CAkBjE,CAAC;AAEF,qBAAa,oBAAqB,SAAQ,mBAAmB,CAAC,kBAAkB,CAAC;gBACnE,IAAI,EAAE,gBAAgB,CAAC,kBAAkB,CAAC;CAGvD;AAED,eAAO,MAAM,2BAA2B,GACtC,MAAM,gBAAgB,CAAC,kBAAkB,CAAC,yBACT,CAAC;AAEpC;;;;GAIG;AACH,qBAAa,+BAAgC,YAAW,QAAQ;IAI5D,QAAQ,CAAC,OAAO;IAHlB,QAAQ,CAAC,IAAI,qCAAqC;IAClD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;gBAEtB,OAAO,SAAiF;CAEpG"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Pre-APDU input validators for the Contacts operations.
3
+ *
4
+ * Buffer-length constants mirror the Ledger secure SDK `#define` values
5
+ * *including* the trailing NUL terminator (so a 32-printable-char name lives in
6
+ * a 33-byte buffer). Validators subtract 1 internally so the constants remain
7
+ * pure equality checks against the upstream `#define`s. The byte-level
8
+ * `0x20..0x7E` printable check exactly matches firmware `is_printable_string`.
9
+ */
10
+ import { type DmkError } from "@ledgerhq/device-management-kit";
11
+ export declare const CONTACT_NAME_BUFFER_LENGTH = 33;
12
+ export declare const SCOPE_BUFFER_LENGTH = 33;
13
+ export declare const GROUP_HANDLE_SIZE = 64;
14
+ export declare const HMAC_PROOF_LENGTH = 32;
15
+ export declare const MAX_BIP32_DEPTH = 10;
16
+ export declare const ETH_ADDRESS_BYTES = 20;
17
+ /**
18
+ * Raised when caller input fails a pre-APDU check. Implements `DmkError` (and
19
+ * stays an `Error` subclass) so a Contacts device action can surface it as a
20
+ * typed terminal error state on the observable rather than throwing out of the
21
+ * public, device-action-returning API.
22
+ */
23
+ export declare class ContactsValidationError extends Error implements DmkError {
24
+ readonly _tag = "ContactsValidationError";
25
+ readonly originalError?: unknown;
26
+ constructor(message: string);
27
+ }
28
+ /**
29
+ * Mirror of firmware `is_printable_string` + length cap. `bufferLength` is the
30
+ * firmware's fixed buffer size *including* the trailing NUL, so the maximum
31
+ * payload byte length is `bufferLength - 1`.
32
+ */
33
+ export declare function validatePrintableLabel(value: string, options: {
34
+ field: string;
35
+ bufferLength: number;
36
+ }): void;
37
+ /** Assert a byte buffer is exactly `expectedBytes` long and non-empty. */
38
+ export declare function validateByteLength(value: Uint8Array, options: {
39
+ field: string;
40
+ expectedBytes: number;
41
+ }): void;
42
+ /**
43
+ * Sanity-check a BIP32 path before serialization. Firmware enforces depth <=
44
+ * MAX_BIP32_DEPTH and rejects malformed segments. Accepts `m/44'/60'/0'/0/0`
45
+ * style; segments may end in `'` (hardened).
46
+ */
47
+ export declare function validateDerivationPath(path: string): void;
48
+ /**
49
+ * Firmware encodes chain_id as uint64. JS `number` is fine up to 2^53; accept
50
+ * `bigint` for the high range so callers don't silently truncate.
51
+ */
52
+ export declare function validateChainId(value: number | bigint): void;
53
+ //# sourceMappingURL=contactsValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contactsValidation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/model/contactsValidation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAKhE,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAIpC;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,KAAM,YAAW,QAAQ;IACpE,QAAQ,CAAC,IAAI,6BAA6B;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;gBACrB,OAAO,EAAE,MAAM;CAI5B;AASD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC/C,IAAI,CAqCN;AAID,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAChD,IAAI,CAON;AAID;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAoCzD;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyB5D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=contactsValidation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contactsValidation.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/model/contactsValidation.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { ByteArrayBuilder } from "@ledgerhq/device-management-kit";
2
+ export declare const CONTACTS_TLV_TAG: {
3
+ readonly STRUCT_TYPE: 1;
4
+ readonly STRUCT_VERSION: 2;
5
+ readonly DERIVATION_PATH: 105;
6
+ readonly CHAIN_ID: 35;
7
+ readonly HMAC_PROOF: 41;
8
+ readonly BLOCKCHAIN_FAMILY: 81;
9
+ readonly CONTACT_NAME: 240;
10
+ readonly SCOPE: 241;
11
+ readonly ACCOUNT_IDENTIFIER: 242;
12
+ readonly PREVIOUS_CONTACT_NAME: 243;
13
+ readonly PREVIOUS_IDENTIFIER: 244;
14
+ readonly PREVIOUS_SCOPE: 245;
15
+ readonly GROUP_HANDLE: 246;
16
+ readonly HMAC_REST: 247;
17
+ };
18
+ export declare const STRUCT_TYPE_REGISTER_IDENTITY = 45;
19
+ export declare const STRUCT_TYPE_EDIT_CONTACT_NAME = 46;
20
+ export declare const STRUCT_TYPE_REGISTER_LEDGER_ACCOUNT = 47;
21
+ export declare const STRUCT_TYPE_EDIT_LEDGER_ACCOUNT = 48;
22
+ export declare const STRUCT_TYPE_EDIT_IDENTIFIER = 49;
23
+ export declare const STRUCT_TYPE_EDIT_SCOPE = 50;
24
+ export declare const STRUCT_TYPE_PROVIDE_CONTACT = 51;
25
+ export declare const STRUCT_TYPE_PROVIDE_LEDGER_ACCOUNT_CONTACT = 52;
26
+ export declare const STRUCT_VERSION_VALUE = 1;
27
+ export declare function encodeTlvUInt8(builder: ByteArrayBuilder, tag: number, value: number): void;
28
+ export declare function encodeTlvAscii(builder: ByteArrayBuilder, tag: number, value: string): void;
29
+ export declare function encodeTlvBuffer(builder: ByteArrayBuilder, tag: number, value: Uint8Array): void;
30
+ export declare function encodeTlvChainId(builder: ByteArrayBuilder, tag: number, chainId: number | bigint): void;
31
+ /** Pack BIP32 segments as `count(1) || segment(4 BE)*count`. */
32
+ export declare function packDerivationPath(segments: number[]): Uint8Array;
33
+ //# sourceMappingURL=contactsTlvSerializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contactsTlvSerializer.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/services/contactsTlvSerializer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAInE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;CAkBnB,CAAC;AAEX,eAAO,MAAM,6BAA6B,KAAO,CAAC;AAClD,eAAO,MAAM,6BAA6B,KAAO,CAAC;AAClD,eAAO,MAAM,mCAAmC,KAAO,CAAC;AACxD,eAAO,MAAM,+BAA+B,KAAO,CAAC;AACpD,eAAO,MAAM,2BAA2B,KAAO,CAAC;AAChD,eAAO,MAAM,sBAAsB,KAAO,CAAC;AAC3C,eAAO,MAAM,2BAA2B,KAAO,CAAC;AAChD,eAAO,MAAM,0CAA0C,KAAO,CAAC;AAC/D,eAAO,MAAM,oBAAoB,IAAO,CAAC;AA4CzC,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,IAAI,CAIN;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,IAAI,CAKN;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,UAAU,GAChB,IAAI,CAIN;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,IAAI,CAEN;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,CAKjE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=contactsTlvSerializer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contactsTlvSerializer.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/services/contactsTlvSerializer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { type Command, type CommandResult, type InternalApi, type LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
+ export type SendFramedContactsPayloadArgs<Response> = {
3
+ /** TLV payload bytes (without any header or length framing). */
4
+ readonly payload: Uint8Array;
5
+ /** Sub-command byte (e.g. 0x01 for REGISTER IDENTITY). */
6
+ readonly p1: number;
7
+ /** Per-chunk Command factory. The helper passes the chunk bytes and the P2 byte. */
8
+ readonly makeCommand: (chunk: Uint8Array, p2: number) => Command<Response, unknown, unknown>;
9
+ /** Optional per-chunk diagnostic logging (one `debug` entry per outgoing chunk). */
10
+ readonly logger?: LoggerPublisherService;
11
+ readonly commandTag?: string;
12
+ };
13
+ export declare function sendFramedContactsPayload<Response>(api: InternalApi, { payload, makeCommand, logger, commandTag, }: SendFramedContactsPayloadArgs<Response>): Promise<CommandResult<Response>>;
14
+ //# sourceMappingURL=sendFramedContactsPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendFramedContactsPayload.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/services/sendFramedContactsPayload.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,WAAW,EAEhB,KAAK,sBAAsB,EAC5B,MAAM,iCAAiC,CAAC;AAMzC,MAAM,MAAM,6BAA6B,CAAC,QAAQ,IAAI;IACpD,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,QAAQ,CAAC,WAAW,EAAE,CACpB,KAAK,EAAE,UAAU,EACjB,EAAE,EAAE,MAAM,KACP,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,oFAAoF;IACpF,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,wBAAsB,yBAAyB,CAAC,QAAQ,EACtD,GAAG,EAAE,WAAW,EAChB,EACE,OAAO,EACP,WAAW,EACX,MAAM,EACN,UAAU,GACX,EAAE,6BAA6B,CAAC,QAAQ,CAAC,GACzC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAiClC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sendFramedContactsPayload.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendFramedContactsPayload.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/services/sendFramedContactsPayload.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { type CommandResult, type InternalApi, type LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
+ import { type ExistingContactGroup } from "../../../api/model/RegisterExternalAddress";
3
+ import { type ContactsErrorCodes } from "../../app-binder/model/contactsErrors";
4
+ export type RegisterIdentityProofs = {
5
+ readonly groupHandle: Uint8Array;
6
+ readonly hmacProof: Uint8Array;
7
+ readonly hmacRest: Uint8Array;
8
+ };
9
+ export type SendRegisterIdentityTaskArgs = {
10
+ readonly contactName: string;
11
+ readonly scope: string;
12
+ readonly identifier: Uint8Array;
13
+ readonly blockchainFamily: string;
14
+ readonly chainId?: bigint;
15
+ readonly existingContactGroup?: ExistingContactGroup;
16
+ readonly logger?: LoggerPublisherService;
17
+ };
18
+ export declare class SendRegisterIdentityTask {
19
+ private readonly api;
20
+ private readonly args;
21
+ constructor(api: InternalApi, args: SendRegisterIdentityTaskArgs);
22
+ run(): Promise<CommandResult<RegisterIdentityProofs, ContactsErrorCodes>>;
23
+ private buildPayload;
24
+ }
25
+ //# sourceMappingURL=SendRegisterIdentityTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SendRegisterIdentityTask.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/SendRegisterIdentityTask.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,WAAW,EAGhB,KAAK,sBAAsB,EAC5B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAM/E,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAapF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IACrD,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC;CAC1C,CAAC;AAEF,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,4BAA4B;IAG/C,GAAG,IAAI,OAAO,CAClB,aAAa,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAC1D;IAkCD,OAAO,CAAC,YAAY;CAsDrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SendRegisterIdentityTask.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SendRegisterIdentityTask.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/SendRegisterIdentityTask.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../../../src/internal/di.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAKtC,KAAK,kBAAkB,GAAG;IACxB,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,8BAI3B,kBAAkB,cAYpB,CAAC"}
1
+ {"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../../../src/internal/di.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAMtC,KAAK,kBAAkB,GAAG;IACxB,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,8BAI3B,kBAAkB,cAapB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type RegisterExternalAddressDAReturnType } from "../../api/app-binder/RegisterExternalAddressDeviceActionTypes";
2
+ import { type RegisterExternalAddressInput } from "../../api/model/RegisterExternalAddress";
3
+ import { ContactsAppBinder } from "../app-binder/ContactsAppBinder";
4
+ /**
5
+ * Delegates to `ContactsAppBinder`, which uses its injected `dmk`, `sessionId`,
6
+ * and `appName` to construct and execute the `RegisterExternalAddressDeviceAction`.
7
+ *
8
+ * Caller-input validation is intentionally NOT done here: the public API returns
9
+ * a device action, so validation lives inside the device action and surfaces as
10
+ * a typed terminal error state on the observable rather than a synchronous throw.
11
+ */
12
+ export declare class RegisterExternalAddressUseCase {
13
+ private readonly appBinder;
14
+ constructor(appBinder: ContactsAppBinder);
15
+ execute(input: RegisterExternalAddressInput): RegisterExternalAddressDAReturnType;
16
+ }
17
+ //# sourceMappingURL=RegisterExternalAddressUseCase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisterExternalAddressUseCase.d.ts","sourceRoot":"","sources":["../../../../src/internal/use-cases/RegisterExternalAddressUseCase.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,0DAA0D,CAAC;AACpH,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAG3E;;;;;;;GAOG;AACH,qBACa,8BAA8B;IAGvC,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,iBAAiB;IAG/C,OAAO,CACL,KAAK,EAAE,4BAA4B,GAClC,mCAAmC;CAGvC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RegisterExternalAddressUseCase.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisterExternalAddressUseCase.test.d.ts","sourceRoot":"","sources":["../../../../src/internal/use-cases/RegisterExternalAddressUseCase.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { ContainerModule } from "inversify";
2
+ export declare const useCaseModuleFactory: () => ContainerModule;
3
+ //# sourceMappingURL=useCaseModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCaseModule.d.ts","sourceRoot":"","sources":["../../../../../src/internal/use-cases/di/useCaseModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAM5C,eAAO,MAAM,oBAAoB,uBAK7B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const useCaseTypes: {
2
+ readonly RegisterExternalAddressUseCase: symbol;
3
+ };
4
+ //# sourceMappingURL=useCaseTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCaseTypes.d.ts","sourceRoot":"","sources":["../../../../../src/internal/use-cases/di/useCaseTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;CAEf,CAAC"}