@sudobility/types 1.8.21

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 (248) hide show
  1. package/CLAUDE.md +285 -0
  2. package/README.md +310 -0
  3. package/dist/index.cjs +62 -0
  4. package/dist/index.d.ts +18 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +62 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/types/blockchain/common.cjs +102 -0
  9. package/dist/types/blockchain/common.d.ts +262 -0
  10. package/dist/types/blockchain/common.d.ts.map +1 -0
  11. package/dist/types/blockchain/common.js +102 -0
  12. package/dist/types/blockchain/common.js.map +1 -0
  13. package/dist/types/blockchain/index.cjs +18 -0
  14. package/dist/types/blockchain/index.d.ts +4 -0
  15. package/dist/types/blockchain/index.d.ts.map +1 -0
  16. package/dist/types/blockchain/index.js +18 -0
  17. package/dist/types/blockchain/index.js.map +1 -0
  18. package/dist/types/blockchain/validation.cjs +88 -0
  19. package/dist/types/blockchain/validation.d.ts +9 -0
  20. package/dist/types/blockchain/validation.d.ts.map +1 -0
  21. package/dist/types/blockchain/validation.js +88 -0
  22. package/dist/types/blockchain/validation.js.map +1 -0
  23. package/dist/types/business/enums.cjs +314 -0
  24. package/dist/types/business/enums.d.ts +227 -0
  25. package/dist/types/business/enums.d.ts.map +1 -0
  26. package/dist/types/business/enums.js +314 -0
  27. package/dist/types/business/enums.js.map +1 -0
  28. package/dist/types/business/index.cjs +33 -0
  29. package/dist/types/business/index.d.ts +5 -0
  30. package/dist/types/business/index.d.ts.map +1 -0
  31. package/dist/types/business/index.js +33 -0
  32. package/dist/types/business/index.js.map +1 -0
  33. package/dist/types/business/wallet-status.cjs +38 -0
  34. package/dist/types/business/wallet-status.d.ts +32 -0
  35. package/dist/types/business/wallet-status.d.ts.map +1 -0
  36. package/dist/types/business/wallet-status.js +38 -0
  37. package/dist/types/business/wallet-status.js.map +1 -0
  38. package/dist/types/common.cjs +6 -0
  39. package/dist/types/common.d.ts +142 -0
  40. package/dist/types/common.d.ts.map +1 -0
  41. package/dist/types/common.js +6 -0
  42. package/dist/types/common.js.map +1 -0
  43. package/dist/types/config/app-config.cjs +6 -0
  44. package/dist/types/config/app-config.d.ts +67 -0
  45. package/dist/types/config/app-config.d.ts.map +1 -0
  46. package/dist/types/config/app-config.js +6 -0
  47. package/dist/types/config/app-config.js.map +1 -0
  48. package/dist/types/config/environment.cjs +24 -0
  49. package/dist/types/config/environment.d.ts +68 -0
  50. package/dist/types/config/environment.d.ts.map +1 -0
  51. package/dist/types/config/environment.js +24 -0
  52. package/dist/types/config/environment.js.map +1 -0
  53. package/dist/types/config/index.cjs +6 -0
  54. package/dist/types/config/index.d.ts +4 -0
  55. package/dist/types/config/index.d.ts.map +1 -0
  56. package/dist/types/config/index.js +6 -0
  57. package/dist/types/config/index.js.map +1 -0
  58. package/dist/types/index.cjs +35 -0
  59. package/dist/types/index.d.ts +10 -0
  60. package/dist/types/index.d.ts.map +1 -0
  61. package/dist/types/index.js +35 -0
  62. package/dist/types/index.js.map +1 -0
  63. package/dist/types/indexer/index.cjs +19 -0
  64. package/dist/types/indexer/index.d.ts +3 -0
  65. package/dist/types/indexer/index.d.ts.map +1 -0
  66. package/dist/types/indexer/index.js +19 -0
  67. package/dist/types/indexer/index.js.map +1 -0
  68. package/dist/types/indexer/indexer-guards.cjs +145 -0
  69. package/dist/types/indexer/indexer-guards.d.ts +26 -0
  70. package/dist/types/indexer/indexer-guards.d.ts.map +1 -0
  71. package/dist/types/indexer/indexer-guards.js +145 -0
  72. package/dist/types/indexer/indexer-guards.js.map +1 -0
  73. package/dist/types/indexer/indexer-responses.cjs +8 -0
  74. package/dist/types/indexer/indexer-responses.d.ts +136 -0
  75. package/dist/types/indexer/indexer-responses.d.ts.map +1 -0
  76. package/dist/types/indexer/indexer-responses.js +8 -0
  77. package/dist/types/indexer/indexer-responses.js.map +1 -0
  78. package/dist/types/infrastructure/analytics.cjs +212 -0
  79. package/dist/types/infrastructure/analytics.d.ts +449 -0
  80. package/dist/types/infrastructure/analytics.d.ts.map +1 -0
  81. package/dist/types/infrastructure/analytics.js +212 -0
  82. package/dist/types/infrastructure/analytics.js.map +1 -0
  83. package/dist/types/infrastructure/api.cjs +17 -0
  84. package/dist/types/infrastructure/api.d.ts +152 -0
  85. package/dist/types/infrastructure/api.d.ts.map +1 -0
  86. package/dist/types/infrastructure/api.js +17 -0
  87. package/dist/types/infrastructure/api.js.map +1 -0
  88. package/dist/types/infrastructure/index.cjs +14 -0
  89. package/dist/types/infrastructure/index.d.ts +9 -0
  90. package/dist/types/infrastructure/index.d.ts.map +1 -0
  91. package/dist/types/infrastructure/index.js +14 -0
  92. package/dist/types/infrastructure/index.js.map +1 -0
  93. package/dist/types/infrastructure/navigation.cjs +3 -0
  94. package/dist/types/infrastructure/navigation.d.ts +56 -0
  95. package/dist/types/infrastructure/navigation.d.ts.map +1 -0
  96. package/dist/types/infrastructure/navigation.js +3 -0
  97. package/dist/types/infrastructure/navigation.js.map +1 -0
  98. package/dist/types/infrastructure/network.cjs +18 -0
  99. package/dist/types/infrastructure/network.d.ts +48 -0
  100. package/dist/types/infrastructure/network.d.ts.map +1 -0
  101. package/dist/types/infrastructure/network.js +18 -0
  102. package/dist/types/infrastructure/network.js.map +1 -0
  103. package/dist/types/infrastructure/wallet.cjs +37 -0
  104. package/dist/types/infrastructure/wallet.d.ts +33 -0
  105. package/dist/types/infrastructure/wallet.d.ts.map +1 -0
  106. package/dist/types/infrastructure/wallet.js +37 -0
  107. package/dist/types/infrastructure/wallet.js.map +1 -0
  108. package/dist/types/kyc/index.cjs +19 -0
  109. package/dist/types/kyc/index.d.ts +2 -0
  110. package/dist/types/kyc/index.d.ts.map +1 -0
  111. package/dist/types/kyc/index.js +19 -0
  112. package/dist/types/kyc/index.js.map +1 -0
  113. package/dist/types/kyc/kyc-types.cjs +12 -0
  114. package/dist/types/kyc/kyc-types.d.ts +260 -0
  115. package/dist/types/kyc/kyc-types.d.ts.map +1 -0
  116. package/dist/types/kyc/kyc-types.js +12 -0
  117. package/dist/types/kyc/kyc-types.js.map +1 -0
  118. package/dist/types/mailer/index.cjs +19 -0
  119. package/dist/types/mailer/index.d.ts +2 -0
  120. package/dist/types/mailer/index.d.ts.map +1 -0
  121. package/dist/types/mailer/index.js +19 -0
  122. package/dist/types/mailer/index.js.map +1 -0
  123. package/dist/types/mailer/mail-types.cjs +38 -0
  124. package/dist/types/mailer/mail-types.d.ts +296 -0
  125. package/dist/types/mailer/mail-types.d.ts.map +1 -0
  126. package/dist/types/mailer/mail-types.js +38 -0
  127. package/dist/types/mailer/mail-types.js.map +1 -0
  128. package/dist/types/wildduck/index.cjs +19 -0
  129. package/dist/types/wildduck/index.d.ts +2 -0
  130. package/dist/types/wildduck/index.d.ts.map +1 -0
  131. package/dist/types/wildduck/index.js +19 -0
  132. package/dist/types/wildduck/index.js.map +1 -0
  133. package/dist/types/wildduck/wildduck-types.cjs +48 -0
  134. package/dist/types/wildduck/wildduck-types.d.ts +1239 -0
  135. package/dist/types/wildduck/wildduck-types.d.ts.map +1 -0
  136. package/dist/types/wildduck/wildduck-types.js +48 -0
  137. package/dist/types/wildduck/wildduck-types.js.map +1 -0
  138. package/dist/utils/async-helpers.cjs +130 -0
  139. package/dist/utils/async-helpers.d.ts +35 -0
  140. package/dist/utils/async-helpers.d.ts.map +1 -0
  141. package/dist/utils/async-helpers.js +130 -0
  142. package/dist/utils/async-helpers.js.map +1 -0
  143. package/dist/utils/auth/auth.cjs +96 -0
  144. package/dist/utils/auth/auth.d.ts +40 -0
  145. package/dist/utils/auth/auth.d.ts.map +1 -0
  146. package/dist/utils/auth/auth.js +96 -0
  147. package/dist/utils/auth/auth.js.map +1 -0
  148. package/dist/utils/auth/index.cjs +14 -0
  149. package/dist/utils/auth/index.d.ts +2 -0
  150. package/dist/utils/auth/index.d.ts.map +1 -0
  151. package/dist/utils/auth/index.js +14 -0
  152. package/dist/utils/auth/index.js.map +1 -0
  153. package/dist/utils/blockchain/address.cjs +231 -0
  154. package/dist/utils/blockchain/address.d.ts +65 -0
  155. package/dist/utils/blockchain/address.d.ts.map +1 -0
  156. package/dist/utils/blockchain/address.js +231 -0
  157. package/dist/utils/blockchain/address.js.map +1 -0
  158. package/dist/utils/blockchain/event-helpers.cjs +143 -0
  159. package/dist/utils/blockchain/event-helpers.d.ts +87 -0
  160. package/dist/utils/blockchain/event-helpers.d.ts.map +1 -0
  161. package/dist/utils/blockchain/event-helpers.js +143 -0
  162. package/dist/utils/blockchain/event-helpers.js.map +1 -0
  163. package/dist/utils/blockchain/index.cjs +30 -0
  164. package/dist/utils/blockchain/index.d.ts +8 -0
  165. package/dist/utils/blockchain/index.d.ts.map +1 -0
  166. package/dist/utils/blockchain/index.js +30 -0
  167. package/dist/utils/blockchain/index.js.map +1 -0
  168. package/dist/utils/blockchain/rpc-helpers.cjs +865 -0
  169. package/dist/utils/blockchain/rpc-helpers.d.ts +251 -0
  170. package/dist/utils/blockchain/rpc-helpers.d.ts.map +1 -0
  171. package/dist/utils/blockchain/rpc-helpers.js +865 -0
  172. package/dist/utils/blockchain/rpc-helpers.js.map +1 -0
  173. package/dist/utils/constants/application.cjs +158 -0
  174. package/dist/utils/constants/application.d.ts +119 -0
  175. package/dist/utils/constants/application.d.ts.map +1 -0
  176. package/dist/utils/constants/application.js +158 -0
  177. package/dist/utils/constants/application.js.map +1 -0
  178. package/dist/utils/constants/index.cjs +30 -0
  179. package/dist/utils/constants/index.d.ts +7 -0
  180. package/dist/utils/constants/index.d.ts.map +1 -0
  181. package/dist/utils/constants/index.js +30 -0
  182. package/dist/utils/constants/index.js.map +1 -0
  183. package/dist/utils/constants/status-values.cjs +14 -0
  184. package/dist/utils/constants/status-values.d.ts +12 -0
  185. package/dist/utils/constants/status-values.d.ts.map +1 -0
  186. package/dist/utils/constants/status-values.js +14 -0
  187. package/dist/utils/constants/status-values.js.map +1 -0
  188. package/dist/utils/formatting/currency.cjs +36 -0
  189. package/dist/utils/formatting/currency.d.ts +26 -0
  190. package/dist/utils/formatting/currency.d.ts.map +1 -0
  191. package/dist/utils/formatting/currency.js +36 -0
  192. package/dist/utils/formatting/currency.js.map +1 -0
  193. package/dist/utils/formatting/date.cjs +138 -0
  194. package/dist/utils/formatting/date.d.ts +33 -0
  195. package/dist/utils/formatting/date.d.ts.map +1 -0
  196. package/dist/utils/formatting/date.js +138 -0
  197. package/dist/utils/formatting/date.js.map +1 -0
  198. package/dist/utils/formatting/index.cjs +37 -0
  199. package/dist/utils/formatting/index.d.ts +4 -0
  200. package/dist/utils/formatting/index.d.ts.map +1 -0
  201. package/dist/utils/formatting/index.js +37 -0
  202. package/dist/utils/formatting/index.js.map +1 -0
  203. package/dist/utils/formatting/string.cjs +193 -0
  204. package/dist/utils/formatting/string.d.ts +69 -0
  205. package/dist/utils/formatting/string.d.ts.map +1 -0
  206. package/dist/utils/formatting/string.js +193 -0
  207. package/dist/utils/formatting/string.js.map +1 -0
  208. package/dist/utils/index.cjs +28 -0
  209. package/dist/utils/index.d.ts +12 -0
  210. package/dist/utils/index.d.ts.map +1 -0
  211. package/dist/utils/index.js +28 -0
  212. package/dist/utils/index.js.map +1 -0
  213. package/dist/utils/logging/index.cjs +16 -0
  214. package/dist/utils/logging/index.d.ts +5 -0
  215. package/dist/utils/logging/index.d.ts.map +1 -0
  216. package/dist/utils/logging/index.js +16 -0
  217. package/dist/utils/logging/index.js.map +1 -0
  218. package/dist/utils/logging/logger.cjs +92 -0
  219. package/dist/utils/logging/logger.d.ts +70 -0
  220. package/dist/utils/logging/logger.d.ts.map +1 -0
  221. package/dist/utils/logging/logger.js +92 -0
  222. package/dist/utils/logging/logger.js.map +1 -0
  223. package/dist/utils/url/index.cjs +13 -0
  224. package/dist/utils/url/index.d.ts +5 -0
  225. package/dist/utils/url/index.d.ts.map +1 -0
  226. package/dist/utils/url/index.js +13 -0
  227. package/dist/utils/url/index.js.map +1 -0
  228. package/dist/utils/url/url-params.cjs +128 -0
  229. package/dist/utils/url/url-params.d.ts +36 -0
  230. package/dist/utils/url/url-params.d.ts.map +1 -0
  231. package/dist/utils/url/url-params.js +128 -0
  232. package/dist/utils/url/url-params.js.map +1 -0
  233. package/dist/utils/validation/index.cjs +25 -0
  234. package/dist/utils/validation/index.d.ts +5 -0
  235. package/dist/utils/validation/index.d.ts.map +1 -0
  236. package/dist/utils/validation/index.js +25 -0
  237. package/dist/utils/validation/index.js.map +1 -0
  238. package/dist/utils/validation/type-validation.cjs +167 -0
  239. package/dist/utils/validation/type-validation.d.ts +68 -0
  240. package/dist/utils/validation/type-validation.d.ts.map +1 -0
  241. package/dist/utils/validation/type-validation.js +167 -0
  242. package/dist/utils/validation/type-validation.js.map +1 -0
  243. package/dist/utils/validation/web3-username-validator.cjs +132 -0
  244. package/dist/utils/validation/web3-username-validator.d.ts +43 -0
  245. package/dist/utils/validation/web3-username-validator.d.ts.map +1 -0
  246. package/dist/utils/validation/web3-username-validator.js +132 -0
  247. package/dist/utils/validation/web3-username-validator.js.map +1 -0
  248. package/package.json +80 -0
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ /**
3
+ * Analytics types and interfaces
4
+ * Platform-agnostic analytics service interface for dependency injection
5
+ *
6
+ * @ai-context Core analytics interface for dependency injection
7
+ * @ai-pattern Service interface with comprehensive event tracking
8
+ * @ai-platform Cross-platform compatible (Web, React Native, Node.js)
9
+ * @ai-usage Implement this interface to create analytics services for Firebase, Mixpanel, etc.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AnalyticsEventBuilder = exports.AnalyticsEvent = void 0;
13
+ /**
14
+ * Standardized analytics events enumeration.
15
+ *
16
+ * Provides consistent event naming for common application analytics scenarios.
17
+ * Organized by functional categories for better code organization and analytics reporting.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * // Use predefined events for consistency
22
+ * analytics.track(AnalyticsEvent.USER_LOGIN, { method: 'email' });
23
+ * analytics.track(AnalyticsEvent.EMAIL_OPENED, { email_id: 'msg-123' });
24
+ * ```
25
+ */
26
+ var AnalyticsEvent;
27
+ (function (AnalyticsEvent) {
28
+ /** User successfully logged into the application */
29
+ AnalyticsEvent["USER_LOGIN"] = "user_login";
30
+ /** User logged out of the application */
31
+ AnalyticsEvent["USER_LOGOUT"] = "user_logout";
32
+ /** New user completed account registration */
33
+ AnalyticsEvent["USER_SIGNUP"] = "user_signup";
34
+ /** User sent an email message */
35
+ AnalyticsEvent["EMAIL_SENT"] = "email_sent";
36
+ /** User received a new email message */
37
+ AnalyticsEvent["EMAIL_RECEIVED"] = "email_received";
38
+ /** User opened an email message (consolidated from EMAIL_OPENED and EMAIL_OPEN) */
39
+ AnalyticsEvent["EMAIL_OPENED"] = "email_opened";
40
+ /** User replied to an email message */
41
+ AnalyticsEvent["EMAIL_REPLY"] = "email_reply";
42
+ /** User forwarded an email message */
43
+ AnalyticsEvent["EMAIL_FORWARD"] = "email_forward";
44
+ /** User deleted an email message */
45
+ AnalyticsEvent["EMAIL_DELETE"] = "email_delete";
46
+ /** User starred an email message */
47
+ AnalyticsEvent["EMAIL_STAR"] = "email_star";
48
+ /** User composed a new email */
49
+ AnalyticsEvent["EMAIL_COMPOSE"] = "email_compose";
50
+ /** User clicked a link within an email */
51
+ AnalyticsEvent["EMAIL_CLICKED"] = "email_clicked";
52
+ /** User viewed a web page */
53
+ AnalyticsEvent["PAGE_VIEW"] = "page_view";
54
+ /** User viewed a mobile screen */
55
+ AnalyticsEvent["SCREEN_VIEW"] = "screen_view";
56
+ /** User switched between folders */
57
+ AnalyticsEvent["FOLDER_SWITCH"] = "folder_switch";
58
+ /** User viewed subscription options */
59
+ AnalyticsEvent["SUBSCRIPTION_VIEW"] = "subscription_view";
60
+ /** User purchased a subscription */
61
+ AnalyticsEvent["SUBSCRIPTION_PURCHASE"] = "subscription_purchase";
62
+ /** User cancelled a subscription */
63
+ AnalyticsEvent["SUBSCRIPTION_CANCEL"] = "subscription_cancel";
64
+ /** User performed a search */
65
+ AnalyticsEvent["SEARCH_PERFORMED"] = "search_performed";
66
+ /** User changed application settings */
67
+ AnalyticsEvent["SETTINGS_CHANGED"] = "settings_changed";
68
+ /** An application error occurred */
69
+ AnalyticsEvent["ERROR_OCCURRED"] = "error_occurred";
70
+ /** User viewed an A/B test variant */
71
+ AnalyticsEvent["AB_TEST_VIEWED"] = "ab_test_viewed";
72
+ /** User converted on an A/B test */
73
+ AnalyticsEvent["AB_TEST_CONVERTED"] = "ab_test_converted";
74
+ /** Custom application-specific event */
75
+ AnalyticsEvent["CUSTOM_EVENT"] = "custom_event";
76
+ })(AnalyticsEvent || (exports.AnalyticsEvent = AnalyticsEvent = {}));
77
+ /**
78
+ * Utility class for building standardized analytics event properties.
79
+ *
80
+ * Provides static methods to create consistent event property objects
81
+ * for common analytics scenarios. Ensures proper naming conventions
82
+ * and includes standard fields like timestamps.
83
+ *
84
+ * @ai-utility-class Event property builders
85
+ * @ai-pattern Factory pattern for event properties
86
+ * @ai-standardization Ensures consistent event property naming
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * // Use builders to create standardized event properties
91
+ * const properties = AnalyticsEventBuilder.emailAction('read', 'email-123', 'inbox');
92
+ * analytics.trackEvent(AnalyticsEvent.EMAIL_OPENED, properties);
93
+ * ```
94
+ */
95
+ class AnalyticsEventBuilder {
96
+ /**
97
+ * Build properties for email action events.
98
+ *
99
+ * @param action Email action performed (read, sent, archived, etc.)
100
+ * @param emailId Unique identifier for the email
101
+ * @param folder Email folder context (inbox, sent, trash, etc.)
102
+ * @returns Standardized event properties object
103
+ *
104
+ * @ai-builder Email action properties
105
+ * @ai-standardization Consistent email event tracking
106
+ */
107
+ static emailAction(action, emailId, folder) {
108
+ return {
109
+ action,
110
+ email_id: emailId,
111
+ folder,
112
+ timestamp: Date.now(),
113
+ };
114
+ }
115
+ /**
116
+ * Build properties for page/screen view events.
117
+ *
118
+ * @param pageName Human-readable page name
119
+ * @param pagePath URL path or screen identifier
120
+ * @returns Standardized page view properties
121
+ *
122
+ * @ai-builder Navigation tracking properties
123
+ * @ai-cross-platform Works for web pages and mobile screens
124
+ */
125
+ static pageView(pageName, pagePath) {
126
+ return {
127
+ page_name: pageName,
128
+ page_path: pagePath,
129
+ timestamp: Date.now(),
130
+ };
131
+ }
132
+ /**
133
+ * Build properties for error tracking events.
134
+ *
135
+ * @param errorType Category of error (network, validation, runtime, etc.)
136
+ * @param errorMessage Error message or description
137
+ * @param pageName Page/screen where error occurred
138
+ * @returns Standardized error event properties
139
+ *
140
+ * @ai-builder Error tracking properties
141
+ * @ai-debugging Consistent error event structure
142
+ */
143
+ static error(errorType, errorMessage, pageName) {
144
+ return {
145
+ error_type: errorType,
146
+ error_message: errorMessage,
147
+ page_name: pageName,
148
+ timestamp: Date.now(),
149
+ };
150
+ }
151
+ /**
152
+ * Build properties for subscription/revenue events.
153
+ *
154
+ * @param action Subscription action (subscribe, upgrade, cancel, etc.)
155
+ * @param planType Subscription plan type (free, premium, pro, etc.)
156
+ * @param amount Monetary amount (for revenue tracking)
157
+ * @param currency Currency code (USD, EUR, etc.)
158
+ * @returns Standardized subscription event properties
159
+ *
160
+ * @ai-builder Revenue tracking properties
161
+ * @ai-business-metrics Subscription and revenue analytics
162
+ */
163
+ static subscription(action, planType, amount, currency) {
164
+ return {
165
+ action,
166
+ plan_type: planType,
167
+ amount,
168
+ currency,
169
+ timestamp: Date.now(),
170
+ };
171
+ }
172
+ /**
173
+ * Build properties for user engagement events.
174
+ *
175
+ * @param feature Feature name or component identifier
176
+ * @param interaction Type of interaction (click, scroll, hover, etc.)
177
+ * @param duration Time spent on interaction (milliseconds)
178
+ * @returns Standardized engagement event properties
179
+ *
180
+ * @ai-builder User engagement properties
181
+ * @ai-ux-analytics User experience and interaction tracking
182
+ */
183
+ static engagement(feature, interaction, duration) {
184
+ return {
185
+ feature,
186
+ interaction,
187
+ duration,
188
+ timestamp: Date.now(),
189
+ };
190
+ }
191
+ /**
192
+ * Build properties for performance monitoring events.
193
+ *
194
+ * @param metric Performance metric name (load_time, api_response, etc.)
195
+ * @param value Metric value (usually in milliseconds)
196
+ * @param context Additional context about the performance event
197
+ * @returns Standardized performance event properties
198
+ *
199
+ * @ai-builder Performance monitoring properties
200
+ * @ai-performance Application performance tracking
201
+ */
202
+ static performance(metric, value, context) {
203
+ return {
204
+ metric,
205
+ value,
206
+ context,
207
+ timestamp: Date.now(),
208
+ };
209
+ }
210
+ }
211
+ exports.AnalyticsEventBuilder = AnalyticsEventBuilder;
212
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/types/infrastructure/analytics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Core API Type Definitions
4
+ * @description Centralized type definitions for API requests/responses and data structures
5
+ * @version 2.0.0
6
+ *
7
+ * This file provides comprehensive type safety for:
8
+ * - API request/response interfaces
9
+ * - Multi-chain data structures
10
+ * - Database entity interfaces
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.ChainType = void 0;
14
+ // Re-export ChainType from business enums
15
+ var enums_1 = require("../business/enums");
16
+ Object.defineProperty(exports, "ChainType", { enumerable: true, get: function () { return enums_1.ChainType; } });
17
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1,152 @@
1
+ /**
2
+ * @fileoverview Core API Type Definitions
3
+ * @description Centralized type definitions for API requests/responses and data structures
4
+ * @version 2.0.0
5
+ *
6
+ * This file provides comprehensive type safety for:
7
+ * - API request/response interfaces
8
+ * - Multi-chain data structures
9
+ * - Database entity interfaces
10
+ */
11
+ import { Optional, BaseResponse, PaginationInfo } from '../common';
12
+ export { ChainType } from '../business/enums';
13
+ export type ApiResponse<T = unknown> = BaseResponse<T>;
14
+ /**
15
+ * Signature-protected API request base interface
16
+ * All signature-protected endpoints should extend this
17
+ */
18
+ export interface SignatureProtectedRequest {
19
+ /** Wallet address (EVM 0x format or Solana Base58) */
20
+ walletAddress: string;
21
+ /** Cryptographic signature proving wallet ownership */
22
+ signature: string;
23
+ }
24
+ /**
25
+ * GraphQL query result wrapper
26
+ * @template T The entity type being queried
27
+ */
28
+ export interface GraphQLResult<T> {
29
+ items: T[];
30
+ pageInfo?: Optional<PaginationInfo>;
31
+ }
32
+ /**
33
+ * Multi-chain entity ID components
34
+ * Used for creating unique identifiers across all chains
35
+ */
36
+ export interface MultiChainId {
37
+ chainId: number;
38
+ txHash: string;
39
+ logIndex: number;
40
+ }
41
+ /**
42
+ * User-specific multi-chain identifier
43
+ */
44
+ export interface UserChainId {
45
+ chainId: number;
46
+ address: string;
47
+ }
48
+ /**
49
+ * Chain-specific metadata for all entities
50
+ */
51
+ export interface ChainMetadata {
52
+ chainId: number;
53
+ blockNumber: bigint;
54
+ blockHash: string;
55
+ txHash: string;
56
+ logIndex: number;
57
+ timestamp: bigint;
58
+ }
59
+ /**
60
+ * Mail message entity - represents individual mail messages
61
+ */
62
+ export interface MailEntity extends ChainMetadata {
63
+ id: string;
64
+ from: string;
65
+ to: string;
66
+ subject: string;
67
+ body?: Optional<string>;
68
+ contractAddress: string;
69
+ feesPaid: bigint;
70
+ priority: boolean;
71
+ }
72
+ /**
73
+ * Prepared mail entity - represents pre-prepared mail messages
74
+ */
75
+ export interface PreparedMailEntity extends ChainMetadata {
76
+ id: string;
77
+ mailHash: string;
78
+ from: string;
79
+ contractAddress: string;
80
+ feesPaid: bigint;
81
+ }
82
+ /**
83
+ * Delegation entity - represents wallet delegations per chain
84
+ */
85
+ export interface DelegationEntity extends ChainMetadata {
86
+ id: string;
87
+ delegator: string;
88
+ delegateTo?: Optional<string>;
89
+ contractAddress: string;
90
+ }
91
+ /**
92
+ * Per-chain statistics
93
+ */
94
+ export interface StatisticsEntity {
95
+ id: string;
96
+ chainId: number;
97
+ totalMails: bigint;
98
+ totalPreparedMails: bigint;
99
+ totalUsers: bigint;
100
+ totalDelegations: bigint;
101
+ totalVolume: bigint;
102
+ lastUpdated: bigint;
103
+ }
104
+ /**
105
+ * Per-user, per-chain statistics
106
+ */
107
+ export interface UserStatisticsEntity {
108
+ id: string;
109
+ chainId: number;
110
+ address: string;
111
+ mailsSent: bigint;
112
+ mailsReceived: bigint;
113
+ preparedMailsSent: bigint;
114
+ totalFeesPaid: bigint;
115
+ totalFeesReceived: bigint;
116
+ lastActivity: bigint;
117
+ }
118
+ /**
119
+ * Cross-chain global statistics
120
+ */
121
+ export interface ChainStatisticsEntity {
122
+ id: 'global';
123
+ totalChains: number;
124
+ totalMails: bigint;
125
+ totalPreparedMails: bigint;
126
+ totalUsers: bigint;
127
+ totalDelegations: bigint;
128
+ totalVolume: bigint;
129
+ lastUpdated: bigint;
130
+ }
131
+ /**
132
+ * Event log entity - complete audit trail for debugging
133
+ */
134
+ export interface EventLogEntity extends ChainMetadata {
135
+ id: string;
136
+ eventName: string;
137
+ contractAddress: string;
138
+ eventData: string;
139
+ }
140
+ /**
141
+ * Supported network chain IDs
142
+ */
143
+ export type SupportedChainId = 1 | 137 | 42161 | 10 | 8453 | 56 | 43114 | 250 | 100 | 42220 | 31337 | 11155111 | 80001 | 421614 | 11155420 | 84532 | -101 | -102 | -103 | -104;
144
+ /**
145
+ * Contract types supported by the indexer
146
+ */
147
+ export type ContractType = 'Mailer' | 'MailService';
148
+ /**
149
+ * Event names processed by the indexer
150
+ */
151
+ export type ProcessedEventName = 'MailSent' | 'PreparedMailSent' | 'DelegationSet' | 'DelegationCleared' | 'DomainRegistered' | 'DomainExtended' | 'DomainReleased' | 'FeeUpdated' | 'SharesRecorded' | 'RecipientClaimed' | 'OwnerClaimed' | 'ExpiredSharesClaimed';
152
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/infrastructure/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AAMvD;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;CACrC;AAMD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,aAAa;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,QAAQ,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,CAAC,GACD,GAAG,GACH,KAAK,GACL,EAAE,GACF,IAAI,GACJ,EAAE,GACF,KAAK,GACL,GAAG,GACH,GAAG,GACH,KAAK,GACL,KAAK,GAEL,QAAQ,GACR,KAAK,GACL,MAAM,GACN,QAAQ,GACR,KAAK,GAEL,CAAC,GAAG,GACJ,CAAC,GAAG,GACJ,CAAC,GAAG,GACJ,CAAC,GAAG,CAAC;AAET;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,kBAAkB,GAClB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,gBAAgB,GAChB,gBAAgB,GAChB,YAAY,GACZ,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,sBAAsB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Core API Type Definitions
4
+ * @description Centralized type definitions for API requests/responses and data structures
5
+ * @version 2.0.0
6
+ *
7
+ * This file provides comprehensive type safety for:
8
+ * - API request/response interfaces
9
+ * - Multi-chain data structures
10
+ * - Database entity interfaces
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.ChainType = void 0;
14
+ // Re-export ChainType from business enums
15
+ var enums_1 = require("../business/enums");
16
+ Object.defineProperty(exports, "ChainType", { enumerable: true, get: function () { return enums_1.ChainType; } });
17
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/types/infrastructure/api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAIH,0CAA0C;AAC1C,2CAA8C;AAArC,kGAAA,SAAS,OAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletType = exports.NetworkError = exports.ChainType = exports.AnalyticsEventBuilder = exports.AnalyticsEvent = void 0;
4
+ var analytics_1 = require("./analytics");
5
+ Object.defineProperty(exports, "AnalyticsEvent", { enumerable: true, get: function () { return analytics_1.AnalyticsEvent; } });
6
+ Object.defineProperty(exports, "AnalyticsEventBuilder", { enumerable: true, get: function () { return analytics_1.AnalyticsEventBuilder; } });
7
+ var api_1 = require("./api");
8
+ Object.defineProperty(exports, "ChainType", { enumerable: true, get: function () { return api_1.ChainType; } });
9
+ var network_1 = require("./network");
10
+ Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return network_1.NetworkError; } });
11
+ // Wallet types
12
+ var wallet_1 = require("./wallet");
13
+ Object.defineProperty(exports, "WalletType", { enumerable: true, get: function () { return wallet_1.WalletType; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,9 @@
1
+ export type { AnalyticsConfig, AnalyticsEventProperties, AnalyticsService, EmailAnalyticsService, } from './analytics';
2
+ export { AnalyticsEvent, AnalyticsEventBuilder } from './analytics';
3
+ export type { ApiResponse, ChainMetadata, ChainStatisticsEntity, ContractType, DelegationEntity, EventLogEntity, GraphQLResult, MailEntity, MultiChainId, PreparedMailEntity, ProcessedEventName, SignatureProtectedRequest, StatisticsEntity, SupportedChainId, UserChainId, UserStatisticsEntity, } from './api';
4
+ export { ChainType } from './api';
5
+ export type { NetworkClient, NetworkRequestOptions, NetworkResponse, } from './network';
6
+ export { NetworkError } from './network';
7
+ export type { UILocationHook, UINavigationConfig, UINavigationHook, UINavigationOptions, UINavigationService, UINavigationState, } from './navigation';
8
+ export { WalletType } from './wallet';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/infrastructure/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGpE,YAAY,EACV,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,GACrB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,eAAe,GAChB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletType = exports.NetworkError = exports.ChainType = exports.AnalyticsEventBuilder = exports.AnalyticsEvent = void 0;
4
+ var analytics_1 = require("./analytics");
5
+ Object.defineProperty(exports, "AnalyticsEvent", { enumerable: true, get: function () { return analytics_1.AnalyticsEvent; } });
6
+ Object.defineProperty(exports, "AnalyticsEventBuilder", { enumerable: true, get: function () { return analytics_1.AnalyticsEventBuilder; } });
7
+ var api_1 = require("./api");
8
+ Object.defineProperty(exports, "ChainType", { enumerable: true, get: function () { return api_1.ChainType; } });
9
+ var network_1 = require("./network");
10
+ Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return network_1.NetworkError; } });
11
+ // Wallet types
12
+ var wallet_1 = require("./wallet");
13
+ Object.defineProperty(exports, "WalletType", { enumerable: true, get: function () { return wallet_1.WalletType; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/infrastructure/index.ts"],"names":[],"mappings":";;;AAQA,yCAAoE;AAA3D,2GAAA,cAAc,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AAsB9C,6BAAkC;AAAzB,gGAAA,SAAS,OAAA;AASlB,qCAAyC;AAAhC,uGAAA,YAAY,OAAA;AAYrB,eAAe;AACf,mCAAsC;AAA7B,oGAAA,UAAU,OAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1,56 @@
1
+ import type { Optional } from '../common';
2
+ /**
3
+ * UI-level navigation state interface for web and mobile applications
4
+ * This provides cross-platform navigation abstractions that work with different routing systems
5
+ */
6
+ export interface UINavigationState {
7
+ currentPath: string;
8
+ previousPath?: Optional<string>;
9
+ params: Record<string, string>;
10
+ searchParams: Record<string, string>;
11
+ }
12
+ export interface UINavigationOptions {
13
+ replace?: Optional<boolean>;
14
+ state?: Optional<Record<string, unknown>>;
15
+ preventScrollReset?: Optional<boolean>;
16
+ }
17
+ export interface UINavigationService {
18
+ navigate(path: string, options?: Optional<UINavigationOptions>): void;
19
+ goBack(fallbackPath?: Optional<string>): void;
20
+ goForward(): void;
21
+ replace(path: string, options?: Optional<UINavigationOptions>): void;
22
+ getCurrentState(): UINavigationState;
23
+ getCurrentPath(): string;
24
+ getSearchParams(): Record<string, string>;
25
+ getParams(): Record<string, string>;
26
+ canGoBack(): boolean;
27
+ canGoForward(): boolean;
28
+ addListener(listener: (state: UINavigationState) => void): () => void;
29
+ isSupported(): boolean;
30
+ }
31
+ export interface UINavigationHook {
32
+ navigate: (path: string, options?: Optional<UINavigationOptions>) => void;
33
+ goBack: (fallbackPath?: Optional<string>) => void;
34
+ replace: (path: string, options?: Optional<UINavigationOptions>) => void;
35
+ currentPath: string;
36
+ searchParams: Record<string, string>;
37
+ params: Record<string, string>;
38
+ canGoBack: boolean;
39
+ isSupported: boolean;
40
+ }
41
+ export interface UILocationHook {
42
+ pathname: string;
43
+ search: string;
44
+ searchParams: Record<string, string>;
45
+ hash: string;
46
+ state: Record<string, unknown>;
47
+ key: string;
48
+ }
49
+ export interface UINavigationConfig {
50
+ enableBackGesture?: Optional<boolean>;
51
+ enableSwipeGesture?: Optional<boolean>;
52
+ animationType?: Optional<'slide' | 'fade' | 'none'>;
53
+ enableAnalytics?: Optional<boolean>;
54
+ fallbackPath?: Optional<string>;
55
+ }
56
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/types/infrastructure/navigation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/types/infrastructure/navigation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * Network client interface for dependency injection
4
+ * Platform-agnostic HTTP client interface
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.NetworkError = void 0;
8
+ class NetworkError extends Error {
9
+ constructor(message, status, statusText, response) {
10
+ super(message);
11
+ this.name = 'NetworkError';
12
+ this.status = status;
13
+ this.statusText = statusText;
14
+ this.response = response;
15
+ }
16
+ }
17
+ exports.NetworkError = NetworkError;
18
+ //# sourceMappingURL=network.js.map
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Network client interface for dependency injection
3
+ * Platform-agnostic HTTP client interface
4
+ */
5
+ import { BaseResponse, Optional } from '../common';
6
+ interface NetworkRequestOptions {
7
+ method?: Optional<'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'>;
8
+ headers?: Optional<Record<string, string>>;
9
+ body?: Optional<string | FormData | Blob>;
10
+ signal?: Optional<AbortSignal>;
11
+ timeout?: Optional<number>;
12
+ }
13
+ interface NetworkResponse<T = unknown> extends BaseResponse<T> {
14
+ ok: boolean;
15
+ status: number;
16
+ statusText: string;
17
+ headers: Record<string, string>;
18
+ }
19
+ interface NetworkClient {
20
+ /**
21
+ * Make a network request
22
+ */
23
+ request<T = unknown>(url: string, options?: Optional<NetworkRequestOptions>): Promise<NetworkResponse<T>>;
24
+ /**
25
+ * Make a GET request
26
+ */
27
+ get<T = unknown>(url: string, options?: Optional<Omit<NetworkRequestOptions, 'method' | 'body'>>): Promise<NetworkResponse<T>>;
28
+ /**
29
+ * Make a POST request
30
+ */
31
+ post<T = unknown>(url: string, body?: Optional<unknown>, options?: Optional<Omit<NetworkRequestOptions, 'method'>>): Promise<NetworkResponse<T>>;
32
+ /**
33
+ * Make a PUT request
34
+ */
35
+ put<T = unknown>(url: string, body?: Optional<unknown>, options?: Optional<Omit<NetworkRequestOptions, 'method'>>): Promise<NetworkResponse<T>>;
36
+ /**
37
+ * Make a DELETE request
38
+ */
39
+ delete<T = unknown>(url: string, options?: Optional<Omit<NetworkRequestOptions, 'method' | 'body'>>): Promise<NetworkResponse<T>>;
40
+ }
41
+ declare class NetworkError extends Error {
42
+ readonly status: number;
43
+ readonly statusText: string;
44
+ readonly response?: Optional<unknown>;
45
+ constructor(message: string, status: number, statusText: string, response?: Optional<unknown>);
46
+ }
47
+ export { type NetworkClient, type NetworkResponse, type NetworkRequestOptions, NetworkError, };
48
+ //# sourceMappingURL=network.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/types/infrastructure/network.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEnD,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;IAC/D,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED,UAAU,eAAe,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC5D,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,UAAU,aAAa;IACrB;;OAEG;IACH,OAAO,CAAC,CAAC,GAAG,OAAO,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GACxC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/B;;OAEG;IACH,GAAG,CAAC,CAAC,GAAG,OAAO,EACb,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,GACjE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/B;;OAEG;IACH,IAAI,CAAC,CAAC,GAAG,OAAO,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,EACxB,OAAO,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,GACxD,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/B;;OAEG;IACH,GAAG,CAAC,CAAC,GAAG,OAAO,EACb,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,EACxB,OAAO,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,GACxD,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/B;;OAEG;IACH,MAAM,CAAC,CAAC,GAAG,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,GACjE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAChC;AAED,cAAM,YAAa,SAAQ,KAAK;IAC9B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAG3C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC;CAQ/B;AAED,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,YAAY,GACb,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * Network client interface for dependency injection
4
+ * Platform-agnostic HTTP client interface
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.NetworkError = void 0;
8
+ class NetworkError extends Error {
9
+ constructor(message, status, statusText, response) {
10
+ super(message);
11
+ this.name = 'NetworkError';
12
+ this.status = status;
13
+ this.statusText = statusText;
14
+ this.response = response;
15
+ }
16
+ }
17
+ exports.NetworkError = NetworkError;
18
+ //# sourceMappingURL=network.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/types/infrastructure/network.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA+DH,MAAM,YAAa,SAAQ,KAAK;IAK9B,YACE,OAAe,EACf,MAAc,EACd,UAAkB,EAClB,QAA4B;QAE5B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAMC,oCAAY"}