happy2 0.0.5

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 (373) hide show
  1. package/README.md +82 -0
  2. package/package.json +74 -0
  3. package/packages/happy2-server/Dockerfile +18 -0
  4. package/packages/happy2-server/README.md +418 -0
  5. package/packages/happy2-server/bin/happy2.js +3 -0
  6. package/packages/happy2-server/dist/cli.d.ts +3 -0
  7. package/packages/happy2-server/dist/cli.d.ts.map +1 -0
  8. package/packages/happy2-server/dist/cli.js +44 -0
  9. package/packages/happy2-server/dist/cli.js.map +1 -0
  10. package/packages/happy2-server/dist/index.d.ts +24 -0
  11. package/packages/happy2-server/dist/index.d.ts.map +1 -0
  12. package/packages/happy2-server/dist/index.js +22 -0
  13. package/packages/happy2-server/dist/index.js.map +1 -0
  14. package/packages/happy2-server/dist/modules/agents/builtin-images.d.ts +8 -0
  15. package/packages/happy2-server/dist/modules/agents/builtin-images.d.ts.map +1 -0
  16. package/packages/happy2-server/dist/modules/agents/builtin-images.js +283 -0
  17. package/packages/happy2-server/dist/modules/agents/builtin-images.js.map +1 -0
  18. package/packages/happy2-server/dist/modules/agents/command.d.ts +3 -0
  19. package/packages/happy2-server/dist/modules/agents/command.d.ts.map +1 -0
  20. package/packages/happy2-server/dist/modules/agents/command.js +7 -0
  21. package/packages/happy2-server/dist/modules/agents/command.js.map +1 -0
  22. package/packages/happy2-server/dist/modules/agents/daemon.d.ts +106 -0
  23. package/packages/happy2-server/dist/modules/agents/daemon.d.ts.map +1 -0
  24. package/packages/happy2-server/dist/modules/agents/daemon.js +522 -0
  25. package/packages/happy2-server/dist/modules/agents/daemon.js.map +1 -0
  26. package/packages/happy2-server/dist/modules/agents/docker.d.ts +51 -0
  27. package/packages/happy2-server/dist/modules/agents/docker.d.ts.map +1 -0
  28. package/packages/happy2-server/dist/modules/agents/docker.js +256 -0
  29. package/packages/happy2-server/dist/modules/agents/docker.js.map +1 -0
  30. package/packages/happy2-server/dist/modules/agents/docker.test.d.ts +2 -0
  31. package/packages/happy2-server/dist/modules/agents/docker.test.d.ts.map +1 -0
  32. package/packages/happy2-server/dist/modules/agents/docker.test.js +155 -0
  33. package/packages/happy2-server/dist/modules/agents/docker.test.js.map +1 -0
  34. package/packages/happy2-server/dist/modules/agents/index.d.ts +5 -0
  35. package/packages/happy2-server/dist/modules/agents/index.d.ts.map +1 -0
  36. package/packages/happy2-server/dist/modules/agents/index.js +4 -0
  37. package/packages/happy2-server/dist/modules/agents/index.js.map +1 -0
  38. package/packages/happy2-server/dist/modules/agents/service.d.ts +140 -0
  39. package/packages/happy2-server/dist/modules/agents/service.d.ts.map +1 -0
  40. package/packages/happy2-server/dist/modules/agents/service.js +1283 -0
  41. package/packages/happy2-server/dist/modules/agents/service.js.map +1 -0
  42. package/packages/happy2-server/dist/modules/auth/cloudflare-access.d.ts +15 -0
  43. package/packages/happy2-server/dist/modules/auth/cloudflare-access.d.ts.map +1 -0
  44. package/packages/happy2-server/dist/modules/auth/cloudflare-access.js +49 -0
  45. package/packages/happy2-server/dist/modules/auth/cloudflare-access.js.map +1 -0
  46. package/packages/happy2-server/dist/modules/auth/crypto.d.ts +4 -0
  47. package/packages/happy2-server/dist/modules/auth/crypto.d.ts.map +1 -0
  48. package/packages/happy2-server/dist/modules/auth/crypto.js +31 -0
  49. package/packages/happy2-server/dist/modules/auth/crypto.js.map +1 -0
  50. package/packages/happy2-server/dist/modules/auth/crypto.test.d.ts +2 -0
  51. package/packages/happy2-server/dist/modules/auth/crypto.test.d.ts.map +1 -0
  52. package/packages/happy2-server/dist/modules/auth/crypto.test.js +11 -0
  53. package/packages/happy2-server/dist/modules/auth/crypto.test.js.map +1 -0
  54. package/packages/happy2-server/dist/modules/auth/email.d.ts +3 -0
  55. package/packages/happy2-server/dist/modules/auth/email.d.ts.map +1 -0
  56. package/packages/happy2-server/dist/modules/auth/email.js +22 -0
  57. package/packages/happy2-server/dist/modules/auth/email.js.map +1 -0
  58. package/packages/happy2-server/dist/modules/auth/metadata.d.ts +5 -0
  59. package/packages/happy2-server/dist/modules/auth/metadata.d.ts.map +1 -0
  60. package/packages/happy2-server/dist/modules/auth/metadata.js +28 -0
  61. package/packages/happy2-server/dist/modules/auth/metadata.js.map +1 -0
  62. package/packages/happy2-server/dist/modules/auth/metadata.test.d.ts +2 -0
  63. package/packages/happy2-server/dist/modules/auth/metadata.test.d.ts.map +1 -0
  64. package/packages/happy2-server/dist/modules/auth/metadata.test.js +10 -0
  65. package/packages/happy2-server/dist/modules/auth/metadata.test.js.map +1 -0
  66. package/packages/happy2-server/dist/modules/auth/methods.d.ts +10 -0
  67. package/packages/happy2-server/dist/modules/auth/methods.d.ts.map +1 -0
  68. package/packages/happy2-server/dist/modules/auth/methods.js +21 -0
  69. package/packages/happy2-server/dist/modules/auth/methods.js.map +1 -0
  70. package/packages/happy2-server/dist/modules/auth/methods.test.d.ts +2 -0
  71. package/packages/happy2-server/dist/modules/auth/methods.test.d.ts.map +1 -0
  72. package/packages/happy2-server/dist/modules/auth/methods.test.js +16 -0
  73. package/packages/happy2-server/dist/modules/auth/methods.test.js.map +1 -0
  74. package/packages/happy2-server/dist/modules/auth/oidc.d.ts +9 -0
  75. package/packages/happy2-server/dist/modules/auth/oidc.d.ts.map +1 -0
  76. package/packages/happy2-server/dist/modules/auth/oidc.js +68 -0
  77. package/packages/happy2-server/dist/modules/auth/oidc.js.map +1 -0
  78. package/packages/happy2-server/dist/modules/auth/service.d.ts +44 -0
  79. package/packages/happy2-server/dist/modules/auth/service.d.ts.map +1 -0
  80. package/packages/happy2-server/dist/modules/auth/service.js +208 -0
  81. package/packages/happy2-server/dist/modules/auth/service.js.map +1 -0
  82. package/packages/happy2-server/dist/modules/auth/tokens.d.ts +21 -0
  83. package/packages/happy2-server/dist/modules/auth/tokens.d.ts.map +1 -0
  84. package/packages/happy2-server/dist/modules/auth/tokens.js +79 -0
  85. package/packages/happy2-server/dist/modules/auth/tokens.js.map +1 -0
  86. package/packages/happy2-server/dist/modules/automation/repository.d.ts +127 -0
  87. package/packages/happy2-server/dist/modules/automation/repository.d.ts.map +1 -0
  88. package/packages/happy2-server/dist/modules/automation/repository.js +821 -0
  89. package/packages/happy2-server/dist/modules/automation/repository.js.map +1 -0
  90. package/packages/happy2-server/dist/modules/collaboration/repository.d.ts +839 -0
  91. package/packages/happy2-server/dist/modules/collaboration/repository.d.ts.map +1 -0
  92. package/packages/happy2-server/dist/modules/collaboration/repository.js +5795 -0
  93. package/packages/happy2-server/dist/modules/collaboration/repository.js.map +1 -0
  94. package/packages/happy2-server/dist/modules/collaboration/repository.test.d.ts +2 -0
  95. package/packages/happy2-server/dist/modules/collaboration/repository.test.d.ts.map +1 -0
  96. package/packages/happy2-server/dist/modules/collaboration/repository.test.js +620 -0
  97. package/packages/happy2-server/dist/modules/collaboration/repository.test.js.map +1 -0
  98. package/packages/happy2-server/dist/modules/collaboration/types.d.ts +243 -0
  99. package/packages/happy2-server/dist/modules/collaboration/types.d.ts.map +1 -0
  100. package/packages/happy2-server/dist/modules/collaboration/types.js +8 -0
  101. package/packages/happy2-server/dist/modules/collaboration/types.js.map +1 -0
  102. package/packages/happy2-server/dist/modules/config/defaults.d.ts +8 -0
  103. package/packages/happy2-server/dist/modules/config/defaults.d.ts.map +1 -0
  104. package/packages/happy2-server/dist/modules/config/defaults.js +70 -0
  105. package/packages/happy2-server/dist/modules/config/defaults.js.map +1 -0
  106. package/packages/happy2-server/dist/modules/config/defaults.test.d.ts +2 -0
  107. package/packages/happy2-server/dist/modules/config/defaults.test.d.ts.map +1 -0
  108. package/packages/happy2-server/dist/modules/config/defaults.test.js +27 -0
  109. package/packages/happy2-server/dist/modules/config/defaults.test.js.map +1 -0
  110. package/packages/happy2-server/dist/modules/config/environment.d.ts +4 -0
  111. package/packages/happy2-server/dist/modules/config/environment.d.ts.map +1 -0
  112. package/packages/happy2-server/dist/modules/config/environment.js +92 -0
  113. package/packages/happy2-server/dist/modules/config/environment.js.map +1 -0
  114. package/packages/happy2-server/dist/modules/config/loader.d.ts +5 -0
  115. package/packages/happy2-server/dist/modules/config/loader.d.ts.map +1 -0
  116. package/packages/happy2-server/dist/modules/config/loader.js +251 -0
  117. package/packages/happy2-server/dist/modules/config/loader.js.map +1 -0
  118. package/packages/happy2-server/dist/modules/config/loader.test.d.ts +2 -0
  119. package/packages/happy2-server/dist/modules/config/loader.test.d.ts.map +1 -0
  120. package/packages/happy2-server/dist/modules/config/loader.test.js +108 -0
  121. package/packages/happy2-server/dist/modules/config/loader.test.js.map +1 -0
  122. package/packages/happy2-server/dist/modules/config/paths.d.ts +7 -0
  123. package/packages/happy2-server/dist/modules/config/paths.d.ts.map +1 -0
  124. package/packages/happy2-server/dist/modules/config/paths.js +15 -0
  125. package/packages/happy2-server/dist/modules/config/paths.js.map +1 -0
  126. package/packages/happy2-server/dist/modules/config/paths.test.d.ts +2 -0
  127. package/packages/happy2-server/dist/modules/config/paths.test.d.ts.map +1 -0
  128. package/packages/happy2-server/dist/modules/config/paths.test.js +22 -0
  129. package/packages/happy2-server/dist/modules/config/paths.test.js.map +1 -0
  130. package/packages/happy2-server/dist/modules/config/runtime.d.ts +6 -0
  131. package/packages/happy2-server/dist/modules/config/runtime.d.ts.map +1 -0
  132. package/packages/happy2-server/dist/modules/config/runtime.js +14 -0
  133. package/packages/happy2-server/dist/modules/config/runtime.js.map +1 -0
  134. package/packages/happy2-server/dist/modules/config/type.d.ts +88 -0
  135. package/packages/happy2-server/dist/modules/config/type.d.ts.map +1 -0
  136. package/packages/happy2-server/dist/modules/config/type.js +2 -0
  137. package/packages/happy2-server/dist/modules/config/type.js.map +1 -0
  138. package/packages/happy2-server/dist/modules/database.d.ts +105 -0
  139. package/packages/happy2-server/dist/modules/database.d.ts.map +1 -0
  140. package/packages/happy2-server/dist/modules/database.js +583 -0
  141. package/packages/happy2-server/dist/modules/database.js.map +1 -0
  142. package/packages/happy2-server/dist/modules/drizzle.d.ts +11 -0
  143. package/packages/happy2-server/dist/modules/drizzle.d.ts.map +1 -0
  144. package/packages/happy2-server/dist/modules/drizzle.js +31 -0
  145. package/packages/happy2-server/dist/modules/drizzle.js.map +1 -0
  146. package/packages/happy2-server/dist/modules/files/lock.d.ts +3 -0
  147. package/packages/happy2-server/dist/modules/files/lock.d.ts.map +1 -0
  148. package/packages/happy2-server/dist/modules/files/lock.js +83 -0
  149. package/packages/happy2-server/dist/modules/files/lock.js.map +1 -0
  150. package/packages/happy2-server/dist/modules/files/media.d.ts +18 -0
  151. package/packages/happy2-server/dist/modules/files/media.d.ts.map +1 -0
  152. package/packages/happy2-server/dist/modules/files/media.js +352 -0
  153. package/packages/happy2-server/dist/modules/files/media.js.map +1 -0
  154. package/packages/happy2-server/dist/modules/files/provider.d.ts +130 -0
  155. package/packages/happy2-server/dist/modules/files/provider.d.ts.map +1 -0
  156. package/packages/happy2-server/dist/modules/files/provider.js +448 -0
  157. package/packages/happy2-server/dist/modules/files/provider.js.map +1 -0
  158. package/packages/happy2-server/dist/modules/files/quota.d.ts +58 -0
  159. package/packages/happy2-server/dist/modules/files/quota.d.ts.map +1 -0
  160. package/packages/happy2-server/dist/modules/files/quota.js +180 -0
  161. package/packages/happy2-server/dist/modules/files/quota.js.map +1 -0
  162. package/packages/happy2-server/dist/modules/files/routes.test.d.ts +2 -0
  163. package/packages/happy2-server/dist/modules/files/routes.test.d.ts.map +1 -0
  164. package/packages/happy2-server/dist/modules/files/routes.test.js +163 -0
  165. package/packages/happy2-server/dist/modules/files/routes.test.js.map +1 -0
  166. package/packages/happy2-server/dist/modules/files/scanner.d.ts +27 -0
  167. package/packages/happy2-server/dist/modules/files/scanner.d.ts.map +1 -0
  168. package/packages/happy2-server/dist/modules/files/scanner.js +66 -0
  169. package/packages/happy2-server/dist/modules/files/scanner.js.map +1 -0
  170. package/packages/happy2-server/dist/modules/files/storage.d.ts +95 -0
  171. package/packages/happy2-server/dist/modules/files/storage.d.ts.map +1 -0
  172. package/packages/happy2-server/dist/modules/files/storage.js +855 -0
  173. package/packages/happy2-server/dist/modules/files/storage.js.map +1 -0
  174. package/packages/happy2-server/dist/modules/files/storage.test.d.ts +2 -0
  175. package/packages/happy2-server/dist/modules/files/storage.test.d.ts.map +1 -0
  176. package/packages/happy2-server/dist/modules/files/storage.test.js +170 -0
  177. package/packages/happy2-server/dist/modules/files/storage.test.js.map +1 -0
  178. package/packages/happy2-server/dist/modules/integrations/index.d.ts +6 -0
  179. package/packages/happy2-server/dist/modules/integrations/index.d.ts.map +1 -0
  180. package/packages/happy2-server/dist/modules/integrations/index.js +6 -0
  181. package/packages/happy2-server/dist/modules/integrations/index.js.map +1 -0
  182. package/packages/happy2-server/dist/modules/integrations/repository.d.ts +136 -0
  183. package/packages/happy2-server/dist/modules/integrations/repository.d.ts.map +1 -0
  184. package/packages/happy2-server/dist/modules/integrations/repository.js +1229 -0
  185. package/packages/happy2-server/dist/modules/integrations/repository.js.map +1 -0
  186. package/packages/happy2-server/dist/modules/integrations/repository.test.d.ts +2 -0
  187. package/packages/happy2-server/dist/modules/integrations/repository.test.d.ts.map +1 -0
  188. package/packages/happy2-server/dist/modules/integrations/repository.test.js +345 -0
  189. package/packages/happy2-server/dist/modules/integrations/repository.test.js.map +1 -0
  190. package/packages/happy2-server/dist/modules/integrations/routes.test.d.ts +2 -0
  191. package/packages/happy2-server/dist/modules/integrations/routes.test.d.ts.map +1 -0
  192. package/packages/happy2-server/dist/modules/integrations/routes.test.js +161 -0
  193. package/packages/happy2-server/dist/modules/integrations/routes.test.js.map +1 -0
  194. package/packages/happy2-server/dist/modules/integrations/secrets.d.ts +19 -0
  195. package/packages/happy2-server/dist/modules/integrations/secrets.d.ts.map +1 -0
  196. package/packages/happy2-server/dist/modules/integrations/secrets.js +69 -0
  197. package/packages/happy2-server/dist/modules/integrations/secrets.js.map +1 -0
  198. package/packages/happy2-server/dist/modules/integrations/ssrf.d.ts +32 -0
  199. package/packages/happy2-server/dist/modules/integrations/ssrf.d.ts.map +1 -0
  200. package/packages/happy2-server/dist/modules/integrations/ssrf.js +185 -0
  201. package/packages/happy2-server/dist/modules/integrations/ssrf.js.map +1 -0
  202. package/packages/happy2-server/dist/modules/integrations/ssrf.test.d.ts +2 -0
  203. package/packages/happy2-server/dist/modules/integrations/ssrf.test.d.ts.map +1 -0
  204. package/packages/happy2-server/dist/modules/integrations/ssrf.test.js +56 -0
  205. package/packages/happy2-server/dist/modules/integrations/ssrf.test.js.map +1 -0
  206. package/packages/happy2-server/dist/modules/integrations/transport.d.ts +21 -0
  207. package/packages/happy2-server/dist/modules/integrations/transport.d.ts.map +1 -0
  208. package/packages/happy2-server/dist/modules/integrations/transport.js +108 -0
  209. package/packages/happy2-server/dist/modules/integrations/transport.js.map +1 -0
  210. package/packages/happy2-server/dist/modules/integrations/transport.test.d.ts +2 -0
  211. package/packages/happy2-server/dist/modules/integrations/transport.test.d.ts.map +1 -0
  212. package/packages/happy2-server/dist/modules/integrations/transport.test.js +66 -0
  213. package/packages/happy2-server/dist/modules/integrations/transport.test.js.map +1 -0
  214. package/packages/happy2-server/dist/modules/integrations/types.d.ts +155 -0
  215. package/packages/happy2-server/dist/modules/integrations/types.d.ts.map +1 -0
  216. package/packages/happy2-server/dist/modules/integrations/types.js +26 -0
  217. package/packages/happy2-server/dist/modules/integrations/types.js.map +1 -0
  218. package/packages/happy2-server/dist/modules/operations/export-worker.d.ts +16 -0
  219. package/packages/happy2-server/dist/modules/operations/export-worker.d.ts.map +1 -0
  220. package/packages/happy2-server/dist/modules/operations/export-worker.js +56 -0
  221. package/packages/happy2-server/dist/modules/operations/export-worker.js.map +1 -0
  222. package/packages/happy2-server/dist/modules/operations/repository.d.ts +215 -0
  223. package/packages/happy2-server/dist/modules/operations/repository.d.ts.map +1 -0
  224. package/packages/happy2-server/dist/modules/operations/repository.js +2011 -0
  225. package/packages/happy2-server/dist/modules/operations/repository.js.map +1 -0
  226. package/packages/happy2-server/dist/modules/operations/repository.test.d.ts +2 -0
  227. package/packages/happy2-server/dist/modules/operations/repository.test.d.ts.map +1 -0
  228. package/packages/happy2-server/dist/modules/operations/repository.test.js +610 -0
  229. package/packages/happy2-server/dist/modules/operations/repository.test.js.map +1 -0
  230. package/packages/happy2-server/dist/modules/operations/types.d.ts +144 -0
  231. package/packages/happy2-server/dist/modules/operations/types.d.ts.map +1 -0
  232. package/packages/happy2-server/dist/modules/operations/types.js +9 -0
  233. package/packages/happy2-server/dist/modules/operations/types.js.map +1 -0
  234. package/packages/happy2-server/dist/modules/realtime/events.d.ts +99 -0
  235. package/packages/happy2-server/dist/modules/realtime/events.d.ts.map +1 -0
  236. package/packages/happy2-server/dist/modules/realtime/events.js +173 -0
  237. package/packages/happy2-server/dist/modules/realtime/events.js.map +1 -0
  238. package/packages/happy2-server/dist/modules/realtime/index.d.ts +4 -0
  239. package/packages/happy2-server/dist/modules/realtime/index.d.ts.map +1 -0
  240. package/packages/happy2-server/dist/modules/realtime/index.js +4 -0
  241. package/packages/happy2-server/dist/modules/realtime/index.js.map +1 -0
  242. package/packages/happy2-server/dist/modules/realtime/local.d.ts +37 -0
  243. package/packages/happy2-server/dist/modules/realtime/local.d.ts.map +1 -0
  244. package/packages/happy2-server/dist/modules/realtime/local.js +181 -0
  245. package/packages/happy2-server/dist/modules/realtime/local.js.map +1 -0
  246. package/packages/happy2-server/dist/modules/realtime/local.test.d.ts +2 -0
  247. package/packages/happy2-server/dist/modules/realtime/local.test.d.ts.map +1 -0
  248. package/packages/happy2-server/dist/modules/realtime/local.test.js +186 -0
  249. package/packages/happy2-server/dist/modules/realtime/local.test.js.map +1 -0
  250. package/packages/happy2-server/dist/modules/realtime/pubsub.d.ts +26 -0
  251. package/packages/happy2-server/dist/modules/realtime/pubsub.d.ts.map +1 -0
  252. package/packages/happy2-server/dist/modules/realtime/pubsub.js +7 -0
  253. package/packages/happy2-server/dist/modules/realtime/pubsub.js.map +1 -0
  254. package/packages/happy2-server/dist/modules/request/database-idempotency.d.ts +15 -0
  255. package/packages/happy2-server/dist/modules/request/database-idempotency.d.ts.map +1 -0
  256. package/packages/happy2-server/dist/modules/request/database-idempotency.js +141 -0
  257. package/packages/happy2-server/dist/modules/request/database-idempotency.js.map +1 -0
  258. package/packages/happy2-server/dist/modules/request/idempotency-hook.d.ts +12 -0
  259. package/packages/happy2-server/dist/modules/request/idempotency-hook.d.ts.map +1 -0
  260. package/packages/happy2-server/dist/modules/request/idempotency-hook.js +98 -0
  261. package/packages/happy2-server/dist/modules/request/idempotency-hook.js.map +1 -0
  262. package/packages/happy2-server/dist/modules/request/idempotency.d.ts +146 -0
  263. package/packages/happy2-server/dist/modules/request/idempotency.d.ts.map +1 -0
  264. package/packages/happy2-server/dist/modules/request/idempotency.js +312 -0
  265. package/packages/happy2-server/dist/modules/request/idempotency.js.map +1 -0
  266. package/packages/happy2-server/dist/modules/request/idempotency.test.d.ts +2 -0
  267. package/packages/happy2-server/dist/modules/request/idempotency.test.d.ts.map +1 -0
  268. package/packages/happy2-server/dist/modules/request/idempotency.test.js +191 -0
  269. package/packages/happy2-server/dist/modules/request/idempotency.test.js.map +1 -0
  270. package/packages/happy2-server/dist/modules/request/index.d.ts +5 -0
  271. package/packages/happy2-server/dist/modules/request/index.d.ts.map +1 -0
  272. package/packages/happy2-server/dist/modules/request/index.js +5 -0
  273. package/packages/happy2-server/dist/modules/request/index.js.map +1 -0
  274. package/packages/happy2-server/dist/modules/request/rate-limit.d.ts +100 -0
  275. package/packages/happy2-server/dist/modules/request/rate-limit.d.ts.map +1 -0
  276. package/packages/happy2-server/dist/modules/request/rate-limit.js +239 -0
  277. package/packages/happy2-server/dist/modules/request/rate-limit.js.map +1 -0
  278. package/packages/happy2-server/dist/modules/request/rate-limit.test.d.ts +2 -0
  279. package/packages/happy2-server/dist/modules/request/rate-limit.test.d.ts.map +1 -0
  280. package/packages/happy2-server/dist/modules/request/rate-limit.test.js +123 -0
  281. package/packages/happy2-server/dist/modules/request/rate-limit.test.js.map +1 -0
  282. package/packages/happy2-server/dist/modules/schema.d.ts +31454 -0
  283. package/packages/happy2-server/dist/modules/schema.d.ts.map +1 -0
  284. package/packages/happy2-server/dist/modules/schema.js +1081 -0
  285. package/packages/happy2-server/dist/modules/schema.js.map +1 -0
  286. package/packages/happy2-server/dist/modules/workspace/index.d.ts +3 -0
  287. package/packages/happy2-server/dist/modules/workspace/index.d.ts.map +1 -0
  288. package/packages/happy2-server/dist/modules/workspace/index.js +3 -0
  289. package/packages/happy2-server/dist/modules/workspace/index.js.map +1 -0
  290. package/packages/happy2-server/dist/modules/workspace/service.d.ts +54 -0
  291. package/packages/happy2-server/dist/modules/workspace/service.d.ts.map +1 -0
  292. package/packages/happy2-server/dist/modules/workspace/service.js +997 -0
  293. package/packages/happy2-server/dist/modules/workspace/service.js.map +1 -0
  294. package/packages/happy2-server/dist/modules/workspace/types.d.ts +58 -0
  295. package/packages/happy2-server/dist/modules/workspace/types.d.ts.map +1 -0
  296. package/packages/happy2-server/dist/modules/workspace/types.js +11 -0
  297. package/packages/happy2-server/dist/modules/workspace/types.js.map +1 -0
  298. package/packages/happy2-server/dist/routes/agents.d.ts +5 -0
  299. package/packages/happy2-server/dist/routes/agents.d.ts.map +1 -0
  300. package/packages/happy2-server/dist/routes/agents.js +225 -0
  301. package/packages/happy2-server/dist/routes/agents.js.map +1 -0
  302. package/packages/happy2-server/dist/routes/auth.d.ts +5 -0
  303. package/packages/happy2-server/dist/routes/auth.d.ts.map +1 -0
  304. package/packages/happy2-server/dist/routes/auth.js +128 -0
  305. package/packages/happy2-server/dist/routes/auth.js.map +1 -0
  306. package/packages/happy2-server/dist/routes/automation.d.ts +6 -0
  307. package/packages/happy2-server/dist/routes/automation.d.ts.map +1 -0
  308. package/packages/happy2-server/dist/routes/automation.js +315 -0
  309. package/packages/happy2-server/dist/routes/automation.js.map +1 -0
  310. package/packages/happy2-server/dist/routes/basic.d.ts +3 -0
  311. package/packages/happy2-server/dist/routes/basic.d.ts.map +1 -0
  312. package/packages/happy2-server/dist/routes/basic.js +5 -0
  313. package/packages/happy2-server/dist/routes/basic.js.map +1 -0
  314. package/packages/happy2-server/dist/routes/collaboration.d.ts +7 -0
  315. package/packages/happy2-server/dist/routes/collaboration.d.ts.map +1 -0
  316. package/packages/happy2-server/dist/routes/collaboration.js +1285 -0
  317. package/packages/happy2-server/dist/routes/collaboration.js.map +1 -0
  318. package/packages/happy2-server/dist/routes/files.d.ts +9 -0
  319. package/packages/happy2-server/dist/routes/files.d.ts.map +1 -0
  320. package/packages/happy2-server/dist/routes/files.js +397 -0
  321. package/packages/happy2-server/dist/routes/files.js.map +1 -0
  322. package/packages/happy2-server/dist/routes/integrations.d.ts +6 -0
  323. package/packages/happy2-server/dist/routes/integrations.d.ts.map +1 -0
  324. package/packages/happy2-server/dist/routes/integrations.js +486 -0
  325. package/packages/happy2-server/dist/routes/integrations.js.map +1 -0
  326. package/packages/happy2-server/dist/routes/operations.d.ts +5 -0
  327. package/packages/happy2-server/dist/routes/operations.d.ts.map +1 -0
  328. package/packages/happy2-server/dist/routes/operations.js +588 -0
  329. package/packages/happy2-server/dist/routes/operations.js.map +1 -0
  330. package/packages/happy2-server/dist/routes/operations.test.d.ts +2 -0
  331. package/packages/happy2-server/dist/routes/operations.test.d.ts.map +1 -0
  332. package/packages/happy2-server/dist/routes/operations.test.js +106 -0
  333. package/packages/happy2-server/dist/routes/operations.test.js.map +1 -0
  334. package/packages/happy2-server/dist/routes/sync.d.ts +6 -0
  335. package/packages/happy2-server/dist/routes/sync.d.ts.map +1 -0
  336. package/packages/happy2-server/dist/routes/sync.js +549 -0
  337. package/packages/happy2-server/dist/routes/sync.js.map +1 -0
  338. package/packages/happy2-server/dist/routes/workspace.d.ts +5 -0
  339. package/packages/happy2-server/dist/routes/workspace.d.ts.map +1 -0
  340. package/packages/happy2-server/dist/routes/workspace.js +240 -0
  341. package/packages/happy2-server/dist/routes/workspace.js.map +1 -0
  342. package/packages/happy2-server/dist/runner.d.ts +3 -0
  343. package/packages/happy2-server/dist/runner.d.ts.map +1 -0
  344. package/packages/happy2-server/dist/runner.js +30 -0
  345. package/packages/happy2-server/dist/runner.js.map +1 -0
  346. package/packages/happy2-server/dist/server.d.ts +32 -0
  347. package/packages/happy2-server/dist/server.d.ts.map +1 -0
  348. package/packages/happy2-server/dist/server.js +284 -0
  349. package/packages/happy2-server/dist/server.js.map +1 -0
  350. package/packages/happy2-server/dist/standalone.d.ts +13 -0
  351. package/packages/happy2-server/dist/standalone.d.ts.map +1 -0
  352. package/packages/happy2-server/dist/standalone.js +99 -0
  353. package/packages/happy2-server/dist/standalone.js.map +1 -0
  354. package/packages/happy2-server/dist/web/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2 +0 -0
  355. package/packages/happy2-server/dist/web/assets/happy-otter-Q2O_g-DT.png +0 -0
  356. package/packages/happy2-server/dist/web/assets/index-COvbX8JP.css +2 -0
  357. package/packages/happy2-server/dist/web/assets/index-DdpugxMO.js +57 -0
  358. package/packages/happy2-server/dist/web/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
  359. package/packages/happy2-server/dist/web/assets/onboarding-CRUpq9xl.png +0 -0
  360. package/packages/happy2-server/dist/web/index.html +13 -0
  361. package/packages/happy2-server/drizzle/0000_initial.sql +13 -0
  362. package/packages/happy2-server/drizzle/0001_accounts_profiles_files.sql +42 -0
  363. package/packages/happy2-server/drizzle/0002_file_visibility_and_uploader.sql +5 -0
  364. package/packages/happy2-server/drizzle/0003_collaboration.sql +565 -0
  365. package/packages/happy2-server/drizzle/0004_collaboration_expansion.sql +1099 -0
  366. package/packages/happy2-server/drizzle/0005_ai_agents.sql +85 -0
  367. package/packages/happy2-server/drizzle/0006_rig_global_event_queue.sql +10 -0
  368. package/packages/happy2-server/drizzle/0007_rename_server_identity.sql +3 -0
  369. package/packages/happy2-server/drizzle/0008_agent_message_streaming.sql +47 -0
  370. package/packages/happy2-server/drizzle/0009_chat_workspace_binding_lookup.sql +2 -0
  371. package/packages/happy2-server/drizzle/0010_rig_secret_assignments.sql +21 -0
  372. package/packages/happy2-server/drizzle/meta/_journal.json +83 -0
  373. package/packages/happy2-server/happy2.example.toml +104 -0
@@ -0,0 +1,588 @@
1
+ import { requestMetadata } from "../modules/auth/metadata.js";
2
+ import { OperationsError, } from "../modules/operations/types.js";
3
+ const MAX_ID_LENGTH = 128;
4
+ const MAX_CURSOR_LENGTH = 1_024;
5
+ const MAX_JSON_BYTES = 32_768;
6
+ export function registerOperationsRoutes(app, auth, repository) {
7
+ app.get("/v0/admin/auditLogs", authenticated(auth, async (request, _reply, actorUserId) => {
8
+ const query = requestQuery(request, [
9
+ "action",
10
+ "targetType",
11
+ "targetId",
12
+ "actorUserId",
13
+ "before",
14
+ "limit",
15
+ ]);
16
+ const result = await repository.listAuditLog({
17
+ actorUserId,
18
+ action: optionalString(query, "action", 200),
19
+ targetType: optionalString(query, "targetType", 100),
20
+ targetId: optionalId(query, "targetId"),
21
+ auditedActorUserId: optionalId(query, "actorUserId"),
22
+ before: optionalCursor(query),
23
+ limit: limit(query),
24
+ });
25
+ return { auditLogs: result.items, nextCursor: result.nextCursor };
26
+ }));
27
+ app.get("/v0/admin/bans", authenticated(auth, async (request, _reply, actorUserId) => {
28
+ const query = requestQuery(request, ["userId", "status", "before", "limit"]);
29
+ const result = await repository.listBans({
30
+ actorUserId,
31
+ targetUserId: optionalId(query, "userId"),
32
+ status: optionalEnum(query, "status", ["active", "expired", "revoked"]),
33
+ before: optionalCursor(query),
34
+ limit: limit(query),
35
+ });
36
+ return { bans: result.items, nextCursor: result.nextCursor };
37
+ }));
38
+ app.post("/v0/admin/users/:userId/applyBan", authenticated(auth, async (request, reply, actorUserId) => {
39
+ const body = requestBody(request, ["reason", "expiresAt"]);
40
+ const ban = await repository.applyBan({
41
+ actorUserId,
42
+ targetUserId: pathId(request, "userId"),
43
+ reason: optionalString(body, "reason", 2_000),
44
+ expiresAt: optionalTimestamp(body, "expiresAt"),
45
+ context: auditContext(request),
46
+ });
47
+ return reply.code(201).send({ ban });
48
+ }));
49
+ app.post("/v0/admin/users/:userId/revokeBan", authenticated(auth, async (request, _reply, actorUserId) => {
50
+ const body = requestBody(request, ["reason"]);
51
+ return {
52
+ ban: await repository.revokeBan({
53
+ actorUserId,
54
+ targetUserId: pathId(request, "userId"),
55
+ reason: optionalString(body, "reason", 2_000),
56
+ context: auditContext(request),
57
+ }),
58
+ };
59
+ }));
60
+ app.post("/v0/admin/expireBans", authenticated(auth, async (request, _reply, actorUserId) => {
61
+ emptyBody(request);
62
+ return {
63
+ expired: await repository.expireDueBans({
64
+ actorUserId,
65
+ context: auditContext(request),
66
+ }),
67
+ };
68
+ }));
69
+ app.post("/v0/reports/createReport", authenticated(auth, async (request, reply, actorUserId) => {
70
+ const body = requestBody(request, [
71
+ "targetUserId",
72
+ "chatId",
73
+ "messageId",
74
+ "fileId",
75
+ "reason",
76
+ "details",
77
+ ]);
78
+ const report = await repository.createReport({
79
+ actorUserId,
80
+ targetUserId: optionalId(body, "targetUserId"),
81
+ chatId: optionalId(body, "chatId"),
82
+ messageId: optionalId(body, "messageId"),
83
+ fileId: optionalId(body, "fileId"),
84
+ reason: requiredString(body, "reason", 2_000),
85
+ details: optionalString(body, "details", 20_000),
86
+ context: auditContext(request),
87
+ });
88
+ return reply.code(201).send({ report });
89
+ }));
90
+ app.get("/v0/admin/reports", authenticated(auth, async (request, _reply, actorUserId) => {
91
+ const query = requestQuery(request, ["status", "assignedToUserId", "before", "limit"]);
92
+ const result = await repository.listReports({
93
+ actorUserId,
94
+ status: optionalEnum(query, "status", [
95
+ "open",
96
+ "reviewing",
97
+ "resolved",
98
+ "dismissed",
99
+ ]),
100
+ assignedToUserId: optionalId(query, "assignedToUserId"),
101
+ before: optionalCursor(query),
102
+ limit: limit(query),
103
+ });
104
+ return { reports: result.items, nextCursor: result.nextCursor };
105
+ }));
106
+ app.post("/v0/admin/reports/:reportId/updateReport", authenticated(auth, async (request, _reply, actorUserId) => {
107
+ const body = requestBody(request, ["status", "assignedToUserId", "resolution"]);
108
+ return {
109
+ report: await repository.updateReport({
110
+ actorUserId,
111
+ reportId: pathId(request, "reportId"),
112
+ status: optionalEnum(body, "status", [
113
+ "open",
114
+ "reviewing",
115
+ "resolved",
116
+ "dismissed",
117
+ ]),
118
+ assignedToUserId: nullableId(body, "assignedToUserId"),
119
+ resolution: nullableString(body, "resolution", 20_000),
120
+ context: auditContext(request),
121
+ }),
122
+ };
123
+ }));
124
+ app.post("/v0/admin/reports/:reportId/takeAction", authenticated(auth, async (request, _reply, actorUserId) => {
125
+ const body = requestBody(request, ["action", "reason", "expiresAt", "metadata"]);
126
+ return repository.takeModerationAction({
127
+ actorUserId,
128
+ reportId: pathId(request, "reportId"),
129
+ action: requiredEnum(body, "action", [
130
+ "warn",
131
+ "restrict",
132
+ "remove_message",
133
+ "remove_file",
134
+ "ban",
135
+ "unban",
136
+ "delete_user",
137
+ ]),
138
+ reason: optionalString(body, "reason", 2_000),
139
+ expiresAt: optionalTimestamp(body, "expiresAt"),
140
+ metadata: optionalJsonObject(body, "metadata"),
141
+ context: auditContext(request),
142
+ });
143
+ }));
144
+ app.post("/v0/admin/moderationActions/:actionId/revokeAction", authenticated(auth, async (request, _reply, actorUserId) => {
145
+ const body = requestBody(request, ["reason"]);
146
+ return repository.revokeModerationAction({
147
+ actorUserId,
148
+ actionId: pathId(request, "actionId"),
149
+ reason: optionalString(body, "reason", 2_000),
150
+ context: auditContext(request),
151
+ });
152
+ }));
153
+ app.post("/v0/me/requestDataExport", authenticated(auth, async (request, reply, actorUserId) => {
154
+ const body = requestBody(request, ["options", "expiresAt"]);
155
+ const dataExport = await repository.requestDataExport({
156
+ actorUserId,
157
+ kind: "user_data",
158
+ options: optionalJsonObject(body, "options"),
159
+ expiresAt: optionalTimestamp(body, "expiresAt"),
160
+ context: auditContext(request),
161
+ });
162
+ return reply.code(202).send({ dataExport });
163
+ }));
164
+ app.post("/v0/dataExports/requestChatExport", authenticated(auth, async (request, reply, actorUserId) => {
165
+ const body = requestBody(request, ["chatId", "options", "expiresAt"]);
166
+ const dataExport = await repository.requestDataExport({
167
+ actorUserId,
168
+ kind: "chat_history",
169
+ targetId: requiredId(body, "chatId"),
170
+ options: optionalJsonObject(body, "options"),
171
+ expiresAt: optionalTimestamp(body, "expiresAt"),
172
+ context: auditContext(request),
173
+ });
174
+ return reply.code(202).send({ dataExport });
175
+ }));
176
+ app.get("/v0/dataExports", authenticated(auth, async (request, _reply, actorUserId) => {
177
+ const query = requestQuery(request, ["status", "before", "limit"]);
178
+ const result = await repository.listDataExports({
179
+ actorUserId,
180
+ status: optionalExportStatus(query),
181
+ before: optionalCursor(query),
182
+ limit: limit(query),
183
+ ownOnly: true,
184
+ });
185
+ return { dataExports: result.items, nextCursor: result.nextCursor };
186
+ }));
187
+ app.get("/v0/dataExports/:exportId", authenticated(auth, async (request, _reply, actorUserId) => {
188
+ emptyQuery(request);
189
+ return {
190
+ dataExport: await repository.getDataExport(actorUserId, pathId(request, "exportId")),
191
+ };
192
+ }));
193
+ app.post("/v0/dataExports/:exportId/cancelDataExport", authenticated(auth, async (request, _reply, actorUserId) => {
194
+ emptyBody(request);
195
+ return {
196
+ dataExport: await repository.cancelDataExport({
197
+ actorUserId,
198
+ jobId: pathId(request, "exportId"),
199
+ context: auditContext(request),
200
+ }),
201
+ };
202
+ }));
203
+ app.get("/v0/admin/dataExports", authenticated(auth, async (request, _reply, actorUserId) => {
204
+ const query = requestQuery(request, ["status", "requestedByUserId", "before", "limit"]);
205
+ const result = await repository.listDataExports({
206
+ actorUserId,
207
+ status: optionalExportStatus(query),
208
+ requestedByUserId: optionalId(query, "requestedByUserId"),
209
+ before: optionalCursor(query),
210
+ limit: limit(query),
211
+ });
212
+ return { dataExports: result.items, nextCursor: result.nextCursor };
213
+ }));
214
+ app.post("/v0/admin/requestDataExport", authenticated(auth, async (request, reply, actorUserId) => {
215
+ const body = requestBody(request, ["kind", "targetId", "options", "expiresAt"]);
216
+ const dataExport = await repository.requestDataExport({
217
+ actorUserId,
218
+ kind: requiredEnum(body, "kind", [
219
+ "user_data",
220
+ "server_data",
221
+ "audit_log",
222
+ "chat_history",
223
+ ]),
224
+ targetId: optionalId(body, "targetId"),
225
+ options: optionalJsonObject(body, "options"),
226
+ expiresAt: optionalTimestamp(body, "expiresAt"),
227
+ context: auditContext(request),
228
+ });
229
+ return reply.code(202).send({ dataExport });
230
+ }));
231
+ app.post("/v0/admin/dataExports/:exportId/updateDataExport", authenticated(auth, async (request, _reply, actorUserId) => {
232
+ const body = requestBody(request, ["status", "outputFileId", "lastError", "expiresAt"]);
233
+ return {
234
+ dataExport: await repository.updateDataExport({
235
+ actorUserId,
236
+ jobId: pathId(request, "exportId"),
237
+ status: requiredEnum(body, "status", [
238
+ "running",
239
+ "complete",
240
+ "failed",
241
+ "cancelled",
242
+ "expired",
243
+ ]),
244
+ outputFileId: optionalId(body, "outputFileId"),
245
+ lastError: optionalString(body, "lastError", 10_000),
246
+ expiresAt: optionalTimestamp(body, "expiresAt"),
247
+ context: auditContext(request),
248
+ }),
249
+ };
250
+ }));
251
+ app.get("/v0/admin/backups", authenticated(auth, async (request, _reply, actorUserId) => {
252
+ const query = requestQuery(request, ["status", "before", "limit"]);
253
+ const result = await repository.listBackups({
254
+ actorUserId,
255
+ status: optionalEnum(query, "status", [
256
+ "pending",
257
+ "running",
258
+ "complete",
259
+ "failed",
260
+ "deleted",
261
+ ]),
262
+ before: optionalCursor(query),
263
+ limit: limit(query),
264
+ });
265
+ return { backups: result.items, nextCursor: result.nextCursor };
266
+ }));
267
+ app.post("/v0/admin/backups/createBackupRecord", authenticated(auth, async (request, reply, actorUserId) => {
268
+ const body = requestBody(request, [
269
+ "storageProvider",
270
+ "storageKey",
271
+ "retentionUntil",
272
+ "metadata",
273
+ ]);
274
+ const backup = await repository.createBackup({
275
+ actorUserId,
276
+ storageProvider: storageProvider(body),
277
+ storageKey: storageKey(body),
278
+ retentionUntil: optionalTimestamp(body, "retentionUntil"),
279
+ metadata: optionalJsonObject(body, "metadata"),
280
+ context: auditContext(request),
281
+ });
282
+ return reply.code(201).send({ backup });
283
+ }));
284
+ app.post("/v0/admin/backups/:backupId/updateBackupRecord", authenticated(auth, async (request, _reply, actorUserId) => {
285
+ const body = requestBody(request, [
286
+ "status",
287
+ "checksumSha256",
288
+ "size",
289
+ "lastError",
290
+ "retentionUntil",
291
+ "metadata",
292
+ ]);
293
+ return {
294
+ backup: await repository.updateBackup({
295
+ actorUserId,
296
+ backupId: pathId(request, "backupId"),
297
+ status: requiredEnum(body, "status", [
298
+ "running",
299
+ "complete",
300
+ "failed",
301
+ "deleted",
302
+ ]),
303
+ checksumSha256: optionalChecksum(body),
304
+ size: optionalNonNegativeInteger(body, "size"),
305
+ lastError: optionalString(body, "lastError", 10_000),
306
+ retentionUntil: optionalTimestamp(body, "retentionUntil"),
307
+ metadata: optionalJsonObject(body, "metadata"),
308
+ context: auditContext(request),
309
+ }),
310
+ };
311
+ }));
312
+ app.get("/v0/admin/retentionRuns", authenticated(auth, async (request, _reply, actorUserId) => {
313
+ const query = requestQuery(request, ["scope", "before", "limit"]);
314
+ const result = await repository.listRetentionRuns({
315
+ actorUserId,
316
+ scope: optionalRetentionScope(query),
317
+ before: optionalCursor(query),
318
+ limit: limit(query),
319
+ });
320
+ return { retentionRuns: result.items, nextCursor: result.nextCursor };
321
+ }));
322
+ app.post("/v0/admin/retentionRuns/startRetentionRun", authenticated(auth, async (request, reply, actorUserId) => {
323
+ const body = requestBody(request, ["scope", "details"]);
324
+ const retentionRun = await repository.startRetentionRun({
325
+ actorUserId,
326
+ scope: requiredEnum(body, "scope", [
327
+ "messages",
328
+ "files",
329
+ "sync",
330
+ "idempotency",
331
+ "audit",
332
+ "backups",
333
+ ]),
334
+ details: optionalJsonObject(body, "details"),
335
+ context: auditContext(request),
336
+ });
337
+ return reply.code(201).send({ retentionRun });
338
+ }));
339
+ app.post("/v0/admin/retentionRuns/:runId/finishRetentionRun", authenticated(auth, async (request, _reply, actorUserId) => {
340
+ const body = requestBody(request, [
341
+ "status",
342
+ "itemsExamined",
343
+ "itemsDeleted",
344
+ "details",
345
+ "lastError",
346
+ ]);
347
+ return {
348
+ retentionRun: await repository.finishRetentionRun({
349
+ actorUserId,
350
+ runId: pathId(request, "runId"),
351
+ status: requiredEnum(body, "status", ["complete", "failed"]),
352
+ itemsExamined: requiredNonNegativeInteger(body, "itemsExamined"),
353
+ itemsDeleted: requiredNonNegativeInteger(body, "itemsDeleted"),
354
+ details: optionalJsonObject(body, "details"),
355
+ lastError: optionalString(body, "lastError", 10_000),
356
+ context: auditContext(request),
357
+ }),
358
+ };
359
+ }));
360
+ app.get("/v0/admin/userAccess", authenticated(auth, async (request, _reply, actorUserId) => {
361
+ const query = requestQuery(request, ["before", "limit"]);
362
+ const result = await repository.listUserAccess({
363
+ actorUserId,
364
+ before: optionalCursor(query),
365
+ limit: limit(query),
366
+ });
367
+ return { users: result.items, nextCursor: result.nextCursor };
368
+ }));
369
+ }
370
+ function authenticated(auth, handler) {
371
+ return async (request, reply) => {
372
+ const current = await auth.authenticate(request);
373
+ if (!current)
374
+ return reply.code(401).send({ error: "unauthorized" });
375
+ try {
376
+ return await handler(request, reply, current.user.id);
377
+ }
378
+ catch (error) {
379
+ if (error instanceof InvalidRequest)
380
+ return reply.code(400).send({ error: "invalid_request", message: error.message });
381
+ if (error instanceof OperationsError)
382
+ return reply.code(operationStatus(error.code)).send({
383
+ error: error.code,
384
+ message: error.message,
385
+ });
386
+ throw error;
387
+ }
388
+ };
389
+ }
390
+ function operationStatus(code) {
391
+ if (code === "invalid")
392
+ return 400;
393
+ if (code === "forbidden")
394
+ return 403;
395
+ if (code === "not_found")
396
+ return 404;
397
+ return 409;
398
+ }
399
+ function auditContext(request) {
400
+ return { request: requestMetadata(request) };
401
+ }
402
+ function requestBody(request, allowed) {
403
+ const body = record(request.body, "Request body");
404
+ onlyKeys(body, allowed, "request body");
405
+ return body;
406
+ }
407
+ function emptyBody(request) {
408
+ if (request.body === undefined || request.body === null)
409
+ return;
410
+ const body = record(request.body, "Request body");
411
+ onlyKeys(body, [], "request body");
412
+ }
413
+ function requestQuery(request, allowed) {
414
+ const query = record(request.query, "Query");
415
+ onlyKeys(query, allowed, "query");
416
+ return query;
417
+ }
418
+ function emptyQuery(request) {
419
+ requestQuery(request, []);
420
+ }
421
+ function record(value, name) {
422
+ if (!value || typeof value !== "object" || Array.isArray(value))
423
+ throw new InvalidRequest(`${name} must be an object`);
424
+ return value;
425
+ }
426
+ function onlyKeys(value, allowed, name) {
427
+ const unexpected = Object.keys(value).find((key) => !allowed.includes(key));
428
+ if (unexpected)
429
+ throw new InvalidRequest(`Unexpected ${name} field: ${unexpected}`);
430
+ }
431
+ function has(value, key) {
432
+ return Object.prototype.hasOwnProperty.call(value, key);
433
+ }
434
+ function pathId(request, key) {
435
+ return requiredId(record(request.params, "Path parameters"), key);
436
+ }
437
+ function requiredId(value, key) {
438
+ if (!has(value, key))
439
+ throw new InvalidRequest(`${key} is required`);
440
+ return id(value[key], key);
441
+ }
442
+ function optionalId(value, key) {
443
+ return has(value, key) ? id(value[key], key) : undefined;
444
+ }
445
+ function nullableId(value, key) {
446
+ if (!has(value, key))
447
+ return undefined;
448
+ return value[key] === null ? null : id(value[key], key);
449
+ }
450
+ function id(value, key) {
451
+ if (typeof value !== "string" ||
452
+ value.length === 0 ||
453
+ value.length > MAX_ID_LENGTH ||
454
+ value.trim() !== value ||
455
+ hasControl(value))
456
+ throw new InvalidRequest(`${key} must be a valid identifier`);
457
+ return value;
458
+ }
459
+ function requiredString(value, key, maximum) {
460
+ if (!has(value, key))
461
+ throw new InvalidRequest(`${key} is required`);
462
+ return string(value[key], key, maximum);
463
+ }
464
+ function optionalString(value, key, maximum) {
465
+ return has(value, key) ? string(value[key], key, maximum) : undefined;
466
+ }
467
+ function nullableString(value, key, maximum) {
468
+ if (!has(value, key))
469
+ return undefined;
470
+ return value[key] === null ? null : string(value[key], key, maximum);
471
+ }
472
+ function string(value, key, maximum) {
473
+ if (typeof value !== "string")
474
+ throw new InvalidRequest(`${key} must be a string`);
475
+ const normalized = value.trim();
476
+ if (!normalized || normalized.length > maximum || hasControl(normalized))
477
+ throw new InvalidRequest(`${key} must be between 1 and ${maximum} characters`);
478
+ return normalized;
479
+ }
480
+ function requiredEnum(value, key, allowed) {
481
+ if (!has(value, key))
482
+ throw new InvalidRequest(`${key} is required`);
483
+ const selected = value[key];
484
+ if (typeof selected !== "string" || !allowed.includes(selected))
485
+ throw new InvalidRequest(`${key} must be one of: ${allowed.join(", ")}`);
486
+ return selected;
487
+ }
488
+ function optionalEnum(value, key, allowed) {
489
+ return has(value, key) ? requiredEnum(value, key, allowed) : undefined;
490
+ }
491
+ function optionalTimestamp(value, key) {
492
+ if (!has(value, key))
493
+ return undefined;
494
+ if (typeof value[key] !== "string" || !Number.isFinite(Date.parse(value[key])))
495
+ throw new InvalidRequest(`${key} must be an ISO timestamp`);
496
+ return value[key];
497
+ }
498
+ function optionalCursor(query) {
499
+ if (!has(query, "before"))
500
+ return undefined;
501
+ const value = query.before;
502
+ if (typeof value !== "string" ||
503
+ !value ||
504
+ value.length > MAX_CURSOR_LENGTH ||
505
+ hasControl(value))
506
+ throw new InvalidRequest("before must be a valid cursor");
507
+ return value;
508
+ }
509
+ function limit(query) {
510
+ if (!has(query, "limit"))
511
+ return 50;
512
+ const raw = query.limit;
513
+ const value = typeof raw === "string" && /^\d+$/.test(raw) ? Number(raw) : raw;
514
+ if (!Number.isSafeInteger(value) || value < 1 || value > 200)
515
+ throw new InvalidRequest("limit must be an integer between 1 and 200");
516
+ return value;
517
+ }
518
+ function optionalJsonObject(body, key) {
519
+ if (!has(body, key))
520
+ return undefined;
521
+ const value = body[key];
522
+ if (!value || typeof value !== "object" || Array.isArray(value))
523
+ throw new InvalidRequest(`${key} must be an object`);
524
+ if (Buffer.byteLength(JSON.stringify(value), "utf8") > MAX_JSON_BYTES)
525
+ throw new InvalidRequest(`${key} is too large`);
526
+ return value;
527
+ }
528
+ function requiredNonNegativeInteger(body, key) {
529
+ if (!has(body, key))
530
+ throw new InvalidRequest(`${key} is required`);
531
+ const value = body[key];
532
+ if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 0)
533
+ throw new InvalidRequest(`${key} must be a non-negative integer`);
534
+ return value;
535
+ }
536
+ function optionalNonNegativeInteger(body, key) {
537
+ return has(body, key) ? requiredNonNegativeInteger(body, key) : undefined;
538
+ }
539
+ function storageProvider(body) {
540
+ const value = requiredString(body, "storageProvider", 64).toLowerCase();
541
+ if (!/^[a-z0-9][a-z0-9_-]*$/.test(value))
542
+ throw new InvalidRequest("storageProvider contains unsupported characters");
543
+ return value;
544
+ }
545
+ function storageKey(body) {
546
+ const value = requiredString(body, "storageKey", 1_024);
547
+ const segments = value.split("/");
548
+ if (value.startsWith("/") || value.includes("\\") || segments.some((entry) => entry === ".."))
549
+ throw new InvalidRequest("storageKey must be an opaque relative storage key");
550
+ return value;
551
+ }
552
+ function optionalChecksum(body) {
553
+ if (!has(body, "checksumSha256"))
554
+ return undefined;
555
+ const value = body.checksumSha256;
556
+ if (typeof value !== "string" || !/^[a-fA-F0-9]{64}$/.test(value))
557
+ throw new InvalidRequest("checksumSha256 must contain 64 hexadecimal characters");
558
+ return value.toLowerCase();
559
+ }
560
+ function optionalExportStatus(value) {
561
+ return optionalEnum(value, "status", [
562
+ "pending",
563
+ "running",
564
+ "complete",
565
+ "failed",
566
+ "cancelled",
567
+ "expired",
568
+ ]);
569
+ }
570
+ function optionalRetentionScope(value) {
571
+ return optionalEnum(value, "scope", [
572
+ "messages",
573
+ "files",
574
+ "sync",
575
+ "idempotency",
576
+ "audit",
577
+ "backups",
578
+ ]);
579
+ }
580
+ function hasControl(value) {
581
+ return [...value].some((character) => {
582
+ const point = character.codePointAt(0);
583
+ return point <= 31 || point === 127;
584
+ });
585
+ }
586
+ class InvalidRequest extends Error {
587
+ }
588
+ //# sourceMappingURL=operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../sources/routes/operations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EACH,eAAe,GAGlB,MAAM,gCAAgC,CAAC;AAExC,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAChC,MAAM,cAAc,GAAG,MAAM,CAAC;AAQ9B,MAAM,UAAU,wBAAwB,CACpC,GAAoB,EACpB,IAAiB,EACjB,UAAgC;IAEhC,GAAG,CAAC,GAAG,CACH,qBAAqB,EACrB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE;YAChC,QAAQ;YACR,YAAY;YACZ,UAAU;YACV,aAAa;YACb,QAAQ;YACR,OAAO;SACV,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC;YACzC,WAAW;YACX,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC;YAC5C,UAAU,EAAE,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC;YACpD,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC;YACvC,kBAAkB,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC;YACpD,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QACH,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IACtE,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CACH,gBAAgB,EAChB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC;YACrC,WAAW;YACX,YAAY,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC;YACzC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;YAChF,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IACjE,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,kCAAkC,EAClC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC;YAClC,WAAW;YACX,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;YACvC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC;YAC7C,SAAS,EAAE,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC;YAC/C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,mCAAmC,EACnC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,OAAO;YACH,GAAG,EAAE,MAAM,UAAU,CAAC,SAAS,CAAC;gBAC5B,WAAW;gBACX,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;gBACvC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC;gBAC7C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;aACjC,CAAC;SACL,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,sBAAsB,EACtB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,SAAS,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO;YACH,OAAO,EAAE,MAAM,UAAU,CAAC,aAAa,CAAC;gBACpC,WAAW;gBACX,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;aACjC,CAAC;SACL,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,0BAA0B,EAC1B,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE;YAC9B,cAAc;YACd,QAAQ;YACR,WAAW;YACX,QAAQ;YACR,QAAQ;YACR,SAAS;SACZ,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC;YACzC,WAAW;YACX,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC;YAC9C,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;YAClC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC;YACxC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;YAClC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC;YAC7C,OAAO,EAAE,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;YAChD,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CACH,mBAAmB,EACnB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACvF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC;YACxC,WAAW;YACX,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE;gBAClC,MAAM;gBACN,WAAW;gBACX,UAAU;gBACV,WAAW;aACL,CAAC;YACX,gBAAgB,EAAE,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC;YACvD,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IACpE,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,0CAA0C,EAC1C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC;QAChF,OAAO;YACH,MAAM,EAAE,MAAM,UAAU,CAAC,YAAY,CAAC;gBAClC,WAAW;gBACX,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;gBACrC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE;oBACjC,MAAM;oBACN,WAAW;oBACX,UAAU;oBACV,WAAW;iBACL,CAAC;gBACX,gBAAgB,EAAE,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC;gBACtD,UAAU,EAAE,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC;gBACtD,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;aACjC,CAAC;SACL,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,wCAAwC,EACxC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QACjF,OAAO,UAAU,CAAC,oBAAoB,CAAC;YACnC,WAAW;YACX,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;YACrC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE;gBACjC,MAAM;gBACN,UAAU;gBACV,gBAAgB;gBAChB,aAAa;gBACb,KAAK;gBACL,OAAO;gBACP,aAAa;aACP,CAAC;YACX,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC;YAC7C,SAAS,EAAE,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC;YAC/C,QAAQ,EAAE,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC;YAC9C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;IACP,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,oDAAoD,EACpD,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAC,sBAAsB,CAAC;YACrC,WAAW;YACX,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;YACrC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC;YAC7C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;IACP,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,0BAA0B,EAC1B,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC;YAClD,WAAW;YACX,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC;YAC5C,SAAS,EAAE,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC;YAC/C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,mCAAmC,EACnC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC;YAClD,WAAW;YACX,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;YACpC,OAAO,EAAE,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC;YAC5C,SAAS,EAAE,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC;YAC/C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CACH,iBAAiB,EACjB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC;YAC5C,WAAW;YACX,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC;YACnC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;YACnB,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IACxE,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CACH,2BAA2B,EAC3B,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,UAAU,CAAC,OAAO,CAAC,CAAC;QACpB,OAAO;YACH,UAAU,EAAE,MAAM,UAAU,CAAC,aAAa,CACtC,WAAW,EACX,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAC9B;SACJ,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,4CAA4C,EAC5C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,SAAS,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO;YACH,UAAU,EAAE,MAAM,UAAU,CAAC,gBAAgB,CAAC;gBAC1C,WAAW;gBACX,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;gBAClC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;aACjC,CAAC;SACL,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CACH,uBAAuB,EACvB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC;YAC5C,WAAW;YACX,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC;YACnC,iBAAiB,EAAE,UAAU,CAAC,KAAK,EAAE,mBAAmB,CAAC;YACzD,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QACH,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IACxE,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,6BAA6B,EAC7B,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC;YAClD,WAAW;YACX,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE;gBAC7B,WAAW;gBACX,aAAa;gBACb,WAAW;gBACX,cAAc;aACR,CAAC;YACX,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC;YACtC,OAAO,EAAE,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC;YAC5C,SAAS,EAAE,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC;YAC/C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,kDAAkD,EAClD,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QACxF,OAAO;YACH,UAAU,EAAE,MAAM,UAAU,CAAC,gBAAgB,CAAC;gBAC1C,WAAW;gBACX,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;gBAClC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE;oBACjC,SAAS;oBACT,UAAU;oBACV,QAAQ;oBACR,WAAW;oBACX,SAAS;iBACH,CAAC;gBACX,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC;gBAC9C,SAAS,EAAE,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC;gBACpD,SAAS,EAAE,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC/C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;aACjC,CAAC;SACL,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CACH,mBAAmB,EACnB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC;YACxC,WAAW;YACX,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE;gBAClC,SAAS;gBACT,SAAS;gBACT,UAAU;gBACV,QAAQ;gBACR,SAAS;aACH,CAAC;YACX,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IACpE,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,sCAAsC,EACtC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE;YAC9B,iBAAiB;YACjB,YAAY;YACZ,gBAAgB;YAChB,UAAU;SACb,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC;YACzC,WAAW;YACX,eAAe,EAAE,eAAe,CAAC,IAAI,CAAC;YACtC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC;YAC5B,cAAc,EAAE,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC;YACzD,QAAQ,EAAE,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC;YAC9C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,gDAAgD,EAChD,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE;YAC9B,QAAQ;YACR,gBAAgB;YAChB,MAAM;YACN,WAAW;YACX,gBAAgB;YAChB,UAAU;SACb,CAAC,CAAC;QACH,OAAO;YACH,MAAM,EAAE,MAAM,UAAU,CAAC,YAAY,CAAC;gBAClC,WAAW;gBACX,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;gBACrC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE;oBACjC,SAAS;oBACT,UAAU;oBACV,QAAQ;oBACR,SAAS;iBACH,CAAC;gBACX,cAAc,EAAE,gBAAgB,CAAC,IAAI,CAAC;gBACtC,IAAI,EAAE,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC;gBAC9C,SAAS,EAAE,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC;gBACpD,cAAc,EAAE,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBACzD,QAAQ,EAAE,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC;gBAC9C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;aACjC,CAAC;SACL,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CACH,yBAAyB,EACzB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC;YAC9C,WAAW;YACX,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC;YACpC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QACH,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1E,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,2CAA2C,EAC3C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC;YACpD,WAAW;YACX,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE;gBAC/B,UAAU;gBACV,OAAO;gBACP,MAAM;gBACN,aAAa;gBACb,OAAO;gBACP,SAAS;aACH,CAAC;YACX,OAAO,EAAE,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC;YAC5C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,IAAI,CACJ,mDAAmD,EACnD,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE;YAC9B,QAAQ;YACR,eAAe;YACf,cAAc;YACd,SAAS;YACT,WAAW;SACd,CAAC,CAAC;QACH,OAAO;YACH,YAAY,EAAE,MAAM,UAAU,CAAC,kBAAkB,CAAC;gBAC9C,WAAW;gBACX,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC/B,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAU,CAAC;gBACrE,aAAa,EAAE,0BAA0B,CAAC,IAAI,EAAE,eAAe,CAAC;gBAChE,YAAY,EAAE,0BAA0B,CAAC,IAAI,EAAE,cAAc,CAAC;gBAC9D,OAAO,EAAE,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC;gBAC5C,SAAS,EAAE,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC;gBACpD,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;aACjC,CAAC;SACL,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,GAAG,CAAC,GAAG,CACH,sBAAsB,EACtB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC;YAC3C,WAAW;YACX,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAClE,CAAC,CAAC,CACL,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,IAAiB,EAAE,OAA6B;IACnE,OAAO,KAAK,EAAE,OAAuB,EAAE,KAAmB,EAAoB,EAAE;QAC5E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC;YACD,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,cAAc;gBAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACtF,IAAI,KAAK,YAAY,eAAe;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;oBAChD,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACzB,CAAC,CAAC;YACP,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,IAA6B;IAClD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACnC,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,GAAG,CAAC;IACrC,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,GAAG,CAAC;IACrC,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,OAAuB;IACzC,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,OAAuB,EAAE,OAA0B;IACpE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,SAAS,CAAC,OAAuB;IACtC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,YAAY,CACjB,OAAuB,EACvB,OAA0B;IAE1B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,OAAuB;IACvC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,MAAM,CAAC,KAAc,EAAE,IAAY;IACxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3D,MAAM,IAAI,cAAc,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;IAC1D,OAAO,KAAgC,CAAC;AAC5C,CAAC;AAED,SAAS,QAAQ,CAAC,KAA8B,EAAE,OAA0B,EAAE,IAAY;IACtF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,IAAI,UAAU;QAAE,MAAM,IAAI,cAAc,CAAC,cAAc,IAAI,WAAW,UAAU,EAAE,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,GAAG,CAAC,KAA8B,EAAE,GAAW;IACpD,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,MAAM,CAAC,OAAuB,EAAE,GAAW;IAChD,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,UAAU,CAAC,KAA8B,EAAE,GAAW;IAC3D,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC;IACrE,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,KAA8B,EAAE,GAAW;IAC3D,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED,SAAS,UAAU,CAAC,KAA8B,EAAE,GAAW;IAC3D,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,EAAE,CAAC,KAAc,EAAE,GAAW;IACnC,IACI,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,KAAK,CAAC,MAAM,GAAG,aAAa;QAC5B,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK;QACtB,UAAU,CAAC,KAAK,CAAC;QAEjB,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,6BAA6B,CAAC,CAAC;IAClE,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAA8B,EAAE,GAAW,EAAE,OAAe;IAChF,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,cAAc,CACnB,KAA8B,EAC9B,GAAW,EACX,OAAe;IAEf,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1E,CAAC;AAED,SAAS,cAAc,CACnB,KAA8B,EAC9B,GAAW,EACX,OAAe;IAEf,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,MAAM,CAAC,KAAc,EAAE,GAAW,EAAE,OAAe;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC;QACpE,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,0BAA0B,OAAO,aAAa,CAAC,CAAC;IACnF,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,YAAY,CACjB,KAA8B,EAC9B,GAAW,EACX,OAAU;IAEV,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC3D,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7E,OAAO,QAAqB,CAAC;AACjC,CAAC;AAED,SAAS,YAAY,CACjB,KAA8B,EAC9B,GAAW,EACX,OAAU;IAEV,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA8B,EAAE,GAAW;IAClE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1E,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,2BAA2B,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,cAAc,CAAC,KAA8B;IAClD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3B,IACI,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK;QACN,KAAK,CAAC,MAAM,GAAG,iBAAiB;QAChC,UAAU,CAAC,KAAK,CAAC;QAEjB,MAAM,IAAI,cAAc,CAAC,+BAA+B,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,KAAK,CAAC,KAA8B;IACzC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;IACxB,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAK,KAAgB,GAAG,CAAC,IAAK,KAAgB,GAAG,GAAG;QAChF,MAAM,IAAI,cAAc,CAAC,4CAA4C,CAAC,CAAC;IAC3E,OAAO,KAAe,CAAC;AAC3B,CAAC;AAED,SAAS,kBAAkB,CACvB,IAA6B,EAC7B,GAAW;IAEX,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3D,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,oBAAoB,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,cAAc;QACjE,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC;IACpD,OAAO,KAAgC,CAAC;AAC5C,CAAC;AAED,SAAS,0BAA0B,CAAC,IAA6B,EAAE,GAAW;IAC1E,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QACtE,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,iCAAiC,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,0BAA0B,CAC/B,IAA6B,EAC7B,GAAW;IAEX,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,IAA6B;IAClD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACxE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;QACpC,MAAM,IAAI,cAAc,CAAC,iDAAiD,CAAC,CAAC;IAChF,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,IAA6B;IAC7C,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;QACzF,MAAM,IAAI,cAAc,CAAC,mDAAmD,CAAC,CAAC;IAClF,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAA6B;IACnD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7D,MAAM,IAAI,cAAc,CAAC,uDAAuD,CAAC,CAAC;IACtF,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA8B;IACxD,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE;QACjC,SAAS;QACT,SAAS;QACT,UAAU;QACV,QAAQ;QACR,WAAW;QACX,SAAS;KACH,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAA8B;IAC1D,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE;QAChC,UAAU;QACV,OAAO;QACP,MAAM;QACN,aAAa;QACb,OAAO;QACP,SAAS;KACH,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;QACxC,OAAO,KAAK,IAAI,EAAE,IAAI,KAAK,KAAK,GAAG,CAAC;IACxC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,cAAe,SAAQ,KAAK;CAAG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=operations.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.test.d.ts","sourceRoot":"","sources":["../../sources/routes/operations.test.ts"],"names":[],"mappings":""}