@undefineds.co/xpod 0.1.0-local.202602081751

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 (970) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +146 -0
  3. package/components/components.jsonld +72 -0
  4. package/components/context.jsonld +1635 -0
  5. package/config/bun.json +90 -0
  6. package/config/cli.json +260 -0
  7. package/config/cloud.json +469 -0
  8. package/config/extensions.local.initializer.json +23 -0
  9. package/config/local.json +261 -0
  10. package/config/logging/configurable.json +18 -0
  11. package/config/main.json +200 -0
  12. package/config/main.vanilla.json +6 -0
  13. package/config/resolver.json +347 -0
  14. package/config/search.json +66 -0
  15. package/config/seed.dev.json +29 -0
  16. package/config/seeds/admin.example.json +11 -0
  17. package/config/seeds/test.json +11 -0
  18. package/config/terminal.json +22 -0
  19. package/config/vector.json +35 -0
  20. package/config/xpod.base.json +155 -0
  21. package/config/xpod.cluster.json +419 -0
  22. package/config/xpod.json +233 -0
  23. package/dist/agents/AgentExecutorFactory.d.ts +67 -0
  24. package/dist/agents/AgentExecutorFactory.js +193 -0
  25. package/dist/agents/AgentExecutorFactory.js.map +1 -0
  26. package/dist/agents/AgentManager.d.ts +114 -0
  27. package/dist/agents/AgentManager.js +289 -0
  28. package/dist/agents/AgentManager.js.map +1 -0
  29. package/dist/agents/BaseAgentExecutor.d.ts +67 -0
  30. package/dist/agents/BaseAgentExecutor.js +101 -0
  31. package/dist/agents/BaseAgentExecutor.js.map +1 -0
  32. package/dist/agents/ClaudeExecutor.d.ts +63 -0
  33. package/dist/agents/ClaudeExecutor.js +335 -0
  34. package/dist/agents/ClaudeExecutor.js.map +1 -0
  35. package/dist/agents/CodeBuddyExecutor.d.ts +54 -0
  36. package/dist/agents/CodeBuddyExecutor.js +273 -0
  37. package/dist/agents/CodeBuddyExecutor.js.map +1 -0
  38. package/dist/agents/IndexAgent.d.ts +70 -0
  39. package/dist/agents/IndexAgent.js +417 -0
  40. package/dist/agents/IndexAgent.js.map +1 -0
  41. package/dist/agents/index.d.ts +22 -0
  42. package/dist/agents/index.js +48 -0
  43. package/dist/agents/index.js.map +1 -0
  44. package/dist/agents/schema/agent-config.d.ts +58 -0
  45. package/dist/agents/schema/agent-config.js +74 -0
  46. package/dist/agents/schema/agent-config.js.map +1 -0
  47. package/dist/agents/schema/tables.d.ts +46 -0
  48. package/dist/agents/schema/tables.js +64 -0
  49. package/dist/agents/schema/tables.js.map +1 -0
  50. package/dist/agents/types.d.ts +266 -0
  51. package/dist/agents/types.js +9 -0
  52. package/dist/agents/types.js.map +1 -0
  53. package/dist/ai/index.d.ts +5 -0
  54. package/dist/ai/index.js +22 -0
  55. package/dist/ai/index.js.map +1 -0
  56. package/dist/ai/schema/config.d.ts +27 -0
  57. package/dist/ai/schema/config.js +36 -0
  58. package/dist/ai/schema/config.js.map +1 -0
  59. package/dist/ai/schema/index.d.ts +8 -0
  60. package/dist/ai/schema/index.js +27 -0
  61. package/dist/ai/schema/index.js.map +1 -0
  62. package/dist/ai/schema/model.d.ts +40 -0
  63. package/dist/ai/schema/model.js +60 -0
  64. package/dist/ai/schema/model.js.map +1 -0
  65. package/dist/ai/schema/provider.d.ts +21 -0
  66. package/dist/ai/schema/provider.js +30 -0
  67. package/dist/ai/schema/provider.js.map +1 -0
  68. package/dist/ai/schema/types.d.ts +52 -0
  69. package/dist/ai/schema/types.js +62 -0
  70. package/dist/ai/schema/types.js.map +1 -0
  71. package/dist/ai/schema/vector-store.d.ts +53 -0
  72. package/dist/ai/schema/vector-store.js +65 -0
  73. package/dist/ai/schema/vector-store.js.map +1 -0
  74. package/dist/ai/service/CredentialReader.d.ts +7 -0
  75. package/dist/ai/service/CredentialReader.js +10 -0
  76. package/dist/ai/service/CredentialReader.js.map +1 -0
  77. package/dist/ai/service/CredentialReaderImpl.d.ts +6 -0
  78. package/dist/ai/service/CredentialReaderImpl.js +55 -0
  79. package/dist/ai/service/CredentialReaderImpl.js.map +1 -0
  80. package/dist/ai/service/EmbeddingService.d.ts +8 -0
  81. package/dist/ai/service/EmbeddingService.js +10 -0
  82. package/dist/ai/service/EmbeddingService.js.map +1 -0
  83. package/dist/ai/service/EmbeddingServiceImpl.d.ts +11 -0
  84. package/dist/ai/service/EmbeddingServiceImpl.js +73 -0
  85. package/dist/ai/service/EmbeddingServiceImpl.js.map +1 -0
  86. package/dist/ai/service/ProviderRegistry.d.ts +26 -0
  87. package/dist/ai/service/ProviderRegistry.js +10 -0
  88. package/dist/ai/service/ProviderRegistry.js.map +1 -0
  89. package/dist/ai/service/ProviderRegistryImpl.d.ts +14 -0
  90. package/dist/ai/service/ProviderRegistryImpl.js +112 -0
  91. package/dist/ai/service/ProviderRegistryImpl.js.map +1 -0
  92. package/dist/ai/service/index.d.ts +10 -0
  93. package/dist/ai/service/index.js +29 -0
  94. package/dist/ai/service/index.js.map +1 -0
  95. package/dist/ai/service/types.d.ts +12 -0
  96. package/dist/ai/service/types.js +6 -0
  97. package/dist/ai/service/types.js.map +1 -0
  98. package/dist/api/ApiServer.d.ts +77 -0
  99. package/dist/api/ApiServer.js +191 -0
  100. package/dist/api/ApiServer.js.map +1 -0
  101. package/dist/api/auth/AuthContext.d.ts +41 -0
  102. package/dist/api/auth/AuthContext.js +44 -0
  103. package/dist/api/auth/AuthContext.js.map +1 -0
  104. package/dist/api/auth/Authenticator.d.ts +23 -0
  105. package/dist/api/auth/Authenticator.js +3 -0
  106. package/dist/api/auth/Authenticator.js.map +1 -0
  107. package/dist/api/auth/ClientCredentialsAuthenticator.d.ts +56 -0
  108. package/dist/api/auth/ClientCredentialsAuthenticator.js +191 -0
  109. package/dist/api/auth/ClientCredentialsAuthenticator.js.map +1 -0
  110. package/dist/api/auth/MultiAuthenticator.d.ts +15 -0
  111. package/dist/api/auth/MultiAuthenticator.js +36 -0
  112. package/dist/api/auth/MultiAuthenticator.js.map +1 -0
  113. package/dist/api/auth/NodeTokenAuthenticator.d.ts +21 -0
  114. package/dist/api/auth/NodeTokenAuthenticator.js +124 -0
  115. package/dist/api/auth/NodeTokenAuthenticator.js.map +1 -0
  116. package/dist/api/auth/SolidTokenAuthenticator.d.ts +27 -0
  117. package/dist/api/auth/SolidTokenAuthenticator.js +144 -0
  118. package/dist/api/auth/SolidTokenAuthenticator.js.map +1 -0
  119. package/dist/api/auth/index.d.ts +5 -0
  120. package/dist/api/auth/index.js +23 -0
  121. package/dist/api/auth/index.js.map +1 -0
  122. package/dist/api/chatkit/ai-provider.d.ts +44 -0
  123. package/dist/api/chatkit/ai-provider.js +157 -0
  124. package/dist/api/chatkit/ai-provider.js.map +1 -0
  125. package/dist/api/chatkit/index.d.ts +11 -0
  126. package/dist/api/chatkit/index.js +44 -0
  127. package/dist/api/chatkit/index.js.map +1 -0
  128. package/dist/api/chatkit/pod-store.d.ts +154 -0
  129. package/dist/api/chatkit/pod-store.js +794 -0
  130. package/dist/api/chatkit/pod-store.js.map +1 -0
  131. package/dist/api/chatkit/schema.d.ts +139 -0
  132. package/dist/api/chatkit/schema.js +168 -0
  133. package/dist/api/chatkit/schema.js.map +1 -0
  134. package/dist/api/chatkit/service.d.ts +143 -0
  135. package/dist/api/chatkit/service.js +442 -0
  136. package/dist/api/chatkit/service.js.map +1 -0
  137. package/dist/api/chatkit/store.d.ts +63 -0
  138. package/dist/api/chatkit/store.js +178 -0
  139. package/dist/api/chatkit/store.js.map +1 -0
  140. package/dist/api/chatkit/types.d.ts +461 -0
  141. package/dist/api/chatkit/types.js +50 -0
  142. package/dist/api/chatkit/types.js.map +1 -0
  143. package/dist/api/container/cloud.d.ts +12 -0
  144. package/dist/api/container/cloud.js +97 -0
  145. package/dist/api/container/cloud.js.map +1 -0
  146. package/dist/api/container/common.d.ts +11 -0
  147. package/dist/api/container/common.js +82 -0
  148. package/dist/api/container/common.js.map +1 -0
  149. package/dist/api/container/index.d.ts +16 -0
  150. package/dist/api/container/index.js +90 -0
  151. package/dist/api/container/index.js.map +1 -0
  152. package/dist/api/container/local.d.ts +13 -0
  153. package/dist/api/container/local.js +197 -0
  154. package/dist/api/container/local.js.map +1 -0
  155. package/dist/api/container/routes.d.ts +11 -0
  156. package/dist/api/container/routes.js +129 -0
  157. package/dist/api/container/routes.js.map +1 -0
  158. package/dist/api/container/types.d.ts +92 -0
  159. package/dist/api/container/types.js +8 -0
  160. package/dist/api/container/types.js.map +1 -0
  161. package/dist/api/handlers/AdminHandler.d.ts +6 -0
  162. package/dist/api/handlers/AdminHandler.js +330 -0
  163. package/dist/api/handlers/AdminHandler.js.map +1 -0
  164. package/dist/api/handlers/ApiKeyHandler.d.ts +15 -0
  165. package/dist/api/handlers/ApiKeyHandler.js +159 -0
  166. package/dist/api/handlers/ApiKeyHandler.js.map +1 -0
  167. package/dist/api/handlers/ChatHandler.d.ts +60 -0
  168. package/dist/api/handlers/ChatHandler.js +230 -0
  169. package/dist/api/handlers/ChatHandler.js.map +1 -0
  170. package/dist/api/handlers/ChatKitHandler.d.ts +18 -0
  171. package/dist/api/handlers/ChatKitHandler.js +151 -0
  172. package/dist/api/handlers/ChatKitHandler.js.map +1 -0
  173. package/dist/api/handlers/DashboardHandler.d.ts +14 -0
  174. package/dist/api/handlers/DashboardHandler.js +117 -0
  175. package/dist/api/handlers/DashboardHandler.js.map +1 -0
  176. package/dist/api/handlers/DdnsHandler.d.ts +19 -0
  177. package/dist/api/handlers/DdnsHandler.js +306 -0
  178. package/dist/api/handlers/DdnsHandler.js.map +1 -0
  179. package/dist/api/handlers/DevHandler.d.ts +18 -0
  180. package/dist/api/handlers/DevHandler.js +276 -0
  181. package/dist/api/handlers/DevHandler.js.map +1 -0
  182. package/dist/api/handlers/NodeHandler.d.ts +16 -0
  183. package/dist/api/handlers/NodeHandler.js +190 -0
  184. package/dist/api/handlers/NodeHandler.js.map +1 -0
  185. package/dist/api/handlers/PodManagementHandler.d.ts +39 -0
  186. package/dist/api/handlers/PodManagementHandler.js +294 -0
  187. package/dist/api/handlers/PodManagementHandler.js.map +1 -0
  188. package/dist/api/handlers/QuotaHandler.d.ts +21 -0
  189. package/dist/api/handlers/QuotaHandler.js +209 -0
  190. package/dist/api/handlers/QuotaHandler.js.map +1 -0
  191. package/dist/api/handlers/SignalHandler.d.ts +13 -0
  192. package/dist/api/handlers/SignalHandler.js +122 -0
  193. package/dist/api/handlers/SignalHandler.js.map +1 -0
  194. package/dist/api/handlers/SubdomainClientHandler.d.ts +24 -0
  195. package/dist/api/handlers/SubdomainClientHandler.js +169 -0
  196. package/dist/api/handlers/SubdomainClientHandler.js.map +1 -0
  197. package/dist/api/handlers/SubdomainHandler.d.ts +17 -0
  198. package/dist/api/handlers/SubdomainHandler.js +312 -0
  199. package/dist/api/handlers/SubdomainHandler.js.map +1 -0
  200. package/dist/api/handlers/VectorHandler.d.ts +15 -0
  201. package/dist/api/handlers/VectorHandler.js +293 -0
  202. package/dist/api/handlers/VectorHandler.js.map +1 -0
  203. package/dist/api/handlers/VectorStoreHandler.d.ts +20 -0
  204. package/dist/api/handlers/VectorStoreHandler.js +348 -0
  205. package/dist/api/handlers/VectorStoreHandler.js.map +1 -0
  206. package/dist/api/handlers/VectorStoreWebhookHandler.d.ts +74 -0
  207. package/dist/api/handlers/VectorStoreWebhookHandler.js +121 -0
  208. package/dist/api/handlers/VectorStoreWebhookHandler.js.map +1 -0
  209. package/dist/api/handlers/WebIdProfileHandler.d.ts +14 -0
  210. package/dist/api/handlers/WebIdProfileHandler.js +204 -0
  211. package/dist/api/handlers/WebIdProfileHandler.js.map +1 -0
  212. package/dist/api/handlers/index.d.ts +11 -0
  213. package/dist/api/handlers/index.js +28 -0
  214. package/dist/api/handlers/index.js.map +1 -0
  215. package/dist/api/index.d.ts +12 -0
  216. package/dist/api/index.js +29 -0
  217. package/dist/api/index.js.map +1 -0
  218. package/dist/api/main.d.ts +14 -0
  219. package/dist/api/main.js +106 -0
  220. package/dist/api/main.js.map +1 -0
  221. package/dist/api/middleware/AuthMiddleware.d.ts +35 -0
  222. package/dist/api/middleware/AuthMiddleware.js +51 -0
  223. package/dist/api/middleware/AuthMiddleware.js.map +1 -0
  224. package/dist/api/middleware/index.d.ts +1 -0
  225. package/dist/api/middleware/index.js +18 -0
  226. package/dist/api/middleware/index.js.map +1 -0
  227. package/dist/api/models/model-provider.schema.d.ts +12 -0
  228. package/dist/api/models/model-provider.schema.js +21 -0
  229. package/dist/api/models/model-provider.schema.js.map +1 -0
  230. package/dist/api/models/namespaces.d.ts +9 -0
  231. package/dist/api/models/namespaces.js +34 -0
  232. package/dist/api/models/namespaces.js.map +1 -0
  233. package/dist/api/service/InternalPodService.d.ts +19 -0
  234. package/dist/api/service/InternalPodService.js +82 -0
  235. package/dist/api/service/InternalPodService.js.map +1 -0
  236. package/dist/api/service/VectorService.d.ts +156 -0
  237. package/dist/api/service/VectorService.js +202 -0
  238. package/dist/api/service/VectorService.js.map +1 -0
  239. package/dist/api/service/VectorStoreService.d.ts +262 -0
  240. package/dist/api/service/VectorStoreService.js +985 -0
  241. package/dist/api/service/VectorStoreService.js.map +1 -0
  242. package/dist/api/service/VercelChatService.d.ts +28 -0
  243. package/dist/api/service/VercelChatService.js +289 -0
  244. package/dist/api/service/VercelChatService.js.map +1 -0
  245. package/dist/api/store/DrizzleClientCredentialsStore.d.ts +56 -0
  246. package/dist/api/store/DrizzleClientCredentialsStore.js +145 -0
  247. package/dist/api/store/DrizzleClientCredentialsStore.js.map +1 -0
  248. package/dist/api/store/index.d.ts +1 -0
  249. package/dist/api/store/index.js +18 -0
  250. package/dist/api/store/index.js.map +1 -0
  251. package/dist/components/components.jsonld +88 -0
  252. package/dist/components/context.jsonld +1962 -0
  253. package/dist/credential/index.d.ts +1 -0
  254. package/dist/credential/index.js +18 -0
  255. package/dist/credential/index.js.map +1 -0
  256. package/dist/credential/schema/index.d.ts +2 -0
  257. package/dist/credential/schema/index.js +19 -0
  258. package/dist/credential/schema/index.js.map +1 -0
  259. package/dist/credential/schema/tables.d.ts +31 -0
  260. package/dist/credential/schema/tables.js +42 -0
  261. package/dist/credential/schema/tables.js.map +1 -0
  262. package/dist/credential/schema/types.d.ts +20 -0
  263. package/dist/credential/schema/types.js +26 -0
  264. package/dist/credential/schema/types.js.map +1 -0
  265. package/dist/dns/DnsProvider.d.ts +46 -0
  266. package/dist/dns/DnsProvider.js +3 -0
  267. package/dist/dns/DnsProvider.js.map +1 -0
  268. package/dist/dns/DnsProvider.jsonld +161 -0
  269. package/dist/dns/cloudflare/CloudflareDnsProvider.d.ts +51 -0
  270. package/dist/dns/cloudflare/CloudflareDnsProvider.js +227 -0
  271. package/dist/dns/cloudflare/CloudflareDnsProvider.js.map +1 -0
  272. package/dist/dns/cloudflare/index.d.ts +1 -0
  273. package/dist/dns/cloudflare/index.js +18 -0
  274. package/dist/dns/cloudflare/index.js.map +1 -0
  275. package/dist/dns/tencent/TencentDnsProvider.d.ts +42 -0
  276. package/dist/dns/tencent/TencentDnsProvider.js +221 -0
  277. package/dist/dns/tencent/TencentDnsProvider.js.map +1 -0
  278. package/dist/dns/tencent/TencentDnsProvider.jsonld +239 -0
  279. package/dist/document/Chunker.d.ts +64 -0
  280. package/dist/document/Chunker.js +8 -0
  281. package/dist/document/Chunker.js.map +1 -0
  282. package/dist/document/DocumentParser.d.ts +58 -0
  283. package/dist/document/DocumentParser.js +8 -0
  284. package/dist/document/DocumentParser.js.map +1 -0
  285. package/dist/document/HeadingChunker.d.ts +34 -0
  286. package/dist/document/HeadingChunker.js +182 -0
  287. package/dist/document/HeadingChunker.js.map +1 -0
  288. package/dist/document/JinaDocumentParser.d.ts +40 -0
  289. package/dist/document/JinaDocumentParser.js +129 -0
  290. package/dist/document/JinaDocumentParser.js.map +1 -0
  291. package/dist/document/index.d.ts +7 -0
  292. package/dist/document/index.js +26 -0
  293. package/dist/document/index.js.map +1 -0
  294. package/dist/edge/DdnsManager.d.ts +53 -0
  295. package/dist/edge/DdnsManager.js +153 -0
  296. package/dist/edge/DdnsManager.js.map +1 -0
  297. package/dist/edge/Dns01CertificateProvisioner.d.ts +27 -0
  298. package/dist/edge/Dns01CertificateProvisioner.js +160 -0
  299. package/dist/edge/Dns01CertificateProvisioner.js.map +1 -0
  300. package/dist/edge/Dns01CertificateProvisioner.jsonld +148 -0
  301. package/dist/edge/EdgeNodeAgent.d.ts +56 -0
  302. package/dist/edge/EdgeNodeAgent.js +230 -0
  303. package/dist/edge/EdgeNodeAgent.js.map +1 -0
  304. package/dist/edge/EdgeNodeAgent.jsonld +89 -0
  305. package/dist/edge/EdgeNodeAgentInitializer.d.ts +25 -0
  306. package/dist/edge/EdgeNodeAgentInitializer.js +64 -0
  307. package/dist/edge/EdgeNodeAgentInitializer.js.map +1 -0
  308. package/dist/edge/EdgeNodeCapabilityDetector.d.ts +98 -0
  309. package/dist/edge/EdgeNodeCapabilityDetector.js +425 -0
  310. package/dist/edge/EdgeNodeCapabilityDetector.js.map +1 -0
  311. package/dist/edge/EdgeNodeCertificateProvisioner.d.ts +3 -0
  312. package/dist/edge/EdgeNodeCertificateProvisioner.js +3 -0
  313. package/dist/edge/EdgeNodeCertificateProvisioner.js.map +1 -0
  314. package/dist/edge/EdgeNodeCertificateProvisioner.jsonld +21 -0
  315. package/dist/edge/EdgeNodeDnsCoordinator.d.ts +38 -0
  316. package/dist/edge/EdgeNodeDnsCoordinator.js +201 -0
  317. package/dist/edge/EdgeNodeDnsCoordinator.js.map +1 -0
  318. package/dist/edge/EdgeNodeDnsCoordinator.jsonld +212 -0
  319. package/dist/edge/EdgeNodeHealthProbeService.d.ts +25 -0
  320. package/dist/edge/EdgeNodeHealthProbeService.js +208 -0
  321. package/dist/edge/EdgeNodeHealthProbeService.js.map +1 -0
  322. package/dist/edge/EdgeNodeHealthProbeService.jsonld +176 -0
  323. package/dist/edge/EdgeNodeModeDetector.d.ts +50 -0
  324. package/dist/edge/EdgeNodeModeDetector.js +194 -0
  325. package/dist/edge/EdgeNodeModeDetector.js.map +1 -0
  326. package/dist/edge/EdgeNodeModeDetector.jsonld +114 -0
  327. package/dist/edge/EdgeNodeTunnelManager.d.ts +23 -0
  328. package/dist/edge/EdgeNodeTunnelManager.js +99 -0
  329. package/dist/edge/EdgeNodeTunnelManager.js.map +1 -0
  330. package/dist/edge/EdgeNodeTunnelManager.jsonld +128 -0
  331. package/dist/edge/FrpTunnelManager.d.ts +30 -0
  332. package/dist/edge/FrpTunnelManager.js +151 -0
  333. package/dist/edge/FrpTunnelManager.js.map +1 -0
  334. package/dist/edge/FrpTunnelManager.jsonld +192 -0
  335. package/dist/edge/LocalNetworkManager.d.ts +41 -0
  336. package/dist/edge/LocalNetworkManager.js +115 -0
  337. package/dist/edge/LocalNetworkManager.js.map +1 -0
  338. package/dist/edge/acme/AcmeCertificateManager.d.ts +65 -0
  339. package/dist/edge/acme/AcmeCertificateManager.js +233 -0
  340. package/dist/edge/acme/AcmeCertificateManager.js.map +1 -0
  341. package/dist/edge/acme/AcmeCertificateManager.jsonld +373 -0
  342. package/dist/edge/acme/ClusterCertificateManager.d.ts +40 -0
  343. package/dist/edge/acme/ClusterCertificateManager.js +184 -0
  344. package/dist/edge/acme/ClusterCertificateManager.js.map +1 -0
  345. package/dist/edge/acme/DnsChallengeClient.d.ts +15 -0
  346. package/dist/edge/acme/DnsChallengeClient.js +40 -0
  347. package/dist/edge/acme/DnsChallengeClient.js.map +1 -0
  348. package/dist/edge/acme/utils.d.ts +4 -0
  349. package/dist/edge/acme/utils.js +17 -0
  350. package/dist/edge/acme/utils.js.map +1 -0
  351. package/dist/edge/frp/FrpRelay.d.ts +11 -0
  352. package/dist/edge/frp/FrpRelay.js +29 -0
  353. package/dist/edge/frp/FrpRelay.js.map +1 -0
  354. package/dist/edge/frp/FrpcProcessManager.d.ts +51 -0
  355. package/dist/edge/frp/FrpcProcessManager.js +174 -0
  356. package/dist/edge/frp/FrpcProcessManager.js.map +1 -0
  357. package/dist/edge/interfaces/EdgeNodeTunnelManager.d.ts +6 -0
  358. package/dist/edge/interfaces/EdgeNodeTunnelManager.js +3 -0
  359. package/dist/edge/interfaces/EdgeNodeTunnelManager.js.map +1 -0
  360. package/dist/edge/interfaces/EdgeNodeTunnelManager.jsonld +21 -0
  361. package/dist/embedding/CredentialReader.d.ts +7 -0
  362. package/dist/embedding/CredentialReader.js +10 -0
  363. package/dist/embedding/CredentialReader.js.map +1 -0
  364. package/dist/embedding/CredentialReader.jsonld +22 -0
  365. package/dist/embedding/CredentialReaderImpl.d.ts +6 -0
  366. package/dist/embedding/CredentialReaderImpl.js +55 -0
  367. package/dist/embedding/CredentialReaderImpl.js.map +1 -0
  368. package/dist/embedding/CredentialReaderImpl.jsonld +31 -0
  369. package/dist/embedding/EmbeddingService.d.ts +8 -0
  370. package/dist/embedding/EmbeddingService.js +10 -0
  371. package/dist/embedding/EmbeddingService.js.map +1 -0
  372. package/dist/embedding/EmbeddingService.jsonld +26 -0
  373. package/dist/embedding/EmbeddingServiceImpl.d.ts +11 -0
  374. package/dist/embedding/EmbeddingServiceImpl.js +73 -0
  375. package/dist/embedding/EmbeddingServiceImpl.js.map +1 -0
  376. package/dist/embedding/EmbeddingServiceImpl.jsonld +53 -0
  377. package/dist/embedding/ProviderRegistry.d.ts +26 -0
  378. package/dist/embedding/ProviderRegistry.js +10 -0
  379. package/dist/embedding/ProviderRegistry.js.map +1 -0
  380. package/dist/embedding/ProviderRegistry.jsonld +30 -0
  381. package/dist/embedding/ProviderRegistryImpl.d.ts +14 -0
  382. package/dist/embedding/ProviderRegistryImpl.js +112 -0
  383. package/dist/embedding/ProviderRegistryImpl.js.map +1 -0
  384. package/dist/embedding/ProviderRegistryImpl.jsonld +40 -0
  385. package/dist/embedding/index.d.ts +5 -0
  386. package/dist/embedding/index.js +22 -0
  387. package/dist/embedding/index.js.map +1 -0
  388. package/dist/embedding/schema/index.d.ts +1 -0
  389. package/dist/embedding/schema/index.js +18 -0
  390. package/dist/embedding/schema/index.js.map +1 -0
  391. package/dist/embedding/schema/tables.d.ts +70 -0
  392. package/dist/embedding/schema/tables.js +102 -0
  393. package/dist/embedding/schema/tables.js.map +1 -0
  394. package/dist/embedding/types.d.ts +12 -0
  395. package/dist/embedding/types.js +6 -0
  396. package/dist/embedding/types.js.map +1 -0
  397. package/dist/gateway/port-finder.d.ts +4 -0
  398. package/dist/gateway/port-finder.js +15 -0
  399. package/dist/gateway/port-finder.js.map +1 -0
  400. package/dist/gateway/proxy.d.ts +22 -0
  401. package/dist/gateway/proxy.js +149 -0
  402. package/dist/gateway/proxy.js.map +1 -0
  403. package/dist/gateway/supervisor.d.ts +2 -0
  404. package/dist/gateway/supervisor.js +7 -0
  405. package/dist/gateway/supervisor.js.map +1 -0
  406. package/dist/gateway/types.d.ts +1 -0
  407. package/dist/gateway/types.js +3 -0
  408. package/dist/gateway/types.js.map +1 -0
  409. package/dist/http/AppStaticAssetHandler.d.ts +8 -0
  410. package/dist/http/AppStaticAssetHandler.js +27 -0
  411. package/dist/http/AppStaticAssetHandler.js.map +1 -0
  412. package/dist/http/AppStaticAssetHandler.jsonld +26 -0
  413. package/dist/http/ClusterIngressRouter.d.ts +93 -0
  414. package/dist/http/ClusterIngressRouter.js +355 -0
  415. package/dist/http/ClusterIngressRouter.js.map +1 -0
  416. package/dist/http/ClusterIngressRouter.jsonld +227 -0
  417. package/dist/http/ClusterWebSocketConfigurator.d.ts +59 -0
  418. package/dist/http/ClusterWebSocketConfigurator.js +226 -0
  419. package/dist/http/ClusterWebSocketConfigurator.js.map +1 -0
  420. package/dist/http/ClusterWebSocketConfigurator.jsonld +145 -0
  421. package/dist/http/EdgeNodeDirectDebugHttpHandler.d.ts +25 -0
  422. package/dist/http/EdgeNodeDirectDebugHttpHandler.js +126 -0
  423. package/dist/http/EdgeNodeDirectDebugHttpHandler.js.map +1 -0
  424. package/dist/http/EdgeNodeDirectDebugHttpHandler.jsonld +151 -0
  425. package/dist/http/EdgeNodeProxyHttpHandler.d.ts +28 -0
  426. package/dist/http/EdgeNodeProxyHttpHandler.js +190 -0
  427. package/dist/http/EdgeNodeProxyHttpHandler.js.map +1 -0
  428. package/dist/http/EdgeNodeProxyHttpHandler.jsonld +162 -0
  429. package/dist/http/PodRoutingHttpHandler.d.ts +64 -0
  430. package/dist/http/PodRoutingHttpHandler.js +233 -0
  431. package/dist/http/PodRoutingHttpHandler.js.map +1 -0
  432. package/dist/http/PodRoutingHttpHandler.jsonld +171 -0
  433. package/dist/http/RequestIdHttpHandler.d.ts +15 -0
  434. package/dist/http/RequestIdHttpHandler.js +59 -0
  435. package/dist/http/RequestIdHttpHandler.js.map +1 -0
  436. package/dist/http/RouterHttpHandler.d.ts +21 -0
  437. package/dist/http/RouterHttpHandler.js +49 -0
  438. package/dist/http/RouterHttpHandler.js.map +1 -0
  439. package/dist/http/RouterHttpHandler.jsonld +80 -0
  440. package/dist/http/RouterHttpRoute.d.ts +6 -0
  441. package/dist/http/RouterHttpRoute.js +11 -0
  442. package/dist/http/RouterHttpRoute.js.map +1 -0
  443. package/dist/http/RouterHttpRoute.jsonld +48 -0
  444. package/dist/http/SignalInterceptHttpHandler.d.ts +24 -0
  445. package/dist/http/SignalInterceptHttpHandler.js +47 -0
  446. package/dist/http/SignalInterceptHttpHandler.js.map +1 -0
  447. package/dist/http/SignalInterceptHttpHandler.jsonld +103 -0
  448. package/dist/http/SubgraphSparqlHttpHandler.d.ts +70 -0
  449. package/dist/http/SubgraphSparqlHttpHandler.js +640 -0
  450. package/dist/http/SubgraphSparqlHttpHandler.js.map +1 -0
  451. package/dist/http/SubgraphSparqlHttpHandler.jsonld +363 -0
  452. package/dist/http/TracingHandler.d.ts +19 -0
  453. package/dist/http/TracingHandler.js +60 -0
  454. package/dist/http/TracingHandler.js.map +1 -0
  455. package/dist/http/TracingHandler.jsonld +37 -0
  456. package/dist/http/admin/EdgeNodeAdminHttpHandler.d.ts +45 -0
  457. package/dist/http/admin/EdgeNodeAdminHttpHandler.js +292 -0
  458. package/dist/http/admin/EdgeNodeAdminHttpHandler.js.map +1 -0
  459. package/dist/http/admin/EdgeNodeCertificateHttpHandler.d.ts +33 -0
  460. package/dist/http/admin/EdgeNodeCertificateHttpHandler.js +172 -0
  461. package/dist/http/admin/EdgeNodeCertificateHttpHandler.js.map +1 -0
  462. package/dist/http/admin/EdgeNodeCertificateHttpHandler.jsonld +182 -0
  463. package/dist/http/admin/EdgeNodeSignalHttpHandler.d.ts +71 -0
  464. package/dist/http/admin/EdgeNodeSignalHttpHandler.js +674 -0
  465. package/dist/http/admin/EdgeNodeSignalHttpHandler.js.map +1 -0
  466. package/dist/http/admin/EdgeNodeSignalHttpHandler.jsonld +406 -0
  467. package/dist/http/cluster/PodMigrationHttpHandler.d.ts +52 -0
  468. package/dist/http/cluster/PodMigrationHttpHandler.js +208 -0
  469. package/dist/http/cluster/PodMigrationHttpHandler.js.map +1 -0
  470. package/dist/http/cluster/PodMigrationHttpHandler.jsonld +169 -0
  471. package/dist/http/quota/QuotaAdminHttpHandler.d.ts +34 -0
  472. package/dist/http/quota/QuotaAdminHttpHandler.js +241 -0
  473. package/dist/http/quota/QuotaAdminHttpHandler.js.map +1 -0
  474. package/dist/http/quota/QuotaAdminHttpHandler.jsonld +171 -0
  475. package/dist/http/search/SearchHttpHandler.d.ts +59 -0
  476. package/dist/http/search/SearchHttpHandler.js +312 -0
  477. package/dist/http/search/SearchHttpHandler.js.map +1 -0
  478. package/dist/http/search/index.d.ts +1 -0
  479. package/dist/http/search/index.js +18 -0
  480. package/dist/http/search/index.js.map +1 -0
  481. package/dist/http/terminal/TerminalHttpHandler.d.ts +45 -0
  482. package/dist/http/terminal/TerminalHttpHandler.js +306 -0
  483. package/dist/http/terminal/TerminalHttpHandler.js.map +1 -0
  484. package/dist/http/terminal/TerminalHttpHandler.jsonld +232 -0
  485. package/dist/http/terminal/index.d.ts +1 -0
  486. package/dist/http/terminal/index.js +18 -0
  487. package/dist/http/terminal/index.js.map +1 -0
  488. package/dist/http/vector/VectorHttpHandler.d.ts +42 -0
  489. package/dist/http/vector/VectorHttpHandler.js +301 -0
  490. package/dist/http/vector/VectorHttpHandler.js.map +1 -0
  491. package/dist/http/vector/VectorHttpHandler.jsonld +157 -0
  492. package/dist/http/vector/index.d.ts +1 -0
  493. package/dist/http/vector/index.js +18 -0
  494. package/dist/http/vector/index.js.map +1 -0
  495. package/dist/ice/IceServerProvider.d.ts +85 -0
  496. package/dist/ice/IceServerProvider.js +122 -0
  497. package/dist/ice/IceServerProvider.js.map +1 -0
  498. package/dist/ice/index.d.ts +8 -0
  499. package/dist/ice/index.js +25 -0
  500. package/dist/ice/index.js.map +1 -0
  501. package/dist/identity/CenterNodeRegistrationService.d.ts +102 -0
  502. package/dist/identity/CenterNodeRegistrationService.js +266 -0
  503. package/dist/identity/CenterNodeRegistrationService.js.map +1 -0
  504. package/dist/identity/CenterNodeRegistrationService.jsonld +251 -0
  505. package/dist/identity/ReactAppViewHandler.d.ts +31 -0
  506. package/dist/identity/ReactAppViewHandler.js +79 -0
  507. package/dist/identity/ReactAppViewHandler.js.map +1 -0
  508. package/dist/identity/ReactAppViewHandler.jsonld +99 -0
  509. package/dist/identity/drizzle/AccountRepository.d.ts +31 -0
  510. package/dist/identity/drizzle/AccountRepository.js +130 -0
  511. package/dist/identity/drizzle/AccountRepository.js.map +1 -0
  512. package/dist/identity/drizzle/AccountRoleRepository.d.ts +23 -0
  513. package/dist/identity/drizzle/AccountRoleRepository.js +233 -0
  514. package/dist/identity/drizzle/AccountRoleRepository.js.map +1 -0
  515. package/dist/identity/drizzle/DdnsRepository.d.ts +87 -0
  516. package/dist/identity/drizzle/DdnsRepository.js +284 -0
  517. package/dist/identity/drizzle/DdnsRepository.js.map +1 -0
  518. package/dist/identity/drizzle/DrizzleIndexedStorage.d.ts +26 -0
  519. package/dist/identity/drizzle/DrizzleIndexedStorage.js +159 -0
  520. package/dist/identity/drizzle/DrizzleIndexedStorage.js.map +1 -0
  521. package/dist/identity/drizzle/DrizzleIndexedStorage.jsonld +130 -0
  522. package/dist/identity/drizzle/EdgeNodeRepository.d.ts +155 -0
  523. package/dist/identity/drizzle/EdgeNodeRepository.js +555 -0
  524. package/dist/identity/drizzle/EdgeNodeRepository.js.map +1 -0
  525. package/dist/identity/drizzle/PodLookupRepository.d.ts +59 -0
  526. package/dist/identity/drizzle/PodLookupRepository.js +153 -0
  527. package/dist/identity/drizzle/PodLookupRepository.js.map +1 -0
  528. package/dist/identity/drizzle/WebIdProfileRepository.d.ts +58 -0
  529. package/dist/identity/drizzle/WebIdProfileRepository.js +157 -0
  530. package/dist/identity/drizzle/WebIdProfileRepository.js.map +1 -0
  531. package/dist/identity/drizzle/db.d.ts +60 -0
  532. package/dist/identity/drizzle/db.js +269 -0
  533. package/dist/identity/drizzle/db.js.map +1 -0
  534. package/dist/identity/drizzle/schema.d.ts +1 -0
  535. package/dist/identity/drizzle/schema.js +20 -0
  536. package/dist/identity/drizzle/schema.js.map +1 -0
  537. package/dist/identity/drizzle/schema.pg.d.ts +20 -0
  538. package/dist/identity/drizzle/schema.pg.js +103 -0
  539. package/dist/identity/drizzle/schema.pg.js.map +1 -0
  540. package/dist/identity/drizzle/schema.sqlite.d.ts +872 -0
  541. package/dist/identity/drizzle/schema.sqlite.js +100 -0
  542. package/dist/identity/drizzle/schema.sqlite.js.map +1 -0
  543. package/dist/identity/oidc/AutoDetectIdentityProviderHandler.d.ts +43 -0
  544. package/dist/identity/oidc/AutoDetectIdentityProviderHandler.js +92 -0
  545. package/dist/identity/oidc/AutoDetectIdentityProviderHandler.js.map +1 -0
  546. package/dist/identity/oidc/AutoDetectIdentityProviderHandler.jsonld +122 -0
  547. package/dist/identity/oidc/AutoDetectOidcHandler.d.ts +55 -0
  548. package/dist/identity/oidc/AutoDetectOidcHandler.js +137 -0
  549. package/dist/identity/oidc/AutoDetectOidcHandler.js.map +1 -0
  550. package/dist/identity/oidc/AutoDetectOidcHandler.jsonld +138 -0
  551. package/dist/identity/oidc/DisabledIdentityProviderHandler.d.ts +51 -0
  552. package/dist/identity/oidc/DisabledIdentityProviderHandler.js +104 -0
  553. package/dist/identity/oidc/DisabledIdentityProviderHandler.js.map +1 -0
  554. package/dist/identity/oidc/DisabledIdentityProviderHandler.jsonld +111 -0
  555. package/dist/identity/oidc/DisabledOidcHandler.d.ts +55 -0
  556. package/dist/identity/oidc/DisabledOidcHandler.js +132 -0
  557. package/dist/identity/oidc/DisabledOidcHandler.js.map +1 -0
  558. package/dist/identity/oidc/DisabledOidcHandler.jsonld +157 -0
  559. package/dist/index.d.ts +80 -0
  560. package/dist/index.js +155 -0
  561. package/dist/index.js.map +1 -0
  562. package/dist/legacy/DrizzleClientCredentialsStore.d.ts +51 -0
  563. package/dist/legacy/DrizzleClientCredentialsStore.js +142 -0
  564. package/dist/legacy/DrizzleClientCredentialsStore.js.map +1 -0
  565. package/dist/legacy/DrizzleIndexedStorage.d.ts +26 -0
  566. package/dist/legacy/DrizzleIndexedStorage.js +159 -0
  567. package/dist/legacy/DrizzleIndexedStorage.js.map +1 -0
  568. package/dist/legacy/DrizzleQuotaService.d.ts +16 -0
  569. package/dist/legacy/DrizzleQuotaService.js +37 -0
  570. package/dist/legacy/DrizzleQuotaService.js.map +1 -0
  571. package/dist/libs/backends/index.d.ts +6 -0
  572. package/dist/libs/backends/index.js +31 -0
  573. package/dist/libs/backends/index.js.map +1 -0
  574. package/dist/libs/backends/sqlup.d.ts +44 -0
  575. package/dist/libs/backends/sqlup.js +437 -0
  576. package/dist/libs/backends/sqlup.js.map +1 -0
  577. package/dist/logging/ConfigurableLoggerFactory.d.ts +24 -0
  578. package/dist/logging/ConfigurableLoggerFactory.js +77 -0
  579. package/dist/logging/ConfigurableLoggerFactory.js.map +1 -0
  580. package/dist/logging/ConfigurableLoggerFactory.jsonld +169 -0
  581. package/dist/logging/LogContext.d.ts +5 -0
  582. package/dist/logging/LogContext.js +6 -0
  583. package/dist/logging/LogContext.js.map +1 -0
  584. package/dist/main.d.ts +2 -0
  585. package/dist/main.js +148 -0
  586. package/dist/main.js.map +1 -0
  587. package/dist/network/LocalNetworkDetector.d.ts +65 -0
  588. package/dist/network/LocalNetworkDetector.js +185 -0
  589. package/dist/network/LocalNetworkDetector.js.map +1 -0
  590. package/dist/network/index.d.ts +4 -0
  591. package/dist/network/index.js +21 -0
  592. package/dist/network/index.js.map +1 -0
  593. package/dist/pods/ReservedSuffixIdentifierGenerator.d.ts +13 -0
  594. package/dist/pods/ReservedSuffixIdentifierGenerator.js +26 -0
  595. package/dist/pods/ReservedSuffixIdentifierGenerator.js.map +1 -0
  596. package/dist/pods/ReservedSuffixIdentifierGenerator.jsonld +75 -0
  597. package/dist/quota/DefaultQuotaService.d.ts +16 -0
  598. package/dist/quota/DefaultQuotaService.js +37 -0
  599. package/dist/quota/DefaultQuotaService.js.map +1 -0
  600. package/dist/quota/DefaultQuotaService.jsonld +85 -0
  601. package/dist/quota/DrizzleQuotaService.d.ts +16 -0
  602. package/dist/quota/DrizzleQuotaService.js +37 -0
  603. package/dist/quota/DrizzleQuotaService.js.map +1 -0
  604. package/dist/quota/DrizzleQuotaService.jsonld +87 -0
  605. package/dist/quota/NoopQuotaService.d.ts +7 -0
  606. package/dist/quota/NoopQuotaService.js +15 -0
  607. package/dist/quota/NoopQuotaService.js.map +1 -0
  608. package/dist/quota/NoopQuotaService.jsonld +36 -0
  609. package/dist/quota/QuotaService.d.ts +6 -0
  610. package/dist/quota/QuotaService.js +3 -0
  611. package/dist/quota/QuotaService.js.map +1 -0
  612. package/dist/quota/QuotaService.jsonld +33 -0
  613. package/dist/sdk/SignalingClientAdapter.d.ts +38 -0
  614. package/dist/sdk/SignalingClientAdapter.js +99 -0
  615. package/dist/sdk/SignalingClientAdapter.js.map +1 -0
  616. package/dist/sdk/createFetch.d.ts +23 -0
  617. package/dist/sdk/createFetch.js +258 -0
  618. package/dist/sdk/createFetch.js.map +1 -0
  619. package/dist/sdk/index.d.ts +29 -0
  620. package/dist/sdk/index.js +34 -0
  621. package/dist/sdk/index.js.map +1 -0
  622. package/dist/sdk/xpodFetch.d.ts +112 -0
  623. package/dist/sdk/xpodFetch.js +251 -0
  624. package/dist/sdk/xpodFetch.js.map +1 -0
  625. package/dist/service/EdgeNodeCertificateService.d.ts +45 -0
  626. package/dist/service/EdgeNodeCertificateService.js +164 -0
  627. package/dist/service/EdgeNodeCertificateService.js.map +1 -0
  628. package/dist/service/EdgeNodeCertificateService.jsonld +216 -0
  629. package/dist/service/EdgeNodeHeartbeatService.d.ts +68 -0
  630. package/dist/service/EdgeNodeHeartbeatService.js +262 -0
  631. package/dist/service/EdgeNodeHeartbeatService.js.map +1 -0
  632. package/dist/service/PodMigrationService.d.ts +43 -0
  633. package/dist/service/PodMigrationService.js +72 -0
  634. package/dist/service/PodMigrationService.js.map +1 -0
  635. package/dist/service/PodMigrationService.jsonld +76 -0
  636. package/dist/signaling/SignalingClient.d.ts +142 -0
  637. package/dist/signaling/SignalingClient.js +305 -0
  638. package/dist/signaling/SignalingClient.js.map +1 -0
  639. package/dist/signaling/SignalingService.d.ts +104 -0
  640. package/dist/signaling/SignalingService.js +440 -0
  641. package/dist/signaling/SignalingService.js.map +1 -0
  642. package/dist/signaling/index.d.ts +11 -0
  643. package/dist/signaling/index.js +28 -0
  644. package/dist/signaling/index.js.map +1 -0
  645. package/dist/signaling/types.d.ts +237 -0
  646. package/dist/signaling/types.js +18 -0
  647. package/dist/signaling/types.js.map +1 -0
  648. package/dist/storage/DrizzleCompat.d.ts +15 -0
  649. package/dist/storage/DrizzleCompat.js +60 -0
  650. package/dist/storage/DrizzleCompat.js.map +1 -0
  651. package/dist/storage/LockingResourceStore.d.ts +8 -0
  652. package/dist/storage/LockingResourceStore.js +68 -0
  653. package/dist/storage/LockingResourceStore.js.map +1 -0
  654. package/dist/storage/MigratableDataAccessor.d.ts +63 -0
  655. package/dist/storage/MigratableDataAccessor.js +11 -0
  656. package/dist/storage/MigratableDataAccessor.js.map +1 -0
  657. package/dist/storage/MigratableDataAccessor.jsonld +60 -0
  658. package/dist/storage/ObservableResourceStore.d.ts +89 -0
  659. package/dist/storage/ObservableResourceStore.js +125 -0
  660. package/dist/storage/ObservableResourceStore.js.map +1 -0
  661. package/dist/storage/RepresentationPartialConvertingStore.d.ts +22 -0
  662. package/dist/storage/RepresentationPartialConvertingStore.js +94 -0
  663. package/dist/storage/RepresentationPartialConvertingStore.js.map +1 -0
  664. package/dist/storage/RepresentationPartialConvertingStore.jsonld +332 -0
  665. package/dist/storage/SparqlUpdateResourceStore.d.ts +30 -0
  666. package/dist/storage/SparqlUpdateResourceStore.js +292 -0
  667. package/dist/storage/SparqlUpdateResourceStore.js.map +1 -0
  668. package/dist/storage/SparqlUpdateResourceStore.jsonld +112 -0
  669. package/dist/storage/SqliteCompat.d.ts +60 -0
  670. package/dist/storage/SqliteCompat.js +158 -0
  671. package/dist/storage/SqliteCompat.js.map +1 -0
  672. package/dist/storage/accessors/MinioDataAccessor.d.ts +127 -0
  673. package/dist/storage/accessors/MinioDataAccessor.js +249 -0
  674. package/dist/storage/accessors/MinioDataAccessor.js.map +1 -0
  675. package/dist/storage/accessors/MinioDataAccessor.jsonld +138 -0
  676. package/dist/storage/accessors/MixDataAccessor.d.ts +43 -0
  677. package/dist/storage/accessors/MixDataAccessor.js +130 -0
  678. package/dist/storage/accessors/MixDataAccessor.js.map +1 -0
  679. package/dist/storage/accessors/MixDataAccessor.jsonld +101 -0
  680. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.d.ts +146 -0
  681. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js +415 -0
  682. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js.map +1 -0
  683. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.jsonld +180 -0
  684. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.d.ts +95 -0
  685. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js +376 -0
  686. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js.map +1 -0
  687. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.jsonld +168 -0
  688. package/dist/storage/accessors/TieredMinioDataAccessor.d.ts +150 -0
  689. package/dist/storage/accessors/TieredMinioDataAccessor.js +582 -0
  690. package/dist/storage/accessors/TieredMinioDataAccessor.js.map +1 -0
  691. package/dist/storage/accessors/TieredMinioDataAccessor.jsonld +333 -0
  692. package/dist/storage/database/PostgresPoolManager.d.ts +56 -0
  693. package/dist/storage/database/PostgresPoolManager.js +117 -0
  694. package/dist/storage/database/PostgresPoolManager.js.map +1 -0
  695. package/dist/storage/keyvalue/PostgresKeyValueStorage.d.ts +34 -0
  696. package/dist/storage/keyvalue/PostgresKeyValueStorage.js +146 -0
  697. package/dist/storage/keyvalue/PostgresKeyValueStorage.js.map +1 -0
  698. package/dist/storage/keyvalue/PostgresKeyValueStorage.jsonld +192 -0
  699. package/dist/storage/keyvalue/RedisKeyValueStorage.d.ts +30 -0
  700. package/dist/storage/keyvalue/RedisKeyValueStorage.js +133 -0
  701. package/dist/storage/keyvalue/RedisKeyValueStorage.js.map +1 -0
  702. package/dist/storage/keyvalue/RedisKeyValueStorage.jsonld +237 -0
  703. package/dist/storage/keyvalue/SqliteKeyValueStorage.d.ts +30 -0
  704. package/dist/storage/keyvalue/SqliteKeyValueStorage.js +164 -0
  705. package/dist/storage/keyvalue/SqliteKeyValueStorage.js.map +1 -0
  706. package/dist/storage/keyvalue/SqliteKeyValueStorage.jsonld +167 -0
  707. package/dist/storage/quint/BaseQuintStore.d.ts +80 -0
  708. package/dist/storage/quint/BaseQuintStore.js +535 -0
  709. package/dist/storage/quint/BaseQuintStore.js.map +1 -0
  710. package/dist/storage/quint/BaseQuintStore.jsonld +175 -0
  711. package/dist/storage/quint/PgQuintStore.d.ts +61 -0
  712. package/dist/storage/quint/PgQuintStore.drizzle.d.ts +45 -0
  713. package/dist/storage/quint/PgQuintStore.drizzle.js +327 -0
  714. package/dist/storage/quint/PgQuintStore.drizzle.js.map +1 -0
  715. package/dist/storage/quint/PgQuintStore.js +275 -0
  716. package/dist/storage/quint/PgQuintStore.js.map +1 -0
  717. package/dist/storage/quint/PgQuintStore.jsonld +258 -0
  718. package/dist/storage/quint/SqliteQuintStore.d.ts +55 -0
  719. package/dist/storage/quint/SqliteQuintStore.js +630 -0
  720. package/dist/storage/quint/SqliteQuintStore.js.map +1 -0
  721. package/dist/storage/quint/SqliteQuintStore.jsonld +157 -0
  722. package/dist/storage/quint/index.d.ts +11 -0
  723. package/dist/storage/quint/index.js +30 -0
  724. package/dist/storage/quint/index.js.map +1 -0
  725. package/dist/storage/quint/schema.d.ts +82 -0
  726. package/dist/storage/quint/schema.js +33 -0
  727. package/dist/storage/quint/schema.js.map +1 -0
  728. package/dist/storage/quint/serialization.d.ts +56 -0
  729. package/dist/storage/quint/serialization.js +198 -0
  730. package/dist/storage/quint/serialization.js.map +1 -0
  731. package/dist/storage/quint/types.d.ts +152 -0
  732. package/dist/storage/quint/types.js +27 -0
  733. package/dist/storage/quint/types.js.map +1 -0
  734. package/dist/storage/quint/types.jsonld +78 -0
  735. package/dist/storage/quota/PerAccountQuotaStrategy.d.ts +19 -0
  736. package/dist/storage/quota/PerAccountQuotaStrategy.js +63 -0
  737. package/dist/storage/quota/PerAccountQuotaStrategy.js.map +1 -0
  738. package/dist/storage/quota/PerAccountQuotaStrategy.jsonld +113 -0
  739. package/dist/storage/quota/UsageRepository.d.ts +46 -0
  740. package/dist/storage/quota/UsageRepository.js +278 -0
  741. package/dist/storage/quota/UsageRepository.js.map +1 -0
  742. package/dist/storage/quota/UsageTrackingStore.d.ts +37 -0
  743. package/dist/storage/quota/UsageTrackingStore.js +355 -0
  744. package/dist/storage/quota/UsageTrackingStore.js.map +1 -0
  745. package/dist/storage/quota/UsageTrackingStore.jsonld +193 -0
  746. package/dist/storage/sparql/AlgebraUtils.d.ts +48 -0
  747. package/dist/storage/sparql/AlgebraUtils.js +118 -0
  748. package/dist/storage/sparql/AlgebraUtils.js.map +1 -0
  749. package/dist/storage/sparql/ComunicaOptimizedEngine.d.ts +59 -0
  750. package/dist/storage/sparql/ComunicaOptimizedEngine.js +254 -0
  751. package/dist/storage/sparql/ComunicaOptimizedEngine.js.map +1 -0
  752. package/dist/storage/sparql/ComunicaQuintEngine.d.ts +134 -0
  753. package/dist/storage/sparql/ComunicaQuintEngine.js +727 -0
  754. package/dist/storage/sparql/ComunicaQuintEngine.js.map +1 -0
  755. package/dist/storage/sparql/ExpressionEvaluator.d.ts +54 -0
  756. package/dist/storage/sparql/ExpressionEvaluator.js +340 -0
  757. package/dist/storage/sparql/ExpressionEvaluator.js.map +1 -0
  758. package/dist/storage/sparql/FilterPushdownExtractor.d.ts +74 -0
  759. package/dist/storage/sparql/FilterPushdownExtractor.js +409 -0
  760. package/dist/storage/sparql/FilterPushdownExtractor.js.map +1 -0
  761. package/dist/storage/sparql/OptimizedQuadstoreEngine.d.ts +65 -0
  762. package/dist/storage/sparql/OptimizedQuadstoreEngine.js +327 -0
  763. package/dist/storage/sparql/OptimizedQuadstoreEngine.js.map +1 -0
  764. package/dist/storage/sparql/OptimizedQuadstoreSource.d.ts +46 -0
  765. package/dist/storage/sparql/OptimizedQuadstoreSource.js +118 -0
  766. package/dist/storage/sparql/OptimizedQuadstoreSource.js.map +1 -0
  767. package/dist/storage/sparql/PatternBuilder.d.ts +41 -0
  768. package/dist/storage/sparql/PatternBuilder.js +118 -0
  769. package/dist/storage/sparql/PatternBuilder.js.map +1 -0
  770. package/dist/storage/sparql/QueryOptimizer.d.ts +125 -0
  771. package/dist/storage/sparql/QueryOptimizer.js +363 -0
  772. package/dist/storage/sparql/QueryOptimizer.js.map +1 -0
  773. package/dist/storage/sparql/QuintEngine.d.ts +92 -0
  774. package/dist/storage/sparql/QuintEngine.js +150 -0
  775. package/dist/storage/sparql/QuintEngine.js.map +1 -0
  776. package/dist/storage/sparql/QuintQuerySource.d.ts +227 -0
  777. package/dist/storage/sparql/QuintQuerySource.js +918 -0
  778. package/dist/storage/sparql/QuintQuerySource.js.map +1 -0
  779. package/dist/storage/sparql/SimpleSparqlExecutor.d.ts +40 -0
  780. package/dist/storage/sparql/SimpleSparqlExecutor.js +131 -0
  781. package/dist/storage/sparql/SimpleSparqlExecutor.js.map +1 -0
  782. package/dist/storage/sparql/SubgraphQueryEngine.d.ts +74 -0
  783. package/dist/storage/sparql/SubgraphQueryEngine.js +248 -0
  784. package/dist/storage/sparql/SubgraphQueryEngine.js.map +1 -0
  785. package/dist/storage/sparql/SubgraphQueryEngine.jsonld +250 -0
  786. package/dist/storage/vector/PostgresVectorStore.d.ts +46 -0
  787. package/dist/storage/vector/PostgresVectorStore.js +291 -0
  788. package/dist/storage/vector/PostgresVectorStore.js.map +1 -0
  789. package/dist/storage/vector/PostgresVectorStore.jsonld +142 -0
  790. package/dist/storage/vector/SqliteVectorStore.d.ts +44 -0
  791. package/dist/storage/vector/SqliteVectorStore.js +282 -0
  792. package/dist/storage/vector/SqliteVectorStore.js.map +1 -0
  793. package/dist/storage/vector/SqliteVectorStore.jsonld +137 -0
  794. package/dist/storage/vector/VectorIndexingListener.d.ts +114 -0
  795. package/dist/storage/vector/VectorIndexingListener.js +351 -0
  796. package/dist/storage/vector/VectorIndexingListener.js.map +1 -0
  797. package/dist/storage/vector/VectorStore.d.ts +42 -0
  798. package/dist/storage/vector/VectorStore.js +50 -0
  799. package/dist/storage/vector/VectorStore.js.map +1 -0
  800. package/dist/storage/vector/VectorStore.jsonld +87 -0
  801. package/dist/storage/vector/VectorStoreInit.d.ts +28 -0
  802. package/dist/storage/vector/VectorStoreInit.js +104 -0
  803. package/dist/storage/vector/VectorStoreInit.js.map +1 -0
  804. package/dist/storage/vector/index.d.ts +5 -0
  805. package/dist/storage/vector/index.js +22 -0
  806. package/dist/storage/vector/index.js.map +1 -0
  807. package/dist/storage/vector/types.d.ts +39 -0
  808. package/dist/storage/vector/types.js +8 -0
  809. package/dist/storage/vector/types.js.map +1 -0
  810. package/dist/subdomain/SubdomainClient.d.ts +156 -0
  811. package/dist/subdomain/SubdomainClient.js +220 -0
  812. package/dist/subdomain/SubdomainClient.js.map +1 -0
  813. package/dist/subdomain/SubdomainService.d.ts +114 -0
  814. package/dist/subdomain/SubdomainService.js +212 -0
  815. package/dist/subdomain/SubdomainService.js.map +1 -0
  816. package/dist/subdomain/SubdomainService.jsonld +261 -0
  817. package/dist/subdomain/index.d.ts +2 -0
  818. package/dist/subdomain/index.js +9 -0
  819. package/dist/subdomain/index.js.map +1 -0
  820. package/dist/supervisor/Supervisor.d.ts +20 -0
  821. package/dist/supervisor/Supervisor.js +174 -0
  822. package/dist/supervisor/Supervisor.js.map +1 -0
  823. package/dist/supervisor/index.d.ts +2 -0
  824. package/dist/supervisor/index.js +6 -0
  825. package/dist/supervisor/index.js.map +1 -0
  826. package/dist/supervisor/types.d.ts +19 -0
  827. package/dist/supervisor/types.js +3 -0
  828. package/dist/supervisor/types.js.map +1 -0
  829. package/dist/task/DrizzleTaskQueue.d.ts +60 -0
  830. package/dist/task/DrizzleTaskQueue.js +171 -0
  831. package/dist/task/DrizzleTaskQueue.js.map +1 -0
  832. package/dist/task/TaskExecutor.d.ts +82 -0
  833. package/dist/task/TaskExecutor.js +198 -0
  834. package/dist/task/TaskExecutor.js.map +1 -0
  835. package/dist/task/index.d.ts +10 -0
  836. package/dist/task/index.js +20 -0
  837. package/dist/task/index.js.map +1 -0
  838. package/dist/task/schema.d.ts +53 -0
  839. package/dist/task/schema.js +71 -0
  840. package/dist/task/schema.js.map +1 -0
  841. package/dist/task/types.d.ts +186 -0
  842. package/dist/task/types.js +12 -0
  843. package/dist/task/types.js.map +1 -0
  844. package/dist/terminal/AclPermissionService.d.ts +28 -0
  845. package/dist/terminal/AclPermissionService.js +141 -0
  846. package/dist/terminal/AclPermissionService.js.map +1 -0
  847. package/dist/terminal/BubblewrapSandbox.d.ts +51 -0
  848. package/dist/terminal/BubblewrapSandbox.js +147 -0
  849. package/dist/terminal/BubblewrapSandbox.js.map +1 -0
  850. package/dist/terminal/TerminalSession.d.ts +33 -0
  851. package/dist/terminal/TerminalSession.js +164 -0
  852. package/dist/terminal/TerminalSession.js.map +1 -0
  853. package/dist/terminal/TerminalSessionManager.d.ts +69 -0
  854. package/dist/terminal/TerminalSessionManager.js +196 -0
  855. package/dist/terminal/TerminalSessionManager.js.map +1 -0
  856. package/dist/terminal/index.d.ts +5 -0
  857. package/dist/terminal/index.js +22 -0
  858. package/dist/terminal/index.js.map +1 -0
  859. package/dist/terminal/sandbox/BubblewrapSandbox.d.ts +8 -0
  860. package/dist/terminal/sandbox/BubblewrapSandbox.js +105 -0
  861. package/dist/terminal/sandbox/BubblewrapSandbox.js.map +1 -0
  862. package/dist/terminal/sandbox/MacOSSandbox.d.ts +19 -0
  863. package/dist/terminal/sandbox/MacOSSandbox.js +120 -0
  864. package/dist/terminal/sandbox/MacOSSandbox.js.map +1 -0
  865. package/dist/terminal/sandbox/index.d.ts +29 -0
  866. package/dist/terminal/sandbox/index.js +113 -0
  867. package/dist/terminal/sandbox/index.js.map +1 -0
  868. package/dist/terminal/sandbox/types.d.ts +38 -0
  869. package/dist/terminal/sandbox/types.js +3 -0
  870. package/dist/terminal/sandbox/types.js.map +1 -0
  871. package/dist/terminal/types.d.ts +80 -0
  872. package/dist/terminal/types.js +16 -0
  873. package/dist/terminal/types.js.map +1 -0
  874. package/dist/tunnel/CloudflareTunnelProvider.d.ts +120 -0
  875. package/dist/tunnel/CloudflareTunnelProvider.js +376 -0
  876. package/dist/tunnel/CloudflareTunnelProvider.js.map +1 -0
  877. package/dist/tunnel/CloudflareTunnelProvider.jsonld +204 -0
  878. package/dist/tunnel/LocalTunnelProvider.d.ts +85 -0
  879. package/dist/tunnel/LocalTunnelProvider.js +295 -0
  880. package/dist/tunnel/LocalTunnelProvider.js.map +1 -0
  881. package/dist/tunnel/LocalTunnelProvider.jsonld +142 -0
  882. package/dist/tunnel/SakuraFrpTunnelProvider.d.ts +59 -0
  883. package/dist/tunnel/SakuraFrpTunnelProvider.js +207 -0
  884. package/dist/tunnel/SakuraFrpTunnelProvider.js.map +1 -0
  885. package/dist/tunnel/TunnelProvider.d.ts +91 -0
  886. package/dist/tunnel/TunnelProvider.js +10 -0
  887. package/dist/tunnel/TunnelProvider.js.map +1 -0
  888. package/dist/tunnel/TunnelProvider.jsonld +144 -0
  889. package/dist/tunnel/index.d.ts +3 -0
  890. package/dist/tunnel/index.js +8 -0
  891. package/dist/tunnel/index.js.map +1 -0
  892. package/dist/util/LockContext.d.ts +3 -0
  893. package/dist/util/LockContext.js +6 -0
  894. package/dist/util/LockContext.js.map +1 -0
  895. package/dist/util/ResourceStoreFetch.d.ts +11 -0
  896. package/dist/util/ResourceStoreFetch.js +147 -0
  897. package/dist/util/ResourceStoreFetch.js.map +1 -0
  898. package/dist/util/database/DatabaseMaintenance.d.ts +23 -0
  899. package/dist/util/database/DatabaseMaintenance.js +82 -0
  900. package/dist/util/database/DatabaseMaintenance.js.map +1 -0
  901. package/dist/util/identifiers/ClusterIdentifierStrategy.d.ts +23 -0
  902. package/dist/util/identifiers/ClusterIdentifierStrategy.js +73 -0
  903. package/dist/util/identifiers/ClusterIdentifierStrategy.js.map +1 -0
  904. package/dist/util/identifiers/ClusterIdentifierStrategy.jsonld +90 -0
  905. package/dist/util/identifiers/MultiDomainIdentifierStrategy.d.ts +40 -0
  906. package/dist/util/identifiers/MultiDomainIdentifierStrategy.js +73 -0
  907. package/dist/util/identifiers/MultiDomainIdentifierStrategy.js.map +1 -0
  908. package/dist/util/identifiers/MultiDomainIdentifierStrategy.jsonld +90 -0
  909. package/dist/util/identifiers/PathBasedPodIdentifierStrategy.d.ts +78 -0
  910. package/dist/util/identifiers/PathBasedPodIdentifierStrategy.js +182 -0
  911. package/dist/util/identifiers/PathBasedPodIdentifierStrategy.js.map +1 -0
  912. package/dist/util/identifiers/PathBasedPodIdentifierStrategy.jsonld +88 -0
  913. package/dist/util/identifiers/SubdomainPodIdentifierStrategy.d.ts +68 -0
  914. package/dist/util/identifiers/SubdomainPodIdentifierStrategy.js +149 -0
  915. package/dist/util/identifiers/SubdomainPodIdentifierStrategy.js.map +1 -0
  916. package/dist/util/identifiers/SubdomainPodIdentifierStrategy.jsonld +84 -0
  917. package/dist/util/locking/DebugRedisLocker.d.ts +8 -0
  918. package/dist/util/locking/DebugRedisLocker.js +33 -0
  919. package/dist/util/locking/DebugRedisLocker.js.map +1 -0
  920. package/dist/util/logger.d.ts +13 -0
  921. package/dist/util/logger.js +36 -0
  922. package/dist/util/logger.js.map +1 -0
  923. package/dist/util/stream/BandwidthThrottleTransform.d.ts +8 -0
  924. package/dist/util/stream/BandwidthThrottleTransform.js +55 -0
  925. package/dist/util/stream/BandwidthThrottleTransform.js.map +1 -0
  926. package/dist/vocab/external.d.ts +216 -0
  927. package/dist/vocab/external.js +276 -0
  928. package/dist/vocab/external.js.map +1 -0
  929. package/dist/vocab/index.d.ts +26 -0
  930. package/dist/vocab/index.js +46 -0
  931. package/dist/vocab/index.js.map +1 -0
  932. package/dist/vocab/udfs.d.ts +184 -0
  933. package/dist/vocab/udfs.js +217 -0
  934. package/dist/vocab/udfs.js.map +1 -0
  935. package/dist/webrtc/WebRTCClient.d.ts +109 -0
  936. package/dist/webrtc/WebRTCClient.js +344 -0
  937. package/dist/webrtc/WebRTCClient.js.map +1 -0
  938. package/dist/webrtc/WebRTCPeerManager.d.ts +112 -0
  939. package/dist/webrtc/WebRTCPeerManager.js +289 -0
  940. package/dist/webrtc/WebRTCPeerManager.js.map +1 -0
  941. package/dist/webrtc/WeriftPeerConnectionFactory.d.ts +13 -0
  942. package/dist/webrtc/WeriftPeerConnectionFactory.js +255 -0
  943. package/dist/webrtc/WeriftPeerConnectionFactory.js.map +1 -0
  944. package/dist/webrtc/index.d.ts +13 -0
  945. package/dist/webrtc/index.js +30 -0
  946. package/dist/webrtc/index.js.map +1 -0
  947. package/dist/webrtc/types.d.ts +169 -0
  948. package/dist/webrtc/types.js +6 -0
  949. package/dist/webrtc/types.js.map +1 -0
  950. package/dist/xpod.single.cjs +826 -0
  951. package/dist/xpod.single.cjs.map +7 -0
  952. package/package.json +173 -0
  953. package/static/app/assets/index.css +1 -0
  954. package/static/app/assets/main.js +11 -0
  955. package/static/app/auth.html +21 -0
  956. package/static/app/index.html +14 -0
  957. package/static/app/vite.svg +1 -0
  958. package/static/dashboard/assets/dashboard-G96F8267.js +52 -0
  959. package/static/dashboard/assets/dashboard-PJyGDppf.css +1 -0
  960. package/static/dashboard/auth.html +21 -0
  961. package/static/dashboard/index.html +13 -0
  962. package/static/dashboard/vite.svg +1 -0
  963. package/static/landing/index.html +165 -0
  964. package/templates/identity/index.html.ejs +12 -0
  965. package/templates/identity/login.html.ejs +49 -0
  966. package/templates/identity/oidc/consent.html.ejs +103 -0
  967. package/templates/identity/password/forgot.html.ejs +49 -0
  968. package/templates/identity/password/login.html.ejs +58 -0
  969. package/templates/identity/password/register.html.ejs +65 -0
  970. package/templates/main.html.ejs +1 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../node_modules/global-logger-factory/src/Logger.ts", "../node_modules/global-logger-factory/src/VoidLogger.ts", "../node_modules/global-logger-factory/src/VoidLoggerFactory.ts", "../node_modules/global-logger-factory/src/LazyLoggerFactory.ts", "../node_modules/global-logger-factory/dist/LoggerFactory.js", "../node_modules/global-logger-factory/src/LogLevel.ts", "../node_modules/global-logger-factory/src/LogUtil.ts", "../node_modules/global-logger-factory/src/WinstonLogger.ts", "../node_modules/global-logger-factory/src/WinstonLoggerFactory.ts", "../node_modules/global-logger-factory/src/index.ts", "../src/supervisor/Supervisor.ts", "../src/gateway/proxy.ts", "../src/gateway/port-finder.ts", "../src/main.ts", "../src/logging/ConfigurableLoggerFactory.ts", "../src/logging/LogContext.ts"],
4
+ "sourcesContent": ["import type { LogLevel } from './LogLevel';\n\n/**\n * Logs messages on a specific level.\n *\n * @see getLoggerFor on how to instantiate loggers.\n */\nexport interface SimpleLogger<T = unknown> {\n /**\n * Log the given message at the given level.\n * If the internal level is higher than the given level, the message may be voided.\n *\n * @param level - The level to log at.\n * @param message - The message to log.\n * @param meta - Optional metadata to include in the log message.\n */\n log: (level: LogLevel, message: string, meta?: T) => SimpleLogger<T>;\n}\n\n/**\n * Logs messages, with convenience methods to log on a specific level.\n *\n * @see getLoggerFor on how to instantiate loggers.\n */\nexport interface Logger<T = unknown> extends SimpleLogger<T> {\n /**\n * Log the given message at the given level.\n * If the internal level is higher than the given level, the message may be voided.\n *\n * @param level - The level to log at.\n * @param message - The message to log.\n * @param meta - Optional metadata to include in the log message.\n */\n log: (level: LogLevel, message: string, meta?: T) => Logger<T>;\n\n /**\n * Log a message at the 'error' level.\n *\n * @param message - The message to log.\n * @param meta - Optional metadata to include in the log message.\n */\n error: (message: string, meta?: T) => Logger<T>;\n\n /**\n * Log a message at the 'warn' level.\n *\n * @param message - The message to log.\n * @param meta - Optional metadata to include in the log message.\n */\n warn: (message: string, meta?: T) => Logger<T>;\n\n /**\n * Log a message at the 'info' level.\n *\n * @param message - The message to log.\n * @param meta - Optional metadata to include in the log message.\n */\n info: (message: string, meta?: T) => Logger<T>;\n\n /**\n * Log a message at the 'verbose' level.\n *\n * @param message - The message to log.\n * @param meta - Optional metadata to include in the log message.\n */\n verbose: (message: string, meta?: T) => Logger<T>;\n\n /**\n * Log a message at the 'debug' level.\n *\n * @param message - The message to log.\n * @param meta - Optional metadata to include in the log message.\n */\n debug: (message: string) => Logger<T>;\n\n /**\n * Log a message at the 'silly' level.\n *\n * @param message - The message to log.\n * @param meta - Optional metadata to include in the log message.\n */\n silly: (message: string) => Logger<T>;\n}\n\n/**\n * Base class that implements all additional {@link BaseLogger} methods,\n * leaving only the implementation of {@link SimpleLogger}.\n */\nexport abstract class BaseLogger<T = unknown> implements Logger<T> {\n public abstract log(level: LogLevel, message: string, meta?: T): Logger<T>;\n\n public error(message: string, meta?: T): Logger<T> {\n return this.log('error', message, meta);\n }\n\n public warn(message: string, meta?: T): Logger<T> {\n return this.log('warn', message, meta);\n }\n\n public info(message: string, meta?: T): Logger<T> {\n return this.log('info', message, meta);\n }\n\n public verbose(message: string, meta?: T): Logger<T> {\n return this.log('verbose', message, meta);\n }\n\n public debug(message: string, meta?: T): Logger<T> {\n return this.log('debug', message, meta);\n }\n\n public silly(message: string, meta?: T): Logger<T> {\n return this.log('silly', message, meta);\n }\n}\n\n/**\n * Implements {@link BaseLogger} around a {@link SimpleLogger},\n * which can be swapped out a runtime.\n */\nexport class WrappingLogger<T = unknown> extends BaseLogger<T> {\n public logger: SimpleLogger<T>;\n\n public constructor(logger: SimpleLogger<T>) {\n super();\n this.logger = logger;\n }\n\n public log(level: LogLevel, message: string, meta?: T): this {\n this.logger.log(level, message, meta);\n return this;\n }\n}\n", "import { BaseLogger } from './Logger';\n\n/**\n * A logger that does nothing on a log message.\n */\nexport class VoidLogger extends BaseLogger {\n public log(): this {\n // Do nothing\n return this;\n }\n}\n", "import type { LoggerFactory } from './LoggerFactory';\nimport { VoidLogger } from './VoidLogger';\n\n/**\n * A factory that always returns {@link VoidLogger}, which does nothing on log messages.\n */\nexport class VoidLoggerFactory implements LoggerFactory {\n protected readonly logger = new VoidLogger();\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n public createLogger(label: string): VoidLogger {\n return this.logger;\n }\n}\n", "import { WrappingLogger } from './Logger';\nimport type { Logger } from './Logger';\nimport type { LoggerFactory } from './LoggerFactory';\nimport type { LogLevel } from './LogLevel';\nimport { VoidLoggerFactory } from './VoidLoggerFactory';\n\n/**\n * Temporary {@link LoggerFactory} that buffers log messages in memory\n * until the {@link TemporaryLoggerFactory#switch} method is called.\n *\n * If the buffer gets filled we assume an actual factory will never be set,\n * so we switch to a {@link VoidLogger} and clear the buffer.\n * This can happen if a library that uses this logger is used as a dependency,\n * but the logger never gets set.\n * This way users are not forced to interact with the logging system if they just want to use the dependency.\n */\nclass TemporaryLoggerFactory<T = unknown> implements LoggerFactory<T> {\n protected bufferSpaces: number;\n protected readonly wrappers: { wrapper: WrappingLogger<T>; label: string }[] = [];\n protected readonly buffer: { logger: Logger<T>; level: LogLevel; message: string; meta?: T }[] = [];\n\n public constructor(bufferSize = 1024) {\n this.bufferSpaces = bufferSize;\n }\n\n public createLogger(label: string): WrappingLogger<T> {\n const wrapper = new WrappingLogger<T>({\n log: (level: LogLevel, message: string, meta?: T): Logger<T> =>\n this.bufferLogEntry(wrapper, level, message, meta),\n });\n this.wrappers.push({ wrapper, label });\n return wrapper;\n }\n\n protected bufferLogEntry(logger: WrappingLogger<T>, level: LogLevel, message: string, meta?: T): Logger<T> {\n // Buffer the message if spaces are still available\n if (this.bufferSpaces > 0) {\n this.bufferSpaces -= 1;\n // If this is the last space, assume logging is not required and change to a void logger\n if (this.bufferSpaces === 0) {\n // Clear the buffer\n this.buffer.length = 0;\n this.switch(new VoidLoggerFactory());\n return logger;\n }\n this.buffer.push({ logger, level, message, meta });\n }\n return logger;\n }\n\n /**\n * Swaps all lazy loggers to new loggers from the given factory,\n * and emits any buffered messages through those actual loggers.\n */\n public switch(loggerFactory: LoggerFactory<T>): void {\n // Instantiate an actual logger within every lazy logger\n for (const { wrapper, label } of this.wrappers.splice(0, this.wrappers.length)) {\n wrapper.logger = loggerFactory.createLogger(label);\n }\n // Emit all buffered log messages\n for (const { logger, level, message } of this.buffer.splice(0, this.buffer.length)) {\n logger.log(level, message);\n }\n }\n}\n\n/**\n * Wraps around another {@link LoggerFactory} that can be set lazily.\n * This is useful when objects are instantiated (and when they create loggers)\n * before the logging system has been fully instantiated,\n * as is the case when using a dependency injection framework such as Components.js.\n *\n * Loggers can be created even before a {@link LoggerFactory} is set;\n * any log messages will be buffered and re-emitted.\n */\nexport class LazyLoggerFactory<T = unknown> implements LoggerFactory<T> {\n protected factory: LoggerFactory<T>;\n\n public constructor(options: { bufferSize?: number } = {}) {\n this.factory = new TemporaryLoggerFactory(options.bufferSize);\n }\n\n public get loggerFactory(): LoggerFactory<T> {\n if (this.factory instanceof TemporaryLoggerFactory) {\n throw new TypeError('Logger factory not yet set.');\n }\n return this.factory;\n }\n\n public set loggerFactory(loggerFactory: LoggerFactory<T>) {\n if (this.factory instanceof TemporaryLoggerFactory) {\n this.factory.switch(loggerFactory);\n }\n this.factory = loggerFactory;\n }\n\n public createLogger(label: string): Logger<T> {\n return this.factory.createLogger(label);\n }\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=LoggerFactory.js.map", "export const LOG_LEVELS = [ 'error', 'warn', 'info', 'verbose', 'debug', 'silly' ] as const;\n\n/**\n * Different log levels, from most important to least important.\n */\nexport type LogLevel = typeof LOG_LEVELS[number];\n", "import { LazyLoggerFactory } from './LazyLoggerFactory';\nimport type { Logger } from './Logger';\nimport type { LoggerFactory } from './LoggerFactory';\n\nlet loggerFactoryWrapper = new LazyLoggerFactory();\nlet classLoggers = new WeakMap<Constructor, Logger>();\n\n/**\n * Gets a logger instance for the given class instance.\n *\n * The following shows a typical pattern on how to create loggers:\n * ```\n * class MyClass {\n * protected readonly logger = getLoggerFor(this);\n * }\n * ```\n * If no class is applicable, a logger can also be created as follows:\n * ```\n * const logger = getLoggerFor('MyFunction');\n * ```\n *\n * @param loggable - A class instance or a class string name.\n */\nexport function getLoggerFor<T = unknown>(loggable: string | Instance): Logger<T> {\n let logger: Logger<T>;\n // Create a logger with a text label\n if (typeof loggable === 'string') {\n logger = loggerFactoryWrapper.createLogger(loggable);\n // Create or reuse a logger for a specific class\n } else {\n const { constructor } = loggable;\n if (classLoggers.has(constructor)) {\n logger = classLoggers.get(constructor)!;\n } else {\n logger = loggerFactoryWrapper.createLogger(constructor.name);\n classLoggers.set(constructor, logger as Logger);\n }\n }\n return logger;\n}\n\n/**\n * Sets the global logger factory.\n * This causes loggers created by {@link getLoggerFor} to delegate to a logger from the given factory.\n *\n * @param loggerFactory - A logger factory.\n */\nexport function setGlobalLoggerFactory(loggerFactory: LoggerFactory): void {\n loggerFactoryWrapper.loggerFactory = loggerFactory;\n}\n\n/**\n * Resets the internal logger factory, which holds the global logger factory.\n * For testing purposes only.\n */\nexport function resetInternalLoggerFactory(factory = new LazyLoggerFactory()): void {\n loggerFactoryWrapper = factory;\n classLoggers = new WeakMap();\n}\n\n/**\n * Any class constructor.\n */\ninterface Constructor {\n name: string;\n}\n\n/**\n * Any class instance.\n */\ninterface Instance {\n constructor: Constructor;\n}\n", "import type { Logger as WinstonInnerLogger } from 'winston';\nimport { BaseLogger } from './Logger';\nimport type { LogLevel } from './LogLevel';\n\n/**\n * A WinstonLogger implements the {@link Logger} interface using a given winston logger.\n */\nexport class WinstonLogger extends BaseLogger {\n protected readonly logger: WinstonInnerLogger;\n\n public constructor(logger: WinstonInnerLogger) {\n super();\n this.logger = logger;\n }\n\n public log(level: LogLevel, message: string, meta?: unknown): this {\n this.logger.log(level, message, meta);\n return this;\n }\n}\n", "import cluster from 'node:cluster';\nimport type { TransformableInfo } from 'logform';\nimport { createLogger, format, transports } from 'winston';\nimport type * as Transport from 'winston-transport';\nimport type { Logger } from './Logger';\nimport type { LoggerFactory } from './LoggerFactory';\nimport { WinstonLogger } from './WinstonLogger';\n\n/**\n * Uses the winston library to create loggers for the given logging level.\n * It will print to the console with colorized logging levels.\n *\n * This creates instances of {@link WinstonLogger}.\n */\nexport class WinstonLoggerFactory implements LoggerFactory {\n protected readonly level: string;\n\n public constructor(level: string) {\n this.level = level;\n }\n\n protected clusterInfo(): string {\n if (cluster.isPrimary) {\n return 'Primary';\n }\n return `W-${process.pid}`;\n };\n\n public createLogger(label: string): Logger {\n return new WinstonLogger(createLogger({\n level: this.level,\n format: format.combine(\n format.label({ label }),\n format.colorize(),\n format.timestamp(),\n format.metadata({ fillExcept: [ 'level', 'timestamp', 'label', 'message' ]}),\n format.printf(\n ({ level: levelInner, message, label: labelInner, timestamp }: TransformableInfo): string =>\n `${timestamp} [${labelInner}] {${this.clusterInfo()}} ${levelInner}: ${message}`,\n ),\n ),\n transports: this.createTransports(),\n }));\n }\n\n protected createTransports(): Transport[] {\n return [ new transports.Console() ];\n }\n}\n", "export * from './LazyLoggerFactory';\nexport * from './Logger';\nexport * from './LoggerFactory';\nexport * from './LogLevel';\nexport * from './LogUtil';\nexport * from './VoidLogger';\nexport * from './VoidLoggerFactory';\nexport * from './WinstonLogger';\nexport * from './WinstonLoggerFactory';\n", "import { spawn, type ChildProcess } from 'node:child_process';\nimport kill from 'tree-kill';\nimport type { ServiceConfig, ServiceState, StatusChangeHandler } from './types';\n\nconst MAX_RESTARTS = 5;\n\nexport class Supervisor {\n private processes: Map<string, ChildProcess> = new Map();\n private states: Map<string, ServiceState> = new Map();\n private configs: Map<string, ServiceConfig> = new Map();\n private onStatusChange?: StatusChangeHandler;\n private isShuttingDown = false;\n\n constructor() {\n // \u786E\u4FDD\u7236\u8FDB\u7A0B\u9000\u51FA\u65F6\u6E05\u7406\u6240\u6709\u5B50\u8FDB\u7A0B\n process.on('exit', () => this.killAll());\n process.on('SIGINT', () => this.shutdown('SIGINT'));\n process.on('SIGTERM', () => this.shutdown('SIGTERM'));\n }\n\n private async shutdown(signal: string): Promise<void> {\n if (this.isShuttingDown) return;\n this.isShuttingDown = true;\n console.log(`[Supervisor] Received ${signal}, stopping all services...`);\n await this.stopAll();\n process.exit(0);\n }\n\n private killAll(): void {\n // \u540C\u6B65\u6740\u6389\u6240\u6709\u5B50\u8FDB\u7A0B\uFF08\u7528\u4E8E process.on('exit')\uFF09\n for (const [name, child] of this.processes) {\n if (child.pid) {\n try {\n process.kill(child.pid, 'SIGKILL');\n } catch {\n // \u8FDB\u7A0B\u53EF\u80FD\u5DF2\u7ECF\u9000\u51FA\n }\n }\n }\n }\n\n public setStatusChangeHandler(handler: StatusChangeHandler): void {\n this.onStatusChange = handler;\n }\n\n public register(config: ServiceConfig): void {\n this.configs.set(config.name, config);\n this.states.set(config.name, {\n name: config.name,\n status: 'stopped',\n restartCount: 0,\n });\n }\n\n public async startAll(): Promise<void> {\n for (const name of this.configs.keys()) {\n this.start(name);\n }\n }\n\n public async stopAll(): Promise<void> {\n this.isShuttingDown = true;\n const promises: Promise<void>[] = [];\n for (const name of this.processes.keys()) {\n promises.push(this.stop(name));\n }\n await Promise.all(promises);\n }\n\n public start(name: string): void {\n const config = this.configs.get(name);\n const state = this.states.get(name);\n if (!config || !state) return;\n\n if (state.status === 'running' || state.status === 'starting') return;\n\n console.log(`[Supervisor] Starting ${name}...`);\n this.updateState(name, { status: 'starting', startTime: Date.now() });\n\n const env = { ...process.env, ...config.env };\n\n const child = spawn(config.command, config.args, {\n stdio: ['ignore', 'pipe', 'pipe'],\n env,\n cwd: config.cwd || process.cwd(),\n detached: false, // \u786E\u4FDD\u5B50\u8FDB\u7A0B\u4E0D\u8131\u79BB\u7236\u8FDB\u7A0B\n });\n\n this.processes.set(name, child);\n this.updateState(name, { status: 'running', pid: child.pid });\n\n const prefixLog = (name: string, data: Buffer, isError = false) => {\n const output = data.toString();\n const lines = output.split('\\n');\n for (const line of lines) {\n const trimmed = line.trim();\n if (trimmed) {\n if (isError) {\n console.error(`[${name}] ${trimmed}`);\n } else {\n console.log(`[${name}] ${trimmed}`);\n }\n }\n }\n };\n\n child.stdout?.on('data', (data) => {\n prefixLog(name, data, false);\n });\n\n child.stderr?.on('data', (data) => {\n prefixLog(name, data, true);\n });\n\n child.on('error', (err) => {\n console.error(`[Supervisor] Error spawning ${name}:`, err);\n this.updateState(name, { status: 'crashed' });\n });\n\n child.on('exit', (code, signal) => {\n console.log(`[Supervisor] ${name} exited with code ${code} signal ${signal}`);\n const currentState = this.states.get(name);\n const wasManualStop = currentState?.status === 'stopped';\n\n this.updateState(name, {\n status: 'stopped',\n lastExitCode: code ?? undefined,\n pid: undefined,\n });\n this.processes.delete(name);\n\n // Auto-restart on crash (not on manual stop or shutdown)\n if (code !== 0 && !wasManualStop && !this.isShuttingDown) {\n const newState = this.states.get(name);\n const restartCount = (newState?.restartCount || 0) + 1;\n\n if (restartCount <= MAX_RESTARTS) {\n this.updateState(name, { restartCount });\n console.log(`[Supervisor] Restarting ${name} in 2s... (attempt ${restartCount}/${MAX_RESTARTS})`);\n setTimeout(() => this.start(name), 2000);\n } else {\n console.error(`[Supervisor] ${name} exceeded max restarts (${MAX_RESTARTS}), giving up`);\n }\n }\n });\n }\n\n public stop(name: string): Promise<void> {\n return new Promise((resolve) => {\n const child = this.processes.get(name);\n if (!child || !child.pid) {\n resolve();\n return;\n }\n\n // Mark as stopped first to prevent auto-restart\n this.updateState(name, { status: 'stopped' });\n\n kill(child.pid, 'SIGTERM', (err) => {\n if (err) console.error(`[Supervisor] Failed to kill ${name}:`, err);\n resolve();\n });\n });\n }\n\n public getStatus(name: string): ServiceState | undefined {\n const state = this.states.get(name);\n if (state && state.status === 'running' && state.startTime) {\n return { ...state, uptime: Date.now() - state.startTime };\n }\n return state;\n }\n\n public getAllStatus(): ServiceState[] {\n return Array.from(this.states.values()).map((s) => {\n if (s.status === 'running' && s.startTime) {\n return { ...s, uptime: Date.now() - s.startTime };\n }\n return s;\n });\n }\n\n private updateState(name: string, update: Partial<ServiceState>): void {\n const state = this.states.get(name);\n if (state) {\n Object.assign(state, update);\n this.onStatusChange?.(name, { ...state });\n }\n }\n}\n", "import httpProxy from 'http-proxy';\nimport http from 'http';\nimport { getLoggerFor } from 'global-logger-factory';\nimport type { Supervisor } from './supervisor';\n\n// CORS configuration matching CSS CorsHandler defaults\nconst CORS_CONFIG = {\n methods: ['GET', 'HEAD', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE'],\n credentials: true,\n allowedHeaders: [\n 'Authorization', 'Content-Type', 'Accept', 'DPoP', 'Origin',\n 'X-Requested-With', 'If-Match', 'If-None-Match', 'Slug', 'Link'\n ],\n exposedHeaders: [\n 'Accept-Patch', 'Accept-Post', 'Accept-Put', 'Allow', 'Content-Range',\n 'ETag', 'Last-Modified', 'Link', 'Location', 'Updates-Via',\n 'WAC-Allow', 'Www-Authenticate', 'X-Request-Id'\n ]\n};\n\nexport class GatewayProxy {\n private readonly logger = getLoggerFor(this);\n private proxy: httpProxy;\n private server: http.Server;\n private targets: { css?: string; api?: string } = {};\n\n constructor(private port: number, private supervisor: Supervisor) {\n this.proxy = httpProxy.createProxyServer({\n xfwd: true,\n });\n\n this.proxy.on('error', (err, _req, res) => {\n this.logger.error('Proxy error:', err);\n if (res && 'writeHead' in res && !res.headersSent) {\n res.writeHead(502, { 'Content-Type': 'application/json' });\n res.end(JSON.stringify({ error: 'Service Unavailable', details: err.message }));\n }\n });\n\n this.server = http.createServer(this.handleRequest.bind(this));\n\n this.server.on('upgrade', (req, socket, head) => {\n const url = req.url ?? '/';\n\n // Route /ws/* WebSocket connections to API server\n if (url.startsWith('/ws/') && this.targets.api) {\n this.proxy.ws(req, socket, head, { target: this.targets.api });\n } else if (this.targets.css) {\n this.proxy.ws(req, socket, head, { target: this.targets.css });\n } else {\n socket.destroy();\n }\n });\n }\n\n public setTargets(targets: { css?: string; api?: string }) {\n this.targets = targets;\n }\n\n public start(): void {\n this.server.listen(this.port, '0.0.0.0', () => {\n this.logger.info(`Listening on http://0.0.0.0:${this.port}`);\n });\n }\n\n private handleRequest(req: http.IncomingMessage, res: http.ServerResponse): void {\n const url = req.url ?? '/';\n const origin = req.headers.origin;\n\n // Store original host for x-forwarded-host before any rewrites\n const originalHost = req.headers.host;\n\n // Set x-forwarded-proto based on CSS_BASE_URL\n // Override any existing value since cloudflared sets it to 'http' for local forwarding\n const baseUrl = process.env.CSS_BASE_URL || '';\n if (baseUrl.startsWith('https')) {\n req.headers['x-forwarded-proto'] = 'https';\n }\n\n // Rewrite Host header to match CSS_BASE_URL for proper routing\n // This ensures CSS RouterHandler can correctly match paths\n // Also set x-forwarded-host to the same value so CSS OriginalUrlExtractor uses it\n if (baseUrl) {\n try {\n const parsedBaseUrl = new URL(baseUrl);\n req.headers.host = parsedBaseUrl.host;\n // CSS uses x-forwarded-host if present, so we need to set it to match baseUrl\n req.headers['x-forwarded-host'] = parsedBaseUrl.host;\n } catch {\n // Ignore invalid baseUrl, keep original host\n if (!req.headers['x-forwarded-host']) {\n req.headers['x-forwarded-host'] = originalHost;\n }\n }\n } else if (!req.headers['x-forwarded-host']) {\n req.headers['x-forwarded-host'] = originalHost;\n }\n\n // Use debug level for per-request logs\n this.logger.debug(`${req.method} ${url} x-forwarded-proto=${req.headers['x-forwarded-proto']} x-forwarded-host=${req.headers['x-forwarded-host']} host=${req.headers.host}`);\n\n // 1. Gateway Internal API (Status & Control) - Gateway handles CORS\n if (url.startsWith('/_gateway/')) {\n if (req.method === 'OPTIONS') {\n this.handleCorsPreflightRequest(res, origin);\n return;\n }\n if (origin) {\n this.addCorsHeaders(res, origin);\n }\n this.handleInternalApi(req, res);\n return;\n }\n\n // 2. API Server Routing (/v1 or /api) - API Server handles its own CORS\n if ((url.startsWith('/v1/') || url.startsWith('/api/')) && this.targets.api) {\n this.proxy.web(req, res, { target: this.targets.api });\n return;\n }\n\n // 3. CSS Routing (Default) - CSS handles its own CORS\n if (this.targets.css) {\n this.proxy.web(req, res, { target: this.targets.css });\n } else {\n res.writeHead(503);\n res.end('CSS Service Not Available');\n }\n }\n\n private handleCorsPreflightRequest(\n res: http.ServerResponse,\n origin: string | undefined\n ): void {\n this.addCorsHeaders(res, origin);\n res.writeHead(204);\n res.end();\n }\n\n /**\n * Add CORS headers matching CSS CorsHandler configuration\n */\n private addCorsHeaders(res: http.ServerResponse, origin: string | undefined): void {\n res.setHeader('Access-Control-Allow-Origin', origin || '*');\n res.setHeader('Access-Control-Allow-Credentials', String(CORS_CONFIG.credentials));\n res.setHeader('Access-Control-Allow-Methods', CORS_CONFIG.methods.join(', '));\n res.setHeader('Access-Control-Allow-Headers', CORS_CONFIG.allowedHeaders.join(', '));\n res.setHeader('Access-Control-Expose-Headers', CORS_CONFIG.exposedHeaders.join(', '));\n }\n\n private handleInternalApi(req: http.IncomingMessage, res: http.ServerResponse): void {\n if (req.url === '/_gateway/status') {\n const status = this.supervisor.getAllStatus();\n res.writeHead(200, { 'Content-Type': 'application/json' });\n res.end(JSON.stringify(status));\n return;\n }\n\n res.writeHead(404);\n res.end('Not Found');\n }\n}\n", "import portfinder from 'portfinder';\n\n/**\n * Find the next available port starting from basePort\n */\nexport async function getFreePort(basePort: number): Promise<number> {\n portfinder.basePort = basePort;\n return portfinder.getPortPromise();\n}\n", "#!/usr/bin/env node\nimport { Supervisor } from './supervisor';\nimport { GatewayProxy } from './gateway/proxy';\nimport { getFreePort } from './gateway/port-finder';\nimport { LocalTunnelProvider } from './tunnel/LocalTunnelProvider';\nimport { setGlobalLoggerFactory, getLoggerFor } from 'global-logger-factory';\nimport { ConfigurableLoggerFactory } from './logging/ConfigurableLoggerFactory';\nimport yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport path from 'path';\nimport fs from 'fs';\n\n// Placeholder for late initialization\nlet logger = getLoggerFor('Main');\n\n// Load .env file manually\nfunction loadEnvFile(envPath: string): void {\n if (!fs.existsSync(envPath)) {\n logger.warn(`Env file not found: ${envPath}`);\n return;\n }\n const content = fs.readFileSync(envPath, 'utf-8');\n for (const line of content.split('\\n')) {\n const trimmed = line.trim();\n if (!trimmed || trimmed.startsWith('#')) continue;\n const eqIndex = trimmed.indexOf('=');\n if (eqIndex === -1) continue;\n const key = trimmed.slice(0, eqIndex).trim();\n let value = trimmed.slice(eqIndex + 1).trim();\n // Remove quotes\n if ((value.startsWith('\"') && value.endsWith('\"')) ||\n (value.startsWith(\"'\") && value.endsWith(\"'\"))) {\n value = value.slice(1, -1);\n }\n if (!process.env[key]) {\n process.env[key] = value;\n }\n }\n}\n\nasync function main() {\n const argv = await yargs(hideBin(process.argv))\n .option('mode', { alias: 'm', type: 'string', choices: ['local', 'cloud'], description: 'Run mode' })\n .option('config', { alias: 'c', type: 'string', description: 'Path to config file (overrides --mode)' })\n .option('env', { alias: 'e', type: 'string', description: 'Path to .env file' })\n .option('port', { alias: 'p', type: 'number', description: 'Gateway port', default: 3000 })\n .option('host', { type: 'string', description: 'Gateway host', default: 'localhost' })\n .help()\n .parse();\n\n // Load env file if specified\n if (argv.env) {\n loadEnvFile(argv.env);\n }\n\n // \u521D\u59CB\u5316\u5168\u5C40\u7EDF\u4E00\u65E5\u5FD7\u5DE5\u5382\n const loggerFactory = new ConfigurableLoggerFactory(process.env.CSS_LOGGING_LEVEL || 'info', {\n fileName: './logs/xpod-%DATE%.log',\n showLocation: true\n });\n setGlobalLoggerFactory(loggerFactory);\n logger = getLoggerFor('Main');\n\n // Main port: \u547D\u4EE4\u884C\u53C2\u6570 > \u73AF\u5883\u53D8\u91CF > \u9ED8\u8BA4\u503C 3000\n const mainPort = argv.port !== 3000 \n ? argv.port as number \n : parseInt(process.env.XPOD_PORT ?? process.env.PORT ?? '3000', 10);\n\n // Determine config path: --config > --mode > default\n let configPath: string;\n if (argv.config) {\n configPath = argv.config;\n } else if (argv.mode) {\n configPath = `config/${argv.mode}.json`;\n } else {\n configPath = 'config/local.json';\n }\n \n // 1. Determine Ports with auto-discovery\n // Ensure CSS port search doesn't start exactly on the Main port\n const cssStartPort = (mainPort === 3000 ? 3002 : 3000);\n const cssPort = await getFreePort(cssStartPort);\n\n // API port starts after CSS port to avoid collision\n const apiStartPort = cssPort + 1;\n const apiPort = await getFreePort(apiStartPort);\n \n // 2. Determine Base URL (\u73AF\u5883\u53D8\u91CF\u4F18\u5148\uFF0C\u5426\u5219\u7528\u672C\u5730\u5730\u5740)\n const baseUrl = process.env.CSS_BASE_URL || `http://${argv.host}:${mainPort}/`;\n\n logger.info('Orchestration Plan:');\n logger.info(` - Main Entry: ${baseUrl} (${argv.host}:${mainPort})`);\n logger.info(` - CSS (internal): http://localhost:${cssPort}`);\n logger.info(` - API (internal): http://localhost:${apiPort}`);\n\n const supervisor = new Supervisor();\n\n // Optimized CSS Binary Path\n // Directly call the binary to avoid npx overhead and network risks\n const cssBinary = path.resolve('node_modules/@solid/community-server/bin/server.js');\n\n // Register CSS (Solid Server)\n supervisor.register({\n name: 'css',\n command: 'node', // Direct node execution\n args: [\n cssBinary, // Path to bin/server.js\n '-c', configPath,\n '-m', '.',\n '-p', cssPort.toString(),\n '-b', baseUrl,\n ],\n env: {\n ...process.env,\n CSS_PORT: cssPort.toString(),\n CSS_BASE_URL: baseUrl,\n },\n });\n\n // Register API Server\n supervisor.register({\n name: 'api',\n command: 'node',\n args: ['dist/api/main.js'],\n env: {\n ...process.env,\n API_PORT: apiPort.toString(),\n XPOD_MAIN_PORT: mainPort.toString(),\n CSS_INTERNAL_URL: `http://localhost:${cssPort}`,\n },\n });\n\n // Start Gateway Proxy\n const proxy = new GatewayProxy(mainPort, supervisor);\n \n proxy.setTargets({\n css: `http://localhost:${cssPort}`,\n api: `http://localhost:${apiPort}`,\n });\n \n // Start processes\n await supervisor.startAll();\n proxy.start();\n\n // Graceful shutdown\n const shutdown = async (signal: string): Promise<void> => {\n logger.info(`Received ${signal}, shutting down...`);\n \n // Stop supervisor (CSS + API)\n await supervisor.stopAll();\n process.exit(0);\n };\n\n process.on('SIGTERM', () => shutdown('SIGTERM'));\n process.on('SIGINT', () => shutdown('SIGINT'));\n}\n\nmain().catch((error) => {\n logger.error(`Failed to start: ${error}`);\n process.exit(1);\n});", "import { createLogger, format, transports } from 'winston';\nimport type { Format } from 'logform';\nimport DailyRotateFile from 'winston-daily-rotate-file';\nimport type * as Transport from 'winston-transport';\nimport type { TransformableInfo } from 'logform';\nimport type { Logger, LoggerFactory } from 'global-logger-factory';\nimport { WinstonLogger } from 'global-logger-factory';\nimport { logContext } from './LogContext';\n\n// Custom metadata type to replace the old LogMetadata from CSS\ninterface LogMetadata {\n isPrimary?: boolean;\n pid?: number;\n}\n\n\ninterface ConfigurableLoggerOptions {\n fileName?: string;\n maxSize?: string;\n maxFiles?: string;\n format?: string;\n showLocation?: boolean;\n}\n\nexport class ConfigurableLoggerFactory implements LoggerFactory {\n private readonly level: string;\n private readonly fileName: string;\n private readonly maxSize: string;\n private readonly maxFiles: string;\n private readonly showLocation: boolean;\n private readonly fileTransport: DailyRotateFile;\n\n public constructor(level: string, options: ConfigurableLoggerOptions = {}) {\n this.level = level;\n this.fileName = options.fileName || './logs/application-%DATE%.log';\n this.maxSize = options.maxSize || '10m';\n this.maxFiles = options.maxFiles || '14d';\n this.showLocation = options.showLocation ?? false;\n this.fileTransport = new DailyRotateFile({\n filename: this.fileName,\n datePattern: 'YYYY-MM-DD',\n maxSize: this.maxSize,\n maxFiles: this.maxFiles,\n });\n // Prevent MaxListenersExceededWarning as this transport is shared across all loggers\n this.fileTransport.setMaxListeners(Infinity);\n }\n\n private readonly clusterInfo = (meta: LogMetadata): string => {\n if (meta.isPrimary) {\n return 'Primary';\n }\n // Use process.pid directly since CSS doesn't pass pid in metadata\n return `W-${process.pid}`;\n };\n\n public createLogger(label: string): Logger {\n return new WinstonLogger(createLogger({\n level: this.level,\n format: this.getFormat(label),\n transports: this.createTransports(label),\n }));\n }\n\n protected createTransports(label: string): Transport[] {\n return [\n new transports.Console({\n format: format.combine(\n format.colorize(),\n this.getFormat(label),\n ),\n }),\n this.fileTransport,\n ];\n }\n\n protected getFormat(label: string): Format {\n return format.combine(\n format.label({ label }),\n format.timestamp({\n format: () => {\n // \u4F7F\u7528 sv-SE \u533A\u57DF\u8BBE\u7F6E\u83B7\u5F97\u7C7B\u4F3C ISO \u4F46\u4E3A\u672C\u5730\u65F6\u95F4\u7684\u683C\u5F0F: YYYY-MM-DD HH:mm:ss\n return new Date().toLocaleString('sv-SE', { timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone });\n }\n }),\n format((info) => {\n const store = logContext.getStore();\n if (store?.requestId) {\n info.requestId = store.requestId;\n }\n return info;\n })(),\n format.metadata({ fillExcept: [ 'level', 'timestamp', 'label', 'message', 'requestId' ]}),\n format.printf(\n ({ level: levelInner, message, label: labelInner, timestamp, requestId, metadata: meta }: TransformableInfo): string => {\n const clusterInfo = this.clusterInfo(meta as LogMetadata);\n const requestInfo = requestId ? ` [Req:${requestId}]` : '';\n \n // \u6A21\u5757\u540D\u540E\u7F6E\u4E8E\u65F6\u95F4\u6233\n let displayLabel = labelInner;\n if (this.showLocation && labelInner) {\n const className = (labelInner as string).split('/').pop();\n if (className && className !== 'Object') {\n displayLabel = className;\n }\n }\n \n return `${timestamp}${requestInfo} [${displayLabel}] ${levelInner}: ${message}`;\n },\n ),\n );\n }\n}\n", "import { AsyncLocalStorage } from 'node:async_hooks';\n\nexport interface LogContext {\n requestId: string;\n}\n\nexport const logContext = new AsyncLocalStorage<LogContext>();\n"],
5
+ "mappings": "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",
6
+ "names": ["exports", "logger", "exports", "exports", "logger", "exports", "exports", "exports", "exports", "getLoggerFor", "setGlobalLoggerFactory", "logger", "WinstonLogger", "logger", "exports", "exports", "exports", "name", "kill", "httpProxy", "http", "portfinder", "import_global_logger_factory", "import_global_logger_factory", "DailyRotateFile", "fs", "yargs", "path"]
7
+ }
package/package.json ADDED
@@ -0,0 +1,173 @@
1
+ {
2
+ "name": "@undefineds.co/xpod",
3
+ "version": "0.1.0-local.202602081751",
4
+ "description": "Xpod is an extended Community Solid Server, offering rich-feature, production-level Solid Pod and identity management.",
5
+ "repository": "https://github.com/undefinedsco/xpod",
6
+ "author": "developer@undefineds.co",
7
+ "license": "MIT",
8
+ "private": false,
9
+ "bin": {
10
+ "xpod": "./dist/main.js",
11
+ "xpod-single": "./dist/xpod.single.cjs"
12
+ },
13
+ "files": [
14
+ "dist",
15
+ "config",
16
+ "components",
17
+ "templates",
18
+ "static"
19
+ ],
20
+ "engines": {
21
+ "node": ">=22 <23"
22
+ },
23
+ "main": "./dist/index.js",
24
+ "types": "./dist/index.d.ts",
25
+ "lsd:module": "https://linkedsoftwaredependencies.org/bundles/npm/@undefineds.co/xpod",
26
+ "lsd:components": "dist/components/components.jsonld",
27
+ "lsd:contexts": {
28
+ "https://linkedsoftwaredependencies.org/bundles/npm/@undefineds.co/xpod/^0.0.0/components/context.jsonld": "dist/components/context.jsonld"
29
+ },
30
+ "lsd:importPaths": {
31
+ "https://linkedsoftwaredependencies.org/bundles/npm/@undefineds.co/xpod/^0.0.0/components/": "dist/components/",
32
+ "https://linkedsoftwaredependencies.org/bundles/npm/@undefineds.co/xpod/^0.0.0/config/": "config/",
33
+ "https://linkedsoftwaredependencies.org/bundles/npm/@undefineds.co/xpod/^0.0.0/dist/": "dist/",
34
+ "https://linkedsoftwaredependencies.org/bundles/npm/@undefineds.co/xpod/^0.0.0/static/": "static/",
35
+ "https://linkedsoftwaredependencies.org/bundles/npm/@undefineds.co/xpod/^0.0.0/templates/": "templates/"
36
+ },
37
+ "scripts": {
38
+ "build": "yarn build:ts && yarn build:components && yarn build:ui",
39
+ "build:ts": "tsc",
40
+ "build:components": "componentsjs-generator -s src -c dist/components -r undefineds",
41
+ "build:ui": "cd ui && yarn build",
42
+ "release": "yarn build && npm publish --access public",
43
+ "prepare.": "yarn build",
44
+ "clean": "rm -rf data/*",
45
+ "clean:test": "rm -rf .test-data && rm -f *.sqlite *.sqlite-wal *.sqlite-shm",
46
+ "vanilla": "yarn community-solid-server -c config/main.vanilla.json -f ./data_vanilla -p 3000",
47
+ "start": "yarn ts-node src/main.ts",
48
+ "local": "dotenv -e .env.local -- yarn start -c config/local.json",
49
+ "cloud": "dotenv -e .env.cloud -- yarn start -c config/cloud.json",
50
+ "dev": "./scripts/dev-start.sh",
51
+ "dev:local": "./scripts/dev-start.sh --local",
52
+ "dev:seed": "NODE_ENV=development CSS_SEED_CONFIG=$PWD/config/seed.dev.json dotenv -e .env.local -- yarn start -c config/local.json",
53
+ "dev:cloud": "NODE_ENV=development CSS_SEED_CONFIG=$PWD/config/seed.dev.json dotenv -e .env.cloud -- yarn start -c config/cloud.json",
54
+ "dev:api": "NODE_ENV=development dotenv -e .env.local -- yarn ts-node src/api/main.ts",
55
+ "dev:init": "NODE_ENV=development yarn ts-node scripts/init-dev-credentials.ts",
56
+ "dev:test": "NODE_ENV=development yarn ts-node scripts/test-dev-flow.ts",
57
+ "dev:cluster": "docker-compose -f docker-compose.cluster.yml up --build",
58
+ "dev:cluster:down": "docker-compose -f docker-compose.cluster.yml down",
59
+ "dev:css": "dotenv -e .env.local -- community-solid-server -c config/local.json -m .",
60
+ "watch:css": "nodemon --watch config --watch templates --watch static --watch src --ext json,ejs,html,ts,tsx --exec \"yarn build:ts && yarn build:components && yarn dev:css\"",
61
+ "test": "vitest --run",
62
+ "test:run": "vitest --run",
63
+ "test:terminal": "npx ts-node scripts/test-terminal.ts",
64
+ "test:coverage": "vitest --run --coverage",
65
+ "test:integration": "XPOD_RUN_INTEGRATION_TESTS=true CSS_SEED_CONFIG=$PWD/config/seeds/test.json dotenv -e .env.local -- vitest --run",
66
+ "test:cluster": "XPOD_RUN_CLUSTER_TESTS=true vitest --run tests/integration/MultiNodeCluster.integration.test.ts",
67
+ "test:docker": "yarn test:docker:lite",
68
+ "test:all": "XPOD_RUN_INTEGRATION_TESTS=true vitest --run --coverage",
69
+ "test:quad-vs-quint": "vitest --run tests/storage/quad-vs-quint-comparison.test.ts",
70
+ "test:w3c": "vitest --run tests/storage/w3c-sparql-full.test.ts",
71
+ "test:storage": "vitest --run tests/storage/",
72
+ "dev:cluster:lite": "docker-compose -f docker-compose.standalone.yml up --build",
73
+ "dev:cluster:lite:down": "docker-compose -f docker-compose.standalone.yml down",
74
+ "test:docker:lite": "XPOD_RUN_DOCKER_LITE_TESTS=true vitest --run tests/integration/AiHandler.integration.test.ts tests/integration/ApiServer.integration.test.ts tests/integration/DockerStandalone.integration.test.ts tests/integration/ServerModeRoot.test.ts tests/integration/notification-subscription.test.ts tests/integration/SignalHandler.integration.test.ts tests/integration/FrpTunnel.integration.test.ts tests/integration/DockerCluster.integration.test.ts tests/integration/EdgeClusterFlow.test.ts tests/integration/MultiNodeCluster.integration.test.ts",
75
+ "test:docker:full": "XPOD_RUN_DOCKER_LITE_TESTS=true XPOD_RUN_DOCKER_TESTS=true vitest --run tests/integration/AiHandler.integration.test.ts tests/integration/ApiServer.integration.test.ts tests/integration/DockerStandalone.integration.test.ts tests/integration/ServerModeRoot.test.ts tests/integration/notification-subscription.test.ts tests/integration/SignalHandler.integration.test.ts tests/integration/FrpTunnel.integration.test.ts tests/integration/DockerCluster.integration.test.ts tests/integration/EdgeClusterFlow.test.ts tests/integration/MultiNodeCluster.integration.test.ts",
76
+ "test:docker:all": "yarn test:docker:lite && yarn test:docker:full",
77
+ "test:docker:lite:up": "docker-compose -f docker-compose.standalone.yml up -d --build",
78
+ "test:docker:lite:down": "docker-compose -f docker-compose.standalone.yml down",
79
+ "test:service": "XPOD_RUN_SERVICE_TESTS=true vitest --run tests/service",
80
+ "test:setup": "dotenv -e .env.local -- yarn ts-node scripts/setup-test-credentials.ts",
81
+ "test:setup:docker": "CSS_BASE_URL=${CSS_BASE_URL:-http://localhost:5739} yarn ts-node scripts/setup-test-credentials.ts",
82
+ "build:single": "node scripts/build-single-file.cjs",
83
+ "pack:single": "yarn build:single && npm pack --json",
84
+ "publish:local": "node scripts/publish-local.cjs",
85
+ "publish:local:dry": "XPOD_PUBLISH_DRY_RUN=true node scripts/publish-local.cjs --dry-run"
86
+ },
87
+ "devDependencies": {
88
+ "@playwright/test": "^1.57.0",
89
+ "@types/better-sqlite3": "^7.6.13",
90
+ "@types/http-proxy": "^1.17.17",
91
+ "@types/nat-upnp": "^1.1.5",
92
+ "@types/node": "^22.0.0",
93
+ "@types/pg": "^8.10.2",
94
+ "@types/react": "^18.2.66",
95
+ "@types/react-dom": "^18.2.22",
96
+ "@vitejs/plugin-react": "^4.2.1",
97
+ "@vitest/coverage-v8": "^1.4.0",
98
+ "autoprefixer": "^10.4.17",
99
+ "componentsjs-generator": "^4.3.0",
100
+ "dotenv": "^16.4.5",
101
+ "dotenv-cli": "^7.4.4",
102
+ "drizzle-kit": "^0.31.8",
103
+ "jsdom": "^24.0.0",
104
+ "jsonld": "^8.3.3",
105
+ "memory-level": "^3.1.0",
106
+ "nat-upnp": "^1.1.1",
107
+ "node-pty": "^1.1.0",
108
+ "nodemon": "^3.1.10",
109
+ "postcss": "^8.4.35",
110
+ "rdf-test-suite": "^2.1.3",
111
+ "tailwindcss": "^3.4.3",
112
+ "ts-node": "^10.9.2",
113
+ "typescript": "5.5",
114
+ "vite": "^5.1.6",
115
+ "vitest": "^1.4.0"
116
+ },
117
+ "dependencies": {
118
+ "@ai-sdk/openai": "^3.0.2",
119
+ "@comunica/query-sparql-rdfjs": "^4.0.2",
120
+ "@electric-sql/pglite": "^0.3.14",
121
+ "@inrupt/solid-client-authn-node": "^3.1.0",
122
+ "@solid/community-server": "^8.0.0-alpha.1",
123
+ "abstract-level": "^1.0.4",
124
+ "acme-client": "^5.1.3",
125
+ "ai": "^6.0.6",
126
+ "asynciterator": "^3.9.0",
127
+ "awilix": "^12.0.5",
128
+ "better-sqlite3": "^12.5.0",
129
+ "classic-level": "^1.4.1",
130
+ "clsx": "^2.1.0",
131
+ "drizzle-orm": "^0.30.10",
132
+ "drizzle-solid": "^0.2.5",
133
+ "http-proxy": "^1.18.1",
134
+ "i18next": "^23.10.1",
135
+ "knex": "^3.1.0",
136
+ "level-supports": "^4.0.1",
137
+ "minio": "^8.0.2",
138
+ "pg": "^8.13.1",
139
+ "pg-query-stream": "^4.7.1",
140
+ "pgvector": "^0.2.1",
141
+ "portfinder": "^1.0.38",
142
+ "quadstore": "^15.4.1",
143
+ "quadstore-comunica": "^6.3.1",
144
+ "react": "^18.2.0",
145
+ "react-dom": "^18.2.0",
146
+ "react-i18next": "^13.3.1",
147
+ "react-router-dom": "^6.22.3",
148
+ "sqlite-vec": "^0.1.7-alpha.2",
149
+ "sqlite3": "^5.1.7",
150
+ "tree-kill": "^1.2.2",
151
+ "werift": "^0.22.2",
152
+ "winston": "^3.17.0",
153
+ "winston-daily-rotate-file": "^5.0.0",
154
+ "yargs": "^17.7.2",
155
+ "zod": "^3.25.76"
156
+ },
157
+ "resolutions": {
158
+ "@inrupt/solid-client-authn-browser": "^3.1.1",
159
+ "@inrupt/solid-client-authn-core": "^3.1.1",
160
+ "@comunica/query-sparql-solid": "^4.0.2",
161
+ "@comunica/query-sparql-rdfjs": "^4.0.2",
162
+ "@comunica/query-sparql": "^4.5.0",
163
+ "@comunica/core": "^4.5.0",
164
+ "@comunica/types": "^4.5.0",
165
+ "@comunica/context-entries": "^4.5.0",
166
+ "@comunica/mediator-number": "^4.5.0",
167
+ "@comunica/mediator-all": "^4.5.0",
168
+ "@comunica/mediator-race": "^4.5.0",
169
+ "@comunica/mediator-combine-union": "^4.5.0",
170
+ "@comunica/mediator-combine-pipeline": "^4.5.0",
171
+ "componentsjs": "^6.4.0"
172
+ }
173
+ }
@@ -0,0 +1 @@
1
+ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}input:where([type=text]),input:where(:not([type])),input:where([type=email]),input:where([type=url]),input:where([type=password]),input:where([type=number]),input:where([type=date]),input:where([type=datetime-local]),input:where([type=month]),input:where([type=search]),input:where([type=tel]),input:where([type=time]),input:where([type=week]),select:where([multiple]),textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}input:where([type=text]):focus,input:where(:not([type])):focus,input:where([type=email]):focus,input:where([type=url]):focus,input:where([type=password]):focus,input:where([type=number]):focus,input:where([type=date]):focus,input:where([type=datetime-local]):focus,input:where([type=month]):focus,input:where([type=search]):focus,input:where([type=tel]):focus,input:where([type=time]):focus,input:where([type=week]):focus,select:where([multiple]):focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}select:where([multiple]),select:where([size]:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}input:where([type=checkbox]),input:where([type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}input:where([type=checkbox]){border-radius:0}input:where([type=radio]){border-radius:100%}input:where([type=checkbox]):focus,input:where([type=radio]):focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input:where([type=checkbox]):checked,input:where([type=radio]):checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}input:where([type=checkbox]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media(forced-colors:active){input:where([type=checkbox]):checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=radio]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media(forced-colors:active){input:where([type=radio]):checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=checkbox]):checked:hover,input:where([type=checkbox]):checked:focus,input:where([type=radio]):checked:hover,input:where([type=radio]):checked:focus{border-color:transparent;background-color:currentColor}input:where([type=checkbox]):indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media(forced-colors:active){input:where([type=checkbox]):indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=checkbox]):indeterminate:hover,input:where([type=checkbox]):indeterminate:focus{border-color:transparent;background-color:currentColor}input:where([type=file]){background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}input:where([type=file]):focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}body{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px rgb(250 250 250) inset!important;-webkit-text-fill-color:rgb(24 24 27)!important;caret-color:#18181b!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-3{left:.75rem}.right-1\/4{right:25%}.top-0{top:0}.top-1\/2{top:50%}.-z-10{z-index:-10}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.-ml-2{margin-left:-.5rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[400px\]{height:400px}.h-\[500px\]{height:500px}.h-\[600px\]{height:600px}.max-h-48{max-height:12rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[1000px\]{width:1000px}.w-\[1200px\]{width:1200px}.w-\[600px\]{width:600px}.w-\[800px\]{width:800px}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[360px\]{max-width:360px}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-zinc-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(244 244 245 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-\[\#7C4DFF\]\/30{border-color:#7c4dff4d}.border-\[\#7C4DFF\]\/50{border-color:#7c4dff80}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-emerald-300{--tw-border-opacity: 1;border-color:rgb(110 231 183 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-zinc-100{--tw-border-opacity: 1;border-color:rgb(244 244 245 / var(--tw-border-opacity, 1))}.border-zinc-200{--tw-border-opacity: 1;border-color:rgb(228 228 231 / var(--tw-border-opacity, 1))}.border-zinc-200\/50{border-color:#e4e4e780}.border-zinc-300{--tw-border-opacity: 1;border-color:rgb(212 212 216 / var(--tw-border-opacity, 1))}.bg-\[\#7C4DFF\]{--tw-bg-opacity: 1;background-color:rgb(124 77 255 / var(--tw-bg-opacity, 1))}.bg-\[\#7C4DFF\]\/10{background-color:#7c4dff1a}.bg-\[\#7C4DFF\]\/20{background-color:#7c4dff33}.bg-\[\#7C4DFF\]\/5{background-color:#7c4dff0d}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-zinc-100{--tw-bg-opacity: 1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1))}.bg-zinc-50{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-\[\#7C4DFF\]\/10{--tw-gradient-from: rgb(124 77 255 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(124 77 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#7C4DFF\]\/5{--tw-gradient-to: rgb(124 77 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(124 77 255 / .05) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-zinc-50{--tw-gradient-to: #fafafa var(--tw-gradient-to-position)}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-20{padding-bottom:5rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.pt-2{padding-top:.5rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:JetBrains Mono,monospace}.font-sans{font-family:Inter,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#7C4DFF\]{--tw-text-opacity: 1;color:rgb(124 77 255 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-zinc-400{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.text-zinc-500{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.text-zinc-600{--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}.text-zinc-700{--tw-text-opacity: 1;color:rgb(63 63 70 / var(--tw-text-opacity, 1))}.text-zinc-900{--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[\#7C4DFF\]\/20{--tw-shadow-color: rgb(124 77 255 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-zinc-200\/50{--tw-shadow-color: rgb(228 228 231 / .5);--tw-shadow: var(--tw-shadow-colored)}.blur-\[100px\]{--tw-blur: blur(100px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[120px\]{--tw-blur: blur(120px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[150px\]{--tw-blur: blur(150px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.selection\:bg-\[\#7C4DFF\]\/20 *::-moz-selection{background-color:#7c4dff33}.selection\:bg-\[\#7C4DFF\]\/20 *::selection{background-color:#7c4dff33}.selection\:bg-\[\#7C4DFF\]\/20::-moz-selection{background-color:#7c4dff33}.selection\:bg-\[\#7C4DFF\]\/20::selection{background-color:#7c4dff33}.placeholder\:text-zinc-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.placeholder\:text-zinc-400::placeholder{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.hover\:border-\[\#7C4DFF\]\/50:hover{border-color:#7c4dff80}.hover\:border-zinc-300:hover{--tw-border-opacity: 1;border-color:rgb(212 212 216 / var(--tw-border-opacity, 1))}.hover\:bg-\[\#6B3FE8\]:hover{--tw-bg-opacity: 1;background-color:rgb(107 63 232 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-zinc-100:hover{--tw-bg-opacity: 1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1))}.hover\:bg-zinc-200:hover{--tw-bg-opacity: 1;background-color:rgb(228 228 231 / var(--tw-bg-opacity, 1))}.hover\:bg-zinc-50:hover{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.hover\:text-\[\#6B3FE8\]:hover{--tw-text-opacity: 1;color:rgb(107 63 232 / var(--tw-text-opacity, 1))}.hover\:text-\[\#7C4DFF\]:hover{--tw-text-opacity: 1;color:rgb(124 77 255 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-zinc-700:hover{--tw-text-opacity: 1;color:rgb(63 63 70 / var(--tw-text-opacity, 1))}.hover\:text-zinc-900:hover{--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}.focus\:border-\[\#7C4DFF\]:focus{--tw-border-opacity: 1;border-color:rgb(124 77 255 / var(--tw-border-opacity, 1))}.focus\:border-emerald-500:focus{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-\[\#7C4DFF\]:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(124 77 255 / var(--tw-ring-opacity, 1))}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:text-\[\#7C4DFF\]{--tw-text-opacity: 1;color:rgb(124 77 255 / var(--tw-text-opacity, 1))}@media(min-width:640px){.sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}}@media(min-width:768px){.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:text-7xl{font-size:4.5rem;line-height:1}}@media(min-width:1024px){.lg\:mx-0{margin-left:0;margin-right:0}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:gap-16{gap:4rem}.lg\:p-8{padding:2rem}}@media(min-width:1280px){.xl\:text-3xl{font-size:1.875rem;line-height:2.25rem}}