@zeitvu97/cms-sdk 0.1.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 (274) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +478 -0
  3. package/dist/chunks/_shared-48T7q0V3.js +26 -0
  4. package/dist/chunks/_shared-48T7q0V3.js.map +1 -0
  5. package/dist/chunks/auth.constant-DO7ZmsKg.js +68 -0
  6. package/dist/chunks/auth.constant-DO7ZmsKg.js.map +1 -0
  7. package/dist/chunks/mt5Retcode-DlZLQOLA.js +178 -0
  8. package/dist/chunks/mt5Retcode-DlZLQOLA.js.map +1 -0
  9. package/dist/chunks/storage.constant--64BDSPW.js +44 -0
  10. package/dist/chunks/storage.constant--64BDSPW.js.map +1 -0
  11. package/dist/common/constants/auth.constant.d.ts +54 -0
  12. package/dist/common/constants/auth.constant.d.ts.map +1 -0
  13. package/dist/common/constants/bars.constant.d.ts +15 -0
  14. package/dist/common/constants/bars.constant.d.ts.map +1 -0
  15. package/dist/common/constants/content-types.constant.d.ts +29 -0
  16. package/dist/common/constants/content-types.constant.d.ts.map +1 -0
  17. package/dist/common/constants/content.constant.d.ts +114 -0
  18. package/dist/common/constants/content.constant.d.ts.map +1 -0
  19. package/dist/common/constants/executions.constant.d.ts +56 -0
  20. package/dist/common/constants/executions.constant.d.ts.map +1 -0
  21. package/dist/common/constants/gov.constant.d.ts +118 -0
  22. package/dist/common/constants/gov.constant.d.ts.map +1 -0
  23. package/dist/common/constants/history.constant.d.ts +108 -0
  24. package/dist/common/constants/history.constant.d.ts.map +1 -0
  25. package/dist/common/constants/http.constant.d.ts +46 -0
  26. package/dist/common/constants/http.constant.d.ts.map +1 -0
  27. package/dist/common/constants/index.d.ts +16 -0
  28. package/dist/common/constants/index.d.ts.map +1 -0
  29. package/dist/common/constants/kalshi.constant.d.ts +35 -0
  30. package/dist/common/constants/kalshi.constant.d.ts.map +1 -0
  31. package/dist/common/constants/llm.constant.d.ts +37 -0
  32. package/dist/common/constants/llm.constant.d.ts.map +1 -0
  33. package/dist/common/constants/mt5-action.constant.d.ts +131 -0
  34. package/dist/common/constants/mt5-action.constant.d.ts.map +1 -0
  35. package/dist/common/constants/mt5.constant.d.ts +254 -0
  36. package/dist/common/constants/mt5.constant.d.ts.map +1 -0
  37. package/dist/common/constants/notifications.constant.d.ts +45 -0
  38. package/dist/common/constants/notifications.constant.d.ts.map +1 -0
  39. package/dist/common/constants/people.constant.d.ts +269 -0
  40. package/dist/common/constants/people.constant.d.ts.map +1 -0
  41. package/dist/common/constants/rules.constant.d.ts +14 -0
  42. package/dist/common/constants/rules.constant.d.ts.map +1 -0
  43. package/dist/common/constants/settings.constant.d.ts +17 -0
  44. package/dist/common/constants/settings.constant.d.ts.map +1 -0
  45. package/dist/common/constants/sort.constant.d.ts +14 -0
  46. package/dist/common/constants/sort.constant.d.ts.map +1 -0
  47. package/dist/common/constants/storage.constant.d.ts +74 -0
  48. package/dist/common/constants/storage.constant.d.ts.map +1 -0
  49. package/dist/common/helpers/format.d.ts +7 -0
  50. package/dist/common/helpers/format.d.ts.map +1 -0
  51. package/dist/common/helpers/format.js +20 -0
  52. package/dist/common/helpers/format.js.map +1 -0
  53. package/dist/common/helpers/mt5Retcode.d.ts +18 -0
  54. package/dist/common/helpers/mt5Retcode.d.ts.map +1 -0
  55. package/dist/common/helpers/mt5Retcode.js +2 -0
  56. package/dist/common/helpers/mt5Retcode.js.map +1 -0
  57. package/dist/common/utils/case.d.ts +12 -0
  58. package/dist/common/utils/case.d.ts.map +1 -0
  59. package/dist/common/utils/clone.d.ts +9 -0
  60. package/dist/common/utils/clone.d.ts.map +1 -0
  61. package/dist/composables/cbsStateKey.d.ts +27 -0
  62. package/dist/composables/cbsStateKey.d.ts.map +1 -0
  63. package/dist/core/createApi.d.ts +69 -0
  64. package/dist/core/createApi.d.ts.map +1 -0
  65. package/dist/core/createCmsSDK.d.ts +19 -0
  66. package/dist/core/createCmsSDK.d.ts.map +1 -0
  67. package/dist/core/credentials/TokenManager.d.ts +38 -0
  68. package/dist/core/credentials/TokenManager.d.ts.map +1 -0
  69. package/dist/core/credentials/credential.type.d.ts +16 -0
  70. package/dist/core/credentials/credential.type.d.ts.map +1 -0
  71. package/dist/core/credentials/resolveStorage.d.ts +6 -0
  72. package/dist/core/credentials/resolveStorage.d.ts.map +1 -0
  73. package/dist/core/credentials/storages/cookieStorage.d.ts +18 -0
  74. package/dist/core/credentials/storages/cookieStorage.d.ts.map +1 -0
  75. package/dist/core/credentials/storages/localStorageAdapter.d.ts +8 -0
  76. package/dist/core/credentials/storages/localStorageAdapter.d.ts.map +1 -0
  77. package/dist/core/credentials/storages/memoryStorage.d.ts +7 -0
  78. package/dist/core/credentials/storages/memoryStorage.d.ts.map +1 -0
  79. package/dist/core/errors.d.ts +26 -0
  80. package/dist/core/errors.d.ts.map +1 -0
  81. package/dist/core/sdk.type.d.ts +115 -0
  82. package/dist/core/sdk.type.d.ts.map +1 -0
  83. package/dist/core/ws/createEaeraWebSocket.d.ts +21 -0
  84. package/dist/core/ws/createEaeraWebSocket.d.ts.map +1 -0
  85. package/dist/core/ws/index.d.ts +4 -0
  86. package/dist/core/ws/index.d.ts.map +1 -0
  87. package/dist/core/ws/ws.constants.d.ts +246 -0
  88. package/dist/core/ws/ws.constants.d.ts.map +1 -0
  89. package/dist/core/ws/ws.events.d.ts +264 -0
  90. package/dist/core/ws/ws.events.d.ts.map +1 -0
  91. package/dist/core/ws/ws.type.d.ts +225 -0
  92. package/dist/core/ws/ws.type.d.ts.map +1 -0
  93. package/dist/index.d.ts +130 -0
  94. package/dist/index.d.ts.map +1 -0
  95. package/dist/index.js +8416 -0
  96. package/dist/index.js.map +1 -0
  97. package/dist/nuxt.d.ts +49 -0
  98. package/dist/nuxt.d.ts.map +1 -0
  99. package/dist/nuxt.js +47 -0
  100. package/dist/nuxt.js.map +1 -0
  101. package/dist/runtime/plugin.d.ts +6 -0
  102. package/dist/runtime/plugin.js +188 -0
  103. package/dist/runtime/plugin.js.map +1 -0
  104. package/dist/server/auth/cbs-callback.post.js +42 -0
  105. package/dist/server/auth/cbs-callback.post.js.map +1 -0
  106. package/dist/server/auth/cbs-start.post.js +34 -0
  107. package/dist/server/auth/cbs-start.post.js.map +1 -0
  108. package/dist/server/auth/idp-callback.get.js +52 -0
  109. package/dist/server/auth/idp-callback.get.js.map +1 -0
  110. package/dist/server/auth/idp-link.post.js +38 -0
  111. package/dist/server/auth/idp-link.post.js.map +1 -0
  112. package/dist/server/auth/idp-login.get.js +42 -0
  113. package/dist/server/auth/idp-login.get.js.map +1 -0
  114. package/dist/server/auth/idp-unlink.delete.js +38 -0
  115. package/dist/server/auth/idp-unlink.delete.js.map +1 -0
  116. package/dist/server/auth/login.post.js +42 -0
  117. package/dist/server/auth/login.post.js.map +1 -0
  118. package/dist/server/auth/logout.post.js +31 -0
  119. package/dist/server/auth/logout.post.js.map +1 -0
  120. package/dist/server/auth/refresh.post.js +46 -0
  121. package/dist/server/auth/refresh.post.js.map +1 -0
  122. package/dist/server/clear-token.delete.js +12 -0
  123. package/dist/server/clear-token.delete.js.map +1 -0
  124. package/dist/server/persist.post.js +31 -0
  125. package/dist/server/persist.post.js.map +1 -0
  126. package/dist/server/set-token.post.js +27 -0
  127. package/dist/server/set-token.post.js.map +1 -0
  128. package/dist/services/auth/auth.type.d.ts +66 -0
  129. package/dist/services/auth/auth.type.d.ts.map +1 -0
  130. package/dist/services/auth/index.d.ts +127 -0
  131. package/dist/services/auth/index.d.ts.map +1 -0
  132. package/dist/services/auth/mock.d.ts +13 -0
  133. package/dist/services/auth/mock.d.ts.map +1 -0
  134. package/dist/services/bars/bars.type.d.ts +78 -0
  135. package/dist/services/bars/bars.type.d.ts.map +1 -0
  136. package/dist/services/bars/index.d.ts +24 -0
  137. package/dist/services/bars/index.d.ts.map +1 -0
  138. package/dist/services/bars/mock.d.ts +23 -0
  139. package/dist/services/bars/mock.d.ts.map +1 -0
  140. package/dist/services/content/content.type.d.ts +832 -0
  141. package/dist/services/content/content.type.d.ts.map +1 -0
  142. package/dist/services/content/filter.d.ts +46 -0
  143. package/dist/services/content/filter.d.ts.map +1 -0
  144. package/dist/services/content/index.d.ts +35 -0
  145. package/dist/services/content/index.d.ts.map +1 -0
  146. package/dist/services/content/mock.d.ts +16 -0
  147. package/dist/services/content/mock.d.ts.map +1 -0
  148. package/dist/services/content-types/content-types.type.d.ts +70 -0
  149. package/dist/services/content-types/content-types.type.d.ts.map +1 -0
  150. package/dist/services/content-types/index.d.ts +18 -0
  151. package/dist/services/content-types/index.d.ts.map +1 -0
  152. package/dist/services/content-types/mock.d.ts +15 -0
  153. package/dist/services/content-types/mock.d.ts.map +1 -0
  154. package/dist/services/executions/executions.type.d.ts +67 -0
  155. package/dist/services/executions/executions.type.d.ts.map +1 -0
  156. package/dist/services/executions/index.d.ts +30 -0
  157. package/dist/services/executions/index.d.ts.map +1 -0
  158. package/dist/services/executions/mock.d.ts +29 -0
  159. package/dist/services/executions/mock.d.ts.map +1 -0
  160. package/dist/services/gov/gov.type.d.ts +740 -0
  161. package/dist/services/gov/gov.type.d.ts.map +1 -0
  162. package/dist/services/gov/index.d.ts +84 -0
  163. package/dist/services/gov/index.d.ts.map +1 -0
  164. package/dist/services/history/history.type.d.ts +167 -0
  165. package/dist/services/history/history.type.d.ts.map +1 -0
  166. package/dist/services/history/index.d.ts +38 -0
  167. package/dist/services/history/index.d.ts.map +1 -0
  168. package/dist/services/history/mock.d.ts +21 -0
  169. package/dist/services/history/mock.d.ts.map +1 -0
  170. package/dist/services/kalshi/index.d.ts +19 -0
  171. package/dist/services/kalshi/index.d.ts.map +1 -0
  172. package/dist/services/kalshi/kalshi.type.d.ts +99 -0
  173. package/dist/services/kalshi/kalshi.type.d.ts.map +1 -0
  174. package/dist/services/kalshi/mock.d.ts +5 -0
  175. package/dist/services/kalshi/mock.d.ts.map +1 -0
  176. package/dist/services/llm/index.d.ts +38 -0
  177. package/dist/services/llm/index.d.ts.map +1 -0
  178. package/dist/services/llm/llm.type.d.ts +106 -0
  179. package/dist/services/llm/llm.type.d.ts.map +1 -0
  180. package/dist/services/notifications/index.d.ts +38 -0
  181. package/dist/services/notifications/index.d.ts.map +1 -0
  182. package/dist/services/notifications/mock.d.ts +39 -0
  183. package/dist/services/notifications/mock.d.ts.map +1 -0
  184. package/dist/services/notifications/notifications.type.d.ts +75 -0
  185. package/dist/services/notifications/notifications.type.d.ts.map +1 -0
  186. package/dist/services/people/_invoke.d.ts +26 -0
  187. package/dist/services/people/_invoke.d.ts.map +1 -0
  188. package/dist/services/people/copilot/index.d.ts +132 -0
  189. package/dist/services/people/copilot/index.d.ts.map +1 -0
  190. package/dist/services/people/identity/actions.d.ts +116 -0
  191. package/dist/services/people/identity/actions.d.ts.map +1 -0
  192. package/dist/services/people/identity/ct.types.d.ts +133 -0
  193. package/dist/services/people/identity/ct.types.d.ts.map +1 -0
  194. package/dist/services/people/identity/index.d.ts +14 -0
  195. package/dist/services/people/identity/index.d.ts.map +1 -0
  196. package/dist/services/people/identity/projections.d.ts +63 -0
  197. package/dist/services/people/identity/projections.d.ts.map +1 -0
  198. package/dist/services/people/index.d.ts +31 -0
  199. package/dist/services/people/index.d.ts.map +1 -0
  200. package/dist/services/people/legal/actions.d.ts +161 -0
  201. package/dist/services/people/legal/actions.d.ts.map +1 -0
  202. package/dist/services/people/legal/ct.types.d.ts +186 -0
  203. package/dist/services/people/legal/ct.types.d.ts.map +1 -0
  204. package/dist/services/people/legal/index.d.ts +15 -0
  205. package/dist/services/people/legal/index.d.ts.map +1 -0
  206. package/dist/services/people/packops/index.d.ts +70 -0
  207. package/dist/services/people/packops/index.d.ts.map +1 -0
  208. package/dist/services/people/packops/packops.type.d.ts +183 -0
  209. package/dist/services/people/packops/packops.type.d.ts.map +1 -0
  210. package/dist/services/people/perms/actions.d.ts +214 -0
  211. package/dist/services/people/perms/actions.d.ts.map +1 -0
  212. package/dist/services/people/perms/ct.types.d.ts +140 -0
  213. package/dist/services/people/perms/ct.types.d.ts.map +1 -0
  214. package/dist/services/people/perms/index.d.ts +14 -0
  215. package/dist/services/people/perms/index.d.ts.map +1 -0
  216. package/dist/services/people/perms/projections.d.ts +47 -0
  217. package/dist/services/people/perms/projections.d.ts.map +1 -0
  218. package/dist/services/people/process/actions.d.ts +154 -0
  219. package/dist/services/people/process/actions.d.ts.map +1 -0
  220. package/dist/services/people/process/ct.types.d.ts +304 -0
  221. package/dist/services/people/process/ct.types.d.ts.map +1 -0
  222. package/dist/services/people/process/index.d.ts +12 -0
  223. package/dist/services/people/process/index.d.ts.map +1 -0
  224. package/dist/services/people/shared.types.d.ts +36 -0
  225. package/dist/services/people/shared.types.d.ts.map +1 -0
  226. package/dist/services/rules/conditions.d.ts +264 -0
  227. package/dist/services/rules/conditions.d.ts.map +1 -0
  228. package/dist/services/rules/index.d.ts +49 -0
  229. package/dist/services/rules/index.d.ts.map +1 -0
  230. package/dist/services/rules/llm-rule.constant.d.ts +84 -0
  231. package/dist/services/rules/llm-rule.constant.d.ts.map +1 -0
  232. package/dist/services/rules/mock.d.ts +20 -0
  233. package/dist/services/rules/mock.d.ts.map +1 -0
  234. package/dist/services/rules/rules.type.d.ts +262 -0
  235. package/dist/services/rules/rules.type.d.ts.map +1 -0
  236. package/dist/services/rules/triggers.d.ts +140 -0
  237. package/dist/services/rules/triggers.d.ts.map +1 -0
  238. package/dist/services/settings/index.d.ts +36 -0
  239. package/dist/services/settings/index.d.ts.map +1 -0
  240. package/dist/services/settings/mock.d.ts +14 -0
  241. package/dist/services/settings/mock.d.ts.map +1 -0
  242. package/dist/services/settings/settings.type.d.ts +39 -0
  243. package/dist/services/settings/settings.type.d.ts.map +1 -0
  244. package/dist/stores/auth.d.ts +192 -0
  245. package/dist/stores/auth.d.ts.map +1 -0
  246. package/dist/stores/bars.d.ts +288 -0
  247. package/dist/stores/bars.d.ts.map +1 -0
  248. package/dist/stores/content.d.ts +4101 -0
  249. package/dist/stores/content.d.ts.map +1 -0
  250. package/dist/stores/executions.d.ts +249 -0
  251. package/dist/stores/executions.d.ts.map +1 -0
  252. package/dist/stores/gov.d.ts +238 -0
  253. package/dist/stores/gov.d.ts.map +1 -0
  254. package/dist/stores/history.d.ts +833 -0
  255. package/dist/stores/history.d.ts.map +1 -0
  256. package/dist/stores/index.d.ts +15 -0
  257. package/dist/stores/index.d.ts.map +1 -0
  258. package/dist/stores/kalshi.d.ts +728 -0
  259. package/dist/stores/kalshi.d.ts.map +1 -0
  260. package/dist/stores/llm-providers.d.ts +97 -0
  261. package/dist/stores/llm-providers.d.ts.map +1 -0
  262. package/dist/stores/llm.d.ts +102 -0
  263. package/dist/stores/llm.d.ts.map +1 -0
  264. package/dist/stores/people.d.ts +596 -0
  265. package/dist/stores/people.d.ts.map +1 -0
  266. package/dist/stores/persist.d.ts +58 -0
  267. package/dist/stores/persist.d.ts.map +1 -0
  268. package/dist/stores/rules.d.ts +485 -0
  269. package/dist/stores/rules.d.ts.map +1 -0
  270. package/dist/stores/settings.d.ts +36 -0
  271. package/dist/stores/settings.d.ts.map +1 -0
  272. package/dist/stores/ws.d.ts +66 -0
  273. package/dist/stores/ws.d.ts.map +1 -0
  274. package/package.json +90 -0
@@ -0,0 +1,596 @@
1
+ import { ICmsSDK } from '../core/sdk.type';
2
+ import { PeopleAccessAuditQuery, PeopleAccessAuditResult } from '../services/people/perms/projections';
3
+ import { PeopleProvisionQueueEntry, PeopleProviderHealth } from '../services/people/identity/projections';
4
+ /**
5
+ * People store — People Hub pack surfaces (FEAT-001/002/007/008/009/010/011/014/015/016).
6
+ *
7
+ * Mirrors the pack's **3 REST projections** (access audit · provider health
8
+ * · provisioning queue). Plain CT lists go through `useContentStore.fetchByType`
9
+ * with the `PEOPLE_CONTENT_TYPE` names — this store only owns the
10
+ * aggregation endpoints (same boundary as `useGovStore`).
11
+ *
12
+ * Pack actions are invoked via the typed wrappers on `sdk.people` — no
13
+ * action auto-refetches the affected slice; call the matching `fetch*` if
14
+ * the state should reflect the change.
15
+ */
16
+ export declare const usePeopleStore: import('pinia').StoreDefinition<"cms-people", Pick<{
17
+ accessAudit: import('vue').Ref<{
18
+ mode: PeopleAccessAuditQuery["mode"];
19
+ count: number;
20
+ items: ({
21
+ roles: string[];
22
+ scopeRefs: string[];
23
+ assignmentType: "manual" | "birthright" | "requested" | "emergency" | null;
24
+ purpose: "standard" | "acting" | null;
25
+ subject: string;
26
+ } | {
27
+ allowed: boolean;
28
+ blockedBy: "permission" | "scope" | "fap";
29
+ maskLevel?: "hidden" | "partial" | "full" | undefined;
30
+ subject: string;
31
+ })[];
32
+ durationMs: number;
33
+ } | null, PeopleAccessAuditResult | {
34
+ mode: PeopleAccessAuditQuery["mode"];
35
+ count: number;
36
+ items: ({
37
+ roles: string[];
38
+ scopeRefs: string[];
39
+ assignmentType: "manual" | "birthright" | "requested" | "emergency" | null;
40
+ purpose: "standard" | "acting" | null;
41
+ subject: string;
42
+ } | {
43
+ allowed: boolean;
44
+ blockedBy: "permission" | "scope" | "fap";
45
+ maskLevel?: "hidden" | "partial" | "full" | undefined;
46
+ subject: string;
47
+ })[];
48
+ durationMs: number;
49
+ } | null>;
50
+ providerHealth: import('vue').Ref<{
51
+ providerKey: string;
52
+ providerType: import('..').PeopleProviderConfigData["providerType"];
53
+ state: import('..').PeopleProviderConfigData["state"];
54
+ capabilities: Record<string, string>;
55
+ probeState: {
56
+ lastProbeAt?: string | undefined;
57
+ lastResult?: string | undefined;
58
+ latencyMs?: number | undefined;
59
+ };
60
+ probeHistory: {
61
+ at: string;
62
+ status: "completed" | "failed" | "in_progress";
63
+ durationMs: number;
64
+ error?: string | null | undefined;
65
+ }[];
66
+ openFindings: {
67
+ missing?: number | undefined;
68
+ extra_unmanaged?: number | undefined;
69
+ mismatch?: number | undefined;
70
+ reappeared?: number | undefined;
71
+ unknown_unreachable?: number | undefined;
72
+ execution?: number | undefined;
73
+ };
74
+ healthWindowMinutes: number;
75
+ } | null, PeopleProviderHealth | {
76
+ providerKey: string;
77
+ providerType: import('..').PeopleProviderConfigData["providerType"];
78
+ state: import('..').PeopleProviderConfigData["state"];
79
+ capabilities: Record<string, string>;
80
+ probeState: {
81
+ lastProbeAt?: string | undefined;
82
+ lastResult?: string | undefined;
83
+ latencyMs?: number | undefined;
84
+ };
85
+ probeHistory: {
86
+ at: string;
87
+ status: "completed" | "failed" | "in_progress";
88
+ durationMs: number;
89
+ error?: string | null | undefined;
90
+ }[];
91
+ openFindings: {
92
+ missing?: number | undefined;
93
+ extra_unmanaged?: number | undefined;
94
+ mismatch?: number | undefined;
95
+ reappeared?: number | undefined;
96
+ unknown_unreachable?: number | undefined;
97
+ execution?: number | undefined;
98
+ };
99
+ healthWindowMinutes: number;
100
+ } | null>;
101
+ provisionQueue: import('vue').Ref<{
102
+ count: number;
103
+ items: ({
104
+ kind: "item";
105
+ ref: string;
106
+ providerRef: string;
107
+ employmentRef: string;
108
+ resourceType: string;
109
+ resourceKey: string;
110
+ state: import('..').PeopleProvisioningItemData["state"];
111
+ attempt: {
112
+ count: number;
113
+ max: number;
114
+ nextRetryAt?: string | null | undefined;
115
+ lastError?: string | null | undefined;
116
+ retryAfterRespected?: boolean | undefined;
117
+ };
118
+ commandResult: import('..').PeopleProvisioningItemData["commandResult"] | null;
119
+ securityOutcome: import('..').PeopleProvisioningItemData["securityOutcome"];
120
+ aggregateResult: import('..').PeopleProvisioningItemData["aggregateResult"];
121
+ lastError?: string | undefined;
122
+ } | {
123
+ kind: "milestone";
124
+ ref: string;
125
+ employmentRef: string;
126
+ milestoneKey: NonNullable<NonNullable<import('..').PeopleDeprovisionPlanData["milestones"]>[number]["milestoneKey"]>;
127
+ dueAt: string;
128
+ state: NonNullable<NonNullable<import('..').PeopleDeprovisionPlanData["milestones"]>[number]["status"]>;
129
+ sourcePlanVersion: number;
130
+ requiredOutcomesResult?: Record<string, unknown> | undefined;
131
+ } | {
132
+ kind: "binding";
133
+ ref: string;
134
+ providerRef: string;
135
+ canonicalPersonRef: string;
136
+ state: import('..').PeopleExternalBindingData["state"];
137
+ })[];
138
+ } | null, {
139
+ count: number;
140
+ items: PeopleProvisionQueueEntry[];
141
+ } | {
142
+ count: number;
143
+ items: ({
144
+ kind: "item";
145
+ ref: string;
146
+ providerRef: string;
147
+ employmentRef: string;
148
+ resourceType: string;
149
+ resourceKey: string;
150
+ state: import('..').PeopleProvisioningItemData["state"];
151
+ attempt: {
152
+ count: number;
153
+ max: number;
154
+ nextRetryAt?: string | null | undefined;
155
+ lastError?: string | null | undefined;
156
+ retryAfterRespected?: boolean | undefined;
157
+ };
158
+ commandResult: import('..').PeopleProvisioningItemData["commandResult"] | null;
159
+ securityOutcome: import('..').PeopleProvisioningItemData["securityOutcome"];
160
+ aggregateResult: import('..').PeopleProvisioningItemData["aggregateResult"];
161
+ lastError?: string | undefined;
162
+ } | {
163
+ kind: "milestone";
164
+ ref: string;
165
+ employmentRef: string;
166
+ milestoneKey: NonNullable<NonNullable<import('..').PeopleDeprovisionPlanData["milestones"]>[number]["milestoneKey"]>;
167
+ dueAt: string;
168
+ state: NonNullable<NonNullable<import('..').PeopleDeprovisionPlanData["milestones"]>[number]["status"]>;
169
+ sourcePlanVersion: number;
170
+ requiredOutcomesResult?: Record<string, unknown> | undefined;
171
+ } | {
172
+ kind: "binding";
173
+ ref: string;
174
+ providerRef: string;
175
+ canonicalPersonRef: string;
176
+ state: import('..').PeopleExternalBindingData["state"];
177
+ })[];
178
+ } | null>;
179
+ isLoading: import('vue').Ref<boolean, boolean>;
180
+ loadError: import('vue').Ref<Error | null, Error | null>;
181
+ lastAccessAuditQuery: import('vue').Ref<{
182
+ mode: "who-has-permission" | "who-can-see-field";
183
+ target?: string | undefined;
184
+ field?: string | undefined;
185
+ record?: string | undefined;
186
+ assignmentType?: string | undefined;
187
+ purpose?: string | undefined;
188
+ } | null, PeopleAccessAuditQuery | {
189
+ mode: "who-has-permission" | "who-can-see-field";
190
+ target?: string | undefined;
191
+ field?: string | undefined;
192
+ record?: string | undefined;
193
+ assignmentType?: string | undefined;
194
+ purpose?: string | undefined;
195
+ } | null>;
196
+ hasAccessAuditData: import('vue').ComputedRef<boolean>;
197
+ setSdk: (instance: ICmsSDK) => void;
198
+ runAccessAudit: (query: PeopleAccessAuditQuery) => Promise<void>;
199
+ getProviderHealth: (key: string) => Promise<PeopleProviderHealth | null>;
200
+ getProvisionQueue: (query?: {
201
+ provider?: string;
202
+ employment?: string;
203
+ state?: string;
204
+ }) => Promise<{
205
+ count: number;
206
+ items: PeopleProvisionQueueEntry[];
207
+ } | null>;
208
+ userCallableActions: (ctWireName: string) => readonly string[];
209
+ }, "isLoading" | "loadError" | "lastAccessAuditQuery" | "accessAudit" | "providerHealth" | "provisionQueue">, Pick<{
210
+ accessAudit: import('vue').Ref<{
211
+ mode: PeopleAccessAuditQuery["mode"];
212
+ count: number;
213
+ items: ({
214
+ roles: string[];
215
+ scopeRefs: string[];
216
+ assignmentType: "manual" | "birthright" | "requested" | "emergency" | null;
217
+ purpose: "standard" | "acting" | null;
218
+ subject: string;
219
+ } | {
220
+ allowed: boolean;
221
+ blockedBy: "permission" | "scope" | "fap";
222
+ maskLevel?: "hidden" | "partial" | "full" | undefined;
223
+ subject: string;
224
+ })[];
225
+ durationMs: number;
226
+ } | null, PeopleAccessAuditResult | {
227
+ mode: PeopleAccessAuditQuery["mode"];
228
+ count: number;
229
+ items: ({
230
+ roles: string[];
231
+ scopeRefs: string[];
232
+ assignmentType: "manual" | "birthright" | "requested" | "emergency" | null;
233
+ purpose: "standard" | "acting" | null;
234
+ subject: string;
235
+ } | {
236
+ allowed: boolean;
237
+ blockedBy: "permission" | "scope" | "fap";
238
+ maskLevel?: "hidden" | "partial" | "full" | undefined;
239
+ subject: string;
240
+ })[];
241
+ durationMs: number;
242
+ } | null>;
243
+ providerHealth: import('vue').Ref<{
244
+ providerKey: string;
245
+ providerType: import('..').PeopleProviderConfigData["providerType"];
246
+ state: import('..').PeopleProviderConfigData["state"];
247
+ capabilities: Record<string, string>;
248
+ probeState: {
249
+ lastProbeAt?: string | undefined;
250
+ lastResult?: string | undefined;
251
+ latencyMs?: number | undefined;
252
+ };
253
+ probeHistory: {
254
+ at: string;
255
+ status: "completed" | "failed" | "in_progress";
256
+ durationMs: number;
257
+ error?: string | null | undefined;
258
+ }[];
259
+ openFindings: {
260
+ missing?: number | undefined;
261
+ extra_unmanaged?: number | undefined;
262
+ mismatch?: number | undefined;
263
+ reappeared?: number | undefined;
264
+ unknown_unreachable?: number | undefined;
265
+ execution?: number | undefined;
266
+ };
267
+ healthWindowMinutes: number;
268
+ } | null, PeopleProviderHealth | {
269
+ providerKey: string;
270
+ providerType: import('..').PeopleProviderConfigData["providerType"];
271
+ state: import('..').PeopleProviderConfigData["state"];
272
+ capabilities: Record<string, string>;
273
+ probeState: {
274
+ lastProbeAt?: string | undefined;
275
+ lastResult?: string | undefined;
276
+ latencyMs?: number | undefined;
277
+ };
278
+ probeHistory: {
279
+ at: string;
280
+ status: "completed" | "failed" | "in_progress";
281
+ durationMs: number;
282
+ error?: string | null | undefined;
283
+ }[];
284
+ openFindings: {
285
+ missing?: number | undefined;
286
+ extra_unmanaged?: number | undefined;
287
+ mismatch?: number | undefined;
288
+ reappeared?: number | undefined;
289
+ unknown_unreachable?: number | undefined;
290
+ execution?: number | undefined;
291
+ };
292
+ healthWindowMinutes: number;
293
+ } | null>;
294
+ provisionQueue: import('vue').Ref<{
295
+ count: number;
296
+ items: ({
297
+ kind: "item";
298
+ ref: string;
299
+ providerRef: string;
300
+ employmentRef: string;
301
+ resourceType: string;
302
+ resourceKey: string;
303
+ state: import('..').PeopleProvisioningItemData["state"];
304
+ attempt: {
305
+ count: number;
306
+ max: number;
307
+ nextRetryAt?: string | null | undefined;
308
+ lastError?: string | null | undefined;
309
+ retryAfterRespected?: boolean | undefined;
310
+ };
311
+ commandResult: import('..').PeopleProvisioningItemData["commandResult"] | null;
312
+ securityOutcome: import('..').PeopleProvisioningItemData["securityOutcome"];
313
+ aggregateResult: import('..').PeopleProvisioningItemData["aggregateResult"];
314
+ lastError?: string | undefined;
315
+ } | {
316
+ kind: "milestone";
317
+ ref: string;
318
+ employmentRef: string;
319
+ milestoneKey: NonNullable<NonNullable<import('..').PeopleDeprovisionPlanData["milestones"]>[number]["milestoneKey"]>;
320
+ dueAt: string;
321
+ state: NonNullable<NonNullable<import('..').PeopleDeprovisionPlanData["milestones"]>[number]["status"]>;
322
+ sourcePlanVersion: number;
323
+ requiredOutcomesResult?: Record<string, unknown> | undefined;
324
+ } | {
325
+ kind: "binding";
326
+ ref: string;
327
+ providerRef: string;
328
+ canonicalPersonRef: string;
329
+ state: import('..').PeopleExternalBindingData["state"];
330
+ })[];
331
+ } | null, {
332
+ count: number;
333
+ items: PeopleProvisionQueueEntry[];
334
+ } | {
335
+ count: number;
336
+ items: ({
337
+ kind: "item";
338
+ ref: string;
339
+ providerRef: string;
340
+ employmentRef: string;
341
+ resourceType: string;
342
+ resourceKey: string;
343
+ state: import('..').PeopleProvisioningItemData["state"];
344
+ attempt: {
345
+ count: number;
346
+ max: number;
347
+ nextRetryAt?: string | null | undefined;
348
+ lastError?: string | null | undefined;
349
+ retryAfterRespected?: boolean | undefined;
350
+ };
351
+ commandResult: import('..').PeopleProvisioningItemData["commandResult"] | null;
352
+ securityOutcome: import('..').PeopleProvisioningItemData["securityOutcome"];
353
+ aggregateResult: import('..').PeopleProvisioningItemData["aggregateResult"];
354
+ lastError?: string | undefined;
355
+ } | {
356
+ kind: "milestone";
357
+ ref: string;
358
+ employmentRef: string;
359
+ milestoneKey: NonNullable<NonNullable<import('..').PeopleDeprovisionPlanData["milestones"]>[number]["milestoneKey"]>;
360
+ dueAt: string;
361
+ state: NonNullable<NonNullable<import('..').PeopleDeprovisionPlanData["milestones"]>[number]["status"]>;
362
+ sourcePlanVersion: number;
363
+ requiredOutcomesResult?: Record<string, unknown> | undefined;
364
+ } | {
365
+ kind: "binding";
366
+ ref: string;
367
+ providerRef: string;
368
+ canonicalPersonRef: string;
369
+ state: import('..').PeopleExternalBindingData["state"];
370
+ })[];
371
+ } | null>;
372
+ isLoading: import('vue').Ref<boolean, boolean>;
373
+ loadError: import('vue').Ref<Error | null, Error | null>;
374
+ lastAccessAuditQuery: import('vue').Ref<{
375
+ mode: "who-has-permission" | "who-can-see-field";
376
+ target?: string | undefined;
377
+ field?: string | undefined;
378
+ record?: string | undefined;
379
+ assignmentType?: string | undefined;
380
+ purpose?: string | undefined;
381
+ } | null, PeopleAccessAuditQuery | {
382
+ mode: "who-has-permission" | "who-can-see-field";
383
+ target?: string | undefined;
384
+ field?: string | undefined;
385
+ record?: string | undefined;
386
+ assignmentType?: string | undefined;
387
+ purpose?: string | undefined;
388
+ } | null>;
389
+ hasAccessAuditData: import('vue').ComputedRef<boolean>;
390
+ setSdk: (instance: ICmsSDK) => void;
391
+ runAccessAudit: (query: PeopleAccessAuditQuery) => Promise<void>;
392
+ getProviderHealth: (key: string) => Promise<PeopleProviderHealth | null>;
393
+ getProvisionQueue: (query?: {
394
+ provider?: string;
395
+ employment?: string;
396
+ state?: string;
397
+ }) => Promise<{
398
+ count: number;
399
+ items: PeopleProvisionQueueEntry[];
400
+ } | null>;
401
+ userCallableActions: (ctWireName: string) => readonly string[];
402
+ }, "hasAccessAuditData">, Pick<{
403
+ accessAudit: import('vue').Ref<{
404
+ mode: PeopleAccessAuditQuery["mode"];
405
+ count: number;
406
+ items: ({
407
+ roles: string[];
408
+ scopeRefs: string[];
409
+ assignmentType: "manual" | "birthright" | "requested" | "emergency" | null;
410
+ purpose: "standard" | "acting" | null;
411
+ subject: string;
412
+ } | {
413
+ allowed: boolean;
414
+ blockedBy: "permission" | "scope" | "fap";
415
+ maskLevel?: "hidden" | "partial" | "full" | undefined;
416
+ subject: string;
417
+ })[];
418
+ durationMs: number;
419
+ } | null, PeopleAccessAuditResult | {
420
+ mode: PeopleAccessAuditQuery["mode"];
421
+ count: number;
422
+ items: ({
423
+ roles: string[];
424
+ scopeRefs: string[];
425
+ assignmentType: "manual" | "birthright" | "requested" | "emergency" | null;
426
+ purpose: "standard" | "acting" | null;
427
+ subject: string;
428
+ } | {
429
+ allowed: boolean;
430
+ blockedBy: "permission" | "scope" | "fap";
431
+ maskLevel?: "hidden" | "partial" | "full" | undefined;
432
+ subject: string;
433
+ })[];
434
+ durationMs: number;
435
+ } | null>;
436
+ providerHealth: import('vue').Ref<{
437
+ providerKey: string;
438
+ providerType: import('..').PeopleProviderConfigData["providerType"];
439
+ state: import('..').PeopleProviderConfigData["state"];
440
+ capabilities: Record<string, string>;
441
+ probeState: {
442
+ lastProbeAt?: string | undefined;
443
+ lastResult?: string | undefined;
444
+ latencyMs?: number | undefined;
445
+ };
446
+ probeHistory: {
447
+ at: string;
448
+ status: "completed" | "failed" | "in_progress";
449
+ durationMs: number;
450
+ error?: string | null | undefined;
451
+ }[];
452
+ openFindings: {
453
+ missing?: number | undefined;
454
+ extra_unmanaged?: number | undefined;
455
+ mismatch?: number | undefined;
456
+ reappeared?: number | undefined;
457
+ unknown_unreachable?: number | undefined;
458
+ execution?: number | undefined;
459
+ };
460
+ healthWindowMinutes: number;
461
+ } | null, PeopleProviderHealth | {
462
+ providerKey: string;
463
+ providerType: import('..').PeopleProviderConfigData["providerType"];
464
+ state: import('..').PeopleProviderConfigData["state"];
465
+ capabilities: Record<string, string>;
466
+ probeState: {
467
+ lastProbeAt?: string | undefined;
468
+ lastResult?: string | undefined;
469
+ latencyMs?: number | undefined;
470
+ };
471
+ probeHistory: {
472
+ at: string;
473
+ status: "completed" | "failed" | "in_progress";
474
+ durationMs: number;
475
+ error?: string | null | undefined;
476
+ }[];
477
+ openFindings: {
478
+ missing?: number | undefined;
479
+ extra_unmanaged?: number | undefined;
480
+ mismatch?: number | undefined;
481
+ reappeared?: number | undefined;
482
+ unknown_unreachable?: number | undefined;
483
+ execution?: number | undefined;
484
+ };
485
+ healthWindowMinutes: number;
486
+ } | null>;
487
+ provisionQueue: import('vue').Ref<{
488
+ count: number;
489
+ items: ({
490
+ kind: "item";
491
+ ref: string;
492
+ providerRef: string;
493
+ employmentRef: string;
494
+ resourceType: string;
495
+ resourceKey: string;
496
+ state: import('..').PeopleProvisioningItemData["state"];
497
+ attempt: {
498
+ count: number;
499
+ max: number;
500
+ nextRetryAt?: string | null | undefined;
501
+ lastError?: string | null | undefined;
502
+ retryAfterRespected?: boolean | undefined;
503
+ };
504
+ commandResult: import('..').PeopleProvisioningItemData["commandResult"] | null;
505
+ securityOutcome: import('..').PeopleProvisioningItemData["securityOutcome"];
506
+ aggregateResult: import('..').PeopleProvisioningItemData["aggregateResult"];
507
+ lastError?: string | undefined;
508
+ } | {
509
+ kind: "milestone";
510
+ ref: string;
511
+ employmentRef: string;
512
+ milestoneKey: NonNullable<NonNullable<import('..').PeopleDeprovisionPlanData["milestones"]>[number]["milestoneKey"]>;
513
+ dueAt: string;
514
+ state: NonNullable<NonNullable<import('..').PeopleDeprovisionPlanData["milestones"]>[number]["status"]>;
515
+ sourcePlanVersion: number;
516
+ requiredOutcomesResult?: Record<string, unknown> | undefined;
517
+ } | {
518
+ kind: "binding";
519
+ ref: string;
520
+ providerRef: string;
521
+ canonicalPersonRef: string;
522
+ state: import('..').PeopleExternalBindingData["state"];
523
+ })[];
524
+ } | null, {
525
+ count: number;
526
+ items: PeopleProvisionQueueEntry[];
527
+ } | {
528
+ count: number;
529
+ items: ({
530
+ kind: "item";
531
+ ref: string;
532
+ providerRef: string;
533
+ employmentRef: string;
534
+ resourceType: string;
535
+ resourceKey: string;
536
+ state: import('..').PeopleProvisioningItemData["state"];
537
+ attempt: {
538
+ count: number;
539
+ max: number;
540
+ nextRetryAt?: string | null | undefined;
541
+ lastError?: string | null | undefined;
542
+ retryAfterRespected?: boolean | undefined;
543
+ };
544
+ commandResult: import('..').PeopleProvisioningItemData["commandResult"] | null;
545
+ securityOutcome: import('..').PeopleProvisioningItemData["securityOutcome"];
546
+ aggregateResult: import('..').PeopleProvisioningItemData["aggregateResult"];
547
+ lastError?: string | undefined;
548
+ } | {
549
+ kind: "milestone";
550
+ ref: string;
551
+ employmentRef: string;
552
+ milestoneKey: NonNullable<NonNullable<import('..').PeopleDeprovisionPlanData["milestones"]>[number]["milestoneKey"]>;
553
+ dueAt: string;
554
+ state: NonNullable<NonNullable<import('..').PeopleDeprovisionPlanData["milestones"]>[number]["status"]>;
555
+ sourcePlanVersion: number;
556
+ requiredOutcomesResult?: Record<string, unknown> | undefined;
557
+ } | {
558
+ kind: "binding";
559
+ ref: string;
560
+ providerRef: string;
561
+ canonicalPersonRef: string;
562
+ state: import('..').PeopleExternalBindingData["state"];
563
+ })[];
564
+ } | null>;
565
+ isLoading: import('vue').Ref<boolean, boolean>;
566
+ loadError: import('vue').Ref<Error | null, Error | null>;
567
+ lastAccessAuditQuery: import('vue').Ref<{
568
+ mode: "who-has-permission" | "who-can-see-field";
569
+ target?: string | undefined;
570
+ field?: string | undefined;
571
+ record?: string | undefined;
572
+ assignmentType?: string | undefined;
573
+ purpose?: string | undefined;
574
+ } | null, PeopleAccessAuditQuery | {
575
+ mode: "who-has-permission" | "who-can-see-field";
576
+ target?: string | undefined;
577
+ field?: string | undefined;
578
+ record?: string | undefined;
579
+ assignmentType?: string | undefined;
580
+ purpose?: string | undefined;
581
+ } | null>;
582
+ hasAccessAuditData: import('vue').ComputedRef<boolean>;
583
+ setSdk: (instance: ICmsSDK) => void;
584
+ runAccessAudit: (query: PeopleAccessAuditQuery) => Promise<void>;
585
+ getProviderHealth: (key: string) => Promise<PeopleProviderHealth | null>;
586
+ getProvisionQueue: (query?: {
587
+ provider?: string;
588
+ employment?: string;
589
+ state?: string;
590
+ }) => Promise<{
591
+ count: number;
592
+ items: PeopleProvisionQueueEntry[];
593
+ } | null>;
594
+ userCallableActions: (ctWireName: string) => readonly string[];
595
+ }, "setSdk" | "runAccessAudit" | "getProviderHealth" | "getProvisionQueue" | "userCallableActions">>;
596
+ //# sourceMappingURL=people.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"people.d.ts","sourceRoot":"","sources":["../../src/stores/people.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { PiniaPlugin } from 'pinia';
2
+ /** Per-state persistence options (declared inside a store's `persist.fields`). */
3
+ export interface IPersistFieldOptions {
4
+ /**
5
+ * When true, the field is written through the httpOnly server endpoint
6
+ * (`/api/cms-sdk/persist`) instead of directly on the client. During SSR the
7
+ * plugin still writes it directly via `storage` (server-side setCookie).
8
+ * Default false.
9
+ */
10
+ httpOnly?: boolean;
11
+ }
12
+ /** Per-store persistence config (the `persist` option on a setup store). */
13
+ export interface IPersistConfig {
14
+ /** Namespace prefix for this store's cookies. Each field → cookie `${key}.${field}`. */
15
+ key: string;
16
+ /** Explicit field → options map. Mutually tolerant with `pick` (both may be used). */
17
+ fields?: Record<string, IPersistFieldOptions>;
18
+ /**
19
+ * Shorthand: list of field names to persist as non-httpOnly cookies. Equivalent
20
+ * to `fields: { <name>: {} }` for each. Compatible with the `pick` convention.
21
+ */
22
+ pick?: string[];
23
+ }
24
+ /** Key-value storage the persistence plugin reads from / writes to. */
25
+ export interface IPersistStorage {
26
+ getItem(key: string): string | null;
27
+ setItem(key: string, value: string, opts?: {
28
+ httpOnly?: boolean;
29
+ }): void;
30
+ removeItem(key: string, opts?: {
31
+ httpOnly?: boolean;
32
+ }): void;
33
+ }
34
+ export interface ICreatePersistPluginOptions {
35
+ storage: IPersistStorage;
36
+ /**
37
+ * Persist endpoint used for client-side httpOnly writes. If unset, httpOnly
38
+ * client writes are skipped (e.g. standalone usage without a server).
39
+ */
40
+ httpEndpoint?: string;
41
+ /** True during SSR — the plugin writes cookies directly via `storage`. */
42
+ ssr?: boolean;
43
+ /** Debounce window for writes on the client (ms). Default 150. */
44
+ debounceMs?: number;
45
+ }
46
+ /**
47
+ * Internal, dependency-free Pinia persistence plugin. Cookie-based, per-state,
48
+ * with an optional `httpOnly` flag per state.
49
+ *
50
+ * - `httpOnly: false` (default) → written directly on the client (document.cookie).
51
+ * - `httpOnly: true` → on the client, POSTed to `httpEndpoint` so the server
52
+ * sets the httpOnly cookie; during SSR, written directly via `storage`.
53
+ *
54
+ * Only the states declared in `persist.fields` are persisted (never the whole
55
+ * store, never credentials).
56
+ */
57
+ export declare function createPersistPlugin(options: ICreatePersistPluginOptions): PiniaPlugin;
58
+ //# sourceMappingURL=persist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persist.d.ts","sourceRoot":"","sources":["../../src/stores/persist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAsB,MAAM,OAAO,CAAC;AAE7D,kFAAkF;AAClF,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,wFAAwF;IACxF,GAAG,EAAE,MAAM,CAAC;IACZ,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC9C;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACzE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,eAAe,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,GAAG,WAAW,CAoFrF"}