@sudobility/wildduck_client 0.0.14

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 (254) hide show
  1. package/README.md +354 -0
  2. package/dist/hooks/ServiceProvider.d.ts +15 -0
  3. package/dist/hooks/ServiceProvider.d.ts.map +1 -0
  4. package/dist/hooks/ServiceProvider.js +21 -0
  5. package/dist/hooks/ServiceProvider.js.map +1 -0
  6. package/dist/hooks/addresses/index.d.ts +2 -0
  7. package/dist/hooks/addresses/index.d.ts.map +1 -0
  8. package/dist/hooks/addresses/index.js +2 -0
  9. package/dist/hooks/addresses/index.js.map +1 -0
  10. package/dist/hooks/addresses/useWildduckGetAddresses.d.ts +232 -0
  11. package/dist/hooks/addresses/useWildduckGetAddresses.d.ts.map +1 -0
  12. package/dist/hooks/addresses/useWildduckGetAddresses.js +34 -0
  13. package/dist/hooks/addresses/useWildduckGetAddresses.js.map +1 -0
  14. package/dist/hooks/autoreply/index.d.ts +4 -0
  15. package/dist/hooks/autoreply/index.d.ts.map +1 -0
  16. package/dist/hooks/autoreply/index.js +4 -0
  17. package/dist/hooks/autoreply/index.js.map +1 -0
  18. package/dist/hooks/autoreply/useWildduckDeleteAutoreply.d.ts +13 -0
  19. package/dist/hooks/autoreply/useWildduckDeleteAutoreply.d.ts.map +1 -0
  20. package/dist/hooks/autoreply/useWildduckDeleteAutoreply.js +46 -0
  21. package/dist/hooks/autoreply/useWildduckDeleteAutoreply.js.map +1 -0
  22. package/dist/hooks/autoreply/useWildduckGetAutoreply.d.ts +172 -0
  23. package/dist/hooks/autoreply/useWildduckGetAutoreply.d.ts.map +1 -0
  24. package/dist/hooks/autoreply/useWildduckGetAutoreply.js +39 -0
  25. package/dist/hooks/autoreply/useWildduckGetAutoreply.js.map +1 -0
  26. package/dist/hooks/autoreply/useWildduckUpdateAutoreply.d.ts +13 -0
  27. package/dist/hooks/autoreply/useWildduckUpdateAutoreply.d.ts.map +1 -0
  28. package/dist/hooks/autoreply/useWildduckUpdateAutoreply.js +46 -0
  29. package/dist/hooks/autoreply/useWildduckUpdateAutoreply.js.map +1 -0
  30. package/dist/hooks/index.d.ts +19 -0
  31. package/dist/hooks/index.d.ts.map +1 -0
  32. package/dist/hooks/index.js +16 -0
  33. package/dist/hooks/index.js.map +1 -0
  34. package/dist/hooks/mailboxes/index.d.ts +6 -0
  35. package/dist/hooks/mailboxes/index.d.ts.map +1 -0
  36. package/dist/hooks/mailboxes/index.js +6 -0
  37. package/dist/hooks/mailboxes/index.js.map +1 -0
  38. package/dist/hooks/mailboxes/useWildduckCreateMailbox.d.ts +13 -0
  39. package/dist/hooks/mailboxes/useWildduckCreateMailbox.d.ts.map +1 -0
  40. package/dist/hooks/mailboxes/useWildduckCreateMailbox.js +43 -0
  41. package/dist/hooks/mailboxes/useWildduckCreateMailbox.js.map +1 -0
  42. package/dist/hooks/mailboxes/useWildduckDeleteMailbox.d.ts +13 -0
  43. package/dist/hooks/mailboxes/useWildduckDeleteMailbox.d.ts.map +1 -0
  44. package/dist/hooks/mailboxes/useWildduckDeleteMailbox.js +48 -0
  45. package/dist/hooks/mailboxes/useWildduckDeleteMailbox.js.map +1 -0
  46. package/dist/hooks/mailboxes/useWildduckGetMailbox.d.ts +173 -0
  47. package/dist/hooks/mailboxes/useWildduckGetMailbox.d.ts.map +1 -0
  48. package/dist/hooks/mailboxes/useWildduckGetMailbox.js +47 -0
  49. package/dist/hooks/mailboxes/useWildduckGetMailbox.js.map +1 -0
  50. package/dist/hooks/mailboxes/useWildduckGetMailboxes.d.ts +233 -0
  51. package/dist/hooks/mailboxes/useWildduckGetMailboxes.d.ts.map +1 -0
  52. package/dist/hooks/mailboxes/useWildduckGetMailboxes.js +34 -0
  53. package/dist/hooks/mailboxes/useWildduckGetMailboxes.js.map +1 -0
  54. package/dist/hooks/mailboxes/useWildduckUpdateMailbox.d.ts +13 -0
  55. package/dist/hooks/mailboxes/useWildduckUpdateMailbox.d.ts.map +1 -0
  56. package/dist/hooks/mailboxes/useWildduckUpdateMailbox.js +48 -0
  57. package/dist/hooks/mailboxes/useWildduckUpdateMailbox.js.map +1 -0
  58. package/dist/hooks/messages/index.d.ts +12 -0
  59. package/dist/hooks/messages/index.d.ts.map +1 -0
  60. package/dist/hooks/messages/index.js +12 -0
  61. package/dist/hooks/messages/index.js.map +1 -0
  62. package/dist/hooks/messages/useWildduckDeleteMessage.d.ts +13 -0
  63. package/dist/hooks/messages/useWildduckDeleteMessage.d.ts.map +1 -0
  64. package/dist/hooks/messages/useWildduckDeleteMessage.js +48 -0
  65. package/dist/hooks/messages/useWildduckDeleteMessage.js.map +1 -0
  66. package/dist/hooks/messages/useWildduckForwardMessage.d.ts +13 -0
  67. package/dist/hooks/messages/useWildduckForwardMessage.d.ts.map +1 -0
  68. package/dist/hooks/messages/useWildduckForwardMessage.js +51 -0
  69. package/dist/hooks/messages/useWildduckForwardMessage.js.map +1 -0
  70. package/dist/hooks/messages/useWildduckGetMessage.d.ts +653 -0
  71. package/dist/hooks/messages/useWildduckGetMessage.d.ts.map +1 -0
  72. package/dist/hooks/messages/useWildduckGetMessage.js +37 -0
  73. package/dist/hooks/messages/useWildduckGetMessage.js.map +1 -0
  74. package/dist/hooks/messages/useWildduckGetMessageAttachment.d.ts +13 -0
  75. package/dist/hooks/messages/useWildduckGetMessageAttachment.d.ts.map +1 -0
  76. package/dist/hooks/messages/useWildduckGetMessageAttachment.js +40 -0
  77. package/dist/hooks/messages/useWildduckGetMessageAttachment.js.map +1 -0
  78. package/dist/hooks/messages/useWildduckGetMessageSource.d.ts +12 -0
  79. package/dist/hooks/messages/useWildduckGetMessageSource.d.ts.map +1 -0
  80. package/dist/hooks/messages/useWildduckGetMessageSource.js +35 -0
  81. package/dist/hooks/messages/useWildduckGetMessageSource.js.map +1 -0
  82. package/dist/hooks/messages/useWildduckGetMessages.d.ts +11 -0
  83. package/dist/hooks/messages/useWildduckGetMessages.d.ts.map +1 -0
  84. package/dist/hooks/messages/useWildduckGetMessages.js +18 -0
  85. package/dist/hooks/messages/useWildduckGetMessages.js.map +1 -0
  86. package/dist/hooks/messages/useWildduckSearchMessages.d.ts +12 -0
  87. package/dist/hooks/messages/useWildduckSearchMessages.d.ts.map +1 -0
  88. package/dist/hooks/messages/useWildduckSearchMessages.js +46 -0
  89. package/dist/hooks/messages/useWildduckSearchMessages.js.map +1 -0
  90. package/dist/hooks/messages/useWildduckSendMessage.d.ts +13 -0
  91. package/dist/hooks/messages/useWildduckSendMessage.d.ts.map +1 -0
  92. package/dist/hooks/messages/useWildduckSendMessage.js +48 -0
  93. package/dist/hooks/messages/useWildduckSendMessage.js.map +1 -0
  94. package/dist/hooks/messages/useWildduckSubmitDraft.d.ts +13 -0
  95. package/dist/hooks/messages/useWildduckSubmitDraft.d.ts.map +1 -0
  96. package/dist/hooks/messages/useWildduckSubmitDraft.js +44 -0
  97. package/dist/hooks/messages/useWildduckSubmitDraft.js.map +1 -0
  98. package/dist/hooks/messages/useWildduckUpdateMessage.d.ts +13 -0
  99. package/dist/hooks/messages/useWildduckUpdateMessage.d.ts.map +1 -0
  100. package/dist/hooks/messages/useWildduckUpdateMessage.js +53 -0
  101. package/dist/hooks/messages/useWildduckUpdateMessage.js.map +1 -0
  102. package/dist/hooks/messages/useWildduckUploadMessage.d.ts +13 -0
  103. package/dist/hooks/messages/useWildduckUploadMessage.d.ts.map +1 -0
  104. package/dist/hooks/messages/useWildduckUploadMessage.js +51 -0
  105. package/dist/hooks/messages/useWildduckUploadMessage.js.map +1 -0
  106. package/dist/hooks/mocks.d.ts +354 -0
  107. package/dist/hooks/mocks.d.ts.map +1 -0
  108. package/dist/hooks/mocks.js +404 -0
  109. package/dist/hooks/mocks.js.map +1 -0
  110. package/dist/hooks/query-config.d.ts +9 -0
  111. package/dist/hooks/query-config.d.ts.map +1 -0
  112. package/dist/hooks/query-config.js +9 -0
  113. package/dist/hooks/query-config.js.map +1 -0
  114. package/dist/hooks/query-keys.d.ts +31 -0
  115. package/dist/hooks/query-keys.d.ts.map +1 -0
  116. package/dist/hooks/query-keys.js +40 -0
  117. package/dist/hooks/query-keys.js.map +1 -0
  118. package/dist/hooks/useServices.d.ts +14 -0
  119. package/dist/hooks/useServices.d.ts.map +1 -0
  120. package/dist/hooks/useServices.js +36 -0
  121. package/dist/hooks/useServices.js.map +1 -0
  122. package/dist/hooks/useWildduckAddresses.d.ts +67 -0
  123. package/dist/hooks/useWildduckAddresses.d.ts.map +1 -0
  124. package/dist/hooks/useWildduckAddresses.js +313 -0
  125. package/dist/hooks/useWildduckAddresses.js.map +1 -0
  126. package/dist/hooks/useWildduckAuth.d.ts +28 -0
  127. package/dist/hooks/useWildduckAuth.d.ts.map +1 -0
  128. package/dist/hooks/useWildduckAuth.js +249 -0
  129. package/dist/hooks/useWildduckAuth.js.map +1 -0
  130. package/dist/hooks/useWildduckFilters.d.ts +89 -0
  131. package/dist/hooks/useWildduckFilters.d.ts.map +1 -0
  132. package/dist/hooks/useWildduckFilters.js +209 -0
  133. package/dist/hooks/useWildduckFilters.js.map +1 -0
  134. package/dist/hooks/useWildduckHealth.d.ts +45 -0
  135. package/dist/hooks/useWildduckHealth.d.ts.map +1 -0
  136. package/dist/hooks/useWildduckHealth.js +110 -0
  137. package/dist/hooks/useWildduckHealth.js.map +1 -0
  138. package/dist/hooks/useWildduckMailboxes.d.ts +29 -0
  139. package/dist/hooks/useWildduckMailboxes.d.ts.map +1 -0
  140. package/dist/hooks/useWildduckMailboxes.js +195 -0
  141. package/dist/hooks/useWildduckMailboxes.js.map +1 -0
  142. package/dist/hooks/useWildduckMessages.d.ts +76 -0
  143. package/dist/hooks/useWildduckMessages.d.ts.map +1 -0
  144. package/dist/hooks/useWildduckMessages.js +264 -0
  145. package/dist/hooks/useWildduckMessages.js.map +1 -0
  146. package/dist/hooks/useWildduckQueries.d.ts +50 -0
  147. package/dist/hooks/useWildduckQueries.d.ts.map +1 -0
  148. package/dist/hooks/useWildduckQueries.js +640 -0
  149. package/dist/hooks/useWildduckQueries.js.map +1 -0
  150. package/dist/hooks/useWildduckSettings.d.ts +22 -0
  151. package/dist/hooks/useWildduckSettings.d.ts.map +1 -0
  152. package/dist/hooks/useWildduckSettings.js +153 -0
  153. package/dist/hooks/useWildduckSettings.js.map +1 -0
  154. package/dist/hooks/useWildduckUsers.d.ts +31 -0
  155. package/dist/hooks/useWildduckUsers.d.ts.map +1 -0
  156. package/dist/hooks/useWildduckUsers.js +114 -0
  157. package/dist/hooks/useWildduckUsers.js.map +1 -0
  158. package/dist/hooks/users/index.d.ts +12 -0
  159. package/dist/hooks/users/index.d.ts.map +1 -0
  160. package/dist/hooks/users/index.js +12 -0
  161. package/dist/hooks/users/index.js.map +1 -0
  162. package/dist/hooks/users/useWildduckCreateUser.d.ts +13 -0
  163. package/dist/hooks/users/useWildduckCreateUser.d.ts.map +1 -0
  164. package/dist/hooks/users/useWildduckCreateUser.js +44 -0
  165. package/dist/hooks/users/useWildduckCreateUser.js.map +1 -0
  166. package/dist/hooks/users/useWildduckDeleteUser.d.ts +13 -0
  167. package/dist/hooks/users/useWildduckDeleteUser.d.ts.map +1 -0
  168. package/dist/hooks/users/useWildduckDeleteUser.js +44 -0
  169. package/dist/hooks/users/useWildduckDeleteUser.js.map +1 -0
  170. package/dist/hooks/users/useWildduckGetUser.d.ts +397 -0
  171. package/dist/hooks/users/useWildduckGetUser.d.ts.map +1 -0
  172. package/dist/hooks/users/useWildduckGetUser.js +45 -0
  173. package/dist/hooks/users/useWildduckGetUser.js.map +1 -0
  174. package/dist/hooks/users/useWildduckUpdateUser.d.ts +13 -0
  175. package/dist/hooks/users/useWildduckUpdateUser.d.ts.map +1 -0
  176. package/dist/hooks/users/useWildduckUpdateUser.js +44 -0
  177. package/dist/hooks/users/useWildduckUpdateUser.js.map +1 -0
  178. package/dist/hooks/users/useWildduckUser2FA.d.ts +25 -0
  179. package/dist/hooks/users/useWildduckUser2FA.d.ts.map +1 -0
  180. package/dist/hooks/users/useWildduckUser2FA.js +70 -0
  181. package/dist/hooks/users/useWildduckUser2FA.js.map +1 -0
  182. package/dist/hooks/users/useWildduckUserEncryption.d.ts +40 -0
  183. package/dist/hooks/users/useWildduckUserEncryption.d.ts.map +1 -0
  184. package/dist/hooks/users/useWildduckUserEncryption.js +94 -0
  185. package/dist/hooks/users/useWildduckUserEncryption.js.map +1 -0
  186. package/dist/hooks/users/useWildduckUserForwarding.d.ts +44 -0
  187. package/dist/hooks/users/useWildduckUserForwarding.d.ts.map +1 -0
  188. package/dist/hooks/users/useWildduckUserForwarding.js +122 -0
  189. package/dist/hooks/users/useWildduckUserForwarding.js.map +1 -0
  190. package/dist/hooks/users/useWildduckUserLimits.d.ts +63 -0
  191. package/dist/hooks/users/useWildduckUserLimits.d.ts.map +1 -0
  192. package/dist/hooks/users/useWildduckUserLimits.js +60 -0
  193. package/dist/hooks/users/useWildduckUserLimits.js.map +1 -0
  194. package/dist/hooks/users/useWildduckUserProfile.d.ts +78 -0
  195. package/dist/hooks/users/useWildduckUserProfile.d.ts.map +1 -0
  196. package/dist/hooks/users/useWildduckUserProfile.js +139 -0
  197. package/dist/hooks/users/useWildduckUserProfile.js.map +1 -0
  198. package/dist/hooks/users/useWildduckUserQuota.d.ts +31 -0
  199. package/dist/hooks/users/useWildduckUserQuota.d.ts.map +1 -0
  200. package/dist/hooks/users/useWildduckUserQuota.js +66 -0
  201. package/dist/hooks/users/useWildduckUserQuota.js.map +1 -0
  202. package/dist/hooks/users/useWildduckUserSpam.d.ts +54 -0
  203. package/dist/hooks/users/useWildduckUserSpam.d.ts.map +1 -0
  204. package/dist/hooks/users/useWildduckUserSpam.js +137 -0
  205. package/dist/hooks/users/useWildduckUserSpam.js.map +1 -0
  206. package/dist/index.d.ts +7 -0
  207. package/dist/index.d.ts.map +1 -0
  208. package/dist/index.js +7 -0
  209. package/dist/index.js.map +1 -0
  210. package/dist/network/index.d.ts +2 -0
  211. package/dist/network/index.d.ts.map +1 -0
  212. package/dist/network/index.js +2 -0
  213. package/dist/network/index.js.map +1 -0
  214. package/dist/network/wildduck-client.d.ts +54 -0
  215. package/dist/network/wildduck-client.d.ts.map +1 -0
  216. package/dist/network/wildduck-client.js +572 -0
  217. package/dist/network/wildduck-client.js.map +1 -0
  218. package/dist/types/index.d.ts +2 -0
  219. package/dist/types/index.d.ts.map +1 -0
  220. package/dist/types/index.js +2 -0
  221. package/dist/types/index.js.map +1 -0
  222. package/dist/utils/advanced-settings.d.ts +36 -0
  223. package/dist/utils/advanced-settings.d.ts.map +1 -0
  224. package/dist/utils/advanced-settings.js +99 -0
  225. package/dist/utils/advanced-settings.js.map +1 -0
  226. package/dist/utils/autoreply.d.ts +34 -0
  227. package/dist/utils/autoreply.d.ts.map +1 -0
  228. package/dist/utils/autoreply.js +39 -0
  229. package/dist/utils/autoreply.js.map +1 -0
  230. package/dist/utils/client.d.ts +4 -0
  231. package/dist/utils/client.d.ts.map +1 -0
  232. package/dist/utils/client.js +11 -0
  233. package/dist/utils/client.js.map +1 -0
  234. package/dist/utils/filters.d.ts +26 -0
  235. package/dist/utils/filters.d.ts.map +1 -0
  236. package/dist/utils/filters.js +50 -0
  237. package/dist/utils/filters.js.map +1 -0
  238. package/dist/utils/forwarding.d.ts +12 -0
  239. package/dist/utils/forwarding.d.ts.map +1 -0
  240. package/dist/utils/forwarding.js +29 -0
  241. package/dist/utils/forwarding.js.map +1 -0
  242. package/dist/utils/index.d.ts +7 -0
  243. package/dist/utils/index.d.ts.map +1 -0
  244. package/dist/utils/index.js +7 -0
  245. package/dist/utils/index.js.map +1 -0
  246. package/dist/utils/spam-settings.d.ts +21 -0
  247. package/dist/utils/spam-settings.d.ts.map +1 -0
  248. package/dist/utils/spam-settings.js +53 -0
  249. package/dist/utils/spam-settings.js.map +1 -0
  250. package/dist/utils/user-settings.d.ts +30 -0
  251. package/dist/utils/user-settings.d.ts.map +1 -0
  252. package/dist/utils/user-settings.js +21 -0
  253. package/dist/utils/user-settings.js.map +1 -0
  254. package/package.json +82 -0
@@ -0,0 +1,572 @@
1
+ const getWildduckStorageKeys = (username) => ({
2
+ token: `wildduck_token_${username}`,
3
+ userId: `wildduck_userId_${username}`,
4
+ session: `wildduck_session_${username}`,
5
+ authCache: `wildduck_authCache_${username}`,
6
+ legacy: `wildduck_legacy_${username}`,
7
+ });
8
+ const createURLSearchParams = () => {
9
+ const params = {};
10
+ return {
11
+ append: (key, value) => {
12
+ params[key] = value;
13
+ },
14
+ toString: () => {
15
+ return Object.entries(params)
16
+ .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
17
+ .join("&");
18
+ },
19
+ };
20
+ };
21
+ const getApiBaseUrl = (config) => {
22
+ if (config.cloudflareWorkerUrl) {
23
+ return config.cloudflareWorkerUrl;
24
+ }
25
+ return config.backendUrl;
26
+ };
27
+ const createApiConfig = (config) => ({
28
+ BASE_URL: getApiBaseUrl(config),
29
+ BACKEND_URL: config.backendUrl,
30
+ API_TOKEN: config.apiToken,
31
+ USE_CLOUDFLARE: !!config.cloudflareWorkerUrl,
32
+ ENDPOINTS: {
33
+ AUTHENTICATE: "/authenticate",
34
+ USERS: "/users",
35
+ USER: (userId) => `/users/${userId}`,
36
+ MAILBOXES: (userId) => `/users/${userId}/mailboxes`,
37
+ MAILBOX: (userId, mailboxId) => `/users/${userId}/mailboxes/${mailboxId}`,
38
+ MESSAGES: (userId, mailboxId) => `/users/${userId}/mailboxes/${mailboxId}/messages`,
39
+ MESSAGE: (userId, mailboxId, messageId) => `/users/${userId}/mailboxes/${mailboxId}/messages/${messageId}`,
40
+ MESSAGE_BY_ID: (userId, messageId) => `/users/${userId}/messages/${messageId}`,
41
+ ADDRESSES: (userId) => `/users/${userId}/addresses`,
42
+ ADDRESS: (userId, addressId) => `/users/${userId}/addresses/${addressId}`,
43
+ },
44
+ DEFAULT_HEADERS: {
45
+ "Content-Type": "application/json",
46
+ Accept: "application/json",
47
+ },
48
+ });
49
+ class WildduckAPI {
50
+ constructor(networkClient, config) {
51
+ this.config = createApiConfig(config);
52
+ this.baseUrl = this.config.BASE_URL;
53
+ this.apiToken = this.config.API_TOKEN;
54
+ this.userToken = null;
55
+ this.useCloudflare = this.config.USE_CLOUDFLARE;
56
+ this.networkClient = networkClient;
57
+ this.headers = {
58
+ ...this.config.DEFAULT_HEADERS,
59
+ };
60
+ this.updateHeaders();
61
+ }
62
+ updateHeaders() {
63
+ const activeToken = this.userToken || this.apiToken;
64
+ if (this.useCloudflare) {
65
+ this.headers["Authorization"] = `Bearer ${activeToken}`;
66
+ this.headers["X-App-Source"] = "0xmail-box";
67
+ }
68
+ else {
69
+ if (this.userToken) {
70
+ this.headers["Authorization"] = `Bearer ${activeToken}`;
71
+ delete this.headers["X-Access-Token"];
72
+ }
73
+ else {
74
+ this.headers["X-Access-Token"] = activeToken;
75
+ }
76
+ }
77
+ }
78
+ setUserToken(token) {
79
+ this.userToken = token;
80
+ this.updateHeaders();
81
+ console.log("✅ User token set for Wildduck API");
82
+ }
83
+ clearUserToken() {
84
+ this.userToken = null;
85
+ this.updateHeaders();
86
+ console.log("🗑️ User token cleared, reverting to API token");
87
+ }
88
+ loadUserTokenFromStorage(username) {
89
+ try {
90
+ const keys = getWildduckStorageKeys(username);
91
+ const storedToken = sessionStorage.getItem(keys.token);
92
+ if (storedToken) {
93
+ this.setUserToken(storedToken);
94
+ console.log("✅ Loaded user token from session storage for:", username);
95
+ return true;
96
+ }
97
+ console.warn("⚠️ No stored token found for:", username);
98
+ return false;
99
+ }
100
+ catch (e) {
101
+ console.error("❌ Failed to load token from session storage:", e);
102
+ return false;
103
+ }
104
+ }
105
+ async request(endpoint, options = {}) {
106
+ const url = `${this.baseUrl}${endpoint}`;
107
+ if (!this.headers["X-Access-Token"] && !this.headers["Authorization"]) {
108
+ console.warn("⚠️ No API authentication headers found!");
109
+ }
110
+ try {
111
+ const requestOptions = {
112
+ method: options.method || "GET",
113
+ headers: {
114
+ ...this.headers,
115
+ ...options.headers,
116
+ },
117
+ };
118
+ if (options.userAuth?.accessToken) {
119
+ requestOptions.headers["Authorization"] =
120
+ `Bearer ${options.userAuth.accessToken}`;
121
+ }
122
+ if (options.body &&
123
+ (options.method === "POST" ||
124
+ options.method === "PUT" ||
125
+ options.method === "DELETE")) {
126
+ if (typeof options.body === "object" &&
127
+ !(options.body instanceof FormData) &&
128
+ !(options.body instanceof Blob)) {
129
+ requestOptions.body = JSON.stringify(options.body);
130
+ }
131
+ else {
132
+ requestOptions.body = options.body;
133
+ }
134
+ }
135
+ const response = await this.networkClient.request(url, requestOptions);
136
+ if (response.data === undefined) {
137
+ throw new Error("No data received from server");
138
+ }
139
+ return response.data;
140
+ }
141
+ catch (error) {
142
+ console.error("❌ API Request failed:", error);
143
+ throw error;
144
+ }
145
+ }
146
+ async preAuth(request) {
147
+ const requestBody = {
148
+ username: request.username,
149
+ scope: request.scope || "master",
150
+ sess: request.sess || "api-session",
151
+ ip: request.ip || "127.0.0.1",
152
+ };
153
+ const response = await this.request("/preauth", {
154
+ method: "POST",
155
+ body: JSON.stringify(requestBody),
156
+ });
157
+ return response;
158
+ }
159
+ async authenticate(request) {
160
+ const requestBody = {
161
+ username: request.username,
162
+ ...(request.signature && { signature: request.signature }),
163
+ ...(request.message && { message: request.message }),
164
+ ...(request.signer && { signer: request.signer }),
165
+ scope: request.scope || "master",
166
+ token: request.token !== undefined ? request.token : true,
167
+ protocol: request.protocol || "API",
168
+ sess: request.sess || "api-session",
169
+ ip: request.ip || "127.0.0.1",
170
+ ...(request.appId && { appId: request.appId }),
171
+ };
172
+ const response = await this.request("/authenticate", {
173
+ method: "POST",
174
+ body: JSON.stringify(requestBody),
175
+ });
176
+ if (response.success && response.id) {
177
+ try {
178
+ const keys = getWildduckStorageKeys(request.username);
179
+ sessionStorage.setItem(keys.userId, response.id);
180
+ if (response.token) {
181
+ sessionStorage.setItem(keys.token, response.token);
182
+ this.setUserToken(response.token);
183
+ console.log("✅ User token stored and activated for API calls");
184
+ }
185
+ }
186
+ catch (e) {
187
+ console.warn("Failed to store user ID/token in session storage:", e);
188
+ }
189
+ }
190
+ else {
191
+ console.error("❌ Wildduck authentication failed or returned no user ID:", response);
192
+ if (response.success && !response.id) {
193
+ console.error("📝 Authentication succeeded but no user ID returned - this suggests user doesn't exist in Wildduck database");
194
+ }
195
+ }
196
+ return response;
197
+ }
198
+ async authenticateWithPassword(username, password, scope) {
199
+ const response = await this.request("/authenticate", {
200
+ method: "POST",
201
+ body: {
202
+ username,
203
+ password,
204
+ scope: scope || "master",
205
+ token: true,
206
+ protocol: "API",
207
+ sess: "api-session",
208
+ ip: "127.0.0.1",
209
+ },
210
+ });
211
+ if (response.success && response.id) {
212
+ try {
213
+ const keys = getWildduckStorageKeys(username);
214
+ sessionStorage.setItem(keys.userId, response.id);
215
+ if (response.token) {
216
+ sessionStorage.setItem(keys.token, response.token);
217
+ this.setUserToken(response.token);
218
+ console.log("✅ User token stored and activated for API calls");
219
+ }
220
+ }
221
+ catch (e) {
222
+ console.warn("Failed to store user ID/token in session storage:", e);
223
+ }
224
+ }
225
+ return response;
226
+ }
227
+ async getUser(userAuth) {
228
+ const validatedUserId = validateUserId(userAuth.userId);
229
+ return this.request(`/users/${validatedUserId}`, {
230
+ userAuth,
231
+ });
232
+ }
233
+ async getMailboxes(userAuth, options) {
234
+ const validatedUserId = validateUserId(userAuth.userId);
235
+ const queryParams = createURLSearchParams();
236
+ if (options?.specialUse)
237
+ queryParams.append("specialUse", "true");
238
+ if (options?.showHidden)
239
+ queryParams.append("showHidden", "true");
240
+ if (options?.counters)
241
+ queryParams.append("counters", "true");
242
+ if (options?.sizes)
243
+ queryParams.append("sizes", "true");
244
+ if (options?.limit)
245
+ queryParams.append("limit", options.limit.toString());
246
+ if (options?.page)
247
+ queryParams.append("page", options.page.toString());
248
+ if (options?.next)
249
+ queryParams.append("next", options.next);
250
+ if (options?.previous)
251
+ queryParams.append("previous", options.previous);
252
+ const query = queryParams.toString();
253
+ const endpoint = `/users/${validatedUserId}/mailboxes${query ? `?${query}` : ""}`;
254
+ return this.request(endpoint, {
255
+ userAuth,
256
+ });
257
+ }
258
+ async getMessages(userAuth, mailboxId, options) {
259
+ const validatedUserId = validateUserId(userAuth.userId);
260
+ if (!isValidObjectId(mailboxId)) {
261
+ throw new Error(`Invalid mailbox ID format: "${mailboxId}". Expected 24-character hexadecimal string (MongoDB ObjectId)`);
262
+ }
263
+ const queryParams = createURLSearchParams();
264
+ if (options?.limit)
265
+ queryParams.append("limit", options.limit.toString());
266
+ if (options?.page)
267
+ queryParams.append("page", options.page.toString());
268
+ if (options?.order)
269
+ queryParams.append("order", options.order);
270
+ if (options?.next)
271
+ queryParams.append("next", options.next);
272
+ if (options?.previous)
273
+ queryParams.append("previous", options.previous);
274
+ if (options?.unseen !== undefined)
275
+ queryParams.append("unseen", String(options.unseen));
276
+ if (options?.flagged !== undefined)
277
+ queryParams.append("flagged", String(options.flagged));
278
+ if (options?.thread)
279
+ queryParams.append("thread", options.thread);
280
+ if (options?.uid !== undefined)
281
+ queryParams.append("uid", String(options.uid));
282
+ if (options?.includeHeaders) {
283
+ options.includeHeaders.forEach((header) => queryParams.append("includeHeaders", header));
284
+ }
285
+ const query = queryParams.toString();
286
+ const endpoint = `/users/${validatedUserId}/mailboxes/${mailboxId}/messages${query ? `?${query}` : ""}`;
287
+ return this.request(endpoint, {
288
+ userAuth,
289
+ });
290
+ }
291
+ async getMessage(userAuth, messageId) {
292
+ const validatedUserId = validateUserId(userAuth.userId);
293
+ if (!isValidObjectId(messageId)) {
294
+ throw new Error(`Invalid message ID format: "${messageId}". Expected 24-character hexadecimal string (MongoDB ObjectId)`);
295
+ }
296
+ const endpoint = `/users/${validatedUserId}/messages/${messageId}`;
297
+ return this.request(endpoint, {
298
+ userAuth,
299
+ });
300
+ }
301
+ async getAddresses(userAuth) {
302
+ const validatedUserId = validateUserId(userAuth.userId);
303
+ const endpoint = `/users/${validatedUserId}/addresses`;
304
+ return this.request(endpoint, {
305
+ userAuth,
306
+ });
307
+ }
308
+ async createMailbox(userAuth, request) {
309
+ const validatedUserId = validateUserId(userAuth.userId);
310
+ const requestBody = {
311
+ path: request.path,
312
+ };
313
+ if (request.hidden !== undefined)
314
+ requestBody.hidden = request.hidden;
315
+ if (request.retention !== undefined)
316
+ requestBody.retention = request.retention;
317
+ if (request.encryptMessages !== undefined)
318
+ requestBody.encryptMessages = request.encryptMessages;
319
+ if (request.sess !== undefined)
320
+ requestBody.sess = request.sess;
321
+ if (request.ip !== undefined)
322
+ requestBody.ip = request.ip;
323
+ return this.request(`/users/${validatedUserId}/mailboxes`, {
324
+ method: "POST",
325
+ body: JSON.stringify(requestBody),
326
+ userAuth,
327
+ });
328
+ }
329
+ async createUser(request) {
330
+ return this.request("/users", {
331
+ method: "POST",
332
+ body: request,
333
+ });
334
+ }
335
+ async updateUser(userAuth, request) {
336
+ const validatedUserId = validateUserId(userAuth.userId);
337
+ return this.request(`/users/${validatedUserId}`, {
338
+ method: "PUT",
339
+ body: request,
340
+ userAuth,
341
+ });
342
+ }
343
+ async deleteUser(userAuth) {
344
+ const validatedUserId = validateUserId(userAuth.userId);
345
+ return this.request(`/users/${validatedUserId}`, {
346
+ method: "DELETE",
347
+ userAuth,
348
+ });
349
+ }
350
+ async getMailbox(userAuth, mailboxId) {
351
+ const validatedUserId = validateUserId(userAuth.userId);
352
+ if (!isValidObjectId(mailboxId)) {
353
+ throw new Error(`Invalid mailbox ID format: "${mailboxId}". Expected 24-character hexadecimal string (MongoDB ObjectId)`);
354
+ }
355
+ return this.request(`/users/${validatedUserId}/mailboxes/${mailboxId}`, {
356
+ userAuth,
357
+ });
358
+ }
359
+ async updateMailbox(userAuth, mailboxId, request) {
360
+ const validatedUserId = validateUserId(userAuth.userId);
361
+ if (!isValidObjectId(mailboxId)) {
362
+ throw new Error(`Invalid mailbox ID format: "${mailboxId}". Expected 24-character hexadecimal string (MongoDB ObjectId)`);
363
+ }
364
+ return this.request(`/users/${validatedUserId}/mailboxes/${mailboxId}`, {
365
+ method: "PUT",
366
+ body: request,
367
+ userAuth,
368
+ });
369
+ }
370
+ async deleteMailbox(userAuth, mailboxId) {
371
+ const validatedUserId = validateUserId(userAuth.userId);
372
+ if (!isValidObjectId(mailboxId)) {
373
+ throw new Error(`Invalid mailbox ID format: "${mailboxId}". Expected 24-character hexadecimal string (MongoDB ObjectId)`);
374
+ }
375
+ return this.request(`/users/${validatedUserId}/mailboxes/${mailboxId}`, {
376
+ method: "DELETE",
377
+ userAuth,
378
+ });
379
+ }
380
+ async getMessageFromMailbox(userAuth, mailboxId, messageId, options) {
381
+ const validatedUserId = validateUserId(userAuth.userId);
382
+ if (!isValidObjectId(mailboxId)) {
383
+ throw new Error(`Invalid mailbox ID format: "${mailboxId}". Expected 24-character hexadecimal string (MongoDB ObjectId)`);
384
+ }
385
+ const queryParams = createURLSearchParams();
386
+ if (options?.replaceCidLinks !== undefined)
387
+ queryParams.append("replaceCidLinks", String(options.replaceCidLinks));
388
+ if (options?.markAsSeen !== undefined)
389
+ queryParams.append("markAsSeen", String(options.markAsSeen));
390
+ const query = queryParams.toString();
391
+ const endpoint = `/users/${validatedUserId}/mailboxes/${mailboxId}/messages/${messageId}${query ? `?${query}` : ""}`;
392
+ return this.request(endpoint, {
393
+ userAuth,
394
+ });
395
+ }
396
+ async uploadMessage(userAuth, mailboxId, request) {
397
+ const validatedUserId = validateUserId(userAuth.userId);
398
+ if (!isValidObjectId(mailboxId)) {
399
+ throw new Error(`Invalid mailbox ID format: "${mailboxId}". Expected 24-character hexadecimal string (MongoDB ObjectId)`);
400
+ }
401
+ return this.request(`/users/${validatedUserId}/mailboxes/${mailboxId}/messages`, {
402
+ method: "POST",
403
+ body: request,
404
+ userAuth,
405
+ });
406
+ }
407
+ async updateMessage(userAuth, mailboxId, messageId, request) {
408
+ const validatedUserId = validateUserId(userAuth.userId);
409
+ if (!isValidObjectId(mailboxId)) {
410
+ throw new Error(`Invalid mailbox ID format: "${mailboxId}". Expected 24-character hexadecimal string (MongoDB ObjectId)`);
411
+ }
412
+ return this.request(`/users/${validatedUserId}/mailboxes/${mailboxId}/messages/${messageId}`, {
413
+ method: "PUT",
414
+ body: request,
415
+ userAuth,
416
+ });
417
+ }
418
+ async deleteMessage(userAuth, mailboxId, messageId) {
419
+ const validatedUserId = validateUserId(userAuth.userId);
420
+ if (!isValidObjectId(mailboxId)) {
421
+ throw new Error(`Invalid mailbox ID format: "${mailboxId}". Expected 24-character hexadecimal string (MongoDB ObjectId)`);
422
+ }
423
+ return this.request(`/users/${validatedUserId}/mailboxes/${mailboxId}/messages/${messageId}`, {
424
+ method: "DELETE",
425
+ userAuth,
426
+ });
427
+ }
428
+ async getMessageSource(userAuth, mailboxId, messageId) {
429
+ const validatedUserId = validateUserId(userAuth.userId);
430
+ if (!isValidObjectId(mailboxId)) {
431
+ throw new Error(`Invalid mailbox ID format: "${mailboxId}". Expected 24-character hexadecimal string (MongoDB ObjectId)`);
432
+ }
433
+ const url = `${this.baseUrl}/users/${validatedUserId}/mailboxes/${mailboxId}/messages/${messageId}/message.eml`;
434
+ const headers = {
435
+ ...this.headers,
436
+ Authorization: `Bearer ${userAuth.accessToken}`,
437
+ };
438
+ const response = await this.networkClient.request(url, {
439
+ method: "GET",
440
+ headers,
441
+ });
442
+ return response.data;
443
+ }
444
+ async getMessageAttachment(userAuth, mailboxId, messageId, attachmentId) {
445
+ const validatedUserId = validateUserId(userAuth.userId);
446
+ if (!isValidObjectId(mailboxId)) {
447
+ throw new Error(`Invalid mailbox ID format: "${mailboxId}". Expected 24-character hexadecimal string (MongoDB ObjectId)`);
448
+ }
449
+ const url = `${this.baseUrl}/users/${validatedUserId}/mailboxes/${mailboxId}/messages/${messageId}/attachments/${attachmentId}`;
450
+ const headers = {
451
+ ...this.headers,
452
+ Authorization: `Bearer ${userAuth.accessToken}`,
453
+ };
454
+ const response = await this.networkClient.request(url, {
455
+ method: "GET",
456
+ headers,
457
+ });
458
+ return response.data;
459
+ }
460
+ async forwardMessage(userAuth, mailboxId, messageId, request) {
461
+ const validatedUserId = validateUserId(userAuth.userId);
462
+ if (!isValidObjectId(mailboxId)) {
463
+ throw new Error(`Invalid mailbox ID format: "${mailboxId}". Expected 24-character hexadecimal string (MongoDB ObjectId)`);
464
+ }
465
+ return this.request(`/users/${validatedUserId}/mailboxes/${mailboxId}/messages/${messageId}/forward`, {
466
+ method: "POST",
467
+ body: request,
468
+ userAuth,
469
+ });
470
+ }
471
+ async submitDraft(userAuth, mailboxId, messageId) {
472
+ const validatedUserId = validateUserId(userAuth.userId);
473
+ if (!isValidObjectId(mailboxId)) {
474
+ throw new Error(`Invalid mailbox ID format: "${mailboxId}". Expected 24-character hexadecimal string (MongoDB ObjectId)`);
475
+ }
476
+ return this.request(`/users/${validatedUserId}/mailboxes/${mailboxId}/messages/${messageId}/submit`, {
477
+ method: "POST",
478
+ userAuth,
479
+ });
480
+ }
481
+ async submitMessage(userAuth, request) {
482
+ const validatedUserId = validateUserId(userAuth.userId);
483
+ return this.request(`/users/${validatedUserId}/submit`, {
484
+ method: "POST",
485
+ body: request,
486
+ userAuth,
487
+ });
488
+ }
489
+ async getAutoreply(userAuth) {
490
+ const validatedUserId = validateUserId(userAuth.userId);
491
+ return this.request(`/users/${validatedUserId}/autoreply`, {
492
+ userAuth,
493
+ });
494
+ }
495
+ async updateAutoreply(userAuth, request) {
496
+ const validatedUserId = validateUserId(userAuth.userId);
497
+ return this.request(`/users/${validatedUserId}/autoreply`, {
498
+ method: "PUT",
499
+ body: request,
500
+ userAuth,
501
+ });
502
+ }
503
+ async deleteAutoreply(userAuth) {
504
+ const validatedUserId = validateUserId(userAuth.userId);
505
+ return this.request(`/users/${validatedUserId}/autoreply`, {
506
+ method: "DELETE",
507
+ userAuth,
508
+ });
509
+ }
510
+ }
511
+ const createWildduckAPI = (networkClient, config) => {
512
+ return new WildduckAPI(networkClient, config);
513
+ };
514
+ export { WildduckAPI };
515
+ const isValidObjectId = (id) => {
516
+ return /^[a-f0-9]{24}$/i.test(id);
517
+ };
518
+ const emailToUserId = (emailAddress) => {
519
+ let username = emailAddress.toLowerCase();
520
+ if (username.includes("@")) {
521
+ const parts = username.split("@");
522
+ username = parts[0] || username;
523
+ }
524
+ try {
525
+ const keys = getWildduckStorageKeys(username);
526
+ const storageKeys = [
527
+ { key: keys.userId, type: "userId" },
528
+ { key: keys.authCache, type: "cache" },
529
+ { key: keys.legacy, type: "legacy" },
530
+ ];
531
+ for (const { key, type } of storageKeys) {
532
+ const stored = sessionStorage.getItem(key);
533
+ if (stored) {
534
+ if (type === "cache") {
535
+ try {
536
+ const parsed = JSON.parse(stored);
537
+ if (parsed.userId && isValidObjectId(parsed.userId)) {
538
+ return parsed.userId;
539
+ }
540
+ }
541
+ catch {
542
+ }
543
+ }
544
+ else if (isValidObjectId(stored)) {
545
+ return stored;
546
+ }
547
+ else {
548
+ console.warn("⚠️ Found stored value but not a valid ObjectId:", stored);
549
+ }
550
+ }
551
+ }
552
+ }
553
+ catch (e) {
554
+ console.warn("Failed to retrieve user ID from session storage:", e);
555
+ }
556
+ console.error(`❌ No stored user ID found for ${username}`);
557
+ console.error("📝 This usually means authentication failed or the user doesn't exist in Wildduck");
558
+ console.error("📝 Check the authentication response and ensure the user was created in Wildduck");
559
+ console.error("📝 Expected: 24-character hexadecimal string (MongoDB ObjectId)");
560
+ throw new Error(`No Wildduck user ID found for ${username}. Authentication may have failed or user doesn't exist in database.`);
561
+ };
562
+ const validateUserId = (userId) => {
563
+ if (!userId) {
564
+ throw new Error("User ID is required");
565
+ }
566
+ if (!isValidObjectId(userId)) {
567
+ throw new Error(`Invalid user ID format: "${userId}". Expected 24-character hexadecimal string (MongoDB ObjectId)`);
568
+ }
569
+ return userId;
570
+ };
571
+ export { createWildduckAPI, emailToUserId, validateUserId, isValidObjectId };
572
+ //# sourceMappingURL=wildduck-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wildduck-client.js","sourceRoot":"","sources":["../../src/network/wildduck-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "@sudobility/types";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAMA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "@sudobility/types";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAMA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { AdvancedSettings, SMTPRelay, WildduckConfig } from "@sudobility/types";
2
+ export declare function getAdvancedSettings(config: WildduckConfig, userId: string): Promise<AdvancedSettings>;
3
+ export declare function updateUploadSentMessages(config: WildduckConfig, userId: string, uploadSentMessages: boolean, sess?: string, ip?: string): Promise<{
4
+ success: boolean;
5
+ }>;
6
+ export declare function getSMTPRelay(config: WildduckConfig, userId: string): Promise<SMTPRelay>;
7
+ export declare function updateSMTPRelay(config: WildduckConfig, userId: string, settings: {
8
+ enabled: boolean;
9
+ host?: string;
10
+ port?: number;
11
+ secure?: boolean;
12
+ auth?: {
13
+ user: string;
14
+ pass: string;
15
+ };
16
+ }, sess?: string, ip?: string): Promise<{
17
+ success: boolean;
18
+ }>;
19
+ export declare function enableSMTPRelay(config: WildduckConfig, userId: string, relay: {
20
+ host: string;
21
+ port: number;
22
+ secure?: boolean;
23
+ auth?: {
24
+ user: string;
25
+ pass: string;
26
+ };
27
+ }, sess?: string, ip?: string): Promise<{
28
+ success: boolean;
29
+ }>;
30
+ export declare function disableSMTPRelay(config: WildduckConfig, userId: string, sess?: string, ip?: string): Promise<{
31
+ success: boolean;
32
+ }>;
33
+ export declare function deleteSMTPRelay(config: WildduckConfig, userId: string, sess?: string, ip?: string): Promise<{
34
+ success: boolean;
35
+ }>;
36
+ //# sourceMappingURL=advanced-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advanced-settings.d.ts","sourceRoot":"","sources":["../../src/utils/advanced-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,cAAc,EACf,MAAM,mBAAmB,CAAC;AAO3B,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAO3B;AAOD,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,OAAO,EAC3B,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAQ/B;AASD,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,SAAS,CAAC,CAoCpB;AAgBD,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE;IACR,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,EACD,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA6B/B;AAMD,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;IACL,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,EACD,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAW/B;AAMD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAU/B;AAQD,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAQ/B"}