@cartanova/qgrid-cli 2.10.10 → 2.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/bundle/dist/_virtual/_rolldown/runtime.js +1 -10
  2. package/bundle/dist/application/monit/log-buffer.js +12 -6
  3. package/bundle/dist/application/monit/monit.frame.js +11 -3
  4. package/bundle/dist/application/monit/monit.types.js +1 -1
  5. package/bundle/dist/application/qgrid/conv-routing.js +9 -6
  6. package/bundle/dist/application/qgrid/expired-token-reminder.js +2 -2
  7. package/bundle/dist/application/qgrid/oauth.js +31 -4
  8. package/bundle/dist/application/qgrid/qgrid-image-generation.js +1 -1
  9. package/bundle/dist/application/qgrid/qgrid-response-format.js +21 -19
  10. package/bundle/dist/application/qgrid/qgrid-run-lifecycle.js +40 -33
  11. package/bundle/dist/application/qgrid/qgrid.dispatcher.js +128 -93
  12. package/bundle/dist/application/qgrid/qgrid.frame.js +930 -49
  13. package/bundle/dist/application/qgrid/qgrid.types.js +212 -5
  14. package/bundle/dist/application/qgrid/schema-prompt.js +75 -48
  15. package/bundle/dist/application/qgrid/slack-user-map.js +1 -1
  16. package/bundle/dist/application/qgrid/token-death.js +1 -1
  17. package/bundle/dist/application/qgrid/token-subscriber.js +83 -30
  18. package/bundle/dist/application/qgrid/token-trigger-setup.js +1 -1
  19. package/bundle/dist/application/qgrid/token-window-keepalive.js +8 -6
  20. package/bundle/dist/application/qgrid/tool-emulation-schema.js +13 -13
  21. package/bundle/dist/application/qgrid/tool-emulation.js +19 -15
  22. package/bundle/dist/application/request-log/json-schema-type-text.js +29 -12
  23. package/bundle/dist/application/request-log/request-log.model.js +83 -70
  24. package/bundle/dist/application/request-log/request-log.types.js +1 -1
  25. package/bundle/dist/application/request-log/zod-code-format.js +1 -1
  26. package/bundle/dist/application/request-log-step/request-log-step.model.js +1 -1
  27. package/bundle/dist/application/request-log-step/request-log-step.types.js +1 -1
  28. package/bundle/dist/application/setting/setting.constant.js +1 -1
  29. package/bundle/dist/application/setting/setting.model.js +2 -2
  30. package/bundle/dist/application/setting/setting.store.js +2 -2
  31. package/bundle/dist/application/setting/setting.types.js +1 -1
  32. package/bundle/dist/application/sonamu.generated.js +32 -16
  33. package/bundle/dist/application/sonamu.generated.sso.js +1 -1
  34. package/bundle/dist/application/token/token.model.js +26 -9
  35. package/bundle/dist/application/token/token.types.js +20 -3
  36. package/bundle/dist/i18n/en.js +15 -1
  37. package/bundle/dist/i18n/ko.js +15 -1
  38. package/bundle/dist/i18n/sd.generated.js +1 -1
  39. package/bundle/dist/migrations/20260807133553_manual__backfill_request_log_cost.js +8 -6
  40. package/bundle/dist/server-bootstrap.js +4 -2
  41. package/bundle/dist/server-error-handler.js +1 -1
  42. package/bundle/dist/sonamu.config.js +37 -8
  43. package/bundle/dist/startup-migrations.js +17 -7
  44. package/bundle/dist/testing/global.js +1 -1
  45. package/bundle/dist/testing/schema-bench.js +0 -0
  46. package/bundle/dist/testing/test-database-name.js +1 -1
  47. package/bundle/dist/utils/providers/anthropic/anthropic-constants.js +1 -1
  48. package/bundle/dist/utils/providers/anthropic/anthropic-dispatcher.js +11 -5
  49. package/bundle/dist/utils/providers/anthropic/anthropic-quota.js +4 -4
  50. package/bundle/dist/utils/providers/anthropic/anthropic-thinking.js +1 -1
  51. package/bundle/dist/utils/providers/anthropic/claude-session.js +20 -19
  52. package/bundle/dist/utils/providers/anthropic/fence-strip.js +1 -1
  53. package/bundle/dist/utils/providers/anthropic/stream-json-adapter.js +49 -23
  54. package/bundle/dist/utils/providers/common/credentials.js +5 -1
  55. package/bundle/dist/utils/providers/common/effort.js +3 -3
  56. package/bundle/dist/utils/providers/common/model-cost.js +69 -14
  57. package/bundle/dist/utils/providers/common/provider-types.js +29 -1
  58. package/bundle/dist/utils/providers/common/schema-validation.js +78 -40
  59. package/bundle/dist/utils/providers/common/smooth-weighted-round-robin.js +1 -1
  60. package/bundle/dist/utils/providers/common/strictifier.js +62 -43
  61. package/bundle/dist/utils/providers/common/thinking.js +3 -2
  62. package/bundle/dist/utils/providers/common/ttft.js +1 -1
  63. package/bundle/dist/utils/providers/grok/grok-backend-protocol.js +427 -0
  64. package/bundle/dist/utils/providers/grok/grok-constants.js +55 -0
  65. package/bundle/dist/utils/providers/grok/grok-direct-client.js +196 -0
  66. package/bundle/dist/utils/providers/grok/grok-dispatcher.js +1313 -0
  67. package/bundle/dist/utils/providers/grok/grok-headers.js +118 -0
  68. package/bundle/dist/utils/providers/grok/grok-media-client.js +420 -0
  69. package/bundle/dist/utils/providers/grok/grok-models.js +114 -0
  70. package/bundle/dist/utils/providers/grok/grok-oauth.js +455 -0
  71. package/bundle/dist/utils/providers/grok/grok-quota.js +119 -0
  72. package/bundle/dist/utils/providers/grok/grok-refresh.js +192 -0
  73. package/bundle/dist/utils/providers/grok/grok-types.js +186 -0
  74. package/bundle/dist/utils/providers/grok/grok-voice-client.js +199 -0
  75. package/bundle/dist/utils/providers/grok/index.js +11 -0
  76. package/bundle/dist/utils/providers/openai/openai-backend-protocol.js +111 -83
  77. package/bundle/dist/utils/providers/openai/openai-callback-relay.js +3 -2
  78. package/bundle/dist/utils/providers/openai/openai-constants.js +1 -1
  79. package/bundle/dist/utils/providers/openai/openai-direct-client.js +23 -7
  80. package/bundle/dist/utils/providers/openai/openai-dispatcher.js +143 -106
  81. package/bundle/dist/utils/providers/openai/openai-image-generation.js +48 -33
  82. package/bundle/dist/utils/providers/openai/openai-oauth.js +28 -13
  83. package/bundle/dist/utils/providers/openai/openai-quota.js +38 -27
  84. package/bundle/dist/utils/providers/openai/openai-refresh.js +17 -9
  85. package/bundle/dist/utils/providers/openai/openai-sse.js +1 -1
  86. package/bundle/dist/utils/providers/openai/openai-transport-config.js +1 -1
  87. package/bundle/dist/utils/quiet-hours.js +1 -1
  88. package/bundle/dist/utils/slack-notify.js +14 -8
  89. package/bundle/dist/utils/subset-loaders.js +4 -5
  90. package/bundle/src/application/monit/log-buffer.ts +23 -9
  91. package/bundle/src/application/monit/monit.frame.ts +22 -5
  92. package/bundle/src/application/monit/monit.types.ts +6 -0
  93. package/bundle/src/application/qgrid/conv-routing.test.ts +76 -4
  94. package/bundle/src/application/qgrid/conv-routing.ts +35 -9
  95. package/bundle/src/application/qgrid/expired-token-reminder.ts +9 -1
  96. package/bundle/src/application/qgrid/oauth.ts +51 -15
  97. package/bundle/src/application/qgrid/qgrid-image-generation.ts +9 -0
  98. package/bundle/src/application/qgrid/qgrid-response-format.ts +50 -25
  99. package/bundle/src/application/qgrid/qgrid-run-lifecycle.test.ts +19 -0
  100. package/bundle/src/application/qgrid/qgrid-run-lifecycle.ts +84 -40
  101. package/bundle/src/application/qgrid/qgrid.dispatcher.test.ts +97 -0
  102. package/bundle/src/application/qgrid/qgrid.dispatcher.ts +274 -126
  103. package/bundle/src/application/qgrid/qgrid.frame.test.ts +1013 -3
  104. package/bundle/src/application/qgrid/qgrid.frame.ts +1415 -60
  105. package/bundle/src/application/qgrid/qgrid.types.ts +335 -0
  106. package/bundle/src/application/qgrid/schema-prompt.ts +105 -41
  107. package/bundle/src/application/qgrid/slack-user-map.ts +5 -0
  108. package/bundle/src/application/qgrid/token-death.ts +4 -0
  109. package/bundle/src/application/qgrid/token-subscriber.test.ts +21 -19
  110. package/bundle/src/application/qgrid/token-subscriber.ts +186 -53
  111. package/bundle/src/application/qgrid/token-trigger-setup.ts +2 -0
  112. package/bundle/src/application/qgrid/token-window-keepalive.ts +49 -6
  113. package/bundle/src/application/qgrid/tool-emulation-schema.ts +33 -29
  114. package/bundle/src/application/qgrid/tool-emulation.ts +52 -27
  115. package/bundle/src/application/request-log/json-schema-type-text.test.ts +5 -5
  116. package/bundle/src/application/request-log/json-schema-type-text.ts +81 -26
  117. package/bundle/src/application/request-log/request-log.model.test.ts +111 -4
  118. package/bundle/src/application/request-log/request-log.model.ts +277 -146
  119. package/bundle/src/application/request-log/request-log.types.ts +6 -0
  120. package/bundle/src/application/request-log/zod-code-format.ts +11 -0
  121. package/bundle/src/application/request-log-step/request-log-step.model.ts +1 -0
  122. package/bundle/src/application/request-log-step/request-log-step.types.ts +2 -0
  123. package/bundle/src/application/setting/setting.constant.ts +9 -0
  124. package/bundle/src/application/setting/setting.model.ts +12 -2
  125. package/bundle/src/application/setting/setting.store.ts +5 -1
  126. package/bundle/src/application/setting/setting.types.ts +8 -0
  127. package/bundle/src/application/sonamu.generated.http +133 -0
  128. package/bundle/src/application/sonamu.generated.sso.ts +2 -0
  129. package/bundle/src/application/sonamu.generated.ts +15 -0
  130. package/bundle/src/application/token/token.identity.test.ts +20 -0
  131. package/bundle/src/application/token/token.model.ts +66 -7
  132. package/bundle/src/application/token/token.types.ts +24 -1
  133. package/bundle/src/i18n/en.ts +19 -0
  134. package/bundle/src/i18n/ko.ts +21 -0
  135. package/bundle/src/i18n/sd.generated.ts +23 -2
  136. package/bundle/src/migrations/20260807133553_manual__backfill_request_log_cost.ts +16 -8
  137. package/bundle/src/server-bootstrap.ts +4 -2
  138. package/bundle/src/server-error-handler.ts +1 -0
  139. package/bundle/src/sonamu.config.ts +69 -7
  140. package/bundle/src/startup-migrations.ts +27 -9
  141. package/bundle/src/testing/global.ts +20 -0
  142. package/bundle/src/testing/schema-bench.ts +105 -30
  143. package/bundle/src/testing/test-database-name.ts +2 -0
  144. package/bundle/src/utils/providers/anthropic/anthropic-constants.ts +8 -0
  145. package/bundle/src/utils/providers/anthropic/anthropic-dispatcher.ts +41 -6
  146. package/bundle/src/utils/providers/anthropic/anthropic-quota.ts +7 -3
  147. package/bundle/src/utils/providers/anthropic/anthropic-thinking.ts +6 -0
  148. package/bundle/src/utils/providers/anthropic/claude-session.ts +58 -24
  149. package/bundle/src/utils/providers/anthropic/fence-strip.ts +11 -0
  150. package/bundle/src/utils/providers/anthropic/stream-json-adapter.ts +110 -45
  151. package/bundle/src/utils/providers/common/credentials.ts +8 -0
  152. package/bundle/src/utils/providers/common/effort.ts +9 -2
  153. package/bundle/src/utils/providers/common/model-cost.test.ts +48 -1
  154. package/bundle/src/utils/providers/common/model-cost.ts +259 -158
  155. package/bundle/src/utils/providers/common/provider-dispatcher.ts +98 -2
  156. package/bundle/src/utils/providers/common/provider-types.ts +46 -3
  157. package/bundle/src/utils/providers/common/schema-validation.test.ts +5 -1
  158. package/bundle/src/utils/providers/common/schema-validation.ts +124 -56
  159. package/bundle/src/utils/providers/common/smooth-weighted-round-robin.ts +4 -0
  160. package/bundle/src/utils/providers/common/strictifier.ts +185 -59
  161. package/bundle/src/utils/providers/common/thinking.ts +2 -2
  162. package/bundle/src/utils/providers/common/ttft.ts +4 -2
  163. package/bundle/src/utils/providers/grok/__fixtures__/golden-responses-1.0.60.json +164 -0
  164. package/bundle/src/utils/providers/grok/grok-backend-protocol.test.ts +325 -0
  165. package/bundle/src/utils/providers/grok/grok-backend-protocol.ts +721 -0
  166. package/bundle/src/utils/providers/grok/grok-constants.ts +105 -0
  167. package/bundle/src/utils/providers/grok/grok-direct-client.test.ts +179 -0
  168. package/bundle/src/utils/providers/grok/grok-direct-client.ts +313 -0
  169. package/bundle/src/utils/providers/grok/grok-dispatcher.test.ts +1395 -0
  170. package/bundle/src/utils/providers/grok/grok-dispatcher.ts +2105 -0
  171. package/bundle/src/utils/providers/grok/grok-headers.test.ts +149 -0
  172. package/bundle/src/utils/providers/grok/grok-headers.ts +199 -0
  173. package/bundle/src/utils/providers/grok/grok-media-client.test.ts +446 -0
  174. package/bundle/src/utils/providers/grok/grok-media-client.ts +703 -0
  175. package/bundle/src/utils/providers/grok/grok-models.test.ts +96 -0
  176. package/bundle/src/utils/providers/grok/grok-models.ts +161 -0
  177. package/bundle/src/utils/providers/grok/grok-oauth.test.ts +406 -0
  178. package/bundle/src/utils/providers/grok/grok-oauth.ts +771 -0
  179. package/bundle/src/utils/providers/grok/grok-quota.test.ts +142 -0
  180. package/bundle/src/utils/providers/grok/grok-quota.ts +198 -0
  181. package/bundle/src/utils/providers/grok/grok-refresh.test.ts +239 -0
  182. package/bundle/src/utils/providers/grok/grok-refresh.ts +325 -0
  183. package/bundle/src/utils/providers/grok/grok-types.test.ts +252 -0
  184. package/bundle/src/utils/providers/grok/grok-types.ts +374 -0
  185. package/bundle/src/utils/providers/grok/grok-voice-client.test.ts +321 -0
  186. package/bundle/src/utils/providers/grok/grok-voice-client.ts +284 -0
  187. package/bundle/src/utils/providers/grok/index.ts +20 -0
  188. package/bundle/src/utils/providers/openai/openai-backend-protocol.ts +221 -137
  189. package/bundle/src/utils/providers/openai/openai-callback-relay.ts +12 -1
  190. package/bundle/src/utils/providers/openai/openai-constants.ts +2 -0
  191. package/bundle/src/utils/providers/openai/openai-direct-client.ts +111 -21
  192. package/bundle/src/utils/providers/openai/openai-dispatcher.ts +322 -169
  193. package/bundle/src/utils/providers/openai/openai-image-generation.ts +116 -36
  194. package/bundle/src/utils/providers/openai/openai-oauth.ts +48 -20
  195. package/bundle/src/utils/providers/openai/openai-quota.ts +77 -46
  196. package/bundle/src/utils/providers/openai/openai-refresh.ts +42 -18
  197. package/bundle/src/utils/providers/openai/openai-sse.ts +27 -3
  198. package/bundle/src/utils/providers/openai/openai-transport-config.ts +2 -0
  199. package/bundle/src/utils/quiet-hours.ts +12 -1
  200. package/bundle/src/utils/slack-notify.ts +44 -13
  201. package/bundle/src/utils/subset-loaders.ts +7 -7
  202. package/bundle/web-dist/client/assets/clsx-5XM_pHvN.js +1 -0
  203. package/bundle/web-dist/client/assets/index-Be2qCZmI.css +1 -0
  204. package/bundle/web-dist/client/assets/index-C96h3feE.js +32 -0
  205. package/bundle/web-dist/client/assets/logs-DBM6U0QD.js +1 -0
  206. package/bundle/web-dist/client/assets/monit-BBjXa7vB.js +1 -0
  207. package/bundle/web-dist/client/assets/routes-Crz_PQzi.js +5 -0
  208. package/bundle/web-dist/client/assets/{services.generated-NP-ValHd.js → services.generated-B5lc3aIC.js} +5 -5
  209. package/bundle/web-dist/client/assets/settings-Cdwm3OBB.js +1 -0
  210. package/bundle/web-dist/client/assets/show-DBUhALT1.js +2 -0
  211. package/bundle/web-dist/client/assets/tokens-CVQAVJTo.js +1 -0
  212. package/bundle/web-dist/client/assets/total-cost-MnfKU8IN.js +1 -0
  213. package/bundle/web-dist/client/assets/use-oauth-login-flow-BfxYI4Oh.js +1 -0
  214. package/bundle/web-dist/client/assets/use-update-token-mutation-qKBC2sn7.js +1 -0
  215. package/bundle/web-dist/client/assets/{vendor-tanstack-DJRQAbrY.js → vendor-tanstack-DRPs09ai.js} +1 -1
  216. package/bundle/web-dist/client/index.html +5 -5
  217. package/bundle/web-dist/server/assets/clsx-D_N5PN_2.js +16 -0
  218. package/bundle/web-dist/server/assets/{lazyRouteComponent-CgBdabgd.js → lazyRouteComponent-AKiHfZWp.js} +129 -2
  219. package/bundle/web-dist/server/assets/{logs-BMyR98rU.js → logs-B7QmGJq3.js} +18 -14
  220. package/bundle/web-dist/server/assets/{monit-ZPt66W5M.js → monit-DFt7x3bh.js} +13 -12
  221. package/bundle/web-dist/server/assets/{plus-BZ9I0VgC.js → plus-DaYQRpBt.js} +1 -1
  222. package/bundle/web-dist/server/assets/{react-dom-Ds75e4Jl.js → react-dom-Cv23mm1K.js} +2 -129
  223. package/bundle/web-dist/server/assets/{refresh-cw-CztCFis-.js → refresh-cw-BpXNsAy-.js} +1 -1
  224. package/bundle/web-dist/server/assets/{request-model-DjGldb-h.js → request-model-eHE6YbaF.js} +1 -1
  225. package/bundle/web-dist/server/assets/{routes-Ct-k7nBA.js → routes-_Y-PJfgO.js} +110 -39
  226. package/bundle/web-dist/server/assets/{services.generated-BA4AcAf5.js → services.generated-CMJ8AHbO.js} +582 -172
  227. package/bundle/web-dist/server/assets/{settings-CBUZ47Xx.js → settings-JwJKxn2e.js} +14 -14
  228. package/bundle/web-dist/server/assets/{show-LSFIzvO2.js → show-BEv6z1v_.js} +90 -60
  229. package/bundle/web-dist/server/assets/{tokens-DxrBW512.js → tokens-CNT4mI-f.js} +162 -50
  230. package/bundle/web-dist/server/assets/total-cost-fTE9Xy82.js +18 -0
  231. package/bundle/web-dist/server/assets/use-oauth-login-flow-jkAkT3X6.js +2345 -0
  232. package/bundle/web-dist/server/assets/{use-update-token-mutation-pkArIzCP.js → use-update-token-mutation-Sm6kh02m.js} +1 -1
  233. package/bundle/web-dist/server/entry-server.generated.js +1644 -21655
  234. package/dist/cli.js +9 -9
  235. package/package.json +4 -11
  236. package/postinstall.mjs +12 -0
  237. package/skills/qgrid/SKILL.md +1 -0
  238. package/skills/qgrid/references/cli-env-and-server-boot.md +4 -1
  239. package/skills/qgrid/references/decision-rationale.md +23 -0
  240. package/skills/qgrid/references/grok-runtime.md +89 -0
  241. package/skills/qgrid/references/provider-runtime-differences.md +30 -29
  242. package/skills/qgrid/references/repo-map.md +10 -0
  243. package/skills/qgrid/references/token-auth-quota-lifecycle.md +56 -3
  244. package/bundle/dist/node_modules/.pnpm/@jridgewell_sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.js +0 -406
  245. package/bundle/dist/node_modules/.pnpm/@vitest_expect@4.1.10/node_modules/@vitest/expect/dist/index.js +0 -1507
  246. package/bundle/dist/node_modules/.pnpm/@vitest_pretty-format@4.1.10/node_modules/@vitest/pretty-format/dist/index.js +0 -887
  247. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js +0 -2756
  248. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/index.js +0 -8
  249. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/utils.js +0 -8
  250. package/bundle/dist/node_modules/.pnpm/@vitest_snapshot@4.1.10/node_modules/@vitest/snapshot/dist/index.js +0 -922
  251. package/bundle/dist/node_modules/.pnpm/@vitest_spy@4.1.10/node_modules/@vitest/spy/dist/index.js +0 -386
  252. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js +0 -121
  253. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/constants.js +0 -51
  254. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/diff.js +0 -1317
  255. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/display.js +0 -561
  256. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/error.js +0 -40
  257. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/helpers.js +0 -272
  258. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/offset.js +0 -27
  259. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/serialize.js +0 -77
  260. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/source-map.js +0 -381
  261. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/timers.js +0 -51
  262. package/bundle/dist/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js +0 -2986
  263. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.js +0 -10
  264. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.js +0 -109
  265. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.js +0 -10
  266. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.js +0 -10
  267. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.js +0 -10
  268. package/bundle/dist/node_modules/.pnpm/magic-string@0.30.21/node_modules/magic-string/dist/magic-string.es.js +0 -1126
  269. package/bundle/dist/node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/index.js +0 -21
  270. package/bundle/dist/node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.js +0 -432
  271. package/bundle/dist/node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.js +0 -517
  272. package/bundle/dist/node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.js +0 -101
  273. package/bundle/dist/node_modules/.pnpm/vite@8.0.3_@emnapi_core@1.11.2_@emnapi_runtime@1.11.2_@types_node@25.0.7_esbuild@0.27.4_5b35fc1fb85d2af4d105e0d74f940f50/node_modules/vite/dist/node/module-runner.js +0 -1265
  274. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js +0 -9
  275. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/benchmark.CX_oY03V.js +0 -41
  276. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/evaluatedModules.Dg1zASAC.js +0 -19
  277. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/index.Chj8NDwU.js +0 -202
  278. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/index.DdgEv5B1.js +0 -46
  279. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/rpc.MzXet3jl.js +0 -119
  280. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/test.DNmyFkvJ.js +0 -3044
  281. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.js +0 -59
  282. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/index.js +0 -28
  283. package/bundle/dist/testing/setup-mocks.js +0 -16
  284. package/bundle/src/testing/setup-mocks.ts +0 -44
  285. package/bundle/web-dist/client/assets/index-Bw2s88Ot.css +0 -1
  286. package/bundle/web-dist/client/assets/index-DZwzUfI-.js +0 -106
  287. package/bundle/web-dist/client/assets/logs-Cog79DU5.js +0 -1
  288. package/bundle/web-dist/client/assets/monit-2auznBys.js +0 -1
  289. package/bundle/web-dist/client/assets/routes-B0lTeLK-.js +0 -5
  290. package/bundle/web-dist/client/assets/settings-D8ZxZGSJ.js +0 -1
  291. package/bundle/web-dist/client/assets/show-CFSERlnM.js +0 -2
  292. package/bundle/web-dist/client/assets/tokens-CZXUyI7O.js +0 -1
  293. package/bundle/web-dist/client/assets/use-oauth-login-flow-hboOs3wG.js +0 -1
  294. package/bundle/web-dist/client/assets/use-update-token-mutation-BQHS0byG.js +0 -1
  295. package/bundle/web-dist/server/assets/use-oauth-login-flow-Gn8flMK5.js +0 -178
  296. package/dist/cli.d.ts +0 -10
  297. /package/bundle/web-dist/client/assets/{cost-DH2jZbrw.js → cost-DB3HbU7T.js} +0 -0
  298. /package/bundle/web-dist/client/assets/{plus-B62CuqT8.js → plus-BsQdY7PS.js} +0 -0
  299. /package/bundle/web-dist/client/assets/{preload-helper-ca-nBW7U.js → preload-helper-DWTEM3RW.js} +0 -0
  300. /package/bundle/web-dist/client/assets/{refresh-cw-NNcU0Cmq.js → refresh-cw-D9IUmT23.js} +0 -0
  301. /package/bundle/web-dist/client/assets/{request-model-CojtinqK.js → request-model-Bpp_rkK8.js} +0 -0
  302. /package/bundle/web-dist/server/assets/{cost-eEHeTRT5.js → cost-BC9yzyA9.js} +0 -0
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{v as t}from"./vendor-tanstack-DRPs09ai.js";import{i as n,r}from"./vendor-react-DH4kUfK2.js";import{a as i,o as a}from"./services.generated-B5lc3aIC.js";import{s as o}from"./index-C96h3feE.js";import{t as s}from"./use-update-token-mutation-qKBC2sn7.js";import{t as c}from"./plus-BsQdY7PS.js";var l=e(n()),u=r(),d=e=>(0,u.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,u.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,children:[(0,u.jsx)(`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0`}),(0,u.jsx)(`circle`,{cx:12,cy:12,r:3})]})}),f=e=>(0,u.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,u.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,children:[(0,u.jsx)(`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242`}),(0,u.jsx)(`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20`})]})}),p=e=>(0,u.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,u.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M5 12h14`})}),m=new Map([[`qgrid`,`Qgrid`],[`slack`,`Slack 알림`],[`slackConnection`,`Slack 연결`]]);function h(e){return e?e.length<=12?`•`.repeat(e.length):`${e.slice(0,8)}${`•`.repeat(12)}${e.slice(-4)}`:``}function g({value:e,min:t,max:n,step:r,disabled:i,onChange:a}){let o=Number(e),s=Number.isFinite(o),l=t??-1/0,d=n??1/0,f=e=>{let n=Math.min(Math.max((s?o:t??0)+e,l),d);a(String(Number(n.toFixed(2))))};return(0,u.jsxs)(`div`,{className:`inline-flex items-center rounded-lg border border-sand-200/80 bg-white overflow-hidden`,children:[(0,u.jsx)(`button`,{type:`button`,"aria-label":`감소`,onClick:()=>f(-r),disabled:i||s&&o<=l,className:`size-7 grid place-items-center text-sand-500 hover:bg-sand-100 disabled:opacity-30 disabled:hover:bg-transparent transition-colors duration-150`,children:(0,u.jsx)(p,{className:`size-3`})}),(0,u.jsx)(`input`,{value:e,onChange:e=>a(e.target.value),disabled:i,inputMode:`decimal`,className:`w-12 text-center text-[12px] tabular-nums text-sand-800 bg-transparent border-x border-sand-200/80 py-1 focus:outline-none focus:bg-sand-50`}),(0,u.jsx)(`button`,{type:`button`,"aria-label":`증가`,onClick:()=>f(r),disabled:i||s&&o>=d,className:`size-7 grid place-items-center text-sand-500 hover:bg-sand-100 disabled:opacity-30 disabled:hover:bg-transparent transition-colors duration-150`,children:(0,u.jsx)(c,{className:`size-3`})})]})}function _({value:e,presets:t,disabled:n,onChange:r}){let i=Number(e);return(0,u.jsx)(`div`,{className:`segmented-control inline-flex`,children:t.map(e=>(0,u.jsx)(`button`,{type:`button`,disabled:n,"data-active":i===e,onClick:()=>r(String(e)),className:`rounded-[6px] px-2.5 py-1 text-[11px] font-medium tabular-nums text-sand-500 transition-colors hover:text-sand-800 disabled:opacity-50 data-[active=true]:text-sand-900`,children:e>=60?`${e/60}시간`:`${e}분`},e))})}function v({source:e}){return(0,u.jsx)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded ${e===`db`?`bg-sienna-50 text-sienna-600`:`bg-sand-100 text-sand-500`}`,children:e===`db`?`저장값`:e===`env`?`환경변수`:`기본값`})}function y({on:e,disabled:t,onChange:n}){return(0,u.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,disabled:t,onClick:()=>n(!e),className:`relative inline-flex h-5 w-9 shrink-0 items-center rounded-full transition-colors duration-200 disabled:opacity-50 ${e?`bg-sage-400`:`bg-sand-300`}`,children:(0,u.jsx)(`span`,{className:`inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform duration-200 ${e?`translate-x-4.5`:`translate-x-0.5`}`})})}function b({item:e,disabled:n=!1}){let[r,a]=(0,l.useState)(null),[s,c]=(0,l.useState)(!1),[p,m]=(0,l.useState)(null),b=t(),x=i.useUpdateSettingMutation(),S=i.useResetSettingMutation(),C=n||x.isPending||S.isPending,w=r??e.value,T=r!==null&&r!==e.value,E=()=>b.invalidateQueries({queryKey:i.getSettingListQueryOptions().queryKey}),D=async t=>{m(null);try{await x.mutateAsync({key:e.key,value:t}),await E(),a(null)}catch(e){m(e instanceof Error?e.message:String(e))}},O=async()=>{m(null);try{await S.mutateAsync({key:e.key}),await E(),a(null)}catch(e){m(e instanceof Error?e.message:String(e))}},k=e.kind===`secret`;return(0,u.jsxs)(`div`,{className:`px-4 py-3 sm:px-5`,children:[(0,u.jsxs)(`div`,{className:`flex items-start gap-4`,children:[(0,u.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,u.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,u.jsx)(`span`,{className:`text-[13px] text-sand-800`,children:e.label}),(0,u.jsx)(v,{source:e.source}),e.applies===`restart`&&(0,u.jsx)(`span`,{className:`text-[10px] text-caution-500`,title:`저장해도 다음 재시작부터 반영됩니다`,children:`재시작 필요`})]}),e.help&&(0,u.jsx)(`p`,{className:`mt-0.5 text-[11px] text-sand-500`,children:e.help})]}),(0,u.jsxs)(`div`,{className:`flex items-center gap-1.5 shrink-0`,children:[e.kind===`boolean`&&(0,u.jsx)(y,{on:w===`true`,disabled:C,onChange:e=>void D(String(e))}),e.kind===`preset`&&(0,u.jsx)(_,{value:w,presets:e.presets,disabled:C,onChange:e=>void D(e)}),(e.kind===`integer`||e.kind===`number`)&&(0,u.jsx)(g,{value:w,min:e.min,max:e.max,step:e.kind===`integer`?1:.5,disabled:C,onChange:a}),(e.kind===`string`||k)&&(0,u.jsxs)(`div`,{className:`relative`,children:[(0,u.jsx)(`input`,{value:k&&!s?h(w):w,onChange:e=>a(e.target.value),onFocus:()=>k&&c(!0),disabled:C,className:`w-48 sm:w-64 rounded-lg border border-sand-200/80 bg-white py-1.5 pl-2.5 text-[12px] text-sand-800 focus:outline-none focus:border-sienna-300 ${k?`pr-8 font-mono`:`pr-2.5`}`}),k&&(0,u.jsx)(`button`,{type:`button`,"aria-label":s?`값 숨기기`:`값 보기`,onClick:()=>c(e=>!e),className:`absolute right-1.5 top-1/2 -translate-y-1/2 size-6 grid place-items-center text-sand-400 hover:text-sand-600 transition-colors duration-150`,children:s?(0,u.jsx)(f,{className:`size-3.5`}):(0,u.jsx)(d,{className:`size-3.5`})})]}),T&&(0,u.jsx)(`button`,{type:`button`,onClick:()=>void D(w),disabled:C,className:`px-2.5 py-1.5 text-[11px] font-medium rounded-lg bg-sienna-400 text-white hover:bg-sienna-500 disabled:opacity-50 transition-colors duration-150`,children:x.isPending?`저장 중`:`저장`}),!T&&e.source===`db`&&(0,u.jsx)(`button`,{type:`button`,title:`저장값을 지웁니다 — 환경변수 또는 기본값으로 돌아갑니다`,onClick:()=>void O(),disabled:C,className:`size-7 grid place-items-center rounded-lg text-sand-400 hover:text-sand-600 hover:bg-sand-100 disabled:opacity-50 transition-colors duration-150`,children:(0,u.jsx)(o,{className:`size-3.5`})})]})]}),p&&(0,u.jsx)(`p`,{className:`mt-1.5 text-[11px] text-red-500`,children:p})]})}function x({runnerEnabled:e}){let n=t(),[r,i]=(0,l.useState)(null),o=a.useTokens(`A`,{orderBy:`ord-asc`,num:100}),c=s(),d=(o.data?.rows??[]).filter(e=>e.provider===`anthropic`),f=async(e,t)=>{i(null);try{await c.mutateAsync({id:e,keepaliveEnabled:t}),await n.invalidateQueries({queryKey:[`Token`,`getTokens`]})}catch(e){i(e instanceof Error?e.message:String(e))}};return(0,u.jsxs)(`div`,{className:`border-t border-sand-100/80 bg-sand-50/40 px-4 py-3 sm:px-5`,children:[(0,u.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-3`,children:[(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`p`,{className:`text-[11px] font-medium text-sand-600`,children:`토큰별 keepalive`}),(0,u.jsx)(`p`,{className:`mt-0.5 text-[10px] text-sand-400`,children:e?`켜진 활성 Anthropic 토큰만 5시간 윈도우를 유지합니다`:`이 인스턴스는 keepalive runner로 지정되지 않았습니다`})]}),(0,u.jsx)(`span`,{className:`shrink-0 rounded px-1.5 py-0.5 text-[10px] ${e?`bg-sage-50 text-sage-600`:`bg-sand-100 text-sand-500`}`,children:e?`runner`:`실행 안 함`})]}),o.isLoading?(0,u.jsx)(`p`,{className:`py-2 text-[11px] text-sand-400`,children:`토큰을 불러오는 중…`}):d.length===0?(0,u.jsx)(`p`,{className:`py-2 text-[11px] text-sand-400`,children:`등록된 Anthropic 토큰이 없습니다`}):(0,u.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-sand-200/70 bg-white`,children:d.map(t=>(0,u.jsxs)(`div`,{className:`flex items-center justify-between gap-4 border-b border-sand-100/80 px-3 py-2 last:border-b-0`,children:[(0,u.jsxs)(`div`,{className:`min-w-0`,children:[(0,u.jsx)(`span`,{className:`block truncate text-[12px] text-sand-700`,children:t.name}),!t.active&&(0,u.jsx)(`span`,{className:`text-[10px] text-sand-400`,children:`토큰 비활성`})]}),(0,u.jsx)(y,{on:t.keepalive_enabled,disabled:!e||c.isPending,onChange:e=>void f(t.id,e)})]},t.id))}),r&&(0,u.jsx)(`p`,{className:`mt-2 text-[11px] text-red-500`,children:r})]})}function S(){let[e,t]=(0,l.useState)(null),n=i.useTriggerExpiryReminderMutation(),r=async()=>{t(null);try{let{sent:e}=await n.mutateAsync();t(e===0?`재로그인이 필요한 토큰이 없습니다`:`${e}건 발송`)}catch(e){t(e instanceof Error?e.message:String(e))}};return(0,u.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e&&(0,u.jsx)(`span`,{className:`text-[11px] text-sand-500`,children:e}),(0,u.jsx)(`button`,{type:`button`,onClick:()=>void r(),disabled:n.isPending,className:`px-2 py-1 text-[11px] rounded-lg border border-sand-200/80 text-sand-600 hover:bg-sand-100 disabled:opacity-50 transition-colors duration-150`,children:n.isPending?`보내는 중`:`지금 보내기`})]})}function C(){let e=i.useSettingList(),{data:t,isLoading:n}=e;if(n)return(0,u.jsx)(`div`,{className:`space-y-4`,children:[0,1].map(e=>(0,u.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,u.jsx)(`div`,{className:`panel-header px-4 py-2.5 sm:px-5`,children:(0,u.jsx)(`div`,{className:`h-3 w-24 rounded bg-sand-200 animate-pulse`})}),(0,u.jsx)(`div`,{className:`divide-y divide-sand-100/80`,children:[0,1,2].map(e=>(0,u.jsxs)(`div`,{className:`px-4 py-3 sm:px-5 flex items-center justify-between gap-4`,children:[(0,u.jsx)(`div`,{className:`h-3 w-40 rounded bg-sand-100 animate-pulse`}),(0,u.jsx)(`div`,{className:`h-7 w-24 rounded-lg bg-sand-100 animate-pulse`})]},e))})]},e))});if(e.isError&&!t)return(0,u.jsxs)(`div`,{className:`panel px-5 py-6 text-center`,children:[(0,u.jsx)(`p`,{className:`text-[13px] font-medium text-sand-800`,children:`설정을 불러오지 못했습니다`}),(0,u.jsx)(`p`,{className:`mt-1 text-[11px] text-red-500`,children:e.error.message}),(0,u.jsx)(`button`,{type:`button`,onClick:()=>void e.refetch(),disabled:e.isFetching,className:`mt-3 px-3 py-1.5 text-[12px] rounded-lg border border-sand-200 text-sand-600 hover:bg-sand-100 disabled:opacity-50`,children:e.isFetching?`다시 불러오는 중`:`다시 시도`})]});let r=t?.settings??[],a=t?.runtime??[],o=[...new Set(r.map(e=>e.group))];return(0,u.jsxs)(`div`,{className:`space-y-4`,children:[(0,u.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,u.jsxs)(`div`,{className:`panel-header flex items-center justify-between px-4 py-2.5 sm:px-5`,children:[(0,u.jsx)(`span`,{className:`text-[13px] font-medium text-sand-700`,children:`환경`}),(0,u.jsx)(`span`,{className:`text-[11px] text-sand-400`,children:`기동 시점 값`})]}),(0,u.jsx)(`dl`,{className:`px-4 py-3 sm:px-5 grid grid-cols-1 sm:grid-cols-2 gap-x-8 gap-y-1.5`,children:a.map(e=>(0,u.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3 min-w-0`,children:[(0,u.jsx)(`dt`,{className:`text-[11px] text-sand-500 shrink-0`,children:e.label}),(0,u.jsx)(`dd`,{className:`text-[12px] font-mono text-sand-700 truncate`,children:e.value})]},e.label))})]}),o.map(e=>{let n=r.filter(t=>t.group===e);return(0,u.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,u.jsxs)(`div`,{className:`panel-header flex items-center justify-between px-4 py-2.5 sm:px-5`,children:[(0,u.jsx)(`span`,{className:`text-[13px] font-medium text-sand-700`,children:m.get(e)??e}),e===`slack`&&(0,u.jsx)(S,{})]}),(0,u.jsx)(`div`,{className:`divide-y divide-sand-100/80`,children:n.map(e=>(0,u.jsxs)(`div`,{children:[(0,u.jsx)(b,{item:e,disabled:e.key===`qgrid.tokenWindowKeepaliveEnabled`&&!t?.keepaliveRunnerEnabled}),e.key===`qgrid.tokenWindowKeepaliveEnabled`&&(0,u.jsx)(x,{runnerEnabled:t?.keepaliveRunnerEnabled??!1})]},e.key))})]},e)})]})}function w(){return(0,u.jsx)(`div`,{className:`max-w-4xl mx-auto`,children:(0,u.jsx)(C,{})})}export{w as component};
@@ -0,0 +1,2 @@
1
+ import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{g as t,l as n}from"./vendor-tanstack-DRPs09ai.js";import{i as r,r as i}from"./vendor-react-DH4kUfK2.js";import{C as a,D as o,E as s,T as c,g as l,i as u,r as d,u as f,w as p,x as m}from"./services.generated-B5lc3aIC.js";import{c as h,l as g,o as _,t as v}from"./index-C96h3feE.js";import{n as y,t as b}from"./cost-DB3HbU7T.js";import{n as x,t as S}from"./request-model-Bpp_rkK8.js";function C(){return C=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},C.apply(null,arguments)}function w(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var T=e(r()),E=i(),D={},ee=(0,T.createContext)(D),te=(e,t)=>C({},e,t),ne=()=>(0,T.useContext)(ee),O=(0,T.createContext)(()=>{});O.displayName=`JVR.DispatchShowTools`;function re(){return(0,T.useReducer)(te,D)}function ie(){return(0,T.useContext)(O)}var ae=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,E.jsx)(ee.Provider,{value:t,children:(0,E.jsx)(O.Provider,{value:n,children:r})})};ae.displayName=`JVR.ShowTools`;var oe={},se=(0,T.createContext)(oe),ce=(e,t)=>C({},e,t),k=()=>(0,T.useContext)(se),le=(0,T.createContext)(()=>{});le.displayName=`JVR.DispatchExpands`;function ue(){return(0,T.useReducer)(ce,oe)}function de(){return(0,T.useContext)(le)}var fe=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,E.jsx)(se.Provider,{value:t,children:(0,E.jsx)(le.Provider,{value:n,children:r})})};fe.displayName=`JVR.Expands`;var pe={Str:{as:`span`,"data-type":`string`,style:{color:`var(--w-rjv-type-string-color, #cb4b16)`},className:`w-rjv-type`,children:`string`},Url:{as:`a`,style:{color:`var(--w-rjv-type-url-color, #0969da)`},"data-type":`url`,className:`w-rjv-type`,children:`url`},Undefined:{style:{color:`var(--w-rjv-type-undefined-color, #586e75)`},as:`span`,"data-type":`undefined`,className:`w-rjv-type`,children:`undefined`},Null:{style:{color:`var(--w-rjv-type-null-color, #d33682)`},as:`span`,"data-type":`null`,className:`w-rjv-type`,children:`null`},Map:{style:{color:`var(--w-rjv-type-map-color, #268bd2)`,marginRight:3},as:`span`,"data-type":`map`,className:`w-rjv-type`,children:`Map`},Nan:{style:{color:`var(--w-rjv-type-nan-color, #859900)`},as:`span`,"data-type":`nan`,className:`w-rjv-type`,children:`NaN`},Bigint:{style:{color:`var(--w-rjv-type-bigint-color, #268bd2)`},as:`span`,"data-type":`bigint`,className:`w-rjv-type`,children:`bigint`},Int:{style:{color:`var(--w-rjv-type-int-color, #268bd2)`},as:`span`,"data-type":`int`,className:`w-rjv-type`,children:`int`},Set:{style:{color:`var(--w-rjv-type-set-color, #268bd2)`,marginRight:3},as:`span`,"data-type":`set`,className:`w-rjv-type`,children:`Set`},Float:{style:{color:`var(--w-rjv-type-float-color, #859900)`},as:`span`,"data-type":`float`,className:`w-rjv-type`,children:`float`},True:{style:{color:`var(--w-rjv-type-boolean-color, #2aa198)`},as:`span`,"data-type":`bool`,className:`w-rjv-type`,children:`bool`},False:{style:{color:`var(--w-rjv-type-boolean-color, #2aa198)`},as:`span`,"data-type":`bool`,className:`w-rjv-type`,children:`bool`},Date:{style:{color:`var(--w-rjv-type-date-color, #268bd2)`},as:`span`,"data-type":`date`,className:`w-rjv-type`,children:`date`}},me=(0,T.createContext)(pe),he=(e,t)=>C({},e,t),A=()=>(0,T.useContext)(me),ge=(0,T.createContext)(()=>{});ge.displayName=`JVR.DispatchTypes`;function _e(){return(0,T.useReducer)(he,pe)}function ve(){return(0,T.useContext)(ge)}function ye(e){var{initial:t,dispatch:n,children:r}=e;return(0,E.jsx)(me.Provider,{value:t,children:(0,E.jsx)(ge.Provider,{value:n,children:r})})}ye.displayName=`JVR.Types`;var be=[`style`];function xe(e){var{style:t}=e,n=w(e,be);return(0,E.jsx)(`svg`,C({viewBox:`0 0 24 24`,fill:`var(--w-rjv-arrow-color, currentColor)`,style:C({cursor:`pointer`,height:`1em`,width:`1em`,userSelect:`none`,display:`inline-flex`},t)},n,{children:(0,E.jsx)(`path`,{d:`M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z`})}))}xe.displayName=`JVR.TriangleArrow`;var Se={Arrow:{as:`span`,className:`w-rjv-arrow`,style:{transform:`rotate(0deg)`,transition:`all 0.3s`},children:(0,E.jsx)(xe,{})},Colon:{as:`span`,style:{color:`var(--w-rjv-colon-color, var(--w-rjv-color))`,marginLeft:0,marginRight:2},className:`w-rjv-colon`,children:`:`},Quote:{as:`span`,style:{color:`var(--w-rjv-quotes-color, #236a7c)`},className:`w-rjv-quotes`,children:`"`},ValueQuote:{as:`span`,style:{color:`var(--w-rjv-quotes-string-color, #cb4b16)`},className:`w-rjv-quotes`,children:`"`},BracketsLeft:{as:`span`,style:{color:`var(--w-rjv-brackets-color, #236a7c)`},className:`w-rjv-brackets-start`,children:`[`},BracketsRight:{as:`span`,style:{color:`var(--w-rjv-brackets-color, #236a7c)`},className:`w-rjv-brackets-end`,children:`]`},BraceLeft:{as:`span`,style:{color:`var(--w-rjv-curlybraces-color, #236a7c)`},className:`w-rjv-curlybraces-start`,children:`{`},BraceRight:{as:`span`,style:{color:`var(--w-rjv-curlybraces-color, #236a7c)`},className:`w-rjv-curlybraces-end`,children:`}`}},Ce=(0,T.createContext)(Se),we=(e,t)=>C({},e,t),j=()=>(0,T.useContext)(Ce),Te=(0,T.createContext)(()=>{});Te.displayName=`JVR.DispatchSymbols`;function Ee(){return(0,T.useReducer)(we,Se)}function De(){return(0,T.useContext)(Te)}var Oe=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,E.jsx)(Ce.Provider,{value:t,children:(0,E.jsx)(Te.Provider,{value:n,children:r})})};Oe.displayName=`JVR.Symbols`;var ke={Copied:{className:`w-rjv-copied`,style:{height:`1em`,width:`1em`,cursor:`pointer`,verticalAlign:`middle`,marginLeft:5}},CountInfo:{as:`span`,className:`w-rjv-object-size`,style:{color:`var(--w-rjv-info-color, #0000004d)`,paddingLeft:8,fontStyle:`italic`}},CountInfoExtra:{as:`span`,className:`w-rjv-object-extra`,style:{paddingLeft:8}},Ellipsis:{as:`span`,style:{cursor:`pointer`,color:`var(--w-rjv-ellipsis-color, #cb4b16)`,userSelect:`none`},className:`w-rjv-ellipsis`,children:`...`},Row:{as:`div`,className:`w-rjv-line`},KeyName:{as:`span`,className:`w-rjv-object-key`}},Ae=(0,T.createContext)(ke),je=(e,t)=>C({},e,t),M=()=>(0,T.useContext)(Ae),N=(0,T.createContext)(()=>{});N.displayName=`JVR.DispatchSection`;function Me(){return(0,T.useReducer)(je,ke)}function Ne(){return(0,T.useContext)(N)}var Pe=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,E.jsx)(Ae.Provider,{value:t,children:(0,E.jsx)(N.Provider,{value:n,children:r})})};Pe.displayName=`JVR.Section`;var Fe={objectSortKeys:!1,indentWidth:15},P=(0,T.createContext)(Fe);P.displayName=`JVR.Context`;var Ie=(0,T.createContext)(()=>{});Ie.displayName=`JVR.DispatchContext`;function Le(e,t){return C({},e,t)}var F=()=>(0,T.useContext)(P),Re=e=>{var{children:t,initialState:n,initialTypes:r}=e,[i,a]=(0,T.useReducer)(Le,Object.assign({},Fe,n)),[o,s]=re(),[c,l]=ue(),[u,d]=_e(),[f,p]=Ee(),[m,h]=Me();return(0,T.useEffect)(()=>a(C({},n)),[n]),(0,E.jsx)(P.Provider,{value:i,children:(0,E.jsx)(Ie.Provider,{value:a,children:(0,E.jsx)(ae,{initial:o,dispatch:s,children:(0,E.jsx)(fe,{initial:c,dispatch:l,children:(0,E.jsx)(ye,{initial:C({},u,r),dispatch:d,children:(0,E.jsx)(Oe,{initial:f,dispatch:p,children:(0,E.jsx)(Pe,{initial:m,dispatch:h,children:t})})})})})})})};Re.displayName=`JVR.Provider`;function ze(e){if(e==null)throw TypeError(`Cannot destructure `+e)}var Be=[`isNumber`,`value`,`parentValue`,`keyName`,`keys`],Ve=[`as`,`render`],He=[`as`,`render`],Ue=[`as`,`render`],We=[`as`,`style`,`render`],Ge=[`as`,`render`],Ke=[`as`,`render`],qe=[`as`,`render`],Je=[`as`,`render`],I=e=>{var{Quote:t={}}=j(),{isNumber:n,value:r,parentValue:i,keyName:a,keys:o}=e,s=w(e,Be);if(n)return null;var{as:c,render:l}=t,u=w(t,Ve),d=c||`span`,f=C({},s,u);return typeof f.children==`string`&&(f.children=f.children.trim()||void 0),l&&typeof l==`function`&&l(f,{value:r,parentValue:i,keyName:a,keys:o||(a?[a]:[])})||(0,E.jsx)(d,C({},f))};I.displayName=`JVR.Quote`;var L=e=>{var{ValueQuote:t={}}=j(),n=C({},(ze(e),e)),{as:r,render:i}=t,a=w(t,He),o=r||`span`,s=C({},n,a);return i&&typeof i==`function`&&i(s,{})||(0,E.jsx)(o,C({},s))};L.displayName=`JVR.ValueQuote`;var Ye=e=>{var{value:t,parentValue:n,keyName:r,keys:i}=e,{Colon:a={}}=j(),{as:o,render:s}=a,c=w(a,Ue),l=o||`span`;return s&&typeof s==`function`&&s(c,{value:t,parentValue:n,keyName:r,keys:i||(r?[r]:[])})||(0,E.jsx)(l,C({},c))};Ye.displayName=`JVR.Colon`;var Xe=e=>{var{Arrow:t={}}=j(),n=k(),{expandKey:r,style:i,value:a,parentValue:o,keyName:s,keys:c}=e,l=!!n[r],{as:u,style:d,render:f}=t,p=w(t,We),m=u||`span`,h=f&&typeof f==`function`,g=C({},p,{"data-expanded":l,style:C({},d,i)});return h&&f(g,{value:a,parentValue:o,keyName:s,keys:c||(s?[s]:[])})||(0,E.jsx)(m,C({},p,{style:C({},d,i)}))};Xe.displayName=`JVR.Arrow`;var Ze=e=>{var{isBrackets:t,value:n,parentValue:r,keyName:i,keys:a}=e,{BracketsLeft:o={},BraceLeft:s={}}=j(),c={value:n,parentValue:r,keyName:i,keys:a||(i?[i]:[])};if(t){var{as:l,render:u}=o,d=w(o,Ge),f=l||`span`;return u&&typeof u==`function`&&u(d,c)||(0,E.jsx)(f,C({},d))}var{as:p,render:m}=s,h=w(s,Ke),g=p||`span`;return m&&typeof m==`function`&&m(h,c)||(0,E.jsx)(g,C({},h))};Ze.displayName=`JVR.BracketsOpen`;var R=e=>{var{isBrackets:t,isVisiable:n,value:r,parentValue:i,keyName:a,keys:o}=e,s={value:r,parentValue:i,keyName:a,keys:o||(a?[a]:[])};if(!n)return null;var{BracketsRight:c={},BraceRight:l={}}=j();if(t){var{as:u,render:d}=c,f=w(c,qe),p=u||`span`;return d&&typeof d==`function`&&d(f,s)||(0,E.jsx)(p,C({},f))}var{as:m,render:h}=l,g=w(l,Je),_=m||`span`;return h&&typeof h==`function`&&h(g,s)||(0,E.jsx)(_,C({},g))};R.displayName=`JVR.BracketsClose`;var Qe=e=>{var{keyName:t,value:n,expandKey:r,parentValue:i,level:a,keys:o=[]}=e,s=k(),{collapsed:c,shouldExpandNodeInitially:l}=F(),u=typeof c==`boolean`?c:typeof c==`number`?a>c:!1,d=s[r]??(l?!1:u),f=l&&l(!d,{value:n,keys:o,level:a,keyName:t,parentValue:i});if(l&&c===!1){if(s[r]===void 0&&!f)return null}else if(s[r]===void 0&&f)return null;var p=Object.keys(n).length;if(d||p===0)return null;var m={paddingLeft:4},h={keyName:t,value:n,keys:o,parentValue:i},g=Array.isArray(n),_=n instanceof Set;return(0,E.jsx)(`div`,{style:m,children:(0,E.jsx)(R,C({isBrackets:g||_},h,{isVisiable:!0}))})};Qe.displayName=`JVR.NestedClose`;var $e=[`as`,`render`],et=[`as`,`render`],tt=[`as`,`render`],nt=[`as`,`render`],rt=[`as`,`render`],it=[`as`,`render`],at=[`as`,`render`],ot=[`as`,`render`],st=[`as`,`render`],ct=[`as`,`render`],lt=[`as`,`render`],ut=[`as`,`render`],dt=[`as`,`render`],z=e=>{if(e===void 0)return`0n`;if(typeof e==`string`)try{e=BigInt(e)}catch{return`0n`}return e?e.toString()+`n`:`0n`},ft=e=>{var{value:t,keyName:n}=e,{Set:r={},displayDataTypes:i}=A();if(!(t instanceof Set)||!i)return null;var{as:a,render:o}=r,s=w(r,$e);return o&&typeof o==`function`&&o(s,{type:`type`,value:t,keyName:n})||(0,E.jsx)(a||`span`,C({},s))};ft.displayName=`JVR.SetComp`;var pt=e=>{var{value:t,keyName:n}=e,{Map:r={},displayDataTypes:i}=A();if(!(t instanceof Map)||!i)return null;var{as:a,render:o}=r,s=w(r,et);return o&&typeof o==`function`&&o(s,{type:`type`,value:t,keyName:n})||(0,E.jsx)(a||`span`,C({},s))};pt.displayName=`JVR.MapComp`;var B={opacity:.75,paddingRight:4},mt=e=>{var{children:t=``,keyName:n,keys:r}=e,{Str:i={},displayDataTypes:a}=A(),{shortenTextAfterLength:o=30,stringEllipsis:s=`...`}=F(),{as:c,render:l}=i,u=w(i,tt),d=t,[f,p]=(0,T.useState)(o&&d.length>o);(0,T.useEffect)(()=>p(o&&d.length>o),[o]);var m=c||`span`,h=C({},B,i.style||{});o>0&&(u.style=C({},u.style,{cursor:d.length<=o?`initial`:`pointer`}),d.length>o&&(u.onClick=()=>{p(!f)}));var g=f?``+d.slice(0,o)+s:d,_=l&&typeof l==`function`,v=_&&l(C({},u,{style:h}),{type:`type`,value:t,keyName:n,keys:r}),y=f?`w-rjv-value w-rjv-value-short`:`w-rjv-value`,b=_&&l(C({},u,{children:g,className:y}),{type:`value`,value:t,keyName:n,keys:r});return(0,E.jsxs)(T.Fragment,{children:[a&&(v||(0,E.jsx)(m,C({},u,{style:h}))),b||(0,E.jsxs)(T.Fragment,{children:[(0,E.jsx)(L,{}),(0,E.jsx)(m,C({},u,{className:y,children:g})),(0,E.jsx)(L,{})]})]})};mt.displayName=`JVR.TypeString`;var ht=e=>{var{children:t,keyName:n,keys:r}=e,{True:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=w(i,nt),l=o||`span`,u=C({},B,i.style||{}),d=s&&typeof s==`function`,f=d&&s(C({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(C({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,E.jsxs)(T.Fragment,{children:[a&&(f||(0,E.jsx)(l,C({},c,{style:u}))),p||(0,E.jsx)(l,C({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};ht.displayName=`JVR.TypeTrue`;var gt=e=>{var{children:t,keyName:n,keys:r}=e,{False:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=w(i,rt),l=o||`span`,u=C({},B,i.style||{}),d=s&&typeof s==`function`,f=d&&s(C({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(C({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,E.jsxs)(T.Fragment,{children:[a&&(f||(0,E.jsx)(l,C({},c,{style:u}))),p||(0,E.jsx)(l,C({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};gt.displayName=`JVR.TypeFalse`;var _t=e=>{var{children:t,keyName:n,keys:r}=e,{Float:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=w(i,it),l=o||`span`,u=C({},B,i.style||{}),d=s&&typeof s==`function`,f=d&&s(C({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(C({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,E.jsxs)(T.Fragment,{children:[a&&(f||(0,E.jsx)(l,C({},c,{style:u}))),p||(0,E.jsx)(l,C({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};_t.displayName=`JVR.TypeFloat`;var vt=e=>{var{children:t,keyName:n,keys:r}=e,{Int:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=w(i,at),l=o||`span`,u=C({},B,i.style||{}),d=s&&typeof s==`function`,f=d&&s(C({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(C({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,E.jsxs)(T.Fragment,{children:[a&&(f||(0,E.jsx)(l,C({},c,{style:u}))),p||(0,E.jsx)(l,C({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};vt.displayName=`JVR.TypeInt`;var yt=e=>{var{children:t,keyName:n,keys:r}=e,{Bigint:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=w(i,ot),l=o||`span`,u=C({},B,i.style||{}),d=s&&typeof s==`function`,f=d&&s(C({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(C({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,E.jsxs)(T.Fragment,{children:[a&&(f||(0,E.jsx)(l,C({},c,{style:u}))),p||(0,E.jsx)(l,C({},c,{className:`w-rjv-value`,children:z(t?.toString())}))]})};yt.displayName=`JVR.TypeFloat`;var bt=e=>{var{children:t,keyName:n,keys:r}=e,{Url:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=w(i,st),l=o||`span`,u=C({},B,i.style),d=s&&typeof s==`function`,f=d&&s(C({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(C({},c,{children:t?.href,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,E.jsxs)(T.Fragment,{children:[a&&(f||(0,E.jsx)(l,C({},c,{style:u}))),p||(0,E.jsxs)(`a`,C({href:t?.href,target:`_blank`},c,{className:`w-rjv-value`,children:[(0,E.jsx)(L,{}),t?.href,(0,E.jsx)(L,{})]}))]})};bt.displayName=`JVR.TypeUrl`;var xt=e=>{var{children:t,keyName:n,keys:r}=e,{Date:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=w(i,ct),l=o||`span`,u=C({},B,i.style||{}),d=s&&typeof s==`function`,f=d&&s(C({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=t instanceof Date?t.toLocaleString():t,m=d&&s(C({},c,{children:p,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,E.jsxs)(T.Fragment,{children:[a&&(f||(0,E.jsx)(l,C({},c,{style:u}))),m||(0,E.jsx)(l,C({},c,{className:`w-rjv-value`,children:p}))]})};xt.displayName=`JVR.TypeDate`;var St=e=>{var{children:t,keyName:n,keys:r}=e,{Undefined:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=w(i,lt),l=o||`span`,u=C({},B,i.style||{}),d=s&&typeof s==`function`,f=d&&s(C({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(C({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,E.jsxs)(T.Fragment,{children:[a&&(f||(0,E.jsx)(l,C({},c,{style:u}))),p]})};St.displayName=`JVR.TypeUndefined`;var Ct=e=>{var{children:t,keyName:n,keys:r}=e,{Null:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=w(i,ut),l=o||`span`,u=C({},B,i.style||{}),d=s&&typeof s==`function`,f=d&&s(C({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(C({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,E.jsxs)(T.Fragment,{children:[a&&(f||(0,E.jsx)(l,C({},c,{style:u}))),p]})};Ct.displayName=`JVR.TypeNull`;var wt=e=>{var{children:t,keyName:n,keys:r}=e,{Nan:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=w(i,dt),l=o||`span`,u=C({},B,i.style||{}),d=s&&typeof s==`function`,f=d&&s(C({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(C({},c,{children:t?.toString(),className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,E.jsxs)(T.Fragment,{children:[a&&(f||(0,E.jsx)(l,C({},c,{style:u}))),p]})};wt.displayName=`JVR.TypeNan`;var Tt=e=>Number(e)===e&&e%1!=0||isNaN(e),Et=e=>{var{value:t,keyName:n,keys:r}=e,i={keyName:n,keys:r};return t instanceof URL?(0,E.jsx)(bt,C({},i,{children:t})):typeof t==`string`?(0,E.jsx)(mt,C({},i,{children:t})):t===!0?(0,E.jsx)(ht,C({},i,{children:t})):t===!1?(0,E.jsx)(gt,C({},i,{children:t})):t===null?(0,E.jsx)(Ct,C({},i,{children:t})):t===void 0?(0,E.jsx)(St,C({},i,{children:t})):t instanceof Date?(0,E.jsx)(xt,C({},i,{children:t})):typeof t==`number`&&isNaN(t)?(0,E.jsx)(wt,C({},i,{children:t})):typeof t==`number`&&Tt(t)?(0,E.jsx)(_t,C({},i,{children:t})):typeof t==`bigint`?(0,E.jsx)(yt,C({},i,{children:t})):typeof t==`number`?(0,E.jsx)(vt,C({},i,{children:t})):null};Et.displayName=`JVR.Value`;function V(e,t,n){var r=De(),i=C({},e,t,{className:[e.className,t.className].filter(Boolean).join(` `),style:C({},e.style,t.style),children:t.children||e.children});(0,T.useEffect)(()=>r({[n]:i}),[t])}function H(e,t,n){var r=ve(),i=C({},e,t,{className:[e.className,t.className].filter(Boolean).join(` `),style:C({},e.style,t.style),children:t.children||e.children});(0,T.useEffect)(()=>r({[n]:i}),[t])}function U(e,t,n){var r=Ne(),i=C({},e,t,{className:[e.className,t.className].filter(Boolean).join(` `),style:C({},e.style,t.style),children:t.children||e.children});(0,T.useEffect)(()=>r({[n]:i}),[t])}var Dt=[`as`,`render`],Ot=e=>{var{KeyName:t={}}=M();return U(t,e,`KeyName`),null};Ot.displayName=`JVR.KeyName`;var kt=e=>{var{children:t,value:n,parentValue:r,keyName:i,keys:a}=e,o={color:typeof t==`number`?`var(--w-rjv-key-number, #268bd2)`:`var(--w-rjv-key-string, #002b36)`},{KeyName:s={}}=M(),{as:c,render:l}=s,u=w(s,Dt);u.style=C({},u.style,o);var d=c||`span`;return l&&typeof l==`function`&&l(C({},u,{children:t}),{value:n,parentValue:r,keyName:i,keys:a||(i?[i]:[])})||(0,E.jsx)(d,C({},u,{children:t}))};kt.displayName=`JVR.KeyNameComp`;var At=[`children`,`value`,`parentValue`,`keyName`,`keys`],jt=[`as`,`render`,`children`],Mt=e=>{var{Row:t={}}=M();return U(t,e,`Row`),null};Mt.displayName=`JVR.Row`;var Nt=e=>{var{children:t,value:n,parentValue:r,keyName:i,keys:a}=e,o=w(e,At),{Row:s={}}=M(),{as:c,render:l}=s,u=w(s,jt),d=c||`div`;return l&&typeof l==`function`&&l(C({},o,u,{children:t}),{value:n,keyName:i,parentValue:r,keys:a})||(0,E.jsx)(d,C({},o,u,{children:t}))};Nt.displayName=`JVR.RowComp`;function Pt(e){var t=(0,T.useRef)();return(0,T.useEffect)(()=>{t.current=e}),t.current}function Ft(e){var{value:t,highlightUpdates:n,highlightContainer:r}=e,i=Pt(t),a=(0,T.useMemo)(()=>{if(!n||i===void 0)return!1;if(typeof t!=typeof i)return!0;if(typeof t==`number`)return isNaN(t)&&isNaN(i)?!1:t!==i;if(Array.isArray(t)!==Array.isArray(i))return!0;if(typeof t==`object`||typeof t==`function`)return!1;if(t!==i)return!0},[n,t]);(0,T.useEffect)(()=>{r&&r.current&&a&&`animate`in r.current&&r.current.animate([{backgroundColor:`var(--w-rjv-update-color, #ebcb8b)`},{backgroundColor:``}],{duration:1e3,easing:`ease-in`})},[a,t,r])}var It=[`keyName`,`value`,`parentValue`,`expandKey`,`keys`,`beforeCopy`],Lt=[`as`,`render`],W=e=>{var{keyName:t,value:n,parentValue:r,expandKey:i,keys:a,beforeCopy:o}=e,s=w(e,It),{onCopied:c,enableClipboard:l,beforeCopy:u}=F(),d=ne()[i],[f,p]=(0,T.useState)(!1),{Copied:m={}}=M(),h=m?.beforeCopy;if(l===!1||!d)return null;var g={style:{display:`inline-flex`},fill:f?`var(--w-rjv-copied-success-color, #28a745)`:`var(--w-rjv-copied-color, currentColor)`,onClick:e=>{e.stopPropagation();var s=``;s=typeof n==`number`&&n===1/0?`Infinity`:typeof n==`number`&&isNaN(n)?`NaN`:typeof n==`bigint`?z(n):n instanceof Date?n.toLocaleString():JSON.stringify(n,(e,t)=>typeof t==`bigint`?z(t):t,2);var l=o||h||u;l&&typeof l==`function`&&(s=l(s,t,n,r,i,a)),c&&c(s,n),p(!0),(navigator.clipboard||{writeText(e){return new Promise((t,n)=>{var r=document.createElement(`textarea`);r.style.position=`absolute`,r.style.opacity=`0`,r.style.left=`-99999999px`,r.value=e,document.body.appendChild(r),r.select(),document.execCommand(`copy`)?t():n(),r.remove()})}}).writeText(s).then(()=>{var e=setTimeout(()=>{p(!1),clearTimeout(e)},3e3)}).catch(e=>{})}},{render:_}=m,v=w(m,Lt),y=C({},v,s,g,{style:C({},v.style,s.style,g.style)});return _&&typeof _==`function`&&_(C({},y,{"data-copied":f}),{value:n,keyName:t,keys:a,parentValue:r})||(f?(0,E.jsx)(`svg`,C({viewBox:`0 0 32 36`},y,{children:(0,E.jsx)(`path`,{d:`M27.5,33 L2.5,33 L2.5,12.5 L27.5,12.5 L27.5,15.2249049 C29.1403264,13.8627542 29.9736597,13.1778155 30,13.1700887 C30,11.9705278 30,10.0804982 30,7.5 C30,6.1 28.9,5 27.5,5 L20,5 C20,2.2 17.8,0 15,0 C12.2,0 10,2.2 10,5 L2.5,5 C1.1,5 0,6.1 0,7.5 L0,33 C0,34.4 1.1,36 2.5,36 L27.5,36 C28.9,36 30,34.4 30,33 L30,26.1114493 L27.5,28.4926435 L27.5,33 Z M7.5,7.5 L10,7.5 C10,7.5 12.5,6.4 12.5,5 C12.5,3.6 13.6,2.5 15,2.5 C16.4,2.5 17.5,3.6 17.5,5 C17.5,6.4 18.8,7.5 20,7.5 L22.5,7.5 C22.5,7.5 25,8.6 25,10 L5,10 C5,8.5 6.1,7.5 7.5,7.5 Z M5,27.5 L10,27.5 L10,25 L5,25 L5,27.5 Z M28.5589286,16 L32,19.6 L21.0160714,30.5382252 L13.5303571,24.2571429 L17.1303571,20.6571429 L21.0160714,24.5428571 L28.5589286,16 Z M17.5,15 L5,15 L5,17.5 L17.5,17.5 L17.5,15 Z M10,20 L5,20 L5,22.5 L10,22.5 L10,20 Z`})})):(0,E.jsx)(`svg`,C({viewBox:`0 0 32 36`},y,{children:(0,E.jsx)(`path`,{d:`M27.5,33 L2.5,33 L2.5,12.5 L27.5,12.5 L27.5,20 L30,20 L30,7.5 C30,6.1 28.9,5 27.5,5 L20,5 C20,2.2 17.8,0 15,0 C12.2,0 10,2.2 10,5 L2.5,5 C1.1,5 0,6.1 0,7.5 L0,33 C0,34.4 1.1,36 2.5,36 L27.5,36 C28.9,36 30,34.4 30,33 L30,29 L27.5,29 L27.5,33 Z M7.5,7.5 L10,7.5 C10,7.5 12.5,6.4 12.5,5 C12.5,3.6 13.6,2.5 15,2.5 C16.4,2.5 17.5,3.6 17.5,5 C17.5,6.4 18.8,7.5 20,7.5 L22.5,7.5 C22.5,7.5 25,8.6 25,10 L5,10 C5,8.5 6.1,7.5 7.5,7.5 Z M5,27.5 L10,27.5 L10,25 L5,25 L5,27.5 Z M22.5,21.5 L22.5,16.5 L12.5,24 L22.5,31.5 L22.5,26.5 L32,26.5 L32,21.5 L22.5,21.5 Z M17.5,15 L5,15 L5,17.5 L17.5,17.5 L17.5,15 Z M10,20 L5,20 L5,22.5 L10,22.5 L10,20 Z`})})))};W.displayName=`JVR.Copied`;function Rt(){var e=(0,T.useRef)(null);return e.current===null&&(e.current=`custom-id-`+Math.random().toString(36).substr(2,9)),e.current}var zt=e=>{var{keyName:t,value:n,expandKey:r=``,level:i,keys:a=[],parentValue:o}=e,s=k(),{objectSortKeys:c,indentWidth:l,collapsed:u,shouldExpandNodeInitially:d}=F(),f=typeof u==`boolean`?u:typeof u==`number`?i>u:!1,p=s[r]??(d?!1:f),m=d&&d(!p,{value:n,keys:a,level:i,keyName:t,parentValue:o});if(d&&u===!1){if(s[r]===void 0&&!m)return null}else if(s[r]===void 0&&m)return null;if(p)return null;var h=Array.isArray(n)?Object.entries(n).map(e=>[Number(e[0]),e[1]]):Object.entries(n);return c&&(h=c===!0?h.sort((e,t)=>{var[n]=e,[r]=t;return typeof n==`string`&&typeof r==`string`?n.localeCompare(r):0}):h.sort((e,t)=>{var[n,r]=e,[i,a]=t;return typeof n==`string`&&typeof i==`string`?c(n,i,r,a):0})),(0,E.jsx)(`div`,{className:`w-rjv-wrap`,style:{borderLeft:`var(--w-rjv-border-left-width, 1px) var(--w-rjv-line-style, solid) var(--w-rjv-line-color, #ebebeb)`,paddingLeft:l,marginLeft:6},children:h.map((e,t)=>{var[r,o]=e;return(0,E.jsx)(Vt,{parentValue:n,keyName:r,keys:[...a,r],value:o,level:i},t)})})};zt.displayName=`JVR.KeyValues`;var Bt=e=>{var{keyName:t,parentValue:n,keys:r,value:i}=e,{highlightUpdates:a}=F(),o=typeof t==`number`,s=(0,T.useRef)(null);Ft({value:i,highlightUpdates:a,highlightContainer:s});var c={keyName:t,value:i,keys:r,parentValue:n};return(0,E.jsxs)(T.Fragment,{children:[(0,E.jsxs)(`span`,{ref:s,children:[(0,E.jsx)(I,C({isNumber:o,"data-placement":`left`},c)),(0,E.jsx)(kt,C({},c,{children:t})),(0,E.jsx)(I,C({isNumber:o,"data-placement":`right`},c))]}),(0,E.jsx)(Ye,C({},c))]})};Bt.displayName=`JVR.KayName`;var Vt=e=>{var{keyName:t,value:n,parentValue:r,level:i=0,keys:a=[]}=e,o=ie(),s=Rt(),c=Array.isArray(n),l=n instanceof Set,u=n instanceof Map,d=n instanceof Date,f=n instanceof URL;return n&&typeof n==`object`&&!c&&!l&&!u&&!d&&!f||c||l||u?(0,E.jsx)(tn,{keyName:t,value:l?Array.from(n):u?Object.fromEntries(n):n,parentValue:r,initialValue:n,keys:a,level:i+1}):(0,E.jsxs)(Nt,C({className:`w-rjv-line`,value:n,keyName:t,keys:a,parentValue:r},{onMouseEnter:()=>o({[s]:!0}),onMouseLeave:()=>o({[s]:!1})},{children:[(0,E.jsx)(Bt,{keyName:t,value:n,keys:a,parentValue:r}),(0,E.jsx)(Et,{keyName:t,value:n,keys:a}),(0,E.jsx)(W,{keyName:t,value:n,keys:a,parentValue:r,expandKey:s})]}))};Vt.displayName=`JVR.KeyValuesItem`;var Ht=[`value`,`keyName`],Ut=[`as`,`render`],Wt=e=>{var{CountInfoExtra:t={}}=M();return U(t,e,`CountInfoExtra`),null};Wt.displayName=`JVR.CountInfoExtra`;var Gt=e=>{var{value:t={},keyName:n}=e,r=w(e,Ht),{CountInfoExtra:i={}}=M(),{as:a,render:o}=i,s=w(i,Ut);if(!o&&!s.children)return null;var c=a||`span`,l=o&&typeof o==`function`,u=C({},s,r);return l&&o(u,{value:t,keyName:n})||(0,E.jsx)(c,C({},u))};Gt.displayName=`JVR.CountInfoExtraComps`;var Kt=[`value`,`keyName`],qt=[`as`,`render`],Jt=e=>{var{CountInfo:t={}}=M();return U(t,e,`CountInfo`),null};Jt.displayName=`JVR.CountInfo`;var Yt=e=>{var{value:t={},keyName:n}=e,r=w(e,Kt),{displayObjectSize:i}=F(),{CountInfo:a={}}=M();if(!i)return null;var{as:o,render:s}=a,c=w(a,qt),l=o||`span`;c.style=C({},c.style,e.style);var u=Object.keys(t).length;c.children||=u+` item`+(u===1?``:`s`);var d=C({},c,r);return s&&typeof s==`function`&&s(C({},d,{"data-length":u}),{value:t,keyName:n})||(0,E.jsx)(l,C({},d))};Yt.displayName=`JVR.CountInfoComp`;var Xt=[`as`,`render`],Zt=e=>{var{Ellipsis:t={}}=M();return U(t,e,`Ellipsis`),null};Zt.displayName=`JVR.Ellipsis`;var Qt=e=>{var{isExpanded:t,value:n,keyName:r}=e,{Ellipsis:i={}}=M(),{as:a,render:o}=i,s=w(i,Xt),c=a||`span`;return o&&typeof o==`function`&&o(C({},s,{"data-expanded":t}),{value:n,keyName:r})||(!t||typeof n==`object`&&Object.keys(n).length==0?null:(0,E.jsx)(c,C({},s)))};Qt.displayName=`JVR.EllipsisComp`;var $t=e=>{var{keyName:t,expandKey:n,keys:r=[],initialValue:i,value:a,parentValue:o,level:s}=e,c=k(),l=de(),{onExpand:u,collapsed:d,shouldExpandNodeInitially:f}=F(),p=typeof d==`boolean`?d:typeof d==`number`?s>d:!1,m=c[n]??(f?!1:p),h=f&&f(!m,{value:a,keys:r,level:s,keyName:t,parentValue:o});c[n]===void 0&&f&&(m=!h);var g=()=>{var e={expand:!m,value:a,keyid:n,keyName:t};u&&u(e),l({[n]:e.expand})},_={display:`inline-flex`,alignItems:`center`},v={transform:`rotate(`+(m?`-90`:`0`)+`deg)`,transition:`all 0.3s`},y=Object.keys(a).length,b=typeof a==`object`,x=Array.isArray(a),S=a instanceof Set,w=y!==0&&(x||S||b),T={style:_};w&&(T.onClick=g);var D={keyName:t,value:a,keys:r,parentValue:o};return(0,E.jsxs)(`span`,C({},T,{children:[w&&(0,E.jsx)(Xe,C({style:v,expandKey:n},D)),(t||typeof t==`number`)&&(0,E.jsx)(Bt,C({},D)),(0,E.jsx)(ft,{value:i,keyName:t}),(0,E.jsx)(pt,{value:i,keyName:t}),(0,E.jsx)(Ze,C({isBrackets:x||S},D)),(0,E.jsx)(Qt,{keyName:t,value:a,isExpanded:m}),(0,E.jsx)(R,C({isVisiable:m||!w,isBrackets:x||S},D)),(0,E.jsx)(Yt,{value:a,keyName:t}),(0,E.jsx)(Gt,{value:a,keyName:t}),(0,E.jsx)(W,{keyName:t,value:a,expandKey:n,parentValue:o,keys:r})]}))};$t.displayName=`JVR.NestedOpen`;var en=[`className`,`children`,`parentValue`,`keyid`,`level`,`value`,`initialValue`,`keys`,`keyName`],tn=(0,T.forwardRef)((e,t)=>{var{className:n=``,parentValue:r,level:i=1,value:a,initialValue:o,keys:s,keyName:c}=e,l=w(e,en),u=ie(),d=Rt();return(0,E.jsxs)(`div`,C({className:[n,`w-rjv-inner`].filter(Boolean).join(` `),ref:t},l,{onMouseEnter:()=>u({[d]:!0}),onMouseLeave:()=>u({[d]:!1})},{children:[(0,E.jsx)($t,{expandKey:d,value:a,level:i,keys:s,parentValue:r,keyName:c,initialValue:o}),(0,E.jsx)(zt,{expandKey:d,value:a,level:i,keys:s,parentValue:r,keyName:c}),(0,E.jsx)(Qe,{expandKey:d,value:a,level:i,keys:s,parentValue:r,keyName:c})]}))});tn.displayName=`JVR.Container`;var nn=e=>{var{BraceLeft:t={}}=j();return V(t,e,`BraceLeft`),null};nn.displayName=`JVR.BraceLeft`;var rn=e=>{var{BraceRight:t={}}=j();return V(t,e,`BraceRight`),null};rn.displayName=`JVR.BraceRight`;var an=e=>{var{BracketsLeft:t={}}=j();return V(t,e,`BracketsLeft`),null};an.displayName=`JVR.BracketsLeft`;var on=e=>{var{BracketsRight:t={}}=j();return V(t,e,`BracketsRight`),null};on.displayName=`JVR.BracketsRight`;var sn=e=>{var{Arrow:t={}}=j();return V(t,e,`Arrow`),null};sn.displayName=`JVR.Arrow`;var cn=e=>{var{Colon:t={}}=j();return V(t,e,`Colon`),null};cn.displayName=`JVR.Colon`;var ln=e=>{var{Quote:t={}}=j();return V(t,e,`Quote`),null};ln.displayName=`JVR.Quote`;var un=e=>{var{ValueQuote:t={}}=j();return V(t,e,`ValueQuote`),null};un.displayName=`JVR.ValueQuote`;var dn=e=>{var{Bigint:t={}}=A();return H(t,e,`Bigint`),null};dn.displayName=`JVR.Bigint`;var fn=e=>{var{Date:t={}}=A();return H(t,e,`Date`),null};fn.displayName=`JVR.Date`;var pn=e=>{var{False:t={}}=A();return H(t,e,`False`),null};pn.displayName=`JVR.False`;var mn=e=>{var{Float:t={}}=A();return H(t,e,`Float`),null};mn.displayName=`JVR.Float`;var hn=e=>{var{Int:t={}}=A();return H(t,e,`Int`),null};hn.displayName=`JVR.Int`;var gn=e=>{var{Map:t={}}=A();return H(t,e,`Map`),null};gn.displayName=`JVR.Map`;var _n=e=>{var{Nan:t={}}=A();return H(t,e,`Nan`),null};_n.displayName=`JVR.Nan`;var vn=e=>{var{Null:t={}}=A();return H(t,e,`Null`),null};vn.displayName=`JVR.Null`;var yn=e=>{var{Set:t={}}=A();return H(t,e,`Set`),null};yn.displayName=`JVR.Set`;var bn=e=>{var{Str:t={}}=A();return H(t,e,`Str`),null};bn.displayName=`JVR.StringText`;var xn=e=>{var{True:t={}}=A();return H(t,e,`True`),null};xn.displayName=`JVR.True`;var Sn=e=>{var{Undefined:t={}}=A();return H(t,e,`Undefined`),null};Sn.displayName=`JVR.Undefined`;var Cn=e=>{var{Url:t={}}=A();return H(t,e,`Url`),null};Cn.displayName=`JVR.Url`;var wn=e=>{var{Copied:t={}}=M();return U(t,e,`Copied`),null};wn.displayName=`JVR.Copied`;var Tn=[`className`,`style`,`value`,`children`,`collapsed`,`shouldExpandNodeInitially`,`indentWidth`,`displayObjectSize`,`shortenTextAfterLength`,`stringEllipsis`,`highlightUpdates`,`enableClipboard`,`displayDataTypes`,`objectSortKeys`,`onExpand`,`onCopied`,`beforeCopy`],G=(0,T.forwardRef)((e,t)=>{var{className:n=``,style:r,value:i,children:a,collapsed:o=!1,shouldExpandNodeInitially:s,indentWidth:c=15,displayObjectSize:l=!0,shortenTextAfterLength:u=30,stringEllipsis:d,highlightUpdates:f=!0,enableClipboard:p=!0,displayDataTypes:m=!0,objectSortKeys:h=!1,onExpand:g,onCopied:_,beforeCopy:v}=e,y=w(e,Tn),b=C({lineHeight:1.4,fontFamily:`var(--w-rjv-font-family, Menlo, monospace)`,color:`var(--w-rjv-color, #002b36)`,backgroundColor:`var(--w-rjv-background-color, #00000000)`,fontSize:13},r),x=[`w-json-view-container`,`w-rjv`,n].filter(Boolean).join(` `);return(0,E.jsxs)(Re,{initialState:{value:i,objectSortKeys:h,indentWidth:c,shouldExpandNodeInitially:o===!1?s:void 0,displayObjectSize:l,collapsed:o,enableClipboard:p,shortenTextAfterLength:u,stringEllipsis:d,highlightUpdates:f,onCopied:_,onExpand:g,beforeCopy:v},initialTypes:{displayDataTypes:m},children:[(0,E.jsx)(tn,C({value:i},y,{ref:t,className:x,style:b})),a]})});G.Bigint=dn,G.Date=fn,G.False=pn,G.Float=mn,G.Int=hn,G.Map=gn,G.Nan=_n,G.Null=vn,G.Set=yn,G.String=bn,G.True=xn,G.Undefined=Sn,G.Url=Cn,G.ValueQuote=un,G.Arrow=sn,G.Colon=cn,G.Quote=ln,G.Ellipsis=Zt,G.BraceLeft=nn,G.BraceRight=rn,G.BracketsLeft=an,G.BracketsRight=on,G.Copied=wn,G.CountInfo=Jt,G.CountInfoExtra=Wt,G.KeyName=Ot,G.Row=Mt,G.displayName=`JVR.JsonView`;var En={"--w-rjv-font-family":`monospace`,"--w-rjv-color":`#002b36`,"--w-rjv-key-string":`#002b36`,"--w-rjv-background-color":`#ffffff`,"--w-rjv-line-color":`#ebebeb`,"--w-rjv-arrow-color":`var(--w-rjv-color)`,"--w-rjv-edit-color":`var(--w-rjv-color)`,"--w-rjv-info-color":`#0000004d`,"--w-rjv-update-color":`#ebcb8b`,"--w-rjv-copied-color":`#002b36`,"--w-rjv-copied-success-color":`#28a745`,"--w-rjv-curlybraces-color":`#236a7c`,"--w-rjv-colon-color":`#002b36`,"--w-rjv-brackets-color":`#236a7c`,"--w-rjv-quotes-color":`var(--w-rjv-key-string)`,"--w-rjv-quotes-string-color":`var(--w-rjv-type-string-color)`,"--w-rjv-type-string-color":`#cb4b16`,"--w-rjv-type-int-color":`#268bd2`,"--w-rjv-type-float-color":`#859900`,"--w-rjv-type-bigint-color":`#268bd2`,"--w-rjv-type-boolean-color":`#2aa198`,"--w-rjv-type-date-color":`#586e75`,"--w-rjv-type-url-color":`#0969da`,"--w-rjv-type-null-color":`#d33682`,"--w-rjv-type-nan-color":`#859900`,"--w-rjv-type-undefined-color":`#586e75`},Dn=e=>(0,E.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,E.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`m12 19l-7-7l7-7m7 7H5`})}),On=e=>(0,E.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,E.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M20 6L9 17l-5-5`})}),K=e=>(0,E.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,E.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`m6 9l6 6l6-6`})}),kn=e=>(0,E.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,E.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,children:[(0,E.jsx)(`rect`,{width:14,height:14,x:8,y:8,rx:2,ry:2}),(0,E.jsx)(`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`})]})});function An(){let{id:e}=v.useSearch();return(0,E.jsx)(Cr,{id:e})}function q(e){return e.toLocaleString()}var jn=new Set,J=m();function Mn(e){try{return{ok:!0,value:J.parse(JSON.parse(e))}}catch{return{ok:!1}}}function Nn(e){if(!e)return{};try{return J.parse(JSON.parse(e))}catch{return e}}function Y({text:e,dark:t}){let[n,r]=(0,T.useState)(!1);return(0,T.useEffect)(()=>{if(!n)return;let e=setTimeout(()=>r(!1),1500);return()=>clearTimeout(e)},[n]),(0,E.jsx)(`button`,{type:`button`,className:`absolute top-2 right-2 p-1 rounded transition-colors ${t?`text-sand-500 hover:text-sand-300`:`text-sand-400 hover:text-sand-600`}`,onClick:()=>{navigator.clipboard.writeText(e),r(!0)},children:n?(0,E.jsx)(On,{className:`size-3.5 text-sage-500`}):(0,E.jsx)(kn,{className:`size-3.5`})})}var Pn=/<img\s+[^>]*src=["'](data:image\/[^"']+;base64,[^"']+)["'][^>]*(?:alt=["']([^"']*)["'][^>]*)?\/?>/gi;function Fn(e){let t=[],n=0;for(let r of e.matchAll(Pn)){let i=r.index??0;i>n&&t.push({type:`text`,text:e.slice(n,i)}),t.push({type:`image`,src:r[1],alt:r[2]??`generated image`}),n=i+r[0].length}return n<e.length&&t.push({type:`text`,text:e.slice(n)}),t.filter(e=>e.type===`image`||e.text.trim().length>0)}function In({text:e,markdown:t}){let[n,r]=(0,T.useState)(null),i=Fn(e);return i.some(e=>e.type===`image`)?(0,E.jsxs)(`div`,{className:`space-y-3`,children:[i.map((e,n)=>e.type===`text`?t?(0,E.jsx)(`div`,{className:`prose prose-sm prose-qgrid max-w-none`,children:(0,E.jsx)(g,{remarkPlugins:[h],children:e.text})},`text-${n}`):(0,E.jsx)(`pre`,{className:`text-sm text-sand-800 whitespace-pre-wrap wrap-break-word font-mono leading-relaxed`,children:e.text},`text-${n}`):(0,E.jsx)(`button`,{type:`button`,className:`block max-w-full rounded-md border border-sand-200 overflow-hidden bg-white hover:border-sienna-300 transition-colors`,onClick:()=>r(e.src),title:`Open image`,children:(0,E.jsx)(`img`,{src:e.src,alt:e.alt,className:`max-h-[520px] max-w-full object-contain`,loading:`lazy`})},`image-${n}`)),n&&(0,E.jsxs)(`div`,{className:`fixed inset-0 z-50 bg-black/70 p-4 flex items-center justify-center`,onClick:()=>r(null),children:[(0,E.jsx)(`button`,{type:`button`,className:`absolute top-4 right-4 p-2 rounded-full bg-white/90 text-sand-700 hover:bg-white`,onClick:()=>r(null),title:`Close image`,children:(0,E.jsx)(_,{className:`size-5`})}),(0,E.jsx)(`img`,{src:n,alt:`generated preview`,className:`max-h-full max-w-full object-contain rounded-md bg-white`,onClick:e=>e.stopPropagation()})]})]}):t?(0,E.jsx)(`div`,{className:`prose prose-sm prose-qgrid max-w-none`,children:(0,E.jsx)(g,{remarkPlugins:[h],children:e})}):(0,E.jsx)(`pre`,{className:`text-sm text-sand-800 whitespace-pre-wrap wrap-break-word font-mono leading-relaxed`,children:e})}function X({text:e,markdown:t}){let n=Mn(e),[r,i]=(0,T.useState)(`pretty`),a=n.ok&&n.value instanceof Object?n.value:null;return!n.ok||a===null?t?(0,E.jsx)(In,{text:e,markdown:!0}):(0,E.jsx)(In,{text:n.ok?JSON.stringify(n.value,null,2):e}):(0,E.jsxs)(`div`,{children:[(0,E.jsxs)(`div`,{className:`flex gap-1 mb-2`,children:[(0,E.jsx)(`button`,{type:`button`,className:`px-2 py-0.5 text-[10px] rounded-md transition-colors ${r===`plain`?`bg-sand-200 text-sand-700`:`text-sand-400 hover:text-sand-600`}`,onClick:()=>i(`plain`),children:`Plain`}),(0,E.jsx)(`button`,{type:`button`,className:`px-2 py-0.5 text-[10px] rounded-md transition-colors ${r===`pretty`?`bg-sand-200 text-sand-700`:`text-sand-400 hover:text-sand-600`}`,onClick:()=>i(`pretty`),children:`Pretty`})]}),r===`pretty`?(0,E.jsx)(G,{value:a,style:En,displayDataTypes:!1,enableClipboard:!0,collapsed:!1}):(0,E.jsx)(`pre`,{className:`text-sm text-sand-800 whitespace-pre-wrap wrap-break-word font-mono leading-relaxed`,children:JSON.stringify(n.value,null,2)})]})}function Z({title:e,defaultOpen:t=!0,headerMetadata:n,onOpenChange:r,children:i}){let[a,o]=(0,T.useState)(t);return(0,E.jsxs)(`details`,{open:a,className:`group panel overflow-hidden`,onToggle:e=>{let t=e.currentTarget.open;o(t),r?.(t)},children:[(0,E.jsxs)(`summary`,{className:`panel-header flex min-w-0 items-center gap-1.5 whitespace-nowrap cursor-pointer select-none list-none px-4 py-2.5`,children:[(0,E.jsx)(K,{className:`size-3.5 shrink-0 text-sand-400 transition-transform group-open:rotate-0 -rotate-90`}),(0,E.jsx)(`span`,{className:`shrink-0 text-[11px] uppercase tracking-wider text-sand-500 font-medium`,children:e}),n&&(0,E.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5 overflow-hidden whitespace-nowrap text-[11px] normal-case text-sand-400`,children:n})]}),(0,E.jsx)(`div`,{className:`p-4`,children:i})]})}function Q({label:e,value:t}){return(0,E.jsxs)(`div`,{className:`min-w-0`,children:[(0,E.jsx)(`dt`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium truncate`,children:e}),(0,E.jsx)(`dd`,{className:`text-[15px] font-semibold text-sand-800 tabular-nums mt-0.5 truncate`,children:t})]})}var Ln=new Map([[`running`,`bg-blue-100 text-blue-600`],[`succeeded`,`bg-sage-100 text-sage-600`],[`error`,`bg-red-100 text-red-600`],[`aborted`,`bg-caution-400/15 text-caution-500`]]);function Rn({message:e}){return(0,E.jsxs)(`div`,{className:`panel overflow-hidden border border-red-200 bg-red-50/60`,children:[(0,E.jsx)(`div`,{className:`px-4 py-2.5 border-b border-red-100 flex items-center gap-1.5`,children:(0,E.jsx)(`span`,{className:`text-[11px] uppercase tracking-wider text-red-600 font-medium`,children:`Error`})}),(0,E.jsx)(`div`,{className:`p-4`,children:(0,E.jsx)(`pre`,{className:`text-[12px] text-red-700 whitespace-pre-wrap break-words font-mono leading-relaxed max-h-80 overflow-auto`,children:e})})]})}function zn({data:e}){let t=e.status===`running`,n=S({status:e.status,requestedModel:e.requested_model_name,servedModel:e.model_name,imageCostMethod:e.image_cost_method}),r=!t&&e.requested_model_name!==null&&e.model_name===null;return(0,E.jsxs)(`div`,{className:`panel overflow-hidden px-4 py-3 flex flex-wrap items-center gap-x-2 gap-y-1.5 sm:px-5`,children:[(0,E.jsx)(`span`,{className:`text-[15px] font-semibold text-sand-900 break-all`,children:n.label===`—`?`Unknown model`:n.label}),r&&(0,E.jsx)(`span`,{className:`text-[10px] text-sand-400`,children:`요청`}),e.service_tier===`fast`&&(0,E.jsx)(`span`,{title:`Fast 모드`,className:`inline-flex shrink-0`,children:(0,E.jsx)(x,{"aria-label":`Fast 모드`,className:`size-3.5 text-[#1877F2] [&_path]:fill-current`})}),!t&&(e.fallback_count??0)>0&&(0,E.jsxs)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded-full bg-caution-400/15 text-caution-500 font-medium uppercase`,children:[`fallback ×`,e.fallback_count]}),!t&&e.status!==`succeeded`&&(0,E.jsx)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded-full font-medium uppercase ${Ln.get(e.status)??`bg-sand-100 text-sand-500`}`,children:e.status}),e.response_json_ok===!1&&(0,E.jsx)(`span`,{title:`structured 요청의 응답이 JSON 파싱에 실패했습니다`,className:`text-[10px] px-1.5 py-0.5 rounded-full bg-caution-400/15 text-caution-500 font-medium uppercase`,children:`broken json`}),e.effort&&(0,E.jsxs)(`span`,{className:`text-[11px] px-1.5 py-0.5 rounded-md bg-sand-100 text-sand-500 font-mono`,children:[`effort=`,e.effort]}),e.project_name&&(0,E.jsxs)(`span`,{className:`text-[12px] text-sand-400`,children:[`· project=`,e.project_name]}),(0,E.jsx)(`span`,{className:`ml-auto text-[11px] text-sand-400`,children:e.token_name})]})}function Bn({data:e,toolCallCount:t}){let n=qn(e);return(0,E.jsxs)(`div`,{className:`panel overflow-hidden px-5 py-3 space-y-3`,children:[(0,E.jsxs)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-x-6 gap-y-3`,children:[(0,E.jsx)(Q,{label:`Duration`,value:`${(e.duration_ms/1e3).toFixed(1)}s`}),(0,E.jsx)(Q,{label:`TTFT`,value:Gn(e.ttft_ms)}),(0,E.jsx)(Q,{label:`Tokens/sec`,value:Jn(e.output_tokens,e.duration_ms,e.ttft_ms,n)}),(0,E.jsx)(Q,{label:`Driver`,value:e.cost_usd===null?`—`:y(e.cost_usd)}),(0,E.jsx)(Q,{label:`Image`,value:e.image_cost_usd===null?`—`:y(e.image_cost_usd)}),(0,E.jsx)(Q,{label:`Tool Calls`,value:`${t}회`})]}),(0,E.jsxs)(`div`,{className:`border-t border-sand-100/60 pt-3 grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-x-6 gap-y-3`,children:[(0,E.jsx)(Q,{label:`Input`,value:q(e.input_tokens)}),(0,E.jsx)(Q,{label:`Output`,value:q(e.output_tokens)}),(0,E.jsx)(Q,{label:`Cache Read`,value:q(e.cache_read_tokens)}),(0,E.jsx)(Q,{label:`Cache Write`,value:q(e.cache_creation_tokens)}),(0,E.jsx)(Q,{label:`Cache Write (5m)`,value:e.cache_creation_5m_tokens===null?`—`:q(e.cache_creation_5m_tokens)}),(0,E.jsx)(Q,{label:`Cache Write (1h)`,value:e.cache_creation_1h_tokens===null?`—`:q(e.cache_creation_1h_tokens)}),(0,E.jsx)(Q,{label:`Cache Hit`,value:b(e)})]})]})}var Vn=c({mediaType:s().optional(),data:s().optional(),url:s().optional(),byteSize:p().optional()}),Hn=a({inputImages:l(J)}),Un=a({mediaType:J.optional(),byteSize:J.optional(),url:J.optional(),data:J.optional()});function Wn(e){return e==null?`—`:e>=1e3?`${(e/1e3).toFixed(1)}s`:`${e}ms`}function Gn(e){return e==null||e<=0?`—`:Wn(e)}function Kn(e){let t=e.model_name?.trim().toLowerCase();if(t){let e=t.includes(`/`)?t.split(`/`).pop():t;if(e.startsWith(`claude-`))return`anthropic`;if(/^(gpt-|codex-|o\d)/.test(e))return`openai`;if(e.startsWith(`grok-`))return`grok`}let n=e.token_name?.trim().toLowerCase();return n?.startsWith(`anthropic/`)?`anthropic`:n?.startsWith(`openai/`)?`openai`:n?.startsWith(`grok/`)?`grok`:null}function qn(e){let t=Kn(e);return t!==null&&jn.has(t)}function Jn(e,t,n,r){if(!r||e==null||t==null||n==null||n<=0)return`—`;let i=t-n;return e<=0||i<=0?`—`:`${Math.round(e/(i/1e3)).toLocaleString()} tok/s`}function $({label:e,value:t}){return(0,E.jsxs)(`div`,{className:`min-w-0 self-end`,children:[e&&(0,E.jsx)(`div`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium truncate`,children:e}),(0,E.jsx)(`div`,{className:`mt-0.5 text-[13px] font-semibold text-sand-800 tabular-nums truncate`,children:t})]})}function Yn(e){let t=Hn.safeParse(e);return t.success?t.data.inputImages.flatMap(e=>{let t=Vn.safeParse(e);return t.success&&(t.data.url||t.data.data)?[t.data]:[]}):[]}function Xn(e){let t=Un.safeParse(e);if(!t.success)return e;let n=t.data,r={};n.mediaType!==void 0&&(r.mediaType=n.mediaType),n.byteSize!==void 0&&(r.byteSize=n.byteSize);let i=s().safeParse(n.url),a=i.success&&i.data.toLowerCase().startsWith(`data:`)?`[data-url ${i.data.length} chars]`:n.url;if(a&&(r.url=a),n.data){let e=s().safeParse(n.data);r.data=e.success?`[base64 ${e.data.length} chars]`:`[base64 data]`}return r}function Zn(e){let t=Hn.safeParse(e);return!t.success||!(e instanceof Object)||Array.isArray(e)?e:{...e,inputImages:t.data.inputImages.map(Xn)}}function Qn({images:e}){let t=e.map((e,t)=>{let n=e.url&&!e.url.startsWith(`[`)?e.url:void 0,r=e.data?`data:${e.mediaType??`image/png`};base64,${e.data}`:``,i=n??r;return i?{image:e,index:t,src:i}:null}).filter(e=>e!==null);return t.length===0?null:(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium px-2`,children:`Input Images`}),(0,E.jsx)(`div`,{className:`mt-1 grid grid-cols-1 sm:grid-cols-2 gap-2`,children:t.map(({image:e,index:t,src:n})=>(0,E.jsxs)(`div`,{className:`rounded-md border border-sand-200 bg-white overflow-hidden`,children:[(0,E.jsx)(`img`,{src:n,alt:`reference ${t+1}`,className:`max-h-64 w-full object-contain bg-white`,loading:`lazy`}),(0,E.jsxs)(`div`,{className:`px-2 py-1 text-[10px] text-sand-500 font-mono border-t border-sand-100`,children:[e.mediaType??`image`,` ·`,` `,e.byteSize===void 0?`url`:`${e.byteSize.toLocaleString()} bytes`]})]},`${e.mediaType??`image`}-${t}`))})]})}function $n({images:e,stepId:t}){let{data:n}=u.useRequestLogStep(`I`,t??0,{enabled:e===null&&t!==null}),r=n?Nn(n.tool_args):null;return(0,E.jsx)(Qn,{images:e??Yn(r)})}function er({entry:e}){let t=!!e.error,[n,r]=(0,T.useState)(!1),{data:i}=u.useRequestLogStep(`A`,e.id,{enabled:n}),a=Zn(i?Nn(i.tool_args):null),o=i?Nn(i.tool_result):null,c=s().safeParse(o),l=c.success?c.data:JSON.stringify(o),d=i?.error??e.error;return(0,E.jsxs)(`details`,{className:`group/tool`,onToggle:e=>r(e.currentTarget.open),children:[(0,E.jsxs)(`summary`,{className:`flex items-center gap-2 px-3 py-2 cursor-pointer select-none list-none hover:bg-sand-50 transition-colors rounded-md`,children:[(0,E.jsx)(K,{className:`size-3 text-sand-400 transition-transform group-open/tool:rotate-0 -rotate-90 shrink-0`}),(0,E.jsxs)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded bg-sand-100 text-sand-500 font-mono shrink-0`,children:[`call `,e.callIndex+1]}),(0,E.jsx)(`span`,{className:`text-[13px] font-medium text-sand-800 font-mono truncate`,children:e.toolName}),t&&(0,E.jsx)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded-full bg-red-100 text-red-600 font-medium uppercase shrink-0`,children:`error`}),(0,E.jsx)(`span`,{className:`ml-auto text-[11px] text-sand-400 tabular-nums shrink-0`,children:Wn(e.durationMs)})]}),n&&(0,E.jsxs)(`div`,{className:`mt-1 mx-1 mb-3 space-y-2`,children:[(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium px-2`,children:`Request`}),(0,E.jsx)(`div`,{className:`mt-1 rounded-md bg-sand-50 p-3 overflow-auto`,children:(0,E.jsx)(X,{text:i?JSON.stringify(a):`Loading...`})})]}),d&&(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-red-500 font-medium px-2`,children:`Error`}),(0,E.jsx)(`div`,{className:`mt-1 rounded-md bg-red-50 border border-red-100 p-3 overflow-auto`,children:(0,E.jsx)(X,{text:d})})]}),(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium px-2`,children:`Response`}),(0,E.jsx)(`div`,{className:`mt-1 rounded-md bg-sand-50 p-3 overflow-auto`,children:(0,E.jsx)(X,{text:i?l:`Loading...`,markdown:!0})})]})]})]})}function tr({stepId:e}){let[t,n]=(0,T.useState)(!1),{data:r}=u.useRequestLogStep(`A`,e,{enabled:t}),i=r?.reasoning_text??null;return(0,E.jsxs)(`details`,{className:`group/reason mt-3`,onToggle:e=>n(e.currentTarget.open),children:[(0,E.jsxs)(`summary`,{className:`flex items-center gap-2 cursor-pointer select-none list-none`,children:[(0,E.jsx)(K,{className:`size-3 text-sand-400 transition-transform group-open/reason:rotate-0 -rotate-90 shrink-0`}),(0,E.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-sand-500 font-medium`,children:`Reasoning`})]}),t&&(0,E.jsx)(`div`,{className:`mt-2 rounded-md bg-white/70 border border-sand-100 p-3 overflow-auto`,children:i?(0,E.jsx)(X,{text:i,markdown:!0}):r?(0,E.jsx)(`p`,{className:`text-sm text-sand-400`,children:`No reasoning text captured.`}):(0,E.jsx)(`p`,{className:`text-sm text-sand-400`,children:`Loading...`})})]})}function nr({entry:e,tokensPerSecEnabled:t}){let n=e.generate,r=n!==null&&n.reasoningTokens!==null&&n.reasoningTokens!==void 0&&n.reasoningTokens>0,i=e.toolCalls.filter(e=>e.error).length;return(0,E.jsxs)(`details`,{open:!0,className:`group/step border-l border-sand-200 pl-3`,children:[(0,E.jsxs)(`summary`,{className:`flex items-center gap-2 py-2 cursor-pointer select-none list-none`,children:[(0,E.jsx)(K,{className:`size-3.5 text-sand-400 transition-transform group-open/step:rotate-0 -rotate-90 shrink-0`}),(0,E.jsxs)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded bg-sienna-100 text-sienna-700 font-mono shrink-0`,children:[`step `,e.stepIndex+1]}),(0,E.jsx)(`span`,{className:`text-[13px] font-semibold text-sand-900`,children:`LLM call`}),n?.finishReason&&(0,E.jsx)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded bg-sand-100 text-sand-500 font-mono shrink-0`,children:n.finishReason}),n&&(n.fallbackCount??0)>0&&(0,E.jsxs)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded-full bg-caution-400/15 text-caution-500 font-medium uppercase shrink-0`,children:[n.requestedModelName,` → `,n.modelName]}),r&&(0,E.jsx)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded bg-blue-100 text-blue-600 font-medium shrink-0`,children:`reasoning`}),i>0&&(0,E.jsxs)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded-full bg-red-100 text-red-600 font-medium uppercase shrink-0`,children:[i,` error`]}),(0,E.jsxs)(`span`,{className:`ml-auto text-[11px] text-sand-400 tabular-nums shrink-0`,children:[e.toolCalls.length,` tools`]})]}),(0,E.jsxs)(`div`,{className:`ml-4 mb-4 space-y-3`,children:[n&&(0,E.jsxs)(`div`,{className:`rounded-md border border-sand-100 bg-sand-50/70 p-3`,children:[(0,E.jsxs)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 xl:grid-cols-8 gap-x-4 gap-y-3`,children:[(0,E.jsx)($,{label:`Duration`,value:Wn(n.durationMs)}),(0,E.jsx)($,{label:`TTFT`,value:Gn(n.ttftMs)}),(0,E.jsx)($,{label:`Tokens/sec`,value:Jn(n.outputTokens,n.durationMs,n.ttftMs,t)}),(0,E.jsx)($,{label:`Input`,value:q(n.inputTokens??0)}),(0,E.jsx)($,{label:`Output`,value:q(n.outputTokens??0)}),(0,E.jsx)($,{label:`Cache Read`,value:q(n.cacheReadTokens??0)}),(0,E.jsx)($,{label:`Cache Write`,value:q(n.cacheCreationTokens??0)}),(0,E.jsx)($,{label:`Cache 5m / 1h`,value:`${n.cacheCreation5mTokens===null?`—`:q(n.cacheCreation5mTokens)} / ${n.cacheCreation1hTokens===null?`—`:q(n.cacheCreation1hTokens)}`}),(0,E.jsx)($,{value:n.costUsd===null?`—`:y(n.costUsd)}),(0,E.jsx)($,{label:`Reasoning`,value:n.reasoningTokens!==null&&n.reasoningTokens!==void 0?q(n.reasoningTokens):`—`})]}),r&&(0,E.jsx)(tr,{stepId:n.id})]}),e.toolCalls.length>0&&(0,E.jsx)(`div`,{className:`space-y-0.5`,children:e.toolCalls.map(e=>(0,E.jsx)(er,{entry:e},`${e.stepIndex}-${e.callIndex}-${e.toolCallId}`))})]})]})}function rr({steps:e,tokensPerSecEnabled:t}){let n=e.reduce((e,t)=>e+t.toolCalls.length,0);return(0,E.jsx)(Z,{title:`Steps (${e.length} steps · ${n} tool calls)`,defaultOpen:!0,children:(0,E.jsx)(`div`,{className:`space-y-1`,children:e.map(e=>(0,E.jsx)(nr,{entry:e,tokensPerSecEnabled:t},e.stepIndex))})})}function ir(e){let t=new Map;function n(e){let n=t.get(e);if(n)return n;let r={stepIndex:e,generate:null,toolCalls:[]};return t.set(e,r),r}for(let t of e){let e=n(t.step_index);if(t.type===`generate`){e.generate={id:t.id,stepIndex:t.step_index,modelName:t.model_name,requestedModelName:t.requested_model_name,fallbackCount:t.fallback_count,inputTokens:t.input_tokens,outputTokens:t.output_tokens,cacheReadTokens:t.cache_read_tokens,cacheCreationTokens:t.cache_creation_tokens,cacheCreation5mTokens:t.cache_creation_5m_tokens,cacheCreation1hTokens:t.cache_creation_1h_tokens,costUsd:t.cost_usd,durationMs:t.duration_ms,ttftMs:t.ttft_ms,finishReason:t.finish_reason,reasoningTokens:t.reasoning_tokens};continue}t.type===`tool_call`&&e.toolCalls.push({id:t.id,stepIndex:t.step_index,callIndex:t.tool_call_index??e.toolCalls.length,toolCallId:t.tool_call_id??``,toolName:t.tool_name??``,durationMs:t.tool_duration_ms??0,error:t.error})}return[...t.values()].map(e=>({...e,toolCalls:e.toolCalls.toSorted((e,t)=>e.callIndex-t.callIndex)})).toSorted((e,t)=>e.stepIndex-t.stepIndex)}function ar(e){return e.type===`function_call`||e.type===`function_call_output`?`bg-caution-400/10`:e.role===`assistant`?`bg-sage-50`:`bg-sand-50`}function or(e){return e.type===`function_call`?`fn: ${e.name??`unknown`}`:e.type===`function_call_output`?`fn result`:e.role??e.type}var sr=a({text:s()}),cr=o([s(),l(o([sr,J])),J]);function lr(e){let t=s().safeParse(e);if(t.success)return t.data;let n=l(o([sr,J])).safeParse(e);return n.success?n.data.map(e=>{let t=sr.safeParse(e);return t.success?t.data.text:JSON.stringify(e)}).join(`
2
+ `):JSON.stringify(e)}function ur({className:e,children:t}){return(0,E.jsx)(`pre`,{className:`text-[12px] text-sand-700 whitespace-pre-wrap wrap-break-word font-mono leading-relaxed max-h-40 overflow-auto ${e??``}`,children:t})}function dr({history:e}){return(0,E.jsx)(Z,{title:`History`,defaultOpen:!1,children:(0,E.jsx)(`div`,{className:`space-y-1.5`,children:e.map((e,t)=>{let n=cr.safeParse(e.content);return(0,E.jsxs)(`div`,{className:`rounded-md px-3 py-2 ${ar(e)}`,children:[(0,E.jsx)(`div`,{className:`text-[10px] uppercase tracking-wider text-sand-500 font-medium mb-1`,children:or(e)}),e.content!==null&&e.content!==void 0&&(0,E.jsx)(ur,{children:n.success?lr(n.data):JSON.stringify(e.content)}),e.arguments&&(0,E.jsx)(ur,{children:e.arguments}),e.output&&(0,E.jsx)(ur,{children:e.output})]},`hist-${t}`)})})})}var fr=60,pr=30,mr=18;function hr(e,t=fr){let n=[];for(let r of e){if([...n,r.name].join(`, `).length>t)break;n.push(r.name)}return{names:n,omittedCount:e.length-n.length}}function gr({tools:e}){let t=hr(e),n=hr(e,pr),r=hr(e,mr);return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`span`,{className:`shrink-0`,children:`·`}),t.names.length>0&&(0,E.jsx)(`span`,{className:`hidden shrink-0 xl:inline`,children:t.names.join(`, `)}),t.omittedCount>0&&(0,E.jsxs)(`span`,{className:`hidden shrink-0 xl:inline`,children:[`+`,t.omittedCount]}),n.names.length>0&&(0,E.jsx)(`span`,{className:`hidden shrink-0 sm:inline xl:hidden`,children:n.names.join(`, `)}),n.omittedCount>0&&(0,E.jsxs)(`span`,{className:`hidden shrink-0 sm:inline xl:hidden`,children:[`+`,n.omittedCount]}),r.names.length>0&&(0,E.jsx)(`span`,{className:`shrink-0 sm:hidden`,children:r.names.join(`, `)}),r.omittedCount>0&&(0,E.jsxs)(`span`,{className:`shrink-0 sm:hidden`,children:[`+`,r.omittedCount]})]})}function _r({code:e,fullCode:t}){let n=(0,T.useMemo)(()=>xr(e),[e]);return(0,E.jsx)(`pre`,{"data-zod-parameter-schema":!0,className:`max-h-64 overflow-auto rounded-md bg-sand-900 px-3 py-2.5 font-mono text-[11px] leading-relaxed whitespace-pre text-sand-200 ${t?`cursor-help outline-none focus-visible:ring-2 focus-visible:ring-sienna-300`:``}`,tabIndex:t?0:void 0,title:t,children:t?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`span`,{"aria-hidden":`true`,children:n}),(0,E.jsx)(`span`,{className:`sr-only`,children:t})]}):n})}function vr({tool:e}){return(0,E.jsxs)(`div`,{className:`min-w-0 rounded-md border border-sand-100 bg-sand-50/70 p-3`,children:[(0,E.jsx)(`div`,{className:`break-all font-mono text-[13px] font-semibold text-sand-900`,children:e.name}),e.description&&(0,E.jsx)(`p`,{className:`mt-2 text-[12px] leading-relaxed text-sand-700`,children:e.description}),(0,E.jsxs)(`div`,{className:`mt-3`,children:[(0,E.jsxs)(`div`,{className:`mb-1.5 text-[10px] font-medium uppercase tracking-wider text-sand-400`,children:[`Parameters (`,e.parameterCount,`)`]}),(0,E.jsx)(_r,{code:e.inputZod,fullCode:e.fullInputZod})]})]})}function yr({id:e,tools:n}){let[r,i]=(0,T.useState)(!1),a=t({...d.toolsViewQueryOptions(e),enabled:r,staleTime:e=>e.state.data&&e.state.data.length>0?1/0:0,refetchOnWindowFocus:!1,refetchOnReconnect:!1}),o=a.data!==void 0&&a.data.length>0;return(0,E.jsx)(Z,{title:`Tools (${n.length})`,defaultOpen:!1,headerMetadata:(0,E.jsx)(gr,{tools:n}),onOpenChange:i,children:a.isFetching&&!o?(0,E.jsx)(`p`,{className:`text-[12px] text-sand-400`,children:`Loading tool contracts…`}):a.isError||!o?(0,E.jsx)(`p`,{className:`text-[12px] text-sand-400`,children:`Tool contracts could not be loaded.`}):(0,E.jsx)(`div`,{className:`space-y-2`,children:a.data.map((e,t)=>(0,E.jsx)(vr,{tool:e},`${e.name}-${t}`))})})}var br=/("(?:[^"\\]|\\.)*")|(\b\d+(?:\.\d+)?\b)|(\btype\b|\bz\b(?=\.))|(\b(?:string|number|boolean|null|unknown|Record)\b)|([{}[\]()<>|?:,.=])|([A-Za-z_$][\w$]*)|(\s+|.)/g;function xr(e){let t=[],n=!1;for(let r of e.matchAll(br)){let[e,i,a,o,s,c,l]=r,u=`${r.index}-${e}`;i||a?t.push((0,E.jsx)(`span`,{className:`text-sage-400`,children:e},u)):o?(n=e===`type`,t.push((0,E.jsx)(`span`,{className:`text-sienna-400`,children:e},u))):s?t.push((0,E.jsx)(`span`,{className:`text-blue-300`,children:e},u)):c?t.push((0,E.jsx)(`span`,{className:`text-sand-500`,children:e},u)):l&&n?(n=!1,t.push((0,E.jsx)(`span`,{className:`font-semibold text-sand-50`,children:e},u))):t.push(e)}return t}function Sr({id:e}){let{data:t}=d.useResponseTypeTs(e),[n,r]=(0,T.useState)(`zod`),{zod:i=null,typescript:a=null}=t??{},o=n===`zod`?i??a:a??i,s=(0,T.useMemo)(()=>o===null?null:xr(o),[o]);return!t||o===null||s===null?null:(0,E.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,E.jsxs)(`div`,{className:`panel-header flex items-center px-4 py-2`,children:[(0,E.jsx)(`span`,{className:`text-[11px] uppercase tracking-wider text-sand-500 font-medium`,children:`Response Type`}),(0,E.jsx)(`div`,{className:`ml-auto flex gap-1`,children:[{value:`zod`,label:`zod`,available:i!==null},{value:`ts`,label:`ts`,available:a!==null}].map(e=>(0,E.jsx)(`button`,{type:`button`,disabled:!e.available,className:`px-3 py-1 text-[12px] font-mono rounded-md transition-colors ${n===e.value?`bg-sand-200 text-sand-700`:`text-sand-400 hover:text-sand-600 disabled:text-sand-300 disabled:cursor-not-allowed`}`,onClick:()=>r(e.value),children:e.label},e.value))})]}),(0,E.jsxs)(`div`,{className:`relative`,children:[(0,E.jsx)(Y,{text:o,dark:!0}),(0,E.jsx)(`pre`,{className:`bg-sand-900 px-4 py-3 text-[12px] text-sand-200 whitespace-pre-wrap wrap-break-word font-mono leading-relaxed max-h-64 overflow-auto`,children:s})]})]})}function Cr({id:e}){let{data:t,isLoading:r,error:i,isError:a}=d.useRequestLog(`A`,e),{data:o,isLoading:s,isError:c}=u.useRequestLogSteps(`T`,{request_log_id:e,num:0,page:1,orderBy:`id-asc`}),l=ir(o?.rows??[]);if(r||s)return(0,E.jsxs)(`div`,{className:`max-w-6xl mx-auto space-y-4`,children:[(0,E.jsx)(`div`,{className:`h-4 w-32 bg-sand-200 rounded animate-pulse`}),(0,E.jsx)(`div`,{className:`h-40 panel animate-pulse`}),(0,E.jsx)(`div`,{className:`h-32 panel animate-pulse`})]});if(a||c||!t)return(0,E.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,E.jsxs)(n,{to:`/logs`,className:`flex items-center gap-1 text-[13px] text-sand-500 hover:text-sienna-500 mb-4`,children:[(0,E.jsx)(Dn,{className:`size-3.5`}),`Back to Logs`]}),(0,E.jsx)(`p`,{role:`alert`,className:`text-danger-500 text-sm`,children:a?f(i)&&i.code===404?`Request not found.`:`Failed to load request.`:c?`Failed to load request steps.`:`Request not found.`})]});let p=l.flatMap(e=>e.toolCalls),m=p.find(e=>e.toolName===`image_generation`)?.id??null,h=l.length>0,g=qn(t),_=t.history??null,v=_!==null&&_.length>0,y=t.tools??null,b=y!==null&&y.length>0,x=t.is_structured?(0,E.jsx)(Sr,{id:e}):null,S=(0,E.jsxs)(`div`,{className:`space-y-4`,children:[(0,E.jsx)(Z,{title:`System`,children:(0,E.jsxs)(`div`,{className:`relative`,children:[(0,E.jsx)(Y,{text:t.system_prompt??`null`}),(0,E.jsx)(X,{text:t.system_prompt??`null`,markdown:!0})]})}),(0,E.jsx)(Z,{title:`User`,children:(0,E.jsxs)(`div`,{className:`space-y-3`,children:[(0,E.jsxs)(`div`,{className:`relative`,children:[(0,E.jsx)(Y,{text:t.user_prompt??`null`}),(0,E.jsx)(X,{text:t.user_prompt??`null`,markdown:!0})]}),(0,E.jsx)($n,{images:t.input_images,stepId:m})]})})]});return(0,E.jsxs)(`div`,{className:`mx-auto space-y-4 ${h?`max-w-[120rem]`:`max-w-6xl`}`,children:[(0,E.jsxs)(n,{to:`/logs`,className:`inline-flex items-center gap-1 text-[13px] text-sand-500 hover:text-sienna-500 transition-colors`,children:[(0,E.jsx)(Dn,{className:`size-3.5`}),`Back to Logs`]}),(0,E.jsx)(zn,{data:t}),t.error_message&&(0,E.jsx)(Rn,{message:t.error_message}),v&&(0,E.jsx)(dr,{history:_}),h?(0,E.jsxs)(`div`,{className:`flex flex-col lg:flex-row gap-4 items-stretch lg:items-start`,children:[(0,E.jsxs)(`div`,{className:`order-1 lg:order-2 flex-1 min-w-0 space-y-4`,children:[x,b&&(0,E.jsx)(yr,{id:e,tools:y}),(0,E.jsx)(rr,{steps:l,tokensPerSecEnabled:g})]}),(0,E.jsx)(`div`,{className:`order-2 lg:order-1 flex-1 min-w-0`,children:S})]}):(0,E.jsxs)(E.Fragment,{children:[x,b&&(0,E.jsx)(yr,{id:e,tools:y}),S]}),(0,E.jsx)(Z,{title:`Response`,children:(0,E.jsxs)(`div`,{className:`relative`,children:[(0,E.jsx)(Y,{text:t.response}),(0,E.jsx)(X,{text:t.response,markdown:!0})]})}),(0,E.jsx)(Bn,{data:t,toolCallCount:p.length}),(0,E.jsx)(`div`,{className:`pb-8`})]})}export{An as component};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{v as t}from"./vendor-tanstack-DRPs09ai.js";import{i as n,r}from"./vendor-react-DH4kUfK2.js";import{n as i,o as a}from"./services.generated-B5lc3aIC.js";import{i as o,n as s,r as c}from"./use-oauth-login-flow-BfxYI4Oh.js";import{u as l}from"./index-C96h3feE.js";import{t as u}from"./use-update-token-mutation-qKBC2sn7.js";import{t as d}from"./plus-BsQdY7PS.js";var f=e(n(),1),p=r();function m(e){let t=Math.max(Math.ceil(e/1e3),0),n=Math.floor(t/60),r=t%60;return`${n}:${String(r).padStart(2,`0`)}`}function h({expiresAt:e}){let[t,n]=(0,f.useState)(()=>Date.now());return(0,f.useEffect)(()=>{let e=window.setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(e)},[]),(0,p.jsx)(`span`,{className:`tabular-nums`,children:m(e-t)})}function g({flow:e,onRestart:t}){return(0,p.jsxs)(`div`,{className:`space-y-2`,children:[e.status===`starting`&&(0,p.jsxs)(`p`,{className:`flex items-center gap-1.5 text-[12px] text-sand-600`,children:[(0,p.jsx)(`span`,{className:`w-3.5 h-3.5 border-2 border-sand-400 border-t-transparent rounded-full animate-spin`}),`Requesting device code...`]}),e.status===`waiting`&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`p`,{className:`text-[12px] text-sand-600 leading-relaxed`,children:`아래 링크를 열어 xAI 계정으로 로그인한 뒤 이 코드를 입력하세요. 승인되면 토큰이 자동으로 추가됩니다.`}),(0,p.jsxs)(`div`,{className:`rounded-md border border-sand-200 bg-sand-50 px-3 py-3 text-center`,children:[(0,p.jsx)(`p`,{className:`text-[10px] uppercase tracking-wider text-sand-500 font-medium`,children:`Device code`}),(0,p.jsx)(`p`,{className:`mt-1 font-mono text-lg tracking-widest text-sand-900 select-all`,children:e.userCode})]}),(0,p.jsx)(`a`,{href:e.verificationUriComplete??e.verificationUri,target:`_blank`,rel:`noopener noreferrer`,className:`block w-full py-2.5 text-sm font-medium rounded-md bg-sand-900 text-white text-center hover:bg-sand-800 transition-colors duration-150`,children:`Open xAI to approve`}),(0,p.jsxs)(`p`,{className:`flex items-center justify-between text-[11px] text-sand-500`,children:[(0,p.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,p.jsx)(`span`,{className:`w-2.5 h-2.5 border-2 border-sand-400 border-t-transparent rounded-full animate-spin`}),e.slowDown?`Waiting for approval (polling slowed down)...`:`Waiting for approval...`]}),(0,p.jsxs)(`span`,{children:[`expires in `,(0,p.jsx)(h,{expiresAt:e.expiresAt})]})]})]}),e.status===`added`&&(0,p.jsxs)(`p`,{className:`text-[12px] text-sage-600`,children:[`Token "`,e.name,`" added.`]}),e.status===`expired`&&(0,p.jsx)(`p`,{className:`text-[11px] text-red-500`,children:`Device code가 만료되었습니다 — 로그인을 다시 시작하세요.`}),e.status===`error`&&(0,p.jsx)(`p`,{className:`text-[11px] text-red-500`,children:e.message}),(0,p.jsx)(`button`,{type:`button`,className:`w-full py-1.5 text-[12px] text-sand-500 hover:text-sand-700 transition-colors duration-150`,onClick:t,children:`처음부터 다시 시작`})]})}function _({light:e}){return(0,p.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,p.jsx)(`span`,{className:`w-3.5 h-3.5 border-2 border-t-transparent rounded-full animate-spin ${e?`border-white`:`border-sand-400`}`}),`Waiting for login...`]})}function v(){return(0,p.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,p.jsx)(`div`,{className:`flex-1 h-px bg-sand-200`}),(0,p.jsx)(`span`,{className:`text-[10px] text-sand-400 uppercase`,children:`or`}),(0,p.jsx)(`div`,{className:`flex-1 h-px bg-sand-200`})]})}function y({disabled:e,loadingProvider:t,onStart:n,onStartGrokDevice:r}){let i=`w-full py-2.5 text-sm font-medium rounded-md border border-sand-300 text-sand-700 hover:bg-sand-100 disabled:opacity-50 transition-colors duration-150 flex items-center justify-center gap-2`;return(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`button`,{type:`button`,className:`w-full py-2.5 text-sm font-medium rounded-md bg-sand-900 text-white hover:bg-sand-800 disabled:opacity-50 transition-colors duration-150 flex items-center justify-center gap-2`,disabled:e,onClick:()=>n(`openai`),children:t===`openai`?(0,p.jsx)(_,{light:!0}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(l,{className:`size-4`}),`Login with OpenAI`]})}),(0,p.jsx)(v,{}),(0,p.jsx)(`button`,{type:`button`,className:i,disabled:e,onClick:()=>n(`anthropic`),children:t===`anthropic`?(0,p.jsx)(_,{light:!1}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(l,{className:`size-4`}),`Login with Claude`]})}),(0,p.jsx)(v,{}),(0,p.jsx)(`button`,{type:`button`,className:i,disabled:e,onClick:r,children:t===`grok`?(0,p.jsx)(_,{light:!1}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(l,{className:`size-4`}),`Login with xAI`]})})]})}function b(){let[e,t]=(0,f.useState)(!1),[n,r]=(0,f.useState)(``),i=s(),a=()=>{t(!1),r(``),i.reset()},l=async e=>{await i.submitCode(e)&&a()};return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(`button`,{type:`button`,className:`px-3.5 py-1.5 text-[12px] font-medium rounded-lg bg-sienna-500 text-white hover:bg-sienna-600 disabled:opacity-50 transition-all duration-150 active:scale-[0.97] flex items-center gap-1.5 shadow-sm`,onClick:()=>t(!0),children:[(0,p.jsx)(d,{className:`size-3.5`}),`Add Token`]}),e&&(0,p.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-start justify-center pt-[15vh]`,children:[(0,p.jsx)(`div`,{className:`absolute inset-0 bg-sand-900/8 backdrop-blur-sm`,onClick:a,onKeyDown:()=>{}}),(0,p.jsxs)(`div`,{className:`relative panel shadow-xl w-full max-w-md mx-4`,children:[(0,p.jsx)(`div`,{className:`px-5 py-4 border-b border-sand-100/50`,children:(0,p.jsx)(`h2`,{className:`text-base font-medium text-sand-900`,children:`Add Token`})}),(0,p.jsxs)(`div`,{className:`px-5 py-4 space-y-4`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`label`,{htmlFor:`token-name`,className:`text-[10px] uppercase tracking-wider text-sand-500 font-medium`,children:`Name *`}),(0,p.jsx)(o,{value:n,onChange:e=>r(e.target.value),placeholder:`e.g. your-token-name`,className:`mt-1 w-full border border-sand-200 rounded-md px-3 py-2 text-sm text-sand-900 bg-white placeholder:text-sand-300 focus:outline-none focus:border-sienna-300`})]}),i.codeEntryProvider?(0,p.jsx)(c,{provider:i.codeEntryProvider,isPending:i.completeMutation.isPending,isError:i.completeMutation.isError,onSubmit:e=>void l(e),onRestart:i.reset}):i.deviceFlow?(0,p.jsx)(g,{flow:i.deviceFlow,onRestart:i.reset}):(0,p.jsx)(y,{disabled:!n.trim()||i.loadingProvider!==null,loadingProvider:i.loadingProvider,onStart:e=>void i.start(e,n),onStartGrokDevice:()=>void i.startDevice(n,a)})]}),(0,p.jsx)(`div`,{className:`px-5 py-3 border-t border-sand-100/50 flex items-center justify-end gap-2`,children:(0,p.jsx)(`button`,{type:`button`,className:`px-3 py-1 text-xs font-medium rounded-md border border-sand-200 text-sand-600 hover:bg-sand-100 transition-colors duration-150`,onClick:a,children:`Cancel`})})]})]})]})}var x=e=>(0,p.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,p.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4`})}),S=e=>(0,p.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,p.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M10 11v6m4-6v6m5-11v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`})});function C(e){let t=e.accessToken;return t?t.length<=12?t:`${t.slice(0,8)}...${t.slice(-4)}`:`—`}function w(e){let t=e.credentials;if(`accessTokenExpiresAt`in t)return t.accessTokenExpiresAt;if(`authMode`in t){let e=Date.parse(t.expiresAt);return Number.isNaN(e)?null:e}return t.expiresAt}function T(e){if(!e)return{text:``,color:``};let t=e-Date.now();if(t<=0)return{text:`expired`,color:`text-red-500`};let n=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4),i=n>0?`${n}h ${r}m`:`${r}m`;return t<36e5?{text:i,color:`text-amber-500`}:{text:i,color:`text-sand-400`}}function E({data:e,isLoading:n}){let[r,a]=(0,f.useState)(null),[s,c]=(0,f.useState)(null),[l,d]=(0,f.useState)(``),m=t(),h=i.useRemoveTokenMutation(),g=u(),_=i.useToggleTokenMutation(),v=()=>Promise.all([m.invalidateQueries({queryKey:[`Token`]}),m.invalidateQueries({queryKey:[`Qgrid`]})]),y=async e=>{await _.mutateAsync({id:e.id}),await v()},b=async()=>{r&&(await h.mutateAsync({id:r.id}),await v(),a(null))},E=e=>{c(e),d(e.name??``)},D=async()=>{s&&(await g.mutateAsync({id:s.id,name:l.trim()}),await v(),c(null))};if(n)return(0,p.jsx)(`div`,{className:`space-y-2`,children:Array.from({length:3}).map((e,t)=>(0,p.jsx)(`div`,{className:`h-12 bg-sand-100 rounded-md animate-pulse`},`skeleton-${t}`))});let O=e??[];return O.length===0?(0,p.jsxs)(`div`,{className:`text-sand-400 text-center py-16 text-sm`,children:[`No tokens registered. Click `,(0,p.jsx)(`strong`,{className:`text-sand-600`,children:`Add Token`}),` to get started.`]}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`div`,{className:`panel overflow-hidden`,children:(0,p.jsx)(`div`,{className:`overflow-x-auto`,children:(0,p.jsxs)(`table`,{className:`w-full min-w-[640px] text-[13px]`,children:[(0,p.jsx)(`thead`,{children:(0,p.jsxs)(`tr`,{className:`panel-header`,children:[(0,p.jsx)(`th`,{className:`text-left px-5 py-2.5 text-[10px] uppercase tracking-wider text-sand-400 font-medium`,children:`Provider`}),(0,p.jsx)(`th`,{className:`text-left px-5 py-2.5 text-[10px] uppercase tracking-wider text-sand-400 font-medium`,children:`Name`}),(0,p.jsx)(`th`,{className:`text-left px-5 py-2.5 text-[10px] uppercase tracking-wider text-sand-400 font-medium`,children:`Token`}),(0,p.jsx)(`th`,{className:`text-left px-5 py-2.5 text-[10px] uppercase tracking-wider text-sand-400 font-medium`,children:`Status`}),(0,p.jsx)(`th`,{className:`text-left px-5 py-2.5 text-[10px] uppercase tracking-wider text-sand-400 font-medium`,children:`Expires`}),(0,p.jsx)(`th`,{className:`w-20 px-3 py-2.5`})]})}),(0,p.jsx)(`tbody`,{className:`divide-y divide-sand-100/80`,children:O.map(e=>{let t=T(w(e));return(0,p.jsxs)(`tr`,{className:`transition-colors duration-150 hover:bg-sand-100/60 ${e.active?``:`opacity-50`}`,children:[(0,p.jsx)(`td`,{className:`px-5 py-3`,children:(0,p.jsx)(`span`,{className:`text-xs font-medium text-sand-500 uppercase`,children:e.provider})}),(0,p.jsx)(`td`,{className:`px-5 py-3`,children:e.name?(0,p.jsx)(`span`,{className:`text-sm text-sand-700`,children:e.name}):(0,p.jsx)(`span`,{className:`text-[11px] text-sand-400`,children:`—`})}),(0,p.jsx)(`td`,{className:`px-5 py-3`,children:(0,p.jsx)(`code`,{className:`text-[13px] font-mono text-sand-800`,children:C(e.credentials)})}),(0,p.jsx)(`td`,{className:`px-5 py-3`,children:(0,p.jsx)(`button`,{type:`button`,className:`relative inline-flex h-5 w-9 items-center rounded-full transition-colors duration-200 ${e.active?`bg-sage-400`:`bg-sand-300`}`,onClick:()=>y(e),disabled:_.isPending||!e.active&&e.reauth_required,title:!e.active&&e.reauth_required?`재로그인이 필요한 토큰입니다`:void 0,children:(0,p.jsx)(`span`,{className:`inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform duration-200 ${e.active?`translate-x-4.5`:`translate-x-0.5`}`})})}),(0,p.jsx)(`td`,{className:`px-5 py-3`,children:t.text&&(0,p.jsx)(`span`,{className:`text-xs ${t.color}`,children:t.text})}),(0,p.jsx)(`td`,{className:`px-3 py-3`,children:(0,p.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,p.jsx)(`button`,{type:`button`,className:`p-1 rounded text-sand-400 hover:text-sienna-500 transition-colors duration-150`,onClick:()=>E(e),children:(0,p.jsx)(x,{className:`size-4`})}),(0,p.jsx)(`button`,{type:`button`,className:`p-1 rounded text-sand-400 hover:text-red-500 transition-colors duration-150`,onClick:()=>a(e),children:(0,p.jsx)(S,{className:`size-4`})})]})})]},e.id)})})]})})}),s&&(0,p.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-start justify-center pt-[15vh]`,children:[(0,p.jsx)(`div`,{className:`absolute inset-0 bg-sand-900/8 backdrop-blur-sm`,onClick:()=>c(null),onKeyDown:()=>{}}),(0,p.jsxs)(`div`,{className:`relative panel shadow-xl w-full max-w-sm mx-4`,children:[(0,p.jsx)(`div`,{className:`px-5 py-4 border-b border-sand-100/60`,children:(0,p.jsx)(`h3`,{className:`text-base font-medium text-sand-900`,children:`Edit Token`})}),(0,p.jsx)(`div`,{className:`px-5 py-4 space-y-3`,children:(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`label`,{htmlFor:`token-name`,className:`text-[10px] uppercase tracking-wider text-sand-500 font-medium`,children:`Name`}),(0,p.jsx)(o,{value:l,onChange:e=>d(e.target.value),placeholder:`e.g. prod, dev, team-a`,className:`mt-1 w-full border border-sand-200 rounded-md px-3 py-2 text-sm text-sand-900 bg-white placeholder:text-sand-300 focus:outline-none focus:border-sienna-300`})]})}),(0,p.jsxs)(`div`,{className:`px-5 py-3 border-t border-sand-100/60 flex items-center justify-end gap-2`,children:[(0,p.jsx)(`button`,{type:`button`,className:`px-3 py-1 text-xs font-medium rounded-md border border-sand-200 text-sand-600 hover:bg-sand-100 transition-colors duration-150`,onClick:()=>c(null),children:`Cancel`}),(0,p.jsx)(`button`,{type:`button`,className:`px-3 py-1 text-xs font-medium rounded-md bg-sienna-400 text-white hover:bg-sienna-500 disabled:opacity-50 transition-colors duration-150`,disabled:g.isPending,onClick:D,children:g.isPending?`Saving...`:`Save`})]})]})]}),r&&(0,p.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-start justify-center pt-[15vh]`,children:[(0,p.jsx)(`div`,{className:`absolute inset-0 bg-sand-900/8 backdrop-blur-sm`,onClick:()=>a(null),onKeyDown:()=>{}}),(0,p.jsxs)(`div`,{className:`relative panel shadow-xl w-full max-w-sm mx-4`,children:[(0,p.jsxs)(`div`,{className:`px-5 py-4`,children:[(0,p.jsx)(`h3`,{className:`text-base font-medium text-sand-900`,children:`Remove Token`}),(0,p.jsxs)(`p`,{className:`text-sm text-sand-700 mt-2`,children:[`Are you sure you want to remove`,` `,(0,p.jsx)(`code`,{className:`text-[13px] font-mono text-sand-800`,children:C(r.credentials)}),r.name&&(0,p.jsxs)(`span`,{className:`text-sand-500`,children:[` (`,r.name,`)`]}),`?`]})]}),(0,p.jsxs)(`div`,{className:`px-5 py-3 border-t border-sand-100/60 flex items-center justify-end gap-2`,children:[(0,p.jsx)(`button`,{type:`button`,className:`px-3 py-1 text-xs font-medium rounded-md border border-sand-200 text-sand-600 hover:bg-sand-100 transition-colors duration-150`,onClick:()=>a(null),children:`Cancel`}),(0,p.jsx)(`button`,{type:`button`,className:`px-3 py-1 text-xs font-medium rounded-md bg-red-500 text-white hover:bg-red-600 disabled:opacity-50 transition-colors duration-150`,disabled:h.isPending,onClick:b,children:h.isPending?`Removing...`:`Remove`})]})]})]})]})}function D(){let{data:e,isLoading:t}=a.useTokens(`A`);return(0,p.jsxs)(`div`,{className:`max-w-6xl mx-auto space-y-4`,children:[(0,p.jsx)(`div`,{className:`flex items-center justify-end`,children:(0,p.jsx)(b,{})}),(0,p.jsx)(E,{data:e?.rows,isLoading:t})]})}export{D as component};
@@ -0,0 +1 @@
1
+ function e(e){return e.unknownImageCostCount+(e.unknownCostCount??0)}function t(t){let n=e(t);return n>0?`+${n} unpriced`:null}function n(t){if(e(t)===0)return null;let n=t.unknownCostCount??0;return`Total excludes requests with unknown cost: ${t.unknownImageCostCount} image, ${n} voice/video.`}export{n,t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{v as t}from"./vendor-tanstack-DRPs09ai.js";import{i as n,r}from"./vendor-react-DH4kUfK2.js";import{n as i,o as a}from"./services.generated-B5lc3aIC.js";import{t as o}from"./clsx-5XM_pHvN.js";var s=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},c=(e,t)=>({classGroupId:e,validator:t}),l=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),u=`-`,d=[],f=`arbitrary..`,p=e=>{let t=g(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return h(e);let n=e.split(u);return m(n,n[0]===``&&n.length>1?1:0,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?s(i,t):t:i||d}return n[e]||d}}},m=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=m(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(u):e.slice(t).join(u),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},h=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?f+r:void 0})(),g=e=>{let{theme:t,classGroups:n}=e;return _(n,t)},_=(e,t)=>{let n=l();for(let r in e){let i=e[r];v(i,n,r,t)}return n},v=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];y(i,t,n,r)}},y=(e,t,n,r)=>{if(typeof e==`string`){b(e,t,n);return}if(typeof e==`function`){x(e,t,n,r);return}S(e,t,n,r)},b=(e,t,n)=>{let r=e===``?t:C(t,e);r.classGroupId=n},x=(e,t,n,r)=>{if(w(e)){v(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(c(n,e))},S=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];v(o,C(t,a),n,r)}},C=(e,t)=>{let n=e,r=t.split(u),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=l(),n.nextPart.set(t,i)),n=i}return n},w=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,T=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},E=`!`,ee=`:`,D=[],te=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),ne=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===ee){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(E)?(c=s.slice(0,-1),l=!0):s.startsWith(E)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return te(t,l,c,u)};if(t){let e=t+ee,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):te(D,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},O=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},k=e=>({cache:T(e.cacheSize),parseClassName:ne(e),sortModifiers:O(e),...p(e)}),A=/\s+/,re=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(A),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+E:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},ie=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=j(n))&&(i&&(i+=` `),i+=r);return i},j=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=j(e[r]))&&(n&&(n+=` `),n+=t);return n},ae=(e,...t)=>{let n,r,i,a,o=o=>(n=k(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=re(e,n);return i(e,a),a};return a=o,(...e)=>a(ie(...e))},oe=[],M=e=>{let t=t=>t[e]||oe;return t.isThemeGetter=!0,t},se=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,N=/^\((?:(\w[\w-]*):)?(.+)\)$/i,P=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,F=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,I=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ce=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,L=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,le=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,R=e=>P.test(e),z=e=>!!e&&!Number.isNaN(Number(e)),B=e=>!!e&&Number.isInteger(Number(e)),ue=e=>e.endsWith(`%`)&&z(e.slice(0,-1)),V=e=>F.test(e),de=()=>!0,H=e=>I.test(e)&&!ce.test(e),U=()=>!1,W=e=>L.test(e),G=e=>le.test(e),fe=e=>!K(e)&&!J(e),pe=e=>X(e,Oe,U),K=e=>se.test(e),q=e=>X(e,ke,H),me=e=>X(e,Ae,z),he=e=>X(e,Me,de),ge=e=>X(e,je,U),_e=e=>X(e,Ee,U),ve=e=>X(e,De,G),ye=e=>X(e,Ne,W),J=e=>N.test(e),Y=e=>Z(e,ke),be=e=>Z(e,je),xe=e=>Z(e,Ee),Se=e=>Z(e,Oe),Ce=e=>Z(e,De),we=e=>Z(e,Ne,!0),Te=e=>Z(e,Me,!0),X=(e,t,n)=>{let r=se.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Z=(e,t,n=!1)=>{let r=N.exec(e);return r?r[1]?t(r[1]):n:!1},Ee=e=>e===`position`||e===`percentage`,De=e=>e===`image`||e===`url`,Oe=e=>e===`length`||e===`size`||e===`bg-size`,ke=e=>e===`length`,Ae=e=>e===`number`,je=e=>e===`family-name`,Me=e=>e===`number`||e===`weight`,Ne=e=>e===`shadow`,Pe=ae(()=>{let e=M(`color`),t=M(`font`),n=M(`text`),r=M(`font-weight`),i=M(`tracking`),a=M(`leading`),o=M(`breakpoint`),s=M(`container`),c=M(`spacing`),l=M(`radius`),u=M(`shadow`),d=M(`inset-shadow`),f=M(`text-shadow`),p=M(`drop-shadow`),m=M(`blur`),h=M(`perspective`),g=M(`aspect`),_=M(`ease`),v=M(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),J,K],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[J,K,c],T=()=>[R,`full`,`auto`,...w()],E=()=>[B,`none`,`subgrid`,J,K],ee=()=>[`auto`,{span:[`full`,B,J,K]},B,J,K],D=()=>[B,`auto`,J,K],te=()=>[`auto`,`min`,`max`,`fr`,J,K],ne=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],O=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],k=()=>[`auto`,...w()],A=()=>[R,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],re=()=>[R,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],ie=()=>[R,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],j=()=>[e,J,K],ae=()=>[...b(),xe,_e,{position:[J,K]}],oe=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],se=()=>[`auto`,`cover`,`contain`,Se,pe,{size:[J,K]}],N=()=>[ue,Y,q],P=()=>[``,`none`,`full`,l,J,K],F=()=>[``,z,Y,q],I=()=>[`solid`,`dashed`,`dotted`,`double`],ce=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],L=()=>[z,ue,xe,_e],le=()=>[``,`none`,m,J,K],H=()=>[`none`,z,J,K],U=()=>[`none`,z,J,K],W=()=>[z,J,K],G=()=>[R,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[V],breakpoint:[V],color:[de],container:[V],"drop-shadow":[V],ease:[`in`,`out`,`in-out`],font:[fe],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[V],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[V],shadow:[V],spacing:[`px`,z],text:[V],"text-shadow":[V],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,R,K,J,g]}],container:[`container`],columns:[{columns:[z,K,J,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[B,`auto`,J,K]}],basis:[{basis:[R,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[z,R,`auto`,`initial`,`none`,K]}],grow:[{grow:[``,z,J,K]}],shrink:[{shrink:[``,z,J,K]}],order:[{order:[B,`first`,`last`,`none`,J,K]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:ee()}],"col-start":[{"col-start":D()}],"col-end":[{"col-end":D()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:ee()}],"row-start":[{"row-start":D()}],"row-end":[{"row-end":D()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":te()}],"auto-rows":[{"auto-rows":te()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...ne(),`normal`]}],"justify-items":[{"justify-items":[...O(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...O()]}],"align-content":[{content:[`normal`,...ne()]}],"align-items":[{items:[...O(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...O(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":ne()}],"place-items":[{"place-items":[...O(),`baseline`]}],"place-self":[{"place-self":[`auto`,...O()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:k()}],mx:[{mx:k()}],my:[{my:k()}],ms:[{ms:k()}],me:[{me:k()}],mbs:[{mbs:k()}],mbe:[{mbe:k()}],mt:[{mt:k()}],mr:[{mr:k()}],mb:[{mb:k()}],ml:[{ml:k()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:A()}],"inline-size":[{inline:[`auto`,...re()]}],"min-inline-size":[{"min-inline":[`auto`,...re()]}],"max-inline-size":[{"max-inline":[`none`,...re()]}],"block-size":[{block:[`auto`,...ie()]}],"min-block-size":[{"min-block":[`auto`,...ie()]}],"max-block-size":[{"max-block":[`none`,...ie()]}],w:[{w:[s,`screen`,...A()]}],"min-w":[{"min-w":[s,`screen`,`none`,...A()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...A()]}],h:[{h:[`screen`,`lh`,...A()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...A()]}],"max-h":[{"max-h":[`screen`,`lh`,...A()]}],"font-size":[{text:[`base`,n,Y,q]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Te,he]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,ue,K]}],"font-family":[{font:[be,ge,t]}],"font-features":[{"font-features":[K]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,J,K]}],"line-clamp":[{"line-clamp":[z,`none`,J,me]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,J,K]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,J,K]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:j()}],"text-color":[{text:j()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...I(),`wavy`]}],"text-decoration-thickness":[{decoration:[z,`from-font`,`auto`,J,q]}],"text-decoration-color":[{decoration:j()}],"underline-offset":[{"underline-offset":[z,`auto`,J,K]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,J,K]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,J,K]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ae()}],"bg-repeat":[{bg:oe()}],"bg-size":[{bg:se()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},B,J,K],radial:[``,J,K],conic:[B,J,K]},Ce,ve]}],"bg-color":[{bg:j()}],"gradient-from-pos":[{from:N()}],"gradient-via-pos":[{via:N()}],"gradient-to-pos":[{to:N()}],"gradient-from":[{from:j()}],"gradient-via":[{via:j()}],"gradient-to":[{to:j()}],rounded:[{rounded:P()}],"rounded-s":[{"rounded-s":P()}],"rounded-e":[{"rounded-e":P()}],"rounded-t":[{"rounded-t":P()}],"rounded-r":[{"rounded-r":P()}],"rounded-b":[{"rounded-b":P()}],"rounded-l":[{"rounded-l":P()}],"rounded-ss":[{"rounded-ss":P()}],"rounded-se":[{"rounded-se":P()}],"rounded-ee":[{"rounded-ee":P()}],"rounded-es":[{"rounded-es":P()}],"rounded-tl":[{"rounded-tl":P()}],"rounded-tr":[{"rounded-tr":P()}],"rounded-br":[{"rounded-br":P()}],"rounded-bl":[{"rounded-bl":P()}],"border-w":[{border:F()}],"border-w-x":[{"border-x":F()}],"border-w-y":[{"border-y":F()}],"border-w-s":[{"border-s":F()}],"border-w-e":[{"border-e":F()}],"border-w-bs":[{"border-bs":F()}],"border-w-be":[{"border-be":F()}],"border-w-t":[{"border-t":F()}],"border-w-r":[{"border-r":F()}],"border-w-b":[{"border-b":F()}],"border-w-l":[{"border-l":F()}],"divide-x":[{"divide-x":F()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":F()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...I(),`hidden`,`none`]}],"divide-style":[{divide:[...I(),`hidden`,`none`]}],"border-color":[{border:j()}],"border-color-x":[{"border-x":j()}],"border-color-y":[{"border-y":j()}],"border-color-s":[{"border-s":j()}],"border-color-e":[{"border-e":j()}],"border-color-bs":[{"border-bs":j()}],"border-color-be":[{"border-be":j()}],"border-color-t":[{"border-t":j()}],"border-color-r":[{"border-r":j()}],"border-color-b":[{"border-b":j()}],"border-color-l":[{"border-l":j()}],"divide-color":[{divide:j()}],"outline-style":[{outline:[...I(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[z,J,K]}],"outline-w":[{outline:[``,z,Y,q]}],"outline-color":[{outline:j()}],shadow:[{shadow:[``,`none`,u,we,ye]}],"shadow-color":[{shadow:j()}],"inset-shadow":[{"inset-shadow":[`none`,d,we,ye]}],"inset-shadow-color":[{"inset-shadow":j()}],"ring-w":[{ring:F()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:j()}],"ring-offset-w":[{"ring-offset":[z,q]}],"ring-offset-color":[{"ring-offset":j()}],"inset-ring-w":[{"inset-ring":F()}],"inset-ring-color":[{"inset-ring":j()}],"text-shadow":[{"text-shadow":[`none`,f,we,ye]}],"text-shadow-color":[{"text-shadow":j()}],opacity:[{opacity:[z,J,K]}],"mix-blend":[{"mix-blend":[...ce(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ce()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[z]}],"mask-image-linear-from-pos":[{"mask-linear-from":L()}],"mask-image-linear-to-pos":[{"mask-linear-to":L()}],"mask-image-linear-from-color":[{"mask-linear-from":j()}],"mask-image-linear-to-color":[{"mask-linear-to":j()}],"mask-image-t-from-pos":[{"mask-t-from":L()}],"mask-image-t-to-pos":[{"mask-t-to":L()}],"mask-image-t-from-color":[{"mask-t-from":j()}],"mask-image-t-to-color":[{"mask-t-to":j()}],"mask-image-r-from-pos":[{"mask-r-from":L()}],"mask-image-r-to-pos":[{"mask-r-to":L()}],"mask-image-r-from-color":[{"mask-r-from":j()}],"mask-image-r-to-color":[{"mask-r-to":j()}],"mask-image-b-from-pos":[{"mask-b-from":L()}],"mask-image-b-to-pos":[{"mask-b-to":L()}],"mask-image-b-from-color":[{"mask-b-from":j()}],"mask-image-b-to-color":[{"mask-b-to":j()}],"mask-image-l-from-pos":[{"mask-l-from":L()}],"mask-image-l-to-pos":[{"mask-l-to":L()}],"mask-image-l-from-color":[{"mask-l-from":j()}],"mask-image-l-to-color":[{"mask-l-to":j()}],"mask-image-x-from-pos":[{"mask-x-from":L()}],"mask-image-x-to-pos":[{"mask-x-to":L()}],"mask-image-x-from-color":[{"mask-x-from":j()}],"mask-image-x-to-color":[{"mask-x-to":j()}],"mask-image-y-from-pos":[{"mask-y-from":L()}],"mask-image-y-to-pos":[{"mask-y-to":L()}],"mask-image-y-from-color":[{"mask-y-from":j()}],"mask-image-y-to-color":[{"mask-y-to":j()}],"mask-image-radial":[{"mask-radial":[J,K]}],"mask-image-radial-from-pos":[{"mask-radial-from":L()}],"mask-image-radial-to-pos":[{"mask-radial-to":L()}],"mask-image-radial-from-color":[{"mask-radial-from":j()}],"mask-image-radial-to-color":[{"mask-radial-to":j()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[z]}],"mask-image-conic-from-pos":[{"mask-conic-from":L()}],"mask-image-conic-to-pos":[{"mask-conic-to":L()}],"mask-image-conic-from-color":[{"mask-conic-from":j()}],"mask-image-conic-to-color":[{"mask-conic-to":j()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ae()}],"mask-repeat":[{mask:oe()}],"mask-size":[{mask:se()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,J,K]}],filter:[{filter:[``,`none`,J,K]}],blur:[{blur:le()}],brightness:[{brightness:[z,J,K]}],contrast:[{contrast:[z,J,K]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,we,ye]}],"drop-shadow-color":[{"drop-shadow":j()}],grayscale:[{grayscale:[``,z,J,K]}],"hue-rotate":[{"hue-rotate":[z,J,K]}],invert:[{invert:[``,z,J,K]}],saturate:[{saturate:[z,J,K]}],sepia:[{sepia:[``,z,J,K]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,J,K]}],"backdrop-blur":[{"backdrop-blur":le()}],"backdrop-brightness":[{"backdrop-brightness":[z,J,K]}],"backdrop-contrast":[{"backdrop-contrast":[z,J,K]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,z,J,K]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[z,J,K]}],"backdrop-invert":[{"backdrop-invert":[``,z,J,K]}],"backdrop-opacity":[{"backdrop-opacity":[z,J,K]}],"backdrop-saturate":[{"backdrop-saturate":[z,J,K]}],"backdrop-sepia":[{"backdrop-sepia":[``,z,J,K]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,J,K]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[z,`initial`,J,K]}],ease:[{ease:[`linear`,`initial`,_,J,K]}],delay:[{delay:[z,J,K]}],animate:[{animate:[`none`,v,J,K]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,J,K]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:H()}],"rotate-x":[{"rotate-x":H()}],"rotate-y":[{"rotate-y":H()}],"rotate-z":[{"rotate-z":H()}],scale:[{scale:U()}],"scale-x":[{"scale-x":U()}],"scale-y":[{"scale-y":U()}],"scale-z":[{"scale-z":U()}],"scale-3d":[`scale-3d`],skew:[{skew:W()}],"skew-x":[{"skew-x":W()}],"skew-y":[{"skew-y":W()}],transform:[{transform:[J,K,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:G()}],"translate-x":[{"translate-x":G()}],"translate-y":[{"translate-y":G()}],"translate-z":[{"translate-z":G()}],"translate-none":[`translate-none`],accent:[{accent:j()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:j()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,J,K]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,J,K]}],fill:[{fill:[`none`,...j()]}],"stroke-w":[{stroke:[z,Y,q,me]}],stroke:[{stroke:[`none`,...j()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}}),Q=e(n(),1);function Fe(...e){return Pe(o(e))}var $=r(),Ie=e=>(0,$.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,$.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M18 6L6 18M6 6l12 12`})});globalThis.AggregateError,Array.isArray;function Le(e){return typeof e==`function`}Number.isInteger;var Re=Q.forwardRef(({className:e,type:t,onValueChange:n,onChange:r,clearable:i=!1,...a},o)=>{let s=Q.useRef(null),c=Q.useCallback(e=>{s.current=e,Le(o)?o(e):o&&(o.current=e)},[o]),l=a.value!==void 0,[u,d]=Q.useState(()=>String(a.defaultValue??``).length>0),f=l?String(a.value??``).length>0:u,p=e=>{l||d(e.target.value.length>0),n?.(e.target.value),r?.(e)},m=()=>{let e=s.current;e&&((Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,`value`)?.set)?.call(e,``),e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.focus()),l||d(!1)},h=i&&f&&!a.disabled&&!a.readOnly,g=(0,$.jsx)(`input`,{type:t,"data-slot":`input`,className:Fe(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base bg-input-background transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,i&&`pr-8`,e),ref:c,...a,onChange:p});return i?(0,$.jsxs)(`div`,{className:`relative w-full`,children:[g,h&&(0,$.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-label":`Clear`,onMouseDown:e=>e.preventDefault(),onClick:m,className:`absolute right-2 top-1/2 -translate-y-1/2 flex items-center justify-center text-muted-foreground opacity-60 hover:opacity-100 transition-opacity cursor-pointer`,children:(0,$.jsx)(Ie,{className:`h-4 w-4`})})]}):g});Re.displayName=`Input`;var ze={openai:`새 탭에서 OpenAI 로그인을 완료한 뒤 연결 실패 화면이 나타나면, 주소창의 전체 URL을 아래에 붙여넣으세요.`,anthropic:`새 탭에서 Claude 로그인을 완료하면 코드가 표시됩니다. 코드 전체를 아래에 붙여넣으세요.`,grok:`새 탭에서 xAI(auth.x.ai) 로그인을 완료하면 127.0.0.1 주소로 이동하며 페이지가 열리지 않습니다. 주소창의 전체 URL(또는 그 안의 code 값)을 아래에 붙여넣으세요.`},Be={openai:`http://localhost:1455/auth/callback?code=...&state=...`,anthropic:`code#state`,grok:`http://127.0.0.1:.../callback?code=...&state=...`};function Ve({provider:e,isPending:t,isError:n,onSubmit:r,onRestart:i}){let[a,o]=(0,Q.useState)(``);return(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`p`,{className:`text-[12px] text-sand-600 leading-relaxed`,children:ze[e]}),(0,$.jsx)(Re,{value:a,onChange:e=>o(e.target.value),placeholder:Be[e],className:`w-full border border-sand-200 rounded-md px-3 py-2 text-sm font-mono text-sand-900 bg-white placeholder:text-sand-300 focus:outline-none focus:border-sienna-300`}),n&&(0,$.jsx)(`p`,{className:`text-[11px] text-red-500`,children:`인증 결과 확인에 실패했습니다 — 전체 값을 다시 붙여넣거나 로그인을 다시 시작하세요.`}),(0,$.jsx)(`button`,{type:`button`,className:`w-full py-2.5 text-sm font-medium rounded-md bg-sand-900 text-white hover:bg-sand-800 disabled:opacity-50 transition-colors duration-150 flex items-center justify-center gap-2`,disabled:!a.trim()||t,onClick:()=>r(a),children:t?(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`w-3.5 h-3.5 border-2 border-white border-t-transparent rounded-full animate-spin`}),`Verifying...`]}):`Complete login`}),(0,$.jsx)(`button`,{type:`button`,className:`w-full py-1.5 text-[12px] text-sand-500 hover:text-sand-700 transition-colors duration-150`,onClick:()=>{o(``),i()},children:`처음부터 다시 시작`})]})}var He=[`anthropic`,`openai`,`grok`];function Ue(e){return He.some(t=>t===e)}var We=3e3,Ge=3e5,Ke=5,qe=3,Je=`Grok login failed`;function Ye(e){if(e)try{return new URL(e).protocol===`https:`?e:void 0}catch{return}}async function Xe(e,t){let{rows:n}=await a.getTokens(`A`,{num:0,queryMode:`list`});return new Set(n.filter(n=>n.provider===e&&n.name===t).map(e=>e.id))}function Ze(){let[e,n]=(0,Q.useState)(null),[r,a]=(0,Q.useState)(null),[o,s]=(0,Q.useState)(null),c=t(),l=i.useOauthStartMutation(),u=i.useOauthStartOpenAIMutation(),d=i.useOauthStartGrokMutation(),f=i.useOauthCompleteMutation(),p=(0,Q.useRef)({}),m=(0,Q.useRef)(0),h=()=>{m.current+=1,p.current.interval!==void 0&&clearInterval(p.current.interval),p.current.timeout!==void 0&&clearTimeout(p.current.timeout),p.current={}};(0,Q.useEffect)(()=>h,[]);let g=()=>Promise.all([c.invalidateQueries({queryKey:[`Token`]}),c.invalidateQueries({queryKey:[`Qgrid`]})]);return{loadingProvider:e,codeEntryProvider:r,deviceFlow:o,start:async(e,t)=>{let r=t.trim();if(!r)return;h();let i=m.current;s(null);let o=window.open(`about:blank`,`_blank`);n(e);try{if(e===`grok`){let{authUrl:t}=await d.mutateAsync({name:r});if(i!==m.current){o?.close();return}let s=Ye(t);if(!s)throw Error(`Grok login URL is not https`);o?o.location.href=s:window.open(s,`_blank`),a(e),n(null);return}if(e===`openai`){let t=await Xe(e,r);if(i!==m.current){o?.close();return}let{authUrl:s,mode:c}=await u.mutateAsync({name:r});if(i!==m.current){o?.close();return}if(o?o.location.href=s:window.open(s,`_blank`),c===`code`){a(e),n(null);return}p.current.interval=window.setInterval(()=>{Xe(e,r).then(e=>{i===m.current&&[...e].some(e=>!t.has(e))&&(h(),n(null),g())}).catch(()=>{})},We),p.current.timeout=window.setTimeout(()=>{i===m.current&&(h(),n(null))},Ge);return}let{authUrl:t,mode:s}=await l.mutateAsync({name:r});if(i!==m.current){o?.close();return}s===`code`?(o?o.location.href=t:window.open(t,`_blank`),a(e),n(null)):(o?.close(),window.location.href=t)}catch(e){if(o?.close(),i!==m.current)return;console.error(`OAuth start failed:`,e),n(null)}},startDevice:async(e,t)=>{let r=e.trim();if(!r)return;h();let o=m.current;a(null),n(null),s({status:`starting`});let c;try{c=await i.oauthStartGrokDevice(r)}catch(e){if(o!==m.current)return;console.error(`Grok device login start failed:`,e),s({status:`error`,message:e instanceof Error&&e.message?e.message:Je});return}if(o!==m.current)return;let{deviceCode:l}=c,u=Ye(c.verificationUri);if(!u){s({status:`error`,message:`Grok verification URL is not https`});return}let d=Ye(c.verificationUriComplete),f=Date.now()+c.expiresIn*1e3,_=Math.max(c.interval,1),v=0,y={status:`waiting`,userCode:c.userCode,verificationUri:u,expiresAt:f,slowDown:!1};d&&(y.verificationUriComplete=d),s(y);let b=()=>{let e=Math.min(_*1e3,Math.max(f-Date.now(),0));p.current.timeout=window.setTimeout(()=>void x(),e)},x=async()=>{if(o!==m.current)return;if(Date.now()>=f){s({status:`expired`});return}let e;try{e=await i.oauthPollGrokDevice(l)}catch(e){if(o!==m.current)return;if(v+=1,v>=qe){console.error(`Grok device login poll failed:`,e),s({status:`error`,message:e instanceof Error&&e.message?e.message:Je});return}b();return}if(o===m.current){if(v=0,e.status===`added`){s({status:`added`,name:e.name??r}),await g(),o===m.current&&t?.();return}e.status===`slow_down`?(_=e.intervalSec??_+Ke,s(e=>e?.status===`waiting`?{...e,slowDown:!0}:e)):e.intervalSec!==void 0&&(_=e.intervalSec),_=Math.max(_,1),b()}};b()},submitCode:async e=>{let t=e.trim();if(!t)return!1;try{await f.mutateAsync({pastedCode:t})}catch(e){return console.error(`OAuth complete failed:`,e),!1}return await g(),!0},reset:()=>{h(),n(null),a(null),s(null),f.reset()},completeMutation:f}}export{Re as i,Ze as n,Ve as r,Ue as t};
@@ -0,0 +1 @@
1
+ import{p as e}from"./vendor-tanstack-DRPs09ai.js";import{n as t}from"./services.generated-B5lc3aIC.js";function n(){return e({mutationFn:({id:e,name:n,quotaThreshold:r,weight:i,keepaliveEnabled:a})=>t.updateToken(e,n,r,i,a)})}export{n as t};