@nlabs/metropolisjs 0.1.1 → 0.2.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 (326) hide show
  1. package/.github/copilot-instructions.md +167 -0
  2. package/AGENTS.md +13 -0
  3. package/CHANGELOG.md +112 -0
  4. package/GRAPHQL_VALIDATION_RESULTS.md +158 -0
  5. package/PERMISSION_GRAPHQL_INTEGRATION.md +293 -0
  6. package/PERMISSION_IMPLEMENTATION_SUMMARY.md +243 -0
  7. package/README.md +1343 -0
  8. package/SIGNIN_GRAPHQL_VALIDATION.md +125 -0
  9. package/VAULT_GRAPHQL_API_FINDINGS.md +312 -0
  10. package/docs/ACTIONS.md +63 -0
  11. package/docs/COLLECTIONS.md +1038 -0
  12. package/docs/CONNECTIONS.md +1367 -0
  13. package/docs/CRUD_INTEGRATION.md +702 -0
  14. package/examples/connections-usage.tsx +909 -0
  15. package/examples/content-actions-usage.ts +144 -0
  16. package/examples/crud-usage.tsx +847 -0
  17. package/examples/extensibility-usage.tsx +889 -0
  18. package/examples/factory-pattern-usage.ts +283 -0
  19. package/examples/i18n-import-examples.ts +86 -0
  20. package/examples/i18n-namespace-usage.ts +118 -0
  21. package/examples/i18next-singleton-demo.ts +187 -0
  22. package/examples/permission-system-usage.tsx +415 -0
  23. package/examples/project-details.tsx +397 -0
  24. package/examples/shared-i18n-usage.tsx +203 -0
  25. package/examples/signup-error-handling.ts +100 -0
  26. package/examples/translation-types.ts +86 -0
  27. package/examples/translation-usage.tsx +336 -0
  28. package/factoryPatternGuide.md +244 -0
  29. package/index.js +1 -0
  30. package/jest.config.mjs +28 -0
  31. package/lex.config.mjs +26 -0
  32. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts +22 -0
  33. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts.map +1 -0
  34. package/lib/__tests__/e2e/helpers/testGraphQLServer.js +197 -0
  35. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts +3 -0
  36. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts.map +1 -0
  37. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.js +52 -0
  38. package/lib/actions/appActions/appActions.d.ts +29 -0
  39. package/lib/actions/appActions/appActions.d.ts.map +1 -0
  40. package/lib/actions/appActions/appActions.js +159 -0
  41. package/lib/actions/connectionActions/connectionActions.d.ts +19 -0
  42. package/lib/actions/connectionActions/connectionActions.d.ts.map +1 -0
  43. package/lib/actions/connectionActions/connectionActions.js +131 -0
  44. package/lib/actions/contentActions/contentActions.d.ts +34 -0
  45. package/lib/actions/contentActions/contentActions.d.ts.map +1 -0
  46. package/lib/actions/contentActions/contentActions.js +314 -0
  47. package/lib/actions/conversationActions/conversationActions.d.ts +30 -0
  48. package/lib/actions/conversationActions/conversationActions.d.ts.map +1 -0
  49. package/lib/actions/conversationActions/conversationActions.js +225 -0
  50. package/lib/actions/eventActions/eventActions.d.ts +65 -0
  51. package/lib/actions/eventActions/eventActions.d.ts.map +1 -0
  52. package/lib/actions/eventActions/eventActions.js +436 -0
  53. package/lib/actions/groupActions/groupActions.d.ts +30 -0
  54. package/lib/actions/groupActions/groupActions.d.ts.map +1 -0
  55. package/lib/actions/groupActions/groupActions.js +229 -0
  56. package/lib/actions/imageActions/imageActions.d.ts +62 -0
  57. package/lib/actions/imageActions/imageActions.d.ts.map +1 -0
  58. package/lib/actions/imageActions/imageActions.js +593 -0
  59. package/lib/actions/index.d.ts +21 -0
  60. package/lib/actions/index.d.ts.map +1 -0
  61. package/lib/actions/index.js +22 -0
  62. package/lib/actions/locationActions/locationActions.d.ts +60 -0
  63. package/lib/actions/locationActions/locationActions.d.ts.map +1 -0
  64. package/lib/actions/locationActions/locationActions.js +388 -0
  65. package/lib/actions/messageActions/messageActions.d.ts +38 -0
  66. package/lib/actions/messageActions/messageActions.d.ts.map +1 -0
  67. package/lib/actions/messageActions/messageActions.js +235 -0
  68. package/lib/actions/permissionActions/permissionActions.d.ts +34 -0
  69. package/lib/actions/permissionActions/permissionActions.d.ts.map +1 -0
  70. package/lib/actions/permissionActions/permissionActions.js +330 -0
  71. package/lib/actions/personaActions/personaActions.d.ts +65 -0
  72. package/lib/actions/personaActions/personaActions.d.ts.map +1 -0
  73. package/lib/actions/personaActions/personaActions.js +572 -0
  74. package/lib/actions/postActions/postActions.d.ts +36 -0
  75. package/lib/actions/postActions/postActions.d.ts.map +1 -0
  76. package/lib/actions/postActions/postActions.js +447 -0
  77. package/lib/actions/reactionActions/reactionActions.d.ts +38 -0
  78. package/lib/actions/reactionActions/reactionActions.d.ts.map +1 -0
  79. package/lib/actions/reactionActions/reactionActions.js +413 -0
  80. package/lib/actions/sseActions/sseActions.d.ts +38 -0
  81. package/lib/actions/sseActions/sseActions.d.ts.map +1 -0
  82. package/lib/actions/sseActions/sseActions.js +148 -0
  83. package/lib/actions/subscriptionActions/subscriptionActions.d.ts +24 -0
  84. package/lib/actions/subscriptionActions/subscriptionActions.d.ts.map +1 -0
  85. package/lib/actions/subscriptionActions/subscriptionActions.js +329 -0
  86. package/lib/actions/tagActions/tagActions.d.ts +37 -0
  87. package/lib/actions/tagActions/tagActions.d.ts.map +1 -0
  88. package/lib/actions/tagActions/tagActions.js +347 -0
  89. package/lib/actions/translationActions/translationActions.d.ts +38 -0
  90. package/lib/actions/translationActions/translationActions.d.ts.map +1 -0
  91. package/lib/actions/translationActions/translationActions.js +189 -0
  92. package/lib/actions/userActions/userActions.d.ts +78 -0
  93. package/lib/actions/userActions/userActions.d.ts.map +1 -0
  94. package/lib/actions/userActions/userActions.js +844 -0
  95. package/lib/actions/videoActions/videoActions.d.ts +41 -0
  96. package/lib/actions/videoActions/videoActions.d.ts.map +1 -0
  97. package/lib/actions/videoActions/videoActions.js +532 -0
  98. package/lib/actions/websocketActions/websocketActions.d.ts +30 -0
  99. package/lib/actions/websocketActions/websocketActions.d.ts.map +1 -0
  100. package/lib/actions/websocketActions/websocketActions.js +377 -0
  101. package/lib/adapters/appAdapter/appAdapter.d.ts +8 -0
  102. package/lib/adapters/appAdapter/appAdapter.d.ts.map +1 -0
  103. package/lib/adapters/appAdapter/appAdapter.js +90 -0
  104. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +21 -0
  105. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts.map +1 -0
  106. package/lib/adapters/arangoAdapter/arangoAdapter.js +75 -0
  107. package/lib/adapters/contentAdapter/contentAdapter.d.ts +32 -0
  108. package/lib/adapters/contentAdapter/contentAdapter.d.ts.map +1 -0
  109. package/lib/adapters/contentAdapter/contentAdapter.js +107 -0
  110. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +24 -0
  111. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts.map +1 -0
  112. package/lib/adapters/conversationAdapter/conversationAdapter.js +75 -0
  113. package/lib/adapters/eventAdapter/eventAdapter.d.ts +46 -0
  114. package/lib/adapters/eventAdapter/eventAdapter.d.ts.map +1 -0
  115. package/lib/adapters/eventAdapter/eventAdapter.js +162 -0
  116. package/lib/adapters/fileAdapter/fileAdapter.d.ts +30 -0
  117. package/lib/adapters/fileAdapter/fileAdapter.d.ts.map +1 -0
  118. package/lib/adapters/fileAdapter/fileAdapter.js +118 -0
  119. package/lib/adapters/groupAdapter/groupAdapter.d.ts +28 -0
  120. package/lib/adapters/groupAdapter/groupAdapter.d.ts.map +1 -0
  121. package/lib/adapters/groupAdapter/groupAdapter.js +66 -0
  122. package/lib/adapters/imageAdapter/imageAdapter.d.ts +38 -0
  123. package/lib/adapters/imageAdapter/imageAdapter.d.ts.map +1 -0
  124. package/lib/adapters/imageAdapter/imageAdapter.js +134 -0
  125. package/lib/adapters/index.d.ts +34 -0
  126. package/lib/adapters/index.d.ts.map +1 -0
  127. package/lib/adapters/index.js +19 -0
  128. package/lib/adapters/locationAdapter/locationAdapter.d.ts +28 -0
  129. package/lib/adapters/locationAdapter/locationAdapter.d.ts.map +1 -0
  130. package/lib/adapters/locationAdapter/locationAdapter.js +95 -0
  131. package/lib/adapters/messageAdapter/messageAdapter.d.ts +31 -0
  132. package/lib/adapters/messageAdapter/messageAdapter.d.ts.map +1 -0
  133. package/lib/adapters/messageAdapter/messageAdapter.js +82 -0
  134. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts +41 -0
  135. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts.map +1 -0
  136. package/lib/adapters/permissionAdapter/permissionAdapter.js +120 -0
  137. package/lib/adapters/personaAdapter/personaAdapter.d.ts +44 -0
  138. package/lib/adapters/personaAdapter/personaAdapter.d.ts.map +1 -0
  139. package/lib/adapters/personaAdapter/personaAdapter.js +161 -0
  140. package/lib/adapters/postAdapter/postAdapter.d.ts +33 -0
  141. package/lib/adapters/postAdapter/postAdapter.d.ts.map +1 -0
  142. package/lib/adapters/postAdapter/postAdapter.js +115 -0
  143. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +23 -0
  144. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts.map +1 -0
  145. package/lib/adapters/reactionAdapter/reactionAdapter.js +81 -0
  146. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +17 -0
  147. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts.map +1 -0
  148. package/lib/adapters/reaktorAdapter/reaktorAdapter.js +58 -0
  149. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +24 -0
  150. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts.map +1 -0
  151. package/lib/adapters/sessionAdapter/sessionAdapter.js +80 -0
  152. package/lib/adapters/tagAdapter/tagAdapter.d.ts +21 -0
  153. package/lib/adapters/tagAdapter/tagAdapter.d.ts.map +1 -0
  154. package/lib/adapters/tagAdapter/tagAdapter.js +98 -0
  155. package/lib/adapters/translationAdapter/translationAdapter.d.ts +21 -0
  156. package/lib/adapters/translationAdapter/translationAdapter.d.ts.map +1 -0
  157. package/lib/adapters/translationAdapter/translationAdapter.js +55 -0
  158. package/lib/adapters/userAdapter/userAdapter.d.ts +67 -0
  159. package/lib/adapters/userAdapter/userAdapter.d.ts.map +1 -0
  160. package/lib/adapters/userAdapter/userAdapter.js +302 -0
  161. package/lib/adapters/videoAdapter/videoAdapter.d.ts +8 -0
  162. package/lib/adapters/videoAdapter/videoAdapter.d.ts.map +1 -0
  163. package/lib/adapters/videoAdapter/videoAdapter.js +194 -0
  164. package/lib/config/index.d.ts +44 -0
  165. package/lib/config/index.d.ts.map +1 -0
  166. package/lib/config/index.js +97 -0
  167. package/lib/constants/Collections.d.ts +44 -0
  168. package/lib/constants/Collections.d.ts.map +1 -0
  169. package/lib/constants/Collections.js +40 -0
  170. package/lib/constants/MetropolisConstants.d.ts +15 -0
  171. package/lib/constants/MetropolisConstants.d.ts.map +1 -0
  172. package/lib/constants/MetropolisConstants.js +15 -0
  173. package/lib/graphql/message.d.ts +3 -0
  174. package/lib/graphql/message.d.ts.map +1 -0
  175. package/lib/graphql/message.js +20 -0
  176. package/lib/graphql/notification.d.ts +3 -0
  177. package/lib/graphql/notification.d.ts.map +1 -0
  178. package/lib/graphql/notification.js +20 -0
  179. package/lib/graphql/session.d.ts +2 -0
  180. package/lib/graphql/session.d.ts.map +1 -0
  181. package/lib/graphql/session.js +17 -0
  182. package/lib/index.d.ts +52 -0
  183. package/lib/index.d.ts.map +1 -0
  184. package/lib/index.js +248 -0
  185. package/lib/stores/appStore.d.ts +23 -0
  186. package/lib/stores/appStore.d.ts.map +1 -0
  187. package/lib/stores/appStore.js +23 -0
  188. package/lib/stores/contentStore.d.ts +36 -0
  189. package/lib/stores/contentStore.d.ts.map +1 -0
  190. package/lib/stores/contentStore.js +139 -0
  191. package/lib/stores/conversationStore.d.ts +38 -0
  192. package/lib/stores/conversationStore.d.ts.map +1 -0
  193. package/lib/stores/conversationStore.js +117 -0
  194. package/lib/stores/eventStore.d.ts +37 -0
  195. package/lib/stores/eventStore.d.ts.map +1 -0
  196. package/lib/stores/eventStore.js +47 -0
  197. package/lib/stores/groupStore.d.ts +37 -0
  198. package/lib/stores/groupStore.d.ts.map +1 -0
  199. package/lib/stores/groupStore.js +68 -0
  200. package/lib/stores/imageStore.d.ts +40 -0
  201. package/lib/stores/imageStore.d.ts.map +1 -0
  202. package/lib/stores/imageStore.js +53 -0
  203. package/lib/stores/index.d.ts +24 -0
  204. package/lib/stores/index.d.ts.map +1 -0
  205. package/lib/stores/index.js +24 -0
  206. package/lib/stores/locationStore.d.ts +34 -0
  207. package/lib/stores/locationStore.d.ts.map +1 -0
  208. package/lib/stores/locationStore.js +42 -0
  209. package/lib/stores/messageStore.d.ts +51 -0
  210. package/lib/stores/messageStore.d.ts.map +1 -0
  211. package/lib/stores/messageStore.js +137 -0
  212. package/lib/stores/notificationStore.d.ts +33 -0
  213. package/lib/stores/notificationStore.d.ts.map +1 -0
  214. package/lib/stores/notificationStore.js +55 -0
  215. package/lib/stores/permissionStore.d.ts +37 -0
  216. package/lib/stores/permissionStore.d.ts.map +1 -0
  217. package/lib/stores/permissionStore.js +117 -0
  218. package/lib/stores/personaStore.d.ts +26 -0
  219. package/lib/stores/personaStore.d.ts.map +1 -0
  220. package/lib/stores/personaStore.js +118 -0
  221. package/lib/stores/postStore.d.ts +34 -0
  222. package/lib/stores/postStore.d.ts.map +1 -0
  223. package/lib/stores/postStore.js +53 -0
  224. package/lib/stores/reactionStore.d.ts +25 -0
  225. package/lib/stores/reactionStore.d.ts.map +1 -0
  226. package/lib/stores/reactionStore.js +28 -0
  227. package/lib/stores/subscriptionStore.d.ts +41 -0
  228. package/lib/stores/subscriptionStore.d.ts.map +1 -0
  229. package/lib/stores/subscriptionStore.js +85 -0
  230. package/lib/stores/tagStore.d.ts +34 -0
  231. package/lib/stores/tagStore.d.ts.map +1 -0
  232. package/lib/stores/tagStore.js +87 -0
  233. package/lib/stores/translationStore.d.ts +42 -0
  234. package/lib/stores/translationStore.d.ts.map +1 -0
  235. package/lib/stores/translationStore.js +122 -0
  236. package/lib/stores/userStore.d.ts +74 -0
  237. package/lib/stores/userStore.d.ts.map +1 -0
  238. package/lib/stores/userStore.js +319 -0
  239. package/lib/stores/videoStore.d.ts +39 -0
  240. package/lib/stores/videoStore.d.ts.map +1 -0
  241. package/lib/stores/videoStore.js +132 -0
  242. package/lib/stores/websocketStore.d.ts +24 -0
  243. package/lib/stores/websocketStore.d.ts.map +1 -0
  244. package/lib/stores/websocketStore.js +51 -0
  245. package/lib/types/apps.types.d.ts +17 -0
  246. package/lib/types/apps.types.d.ts.map +1 -0
  247. package/lib/types/apps.types.js +6 -0
  248. package/lib/types/common.types.d.ts +31 -0
  249. package/lib/types/common.types.d.ts.map +1 -0
  250. package/lib/types/common.types.js +6 -0
  251. package/lib/types/conversations.types.d.ts +17 -0
  252. package/lib/types/conversations.types.d.ts.map +1 -0
  253. package/lib/types/conversations.types.js +6 -0
  254. package/lib/types/edges.types.d.ts +38 -0
  255. package/lib/types/edges.types.d.ts.map +1 -0
  256. package/lib/types/edges.types.js +6 -0
  257. package/lib/types/groups.types.d.ts +19 -0
  258. package/lib/types/groups.types.d.ts.map +1 -0
  259. package/lib/types/groups.types.js +6 -0
  260. package/lib/types/index.d.ts +12 -0
  261. package/lib/types/index.d.ts.map +1 -0
  262. package/lib/types/index.js +12 -0
  263. package/lib/types/subscriptions.types.d.ts +32 -0
  264. package/lib/types/subscriptions.types.d.ts.map +1 -0
  265. package/lib/types/subscriptions.types.js +6 -0
  266. package/lib/types/videos.types.d.ts +61 -0
  267. package/lib/types/videos.types.d.ts.map +1 -0
  268. package/lib/types/videos.types.js +6 -0
  269. package/lib/utils/MetropolisProvider.d.ts +58 -0
  270. package/lib/utils/MetropolisProvider.d.ts.map +1 -0
  271. package/lib/utils/MetropolisProvider.js +31 -0
  272. package/lib/utils/actionFactory.d.ts +24 -0
  273. package/lib/utils/actionFactory.d.ts.map +1 -0
  274. package/lib/utils/actionFactory.js +95 -0
  275. package/lib/utils/api.d.ts +44 -0
  276. package/lib/utils/api.d.ts.map +1 -0
  277. package/lib/utils/api.js +253 -0
  278. package/lib/utils/app.d.ts +7 -0
  279. package/lib/utils/app.d.ts.map +1 -0
  280. package/lib/utils/app.js +15 -0
  281. package/lib/utils/baseActionFactory.d.ts +16 -0
  282. package/lib/utils/baseActionFactory.d.ts.map +1 -0
  283. package/lib/utils/baseActionFactory.js +72 -0
  284. package/lib/utils/configUtils.d.ts +11 -0
  285. package/lib/utils/configUtils.d.ts.map +1 -0
  286. package/lib/utils/configUtils.js +20 -0
  287. package/lib/utils/dateUtils.d.ts +3 -0
  288. package/lib/utils/dateUtils.d.ts.map +1 -0
  289. package/lib/utils/dateUtils.js +11 -0
  290. package/lib/utils/file.d.ts +3 -0
  291. package/lib/utils/file.d.ts.map +1 -0
  292. package/lib/utils/file.js +156 -0
  293. package/lib/utils/i18n.d.ts +7 -0
  294. package/lib/utils/i18n.d.ts.map +1 -0
  295. package/lib/utils/i18n.js +96 -0
  296. package/lib/utils/index.d.ts +20 -0
  297. package/lib/utils/index.d.ts.map +1 -0
  298. package/lib/utils/index.js +26 -0
  299. package/lib/utils/location.d.ts +10 -0
  300. package/lib/utils/location.d.ts.map +1 -0
  301. package/lib/utils/location.js +82 -0
  302. package/lib/utils/permissionUtils.d.ts +22 -0
  303. package/lib/utils/permissionUtils.d.ts.map +1 -0
  304. package/lib/utils/permissionUtils.js +72 -0
  305. package/lib/utils/requestCache.d.ts +8 -0
  306. package/lib/utils/requestCache.d.ts.map +1 -0
  307. package/lib/utils/requestCache.js +53 -0
  308. package/lib/utils/session.d.ts +14 -0
  309. package/lib/utils/session.d.ts.map +1 -0
  310. package/lib/utils/session.js +107 -0
  311. package/lib/utils/useConversationTyping.d.ts +26 -0
  312. package/lib/utils/useConversationTyping.d.ts.map +1 -0
  313. package/lib/utils/useConversationTyping.js +117 -0
  314. package/lib/utils/useMetropolis.d.ts +67 -0
  315. package/lib/utils/useMetropolis.d.ts.map +1 -0
  316. package/lib/utils/useMetropolis.js +311 -0
  317. package/lib/utils/useTranslations.d.ts +16 -0
  318. package/lib/utils/useTranslations.d.ts.map +1 -0
  319. package/lib/utils/useTranslations.js +105 -0
  320. package/lib/utils/validatorFactory.d.ts +49 -0
  321. package/lib/utils/validatorFactory.d.ts.map +1 -0
  322. package/lib/utils/validatorFactory.js +95 -0
  323. package/package.json +75 -28
  324. package/temp_signin.ts +73 -0
  325. package/tsconfig.lint.json +25 -0
  326. package/tsconfig.test.json +14 -0
package/lib/index.js ADDED
@@ -0,0 +1,248 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
4
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
5
+ */ import { useFlux, useFluxState } from '@nlabs/arkhamjs-utils-react';
6
+ import i18n from 'i18next';
7
+ import { DateTime } from 'luxon';
8
+ import { useEffect, useMemo, useRef } from 'react';
9
+ import { I18nextProvider } from 'react-i18next';
10
+ import { syncPersonaTagsToSession, syncPersonaToSession } from './actions/personaActions/personaActions.js';
11
+ import { resolveEnvironmentConfig } from './config/index.js';
12
+ import { app, events, images, locations, messages, notifications, NOTIFICATION_CONSTANTS, permissions, PERSONA_CONSTANTS, posts, subscriptions, TAG_CONSTANTS, tags, USER_CONSTANTS, users, video, websocket } from './stores/index.js';
13
+ import { refreshSession } from './utils/api.js';
14
+ import { getConfigFromFlux } from './utils/configUtils.js';
15
+ import { initI18n } from './utils/i18n.js';
16
+ import { MetropolisContext } from './utils/MetropolisProvider.js';
17
+ import { getRefreshWindowMinutes, hydrateSessionFromStorage, parseJwtExpiryMs } from './utils/session.js';
18
+ import { createAction } from './utils/actionFactory.js';
19
+ export { MetropolisContext, MetropolisProvider } from './utils/MetropolisProvider.js';
20
+ export const onInit = async (flux)=>{
21
+ if (!flux.getState('app.metropolisInitialized')) {
22
+ flux.addStores([
23
+ app,
24
+ events,
25
+ images,
26
+ locations,
27
+ messages,
28
+ notifications,
29
+ permissions,
30
+ posts,
31
+ subscriptions,
32
+ tags,
33
+ users,
34
+ video,
35
+ websocket
36
+ ]);
37
+ flux.on(USER_CONSTANTS.SIGN_OUT_SUCCESS, ()=>{
38
+ flux.dispatch({
39
+ type: NOTIFICATION_CONSTANTS.CLEAR_ITEMS
40
+ });
41
+ });
42
+ flux.on(PERSONA_CONSTANTS.ADD_ITEM_SUCCESS, async ({ persona = {} })=>{
43
+ syncPersonaToSession(flux, persona);
44
+ if (persona?.personaId && !Array.isArray(persona?.tags)) {
45
+ await syncPersonaTagsToSession(flux, String(persona.personaId));
46
+ }
47
+ });
48
+ flux.on(PERSONA_CONSTANTS.UPDATE_ITEM_SUCCESS, async ({ persona = {} })=>{
49
+ syncPersonaToSession(flux, persona);
50
+ if (persona?.personaId && !Array.isArray(persona?.tags)) {
51
+ await syncPersonaTagsToSession(flux, String(persona.personaId));
52
+ }
53
+ });
54
+ flux.on(TAG_CONSTANTS.ADD_PERSONA_SUCCESS, ({ tag })=>{
55
+ const currentSession = flux.getState('user.session', {}) || {};
56
+ const currentTags = Array.isArray(currentSession.tags) ? currentSession.tags : [];
57
+ const nextTagId = String(tag?.tagId || '').trim();
58
+ if (!nextTagId) {
59
+ return;
60
+ }
61
+ const mergedTags = [
62
+ ...currentTags.filter((item)=>String(item?.tagId || '').trim() !== nextTagId),
63
+ tag
64
+ ].sort((left, right)=>String(left?.name || '').localeCompare(String(right?.name || '')));
65
+ const nextSession = {
66
+ ...currentSession,
67
+ tags: mergedTags
68
+ };
69
+ void flux.setState('user.session', nextSession);
70
+ flux.dispatch({
71
+ type: USER_CONSTANTS.UPDATE_SESSION_SUCCESS,
72
+ user: {
73
+ tags: mergedTags
74
+ }
75
+ });
76
+ });
77
+ flux.on(TAG_CONSTANTS.REMOVE_PERSONA_SUCCESS, ({ tag })=>{
78
+ const currentSession = flux.getState('user.session', {}) || {};
79
+ const currentTags = Array.isArray(currentSession.tags) ? currentSession.tags : [];
80
+ const nextTagId = String(tag?.tagId || '').trim();
81
+ if (!nextTagId) {
82
+ return;
83
+ }
84
+ const nextTags = currentTags.filter((item)=>String(item?.tagId || '').trim() !== nextTagId);
85
+ const nextSession = {
86
+ ...currentSession,
87
+ tags: nextTags
88
+ };
89
+ void flux.setState('user.session', nextSession);
90
+ flux.dispatch({
91
+ type: USER_CONSTANTS.UPDATE_SESSION_SUCCESS,
92
+ user: {
93
+ tags: nextTags
94
+ }
95
+ });
96
+ });
97
+ await Promise.resolve(flux.setState('app.metropolisInitialized', true));
98
+ }
99
+ const token = String(flux.getState('user.session.token') || '');
100
+ if (token) {
101
+ const session = flux.getState('user.session', {}) || {};
102
+ const config = getConfigFromFlux(flux);
103
+ const tokenExpiresAt = parseJwtExpiryMs(token);
104
+ const sessionLifetimeMinutes = Math.round((Number(session.expires || 0) - Number(session.issued || 0)) / (1000 * 60));
105
+ const refreshWindowMinutes = getRefreshWindowMinutes(sessionLifetimeMinutes || 15, config.app?.session || {});
106
+ const refreshExpiresMinutes = Math.max(1, Number(config.app?.session?.maxMinutes || sessionLifetimeMinutes || 15));
107
+ const expiresAt = Number(session.expires || 0);
108
+ if (tokenExpiresAt > 0 && Date.now() >= tokenExpiresAt) {
109
+ await refreshSession(flux, token, refreshExpiresMinutes);
110
+ } else if (!expiresAt) {
111
+ await refreshSession(flux, token, refreshExpiresMinutes);
112
+ } else {
113
+ const minutesUntilExpiry = Math.round(DateTime.fromMillis(expiresAt).diff(DateTime.local(), 'minutes').toObject().minutes || 0);
114
+ if (minutesUntilExpiry <= 0 || minutesUntilExpiry <= refreshWindowMinutes) {
115
+ await refreshSession(flux, token, refreshExpiresMinutes);
116
+ }
117
+ }
118
+ }
119
+ };
120
+ export * from './stores/index.js';
121
+ export { appMutation, appQuery, publicMutation, publicQuery, refreshSession, uploadImage } from './utils/api.js';
122
+ export { resolveEnvironmentConfig } from './config/index.js';
123
+ export { getConfigFromFlux } from './utils/configUtils.js';
124
+ export const Metropolis = ({ adapters, children, config = {}, translations = {} })=>{
125
+ const flux = useFlux();
126
+ const resolvedConfig = useMemo(()=>resolveEnvironmentConfig(config), [
127
+ config
128
+ ]);
129
+ const mergedAdapters = useMemo(()=>({
130
+ ...resolvedConfig.adapters,
131
+ ...adapters
132
+ }), [
133
+ resolvedConfig.adapters,
134
+ adapters
135
+ ]);
136
+ const sessionPersonaId = String(useFluxState('user.session.personaId', '') || '');
137
+ const sessionToken = String(useFluxState('user.session.token', '') || '');
138
+ const sessionHydrated = Boolean(useFluxState('app.sessionHydrated', false));
139
+ const session = useFluxState('user.session', {});
140
+ const notificationList = useFluxState('notification.list', []);
141
+ const conversationMap = useFluxState('message.conversations', {});
142
+ const messages = useMemo(()=>Object.values(conversationMap).flat(), [
143
+ conversationMap
144
+ ]);
145
+ const websocketsRef = useRef(null);
146
+ if (!websocketsRef.current) {
147
+ websocketsRef.current = createAction('websocket', flux);
148
+ }
149
+ const websockets = websocketsRef.current;
150
+ useEffect(()=>{
151
+ initI18n(translations);
152
+ }, [
153
+ translations
154
+ ]);
155
+ useEffect(()=>{
156
+ let isActive = true;
157
+ void (async ()=>{
158
+ await Promise.resolve(flux.setState('app.config', resolvedConfig));
159
+ await Promise.resolve(flux.setState('app.sessionHydrated', false));
160
+ await hydrateSessionFromStorage(flux);
161
+ if (!isActive) {
162
+ return;
163
+ }
164
+ await onInit(flux);
165
+ if (!isActive) {
166
+ return;
167
+ }
168
+ await Promise.resolve(flux.setState('app.sessionHydrated', true));
169
+ })();
170
+ return ()=>{
171
+ isActive = false;
172
+ };
173
+ }, [
174
+ flux,
175
+ resolvedConfig
176
+ ]);
177
+ useEffect(()=>{
178
+ if (!sessionHydrated) {
179
+ websockets.wsClose();
180
+ return;
181
+ }
182
+ if (sessionToken) {
183
+ websockets.wsInit(sessionToken, sessionPersonaId);
184
+ } else {
185
+ websockets.wsClose();
186
+ }
187
+ }, [
188
+ sessionHydrated,
189
+ sessionPersonaId,
190
+ sessionToken,
191
+ websockets
192
+ ]);
193
+ useEffect(()=>{
194
+ return ()=>{
195
+ websockets.wsClose();
196
+ };
197
+ }, [
198
+ websockets
199
+ ]);
200
+ const isAuth = useMemo(()=>resolvedConfig.isAuth || (()=>{
201
+ const sessionState = flux.getState('user.session', {});
202
+ return !!sessionState.userActive;
203
+ }), [
204
+ resolvedConfig.isAuth,
205
+ flux
206
+ ]);
207
+ return /*#__PURE__*/ _jsx(MetropolisContext.Provider, {
208
+ value: {
209
+ adapters: mergedAdapters,
210
+ config: resolvedConfig,
211
+ flux,
212
+ isAuth,
213
+ messages,
214
+ notifications: notificationList,
215
+ session,
216
+ updateMessage: ()=>{},
217
+ updateNotification: websockets.sendNotification
218
+ },
219
+ children: /*#__PURE__*/ _jsx(I18nextProvider, {
220
+ i18n: i18n,
221
+ children: children
222
+ })
223
+ });
224
+ };
225
+ export default Metropolis;
226
+ export { useTranslation } from 'react-i18next';
227
+ export * from './adapters/index.js';
228
+ export * from './constants/MetropolisConstants.js';
229
+ export * from './graphql/message.js';
230
+ export * from './graphql/notification.js';
231
+ export * from './stores/index.js';
232
+ export { createAction, createActions, createAllActions } from './utils/actionFactory.js';
233
+ export * from './utils/app.js';
234
+ export { createBaseActions } from './utils/baseActionFactory.js';
235
+ export * from './utils/dateUtils.js';
236
+ export * from './utils/file.js';
237
+ export * from './utils/location.js';
238
+ export { useContentActions, useEventActions, useGroupActions, useImageActions, useLocationActions, useMessageActions, useMetropolis, useMetropolisConfig, useMetropolisFlux, usePostActions, usePersonaActions, useReactionActions, useTagActions, useTranslationActions, useUserActions, useWebsocketActions } from './utils/useMetropolis.js';
239
+ export { useConversationTyping } from './utils/useConversationTyping.js';
240
+ export { createValidatorFactory, createValidatorManager } from './utils/validatorFactory.js';
241
+ export * from './actions/appActions/appActions.js';
242
+ export * from './actions/connectionActions/connectionActions.js';
243
+ export * from './actions/conversationActions/conversationActions.js';
244
+ export * from './actions/videoActions/videoActions.js';
245
+ export * from './constants/Collections.js';
246
+ export * from './types/index.js';
247
+
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge3VzZUZsdXgsIHVzZUZsdXhTdGF0ZX0gZnJvbSAnQG5sYWJzL2Fya2hhbWpzLXV0aWxzLXJlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHt1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtJMThuZXh0UHJvdmlkZXJ9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQge2NyZWF0ZVdlYnNvY2tldEFjdGlvbnN9IGZyb20gJy4vYWN0aW9ucy93ZWJzb2NrZXRBY3Rpb25zL3dlYnNvY2tldEFjdGlvbnMuanMnO1xuaW1wb3J0IHtzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24sIHN5bmNQZXJzb25hVG9TZXNzaW9ufSBmcm9tICcuL2FjdGlvbnMvcGVyc29uYUFjdGlvbnMvcGVyc29uYUFjdGlvbnMuanMnO1xuaW1wb3J0IHtyZXNvbHZlRW52aXJvbm1lbnRDb25maWd9IGZyb20gJy4vY29uZmlnL2luZGV4LmpzJztcbmltcG9ydCB7XG4gIGFwcCxcbiAgZXZlbnRzLFxuICBpbWFnZXMsXG4gIGxvY2F0aW9ucyxcbiAgbWVzc2FnZXMsXG4gIG5vdGlmaWNhdGlvbnMsXG4gIE5PVElGSUNBVElPTl9DT05TVEFOVFMsXG4gIHBlcm1pc3Npb25zLFxuICBQRVJTT05BX0NPTlNUQU5UUyxcbiAgcG9zdHMsXG4gIHN1YnNjcmlwdGlvbnMsXG4gIFRBR19DT05TVEFOVFMsXG4gIHRhZ3MsXG4gIFVTRVJfQ09OU1RBTlRTLFxuICB1c2VycyxcbiAgdmlkZW8sXG4gIHdlYnNvY2tldFxufSBmcm9tICcuL3N0b3Jlcy9pbmRleC5qcyc7XG5pbXBvcnQge3JlZnJlc2hTZXNzaW9ufSBmcm9tICcuL3V0aWxzL2FwaS5qcyc7XG5pbXBvcnQge2dldENvbmZpZ0Zyb21GbHV4fSBmcm9tICcuL3V0aWxzL2NvbmZpZ1V0aWxzLmpzJztcbmltcG9ydCB7aW5pdEkxOG59IGZyb20gJy4vdXRpbHMvaTE4bi5qcyc7XG5pbXBvcnQge01ldHJvcG9saXNDb250ZXh0fSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5pbXBvcnQge2dldFJlZnJlc2hXaW5kb3dNaW51dGVzLCBoeWRyYXRlU2Vzc2lvbkZyb21TdG9yYWdlLCBwYXJzZUp3dEV4cGlyeU1zfSBmcm9tICcuL3V0aWxzL3Nlc3Npb24uanMnO1xuaW1wb3J0IHtjcmVhdGVBY3Rpb259IGZyb20gJy4vdXRpbHMvYWN0aW9uRmFjdG9yeS5qcyc7XG5cbmltcG9ydCB0eXBlIHtGbHV4RnJhbWV3b3JrfSBmcm9tICdAbmxhYnMvYXJraGFtanMnO1xuaW1wb3J0IHR5cGUge01ldHJvcG9saXNDb25maWd1cmF0aW9uLCBNZXRyb3BvbGlzRW52aXJvbm1lbnRDb25maWd1cmF0aW9ufSBmcm9tICcuL2NvbmZpZy9pbmRleC5qcyc7XG5pbXBvcnQgdHlwZSB7TWV0cm9wb2xpc0FkYXB0ZXJzfSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5cbmV4cG9ydCB7TWV0cm9wb2xpc0NvbnRleHQsIE1ldHJvcG9saXNQcm92aWRlcn0gZnJvbSAnLi91dGlscy9NZXRyb3BvbGlzUHJvdmlkZXIuanMnO1xuXG5leHBvcnQgdHlwZSB7TWV0cm9wb2xpc0NvbmZpZ3VyYXRpb259IGZyb20gJy4vY29uZmlnL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHtNZXRyb3BvbGlzQWRhcHRlcnN9IGZyb20gJy4vdXRpbHMvTWV0cm9wb2xpc1Byb3ZpZGVyLmpzJztcblxuZXhwb3J0IGNvbnN0IG9uSW5pdCA9IGFzeW5jIChmbHV4OiBGbHV4RnJhbWV3b3JrKSA9PiB7XG4gIGlmKCFmbHV4LmdldFN0YXRlKCdhcHAubWV0cm9wb2xpc0luaXRpYWxpemVkJykpIHtcbiAgICBmbHV4LmFkZFN0b3JlcyhbXG4gICAgICBhcHAsXG4gICAgICBldmVudHMsXG4gICAgICBpbWFnZXMsXG4gICAgICBsb2NhdGlvbnMsXG4gICAgICBtZXNzYWdlcyxcbiAgICAgIG5vdGlmaWNhdGlvbnMsXG4gICAgICBwZXJtaXNzaW9ucyxcbiAgICAgIHBvc3RzLFxuICAgICAgc3Vic2NyaXB0aW9ucyxcbiAgICAgIHRhZ3MsXG4gICAgICB1c2VycyxcbiAgICAgIHZpZGVvLFxuICAgICAgd2Vic29ja2V0XG4gICAgXSk7XG4gICAgZmx1eC5vbihVU0VSX0NPTlNUQU5UUy5TSUdOX09VVF9TVUNDRVNTLCAoKSA9PiB7XG4gICAgICBmbHV4LmRpc3BhdGNoKHt0eXBlOiBOT1RJRklDQVRJT05fQ09OU1RBTlRTLkNMRUFSX0lURU1TfSk7XG4gICAgfSk7XG4gICAgZmx1eC5vbihQRVJTT05BX0NPTlNUQU5UUy5BRERfSVRFTV9TVUNDRVNTLCBhc3luYyAoe3BlcnNvbmEgPSB7fX06IHtwZXJzb25hPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj59KSA9PiB7XG4gICAgICBzeW5jUGVyc29uYVRvU2Vzc2lvbihmbHV4LCBwZXJzb25hKTtcblxuICAgICAgaWYocGVyc29uYT8ucGVyc29uYUlkICYmICFBcnJheS5pc0FycmF5KHBlcnNvbmE/LnRhZ3MpKSB7XG4gICAgICAgIGF3YWl0IHN5bmNQZXJzb25hVGFnc1RvU2Vzc2lvbihmbHV4LCBTdHJpbmcocGVyc29uYS5wZXJzb25hSWQpKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGZsdXgub24oUEVSU09OQV9DT05TVEFOVFMuVVBEQVRFX0lURU1fU1VDQ0VTUywgYXN5bmMgKHtwZXJzb25hID0ge319OiB7cGVyc29uYT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+fSkgPT4ge1xuICAgICAgc3luY1BlcnNvbmFUb1Nlc3Npb24oZmx1eCwgcGVyc29uYSk7XG5cbiAgICAgIGlmKHBlcnNvbmE/LnBlcnNvbmFJZCAmJiAhQXJyYXkuaXNBcnJheShwZXJzb25hPy50YWdzKSkge1xuICAgICAgICBhd2FpdCBzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24oZmx1eCwgU3RyaW5nKHBlcnNvbmEucGVyc29uYUlkKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBmbHV4Lm9uKFRBR19DT05TVEFOVFMuQUREX1BFUlNPTkFfU1VDQ0VTUywgKHt0YWd9OiB7dGFnPzoge25hbWU/OiBzdHJpbmc7IHRhZ0lkPzogc3RyaW5nfX0pID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTZXNzaW9uID0gKGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KSB8fCB7fSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gJiB7XG4gICAgICAgIHRhZ3M/OiBBcnJheTx7bmFtZT86IHN0cmluZzsgdGFnSWQ/OiBzdHJpbmd9PjtcbiAgICAgIH07XG4gICAgICBjb25zdCBjdXJyZW50VGFncyA9IEFycmF5LmlzQXJyYXkoY3VycmVudFNlc3Npb24udGFncykgPyBjdXJyZW50U2Vzc2lvbi50YWdzIDogW107XG4gICAgICBjb25zdCBuZXh0VGFnSWQgPSBTdHJpbmcodGFnPy50YWdJZCB8fCAnJykudHJpbSgpO1xuXG4gICAgICBpZighbmV4dFRhZ0lkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbWVyZ2VkVGFncyA9IFsuLi5jdXJyZW50VGFncy5maWx0ZXIoKGl0ZW0pID0+IFN0cmluZyhpdGVtPy50YWdJZCB8fCAnJykudHJpbSgpICE9PSBuZXh0VGFnSWQpLCB0YWcgYXMge25hbWU/OiBzdHJpbmc7IHRhZ0lkPzogc3RyaW5nfV1cbiAgICAgICAgLnNvcnQoKGxlZnQsIHJpZ2h0KSA9PiBTdHJpbmcobGVmdD8ubmFtZSB8fCAnJykubG9jYWxlQ29tcGFyZShTdHJpbmcocmlnaHQ/Lm5hbWUgfHwgJycpKSk7XG4gICAgICBjb25zdCBuZXh0U2Vzc2lvbiA9IHsuLi5jdXJyZW50U2Vzc2lvbiwgdGFnczogbWVyZ2VkVGFnc307XG5cbiAgICAgIHZvaWQgZmx1eC5zZXRTdGF0ZSgndXNlci5zZXNzaW9uJywgbmV4dFNlc3Npb24pO1xuICAgICAgZmx1eC5kaXNwYXRjaCh7dHlwZTogVVNFUl9DT05TVEFOVFMuVVBEQVRFX1NFU1NJT05fU1VDQ0VTUywgdXNlcjoge3RhZ3M6IG1lcmdlZFRhZ3N9fSk7XG4gICAgfSk7XG5cbiAgICBmbHV4Lm9uKFRBR19DT05TVEFOVFMuUkVNT1ZFX1BFUlNPTkFfU1VDQ0VTUywgKHt0YWd9OiB7dGFnPzoge3RhZ0lkPzogc3RyaW5nfX0pID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTZXNzaW9uID0gKGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KSB8fCB7fSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gJiB7XG4gICAgICAgIHRhZ3M/OiBBcnJheTx7bmFtZT86IHN0cmluZzsgdGFnSWQ/OiBzdHJpbmd9PjtcbiAgICAgIH07XG4gICAgICBjb25zdCBjdXJyZW50VGFncyA9IEFycmF5LmlzQXJyYXkoY3VycmVudFNlc3Npb24udGFncykgPyBjdXJyZW50U2Vzc2lvbi50YWdzIDogW107XG4gICAgICBjb25zdCBuZXh0VGFnSWQgPSBTdHJpbmcodGFnPy50YWdJZCB8fCAnJykudHJpbSgpO1xuXG4gICAgICBpZighbmV4dFRhZ0lkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmV4dFRhZ3MgPSBjdXJyZW50VGFncy5maWx0ZXIoKGl0ZW0pID0+IFN0cmluZyhpdGVtPy50YWdJZCB8fCAnJykudHJpbSgpICE9PSBuZXh0VGFnSWQpO1xuICAgICAgY29uc3QgbmV4dFNlc3Npb24gPSB7Li4uY3VycmVudFNlc3Npb24sIHRhZ3M6IG5leHRUYWdzfTtcblxuICAgICAgdm9pZCBmbHV4LnNldFN0YXRlKCd1c2VyLnNlc3Npb24nLCBuZXh0U2Vzc2lvbik7XG4gICAgICBmbHV4LmRpc3BhdGNoKHt0eXBlOiBVU0VSX0NPTlNUQU5UUy5VUERBVEVfU0VTU0lPTl9TVUNDRVNTLCB1c2VyOiB7dGFnczogbmV4dFRhZ3N9fSk7XG4gICAgfSk7XG4gICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5tZXRyb3BvbGlzSW5pdGlhbGl6ZWQnLCB0cnVlKSk7XG4gIH1cblxuICBjb25zdCB0b2tlbiA9IFN0cmluZyhmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24udG9rZW4nKSB8fCAnJyk7XG5cbiAgaWYodG9rZW4pIHtcbiAgICBjb25zdCBzZXNzaW9uID0gKGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KSB8fCB7fSkgYXMge2V4cGlyZXM/OiBudW1iZXI7IGlzc3VlZD86IG51bWJlcjsgdG9rZW4/OiBzdHJpbmd9O1xuICAgIGNvbnN0IGNvbmZpZyA9IGdldENvbmZpZ0Zyb21GbHV4KGZsdXgpO1xuICAgIGNvbnN0IHRva2VuRXhwaXJlc0F0ID0gcGFyc2VKd3RFeHBpcnlNcyh0b2tlbik7XG4gICAgY29uc3Qgc2Vzc2lvbkxpZmV0aW1lTWludXRlcyA9IE1hdGgucm91bmQoKE51bWJlcihzZXNzaW9uLmV4cGlyZXMgfHwgMCkgLSBOdW1iZXIoc2Vzc2lvbi5pc3N1ZWQgfHwgMCkpIC8gKDEwMDAgKiA2MCkpO1xuICAgIGNvbnN0IHJlZnJlc2hXaW5kb3dNaW51dGVzID0gZ2V0UmVmcmVzaFdpbmRvd01pbnV0ZXMoXG4gICAgICBzZXNzaW9uTGlmZXRpbWVNaW51dGVzIHx8IDE1LFxuICAgICAgY29uZmlnLmFwcD8uc2Vzc2lvbiB8fCB7fVxuICAgICk7XG4gICAgY29uc3QgcmVmcmVzaEV4cGlyZXNNaW51dGVzID0gTWF0aC5tYXgoMSwgTnVtYmVyKGNvbmZpZy5hcHA/LnNlc3Npb24/Lm1heE1pbnV0ZXMgfHwgc2Vzc2lvbkxpZmV0aW1lTWludXRlcyB8fCAxNSkpO1xuICAgIGNvbnN0IGV4cGlyZXNBdCA9IE51bWJlcihzZXNzaW9uLmV4cGlyZXMgfHwgMCk7XG5cbiAgICBpZih0b2tlbkV4cGlyZXNBdCA+IDAgJiYgRGF0ZS5ub3coKSA+PSB0b2tlbkV4cGlyZXNBdCkge1xuICAgICAgYXdhaXQgcmVmcmVzaFNlc3Npb24oZmx1eCwgdG9rZW4sIHJlZnJlc2hFeHBpcmVzTWludXRlcyk7XG4gICAgfSBlbHNlIGlmKCFleHBpcmVzQXQpIHtcbiAgICAgIGF3YWl0IHJlZnJlc2hTZXNzaW9uKGZsdXgsIHRva2VuLCByZWZyZXNoRXhwaXJlc01pbnV0ZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtaW51dGVzVW50aWxFeHBpcnkgPSBNYXRoLnJvdW5kKERhdGVUaW1lLmZyb21NaWxsaXMoZXhwaXJlc0F0KS5kaWZmKERhdGVUaW1lLmxvY2FsKCksICdtaW51dGVzJykudG9PYmplY3QoKS5taW51dGVzIHx8IDApO1xuXG4gICAgICBpZihtaW51dGVzVW50aWxFeHBpcnkgPD0gMCB8fCBtaW51dGVzVW50aWxFeHBpcnkgPD0gcmVmcmVzaFdpbmRvd01pbnV0ZXMpIHtcbiAgICAgICAgYXdhaXQgcmVmcmVzaFNlc3Npb24oZmx1eCwgdG9rZW4gYXMgc3RyaW5nLCByZWZyZXNoRXhwaXJlc01pbnV0ZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0ICogZnJvbSAnLi9zdG9yZXMvaW5kZXguanMnO1xuXG5leHBvcnQge1xuICBhcHBNdXRhdGlvbixcbiAgYXBwUXVlcnksXG4gIHB1YmxpY011dGF0aW9uLFxuICBwdWJsaWNRdWVyeSxcbiAgcmVmcmVzaFNlc3Npb24sXG4gIHVwbG9hZEltYWdlLFxuICB0eXBlIEFwaVJlc3VsdHNUeXBlLFxuICB0eXBlIFJlYWt0b3JEYkNvbGxlY3Rpb25cbn0gZnJvbSAnLi91dGlscy9hcGkuanMnO1xuXG5leHBvcnQge3Jlc29sdmVFbnZpcm9ubWVudENvbmZpZ30gZnJvbSAnLi9jb25maWcvaW5kZXguanMnO1xuZXhwb3J0IHtnZXRDb25maWdGcm9tRmx1eH0gZnJvbSAnLi91dGlscy9jb25maWdVdGlscy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cm9wb2xpc1Byb3BzIHtcbiAgcmVhZG9ubHkgYWRhcHRlcnM/OiBNZXRyb3BvbGlzQWRhcHRlcnM7XG4gIHJlYWRvbmx5IGNoaWxkcmVuPzogUmVhY3QuUmVhY3RFbGVtZW50IHwgUmVhY3QuUmVhY3RFbGVtZW50W107XG4gIHJlYWRvbmx5IGNvbmZpZz86IE1ldHJvcG9saXNDb25maWd1cmF0aW9uO1xuICByZWFkb25seSB0cmFuc2xhdGlvbnM/OiBTaW1wbGVUcmFuc2xhdGlvbnMgfCBDb21wbGV4VHJhbnNsYXRpb25zO1xufVxuXG5leHBvcnQgdHlwZSBTaW1wbGVUcmFuc2xhdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBsZXhUcmFuc2xhdGlvbiB7XG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxvY2FsZTogc3RyaW5nO1xuICByZWFkb25seSBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENvbXBsZXhUcmFuc2xhdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBDb21wbGV4VHJhbnNsYXRpb24+O1xuXG5leHBvcnQgY29uc3QgTWV0cm9wb2xpcyA9ICh7YWRhcHRlcnMsIGNoaWxkcmVuLCBjb25maWcgPSB7fSwgdHJhbnNsYXRpb25zID0ge319OiBNZXRyb3BvbGlzUHJvcHMpID0+IHtcbiAgY29uc3QgZmx1eCA9IHVzZUZsdXgoKTtcbiAgY29uc3QgcmVzb2x2ZWRDb25maWcgPSB1c2VNZW1vPE1ldHJvcG9saXNFbnZpcm9ubWVudENvbmZpZ3VyYXRpb24+KCgpID0+IHJlc29sdmVFbnZpcm9ubWVudENvbmZpZyhjb25maWcpLCBbY29uZmlnXSk7XG4gIGNvbnN0IG1lcmdlZEFkYXB0ZXJzID0gdXNlTWVtbygoKSA9PiAoey4uLnJlc29sdmVkQ29uZmlnLmFkYXB0ZXJzLCAuLi5hZGFwdGVyc30pLCBbcmVzb2x2ZWRDb25maWcuYWRhcHRlcnMsIGFkYXB0ZXJzXSk7XG4gIGNvbnN0IHNlc3Npb25QZXJzb25hSWQgPSBTdHJpbmcodXNlRmx1eFN0YXRlKCd1c2VyLnNlc3Npb24ucGVyc29uYUlkJywgJycpIHx8ICcnKTtcbiAgY29uc3Qgc2Vzc2lvblRva2VuID0gU3RyaW5nKHVzZUZsdXhTdGF0ZSgndXNlci5zZXNzaW9uLnRva2VuJywgJycpIHx8ICcnKTtcbiAgY29uc3Qgc2Vzc2lvbkh5ZHJhdGVkID0gQm9vbGVhbih1c2VGbHV4U3RhdGUoJ2FwcC5zZXNzaW9uSHlkcmF0ZWQnLCBmYWxzZSkpO1xuICBjb25zdCBzZXNzaW9uID0gdXNlRmx1eFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNvbnN0IG5vdGlmaWNhdGlvbkxpc3QgPSB1c2VGbHV4U3RhdGUoJ25vdGlmaWNhdGlvbi5saXN0JywgW10pIGFzIEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbiAgY29uc3QgY29udmVyc2F0aW9uTWFwID0gdXNlRmx1eFN0YXRlKCdtZXNzYWdlLmNvbnZlcnNhdGlvbnMnLCB7fSkgYXMgUmVjb3JkPHN0cmluZywgQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+PjtcbiAgY29uc3QgbWVzc2FnZXMgPSB1c2VNZW1vKCgpID0+IE9iamVjdC52YWx1ZXMoY29udmVyc2F0aW9uTWFwKS5mbGF0KCksIFtjb252ZXJzYXRpb25NYXBdKTtcblxuICBjb25zdCB3ZWJzb2NrZXRzUmVmID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZVdlYnNvY2tldEFjdGlvbnM+IHwgbnVsbD4obnVsbCk7XG4gIGlmKCF3ZWJzb2NrZXRzUmVmLmN1cnJlbnQpIHtcbiAgICB3ZWJzb2NrZXRzUmVmLmN1cnJlbnQgPSBjcmVhdGVBY3Rpb24oJ3dlYnNvY2tldCcsIGZsdXgpIGFzIFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZVdlYnNvY2tldEFjdGlvbnM+O1xuICB9XG4gIGNvbnN0IHdlYnNvY2tldHMgPSB3ZWJzb2NrZXRzUmVmLmN1cnJlbnQ7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0STE4bih0cmFuc2xhdGlvbnMpO1xuICB9LCBbdHJhbnNsYXRpb25zXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgaXNBY3RpdmUgPSB0cnVlO1xuXG4gICAgdm9pZCAoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5jb25maWcnLCByZXNvbHZlZENvbmZpZykpO1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5zZXNzaW9uSHlkcmF0ZWQnLCBmYWxzZSkpO1xuICAgICAgYXdhaXQgaHlkcmF0ZVNlc3Npb25Gcm9tU3RvcmFnZShmbHV4KTtcblxuICAgICAgaWYoIWlzQWN0aXZlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgb25Jbml0KGZsdXgpO1xuXG4gICAgICBpZighaXNBY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUoZmx1eC5zZXRTdGF0ZSgnYXBwLnNlc3Npb25IeWRyYXRlZCcsIHRydWUpKTtcbiAgICB9KSgpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlzQWN0aXZlID0gZmFsc2U7XG4gICAgfTtcbiAgfSwgW2ZsdXgsIHJlc29sdmVkQ29uZmlnXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZighc2Vzc2lvbkh5ZHJhdGVkKSB7XG4gICAgICB3ZWJzb2NrZXRzLndzQ2xvc2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZihzZXNzaW9uVG9rZW4pIHtcbiAgICAgIHdlYnNvY2tldHMud3NJbml0KHNlc3Npb25Ub2tlbiwgc2Vzc2lvblBlcnNvbmFJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdlYnNvY2tldHMud3NDbG9zZSgpO1xuICAgIH1cbiAgfSwgW3Nlc3Npb25IeWRyYXRlZCwgc2Vzc2lvblBlcnNvbmFJZCwgc2Vzc2lvblRva2VuLCB3ZWJzb2NrZXRzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2Vic29ja2V0cy53c0Nsb3NlKCk7XG4gICAgfTtcbiAgfSwgW3dlYnNvY2tldHNdKTtcblxuICBjb25zdCBpc0F1dGggPSB1c2VNZW1vKCgpID0+IHJlc29sdmVkQ29uZmlnLmlzQXV0aCB8fCAoKCkgPT4ge1xuICAgIGNvbnN0IHNlc3Npb25TdGF0ZSA9IGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KTtcbiAgICByZXR1cm4gISFzZXNzaW9uU3RhdGUudXNlckFjdGl2ZTtcbiAgfSksIFtyZXNvbHZlZENvbmZpZy5pc0F1dGgsIGZsdXhdKTtcblxuICByZXR1cm4gKFxuICAgIDxNZXRyb3BvbGlzQ29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgYWRhcHRlcnM6IG1lcmdlZEFkYXB0ZXJzLFxuICAgICAgICBjb25maWc6IHJlc29sdmVkQ29uZmlnLFxuICAgICAgICBmbHV4LFxuICAgICAgICBpc0F1dGgsXG4gICAgICAgIG1lc3NhZ2VzLFxuICAgICAgICBub3RpZmljYXRpb25zOiBub3RpZmljYXRpb25MaXN0LFxuICAgICAgICBzZXNzaW9uLFxuICAgICAgICB1cGRhdGVNZXNzYWdlOiAoKSA9PiB7IH0sXG4gICAgICAgIHVwZGF0ZU5vdGlmaWNhdGlvbjogd2Vic29ja2V0cy5zZW5kTm90aWZpY2F0aW9uXG4gICAgICB9fT5cbiAgICAgIDxJMThuZXh0UHJvdmlkZXIgaTE4bj17aTE4bn0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvSTE4bmV4dFByb3ZpZGVyPlxuICAgIDwvTWV0cm9wb2xpc0NvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBNZXRyb3BvbGlzO1xuXG5leHBvcnQge3VzZVRyYW5zbGF0aW9ufSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vYWRhcHRlcnMvaW5kZXguanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMvTWV0cm9wb2xpc0NvbnN0YW50cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWwvbWVzc2FnZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWwvbm90aWZpY2F0aW9uLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVzL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZUFjdGlvbixcbiAgY3JlYXRlQWN0aW9ucyxcbiAgY3JlYXRlQWxsQWN0aW9uc1xufSBmcm9tICcuL3V0aWxzL2FjdGlvbkZhY3RvcnkuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9hcHAuanMnO1xuZXhwb3J0IHtjcmVhdGVCYXNlQWN0aW9uc30gZnJvbSAnLi91dGlscy9iYXNlQWN0aW9uRmFjdG9yeS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2RhdGVVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2ZpbGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9sb2NhdGlvbi5qcyc7XG5leHBvcnQge1xuICB1c2VDb250ZW50QWN0aW9ucyxcbiAgdXNlRXZlbnRBY3Rpb25zLFxuICB1c2VHcm91cEFjdGlvbnMsXG4gIHVzZUltYWdlQWN0aW9ucyxcbiAgdXNlTG9jYXRpb25BY3Rpb25zLFxuICB1c2VNZXNzYWdlQWN0aW9ucywgdXNlTWV0cm9wb2xpcyxcbiAgdXNlTWV0cm9wb2xpc0NvbmZpZyxcbiAgdXNlTWV0cm9wb2xpc0ZsdXgsIHVzZVBvc3RBY3Rpb25zLFxuICB1c2VQZXJzb25hQWN0aW9ucyxcbiAgdXNlUmVhY3Rpb25BY3Rpb25zLFxuICB1c2VUYWdBY3Rpb25zLFxuICB1c2VUcmFuc2xhdGlvbkFjdGlvbnMsXG4gIHVzZVVzZXJBY3Rpb25zLFxuICB1c2VXZWJzb2NrZXRBY3Rpb25zXG59IGZyb20gJy4vdXRpbHMvdXNlTWV0cm9wb2xpcy5qcyc7XG5leHBvcnQge3VzZUNvbnZlcnNhdGlvblR5cGluZ30gZnJvbSAnLi91dGlscy91c2VDb252ZXJzYXRpb25UeXBpbmcuanMnO1xuZXhwb3J0IHR5cGUge1xuICBDb252ZXJzYXRpb25UeXBpbmdPcHRpb25zLFxuICBVc2VDb252ZXJzYXRpb25UeXBpbmdPcHRpb25zXG59IGZyb20gJy4vdXRpbHMvdXNlQ29udmVyc2F0aW9uVHlwaW5nLmpzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZVZhbGlkYXRvckZhY3RvcnksXG4gIGNyZWF0ZVZhbGlkYXRvck1hbmFnZXJcbn0gZnJvbSAnLi91dGlscy92YWxpZGF0b3JGYWN0b3J5LmpzJztcblxuZXhwb3J0IHR5cGUge1xuICBBY3Rpb25PcHRpb25zLFxuICBBY3Rpb25SZXR1cm5UeXBlLFxuICBBY3Rpb25UeXBlLFxuICBBY3Rpb25UeXBlc1xufSBmcm9tICcuL3V0aWxzL2FjdGlvbkZhY3RvcnkuanMnO1xuZXhwb3J0IHR5cGUge0Jhc2VBY3Rpb25PcHRpb25zfSBmcm9tICcuL3V0aWxzL2Jhc2VBY3Rpb25GYWN0b3J5LmpzJztcbmV4cG9ydCB0eXBlIHtCYXNlQWRhcHRlck9wdGlvbnN9IGZyb20gJy4vdXRpbHMvdmFsaWRhdG9yRmFjdG9yeS5qcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9hcHBBY3Rpb25zL2FwcEFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL2Nvbm5lY3Rpb25BY3Rpb25zL2Nvbm5lY3Rpb25BY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9jb252ZXJzYXRpb25BY3Rpb25zL2NvbnZlcnNhdGlvbkFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL3ZpZGVvQWN0aW9ucy92aWRlb0FjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMvQ29sbGVjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9pbmRleC5qcyc7XG4iXSwibmFtZXMiOlsidXNlRmx1eCIsInVzZUZsdXhTdGF0ZSIsImkxOG4iLCJEYXRlVGltZSIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJJMThuZXh0UHJvdmlkZXIiLCJzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24iLCJzeW5jUGVyc29uYVRvU2Vzc2lvbiIsInJlc29sdmVFbnZpcm9ubWVudENvbmZpZyIsImFwcCIsImV2ZW50cyIsImltYWdlcyIsImxvY2F0aW9ucyIsIm1lc3NhZ2VzIiwibm90aWZpY2F0aW9ucyIsIk5PVElGSUNBVElPTl9DT05TVEFOVFMiLCJwZXJtaXNzaW9ucyIsIlBFUlNPTkFfQ09OU1RBTlRTIiwicG9zdHMiLCJzdWJzY3JpcHRpb25zIiwiVEFHX0NPTlNUQU5UUyIsInRhZ3MiLCJVU0VSX0NPTlNUQU5UUyIsInVzZXJzIiwidmlkZW8iLCJ3ZWJzb2NrZXQiLCJyZWZyZXNoU2Vzc2lvbiIsImdldENvbmZpZ0Zyb21GbHV4IiwiaW5pdEkxOG4iLCJNZXRyb3BvbGlzQ29udGV4dCIsImdldFJlZnJlc2hXaW5kb3dNaW51dGVzIiwiaHlkcmF0ZVNlc3Npb25Gcm9tU3RvcmFnZSIsInBhcnNlSnd0RXhwaXJ5TXMiLCJjcmVhdGVBY3Rpb24iLCJNZXRyb3BvbGlzUHJvdmlkZXIiLCJvbkluaXQiLCJmbHV4IiwiZ2V0U3RhdGUiLCJhZGRTdG9yZXMiLCJvbiIsIlNJR05fT1VUX1NVQ0NFU1MiLCJkaXNwYXRjaCIsInR5cGUiLCJDTEVBUl9JVEVNUyIsIkFERF9JVEVNX1NVQ0NFU1MiLCJwZXJzb25hIiwicGVyc29uYUlkIiwiQXJyYXkiLCJpc0FycmF5IiwiU3RyaW5nIiwiVVBEQVRFX0lURU1fU1VDQ0VTUyIsIkFERF9QRVJTT05BX1NVQ0NFU1MiLCJ0YWciLCJjdXJyZW50U2Vzc2lvbiIsImN1cnJlbnRUYWdzIiwibmV4dFRhZ0lkIiwidGFnSWQiLCJ0cmltIiwibWVyZ2VkVGFncyIsImZpbHRlciIsIml0ZW0iLCJzb3J0IiwibGVmdCIsInJpZ2h0IiwibmFtZSIsImxvY2FsZUNvbXBhcmUiLCJuZXh0U2Vzc2lvbiIsInNldFN0YXRlIiwiVVBEQVRFX1NFU1NJT05fU1VDQ0VTUyIsInVzZXIiLCJSRU1PVkVfUEVSU09OQV9TVUNDRVNTIiwibmV4dFRhZ3MiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRva2VuIiwic2Vzc2lvbiIsImNvbmZpZyIsInRva2VuRXhwaXJlc0F0Iiwic2Vzc2lvbkxpZmV0aW1lTWludXRlcyIsIk1hdGgiLCJyb3VuZCIsIk51bWJlciIsImV4cGlyZXMiLCJpc3N1ZWQiLCJyZWZyZXNoV2luZG93TWludXRlcyIsInJlZnJlc2hFeHBpcmVzTWludXRlcyIsIm1heCIsIm1heE1pbnV0ZXMiLCJleHBpcmVzQXQiLCJEYXRlIiwibm93IiwibWludXRlc1VudGlsRXhwaXJ5IiwiZnJvbU1pbGxpcyIsImRpZmYiLCJsb2NhbCIsInRvT2JqZWN0IiwibWludXRlcyIsImFwcE11dGF0aW9uIiwiYXBwUXVlcnkiLCJwdWJsaWNNdXRhdGlvbiIsInB1YmxpY1F1ZXJ5IiwidXBsb2FkSW1hZ2UiLCJNZXRyb3BvbGlzIiwiYWRhcHRlcnMiLCJjaGlsZHJlbiIsInRyYW5zbGF0aW9ucyIsInJlc29sdmVkQ29uZmlnIiwibWVyZ2VkQWRhcHRlcnMiLCJzZXNzaW9uUGVyc29uYUlkIiwic2Vzc2lvblRva2VuIiwic2Vzc2lvbkh5ZHJhdGVkIiwiQm9vbGVhbiIsIm5vdGlmaWNhdGlvbkxpc3QiLCJjb252ZXJzYXRpb25NYXAiLCJPYmplY3QiLCJ2YWx1ZXMiLCJmbGF0Iiwid2Vic29ja2V0c1JlZiIsImN1cnJlbnQiLCJ3ZWJzb2NrZXRzIiwiaXNBY3RpdmUiLCJ3c0Nsb3NlIiwid3NJbml0IiwiaXNBdXRoIiwic2Vzc2lvblN0YXRlIiwidXNlckFjdGl2ZSIsIlByb3ZpZGVyIiwidmFsdWUiLCJ1cGRhdGVNZXNzYWdlIiwidXBkYXRlTm90aWZpY2F0aW9uIiwic2VuZE5vdGlmaWNhdGlvbiIsInVzZVRyYW5zbGF0aW9uIiwiY3JlYXRlQWN0aW9ucyIsImNyZWF0ZUFsbEFjdGlvbnMiLCJjcmVhdGVCYXNlQWN0aW9ucyIsInVzZUNvbnRlbnRBY3Rpb25zIiwidXNlRXZlbnRBY3Rpb25zIiwidXNlR3JvdXBBY3Rpb25zIiwidXNlSW1hZ2VBY3Rpb25zIiwidXNlTG9jYXRpb25BY3Rpb25zIiwidXNlTWVzc2FnZUFjdGlvbnMiLCJ1c2VNZXRyb3BvbGlzIiwidXNlTWV0cm9wb2xpc0NvbmZpZyIsInVzZU1ldHJvcG9saXNGbHV4IiwidXNlUG9zdEFjdGlvbnMiLCJ1c2VQZXJzb25hQWN0aW9ucyIsInVzZVJlYWN0aW9uQWN0aW9ucyIsInVzZVRhZ0FjdGlvbnMiLCJ1c2VUcmFuc2xhdGlvbkFjdGlvbnMiLCJ1c2VVc2VyQWN0aW9ucyIsInVzZVdlYnNvY2tldEFjdGlvbnMiLCJ1c2VDb252ZXJzYXRpb25UeXBpbmciLCJjcmVhdGVWYWxpZGF0b3JGYWN0b3J5IiwiY3JlYXRlVmFsaWRhdG9yTWFuYWdlciJdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLE9BQU8sRUFBRUMsWUFBWSxRQUFPLDhCQUE4QjtBQUNsRSxPQUFPQyxVQUFVLFVBQVU7QUFDM0IsU0FBUUMsUUFBUSxRQUFPLFFBQVE7QUFDL0IsU0FBUUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sUUFBTyxRQUFRO0FBQ2pELFNBQVFDLGVBQWUsUUFBTyxnQkFBZ0I7QUFHOUMsU0FBUUMsd0JBQXdCLEVBQUVDLG9CQUFvQixRQUFPLDZDQUE2QztBQUMxRyxTQUFRQyx3QkFBd0IsUUFBTyxvQkFBb0I7QUFDM0QsU0FDRUMsR0FBRyxFQUNIQyxNQUFNLEVB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
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */
5
+ export declare const APP_CONSTANTS: {
6
+ readonly API_NETWORK_ERROR: "APP_API_NETWORK_ERROR";
7
+ readonly API_NETWORK_SUCCESS: "APP_API_NETWORK_SUCCESS";
8
+ };
9
+ interface AppState {
10
+ network?: {
11
+ error?: Error;
12
+ status?: boolean;
13
+ };
14
+ }
15
+ export declare const defaultValues: AppState;
16
+ export declare const appStore: (type: string, data: Partial<AppState>, state?: AppState) => AppState;
17
+ export declare const app: {
18
+ action: (type: string, data: Partial<AppState>, state?: AppState) => AppState;
19
+ initialState: AppState;
20
+ name: string;
21
+ };
22
+ export {};
23
+ //# sourceMappingURL=appStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appStore.d.ts","sourceRoot":"","sources":["../../src/stores/appStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,UAAU,QAAQ;IAChB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED,eAAO,MAAM,aAAa,EAAE,QAAa,CAAC;AAE1C,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE,gBAAqB,KAAG,QAMvF,CAAC;AAEF,eAAO,MAAM,GAAG;mBARe,MAAM,QAAQ,OAAO,CAAC,QAAQ,CAAC,uBAA0B,QAAQ;;;CAY/F,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ export const APP_CONSTANTS = {
5
+ API_NETWORK_ERROR: 'APP_API_NETWORK_ERROR',
6
+ API_NETWORK_SUCCESS: 'APP_API_NETWORK_SUCCESS'
7
+ };
8
+ export const defaultValues = {};
9
+ export const appStore = (type, data, state = defaultValues)=>{
10
+ switch(type){
11
+ default:
12
+ {
13
+ return state;
14
+ }
15
+ }
16
+ };
17
+ export const app = {
18
+ action: appStore,
19
+ initialState: defaultValues,
20
+ name: 'app'
21
+ };
22
+
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL2FwcFN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5cbmV4cG9ydCBjb25zdCBBUFBfQ09OU1RBTlRTID0ge1xuICBBUElfTkVUV09SS19FUlJPUjogJ0FQUF9BUElfTkVUV09SS19FUlJPUicsXG4gIEFQSV9ORVRXT1JLX1NVQ0NFU1M6ICdBUFBfQVBJX05FVFdPUktfU1VDQ0VTUydcbn0gYXMgY29uc3Q7XG5cbmludGVyZmFjZSBBcHBTdGF0ZSB7XG4gIG5ldHdvcms/OiB7XG4gICAgZXJyb3I/OiBFcnJvcjtcbiAgICBzdGF0dXM/OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdFZhbHVlczogQXBwU3RhdGUgPSB7fTtcblxuZXhwb3J0IGNvbnN0IGFwcFN0b3JlID0gKHR5cGU6IHN0cmluZywgZGF0YTogUGFydGlhbDxBcHBTdGF0ZT4sIHN0YXRlID0gZGVmYXVsdFZhbHVlcyk6IEFwcFN0YXRlID0+IHtcbiAgc3dpdGNoKHR5cGUpIHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYXBwID0ge1xuICBhY3Rpb246IGFwcFN0b3JlLFxuICBpbml0aWFsU3RhdGU6IGRlZmF1bHRWYWx1ZXMsXG4gIG5hbWU6ICdhcHAnXG59O1xuIl0sIm5hbWVzIjpbIkFQUF9DT05TVEFOVFMiLCJBUElfTkVUV09SS19FUlJPUiIsIkFQSV9ORVRXT1JLX1NVQ0NFU1MiLCJkZWZhdWx0VmFsdWVzIiwiYXBwU3RvcmUiLCJ0eXBlIiwiZGF0YSIsInN0YXRlIiwiYXBwIiwiYWN0aW9uIiwiaW5pdGlhbFN0YXRlIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBRUQsT0FBTyxNQUFNQSxnQkFBZ0I7SUFDM0JDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0FBQ3ZCLEVBQVc7QUFTWCxPQUFPLE1BQU1DLGdCQUEwQixDQUFDLEVBQUU7QUFFMUMsT0FBTyxNQUFNQyxXQUFXLENBQUNDLE1BQWNDLE1BQXlCQyxRQUFRSixhQUFhO0lBQ25GLE9BQU9FO1FBQ0w7WUFBUztnQkFDUCxPQUFPRTtZQUNUO0lBQ0Y7QUFDRixFQUFFO0FBRUYsT0FBTyxNQUFNQyxNQUFNO0lBQ2pCQyxRQUFRTDtJQUNSTSxjQUFjUDtJQUNkUSxNQUFNO0FBQ1IsRUFBRSJ9
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */
5
+ import type { ContentType } from '../adapters/contentAdapter/contentAdapter.js';
6
+ export declare const CONTENT_CONSTANTS: {
7
+ readonly ADD_ITEM_ERROR: "CONTENT_ADD_ITEM_ERROR";
8
+ readonly ADD_ITEM_SUCCESS: "CONTENT_ADD_ITEM_SUCCESS";
9
+ readonly GET_ITEM_ERROR: "CONTENT_GET_ITEM_ERROR";
10
+ readonly GET_ITEM_SUCCESS: "CONTENT_GET_ITEM_SUCCESS";
11
+ readonly GET_LIST_ERROR: "CONTENT_GET_LIST_ERROR";
12
+ readonly GET_LIST_SUCCESS: "CONTENT_GET_LIST_SUCCESS";
13
+ readonly REMOVE_ITEM_ERROR: "CONTENT_REMOVE_ITEM_ERROR";
14
+ readonly REMOVE_ITEM_SUCCESS: "CONTENT_REMOVE_ITEM_SUCCESS";
15
+ readonly UPDATE_ITEM_ERROR: "CONTENT_UPDATE_ITEM_ERROR";
16
+ readonly UPDATE_ITEM_SUCCESS: "CONTENT_UPDATE_ITEM_SUCCESS";
17
+ };
18
+ export type ContentConstantsType = typeof CONTENT_CONSTANTS[keyof typeof CONTENT_CONSTANTS];
19
+ interface ContentState {
20
+ error?: Error;
21
+ content: Record<string, Partial<ContentType>>;
22
+ lists: Record<string, unknown>;
23
+ }
24
+ interface ContentData {
25
+ readonly content?: ContentType;
26
+ readonly error?: Error;
27
+ readonly list?: ContentType[];
28
+ }
29
+ export declare const contentStore: (type: string, data: ContentData, state?: ContentState) => ContentState;
30
+ export declare const contents: {
31
+ action: (type: string, data: ContentData, state?: ContentState) => ContentState;
32
+ initialState: ContentState;
33
+ name: string;
34
+ };
35
+ export {};
36
+ //# sourceMappingURL=contentStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentStore.d.ts","sourceRoot":"","sources":["../../src/stores/contentStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAEhF,eAAO,MAAM,iBAAiB;;;;;;;;;;;CAWpB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,OAAO,iBAAiB,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE5F,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAOD,UAAU,WAAW;IACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,MAAM,WAAW,EAAE,oBAAqB,KAAG,YAkErF,CAAC;AAEF,eAAO,MAAM,QAAQ;mBApEc,MAAM,QAAQ,WAAW,2BAA0B,YAAY;;;CAwEjG,CAAC"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ export const CONTENT_CONSTANTS = {
5
+ ADD_ITEM_ERROR: 'CONTENT_ADD_ITEM_ERROR',
6
+ ADD_ITEM_SUCCESS: 'CONTENT_ADD_ITEM_SUCCESS',
7
+ GET_ITEM_ERROR: 'CONTENT_GET_ITEM_ERROR',
8
+ GET_ITEM_SUCCESS: 'CONTENT_GET_ITEM_SUCCESS',
9
+ GET_LIST_ERROR: 'CONTENT_GET_LIST_ERROR',
10
+ GET_LIST_SUCCESS: 'CONTENT_GET_LIST_SUCCESS',
11
+ REMOVE_ITEM_ERROR: 'CONTENT_REMOVE_ITEM_ERROR',
12
+ REMOVE_ITEM_SUCCESS: 'CONTENT_REMOVE_ITEM_SUCCESS',
13
+ UPDATE_ITEM_ERROR: 'CONTENT_UPDATE_ITEM_ERROR',
14
+ UPDATE_ITEM_SUCCESS: 'CONTENT_UPDATE_ITEM_SUCCESS'
15
+ };
16
+ const defaultValues = {
17
+ content: {},
18
+ lists: {}
19
+ };
20
+ export const contentStore = (type, data, state = defaultValues)=>{
21
+ switch(type){
22
+ case CONTENT_CONSTANTS.ADD_ITEM_SUCCESS:
23
+ {
24
+ const { content } = data;
25
+ if (content && content.contentId) {
26
+ const contents = {
27
+ ...state.content
28
+ };
29
+ contents[content.contentId] = {
30
+ ...content,
31
+ timestamp: Date.now()
32
+ };
33
+ return {
34
+ ...state,
35
+ content: contents
36
+ };
37
+ }
38
+ return state;
39
+ }
40
+ case CONTENT_CONSTANTS.GET_ITEM_SUCCESS:
41
+ {
42
+ const { content } = data;
43
+ if (content && content.contentId) {
44
+ const contents = {
45
+ ...state.content
46
+ };
47
+ contents[content.contentId] = {
48
+ ...content,
49
+ timestamp: Date.now()
50
+ };
51
+ return {
52
+ ...state,
53
+ content: contents
54
+ };
55
+ }
56
+ return state;
57
+ }
58
+ case CONTENT_CONSTANTS.GET_LIST_SUCCESS:
59
+ {
60
+ const { list } = data;
61
+ if (list) {
62
+ const contents = {
63
+ ...state.content
64
+ };
65
+ list.forEach((content)=>{
66
+ if (content.contentId) {
67
+ const cachedContent = contents[content.contentId] || {};
68
+ contents[content.contentId] = {
69
+ ...cachedContent,
70
+ ...content
71
+ };
72
+ }
73
+ });
74
+ return {
75
+ ...state,
76
+ content: contents
77
+ };
78
+ }
79
+ return state;
80
+ }
81
+ case CONTENT_CONSTANTS.REMOVE_ITEM_SUCCESS:
82
+ {
83
+ const { content } = data;
84
+ if (content && content.contentId) {
85
+ const contents = {
86
+ ...state.content
87
+ };
88
+ delete contents[content.contentId];
89
+ return {
90
+ ...state,
91
+ content: contents
92
+ };
93
+ }
94
+ return state;
95
+ }
96
+ case CONTENT_CONSTANTS.UPDATE_ITEM_SUCCESS:
97
+ {
98
+ const { content } = data;
99
+ if (content && content.contentId) {
100
+ const contents = {
101
+ ...state.content
102
+ };
103
+ contents[content.contentId] = {
104
+ ...contents[content.contentId],
105
+ ...content,
106
+ timestamp: Date.now()
107
+ };
108
+ return {
109
+ ...state,
110
+ content: contents
111
+ };
112
+ }
113
+ return state;
114
+ }
115
+ case CONTENT_CONSTANTS.ADD_ITEM_ERROR:
116
+ case CONTENT_CONSTANTS.GET_ITEM_ERROR:
117
+ case CONTENT_CONSTANTS.GET_LIST_ERROR:
118
+ case CONTENT_CONSTANTS.REMOVE_ITEM_ERROR:
119
+ case CONTENT_CONSTANTS.UPDATE_ITEM_ERROR:
120
+ {
121
+ const { error } = data;
122
+ return {
123
+ ...state,
124
+ error
125
+ };
126
+ }
127
+ default:
128
+ {
129
+ return state;
130
+ }
131
+ }
132
+ };
133
+ export const contents = {
134
+ action: contentStore,
135
+ initialState: defaultValues,
136
+ name: 'content'
137
+ };
138
+
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL2NvbnRlbnRTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IENvbnRlbnRUeXBlIH0gZnJvbSAnLi4vYWRhcHRlcnMvY29udGVudEFkYXB0ZXIvY29udGVudEFkYXB0ZXIuanMnO1xuXG5leHBvcnQgY29uc3QgQ09OVEVOVF9DT05TVEFOVFMgPSB7XG4gIEFERF9JVEVNX0VSUk9SOiAnQ09OVEVOVF9BRERfSVRFTV9FUlJPUicsXG4gIEFERF9JVEVNX1NVQ0NFU1M6ICdDT05URU5UX0FERF9JVEVNX1NVQ0NFU1MnLFxuICBHRVRfSVRFTV9FUlJPUjogJ0NPTlRFTlRfR0VUX0lURU1fRVJST1InLFxuICBHRVRfSVRFTV9TVUNDRVNTOiAnQ09OVEVOVF9HRVRfSVRFTV9TVUNDRVNTJyxcbiAgR0VUX0xJU1RfRVJST1I6ICdDT05URU5UX0dFVF9MSVNUX0VSUk9SJyxcbiAgR0VUX0xJU1RfU1VDQ0VTUzogJ0NPTlRFTlRfR0VUX0xJU1RfU1VDQ0VTUycsXG4gIFJFTU9WRV9JVEVNX0VSUk9SOiAnQ09OVEVOVF9SRU1PVkVfSVRFTV9FUlJPUicsXG4gIFJFTU9WRV9JVEVNX1NVQ0NFU1M6ICdDT05URU5UX1JFTU9WRV9JVEVNX1NVQ0NFU1MnLFxuICBVUERBVEVfSVRFTV9FUlJPUjogJ0NPTlRFTlRfVVBEQVRFX0lURU1fRVJST1InLFxuICBVUERBVEVfSVRFTV9TVUNDRVNTOiAnQ09OVEVOVF9VUERBVEVfSVRFTV9TVUNDRVNTJ1xufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQ29udGVudENvbnN0YW50c1R5cGUgPSB0eXBlb2YgQ09OVEVOVF9DT05TVEFOVFNba2V5b2YgdHlwZW9mIENPTlRFTlRfQ09OU1RBTlRTXTtcblxuaW50ZXJmYWNlIENvbnRlbnRTdGF0ZSB7XG4gIGVycm9yPzogRXJyb3I7XG4gIGNvbnRlbnQ6IFJlY29yZDxzdHJpbmcsIFBhcnRpYWw8Q29udGVudFR5cGU+PjtcbiAgbGlzdHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG5jb25zdCBkZWZhdWx0VmFsdWVzOiBDb250ZW50U3RhdGUgPSB7XG4gIGNvbnRlbnQ6IHt9LFxuICBsaXN0czoge31cbn07XG5cbmludGVyZmFjZSBDb250ZW50RGF0YSB7XG4gIHJlYWRvbmx5IGNvbnRlbnQ/OiBDb250ZW50VHlwZTtcbiAgcmVhZG9ubHkgZXJyb3I/OiBFcnJvcjtcbiAgcmVhZG9ubHkgbGlzdD86IENvbnRlbnRUeXBlW107XG59XG5cbmV4cG9ydCBjb25zdCBjb250ZW50U3RvcmUgPSAodHlwZTogc3RyaW5nLCBkYXRhOiBDb250ZW50RGF0YSwgc3RhdGUgPSBkZWZhdWx0VmFsdWVzKTogQ29udGVudFN0YXRlID0+IHtcbiAgc3dpdGNoKHR5cGUpIHtcbiAgICBjYXNlIENPTlRFTlRfQ09OU1RBTlRTLkFERF9JVEVNX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHtjb250ZW50fSA9IGRhdGE7XG4gICAgICBpZihjb250ZW50ICYmIGNvbnRlbnQuY29udGVudElkKSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRzID0gey4uLnN0YXRlLmNvbnRlbnR9O1xuICAgICAgICBjb250ZW50c1tjb250ZW50LmNvbnRlbnRJZF0gPSB7Li4uY29udGVudCwgdGltZXN0YW1wOiBEYXRlLm5vdygpfTtcbiAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgY29udGVudDogY29udGVudHN9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgICBjYXNlIENPTlRFTlRfQ09OU1RBTlRTLkdFVF9JVEVNX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHtjb250ZW50fSA9IGRhdGE7XG4gICAgICBpZihjb250ZW50ICYmIGNvbnRlbnQuY29udGVudElkKSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRzID0gey4uLnN0YXRlLmNvbnRlbnR9O1xuICAgICAgICBjb250ZW50c1tjb250ZW50LmNvbnRlbnRJZF0gPSB7Li4uY29udGVudCwgdGltZXN0YW1wOiBEYXRlLm5vdygpfTtcbiAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgY29udGVudDogY29udGVudHN9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgICBjYXNlIENPTlRFTlRfQ09OU1RBTlRTLkdFVF9MSVNUX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHtsaXN0fSA9IGRhdGE7XG4gICAgICBpZihsaXN0KSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRzID0gey4uLnN0YXRlLmNvbnRlbnR9O1xuXG4gICAgICAgIGxpc3QuZm9yRWFjaCgoY29udGVudDogQ29udGVudFR5cGUpID0+IHtcbiAgICAgICAgICBpZihjb250ZW50LmNvbnRlbnRJZCkge1xuICAgICAgICAgICAgY29uc3QgY2FjaGVkQ29udGVudDogUGFydGlhbDxDb250ZW50VHlwZT4gPSBjb250ZW50c1tjb250ZW50LmNvbnRlbnRJZF0gfHwge307XG4gICAgICAgICAgICBjb250ZW50c1tjb250ZW50LmNvbnRlbnRJZF0gPSB7Li4uY2FjaGVkQ29udGVudCwgLi4uY29udGVudH07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gey4uLnN0YXRlLCBjb250ZW50OiBjb250ZW50c307XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICAgIGNhc2UgQ09OVEVOVF9DT05TVEFOVFMuUkVNT1ZFX0lURU1fU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge2NvbnRlbnR9ID0gZGF0YTtcbiAgICAgIGlmKGNvbnRlbnQgJiYgY29udGVudC5jb250ZW50SWQpIHtcbiAgICAgICAgY29uc3QgY29udGVudHMgPSB7Li4uc3RhdGUuY29udGVudH07XG4gICAgICAgIGRlbGV0ZSBjb250ZW50c1tjb250ZW50LmNvbnRlbnRJZF07XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGUsIGNvbnRlbnQ6IGNvbnRlbnRzfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgY2FzZSBDT05URU5UX0NPTlNUQU5UUy5VUERBVEVfSVRFTV9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7Y29udGVudH0gPSBkYXRhO1xuICAgICAgaWYoY29udGVudCAmJiBjb250ZW50LmNvbnRlbnRJZCkge1xuICAgICAgICBjb25zdCBjb250ZW50cyA9IHsuLi5zdGF0ZS5jb250ZW50fTtcbiAgICAgICAgY29udGVudHNbY29udGVudC5jb250ZW50SWRdID0gey4uLmNvbnRlbnRzW2NvbnRlbnQuY29udGVudElkXSwgLi4uY29udGVudCwgdGltZXN0YW1wOiBEYXRlLm5vdygpfTtcbiAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgY29udGVudDogY29udGVudHN9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgICBjYXNlIENPTlRFTlRfQ09OU1RBTlRTLkFERF9JVEVNX0VSUk9SOlxuICAgIGNhc2UgQ09OVEVOVF9DT05TVEFOVFMuR0VUX0lURU1fRVJST1I6XG4gICAgY2FzZSBDT05URU5UX0NPTlNUQU5UUy5HRVRfTElTVF9FUlJPUjpcbiAgICBjYXNlIENPTlRFTlRfQ09OU1RBTlRTLlJFTU9WRV9JVEVNX0VSUk9SOlxuICAgIGNhc2UgQ09OVEVOVF9DT05TVEFOVFMuVVBEQVRFX0lURU1fRVJST1I6IHtcbiAgICAgIGNvbnN0IHtlcnJvcn0gPSBkYXRhO1xuICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgZXJyb3J9O1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY29udGVudHMgPSB7XG4gIGFjdGlvbjogY29udGVudFN0b3JlLFxuICBpbml0aWFsU3RhdGU6IGRlZmF1bHRWYWx1ZXMsXG4gIG5hbWU6ICdjb250ZW50J1xufTtcbiJdLCJuYW1lcyI6WyJDT05URU5UX0NPTlNUQU5UUyIsIkFERF9JVEVNX0VSUk9SIiwiQUREX0lURU1fU1VDQ0VTUyIsIkdFVF9JVEVNX0VSUk9SIiwiR0VUX0lURU1fU1VDQ0VTUyIsIkdFVF9MSVNUX0VSUk9SIiwiR0VUX0xJU1RfU1VDQ0VTUyIsIlJFTU9WRV9JVEVNX0VSUk9SIiwiUkVNT1ZFX0lURU1fU1VDQ0VTUyIsIlVQREFURV9JVEVNX0VSUk9SIiwiVVBEQVRFX0lURU1fU1VDQ0VTUyIsImRlZmF1bHRWYWx1ZXMiLCJjb250ZW50IiwibGlzdHMiLCJjb250ZW50U3RvcmUiLCJ0eXBlIiwiZGF0YSIsInN0YXRlIiwiY29udGVudElkIiwiY29udGVudHMiLCJ0aW1lc3RhbXAiLCJEYXRlIiwibm93IiwibGlzdCIsImZvckVhY2giLCJjYWNoZWRDb250ZW50IiwiZXJyb3IiLCJhY3Rpb24iLCJpbml0aWFsU3RhdGUiLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FJRCxPQUFPLE1BQU1BLG9CQUFvQjtJQUMvQkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLGdCQUFnQjtJQUNoQkMsa0JBQWtCO0lBQ2xCQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsbUJBQW1CO0lBQ25CQyxxQkFBcUI7SUFDckJDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0FBQ3ZCLEVBQVc7QUFVWCxNQUFNQyxnQkFBOEI7SUFDbENDLFNBQVMsQ0FBQztJQUNWQyxPQUFPLENBQUM7QUFDVjtBQVFBLE9BQU8sTUFBTUMsZUFBZSxDQUFDQyxNQUFjQyxNQUFtQkMsUUFBUU4sYUFBYTtJQUNqRixPQUFPSTtRQUNMLEtBQUtmLGtCQUFrQkUsZ0JBQWdCO1lBQUU7Z0JBQ3ZD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
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Copyright (c) 2026-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */
5
+ export declare const CONVERSATION_CONSTANTS: {
6
+ readonly ADD_ITEM_ERROR: "CONVERSATION_ADD_ITEM_ERROR";
7
+ readonly ADD_ITEM_SUCCESS: "CONVERSATION_ADD_ITEM_SUCCESS";
8
+ readonly GET_ITEM_ERROR: "CONVERSATION_GET_ITEM_ERROR";
9
+ readonly GET_ITEM_SUCCESS: "CONVERSATION_GET_ITEM_SUCCESS";
10
+ readonly GET_LIST_ERROR: "CONVERSATION_GET_LIST_ERROR";
11
+ readonly GET_LIST_SUCCESS: "CONVERSATION_GET_LIST_SUCCESS";
12
+ readonly REMOVE_ITEM_ERROR: "CONVERSATION_REMOVE_ITEM_ERROR";
13
+ readonly REMOVE_ITEM_SUCCESS: "CONVERSATION_REMOVE_ITEM_SUCCESS";
14
+ readonly UPDATE_ITEM_ERROR: "CONVERSATION_UPDATE_ITEM_ERROR";
15
+ readonly UPDATE_ITEM_SUCCESS: "CONVERSATION_UPDATE_ITEM_SUCCESS";
16
+ };
17
+ export type ConversationConstantsType = typeof CONVERSATION_CONSTANTS[keyof typeof CONVERSATION_CONSTANTS];
18
+ interface ConversationState {
19
+ error?: Error;
20
+ item?: Record<string, any>;
21
+ list?: any[];
22
+ conversations?: Record<string, any>;
23
+ }
24
+ export declare const defaultValues: ConversationState;
25
+ interface ConversationData {
26
+ readonly conversation?: Record<string, any>;
27
+ readonly conversations?: Record<string, any>;
28
+ readonly error?: Error;
29
+ readonly list?: any[];
30
+ }
31
+ export declare const conversationStore: (type: string, data: ConversationData, state?: ConversationState) => ConversationState;
32
+ export declare const conversation: {
33
+ action: (type: string, data: ConversationData, state?: ConversationState) => ConversationState;
34
+ initialState: ConversationState;
35
+ name: string;
36
+ };
37
+ export {};
38
+ //# sourceMappingURL=conversationStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversationStore.d.ts","sourceRoot":"","sources":["../../src/stores/conversationStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;CAWzB,CAAC;AAEX,MAAM,MAAM,yBAAyB,GAAG,OAAO,sBAAsB,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAC;AAE3G,UAAU,iBAAiB;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC;AAED,eAAO,MAAM,aAAa,EAAE,iBAG3B,CAAC;AAEF,UAAU,gBAAgB;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,MAAM,gBAAgB,EACtB,yBAAqB,KACpB,iBAoDF,CAAC;AAEF,eAAO,MAAM,YAAY;mBAzDjB,MAAM,QACN,gBAAgB,gCAErB,iBAAiB;;;CA0DnB,CAAC"}