@sogni-ai/expo-client 1.0.0-alpha.2

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 (185) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +87 -0
  3. package/dist/cjs/Account/index.d.ts +39 -0
  4. package/dist/cjs/Account/index.d.ts.map +1 -0
  5. package/dist/cjs/Account/index.js +111 -0
  6. package/dist/cjs/Account/index.js.map +1 -0
  7. package/dist/cjs/Account/types.d.ts +25 -0
  8. package/dist/cjs/Account/types.d.ts.map +1 -0
  9. package/dist/cjs/Account/types.js +18 -0
  10. package/dist/cjs/Account/types.js.map +1 -0
  11. package/dist/cjs/ApiClient/WebSocketClient/events.d.ts +51 -0
  12. package/dist/cjs/ApiClient/WebSocketClient/events.d.ts.map +1 -0
  13. package/dist/cjs/ApiClient/WebSocketClient/events.js +3 -0
  14. package/dist/cjs/ApiClient/WebSocketClient/events.js.map +1 -0
  15. package/dist/cjs/ApiClient/WebSocketClient/index.d.ts +34 -0
  16. package/dist/cjs/ApiClient/WebSocketClient/index.d.ts.map +1 -0
  17. package/dist/cjs/ApiClient/WebSocketClient/index.js +183 -0
  18. package/dist/cjs/ApiClient/WebSocketClient/index.js.map +1 -0
  19. package/dist/cjs/ApiClient/WebSocketClient/normalize.d.ts +24 -0
  20. package/dist/cjs/ApiClient/WebSocketClient/normalize.d.ts.map +1 -0
  21. package/dist/cjs/ApiClient/WebSocketClient/normalize.js +87 -0
  22. package/dist/cjs/ApiClient/WebSocketClient/normalize.js.map +1 -0
  23. package/dist/cjs/ApiClient/WebSocketClient/types.d.ts +9 -0
  24. package/dist/cjs/ApiClient/WebSocketClient/types.d.ts.map +1 -0
  25. package/dist/cjs/ApiClient/WebSocketClient/types.js +3 -0
  26. package/dist/cjs/ApiClient/WebSocketClient/types.js.map +1 -0
  27. package/dist/cjs/ApiClient/WebSocketClient/wireTypes.d.ts +61 -0
  28. package/dist/cjs/ApiClient/WebSocketClient/wireTypes.d.ts.map +1 -0
  29. package/dist/cjs/ApiClient/WebSocketClient/wireTypes.js +11 -0
  30. package/dist/cjs/ApiClient/WebSocketClient/wireTypes.js.map +1 -0
  31. package/dist/cjs/ApiClient/index.d.ts +57 -0
  32. package/dist/cjs/ApiClient/index.d.ts.map +1 -0
  33. package/dist/cjs/ApiClient/index.js +75 -0
  34. package/dist/cjs/ApiClient/index.js.map +1 -0
  35. package/dist/cjs/index.d.ts +55 -0
  36. package/dist/cjs/index.d.ts.map +1 -0
  37. package/dist/cjs/index.js +108 -0
  38. package/dist/cjs/index.js.map +1 -0
  39. package/dist/cjs/lib/AuthManager/ApiKeyAuthManager.d.ts +15 -0
  40. package/dist/cjs/lib/AuthManager/ApiKeyAuthManager.d.ts.map +1 -0
  41. package/dist/cjs/lib/AuthManager/ApiKeyAuthManager.js +47 -0
  42. package/dist/cjs/lib/AuthManager/ApiKeyAuthManager.js.map +1 -0
  43. package/dist/cjs/lib/AuthManager/AuthManagerBase.d.ts +23 -0
  44. package/dist/cjs/lib/AuthManager/AuthManagerBase.d.ts.map +1 -0
  45. package/dist/cjs/lib/AuthManager/AuthManagerBase.js +14 -0
  46. package/dist/cjs/lib/AuthManager/AuthManagerBase.js.map +1 -0
  47. package/dist/cjs/lib/AuthManager/AuthStorage.d.ts +11 -0
  48. package/dist/cjs/lib/AuthManager/AuthStorage.d.ts.map +1 -0
  49. package/dist/cjs/lib/AuthManager/AuthStorage.js +50 -0
  50. package/dist/cjs/lib/AuthManager/AuthStorage.js.map +1 -0
  51. package/dist/cjs/lib/AuthManager/TokenAuthManager.d.ts +35 -0
  52. package/dist/cjs/lib/AuthManager/TokenAuthManager.d.ts.map +1 -0
  53. package/dist/cjs/lib/AuthManager/TokenAuthManager.js +164 -0
  54. package/dist/cjs/lib/AuthManager/TokenAuthManager.js.map +1 -0
  55. package/dist/cjs/lib/AuthManager/index.d.ts +7 -0
  56. package/dist/cjs/lib/AuthManager/index.d.ts.map +1 -0
  57. package/dist/cjs/lib/AuthManager/index.js +13 -0
  58. package/dist/cjs/lib/AuthManager/index.js.map +1 -0
  59. package/dist/cjs/lib/Cache.d.ts +12 -0
  60. package/dist/cjs/lib/Cache.d.ts.map +1 -0
  61. package/dist/cjs/lib/Cache.js +36 -0
  62. package/dist/cjs/lib/Cache.js.map +1 -0
  63. package/dist/cjs/lib/DefaultLogger.d.ts +17 -0
  64. package/dist/cjs/lib/DefaultLogger.d.ts.map +1 -0
  65. package/dist/cjs/lib/DefaultLogger.js +36 -0
  66. package/dist/cjs/lib/DefaultLogger.js.map +1 -0
  67. package/dist/cjs/lib/RestClient.d.ts +18 -0
  68. package/dist/cjs/lib/RestClient.d.ts.map +1 -0
  69. package/dist/cjs/lib/RestClient.js +67 -0
  70. package/dist/cjs/lib/RestClient.js.map +1 -0
  71. package/dist/cjs/lib/TypedEventEmitter.d.ts +16 -0
  72. package/dist/cjs/lib/TypedEventEmitter.d.ts.map +1 -0
  73. package/dist/cjs/lib/TypedEventEmitter.js +46 -0
  74. package/dist/cjs/lib/TypedEventEmitter.js.map +1 -0
  75. package/dist/cjs/lib/base64.d.ts +3 -0
  76. package/dist/cjs/lib/base64.d.ts.map +1 -0
  77. package/dist/cjs/lib/base64.js +21 -0
  78. package/dist/cjs/lib/base64.js.map +1 -0
  79. package/dist/cjs/lib/getUUID.d.ts +12 -0
  80. package/dist/cjs/lib/getUUID.d.ts.map +1 -0
  81. package/dist/cjs/lib/getUUID.js +29 -0
  82. package/dist/cjs/lib/getUUID.js.map +1 -0
  83. package/dist/cjs/lib/utils.d.ts +10 -0
  84. package/dist/cjs/lib/utils.d.ts.map +1 -0
  85. package/dist/cjs/lib/utils.js +24 -0
  86. package/dist/cjs/lib/utils.js.map +1 -0
  87. package/dist/cjs/types/ErrorData.d.ts +7 -0
  88. package/dist/cjs/types/ErrorData.d.ts.map +1 -0
  89. package/dist/cjs/types/ErrorData.js +3 -0
  90. package/dist/cjs/types/ErrorData.js.map +1 -0
  91. package/dist/cjs/types/json.d.ts +6 -0
  92. package/dist/cjs/types/json.d.ts.map +1 -0
  93. package/dist/cjs/types/json.js +3 -0
  94. package/dist/cjs/types/json.js.map +1 -0
  95. package/dist/cjs/types/token.d.ts +2 -0
  96. package/dist/cjs/types/token.d.ts.map +1 -0
  97. package/dist/cjs/types/token.js +3 -0
  98. package/dist/cjs/types/token.js.map +1 -0
  99. package/dist/cjs/version.d.ts +2 -0
  100. package/dist/cjs/version.d.ts.map +1 -0
  101. package/dist/cjs/version.js +5 -0
  102. package/dist/cjs/version.js.map +1 -0
  103. package/dist/cjs/wallet.d.ts +6 -0
  104. package/dist/cjs/wallet.d.ts.map +1 -0
  105. package/dist/cjs/wallet.js +6 -0
  106. package/dist/cjs/wallet.js.map +1 -0
  107. package/dist/esm/Account/index.js +106 -0
  108. package/dist/esm/Account/index.js.map +1 -0
  109. package/dist/esm/Account/types.js +15 -0
  110. package/dist/esm/Account/types.js.map +1 -0
  111. package/dist/esm/ApiClient/WebSocketClient/events.js +2 -0
  112. package/dist/esm/ApiClient/WebSocketClient/events.js.map +1 -0
  113. package/dist/esm/ApiClient/WebSocketClient/index.js +178 -0
  114. package/dist/esm/ApiClient/WebSocketClient/index.js.map +1 -0
  115. package/dist/esm/ApiClient/WebSocketClient/normalize.js +81 -0
  116. package/dist/esm/ApiClient/WebSocketClient/normalize.js.map +1 -0
  117. package/dist/esm/ApiClient/WebSocketClient/types.js +2 -0
  118. package/dist/esm/ApiClient/WebSocketClient/types.js.map +1 -0
  119. package/dist/esm/ApiClient/WebSocketClient/wireTypes.js +10 -0
  120. package/dist/esm/ApiClient/WebSocketClient/wireTypes.js.map +1 -0
  121. package/dist/esm/ApiClient/index.js +68 -0
  122. package/dist/esm/ApiClient/index.js.map +1 -0
  123. package/dist/esm/index.js +66 -0
  124. package/dist/esm/index.js.map +1 -0
  125. package/dist/esm/lib/AuthManager/ApiKeyAuthManager.js +42 -0
  126. package/dist/esm/lib/AuthManager/ApiKeyAuthManager.js.map +1 -0
  127. package/dist/esm/lib/AuthManager/AuthManagerBase.js +9 -0
  128. package/dist/esm/lib/AuthManager/AuthManagerBase.js.map +1 -0
  129. package/dist/esm/lib/AuthManager/AuthStorage.js +13 -0
  130. package/dist/esm/lib/AuthManager/AuthStorage.js.map +1 -0
  131. package/dist/esm/lib/AuthManager/TokenAuthManager.js +159 -0
  132. package/dist/esm/lib/AuthManager/TokenAuthManager.js.map +1 -0
  133. package/dist/esm/lib/AuthManager/index.js +5 -0
  134. package/dist/esm/lib/AuthManager/index.js.map +1 -0
  135. package/dist/esm/lib/Cache.js +33 -0
  136. package/dist/esm/lib/Cache.js.map +1 -0
  137. package/dist/esm/lib/DefaultLogger.js +32 -0
  138. package/dist/esm/lib/DefaultLogger.js.map +1 -0
  139. package/dist/esm/lib/RestClient.js +62 -0
  140. package/dist/esm/lib/RestClient.js.map +1 -0
  141. package/dist/esm/lib/TypedEventEmitter.js +44 -0
  142. package/dist/esm/lib/TypedEventEmitter.js.map +1 -0
  143. package/dist/esm/lib/base64.js +17 -0
  144. package/dist/esm/lib/base64.js.map +1 -0
  145. package/dist/esm/lib/getUUID.js +26 -0
  146. package/dist/esm/lib/getUUID.js.map +1 -0
  147. package/dist/esm/lib/utils.js +19 -0
  148. package/dist/esm/lib/utils.js.map +1 -0
  149. package/dist/esm/types/ErrorData.js +2 -0
  150. package/dist/esm/types/ErrorData.js.map +1 -0
  151. package/dist/esm/types/json.js +2 -0
  152. package/dist/esm/types/json.js.map +1 -0
  153. package/dist/esm/types/token.js +2 -0
  154. package/dist/esm/types/token.js.map +1 -0
  155. package/dist/esm/version.js +2 -0
  156. package/dist/esm/version.js.map +1 -0
  157. package/dist/esm/wallet.js +2 -0
  158. package/dist/esm/wallet.js.map +1 -0
  159. package/package.json +91 -0
  160. package/src/Account/index.ts +118 -0
  161. package/src/Account/types.ts +41 -0
  162. package/src/ApiClient/WebSocketClient/events.ts +60 -0
  163. package/src/ApiClient/WebSocketClient/index.ts +224 -0
  164. package/src/ApiClient/WebSocketClient/normalize.ts +104 -0
  165. package/src/ApiClient/WebSocketClient/types.ts +10 -0
  166. package/src/ApiClient/WebSocketClient/wireTypes.ts +63 -0
  167. package/src/ApiClient/index.ts +134 -0
  168. package/src/index.ts +141 -0
  169. package/src/lib/AuthManager/ApiKeyAuthManager.ts +52 -0
  170. package/src/lib/AuthManager/AuthManagerBase.ts +35 -0
  171. package/src/lib/AuthManager/AuthStorage.ts +21 -0
  172. package/src/lib/AuthManager/TokenAuthManager.ts +179 -0
  173. package/src/lib/AuthManager/index.ts +8 -0
  174. package/src/lib/Cache.ts +45 -0
  175. package/src/lib/DefaultLogger.ts +47 -0
  176. package/src/lib/RestClient.ts +77 -0
  177. package/src/lib/TypedEventEmitter.ts +52 -0
  178. package/src/lib/base64.ts +17 -0
  179. package/src/lib/getUUID.ts +27 -0
  180. package/src/lib/utils.ts +21 -0
  181. package/src/types/ErrorData.ts +7 -0
  182. package/src/types/json.ts +5 -0
  183. package/src/types/token.ts +1 -0
  184. package/src/version.ts +1 -0
  185. package/src/wallet.ts +6 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../../src/lib/base64.ts"],"names":[],"mappings":";;AAAA,oCASC;AAED,oCAKC;AAhBD,SAAgB,YAAY,CAAC,GAAW;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC;IACvB,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QACtD,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,YAAY,CAAC,GAAW;IACtC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Generate a v4 UUID using crypto.getRandomValues, returned in uppercase form.
3
+ *
4
+ * Mac workers in the Sogni Supernet use uppercase UUIDs; the SDK keeps that
5
+ * convention end-to-end so wire-level comparisons stay simple.
6
+ *
7
+ * Requires `crypto.getRandomValues` (polyfilled in Expo via
8
+ * `expo-standard-web-crypto/polyfill`). SogniClient.create() verifies the
9
+ * polyfill is present and throws a clear error otherwise.
10
+ */
11
+ export default function getUUID(): string;
12
+ //# sourceMappingURL=getUUID.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUUID.d.ts","sourceRoot":"","sources":["../../../src/lib/getUUID.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,IAAI,MAAM,CAgBxC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = getUUID;
4
+ /**
5
+ * Generate a v4 UUID using crypto.getRandomValues, returned in uppercase form.
6
+ *
7
+ * Mac workers in the Sogni Supernet use uppercase UUIDs; the SDK keeps that
8
+ * convention end-to-end so wire-level comparisons stay simple.
9
+ *
10
+ * Requires `crypto.getRandomValues` (polyfilled in Expo via
11
+ * `expo-standard-web-crypto/polyfill`). SogniClient.create() verifies the
12
+ * polyfill is present and throws a clear error otherwise.
13
+ */
14
+ function getUUID() {
15
+ const bytes = crypto.getRandomValues(new Uint8Array(16));
16
+ bytes[6] = (bytes[6] & 0x0f) | 0x40;
17
+ bytes[8] = (bytes[8] & 0x3f) | 0x80;
18
+ const hex = Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join('');
19
+ return (hex.slice(0, 8) +
20
+ '-' +
21
+ hex.slice(8, 12) +
22
+ '-' +
23
+ hex.slice(12, 16) +
24
+ '-' +
25
+ hex.slice(16, 20) +
26
+ '-' +
27
+ hex.slice(20)).toUpperCase();
28
+ }
29
+ //# sourceMappingURL=getUUID.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUUID.js","sourceRoot":"","sources":["../../../src/lib/getUUID.ts"],"names":[],"mappings":";;AAUA,0BAgBC;AA1BD;;;;;;;;;GASG;AACH,SAAwB,OAAO;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/E,OAAO,CACL,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACf,GAAG;QACH,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAChB,GAAG;QACH,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QACjB,GAAG;QACH,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QACjB,GAAG;QACH,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACd,CAAC,WAAW,EAAE,CAAC;AAClB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare function decodeToken(token: string): {
2
+ walletAddress: string;
3
+ expiresAt: Date;
4
+ };
5
+ export declare function decodeRefreshToken(token: string): {
6
+ env: string;
7
+ expiresAt: Date;
8
+ };
9
+ export declare function delay(ms: number): Promise<unknown>;
10
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM;;;EAMxC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM;;;EAM/C;AAED,wBAAsB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAErC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeToken = decodeToken;
4
+ exports.decodeRefreshToken = decodeRefreshToken;
5
+ exports.delay = delay;
6
+ const jwt_decode_1 = require("jwt-decode");
7
+ function decodeToken(token) {
8
+ const data = (0, jwt_decode_1.jwtDecode)(token);
9
+ return {
10
+ walletAddress: data.addr,
11
+ expiresAt: new Date(data.exp * 1000)
12
+ };
13
+ }
14
+ function decodeRefreshToken(token) {
15
+ const data = (0, jwt_decode_1.jwtDecode)(token);
16
+ return {
17
+ env: data.env,
18
+ expiresAt: new Date(data.exp * 1000)
19
+ };
20
+ }
21
+ async function delay(ms) {
22
+ return new Promise((resolve) => setTimeout(resolve, ms));
23
+ }
24
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":";;AAEA,kCAMC;AAED,gDAMC;AAED,sBAEC;AApBD,2CAAuC;AAEvC,SAAgB,WAAW,CAAC,KAAa;IACvC,MAAM,IAAI,GAAG,IAAA,sBAAS,EAA0D,KAAK,CAAC,CAAC;IACvF,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,IAAI;QACxB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,MAAM,IAAI,GAAG,IAAA,sBAAS,EAA0D,KAAK,CAAC,CAAC;IACvF,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;KACrC,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,KAAK,CAAC,EAAU;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,7 @@
1
+ interface ErrorData {
2
+ code: number;
3
+ originalCode?: string;
4
+ message: string;
5
+ }
6
+ export default ErrorData;
7
+ //# sourceMappingURL=ErrorData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorData.d.ts","sourceRoot":"","sources":["../../../src/types/ErrorData.ts"],"names":[],"mappings":"AAAA,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ErrorData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorData.js","sourceRoot":"","sources":["../../../src/types/ErrorData.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export type JSONValue = undefined | null | string | number | boolean | JSONObject | JSONArray;
2
+ export type JSONObject = {
3
+ [x: string]: JSONValue;
4
+ };
5
+ export type JSONArray = Array<JSONValue>;
6
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/types/json.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAE9F,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEpD,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/types/json.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export type TokenType = 'sogni' | 'spark';
2
+ //# sourceMappingURL=token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/types/token.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/types/token.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const LIB_VERSION = "0.1.0";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,UAAU,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LIB_VERSION = void 0;
4
+ exports.LIB_VERSION = '0.1.0';
5
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,OAAO,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { LIB_VERSION } from './version';
2
+ export interface Wallet {
3
+ privateKey: `0x${string}`;
4
+ address: `0x${string}`;
5
+ }
6
+ //# sourceMappingURL=wallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;CACxB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LIB_VERSION = void 0;
4
+ var version_1 = require("./version");
5
+ Object.defineProperty(exports, "LIB_VERSION", { enumerable: true, get: function () { return version_1.LIB_VERSION; } });
6
+ //# sourceMappingURL=wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/wallet.ts"],"names":[],"mappings":";;;AAAA,qCAAwC;AAA/B,sGAAA,WAAW,OAAA"}
@@ -0,0 +1,106 @@
1
+ import { ApiError } from '../ApiClient';
2
+ import TypedEventEmitter from '../lib/TypedEventEmitter';
3
+ import { emptyAccountSnapshot } from './types';
4
+ /**
5
+ * Account API: current-user info, balance, logout.
6
+ *
7
+ * Phase 2 surface — `login()` and `signup()` are deferred to Phase 4
8
+ * because they require deterministic wallet derivation (Phase 4 wallet
9
+ * helper). For Phase 2, authenticate via API key in `SogniClient.create()`
10
+ * or pre-obtained tokens via `sogni.setTokens(...)`.
11
+ */
12
+ class AccountApi extends TypedEventEmitter {
13
+ constructor(client) {
14
+ super();
15
+ this._client = client;
16
+ this._snapshot = emptyAccountSnapshot();
17
+ client.socket.on('connected', ({ network }) => {
18
+ this._update({ networkStatus: 'connected', network });
19
+ });
20
+ client.socket.on('disconnected', () => {
21
+ this._update({ networkStatus: 'disconnected', network: null });
22
+ });
23
+ client.socket.on('authenticated', (e) => {
24
+ this._update({
25
+ authenticated: true,
26
+ username: e.username,
27
+ walletAddress: e.walletAddress,
28
+ balance: e.balance
29
+ });
30
+ });
31
+ client.socket.on('balanceUpdate', (e) => {
32
+ this._update({ balance: e.balance });
33
+ });
34
+ client.socket.on('changeNetwork', (e) => {
35
+ this._update({ network: e.network });
36
+ });
37
+ client.on('authUpdated', (authenticated) => {
38
+ if (!authenticated) {
39
+ this._update(emptyAccountSnapshot());
40
+ }
41
+ });
42
+ }
43
+ /** Read-only snapshot of the current account state. */
44
+ get current() {
45
+ return this._snapshot;
46
+ }
47
+ /** Subscribe to account state changes. Returns an unsubscribe function. */
48
+ onChange(listener) {
49
+ return this.on('change', listener);
50
+ }
51
+ /** Fetch the current user's profile data from REST. Updates the snapshot. */
52
+ async me() {
53
+ const res = await this._client.rest.get('/v1/account/me');
54
+ this._update({
55
+ username: res.data.username,
56
+ email: res.data.currentEmail,
57
+ walletAddress: res.data.walletAddress
58
+ });
59
+ return res.data;
60
+ }
61
+ /**
62
+ * Force-refresh the current user's balance from REST. Balance also updates
63
+ * automatically via socket events — call this only when you need a synchronous
64
+ * fetch (e.g., on screen mount before the socket has reconnected).
65
+ */
66
+ async refreshBalance() {
67
+ const res = await this._client.rest.get('/v4/account/balance');
68
+ this._update({ balance: res.data });
69
+ return res.data;
70
+ }
71
+ /**
72
+ * Log out and clear all auth state. Closes the WebSocket and removes any
73
+ * persisted tokens. Safe to call even if not authenticated.
74
+ */
75
+ async logout() {
76
+ try {
77
+ await this._client.rest.post('/v1/account/logout');
78
+ }
79
+ catch (e) {
80
+ if (e instanceof ApiError && e.status === 401) {
81
+ this._client.logger.warn('Logout call rejected — probably already logged out');
82
+ }
83
+ else {
84
+ throw e;
85
+ }
86
+ }
87
+ this._client.auth.clear();
88
+ }
89
+ _update(partial) {
90
+ const next = { ...this._snapshot, ...partial };
91
+ if (shallowEqual(next, this._snapshot))
92
+ return;
93
+ this._snapshot = next;
94
+ this.emit('change', this._snapshot);
95
+ }
96
+ }
97
+ function shallowEqual(a, b) {
98
+ const keys = Object.keys(a);
99
+ for (const k of keys) {
100
+ if (a[k] !== b[k])
101
+ return false;
102
+ }
103
+ return true;
104
+ }
105
+ export default AccountApi;
106
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Account/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export function emptyAccountSnapshot() {
2
+ return {
3
+ authenticated: false,
4
+ networkStatus: 'disconnected',
5
+ network: null,
6
+ balance: {
7
+ sogni: { settled: '0', credit: '0', debit: '0', net: '0' },
8
+ spark: { settled: '0', credit: '0', debit: '0', net: '0', premiumCredit: '0' }
9
+ },
10
+ walletAddress: null,
11
+ username: null,
12
+ email: null
13
+ };
14
+ }
15
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/Account/types.ts"],"names":[],"mappings":"AA2BA,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,aAAa,EAAE,KAAK;QACpB,aAAa,EAAE,cAAc;QAC7B,OAAO,EAAE,IAAI;QACb,OAAO,EAAE;YACP,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;YAC1D,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;SAC/E;QACD,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/ApiClient/WebSocketClient/events.ts"],"names":[],"mappings":""}
@@ -0,0 +1,178 @@
1
+ import TypedEventEmitter from '../../lib/TypedEventEmitter';
2
+ import { base64Decode, base64Encode } from '../../lib/base64';
3
+ import { LIB_VERSION } from '../../version';
4
+ import { normalizeAuthenticated, normalizeBalanceUpdate, normalizeChangeNetwork, normalizeToastMessage } from './normalize';
5
+ const PROTOCOL_VERSION = '3.0.0';
6
+ const RECONNECT_DELAY_MS = 1000;
7
+ const MAX_RECONNECT_ATTEMPTS = 5;
8
+ class WebSocketClient extends TypedEventEmitter {
9
+ constructor(baseUrl, auth, appId, supernetType, logger, appSource) {
10
+ super();
11
+ this.socket = null;
12
+ this._status = 'disconnected';
13
+ this._reconnectAttempts = 0;
14
+ this._wantConnected = false;
15
+ this.baseUrl = normalizeBaseUrl(baseUrl);
16
+ this._auth = auth;
17
+ this.appId = appId;
18
+ this.appSource = appSource?.trim() || undefined;
19
+ this._supernetType = supernetType;
20
+ this._logger = logger;
21
+ }
22
+ get supernetType() {
23
+ return this._supernetType;
24
+ }
25
+ get isConnected() {
26
+ return this._status === 'connected';
27
+ }
28
+ get status() {
29
+ return this._status;
30
+ }
31
+ async connect() {
32
+ this._wantConnected = true;
33
+ if (this.socket) {
34
+ this._cleanupSocket();
35
+ }
36
+ this._status = 'connecting';
37
+ const userAgent = `Sogni/${PROTOCOL_VERSION} (sogni-expo-client) ${LIB_VERSION}`;
38
+ const url = new URL(this.baseUrl);
39
+ url.protocol = url.protocol === 'https:' || url.protocol === 'wss:' ? 'wss:' : 'ws:';
40
+ url.searchParams.set('appId', this.appId);
41
+ if (this.appSource)
42
+ url.searchParams.set('appSource', this.appSource);
43
+ url.searchParams.set('clientName', userAgent);
44
+ url.searchParams.set('clientType', 'artist');
45
+ url.searchParams.set('forceWorkerId', this._supernetType === 'fast' ? 'fast' : '');
46
+ const auth = await this._auth.socketAuth();
47
+ if (auth.queryParams) {
48
+ for (const [k, v] of Object.entries(auth.queryParams)) {
49
+ url.searchParams.set(k, v);
50
+ }
51
+ }
52
+ const options = auth.headers ? { headers: auth.headers } : undefined;
53
+ const Ctor = globalThis.WebSocket;
54
+ if (!Ctor) {
55
+ throw new Error('No global WebSocket available — are you running outside of React Native?');
56
+ }
57
+ const socket = new Ctor(url.toString(), undefined, options);
58
+ this.socket = socket;
59
+ socket.onopen = () => this._handleOpen();
60
+ socket.onmessage = (e) => this._handleMessage(e);
61
+ socket.onclose = (e) => this._handleClose(e);
62
+ socket.onerror = (e) => this._handleError(e);
63
+ }
64
+ disconnect() {
65
+ this._wantConnected = false;
66
+ if (!this.socket)
67
+ return;
68
+ const socket = this.socket;
69
+ this._cleanupSocket();
70
+ try {
71
+ socket.close(1000, 'Client disconnected');
72
+ }
73
+ catch (e) {
74
+ this._logger.warn('Error closing socket:', e);
75
+ }
76
+ this._status = 'disconnected';
77
+ this.emit('disconnected', { code: 1000, reason: 'Client disconnected' });
78
+ }
79
+ async switchNetwork(target) {
80
+ return new Promise((resolve) => {
81
+ this.once('changeNetwork', ({ network }) => {
82
+ this._supernetType = network;
83
+ resolve(network);
84
+ });
85
+ void this.send('changeNetwork', target);
86
+ });
87
+ }
88
+ async send(messageType, data) {
89
+ if (!this.socket || this._status !== 'connected') {
90
+ throw new Error(`Cannot send ${messageType}: socket not connected`);
91
+ }
92
+ const envelope = JSON.stringify({
93
+ type: messageType,
94
+ data: base64Encode(JSON.stringify(data))
95
+ });
96
+ this._logger.debug('WebSocket send:', messageType, data);
97
+ this.socket.send(envelope);
98
+ }
99
+ _handleOpen() {
100
+ this._status = 'connected';
101
+ this._reconnectAttempts = 0;
102
+ this.emit('connected', { network: this._supernetType });
103
+ }
104
+ _handleClose(e) {
105
+ const wasConnected = this._status === 'connected';
106
+ this._status = 'disconnected';
107
+ this._cleanupSocket();
108
+ this.emit('disconnected', { code: e.code, reason: e.reason });
109
+ if (this._wantConnected && wasConnected && e.code !== 1000) {
110
+ this._scheduleReconnect();
111
+ }
112
+ }
113
+ _handleError(e) {
114
+ this._logger.error('WebSocket error:', e);
115
+ }
116
+ _scheduleReconnect() {
117
+ if (this._reconnectAttempts >= MAX_RECONNECT_ATTEMPTS) {
118
+ this._logger.warn('WebSocket reconnect attempts exhausted');
119
+ return;
120
+ }
121
+ this._reconnectAttempts++;
122
+ setTimeout(() => {
123
+ if (this._wantConnected) {
124
+ void this.connect();
125
+ }
126
+ }, RECONNECT_DELAY_MS);
127
+ }
128
+ _cleanupSocket() {
129
+ if (!this.socket)
130
+ return;
131
+ const s = this.socket;
132
+ s.onopen = null;
133
+ s.onmessage = null;
134
+ s.onclose = null;
135
+ s.onerror = null;
136
+ this.socket = null;
137
+ }
138
+ _handleMessage(e) {
139
+ Promise.resolve(typeof e.data === 'string' ? e.data : e.data.text())
140
+ .then((str) => {
141
+ const envelope = JSON.parse(str);
142
+ const payload = envelope.data ? JSON.parse(base64Decode(envelope.data)) : null;
143
+ this._logger.debug('WebSocket recv:', envelope.type, payload);
144
+ this._dispatch(envelope.type, payload);
145
+ })
146
+ .catch((err) => this._logger.error('Failed to parse WebSocket message:', err));
147
+ }
148
+ _dispatch(type, payload) {
149
+ switch (type) {
150
+ case 'authenticated':
151
+ this.emit('authenticated', normalizeAuthenticated(payload));
152
+ break;
153
+ case 'balanceUpdate':
154
+ this.emit('balanceUpdate', normalizeBalanceUpdate(payload));
155
+ break;
156
+ case 'changeNetwork':
157
+ this.emit('changeNetwork', normalizeChangeNetwork(payload));
158
+ break;
159
+ case 'toastMessage':
160
+ this.emit('toastMessage', normalizeToastMessage(payload));
161
+ break;
162
+ default:
163
+ // Phase 2 only handles a subset; later phases will add jobState, jobProgress, etc.
164
+ this._logger.debug('Unhandled WebSocket message type:', type);
165
+ break;
166
+ }
167
+ }
168
+ }
169
+ function normalizeBaseUrl(url) {
170
+ const u = new URL(url);
171
+ if (u.protocol === 'http:' || u.protocol === 'ws:')
172
+ u.protocol = 'http:';
173
+ else
174
+ u.protocol = 'https:';
175
+ return u.toString();
176
+ }
177
+ export default WebSocketClient;
178
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ApiClient/WebSocketClient/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * The ONLY place where wire-level message shapes are translated into clean
3
+ * public types. Every quirk in the sogni-socket protocol gets masked here so
4
+ * the rest of the SDK and downstream apps never see them.
5
+ *
6
+ * Authoritative wire source:
7
+ * ../sogni-socket/controllers/jobsController.js
8
+ * ../sogni-socket/controllers/websocketsController.js
9
+ *
10
+ * Known quirks masked (catalog grows as later phases add events):
11
+ * - `jobID` on the wire is actually the PROJECT id (Phase 3)
12
+ * - `imgID` on the wire is actually the JOB id (Phase 3)
13
+ * - `error_message` is snake_case in an otherwise camelCase API (Phase 3)
14
+ * - `balanceUpdate` arrives in two shapes (v1 flat, v2 nested) — always
15
+ * normalized to v2 here.
16
+ * - `authenticated.tokens` similarly v1/v2 — normalized to v2.
17
+ */
18
+ function isV2Tokens(t) {
19
+ return (typeof t === 'object' && t !== null && 'sogni' in t && 'spark' in t);
20
+ }
21
+ function normalizeBalanceTokens(raw) {
22
+ if (isV2Tokens(raw)) {
23
+ return {
24
+ sogni: {
25
+ settled: String(raw.sogni.settled ?? '0'),
26
+ credit: String(raw.sogni.credit ?? '0'),
27
+ debit: String(raw.sogni.debit ?? '0'),
28
+ net: String(raw.sogni.net ?? '0')
29
+ },
30
+ spark: {
31
+ settled: String(raw.spark.settled ?? '0'),
32
+ credit: String(raw.spark.credit ?? '0'),
33
+ debit: String(raw.spark.debit ?? '0'),
34
+ net: String(raw.spark.net ?? '0'),
35
+ premiumCredit: String(raw.spark.premiumCredit ?? '0')
36
+ }
37
+ };
38
+ }
39
+ // v1 → synthesize v2 wrapper with empty spark
40
+ const v1 = raw;
41
+ return {
42
+ sogni: {
43
+ settled: String(v1.settled ?? '0'),
44
+ credit: String(v1.credit ?? '0'),
45
+ debit: String(v1.debit ?? '0'),
46
+ net: String(v1.net ?? '0')
47
+ },
48
+ spark: {
49
+ settled: '0',
50
+ credit: '0',
51
+ debit: '0',
52
+ net: '0',
53
+ premiumCredit: '0'
54
+ }
55
+ };
56
+ }
57
+ export function normalizeAuthenticated(raw) {
58
+ return {
59
+ username: raw.username,
60
+ walletAddress: raw.address,
61
+ balance: normalizeBalanceTokens(raw.tokens),
62
+ isMainnet: !!raw.isMainnet,
63
+ accountWasMigrated: !!raw.accountWasMigrated,
64
+ hasUnclaimedAirdrop: !!raw.hasUnclaimedAirdrop,
65
+ firstLoginAfterMigration: !!raw.firstLoginAfterMigration
66
+ };
67
+ }
68
+ export function normalizeBalanceUpdate(raw) {
69
+ return { balance: normalizeBalanceTokens(raw) };
70
+ }
71
+ export function normalizeChangeNetwork(raw) {
72
+ return { network: raw.network };
73
+ }
74
+ export function normalizeToastMessage(raw) {
75
+ return {
76
+ level: raw.type,
77
+ message: raw.message,
78
+ ...(raw.stickyID ? { stickyID: raw.stickyID } : {})
79
+ };
80
+ }
81
+ //# sourceMappingURL=normalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../../src/ApiClient/WebSocketClient/normalize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ApiClient/WebSocketClient/types.ts"],"names":[],"mappings":""}