@qwickapps/server 1.6.1 → 1.7.1

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 (1300) hide show
  1. package/CHANGELOG.md +92 -1
  2. package/README.md +159 -14
  3. package/dist/src/core/control-panel.d.ts.map +1 -0
  4. package/dist/src/core/control-panel.js +489 -0
  5. package/dist/src/core/control-panel.js.map +1 -0
  6. package/dist/src/core/gateway.d.ts.map +1 -0
  7. package/dist/src/core/gateway.js +1085 -0
  8. package/dist/src/core/gateway.js.map +1 -0
  9. package/dist/src/core/guards.d.ts.map +1 -0
  10. package/dist/src/core/guards.js.map +1 -0
  11. package/dist/src/core/health-manager.d.ts.map +1 -0
  12. package/dist/src/core/health-manager.js.map +1 -0
  13. package/dist/src/core/index.d.ts.map +1 -0
  14. package/dist/src/core/index.js.map +1 -0
  15. package/dist/src/core/logging.d.ts.map +1 -0
  16. package/dist/src/core/logging.js.map +1 -0
  17. package/dist/src/core/plugin-registry.d.ts +390 -0
  18. package/dist/src/core/plugin-registry.d.ts.map +1 -0
  19. package/dist/src/core/plugin-registry.js.map +1 -0
  20. package/dist/src/core/types.d.ts.map +1 -0
  21. package/dist/src/core/types.js.map +1 -0
  22. package/dist/src/index.d.ts +22 -0
  23. package/dist/src/index.d.ts.map +1 -0
  24. package/dist/src/index.js +55 -0
  25. package/dist/src/index.js.map +1 -0
  26. package/dist/src/plugins/api-keys/ApiKeysManagementPage.d.ts.map +1 -0
  27. package/dist/src/plugins/api-keys/ApiKeysManagementPage.js.map +1 -0
  28. package/dist/src/plugins/api-keys/ApiKeysStatusWidget.d.ts.map +1 -0
  29. package/dist/src/plugins/api-keys/ApiKeysStatusWidget.js.map +1 -0
  30. package/dist/src/plugins/api-keys/api-keys-plugin.d.ts.map +1 -0
  31. package/dist/src/plugins/api-keys/api-keys-plugin.js.map +1 -0
  32. package/dist/src/plugins/api-keys/index.d.ts.map +1 -0
  33. package/dist/src/plugins/api-keys/index.js.map +1 -0
  34. package/dist/src/plugins/api-keys/middleware/bearer-token-auth.d.ts.map +1 -0
  35. package/dist/src/plugins/api-keys/middleware/bearer-token-auth.js.map +1 -0
  36. package/dist/src/plugins/api-keys/middleware/index.d.ts.map +1 -0
  37. package/dist/src/plugins/api-keys/middleware/index.js.map +1 -0
  38. package/dist/src/plugins/api-keys/middleware/usage-logging.d.ts.map +1 -0
  39. package/dist/src/plugins/api-keys/middleware/usage-logging.js.map +1 -0
  40. package/dist/src/plugins/api-keys/stores/index.d.ts.map +1 -0
  41. package/dist/src/plugins/api-keys/stores/index.js.map +1 -0
  42. package/dist/src/plugins/api-keys/stores/plugin-scope-store.d.ts.map +1 -0
  43. package/dist/src/plugins/api-keys/stores/plugin-scope-store.js.map +1 -0
  44. package/dist/src/plugins/api-keys/stores/postgres-store.d.ts.map +1 -0
  45. package/dist/src/plugins/api-keys/stores/postgres-store.js +389 -0
  46. package/dist/src/plugins/api-keys/stores/postgres-store.js.map +1 -0
  47. package/dist/src/plugins/api-keys/stores/usage-log-store.d.ts.map +1 -0
  48. package/dist/src/plugins/api-keys/stores/usage-log-store.js.map +1 -0
  49. package/dist/src/plugins/api-keys/types.d.ts.map +1 -0
  50. package/dist/src/plugins/api-keys/types.js.map +1 -0
  51. package/dist/src/plugins/auth/AuthManagementPage.d.ts.map +1 -0
  52. package/dist/src/plugins/auth/AuthManagementPage.js.map +1 -0
  53. package/dist/src/plugins/auth/AuthStatusWidget.d.ts.map +1 -0
  54. package/dist/src/plugins/auth/AuthStatusWidget.js.map +1 -0
  55. package/dist/src/plugins/auth/adapter-wrapper.d.ts.map +1 -0
  56. package/dist/src/plugins/auth/adapter-wrapper.js.map +1 -0
  57. package/dist/src/plugins/auth/adapters/auth0-adapter.d.ts.map +1 -0
  58. package/dist/src/plugins/auth/adapters/auth0-adapter.js.map +1 -0
  59. package/dist/src/plugins/auth/adapters/basic-adapter.d.ts.map +1 -0
  60. package/dist/src/plugins/auth/adapters/basic-adapter.js.map +1 -0
  61. package/dist/src/plugins/auth/adapters/index.d.ts.map +1 -0
  62. package/dist/src/plugins/auth/adapters/index.js.map +1 -0
  63. package/dist/src/plugins/auth/adapters/supabase-adapter.d.ts.map +1 -0
  64. package/dist/src/plugins/auth/adapters/supabase-adapter.js.map +1 -0
  65. package/dist/src/plugins/auth/adapters/supertokens-adapter.d.ts.map +1 -0
  66. package/dist/src/plugins/auth/adapters/supertokens-adapter.js.map +1 -0
  67. package/dist/src/plugins/auth/auth-plugin.d.ts.map +1 -0
  68. package/dist/src/plugins/auth/auth-plugin.js +273 -0
  69. package/dist/src/plugins/auth/auth-plugin.js.map +1 -0
  70. package/dist/src/plugins/auth/config-store.d.ts.map +1 -0
  71. package/dist/src/plugins/auth/config-store.js.map +1 -0
  72. package/dist/src/plugins/auth/env-config.d.ts.map +1 -0
  73. package/dist/src/plugins/auth/env-config.js +1137 -0
  74. package/dist/src/plugins/auth/env-config.js.map +1 -0
  75. package/dist/src/plugins/auth/index.d.ts.map +1 -0
  76. package/dist/src/plugins/auth/index.js.map +1 -0
  77. package/dist/src/plugins/auth/types.d.ts.map +1 -0
  78. package/dist/src/plugins/auth/types.js.map +1 -0
  79. package/dist/src/plugins/bans/BansManagementPage.d.ts.map +1 -0
  80. package/dist/src/plugins/bans/BansManagementPage.js.map +1 -0
  81. package/dist/src/plugins/bans/BansStatusWidget.d.ts.map +1 -0
  82. package/dist/src/plugins/bans/BansStatusWidget.js.map +1 -0
  83. package/dist/src/plugins/bans/bans-plugin.d.ts.map +1 -0
  84. package/dist/src/plugins/bans/bans-plugin.js.map +1 -0
  85. package/dist/src/plugins/bans/index.d.ts +13 -0
  86. package/dist/src/plugins/bans/index.d.ts.map +1 -0
  87. package/dist/src/plugins/bans/index.js +13 -0
  88. package/dist/src/plugins/bans/index.js.map +1 -0
  89. package/dist/src/plugins/bans/stores/in-memory-store.d.ts +34 -0
  90. package/dist/src/plugins/bans/stores/in-memory-store.d.ts.map +1 -0
  91. package/dist/src/plugins/bans/stores/in-memory-store.js +97 -0
  92. package/dist/src/plugins/bans/stores/in-memory-store.js.map +1 -0
  93. package/dist/src/plugins/bans/stores/index.d.ts +8 -0
  94. package/dist/src/plugins/bans/stores/index.d.ts.map +1 -0
  95. package/dist/src/plugins/bans/stores/index.js +8 -0
  96. package/dist/src/plugins/bans/stores/index.js.map +1 -0
  97. package/dist/src/plugins/bans/stores/postgres-store.d.ts.map +1 -0
  98. package/dist/src/plugins/bans/stores/postgres-store.js.map +1 -0
  99. package/dist/src/plugins/bans/types.d.ts.map +1 -0
  100. package/dist/src/plugins/bans/types.js.map +1 -0
  101. package/dist/src/plugins/cache/CacheManagementPage.d.ts.map +1 -0
  102. package/dist/src/plugins/cache/CacheManagementPage.js.map +1 -0
  103. package/dist/src/plugins/cache/CacheStatusWidget.d.ts.map +1 -0
  104. package/dist/src/plugins/cache/CacheStatusWidget.js.map +1 -0
  105. package/dist/src/plugins/cache/index.d.ts.map +1 -0
  106. package/dist/src/plugins/cache/index.js.map +1 -0
  107. package/dist/src/plugins/cache-plugin.d.ts +249 -0
  108. package/dist/src/plugins/cache-plugin.d.ts.map +1 -0
  109. package/dist/src/plugins/cache-plugin.js +625 -0
  110. package/dist/src/plugins/cache-plugin.js.map +1 -0
  111. package/dist/src/plugins/cms/cms-plugin.d.ts.map +1 -0
  112. package/dist/src/plugins/cms/cms-plugin.js +222 -0
  113. package/dist/src/plugins/cms/cms-plugin.js.map +1 -0
  114. package/dist/src/plugins/cms/index.d.ts.map +1 -0
  115. package/dist/src/plugins/cms/index.js.map +1 -0
  116. package/dist/src/plugins/config-plugin.d.ts.map +1 -0
  117. package/dist/src/plugins/config-plugin.js.map +1 -0
  118. package/dist/src/plugins/core/index.d.ts.map +1 -0
  119. package/dist/src/plugins/core/index.js.map +1 -0
  120. package/dist/src/plugins/devices/DevicesManagementPage.d.ts.map +1 -0
  121. package/dist/src/plugins/devices/DevicesManagementPage.js.map +1 -0
  122. package/dist/src/plugins/devices/DevicesStatusWidget.d.ts.map +1 -0
  123. package/dist/src/plugins/devices/DevicesStatusWidget.js.map +1 -0
  124. package/dist/src/plugins/devices/adapters/compute-adapter.d.ts.map +1 -0
  125. package/dist/src/plugins/devices/adapters/compute-adapter.js.map +1 -0
  126. package/dist/src/plugins/devices/adapters/index.d.ts.map +1 -0
  127. package/dist/src/plugins/devices/adapters/index.js.map +1 -0
  128. package/dist/src/plugins/devices/adapters/mobile-adapter.d.ts.map +1 -0
  129. package/dist/src/plugins/devices/adapters/mobile-adapter.js.map +1 -0
  130. package/dist/src/plugins/devices/devices-plugin.d.ts.map +1 -0
  131. package/dist/src/plugins/devices/devices-plugin.js.map +1 -0
  132. package/dist/src/plugins/devices/index.d.ts.map +1 -0
  133. package/dist/src/plugins/devices/index.js.map +1 -0
  134. package/dist/src/plugins/devices/stores/index.d.ts.map +1 -0
  135. package/dist/src/plugins/devices/stores/index.js.map +1 -0
  136. package/dist/src/plugins/devices/stores/postgres-store.d.ts.map +1 -0
  137. package/dist/src/plugins/devices/stores/postgres-store.js.map +1 -0
  138. package/dist/src/plugins/devices/token-utils.d.ts.map +1 -0
  139. package/dist/src/plugins/devices/token-utils.js.map +1 -0
  140. package/dist/src/plugins/devices/types.d.ts.map +1 -0
  141. package/dist/src/plugins/devices/types.js.map +1 -0
  142. package/dist/src/plugins/diagnostics/DiagnosticsManagementPage.d.ts.map +1 -0
  143. package/dist/src/plugins/diagnostics/DiagnosticsManagementPage.js.map +1 -0
  144. package/dist/src/plugins/diagnostics/DiagnosticsStatusWidget.d.ts.map +1 -0
  145. package/dist/src/plugins/diagnostics/DiagnosticsStatusWidget.js.map +1 -0
  146. package/dist/src/plugins/diagnostics/index.d.ts.map +1 -0
  147. package/dist/src/plugins/diagnostics/index.js.map +1 -0
  148. package/dist/src/plugins/diagnostics-plugin.d.ts.map +1 -0
  149. package/dist/src/plugins/diagnostics-plugin.js.map +1 -0
  150. package/dist/src/plugins/entitlements/EntitlementsManagementPage.d.ts.map +1 -0
  151. package/dist/src/plugins/entitlements/EntitlementsManagementPage.js.map +1 -0
  152. package/dist/src/plugins/entitlements/EntitlementsStatusWidget.d.ts.map +1 -0
  153. package/dist/src/plugins/entitlements/EntitlementsStatusWidget.js.map +1 -0
  154. package/dist/src/plugins/entitlements/entitlements-plugin.d.ts.map +1 -0
  155. package/dist/src/plugins/entitlements/entitlements-plugin.js.map +1 -0
  156. package/dist/src/plugins/entitlements/index.d.ts +16 -0
  157. package/dist/src/plugins/entitlements/index.d.ts.map +1 -0
  158. package/dist/src/plugins/entitlements/index.js +19 -0
  159. package/dist/src/plugins/entitlements/index.js.map +1 -0
  160. package/dist/src/plugins/entitlements/sources/in-memory-source.d.ts +9 -0
  161. package/dist/src/plugins/entitlements/sources/in-memory-source.d.ts.map +1 -0
  162. package/dist/src/plugins/entitlements/sources/in-memory-source.js +65 -0
  163. package/dist/src/plugins/entitlements/sources/in-memory-source.js.map +1 -0
  164. package/dist/src/plugins/entitlements/sources/index.d.ts +10 -0
  165. package/dist/src/plugins/entitlements/sources/index.d.ts.map +1 -0
  166. package/dist/src/plugins/entitlements/sources/index.js +10 -0
  167. package/dist/src/plugins/entitlements/sources/index.js.map +1 -0
  168. package/dist/src/plugins/entitlements/sources/postgres-source.d.ts.map +1 -0
  169. package/dist/src/plugins/entitlements/sources/postgres-source.js.map +1 -0
  170. package/dist/src/plugins/entitlements/types.d.ts.map +1 -0
  171. package/dist/src/plugins/entitlements/types.js.map +1 -0
  172. package/dist/src/plugins/frontend-app-plugin.d.ts.map +1 -0
  173. package/dist/src/plugins/frontend-app-plugin.js.map +1 -0
  174. package/dist/src/plugins/health/HealthManagementPage.d.ts.map +1 -0
  175. package/dist/src/plugins/health/HealthManagementPage.js.map +1 -0
  176. package/dist/src/plugins/health/HealthStatusWidget.d.ts.map +1 -0
  177. package/dist/src/plugins/health/HealthStatusWidget.js.map +1 -0
  178. package/dist/src/plugins/health/index.d.ts.map +1 -0
  179. package/dist/src/plugins/health/index.js.map +1 -0
  180. package/dist/src/plugins/health-plugin.d.ts.map +1 -0
  181. package/dist/src/plugins/health-plugin.js +41 -0
  182. package/dist/src/plugins/health-plugin.js.map +1 -0
  183. package/dist/src/plugins/index.d.ts +56 -0
  184. package/dist/src/plugins/index.d.ts.map +1 -0
  185. package/dist/src/plugins/index.js +46 -0
  186. package/dist/src/plugins/index.js.map +1 -0
  187. package/dist/src/plugins/logs/LogsManagementPage.d.ts.map +1 -0
  188. package/dist/src/plugins/logs/LogsManagementPage.js.map +1 -0
  189. package/dist/src/plugins/logs/LogsStatusWidget.d.ts.map +1 -0
  190. package/dist/src/plugins/logs/LogsStatusWidget.js.map +1 -0
  191. package/dist/src/plugins/logs/index.d.ts.map +1 -0
  192. package/dist/src/plugins/logs/index.js.map +1 -0
  193. package/dist/src/plugins/logs-plugin.d.ts.map +1 -0
  194. package/dist/src/plugins/logs-plugin.js +297 -0
  195. package/dist/src/plugins/logs-plugin.js.map +1 -0
  196. package/dist/src/plugins/maintenance/MaintenanceManagementPage.d.ts.map +1 -0
  197. package/dist/src/plugins/maintenance/MaintenanceManagementPage.js.map +1 -0
  198. package/dist/src/plugins/maintenance/MaintenanceStatusWidget.d.ts.map +1 -0
  199. package/dist/src/plugins/maintenance/MaintenanceStatusWidget.js.map +1 -0
  200. package/dist/src/plugins/maintenance/SeedExecutor.d.ts.map +1 -0
  201. package/dist/src/plugins/maintenance/SeedExecutor.js.map +1 -0
  202. package/dist/src/plugins/maintenance/SeedHistory.d.ts.map +1 -0
  203. package/dist/src/plugins/maintenance/SeedHistory.js.map +1 -0
  204. package/dist/src/plugins/maintenance/SeedList.d.ts.map +1 -0
  205. package/dist/src/plugins/maintenance/SeedList.js.map +1 -0
  206. package/dist/src/plugins/maintenance/SeedManagementPage.d.ts.map +1 -0
  207. package/dist/src/plugins/maintenance/SeedManagementPage.js.map +1 -0
  208. package/dist/src/plugins/maintenance/index.d.ts.map +1 -0
  209. package/dist/src/plugins/maintenance/index.js.map +1 -0
  210. package/dist/src/plugins/maintenance/seed-executor.d.ts.map +1 -0
  211. package/dist/src/plugins/maintenance/seed-executor.js.map +1 -0
  212. package/dist/src/plugins/maintenance-plugin.d.ts.map +1 -0
  213. package/dist/src/plugins/maintenance-plugin.js +360 -0
  214. package/dist/src/plugins/maintenance-plugin.js.map +1 -0
  215. package/dist/src/plugins/notifications/NotificationsManagementPage.d.ts.map +1 -0
  216. package/dist/src/plugins/notifications/NotificationsManagementPage.js.map +1 -0
  217. package/dist/src/plugins/notifications/NotificationsStatusWidget.d.ts.map +1 -0
  218. package/dist/src/plugins/notifications/NotificationsStatusWidget.js.map +1 -0
  219. package/dist/src/plugins/notifications/index.d.ts.map +1 -0
  220. package/dist/src/plugins/notifications/index.js.map +1 -0
  221. package/dist/src/plugins/notifications/notifications-manager.d.ts.map +1 -0
  222. package/dist/src/plugins/notifications/notifications-manager.js.map +1 -0
  223. package/dist/src/plugins/notifications/notifications-plugin.d.ts.map +1 -0
  224. package/dist/src/plugins/notifications/notifications-plugin.js +338 -0
  225. package/dist/src/plugins/notifications/notifications-plugin.js.map +1 -0
  226. package/dist/src/plugins/notifications/types.d.ts.map +1 -0
  227. package/dist/src/plugins/notifications/types.js.map +1 -0
  228. package/dist/src/plugins/parental/ParentalManagementPage.d.ts.map +1 -0
  229. package/dist/src/plugins/parental/ParentalManagementPage.js.map +1 -0
  230. package/dist/src/plugins/parental/ParentalStatusWidget.d.ts.map +1 -0
  231. package/dist/src/plugins/parental/ParentalStatusWidget.js.map +1 -0
  232. package/dist/src/plugins/parental/adapters/index.d.ts.map +1 -0
  233. package/dist/src/plugins/parental/adapters/index.js.map +1 -0
  234. package/dist/src/plugins/parental/adapters/kids-adapter.d.ts.map +1 -0
  235. package/dist/src/plugins/parental/adapters/kids-adapter.js.map +1 -0
  236. package/dist/src/plugins/parental/index.d.ts.map +1 -0
  237. package/dist/src/plugins/parental/index.js.map +1 -0
  238. package/dist/src/plugins/parental/parental-plugin.d.ts.map +1 -0
  239. package/dist/src/plugins/parental/parental-plugin.js.map +1 -0
  240. package/dist/src/plugins/parental/stores/index.d.ts.map +1 -0
  241. package/dist/src/plugins/parental/stores/index.js.map +1 -0
  242. package/dist/src/plugins/parental/stores/postgres-store.d.ts.map +1 -0
  243. package/dist/src/plugins/parental/stores/postgres-store.js.map +1 -0
  244. package/dist/src/plugins/parental/types.d.ts.map +1 -0
  245. package/dist/src/plugins/parental/types.js.map +1 -0
  246. package/dist/src/plugins/postgres/PostgresManagementPage.d.ts.map +1 -0
  247. package/dist/src/plugins/postgres/PostgresManagementPage.js.map +1 -0
  248. package/dist/src/plugins/postgres/PostgresStatusWidget.d.ts.map +1 -0
  249. package/dist/src/plugins/postgres/PostgresStatusWidget.js.map +1 -0
  250. package/dist/src/plugins/postgres/index.d.ts.map +1 -0
  251. package/dist/src/plugins/postgres/index.js.map +1 -0
  252. package/dist/src/plugins/postgres-plugin.d.ts +157 -0
  253. package/dist/src/plugins/postgres-plugin.d.ts.map +1 -0
  254. package/dist/src/plugins/postgres-plugin.js +256 -0
  255. package/dist/src/plugins/postgres-plugin.js.map +1 -0
  256. package/dist/src/plugins/preferences/PreferencesManagementPage.d.ts.map +1 -0
  257. package/dist/src/plugins/preferences/PreferencesManagementPage.js.map +1 -0
  258. package/dist/src/plugins/preferences/PreferencesStatusWidget.d.ts.map +1 -0
  259. package/dist/src/plugins/preferences/PreferencesStatusWidget.js.map +1 -0
  260. package/dist/src/plugins/preferences/index.d.ts.map +1 -0
  261. package/dist/src/plugins/preferences/index.js.map +1 -0
  262. package/dist/src/plugins/preferences/preferences-plugin.d.ts.map +1 -0
  263. package/dist/src/plugins/preferences/preferences-plugin.js.map +1 -0
  264. package/dist/src/plugins/preferences/stores/index.d.ts.map +1 -0
  265. package/dist/src/plugins/preferences/stores/index.js.map +1 -0
  266. package/dist/src/plugins/preferences/stores/postgres-store.d.ts.map +1 -0
  267. package/dist/src/plugins/preferences/stores/postgres-store.js.map +1 -0
  268. package/dist/src/plugins/preferences/types.d.ts.map +1 -0
  269. package/dist/src/plugins/preferences/types.js.map +1 -0
  270. package/dist/src/plugins/profiles/ProfilesManagementPage.d.ts.map +1 -0
  271. package/dist/src/plugins/profiles/ProfilesManagementPage.js.map +1 -0
  272. package/dist/src/plugins/profiles/ProfilesStatusWidget.d.ts.map +1 -0
  273. package/dist/src/plugins/profiles/ProfilesStatusWidget.js.map +1 -0
  274. package/dist/src/plugins/profiles/index.d.ts.map +1 -0
  275. package/dist/src/plugins/profiles/index.js.map +1 -0
  276. package/dist/src/plugins/profiles/profiles-plugin.d.ts.map +1 -0
  277. package/dist/src/plugins/profiles/profiles-plugin.js.map +1 -0
  278. package/dist/src/plugins/profiles/stores/index.d.ts.map +1 -0
  279. package/dist/src/plugins/profiles/stores/index.js.map +1 -0
  280. package/dist/src/plugins/profiles/stores/postgres-store.d.ts.map +1 -0
  281. package/dist/src/plugins/profiles/stores/postgres-store.js.map +1 -0
  282. package/dist/src/plugins/profiles/types.d.ts.map +1 -0
  283. package/dist/src/plugins/profiles/types.js.map +1 -0
  284. package/dist/src/plugins/qwickbrain/QwickbrainManagementPage.d.ts.map +1 -0
  285. package/dist/src/plugins/qwickbrain/QwickbrainManagementPage.js.map +1 -0
  286. package/dist/src/plugins/qwickbrain/QwickbrainStatusWidget.d.ts.map +1 -0
  287. package/dist/src/plugins/qwickbrain/QwickbrainStatusWidget.js.map +1 -0
  288. package/dist/src/plugins/qwickbrain/index.d.ts.map +1 -0
  289. package/dist/src/plugins/qwickbrain/index.js.map +1 -0
  290. package/dist/src/plugins/qwickbrain/qwickbrain-plugin.d.ts.map +1 -0
  291. package/dist/src/plugins/qwickbrain/qwickbrain-plugin.js.map +1 -0
  292. package/dist/src/plugins/qwickbrain/types.d.ts.map +1 -0
  293. package/dist/src/plugins/qwickbrain/types.js.map +1 -0
  294. package/dist/src/plugins/rate-limit/RateLimitManagementPage.d.ts.map +1 -0
  295. package/dist/src/plugins/rate-limit/RateLimitManagementPage.js.map +1 -0
  296. package/dist/src/plugins/rate-limit/RateLimitStatusWidget.d.ts.map +1 -0
  297. package/dist/src/plugins/rate-limit/RateLimitStatusWidget.js.map +1 -0
  298. package/dist/src/plugins/rate-limit/cleanup.d.ts.map +1 -0
  299. package/dist/src/plugins/rate-limit/cleanup.js.map +1 -0
  300. package/dist/src/plugins/rate-limit/env-config.d.ts.map +1 -0
  301. package/dist/src/plugins/rate-limit/env-config.js.map +1 -0
  302. package/dist/src/plugins/rate-limit/index.d.ts.map +1 -0
  303. package/dist/src/plugins/rate-limit/index.js.map +1 -0
  304. package/dist/src/plugins/rate-limit/middleware.d.ts.map +1 -0
  305. package/dist/src/plugins/rate-limit/middleware.js.map +1 -0
  306. package/dist/src/plugins/rate-limit/rate-limit-plugin.d.ts.map +1 -0
  307. package/dist/src/plugins/rate-limit/rate-limit-plugin.js.map +1 -0
  308. package/dist/src/plugins/rate-limit/rate-limit-service.d.ts.map +1 -0
  309. package/dist/src/plugins/rate-limit/rate-limit-service.js.map +1 -0
  310. package/dist/src/plugins/rate-limit/stores/cache-store.d.ts.map +1 -0
  311. package/dist/src/plugins/rate-limit/stores/cache-store.js.map +1 -0
  312. package/dist/src/plugins/rate-limit/stores/index.d.ts.map +1 -0
  313. package/dist/src/plugins/rate-limit/stores/index.js.map +1 -0
  314. package/dist/src/plugins/rate-limit/stores/postgres-store.d.ts.map +1 -0
  315. package/dist/src/plugins/rate-limit/stores/postgres-store.js.map +1 -0
  316. package/dist/src/plugins/rate-limit/strategies/fixed-window.d.ts.map +1 -0
  317. package/dist/src/plugins/rate-limit/strategies/fixed-window.js.map +1 -0
  318. package/dist/src/plugins/rate-limit/strategies/index.d.ts.map +1 -0
  319. package/dist/src/plugins/rate-limit/strategies/index.js.map +1 -0
  320. package/dist/src/plugins/rate-limit/strategies/sliding-window.d.ts.map +1 -0
  321. package/dist/src/plugins/rate-limit/strategies/sliding-window.js.map +1 -0
  322. package/dist/src/plugins/rate-limit/strategies/token-bucket.d.ts.map +1 -0
  323. package/dist/src/plugins/rate-limit/strategies/token-bucket.js.map +1 -0
  324. package/dist/src/plugins/rate-limit/types.d.ts.map +1 -0
  325. package/dist/src/plugins/rate-limit/types.js.map +1 -0
  326. package/dist/src/plugins/subscriptions/SubscriptionsManagementPage.d.ts.map +1 -0
  327. package/dist/src/plugins/subscriptions/SubscriptionsManagementPage.js.map +1 -0
  328. package/dist/src/plugins/subscriptions/SubscriptionsStatusWidget.d.ts.map +1 -0
  329. package/dist/src/plugins/subscriptions/SubscriptionsStatusWidget.js.map +1 -0
  330. package/dist/src/plugins/subscriptions/index.d.ts.map +1 -0
  331. package/dist/src/plugins/subscriptions/index.js.map +1 -0
  332. package/dist/src/plugins/subscriptions/stores/index.d.ts.map +1 -0
  333. package/dist/src/plugins/subscriptions/stores/index.js.map +1 -0
  334. package/dist/src/plugins/subscriptions/stores/postgres-store.d.ts.map +1 -0
  335. package/dist/src/plugins/subscriptions/stores/postgres-store.js.map +1 -0
  336. package/dist/src/plugins/subscriptions/subscriptions-plugin.d.ts.map +1 -0
  337. package/dist/src/plugins/subscriptions/subscriptions-plugin.js.map +1 -0
  338. package/dist/src/plugins/subscriptions/types.d.ts.map +1 -0
  339. package/dist/src/plugins/subscriptions/types.js.map +1 -0
  340. package/dist/src/plugins/tenants/index.d.ts +12 -0
  341. package/dist/src/plugins/tenants/index.d.ts.map +1 -0
  342. package/dist/src/plugins/tenants/index.js +13 -0
  343. package/dist/src/plugins/tenants/index.js.map +1 -0
  344. package/dist/src/plugins/tenants/stores/in-memory-store.d.ts +59 -0
  345. package/dist/src/plugins/tenants/stores/in-memory-store.d.ts.map +1 -0
  346. package/dist/src/plugins/tenants/stores/in-memory-store.js +257 -0
  347. package/dist/src/plugins/tenants/stores/in-memory-store.js.map +1 -0
  348. package/dist/src/plugins/tenants/stores/index.d.ts +8 -0
  349. package/dist/src/plugins/tenants/stores/index.d.ts.map +1 -0
  350. package/dist/src/plugins/tenants/stores/index.js +8 -0
  351. package/dist/src/plugins/tenants/stores/index.js.map +1 -0
  352. package/dist/src/plugins/tenants/stores/postgres-store.d.ts +26 -0
  353. package/dist/src/plugins/tenants/stores/postgres-store.d.ts.map +1 -0
  354. package/dist/src/plugins/tenants/stores/postgres-store.js +260 -0
  355. package/dist/src/plugins/tenants/stores/postgres-store.js.map +1 -0
  356. package/dist/src/plugins/tenants/tenants-plugin.d.ts +28 -0
  357. package/dist/src/plugins/tenants/tenants-plugin.d.ts.map +1 -0
  358. package/dist/src/plugins/tenants/tenants-plugin.js +627 -0
  359. package/dist/src/plugins/tenants/tenants-plugin.js.map +1 -0
  360. package/dist/src/plugins/tenants/types.d.ts +217 -0
  361. package/dist/src/plugins/tenants/types.d.ts.map +1 -0
  362. package/dist/src/plugins/tenants/types.js +13 -0
  363. package/dist/src/plugins/tenants/types.js.map +1 -0
  364. package/dist/src/plugins/usage/UsageManagementPage.d.ts.map +1 -0
  365. package/dist/src/plugins/usage/UsageManagementPage.js.map +1 -0
  366. package/dist/src/plugins/usage/UsageStatusWidget.d.ts.map +1 -0
  367. package/dist/src/plugins/usage/UsageStatusWidget.js.map +1 -0
  368. package/dist/src/plugins/usage/index.d.ts.map +1 -0
  369. package/dist/src/plugins/usage/index.js.map +1 -0
  370. package/dist/src/plugins/usage/stores/index.d.ts.map +1 -0
  371. package/dist/src/plugins/usage/stores/index.js.map +1 -0
  372. package/dist/src/plugins/usage/stores/postgres-store.d.ts.map +1 -0
  373. package/dist/src/plugins/usage/stores/postgres-store.js.map +1 -0
  374. package/dist/src/plugins/usage/types.d.ts.map +1 -0
  375. package/dist/src/plugins/usage/types.js.map +1 -0
  376. package/dist/src/plugins/usage/usage-plugin.d.ts.map +1 -0
  377. package/dist/src/plugins/usage/usage-plugin.js.map +1 -0
  378. package/dist/src/plugins/users/UsersManagementPage.d.ts.map +1 -0
  379. package/dist/src/plugins/users/UsersManagementPage.js.map +1 -0
  380. package/dist/src/plugins/users/UsersStatusWidget.d.ts.map +1 -0
  381. package/dist/src/plugins/users/UsersStatusWidget.js.map +1 -0
  382. package/dist/src/plugins/users/index.d.ts +12 -0
  383. package/dist/src/plugins/users/index.d.ts.map +1 -0
  384. package/dist/src/plugins/users/index.js +13 -0
  385. package/dist/src/plugins/users/index.js.map +1 -0
  386. package/dist/src/plugins/users/stores/in-memory-store.d.ts +36 -0
  387. package/dist/src/plugins/users/stores/in-memory-store.d.ts.map +1 -0
  388. package/dist/src/plugins/users/stores/in-memory-store.js +122 -0
  389. package/dist/src/plugins/users/stores/in-memory-store.js.map +1 -0
  390. package/dist/src/plugins/users/stores/index.d.ts +8 -0
  391. package/dist/src/plugins/users/stores/index.d.ts.map +1 -0
  392. package/dist/src/plugins/users/stores/index.js +8 -0
  393. package/dist/src/plugins/users/stores/index.js.map +1 -0
  394. package/dist/src/plugins/users/stores/postgres-store.d.ts.map +1 -0
  395. package/dist/src/plugins/users/stores/postgres-store.js.map +1 -0
  396. package/dist/src/plugins/users/types.d.ts.map +1 -0
  397. package/dist/src/plugins/users/types.js.map +1 -0
  398. package/dist/src/plugins/users/users-plugin.d.ts.map +1 -0
  399. package/dist/src/plugins/users/users-plugin.js +525 -0
  400. package/dist/src/plugins/users/users-plugin.js.map +1 -0
  401. package/dist/ui/src/api/clientBuilder.d.ts +34 -0
  402. package/dist/ui/src/api/clientBuilder.d.ts.map +1 -0
  403. package/dist/ui/src/api/clientBuilder.js +157 -0
  404. package/dist/ui/src/api/clientBuilder.js.map +1 -0
  405. package/dist/ui/src/api/controlPanelApi.d.ts +605 -0
  406. package/dist/ui/src/api/controlPanelApi.d.ts.map +1 -0
  407. package/dist/ui/src/api/controlPanelApi.js +487 -0
  408. package/dist/ui/src/api/controlPanelApi.js.map +1 -0
  409. package/dist/ui/src/api/types.d.ts +314 -0
  410. package/dist/ui/src/api/types.d.ts.map +1 -0
  411. package/dist/ui/src/api/types.js +11 -0
  412. package/dist/ui/src/api/types.js.map +1 -0
  413. package/dist/ui/src/components/ControlPanelApp.d.ts +63 -0
  414. package/dist/ui/src/components/ControlPanelApp.d.ts.map +1 -0
  415. package/dist/ui/src/components/ControlPanelApp.js +92 -0
  416. package/dist/ui/src/components/ControlPanelApp.js.map +1 -0
  417. package/dist/ui/src/components/index.d.ts +22 -0
  418. package/dist/ui/src/components/index.d.ts.map +1 -0
  419. package/dist/ui/src/components/index.js +28 -0
  420. package/dist/ui/src/components/index.js.map +1 -0
  421. package/dist/ui/src/components/plugins/PluginConfigPanel.d.ts +66 -0
  422. package/dist/ui/src/components/plugins/PluginConfigPanel.d.ts.map +1 -0
  423. package/dist/ui/src/components/plugins/PluginConfigPanel.js +107 -0
  424. package/dist/ui/src/components/plugins/PluginConfigPanel.js.map +1 -0
  425. package/dist/ui/src/components/plugins/PluginManagementPage.d.ts +63 -0
  426. package/dist/ui/src/components/plugins/PluginManagementPage.d.ts.map +1 -0
  427. package/dist/ui/src/components/plugins/PluginManagementPage.js +41 -0
  428. package/dist/ui/src/components/plugins/PluginManagementPage.js.map +1 -0
  429. package/dist/ui/src/components/plugins/PluginStatusWidget.d.ts +52 -0
  430. package/dist/ui/src/components/plugins/PluginStatusWidget.d.ts.map +1 -0
  431. package/dist/ui/src/components/plugins/PluginStatusWidget.js +26 -0
  432. package/dist/ui/src/components/plugins/PluginStatusWidget.js.map +1 -0
  433. package/dist/ui/src/components/plugins/index.d.ts +14 -0
  434. package/dist/ui/src/components/plugins/index.d.ts.map +1 -0
  435. package/dist/ui/src/components/plugins/index.js +11 -0
  436. package/dist/ui/src/components/plugins/index.js.map +1 -0
  437. package/dist/ui/src/config/AppConfig.d.ts +8 -0
  438. package/dist/ui/src/config/AppConfig.d.ts.map +1 -0
  439. package/dist/ui/src/config/AppConfig.js +16 -0
  440. package/dist/ui/src/config/AppConfig.js.map +1 -0
  441. package/dist/ui/src/config/preferences.d.ts +17 -0
  442. package/dist/ui/src/config/preferences.d.ts.map +1 -0
  443. package/dist/ui/src/config/preferences.js +17 -0
  444. package/dist/ui/src/config/preferences.js.map +1 -0
  445. package/dist/ui/src/dashboard/DashboardWidgetRegistry.d.ts +63 -0
  446. package/dist/ui/src/dashboard/DashboardWidgetRegistry.d.ts.map +1 -0
  447. package/dist/ui/src/dashboard/DashboardWidgetRegistry.js +81 -0
  448. package/dist/ui/src/dashboard/DashboardWidgetRegistry.js.map +1 -0
  449. package/dist/ui/src/dashboard/DashboardWidgetRenderer.d.ts +9 -0
  450. package/dist/ui/src/dashboard/DashboardWidgetRenderer.d.ts.map +1 -0
  451. package/dist/ui/src/dashboard/DashboardWidgetRenderer.js +19 -0
  452. package/dist/ui/src/dashboard/DashboardWidgetRenderer.js.map +1 -0
  453. package/dist/ui/src/dashboard/PluginWidgetRenderer.d.ts +22 -0
  454. package/dist/ui/src/dashboard/PluginWidgetRenderer.d.ts.map +1 -0
  455. package/dist/ui/src/dashboard/PluginWidgetRenderer.js +74 -0
  456. package/dist/ui/src/dashboard/PluginWidgetRenderer.js.map +1 -0
  457. package/dist/ui/src/dashboard/WidgetComponentRegistry.d.ts +49 -0
  458. package/dist/ui/src/dashboard/WidgetComponentRegistry.d.ts.map +1 -0
  459. package/dist/ui/src/dashboard/WidgetComponentRegistry.js +68 -0
  460. package/dist/ui/src/dashboard/WidgetComponentRegistry.js.map +1 -0
  461. package/dist/ui/src/dashboard/builtInWidgets.d.ts +26 -0
  462. package/dist/ui/src/dashboard/builtInWidgets.d.ts.map +1 -0
  463. package/dist/ui/src/dashboard/builtInWidgets.js +57 -0
  464. package/dist/ui/src/dashboard/builtInWidgets.js.map +1 -0
  465. package/dist/ui/src/dashboard/index.d.ts +14 -0
  466. package/dist/ui/src/dashboard/index.d.ts.map +1 -0
  467. package/dist/ui/src/dashboard/index.js +19 -0
  468. package/dist/ui/src/dashboard/index.js.map +1 -0
  469. package/dist/ui/src/dashboard/widgets/AuthStatusWidget.d.ts +10 -0
  470. package/dist/ui/src/dashboard/widgets/AuthStatusWidget.d.ts.map +1 -0
  471. package/dist/ui/src/dashboard/widgets/AuthStatusWidget.js +92 -0
  472. package/dist/ui/src/dashboard/widgets/AuthStatusWidget.js.map +1 -0
  473. package/dist/ui/src/dashboard/widgets/CMSMaintenanceWidget.d.ts +9 -0
  474. package/dist/ui/src/dashboard/widgets/CMSMaintenanceWidget.d.ts.map +1 -0
  475. package/dist/ui/src/dashboard/widgets/CMSMaintenanceWidget.js +100 -0
  476. package/dist/ui/src/dashboard/widgets/CMSMaintenanceWidget.js.map +1 -0
  477. package/dist/ui/src/dashboard/widgets/CMSStatusWidget.d.ts +9 -0
  478. package/dist/ui/src/dashboard/widgets/CMSStatusWidget.d.ts.map +1 -0
  479. package/dist/ui/src/dashboard/widgets/CMSStatusWidget.js +48 -0
  480. package/dist/ui/src/dashboard/widgets/CMSStatusWidget.js.map +1 -0
  481. package/dist/ui/src/dashboard/widgets/CacheMaintenanceWidget.d.ts +11 -0
  482. package/dist/ui/src/dashboard/widgets/CacheMaintenanceWidget.d.ts.map +1 -0
  483. package/dist/ui/src/dashboard/widgets/CacheMaintenanceWidget.js +77 -0
  484. package/dist/ui/src/dashboard/widgets/CacheMaintenanceWidget.js.map +1 -0
  485. package/dist/ui/src/dashboard/widgets/DatabaseOpsWidget.d.ts +10 -0
  486. package/dist/ui/src/dashboard/widgets/DatabaseOpsWidget.d.ts.map +1 -0
  487. package/dist/ui/src/dashboard/widgets/DatabaseOpsWidget.js +14 -0
  488. package/dist/ui/src/dashboard/widgets/DatabaseOpsWidget.js.map +1 -0
  489. package/dist/ui/src/dashboard/widgets/EnvironmentConfigWidget.d.ts +10 -0
  490. package/dist/ui/src/dashboard/widgets/EnvironmentConfigWidget.d.ts.map +1 -0
  491. package/dist/ui/src/dashboard/widgets/EnvironmentConfigWidget.js +14 -0
  492. package/dist/ui/src/dashboard/widgets/EnvironmentConfigWidget.js.map +1 -0
  493. package/dist/ui/src/dashboard/widgets/IntegrationStatusWidget.d.ts +10 -0
  494. package/dist/ui/src/dashboard/widgets/IntegrationStatusWidget.d.ts.map +1 -0
  495. package/dist/ui/src/dashboard/widgets/IntegrationStatusWidget.js +64 -0
  496. package/dist/ui/src/dashboard/widgets/IntegrationStatusWidget.js.map +1 -0
  497. package/dist/ui/src/dashboard/widgets/LogsMaintenanceWidget.d.ts +11 -0
  498. package/dist/ui/src/dashboard/widgets/LogsMaintenanceWidget.d.ts.map +1 -0
  499. package/dist/ui/src/dashboard/widgets/LogsMaintenanceWidget.js +96 -0
  500. package/dist/ui/src/dashboard/widgets/LogsMaintenanceWidget.js.map +1 -0
  501. package/dist/ui/src/dashboard/widgets/NotificationsStatsWidget.d.ts +13 -0
  502. package/dist/ui/src/dashboard/widgets/NotificationsStatsWidget.d.ts.map +1 -0
  503. package/dist/ui/src/dashboard/widgets/NotificationsStatsWidget.js +71 -0
  504. package/dist/ui/src/dashboard/widgets/NotificationsStatsWidget.js.map +1 -0
  505. package/dist/ui/src/dashboard/widgets/SeedManagementWidget.d.ts +10 -0
  506. package/dist/ui/src/dashboard/widgets/SeedManagementWidget.d.ts.map +1 -0
  507. package/dist/ui/src/dashboard/widgets/SeedManagementWidget.js +55 -0
  508. package/dist/ui/src/dashboard/widgets/SeedManagementWidget.js.map +1 -0
  509. package/dist/ui/src/dashboard/widgets/ServiceControlWidget.d.ts +10 -0
  510. package/dist/ui/src/dashboard/widgets/ServiceControlWidget.d.ts.map +1 -0
  511. package/dist/ui/src/dashboard/widgets/ServiceControlWidget.js +14 -0
  512. package/dist/ui/src/dashboard/widgets/ServiceControlWidget.js.map +1 -0
  513. package/dist/ui/src/dashboard/widgets/ServiceHealthWidget.d.ts +13 -0
  514. package/dist/ui/src/dashboard/widgets/ServiceHealthWidget.d.ts.map +1 -0
  515. package/dist/ui/src/dashboard/widgets/ServiceHealthWidget.js +88 -0
  516. package/dist/ui/src/dashboard/widgets/ServiceHealthWidget.js.map +1 -0
  517. package/dist/ui/src/dashboard/widgets/index.d.ts +18 -0
  518. package/dist/ui/src/dashboard/widgets/index.d.ts.map +1 -0
  519. package/dist/ui/src/dashboard/widgets/index.js +18 -0
  520. package/dist/ui/src/dashboard/widgets/index.js.map +1 -0
  521. package/dist/ui/src/pages/AcceptInvitationPage.d.ts +29 -0
  522. package/dist/ui/src/pages/AcceptInvitationPage.d.ts.map +1 -0
  523. package/dist/ui/src/pages/AcceptInvitationPage.js +66 -0
  524. package/dist/ui/src/pages/AcceptInvitationPage.js.map +1 -0
  525. package/dist/ui/src/pages/AuthPage.d.ts +2 -0
  526. package/dist/ui/src/pages/AuthPage.d.ts.map +1 -0
  527. package/dist/ui/src/pages/AuthPage.js +357 -0
  528. package/dist/ui/src/pages/AuthPage.js.map +1 -0
  529. package/dist/ui/src/pages/DashboardPage.d.ts +2 -0
  530. package/dist/ui/src/pages/DashboardPage.d.ts.map +1 -0
  531. package/dist/ui/src/pages/DashboardPage.js +80 -0
  532. package/dist/ui/src/pages/DashboardPage.js.map +1 -0
  533. package/dist/ui/src/pages/EntitlementsPage.d.ts +18 -0
  534. package/dist/ui/src/pages/EntitlementsPage.d.ts.map +1 -0
  535. package/dist/ui/src/pages/EntitlementsPage.js +171 -0
  536. package/dist/ui/src/pages/EntitlementsPage.js.map +1 -0
  537. package/dist/ui/src/pages/LogsPage.d.ts +2 -0
  538. package/dist/ui/src/pages/LogsPage.d.ts.map +1 -0
  539. package/dist/ui/src/pages/LogsPage.js +141 -0
  540. package/dist/ui/src/pages/LogsPage.js.map +1 -0
  541. package/dist/ui/src/pages/NotFoundPage.d.ts +2 -0
  542. package/dist/ui/src/pages/NotFoundPage.d.ts.map +1 -0
  543. package/dist/ui/src/pages/NotFoundPage.js +19 -0
  544. package/dist/ui/src/pages/NotFoundPage.js.map +1 -0
  545. package/dist/ui/src/pages/PreferencesPage.d.ts +10 -0
  546. package/dist/ui/src/pages/PreferencesPage.d.ts.map +1 -0
  547. package/dist/ui/src/pages/PreferencesPage.js +139 -0
  548. package/dist/ui/src/pages/PreferencesPage.js.map +1 -0
  549. package/dist/ui/src/pages/SystemPage.d.ts +2 -0
  550. package/dist/ui/src/pages/SystemPage.d.ts.map +1 -0
  551. package/dist/ui/src/pages/SystemPage.js +143 -0
  552. package/dist/ui/src/pages/SystemPage.js.map +1 -0
  553. package/dist/ui/src/pages/UsersPage.d.ts +23 -0
  554. package/dist/ui/src/pages/UsersPage.d.ts.map +1 -0
  555. package/dist/ui/src/pages/UsersPage.js +406 -0
  556. package/dist/ui/src/pages/UsersPage.js.map +1 -0
  557. package/dist/ui/src/utils/formatters.d.ts +20 -0
  558. package/dist/ui/src/utils/formatters.d.ts.map +1 -0
  559. package/dist/ui/src/utils/formatters.js +36 -0
  560. package/dist/ui/src/utils/formatters.js.map +1 -0
  561. package/dist-ui/assets/index-8y0jDGcd.js +528 -0
  562. package/dist-ui/assets/index-8y0jDGcd.js.map +1 -0
  563. package/dist-ui/assets/index-DQED0KPI.css +1 -0
  564. package/dist-ui/index.html +2 -2
  565. package/dist-ui-lib/index.js +3109 -2774
  566. package/dist-ui-lib/index.js.map +1 -1
  567. package/dist-ui-lib/src/api/controlPanelApi.d.ts +10 -1
  568. package/dist-ui-lib/src/components/tenants/MemberInviteDialog.d.ts +21 -0
  569. package/dist-ui-lib/src/components/tenants/MemberListDialog.d.ts +31 -0
  570. package/dist-ui-lib/src/components/tenants/MemberRoleDialog.d.ts +25 -0
  571. package/dist-ui-lib/src/components/tenants/TenantCard.d.ts +29 -0
  572. package/dist-ui-lib/src/components/tenants/TenantFormDialog.d.ts +32 -0
  573. package/dist-ui-lib/src/components/tenants/index.d.ts +15 -0
  574. package/dist-ui-lib/src/dashboard/PluginWidgetRenderer.d.ts +3 -1
  575. package/dist-ui-lib/src/dashboard/widgets/CacheMaintenanceWidget.d.ts +10 -0
  576. package/dist-ui-lib/src/dashboard/widgets/DatabaseOpsWidget.d.ts +9 -0
  577. package/dist-ui-lib/src/dashboard/widgets/EnvironmentConfigWidget.d.ts +9 -0
  578. package/dist-ui-lib/src/dashboard/widgets/LogsMaintenanceWidget.d.ts +10 -0
  579. package/dist-ui-lib/src/dashboard/widgets/SeedManagementWidget.d.ts +9 -0
  580. package/dist-ui-lib/src/dashboard/widgets/ServiceControlWidget.d.ts +9 -0
  581. package/dist-ui-lib/src/dashboard/widgets/index.d.ts +6 -0
  582. package/package.json +11 -8
  583. package/src/core/control-panel.ts +6 -4
  584. package/src/core/gateway.ts +25 -2
  585. package/src/core/plugin-registry.ts +15 -2
  586. package/src/index.ts +53 -0
  587. package/src/plugins/api-keys/stores/postgres-store.ts +30 -0
  588. package/src/plugins/auth/auth-plugin.ts +4 -2
  589. package/src/plugins/auth/env-config.ts +1 -0
  590. package/src/plugins/bans/index.ts +1 -1
  591. package/src/plugins/bans/stores/in-memory-store.ts +106 -0
  592. package/src/plugins/bans/stores/index.ts +1 -0
  593. package/src/plugins/cache-plugin.test.ts +2 -2
  594. package/src/plugins/cache-plugin.ts +331 -30
  595. package/src/plugins/cms/cms-plugin.ts +3 -1
  596. package/src/plugins/entitlements/index.ts +1 -1
  597. package/src/plugins/entitlements/sources/in-memory-source.ts +76 -0
  598. package/src/plugins/entitlements/sources/index.ts +1 -0
  599. package/src/plugins/health-plugin.ts +1 -0
  600. package/src/plugins/index.ts +21 -0
  601. package/src/plugins/logs-plugin.ts +55 -1
  602. package/src/plugins/maintenance-plugin.ts +43 -0
  603. package/src/plugins/notifications/notifications-plugin.ts +1 -0
  604. package/src/plugins/postgres-plugin.test.ts +2 -2
  605. package/src/plugins/postgres-plugin.ts +20 -9
  606. package/src/plugins/tenants/index.ts +31 -0
  607. package/src/plugins/tenants/stores/in-memory-store.ts +335 -0
  608. package/src/plugins/tenants/stores/index.ts +13 -0
  609. package/src/plugins/tenants/stores/postgres-store.ts +370 -0
  610. package/src/plugins/tenants/tenants-plugin.ts +703 -0
  611. package/src/plugins/tenants/types.ts +249 -0
  612. package/src/plugins/users/index.ts +1 -1
  613. package/src/plugins/users/stores/in-memory-store.ts +140 -0
  614. package/src/plugins/users/stores/index.ts +1 -0
  615. package/src/plugins/users/users-plugin.ts +23 -0
  616. package/src/testing/index.ts +1 -0
  617. package/src/testing/pg-mem-pool.ts +33 -0
  618. package/ui/src/App.tsx +6 -1
  619. package/ui/src/api/controlPanelApi.ts +10 -1
  620. package/ui/src/components/tenants/MemberInviteDialog.tsx +139 -0
  621. package/ui/src/components/tenants/MemberListDialog.tsx +290 -0
  622. package/ui/src/components/tenants/MemberRoleDialog.tsx +133 -0
  623. package/ui/src/components/tenants/TenantCard.tsx +140 -0
  624. package/ui/src/components/tenants/TenantFormDialog.tsx +217 -0
  625. package/ui/src/components/tenants/index.ts +20 -0
  626. package/ui/src/dashboard/PluginWidgetRenderer.tsx +8 -0
  627. package/ui/src/dashboard/builtInWidgets.tsx +19 -1
  628. package/ui/src/dashboard/widgets/CacheMaintenanceWidget.tsx +195 -0
  629. package/ui/src/dashboard/widgets/DatabaseOpsWidget.tsx +29 -0
  630. package/ui/src/dashboard/widgets/EnvironmentConfigWidget.tsx +29 -0
  631. package/ui/src/dashboard/widgets/LogsMaintenanceWidget.tsx +247 -0
  632. package/ui/src/dashboard/widgets/SeedManagementWidget.tsx +128 -0
  633. package/ui/src/dashboard/widgets/ServiceControlWidget.tsx +29 -0
  634. package/ui/src/dashboard/widgets/index.ts +6 -0
  635. package/ui/src/pages/DashboardPage.tsx +2 -2
  636. package/ui/src/pages/MaintenancePage.tsx +1 -1
  637. package/ui/src/pages/TenantsManagementPage.tsx +495 -0
  638. package/dist/core/control-panel.d.ts.map +0 -1
  639. package/dist/core/control-panel.js +0 -487
  640. package/dist/core/control-panel.js.map +0 -1
  641. package/dist/core/gateway.d.ts.map +0 -1
  642. package/dist/core/gateway.js +0 -1063
  643. package/dist/core/gateway.js.map +0 -1
  644. package/dist/core/guards.d.ts.map +0 -1
  645. package/dist/core/guards.js.map +0 -1
  646. package/dist/core/health-manager.d.ts.map +0 -1
  647. package/dist/core/health-manager.js.map +0 -1
  648. package/dist/core/index.d.ts.map +0 -1
  649. package/dist/core/index.js.map +0 -1
  650. package/dist/core/logging.d.ts.map +0 -1
  651. package/dist/core/logging.js.map +0 -1
  652. package/dist/core/plugin-registry.d.ts +0 -377
  653. package/dist/core/plugin-registry.d.ts.map +0 -1
  654. package/dist/core/plugin-registry.js.map +0 -1
  655. package/dist/core/types.d.ts.map +0 -1
  656. package/dist/core/types.js.map +0 -1
  657. package/dist/index.d.ts +0 -22
  658. package/dist/index.d.ts.map +0 -1
  659. package/dist/index.js +0 -49
  660. package/dist/index.js.map +0 -1
  661. package/dist/plugins/api-keys/ApiKeysManagementPage.d.ts.map +0 -1
  662. package/dist/plugins/api-keys/ApiKeysManagementPage.js.map +0 -1
  663. package/dist/plugins/api-keys/ApiKeysStatusWidget.d.ts.map +0 -1
  664. package/dist/plugins/api-keys/ApiKeysStatusWidget.js.map +0 -1
  665. package/dist/plugins/api-keys/api-keys-plugin.d.ts.map +0 -1
  666. package/dist/plugins/api-keys/api-keys-plugin.js.map +0 -1
  667. package/dist/plugins/api-keys/index.d.ts.map +0 -1
  668. package/dist/plugins/api-keys/index.js.map +0 -1
  669. package/dist/plugins/api-keys/middleware/bearer-token-auth.d.ts.map +0 -1
  670. package/dist/plugins/api-keys/middleware/bearer-token-auth.js.map +0 -1
  671. package/dist/plugins/api-keys/middleware/index.d.ts.map +0 -1
  672. package/dist/plugins/api-keys/middleware/index.js.map +0 -1
  673. package/dist/plugins/api-keys/middleware/usage-logging.d.ts.map +0 -1
  674. package/dist/plugins/api-keys/middleware/usage-logging.js.map +0 -1
  675. package/dist/plugins/api-keys/stores/index.d.ts.map +0 -1
  676. package/dist/plugins/api-keys/stores/index.js.map +0 -1
  677. package/dist/plugins/api-keys/stores/plugin-scope-store.d.ts.map +0 -1
  678. package/dist/plugins/api-keys/stores/plugin-scope-store.js.map +0 -1
  679. package/dist/plugins/api-keys/stores/postgres-store.d.ts.map +0 -1
  680. package/dist/plugins/api-keys/stores/postgres-store.js +0 -360
  681. package/dist/plugins/api-keys/stores/postgres-store.js.map +0 -1
  682. package/dist/plugins/api-keys/stores/usage-log-store.d.ts.map +0 -1
  683. package/dist/plugins/api-keys/stores/usage-log-store.js.map +0 -1
  684. package/dist/plugins/api-keys/types.d.ts.map +0 -1
  685. package/dist/plugins/api-keys/types.js.map +0 -1
  686. package/dist/plugins/auth/AuthManagementPage.d.ts.map +0 -1
  687. package/dist/plugins/auth/AuthManagementPage.js.map +0 -1
  688. package/dist/plugins/auth/AuthStatusWidget.d.ts.map +0 -1
  689. package/dist/plugins/auth/AuthStatusWidget.js.map +0 -1
  690. package/dist/plugins/auth/adapter-wrapper.d.ts.map +0 -1
  691. package/dist/plugins/auth/adapter-wrapper.js.map +0 -1
  692. package/dist/plugins/auth/adapters/auth0-adapter.d.ts.map +0 -1
  693. package/dist/plugins/auth/adapters/auth0-adapter.js.map +0 -1
  694. package/dist/plugins/auth/adapters/basic-adapter.d.ts.map +0 -1
  695. package/dist/plugins/auth/adapters/basic-adapter.js.map +0 -1
  696. package/dist/plugins/auth/adapters/index.d.ts.map +0 -1
  697. package/dist/plugins/auth/adapters/index.js.map +0 -1
  698. package/dist/plugins/auth/adapters/supabase-adapter.d.ts.map +0 -1
  699. package/dist/plugins/auth/adapters/supabase-adapter.js.map +0 -1
  700. package/dist/plugins/auth/adapters/supertokens-adapter.d.ts.map +0 -1
  701. package/dist/plugins/auth/adapters/supertokens-adapter.js.map +0 -1
  702. package/dist/plugins/auth/auth-plugin.d.ts.map +0 -1
  703. package/dist/plugins/auth/auth-plugin.js +0 -271
  704. package/dist/plugins/auth/auth-plugin.js.map +0 -1
  705. package/dist/plugins/auth/config-store.d.ts.map +0 -1
  706. package/dist/plugins/auth/config-store.js.map +0 -1
  707. package/dist/plugins/auth/env-config.d.ts.map +0 -1
  708. package/dist/plugins/auth/env-config.js +0 -1136
  709. package/dist/plugins/auth/env-config.js.map +0 -1
  710. package/dist/plugins/auth/index.d.ts.map +0 -1
  711. package/dist/plugins/auth/index.js.map +0 -1
  712. package/dist/plugins/auth/types.d.ts.map +0 -1
  713. package/dist/plugins/auth/types.js.map +0 -1
  714. package/dist/plugins/bans/BansManagementPage.d.ts.map +0 -1
  715. package/dist/plugins/bans/BansManagementPage.js.map +0 -1
  716. package/dist/plugins/bans/BansStatusWidget.d.ts.map +0 -1
  717. package/dist/plugins/bans/BansStatusWidget.js.map +0 -1
  718. package/dist/plugins/bans/bans-plugin.d.ts.map +0 -1
  719. package/dist/plugins/bans/bans-plugin.js.map +0 -1
  720. package/dist/plugins/bans/index.d.ts +0 -13
  721. package/dist/plugins/bans/index.d.ts.map +0 -1
  722. package/dist/plugins/bans/index.js +0 -13
  723. package/dist/plugins/bans/index.js.map +0 -1
  724. package/dist/plugins/bans/stores/index.d.ts +0 -7
  725. package/dist/plugins/bans/stores/index.d.ts.map +0 -1
  726. package/dist/plugins/bans/stores/index.js +0 -7
  727. package/dist/plugins/bans/stores/index.js.map +0 -1
  728. package/dist/plugins/bans/stores/postgres-store.d.ts.map +0 -1
  729. package/dist/plugins/bans/stores/postgres-store.js.map +0 -1
  730. package/dist/plugins/bans/types.d.ts.map +0 -1
  731. package/dist/plugins/bans/types.js.map +0 -1
  732. package/dist/plugins/cache/CacheManagementPage.d.ts.map +0 -1
  733. package/dist/plugins/cache/CacheManagementPage.js.map +0 -1
  734. package/dist/plugins/cache/CacheStatusWidget.d.ts.map +0 -1
  735. package/dist/plugins/cache/CacheStatusWidget.js.map +0 -1
  736. package/dist/plugins/cache/index.d.ts.map +0 -1
  737. package/dist/plugins/cache/index.js.map +0 -1
  738. package/dist/plugins/cache-plugin.d.ts +0 -230
  739. package/dist/plugins/cache-plugin.d.ts.map +0 -1
  740. package/dist/plugins/cache-plugin.js +0 -346
  741. package/dist/plugins/cache-plugin.js.map +0 -1
  742. package/dist/plugins/cms/cms-plugin.d.ts.map +0 -1
  743. package/dist/plugins/cms/cms-plugin.js +0 -220
  744. package/dist/plugins/cms/cms-plugin.js.map +0 -1
  745. package/dist/plugins/cms/index.d.ts.map +0 -1
  746. package/dist/plugins/cms/index.js.map +0 -1
  747. package/dist/plugins/config-plugin.d.ts.map +0 -1
  748. package/dist/plugins/config-plugin.js.map +0 -1
  749. package/dist/plugins/core/index.d.ts.map +0 -1
  750. package/dist/plugins/core/index.js.map +0 -1
  751. package/dist/plugins/devices/DevicesManagementPage.d.ts.map +0 -1
  752. package/dist/plugins/devices/DevicesManagementPage.js.map +0 -1
  753. package/dist/plugins/devices/DevicesStatusWidget.d.ts.map +0 -1
  754. package/dist/plugins/devices/DevicesStatusWidget.js.map +0 -1
  755. package/dist/plugins/devices/adapters/compute-adapter.d.ts.map +0 -1
  756. package/dist/plugins/devices/adapters/compute-adapter.js.map +0 -1
  757. package/dist/plugins/devices/adapters/index.d.ts.map +0 -1
  758. package/dist/plugins/devices/adapters/index.js.map +0 -1
  759. package/dist/plugins/devices/adapters/mobile-adapter.d.ts.map +0 -1
  760. package/dist/plugins/devices/adapters/mobile-adapter.js.map +0 -1
  761. package/dist/plugins/devices/devices-plugin.d.ts.map +0 -1
  762. package/dist/plugins/devices/devices-plugin.js.map +0 -1
  763. package/dist/plugins/devices/index.d.ts.map +0 -1
  764. package/dist/plugins/devices/index.js.map +0 -1
  765. package/dist/plugins/devices/stores/index.d.ts.map +0 -1
  766. package/dist/plugins/devices/stores/index.js.map +0 -1
  767. package/dist/plugins/devices/stores/postgres-store.d.ts.map +0 -1
  768. package/dist/plugins/devices/stores/postgres-store.js.map +0 -1
  769. package/dist/plugins/devices/token-utils.d.ts.map +0 -1
  770. package/dist/plugins/devices/token-utils.js.map +0 -1
  771. package/dist/plugins/devices/types.d.ts.map +0 -1
  772. package/dist/plugins/devices/types.js.map +0 -1
  773. package/dist/plugins/diagnostics/DiagnosticsManagementPage.d.ts.map +0 -1
  774. package/dist/plugins/diagnostics/DiagnosticsManagementPage.js.map +0 -1
  775. package/dist/plugins/diagnostics/DiagnosticsStatusWidget.d.ts.map +0 -1
  776. package/dist/plugins/diagnostics/DiagnosticsStatusWidget.js.map +0 -1
  777. package/dist/plugins/diagnostics/index.d.ts.map +0 -1
  778. package/dist/plugins/diagnostics/index.js.map +0 -1
  779. package/dist/plugins/diagnostics-plugin.d.ts.map +0 -1
  780. package/dist/plugins/diagnostics-plugin.js.map +0 -1
  781. package/dist/plugins/entitlements/EntitlementsManagementPage.d.ts.map +0 -1
  782. package/dist/plugins/entitlements/EntitlementsManagementPage.js.map +0 -1
  783. package/dist/plugins/entitlements/EntitlementsStatusWidget.d.ts.map +0 -1
  784. package/dist/plugins/entitlements/EntitlementsStatusWidget.js.map +0 -1
  785. package/dist/plugins/entitlements/entitlements-plugin.d.ts.map +0 -1
  786. package/dist/plugins/entitlements/entitlements-plugin.js.map +0 -1
  787. package/dist/plugins/entitlements/index.d.ts +0 -16
  788. package/dist/plugins/entitlements/index.d.ts.map +0 -1
  789. package/dist/plugins/entitlements/index.js +0 -19
  790. package/dist/plugins/entitlements/index.js.map +0 -1
  791. package/dist/plugins/entitlements/sources/index.d.ts +0 -9
  792. package/dist/plugins/entitlements/sources/index.d.ts.map +0 -1
  793. package/dist/plugins/entitlements/sources/index.js +0 -9
  794. package/dist/plugins/entitlements/sources/index.js.map +0 -1
  795. package/dist/plugins/entitlements/sources/postgres-source.d.ts.map +0 -1
  796. package/dist/plugins/entitlements/sources/postgres-source.js.map +0 -1
  797. package/dist/plugins/entitlements/types.d.ts.map +0 -1
  798. package/dist/plugins/entitlements/types.js.map +0 -1
  799. package/dist/plugins/frontend-app-plugin.d.ts.map +0 -1
  800. package/dist/plugins/frontend-app-plugin.js.map +0 -1
  801. package/dist/plugins/health/HealthManagementPage.d.ts.map +0 -1
  802. package/dist/plugins/health/HealthManagementPage.js.map +0 -1
  803. package/dist/plugins/health/HealthStatusWidget.d.ts.map +0 -1
  804. package/dist/plugins/health/HealthStatusWidget.js.map +0 -1
  805. package/dist/plugins/health/index.d.ts.map +0 -1
  806. package/dist/plugins/health/index.js.map +0 -1
  807. package/dist/plugins/health-plugin.d.ts.map +0 -1
  808. package/dist/plugins/health-plugin.js +0 -40
  809. package/dist/plugins/health-plugin.js.map +0 -1
  810. package/dist/plugins/index.d.ts +0 -54
  811. package/dist/plugins/index.d.ts.map +0 -1
  812. package/dist/plugins/index.js +0 -44
  813. package/dist/plugins/index.js.map +0 -1
  814. package/dist/plugins/logs/LogsManagementPage.d.ts.map +0 -1
  815. package/dist/plugins/logs/LogsManagementPage.js.map +0 -1
  816. package/dist/plugins/logs/LogsStatusWidget.d.ts.map +0 -1
  817. package/dist/plugins/logs/LogsStatusWidget.js.map +0 -1
  818. package/dist/plugins/logs/index.d.ts.map +0 -1
  819. package/dist/plugins/logs/index.js.map +0 -1
  820. package/dist/plugins/logs-plugin.d.ts.map +0 -1
  821. package/dist/plugins/logs-plugin.js +0 -249
  822. package/dist/plugins/logs-plugin.js.map +0 -1
  823. package/dist/plugins/maintenance/MaintenanceManagementPage.d.ts.map +0 -1
  824. package/dist/plugins/maintenance/MaintenanceManagementPage.js.map +0 -1
  825. package/dist/plugins/maintenance/MaintenanceStatusWidget.d.ts.map +0 -1
  826. package/dist/plugins/maintenance/MaintenanceStatusWidget.js.map +0 -1
  827. package/dist/plugins/maintenance/SeedExecutor.d.ts.map +0 -1
  828. package/dist/plugins/maintenance/SeedExecutor.js.map +0 -1
  829. package/dist/plugins/maintenance/SeedHistory.d.ts.map +0 -1
  830. package/dist/plugins/maintenance/SeedHistory.js.map +0 -1
  831. package/dist/plugins/maintenance/SeedList.d.ts.map +0 -1
  832. package/dist/plugins/maintenance/SeedList.js.map +0 -1
  833. package/dist/plugins/maintenance/SeedManagementPage.d.ts.map +0 -1
  834. package/dist/plugins/maintenance/SeedManagementPage.js.map +0 -1
  835. package/dist/plugins/maintenance/index.d.ts.map +0 -1
  836. package/dist/plugins/maintenance/index.js.map +0 -1
  837. package/dist/plugins/maintenance/seed-executor.d.ts.map +0 -1
  838. package/dist/plugins/maintenance/seed-executor.js.map +0 -1
  839. package/dist/plugins/maintenance-plugin.d.ts.map +0 -1
  840. package/dist/plugins/maintenance-plugin.js +0 -321
  841. package/dist/plugins/maintenance-plugin.js.map +0 -1
  842. package/dist/plugins/notifications/NotificationsManagementPage.d.ts.map +0 -1
  843. package/dist/plugins/notifications/NotificationsManagementPage.js.map +0 -1
  844. package/dist/plugins/notifications/NotificationsStatusWidget.d.ts.map +0 -1
  845. package/dist/plugins/notifications/NotificationsStatusWidget.js.map +0 -1
  846. package/dist/plugins/notifications/index.d.ts.map +0 -1
  847. package/dist/plugins/notifications/index.js.map +0 -1
  848. package/dist/plugins/notifications/notifications-manager.d.ts.map +0 -1
  849. package/dist/plugins/notifications/notifications-manager.js.map +0 -1
  850. package/dist/plugins/notifications/notifications-plugin.d.ts.map +0 -1
  851. package/dist/plugins/notifications/notifications-plugin.js +0 -337
  852. package/dist/plugins/notifications/notifications-plugin.js.map +0 -1
  853. package/dist/plugins/notifications/types.d.ts.map +0 -1
  854. package/dist/plugins/notifications/types.js.map +0 -1
  855. package/dist/plugins/parental/ParentalManagementPage.d.ts.map +0 -1
  856. package/dist/plugins/parental/ParentalManagementPage.js.map +0 -1
  857. package/dist/plugins/parental/ParentalStatusWidget.d.ts.map +0 -1
  858. package/dist/plugins/parental/ParentalStatusWidget.js.map +0 -1
  859. package/dist/plugins/parental/adapters/index.d.ts.map +0 -1
  860. package/dist/plugins/parental/adapters/index.js.map +0 -1
  861. package/dist/plugins/parental/adapters/kids-adapter.d.ts.map +0 -1
  862. package/dist/plugins/parental/adapters/kids-adapter.js.map +0 -1
  863. package/dist/plugins/parental/index.d.ts.map +0 -1
  864. package/dist/plugins/parental/index.js.map +0 -1
  865. package/dist/plugins/parental/parental-plugin.d.ts.map +0 -1
  866. package/dist/plugins/parental/parental-plugin.js.map +0 -1
  867. package/dist/plugins/parental/stores/index.d.ts.map +0 -1
  868. package/dist/plugins/parental/stores/index.js.map +0 -1
  869. package/dist/plugins/parental/stores/postgres-store.d.ts.map +0 -1
  870. package/dist/plugins/parental/stores/postgres-store.js.map +0 -1
  871. package/dist/plugins/parental/types.d.ts.map +0 -1
  872. package/dist/plugins/parental/types.js.map +0 -1
  873. package/dist/plugins/postgres/PostgresManagementPage.d.ts.map +0 -1
  874. package/dist/plugins/postgres/PostgresManagementPage.js.map +0 -1
  875. package/dist/plugins/postgres/PostgresStatusWidget.d.ts.map +0 -1
  876. package/dist/plugins/postgres/PostgresStatusWidget.js.map +0 -1
  877. package/dist/plugins/postgres/index.d.ts.map +0 -1
  878. package/dist/plugins/postgres/index.js.map +0 -1
  879. package/dist/plugins/postgres-plugin.d.ts +0 -155
  880. package/dist/plugins/postgres-plugin.d.ts.map +0 -1
  881. package/dist/plugins/postgres-plugin.js +0 -246
  882. package/dist/plugins/postgres-plugin.js.map +0 -1
  883. package/dist/plugins/preferences/PreferencesManagementPage.d.ts.map +0 -1
  884. package/dist/plugins/preferences/PreferencesManagementPage.js.map +0 -1
  885. package/dist/plugins/preferences/PreferencesStatusWidget.d.ts.map +0 -1
  886. package/dist/plugins/preferences/PreferencesStatusWidget.js.map +0 -1
  887. package/dist/plugins/preferences/index.d.ts.map +0 -1
  888. package/dist/plugins/preferences/index.js.map +0 -1
  889. package/dist/plugins/preferences/preferences-plugin.d.ts.map +0 -1
  890. package/dist/plugins/preferences/preferences-plugin.js.map +0 -1
  891. package/dist/plugins/preferences/stores/index.d.ts.map +0 -1
  892. package/dist/plugins/preferences/stores/index.js.map +0 -1
  893. package/dist/plugins/preferences/stores/postgres-store.d.ts.map +0 -1
  894. package/dist/plugins/preferences/stores/postgres-store.js.map +0 -1
  895. package/dist/plugins/preferences/types.d.ts.map +0 -1
  896. package/dist/plugins/preferences/types.js.map +0 -1
  897. package/dist/plugins/profiles/ProfilesManagementPage.d.ts.map +0 -1
  898. package/dist/plugins/profiles/ProfilesManagementPage.js.map +0 -1
  899. package/dist/plugins/profiles/ProfilesStatusWidget.d.ts.map +0 -1
  900. package/dist/plugins/profiles/ProfilesStatusWidget.js.map +0 -1
  901. package/dist/plugins/profiles/index.d.ts.map +0 -1
  902. package/dist/plugins/profiles/index.js.map +0 -1
  903. package/dist/plugins/profiles/profiles-plugin.d.ts.map +0 -1
  904. package/dist/plugins/profiles/profiles-plugin.js.map +0 -1
  905. package/dist/plugins/profiles/stores/index.d.ts.map +0 -1
  906. package/dist/plugins/profiles/stores/index.js.map +0 -1
  907. package/dist/plugins/profiles/stores/postgres-store.d.ts.map +0 -1
  908. package/dist/plugins/profiles/stores/postgres-store.js.map +0 -1
  909. package/dist/plugins/profiles/types.d.ts.map +0 -1
  910. package/dist/plugins/profiles/types.js.map +0 -1
  911. package/dist/plugins/qwickbrain/QwickbrainManagementPage.d.ts.map +0 -1
  912. package/dist/plugins/qwickbrain/QwickbrainManagementPage.js.map +0 -1
  913. package/dist/plugins/qwickbrain/QwickbrainStatusWidget.d.ts.map +0 -1
  914. package/dist/plugins/qwickbrain/QwickbrainStatusWidget.js.map +0 -1
  915. package/dist/plugins/qwickbrain/index.d.ts.map +0 -1
  916. package/dist/plugins/qwickbrain/index.js.map +0 -1
  917. package/dist/plugins/qwickbrain/qwickbrain-plugin.d.ts.map +0 -1
  918. package/dist/plugins/qwickbrain/qwickbrain-plugin.js.map +0 -1
  919. package/dist/plugins/qwickbrain/types.d.ts.map +0 -1
  920. package/dist/plugins/qwickbrain/types.js.map +0 -1
  921. package/dist/plugins/rate-limit/RateLimitManagementPage.d.ts.map +0 -1
  922. package/dist/plugins/rate-limit/RateLimitManagementPage.js.map +0 -1
  923. package/dist/plugins/rate-limit/RateLimitStatusWidget.d.ts.map +0 -1
  924. package/dist/plugins/rate-limit/RateLimitStatusWidget.js.map +0 -1
  925. package/dist/plugins/rate-limit/cleanup.d.ts.map +0 -1
  926. package/dist/plugins/rate-limit/cleanup.js.map +0 -1
  927. package/dist/plugins/rate-limit/env-config.d.ts.map +0 -1
  928. package/dist/plugins/rate-limit/env-config.js.map +0 -1
  929. package/dist/plugins/rate-limit/index.d.ts.map +0 -1
  930. package/dist/plugins/rate-limit/index.js.map +0 -1
  931. package/dist/plugins/rate-limit/middleware.d.ts.map +0 -1
  932. package/dist/plugins/rate-limit/middleware.js.map +0 -1
  933. package/dist/plugins/rate-limit/rate-limit-plugin.d.ts.map +0 -1
  934. package/dist/plugins/rate-limit/rate-limit-plugin.js.map +0 -1
  935. package/dist/plugins/rate-limit/rate-limit-service.d.ts.map +0 -1
  936. package/dist/plugins/rate-limit/rate-limit-service.js.map +0 -1
  937. package/dist/plugins/rate-limit/stores/cache-store.d.ts.map +0 -1
  938. package/dist/plugins/rate-limit/stores/cache-store.js.map +0 -1
  939. package/dist/plugins/rate-limit/stores/index.d.ts.map +0 -1
  940. package/dist/plugins/rate-limit/stores/index.js.map +0 -1
  941. package/dist/plugins/rate-limit/stores/postgres-store.d.ts.map +0 -1
  942. package/dist/plugins/rate-limit/stores/postgres-store.js.map +0 -1
  943. package/dist/plugins/rate-limit/strategies/fixed-window.d.ts.map +0 -1
  944. package/dist/plugins/rate-limit/strategies/fixed-window.js.map +0 -1
  945. package/dist/plugins/rate-limit/strategies/index.d.ts.map +0 -1
  946. package/dist/plugins/rate-limit/strategies/index.js.map +0 -1
  947. package/dist/plugins/rate-limit/strategies/sliding-window.d.ts.map +0 -1
  948. package/dist/plugins/rate-limit/strategies/sliding-window.js.map +0 -1
  949. package/dist/plugins/rate-limit/strategies/token-bucket.d.ts.map +0 -1
  950. package/dist/plugins/rate-limit/strategies/token-bucket.js.map +0 -1
  951. package/dist/plugins/rate-limit/types.d.ts.map +0 -1
  952. package/dist/plugins/rate-limit/types.js.map +0 -1
  953. package/dist/plugins/subscriptions/SubscriptionsManagementPage.d.ts.map +0 -1
  954. package/dist/plugins/subscriptions/SubscriptionsManagementPage.js.map +0 -1
  955. package/dist/plugins/subscriptions/SubscriptionsStatusWidget.d.ts.map +0 -1
  956. package/dist/plugins/subscriptions/SubscriptionsStatusWidget.js.map +0 -1
  957. package/dist/plugins/subscriptions/index.d.ts.map +0 -1
  958. package/dist/plugins/subscriptions/index.js.map +0 -1
  959. package/dist/plugins/subscriptions/stores/index.d.ts.map +0 -1
  960. package/dist/plugins/subscriptions/stores/index.js.map +0 -1
  961. package/dist/plugins/subscriptions/stores/postgres-store.d.ts.map +0 -1
  962. package/dist/plugins/subscriptions/stores/postgres-store.js.map +0 -1
  963. package/dist/plugins/subscriptions/subscriptions-plugin.d.ts.map +0 -1
  964. package/dist/plugins/subscriptions/subscriptions-plugin.js.map +0 -1
  965. package/dist/plugins/subscriptions/types.d.ts.map +0 -1
  966. package/dist/plugins/subscriptions/types.js.map +0 -1
  967. package/dist/plugins/usage/UsageManagementPage.d.ts.map +0 -1
  968. package/dist/plugins/usage/UsageManagementPage.js.map +0 -1
  969. package/dist/plugins/usage/UsageStatusWidget.d.ts.map +0 -1
  970. package/dist/plugins/usage/UsageStatusWidget.js.map +0 -1
  971. package/dist/plugins/usage/index.d.ts.map +0 -1
  972. package/dist/plugins/usage/index.js.map +0 -1
  973. package/dist/plugins/usage/stores/index.d.ts.map +0 -1
  974. package/dist/plugins/usage/stores/index.js.map +0 -1
  975. package/dist/plugins/usage/stores/postgres-store.d.ts.map +0 -1
  976. package/dist/plugins/usage/stores/postgres-store.js.map +0 -1
  977. package/dist/plugins/usage/types.d.ts.map +0 -1
  978. package/dist/plugins/usage/types.js.map +0 -1
  979. package/dist/plugins/usage/usage-plugin.d.ts.map +0 -1
  980. package/dist/plugins/usage/usage-plugin.js.map +0 -1
  981. package/dist/plugins/users/UsersManagementPage.d.ts.map +0 -1
  982. package/dist/plugins/users/UsersManagementPage.js.map +0 -1
  983. package/dist/plugins/users/UsersStatusWidget.d.ts.map +0 -1
  984. package/dist/plugins/users/UsersStatusWidget.js.map +0 -1
  985. package/dist/plugins/users/index.d.ts +0 -12
  986. package/dist/plugins/users/index.d.ts.map +0 -1
  987. package/dist/plugins/users/index.js +0 -13
  988. package/dist/plugins/users/index.js.map +0 -1
  989. package/dist/plugins/users/stores/index.d.ts +0 -7
  990. package/dist/plugins/users/stores/index.d.ts.map +0 -1
  991. package/dist/plugins/users/stores/index.js +0 -7
  992. package/dist/plugins/users/stores/index.js.map +0 -1
  993. package/dist/plugins/users/stores/postgres-store.d.ts.map +0 -1
  994. package/dist/plugins/users/stores/postgres-store.js.map +0 -1
  995. package/dist/plugins/users/types.d.ts.map +0 -1
  996. package/dist/plugins/users/types.js.map +0 -1
  997. package/dist/plugins/users/users-plugin.d.ts.map +0 -1
  998. package/dist/plugins/users/users-plugin.js +0 -503
  999. package/dist/plugins/users/users-plugin.js.map +0 -1
  1000. package/dist-ui/assets/index-BiEHWqD3.js +0 -528
  1001. package/dist-ui/assets/index-BiEHWqD3.js.map +0 -1
  1002. package/dist-ui/assets/index-CiizQQnb.css +0 -1
  1003. /package/dist/{core → src/core}/control-panel.d.ts +0 -0
  1004. /package/dist/{core → src/core}/gateway.d.ts +0 -0
  1005. /package/dist/{core → src/core}/guards.d.ts +0 -0
  1006. /package/dist/{core → src/core}/guards.js +0 -0
  1007. /package/dist/{core → src/core}/health-manager.d.ts +0 -0
  1008. /package/dist/{core → src/core}/health-manager.js +0 -0
  1009. /package/dist/{core → src/core}/index.d.ts +0 -0
  1010. /package/dist/{core → src/core}/index.js +0 -0
  1011. /package/dist/{core → src/core}/logging.d.ts +0 -0
  1012. /package/dist/{core → src/core}/logging.js +0 -0
  1013. /package/dist/{core → src/core}/plugin-registry.js +0 -0
  1014. /package/dist/{core → src/core}/types.d.ts +0 -0
  1015. /package/dist/{core → src/core}/types.js +0 -0
  1016. /package/dist/{plugins → src/plugins}/api-keys/ApiKeysManagementPage.d.ts +0 -0
  1017. /package/dist/{plugins → src/plugins}/api-keys/ApiKeysManagementPage.js +0 -0
  1018. /package/dist/{plugins → src/plugins}/api-keys/ApiKeysStatusWidget.d.ts +0 -0
  1019. /package/dist/{plugins → src/plugins}/api-keys/ApiKeysStatusWidget.js +0 -0
  1020. /package/dist/{plugins → src/plugins}/api-keys/api-keys-plugin.d.ts +0 -0
  1021. /package/dist/{plugins → src/plugins}/api-keys/api-keys-plugin.js +0 -0
  1022. /package/dist/{plugins → src/plugins}/api-keys/index.d.ts +0 -0
  1023. /package/dist/{plugins → src/plugins}/api-keys/index.js +0 -0
  1024. /package/dist/{plugins → src/plugins}/api-keys/middleware/bearer-token-auth.d.ts +0 -0
  1025. /package/dist/{plugins → src/plugins}/api-keys/middleware/bearer-token-auth.js +0 -0
  1026. /package/dist/{plugins → src/plugins}/api-keys/middleware/index.d.ts +0 -0
  1027. /package/dist/{plugins → src/plugins}/api-keys/middleware/index.js +0 -0
  1028. /package/dist/{plugins → src/plugins}/api-keys/middleware/usage-logging.d.ts +0 -0
  1029. /package/dist/{plugins → src/plugins}/api-keys/middleware/usage-logging.js +0 -0
  1030. /package/dist/{plugins → src/plugins}/api-keys/stores/index.d.ts +0 -0
  1031. /package/dist/{plugins → src/plugins}/api-keys/stores/index.js +0 -0
  1032. /package/dist/{plugins → src/plugins}/api-keys/stores/plugin-scope-store.d.ts +0 -0
  1033. /package/dist/{plugins → src/plugins}/api-keys/stores/plugin-scope-store.js +0 -0
  1034. /package/dist/{plugins → src/plugins}/api-keys/stores/postgres-store.d.ts +0 -0
  1035. /package/dist/{plugins → src/plugins}/api-keys/stores/usage-log-store.d.ts +0 -0
  1036. /package/dist/{plugins → src/plugins}/api-keys/stores/usage-log-store.js +0 -0
  1037. /package/dist/{plugins → src/plugins}/api-keys/types.d.ts +0 -0
  1038. /package/dist/{plugins → src/plugins}/api-keys/types.js +0 -0
  1039. /package/dist/{plugins → src/plugins}/auth/AuthManagementPage.d.ts +0 -0
  1040. /package/dist/{plugins → src/plugins}/auth/AuthManagementPage.js +0 -0
  1041. /package/dist/{plugins → src/plugins}/auth/AuthStatusWidget.d.ts +0 -0
  1042. /package/dist/{plugins → src/plugins}/auth/AuthStatusWidget.js +0 -0
  1043. /package/dist/{plugins → src/plugins}/auth/adapter-wrapper.d.ts +0 -0
  1044. /package/dist/{plugins → src/plugins}/auth/adapter-wrapper.js +0 -0
  1045. /package/dist/{plugins → src/plugins}/auth/adapters/auth0-adapter.d.ts +0 -0
  1046. /package/dist/{plugins → src/plugins}/auth/adapters/auth0-adapter.js +0 -0
  1047. /package/dist/{plugins → src/plugins}/auth/adapters/basic-adapter.d.ts +0 -0
  1048. /package/dist/{plugins → src/plugins}/auth/adapters/basic-adapter.js +0 -0
  1049. /package/dist/{plugins → src/plugins}/auth/adapters/index.d.ts +0 -0
  1050. /package/dist/{plugins → src/plugins}/auth/adapters/index.js +0 -0
  1051. /package/dist/{plugins → src/plugins}/auth/adapters/supabase-adapter.d.ts +0 -0
  1052. /package/dist/{plugins → src/plugins}/auth/adapters/supabase-adapter.js +0 -0
  1053. /package/dist/{plugins → src/plugins}/auth/adapters/supertokens-adapter.d.ts +0 -0
  1054. /package/dist/{plugins → src/plugins}/auth/adapters/supertokens-adapter.js +0 -0
  1055. /package/dist/{plugins → src/plugins}/auth/auth-plugin.d.ts +0 -0
  1056. /package/dist/{plugins → src/plugins}/auth/config-store.d.ts +0 -0
  1057. /package/dist/{plugins → src/plugins}/auth/config-store.js +0 -0
  1058. /package/dist/{plugins → src/plugins}/auth/env-config.d.ts +0 -0
  1059. /package/dist/{plugins → src/plugins}/auth/index.d.ts +0 -0
  1060. /package/dist/{plugins → src/plugins}/auth/index.js +0 -0
  1061. /package/dist/{plugins → src/plugins}/auth/types.d.ts +0 -0
  1062. /package/dist/{plugins → src/plugins}/auth/types.js +0 -0
  1063. /package/dist/{plugins → src/plugins}/bans/BansManagementPage.d.ts +0 -0
  1064. /package/dist/{plugins → src/plugins}/bans/BansManagementPage.js +0 -0
  1065. /package/dist/{plugins → src/plugins}/bans/BansStatusWidget.d.ts +0 -0
  1066. /package/dist/{plugins → src/plugins}/bans/BansStatusWidget.js +0 -0
  1067. /package/dist/{plugins → src/plugins}/bans/bans-plugin.d.ts +0 -0
  1068. /package/dist/{plugins → src/plugins}/bans/bans-plugin.js +0 -0
  1069. /package/dist/{plugins → src/plugins}/bans/stores/postgres-store.d.ts +0 -0
  1070. /package/dist/{plugins → src/plugins}/bans/stores/postgres-store.js +0 -0
  1071. /package/dist/{plugins → src/plugins}/bans/types.d.ts +0 -0
  1072. /package/dist/{plugins → src/plugins}/bans/types.js +0 -0
  1073. /package/dist/{plugins → src/plugins}/cache/CacheManagementPage.d.ts +0 -0
  1074. /package/dist/{plugins → src/plugins}/cache/CacheManagementPage.js +0 -0
  1075. /package/dist/{plugins → src/plugins}/cache/CacheStatusWidget.d.ts +0 -0
  1076. /package/dist/{plugins → src/plugins}/cache/CacheStatusWidget.js +0 -0
  1077. /package/dist/{plugins → src/plugins}/cache/index.d.ts +0 -0
  1078. /package/dist/{plugins → src/plugins}/cache/index.js +0 -0
  1079. /package/dist/{plugins → src/plugins}/cms/cms-plugin.d.ts +0 -0
  1080. /package/dist/{plugins → src/plugins}/cms/index.d.ts +0 -0
  1081. /package/dist/{plugins → src/plugins}/cms/index.js +0 -0
  1082. /package/dist/{plugins → src/plugins}/config-plugin.d.ts +0 -0
  1083. /package/dist/{plugins → src/plugins}/config-plugin.js +0 -0
  1084. /package/dist/{plugins → src/plugins}/core/index.d.ts +0 -0
  1085. /package/dist/{plugins → src/plugins}/core/index.js +0 -0
  1086. /package/dist/{plugins → src/plugins}/devices/DevicesManagementPage.d.ts +0 -0
  1087. /package/dist/{plugins → src/plugins}/devices/DevicesManagementPage.js +0 -0
  1088. /package/dist/{plugins → src/plugins}/devices/DevicesStatusWidget.d.ts +0 -0
  1089. /package/dist/{plugins → src/plugins}/devices/DevicesStatusWidget.js +0 -0
  1090. /package/dist/{plugins → src/plugins}/devices/adapters/compute-adapter.d.ts +0 -0
  1091. /package/dist/{plugins → src/plugins}/devices/adapters/compute-adapter.js +0 -0
  1092. /package/dist/{plugins → src/plugins}/devices/adapters/index.d.ts +0 -0
  1093. /package/dist/{plugins → src/plugins}/devices/adapters/index.js +0 -0
  1094. /package/dist/{plugins → src/plugins}/devices/adapters/mobile-adapter.d.ts +0 -0
  1095. /package/dist/{plugins → src/plugins}/devices/adapters/mobile-adapter.js +0 -0
  1096. /package/dist/{plugins → src/plugins}/devices/devices-plugin.d.ts +0 -0
  1097. /package/dist/{plugins → src/plugins}/devices/devices-plugin.js +0 -0
  1098. /package/dist/{plugins → src/plugins}/devices/index.d.ts +0 -0
  1099. /package/dist/{plugins → src/plugins}/devices/index.js +0 -0
  1100. /package/dist/{plugins → src/plugins}/devices/stores/index.d.ts +0 -0
  1101. /package/dist/{plugins → src/plugins}/devices/stores/index.js +0 -0
  1102. /package/dist/{plugins → src/plugins}/devices/stores/postgres-store.d.ts +0 -0
  1103. /package/dist/{plugins → src/plugins}/devices/stores/postgres-store.js +0 -0
  1104. /package/dist/{plugins → src/plugins}/devices/token-utils.d.ts +0 -0
  1105. /package/dist/{plugins → src/plugins}/devices/token-utils.js +0 -0
  1106. /package/dist/{plugins → src/plugins}/devices/types.d.ts +0 -0
  1107. /package/dist/{plugins → src/plugins}/devices/types.js +0 -0
  1108. /package/dist/{plugins → src/plugins}/diagnostics/DiagnosticsManagementPage.d.ts +0 -0
  1109. /package/dist/{plugins → src/plugins}/diagnostics/DiagnosticsManagementPage.js +0 -0
  1110. /package/dist/{plugins → src/plugins}/diagnostics/DiagnosticsStatusWidget.d.ts +0 -0
  1111. /package/dist/{plugins → src/plugins}/diagnostics/DiagnosticsStatusWidget.js +0 -0
  1112. /package/dist/{plugins → src/plugins}/diagnostics/index.d.ts +0 -0
  1113. /package/dist/{plugins → src/plugins}/diagnostics/index.js +0 -0
  1114. /package/dist/{plugins → src/plugins}/diagnostics-plugin.d.ts +0 -0
  1115. /package/dist/{plugins → src/plugins}/diagnostics-plugin.js +0 -0
  1116. /package/dist/{plugins → src/plugins}/entitlements/EntitlementsManagementPage.d.ts +0 -0
  1117. /package/dist/{plugins → src/plugins}/entitlements/EntitlementsManagementPage.js +0 -0
  1118. /package/dist/{plugins → src/plugins}/entitlements/EntitlementsStatusWidget.d.ts +0 -0
  1119. /package/dist/{plugins → src/plugins}/entitlements/EntitlementsStatusWidget.js +0 -0
  1120. /package/dist/{plugins → src/plugins}/entitlements/entitlements-plugin.d.ts +0 -0
  1121. /package/dist/{plugins → src/plugins}/entitlements/entitlements-plugin.js +0 -0
  1122. /package/dist/{plugins → src/plugins}/entitlements/sources/postgres-source.d.ts +0 -0
  1123. /package/dist/{plugins → src/plugins}/entitlements/sources/postgres-source.js +0 -0
  1124. /package/dist/{plugins → src/plugins}/entitlements/types.d.ts +0 -0
  1125. /package/dist/{plugins → src/plugins}/entitlements/types.js +0 -0
  1126. /package/dist/{plugins → src/plugins}/frontend-app-plugin.d.ts +0 -0
  1127. /package/dist/{plugins → src/plugins}/frontend-app-plugin.js +0 -0
  1128. /package/dist/{plugins → src/plugins}/health/HealthManagementPage.d.ts +0 -0
  1129. /package/dist/{plugins → src/plugins}/health/HealthManagementPage.js +0 -0
  1130. /package/dist/{plugins → src/plugins}/health/HealthStatusWidget.d.ts +0 -0
  1131. /package/dist/{plugins → src/plugins}/health/HealthStatusWidget.js +0 -0
  1132. /package/dist/{plugins → src/plugins}/health/index.d.ts +0 -0
  1133. /package/dist/{plugins → src/plugins}/health/index.js +0 -0
  1134. /package/dist/{plugins → src/plugins}/health-plugin.d.ts +0 -0
  1135. /package/dist/{plugins → src/plugins}/logs/LogsManagementPage.d.ts +0 -0
  1136. /package/dist/{plugins → src/plugins}/logs/LogsManagementPage.js +0 -0
  1137. /package/dist/{plugins → src/plugins}/logs/LogsStatusWidget.d.ts +0 -0
  1138. /package/dist/{plugins → src/plugins}/logs/LogsStatusWidget.js +0 -0
  1139. /package/dist/{plugins → src/plugins}/logs/index.d.ts +0 -0
  1140. /package/dist/{plugins → src/plugins}/logs/index.js +0 -0
  1141. /package/dist/{plugins → src/plugins}/logs-plugin.d.ts +0 -0
  1142. /package/dist/{plugins → src/plugins}/maintenance/MaintenanceManagementPage.d.ts +0 -0
  1143. /package/dist/{plugins → src/plugins}/maintenance/MaintenanceManagementPage.js +0 -0
  1144. /package/dist/{plugins → src/plugins}/maintenance/MaintenanceStatusWidget.d.ts +0 -0
  1145. /package/dist/{plugins → src/plugins}/maintenance/MaintenanceStatusWidget.js +0 -0
  1146. /package/dist/{plugins → src/plugins}/maintenance/SeedExecutor.d.ts +0 -0
  1147. /package/dist/{plugins → src/plugins}/maintenance/SeedExecutor.js +0 -0
  1148. /package/dist/{plugins → src/plugins}/maintenance/SeedHistory.d.ts +0 -0
  1149. /package/dist/{plugins → src/plugins}/maintenance/SeedHistory.js +0 -0
  1150. /package/dist/{plugins → src/plugins}/maintenance/SeedList.d.ts +0 -0
  1151. /package/dist/{plugins → src/plugins}/maintenance/SeedList.js +0 -0
  1152. /package/dist/{plugins → src/plugins}/maintenance/SeedManagementPage.d.ts +0 -0
  1153. /package/dist/{plugins → src/plugins}/maintenance/SeedManagementPage.js +0 -0
  1154. /package/dist/{plugins → src/plugins}/maintenance/index.d.ts +0 -0
  1155. /package/dist/{plugins → src/plugins}/maintenance/index.js +0 -0
  1156. /package/dist/{plugins → src/plugins}/maintenance/seed-executor.d.ts +0 -0
  1157. /package/dist/{plugins → src/plugins}/maintenance/seed-executor.js +0 -0
  1158. /package/dist/{plugins → src/plugins}/maintenance-plugin.d.ts +0 -0
  1159. /package/dist/{plugins → src/plugins}/notifications/NotificationsManagementPage.d.ts +0 -0
  1160. /package/dist/{plugins → src/plugins}/notifications/NotificationsManagementPage.js +0 -0
  1161. /package/dist/{plugins → src/plugins}/notifications/NotificationsStatusWidget.d.ts +0 -0
  1162. /package/dist/{plugins → src/plugins}/notifications/NotificationsStatusWidget.js +0 -0
  1163. /package/dist/{plugins → src/plugins}/notifications/index.d.ts +0 -0
  1164. /package/dist/{plugins → src/plugins}/notifications/index.js +0 -0
  1165. /package/dist/{plugins → src/plugins}/notifications/notifications-manager.d.ts +0 -0
  1166. /package/dist/{plugins → src/plugins}/notifications/notifications-manager.js +0 -0
  1167. /package/dist/{plugins → src/plugins}/notifications/notifications-plugin.d.ts +0 -0
  1168. /package/dist/{plugins → src/plugins}/notifications/types.d.ts +0 -0
  1169. /package/dist/{plugins → src/plugins}/notifications/types.js +0 -0
  1170. /package/dist/{plugins → src/plugins}/parental/ParentalManagementPage.d.ts +0 -0
  1171. /package/dist/{plugins → src/plugins}/parental/ParentalManagementPage.js +0 -0
  1172. /package/dist/{plugins → src/plugins}/parental/ParentalStatusWidget.d.ts +0 -0
  1173. /package/dist/{plugins → src/plugins}/parental/ParentalStatusWidget.js +0 -0
  1174. /package/dist/{plugins → src/plugins}/parental/adapters/index.d.ts +0 -0
  1175. /package/dist/{plugins → src/plugins}/parental/adapters/index.js +0 -0
  1176. /package/dist/{plugins → src/plugins}/parental/adapters/kids-adapter.d.ts +0 -0
  1177. /package/dist/{plugins → src/plugins}/parental/adapters/kids-adapter.js +0 -0
  1178. /package/dist/{plugins → src/plugins}/parental/index.d.ts +0 -0
  1179. /package/dist/{plugins → src/plugins}/parental/index.js +0 -0
  1180. /package/dist/{plugins → src/plugins}/parental/parental-plugin.d.ts +0 -0
  1181. /package/dist/{plugins → src/plugins}/parental/parental-plugin.js +0 -0
  1182. /package/dist/{plugins → src/plugins}/parental/stores/index.d.ts +0 -0
  1183. /package/dist/{plugins → src/plugins}/parental/stores/index.js +0 -0
  1184. /package/dist/{plugins → src/plugins}/parental/stores/postgres-store.d.ts +0 -0
  1185. /package/dist/{plugins → src/plugins}/parental/stores/postgres-store.js +0 -0
  1186. /package/dist/{plugins → src/plugins}/parental/types.d.ts +0 -0
  1187. /package/dist/{plugins → src/plugins}/parental/types.js +0 -0
  1188. /package/dist/{plugins → src/plugins}/postgres/PostgresManagementPage.d.ts +0 -0
  1189. /package/dist/{plugins → src/plugins}/postgres/PostgresManagementPage.js +0 -0
  1190. /package/dist/{plugins → src/plugins}/postgres/PostgresStatusWidget.d.ts +0 -0
  1191. /package/dist/{plugins → src/plugins}/postgres/PostgresStatusWidget.js +0 -0
  1192. /package/dist/{plugins → src/plugins}/postgres/index.d.ts +0 -0
  1193. /package/dist/{plugins → src/plugins}/postgres/index.js +0 -0
  1194. /package/dist/{plugins → src/plugins}/preferences/PreferencesManagementPage.d.ts +0 -0
  1195. /package/dist/{plugins → src/plugins}/preferences/PreferencesManagementPage.js +0 -0
  1196. /package/dist/{plugins → src/plugins}/preferences/PreferencesStatusWidget.d.ts +0 -0
  1197. /package/dist/{plugins → src/plugins}/preferences/PreferencesStatusWidget.js +0 -0
  1198. /package/dist/{plugins → src/plugins}/preferences/index.d.ts +0 -0
  1199. /package/dist/{plugins → src/plugins}/preferences/index.js +0 -0
  1200. /package/dist/{plugins → src/plugins}/preferences/preferences-plugin.d.ts +0 -0
  1201. /package/dist/{plugins → src/plugins}/preferences/preferences-plugin.js +0 -0
  1202. /package/dist/{plugins → src/plugins}/preferences/stores/index.d.ts +0 -0
  1203. /package/dist/{plugins → src/plugins}/preferences/stores/index.js +0 -0
  1204. /package/dist/{plugins → src/plugins}/preferences/stores/postgres-store.d.ts +0 -0
  1205. /package/dist/{plugins → src/plugins}/preferences/stores/postgres-store.js +0 -0
  1206. /package/dist/{plugins → src/plugins}/preferences/types.d.ts +0 -0
  1207. /package/dist/{plugins → src/plugins}/preferences/types.js +0 -0
  1208. /package/dist/{plugins → src/plugins}/profiles/ProfilesManagementPage.d.ts +0 -0
  1209. /package/dist/{plugins → src/plugins}/profiles/ProfilesManagementPage.js +0 -0
  1210. /package/dist/{plugins → src/plugins}/profiles/ProfilesStatusWidget.d.ts +0 -0
  1211. /package/dist/{plugins → src/plugins}/profiles/ProfilesStatusWidget.js +0 -0
  1212. /package/dist/{plugins → src/plugins}/profiles/index.d.ts +0 -0
  1213. /package/dist/{plugins → src/plugins}/profiles/index.js +0 -0
  1214. /package/dist/{plugins → src/plugins}/profiles/profiles-plugin.d.ts +0 -0
  1215. /package/dist/{plugins → src/plugins}/profiles/profiles-plugin.js +0 -0
  1216. /package/dist/{plugins → src/plugins}/profiles/stores/index.d.ts +0 -0
  1217. /package/dist/{plugins → src/plugins}/profiles/stores/index.js +0 -0
  1218. /package/dist/{plugins → src/plugins}/profiles/stores/postgres-store.d.ts +0 -0
  1219. /package/dist/{plugins → src/plugins}/profiles/stores/postgres-store.js +0 -0
  1220. /package/dist/{plugins → src/plugins}/profiles/types.d.ts +0 -0
  1221. /package/dist/{plugins → src/plugins}/profiles/types.js +0 -0
  1222. /package/dist/{plugins → src/plugins}/qwickbrain/QwickbrainManagementPage.d.ts +0 -0
  1223. /package/dist/{plugins → src/plugins}/qwickbrain/QwickbrainManagementPage.js +0 -0
  1224. /package/dist/{plugins → src/plugins}/qwickbrain/QwickbrainStatusWidget.d.ts +0 -0
  1225. /package/dist/{plugins → src/plugins}/qwickbrain/QwickbrainStatusWidget.js +0 -0
  1226. /package/dist/{plugins → src/plugins}/qwickbrain/index.d.ts +0 -0
  1227. /package/dist/{plugins → src/plugins}/qwickbrain/index.js +0 -0
  1228. /package/dist/{plugins → src/plugins}/qwickbrain/qwickbrain-plugin.d.ts +0 -0
  1229. /package/dist/{plugins → src/plugins}/qwickbrain/qwickbrain-plugin.js +0 -0
  1230. /package/dist/{plugins → src/plugins}/qwickbrain/types.d.ts +0 -0
  1231. /package/dist/{plugins → src/plugins}/qwickbrain/types.js +0 -0
  1232. /package/dist/{plugins → src/plugins}/rate-limit/RateLimitManagementPage.d.ts +0 -0
  1233. /package/dist/{plugins → src/plugins}/rate-limit/RateLimitManagementPage.js +0 -0
  1234. /package/dist/{plugins → src/plugins}/rate-limit/RateLimitStatusWidget.d.ts +0 -0
  1235. /package/dist/{plugins → src/plugins}/rate-limit/RateLimitStatusWidget.js +0 -0
  1236. /package/dist/{plugins → src/plugins}/rate-limit/cleanup.d.ts +0 -0
  1237. /package/dist/{plugins → src/plugins}/rate-limit/cleanup.js +0 -0
  1238. /package/dist/{plugins → src/plugins}/rate-limit/env-config.d.ts +0 -0
  1239. /package/dist/{plugins → src/plugins}/rate-limit/env-config.js +0 -0
  1240. /package/dist/{plugins → src/plugins}/rate-limit/index.d.ts +0 -0
  1241. /package/dist/{plugins → src/plugins}/rate-limit/index.js +0 -0
  1242. /package/dist/{plugins → src/plugins}/rate-limit/middleware.d.ts +0 -0
  1243. /package/dist/{plugins → src/plugins}/rate-limit/middleware.js +0 -0
  1244. /package/dist/{plugins → src/plugins}/rate-limit/rate-limit-plugin.d.ts +0 -0
  1245. /package/dist/{plugins → src/plugins}/rate-limit/rate-limit-plugin.js +0 -0
  1246. /package/dist/{plugins → src/plugins}/rate-limit/rate-limit-service.d.ts +0 -0
  1247. /package/dist/{plugins → src/plugins}/rate-limit/rate-limit-service.js +0 -0
  1248. /package/dist/{plugins → src/plugins}/rate-limit/stores/cache-store.d.ts +0 -0
  1249. /package/dist/{plugins → src/plugins}/rate-limit/stores/cache-store.js +0 -0
  1250. /package/dist/{plugins → src/plugins}/rate-limit/stores/index.d.ts +0 -0
  1251. /package/dist/{plugins → src/plugins}/rate-limit/stores/index.js +0 -0
  1252. /package/dist/{plugins → src/plugins}/rate-limit/stores/postgres-store.d.ts +0 -0
  1253. /package/dist/{plugins → src/plugins}/rate-limit/stores/postgres-store.js +0 -0
  1254. /package/dist/{plugins → src/plugins}/rate-limit/strategies/fixed-window.d.ts +0 -0
  1255. /package/dist/{plugins → src/plugins}/rate-limit/strategies/fixed-window.js +0 -0
  1256. /package/dist/{plugins → src/plugins}/rate-limit/strategies/index.d.ts +0 -0
  1257. /package/dist/{plugins → src/plugins}/rate-limit/strategies/index.js +0 -0
  1258. /package/dist/{plugins → src/plugins}/rate-limit/strategies/sliding-window.d.ts +0 -0
  1259. /package/dist/{plugins → src/plugins}/rate-limit/strategies/sliding-window.js +0 -0
  1260. /package/dist/{plugins → src/plugins}/rate-limit/strategies/token-bucket.d.ts +0 -0
  1261. /package/dist/{plugins → src/plugins}/rate-limit/strategies/token-bucket.js +0 -0
  1262. /package/dist/{plugins → src/plugins}/rate-limit/types.d.ts +0 -0
  1263. /package/dist/{plugins → src/plugins}/rate-limit/types.js +0 -0
  1264. /package/dist/{plugins → src/plugins}/subscriptions/SubscriptionsManagementPage.d.ts +0 -0
  1265. /package/dist/{plugins → src/plugins}/subscriptions/SubscriptionsManagementPage.js +0 -0
  1266. /package/dist/{plugins → src/plugins}/subscriptions/SubscriptionsStatusWidget.d.ts +0 -0
  1267. /package/dist/{plugins → src/plugins}/subscriptions/SubscriptionsStatusWidget.js +0 -0
  1268. /package/dist/{plugins → src/plugins}/subscriptions/index.d.ts +0 -0
  1269. /package/dist/{plugins → src/plugins}/subscriptions/index.js +0 -0
  1270. /package/dist/{plugins → src/plugins}/subscriptions/stores/index.d.ts +0 -0
  1271. /package/dist/{plugins → src/plugins}/subscriptions/stores/index.js +0 -0
  1272. /package/dist/{plugins → src/plugins}/subscriptions/stores/postgres-store.d.ts +0 -0
  1273. /package/dist/{plugins → src/plugins}/subscriptions/stores/postgres-store.js +0 -0
  1274. /package/dist/{plugins → src/plugins}/subscriptions/subscriptions-plugin.d.ts +0 -0
  1275. /package/dist/{plugins → src/plugins}/subscriptions/subscriptions-plugin.js +0 -0
  1276. /package/dist/{plugins → src/plugins}/subscriptions/types.d.ts +0 -0
  1277. /package/dist/{plugins → src/plugins}/subscriptions/types.js +0 -0
  1278. /package/dist/{plugins → src/plugins}/usage/UsageManagementPage.d.ts +0 -0
  1279. /package/dist/{plugins → src/plugins}/usage/UsageManagementPage.js +0 -0
  1280. /package/dist/{plugins → src/plugins}/usage/UsageStatusWidget.d.ts +0 -0
  1281. /package/dist/{plugins → src/plugins}/usage/UsageStatusWidget.js +0 -0
  1282. /package/dist/{plugins → src/plugins}/usage/index.d.ts +0 -0
  1283. /package/dist/{plugins → src/plugins}/usage/index.js +0 -0
  1284. /package/dist/{plugins → src/plugins}/usage/stores/index.d.ts +0 -0
  1285. /package/dist/{plugins → src/plugins}/usage/stores/index.js +0 -0
  1286. /package/dist/{plugins → src/plugins}/usage/stores/postgres-store.d.ts +0 -0
  1287. /package/dist/{plugins → src/plugins}/usage/stores/postgres-store.js +0 -0
  1288. /package/dist/{plugins → src/plugins}/usage/types.d.ts +0 -0
  1289. /package/dist/{plugins → src/plugins}/usage/types.js +0 -0
  1290. /package/dist/{plugins → src/plugins}/usage/usage-plugin.d.ts +0 -0
  1291. /package/dist/{plugins → src/plugins}/usage/usage-plugin.js +0 -0
  1292. /package/dist/{plugins → src/plugins}/users/UsersManagementPage.d.ts +0 -0
  1293. /package/dist/{plugins → src/plugins}/users/UsersManagementPage.js +0 -0
  1294. /package/dist/{plugins → src/plugins}/users/UsersStatusWidget.d.ts +0 -0
  1295. /package/dist/{plugins → src/plugins}/users/UsersStatusWidget.js +0 -0
  1296. /package/dist/{plugins → src/plugins}/users/stores/postgres-store.d.ts +0 -0
  1297. /package/dist/{plugins → src/plugins}/users/stores/postgres-store.js +0 -0
  1298. /package/dist/{plugins → src/plugins}/users/types.d.ts +0 -0
  1299. /package/dist/{plugins → src/plugins}/users/types.js +0 -0
  1300. /package/dist/{plugins → src/plugins}/users/users-plugin.d.ts +0 -0
@@ -1,1063 +0,0 @@
1
- /**
2
- * Gateway Server for @qwickapps/server
3
- *
4
- * Provides a production-ready gateway pattern that:
5
- * 1. Proxies multiple apps mounted at configurable paths
6
- * 2. Each app runs at `/` on its own internal port
7
- * 3. Gateway handles path rewriting automatically
8
- * 4. Provides health and diagnostics endpoints
9
- *
10
- * Architecture:
11
- * Internet → Gateway (:3000) → [Control Panel (:3001), Admin (:3002), API (:3003), ...]
12
- *
13
- * Port Scheme:
14
- * - 3000: Gateway (public)
15
- * - 3001: Control Panel
16
- * - 3002+: Additional apps
17
- *
18
- * Each app is isolated and can be served from any mount path without rebuilding.
19
- *
20
- * Copyright (c) 2025 QwickApps.com. All rights reserved.
21
- */
22
- import { createControlPanel } from './control-panel.js';
23
- import { initializeLogging, getControlPanelLogger } from './logging.js';
24
- import { createProxyMiddleware } from 'http-proxy-middleware';
25
- import express from 'express';
26
- import { existsSync, readFileSync } from 'fs';
27
- import { resolve, join, dirname } from 'path';
28
- import { fileURLToPath } from 'url';
29
- // Get QwickApps Server version from package.json
30
- const __filename = fileURLToPath(import.meta.url);
31
- const __dirname = dirname(__filename);
32
- const serverPackageJson = JSON.parse(readFileSync(join(__dirname, '..', '..', 'package.json'), 'utf-8'));
33
- const QWICKAPPS_SERVER_VERSION = serverPackageJson.version || '1.0.0';
34
- /**
35
- * Generate landing page HTML for the frontend app
36
- */
37
- function generateLandingPageHtml(config, controlPanelPath) {
38
- if (!config)
39
- return '';
40
- const primaryColor = config.branding?.primaryColor || '#6366f1';
41
- const links = config.links || [
42
- { label: 'Control Panel', url: controlPanelPath },
43
- ];
44
- const linksHtml = links
45
- .map((link) => `<a href="${link.url}" class="link">${link.label}</a>`)
46
- .join('');
47
- return `<!DOCTYPE html>
48
- <html lang="en">
49
- <head>
50
- <meta charset="UTF-8">
51
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
52
- <title>${config.title}</title>
53
- <style>
54
- * { margin: 0; padding: 0; box-sizing: border-box; }
55
- body {
56
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
57
- background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
58
- color: #e2e8f0;
59
- min-height: 100vh;
60
- display: flex;
61
- align-items: center;
62
- justify-content: center;
63
- }
64
- .container {
65
- text-align: center;
66
- max-width: 600px;
67
- padding: 2rem;
68
- }
69
- h1 {
70
- font-size: 2.5rem;
71
- color: ${primaryColor};
72
- margin-bottom: 1rem;
73
- }
74
- p {
75
- font-size: 1.125rem;
76
- color: #94a3b8;
77
- margin-bottom: 2rem;
78
- line-height: 1.6;
79
- }
80
- .links {
81
- display: flex;
82
- flex-wrap: wrap;
83
- gap: 1rem;
84
- justify-content: center;
85
- }
86
- .link {
87
- display: inline-block;
88
- padding: 0.875rem 2rem;
89
- background: ${primaryColor};
90
- color: white;
91
- text-decoration: none;
92
- border-radius: 0.5rem;
93
- font-weight: 500;
94
- transition: all 0.2s;
95
- }
96
- .link:hover {
97
- transform: translateY(-2px);
98
- box-shadow: 0 10px 20px rgba(0,0,0,0.3);
99
- }
100
- .footer {
101
- position: fixed;
102
- bottom: 1rem;
103
- left: 0;
104
- right: 0;
105
- text-align: center;
106
- color: #64748b;
107
- font-size: 0.875rem;
108
- }
109
- .footer a {
110
- color: ${primaryColor};
111
- text-decoration: none;
112
- }
113
- </style>
114
- </head>
115
- <body>
116
- <div class="container">
117
- <h1>${config.heading || config.title}</h1>
118
- ${config.description ? `<p>${config.description}</p>` : ''}
119
- ${linksHtml ? `<div class="links">${linksHtml}</div>` : ''}
120
- </div>
121
- <div class="footer">
122
- Powered by <a href="https://qwickapps.com" target="_blank">QwickApps</a>
123
- </div>
124
- </body>
125
- </html>`;
126
- }
127
- /**
128
- * Generate default landing page HTML when no frontend app is configured
129
- */
130
- function generateDefaultLandingPageHtml(productName, controlPanelPath, logoIconUrl) {
131
- return `<!DOCTYPE html>
132
- <html lang="en">
133
- <head>
134
- <meta charset="UTF-8">
135
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
136
- <title>${productName}</title>
137
- <style>
138
- * { margin: 0; padding: 0; box-sizing: border-box; }
139
-
140
- :root {
141
- --primary: #6366f1;
142
- --primary-glow: rgba(99, 102, 241, 0.4);
143
- --success: #22c55e;
144
- --warning: #f59e0b;
145
- --error: #ef4444;
146
- --bg-dark: #0a0a0f;
147
- --bg-card: rgba(255, 255, 255, 0.03);
148
- --text-primary: #f1f5f9;
149
- --text-secondary: #94a3b8;
150
- }
151
-
152
- body {
153
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
154
- background: var(--bg-dark);
155
- color: var(--text-primary);
156
- min-height: 100vh;
157
- overflow: hidden;
158
- display: flex;
159
- align-items: center;
160
- justify-content: center;
161
- }
162
-
163
- .bg-gradient {
164
- position: fixed;
165
- top: 0; left: 0; right: 0; bottom: 0;
166
- background:
167
- radial-gradient(ellipse at 20% 20%, rgba(99, 102, 241, 0.15) 0%, transparent 50%),
168
- radial-gradient(ellipse at 80% 80%, rgba(139, 92, 246, 0.1) 0%, transparent 50%);
169
- animation: gradientShift 15s ease-in-out infinite;
170
- }
171
-
172
- @keyframes gradientShift {
173
- 0%, 100% { opacity: 1; }
174
- 50% { opacity: 0.8; }
175
- }
176
-
177
- .container {
178
- position: relative;
179
- z-index: 10;
180
- text-align: center;
181
- max-width: 500px;
182
- padding: 3rem 2rem;
183
- }
184
-
185
- .logo {
186
- width: 80px;
187
- height: 80px;
188
- margin: 0 auto 2rem;
189
- display: flex;
190
- align-items: center;
191
- justify-content: center;
192
- animation: logoFloat 6s ease-in-out infinite;
193
- }
194
-
195
- .logo.default {
196
- background: linear-gradient(135deg, var(--primary) 0%, #8b5cf6 100%);
197
- border-radius: 20px;
198
- box-shadow: 0 20px 40px var(--primary-glow);
199
- }
200
-
201
- @keyframes logoFloat {
202
- 0%, 100% { transform: translateY(0); }
203
- 50% { transform: translateY(-10px); }
204
- }
205
-
206
- .logo svg {
207
- width: 48px;
208
- height: 48px;
209
- fill: white;
210
- }
211
-
212
- .logo img {
213
- width: 64px;
214
- height: 64px;
215
- object-fit: contain;
216
- }
217
-
218
- h1 {
219
- font-size: 2.5rem;
220
- font-weight: 700;
221
- margin-bottom: 0.5rem;
222
- background: linear-gradient(135deg, var(--text-primary) 0%, var(--primary) 100%);
223
- -webkit-background-clip: text;
224
- -webkit-text-fill-color: transparent;
225
- background-clip: text;
226
- }
227
-
228
- .status-badge {
229
- display: inline-flex;
230
- align-items: center;
231
- gap: 0.5rem;
232
- padding: 0.75rem 1.5rem;
233
- background: var(--bg-card);
234
- border: 1px solid rgba(255, 255, 255, 0.1);
235
- border-radius: 100px;
236
- margin: 1.5rem 0 2rem;
237
- backdrop-filter: blur(10px);
238
- }
239
-
240
- .status-dot {
241
- width: 10px;
242
- height: 10px;
243
- border-radius: 50%;
244
- background: var(--success);
245
- box-shadow: 0 0 10px var(--success);
246
- animation: pulse 2s ease-in-out infinite;
247
- }
248
-
249
- @keyframes pulse {
250
- 0%, 100% { opacity: 1; transform: scale(1); }
251
- 50% { opacity: 0.7; transform: scale(1.1); }
252
- }
253
-
254
- .status-text {
255
- font-size: 0.95rem;
256
- font-weight: 500;
257
- }
258
-
259
- .description {
260
- color: var(--text-secondary);
261
- font-size: 1rem;
262
- line-height: 1.6;
263
- margin-bottom: 2rem;
264
- }
265
-
266
- .links {
267
- display: flex;
268
- flex-wrap: wrap;
269
- gap: 1rem;
270
- justify-content: center;
271
- }
272
-
273
- .link {
274
- display: inline-flex;
275
- align-items: center;
276
- gap: 0.5rem;
277
- padding: 0.875rem 1.75rem;
278
- background: var(--primary);
279
- color: white;
280
- text-decoration: none;
281
- border-radius: 12px;
282
- font-weight: 500;
283
- font-size: 0.95rem;
284
- transition: all 0.3s ease;
285
- box-shadow: 0 4px 15px var(--primary-glow);
286
- }
287
-
288
- .link:hover {
289
- transform: translateY(-2px);
290
- box-shadow: 0 8px 25px var(--primary-glow);
291
- }
292
-
293
- .footer {
294
- position: fixed;
295
- bottom: 1.5rem;
296
- left: 0;
297
- right: 0;
298
- text-align: center;
299
- color: var(--text-secondary);
300
- font-size: 0.85rem;
301
- z-index: 10;
302
- }
303
-
304
- .footer a {
305
- color: var(--primary);
306
- text-decoration: none;
307
- font-weight: 500;
308
- }
309
- </style>
310
- </head>
311
- <body>
312
- <div class="bg-gradient"></div>
313
-
314
- <div class="container">
315
- ${logoIconUrl
316
- ? `<div class="logo"><img src="${logoIconUrl}" alt="${productName} logo"></div>`
317
- : `<div class="logo default">
318
- <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
319
- <path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/>
320
- </svg>
321
- </div>`}
322
-
323
- <h1>${productName}</h1>
324
-
325
- <div class="status-badge">
326
- <div class="status-dot"></div>
327
- <span class="status-text">Gateway Online</span>
328
- </div>
329
-
330
- <div class="links">
331
- <a href="${controlPanelPath}" class="link">
332
- <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
333
- <rect x="3" y="3" width="7" height="7"></rect>
334
- <rect x="14" y="3" width="7" height="7"></rect>
335
- <rect x="14" y="14" width="7" height="7"></rect>
336
- <rect x="3" y="14" width="7" height="7"></rect>
337
- </svg>
338
- Control Panel
339
- </a>
340
- </div>
341
- </div>
342
-
343
- <div class="footer">
344
- Enterprise Services Powered by <a href="https://qwickapps.com" target="_blank">QwickApps Server</a> - <a href="https://github.com/qwickapps/server" target="_blank">Version ${QWICKAPPS_SERVER_VERSION}</a>
345
- </div>
346
- </body>
347
- </html>`;
348
- }
349
- /**
350
- * Shared CSS styles for status pages (maintenance, service unavailable)
351
- */
352
- const statusPageStyles = `
353
- * { margin: 0; padding: 0; box-sizing: border-box; }
354
-
355
- :root {
356
- --bg-dark: #0a0a0f;
357
- --bg-card: rgba(255, 255, 255, 0.03);
358
- --text-primary: #f1f5f9;
359
- --text-secondary: #94a3b8;
360
- --border-color: rgba(255, 255, 255, 0.08);
361
- }
362
-
363
- body {
364
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
365
- background: var(--bg-dark);
366
- color: var(--text-primary);
367
- min-height: 100vh;
368
- display: flex;
369
- align-items: center;
370
- justify-content: center;
371
- overflow: hidden;
372
- }
373
-
374
- .bg-gradient {
375
- position: fixed;
376
- top: 0; left: 0; right: 0; bottom: 0;
377
- animation: gradientShift 15s ease-in-out infinite;
378
- }
379
-
380
- @keyframes gradientShift {
381
- 0%, 100% { opacity: 1; }
382
- 50% { opacity: 0.8; }
383
- }
384
-
385
- .container {
386
- position: relative;
387
- z-index: 10;
388
- text-align: center;
389
- max-width: 480px;
390
- padding: 3rem 2rem;
391
- }
392
-
393
- .icon-wrapper {
394
- width: 100px;
395
- height: 100px;
396
- margin: 0 auto 2rem;
397
- border-radius: 50%;
398
- display: flex;
399
- align-items: center;
400
- justify-content: center;
401
- animation: iconPulse 3s ease-in-out infinite;
402
- }
403
-
404
- @keyframes iconPulse {
405
- 0%, 100% { transform: scale(1); }
406
- 50% { transform: scale(1.05); }
407
- }
408
-
409
- .icon-wrapper svg {
410
- width: 48px;
411
- height: 48px;
412
- }
413
-
414
- h1 {
415
- font-size: 2rem;
416
- font-weight: 700;
417
- margin-bottom: 0.75rem;
418
- }
419
-
420
- .subtitle {
421
- color: var(--text-secondary);
422
- font-size: 1.05rem;
423
- line-height: 1.6;
424
- margin-bottom: 2rem;
425
- }
426
-
427
- .status-card {
428
- background: var(--bg-card);
429
- border: 1px solid var(--border-color);
430
- border-radius: 16px;
431
- padding: 1.5rem;
432
- margin-bottom: 2rem;
433
- backdrop-filter: blur(10px);
434
- }
435
-
436
- .status-row {
437
- display: flex;
438
- align-items: center;
439
- justify-content: center;
440
- gap: 0.75rem;
441
- color: var(--text-secondary);
442
- font-size: 0.95rem;
443
- }
444
-
445
- .status-row svg {
446
- width: 20px;
447
- height: 20px;
448
- flex-shrink: 0;
449
- }
450
-
451
- .eta-badge {
452
- display: inline-flex;
453
- align-items: center;
454
- gap: 0.5rem;
455
- padding: 0.75rem 1.25rem;
456
- background: var(--bg-card);
457
- border: 1px solid var(--border-color);
458
- border-radius: 100px;
459
- font-size: 0.9rem;
460
- color: var(--text-secondary);
461
- }
462
-
463
- .actions {
464
- display: flex;
465
- flex-wrap: wrap;
466
- gap: 1rem;
467
- justify-content: center;
468
- margin-top: 2rem;
469
- }
470
-
471
- .btn {
472
- display: inline-flex;
473
- align-items: center;
474
- gap: 0.5rem;
475
- padding: 0.875rem 1.5rem;
476
- border-radius: 12px;
477
- font-weight: 500;
478
- font-size: 0.95rem;
479
- text-decoration: none;
480
- transition: all 0.3s ease;
481
- cursor: pointer;
482
- border: none;
483
- }
484
-
485
- .btn-primary {
486
- background: var(--accent-color);
487
- color: white;
488
- box-shadow: 0 4px 15px var(--accent-glow);
489
- }
490
-
491
- .btn-primary:hover {
492
- transform: translateY(-2px);
493
- box-shadow: 0 8px 25px var(--accent-glow);
494
- }
495
-
496
- .btn-secondary {
497
- background: var(--bg-card);
498
- border: 1px solid var(--border-color);
499
- color: var(--text-primary);
500
- }
501
-
502
- .btn-secondary:hover {
503
- background: rgba(255, 255, 255, 0.08);
504
- }
505
-
506
- .footer {
507
- position: fixed;
508
- bottom: 1.5rem;
509
- left: 0;
510
- right: 0;
511
- text-align: center;
512
- color: var(--text-secondary);
513
- font-size: 0.85rem;
514
- z-index: 10;
515
- }
516
-
517
- @media (max-width: 480px) {
518
- .container { padding: 2rem 1.5rem; }
519
- h1 { font-size: 1.5rem; }
520
- .icon-wrapper { width: 80px; height: 80px; }
521
- .icon-wrapper svg { width: 40px; height: 40px; }
522
- }
523
- `;
524
- /**
525
- * Generate a maintenance page HTML
526
- */
527
- function generateMaintenancePageHtml(appName, config, productName) {
528
- const title = config.title || 'Under Maintenance';
529
- const message = config.message || `${appName} is currently undergoing scheduled maintenance.`;
530
- let etaHtml = '';
531
- if (config.expectedBackAt) {
532
- const eta = config.expectedBackAt;
533
- if (eta === 'soon') {
534
- etaHtml = `
535
- <div class="eta-badge">
536
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
537
- <circle cx="12" cy="12" r="10"/>
538
- <path d="M12 6v6l4 2"/>
539
- </svg>
540
- Back online soon
541
- </div>`;
542
- }
543
- else if (eta.includes('hour') || eta.includes('minute')) {
544
- etaHtml = `
545
- <div class="eta-badge">
546
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
547
- <circle cx="12" cy="12" r="10"/>
548
- <path d="M12 6v6l4 2"/>
549
- </svg>
550
- Expected back in ${eta}
551
- </div>`;
552
- }
553
- else {
554
- // ISO date string
555
- etaHtml = `
556
- <div class="eta-badge">
557
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
558
- <circle cx="12" cy="12" r="10"/>
559
- <path d="M12 6v6l4 2"/>
560
- </svg>
561
- <span id="eta-countdown">Calculating...</span>
562
- </div>
563
- <script>
564
- (function() {
565
- const target = new Date('${eta}');
566
- const el = document.getElementById('eta-countdown');
567
- function update() {
568
- const now = new Date();
569
- const diff = target - now;
570
- if (diff <= 0) {
571
- el.textContent = 'Should be back now';
572
- setTimeout(() => location.reload(), 5000);
573
- return;
574
- }
575
- const hours = Math.floor(diff / 3600000);
576
- const mins = Math.floor((diff % 3600000) / 60000);
577
- if (hours > 0) {
578
- el.textContent = 'Back in ' + hours + 'h ' + mins + 'm';
579
- } else {
580
- el.textContent = 'Back in ' + mins + ' minutes';
581
- }
582
- }
583
- update();
584
- setInterval(update, 60000);
585
- })();
586
- </script>`;
587
- }
588
- }
589
- const contactHtml = config.contactUrl
590
- ? `<a href="${config.contactUrl}" class="btn btn-secondary">
591
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="18" height="18">
592
- <path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/>
593
- <polyline points="22,6 12,13 2,6"/>
594
- </svg>
595
- Contact Support
596
- </a>`
597
- : '';
598
- return `<!DOCTYPE html>
599
- <html lang="en">
600
- <head>
601
- <meta charset="UTF-8">
602
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
603
- <title>${title} - ${productName}</title>
604
- <style>
605
- ${statusPageStyles}
606
- :root {
607
- --accent-color: #f59e0b;
608
- --accent-glow: rgba(245, 158, 11, 0.3);
609
- }
610
- .bg-gradient {
611
- background:
612
- radial-gradient(ellipse at 30% 30%, rgba(245, 158, 11, 0.12) 0%, transparent 50%),
613
- radial-gradient(ellipse at 70% 70%, rgba(234, 179, 8, 0.08) 0%, transparent 50%);
614
- }
615
- .icon-wrapper {
616
- background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
617
- box-shadow: 0 20px 40px rgba(245, 158, 11, 0.3);
618
- }
619
- </style>
620
- </head>
621
- <body>
622
- <div class="bg-gradient"></div>
623
-
624
- <div class="container">
625
- <div class="icon-wrapper">
626
- <svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2">
627
- <path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/>
628
- </svg>
629
- </div>
630
-
631
- <h1>${title}</h1>
632
- <p class="subtitle">${message}</p>
633
-
634
- <div class="status-card">
635
- <div class="status-row">
636
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
637
- <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/>
638
- </svg>
639
- <span>We're performing upgrades to improve your experience</span>
640
- </div>
641
- </div>
642
-
643
- ${etaHtml}
644
-
645
- <div class="actions">
646
- <button onclick="location.reload()" class="btn btn-primary">
647
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="18" height="18">
648
- <path d="M23 4v6h-6"/>
649
- <path d="M1 20v-6h6"/>
650
- <path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"/>
651
- </svg>
652
- Check Again
653
- </button>
654
- ${contactHtml}
655
- </div>
656
- </div>
657
-
658
- <div class="footer">
659
- ${productName}
660
- </div>
661
- </body>
662
- </html>`;
663
- }
664
- /**
665
- * Generate a service unavailable page HTML (when proxy fails)
666
- */
667
- function generateServiceUnavailablePageHtml(appName, path, config, productName) {
668
- const title = config?.title || 'Service Unavailable';
669
- const message = config?.message || `${appName} is temporarily unavailable. Our team has been notified.`;
670
- const showRetry = config?.showRetry !== false;
671
- const autoRefresh = config?.autoRefresh ?? 30;
672
- const autoRefreshScript = autoRefresh > 0
673
- ? `<script>
674
- let countdown = ${autoRefresh};
675
- const el = document.getElementById('refresh-countdown');
676
- setInterval(() => {
677
- countdown--;
678
- if (countdown <= 0) location.reload();
679
- el.textContent = countdown;
680
- }, 1000);
681
- </script>`
682
- : '';
683
- const autoRefreshHtml = autoRefresh > 0
684
- ? `<div class="status-row" style="margin-top: 1rem;">
685
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
686
- <circle cx="12" cy="12" r="10"/>
687
- <path d="M12 6v6l4 2"/>
688
- </svg>
689
- <span>Auto-refreshing in <strong id="refresh-countdown">${autoRefresh}</strong>s</span>
690
- </div>`
691
- : '';
692
- const retryButtonHtml = showRetry
693
- ? `<button onclick="location.reload()" class="btn btn-primary">
694
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="18" height="18">
695
- <path d="M23 4v6h-6"/>
696
- <path d="M1 20v-6h6"/>
697
- <path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"/>
698
- </svg>
699
- Try Again
700
- </button>`
701
- : '';
702
- return `<!DOCTYPE html>
703
- <html lang="en">
704
- <head>
705
- <meta charset="UTF-8">
706
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
707
- <title>${title} - ${productName}</title>
708
- <style>
709
- ${statusPageStyles}
710
- :root {
711
- --accent-color: #ef4444;
712
- --accent-glow: rgba(239, 68, 68, 0.3);
713
- }
714
- .bg-gradient {
715
- background:
716
- radial-gradient(ellipse at 30% 30%, rgba(239, 68, 68, 0.1) 0%, transparent 50%),
717
- radial-gradient(ellipse at 70% 70%, rgba(220, 38, 38, 0.08) 0%, transparent 50%);
718
- }
719
- .icon-wrapper {
720
- background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
721
- box-shadow: 0 20px 40px rgba(239, 68, 68, 0.3);
722
- }
723
- </style>
724
- </head>
725
- <body>
726
- <div class="bg-gradient"></div>
727
-
728
- <div class="container">
729
- <div class="icon-wrapper">
730
- <svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2">
731
- <circle cx="12" cy="12" r="10"/>
732
- <line x1="12" y1="8" x2="12" y2="12"/>
733
- <line x1="12" y1="16" x2="12.01" y2="16"/>
734
- </svg>
735
- </div>
736
-
737
- <h1>${title}</h1>
738
- <p class="subtitle">${message}</p>
739
-
740
- <div class="status-card">
741
- <div class="status-row">
742
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
743
- <rect x="2" y="2" width="20" height="8" rx="2" ry="2"/>
744
- <rect x="2" y="14" width="20" height="8" rx="2" ry="2"/>
745
- <line x1="6" y1="6" x2="6.01" y2="6"/>
746
- <line x1="6" y1="18" x2="6.01" y2="18"/>
747
- </svg>
748
- <span>The service at <code style="background: rgba(255,255,255,0.1); padding: 0.2rem 0.4rem; border-radius: 4px;">${path}</code> is not responding</span>
749
- </div>
750
- ${autoRefreshHtml}
751
- </div>
752
-
753
- <div class="actions">
754
- ${retryButtonHtml}
755
- <a href="/" class="btn btn-secondary">
756
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="18" height="18">
757
- <path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>
758
- <polyline points="9,22 9,12 15,12 15,22"/>
759
- </svg>
760
- Go Home
761
- </a>
762
- </div>
763
- </div>
764
-
765
- <div class="footer">
766
- ${productName}
767
- </div>
768
- ${autoRefreshScript}
769
- </body>
770
- </html>`;
771
- }
772
- /**
773
- * Create a gateway that proxies to multiple internal services
774
- *
775
- * @param config - Gateway configuration
776
- * @returns Gateway instance
777
- *
778
- * @example
779
- * ```typescript
780
- * import { createGateway } from '@qwickapps/server';
781
- *
782
- * const gateway = createGateway({
783
- * productName: 'My Product',
784
- * port: 3000,
785
- * controlPanel: {
786
- * path: '/cpanel',
787
- * port: 3001,
788
- * plugins: [...],
789
- * },
790
- * apps: [
791
- * { path: '/api', source: { type: 'proxy', target: 'http://localhost:3002' } },
792
- * { path: '/docs', source: { type: 'static', directory: './docs' } },
793
- * ],
794
- * });
795
- *
796
- * await gateway.start();
797
- * ```
798
- */
799
- export function createGateway(config) {
800
- // Initialize logging (side effect - subsystem is initialized globally)
801
- initializeLogging({
802
- namespace: config.productName,
803
- ...config.logging,
804
- });
805
- const logger = config.logger || getControlPanelLogger('Gateway');
806
- // Port configuration - new scheme: 3000 gateway, 3001 cpanel, 3002+ apps
807
- const gatewayPort = config.port || parseInt(process.env.GATEWAY_PORT || process.env.PORT || '3000', 10);
808
- const nodeEnv = process.env.NODE_ENV || 'development';
809
- const version = config.version || process.env.npm_package_version || '1.0.0';
810
- // Control panel configuration
811
- const cpConfig = config.controlPanel ?? { enabled: true };
812
- const cpEnabled = cpConfig.enabled !== false;
813
- const cpPath = cpConfig.path || '/cpanel';
814
- const cpPort = cpConfig.port || 3001;
815
- // Create gateway Express app
816
- const app = express();
817
- let server = null;
818
- let controlPanelInstance = null;
819
- const mountedApps = [];
820
- /**
821
- * Setup proxy middleware for an app
822
- */
823
- const setupProxyApp = (appConfig, httpServer) => {
824
- const { path, source, stripPrefix = true, name, maintenance, fallback } = appConfig;
825
- if (source.type !== 'proxy')
826
- return;
827
- const appName = name || path.replace(/^\//, '') || 'Service';
828
- logger.debug(`Setting up proxy: ${path} -> ${source.target}`);
829
- // Maintenance mode middleware - intercepts all requests when enabled
830
- if (maintenance?.enabled) {
831
- logger.info(`Maintenance mode enabled for ${path}`);
832
- app.use(path, (req, res, next) => {
833
- // Check bypass paths
834
- if (maintenance.bypassPaths?.some(bp => req.path.startsWith(bp))) {
835
- return next();
836
- }
837
- const html = generateMaintenancePageHtml(appName, maintenance, config.productName);
838
- res.status(503).type('html').send(html);
839
- });
840
- mountedApps.push({ path, type: 'proxy', target: source.target });
841
- return; // Don't setup proxy when in maintenance mode
842
- }
843
- const proxyOptions = {
844
- target: source.target,
845
- changeOrigin: true,
846
- ws: source.ws ?? false,
847
- pathRewrite: stripPrefix ? { [`^${path}`]: '' } : undefined,
848
- on: {
849
- proxyReq: (proxyReq) => {
850
- // Add X-Forwarded headers so app knows its mounted path
851
- proxyReq.setHeader('X-Forwarded-Prefix', path);
852
- },
853
- error: (err, req, res) => {
854
- logger.error(`Proxy error for ${path}`, { error: err.message });
855
- if (res && 'writeHead' in res && !res.headersSent) {
856
- // Check if this looks like an API request (Accept: application/json or /api/ path)
857
- const acceptHeader = req.headers['accept'] || '';
858
- const isApiRequest = acceptHeader.includes('application/json') || req.url?.includes('/api/');
859
- if (isApiRequest) {
860
- // Return JSON error for API requests
861
- res.writeHead(503, { 'Content-Type': 'application/json' });
862
- res.end(JSON.stringify({
863
- error: 'Service Unavailable',
864
- message: `The service at ${path} is currently unavailable.`,
865
- details: nodeEnv === 'development' ? err.message : undefined,
866
- }));
867
- }
868
- else {
869
- // Return beautiful HTML page for browser requests
870
- const html = generateServiceUnavailablePageHtml(appName, path, fallback, config.productName);
871
- res.writeHead(503, { 'Content-Type': 'text/html' });
872
- res.end(html);
873
- }
874
- }
875
- },
876
- },
877
- };
878
- const proxy = createProxyMiddleware(proxyOptions);
879
- // Mount proxy
880
- app.use(path, proxy);
881
- // WebSocket upgrade handling
882
- if (source.ws && httpServer) {
883
- httpServer.on('upgrade', (req, socket, head) => {
884
- if (req.url?.startsWith(path)) {
885
- proxy.upgrade?.(req, socket, head);
886
- }
887
- });
888
- }
889
- mountedApps.push({ path, type: 'proxy', target: source.target });
890
- };
891
- /**
892
- * Setup static file serving for an app
893
- */
894
- const setupStaticApp = (appConfig) => {
895
- const { path, source } = appConfig;
896
- if (source.type !== 'static')
897
- return;
898
- logger.debug(`Setting up static: ${path} -> ${source.directory}`);
899
- if (!existsSync(source.directory)) {
900
- logger.warn(`Static directory not found: ${source.directory}`);
901
- return;
902
- }
903
- // Serve static files
904
- app.use(path, express.static(source.directory, { index: false }));
905
- // SPA fallback
906
- if (source.spa) {
907
- const indexPath = join(source.directory, 'index.html');
908
- // Read and cache index.html with path rewriting
909
- let cachedHtml = null;
910
- const getIndexHtml = () => {
911
- if (cachedHtml)
912
- return cachedHtml;
913
- let html = readFileSync(indexPath, 'utf-8');
914
- // Rewrite asset paths for non-root mount
915
- if (path !== '/') {
916
- html = html.replace(/src="\/assets\//g, `src="${path}/assets/`);
917
- html = html.replace(/href="\/assets\//g, `href="${path}/assets/`);
918
- }
919
- cachedHtml = html;
920
- return html;
921
- };
922
- app.get(`${path}/*`, (_req, res) => {
923
- res.type('html').send(getIndexHtml());
924
- });
925
- if (path !== '/') {
926
- app.get(path, (_req, res) => {
927
- res.type('html').send(getIndexHtml());
928
- });
929
- }
930
- }
931
- mountedApps.push({ path, type: 'static' });
932
- };
933
- /**
934
- * Setup frontend app at root path
935
- */
936
- const setupFrontendApp = () => {
937
- const { frontendApp, logoIconUrl } = config;
938
- // Default landing page
939
- if (!frontendApp) {
940
- logger.debug('Frontend: Serving default landing page');
941
- app.get('/', (_req, res) => {
942
- const html = generateDefaultLandingPageHtml(config.productName, cpPath, logoIconUrl);
943
- res.type('html').send(html);
944
- });
945
- return;
946
- }
947
- const { redirectUrl, staticPath, landingPage } = frontendApp;
948
- // Priority 1: Redirect
949
- if (redirectUrl) {
950
- logger.debug(`Frontend: Redirecting / to ${redirectUrl}`);
951
- app.get('/', (_req, res) => res.redirect(redirectUrl));
952
- return;
953
- }
954
- // Priority 2: Static files
955
- if (staticPath && existsSync(staticPath)) {
956
- logger.debug(`Frontend: Serving static from ${staticPath}`);
957
- app.use('/', express.static(staticPath));
958
- app.get('/', (_req, res) => {
959
- res.sendFile(resolve(staticPath, 'index.html'));
960
- });
961
- return;
962
- }
963
- // Priority 3: Landing page
964
- if (landingPage) {
965
- logger.debug('Frontend: Serving custom landing page');
966
- app.get('/', (_req, res) => {
967
- const html = generateLandingPageHtml(landingPage, cpPath);
968
- res.type('html').send(html);
969
- });
970
- }
971
- };
972
- /**
973
- * Start the gateway
974
- */
975
- const start = async () => {
976
- logger.debug('Starting gateway...');
977
- // 1. Start internal control panel if enabled
978
- if (cpEnabled) {
979
- logger.debug(`Starting control panel on port ${cpPort}...`);
980
- controlPanelInstance = createControlPanel({
981
- config: {
982
- productName: config.productName,
983
- port: cpPort,
984
- version,
985
- logoIconUrl: config.logoIconUrl,
986
- branding: config.branding,
987
- cors: config.corsOrigins ? { origins: config.corsOrigins } : undefined,
988
- mountPath: '/', // Control panel runs at / internally
989
- guard: cpConfig.guard,
990
- customUiPath: cpConfig.customUiPath,
991
- links: cpConfig.links,
992
- },
993
- plugins: cpConfig.plugins || [],
994
- logger,
995
- });
996
- await controlPanelInstance.start();
997
- logger.debug(`Control panel started on port ${cpPort}`);
998
- }
999
- // 2. Create HTTP server
1000
- server = app.listen(gatewayPort);
1001
- // 3. Setup mounted apps (proxy and static)
1002
- const apps = config.apps || [];
1003
- // Add control panel as a proxy app if enabled
1004
- if (cpEnabled) {
1005
- setupProxyApp({
1006
- path: cpPath,
1007
- source: { type: 'proxy', target: `http://localhost:${cpPort}` },
1008
- }, server);
1009
- }
1010
- // Setup additional apps
1011
- for (const appConfig of apps) {
1012
- if (appConfig.source.type === 'proxy') {
1013
- setupProxyApp(appConfig, server);
1014
- }
1015
- else {
1016
- setupStaticApp(appConfig);
1017
- }
1018
- }
1019
- // 4. Setup frontend app at root
1020
- setupFrontendApp();
1021
- // Log startup info
1022
- const authInfo = cpConfig.guard?.type === 'basic'
1023
- ? `(auth: ${cpConfig.guard.username})`
1024
- : cpConfig.guard?.type && cpConfig.guard.type !== 'none'
1025
- ? `(auth: ${cpConfig.guard.type})`
1026
- : '(no auth)';
1027
- logger.info(`${config.productName} gateway started on port ${gatewayPort} ${authInfo}`);
1028
- // Log mounted apps
1029
- for (const mounted of mountedApps) {
1030
- if (mounted.type === 'proxy') {
1031
- logger.debug(` ${mounted.path}/* -> ${mounted.target}`);
1032
- }
1033
- else {
1034
- logger.debug(` ${mounted.path}/* -> [static]`);
1035
- }
1036
- }
1037
- };
1038
- /**
1039
- * Stop the gateway
1040
- */
1041
- const stop = async () => {
1042
- logger.debug('Shutting down gateway...');
1043
- // Stop control panel
1044
- if (controlPanelInstance) {
1045
- await controlPanelInstance.stop();
1046
- }
1047
- // Stop gateway server
1048
- if (server) {
1049
- await new Promise((resolve) => server.close(() => resolve()));
1050
- }
1051
- logger.debug('Gateway shutdown complete');
1052
- };
1053
- return {
1054
- app,
1055
- server,
1056
- controlPanel: controlPanelInstance,
1057
- mountedApps,
1058
- start,
1059
- stop,
1060
- port: gatewayPort,
1061
- };
1062
- }
1063
- //# sourceMappingURL=gateway.js.map