jishushell 0.6.5 → 0.6.18

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 (998) hide show
  1. package/apps/anythingllm-container.yaml +15 -170
  2. package/apps/browserless-chromium-container.yaml +15 -10
  3. package/apps/filebrowser-container.yaml +14 -9
  4. package/apps/hermes-container.yaml +23 -2
  5. package/apps/jishu-kb-container.yaml +29 -161
  6. package/apps/ollama-binary.yaml +32 -28
  7. package/apps/ollama-cpu-container.yaml +5 -0
  8. package/apps/ollama-with-hollama-binary.yaml +33 -28
  9. package/apps/openclaw-binary.yaml +34 -10
  10. package/apps/openclaw-container.yaml +31 -7
  11. package/apps/openclaw-with-ollama-container.yaml +8 -2
  12. package/apps/openclaw-with-searxng-container.yaml +18 -6
  13. package/apps/searxng-container.yaml +11 -6
  14. package/apps/weknora-container.yaml +21 -21
  15. package/dependencies/jishushell-panel-0.6.18.tgz +0 -0
  16. package/dist/cli/app.js +244 -213
  17. package/dist/cli/app.js.map +1 -1
  18. package/dist/cli/backup.js +15 -12
  19. package/dist/cli/backup.js.map +1 -1
  20. package/dist/cli/core.d.ts +4 -3
  21. package/dist/cli/core.js +392 -227
  22. package/dist/cli/core.js.map +1 -1
  23. package/dist/cli/doctor.d.ts +1 -1
  24. package/dist/cli/doctor.js +17 -10
  25. package/dist/cli/doctor.js.map +1 -1
  26. package/dist/cli/job.js +62 -14
  27. package/dist/cli/job.js.map +1 -1
  28. package/dist/cli/llm.js +80 -11
  29. package/dist/cli/llm.js.map +1 -1
  30. package/dist/cli/managed-list.d.ts +1 -3
  31. package/dist/cli/managed-list.js +18 -16
  32. package/dist/cli/managed-list.js.map +1 -1
  33. package/dist/cli/migrate.d.ts +2 -0
  34. package/dist/cli/migrate.js +160 -0
  35. package/dist/cli/migrate.js.map +1 -0
  36. package/dist/cli.js +1 -0
  37. package/dist/cli.js.map +1 -1
  38. package/dist/config.d.ts +23 -19
  39. package/dist/config.js +60 -49
  40. package/dist/config.js.map +1 -1
  41. package/dist/control.d.ts +6 -6
  42. package/dist/control.js +31 -23
  43. package/dist/control.js.map +1 -1
  44. package/dist/core.d.ts +5 -5
  45. package/dist/core.js +5 -5
  46. package/dist/core.js.map +1 -1
  47. package/dist/install.d.ts +2 -2
  48. package/dist/install.js +18 -18
  49. package/dist/install.js.map +1 -1
  50. package/dist/routes/apps.d.ts +1 -1
  51. package/dist/routes/apps.js +101 -193
  52. package/dist/routes/apps.js.map +1 -1
  53. package/dist/routes/auth.js +1 -1
  54. package/dist/routes/auth.js.map +1 -1
  55. package/dist/routes/backup.js +1 -1
  56. package/dist/routes/backup.js.map +1 -1
  57. package/dist/routes/external-mounts.d.ts +1 -1
  58. package/dist/routes/external-mounts.js +1 -1
  59. package/dist/routes/external-mounts.js.map +1 -1
  60. package/dist/routes/file-mounts.d.ts +4 -3
  61. package/dist/routes/file-mounts.js +51 -30
  62. package/dist/routes/file-mounts.js.map +1 -1
  63. package/dist/routes/files-organize.d.ts +2 -2
  64. package/dist/routes/files-organize.js +5 -5
  65. package/dist/routes/files-organize.js.map +1 -1
  66. package/dist/routes/files.d.ts +1 -1
  67. package/dist/routes/files.js +1 -1
  68. package/dist/routes/files.js.map +1 -1
  69. package/dist/routes/instances.d.ts +10 -4
  70. package/dist/routes/instances.js +323 -541
  71. package/dist/routes/instances.js.map +1 -1
  72. package/dist/routes/integration-apps.d.ts +14 -0
  73. package/dist/routes/integration-apps.js +81 -0
  74. package/dist/routes/integration-apps.js.map +1 -0
  75. package/dist/routes/integrations.d.ts +9 -0
  76. package/dist/routes/integrations.js +12 -0
  77. package/dist/routes/integrations.js.map +1 -0
  78. package/dist/routes/llm-proxy.js +26 -3
  79. package/dist/routes/llm-proxy.js.map +1 -1
  80. package/dist/routes/setup.js +53 -38
  81. package/dist/routes/setup.js.map +1 -1
  82. package/dist/routes/system.js +108 -68
  83. package/dist/routes/system.js.map +1 -1
  84. package/dist/routes/webdav.d.ts +1 -1
  85. package/dist/routes/webdav.js +2 -2
  86. package/dist/routes/webdav.js.map +1 -1
  87. package/dist/server.js +315 -213
  88. package/dist/server.js.map +1 -1
  89. package/dist/services/app-common/app-compiler.js +186 -0
  90. package/dist/services/app-common/app-compiler.js.map +1 -0
  91. package/dist/services/app-common/app-shared.d.ts +15 -0
  92. package/dist/services/app-common/app-shared.js +64 -0
  93. package/dist/services/app-common/app-shared.js.map +1 -0
  94. package/dist/services/app-common/capability-service.d.ts +45 -0
  95. package/dist/services/app-common/capability-service.js +331 -0
  96. package/dist/services/app-common/capability-service.js.map +1 -0
  97. package/dist/services/app-common/catalog-service.d.ts +59 -0
  98. package/dist/services/app-common/catalog-service.js +308 -0
  99. package/dist/services/app-common/catalog-service.js.map +1 -0
  100. package/dist/services/app-common/create-pipeline.d.ts +26 -0
  101. package/dist/services/app-common/create-pipeline.js +298 -0
  102. package/dist/services/app-common/create-pipeline.js.map +1 -0
  103. package/dist/services/app-common/delete-service.d.ts +5 -0
  104. package/dist/services/app-common/delete-service.js +104 -0
  105. package/dist/services/app-common/delete-service.js.map +1 -0
  106. package/dist/services/app-common/execution-owner.d.ts +23 -0
  107. package/dist/services/app-common/execution-owner.js +124 -0
  108. package/dist/services/app-common/execution-owner.js.map +1 -0
  109. package/dist/services/app-common/execution-service.d.ts +23 -0
  110. package/dist/services/app-common/execution-service.js +105 -0
  111. package/dist/services/app-common/execution-service.js.map +1 -0
  112. package/dist/services/app-common/id-normalizer.d.ts +31 -0
  113. package/dist/services/app-common/id-normalizer.js +83 -0
  114. package/dist/services/app-common/id-normalizer.js.map +1 -0
  115. package/dist/services/app-common/install-store.d.ts +34 -0
  116. package/dist/services/app-common/install-store.js +261 -0
  117. package/dist/services/app-common/install-store.js.map +1 -0
  118. package/dist/services/app-common/instance-store.d.ts +78 -0
  119. package/dist/services/app-common/instance-store.js +495 -0
  120. package/dist/services/app-common/instance-store.js.map +1 -0
  121. package/dist/services/app-common/integration-refs.d.ts +17 -0
  122. package/dist/services/app-common/integration-refs.js +47 -0
  123. package/dist/services/app-common/integration-refs.js.map +1 -0
  124. package/dist/services/app-common/lifecycle-pipeline.d.ts +62 -0
  125. package/dist/services/app-common/lifecycle-pipeline.js +317 -0
  126. package/dist/services/app-common/lifecycle-pipeline.js.map +1 -0
  127. package/dist/services/app-common/lifecycle-scripts.d.ts +38 -0
  128. package/dist/services/app-common/lifecycle-scripts.js +935 -0
  129. package/dist/services/app-common/lifecycle-scripts.js.map +1 -0
  130. package/dist/services/app-common/lifecycle-service.d.ts +68 -0
  131. package/dist/services/app-common/lifecycle-service.js +467 -0
  132. package/dist/services/app-common/lifecycle-service.js.map +1 -0
  133. package/dist/services/app-common/paths.d.ts +29 -0
  134. package/dist/services/app-common/paths.js +34 -0
  135. package/dist/services/app-common/paths.js.map +1 -0
  136. package/dist/services/app-common/platform-transform.d.ts +32 -0
  137. package/dist/services/app-common/platform-transform.js +65 -0
  138. package/dist/services/app-common/platform-transform.js.map +1 -0
  139. package/dist/services/app-common/provide-resolver.d.ts +29 -0
  140. package/dist/services/app-common/provide-resolver.js +129 -0
  141. package/dist/services/app-common/provide-resolver.js.map +1 -0
  142. package/dist/services/app-common/remote-spec.d.ts +14 -0
  143. package/dist/services/app-common/remote-spec.js +58 -0
  144. package/dist/services/app-common/remote-spec.js.map +1 -0
  145. package/dist/services/app-common/runtime-builder.d.ts +1 -0
  146. package/dist/services/app-common/runtime-builder.js +2 -0
  147. package/dist/services/app-common/runtime-builder.js.map +1 -0
  148. package/dist/services/app-common/runtime-facts.d.ts +19 -0
  149. package/dist/services/app-common/runtime-facts.js +126 -0
  150. package/dist/services/app-common/runtime-facts.js.map +1 -0
  151. package/dist/services/app-common/service.d.ts +9 -0
  152. package/dist/services/app-common/service.js +10 -0
  153. package/dist/services/app-common/service.js.map +1 -0
  154. package/dist/services/app-common/spec-materializer.d.ts +9 -0
  155. package/dist/services/app-common/spec-materializer.js +361 -0
  156. package/dist/services/app-common/spec-materializer.js.map +1 -0
  157. package/dist/services/app-common/status-refresh.d.ts +33 -0
  158. package/dist/services/app-common/status-refresh.js +759 -0
  159. package/dist/services/app-common/status-refresh.js.map +1 -0
  160. package/dist/services/app-common/task-service.d.ts +29 -0
  161. package/dist/services/app-common/task-service.js +93 -0
  162. package/dist/services/app-common/task-service.js.map +1 -0
  163. package/dist/services/app-common/terminal-session-manager.js +157 -0
  164. package/dist/services/app-common/terminal-session-manager.js.map +1 -0
  165. package/dist/services/app-modules/browserless/routes.d.ts +9 -0
  166. package/dist/services/app-modules/browserless/routes.js +517 -0
  167. package/dist/services/app-modules/browserless/routes.js.map +1 -0
  168. package/dist/services/app-modules/routes.d.ts +2 -0
  169. package/dist/services/app-modules/routes.js +5 -0
  170. package/dist/services/app-modules/routes.js.map +1 -0
  171. package/dist/services/backup/backup-admin.d.ts +95 -0
  172. package/dist/services/backup/backup-admin.js +246 -0
  173. package/dist/services/backup/backup-admin.js.map +1 -0
  174. package/dist/services/backup/backup-manager.d.ts +264 -0
  175. package/dist/services/backup/backup-manager.js +2318 -0
  176. package/dist/services/backup/backup-manager.js.map +1 -0
  177. package/dist/services/backup/backup-verify.js +240 -0
  178. package/dist/services/backup/backup-verify.js.map +1 -0
  179. package/dist/services/capabilities/browser-policy.d.ts +14 -0
  180. package/dist/services/capabilities/browser-policy.js +141 -0
  181. package/dist/services/capabilities/browser-policy.js.map +1 -0
  182. package/dist/services/capabilities/contract.d.ts +50 -0
  183. package/dist/services/capabilities/contract.js +129 -0
  184. package/dist/services/capabilities/contract.js.map +1 -0
  185. package/dist/services/capabilities/endpoint-validator.d.ts +42 -0
  186. package/dist/services/capabilities/endpoint-validator.js +114 -0
  187. package/dist/services/capabilities/endpoint-validator.js.map +1 -0
  188. package/dist/services/capabilities/health.d.ts +16 -0
  189. package/dist/services/capabilities/health.js +121 -0
  190. package/dist/services/capabilities/health.js.map +1 -0
  191. package/dist/services/capabilities/registry.d.ts +56 -0
  192. package/dist/services/capabilities/registry.js +222 -0
  193. package/dist/services/capabilities/registry.js.map +1 -0
  194. package/dist/services/capabilities/sync.d.ts +7 -0
  195. package/dist/services/capabilities/sync.js +223 -0
  196. package/dist/services/capabilities/sync.js.map +1 -0
  197. package/dist/services/capability-proxy/html-rewriters/browserless.d.ts +1 -0
  198. package/dist/services/capability-proxy/html-rewriters/browserless.js +83 -0
  199. package/dist/services/capability-proxy/html-rewriters/browserless.js.map +1 -0
  200. package/dist/services/capability-proxy/html-rewriters/index.d.ts +12 -0
  201. package/dist/services/capability-proxy/html-rewriters/index.js +25 -0
  202. package/dist/services/capability-proxy/html-rewriters/index.js.map +1 -0
  203. package/dist/services/capability-proxy/html-rewriters/jishukb.d.ts +1 -0
  204. package/dist/services/capability-proxy/html-rewriters/jishukb.js +161 -0
  205. package/dist/services/capability-proxy/html-rewriters/jishukb.js.map +1 -0
  206. package/dist/services/connections/admin.d.ts +80 -0
  207. package/dist/services/connections/admin.js +327 -0
  208. package/dist/services/connections/admin.js.map +1 -0
  209. package/dist/services/connections/apply.d.ts +110 -0
  210. package/dist/services/connections/apply.js +444 -0
  211. package/dist/services/connections/apply.js.map +1 -0
  212. package/dist/services/connections/resolver.d.ts +82 -0
  213. package/dist/services/connections/resolver.js +289 -0
  214. package/dist/services/connections/resolver.js.map +1 -0
  215. package/dist/services/connections/suggestions.d.ts +27 -0
  216. package/dist/services/connections/suggestions.js +124 -0
  217. package/dist/services/connections/suggestions.js.map +1 -0
  218. package/dist/services/connections/transactor.d.ts +39 -0
  219. package/dist/services/connections/transactor.js +307 -0
  220. package/dist/services/connections/transactor.js.map +1 -0
  221. package/dist/services/files/external-mounts.js +187 -0
  222. package/dist/services/files/external-mounts.js.map +1 -0
  223. package/dist/services/files/files-manager.d.ts +265 -0
  224. package/dist/services/files/files-manager.js +1189 -0
  225. package/dist/services/files/files-manager.js.map +1 -0
  226. package/dist/services/files/files-mounts.d.ts +42 -0
  227. package/dist/services/files/files-mounts.js +207 -0
  228. package/dist/services/files/files-mounts.js.map +1 -0
  229. package/dist/services/files/organize/applier.js +218 -0
  230. package/dist/services/files/organize/applier.js.map +1 -0
  231. package/dist/services/files/organize/rules.js +286 -0
  232. package/dist/services/files/organize/rules.js.map +1 -0
  233. package/dist/services/files/organize/scanner.js +366 -0
  234. package/dist/services/files/organize/scanner.js.map +1 -0
  235. package/dist/services/files/organize/store.js +82 -0
  236. package/dist/services/files/organize/store.js.map +1 -0
  237. package/dist/services/files/webdav/server.d.ts +47 -0
  238. package/dist/services/files/webdav/server.js +329 -0
  239. package/dist/services/files/webdav/server.js.map +1 -0
  240. package/dist/services/files/webdav/xml-builder.js.map +1 -0
  241. package/dist/services/instances/admin.d.ts +23 -0
  242. package/dist/services/instances/admin.js +218 -0
  243. package/dist/services/instances/admin.js.map +1 -0
  244. package/dist/services/instances/clone.d.ts +26 -0
  245. package/dist/services/instances/clone.js +78 -0
  246. package/dist/services/instances/clone.js.map +1 -0
  247. package/dist/services/instances/config-admin.d.ts +17 -0
  248. package/dist/services/instances/config-admin.js +181 -0
  249. package/dist/services/instances/config-admin.js.map +1 -0
  250. package/dist/services/instances/manager.d.ts +231 -0
  251. package/dist/services/instances/manager.js +1348 -0
  252. package/dist/services/instances/manager.js.map +1 -0
  253. package/dist/services/instances/passwords.js +173 -0
  254. package/dist/services/instances/passwords.js.map +1 -0
  255. package/dist/services/instances/types.d.ts +21 -0
  256. package/dist/services/instances/types.js +2 -0
  257. package/dist/services/instances/types.js.map +1 -0
  258. package/dist/services/integrations/anythingllm/integration.d.ts +25 -0
  259. package/dist/services/integrations/anythingllm/integration.js +251 -0
  260. package/dist/services/integrations/anythingllm/integration.js.map +1 -0
  261. package/dist/services/integrations/catalog.d.ts +3 -0
  262. package/dist/services/integrations/catalog.js +73 -0
  263. package/dist/services/integrations/catalog.js.map +1 -0
  264. package/dist/services/integrations/custom/integration.d.ts +28 -0
  265. package/dist/services/integrations/custom/integration.js +179 -0
  266. package/dist/services/integrations/custom/integration.js.map +1 -0
  267. package/dist/services/integrations/hermes/integration.d.ts +194 -0
  268. package/dist/services/integrations/hermes/integration.js +1669 -0
  269. package/dist/services/integrations/hermes/integration.js.map +1 -0
  270. package/dist/services/integrations/index.d.ts +40 -0
  271. package/dist/services/integrations/index.js +59 -0
  272. package/dist/services/integrations/index.js.map +1 -0
  273. package/dist/services/integrations/installable/catalog.d.ts +33 -0
  274. package/dist/services/integrations/installable/catalog.js +88 -0
  275. package/dist/services/integrations/installable/catalog.js.map +1 -0
  276. package/dist/services/integrations/installable/index.d.ts +35 -0
  277. package/dist/services/integrations/installable/index.js +170 -0
  278. package/dist/services/integrations/installable/index.js.map +1 -0
  279. package/dist/services/integrations/installable/installers/integration-probes.d.ts +50 -0
  280. package/dist/services/integrations/installable/installers/integration-probes.js +231 -0
  281. package/dist/services/integrations/installable/installers/integration-probes.js.map +1 -0
  282. package/dist/services/integrations/installable/installers/integration.d.ts +30 -0
  283. package/dist/services/integrations/installable/installers/integration.js +177 -0
  284. package/dist/services/integrations/installable/installers/integration.js.map +1 -0
  285. package/dist/services/integrations/installable/installers/registry-probe.js.map +1 -0
  286. package/dist/services/integrations/installable/installers/shell-script.d.ts +46 -0
  287. package/dist/services/integrations/installable/installers/shell-script.js +487 -0
  288. package/dist/services/integrations/installable/installers/shell-script.js.map +1 -0
  289. package/dist/services/integrations/installable/types.d.ts +130 -0
  290. package/dist/services/integrations/installable/types.js +19 -0
  291. package/dist/services/integrations/installable/types.js.map +1 -0
  292. package/dist/services/integrations/jishukb/integration.d.ts +22 -0
  293. package/dist/services/integrations/jishukb/integration.js +189 -0
  294. package/dist/services/integrations/jishukb/integration.js.map +1 -0
  295. package/dist/services/integrations/openclaw/anythingllm-shim.d.ts +46 -0
  296. package/dist/services/integrations/openclaw/anythingllm-shim.js +281 -0
  297. package/dist/services/integrations/openclaw/anythingllm-shim.js.map +1 -0
  298. package/dist/services/integrations/openclaw/drive-shim.js +490 -0
  299. package/dist/services/integrations/openclaw/drive-shim.js.map +1 -0
  300. package/dist/services/integrations/openclaw/integration.d.ts +424 -0
  301. package/dist/services/integrations/openclaw/integration.js +4402 -0
  302. package/dist/services/integrations/openclaw/integration.js.map +1 -0
  303. package/dist/services/integrations/openclaw/jishukb-shim.d.ts +48 -0
  304. package/dist/services/integrations/openclaw/jishukb-shim.js +750 -0
  305. package/dist/services/integrations/openclaw/jishukb-shim.js.map +1 -0
  306. package/dist/services/integrations/openclaw/mcporter-lite.js +276 -0
  307. package/dist/services/integrations/openclaw/mcporter-lite.js.map +1 -0
  308. package/dist/services/integrations/openclaw/mcporter.d.ts +46 -0
  309. package/dist/services/integrations/openclaw/mcporter.js +112 -0
  310. package/dist/services/integrations/openclaw/mcporter.js.map +1 -0
  311. package/dist/services/integrations/openclaw/routes.d.ts +21 -0
  312. package/dist/services/integrations/openclaw/routes.js +1191 -0
  313. package/dist/services/integrations/openclaw/routes.js.map +1 -0
  314. package/dist/services/integrations/registry.d.ts +17 -0
  315. package/dist/services/integrations/registry.js +36 -0
  316. package/dist/services/integrations/registry.js.map +1 -0
  317. package/dist/services/integrations/routes.d.ts +2 -0
  318. package/dist/services/integrations/routes.js +9 -0
  319. package/dist/services/integrations/routes.js.map +1 -0
  320. package/dist/services/integrations/types.d.ts +469 -0
  321. package/dist/services/integrations/types.js +2 -0
  322. package/dist/services/integrations/types.js.map +1 -0
  323. package/dist/services/legacy-migrator/classifier.d.ts +44 -0
  324. package/dist/services/legacy-migrator/classifier.js +309 -0
  325. package/dist/services/legacy-migrator/classifier.js.map +1 -0
  326. package/dist/services/legacy-migrator/executor.d.ts +42 -0
  327. package/dist/services/legacy-migrator/executor.js +637 -0
  328. package/dist/services/legacy-migrator/executor.js.map +1 -0
  329. package/dist/services/legacy-migrator/index.d.ts +31 -0
  330. package/dist/services/legacy-migrator/index.js +34 -0
  331. package/dist/services/legacy-migrator/index.js.map +1 -0
  332. package/dist/services/legacy-migrator/planner.d.ts +8 -0
  333. package/dist/services/legacy-migrator/planner.js +154 -0
  334. package/dist/services/legacy-migrator/planner.js.map +1 -0
  335. package/dist/services/legacy-migrator/provider-settings.d.ts +6 -0
  336. package/dist/services/legacy-migrator/provider-settings.js +72 -0
  337. package/dist/services/legacy-migrator/provider-settings.js.map +1 -0
  338. package/dist/services/legacy-migrator/report.d.ts +9 -0
  339. package/dist/services/legacy-migrator/report.js +99 -0
  340. package/dist/services/legacy-migrator/report.js.map +1 -0
  341. package/dist/services/legacy-migrator/scanner.d.ts +13 -0
  342. package/dist/services/legacy-migrator/scanner.js +157 -0
  343. package/dist/services/legacy-migrator/scanner.js.map +1 -0
  344. package/dist/services/legacy-migrator/types.d.ts +97 -0
  345. package/dist/services/legacy-migrator/types.js +23 -0
  346. package/dist/services/legacy-migrator/types.js.map +1 -0
  347. package/dist/services/llm-proxy/instance-proxy.d.ts +17 -1
  348. package/dist/services/llm-proxy/instance-proxy.js +171 -44
  349. package/dist/services/llm-proxy/instance-proxy.js.map +1 -1
  350. package/dist/services/llm-proxy/probe.js +5 -14
  351. package/dist/services/llm-proxy/probe.js.map +1 -1
  352. package/dist/services/llm-proxy/providers.js +23 -31
  353. package/dist/services/llm-proxy/providers.js.map +1 -1
  354. package/dist/services/llm-proxy/ssrf.d.ts +11 -4
  355. package/dist/services/llm-proxy/ssrf.js +45 -7
  356. package/dist/services/llm-proxy/ssrf.js.map +1 -1
  357. package/dist/services/llm-proxy/validate-key.js +16 -37
  358. package/dist/services/llm-proxy/validate-key.js.map +1 -1
  359. package/dist/services/repair/runtime-repair.d.ts +22 -0
  360. package/dist/services/repair/runtime-repair.js +307 -0
  361. package/dist/services/repair/runtime-repair.js.map +1 -0
  362. package/dist/services/runtime/driver-registry.d.ts +21 -0
  363. package/dist/services/runtime/driver-registry.js +22 -0
  364. package/dist/services/runtime/driver-registry.js.map +1 -0
  365. package/dist/services/runtime/drivers/nomad.d.ts +260 -0
  366. package/dist/services/runtime/drivers/nomad.js +3092 -0
  367. package/dist/services/runtime/drivers/nomad.js.map +1 -0
  368. package/dist/services/runtime/errors.d.ts +3 -3
  369. package/dist/services/runtime/errors.js +3 -3
  370. package/dist/services/runtime/instance.d.ts +14 -16
  371. package/dist/services/runtime/instance.js +93 -123
  372. package/dist/services/runtime/instance.js.map +1 -1
  373. package/dist/services/runtime/job-id.d.ts +1 -1
  374. package/dist/services/runtime/job-id.js +1 -1
  375. package/dist/services/runtime/mcp-shims/firewall.d.ts +2 -2
  376. package/dist/services/runtime/mcp-shims/firewall.js +2 -2
  377. package/dist/services/runtime/mcp-shims/searxng-shim.d.ts +3 -5
  378. package/dist/services/runtime/mcp-shims/searxng-shim.js +3 -5
  379. package/dist/services/runtime/mcp-shims/searxng-shim.js.map +1 -1
  380. package/dist/services/runtime/mcp-shims/write-mcp-entry.d.ts +20 -20
  381. package/dist/services/runtime/mcp-shims/write-mcp-entry.js +16 -16
  382. package/dist/services/runtime/mcp-shims/write-mcp-entry.js.map +1 -1
  383. package/dist/services/runtime/ownership-marker.d.ts +83 -0
  384. package/dist/services/runtime/ownership-marker.js +109 -0
  385. package/dist/services/runtime/ownership-marker.js.map +1 -0
  386. package/dist/services/runtime/types.d.ts +22 -501
  387. package/dist/services/runtime/types.js +0 -12
  388. package/dist/services/runtime/types.js.map +1 -1
  389. package/dist/services/runtime/workload-compiler.d.ts +17 -0
  390. package/dist/services/runtime/workload-compiler.js +525 -0
  391. package/dist/services/runtime/workload-compiler.js.map +1 -0
  392. package/dist/services/runtime/workload-types.d.ts +11 -0
  393. package/dist/services/runtime/workload-types.js +2 -0
  394. package/dist/services/runtime/workload-types.js.map +1 -0
  395. package/dist/services/setup/core-manager.d.ts +50 -0
  396. package/dist/services/setup/core-manager.js +456 -0
  397. package/dist/services/setup/core-manager.js.map +1 -0
  398. package/dist/services/setup/plugin-installer.js +136 -0
  399. package/dist/services/setup/plugin-installer.js.map +1 -0
  400. package/dist/services/setup/setup-manager.d.ts +158 -0
  401. package/dist/services/setup/setup-manager.js +2768 -0
  402. package/dist/services/setup/setup-manager.js.map +1 -0
  403. package/dist/services/system/cli-command.d.ts +5 -0
  404. package/dist/services/system/cli-command.js +18 -0
  405. package/dist/services/system/cli-command.js.map +1 -0
  406. package/dist/services/system/macos-launchd.js +312 -0
  407. package/dist/services/system/macos-launchd.js.map +1 -0
  408. package/dist/services/system/repair-orchestrator.d.ts +71 -0
  409. package/dist/services/system/repair-orchestrator.js +412 -0
  410. package/dist/services/system/repair-orchestrator.js.map +1 -0
  411. package/dist/services/system/system-monitor.js +96 -0
  412. package/dist/services/system/system-monitor.js.map +1 -0
  413. package/dist/services/system/system-ollama-provider.d.ts +14 -0
  414. package/dist/services/system/system-ollama-provider.js +129 -0
  415. package/dist/services/system/system-ollama-provider.js.map +1 -0
  416. package/dist/services/system/system-reconciler.d.ts +59 -0
  417. package/dist/services/system/system-reconciler.js +710 -0
  418. package/dist/services/system/system-reconciler.js.map +1 -0
  419. package/dist/services/system/update-manager.d.ts +43 -0
  420. package/dist/services/system/update-manager.js +315 -0
  421. package/dist/services/system/update-manager.js.map +1 -0
  422. package/dist/services/system/upgrade-finalize.d.ts +80 -0
  423. package/dist/services/system/upgrade-finalize.js +507 -0
  424. package/dist/services/system/upgrade-finalize.js.map +1 -0
  425. package/dist/services/tasks/registry.d.ts +44 -0
  426. package/dist/services/tasks/registry.js +90 -0
  427. package/dist/services/tasks/registry.js.map +1 -0
  428. package/dist/services/telemetry/activation.d.ts +6 -2
  429. package/dist/services/telemetry/activation.js +6 -2
  430. package/dist/services/telemetry/activation.js.map +1 -1
  431. package/dist/services/telemetry/heartbeat.d.ts +6 -2
  432. package/dist/services/telemetry/heartbeat.js +6 -2
  433. package/dist/services/telemetry/heartbeat.js.map +1 -1
  434. package/dist/services/workspaces/builder.d.ts +29 -0
  435. package/dist/services/workspaces/builder.js +186 -0
  436. package/dist/services/workspaces/builder.js.map +1 -0
  437. package/dist/types.d.ts +331 -45
  438. package/dist/utils/instance-lock.d.ts +2 -2
  439. package/dist/utils/instance-lock.js +2 -2
  440. package/install/jishu-install.sh +107 -26
  441. package/install/jishu-uninstall.sh +8 -0
  442. package/install/post-install.sh +162 -185
  443. package/install/post-uninstall.sh +6 -0
  444. package/node_modules/@fastify/static/.github/workflows/ci.yml +1 -1
  445. package/node_modules/@fastify/static/.github/workflows/lock-threads.yml +19 -0
  446. package/node_modules/@fastify/static/LICENSE +1 -3
  447. package/node_modules/@fastify/static/example/server-benchmark.js +39 -0
  448. package/node_modules/@fastify/static/index.js +169 -23
  449. package/node_modules/@fastify/static/lib/dirList.js +20 -6
  450. package/node_modules/@fastify/static/package.json +10 -8
  451. package/node_modules/@fastify/static/test/dir-list.test.js +82 -0
  452. package/node_modules/@fastify/static/test/static.test.js +326 -4
  453. package/node_modules/@fastify/static/types/index.d.ts +0 -4
  454. package/node_modules/@fastify/static/types/index.test-d.ts +1 -1
  455. package/node_modules/content-disposition/README.md +21 -22
  456. package/node_modules/content-disposition/index.js +122 -44
  457. package/node_modules/content-disposition/package.json +16 -20
  458. package/node_modules/glob/README.md +39 -130
  459. package/node_modules/glob/dist/commonjs/glob.d.ts +8 -0
  460. package/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -1
  461. package/node_modules/glob/dist/commonjs/glob.js +2 -1
  462. package/node_modules/glob/dist/commonjs/glob.js.map +1 -1
  463. package/node_modules/glob/dist/commonjs/index.min.js +4 -0
  464. package/node_modules/glob/dist/commonjs/index.min.js.map +7 -0
  465. package/node_modules/glob/dist/commonjs/pattern.d.ts +3 -0
  466. package/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -1
  467. package/node_modules/glob/dist/commonjs/pattern.js +4 -0
  468. package/node_modules/glob/dist/commonjs/pattern.js.map +1 -1
  469. package/node_modules/glob/dist/esm/glob.d.ts +8 -0
  470. package/node_modules/glob/dist/esm/glob.d.ts.map +1 -1
  471. package/node_modules/glob/dist/esm/glob.js +2 -1
  472. package/node_modules/glob/dist/esm/glob.js.map +1 -1
  473. package/node_modules/glob/dist/esm/index.min.js +4 -0
  474. package/node_modules/glob/dist/esm/index.min.js.map +7 -0
  475. package/node_modules/glob/dist/esm/pattern.d.ts +3 -0
  476. package/node_modules/glob/dist/esm/pattern.d.ts.map +1 -1
  477. package/node_modules/glob/dist/esm/pattern.js +4 -0
  478. package/node_modules/glob/dist/esm/pattern.js.map +1 -1
  479. package/node_modules/glob/package.json +38 -37
  480. package/node_modules/jishushell-panel/README.md +4 -4
  481. package/node_modules/jishushell-panel/output/dist/server.js +17 -6
  482. package/node_modules/jishushell-panel/output/dist/server.js.map +1 -1
  483. package/node_modules/jishushell-panel/output/public/assets/ApiKeyField-NKcbHjNz.js +1 -0
  484. package/node_modules/jishushell-panel/output/public/assets/Dashboard-Da1fL38t.js +1 -0
  485. package/node_modules/jishushell-panel/output/public/assets/HermesChatPanel-DZvmYsoh.js +1 -0
  486. package/node_modules/jishushell-panel/output/public/assets/HermesConfigForm-BLUWlKwm.js +4 -0
  487. package/node_modules/jishushell-panel/output/public/assets/InitPassword-BAKsshzk.js +1 -0
  488. package/node_modules/jishushell-panel/output/public/assets/InstanceDetail-Dgyc_TX5.js +14 -0
  489. package/node_modules/jishushell-panel/output/public/assets/Login-DHeOmwI8.js +1 -0
  490. package/node_modules/jishushell-panel/output/public/assets/NewInstance-CIy0cYtp.js +1 -0
  491. package/node_modules/jishushell-panel/output/public/assets/ProviderRecommendations-H0ByEYF0.js +1 -0
  492. package/node_modules/jishushell-panel/output/public/assets/Settings-DAT-UMfP.js +1 -0
  493. package/node_modules/jishushell-panel/output/public/assets/Setup-g3uckFYR.js +1 -0
  494. package/node_modules/jishushell-panel/output/public/assets/WeixinLoginPanel-D-T6BxkQ.js +1 -0
  495. package/node_modules/jishushell-panel/output/public/assets/api-C70Gt678.js +4 -0
  496. package/node_modules/jishushell-panel/output/public/assets/index-DnnqTf7s.css +1 -0
  497. package/node_modules/jishushell-panel/output/public/assets/index-ERt6_ngA.js +23 -0
  498. package/node_modules/jishushell-panel/output/public/assets/registry-DF93EzIb.js +2 -0
  499. package/node_modules/jishushell-panel/output/public/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  500. package/node_modules/jishushell-panel/output/public/assets/setup-task-q21GnI0E.js +1 -0
  501. package/node_modules/jishushell-panel/output/public/assets/usePolling-DeoThIQn.js +1 -0
  502. package/node_modules/jishushell-panel/output/public/assets/vendor-i18n-CS8DFbkQ.js +1 -0
  503. package/node_modules/jishushell-panel/output/public/assets/vendor-react-Cc84NArf.js +8 -0
  504. package/node_modules/jishushell-panel/output/public/index.html +6 -4
  505. package/node_modules/jishushell-panel/package.json +2 -2
  506. package/node_modules/semver/classes/range.js +11 -2
  507. package/node_modules/semver/package.json +2 -2
  508. package/package.json +12 -64
  509. package/scripts/check-app-path-boundaries.mjs +121 -0
  510. package/scripts/check-app-spec.mjs +127 -25
  511. package/scripts/check-colima-launchd.mjs +10 -8
  512. package/scripts/check-integration-isolation.ts +541 -0
  513. package/scripts/check-new-file-tests.mjs +11 -3
  514. package/scripts/check-open-core-boundaries.mjs +60 -10
  515. package/scripts/check-test-layering.sh +1 -1
  516. package/scripts/fixtures/instances/hermes-sample/instance.json +3 -2
  517. package/scripts/fixtures/instances/legacy-openclaw-sample/instance.json +1 -1
  518. package/scripts/local-web-upgrade-test.README +4 -3
  519. package/scripts/local-web-upgrade-test.example.env +2 -2
  520. package/scripts/local-web-upgrade-test.sh +14 -1
  521. package/scripts/pack-gui-and-send-pi.sh +41 -0
  522. package/scripts/perf/instances.js +1 -1
  523. package/scripts/prune-open-core-dist.mjs +89 -2
  524. package/scripts/smoke/hermes-bootstrap.sh +5 -5
  525. package/templates/hermes-entrypoint.sh +19 -29
  526. package/apps/openwebui-container.yaml +0 -97
  527. package/apps/playwright-container.yaml +0 -126
  528. package/dependencies/jishushell-panel-0.6.5.tgz +0 -0
  529. package/dist/crypto-shim.d.ts +0 -1
  530. package/dist/crypto-shim.js +0 -2
  531. package/dist/crypto-shim.js.map +0 -1
  532. package/dist/routes/agent-apps.d.ts +0 -14
  533. package/dist/routes/agent-apps.js +0 -77
  534. package/dist/routes/agent-apps.js.map +0 -1
  535. package/dist/routes/internal.d.ts +0 -2
  536. package/dist/routes/internal.js +0 -55
  537. package/dist/routes/internal.js.map +0 -1
  538. package/dist/routes/openclaw-routes.d.ts +0 -22
  539. package/dist/routes/openclaw-routes.js +0 -1020
  540. package/dist/routes/openclaw-routes.js.map +0 -1
  541. package/dist/routes/runtime.d.ts +0 -15
  542. package/dist/routes/runtime.js +0 -76
  543. package/dist/routes/runtime.js.map +0 -1
  544. package/dist/services/agent-apps/catalog.d.ts +0 -33
  545. package/dist/services/agent-apps/catalog.js +0 -88
  546. package/dist/services/agent-apps/catalog.js.map +0 -1
  547. package/dist/services/agent-apps/index.d.ts +0 -36
  548. package/dist/services/agent-apps/index.js +0 -171
  549. package/dist/services/agent-apps/index.js.map +0 -1
  550. package/dist/services/agent-apps/installers/adapter-probes.d.ts +0 -49
  551. package/dist/services/agent-apps/installers/adapter-probes.js +0 -230
  552. package/dist/services/agent-apps/installers/adapter-probes.js.map +0 -1
  553. package/dist/services/agent-apps/installers/adapter.d.ts +0 -30
  554. package/dist/services/agent-apps/installers/adapter.js +0 -171
  555. package/dist/services/agent-apps/installers/adapter.js.map +0 -1
  556. package/dist/services/agent-apps/installers/registry-probe.js.map +0 -1
  557. package/dist/services/agent-apps/installers/shell-script.d.ts +0 -47
  558. package/dist/services/agent-apps/installers/shell-script.js +0 -488
  559. package/dist/services/agent-apps/installers/shell-script.js.map +0 -1
  560. package/dist/services/agent-apps/types.d.ts +0 -128
  561. package/dist/services/agent-apps/types.js +0 -17
  562. package/dist/services/agent-apps/types.js.map +0 -1
  563. package/dist/services/app/app-compiler.js +0 -185
  564. package/dist/services/app/app-compiler.js.map +0 -1
  565. package/dist/services/app/app-manager.d.ts +0 -184
  566. package/dist/services/app/app-manager.js +0 -2933
  567. package/dist/services/app/app-manager.js.map +0 -1
  568. package/dist/services/app/custom-manager.d.ts +0 -27
  569. package/dist/services/app/custom-manager.js +0 -382
  570. package/dist/services/app/custom-manager.js.map +0 -1
  571. package/dist/services/app/hermes-agent-manager.d.ts +0 -20
  572. package/dist/services/app/hermes-agent-manager.js +0 -299
  573. package/dist/services/app/hermes-agent-manager.js.map +0 -1
  574. package/dist/services/app/id-normalizer.d.ts +0 -27
  575. package/dist/services/app/id-normalizer.js +0 -77
  576. package/dist/services/app/id-normalizer.js.map +0 -1
  577. package/dist/services/app/ollama-manager.d.ts +0 -18
  578. package/dist/services/app/ollama-manager.js +0 -224
  579. package/dist/services/app/ollama-manager.js.map +0 -1
  580. package/dist/services/app/openclaw-manager.d.ts +0 -63
  581. package/dist/services/app/openclaw-manager.js +0 -1215
  582. package/dist/services/app/openclaw-manager.js.map +0 -1
  583. package/dist/services/app/paths.d.ts +0 -27
  584. package/dist/services/app/paths.js +0 -40
  585. package/dist/services/app/paths.js.map +0 -1
  586. package/dist/services/app/platform-transform.d.ts +0 -32
  587. package/dist/services/app/platform-transform.js +0 -65
  588. package/dist/services/app/platform-transform.js.map +0 -1
  589. package/dist/services/app/provide-resolver.d.ts +0 -29
  590. package/dist/services/app/provide-resolver.js +0 -135
  591. package/dist/services/app/provide-resolver.js.map +0 -1
  592. package/dist/services/app/registry.d.ts +0 -17
  593. package/dist/services/app/registry.js +0 -31
  594. package/dist/services/app/registry.js.map +0 -1
  595. package/dist/services/app/remote-spec.d.ts +0 -14
  596. package/dist/services/app/remote-spec.js +0 -58
  597. package/dist/services/app/remote-spec.js.map +0 -1
  598. package/dist/services/app/terminal-session-manager.js +0 -157
  599. package/dist/services/app/terminal-session-manager.js.map +0 -1
  600. package/dist/services/app/types.d.ts +0 -74
  601. package/dist/services/app/types.js +0 -16
  602. package/dist/services/app/types.js.map +0 -1
  603. package/dist/services/app-config-admin.d.ts +0 -17
  604. package/dist/services/app-config-admin.js +0 -177
  605. package/dist/services/app-config-admin.js.map +0 -1
  606. package/dist/services/app-create-from-installed.d.ts +0 -23
  607. package/dist/services/app-create-from-installed.js +0 -75
  608. package/dist/services/app-create-from-installed.js.map +0 -1
  609. package/dist/services/app-passwords.js +0 -173
  610. package/dist/services/app-passwords.js.map +0 -1
  611. package/dist/services/backup-admin.d.ts +0 -101
  612. package/dist/services/backup-admin.js +0 -259
  613. package/dist/services/backup-admin.js.map +0 -1
  614. package/dist/services/backup-manager.d.ts +0 -264
  615. package/dist/services/backup-manager.js +0 -2263
  616. package/dist/services/backup-manager.js.map +0 -1
  617. package/dist/services/backup-verify.js +0 -240
  618. package/dist/services/backup-verify.js.map +0 -1
  619. package/dist/services/capability-endpoint-validator.d.ts +0 -41
  620. package/dist/services/capability-endpoint-validator.js +0 -114
  621. package/dist/services/capability-endpoint-validator.js.map +0 -1
  622. package/dist/services/capability-health.d.ts +0 -16
  623. package/dist/services/capability-health.js +0 -121
  624. package/dist/services/capability-health.js.map +0 -1
  625. package/dist/services/capability-registry.d.ts +0 -29
  626. package/dist/services/capability-registry.js +0 -176
  627. package/dist/services/capability-registry.js.map +0 -1
  628. package/dist/services/capability-sync.d.ts +0 -4
  629. package/dist/services/capability-sync.js +0 -220
  630. package/dist/services/capability-sync.js.map +0 -1
  631. package/dist/services/connection-admin.d.ts +0 -74
  632. package/dist/services/connection-admin.js +0 -287
  633. package/dist/services/connection-admin.js.map +0 -1
  634. package/dist/services/connection-apply.d.ts +0 -91
  635. package/dist/services/connection-apply.js +0 -471
  636. package/dist/services/connection-apply.js.map +0 -1
  637. package/dist/services/connection-resolver.d.ts +0 -65
  638. package/dist/services/connection-resolver.js +0 -281
  639. package/dist/services/connection-resolver.js.map +0 -1
  640. package/dist/services/connection-transactor.d.ts +0 -39
  641. package/dist/services/connection-transactor.js +0 -354
  642. package/dist/services/connection-transactor.js.map +0 -1
  643. package/dist/services/core-manager.d.ts +0 -50
  644. package/dist/services/core-manager.js +0 -411
  645. package/dist/services/core-manager.js.map +0 -1
  646. package/dist/services/external-mounts.js +0 -187
  647. package/dist/services/external-mounts.js.map +0 -1
  648. package/dist/services/files-manager.d.ts +0 -252
  649. package/dist/services/files-manager.js +0 -1156
  650. package/dist/services/files-manager.js.map +0 -1
  651. package/dist/services/files-mounts.d.ts +0 -42
  652. package/dist/services/files-mounts.js +0 -207
  653. package/dist/services/files-mounts.js.map +0 -1
  654. package/dist/services/instance-admin.d.ts +0 -26
  655. package/dist/services/instance-admin.js +0 -218
  656. package/dist/services/instance-admin.js.map +0 -1
  657. package/dist/services/instance-manager.d.ts +0 -192
  658. package/dist/services/instance-manager.js +0 -1289
  659. package/dist/services/instance-manager.js.map +0 -1
  660. package/dist/services/macos-launchd.js +0 -312
  661. package/dist/services/macos-launchd.js.map +0 -1
  662. package/dist/services/nomad-manager.d.ts +0 -307
  663. package/dist/services/nomad-manager.js +0 -3958
  664. package/dist/services/nomad-manager.js.map +0 -1
  665. package/dist/services/organize/applier.js +0 -218
  666. package/dist/services/organize/applier.js.map +0 -1
  667. package/dist/services/organize/rules.js +0 -286
  668. package/dist/services/organize/rules.js.map +0 -1
  669. package/dist/services/organize/scanner.js +0 -366
  670. package/dist/services/organize/scanner.js.map +0 -1
  671. package/dist/services/organize/store.js +0 -82
  672. package/dist/services/organize/store.js.map +0 -1
  673. package/dist/services/plugin-installer.js +0 -128
  674. package/dist/services/plugin-installer.js.map +0 -1
  675. package/dist/services/process-manager.d.ts +0 -25
  676. package/dist/services/process-manager.js +0 -568
  677. package/dist/services/process-manager.js.map +0 -1
  678. package/dist/services/runtime/adapters/custom.d.ts +0 -20
  679. package/dist/services/runtime/adapters/custom.js +0 -188
  680. package/dist/services/runtime/adapters/custom.js.map +0 -1
  681. package/dist/services/runtime/adapters/hermes.d.ts +0 -204
  682. package/dist/services/runtime/adapters/hermes.js +0 -1684
  683. package/dist/services/runtime/adapters/hermes.js.map +0 -1
  684. package/dist/services/runtime/adapters/openclaw-mcporter.d.ts +0 -45
  685. package/dist/services/runtime/adapters/openclaw-mcporter.js +0 -108
  686. package/dist/services/runtime/adapters/openclaw-mcporter.js.map +0 -1
  687. package/dist/services/runtime/adapters/openclaw.d.ts +0 -426
  688. package/dist/services/runtime/adapters/openclaw.js +0 -3975
  689. package/dist/services/runtime/adapters/openclaw.js.map +0 -1
  690. package/dist/services/runtime/index.d.ts +0 -34
  691. package/dist/services/runtime/index.js +0 -51
  692. package/dist/services/runtime/index.js.map +0 -1
  693. package/dist/services/runtime/mcp-shims/anythingllm-shim.d.ts +0 -46
  694. package/dist/services/runtime/mcp-shims/anythingllm-shim.js +0 -281
  695. package/dist/services/runtime/mcp-shims/anythingllm-shim.js.map +0 -1
  696. package/dist/services/runtime/mcp-shims/drive-shim.js +0 -490
  697. package/dist/services/runtime/mcp-shims/drive-shim.js.map +0 -1
  698. package/dist/services/runtime/mcp-shims/jishukb-shim.d.ts +0 -48
  699. package/dist/services/runtime/mcp-shims/jishukb-shim.js +0 -723
  700. package/dist/services/runtime/mcp-shims/jishukb-shim.js.map +0 -1
  701. package/dist/services/runtime/mcp-shims/mcporter-lite.js +0 -276
  702. package/dist/services/runtime/mcp-shims/mcporter-lite.js.map +0 -1
  703. package/dist/services/runtime/migrations.d.ts +0 -23
  704. package/dist/services/runtime/migrations.js +0 -125
  705. package/dist/services/runtime/migrations.js.map +0 -1
  706. package/dist/services/runtime/registry.d.ts +0 -13
  707. package/dist/services/runtime/registry.js +0 -32
  708. package/dist/services/runtime/registry.js.map +0 -1
  709. package/dist/services/runtime-identity.d.ts +0 -13
  710. package/dist/services/runtime-identity.js +0 -166
  711. package/dist/services/runtime-identity.js.map +0 -1
  712. package/dist/services/runtime-repair.d.ts +0 -52
  713. package/dist/services/runtime-repair.js +0 -352
  714. package/dist/services/runtime-repair.js.map +0 -1
  715. package/dist/services/setup-manager.d.ts +0 -158
  716. package/dist/services/setup-manager.js +0 -2740
  717. package/dist/services/setup-manager.js.map +0 -1
  718. package/dist/services/suggestions.d.ts +0 -27
  719. package/dist/services/suggestions.js +0 -133
  720. package/dist/services/suggestions.js.map +0 -1
  721. package/dist/services/system-monitor.js +0 -79
  722. package/dist/services/system-monitor.js.map +0 -1
  723. package/dist/services/system-ollama-provider.d.ts +0 -14
  724. package/dist/services/system-ollama-provider.js +0 -125
  725. package/dist/services/system-ollama-provider.js.map +0 -1
  726. package/dist/services/system-reconciler.d.ts +0 -72
  727. package/dist/services/system-reconciler.js +0 -600
  728. package/dist/services/system-reconciler.js.map +0 -1
  729. package/dist/services/task-registry.d.ts +0 -44
  730. package/dist/services/task-registry.js +0 -76
  731. package/dist/services/task-registry.js.map +0 -1
  732. package/dist/services/types-shim.d.ts +0 -16
  733. package/dist/services/types-shim.js +0 -2
  734. package/dist/services/types-shim.js.map +0 -1
  735. package/dist/services/update-manager.d.ts +0 -47
  736. package/dist/services/update-manager.js +0 -351
  737. package/dist/services/update-manager.js.map +0 -1
  738. package/dist/services/webdav/server.d.ts +0 -24
  739. package/dist/services/webdav/server.js +0 -420
  740. package/dist/services/webdav/server.js.map +0 -1
  741. package/dist/services/webdav/xml-builder.js.map +0 -1
  742. package/dist/services/workspace-builder.d.ts +0 -29
  743. package/dist/services/workspace-builder.js +0 -188
  744. package/dist/services/workspace-builder.js.map +0 -1
  745. package/node_modules/@fastify/static/.github/stale.yml +0 -21
  746. package/node_modules/@isaacs/cliui/LICENSE.md +0 -63
  747. package/node_modules/@isaacs/cliui/README.md +0 -151
  748. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.d.ts +0 -4
  749. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.d.ts.map +0 -1
  750. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.js +0 -16
  751. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.js.map +0 -1
  752. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.d.ts +0 -34
  753. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.d.ts.map +0 -1
  754. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.js +0 -170
  755. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.js.map +0 -1
  756. package/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.d.ts +0 -6
  757. package/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.d.ts.map +0 -1
  758. package/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.js +0 -307
  759. package/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.js.map +0 -1
  760. package/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.d.ts +0 -2
  761. package/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.d.ts.map +0 -1
  762. package/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.js +0 -7
  763. package/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.js.map +0 -1
  764. package/node_modules/@isaacs/cliui/dist/commonjs/index.d.ts +0 -41
  765. package/node_modules/@isaacs/cliui/dist/commonjs/index.d.ts.map +0 -1
  766. package/node_modules/@isaacs/cliui/dist/commonjs/index.js +0 -322
  767. package/node_modules/@isaacs/cliui/dist/commonjs/index.js.map +0 -1
  768. package/node_modules/@isaacs/cliui/dist/commonjs/index.min.js +0 -12
  769. package/node_modules/@isaacs/cliui/dist/commonjs/index.min.js.map +0 -7
  770. package/node_modules/@isaacs/cliui/dist/commonjs/package.json +0 -3
  771. package/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.d.ts +0 -5
  772. package/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.d.ts.map +0 -1
  773. package/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.js +0 -49
  774. package/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.js.map +0 -1
  775. package/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.d.ts +0 -2
  776. package/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.d.ts.map +0 -1
  777. package/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.js +0 -8
  778. package/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.js.map +0 -1
  779. package/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.d.ts +0 -7
  780. package/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.d.ts.map +0 -1
  781. package/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.js +0 -176
  782. package/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.js.map +0 -1
  783. package/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.d.ts +0 -4
  784. package/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.d.ts.map +0 -1
  785. package/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.js +0 -12
  786. package/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.js.map +0 -1
  787. package/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.d.ts +0 -34
  788. package/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.d.ts.map +0 -1
  789. package/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.js +0 -167
  790. package/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.js.map +0 -1
  791. package/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.d.ts +0 -6
  792. package/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.d.ts.map +0 -1
  793. package/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.js +0 -299
  794. package/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.js.map +0 -1
  795. package/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.d.ts +0 -2
  796. package/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.d.ts.map +0 -1
  797. package/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.js +0 -3
  798. package/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.js.map +0 -1
  799. package/node_modules/@isaacs/cliui/dist/esm/index.d.ts +0 -41
  800. package/node_modules/@isaacs/cliui/dist/esm/index.d.ts.map +0 -1
  801. package/node_modules/@isaacs/cliui/dist/esm/index.js +0 -317
  802. package/node_modules/@isaacs/cliui/dist/esm/index.js.map +0 -1
  803. package/node_modules/@isaacs/cliui/dist/esm/index.min.js +0 -12
  804. package/node_modules/@isaacs/cliui/dist/esm/index.min.js.map +0 -7
  805. package/node_modules/@isaacs/cliui/dist/esm/package.json +0 -3
  806. package/node_modules/@isaacs/cliui/dist/esm/string-width/index.d.ts +0 -5
  807. package/node_modules/@isaacs/cliui/dist/esm/string-width/index.d.ts.map +0 -1
  808. package/node_modules/@isaacs/cliui/dist/esm/string-width/index.js +0 -46
  809. package/node_modules/@isaacs/cliui/dist/esm/string-width/index.js.map +0 -1
  810. package/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.d.ts +0 -2
  811. package/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.d.ts.map +0 -1
  812. package/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.js +0 -4
  813. package/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.js.map +0 -1
  814. package/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.d.ts +0 -7
  815. package/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.d.ts.map +0 -1
  816. package/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.js +0 -172
  817. package/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.js.map +0 -1
  818. package/node_modules/@isaacs/cliui/package.json +0 -163
  819. package/node_modules/content-disposition/HISTORY.md +0 -60
  820. package/node_modules/cross-spawn/LICENSE +0 -21
  821. package/node_modules/cross-spawn/README.md +0 -89
  822. package/node_modules/cross-spawn/index.js +0 -39
  823. package/node_modules/cross-spawn/lib/enoent.js +0 -59
  824. package/node_modules/cross-spawn/lib/parse.js +0 -91
  825. package/node_modules/cross-spawn/lib/util/escape.js +0 -47
  826. package/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
  827. package/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
  828. package/node_modules/cross-spawn/package.json +0 -73
  829. package/node_modules/foreground-child/LICENSE +0 -15
  830. package/node_modules/foreground-child/README.md +0 -128
  831. package/node_modules/foreground-child/dist/commonjs/all-signals.d.ts +0 -2
  832. package/node_modules/foreground-child/dist/commonjs/all-signals.d.ts.map +0 -1
  833. package/node_modules/foreground-child/dist/commonjs/all-signals.js +0 -58
  834. package/node_modules/foreground-child/dist/commonjs/all-signals.js.map +0 -1
  835. package/node_modules/foreground-child/dist/commonjs/index.d.ts +0 -58
  836. package/node_modules/foreground-child/dist/commonjs/index.d.ts.map +0 -1
  837. package/node_modules/foreground-child/dist/commonjs/index.js +0 -123
  838. package/node_modules/foreground-child/dist/commonjs/index.js.map +0 -1
  839. package/node_modules/foreground-child/dist/commonjs/package.json +0 -3
  840. package/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts +0 -6
  841. package/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts.map +0 -1
  842. package/node_modules/foreground-child/dist/commonjs/proxy-signals.js +0 -38
  843. package/node_modules/foreground-child/dist/commonjs/proxy-signals.js.map +0 -1
  844. package/node_modules/foreground-child/dist/commonjs/watchdog.d.ts +0 -10
  845. package/node_modules/foreground-child/dist/commonjs/watchdog.d.ts.map +0 -1
  846. package/node_modules/foreground-child/dist/commonjs/watchdog.js +0 -50
  847. package/node_modules/foreground-child/dist/commonjs/watchdog.js.map +0 -1
  848. package/node_modules/foreground-child/dist/esm/all-signals.d.ts +0 -2
  849. package/node_modules/foreground-child/dist/esm/all-signals.d.ts.map +0 -1
  850. package/node_modules/foreground-child/dist/esm/all-signals.js +0 -52
  851. package/node_modules/foreground-child/dist/esm/all-signals.js.map +0 -1
  852. package/node_modules/foreground-child/dist/esm/index.d.ts +0 -58
  853. package/node_modules/foreground-child/dist/esm/index.d.ts.map +0 -1
  854. package/node_modules/foreground-child/dist/esm/index.js +0 -115
  855. package/node_modules/foreground-child/dist/esm/index.js.map +0 -1
  856. package/node_modules/foreground-child/dist/esm/package.json +0 -3
  857. package/node_modules/foreground-child/dist/esm/proxy-signals.d.ts +0 -6
  858. package/node_modules/foreground-child/dist/esm/proxy-signals.d.ts.map +0 -1
  859. package/node_modules/foreground-child/dist/esm/proxy-signals.js +0 -34
  860. package/node_modules/foreground-child/dist/esm/proxy-signals.js.map +0 -1
  861. package/node_modules/foreground-child/dist/esm/watchdog.d.ts +0 -10
  862. package/node_modules/foreground-child/dist/esm/watchdog.d.ts.map +0 -1
  863. package/node_modules/foreground-child/dist/esm/watchdog.js +0 -46
  864. package/node_modules/foreground-child/dist/esm/watchdog.js.map +0 -1
  865. package/node_modules/foreground-child/package.json +0 -106
  866. package/node_modules/glob/dist/esm/bin.d.mts +0 -3
  867. package/node_modules/glob/dist/esm/bin.d.mts.map +0 -1
  868. package/node_modules/glob/dist/esm/bin.mjs +0 -346
  869. package/node_modules/glob/dist/esm/bin.mjs.map +0 -1
  870. package/node_modules/isexe/.npmignore +0 -2
  871. package/node_modules/isexe/LICENSE +0 -15
  872. package/node_modules/isexe/README.md +0 -51
  873. package/node_modules/isexe/index.js +0 -57
  874. package/node_modules/isexe/mode.js +0 -41
  875. package/node_modules/isexe/package.json +0 -31
  876. package/node_modules/isexe/test/basic.js +0 -221
  877. package/node_modules/isexe/windows.js +0 -42
  878. package/node_modules/jackspeak/LICENSE.md +0 -55
  879. package/node_modules/jackspeak/README.md +0 -394
  880. package/node_modules/jackspeak/dist/commonjs/index.d.ts +0 -323
  881. package/node_modules/jackspeak/dist/commonjs/index.d.ts.map +0 -1
  882. package/node_modules/jackspeak/dist/commonjs/index.js +0 -944
  883. package/node_modules/jackspeak/dist/commonjs/index.js.map +0 -1
  884. package/node_modules/jackspeak/dist/commonjs/index.min.js +0 -33
  885. package/node_modules/jackspeak/dist/commonjs/index.min.js.map +0 -7
  886. package/node_modules/jackspeak/dist/commonjs/package.json +0 -3
  887. package/node_modules/jackspeak/dist/esm/index.d.ts +0 -323
  888. package/node_modules/jackspeak/dist/esm/index.d.ts.map +0 -1
  889. package/node_modules/jackspeak/dist/esm/index.js +0 -936
  890. package/node_modules/jackspeak/dist/esm/index.js.map +0 -1
  891. package/node_modules/jackspeak/dist/esm/index.min.js +0 -33
  892. package/node_modules/jackspeak/dist/esm/index.min.js.map +0 -7
  893. package/node_modules/jackspeak/dist/esm/package.json +0 -3
  894. package/node_modules/jackspeak/package.json +0 -115
  895. package/node_modules/jishushell-panel/output/public/assets/ApiKeyField-D1i7zWXR.js +0 -1
  896. package/node_modules/jishushell-panel/output/public/assets/Dashboard-sWIvL43F.js +0 -1
  897. package/node_modules/jishushell-panel/output/public/assets/HermesChatPanel-DQ8RyvQY.js +0 -1
  898. package/node_modules/jishushell-panel/output/public/assets/HermesConfigForm-tIbPP1sB.js +0 -4
  899. package/node_modules/jishushell-panel/output/public/assets/InitPassword-C3Slq3Dd.js +0 -1
  900. package/node_modules/jishushell-panel/output/public/assets/InstanceDetail-7JqY9tq4.js +0 -92
  901. package/node_modules/jishushell-panel/output/public/assets/Login-BXLDJlQN.js +0 -1
  902. package/node_modules/jishushell-panel/output/public/assets/NewInstance-dLc5Xrpx.js +0 -1
  903. package/node_modules/jishushell-panel/output/public/assets/ProviderRecommendations-DIAXxesl.js +0 -1
  904. package/node_modules/jishushell-panel/output/public/assets/Settings-Bd5utbBh.js +0 -1
  905. package/node_modules/jishushell-panel/output/public/assets/Setup-Yn9_20FL.js +0 -1
  906. package/node_modules/jishushell-panel/output/public/assets/WeixinLoginPanel-C21doQTJ.js +0 -9
  907. package/node_modules/jishushell-panel/output/public/assets/index-CCkaIEjn.js +0 -20
  908. package/node_modules/jishushell-panel/output/public/assets/index-D7qxy-Vh.css +0 -1
  909. package/node_modules/jishushell-panel/output/public/assets/registry-B2ZQZXWL.js +0 -2
  910. package/node_modules/jishushell-panel/output/public/assets/usePolling-BFZm4do_.js +0 -1
  911. package/node_modules/jishushell-panel/output/public/assets/vendor-i18n-DqPtOicc.js +0 -9
  912. package/node_modules/jishushell-panel/output/public/assets/vendor-react-DW5juQin.js +0 -59
  913. package/node_modules/package-json-from-dist/LICENSE.md +0 -63
  914. package/node_modules/package-json-from-dist/README.md +0 -110
  915. package/node_modules/package-json-from-dist/dist/commonjs/index.d.ts +0 -89
  916. package/node_modules/package-json-from-dist/dist/commonjs/index.d.ts.map +0 -1
  917. package/node_modules/package-json-from-dist/dist/commonjs/index.js +0 -134
  918. package/node_modules/package-json-from-dist/dist/commonjs/index.js.map +0 -1
  919. package/node_modules/package-json-from-dist/dist/commonjs/package.json +0 -3
  920. package/node_modules/package-json-from-dist/dist/esm/index.d.ts +0 -89
  921. package/node_modules/package-json-from-dist/dist/esm/index.d.ts.map +0 -1
  922. package/node_modules/package-json-from-dist/dist/esm/index.js +0 -129
  923. package/node_modules/package-json-from-dist/dist/esm/index.js.map +0 -1
  924. package/node_modules/package-json-from-dist/dist/esm/package.json +0 -3
  925. package/node_modules/package-json-from-dist/package.json +0 -68
  926. package/node_modules/path-key/index.d.ts +0 -40
  927. package/node_modules/path-key/index.js +0 -16
  928. package/node_modules/path-key/license +0 -9
  929. package/node_modules/path-key/package.json +0 -39
  930. package/node_modules/path-key/readme.md +0 -61
  931. package/node_modules/safe-buffer/LICENSE +0 -21
  932. package/node_modules/safe-buffer/README.md +0 -584
  933. package/node_modules/safe-buffer/index.d.ts +0 -187
  934. package/node_modules/safe-buffer/index.js +0 -65
  935. package/node_modules/safe-buffer/package.json +0 -51
  936. package/node_modules/shebang-command/index.js +0 -19
  937. package/node_modules/shebang-command/license +0 -9
  938. package/node_modules/shebang-command/package.json +0 -34
  939. package/node_modules/shebang-command/readme.md +0 -34
  940. package/node_modules/shebang-regex/index.d.ts +0 -22
  941. package/node_modules/shebang-regex/index.js +0 -2
  942. package/node_modules/shebang-regex/license +0 -9
  943. package/node_modules/shebang-regex/package.json +0 -35
  944. package/node_modules/shebang-regex/readme.md +0 -33
  945. package/node_modules/signal-exit/LICENSE.txt +0 -16
  946. package/node_modules/signal-exit/README.md +0 -74
  947. package/node_modules/signal-exit/dist/cjs/browser.d.ts +0 -12
  948. package/node_modules/signal-exit/dist/cjs/browser.d.ts.map +0 -1
  949. package/node_modules/signal-exit/dist/cjs/browser.js +0 -10
  950. package/node_modules/signal-exit/dist/cjs/browser.js.map +0 -1
  951. package/node_modules/signal-exit/dist/cjs/index.d.ts +0 -48
  952. package/node_modules/signal-exit/dist/cjs/index.d.ts.map +0 -1
  953. package/node_modules/signal-exit/dist/cjs/index.js +0 -279
  954. package/node_modules/signal-exit/dist/cjs/index.js.map +0 -1
  955. package/node_modules/signal-exit/dist/cjs/package.json +0 -3
  956. package/node_modules/signal-exit/dist/cjs/signals.d.ts +0 -29
  957. package/node_modules/signal-exit/dist/cjs/signals.d.ts.map +0 -1
  958. package/node_modules/signal-exit/dist/cjs/signals.js +0 -42
  959. package/node_modules/signal-exit/dist/cjs/signals.js.map +0 -1
  960. package/node_modules/signal-exit/dist/mjs/browser.d.ts +0 -12
  961. package/node_modules/signal-exit/dist/mjs/browser.d.ts.map +0 -1
  962. package/node_modules/signal-exit/dist/mjs/browser.js +0 -4
  963. package/node_modules/signal-exit/dist/mjs/browser.js.map +0 -1
  964. package/node_modules/signal-exit/dist/mjs/index.d.ts +0 -48
  965. package/node_modules/signal-exit/dist/mjs/index.d.ts.map +0 -1
  966. package/node_modules/signal-exit/dist/mjs/index.js +0 -275
  967. package/node_modules/signal-exit/dist/mjs/index.js.map +0 -1
  968. package/node_modules/signal-exit/dist/mjs/package.json +0 -3
  969. package/node_modules/signal-exit/dist/mjs/signals.d.ts +0 -29
  970. package/node_modules/signal-exit/dist/mjs/signals.d.ts.map +0 -1
  971. package/node_modules/signal-exit/dist/mjs/signals.js +0 -39
  972. package/node_modules/signal-exit/dist/mjs/signals.js.map +0 -1
  973. package/node_modules/signal-exit/package.json +0 -106
  974. package/node_modules/which/CHANGELOG.md +0 -166
  975. package/node_modules/which/LICENSE +0 -15
  976. package/node_modules/which/README.md +0 -54
  977. package/node_modules/which/bin/node-which +0 -52
  978. package/node_modules/which/package.json +0 -43
  979. package/node_modules/which/which.js +0 -125
  980. package/scripts/check-adapter-isolation.ts +0 -293
  981. /package/dist/services/{app → app-common}/app-compiler.d.ts +0 -0
  982. /package/dist/services/{app → app-common}/terminal-session-manager.d.ts +0 -0
  983. /package/dist/services/{backup-verify.d.ts → backup/backup-verify.d.ts} +0 -0
  984. /package/dist/services/{external-mounts.d.ts → files/external-mounts.d.ts} +0 -0
  985. /package/dist/services/{organize → files/organize}/applier.d.ts +0 -0
  986. /package/dist/services/{organize → files/organize}/rules.d.ts +0 -0
  987. /package/dist/services/{organize → files/organize}/scanner.d.ts +0 -0
  988. /package/dist/services/{organize → files/organize}/store.d.ts +0 -0
  989. /package/dist/services/{webdav → files/webdav}/xml-builder.d.ts +0 -0
  990. /package/dist/services/{webdav → files/webdav}/xml-builder.js +0 -0
  991. /package/dist/services/{app-passwords.d.ts → instances/passwords.d.ts} +0 -0
  992. /package/dist/services/{agent-apps → integrations/installable}/installers/registry-probe.d.ts +0 -0
  993. /package/dist/services/{agent-apps → integrations/installable}/installers/registry-probe.js +0 -0
  994. /package/dist/services/{runtime/mcp-shims → integrations/openclaw}/drive-shim.d.ts +0 -0
  995. /package/dist/services/{runtime/mcp-shims → integrations/openclaw}/mcporter-lite.d.ts +0 -0
  996. /package/dist/services/{plugin-installer.d.ts → setup/plugin-installer.d.ts} +0 -0
  997. /package/dist/services/{macos-launchd.d.ts → system/macos-launchd.d.ts} +0 -0
  998. /package/dist/services/{system-monitor.d.ts → system/system-monitor.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./vendor-i18n-CS8DFbkQ.js";import{t as r}from"./vendor-react-Cc84NArf.js";import{$ as i,Ct as a,G as o,K as s,Nt as ee,X as c,lt as te,mt as ne,vt as l}from"./api-C70Gt678.js";import{a as re,i as ie}from"./index-ERt6_ngA.js";import{t as ae,u}from"./ApiKeyField-NKcbHjNz.js";import{i as oe}from"./registry-DF93EzIb.js";import{t as se}from"./ProviderRecommendations-H0ByEYF0.js";var d=e(t(),1),f=r();function p(e,t){if(!e)return!1;let n=e.runtimes?.[t];return n?!!n.installed&&!!n.imageReady:t===`openclaw`?!!e.openclaw?.installed&&!!e.runtimeImageReady:!1}function m(e,t){let n=e?.runtimes?.[t];return n&&typeof n.required==`boolean`?n.required:t===`openclaw`}function h(e,t){if(!e)return!1;let n=t.filter(t=>m(e,t.kind));return n.length===0?!0:n.every(t=>p(e,t.kind))}var g=[{id:`check`,label:`环境检测`},{id:`node`,label:`Node.js`},{id:`docker`,label:`Docker`},{id:`nomad`,label:`Nomad`},{id:`openclaw`,label:`OpenClaw`},{id:`provider`,label:`模型配置`},{id:`done`,label:`完成`}];function _({ok:e}){return e?(0,f.jsx)(`span`,{className:`inline-block w-2 h-2 rounded-full bg-emerald-500 shadow-[0_0_6px_rgba(16,185,129,0.7)]`}):(0,f.jsx)(`span`,{className:`inline-block w-2 h-2 rounded-full bg-[var(--border)]`})}function v({dep:e,label:t,required:r,extra:i}){let{t:a}=n(`setup`),o=e.needsUpgrade;return(0,f.jsxs)(`div`,{className:`flex items-center justify-between py-2.5 border-b border-[var(--border)] last:border-0`,children:[(0,f.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[o?(0,f.jsx)(`span`,{className:`inline-block w-2 h-2 rounded-full bg-amber-400 shadow-[0_0_6px_rgba(251,191,36,0.6)]`}):(0,f.jsx)(_,{ok:e.installed}),(0,f.jsx)(`span`,{className:`text-sm text-foreground`,children:t||e.name}),o&&(0,f.jsx)(`span`,{className:`text-xs text-amber-400`,children:a(`versionTooOld`)}),r&&!e.installed&&!o&&(0,f.jsx)(`span`,{className:`text-xs text-red-400`,children:a(`required`)})]}),(0,f.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,(0,f.jsx)(`span`,{className:`text-xs text-muted font-mono`,children:e.installed?e.version||`installed`:`not installed`})]})]})}function y(){return(0,f.jsx)(`span`,{className:`w-3.5 h-3.5 border-2 border-white/30 border-t-white rounded-full animate-spin`})}function b(e){return/失败|error|denied|forbidden|unauthorized/i.test(e)?`error`:/完成|已就绪|已启动|已存在|成功|built|installed/i.test(e)?`success`:/正在|等待|下载|安装|构建|启动|升级|progress|exporting|transferring/i.test(e)?`progress`:`info`}function x(e){switch(e){case`progress`:return{dot:`bg-sky-400 shadow-[0_0_8px_rgba(56,189,248,0.55)]`,text:`text-sky-100`};case`success`:return{dot:`bg-emerald-400 shadow-[0_0_8px_rgba(52,211,153,0.55)]`,text:`text-emerald-100`};case`error`:return{dot:`bg-red-400 shadow-[0_0_8px_rgba(248,113,113,0.55)]`,text:`text-red-200`};default:return{dot:`bg-slate-500 shadow-[0_0_8px_rgba(148,163,184,0.35)]`,text:`text-slate-200/90`}}}function S({onDone:e}){let{runtimes:t}=oe(),{t:r}=n([`setup`,`common`,`instance`]),[m,_]=(0,d.useState)(null),[S,C]=(0,d.useState)(`check`),[w,T]=(0,d.useState)(null),[E,D]=(0,d.useState)([]),[O,k]=(0,d.useState)(``),[A,j]=(0,d.useState)(!1),[M,ce]=(0,d.useState)(``),[N,le]=(0,d.useState)(``),[P,F]=(0,d.useState)(``),[I,L]=(0,d.useState)(!1),[R,z]=(0,d.useState)([]),[B,V]=(0,d.useState)(!1),[H,U]=(0,d.useState)(``),[ue,de]=(0,d.useState)(`idle`),W=(0,d.useRef)(new Set),G=(0,d.useCallback)((e,t)=>{if(W.current.has(e))return;W.current.add(e);let n=t===`openclaw-docker`?r(`setup:dockerImageBuild`):t===`docker`?r(`setup:dockerInstall`):t===`openclaw`?r(`setup:openclawInstall`):t;T(t),q(r(`setup:resumeTask`,{label:n}),`progress`),J(e,n).then(()=>{K(!0)}).catch(e=>{k(e.message||r(`setup:taskFailed`))}).finally(()=>{T(null)})},[]),K=(0,d.useCallback)((e=!1)=>{o().then(t=>{if(_(t),t.runningTasks?.length)for(let e of t.runningTasks)G(e.id,e.name);if(!e&&t.ready){C(`provider`);return}}).catch(()=>{})},[e,G]);(0,d.useEffect)(()=>{K()},[K]),(0,d.useEffect)(()=>{if(S!==`nomad`||!m?.nomad?.installed||m?.nomad?.running)return;let e=setInterval(()=>{K(!0)},3e3);return()=>clearInterval(e)},[S,m?.nomad?.installed,m?.nomad?.running,K]);let q=(e,t=b(e))=>D(n=>[...n,{message:e,tone:t}].slice(-200)),fe=(e,t)=>t.type===`progress`&&typeof t.progress==`number`?`${e}: ${t.message} [${t.progress}%]`:t.type===`done`?`${e}: ${t.message}`:t.type===`error`?r(`setup:taskErrorPrefix`,{label:e,message:t.message}):t.message,J=async(e,t)=>{let n=0,i=0,a=r(`setup:taskCompleted`,{label:t}),o=Date.now()+1800*1e3;for(;Date.now()<o;){try{let r=await s(e);i=0;let o=r.events.slice(n);n=r.events.length;for(let e of o){let n=e.type===`done`?`success`:e.type===`error`?`error`:e.type===`progress`?`progress`:b(e.message);q(fe(t,e),n),e.message&&(a=e.message)}if(r.status===`done`)return a;if(r.status===`error`)throw Error(a)}catch(e){if(i+=1,i>=5)throw Error(e?.message||r(`setup:taskStatusFailed`,{label:t}))}let o=Math.min(1e3+n*200,3e3);await new Promise(e=>setTimeout(e,o))}throw Error(r(`setup:taskTimeout`,{label:t}))},Y=async(e,t,n)=>{T(e),k(``),q(r(`setup:installing`,{label:t}),`progress`);try{let e=await n(),i=e.message||r(`setup:taskStarted`,{label:t});return e?.taskId?i=await J(e.taskId,t):q(`${t}: ${i}`,`success`),K(!0),!0}catch(e){let n=e.message||r(`setup:defaultInstallFailed`);return q(r(`setup:installFailed`,{label:t,error:n}),`error`),k(n),!1}finally{T(null)}},X=async()=>{await Y(`node`,`Node.js`,()=>ee())},pe=async()=>{await Y(`docker`,`Docker`,()=>c(`docker`))},[me,he]=(0,d.useState)(!1),ge=async e=>{let n=t.find(t=>t.kind===e);if(!n)return;n.installHint&&q(r(n.installHint),`info`);let a=await Y(`runtime-${e}`,r(n.installLabel),()=>i(e));e===`openclaw`&&a&&he(!0),K(!0)},_e=async()=>{if(await Y(`nomad`,`Nomad`,()=>c(`nomad`))){q(r(`setup:configuringNomadSystemd`),`progress`),T(`nomad-systemd`);try{await c(`nomad-systemd`),q(r(`setup:nomadServiceStarted`),`success`)}catch{try{await a(`nomad`),q(r(`setup:nomadStarted`),`success`)}catch(e){q(r(`setup:nomadStartFailed`,{error:e.message}),`error`),k(e.message)}}T(null),q(r(`setup:waitingNomad`),`progress`);for(let e=0;e<10;e++){await new Promise(e=>setTimeout(e,2e3));let e=await o();if(e.nomad?.running){_(e),q(r(`setup:nomadReady`),`success`);return}}K(!0)}},Z=!!m?.node?.installed&&!m?.node?.needsUpgrade,Q=async()=>{let e=g.findIndex(e=>e.id===S);if(e>=g.length-1)return;let n=e+1;for(;n<g.length-1;){let e=g[n].id;if(e===`node`&&Z){n++;continue}if(e===`docker`&&m?.docker?.installed&&m?.docker?.running){n++;continue}if(e===`nomad`&&m?.nomad?.installed&&m?.nomad?.running){n++;continue}if(e===`openclaw`&&h(m,t)){n++;continue}break}let i=g[n].id;if(k(``),D([]),i===`done`){C(`done`),j(!0);try{await ne({installNomad:!1,buildDockerImage:!1})}catch(e){k(e.message||r(`setup:configWriteFailed`))}finally{j(!1)}}else C(i)},ve=e=>{if(!m)return!1;switch(e){case`check`:return Z;case`node`:return Z;case`docker`:return m.docker.installed&&m.docker.running;case`nomad`:return m.nomad.installed&&m.nomad.running;case`openclaw`:return h(m,t)||me&&m.openclaw.installed&&t.length===1;case`provider`:return!0;case`done`:return!0;default:return!1}},$=(0,d.useCallback)(e=>{ce(e),F(``),z([]),U(u.find(t=>t.id===e)?.baseUrl||``)},[]),ye=(0,d.useCallback)(async e=>{if(!M)return;let t=u.find(e=>e.id===M);if(!t)return;let n=t.local===!0&&H.trim()?H.trim():t.baseUrl,i=t.authHeader?`x-api-key`:`Authorization`,a=e??N;V(!0),k(``);try{let{models:e}=await te(n,a,i,t.id,t.api);z(e),e.length>0&&F(e[0].id)}catch(e){k(e.message||r(`setup:provider.fetchModelsFailed`))}finally{V(!1)}},[N,H,M,r]),be=async()=>{if(!M)return!1;let e=u.find(e=>e.id===M);if(!e)return!1;let t=e.local===!0,n=t&&H.trim()?H.trim():e.baseUrl;if(t&&!n)return k(r(`setup:provider.baseUrlRequired`,{defaultValue:`Base URL is required`})),!1;let i=R.length>0?R.map(e=>({id:e.id,name:e.name||e.id,contextWindow:128e3})):e.models,a=P||i[0]?.id||``;L(!0),!t&&N.trim()&&ue!==`valid`&&k(r(`common:llm.saveWithoutValidation`));try{return await l({providerId:e.id,baseUrl:n,api:e.api,authHeader:e.authHeader?`x-api-key`:void 0,models:i,selectedModelId:a,apiKey:N||``}),!0}catch(e){return k(e.message||r(`setup:provider.saveFailed`)),!1}finally{L(!1)}};return m?(0,f.jsxs)(`div`,{className:`min-h-screen flex items-center justify-center p-4 bg-background relative overflow-hidden`,children:[(0,f.jsx)(`div`,{className:`grid-bg absolute inset-0 pointer-events-none`}),(0,f.jsx)(`div`,{className:`absolute top-1/3 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[600px] h-[400px] rounded-full bg-[#0066FF]/[0.06] blur-[100px] pointer-events-none`}),(0,f.jsx)(`div`,{className:`absolute left-4 bottom-4 z-20`,children:(0,f.jsx)(re,{className:`bg-card/80 backdrop-blur-sm`})}),(0,f.jsxs)(`div`,{className:`w-full max-w-lg relative z-10`,children:[(0,f.jsxs)(`div`,{className:`text-center mb-8`,children:[(0,f.jsx)(ie,{className:`w-48 h-48 mx-auto mb-4 object-contain`}),(0,f.jsx)(`p`,{className:`text-sm text-muted mt-1`,children:r(`setup:title`)})]}),(0,f.jsxs)(`div`,{className:`bg-card border border-[var(--border)] rounded-xl p-6 backdrop-blur-sm`,children:[S===`check`&&(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`h2`,{className:`text-base font-medium text-foreground mb-1`,children:r(`setup:check.title`)}),(0,f.jsx)(`p`,{className:`text-sm text-muted mb-4`,children:r(`setup:check.desc`)}),(0,f.jsx)(`p`,{className:`text-xs text-muted mb-1.5 font-medium`,children:r(`setup:check.requiredComponents`)}),(0,f.jsxs)(`div`,{className:`bg-card rounded-md border border-[var(--border)] px-4`,children:[(0,f.jsx)(v,{dep:m.node,label:`Node.js`,required:!0,extra:m.node.needsUpgrade?(0,f.jsx)(`button`,{onClick:X,disabled:!!w,className:`text-xs bg-amber-500/20 text-amber-400 border border-amber-500/30 rounded px-2 py-0.5 hover:bg-amber-500/30 disabled:opacity-40 transition-colors duration-200`,children:r(w===`node`?`setup:check.upgrading`:`setup:check.upgrade`)}):void 0}),(0,f.jsx)(v,{dep:m.docker,label:`Docker`,required:!0}),(0,f.jsx)(v,{dep:m.nomad,label:`Nomad`,required:!0}),(0,f.jsx)(v,{dep:m.openclaw,label:`OpenClaw`,required:!0})]})]}),S===`node`&&(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`h2`,{className:`text-base font-medium text-foreground mb-1`,children:r(`setup:node.title`)}),(0,f.jsx)(`p`,{className:`text-sm text-muted mb-4`,children:r(`setup:node.desc`)}),Z?(0,f.jsx)(`div`,{className:`bg-emerald-500/10 border border-emerald-500/20 text-emerald-400 text-sm rounded-md px-3 py-2.5`,children:r(`setup:node.ready`,{version:m.node.version})}):m.hasSudo?(0,f.jsxs)(`div`,{className:`space-y-3`,children:[(0,f.jsx)(`div`,{className:`bg-amber-500/10 border border-amber-500/20 text-amber-400 text-sm rounded-md px-3 py-2.5`,children:r(`setup:node.currentVersion`,{version:m.node.version})}),(0,f.jsx)(`button`,{onClick:X,disabled:!!w,className:`bg-[#0066FF] text-white rounded-md px-4 py-2 text-sm font-medium hover:bg-[#0066FF]/90 disabled:opacity-40 transition-all duration-200`,children:w?(0,f.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,f.jsx)(y,{}),r(`setup:node.upgrading`)]}):r(`setup:node.upgradeBtn`)}),(0,f.jsx)(`p`,{className:`text-xs text-muted`,children:r(`setup:node.sudoRequired`)})]}):(0,f.jsxs)(`div`,{className:`space-y-3`,children:[(0,f.jsx)(`div`,{className:`bg-amber-500/10 border border-amber-500/20 text-amber-400 text-sm rounded-md px-3 py-2.5`,children:r(`setup:node.noSudo`,{version:m.node.version})}),(0,f.jsxs)(`div`,{className:`bg-card border border-[var(--border)] rounded-md p-3`,children:[(0,f.jsx)(`p`,{className:`text-xs text-muted mb-1.5`,children:r(`setup:node.contactAdmin`)}),(0,f.jsx)(`code`,{className:`text-xs text-foreground font-mono block whitespace-pre-wrap`,children:`curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - && sudo apt-get install -y nodejs`})]}),(0,f.jsx)(`button`,{onClick:()=>K(!0),className:`text-xs text-muted hover:text-foreground underline transition-colors duration-200`,children:r(`setup:node.refreshAfterInstall`)})]})]}),S===`docker`&&(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`h2`,{className:`text-base font-medium text-foreground mb-1`,children:r(`setup:docker.title`)}),(0,f.jsx)(`p`,{className:`text-sm text-muted mb-4`,children:r(`setup:docker.desc`)}),m.docker.installed&&m.docker.running?(0,f.jsx)(`div`,{className:`bg-emerald-500/10 border border-emerald-500/20 text-emerald-400 text-sm rounded-md px-3 py-2.5`,children:r(`setup:docker.running`,{version:m.docker.version})}):m.docker.installed&&!m.docker.running?(0,f.jsxs)(`div`,{className:`space-y-3`,children:[(0,f.jsx)(`div`,{className:`bg-amber-500/10 border border-amber-500/20 text-amber-400 text-sm rounded-md px-3 py-2.5`,children:r(`setup:docker.notRunning`)}),(0,f.jsx)(`div`,{className:`bg-card border border-[var(--border)] rounded-md p-3`,children:(0,f.jsx)(`code`,{className:`text-xs text-foreground font-mono block`,children:/Mac|iPhone|iPad/i.test(navigator.userAgent)?`jishushell doctor --fix`:`sudo systemctl start docker`})}),(0,f.jsx)(`button`,{onClick:()=>K(!0),className:`text-xs text-muted hover:text-foreground underline transition-colors duration-200`,children:r(`setup:docker.refreshAfterStart`)})]}):/Mac|iPhone|iPad/i.test(navigator.userAgent)?(0,f.jsxs)(`div`,{className:`space-y-3`,children:[(0,f.jsx)(`p`,{className:`text-xs text-muted`,children:r(`setup:docker.macosColima`)}),(0,f.jsx)(`div`,{className:`bg-card border border-[var(--border)] rounded-md p-3`,children:(0,f.jsx)(`code`,{className:`text-xs text-foreground font-mono block`,children:`jishushell doctor --fix`})}),(0,f.jsx)(`button`,{onClick:()=>K(!0),className:`text-xs text-muted hover:text-foreground underline transition-colors duration-200`,children:r(`setup:docker.refreshAfterInstall`)})]}):m.hasSudo?(0,f.jsxs)(`div`,{className:`space-y-3`,children:[(0,f.jsx)(`button`,{onClick:pe,disabled:!!w,className:`bg-[#0066FF] text-white rounded-md px-4 py-2 text-sm font-medium hover:bg-[#0066FF]/90 disabled:opacity-40 transition-all duration-200`,children:w?(0,f.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,f.jsx)(y,{}),r(`setup:docker.installing`)]}):r(`setup:docker.installBtn`)}),(0,f.jsx)(`p`,{className:`text-xs text-muted`,children:r(`setup:docker.sudoRequired`)})]}):(0,f.jsxs)(`div`,{className:`space-y-3`,children:[(0,f.jsx)(`div`,{className:`bg-amber-500/10 border border-amber-500/20 text-amber-400 text-sm rounded-md px-3 py-2.5`,children:r(`setup:docker.noSudo`)}),(0,f.jsxs)(`div`,{className:`bg-card border border-[var(--border)] rounded-md p-3`,children:[(0,f.jsx)(`p`,{className:`text-xs text-muted mb-1.5`,children:r(`setup:docker.contactAdmin`)}),(0,f.jsx)(`code`,{className:`text-xs text-foreground font-mono block`,children:`curl -fsSL https://get.docker.com | sh`})]}),(0,f.jsx)(`button`,{onClick:()=>K(!0),className:`text-xs text-muted hover:text-foreground underline transition-colors duration-200`,children:r(`setup:docker.refreshAfterInstall`)})]})]}),S===`nomad`&&(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`h2`,{className:`text-base font-medium text-foreground mb-1`,children:r(`setup:nomad.title`)}),(0,f.jsx)(`p`,{className:`text-sm text-muted mb-4`,children:r(`setup:nomad.desc`)}),m.nomad.installed&&m.nomad.running?(0,f.jsx)(`div`,{className:`bg-emerald-500/10 border border-emerald-500/20 text-emerald-400 text-sm rounded-md px-3 py-2.5`,children:r(`setup:nomad.running`,{version:m.nomad.version})}):m.nomad.installed?(0,f.jsx)(`div`,{className:`space-y-3`,children:(0,f.jsxs)(`div`,{className:`flex items-center gap-2 bg-amber-500/10 border border-amber-500/20 text-amber-400 text-sm rounded-md px-3 py-2.5`,children:[(0,f.jsx)(y,{}),(0,f.jsx)(`span`,{children:r(`setup:nomad.starting`)})]})}):(0,f.jsx)(`button`,{onClick:_e,disabled:!!w,className:`bg-[#0066FF] text-white rounded-md px-4 py-2 text-sm font-medium hover:bg-[#0066FF]/90 disabled:opacity-40 transition-all duration-200`,children:w?(0,f.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,f.jsx)(y,{}),r(`setup:nomad.installing`)]}):r(`setup:nomad.installBtn`)})]}),S===`openclaw`&&(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`h2`,{className:`text-base font-medium text-foreground mb-1`,children:`运行时`}),(0,f.jsx)(`p`,{className:`text-sm text-muted mb-4`,children:`安装所有已注册的运行时 (Docker 镜像 / shim)。每次添加新 integration 时,这里会自动出现一行。`}),(0,f.jsx)(`div`,{className:`space-y-4`,children:t.map(e=>{let t=p(m,e.kind),n=w===`runtime-${e.kind}`;return(0,f.jsxs)(`div`,{className:`rounded-md border border-[var(--border)] bg-[var(--card)] p-4`,children:[(0,f.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:e.displayName}),(0,f.jsx)(`div`,{className:`text-xs text-muted`,children:e.description})]}),t?(0,f.jsx)(`span`,{className:`text-xs text-emerald-400 font-mono`,children:`已就绪`}):n?(0,f.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-xs text-amber-400`,children:[(0,f.jsx)(y,{}),`安装中`]}):(0,f.jsx)(`span`,{className:`text-xs text-muted`,children:`未安装`})]}),!t&&!n&&(0,f.jsxs)(`div`,{className:`space-y-2`,children:[e.installHint&&(0,f.jsx)(`p`,{className:`text-xs text-muted`,children:r(e.installHint)}),(0,f.jsxs)(`button`,{onClick:()=>ge(e.kind),disabled:!!w,className:`bg-[#0066FF] text-white rounded-md px-4 py-2 text-sm font-medium hover:bg-[#0066FF]/90 disabled:opacity-40 transition-all duration-200`,children:[`安装 `,e.displayName]})]})]},e.kind)})})]}),S===`done`&&(0,f.jsx)(`div`,{className:`text-center py-4`,children:A?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`div`,{className:`w-12 h-12 mx-auto mb-3 flex items-center justify-center`,children:(0,f.jsx)(`div`,{className:`w-8 h-8 border-2 border-white/10 border-t-[#0066FF] rounded-full animate-spin`})}),(0,f.jsx)(`h2`,{className:`text-base font-medium text-foreground mb-1`,children:r(`setup:done.finalizing`)}),(0,f.jsx)(`p`,{className:`text-sm text-muted`,children:r(`setup:done.finalizingDesc`)})]}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`div`,{className:`w-12 h-12 mx-auto mb-3 rounded-full bg-emerald-500/10 border border-emerald-500/20 flex items-center justify-center`,children:(0,f.jsx)(`svg`,{className:`w-6 h-6 text-emerald-400`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,f.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M5 13l4 4L19 7`})})}),(0,f.jsx)(`h2`,{className:`text-base font-medium text-foreground mb-1`,children:r(`setup:done.complete`)}),(0,f.jsx)(`p`,{className:`text-sm text-muted`,children:r(`setup:done.completeDesc`)})]})}),S===`provider`&&(()=>{let e=u.find(e=>e.id===M),t=[...new Set(u.map(e=>e.group))],n=e?.local===!0,i=R.length>0?R.map(e=>({id:e.id,label:e.name||e.id})):(e?.models||[]).map(e=>({id:e.id,label:`${e.name} (${Math.round(e.contextWindow/1e3)}K)`}));return(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`h2`,{className:`text-base font-medium text-foreground mb-1`,children:r(`setup:provider.title`)}),(0,f.jsx)(`p`,{className:`text-sm text-muted mb-4`,children:r(`setup:provider.desc`)}),(0,f.jsxs)(`div`,{className:`space-y-4`,children:[(0,f.jsx)(se,{title:r(`setup:provider.recommendedTitle`),description:r(`setup:provider.recommendedDescription`),apiKeyHint:r(`setup:provider.apiKeyHint`),selectedProviderId:M,onSelectProvider:$}),(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`label`,{className:`block text-sm font-medium text-muted mb-1.5`,children:r(`setup:provider.label`)}),(0,f.jsxs)(`select`,{value:M,onChange:e=>$(e.target.value),className:`w-full bg-background border border-[var(--border)] rounded-md px-3 py-2 text-sm text-foreground focus:outline-none focus:ring-1 focus:ring-[#0066FF]/60`,children:[(0,f.jsx)(`option`,{value:``,children:r(`setup:provider.placeholder`)}),t.map(e=>(0,f.jsx)(`optgroup`,{label:r(`instance:configForm.providerGroup.${e}`,{defaultValue:e}),children:u.filter(t=>t.group===e).map(e=>(0,f.jsx)(`option`,{value:e.id,children:r(`instance:configForm.providerLabel.${e.id}`,{defaultValue:e.label})},e.id))},e))]})]}),M&&n&&(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`label`,{className:`block text-sm font-medium text-muted mb-1.5`,children:r(`setup:provider.baseUrl`)}),(0,f.jsxs)(`div`,{className:`flex gap-2`,children:[(0,f.jsx)(`input`,{value:H,onChange:e=>{U(e.target.value),z([])},className:`flex-1 bg-[var(--input-bg)] border border-[var(--border)] rounded-md px-3 py-2 text-sm text-foreground font-mono focus:outline-none focus:ring-1 focus:ring-[#0066FF]/60`}),(0,f.jsx)(`button`,{type:`button`,onClick:()=>{ye()},disabled:B,className:`px-3 py-1.5 text-xs border border-[var(--border)] rounded-md hover:bg-[var(--input-bg)] disabled:opacity-40 transition-all whitespace-nowrap`,children:r(B?`setup:provider.fetchingModels`:`setup:provider.fetchModels`)})]})]}),M&&!n&&(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`label`,{className:`block text-sm font-medium text-muted mb-1.5`,children:r(`setup:provider.apiKey`)}),(0,f.jsx)(ae,{value:N,saved:!1,onChange:e=>{le(e),z([])},baseUrl:e?.baseUrl||``,api:e?.api||``,authHeader:e?.authHeader?`x-api-key`:void 0,providerId:M,placeholder:r(`setup:provider.apiKeyPlaceholder`),onModels:e=>{z(e),e.length>0&&F(e[0].id)},onStateChange:de,selectedModelId:P})]}),e&&i.length>0&&(0,f.jsxs)(`div`,{children:[(0,f.jsxs)(`label`,{className:`block text-sm font-medium text-muted mb-1.5`,children:[r(`setup:provider.defaultModel`),R.length>0&&(0,f.jsxs)(`span`,{className:`ml-1.5 text-emerald-400 text-xs`,children:[`(`,R.length,` `,r(`setup:provider.liveModels`),`)`]})]}),(0,f.jsx)(`select`,{value:P||i[0]?.id||``,onChange:e=>F(e.target.value),className:`w-full bg-background border border-[var(--border)] rounded-md px-3 py-2 text-sm text-foreground focus:outline-none focus:ring-1 focus:ring-[#0066FF]/60`,children:i.map(e=>(0,f.jsx)(`option`,{value:e.id,children:e.label},e.id))})]})]})]})})(),E.length>0&&S!==`done`&&(0,f.jsxs)(`div`,{className:`mt-4 rounded-lg border border-[var(--border)] bg-[linear-gradient(180deg,rgba(2,6,23,0.96),rgba(15,23,42,0.92))] p-3 shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] max-h-40 overflow-y-auto`,children:[E.map((e,t)=>{let n=x(e.tone);return(0,f.jsxs)(`div`,{className:`flex items-start gap-2 py-0.5`,children:[(0,f.jsx)(`span`,{className:`mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full ${n.dot}`}),(0,f.jsx)(`div`,{className:`min-w-0 whitespace-pre-wrap break-words text-xs font-mono leading-5 ${n.text}`,children:e.message})]},t)}),(0,f.jsx)(`div`,{className:`pointer-events-none sticky bottom-0 h-4 bg-gradient-to-t from-slate-950/85 to-transparent`})]}),O&&(0,f.jsx)(`div`,{className:`mt-4 bg-red-500/10 border border-red-500/20 text-red-400 text-sm rounded-md px-3 py-2.5`,children:O})]}),(0,f.jsx)(`div`,{className:`flex justify-between mt-6`,children:S===`provider`?(()=>{let e=u.find(e=>e.id===M)?.local===!0,t=M&&(e||N.trim());return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`button`,{onClick:async()=>{await l({skipped:!0}).catch(()=>{}),Q()},className:`bg-[var(--card)] border border-[var(--border)] text-foreground rounded-md px-6 py-2 text-sm font-medium hover:bg-[var(--card-hover)] transition-all duration-200`,children:r(`setup:provider.skip`)}),(0,f.jsx)(`button`,{onClick:async()=>{await be()&&Q()},disabled:!t||I,className:`bg-[#0066FF] text-white rounded-md px-6 py-2 text-sm font-medium hover:bg-[#0066FF]/90 disabled:opacity-40 disabled:cursor-not-allowed transition-all duration-200 shadow-[0_0_20px_rgba(0,102,255,0.3)]`,children:r(I?`setup:provider.saving`:`setup:provider.saveAndContinue`)})]})})():S===`done`?(0,f.jsx)(`button`,{onClick:O?()=>Q():e,disabled:A,className:`w-full bg-[#0066FF] text-white rounded-md py-2.5 text-sm font-medium hover:bg-[#0066FF]/90 disabled:opacity-40 disabled:cursor-not-allowed transition-all duration-200 shadow-[0_0_20px_rgba(0,102,255,0.3)]`,children:r(O?`setup:nav.retry`:`setup:nav.enterPanel`)}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`div`,{}),(0,f.jsx)(`button`,{onClick:Q,disabled:!ve(S)||!!w,className:`bg-[#0066FF] text-white rounded-md px-6 py-2 text-sm font-medium hover:bg-[#0066FF]/90 disabled:opacity-40 disabled:cursor-not-allowed transition-all duration-200 shadow-[0_0_20px_rgba(0,102,255,0.3)] hover:shadow-[0_0_28px_rgba(0,102,255,0.45)]`,children:r(`setup:nav.next`)})]})})]})]}):(0,f.jsx)(`div`,{className:`min-h-screen flex items-center justify-center bg-background`,children:(0,f.jsx)(`div`,{className:`w-5 h-5 border-2 border-[var(--border)] border-t-foreground rounded-full animate-spin`})})}export{S as default};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./vendor-i18n-CS8DFbkQ.js";import{t as r}from"./vendor-react-Cc84NArf.js";import{Dt as i,Y as a,ot as o,st as s,wt as c}from"./api-C70Gt678.js";var l=e(t()),u=Object.defineProperty,d=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,m=(e,t,n)=>t in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,h=(e,t)=>{for(var n in t||={})f.call(t,n)&&m(e,n,t[n]);if(d)for(var n of d(t))p.call(t,n)&&m(e,n,t[n]);return e},g=(e,t)=>{var n={};for(var r in e)f.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&d)for(var r of d(e))t.indexOf(r)<0&&p.call(e,r)&&(n[r]=e[r]);return n},_;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+ +!!t,n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(_||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(_||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(_||={});var v=_,y={L:v.QrCode.Ecc.LOW,M:v.QrCode.Ecc.MEDIUM,Q:v.QrCode.Ecc.QUARTILE,H:v.QrCode.Ecc.HIGH},b=128,x=`L`,S=`#FFFFFF`,C=`#000000`,w=!1,T=1,E=4,D=0,O=.1;function k(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function A(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function j(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*O),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function M(e,t){return t==null?e?E:D:Math.max(Math.floor(t),0)}function N({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=l.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...v.QrSegment.makeSegments(t)),e),[]);return v.QrCode.encodeSegments(r,y[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:u,margin:d,numCells:f,calculatedImageSettings:p}=l.useMemo(()=>{let e=c.getModules(),t=M(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:j(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:d,cells:u,numCells:f,calculatedImageSettings:p}}var P=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),F=l.forwardRef(function(e,t){let n=e,{value:r,size:i=b,level:a=x,bgColor:o=S,fgColor:s=C,includeMargin:c=w,minVersion:u=T,boostLevel:d,marginSize:f,imageSettings:p}=n,m=g(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:_}=m,v=g(m,[`style`]),y=p?.src,E=l.useRef(null),D=l.useRef(null),O=l.useCallback(e=>{E.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[j,M]=l.useState(!1),{margin:F,cells:I,numCells:L,calculatedImageSettings:R}=N({value:r,level:a,minVersion:u,boostLevel:d,includeMargin:c,marginSize:f,imageSettings:p,size:i});l.useEffect(()=>{if(E.current!=null){let e=E.current,t=e.getContext(`2d`);if(!t)return;let n=I,r=D.current,a=R!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&R.excavation!=null&&(n=A(I,R.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/L*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,L,L),t.fillStyle=s,P?t.fill(new Path2D(k(n,F))):I.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+F,n+F,1,1)})}),R&&(t.globalAlpha=R.opacity),a&&t.drawImage(r,R.x+F,R.y+F,R.w,R.h)}}),l.useEffect(()=>{M(!1)},[y]);let z=h({height:i,width:i},_),B=null;return y!=null&&(B=l.createElement(`img`,{src:y,key:y,style:{display:`none`},onLoad:()=>{M(!0)},ref:D,crossOrigin:R?.crossOrigin})),l.createElement(l.Fragment,null,l.createElement(`canvas`,h({style:z,height:i,width:i,ref:O,role:`img`},v)),B)});F.displayName=`QRCodeCanvas`;var I=l.forwardRef(function(e,t){let n=e,{value:r,size:i=b,level:a=x,bgColor:o=S,fgColor:s=C,includeMargin:c=w,minVersion:u=T,boostLevel:d,title:f,marginSize:p,imageSettings:m}=n,_=g(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:v,cells:y,numCells:E,calculatedImageSettings:D}=N({value:r,level:a,minVersion:u,boostLevel:d,includeMargin:c,marginSize:p,imageSettings:m,size:i}),O=y,j=null;m!=null&&D!=null&&(D.excavation!=null&&(O=A(y,D.excavation)),j=l.createElement(`image`,{href:m.src,height:D.h,width:D.w,x:D.x+v,y:D.y+v,preserveAspectRatio:`none`,opacity:D.opacity,crossOrigin:D.crossOrigin}));let M=k(O,v);return l.createElement(`svg`,h({height:i,width:i,viewBox:`0 0 ${E} ${E}`,ref:t,role:`img`},_),!!f&&l.createElement(`title`,null,f),l.createElement(`path`,{fill:o,d:`M0,0 h${E}v${E}H0z`,shapeRendering:`crispEdges`}),l.createElement(`path`,{fill:s,d:M,shapeRendering:`crispEdges`}),j)});I.displayName=`QRCodeSVG`;var L=r();function R({instanceId:e,channelKey:t,existingAppId:r,existingDomain:i,onConfigured:a}){let{t:s}=n([`instance`,`common`]),[u,d]=(0,l.useState)(``),[,f]=(0,l.useState)(``),[p,m]=(0,l.useState)(`idle`),[h,g]=(0,l.useState)(``),[_,v]=(0,l.useState)(``),y=(0,l.useRef)(!1),b=(0,l.useRef)(!1),x=(0,l.useRef)(0),S=async()=>{if(e){b.current=!1,m(`loading`),g(``),d(``);try{let n=null;for(let r=0;r<3;r++){if(b.current)return;try{if(n=await c(e,t),n?.qrcodeUrl)break}catch{r<2&&await new Promise(e=>setTimeout(e,1500))}}if(b.current)return;n?.qrcodeUrl?(d(n.qrcodeUrl),f(n.sessionKey),m(`waiting`),g(s(`configForm.feishu.scanHint`)),C(n.sessionKey)):(m(`error`),g(s(`qr.getFailed`)))}catch{b.current||(m(`error`),g(s(`qr.getFailed`)))}}},C=t=>{if(!e||y.current)return;y.current=!0,x.current=0;let n=async()=>{if(y.current)try{let r=await o(e,t);if(x.current=0,r.connected){y.current=!1,m(`confirmed`),g(r.message||s(`qr.loginSuccess`)),v(r.domain||`feishu`),d(``),a?.();return}if(r.status===`expired`){y.current=!1,m(`error`),g(r.message||s(`qr.expired`));return}setTimeout(n,3e3)}catch{if(!y.current)return;if(x.current+=1,x.current>=6){y.current=!1,m(`error`),g(s(`qr.pollFailed`,{defaultValue:`轮询失败,请刷新后重试`}));return}setTimeout(n,3e3)}};n()};if((0,l.useEffect)(()=>()=>{y.current=!1},[]),p===`confirmed`)return(0,L.jsxs)(`div`,{className:`bg-emerald-500/10 border border-emerald-500/20 rounded-md px-4 py-3 text-sm`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 text-emerald-400`,children:[(0,L.jsx)(`span`,{className:`text-lg`,children:`✓`}),(0,L.jsx)(`span`,{className:`font-medium`,children:h})]}),(0,L.jsx)(`p`,{className:`text-xs text-muted mt-1`,children:s(`configForm.feishu.platform`,{platform:s(_===`lark`?`configForm.feishu.platformLark`:`configForm.feishu.platformFeishu`)})})]});if(p===`idle`||p===`error`)return(0,L.jsxs)(`div`,{className:`bg-[var(--card-hover)] rounded-md px-4 py-3 space-y-3`,children:[r&&(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`p`,{className:`text-xs text-muted mb-1`,children:s(`configForm.feishu.added`)}),(0,L.jsxs)(`div`,{className:`flex items-center gap-2 text-xs`,children:[(0,L.jsx)(`span`,{className:`text-emerald-400`,children:`✓`}),(0,L.jsx)(`code`,{className:`font-mono text-foreground/70`,children:r}),(0,L.jsx)(`span`,{className:`text-muted opacity-60`,children:i===`lark`?`Lark`:s(`configForm.feishu.platformFeishu`)})]})]}),(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`button`,{onClick:S,className:`px-4 py-2 bg-[#3370FF] text-white rounded-md text-xs font-medium hover:bg-[#3370FF]/90 transition-colors`,children:s(`configForm.feishu.addBot`)}),(0,L.jsx)(`p`,{className:`text-xs text-muted mt-2`,children:s(`configForm.feishu.addBotHint`)})]})]});let w=()=>{b.current=!0,y.current=!1,m(`idle`),g(``),d(``),f(``)};return(0,L.jsx)(`div`,{className:`bg-[var(--card-hover)] rounded-md px-4 py-4`,children:(0,L.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[u?(0,L.jsx)(I,{value:u,size:192,className:`rounded-lg`}):(0,L.jsx)(`div`,{className:`w-48 h-48 flex items-center justify-center`,children:(0,L.jsx)(`div`,{className:`w-6 h-6 border-2 border-[#3370FF]/30 border-t-[#3370FF] rounded-full animate-spin`})}),(0,L.jsx)(`div`,{className:`text-sm text-muted`,children:p===`loading`?s(`configForm.feishu.gettingQr`):h}),(0,L.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,L.jsx)(`button`,{onClick:w,className:`px-3 py-1.5 text-xs text-white bg-red-500 rounded-md hover:bg-red-500/90 transition-colors`,children:s(`configForm.feishu.cancel`)}),(0,L.jsx)(`button`,{onClick:()=>{w(),setTimeout(S,100)},className:`px-3 py-1.5 text-xs text-white bg-[#0066FF] rounded-md hover:bg-[#0066FF]/90 transition-colors`,children:s(`configForm.feishu.refresh`)})]})]})})}function z({instanceId:e,onConfigured:t}){let{t:r,i18n:o}=n([`instance`,`common`]),[c,u]=(0,l.useState)(``),[,d]=(0,l.useState)(``),[f,p]=(0,l.useState)(`idle`),[m,h]=(0,l.useState)(``),[g,_]=(0,l.useState)(``),[v,y]=(0,l.useState)([]),b=(0,l.useRef)(!1),x=(0,l.useRef)(!1),S=(0,l.useRef)(0);(0,l.useEffect)(()=>{e&&a(e).then(e=>{e?.accounts?.length&&y(e.accounts)}).catch(()=>{})},[e]);let C=async()=>{if(e){x.current=!1,p(`loading`),h(``),u(``);try{let t=null;for(let n=0;n<3;n++){if(x.current)return;try{if(t=await i(e),t?.qrcodeUrl)break}catch{n<2&&await new Promise(e=>setTimeout(e,1500))}}if(x.current)return;t?.qrcodeUrl?(u(t.qrcodeUrl),d(t.sessionKey),p(`waiting`),h(r(`configForm.weixin.scanHint`)),w(t.sessionKey)):(p(`error`),h(r(`qr.getFailed`)))}catch{x.current||(p(`error`),h(r(`qr.getFailed`)))}}},w=n=>{if(!e||b.current)return;b.current=!0,S.current=0;let i=async()=>{if(b.current)try{let o=await s(e,n);if(S.current=0,o.connected){b.current=!1,p(`confirmed`),h(o.message||r(`qr.loginSuccess`)),_(o.accountId||``),u(``),e&&a(e).then(e=>{e?.accounts&&y(e.accounts)}).catch(()=>{}),t?.();return}if(o.status===`scaned`)p(`scaned`),h(o.message||r(`qr.scaned`));else if(o.status===`refreshed`&&o.qrcodeUrl)u(o.qrcodeUrl),p(`waiting`),h(r(`qr.refreshed`));else if(o.status===`expired`){b.current=!1,p(`error`),h(o.message||r(`qr.expired`));return}setTimeout(i,2e3)}catch{if(!b.current)return;if(S.current+=1,S.current>=6){b.current=!1,p(`error`),h(r(`qr.pollFailed`,{defaultValue:`轮询失败,请刷新后重试`}));return}setTimeout(i,3e3)}};i()};if((0,l.useEffect)(()=>()=>{b.current=!1},[]),f===`confirmed`)return(0,L.jsxs)(`div`,{className:`bg-emerald-500/10 border border-emerald-500/20 rounded-md px-4 py-3 text-sm`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 text-emerald-400`,children:[(0,L.jsx)(`span`,{className:`text-lg`,children:`✓`}),(0,L.jsx)(`span`,{className:`font-medium`,children:m})]}),g&&(0,L.jsxs)(`p`,{className:`text-xs text-muted mt-1`,children:[r(`configForm.weixin.accountId`),` `,(0,L.jsx)(`code`,{className:`font-mono`,children:g})]}),(0,L.jsx)(`p`,{className:`text-xs text-muted mt-1`,children:r(`configForm.weixin.restartHint`)}),(0,L.jsx)(`button`,{onClick:C,className:`mt-2 px-3 py-1 text-xs border border-emerald-500/30 rounded text-emerald-400 hover:bg-emerald-500/10 transition-colors`,children:r(`configForm.weixin.addAnother`)})]});if(f===`idle`||f===`error`)return(0,L.jsxs)(`div`,{className:`bg-[var(--card-hover)] rounded-md px-4 py-3 space-y-3`,children:[v.length>0&&(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`p`,{className:`text-xs text-muted mb-1.5`,children:r(`configForm.weixin.added`)}),v.map(e=>(0,L.jsxs)(`div`,{className:`flex items-center gap-2 text-xs py-1`,children:[(0,L.jsx)(`span`,{className:`text-emerald-400`,children:`✓`}),(0,L.jsx)(`code`,{className:`font-mono text-foreground/70`,children:e.accountId}),e.savedAt&&(0,L.jsx)(`span`,{className:`text-muted opacity-60`,children:new Date(e.savedAt).toLocaleDateString(o.language===`zh`?`zh-CN`:`en-US`)})]},e.accountId))]}),(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`button`,{onClick:C,className:`px-4 py-2 bg-[#07C160] text-white rounded-md text-xs font-medium hover:bg-[#07C160]/90 transition-colors`,children:r(`configForm.weixin.addClawBot`)}),(0,L.jsx)(`p`,{className:`text-xs text-muted mt-2`,children:r(`configForm.weixin.addClawBotHint`,{extra:v.length>0?r(`configForm.weixin.addClawBotHintRestart`):r(`configForm.weixin.addClawBotHintMulti`)})})]})]});let T=()=>{x.current=!0,b.current=!1,p(`idle`),h(``),u(``),d(``)};return(0,L.jsx)(`div`,{className:`bg-[var(--card-hover)] rounded-md px-4 py-4`,children:(0,L.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[c?(0,L.jsx)(I,{value:c,size:192,className:`rounded-lg`}):(0,L.jsx)(`div`,{className:`w-48 h-48 flex items-center justify-center`,children:(0,L.jsx)(`div`,{className:`w-6 h-6 border-2 border-[#07C160]/30 border-t-[#07C160] rounded-full animate-spin`})}),(0,L.jsx)(`div`,{className:`flex items-center gap-2 text-sm`,children:f===`scaned`?(0,L.jsxs)(`span`,{className:`text-[#07C160] font-medium`,children:[`👀 `,m]}):f===`loading`?(0,L.jsx)(`span`,{className:`text-muted`,children:r(`configForm.weixin.gettingQr`)}):(0,L.jsx)(`span`,{className:`text-muted`,children:m})}),(0,L.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,L.jsx)(`button`,{onClick:T,className:`px-3 py-1.5 text-xs text-white bg-red-500 rounded-md hover:bg-red-500/90 transition-colors`,children:r(`configForm.weixin.cancel`)}),(0,L.jsx)(`button`,{onClick:()=>{T(),setTimeout(C,100)},className:`px-3 py-1.5 text-xs text-white bg-[#0066FF] rounded-md hover:bg-[#0066FF]/90 transition-colors`,children:r(`configForm.weixin.refresh`)})]})]})})}export{R as n,I as r,z as t};
@@ -0,0 +1,4 @@
1
+ import{n as e}from"./rolldown-runtime-QTnfLwEv.js";var t=e({addLlmProvider:()=>ke,addMcporterServers:()=>ce,agentChat:()=>L,allowAllBrowserHosts:()=>ae,allowBrowserHost:()=>ie,authChangePassword:()=>x,authInit:()=>y,authLogin:()=>b,authStatus:()=>v,buildCoreUrl:()=>c,checkIntegrationAppUpdates:()=>w,checkSession:()=>_,checkUpdate:()=>he,clearToken:()=>p,confirmImport:()=>Ke,coreCredentialsMode:()=>s,createBackup:()=>Le,createExport:()=>Q,createFromBackup:()=>Ve,deleteBackup:()=>ze,deleteInstance:()=>R,deleteLlmProvider:()=>je,deleteMcporterServer:()=>le,deleteSkill:()=>ue,downloadBackupUrl:()=>Re,downloadExportUrl:()=>Ue,getAppCatalog:()=>D,getAutoBackupConfig:()=>qe,getBackupJob:()=>Ye,getBrowserlessSummary:()=>I,getConfig:()=>z,getConfigMeta:()=>B,getConnectionStatus:()=>$,getControlUiLaunch:()=>F,getDefaultProvider:()=>Te,getInstance:()=>P,getInstanceConnections:()=>Xe,getIntegrationCatalog:()=>S,getLlmModels:()=>Ne,getLogs:()=>de,getMcporterList:()=>se,getPluginStatuses:()=>H,getQuickStatus:()=>oe,getRepairStatus:()=>_e,getSetupStatus:()=>ye,getSetupTask:()=>De,getSystemStatus:()=>pe,getUsage:()=>fe,getWeixinAccounts:()=>K,installDep:()=>be,installIntegrationApp:()=>T,installPlugin:()=>U,installRuntimeByKind:()=>xe,isCoreBaseCrossOrigin:()=>o,listBackups:()=>Ie,listInstances:()=>N,listIntegrationApps:()=>C,listLlmProviders:()=>Oe,listOrphanedBackups:()=>He,pollFeishuLogin:()=>G,pollWeixinLogin:()=>J,previewImport:()=>Ge,probeModels:()=>Pe,putInstanceConnections:()=>Ze,restartNomad:()=>me,restartService:()=>Z,restoreFromBackup:()=>Be,runFullSetup:()=>we,runRepair:()=>ve,runUpdate:()=>ge,saveConfig:()=>V,saveDefaultProvider:()=>Ee,sendInstanceTerminalInput:()=>j,setDefaultLlmProvider:()=>Me,setToken:()=>f,startAppInstallTask:()=>O,startDep:()=>Se,startFeishuLogin:()=>W,startInstanceTerminalSession:()=>A,startService:()=>Y,startWeixinLogin:()=>q,stopInstanceTerminalSession:()=>M,stopService:()=>X,uninstallIntegrationApp:()=>E,updateAutoBackupConfig:()=>Je,updateLlmProvider:()=>Ae,upgradeNode:()=>Ce,upgradeService:()=>re,uploadForImport:()=>We,validateApiKey:()=>Fe,validateAppSudoPassword:()=>k}),n=a((typeof window<`u`?window.__JISHUSHELL_CORE_BASE_URL__:void 0)||``),r=`/api`;function i(){return typeof window<`u`?window.location.origin:`http://localhost`}function a(e){let t=e.trim().replace(/\/+$/,``);if(!t)return``;let n=new URL(t,i()).href.replace(/\/+$/,``);return n===i()?``:n}function o(){return n.length>0&&new URL(n,i()).origin!==i()}function s(){return o()?`include`:`same-origin`}function c(e){return`${n}${e.startsWith(`/`)?e:`/${e}`}`}function l(e){return c(`${r}${e.startsWith(`/`)?e:`/${e}`}`)}function ee(e,t){let n=e?.message||e?.error||e?.detail||`HTTP ${t??`?`}`,r=Error(n);return e&&typeof e.code==`string`&&(r.code=e.code),e&&typeof e.phase==`string`&&(r.phase=e.phase),e&&typeof e.manualCommand==`string`&&(r.manualCommand=e.manualCommand),e&&typeof e.manualReason==`string`&&(r.manualReason=e.manualReason),r}var u=null;function d(){return u}function f(e){u=e}function p(){u=null,fetch(l(`/auth/logout`),{method:`POST`,credentials:s()}).catch(()=>{})}var m=15e4,te=9e4,ne=15e4;function h(e){return{"X-JishuShell-Action-Source":e}}async function g(e,t={}){let{timeoutMs:n=6e4,...r}=t,i=d(),a={...r.headers||{}};r.body&&(a[`Content-Type`]=`application/json`),i&&(a.Authorization=`Bearer ${i}`);let o=new AbortController,c=setTimeout(()=>o.abort(),n),f;try{f=await fetch(l(e),{...r,headers:a,credentials:s(),signal:o.signal})}catch(e){throw clearTimeout(c),e.name===`AbortError`?Error(`Request timeout`):e}if(clearTimeout(c),f.status===401)throw u=null,window.location.pathname!==`/login`&&(window.dispatchEvent(new CustomEvent(`jishushell:auth-expired`)),window.location.replace(`/login`)),Error(`Unauthorized`);if(!f.ok)throw ee(await f.json().catch(()=>({})),f.status);return f.status===204||f.headers.get(`content-length`)===`0`?null:f.json()}async function _(){try{let e={};return u&&(e.Authorization=`Bearer ${u}`),(await fetch(l(`/instances`),{headers:e,credentials:s()})).ok}catch{return!1}}var v=()=>g(`/auth/status`),y=e=>g(`/auth/init`,{method:`POST`,body:JSON.stringify({password:e})}),b=e=>g(`/auth/login`,{method:`POST`,body:JSON.stringify({password:e})}),x=(e,t)=>g(`/auth/change-password`,{method:`POST`,body:JSON.stringify({old_password:e,new_password:t})}),S=()=>g(`/integrations`),C=()=>g(`/integrations/apps`),w=()=>g(`/integrations/apps/check-updates`,{method:`POST`,body:`{}`,timeoutMs:12e4}),T=(e,t)=>g(`/integrations/apps/${encodeURIComponent(e)}/install`,{method:`POST`,body:JSON.stringify(t||{})}),E=e=>g(`/integrations/apps/${encodeURIComponent(e)}/uninstall`,{method:`POST`,body:`{}`}),D=()=>g(`/apps/catalog`),O=e=>g(`/apps/install-task`,{method:`POST`,body:JSON.stringify(e)}),k=e=>g(`/apps/validate-sudo-password`,{method:`POST`,body:JSON.stringify(e)}),A=(e,t,n)=>g(`/instances/${e}/provides/${encodeURIComponent(t)}/terminal/session`,{method:`POST`,body:JSON.stringify(n)}),j=(e,t,n,r)=>g(`/instances/${e}/provides/${encodeURIComponent(t)}/terminal/session/${encodeURIComponent(n)}/input`,{method:`POST`,body:JSON.stringify(r)}),M=(e,t,n)=>g(`/instances/${e}/provides/${encodeURIComponent(t)}/terminal/session/${encodeURIComponent(n)}/stop`,{method:`POST`,body:`{}`}),N=()=>g(`/instances`),P=e=>g(`/instances/${e}`),F=e=>g(`/integrations/openclaw/instances/${e}/control-ui/launch`),I=e=>g(`/apps/browserless/instances/${e}/summary`);async function L(e,t){let n=3e4,r=d(),i={"Content-Type":`application/json`,Accept:`text/event-stream`};r&&(i.Authorization=`Bearer ${r}`);let a=new AbortController,o=setTimeout(()=>a.abort(),n),c=()=>{clearTimeout(o),o=setTimeout(()=>a.abort(),n)},u;try{u=await fetch(l(`/instances/${e}/agent/chat`),{method:`POST`,headers:i,body:JSON.stringify(t),credentials:s(),signal:a.signal})}catch(e){throw clearTimeout(o),e.name===`AbortError`?Error(`Request timeout`):e}if(u.status===401)throw clearTimeout(o),window.dispatchEvent(new CustomEvent(`jishushell:auth-expired`)),Error(`Unauthorized`);if(!(u.headers.get(`content-type`)||``).includes(`text/event-stream`)||!u.body)throw clearTimeout(o),ee(await u.json().catch(()=>({})),u.status);let f=u.body.getReader(),p=new TextDecoder(`utf-8`),m=``;try{for(;;){let{done:e,value:t}=await f.read();if(e)break;c(),m+=p.decode(t,{stream:!0});let n;for(;(n=m.indexOf(`
2
+
3
+ `))!==-1;){let e=m.slice(0,n);m=m.slice(n+2);let t=``,r=``;for(let n of e.split(`
4
+ `))n.startsWith(`event:`)?t=n.slice(6).trim():n.startsWith(`data:`)&&(r+=n.slice(5).trim());if(t===`result`){let e=JSON.parse(r);clearTimeout(o);let t=Number(e.status)||200,n=String(e.body??``),i;try{i=JSON.parse(n)}catch{i={text:n}}if(t>=400){let e=i?.error?.message||i?.detail||i?.message||`HTTP ${t}`;throw Error(e)}return i}if(t===`error`){let e=(()=>{try{return JSON.parse(r)}catch{return{detail:r}}})();throw clearTimeout(o),Error(e.detail||e.error||`Agent error`)}}}throw Error(`Agent chat stream ended without a result event`)}finally{clearTimeout(o)}}var R=(e,t=!1,n)=>g(`/instances/${e}${t?`?purge_backups=true`:``}`,{method:`DELETE`,...n&&Object.keys(n).length>0?{body:JSON.stringify(n)}:{}}),z=e=>g(`/instances/${e}/config`),B=e=>g(`/instances/${e}/config-meta`),V=(e,t)=>g(`/instances/${e}/config`,{method:`PUT`,body:JSON.stringify(t)}),H=e=>g(`/integrations/openclaw/instances/${e}/plugins/status`),U=(e,t)=>g(`/integrations/openclaw/instances/${e}/plugins/install`,{method:`POST`,body:JSON.stringify({channelId:t})}),W=(e,t)=>g(`/integrations/openclaw/instances/${e}/feishu/login`,{method:`POST`,body:JSON.stringify({channelKey:t||`feishu`})}),G=(e,t)=>g(`/integrations/openclaw/instances/${e}/feishu/login/${t}`),K=e=>g(`/integrations/openclaw/instances/${e}/weixin/accounts`),q=e=>g(`/integrations/openclaw/instances/${e}/weixin/login`,{method:`POST`}),J=(e,t)=>g(`/integrations/openclaw/instances/${e}/weixin/login/${t}`),Y=(e,t=`instance-detail`)=>g(`/instances/${e}/service/start`,{method:`POST`,headers:h(t),timeoutMs:m}),X=(e,t=`instance-detail`)=>g(`/instances/${e}/service/stop`,{method:`POST`,headers:h(t),timeoutMs:te}),Z=(e,t=`instance-detail`)=>g(`/instances/${e}/service/restart`,{method:`POST`,headers:h(t),timeoutMs:ne}),re=(e,t=`instance-detail`)=>g(`/instances/${e}/service/upgrade`,{method:`POST`,headers:h(t),timeoutMs:ne}),ie=(e,t)=>g(`/integrations/openclaw/instances/${e}/browser-allowlist`,{method:`POST`,body:JSON.stringify(t)}),ae=(e,t)=>g(`/integrations/openclaw/instances/${e}/browser-allow-all`,{method:`POST`,body:JSON.stringify(t)}),oe=e=>g(`/integrations/openclaw/instances/${e}/quick-status`),se=e=>g(`/integrations/openclaw/instances/${e}/mcporter/list`),ce=(e,t)=>g(`/integrations/openclaw/instances/${e}/mcporter/add`,{method:`POST`,body:JSON.stringify({servers:t})}),le=(e,t)=>g(`/integrations/openclaw/instances/${e}/mcporter/${encodeURIComponent(t)}`,{method:`DELETE`}),ue=(e,t)=>g(`/integrations/openclaw/instances/${e}/skills/${encodeURIComponent(t)}`,{method:`DELETE`}),de=(e,t=200,n=`stderr`)=>g(`/instances/${e}/logs?lines=${t}&log_type=${n}`),fe=e=>g(`/integrations/openclaw/instances/${e}/usage`),pe=()=>g(`/system/status`),me=()=>g(`/system/restart-nomad`,{method:`POST`}),he=()=>g(`/system/update-check`),ge=()=>g(`/system/update`,{method:`POST`,timeoutMs:10*6e4}),_e=()=>g(`/system/repair/status`),ve=e=>g(`/system/repair`,{method:`POST`,body:JSON.stringify(e||{})}),ye=()=>{let e={},t=d();return t&&(e.Authorization=`Bearer ${t}`),fetch(l(`/setup/status`),{headers:e,credentials:s()}).then(e=>e.json())},be=e=>g(`/setup/install/${e}`,{method:`POST`}),xe=e=>g(`/setup/install/runtime/${e}`,{method:`POST`,body:`{}`}),Se=e=>g(`/setup/start/${e}`,{method:`POST`}),Ce=()=>g(`/setup/upgrade/node`,{method:`POST`}),we=e=>g(`/setup/install/all`,{method:`POST`,body:JSON.stringify(e||{})}),Te=()=>g(`/setup/default-provider`),Ee=e=>g(`/setup/default-provider`,{method:`POST`,body:JSON.stringify(e)}),De=e=>g(`/setup/tasks/${e}`),Oe=()=>g(`/llm/providers`),ke=e=>g(`/llm/providers`,{method:`POST`,body:JSON.stringify(e)}),Ae=(e,t)=>g(`/llm/providers/${encodeURIComponent(e)}`,{method:`PUT`,body:JSON.stringify(t)}),je=e=>g(`/llm/providers/${encodeURIComponent(e)}`,{method:`DELETE`}),Me=e=>g(`/llm/providers/${encodeURIComponent(e)}/default`,{method:`POST`}),Ne=e=>g(`/llm/providers/${encodeURIComponent(e)}/models`),Pe=(e,t,n,r,i)=>g(`/llm/probe-models`,{method:`POST`,body:JSON.stringify({baseUrl:e,apiKey:t,authHeader:n,providerId:r,api:i})});async function Fe(e,t){let n=d(),r={"Content-Type":`application/json`};n&&(r.Authorization=`Bearer ${n}`);let i=await fetch(l(`/llm/validate-key`),{method:`POST`,headers:r,credentials:s(),body:JSON.stringify(e),signal:t});if(i.status===429)return{status:`unknown_error`,message:`请稍后重试`};if(i.status===401)throw u=null,window.dispatchEvent(new CustomEvent(`jishushell:auth-expired`)),Error(`Unauthorized`);return i.json()}var Ie=e=>g(`/instances/${e}/backups`),Le=(e,t)=>g(`/instances/${e}/backup`,{method:`POST`,body:JSON.stringify(t||{})}),Re=(e,t)=>l(`/instances/${e}/backup/download/${encodeURIComponent(t)}`),ze=(e,t)=>g(`/instances/${e}/backups/${encodeURIComponent(t)}`,{method:`DELETE`}),Be=(e,t)=>g(`/instances/${e}/restore/${encodeURIComponent(t)}`,{method:`POST`}),Ve=e=>g(`/instances/create-from-backup`,{method:`POST`,body:JSON.stringify(e)}),He=()=>g(`/backups/orphaned`),Q=(e,t)=>g(`/instances/${e}/export`,{method:`POST`,body:JSON.stringify(t||{})}),Ue=(e,t)=>l(`/instances/${e}/export/download/${encodeURIComponent(t)}`),We=async e=>{let t=new FormData;t.append(`file`,e);let n=await fetch(l(`/instances/import/upload`),{method:`POST`,body:t,credentials:s()});if(!n.ok){let e=await n.json().catch(()=>({detail:n.statusText}));throw Error(e.detail||`Upload failed`)}return n.json()},Ge=e=>g(`/instances/import/preview`,{method:`POST`,body:JSON.stringify({temp_id:e})}),Ke=e=>g(`/instances/import`,{method:`POST`,body:JSON.stringify(e)}),qe=e=>g(`/instances/${e}/auto-backup`),Je=(e,t)=>g(`/instances/${e}/auto-backup`,{method:`PUT`,body:JSON.stringify(t)}),Ye=e=>g(`/backup/jobs/${e}`),Xe=e=>g(`/instances/${e}/connections`),Ze=(e,t)=>g(`/instances/${e}/connections`,{method:`PUT`,body:JSON.stringify(t)}),$=e=>g(`/instances/${e}/connection-status`);export{xe as $,I as A,E as At,de as B,le as C,Se as Ct,D,q as Dt,Ue as E,Y as Et,Te as F,We as Ft,ye as G,H,P as I,Fe as It,fe as J,De as K,Xe as L,k as Lt,B as M,Ae as Mt,$ as N,Ce as Nt,qe as O,M as Ot,F as P,re as Pt,U as Q,S as R,je as S,O as St,Re as T,A as Tt,oe as U,se as V,_e as W,be as X,K as Y,T as Z,Le as _,V as _t,ie as a,He as at,ze as b,Me as bt,y as c,Ge as ct,c as d,me as dt,o as et,w as f,Z as ft,Ke as g,ge as gt,p as h,ve as ht,ae as i,Oe as it,z as j,Je as jt,Ye as k,X as kt,b as l,Pe as lt,he as m,we as mt,ce as n,N as nt,t as o,G as ot,_ as p,Be as pt,pe as q,L as r,C as rt,x as s,J as st,ke as t,Ie as tt,v as u,Ze as ut,Q as v,Ee as vt,ue as w,W as wt,R as x,f as xt,Ve as y,j as yt,Ne as z};
@@ -0,0 +1 @@
1
+ @import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&display=swap";*,:before,:after,::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:#3b82f680;--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:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Geist,Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:Geist Mono,JetBrains Mono,SF Mono,Fira Code,ui-monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:#f8fafc;--foreground:#0f172a;--muted:#64748b;--card:#00000008;--card-hover:#0000000e;--border:#00000017;--border-hover:#0066ff59;--primary:#06f;--primary-hover:#0052cc;--accent:#00d4aa;--sidebar-bg:#f1f5f9;--input-bg:#0000000a}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0a0a0f;--foreground:#fafafa;--muted:#ffffff80;--card:#ffffff0a;--card-hover:#ffffff12;--border:#ffffff14;--border-hover:#0066ff80;--primary:#06f;--primary-hover:#3385ff;--accent:#00d4aa;--sidebar-bg:#ffffff06;--input-bg:#ffffff0f}}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Geist,Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}body,select,select option,select optgroup{background-color:var(--background);color:var(--foreground)}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-3{inset:.75rem}.-right-0\.5{right:-.125rem}.-top-0\.5{top:-.125rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:.75rem}.left-4{left:1rem}.left-\[18px\]{left:18px}.left-\[3px\]{left:3px}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-1\/3{top:33.3333%}.top-1\/4{top:25%}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-\[3px\]{top:3px}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-9{margin-left:2.25rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[520px\]{height:520px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.max-h-20{max-height:5rem}.max-h-40{max-height:10rem}.max-h-52{max-height:13rem}.max-h-\[480px\]{max-height:480px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0}.min-h-52{min-height:13rem}.min-h-\[220px\]{min-height:220px}.min-h-\[240px\]{min-height:240px}.min-h-\[320px\]{min-height:320px}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[500px\]{width:500px}.w-\[600px\]{width:600px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[140px\]{min-width:140px}.min-w-\[200px\]{min-width:200px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[80\%\]{max-width:80%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink-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)) skewX(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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0\.5{--tw-translate-x:.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-4{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.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-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * 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-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * 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-\[var\(--border\)\]>:not([hidden])~:not([hidden]){border-color:var(--border)}.self-end{align-self:flex-end}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[18px\]{border-radius:18px}.rounded-\[22px\]{border-radius:22px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#0066FF\]{--tw-border-opacity:1;border-color:rgb(0 102 255/var(--tw-border-opacity,1))}.border-\[\#0066FF\]\/20{border-color:#06f3}.border-\[\#0066FF\]\/25{border-color:#0066ff40}.border-\[\#0066FF\]\/30{border-color:#0066ff4d}.border-\[\#0066FF\]\/40{border-color:#06f6}.border-\[\#0066FF\]\/50{border-color:#0066ff80}.border-\[\#07C160\]\/30{border-color:#07c1604d}.border-\[\#3370FF\]\/30{border-color:#3370ff4d}.border-\[\#ff6b6b\]\/25{border-color:#ff6b6b40}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--primary\)\]{border-color:var(--primary)}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-amber-400\/40{border-color:#fbbf2466}.border-amber-500\/20{border-color:#f59e0b33}.border-amber-500\/25{border-color:#f59e0b40}.border-amber-500\/30{border-color:#f59e0b4d}.border-cyan-500\/20{border-color:#06b6d433}.border-emerald-500\/20{border-color:#10b98133}.border-emerald-500\/30{border-color:#10b9814d}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-indigo-500\/20{border-color:#6366f133}.border-muted{border-color:var(--muted)}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-500\/20{border-color:#ef444433}.border-red-500\/30{border-color:#ef44444d}.border-sky-400\/30{border-color:#38bdf84d}.border-sky-500\/20{border-color:#0ea5e933}.border-transparent{border-color:#0000}.border-violet-500\/20{border-color:#8b5cf633}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/30{border-color:#ffffff4d}.border-white\/40{border-color:#fff6}.border-l-\[\#0066FF\]{--tw-border-opacity:1;border-left-color:rgb(0 102 255/var(--tw-border-opacity,1))}.border-l-\[\#00D4AA\]{--tw-border-opacity:1;border-left-color:rgb(0 212 170/var(--tw-border-opacity,1))}.border-l-red-400{--tw-border-opacity:1;border-left-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-t-\[\#0066FF\]{--tw-border-opacity:1;border-top-color:rgb(0 102 255/var(--tw-border-opacity,1))}.border-t-\[\#07C160\]{--tw-border-opacity:1;border-top-color:rgb(7 193 96/var(--tw-border-opacity,1))}.border-t-\[\#3370FF\]{--tw-border-opacity:1;border-top-color:rgb(51 112 255/var(--tw-border-opacity,1))}.border-t-foreground{border-top-color:var(--foreground)}.border-t-muted{border-top-color:var(--muted)}.border-t-sky-400{--tw-border-opacity:1;border-top-color:rgb(56 189 248/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:#0000}.border-t-white{--tw-border-opacity:1;border-top-color:rgb(255 255 255/var(--tw-border-opacity,1))}.bg-\[\#0066FF\]{--tw-bg-opacity:1;background-color:rgb(0 102 255/var(--tw-bg-opacity,1))}.bg-\[\#0066FF\]\/10{background-color:#0066ff1a}.bg-\[\#0066FF\]\/15{background-color:#0066ff26}.bg-\[\#0066FF\]\/5{background-color:#0066ff0d}.bg-\[\#0066FF\]\/\[0\.06\]{background-color:#0066ff0f}.bg-\[\#0066FF\]\/\[0\.07\]{background-color:#0066ff12}.bg-\[\#00D4AA\]{--tw-bg-opacity:1;background-color:rgb(0 212 170/var(--tw-bg-opacity,1))}.bg-\[\#07C160\]{--tw-bg-opacity:1;background-color:rgb(7 193 96/var(--tw-bg-opacity,1))}.bg-\[\#07C160\]\/5{background-color:#07c1600d}.bg-\[\#09111f\]{--tw-bg-opacity:1;background-color:rgb(9 17 31/var(--tw-bg-opacity,1))}.bg-\[\#3370FF\]{--tw-bg-opacity:1;background-color:rgb(51 112 255/var(--tw-bg-opacity,1))}.bg-\[\#3370FF\]\/5{background-color:#3370ff0d}.bg-\[\#39d98a\]{--tw-bg-opacity:1;background-color:rgb(57 217 138/var(--tw-bg-opacity,1))}.bg-\[\#ff6b6b\]{--tw-bg-opacity:1;background-color:rgb(255 107 107/var(--tw-bg-opacity,1))}.bg-\[\#ff6b6b\]\/10{background-color:#ff6b6b1a}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--card\)\]{background-color:var(--card)}.bg-\[var\(--card-hover\)\]{background-color:var(--card-hover)}.bg-\[var\(--input\)\]{background-color:var(--input)}.bg-\[var\(--input-bg\)\]{background-color:var(--input-bg)}.bg-\[var\(--muted\)\]{background-color:var(--muted)}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/15{background-color:#f59e0b26}.bg-amber-500\/20{background-color:#f59e0b33}.bg-background{background-color:var(--background)}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/60{background-color:#0009}.bg-black\/\[0\.03\]{background-color:#00000008}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-card{background-color:var(--card)}.bg-current{background-color:currentColor}.bg-cyan-500\/10{background-color:#06b6d41a}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/15{background-color:#10b98126}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-indigo-500\/10{background-color:#6366f11a}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-red-500\/20{background-color:#ef444433}.bg-red-500\/5{background-color:#ef44440d}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-950\/20{background-color:#450a0a33}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.bg-slate-500\/10{background-color:#64748b1a}.bg-transparent{background-color:#0000}.bg-violet-500\/10{background-color:#8b5cf61a}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-\[linear-gradient\(180deg\,rgba\(2\,6\,23\,0\.96\)\,rgba\(15\,23\,42\,0\.92\)\)\]{background-image:linear-gradient(#020617f5,#0f172aeb)}.bg-\[radial-gradient\(circle\,rgba\(0\,102\,255\,0\.08\)_0\%\,transparent_70\%\)\]{background-image:radial-gradient(circle,#0066ff14 0%,#0000 70%)}.bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.from-slate-950\/85{--tw-gradient-from:#020617d9 var(--tw-gradient-from-position);--tw-gradient-to:#02061700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.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-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-4{padding-bottom:1rem}.pl-9{padding-left:2.25rem}.pl-\[6px\]{padding-left:6px}.pr-10{padding-right:2.5rem}.pr-3{padding-right:.75rem}.pr-9{padding-right:2.25rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:Geist Mono,JetBrains Mono,SF Mono,Fira Code,ui-monospace,monospace}.font-sans{font-family:Geist,Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.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-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#0066FF\]{--tw-text-opacity:1;color:rgb(0 102 255/var(--tw-text-opacity,1))}.text-\[\#0066FF\]\/80{color:#06fc}.text-\[\#0066FF\]\/90{color:#0066ffe6}.text-\[\#00D4AA\]{--tw-text-opacity:1;color:rgb(0 212 170/var(--tw-text-opacity,1))}.text-\[\#07C160\]{--tw-text-opacity:1;color:rgb(7 193 96/var(--tw-text-opacity,1))}.text-\[\#3370FF\]{--tw-text-opacity:1;color:rgb(51 112 255/var(--tw-text-opacity,1))}.text-\[\#4DA3FF\]{--tw-text-opacity:1;color:rgb(77 163 255/var(--tw-text-opacity,1))}.text-\[\#66a3ff\]{--tw-text-opacity:1;color:rgb(102 163 255/var(--tw-text-opacity,1))}.text-\[\#7f97c2\]{--tw-text-opacity:1;color:rgb(127 151 194/var(--tw-text-opacity,1))}.text-\[\#7fd0ff\]{--tw-text-opacity:1;color:rgb(127 208 255/var(--tw-text-opacity,1))}.text-\[\#9cb3d9\]{--tw-text-opacity:1;color:rgb(156 179 217/var(--tw-text-opacity,1))}.text-\[\#d7e3ff\]{--tw-text-opacity:1;color:rgb(215 227 255/var(--tw-text-opacity,1))}.text-\[\#e8f0ff\]{--tw-text-opacity:1;color:rgb(232 240 255/var(--tw-text-opacity,1))}.text-\[\#ff9c9c\]{--tw-text-opacity:1;color:rgb(255 156 156/var(--tw-text-opacity,1))}.text-\[\#ffc2c2\]{--tw-text-opacity:1;color:rgb(255 194 194/var(--tw-text-opacity,1))}.text-\[var\(--muted\)\]{color:var(--muted)}.text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-amber-200\/80{color:#fde68acc}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-300\/60{color:#fcd34d99}.text-amber-300\/75{color:#fcd34dbf}.text-amber-300\/80{color:#fcd34dcc}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-400\/60{color:#fbbf2499}.text-amber-400\/90{color:#fbbf24e6}.text-amber-50{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-current{color:currentColor}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-emerald-100{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity,1))}.text-emerald-200\/80{color:#a7f3d0cc}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-foreground{color:var(--foreground)}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-muted{color:var(--muted)}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-200\/80{color:#fecacacc}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-sky-100{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity,1))}.text-sky-200\/80{color:#bae6fdcc}.text-sky-300{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.text-slate-200\/90{color:#e2e8f0e6}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.decoration-current{text-decoration-color:currentColor}.underline-offset-2{text-underline-offset:2px}.placeholder-\[var\(--muted\)\]::placeholder{color:var(--muted)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px 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-\[0_0_12px_rgba\(0\,102\,255\,0\.3\)\]{--tw-shadow:0 0 12px #0066ff4d;--tw-shadow-colored:0 0 12px 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-\[0_0_20px_rgba\(0\,102\,255\,0\.3\)\]{--tw-shadow:0 0 20px #0066ff4d;--tw-shadow-colored:0 0 20px 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-\[0_0_6px_rgba\(16\,185\,129\,0\.6\)\]{--tw-shadow:0 0 6px #10b98199;--tw-shadow-colored:0 0 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-\[0_0_6px_rgba\(16\,185\,129\,0\.7\)\]{--tw-shadow:0 0 6px #10b981b3;--tw-shadow-colored:0 0 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-\[0_0_6px_rgba\(239\,68\,68\,0\.6\)\]{--tw-shadow:0 0 6px #ef444499;--tw-shadow-colored:0 0 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-\[0_0_6px_rgba\(251\,191\,36\,0\.5\)\]{--tw-shadow:0 0 6px #fbbf2480;--tw-shadow-colored:0 0 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-\[0_0_6px_rgba\(251\,191\,36\,0\.6\)\]{--tw-shadow:0 0 6px #fbbf2499;--tw-shadow-colored:0 0 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-\[0_0_8px_rgba\(148\,163\,184\,0\.35\)\]{--tw-shadow:0 0 8px #94a3b859;--tw-shadow-colored:0 0 8px 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-\[0_0_8px_rgba\(248\,113\,113\,0\.55\)\]{--tw-shadow:0 0 8px #f871718c;--tw-shadow-colored:0 0 8px 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-\[0_0_8px_rgba\(52\,211\,153\,0\.55\)\]{--tw-shadow:0 0 8px #34d3998c;--tw-shadow-colored:0 0 8px 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-\[0_0_8px_rgba\(56\,189\,248\,0\.55\)\]{--tw-shadow:0 0 8px #38bdf88c;--tw-shadow-colored:0 0 8px 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-\[0_12px_32px_rgba\(15\,23\,42\,0\.05\)\]{--tw-shadow:0 12px 32px #0f172a0d;--tw-shadow-colored:0 12px 32px 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-\[0_18px_48px_rgba\(15\,23\,42\,0\.06\)\]{--tw-shadow:0 18px 48px #0f172a0f;--tw-shadow-colored:0 18px 48px 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-\[0_18px_60px_rgba\(4\,12\,24\,0\.28\)\]{--tw-shadow:0 18px 60px #040c1847;--tw-shadow-colored:0 18px 60px 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-\[0_24px_80px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow:0 24px 80px #00000073;--tw-shadow-colored:0 24px 80px 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-\[0_8px_24px_rgba\(0\,102\,255\,0\.18\)\]{--tw-shadow:0 8px 24px #0066ff2e;--tw-shadow-colored:0 8px 24px 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-\[0_8px_24px_rgba\(0\,102\,255\,0\.24\)\]{--tw-shadow:0 8px 24px #0066ff3d;--tw-shadow-colored:0 8px 24px 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-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.04\)\]{--tw-shadow:inset 0 1px 0 #ffffff0a;--tw-shadow-colored:inset 0 1px 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-sm{--tw-shadow:0 1px 2px 0 #0000000d;--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 #0000001a, 0 8px 10px -6px #0000001a;--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)}.outline-none{outline-offset:2px;outline:2px solid #0000}.blur{--tw-blur:blur(8px);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-\[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-\[90px\]{--tw-blur:blur(90px);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-sm{--tw-backdrop-blur:blur(4px);-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-xl{--tw-backdrop-blur:blur(24px);-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{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8080804d}.sidebar-scroll::-webkit-scrollbar{width:4px}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.grid-bg{background-image:linear-gradient(to right, var(--border) 1px, transparent 1px), linear-gradient(to bottom, var(--border) 1px, transparent 1px);background-size:40px 40px}.glow-blue{background:radial-gradient(circle,#0066ff14 0%,#0000 70%)}.placeholder\:text-\[\#7188b2\]::placeholder{--tw-text-opacity:1;color:rgb(113 136 178/var(--tw-text-opacity,1))}.placeholder\:text-muted::placeholder{color:var(--muted)}.last\:border-0:last-child{border-width:0}.hover\:border-\[\#0066FF\]\/35:hover{border-color:#0066ff59}.hover\:border-\[\#0066FF\]\/40:hover{border-color:#06f6}.hover\:border-\[var\(--border-hover\)\]:hover{border-color:var(--border-hover)}.hover\:border-white\/35:hover{border-color:#ffffff59}.hover\:bg-\[\#0052cc\]:hover{--tw-bg-opacity:1;background-color:rgb(0 82 204/var(--tw-bg-opacity,1))}.hover\:bg-\[\#0066FF\]\/10:hover{background-color:#0066ff1a}.hover\:bg-\[\#0066FF\]\/15:hover{background-color:#0066ff26}.hover\:bg-\[\#0066FF\]\/20:hover{background-color:#06f3}.hover\:bg-\[\#0066FF\]\/5:hover{background-color:#0066ff0d}.hover\:bg-\[\#0066FF\]\/90:hover{background-color:#0066ffe6}.hover\:bg-\[\#0066FF\]\/\[0\.04\]:hover{background-color:#0066ff0a}.hover\:bg-\[\#07C160\]\/10:hover{background-color:#07c1601a}.hover\:bg-\[\#07C160\]\/90:hover{background-color:#07c160e6}.hover\:bg-\[\#3370FF\]\/10:hover{background-color:#3370ff1a}.hover\:bg-\[\#3370FF\]\/90:hover{background-color:#3370ffe6}.hover\:bg-\[var\(--card\)\]:hover{background-color:var(--card)}.hover\:bg-\[var\(--card-hover\)\]:hover{background-color:var(--card-hover)}.hover\:bg-\[var\(--hover-bg\)\]:hover{background-color:var(--hover-bg)}.hover\:bg-\[var\(--input-bg\)\]:hover{background-color:var(--input-bg)}.hover\:bg-amber-300:hover{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.hover\:bg-amber-400:hover{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.hover\:bg-amber-500\/10:hover{background-color:#f59e0b1a}.hover\:bg-amber-500\/15:hover{background-color:#f59e0b26}.hover\:bg-amber-500\/30:hover{background-color:#f59e0b4d}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-emerald-500\/10:hover{background-color:#10b9811a}.hover\:bg-emerald-500\/20:hover{background-color:#10b98133}.hover\:bg-red-400:hover{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-red-500\/15:hover{background-color:#ef444426}.hover\:bg-red-500\/20:hover{background-color:#ef444433}.hover\:bg-red-500\/90:hover{background-color:#ef4444e6}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:text-\[\#0066FF\]:hover{--tw-text-opacity:1;color:rgb(0 102 255/var(--tw-text-opacity,1))}.hover\:text-\[\#0066FF\]\/80:hover{color:#06fc}.hover\:text-\[\#7BB8FF\]:hover{--tw-text-opacity:1;color:rgb(123 184 255/var(--tw-text-opacity,1))}.hover\:text-amber-200:hover{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.hover\:text-amber-300:hover{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.hover\:text-amber-400:hover{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-emerald-400:hover{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[0_0_28px_rgba\(0\,102\,255\,0\.45\)\]:hover{--tw-shadow:0 0 28px #0066ff73;--tw-shadow-colored:0 0 28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.focus\:border-\[\#0066FF\]:focus{--tw-border-opacity:1;border-color:rgb(0 102 255/var(--tw-border-opacity,1))}.focus\:border-\[\#0066FF\]\/60:focus{border-color:#06f9}.focus\:border-amber-500\/60:focus{border-color:#f59e0b99}.focus\:border-red-500\/60:focus{border-color:#ef444499}.focus\:border-sky-500\/60:focus{border-color:#0ea5e999}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-1:focus{--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,0 0 #0000)}.focus\:ring-\[\#0066FF\]\/60:focus{--tw-ring-color:#06f9}.focus\:ring-amber-500\/60:focus{--tw-ring-color:#f59e0b99}.focus\:ring-red-500\/60:focus{--tw-ring-color:#ef444499}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-300:disabled{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (width>=640px){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:inline{display:inline}.sm\:table-cell{display:table-cell}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}@media (width>=768px){.md\:table-cell{display:table-cell}.md\:w-44{width:11rem}.md\:flex-none{flex:none}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}}@media (width>=1024px){.lg\:flex{display:flex}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:min-h-\[500px\]{min-height:500px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}.lg\:grid-cols-\[280px_minmax\(0\,1fr\)\]{grid-template-columns:280px minmax(0,1fr)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}}@media (width>=1280px){.xl\:max-w-5xl{max-width:64rem}.xl\:max-w-6xl{max-width:72rem}}@media (width>=1536px){.\32 xl\:max-w-none{max-width:none}.\32 xl\:px-6{padding-left:1.5rem;padding-right:1.5rem}.\32 xl\:py-3{padding-top:.75rem;padding-bottom:.75rem}.\32 xl\:py-4{padding-top:1rem;padding-bottom:1rem}}@media (prefers-color-scheme:dark){.dark\:border-amber-700{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.dark\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-green-700{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.dark\:border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.dark\:bg-amber-900\/20{background-color:#78350f33}.dark\:bg-blue-900\/30{background-color:#1e3a8a4d}.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-800\/40{background-color:#1f293766}.dark\:bg-gray-900\/40{background-color:#11182766}.dark\:bg-green-900\/20{background-color:#14532d33}.dark\:bg-red-900\/20{background-color:#7f1d1d33}.dark\:bg-red-900\/30{background-color:#7f1d1d4d}.dark\:text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.dark\:text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.dark\:text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.dark\:hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}}