@kortix/sdk 0.10.15 → 0.11.0

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 (285) hide show
  1. package/README.md +17 -2
  2. package/dist/browser/session-sync/session-sync-registry.d.ts +3 -0
  3. package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -1
  4. package/dist/browser/session-sync/session-sync-registry.js +31 -2
  5. package/dist/browser/session-sync/session-sync-registry.js.map +1 -1
  6. package/dist/core/acp/client.d.ts +45 -0
  7. package/dist/core/acp/client.d.ts.map +1 -0
  8. package/dist/core/acp/client.js +277 -0
  9. package/dist/core/acp/client.js.map +1 -0
  10. package/dist/core/acp/index.d.ts +5 -0
  11. package/dist/core/acp/index.d.ts.map +1 -0
  12. package/dist/core/acp/index.js +5 -0
  13. package/dist/core/acp/index.js.map +1 -0
  14. package/dist/core/acp/projection.d.ts +23 -0
  15. package/dist/core/acp/projection.d.ts.map +1 -0
  16. package/dist/core/acp/projection.js +603 -0
  17. package/dist/core/acp/projection.js.map +1 -0
  18. package/dist/core/acp/session-controller.d.ts +90 -0
  19. package/dist/core/acp/session-controller.d.ts.map +1 -0
  20. package/dist/core/acp/session-controller.js +530 -0
  21. package/dist/core/acp/session-controller.js.map +1 -0
  22. package/dist/core/acp/types.d.ts +66 -0
  23. package/dist/core/acp/types.d.ts.map +1 -0
  24. package/dist/core/acp/types.js +21 -0
  25. package/dist/core/acp/types.js.map +1 -0
  26. package/dist/core/client/kortix.d.ts +141 -14
  27. package/dist/core/client/kortix.d.ts.map +1 -1
  28. package/dist/core/client/kortix.js +40 -7
  29. package/dist/core/client/kortix.js.map +1 -1
  30. package/dist/core/http/api-client.d.ts.map +1 -1
  31. package/dist/core/http/api-client.js +48 -68
  32. package/dist/core/http/api-client.js.map +1 -1
  33. package/dist/core/rest/platform-client/host-boundary.d.ts +114 -0
  34. package/dist/core/rest/platform-client/host-boundary.d.ts.map +1 -0
  35. package/dist/core/rest/platform-client/host-boundary.js +229 -0
  36. package/dist/core/rest/platform-client/host-boundary.js.map +1 -0
  37. package/dist/core/rest/platform-client/index.d.ts +1 -0
  38. package/dist/core/rest/platform-client/index.d.ts.map +1 -1
  39. package/dist/core/rest/platform-client/index.js +1 -0
  40. package/dist/core/rest/platform-client/index.js.map +1 -1
  41. package/dist/core/rest/projects-client/account-lifecycle.d.ts +22 -0
  42. package/dist/core/rest/projects-client/account-lifecycle.d.ts.map +1 -0
  43. package/dist/core/rest/projects-client/account-lifecycle.js +26 -0
  44. package/dist/core/rest/projects-client/account-lifecycle.js.map +1 -0
  45. package/dist/core/rest/projects-client/admin-providers.d.ts +10 -0
  46. package/dist/core/rest/projects-client/admin-providers.d.ts.map +1 -0
  47. package/dist/core/rest/projects-client/admin-providers.js +34 -0
  48. package/dist/core/rest/projects-client/admin-providers.js.map +1 -0
  49. package/dist/core/rest/projects-client/agent-config.d.ts +7 -0
  50. package/dist/core/rest/projects-client/agent-config.d.ts.map +1 -1
  51. package/dist/core/rest/projects-client/agent-config.js.map +1 -1
  52. package/dist/core/rest/projects-client/billing.d.ts +89 -0
  53. package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
  54. package/dist/core/rest/projects-client/billing.js +43 -0
  55. package/dist/core/rest/projects-client/billing.js.map +1 -1
  56. package/dist/core/rest/projects-client/channels.d.ts +8 -27
  57. package/dist/core/rest/projects-client/channels.d.ts.map +1 -1
  58. package/dist/core/rest/projects-client/channels.js +12 -23
  59. package/dist/core/rest/projects-client/channels.js.map +1 -1
  60. package/dist/core/rest/projects-client/connectors.d.ts +162 -13
  61. package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
  62. package/dist/core/rest/projects-client/connectors.js +64 -2
  63. package/dist/core/rest/projects-client/connectors.js.map +1 -1
  64. package/dist/core/rest/projects-client/gateway.d.ts +1 -0
  65. package/dist/core/rest/projects-client/gateway.d.ts.map +1 -1
  66. package/dist/core/rest/projects-client/gateway.js.map +1 -1
  67. package/dist/core/rest/projects-client/iam.d.ts +492 -0
  68. package/dist/core/rest/projects-client/iam.d.ts.map +1 -0
  69. package/dist/core/rest/projects-client/iam.js +287 -0
  70. package/dist/core/rest/projects-client/iam.js.map +1 -0
  71. package/dist/core/rest/projects-client/index.d.ts +6 -0
  72. package/dist/core/rest/projects-client/index.d.ts.map +1 -1
  73. package/dist/core/rest/projects-client/index.js +6 -0
  74. package/dist/core/rest/projects-client/index.js.map +1 -1
  75. package/dist/core/rest/projects-client/marketplace-catalog.d.ts +9 -2
  76. package/dist/core/rest/projects-client/marketplace-catalog.d.ts.map +1 -1
  77. package/dist/core/rest/projects-client/marketplace-catalog.js +7 -0
  78. package/dist/core/rest/projects-client/marketplace-catalog.js.map +1 -1
  79. package/dist/core/rest/projects-client/presentations.d.ts +12 -0
  80. package/dist/core/rest/projects-client/presentations.d.ts.map +1 -0
  81. package/dist/core/rest/projects-client/presentations.js +9 -0
  82. package/dist/core/rest/projects-client/presentations.js.map +1 -0
  83. package/dist/core/rest/projects-client/projects.d.ts +55 -10
  84. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  85. package/dist/core/rest/projects-client/projects.js +14 -7
  86. package/dist/core/rest/projects-client/projects.js.map +1 -1
  87. package/dist/core/rest/projects-client/public-voice-join.d.ts +59 -0
  88. package/dist/core/rest/projects-client/public-voice-join.d.ts.map +1 -0
  89. package/dist/core/rest/projects-client/public-voice-join.js +64 -0
  90. package/dist/core/rest/projects-client/public-voice-join.js.map +1 -0
  91. package/dist/core/rest/projects-client/referrals.d.ts +53 -0
  92. package/dist/core/rest/projects-client/referrals.d.ts.map +1 -0
  93. package/dist/core/rest/projects-client/referrals.js +27 -0
  94. package/dist/core/rest/projects-client/referrals.js.map +1 -0
  95. package/dist/core/rest/projects-client/session-sandbox.d.ts +2 -0
  96. package/dist/core/rest/projects-client/session-sandbox.d.ts.map +1 -1
  97. package/dist/core/rest/projects-client/session-sandbox.js +10 -0
  98. package/dist/core/rest/projects-client/session-sandbox.js.map +1 -1
  99. package/dist/core/rest/projects-client/sessions.d.ts +89 -0
  100. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  101. package/dist/core/rest/projects-client/sessions.js +49 -1
  102. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  103. package/dist/core/session/index.d.ts +2 -0
  104. package/dist/core/session/index.d.ts.map +1 -1
  105. package/dist/core/session/index.js +2 -0
  106. package/dist/core/session/index.js.map +1 -1
  107. package/dist/core/session/presentation.d.ts +12 -0
  108. package/dist/core/session/presentation.d.ts.map +1 -0
  109. package/dist/core/session/presentation.js +70 -0
  110. package/dist/core/session/presentation.js.map +1 -0
  111. package/dist/core/session/rewind.d.ts +18 -0
  112. package/dist/core/session/rewind.d.ts.map +1 -0
  113. package/dist/core/session/rewind.js +17 -0
  114. package/dist/core/session/rewind.js.map +1 -0
  115. package/dist/core/session/runtime-transport.d.ts +16 -0
  116. package/dist/core/session/runtime-transport.d.ts.map +1 -0
  117. package/dist/core/session/runtime-transport.js +30 -0
  118. package/dist/core/session/runtime-transport.js.map +1 -0
  119. package/dist/core/session/url.d.ts +43 -0
  120. package/dist/core/session/url.d.ts.map +1 -1
  121. package/dist/core/session/url.js +81 -0
  122. package/dist/core/session/url.js.map +1 -1
  123. package/dist/core/session-sync/session-sync-controller.d.ts +28 -0
  124. package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -1
  125. package/dist/core/session-sync/session-sync-controller.js +127 -4
  126. package/dist/core/session-sync/session-sync-controller.js.map +1 -1
  127. package/dist/core/stream/fetch-sse.d.ts +23 -0
  128. package/dist/core/stream/fetch-sse.d.ts.map +1 -0
  129. package/dist/core/stream/fetch-sse.js +119 -0
  130. package/dist/core/stream/fetch-sse.js.map +1 -0
  131. package/dist/core/turns/state.d.ts.map +1 -1
  132. package/dist/core/turns/state.js +11 -4
  133. package/dist/core/turns/state.js.map +1 -1
  134. package/dist/core/turns/types.d.ts +6 -0
  135. package/dist/core/turns/types.d.ts.map +1 -1
  136. package/dist/index.d.ts +6 -1
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +6 -1
  139. package/dist/index.js.map +1 -1
  140. package/dist/kortix.esm.min.js +24 -16
  141. package/dist/kortix.global.js +24 -16
  142. package/dist/node/server.d.ts +14 -0
  143. package/dist/node/server.d.ts.map +1 -1
  144. package/dist/node/server.js +42 -0
  145. package/dist/node/server.js.map +1 -1
  146. package/dist/platform/auth-core.d.ts +3 -5
  147. package/dist/platform/auth-core.d.ts.map +1 -1
  148. package/dist/platform/auth-core.js +4 -6
  149. package/dist/platform/auth-core.js.map +1 -1
  150. package/dist/react/agent-selection-scope.d.ts +8 -0
  151. package/dist/react/agent-selection-scope.d.ts.map +1 -0
  152. package/dist/react/agent-selection-scope.js +4 -0
  153. package/dist/react/agent-selection-scope.js.map +1 -0
  154. package/dist/react/index.d.ts +13 -0
  155. package/dist/react/index.d.ts.map +1 -1
  156. package/dist/react/index.js +13 -0
  157. package/dist/react/index.js.map +1 -1
  158. package/dist/react/initial-session-pin.d.ts +8 -0
  159. package/dist/react/initial-session-pin.d.ts.map +1 -0
  160. package/dist/react/initial-session-pin.js +4 -0
  161. package/dist/react/initial-session-pin.js.map +1 -0
  162. package/dist/react/opencode.d.ts +25 -2
  163. package/dist/react/opencode.d.ts.map +1 -1
  164. package/dist/react/opencode.js +24 -1
  165. package/dist/react/opencode.js.map +1 -1
  166. package/dist/react/provider-selection.d.ts +1 -0
  167. package/dist/react/provider-selection.d.ts.map +1 -1
  168. package/dist/react/provider-selection.js +22 -0
  169. package/dist/react/provider-selection.js.map +1 -1
  170. package/dist/react/run-pty-command.d.ts +5 -0
  171. package/dist/react/run-pty-command.d.ts.map +1 -0
  172. package/dist/react/run-pty-command.js +42 -0
  173. package/dist/react/run-pty-command.js.map +1 -0
  174. package/dist/react/runtime-actions.d.ts +51 -0
  175. package/dist/react/runtime-actions.d.ts.map +1 -0
  176. package/dist/react/runtime-actions.js +105 -0
  177. package/dist/react/runtime-actions.js.map +1 -0
  178. package/dist/react/session-agent-name-guard.d.ts +16 -0
  179. package/dist/react/session-agent-name-guard.d.ts.map +1 -0
  180. package/dist/react/session-agent-name-guard.js +22 -0
  181. package/dist/react/session-agent-name-guard.js.map +1 -0
  182. package/dist/react/session-busy.d.ts +8 -0
  183. package/dist/react/session-busy.d.ts.map +1 -0
  184. package/dist/react/session-busy.js +4 -0
  185. package/dist/react/session-busy.js.map +1 -0
  186. package/dist/react/session-title-sync.d.ts +19 -0
  187. package/dist/react/session-title-sync.d.ts.map +1 -0
  188. package/dist/react/session-title-sync.js +81 -0
  189. package/dist/react/session-title-sync.js.map +1 -0
  190. package/dist/react/use-acp-session-runtime.d.ts +34 -0
  191. package/dist/react/use-acp-session-runtime.d.ts.map +1 -0
  192. package/dist/react/use-acp-session-runtime.js +84 -0
  193. package/dist/react/use-acp-session-runtime.js.map +1 -0
  194. package/dist/react/use-admin-accounts.d.ts +122 -0
  195. package/dist/react/use-admin-accounts.d.ts.map +1 -0
  196. package/dist/react/use-admin-accounts.js +146 -0
  197. package/dist/react/use-admin-accounts.js.map +1 -0
  198. package/dist/react/use-admin-analytics.d.ts +332 -0
  199. package/dist/react/use-admin-analytics.d.ts.map +1 -0
  200. package/dist/react/use-admin-analytics.js +518 -0
  201. package/dist/react/use-admin-analytics.js.map +1 -0
  202. package/dist/react/use-admin-billing.d.ts +27 -0
  203. package/dist/react/use-admin-billing.d.ts.map +1 -0
  204. package/dist/react/use-admin-billing.js +61 -0
  205. package/dist/react/use-admin-billing.js.map +1 -0
  206. package/dist/react/use-admin-feedback.d.ts +119 -0
  207. package/dist/react/use-admin-feedback.d.ts.map +1 -0
  208. package/dist/react/use-admin-feedback.js +148 -0
  209. package/dist/react/use-admin-feedback.js.map +1 -0
  210. package/dist/react/use-admin-sandboxes.d.ts +157 -0
  211. package/dist/react/use-admin-sandboxes.d.ts.map +1 -0
  212. package/dist/react/use-admin-sandboxes.js +145 -0
  213. package/dist/react/use-admin-sandboxes.js.map +1 -0
  214. package/dist/react/use-admin-users.d.ts +98 -0
  215. package/dist/react/use-admin-users.d.ts.map +1 -0
  216. package/dist/react/use-admin-users.js +121 -0
  217. package/dist/react/use-admin-users.js.map +1 -0
  218. package/dist/react/use-authenticated-preview-url.d.ts +24 -0
  219. package/dist/react/use-authenticated-preview-url.d.ts.map +1 -0
  220. package/dist/react/use-authenticated-preview-url.js +137 -0
  221. package/dist/react/use-authenticated-preview-url.js.map +1 -0
  222. package/dist/react/use-canonical-opencode-session.d.ts +4 -0
  223. package/dist/react/use-canonical-opencode-session.d.ts.map +1 -1
  224. package/dist/react/use-canonical-opencode-session.js +9 -4
  225. package/dist/react/use-canonical-opencode-session.js.map +1 -1
  226. package/dist/react/use-model-defaults.d.ts +22 -0
  227. package/dist/react/use-model-defaults.d.ts.map +1 -0
  228. package/dist/react/use-model-defaults.js +104 -0
  229. package/dist/react/use-model-defaults.js.map +1 -0
  230. package/dist/react/use-model-store.d.ts.map +1 -1
  231. package/dist/react/use-model-store.js +11 -0
  232. package/dist/react/use-model-store.js.map +1 -1
  233. package/dist/react/use-opencode-events/index.d.ts +3 -1
  234. package/dist/react/use-opencode-events/index.d.ts.map +1 -1
  235. package/dist/react/use-opencode-events/index.js +6 -2
  236. package/dist/react/use-opencode-events/index.js.map +1 -1
  237. package/dist/react/use-opencode-local.d.ts.map +1 -1
  238. package/dist/react/use-opencode-local.js +10 -1
  239. package/dist/react/use-opencode-local.js.map +1 -1
  240. package/dist/react/use-opencode-sessions/agents.d.ts.map +1 -1
  241. package/dist/react/use-opencode-sessions/agents.js +5 -3
  242. package/dist/react/use-opencode-sessions/agents.js.map +1 -1
  243. package/dist/react/use-opencode-sessions/commands.d.ts +7 -2
  244. package/dist/react/use-opencode-sessions/commands.d.ts.map +1 -1
  245. package/dist/react/use-opencode-sessions/commands.js +13 -9
  246. package/dist/react/use-opencode-sessions/commands.js.map +1 -1
  247. package/dist/react/use-opencode-sessions/provider-load-plan.d.ts +6 -0
  248. package/dist/react/use-opencode-sessions/provider-load-plan.d.ts.map +1 -0
  249. package/dist/react/use-opencode-sessions/provider-load-plan.js +4 -0
  250. package/dist/react/use-opencode-sessions/provider-load-plan.js.map +1 -0
  251. package/dist/react/use-opencode-sessions/providers.d.ts.map +1 -1
  252. package/dist/react/use-opencode-sessions/providers.js +39 -27
  253. package/dist/react/use-opencode-sessions/providers.js.map +1 -1
  254. package/dist/react/use-opencode-sessions/sessions.d.ts +1 -1
  255. package/dist/react/use-opencode-sessions/sessions.d.ts.map +1 -1
  256. package/dist/react/use-opencode-sessions/sessions.js +2 -2
  257. package/dist/react/use-opencode-sessions/sessions.js.map +1 -1
  258. package/dist/react/use-ops-overview.d.ts +64 -0
  259. package/dist/react/use-ops-overview.d.ts.map +1 -0
  260. package/dist/react/use-ops-overview.js +16 -0
  261. package/dist/react/use-ops-overview.js.map +1 -0
  262. package/dist/react/use-session-model-selection.d.ts +15 -0
  263. package/dist/react/use-session-model-selection.d.ts.map +1 -0
  264. package/dist/react/use-session-model-selection.js +27 -0
  265. package/dist/react/use-session-model-selection.js.map +1 -0
  266. package/dist/react/use-session-sync.d.ts.map +1 -1
  267. package/dist/react/use-session-sync.js +3 -1
  268. package/dist/react/use-session-sync.js.map +1 -1
  269. package/dist/react/use-session.d.ts +78 -4
  270. package/dist/react/use-session.d.ts.map +1 -1
  271. package/dist/react/use-session.js +329 -34
  272. package/dist/react/use-session.js.map +1 -1
  273. package/dist/react/use-system-status.d.ts +39 -0
  274. package/dist/react/use-system-status.d.ts.map +1 -0
  275. package/dist/react/use-system-status.js +68 -0
  276. package/dist/react/use-system-status.js.map +1 -0
  277. package/dist/react/use-teams-installations.d.ts +36 -0
  278. package/dist/react/use-teams-installations.d.ts.map +1 -0
  279. package/dist/react/use-teams-installations.js +94 -0
  280. package/dist/react/use-teams-installations.js.map +1 -0
  281. package/dist/react/use-tunnel.d.ts +120 -0
  282. package/dist/react/use-tunnel.d.ts.map +1 -0
  283. package/dist/react/use-tunnel.js +268 -0
  284. package/dist/react/use-tunnel.js.map +1 -0
  285. package/package.json +2 -2
@@ -0,0 +1,518 @@
1
+ import { backendApi } from '../core/http/api-client.js';
2
+ import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
3
+ // ============================================================================
4
+ // HOOKS
5
+ // ============================================================================
6
+ export function useAnalyticsSummary() {
7
+ return useQuery({
8
+ queryKey: ['admin', 'analytics', 'summary'],
9
+ queryFn: async () => {
10
+ const response = await backendApi.get('/admin/analytics/summary');
11
+ if (response.error) {
12
+ throw new Error(response.error.message);
13
+ }
14
+ return response.data;
15
+ },
16
+ staleTime: 60000, // 1 minute
17
+ });
18
+ }
19
+ export function useThreadBrowser(params = {}) {
20
+ return useQuery({
21
+ queryKey: ['admin', 'analytics', 'threads', params],
22
+ queryFn: async () => {
23
+ const searchParams = new URLSearchParams();
24
+ if (params.page)
25
+ searchParams.append('page', params.page.toString());
26
+ if (params.page_size)
27
+ searchParams.append('page_size', params.page_size.toString());
28
+ if (params.min_messages !== undefined)
29
+ searchParams.append('min_messages', params.min_messages.toString());
30
+ if (params.max_messages !== undefined)
31
+ searchParams.append('max_messages', params.max_messages.toString());
32
+ if (params.search_email)
33
+ searchParams.append('search_email', params.search_email);
34
+ if (params.category)
35
+ searchParams.append('category', params.category);
36
+ if (params.tier)
37
+ searchParams.append('tier', params.tier);
38
+ if (params.date_from)
39
+ searchParams.append('date_from', params.date_from);
40
+ if (params.date_to)
41
+ searchParams.append('date_to', params.date_to);
42
+ if (params.sort_by)
43
+ searchParams.append('sort_by', params.sort_by);
44
+ if (params.sort_order)
45
+ searchParams.append('sort_order', params.sort_order);
46
+ const response = await backendApi.get(`/admin/analytics/threads/browse?${searchParams.toString()}`);
47
+ if (response.error) {
48
+ throw new Error(response.error.message);
49
+ }
50
+ return response.data;
51
+ },
52
+ staleTime: 30000, // 30 seconds
53
+ });
54
+ }
55
+ export function useMessageDistribution(dateFrom, dateTo, enabled = true) {
56
+ return useQuery({
57
+ queryKey: ['admin', 'analytics', 'message-distribution', dateFrom, dateTo],
58
+ queryFn: async () => {
59
+ const params = new URLSearchParams();
60
+ if (dateFrom)
61
+ params.append('date_from', dateFrom);
62
+ if (dateTo)
63
+ params.append('date_to', dateTo);
64
+ const queryString = params.toString();
65
+ const url = queryString
66
+ ? `/admin/analytics/threads/message-distribution?${queryString}`
67
+ : '/admin/analytics/threads/message-distribution';
68
+ const response = await backendApi.get(url);
69
+ if (response.error) {
70
+ throw new Error(response.error.message);
71
+ }
72
+ return response.data;
73
+ },
74
+ staleTime: 300000, // 5 minutes
75
+ placeholderData: (previousData) => previousData, // Keep previous data while loading
76
+ enabled,
77
+ });
78
+ }
79
+ export function useCategoryDistribution(dateFrom, dateTo, tier, enabled = true) {
80
+ return useQuery({
81
+ queryKey: ['admin', 'analytics', 'category-distribution', dateFrom, dateTo, tier],
82
+ queryFn: async () => {
83
+ const params = new URLSearchParams();
84
+ if (dateFrom)
85
+ params.append('date_from', dateFrom);
86
+ if (dateTo)
87
+ params.append('date_to', dateTo);
88
+ if (tier)
89
+ params.append('tier', tier);
90
+ const queryString = params.toString();
91
+ const url = queryString
92
+ ? `/admin/analytics/projects/category-distribution?${queryString}`
93
+ : '/admin/analytics/projects/category-distribution';
94
+ const response = await backendApi.get(url);
95
+ if (response.error) {
96
+ throw new Error(response.error.message);
97
+ }
98
+ return response.data;
99
+ },
100
+ staleTime: 300000, // 5 minutes
101
+ placeholderData: (previousData) => previousData,
102
+ enabled,
103
+ });
104
+ }
105
+ export function useTierDistribution(dateFrom, dateTo, enabled = true) {
106
+ return useQuery({
107
+ queryKey: ['admin', 'analytics', 'tier-distribution', dateFrom, dateTo],
108
+ queryFn: async () => {
109
+ const params = new URLSearchParams();
110
+ if (dateFrom)
111
+ params.append('date_from', dateFrom);
112
+ if (dateTo)
113
+ params.append('date_to', dateTo);
114
+ const queryString = params.toString();
115
+ const url = queryString
116
+ ? `/admin/analytics/threads/tier-distribution?${queryString}`
117
+ : '/admin/analytics/threads/tier-distribution';
118
+ const response = await backendApi.get(url);
119
+ if (response.error) {
120
+ throw new Error(response.error.message);
121
+ }
122
+ return response.data;
123
+ },
124
+ staleTime: 300000, // 5 minutes
125
+ placeholderData: (previousData) => previousData,
126
+ enabled,
127
+ });
128
+ }
129
+ export function useVisitorStats(date, source = 'vercel') {
130
+ return useQuery({
131
+ queryKey: ['admin', 'analytics', 'visitors', date, source],
132
+ queryFn: async () => {
133
+ const params = new URLSearchParams();
134
+ if (date)
135
+ params.append('date', date);
136
+ params.append('source', source);
137
+ const url = `/admin/analytics/visitors?${params.toString()}`;
138
+ const response = await backendApi.get(url);
139
+ if (response.error) {
140
+ throw new Error(response.error.message);
141
+ }
142
+ return response.data;
143
+ },
144
+ staleTime: 300000, // 5 minutes
145
+ placeholderData: (previousData) => previousData,
146
+ retry: 1,
147
+ });
148
+ }
149
+ export function useConversionFunnel(dateFrom, dateTo, source = 'vercel') {
150
+ return useQuery({
151
+ queryKey: ['admin', 'analytics', 'conversion-funnel', dateFrom, dateTo, source],
152
+ queryFn: async () => {
153
+ const params = new URLSearchParams();
154
+ if (dateFrom)
155
+ params.append('date_from', dateFrom);
156
+ if (dateTo)
157
+ params.append('date_to', dateTo);
158
+ params.append('source', source);
159
+ const url = `/admin/analytics/conversion-funnel?${params.toString()}`;
160
+ const response = await backendApi.get(url);
161
+ if (response.error) {
162
+ throw new Error(response.error.message);
163
+ }
164
+ return response.data;
165
+ },
166
+ staleTime: 300000, // 5 minutes
167
+ placeholderData: (previousData) => previousData,
168
+ retry: 1,
169
+ });
170
+ }
171
+ export function useRetentionData(params = {}) {
172
+ return useQuery({
173
+ queryKey: ['admin', 'analytics', 'retention', params],
174
+ queryFn: async () => {
175
+ const searchParams = new URLSearchParams();
176
+ if (params.page)
177
+ searchParams.append('page', params.page.toString());
178
+ if (params.page_size)
179
+ searchParams.append('page_size', params.page_size.toString());
180
+ if (params.weeks_back)
181
+ searchParams.append('weeks_back', params.weeks_back.toString());
182
+ if (params.min_weeks_active)
183
+ searchParams.append('min_weeks_active', params.min_weeks_active.toString());
184
+ const response = await backendApi.get(`/admin/analytics/retention?${searchParams.toString()}`);
185
+ if (response.error) {
186
+ throw new Error(response.error.message);
187
+ }
188
+ return response.data;
189
+ },
190
+ staleTime: 300000, // 5 minutes
191
+ });
192
+ }
193
+ export function useTranslate() {
194
+ return useMutation({
195
+ mutationFn: async ({ text, targetLanguage = 'English' }) => {
196
+ const response = await backendApi.post('/admin/analytics/translate', {
197
+ text,
198
+ target_language: targetLanguage
199
+ });
200
+ if (response.error) {
201
+ throw new Error(response.error.message);
202
+ }
203
+ return response.data;
204
+ },
205
+ });
206
+ }
207
+ export function useARRWeeklyActuals() {
208
+ return useQuery({
209
+ queryKey: ['admin', 'analytics', 'arr-actuals'],
210
+ queryFn: async () => {
211
+ const response = await backendApi.get('/admin/analytics/arr/actuals');
212
+ if (response.error) {
213
+ throw new Error(response.error.message);
214
+ }
215
+ return response.data;
216
+ },
217
+ staleTime: 60000, // 1 minute
218
+ });
219
+ }
220
+ export function useUpdateARRWeeklyActual() {
221
+ const queryClient = useQueryClient();
222
+ return useMutation({
223
+ mutationFn: async (data) => {
224
+ const platform = data.platform || 'web';
225
+ const response = await backendApi.put(`/admin/analytics/arr/actuals/${data.week_number}?platform=${platform}`, data);
226
+ if (response.error) {
227
+ throw new Error(response.error.message);
228
+ }
229
+ return response.data;
230
+ },
231
+ onSuccess: () => {
232
+ queryClient.invalidateQueries({ queryKey: ['admin', 'analytics', 'arr-actuals'] });
233
+ },
234
+ });
235
+ }
236
+ export function useDeleteARRWeeklyActual() {
237
+ const queryClient = useQueryClient();
238
+ return useMutation({
239
+ mutationFn: async ({ weekNumber, platform }) => {
240
+ const response = await backendApi.delete(`/admin/analytics/arr/actuals/${weekNumber}?platform=${platform}`);
241
+ if (response.error) {
242
+ throw new Error(response.error.message);
243
+ }
244
+ return response.data;
245
+ },
246
+ onSuccess: () => {
247
+ queryClient.invalidateQueries({ queryKey: ['admin', 'analytics', 'arr-actuals'] });
248
+ },
249
+ });
250
+ }
251
+ export function useToggleFieldOverride() {
252
+ const queryClient = useQueryClient();
253
+ return useMutation({
254
+ mutationFn: async ({ weekNumber, platform, field, override }) => {
255
+ const response = await backendApi.patch(`/admin/analytics/arr/actuals/${weekNumber}/override?platform=${platform}`, {
256
+ field,
257
+ override,
258
+ });
259
+ if (response.error) {
260
+ throw new Error(response.error.message);
261
+ }
262
+ return response.data;
263
+ },
264
+ onSuccess: () => {
265
+ queryClient.invalidateQueries({ queryKey: ['admin', 'analytics', 'arr-actuals'] });
266
+ },
267
+ });
268
+ }
269
+ export function useARRSimulatorConfig() {
270
+ return useQuery({
271
+ queryKey: ['admin', 'analytics', 'arr-config'],
272
+ queryFn: async () => {
273
+ const response = await backendApi.get('/admin/analytics/arr/config');
274
+ if (response.error) {
275
+ throw new Error(response.error.message);
276
+ }
277
+ return response.data;
278
+ },
279
+ staleTime: 60000, // 1 minute
280
+ });
281
+ }
282
+ export function useUpdateARRSimulatorConfig() {
283
+ const queryClient = useQueryClient();
284
+ return useMutation({
285
+ mutationFn: async (data) => {
286
+ const response = await backendApi.put('/admin/analytics/arr/config', data);
287
+ if (response.error) {
288
+ throw new Error(response.error.message);
289
+ }
290
+ return response.data;
291
+ },
292
+ onSuccess: () => {
293
+ queryClient.invalidateQueries({ queryKey: ['admin', 'analytics', 'arr-config'] });
294
+ },
295
+ });
296
+ }
297
+ export function useSignupsByDate(dateFrom, dateTo) {
298
+ return useQuery({
299
+ queryKey: ['admin', 'analytics', 'signups-by-date', dateFrom, dateTo],
300
+ queryFn: async () => {
301
+ const response = await backendApi.get(`/admin/analytics/arr/signups?date_from=${dateFrom}&date_to=${dateTo}`);
302
+ if (response.error) {
303
+ throw new Error(response.error.message);
304
+ }
305
+ return response.data;
306
+ },
307
+ staleTime: 60000, // 1 minute
308
+ enabled: !!dateFrom && !!dateTo,
309
+ });
310
+ }
311
+ export function useViewsByDate(dateFrom, dateTo, source = 'vercel') {
312
+ return useQuery({
313
+ queryKey: ['admin', 'analytics', 'views-by-date', dateFrom, dateTo, source],
314
+ queryFn: async () => {
315
+ const response = await backendApi.get(`/admin/analytics/arr/views?date_from=${dateFrom}&date_to=${dateTo}&source=${source}`);
316
+ if (response.error) {
317
+ throw new Error(response.error.message);
318
+ }
319
+ return response.data;
320
+ },
321
+ staleTime: 60000, // 1 minute
322
+ enabled: !!dateFrom && !!dateTo,
323
+ retry: 1,
324
+ });
325
+ }
326
+ export function useNewPaidByDate(dateFrom, dateTo) {
327
+ return useQuery({
328
+ queryKey: ['admin', 'analytics', 'new-paid-by-date', dateFrom, dateTo],
329
+ queryFn: async () => {
330
+ const response = await backendApi.get(`/admin/analytics/arr/new-paid?date_from=${dateFrom}&date_to=${dateTo}`);
331
+ if (response.error) {
332
+ throw new Error(response.error.message);
333
+ }
334
+ return response.data;
335
+ },
336
+ staleTime: 60000, // 1 minute
337
+ enabled: !!dateFrom && !!dateTo,
338
+ retry: 1,
339
+ });
340
+ }
341
+ export function useChurnByDate(dateFrom, dateTo) {
342
+ return useQuery({
343
+ queryKey: ['admin', 'analytics', 'churn-by-date', dateFrom, dateTo],
344
+ queryFn: async () => {
345
+ const response = await backendApi.get(`/admin/analytics/arr/churn?date_from=${dateFrom}&date_to=${dateTo}`, { timeout: 90000 });
346
+ if (response.error) {
347
+ throw new Error(response.error.message);
348
+ }
349
+ return response.data;
350
+ },
351
+ staleTime: 300000, // 5 minutes cache
352
+ enabled: !!dateFrom && !!dateTo,
353
+ retry: 1,
354
+ });
355
+ }
356
+ export function useARRMonthlyActuals() {
357
+ return useQuery({
358
+ queryKey: ['admin', 'analytics', 'arr-monthly-actuals'],
359
+ queryFn: async () => {
360
+ const response = await backendApi.get('/admin/analytics/arr/monthly-actuals');
361
+ if (response.error) {
362
+ throw new Error(response.error.message);
363
+ }
364
+ return response.data;
365
+ },
366
+ staleTime: 60000, // 1 minute
367
+ });
368
+ }
369
+ export function useUpdateARRMonthlyActual() {
370
+ const queryClient = useQueryClient();
371
+ return useMutation({
372
+ mutationFn: async (data) => {
373
+ const platform = data.platform || 'web';
374
+ const response = await backendApi.put(`/admin/analytics/arr/monthly-actuals/${data.month_index}?platform=${platform}`, data);
375
+ if (response.error) {
376
+ throw new Error(response.error.message);
377
+ }
378
+ return response.data;
379
+ },
380
+ onSuccess: () => {
381
+ queryClient.invalidateQueries({ queryKey: ['admin', 'analytics', 'arr-monthly-actuals'] });
382
+ },
383
+ });
384
+ }
385
+ export function useDeleteARRMonthlyActual() {
386
+ const queryClient = useQueryClient();
387
+ return useMutation({
388
+ mutationFn: async ({ monthIndex, platform }) => {
389
+ const response = await backendApi.delete(`/admin/analytics/arr/monthly-actuals/${monthIndex}?platform=${platform}`);
390
+ if (response.error) {
391
+ throw new Error(response.error.message);
392
+ }
393
+ return response.data;
394
+ },
395
+ onSuccess: () => {
396
+ queryClient.invalidateQueries({ queryKey: ['admin', 'analytics', 'arr-monthly-actuals'] });
397
+ },
398
+ });
399
+ }
400
+ export function useToggleMonthlyFieldOverride() {
401
+ const queryClient = useQueryClient();
402
+ return useMutation({
403
+ mutationFn: async ({ monthIndex, platform, field, override }) => {
404
+ const response = await backendApi.patch(`/admin/analytics/arr/monthly-actuals/${monthIndex}/override?platform=${platform}`, {
405
+ field,
406
+ override,
407
+ });
408
+ if (response.error) {
409
+ throw new Error(response.error.message);
410
+ }
411
+ return response.data;
412
+ },
413
+ onSuccess: () => {
414
+ queryClient.invalidateQueries({ queryKey: ['admin', 'analytics', 'arr-monthly-actuals'] });
415
+ },
416
+ });
417
+ }
418
+ export function useRevenueSummary() {
419
+ return useQuery({
420
+ queryKey: ['admin', 'analytics', 'revenue-summary'],
421
+ queryFn: async () => {
422
+ const response = await backendApi.get('/admin/analytics/revenue-summary');
423
+ if (response.error) {
424
+ throw new Error(response.error.message);
425
+ }
426
+ return response.data;
427
+ },
428
+ staleTime: 60000, // 1 minute
429
+ retry: 1,
430
+ });
431
+ }
432
+ export function useEngagementSummary(dateFrom, dateTo) {
433
+ return useQuery({
434
+ queryKey: ['admin', 'analytics', 'engagement-summary', dateFrom, dateTo],
435
+ queryFn: async () => {
436
+ const params = new URLSearchParams();
437
+ if (dateFrom)
438
+ params.append('date_from', dateFrom);
439
+ if (dateTo)
440
+ params.append('date_to', dateTo);
441
+ const queryString = params.toString();
442
+ const url = queryString
443
+ ? `/admin/analytics/engagement-summary?${queryString}`
444
+ : '/admin/analytics/engagement-summary';
445
+ const response = await backendApi.get(url);
446
+ if (response.error) {
447
+ throw new Error(response.error.message);
448
+ }
449
+ return response.data;
450
+ },
451
+ staleTime: 60000, // 1 minute
452
+ placeholderData: (previousData) => previousData,
453
+ });
454
+ }
455
+ export function useTaskPerformance(dateFrom, dateTo) {
456
+ return useQuery({
457
+ queryKey: ['admin', 'analytics', 'task-performance', dateFrom, dateTo],
458
+ queryFn: async () => {
459
+ const params = new URLSearchParams();
460
+ if (dateFrom)
461
+ params.append('date_from', dateFrom);
462
+ if (dateTo)
463
+ params.append('date_to', dateTo);
464
+ const queryString = params.toString();
465
+ const url = queryString
466
+ ? `/admin/analytics/task-performance?${queryString}`
467
+ : '/admin/analytics/task-performance';
468
+ const response = await backendApi.get(url);
469
+ if (response.error) {
470
+ throw new Error(response.error.message);
471
+ }
472
+ return response.data;
473
+ },
474
+ staleTime: 60000, // 1 minute
475
+ placeholderData: (previousData) => previousData,
476
+ });
477
+ }
478
+ export function useToolAdoption(date) {
479
+ return useQuery({
480
+ queryKey: ['admin', 'analytics', 'tool-adoption', date],
481
+ queryFn: async () => {
482
+ const url = date
483
+ ? `/admin/analytics/tool-adoption?date=${date}`
484
+ : '/admin/analytics/tool-adoption';
485
+ const response = await backendApi.get(url);
486
+ if (response.error) {
487
+ throw new Error(response.error.message);
488
+ }
489
+ return response.data;
490
+ },
491
+ staleTime: 60000, // 1 minute
492
+ placeholderData: (previousData) => previousData,
493
+ });
494
+ }
495
+ export function useProfitability(dateFrom, dateTo) {
496
+ return useQuery({
497
+ queryKey: ['admin', 'analytics', 'profitability', dateFrom, dateTo],
498
+ queryFn: async () => {
499
+ const params = new URLSearchParams();
500
+ if (dateFrom)
501
+ params.append('date_from', dateFrom);
502
+ if (dateTo)
503
+ params.append('date_to', dateTo);
504
+ const queryString = params.toString();
505
+ const url = queryString
506
+ ? `/admin/analytics/profitability?${queryString}`
507
+ : '/admin/analytics/profitability';
508
+ const response = await backendApi.get(url);
509
+ if (response.error) {
510
+ throw new Error(response.error.message);
511
+ }
512
+ return response.data;
513
+ },
514
+ staleTime: 60000, // 1 minute
515
+ placeholderData: (previousData) => previousData,
516
+ });
517
+ }
518
+ //# sourceMappingURL=use-admin-analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-admin-analytics.js","sourceRoot":"","sources":["../../src/react/use-admin-analytics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ interface CreditAdjustmentRequest {
2
+ account_id: string;
3
+ amount: number;
4
+ reason: string;
5
+ is_expiring: boolean;
6
+ notify_user: boolean;
7
+ }
8
+ interface RefundRequest {
9
+ account_id: string;
10
+ amount: number;
11
+ reason: string;
12
+ is_expiring: boolean;
13
+ stripe_refund: boolean;
14
+ payment_intent_id?: string;
15
+ }
16
+ export declare function useUserBillingSummary(userId: string | null): import("@tanstack/react-query").UseQueryResult<any, Error>;
17
+ interface TransactionParams {
18
+ userId: string;
19
+ page?: number;
20
+ page_size?: number;
21
+ type_filter?: string;
22
+ }
23
+ export declare function useAdminUserTransactions(params: TransactionParams): import("@tanstack/react-query").UseQueryResult<any, Error>;
24
+ export declare function useAdjustCredits(): import("@tanstack/react-query").UseMutationResult<any, Error, CreditAdjustmentRequest, unknown>;
25
+ export declare function useProcessRefund(): import("@tanstack/react-query").UseMutationResult<any, Error, RefundRequest, unknown>;
26
+ export {};
27
+ //# sourceMappingURL=use-admin-billing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-admin-billing.d.ts","sourceRoot":"","sources":["../../src/react/use-admin-billing.ts"],"names":[],"mappings":"AAGA,UAAU,uBAAuB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,8DAa1D;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,8DAmBjE;AAED,wBAAgB,gBAAgB,oGAU/B;AAED,wBAAgB,gBAAgB,0FAU/B"}
@@ -0,0 +1,61 @@
1
+ import { backendApi } from '../core/http/api-client.js';
2
+ import { useMutation, useQuery } from '@tanstack/react-query';
3
+ export function useUserBillingSummary(userId) {
4
+ return useQuery({
5
+ queryKey: ['admin', 'billing', 'user', userId],
6
+ queryFn: async () => {
7
+ if (!userId)
8
+ return null;
9
+ const response = await backendApi.get(`/billing/admin/user/${userId}/summary`);
10
+ if (response.error) {
11
+ throw new Error(response.error.message);
12
+ }
13
+ return response.data;
14
+ },
15
+ enabled: !!userId,
16
+ });
17
+ }
18
+ export function useAdminUserTransactions(params) {
19
+ return useQuery({
20
+ queryKey: ['admin', 'billing', 'transactions', params.userId, params.page, params.page_size, params.type_filter],
21
+ queryFn: async () => {
22
+ const searchParams = new URLSearchParams();
23
+ if (params.page)
24
+ searchParams.append('page', params.page.toString());
25
+ if (params.page_size)
26
+ searchParams.append('page_size', params.page_size.toString());
27
+ if (params.type_filter)
28
+ searchParams.append('type_filter', params.type_filter);
29
+ const response = await backendApi.get(`/billing/admin/user/${params.userId}/transactions?${searchParams.toString()}`);
30
+ if (response.error) {
31
+ throw new Error(response.error.message);
32
+ }
33
+ return response.data;
34
+ },
35
+ enabled: !!params.userId,
36
+ staleTime: 30000,
37
+ });
38
+ }
39
+ export function useAdjustCredits() {
40
+ return useMutation({
41
+ mutationFn: async (request) => {
42
+ const response = await backendApi.post('/billing/admin/credits/adjust', request);
43
+ if (response.error) {
44
+ throw new Error(response.error.message);
45
+ }
46
+ return response.data;
47
+ },
48
+ });
49
+ }
50
+ export function useProcessRefund() {
51
+ return useMutation({
52
+ mutationFn: async (request) => {
53
+ const response = await backendApi.post('/billing/admin/refund', request);
54
+ if (response.error) {
55
+ throw new Error(response.error.message);
56
+ }
57
+ return response.data;
58
+ },
59
+ });
60
+ }
61
+ //# sourceMappingURL=use-admin-billing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-admin-billing.js","sourceRoot":"","sources":["../../src/react/use-admin-billing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAmB9D,MAAM,UAAU,qBAAqB,CAAC,MAAqB;IACzD,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;QAC9C,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,uBAAuB,MAAM,UAAU,CAAC,CAAC;YAC/E,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,CAAC,CAAC,MAAM;KAClB,CAAC,CAAC;AACL,CAAC;AASD,MAAM,UAAU,wBAAwB,CAAC,MAAyB;IAChE,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;QAChH,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;YAE3C,IAAI,MAAM,CAAC,IAAI;gBAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrE,IAAI,MAAM,CAAC,SAAS;gBAAE,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpF,IAAI,MAAM,CAAC,WAAW;gBAAE,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAE/E,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,MAAM,iBAAiB,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;QACxB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,WAAW,CAAC;QACjB,UAAU,EAAE,KAAK,EAAE,OAAgC,EAAE,EAAE;YACrD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;YACjF,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,WAAW,CAAC;QACjB,UAAU,EAAE,KAAK,EAAE,OAAsB,EAAE,EAAE;YAC3C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;YACzE,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}